From df1e0b9952c9772bf8e2ddbdf3ad6514d0f0ab50 Mon Sep 17 00:00:00 2001 From: LeRatierBretonnier Date: Tue, 14 Apr 2026 08:26:08 +0200 Subject: [PATCH] =?UTF-8?q?Am=C3=A9lioration=20robustess=20et=20v=C3=A9rif?= =?UTF-8?q?ication=20sur=20import=20des=20modules?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/addon-register.js | 79 ++++++++++++------ modules/babele-register.js | 70 ++++++++++++---- modules/config-patch.js | 19 ++--- modules/inn/InnRoller.js | 4 +- .../{001329.log => 001333.log} | 0 .../001331.log => aides-de-jeu-fr/001341.log} | 0 packs/aides-de-jeu-fr/CURRENT | 2 +- packs/aides-de-jeu-fr/LOG | 14 ++-- packs/aides-de-jeu-fr/LOG.old | 14 ++-- .../{MANIFEST-001327 => MANIFEST-001339} | Bin 226 -> 226 bytes .../001335.log} | 0 .../001343.log} | 0 packs/antidotes-and-remedes/CURRENT | 2 +- packs/antidotes-and-remedes/LOG | 14 ++-- packs/antidotes-and-remedes/LOG.old | 14 ++-- .../{MANIFEST-001329 => MANIFEST-001341} | Bin 178 -> 178 bytes .../001329.log => apothicarium/001333.log} | 0 .../000972.log => apothicarium/001341.log} | 0 packs/apothicarium/CURRENT | 2 +- packs/apothicarium/LOG | 14 ++-- packs/apothicarium/LOG.old | 14 ++-- .../{MANIFEST-001327 => MANIFEST-001339} | Bin 226 -> 226 bytes packs/dons-de-rhya/001333.log | 0 packs/dons-de-rhya/001341.log | 0 packs/dons-de-rhya/CURRENT | 2 +- packs/dons-de-rhya/LOG | 14 ++-- packs/dons-de-rhya/LOG.old | 14 ++-- .../{MANIFEST-001327 => MANIFEST-001339} | Bin 226 -> 226 bytes packs/plats-dauberges/001333.log | 0 packs/plats-dauberges/001341.log | 0 packs/plats-dauberges/CURRENT | 2 +- packs/plats-dauberges/LOG | 14 ++-- packs/plats-dauberges/LOG.old | 14 ++-- .../{MANIFEST-001327 => MANIFEST-001339} | Bin 229 -> 229 bytes packs/tables-des-traductions/000976.log | 0 packs/tables-des-traductions/000984.log | 0 packs/tables-des-traductions/CURRENT | 2 +- packs/tables-des-traductions/LOG | 14 ++-- packs/tables-des-traductions/LOG.old | 14 ++-- .../{MANIFEST-000970 => MANIFEST-000982} | Bin 226 -> 226 bytes 40 files changed, 212 insertions(+), 140 deletions(-) rename packs/aides-de-jeu-fr/{001329.log => 001333.log} (100%) rename packs/{antidotes-and-remedes/001331.log => aides-de-jeu-fr/001341.log} (100%) rename packs/aides-de-jeu-fr/{MANIFEST-001327 => MANIFEST-001339} (84%) rename packs/{apothicarium/001329.log => antidotes-and-remedes/001335.log} (100%) rename packs/{dons-de-rhya/001329.log => antidotes-and-remedes/001343.log} (100%) rename packs/antidotes-and-remedes/{MANIFEST-001329 => MANIFEST-001341} (71%) rename packs/{plats-dauberges/001329.log => apothicarium/001333.log} (100%) rename packs/{tables-des-traductions/000972.log => apothicarium/001341.log} (100%) rename packs/apothicarium/{MANIFEST-001327 => MANIFEST-001339} (84%) create mode 100644 packs/dons-de-rhya/001333.log create mode 100644 packs/dons-de-rhya/001341.log rename packs/dons-de-rhya/{MANIFEST-001327 => MANIFEST-001339} (84%) create mode 100644 packs/plats-dauberges/001333.log create mode 100644 packs/plats-dauberges/001341.log rename packs/plats-dauberges/{MANIFEST-001327 => MANIFEST-001339} (83%) create mode 100644 packs/tables-des-traductions/000976.log create mode 100644 packs/tables-des-traductions/000984.log rename packs/tables-des-traductions/{MANIFEST-000970 => MANIFEST-000982} (84%) diff --git a/modules/addon-register.js b/modules/addon-register.js index aebd566..b7a13a9 100644 --- a/modules/addon-register.js +++ b/modules/addon-register.js @@ -16,30 +16,27 @@ const _patch_eis = () => { game.wfrp4e.config.symptomTreatment["swelling"] = "La plupart des traitements consistent à plonger la partie affectée, ou parfois tout le corps, dans un bain d'eau glacée pour réduire la chaleur qui accompagne les gonflements. Un Test de Guérison Difficile (-20) étendu nécessitant +3 DR réduit le renflement de 2d10 heures. Chaque test dure une heure. Le patient se retrouve avec l'Etat Exténué +1 pour chaque test effectué au cours du processus.

A la place, certains médecins saignent le patient avec une lame ou des sangsues. Un Test de Guérison étendu réussi nécessitant +4 SL et des Outils (médecin) réduit le renflement de ( 1d10 + Bonus d'Endurance du patient) heures. Chaque test a une difficulté de base impossible (-50) et dure une demi-heure."; game.wfrp4e.config.loreEffects["tzeentch"] = { - label: "Domaine de Tzeentch", - icon: "modules/wfrp4e-core/icons/spells/tzeentch.png", - transfer: true, - flags: { - wfrp4e: { - "effectApplication": "apply", - "effectTrigger": "oneTime", - "lore": true, - "script": ` - if (this.actor.isOwner) - args.actor.setupSkill("Résistance", {context : {failure: "1 Point de Corruption reçu", success : "1 Point de Chance gagné"}}).then(setupData => { - args.actor.basicTest(setupData).then(test => - { - if (test.result.result == "success" && args.actor.type == "character") - { - args.actor.update({"system.status.fortune.value" : args.actor.system.status.fortune.value + 1}) - } - else if (test.result.result == "failure" && args.actor.type == "character") - { - args.actor.update({"system.status.corruption.value" : args.actor.system.status.corruption.value + 1}) - } - }) - })` - } + name: "Domaine de Tzeentch", + img: "modules/wfrp4e-core/icons/spells/tzeentch.png", + system: { + transferData: { + type: "target" + }, + scriptData: [{ + trigger: "immediate", + label: "Test d'Endurance", + script: ` + this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {appendTitle : " - " + this.effect.name, context : {failure: "1 Point de Corruption reçu", success : "1 Point de Chance gagné"}}).then(setupData => { + this.actor.basicTest(setupData).then(test => { + if (test.succeeded && this.actor.type == "character") { + this.actor.update({"system.status.fortune.value" : this.actor.system.status.fortune.value + 1}) + } else if (test.failed && this.actor.type == "character") { + this.actor.update({"system.status.corruption.value" : this.actor.system.status.corruption.value + 1}) + } + }) + }) + return false;` + }] } } } @@ -404,6 +401,40 @@ Hooks.on('ready', () => { // Patch function for effects game.wfrp4e.utility.findKey = warhammer.utility.findKey + // Patch SpellModel.computeSpellDamage to handle English characteristic bonus names. + // Babele instantiates actors TWICE: first with untranslated data (English formulas like + // "Willpower Bonus+4"), then with translated data. The first pass fails because + // characteristicsBonus values are already French ("Bonus de Force Mentale"). + // This patch pre-replaces English bonus names with numeric values before the original + // formula evaluation runs, preventing SyntaxErrors and notification spam. + const __EN_BONUS_TO_CHAR = { + "weapon skill bonus": "ws", "ballistic skill bonus": "bs", + "strength bonus": "s", "toughness bonus": "t", + "initiative bonus": "i", "agility bonus": "ag", + "dexterity bonus": "dex", "intelligence bonus": "int", + "willpower bonus": "wp", "fellowship bonus": "fel" + }; + const SpellModel = CONFIG.Item.dataModels?.["spell"]; + if (SpellModel?.prototype?.computeSpellDamage) { + const _origComputeSpellDamage = SpellModel.prototype.computeSpellDamage; + SpellModel.prototype.computeSpellDamage = function(formula, options) { + if (typeof formula === "string") { + const actor = options?.actor || this.parent?.actor; + if (actor?.system?.characteristics) { + let f = formula.toLowerCase(); + for (const [enName, ch] of Object.entries(__EN_BONUS_TO_CHAR)) { + if (f.includes(enName)) { + const bonus = actor.system.characteristics[ch]?.bonus ?? 0; + f = f.replace(enName, bonus); + } + } + formula = f; + } + } + return _origComputeSpellDamage.call(this, formula, options); + }; + } + // Patch postSymptom to handle English symptom names in @Symptom[...] links. // After i18nInit, config.symptoms values are French strings (e.g. "Fièvre"), so // findKey("Fever", config.symptoms) fails. We normalize via game.i18n.localize first. diff --git a/modules/babele-register.js b/modules/babele-register.js index bbf9be8..bc6b326 100644 --- a/modules/babele-register.js +++ b/modules/babele-register.js @@ -30,6 +30,20 @@ const __SELECT_BONUS_PREFIX_D = { "agilité": 1 } +// Map English characteristic names (as they appear in spell formulas) to WFRP4e abbreviations +const __CHAR_EN_TO_ABBR = { + "weapon skill": "ws", + "ballistic skill": "bs", + "strength": "s", + "toughness": "t", + "initiative": "i", + "agility": "ag", + "dexterity": "dex", + "intelligence": "int", + "willpower": "wp", + "fellowship": "fel" +} + /************************************************************************************/ export class WFRP4FrTranslation { @@ -57,16 +71,23 @@ export class WFRP4FrTranslation { if (value == "You") return "Vous"; // Hop ! if (value == "Instant") return "Instantané"; // Hop ! let translw = value; - let re = /(.*)\s+[Bb]onus\s*(\w*)/i; + let re = /(.*)\s+[Bb]onus\s*(.*)/i; // (.*) at end captures modifiers like "+4" let res = re.exec(value); let unit = ""; - if (res) { // Test " Bonus " pattern + if (res) { // Test " Bonus " pattern if (res[1]) { // We have char name, then convert it - translw = game.i18n.localize(res[1].trim()); - let bonusPrefix = (translw.toLowerCase() in __SELECT_BONUS_PREFIX_D) ? "Bonus d'" : "Bonus de "; - translw = bonusPrefix + translw + const charEN = res[1].trim().toLowerCase(); + const abbr = __CHAR_EN_TO_ABBR[charEN]; + if (abbr && game.wfrp4e?.config?.characteristicsBonus?.[abbr]) { + // Use the localized French bonus name from config (already resolved by localizeConfig at i18nInit) + translw = game.wfrp4e.config.characteristicsBonus[abbr]; + } else { + translw = game.i18n.localize(res[1].trim()); + let bonusPrefix = (translw.toLowerCase() in __SELECT_BONUS_PREFIX_D) ? "Bonus d'" : "Bonus de "; + translw = bonusPrefix + translw; + } } - unit = res[2]; + unit = res[2]; // may be "+4", "-2", "2", "yards", etc. } else { re = /(\d+) (\w+)/i; res = re.exec(value); @@ -90,6 +111,8 @@ export class WFRP4FrTranslation { if (unit == "Bonus") { // Another weird management console.log("Translating bonus", unit); translw = "Bonus de " + translw; + } else if (unit && /^[+\-*\/]/.test(unit)) { + translw += unit; // No space before operators like "+4" } else { translw += " " + unit; } @@ -278,6 +301,8 @@ Hooks.once('init', () => { "process_effects": (effectsData, translations, data, tc, tc_translations) => { //console.log("Effects :", effectsData, translations, data, tc, tc_translations) for (let e of effectsData) { + // Foundry v13 requires name; migrate legacy data where only label was stored + if (e.name == null) e.name = e.label || ""; let origName = e.name // Symptom effects have their own name (Fever, Malaise, etc.) — don't overwrite with the parent item name if (e.flags?.wfrp4e?.symptom) { @@ -293,7 +318,7 @@ Hooks.once('init', () => { } e.name = game.i18n.localize(symName) + gravity; } else { - e.name = tc_translations.name || game.i18n.localize(e.name) + e.name = tc_translations.name || game.i18n.localize(e.name) || e.label || "" } if ( e.flags?.wfrp4e?.scriptData) { for (let script of e.flags.wfrp4e.scriptData) { @@ -411,10 +436,18 @@ Hooks.once('init', () => { return beast_traits } //console.log("TRANS:", beast_traits) + // Normalize: Foundry v13 requires ActiveEffect.name; migrate legacy v12 data + for (let trait_en of beast_traits) { + if (trait_en.effects) { + for (let eff of trait_en.effects) { + if (eff.name == null) eff.name = eff.label || ""; + } + } + } for (let trait_en of beast_traits) { let special = ""; let nbt = ""; - let name_en = trait_en.name.trim(); // strip \r in some traits name + let name_en = trait_en.name.replace(/\r/g, '').trim(); // strip \r (including internal) in some traits name if (!trait_en.name || trait_en.name.length == 0) { console.log("Wrong item name found!!!!") continue @@ -430,8 +463,11 @@ Hooks.once('init', () => { } else if (name_en.includes("(") && name_en.includes(")")) { // Then process specific traits name with (xxxx) inside let re = /(.*) \((.*)\)/i; let res = re.exec(name_en); - name_en = res[1]; // Get the root traits name - special = " (" + game.i18n.localize(res[2].trim()) + ")"; // And the special keyword + if (!res) { console.warn("WFRP4E-FR | bestiary_traits: regex failed for trait:", name_en); } + else { + name_en = res[1]; // Get the root traits name + special = " (" + game.i18n.localize(res[2].trim()) + ")"; // And the special keyword + } } let validCompendiums = game.wfrp4e.tags.getPacksWithTag("trait") for (let compData of validCompendiums) { @@ -453,8 +489,11 @@ Hooks.once('init', () => { if (name_en.includes("(") && name_en.includes(")")) { // Then process specific skills name with (xxxx) inside let re = /(.*) +\((.*)\)/i; let res = re.exec(name_en); - name_en = res[1].trim(); // Get the root skill name - special = " (" + game.i18n.localize(res[2].trim()) + ")"; // And the special keyword + if (!res) { console.warn("WFRP4E-FR | bestiary_traits: regex failed for skill:", name_en); } + else { + name_en = res[1].trim(); // Get the root skill name + special = " (" + game.i18n.localize(res[2].trim()) + ")"; // And the special keyword + } } let validCompendiums = game.wfrp4e.tags.getPacksWithTag("skill") for (let compData of validCompendiums) { @@ -499,8 +538,11 @@ Hooks.once('init', () => { if (name_en.includes("(") && name_en.includes(")")) { // Then process specific skills name with (xxxx) inside let re = /(.*) +\((.*)\)/i; let res = re.exec(name_en); - name_en = res[1].trim(); // Get the root talent name, no parenthesis this time... - special = " (" + game.i18n.localize(res[2].trim()) + ")"; // And the special keyword + if (!res) { console.warn("WFRP4E-FR | bestiary_traits: regex failed for talent:", name_en); } + else { + name_en = res[1].trim(); // Get the root talent name, no parenthesis this time... + special = " (" + game.i18n.localize(res[2].trim()) + ")"; // And the special keyword + } } let validCompendiums = game.wfrp4e.tags.getPacksWithTag("talent") for (let compData of validCompendiums) { diff --git a/modules/config-patch.js b/modules/config-patch.js index ff51f46..2a50fea 100644 --- a/modules/config-patch.js +++ b/modules/config-patch.js @@ -225,16 +225,15 @@ export class WH4FRPatchConfig { } if (game.wfrp4e.config.loreEffects) { - game.wfrp4e.config.loreEffects["beasts"].label = "Domaine des Bêtes" - game.wfrp4e.config.loreEffects["death"].label = "Domaine de la Mort" - game.wfrp4e.config.loreEffects["fire"].label = "Domaine du Feu" - game.wfrp4e.config.loreEffects["metal"].label = "Domaine du Métal" - game.wfrp4e.config.loreEffects["heavens"].label = "Domaine des Cieux" - game.wfrp4e.config.loreEffects["life"].label = "Domaine de la Vie" - game.wfrp4e.config.loreEffects["light"].label = "Domaine de la Lumière" - game.wfrp4e.config.loreEffects["shadow"].label = "Domaine des Ombres" - game.wfrp4e.config.loreEffects["hedgecraft"].label = "Domaine de la Magie de Village" - game.wfrp4e.config.loreEffects["hedgecraft"].label = "Domaine de la Sorcellerie" + game.wfrp4e.config.loreEffects["beasts"].name = "Domaine des Bêtes" + game.wfrp4e.config.loreEffects["death"].name = "Domaine de la Mort" + game.wfrp4e.config.loreEffects["fire"].name = "Domaine du Feu" + game.wfrp4e.config.loreEffects["metal"].name = "Domaine du Métal" + game.wfrp4e.config.loreEffects["heavens"].name = "Domaine des Cieux" + game.wfrp4e.config.loreEffects["life"].name = "Domaine de la Vie" + game.wfrp4e.config.loreEffects["light"].name = "Domaine de la Lumière" + game.wfrp4e.config.loreEffects["shadow"].name = "Domaine des Ombres" + game.wfrp4e.config.loreEffects["hedgecraft"].name = "Domaine de la Sorcellerie" } if (game.wfrp4e.config.species) { diff --git a/modules/inn/InnRoller.js b/modules/inn/InnRoller.js index fe6342c..96b3f37 100644 --- a/modules/inn/InnRoller.js +++ b/modules/inn/InnRoller.js @@ -155,7 +155,7 @@ export default class InnRoller { } // Extraire les informations du résultat - const resultText = rollResult.results[0]?.text || "Résultat inconnu"; + const resultText = rollResult.results[0]?.name || rollResult.results[0]?.description || "Résultat inconnu"; const rollFormula = rollResult.roll?.formula || "1d100"; const rollTotal = rollResult.roll?.total || 0; @@ -349,7 +349,7 @@ export default class InnRoller { if (rollTable) { try { const roll = await rollTable.draw({ displayChat: false }); - const resultText = roll.results[0]?.text || "Résultat inconnu"; + const resultText = roll.results[0]?.name || roll.results[0]?.description || "Résultat inconnu"; results.push({ category: this.getCategoryName(tableName), name: resultText, diff --git a/packs/aides-de-jeu-fr/001329.log b/packs/aides-de-jeu-fr/001333.log similarity index 100% rename from packs/aides-de-jeu-fr/001329.log rename to packs/aides-de-jeu-fr/001333.log diff --git a/packs/antidotes-and-remedes/001331.log b/packs/aides-de-jeu-fr/001341.log similarity index 100% rename from packs/antidotes-and-remedes/001331.log rename to packs/aides-de-jeu-fr/001341.log diff --git a/packs/aides-de-jeu-fr/CURRENT b/packs/aides-de-jeu-fr/CURRENT index e75a971..59ecd4f 100644 --- a/packs/aides-de-jeu-fr/CURRENT +++ b/packs/aides-de-jeu-fr/CURRENT @@ -1 +1 @@ -MANIFEST-001327 +MANIFEST-001339 diff --git a/packs/aides-de-jeu-fr/LOG b/packs/aides-de-jeu-fr/LOG index 4214fac..289983a 100644 --- a/packs/aides-de-jeu-fr/LOG +++ b/packs/aides-de-jeu-fr/LOG @@ -1,7 +1,7 @@ -2026/03/22-16:42:23.352679 7f766abff6c0 Recovering log #1325 -2026/03/22-16:42:23.362109 7f766abff6c0 Delete type=3 #1323 -2026/03/22-16:42:23.362175 7f766abff6c0 Delete type=0 #1325 -2026/03/22-16:47:51.291160 7f7668bfb6c0 Level-0 table #1330: started -2026/03/22-16:47:51.291261 7f7668bfb6c0 Level-0 table #1330: 0 bytes OK -2026/03/22-16:47:51.297984 7f7668bfb6c0 Delete type=0 #1328 -2026/03/22-16:47:51.312338 7f7668bfb6c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at (end) +2026/04/13-23:10:07.603169 7fddd97be6c0 Recovering log #1337 +2026/04/13-23:10:07.613544 7fddd97be6c0 Delete type=3 #1335 +2026/04/13-23:10:07.613619 7fddd97be6c0 Delete type=0 #1337 +2026/04/13-23:14:52.439353 7fddca1c26c0 Level-0 table #1342: started +2026/04/13-23:14:52.439375 7fddca1c26c0 Level-0 table #1342: 0 bytes OK +2026/04/13-23:14:52.447401 7fddca1c26c0 Delete type=0 #1340 +2026/04/13-23:14:52.447538 7fddca1c26c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at (end) diff --git a/packs/aides-de-jeu-fr/LOG.old b/packs/aides-de-jeu-fr/LOG.old index ff9124c..2a05664 100644 --- a/packs/aides-de-jeu-fr/LOG.old +++ b/packs/aides-de-jeu-fr/LOG.old @@ -1,7 +1,7 @@ -2026/03/22-16:36:37.688691 7f76693fc6c0 Recovering log #1321 -2026/03/22-16:36:37.776281 7f76693fc6c0 Delete type=3 #1319 -2026/03/22-16:36:37.776343 7f76693fc6c0 Delete type=0 #1321 -2026/03/22-16:36:43.868900 7f7668bfb6c0 Level-0 table #1326: started -2026/03/22-16:36:43.868921 7f7668bfb6c0 Level-0 table #1326: 0 bytes OK -2026/03/22-16:36:43.928319 7f7668bfb6c0 Delete type=0 #1324 -2026/03/22-16:36:43.978234 7f7668bfb6c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at (end) +2026/04/13-23:01:32.388566 7fddd97be6c0 Recovering log #1333 +2026/04/13-23:01:32.399282 7fddd97be6c0 Delete type=3 #1331 +2026/04/13-23:01:32.399346 7fddd97be6c0 Delete type=0 #1333 +2026/04/13-23:07:12.207745 7fddca1c26c0 Level-0 table #1338: started +2026/04/13-23:07:12.207766 7fddca1c26c0 Level-0 table #1338: 0 bytes OK +2026/04/13-23:07:12.214487 7fddca1c26c0 Delete type=0 #1336 +2026/04/13-23:07:12.214671 7fddca1c26c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at (end) diff --git a/packs/aides-de-jeu-fr/MANIFEST-001327 b/packs/aides-de-jeu-fr/MANIFEST-001339 similarity index 84% rename from packs/aides-de-jeu-fr/MANIFEST-001327 rename to packs/aides-de-jeu-fr/MANIFEST-001339 index bfa432825ee6e8ea3d6f0749e40fd322cb77da10..16dbf14f7896bac28e76c2c5f24f9ddc0d2e4d4e 100644 GIT binary patch delta 41 scmaFF_=s`B0j1*4x1_ij7@78PaWXLP<0<}01Y$>Gynhq delta 41 scmaFF_=s`B0VVcR`{KD67@0P3aWXJ(pGuTq)?sc2My7pSoD9tSxmXr37kcz5f<*R%L=J*P0RGGhPyhe` delta 43 tcmdnQxQTH>pGw0dD=BUUMy5?%oD9sHxmXr3FZ#3oDM(~9NMtKW1OO9<3%CFP diff --git a/packs/plats-dauberges/001329.log b/packs/apothicarium/001333.log similarity index 100% rename from packs/plats-dauberges/001329.log rename to packs/apothicarium/001333.log diff --git a/packs/tables-des-traductions/000972.log b/packs/apothicarium/001341.log similarity index 100% rename from packs/tables-des-traductions/000972.log rename to packs/apothicarium/001341.log diff --git a/packs/apothicarium/CURRENT b/packs/apothicarium/CURRENT index e75a971..59ecd4f 100644 --- a/packs/apothicarium/CURRENT +++ b/packs/apothicarium/CURRENT @@ -1 +1 @@ -MANIFEST-001327 +MANIFEST-001339 diff --git a/packs/apothicarium/LOG b/packs/apothicarium/LOG index cab0436..9292911 100644 --- a/packs/apothicarium/LOG +++ b/packs/apothicarium/LOG @@ -1,7 +1,7 @@ -2026/03/22-16:42:23.390520 7f766abff6c0 Recovering log #1325 -2026/03/22-16:42:23.399767 7f766abff6c0 Delete type=3 #1323 -2026/03/22-16:42:23.399819 7f766abff6c0 Delete type=0 #1325 -2026/03/22-16:47:51.312439 7f7668bfb6c0 Level-0 table #1330: started -2026/03/22-16:47:51.312465 7f7668bfb6c0 Level-0 table #1330: 0 bytes OK -2026/03/22-16:47:51.318661 7f7668bfb6c0 Delete type=0 #1328 -2026/03/22-16:47:51.342631 7f7668bfb6c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 0 : 0; will stop at (end) +2026/04/13-23:10:07.641322 7fddd9fbf6c0 Recovering log #1337 +2026/04/13-23:10:07.651537 7fddd9fbf6c0 Delete type=3 #1335 +2026/04/13-23:10:07.651623 7fddd9fbf6c0 Delete type=0 #1337 +2026/04/13-23:14:52.478583 7fddca1c26c0 Level-0 table #1342: started +2026/04/13-23:14:52.478613 7fddca1c26c0 Level-0 table #1342: 0 bytes OK +2026/04/13-23:14:52.484781 7fddca1c26c0 Delete type=0 #1340 +2026/04/13-23:14:52.484989 7fddca1c26c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 0 : 0; will stop at (end) diff --git a/packs/apothicarium/LOG.old b/packs/apothicarium/LOG.old index 4ee80ea..b901e68 100644 --- a/packs/apothicarium/LOG.old +++ b/packs/apothicarium/LOG.old @@ -1,7 +1,7 @@ -2026/03/22-16:36:37.968048 7f7669bfd6c0 Recovering log #1321 -2026/03/22-16:36:38.054640 7f7669bfd6c0 Delete type=3 #1319 -2026/03/22-16:36:38.054710 7f7669bfd6c0 Delete type=0 #1321 -2026/03/22-16:36:43.810785 7f7668bfb6c0 Level-0 table #1326: started -2026/03/22-16:36:43.810821 7f7668bfb6c0 Level-0 table #1326: 0 bytes OK -2026/03/22-16:36:43.868750 7f7668bfb6c0 Delete type=0 #1324 -2026/03/22-16:36:43.978217 7f7668bfb6c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 0 : 0; will stop at (end) +2026/04/13-23:01:32.426243 7fddcbfff6c0 Recovering log #1333 +2026/04/13-23:01:32.436951 7fddcbfff6c0 Delete type=3 #1331 +2026/04/13-23:01:32.437016 7fddcbfff6c0 Delete type=0 #1333 +2026/04/13-23:07:12.201427 7fddca1c26c0 Level-0 table #1338: started +2026/04/13-23:07:12.201453 7fddca1c26c0 Level-0 table #1338: 0 bytes OK +2026/04/13-23:07:12.207634 7fddca1c26c0 Delete type=0 #1336 +2026/04/13-23:07:12.214659 7fddca1c26c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 0 : 0; will stop at (end) diff --git a/packs/apothicarium/MANIFEST-001327 b/packs/apothicarium/MANIFEST-001339 similarity index 84% rename from packs/apothicarium/MANIFEST-001327 rename to packs/apothicarium/MANIFEST-001339 index fcbcecf2c33d300494945eb9b163162290d84d6a..68bc06be17bf0b632c04cacf6fdb0eb86786c84e 100644 GIT binary patch delta 41 scmaFF_=s`B0i_&`IWM^w7@78PaWXLPT{;F^>Ffwi6;$&dn$i>2*ou17D64(e5*bEc^03c2ZqyPW_ diff --git a/packs/dons-de-rhya/001333.log b/packs/dons-de-rhya/001333.log new file mode 100644 index 0000000..e69de29 diff --git a/packs/dons-de-rhya/001341.log b/packs/dons-de-rhya/001341.log new file mode 100644 index 0000000..e69de29 diff --git a/packs/dons-de-rhya/CURRENT b/packs/dons-de-rhya/CURRENT index e75a971..59ecd4f 100644 --- a/packs/dons-de-rhya/CURRENT +++ b/packs/dons-de-rhya/CURRENT @@ -1 +1 @@ -MANIFEST-001327 +MANIFEST-001339 diff --git a/packs/dons-de-rhya/LOG b/packs/dons-de-rhya/LOG index a3996e9..ab8fc3c 100644 --- a/packs/dons-de-rhya/LOG +++ b/packs/dons-de-rhya/LOG @@ -1,7 +1,7 @@ -2026/03/22-16:42:23.338520 7f766abff6c0 Recovering log #1325 -2026/03/22-16:42:23.349125 7f766abff6c0 Delete type=3 #1323 -2026/03/22-16:42:23.349194 7f766abff6c0 Delete type=0 #1325 -2026/03/22-16:47:51.284088 7f7668bfb6c0 Level-0 table #1330: started -2026/03/22-16:47:51.284128 7f7668bfb6c0 Level-0 table #1330: 0 bytes OK -2026/03/22-16:47:51.290785 7f7668bfb6c0 Delete type=0 #1328 -2026/03/22-16:47:51.312323 7f7668bfb6c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 0 : 0; will stop at (end) +2026/04/13-23:10:07.590923 7fddd8fbd6c0 Recovering log #1337 +2026/04/13-23:10:07.600770 7fddd8fbd6c0 Delete type=3 #1335 +2026/04/13-23:10:07.600832 7fddd8fbd6c0 Delete type=0 #1337 +2026/04/13-23:14:52.419409 7fddca1c26c0 Level-0 table #1342: started +2026/04/13-23:14:52.419440 7fddca1c26c0 Level-0 table #1342: 0 bytes OK +2026/04/13-23:14:52.426167 7fddca1c26c0 Delete type=0 #1340 +2026/04/13-23:14:52.447511 7fddca1c26c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 0 : 0; will stop at (end) diff --git a/packs/dons-de-rhya/LOG.old b/packs/dons-de-rhya/LOG.old index 2a1bf3e..265e5da 100644 --- a/packs/dons-de-rhya/LOG.old +++ b/packs/dons-de-rhya/LOG.old @@ -1,7 +1,7 @@ -2026/03/22-16:36:37.600423 7f7669bfd6c0 Recovering log #1321 -2026/03/22-16:36:37.685656 7f7669bfd6c0 Delete type=3 #1319 -2026/03/22-16:36:37.685721 7f7669bfd6c0 Delete type=0 #1321 -2026/03/22-16:36:43.698690 7f7668bfb6c0 Level-0 table #1326: started -2026/03/22-16:36:43.698733 7f7668bfb6c0 Level-0 table #1326: 0 bytes OK -2026/03/22-16:36:43.734104 7f7668bfb6c0 Delete type=0 #1324 -2026/03/22-16:36:43.760901 7f7668bfb6c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 0 : 0; will stop at (end) +2026/04/13-23:01:32.376215 7fddcbfff6c0 Recovering log #1333 +2026/04/13-23:01:32.386265 7fddcbfff6c0 Delete type=3 #1331 +2026/04/13-23:01:32.386335 7fddcbfff6c0 Delete type=0 #1333 +2026/04/13-23:07:12.172988 7fddca1c26c0 Level-0 table #1338: started +2026/04/13-23:07:12.173015 7fddca1c26c0 Level-0 table #1338: 0 bytes OK +2026/04/13-23:07:12.180381 7fddca1c26c0 Delete type=0 #1336 +2026/04/13-23:07:12.187032 7fddca1c26c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 0 : 0; will stop at (end) diff --git a/packs/dons-de-rhya/MANIFEST-001327 b/packs/dons-de-rhya/MANIFEST-001339 similarity index 84% rename from packs/dons-de-rhya/MANIFEST-001327 rename to packs/dons-de-rhya/MANIFEST-001339 index 8bf3011704ea95db2deae2ae735a77d9fd0e1670..1273c812de868fe022f89c49faef32355958c727 100644 GIT binary patch delta 41 scmaFF_=s`B0i{fv{mEPmj7)pDI2oAta^(NK@~x@EOTxKMy5SnoD9r+xmfnGuCSP24-(l664?(D0RRb53ikj2 delta 43 tcmaFL_>^(NL6z4_tkSp{7@0P3aWXJ(#dzW)DFfv_d=VV~M!Omi{Nn_bvkiZR)z%8Hv03P@Y+W-In delta 41 scmaFF_=s`B0i_iyuRP&mU}QSY&dI=hhMmP`yX7lukiZ#`z&W4*05}Z{RsaA1