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