HERMES-GIELIE/api
edoumo 9194ade18f fix: report non-git installs as "can't check" instead of "up to date" (#4356)
Docker images and pip installs have no .git directory, so _check_repo
returned None and the frontend interpreted both update-target parts being
falsy as "Up to date" — a stale Docker image would misleadingly look
current. _check_repo now returns a minimal sentinel dict ({name, behind:
None, no_git: True}) instead of None so the Settings panel can distinguish
"can't check" from "up to date", and _formatUpdateTargetStatus /
checkUpdatesNow surface a localized "Can't check for updates" state
(settings_update_no_git, added across all 13 locale blocks). In mixed
deployments where one component has a git checkout and the other does not,
the valid git-side update info is still shown. The sentinel's behind: None
flows safely through the existing notification/summary builders, which all
gate on int(info.get('behind') or 0) > 0.

Co-authored-by: Rod Boev <rod.boev@gmail.com>
2026-06-17 16:36:26 +00:00
..
__init__.py
agent_health.py Release v0.51.260 — Release IB (stage-r8) (#3614) 2026-06-04 15:21:41 -07:00
agent_sessions.py fix(sidebar): treat TUI sessions like CLI for discoverability (#4213) (#4237) 2026-06-15 00:48:56 -07:00
auth.py harden(#4023): apply Opus security findings — verify-side name-pattern gate + require handler when auth enabled 2026-06-12 07:37:48 +00:00
background.py
background_process.py [HELD — independent review pending] Release v0.51.340 — bg_task agent wakeup (trio #2968+#2971+#2979) (#3867) 2026-06-08 22:36:18 -07:00
clarify.py
commands.py Merge #4112 (skill bundles in WebUI slash commands, #4087) onto master 2026-06-13 23:13:28 +00:00
compression_anchor.py
config.py fix(#4343): default transcript virtualization OFF (experimental/opt-in) + force-off migration 2026-06-17 03:41:47 +00:00
dashboard_probe.py
extensions.py
gateway_chat.py Release PN (v0.51.453): bridge approval controls to the gateway runs API (#4229, #4203) (#4299) 2026-06-15 22:25:24 -07:00
gateway_watcher.py Release PF (v0.51.445): scope gateway watcher to active profile (#2848) (#4275) 2026-06-15 15:41:21 -07:00
goals.py
helpers.py fix: keep session sidebar visible on slow loads (#4167) 2026-06-16 18:42:01 +00:00
kanban_bridge.py Release v0.51.348 — Release LL (Phase 0 hotfix: timeout regression + data-loss + leaks) (#3917) 2026-06-10 01:12:48 -07:00
metering.py
models.py Release PL (v0.51.451): show named-profile external sessions in the all-profiles list (#4067) (#4296) 2026-06-15 21:55:31 -07:00
oauth.py Avoid blocking OAuth flow lock during Codex start 2026-06-17 00:20:49 +00:00
onboarding.py
passkeys.py Release v0.51.270 — Release IL (stage-u1 — un-hold batch: #3517 #3624 #3613) (#3674) 2026-06-05 11:35:26 -07:00
paths.py
plugin_providers.py Release v0.51.270 — Release IL (stage-u1 — un-hold batch: #3517 #3624 #3613) (#3674) 2026-06-05 11:35:26 -07:00
plugins.py fix(#2622): plugin card UX — legible Open button, single badge, visible toggle + reject protocol-relative tab.path 2026-06-02 03:58:02 +00:00
profiles.py fix(profiles): scope the detached models-rebuild worker to the active profile (#3957) 2026-06-11 01:41:24 +00:00
providers.py fix: credential pool fallback for custom providers (#4247) 2026-06-16 17:44:10 +00:00
request_diagnostics.py
rollback.py
route_approvals.py fix(approval): extract _webui_mirror_token literal into named constant 2026-06-14 17:48:37 +00:00
routes.py harden(#3510): re.fullmatch for voice_id validation (Opus review, defense-in-depth) 2026-06-17 05:56:54 +00:00
run_journal.py fix(streaming): tighten tool limit terminal guards 2026-06-12 10:03:31 +08:00
runner_client.py
runtime_adapter.py
session_discoverability.py
session_events.py feat(sessions): carry changed session_id in session-list-changed events (#4221) (#4233) 2026-06-15 00:10:01 -07:00
session_lifecycle.py Release v0.51.256 — Release HX (stage-r4) (#3596) 2026-06-04 12:28:06 -07:00
session_ops.py Release v0.51.276 — Release IR (stage-p3e — preserve manually-named session titles #3542) (#3682) 2026-06-05 13:34:54 -07:00
session_recovery.py Release v0.51.329 — Release KS (#3814 O(n) index map + #3815 startup recovery skip) (#3840) 2026-06-08 11:49:26 -07:00
skill_usage.py
startup.py
state_sync.py
streaming.py docs(streaming): clarify the loose-substring branch relies on the suffix invariant (#4341 review) 2026-06-17 05:04:34 +00:00
system_health.py
terminal.py Release v0.51.304 — Release JT (stage-p2a — un-held terminal reaper + opt-in Docker GPU) (#3757) 2026-06-06 18:04:16 -07:00
todo_state.py Release v0.51.261 — Release IC (stage-r11) (#3616) 2026-06-04 16:46:20 -07:00
turn_journal.py Release v0.51.326 — Release KP (#3618 + #3802 + #3762 + #3810) (#3816) 2026-06-07 23:18:51 -07:00
updates.py fix: report non-git installs as "can't check" instead of "up to date" (#4356) 2026-06-17 16:36:26 +00:00
upload.py fix(voice): recognize command STT providers in capability probe (#4312) 2026-06-16 17:21:11 +00:00
usage.py
webui_session_db.py Release v0.51.305 — Release JU (stage-p2b — dormant unified-SessionDB adapter) (#3759) 2026-06-06 18:16:07 -07:00
workspace.py fix(#4326): reject embedded null byte in remote workspace candidate 2026-06-16 22:19:43 +00:00
workspace_git.py Release v0.51.311 — Release KA (brick-wave: workspace Git RCE hardening #3769 + stale-snapshot sidebar visibility #3770) (#3776) 2026-06-07 08:05:30 -07:00
worktrees.py