Skip to content

feat(mobile): polish session preferences and transcript - #5047

Merged
iscekic merged 4 commits into
mainfrom
session-polish-4cd1
Aug 5, 2026
Merged

feat(mobile): polish session preferences and transcript#5047
iscekic merged 4 commits into
mainfrom
session-polish-4cd1

Conversation

@iscekic

@iscekic iscekic commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add persisted Preferences for reasoning expansion and session screen wake behavior.
  • Group transcript time markers and remove repeated per-message labels.
  • Show complete tool output in tool detail cards.

Why

The session UI repeated timestamps, hid long tool output, and lacked persisted controls for session behavior.

How

  • Reuse the SecureStore preference helper and clear both settings on sign-out.
  • Build time markers and visibility filtering in the pure transcript builder.
  • Remove tool-card output caps while preserving mono scrolling and truncation support.

Verification

  • pnpm format
  • pnpm typecheck
  • pnpm lint
  • pnpm check:unused
  • Focused mobile tests: 12 files, 105 tests passed.
  • Full mobile test suite before main merge: 355 files, 3408 tests passed.
  • Full mobile test suite after main merge repairs: 368 files, 3611 tests passed.
  • iOS E2E: all six scenarios passed on ses_20910801062d332d33798ca7cb.
  • Wake-lock semantics remain covered by session-keep-awake.test.ts; the operating-system idle timer is not observable in the simulator.
  • Sign-out cleanup remains covered by auth-context.test.tsx and the deferred SecureStore read regression test.

E2E

E2E: bot-e2e — iOS-only verification completed. The 300000-character sheet opened within the decision threshold, so no safety cap was added. The final-head re-verification passed after the main merge.

Visual Changes

Run A transcript

Calendar and pause markers

@iscekic iscekic self-assigned this Aug 5, 2026
@kilo-code-bot

kilo-code-bot Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Executive Summary

Incremental review of the 4 files changed since the previous review (merge conflict resolution with main's auth hardening plus a test-mock fix): the PR's clearKeepScreenOnPreference sign-out clear was correctly re-applied on top of main's refresh-token rewrite, the sonner-native test mock and hoisted preference mocks are sound, the AppState subscription retains proper cleanup (no memory leak), and no new issues were found.

Files Reviewed (4 files, incremental)
  • apps/mobile/src/lib/auth/auth-context.tsx
  • apps/mobile/src/lib/auth/auth-context.test.ts
  • apps/mobile/src/lib/auth/auth-context.test.tsx
  • apps/mobile/src/lib/storage-keys.ts
Previous Review Summary (commit adf1ca8)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit adf1ca8)

Status: No Issues Found | Recommendation: Merge

Executive Summary

Reviewed all 41 changed mobile files covering persisted session preferences, transcript time markers with visibility filtering, and uncapped tool output; the visibility extraction was verified line-by-line against the renderers it mirrors, the sign-out race fix is correct, and no memory leaks, dangling references, or logic errors were found.

Files Reviewed (41 files)
  • apps/mobile/src/app/(app)/(tabs)/(3_profile)/preferences.tsx
  • apps/mobile/src/components/agents/chat-toolbar.tsx
  • apps/mobile/src/components/agents/message-bubble.test.ts
  • apps/mobile/src/components/agents/message-bubble.tsx
  • apps/mobile/src/components/agents/message-time-label.test.ts
  • apps/mobile/src/components/agents/message-time-label.ts
  • apps/mobile/src/components/agents/message-visibility.test.ts
  • apps/mobile/src/components/agents/message-visibility.ts
  • apps/mobile/src/components/agents/part-renderer.tsx
  • apps/mobile/src/components/agents/read-tool-markdown.ts
  • apps/mobile/src/components/agents/reasoning-settings-modal.tsx (deleted)
  • apps/mobile/src/components/agents/session-detail-content.tsx
  • apps/mobile/src/components/agents/session-keep-awake.test.ts
  • apps/mobile/src/components/agents/session-keep-awake.ts
  • apps/mobile/src/components/agents/session-transcript.test.ts
  • apps/mobile/src/components/agents/session-transcript.ts
  • apps/mobile/src/components/agents/tool-cards/bash-tool-card.tsx
  • apps/mobile/src/components/agents/tool-cards/edit-tool-card.test.ts
  • apps/mobile/src/components/agents/tool-cards/edit-tool-card.tsx
  • apps/mobile/src/components/agents/tool-cards/generic-tool-card.tsx
  • apps/mobile/src/components/agents/tool-cards/glob-tool-card.tsx
  • apps/mobile/src/components/agents/tool-cards/grep-tool-card.tsx
  • apps/mobile/src/components/agents/tool-cards/list-tool-card.tsx
  • apps/mobile/src/components/agents/tool-cards/read-tool-card.tsx
  • apps/mobile/src/components/agents/tool-cards/task-tool-card.tsx
  • apps/mobile/src/components/agents/tool-cards/todo-tool-card.tsx
  • apps/mobile/src/components/agents/tool-cards/tool-card-output-cap.test.ts
  • apps/mobile/src/components/agents/tool-cards/web-search-tool-card.tsx
  • apps/mobile/src/components/agents/tool-cards/write-tool-card.test.ts
  • apps/mobile/src/components/agents/tool-cards/write-tool-card.tsx
  • apps/mobile/src/components/agents/transcript-time-marker.tsx
  • apps/mobile/src/components/preferences-screen.tsx
  • apps/mobile/src/components/profile-screen.tsx
  • apps/mobile/src/lib/auth/auth-context.test.tsx
  • apps/mobile/src/lib/auth/auth-context.tsx
  • apps/mobile/src/lib/hooks/secure-store-preference.test.ts
  • apps/mobile/src/lib/hooks/secure-store-preference.ts
  • apps/mobile/src/lib/hooks/use-keep-screen-on-preference.test.ts
  • apps/mobile/src/lib/hooks/use-keep-screen-on-preference.ts
  • apps/mobile/src/lib/storage-keys.ts

Reviewed by kimi-k3 · Input: 58.7K · Output: 10.1K · Cached: 589.8K

Review guidance: REVIEW.md from base branch main

@iscekic iscekic added the human-ready The PR is ready for human review. label Aug 5, 2026
@iscekic
iscekic merged commit 2a558a5 into main Aug 5, 2026
21 checks passed
@iscekic
iscekic deleted the session-polish-4cd1 branch August 5, 2026 17:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

human-ready The PR is ready for human review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants