Commit Graph

1825 Commits

Author SHA1 Message Date
nesquena-hermes 14839248ea Merge pull request #2043 from nesquena/stage-335
Release Q — v0.51.41 — 3-PR contributor batch (session recovery audit + run-lifecycle health + transcript dedup)
v0.51.41
2026-05-10 17:52:39 -07:00
nesquena-hermes 4bbed44b21 docs: CHANGELOG v0.51.41 Release Q 2026-05-11 00:43:59 +00:00
nesquena-hermes db32b70771 Merge PR #2038 into stage-335
# Conflicts:
#	CHANGELOG.md
2026-05-11 00:25:35 +00:00
nesquena-hermes 97b283c5a4 Merge PR #2039 into stage-335 2026-05-11 00:25:07 +00:00
nesquena-hermes 91f1e3df94 Merge PR #2036 into stage-335 2026-05-11 00:25:06 +00:00
nesquena-hermes 50acda3919 Merge pull request #2037 from nesquena/stage-334
Release P — v0.51.40 — 4-PR contributor batch (quota subprocess hardening + env-lock prewarm + cron one-shot warning + Xiaomi env key)
v0.51.40
2026-05-10 17:21:46 -07:00
ai-ag2026 2ead7daa2f fix: expose active run lifecycle in health 2026-05-11 02:15:00 +02:00
Frank Song 642249747f Fix session message identity dedup 2026-05-11 08:14:50 +08:00
nesquena-hermes e5dc58b700 docs: CHANGELOG v0.51.40 Release P 2026-05-11 00:09:50 +00:00
ai-ag2026 7b6d91d490 feat: add read-only session recovery audit 2026-05-11 02:06:43 +02:00
ai-ag2026 663817570c fix: recover orphaned session backups on startup 2026-05-11 02:03:37 +02:00
nesquena-hermes 9c471be4a3 Merge PR #2034 into stage-334
# Conflicts:
#	CHANGELOG.md
2026-05-10 23:38:05 +00:00
nesquena-hermes c3d40ad51f Merge PR #2033 into stage-334 2026-05-10 23:37:39 +00:00
nesquena-hermes 02506eadb5 Merge PR #2032 into stage-334 2026-05-10 23:37:39 +00:00
nesquena-hermes 5dbf9627ca Merge PR #2030 into stage-334 2026-05-10 23:37:39 +00:00
Frank Song 128e734df4 Fix Xiaomi API key env detection 2026-05-11 07:33:52 +08:00
Frank Song a27f1bf7db Clarify one-shot cron schedules 2026-05-11 07:03:17 +08:00
Michael Lam d620f4394a fix: prewarm skill imports outside env lock 2026-05-10 15:51:49 -07:00
Michael Lam cb3284b73f fix: harden quota probe subprocess handling 2026-05-10 12:18:02 -07:00
nesquena-hermes b997067ae8 Merge pull request #2029 from nesquena/stage-333
Release O — v0.51.39 — 4-PR contributor batch (Railway docker + Stop-button race + model resolver + live context)
v0.51.39
2026-05-10 11:43:34 -07:00
nesquena-hermes 567dc4d355 chore: CHANGELOG for v0.51.39 — Release O (4-PR contributor batch) 2026-05-10 18:17:57 +00:00
nesquena-hermes 2377216860 Stage 333: PR #2009 — feat(context): live status tracking during streaming by @dobby-d-elf 2026-05-10 18:16:59 +00:00
nesquena-hermes 8824f3c88d Stage 333: PR #2022 — fix(resolver): prefer active provider for default model overlap by @Michaelyklam 2026-05-10 18:16:59 +00:00
nesquena-hermes 83bce07d29 Stage 333: PR #2018 — fix(stop): refresh button after chat/start stream id by @rhelmer 2026-05-10 18:16:59 +00:00
nesquena-hermes 96c1c988f3 Stage 333: PR #2017 — fix(docker_init): fall back when /tmp not root-writable on Railway by @michael-dg 2026-05-10 18:16:59 +00:00
nesquena-hermes 6fbb6e452e Merge pull request #2021 from nesquena/stage-332
Release N — v0.51.38 — UI polish (4 PRs)
v0.51.38
2026-05-10 11:11:01 -07:00
nesquena-hermes fe922d83b0 Merge remote-tracking branch 'origin/master' into stage-332
# Conflicts:
#	CHANGELOG.md
2026-05-10 18:07:50 +00:00
nesquena-hermes a42adbeb3c Merge pull request #2020 from nesquena/stage-331
Release M — v0.51.37 — Compression / lineage backend (6 PRs)
v0.51.37
2026-05-10 11:07:11 -07:00
nesquena-hermes 22991fa820 Merge remote-tracking branch 'origin/master' into stage-331
# Conflicts:
#	CHANGELOG.md
2026-05-10 18:03:55 +00:00
nesquena-hermes 952754acf7 Merge pull request #2019 from nesquena/stage-330
Release L — v0.51.36 — Locale + provider + cross-cutting (6 PRs)
v0.51.36
2026-05-10 11:03:01 -07:00
Michael Lam ed183784d4 fix: prefer active provider for default model overlap 2026-05-10 10:49:12 -07:00
nesquena-hermes c9d4100218 Merge remote-tracking branch 'origin/master' into stage-332
# Conflicts:
#	CHANGELOG.md
2026-05-10 17:46:34 +00:00
nesquena-hermes 16535e1f66 Merge remote-tracking branch 'origin/master' into stage-331
# Conflicts:
#	CHANGELOG.md
2026-05-10 17:46:10 +00:00
nesquena-hermes 4f900d0763 Merge remote-tracking branch 'origin/master' into stage-330
# Conflicts:
#	CHANGELOG.md
#	static/i18n.js
2026-05-10 17:45:29 +00:00
nesquena-hermes ad290cc703 Merge pull request #2016 from nesquena/stage-329
Release K — v0.51.35 — Kanban polish + i18n DE pluralization (6 PRs from @franksong2702)
v0.51.35
2026-05-10 10:43:23 -07:00
nesquena-hermes 024cd87580 chore: CHANGELOG for v0.51.38 (stage-332) 2026-05-10 17:31:37 +00:00
nesquena-hermes dc522ad0c0 chore: CHANGELOG for v0.51.37 (stage-331) 2026-05-10 17:31:34 +00:00
nesquena-hermes d922845bbd chore: CHANGELOG for v0.51.36 (stage-330) 2026-05-10 17:31:32 +00:00
Robert Helmer ce27499762 Fix Stop button not refreshing after chat/start stream id
Call updateSendBtn after S.activeStreamId is cleared for a new turn and
again after the server returns streamId, since setBusy(true) already
refreshed the button while activeStreamId was still null.

Add regression tests in test_1062_busy_input_modes (TestBusySendButton).
2026-05-10 10:15:16 -07:00
Michael De Gols 4ba31f9462 fix(docker_init): fall back when /tmp not root-writable (Railway)
On user-namespaced rootless runtimes (Railway), in-container UID 0 maps
to a host UID outside the writable subuid range, so /tmp writes fail
despite id -u returning 0. The existing read-only-rootfs guard only
covers /etc/{group,passwd} and doesn't catch this.

Probe /tmp writability before save_env and fall back through
$itdir → /app, exporting _HW_ROOT_ENV_PATH so the post-su phase reads
from the same path.

Closes #2010

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-10 19:14:49 +02:00
nesquena-hermes 71aaad6e7f fix(stage-330): broaden chinese-locale test to accept both \uXXXX and literal CJK forms (PR #2002 source-form refresh) 2026-05-10 17:13:52 +00:00
nesquena-hermes cb27ab0142 Stage 332: PR #2013 — fix(sessions): avoid sidebar jumps when active session is visible by @ai-ag2026 2026-05-10 17:09:44 +00:00
nesquena-hermes 2fb29e508c Stage 332: PR #2008 — fix(diff): CLI session patch diff rendering by @franksong2702 2026-05-10 17:09:44 +00:00
nesquena-hermes f5a8a6f9ef Stage 332: PR #2007 — fix(mobile): wrap markdown code blocks on mobile by @insecurejezza 2026-05-10 17:09:44 +00:00
nesquena-hermes c7ab7cfcda Stage 332: PR #1988 — fix(toast): lengthen auto-compression toast by @Michaelyklam 2026-05-10 17:09:44 +00:00
nesquena-hermes c624770c63 Stage 331: PR #2015 — fix(sessions): stitch continued session transcripts by @Jellypowered 2026-05-10 17:09:21 +00:00
nesquena-hermes 44dc7d05e8 Stage 331: PR #2014 — fix(sessions): keep explicit fork sessions out of compression lineage by @ai-ag2026 2026-05-10 17:09:21 +00:00
nesquena-hermes b68d7c62e7 Stage 331: PR #2012 — feat(sessions): read-only session lineage report endpoint by @dso2ng 2026-05-10 17:09:21 +00:00
nesquena-hermes f4d3e9eed4 Stage 331: PR #2011 — fix(sessions): prefer latest compressed segment by @ai-ag2026 2026-05-10 17:09:21 +00:00
nesquena-hermes c156e5a256 Stage 331: PR #2006 — fix(compression): stamp profile on continuation session by @qxxaa 2026-05-10 17:09:21 +00:00