Skip to content

fix: improve TimeCapsule timeline controls and restoration - #164

Open
MaxMichel2 wants to merge 1 commit into
refactor/console-log-rowsfrom
fix/timecapsule-restore-target
Open

MaxMichel2 wants to merge 1 commit into
refactor/console-log-rowsfrom
fix/timecapsule-restore-target

Conversation

@MaxMichel2

@MaxMichel2 MaxMichel2 commented Nov 9, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Hide Restore on the current TimeCapsule entry and give expand/collapse a 48dp target.
  • Preserve expansion when returning to the same recording, without applying old saved entry IDs to a new recording. Keep restored long labels collapsible.
  • Use shared empty-history guidance; retain the timeline rail and change highlighting.
  • Add nine Android device regressions and update module guidance/changelog. Refresh the graph AST for this layer; clustered reports/wiki remain stale.

Validation

  • 39 TimeCapsule host tests and 9 connected Android device tests passed.
  • 15 Konsist tests, Detekt Full and sample Android debug build passed.
  • Normal Gitleaks and Detekt commit hooks passed.
  • Actual light/dark screenshots reviewed; earlier-entry restore checked on the connected device.
  • Native iOS runtime, TalkBack and enlarged-font execution remain pending; no claim of whole-overhaul completion.

Stack

Depends on #163. The description and merge diff cover only the TimeCapsule layer against refactor/console-log-rows.

Intended merge order: #157 → #159 → #160 → #161 → #163 → this PR. Add this layer to existing GitHub stack #162; do not merge before its predecessors.

RetriggerView in GreptileConfidence Score: 4/5

The PR appears safe to merge, with a non-blocking cleanup needed for saved expansion IDs.

Findings

  1. P2 Saved expansion keeps growing ▶

Summary

Updates Time Capsule controls and saves expansion for the active recording.

  • Expanded entries stay open for the same recording.
  • Only earlier entries can be restored from the timeline.
  • Empty timelines explain what to do next.
  • The generated repository graph now reflects the updated source snapshot.

Reviews (1) · Last reviewed commit: ":lipstick: Hide no-op Restore and enlarg..." · Reviewed by Greptile

Only earlier timeline entries offer Restore. Keep expansion through screen
recreation within the same recording, reject saved IDs from a new recording,
and use shared empty-history guidance. Preserve the timeline rail and highlights.

Validation: 39 TimeCapsule host tests, 9 connected Android device tests,
15 Konsist tests, Detekt Full and sample Android debug build passed. Light/dark
screenshots reviewed; manual earlier-entry restore checked on the device.
iOS runtime, TalkBack and enlarged-font execution remain pending.
@MaxMichel2
MaxMichel2 added this pull request to stack #162 November 9, 2026 10:56
Comment on lines +45 to +48
var expandedIds by rememberSaveable(
recordingId,
stateSaver = listSaver<List<Long>, Any>(
save = { listOf(element = recordingId) + it },

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Saved expansion keeps growing

expandedIds now goes into saved state, but it keeps IDs after their entries leave the timeline. A long-running recording can therefore save an ever-growing list even though maxEntries bounds the history. This wastes memory and increases the work needed to save the screen. Filter expansion against retained entry IDs when history changes, including after Clear.

This branch has not been deployed

No deployments
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