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
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
nesquena-hermes
9b7aba6a50
Stage 331: PR #2004 — fix(compression): persist compression boundary summary for reload UI by @franksong2702
2026-05-10 17:09:21 +00:00
nesquena-hermes
a897ccfd9c
Stage 330: PR #2005 — feat(provider): add Xiaomi MiMo provider support by @vikarag
2026-05-10 17:08:46 +00:00
nesquena-hermes
38b6df01c3
Stage 330: PR #2002 — i18n(zh): update Chinese language translation by @eov128
2026-05-10 17:08:42 +00:00
nesquena-hermes
9060bdb344
Stage 330: PR #2001 — fix(clarify): honor clarify.timeout config by @franksong2702
2026-05-10 17:07:37 +00:00
nesquena-hermes
7eced19463
Stage 330: PR #2000 — fix(skills): patch module-level caches on per-request profile switch by @qxxaa
2026-05-10 17:07:37 +00:00
nesquena-hermes
26b700648e
Stage 330: PR #1998 — fix(goal): localize /goal runtime status strings by @franksong2702
2026-05-10 17:07:37 +00:00
nesquena-hermes
7c26783888
Stage 330: PR #1992 — fix(ctl): bash 3.2 compatible variable check by @29n
2026-05-10 17:07:37 +00:00
nesquena-hermes
941c8051a9
chore: CHANGELOG note for stage augmentation 9242305a
2026-05-10 17:06:27 +00:00
nesquena-hermes
9242305a81
fix(stage-329): zh-Hant locale parity for kanban_status_original_hint + extend locale parity test (Opus advisor SHIP-WITH-CAVEATS follow-up)
2026-05-10 17:06:10 +00:00
nesquena-hermes
52c1053baa
chore: CHANGELOG for v0.51.35 — Release K (kanban polish + i18n DE)
2026-05-10 17:00:40 +00:00
nesquena-hermes
f44ead1404
Stage 329: PR #1996 — test(kanban): modal locale parity regression by @franksong2702
2026-05-10 16:48:44 +00:00
nesquena-hermes
b01df72727
Stage 329: PR #1995 — feat(kanban): trap focus in kanban modals + status hint by @franksong2702
2026-05-10 16:48:41 +00:00
nesquena-hermes
7ce48de817
Stage 329: PR #1993 — fix(kanban): invalidate profile cache for assignee select by @franksong2702
2026-05-10 16:48:15 +00:00