Skip to content

Correctif des lettres qui n'étaient pas récupérable à certains moments#1218

Closed
gtolontop wants to merge 2 commits intoServerOpenMC:masterfrom
gtolontop:fix/letter-items-lost
Closed

Correctif des lettres qui n'étaient pas récupérable à certains moments#1218
gtolontop wants to merge 2 commits intoServerOpenMC:masterfrom
gtolontop:fix/letter-items-lost

Conversation

@gtolontop
Copy link
Copy Markdown
Contributor

Corrige le bug où les items de la mailbox disparaissaient lors de l'acceptation d'une lettre.

Problème

Dans LetterMenu.accept(), les items étaient récupérés après deleteLetter(), qui supprime la lettre du cache en mémoire. MailboxManager.getById() retournait alors null dans le ClaimLetterEvent, et letter.getCachedItems() pouvait échouer silencieusement — les items étaient perdus sans message d'erreur.

Le problème se manifestait principalement quand l'expéditeur était déconnecté et que la lettre avait été envoyée avant un redémarrage serveur.

Correction

  • Extraction d'une méthode resolveItems() qui cache les items désérialisés dans un champ resolvedItems, évitant la double désérialisation entre getContent() et accept()
  • Appel de resolveItems() avant deleteLetter() pour garantir que les items sont disponibles
  • Les items sont donnés au joueur avant le fire du ClaimLetterEvent
  • ClaimLetterEvent reçoit directement l'objet letter au lieu de getById() post-suppression

Fixes #1167, fixes #1084

@gtolontop gtolontop force-pushed the fix/letter-items-lost branch from 2916e5e to c741b88 Compare March 22, 2026 12:39
@iambibi iambibi changed the title fix: résoudre les items avant deleteLetter() dans LetterMenu Correctif des lettres qui n'étaient pas récupérable à certains moments Mar 23, 2026
@iambibi iambibi added the ✨ Fixes Quelque chose a été patch label Mar 23, 2026
@iambibi iambibi added this to the 2.2.9 milestone Mar 23, 2026
@AxenoDev
Copy link
Copy Markdown
Member

Pourquoi tu modifie la class OMCPlugin.java ?

@gtolontop
Copy link
Copy Markdown
Contributor Author

Il manque des accolade c'est écrit :)

@iambibi
Copy link
Copy Markdown
Member

iambibi commented Mar 26, 2026

on peut avoir des reproductions in game? (en sachant que ça touche une feature majeure, je pref avoir des screens)

@iambibi iambibi modified the milestones: 2.2.9, 2.2.10 Mar 26, 2026
@AxenoDev AxenoDev modified the milestones: 2.2.10, 2.2.11 Apr 5, 2026
@iambibi
Copy link
Copy Markdown
Member

iambibi commented Apr 7, 2026

@gtolontop merci de répondre sous délai de 3 semaines
sinon on prendra en relai ton travail

@gtolontop
Copy link
Copy Markdown
Contributor Author

#1220 :)

@gtolontop
Copy link
Copy Markdown
Contributor Author

sachant que cest dja tous prêt jvois pas trop sque tu vas reprendre mais az

@PuppyTransGirl
Copy link
Copy Markdown
Member

on peut avoir des reproductions in game? (en sachant que ça touche une feature majeure, je pref avoir des screens)

il parle de ça

@gtolontop
Copy link
Copy Markdown
Contributor Author

je sais

@iambibi
Copy link
Copy Markdown
Member

iambibi commented Apr 8, 2026

je sais

Bah alors ? 🤡

@iambibi
Copy link
Copy Markdown
Member

iambibi commented Apr 8, 2026

Donc c'est toujours valable hein comme dit toutouchien on attends une démonstration in game (video). Sinon on reprendra le relais. C'est valable pour l'autre PR.

Ce n'est pas tout de coder et de faire des PR. Fin bon je vois pas comment tu testes des fixes sans les tester in game. Est ce que tu as un serveur local même ? La théorie c'est bien mais ça va avec la pratique aussi...

@gtolontop
Copy link
Copy Markdown
Contributor Author

je sais

Bah alors ? 🤡

💀💀💀💀

@gtolontop
Copy link
Copy Markdown
Contributor Author

je sais

Bah alors ? 🤡

Bah alors 🥴🥴🥴🥴😬😬😬😬😬👿👿👿👿🥶🥶🥶🥶🤯🤯🤯🤯🤯😋😋😋😋😋

@gtolontop
Copy link
Copy Markdown
Contributor Author

Donc c'est toujours valable hein comme dit toutouchien on attends une démonstration in game (video). Sinon on reprendra le relais. C'est valable pour l'autre PR.

Ce n'est pas tout de coder et de faire des PR. Fin bon je vois pas comment tu testes des fixes sans les tester in game. Est ce que tu as un serveur local même ? La théorie c'est bien mais ça va avec la pratique aussi...

cool

@gtolontop
Copy link
Copy Markdown
Contributor Author

Donc c'est toujours valable hein comme dit toutouchien on attends une démonstration in game (video). Sinon on reprendra le relais. C'est valable pour l'autre PR.

Ce n'est pas tout de coder et de faire des PR. Fin bon je vois pas comment tu testes des fixes sans les tester in game. Est ce que tu as un serveur local même ? La théorie c'est bien mais ça va avec la pratique aussi...

c'est marrant jpensais que t'avais lu l'autre pr ta pas compris quoi dans le msg sur l'autre pr ?

@gtolontop
Copy link
Copy Markdown
Contributor Author

Donc c'est toujours valable hein comme dit toutouchien on attends une démonstration in game (video). Sinon on reprendra le relais. C'est valable pour l'autre PR.

Ce n'est pas tout de coder et de faire des PR. Fin bon je vois pas comment tu testes des fixes sans les tester in game. Est ce que tu as un serveur local même ? La théorie c'est bien mais ça va avec la pratique aussi...

le #1220 (comment) dja te pose soucis tu veux de l'aide ou qlq chose ?

@iambibi
Copy link
Copy Markdown
Member

iambibi commented Apr 8, 2026

Donc c'est toujours valable hein comme dit toutouchien on attends une démonstration in game (video). Sinon on reprendra le relais. C'est valable pour l'autre PR.
Ce n'est pas tout de coder et de faire des PR. Fin bon je vois pas comment tu testes des fixes sans les tester in game. Est ce que tu as un serveur local même ? La théorie c'est bien mais ça va avec la pratique aussi...

c'est marrant jpensais que t'avais lu l'autre pr ta pas compris quoi dans le msg sur l'autre pr ?

mb tu avais spam tellement de messages que je l'avais pas vu ça marche ^^

@iambibi
Copy link
Copy Markdown
Member

iambibi commented Apr 8, 2026

Donc c'est toujours valable hein comme dit toutouchien on attends une démonstration in game (video). Sinon on reprendra le relais. C'est valable pour l'autre PR.
Ce n'est pas tout de coder et de faire des PR. Fin bon je vois pas comment tu testes des fixes sans les tester in game. Est ce que tu as un serveur local même ? La théorie c'est bien mais ça va avec la pratique aussi...

le #1220 (comment) dja te pose soucis tu veux de l'aide ou qlq chose ?

a vrai dire pas besoin de l'aide de qlq qui teste rien ptdr, l'IA aide surement bien a corriger les choses mais pas a lancer un serveur et se connecter ptdr

@iambibi iambibi closed this Apr 8, 2026
@gtolontop
Copy link
Copy Markdown
Contributor Author

Donc c'est toujours valable hein comme dit toutouchien on attends une démonstration in game (video). Sinon on reprendra le relais. C'est valable pour l'autre PR.
Ce n'est pas tout de coder et de faire des PR. Fin bon je vois pas comment tu testes des fixes sans les tester in game. Est ce que tu as un serveur local même ? La théorie c'est bien mais ça va avec la pratique aussi...

c'est marrant jpensais que t'avais lu l'autre pr ta pas compris quoi dans le msg sur l'autre pr ?

mb tu avais spam tellement de messages que je l'avais pas vu ça marche ^^

hoo bichette c'est vrai j'ai tlm spam sur l'autre pr c'est vrai que une seule ligne a lire sur le dernier msg de la pr c'est tellement compliqué pauvre chou, tu veux un tuto?

@gtolontop
Copy link
Copy Markdown
Contributor Author

Donc c'est toujours valable hein comme dit toutouchien on attends une démonstration in game (video). Sinon on reprendra le relais. C'est valable pour l'autre PR.
Ce n'est pas tout de coder et de faire des PR. Fin bon je vois pas comment tu testes des fixes sans les tester in game. Est ce que tu as un serveur local même ? La théorie c'est bien mais ça va avec la pratique aussi...

le #1220 (comment) dja te pose soucis tu veux de l'aide ou qlq chose ?

a vrai dire pas besoin de l'aide de qlq qui teste rien ptdr, l'IA aide surement bien a corriger les choses mais pas a lancer un serveur et se connecter ptdr

tlmmm cold 🥶🥶🥶🥶🥶

@gtolontop
Copy link
Copy Markdown
Contributor Author

tes tlm stylé mec stp apprend moi

@iambibi iambibi removed this from the 2.2.11 milestone Apr 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ Fixes Quelque chose a été patch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] Erreur lors de la récupération de lettre dans le /mailbox [BUG] Mailbox items non recus

4 participants