Files
foundryvtt-reve-de-dragon/TODO-v14.md
T
fabres a5843888c0 fix: migration V14 et corrections diverses
migration v14:
- remplace CONFIG.Dice.rollModes → CONFIG.ChatMessage.modes
- canvas optionnel (?.tokens) dans ~27 fichiers
- async/await migrations, waitForRoll, effet draconique
- supprime _warnedAppV1, data-message-id→data-document-id
- corrige sheet registration Items.registerSheet

tmr:
- bouton Lancer un Sort visible en mode visu
- _ensureTMRButtons() en fallback JS
- await d'animation avant render
- corrigé doublon carteTMR.js

css:
- scrollbar (.item-sheet-scrollable-body) sur les 44 fiches item
- normalisation multiligne de tous les less/item/*.less
- style du dialogue description aléatoire (app-personnage-aleatoire)
- hr-sorts et sort réserves en flex-row

dialogue description:
- type=button sur les boutons (évite submit form → crash)
- randomControl passe this.actor au lieu de this.current
- DEFINITION_HEURES : ajout propriété manquante heure

d意:
- supprime 6 fichiers debug (phase*.txt/png, sheets-*.txt/png)
- system.json nom anglais→français
- token-hud : guard token undefined
- item-sort.js : guard sort?.system dans helpers Handlebars
2026-07-22 00:29:56 +02:00

3.0 KiB

TODO v14 — Compatibilité Foundry VTT

Bloquant — terminé

1. Sheets acteur V1 → V2

  • V1 déplacés vers _deprecated/module/actor/ (10 fichiers .js)
  • V2 dans module/applications/sheets/ (fichiers .mjs)

2. Sheet journal V1 → V2

  • module/journal/journal-sheet.mjsextends JournalEntryPageProseMirrorSheet
  • _prepareContentContext override → RdDTextEditor.enrichHTML()
  • _onRender → roll-text/chat-roll-text click listeners

3. 24 classes extends Dialog → V2

  • Toutes converties en extends foundry.applications.api.DialogV2
  • module/tirage/fenetre-recherche-tirage.jsFenetreRechercheTirage migré V1 App → V2 ApplicationV2
  • module/sommeil/dialog-nouveau-repos-cd.jsnew Dialog(...) direct → DialogV2.wait()

4. 3 classes extends Application → V2

  • module/tirage/fenetre-recherche-tirage.js — FAIT (ApplicationV2)
  • module/time/rdd-calendrier.js (RdDCalendrier) — FAIT (ApplicationV2)
  • module/sommeil/app-astrologie.js (AppAstrologie) — FAIT (ApplicationV2)

5. 1 classe extends FormApplication → V2

  • module/actor/random/app-personnage-aleatoire.js — FAIT (ApplicationV2)

6. 7 appels new Dialog({...}) directs → DialogV2

Tous convertis. +3 autres dans module/applications/sheets/base-actor-sheet.mjs & personnage-sheet.mjs.

🟠 Haute priorité

7. _id dans updateEmbeddedDocuments → utiliser .idFAIT (10 occ. changées, 2 déjà OK, 1 string param)

8. bringToFront() sur apps V1 → adapter

Rétrocompatibilité V2 gère. Pas d'erreur constatée (les apps converties utilisent V2).

9. _onClose() sans super._onClose()FAIT

  • module/dialog-gerer-potions.js:45-49
  • module/dialog-gerer-ingredients.js:45-49
  • module/dialog-gerer-herbes.js:47-51

🟡 Priorité moyenne

10. foundry.utils.duplicate()deepClone()FAIT (36 fichiers)

11. ._id en lecture → .idFAIT (21 occ. changées, 11 conservées sur objets de données)

~45 occurrences : item._id, actor._id, combatant._id, token._id

12. render(true) sur apps V2 → render({force: true})

Rétrocompatibilité V2 normalise booléen → pas prioritaire. ~60 occurrences dans module/ — nos fichiers convertis l'utilisent déjà.

13. Incohérence registration sheets

module/applications/sheets/common-item-sheet.mjsItems.registerSheet()foundry.documents.collections.Items.registerSheet()

🟢 Basse priorité / Info

14. canvas sans vérification ready

27 occurrences dans 11 fichiers sécurisées avec ?.

15. element[0] jQuery

module/tirage/fenetre-recherche-tirage.js:213 — déjà résolu par refacto antérieur

16. _warnedAppV1 = true

Supprimé de rdd-calendrier.js; restant dans _deprecated/ ignoré

17. system.json — nom de langue

"name": "English""Français" pour ne pas tromper sur lang/fr.json