v0.50.268 — Sessions UX batch + first auto-rebase release
4 contributor PRs shipped through the full pipeline + 3 Opus advisor SHOULD-FIX defensive hardening. First release under the May 2 2026 auto-rebase + auto-fix policy.
Highlights
Session navigation + lifecycle (3 PRs) — pushState-style URL sync after server-side session id rotation (#1395 by @dso2ng), nested child sessions under collapsed lineage roots in the sidebar (#1450 by @dso2ng — replaces orphan flat-row rendering with proper indent), and a new /api/session/duplicate server-side endpoint (#1462 by @AlexeyDsov) replacing the prior client-side new+rename dance with one atomic POST.
Android PWA (#1476 by @galvani) — adds 192/512px adaptive icons (with purpose: "any maskable"), updates the manifest, and whitelists /manifest.json in PUBLIC_PATHS so the install prompt works regardless of auth state.
Auto-rebase + auto-fix (new policy) — #1462's review feedback was applied directly to the contributor's branch and force-pushed back rather than waiting for a contributor round-trip: copy.deepcopy() for messages independence, explicit .save() so duplicates persist immediately, pinned/archived=False so archived duplicates are visible, status=404 for missing session, redundant local imports removed. Plus 3 Opus SHOULD-FIX follow-ups: per-session field carry-over (personality, enabled_toolsets, context_length, threshold_tokens), (session.title or "Untitled") None-title guard, and session_meta_children i18n key in all 10 locales (was hardcoded English in 2 sidebar callsites). All preserve Co-authored-by attribution.
Constituents
- #1395 — sync URL after session id rotation (@dso2ng)
- #1450 — nest child sessions under lineage roots (@dso2ng) — UX
- #1462 —
/api/session/duplicateendpoint (@AlexeyDsov) — auto-rebased + maintainer fixes - #1476 — Android PWA installation (@galvani)
Plus 6 Opus follow-up regression tests in tests/test_stage268_opus_followups.py. Filed during release: #1481 (PWA /sw.js whitelist vestige, low-priority follow-up).
Test results
- pytest tests/ — 3800 passed (was 3776; +24 net)
- QA harness — 20/20 passed, all browser API sanity checks green on isolated port 8789
- CI on stage-268 — green across Python 3.11 / 3.12 / 3.13
Deferred
#1353 (chat history WAL recovery, @JKJameson, 1315 LOC durability path) was rebased onto master and pushed back to the contributor's branch but deferred to v0.50.269 — house policy requires independent review for changes of this scale touching the durability path. Now MERGEABLE for the next batch.
Contributors
Thanks to @dso2ng (×2), @AlexeyDsov, and @galvani for the contributions.