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
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.mjs→extends JournalEntryPageProseMirrorSheet_prepareContentContextoverride →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.js—FenetreRechercheTiragemigré V1 App → V2 ApplicationV2module/sommeil/dialog-nouveau-repos-cd.js—new 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 .id — FAIT (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-49module/dialog-gerer-ingredients.js:45-49module/dialog-gerer-herbes.js:47-51
🟡 Priorité moyenne
10. ✅ foundry.utils.duplicate() → deepClone() — FAIT (36 fichiers)
11. ✅ ._id en lecture → .id — FAIT (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.mjs — Items.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