Skip to content

v2.0.1 — Patch: config-corruption protection & repair

Choose a tag to compare

@jifeng15 jifeng15 released this 16 Aug 02:14
· 5 commits to main since this release

Patch release: fix duplicate-loader-entry crash & add config recovery

Fixes the crash caused by hot-installing a plugin that is already in dsh.profile.bundles
(duplicate loader entry id → dsh web fails to boot). Adds tooling to diagnose and recover
from config corruption.

Fixed

  • Hot install now rejects bundles already managed by dsh plugin — no more duplicate
    insert rows in cordis.patch.yml, no more boot crash (duplicate loader entry id).
    Use dsh plugin --profile web add|remove for those instead.

Added

  • dsh-web repair — diagnose & auto-fix common config corruption:
    • duplicate entry ids in cordis.patch.yml (dedup, keep first)
    • ghost bundles in dsh.profile.bundles (remove missing packages)
    • dsh-web-hot state out of sync (reset to match config)
  • dsh-web health-check — after restart, verifies port + config tree; tells you
    whether the problem is the process or the config (stop looping restarts on bad config).
  • Auto config backupinstall/remove/repair back up cordis.patch.yml &
    state before changing them (kept in profiles/web/backups/, last 10).

Docs

  • README bilingual: added technical architecture section (components, hot-install &
    safe-restart data flows, env dependencies).