Skip to content

Releases

0.6.431.49

Choose a tag to compare

@github-actions github-actions released this 07 Nov 14:53
53193e8
  • The page opens on live data. The web host disconnected Dieter's core from the gateway and the daemon two
    minutes after the last tab was hidden, and Home Assistant loads the panel's frame afresh each time it is opened, so
    almost every open reconnected from scratch first (session, machines, devices, then the machine streams): 2–5 s on
    "connecting" or on old data after the page itself had started in under a second. The core now connects when the
    add-on starts and stays connected. With the embedded gateway (the default) the gateway and the daemon are on the
    same machine, so this costs next to nothing; with an external gateway it is one more device that stays online.
    • The web host's DIETER_WEB_HOST_IDLE_MS (milliseconds, not an add-on option) still sets a grace instead.
    • The log says how long connecting took (core connecting (took … ms)).

0.6.431.48

Choose a tag to compare

@github-actions github-actions released this 05 Nov 05:24
adb0bf2
  • Fix: scheduled runs sent no push. A schedule's run has the card id c_sched_<hex>, and the web host's Home
    Assistant relay let only c_<hex> through, so its dieter_turn_finished, dieter_card_review and
    dieter_question were refused (home assistant relay: refused POST events/…, 403 in the operator's log). They
    now reach Home Assistant like any other card's.

0.6.431.47

Choose a tag to compare

@github-actions github-actions released this 02 Nov 14:15
28f17f1
  • The page opens where you left it. Home Assistant loads the add-on's frame afresh each time you come back to it
    from another panel or dashboard (the add-on's panel, or a dashboard view that embeds it), and the page started over
    at the Inbox. It now keeps its place (the open tab and each tab's screens: a conversation and its pane, a board,
    Mail, a Dreamfall board, a tool page) in the browser's storage and goes back there on a load without a deep link.
    • Per browser and per address: the Companion app, a desktop browser, local and Nabu Casa each keep their own.
    • A deep link (a push, ?route=) still opens its target; a conversation that is gone since leaves the place.
    • Sheets (New task, Share) and terminals, screens and open files are not kept: the page opens on the screen
      below them.

0.6.431.46

Choose a tag to compare

@github-actions github-actions released this 02 Nov 12:59
06f7c93
  • Fix: New project (Projects → Add) could not create a project and did not say why.
    • A failed Create now shows the daemon's reason in the sheet; before it went to the snackbar behind the sheet's
      scrim, so the button looked dead.
    • A relative path on the add-on's machine is a folder in /data/projects (the daemon took it from its working
      directory, /, e.g. /talk-tv-factory); the sheet shows the path it creates or opens. Other machines need an
      absolute path, and ~ or .. are refused with a hint.
    • The add-on's machine is picked when the sheet opens, and the sheet says that a project is a Git working tree:
      Create a new Git repository starts a local one without a remote.
    • The page builds the sheet from the add-on's copy (web/src/uiOverrides); the build fails when the fork changes
      its ProjectEditor.kt until the copy has the change.

0.6.431.45

Choose a tag to compare

@github-actions github-actions released this 02 Nov 07:47
1192d4c
  • Fix: Prevent OOM kills and orphaned agent processes from interrupting active turns.
    • Concurrency and available-memory gate (patches/turn-resilience.mjs, runner.mjs): bounds concurrent active
      agent turns across the host (defaultMaxSlots based on system RAM, e.g. 4 on an 8 GB Raspberry Pi) and waits for
      MemAvailable headroom on slots 1..N-1 while keeping slot 0 unconditionally open, preventing bursts of
      simultaneously started cards from exhausting RAM and swap.
    • Prioritize add-on infrastructure over expendable agent subprocesses under OOM (raiseOomScoreAdj): harness
      workers (runner.mjs) raise their /proc/self/oom_score_adj to 500 and agent CLI children (agy, claude,
      codex, bridge.mjs) to 600, so the Linux kernel OOM killer never kills the web host, operator, or dieter
      daemon (oom_score_adj: 200) ahead of an agent worker.
    • Clean worker and provider-bridge teardown on daemon crash (runner.mjs, local-sandbox.mjs,
      antigravity-runtime.mjs, Supervisor.kt):
      • runner.mjs guards process.stdout against unhandled EPIPE errors and detects parent daemon death
        (process.ppid), unwinding the active session and stopping sandbox child processes instead of crashing and
        stranding children.
      • local-sandbox.mjs prefixes exec when launching --bridge-state-dir provider bridges under /bin/sh -lc so
        node bridge.mjs is the process-group leader (PID == PGID) recorded in bridge-meta.json.
      • antigravity-runtime.mjs awaits agy termination in doStop() and doDestroy(), escalating from SIGTERM to
        SIGKILL if agy does not exit within the grace window.
      • DaemonSupervisor reaps any lingering worker process groups (.dieter-worker-*.pid), provider bridges
        (bridge-meta.json), and orphaned headless agent CLIs whenever the daemon exits or on operator startup.

0.6.431.44

Choose a tag to compare

@github-actions github-actions released this 02 Nov 06:18
0208856
  • Fix: Exclude staged runtimes, card worktrees, and build caches from Home Assistant backups.
    • backup_exclude previously only excluded dieter/runtime/harness/** and projects/**, leaving
      dieter/worktrees/** (~7.3 GB), dieter/harness-staged/** (~2.1 GB), dieter/runtime/**, and agent tool/build
      caches (.cache/**, .gradle/**, .npm/**, .kotlin/**, .codex/.tmp/**, .ai-sdk-harness/.agent-runs/**) in
      the add-on archive and pushing automatic Home Assistant backups past the 5 GB Home Assistant Cloud upload limit.

0.6.431.43

Choose a tag to compare

@github-actions github-actions released this 02 Nov 05:25
69b1571
  • Fix: Usage shows when a limit resets as a local day and time to the minute.
    • The Claude and OpenAI windows printed the daemon's raw timestamp (resets 2026-11-08T19:59:59.664282+00:00),
      which also squeezed the window name into one letter per line. They now read resets Sun 8 Nov 21:00, in the
      browser's time zone. The page build patches the fork's UsageScreen.kt for this (AddonRules.resetClock).

0.6.431.42

Choose a tag to compare

@github-actions github-actions released this 01 Nov 16:17
edeb53f
  • Fix: Ollama task titles now rename standalone chats, keep the task's language, and recover when Ollama fails.
    • Both dieter card show and dieter chat show wrap the conversation under "card", whereas Titles.retitle
      previously looked up .obj(kind) ("chat"), which was always null for standalone chats and aborted before
      renaming.
    • Tightened the ai_task.generate_data instructions to ignore any Home Assistant system language setting and keep
      the exact language of the task text (preventing English prompts from getting German titles).
    • Invalidates OllamaEntity's 10-minute cache immediately when aiTitle fails, patches the board state on rename,
      cancels pending model titles on manual rename (Cards.update), and falls back to peers/identity.json /
      daemon/identity.json in Settings.localDaemonId while the daemon is starting.

0.6.431.41

Choose a tag to compare

@github-actions github-actions released this 01 Nov 13:45
6335a2c
  • Deduplicate empty auto-registered projects and extra local checkouts during gateway mode reconciliation.
    • When a replica already holds both a canonical project and an empty duplicate project pointing at the same local
      repository path (such as when 0.6.431.39 auto-registered empty projects before store adoption), adoptStore
      now archives the empty duplicate project, retires its initial board, and detaches its checkout in CRDT so the
      embedded gateway does not sync empty duplicates back.
    • Ensures each surviving local project has at most one active local checkout (preferring checkouts referenced by
      cards, chats, and schedules) so AccountView and sharedProjects always resolve project.path.

0.6.431.40

Choose a tag to compare

@github-actions github-actions released this 01 Nov 11:41
6a10bd6
  • Adopt projects, boards, cards, chats, checkouts, schedules, and Dreamfall pipelines across gateway modes (external ↔ embedded).
    • Switching between external and embedded gateway modes now adopts the previous mode's CRDT peer replica records
      (project/*, board/*, label/*, assignment/*, checkout/*, item/*, schedule/*, and kv.* including
      Dreamfall pipelines) into the active mode's account scope, re-signs owner-bound records (checkout.registration,
      item.identity, item.summary, schedule.summary) with the active mode's daemon identity, and updates local
      card markdown files (/data/dieter/cards/*.md, /data/dieter/archived-cards/*.md), checkouts
      (/data/dieter/checkouts/*.json), and schedules.db.
    • If 0.6.431.39 previously initialized an empty embedded replica (with 0 items and duplicate auto-registered
      projects) before adopting external items, the empty replica is automatically reset and replaced with the full
      canonical projects, boards, cards, chats, and Dreamfall pipelines from external mode.