Skip to content

feat: make full sessions reliable on mobile - #17

Merged
leoncheng57 merged 3 commits into
mainfrom
feat/mobile-full-sessions
Aug 21, 2026
Merged

feat: make full sessions reliable on mobile#17
leoncheng57 merged 3 commits into
mainfrom
feat/mobile-full-sessions

Conversation

@leoncheng57

@leoncheng57 leoncheng57 commented Aug 21, 2026

Copy link
Copy Markdown
Owner

Summary

  • preserve a reader's transcript position during live output and expose an accessible Jump to latest affordance only for appended or growing rows, not status-only idle transitions
  • give the 390px composer a full-width 16px multiline textarea, compact native reminder picker, 44px Attach/Send targets, safe-area padding, and code-friendly input hints
  • contain hostile markdown, stack the Changes rail on mobile, prevent pull-to-refresh overscroll, and keep SSE recovery retrying with capped backoff
  • retain unchanged event identities and memoize transcript rows/markdown to reduce long-session rendering work
  • integrate current main while preserving recent-session recording and issue bug: Build sessions can lose shell and edit tools after a mode switch #15 permission-policy activation/concurrency behavior

Verification

  • npm run typecheck
  • npm test (153 passed)
  • npm run build
  • lockf -k /tmp/custom-dca-opencode-e2e.lock npm run test:e2e (117 passed)
  • git diff --check

Residual risk

The classic transcript endpoint still transports the full session history on every poll. This wave avoids reparsing and rerendering unchanged content, but transport remains O(history). A future cursor/replay or compression design must be coordinated with the OpenCode API contract; this PR intentionally does not invent pagination, truncate history, or add a runtime dependency.

@leoncheng57
leoncheng57 marked this pull request as ready for review August 21, 2026 18:48
@leoncheng57
leoncheng57 marked this pull request as draft August 21, 2026 18:53
@leoncheng57
leoncheng57 marked this pull request as ready for review August 21, 2026 18:55
@leoncheng57
leoncheng57 merged commit 8bf3f7d into main Aug 21, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant