Skip to content

fix(tui): the /resume picker lists sessions that are more than 30 days old - #61

Merged
zy1233 merged 1 commit into
fix/tui-dead-settings-and-flagsfrom
fix/tui-resume-picker-age-limit
Oct 31, 2026
Merged

zy1233 merged 1 commit into
fix/tui-dead-settings-and-flagsfrom
fix/tui-resume-picker-age-limit

Conversation

@zy1233

@zy1233 zy1233 commented Oct 30, 2026

Copy link
Copy Markdown
Owner

Summary

Plan decision 9. /resume left out every session that was last updated more than 30 days ago. The rule came from the upstream project. With the Python agent, a session that nobody touched for a month was gone from the picker, and only --resume <id> could still open it. The cutoff is removed. This is the tendency written in the plan: the agent pages the list, so a longer list is not a problem.

 parse_session_picker_entries(payload)
   for each row of payload.sessions
     skip a row with no usable first prompt or summary
-    skip a row whose updatedAt is older than now - 30 days
     skip a row whose updatedAt does not parse        # unchanged

Stacked on #60. The base of this PR is fix/tui-dead-settings-and-flags, because both PRs change CHANGELOG.md and scripts/tui_baseline.toml at the same lines. Merge #60 first. Then change the base of this PR to main if GitHub does not do it.

Evidence

  • Before: picker_drops_old_conversation_past_cutoff_in_standard_acp_mode passes and asserts the drop: one row with updatedAt = 2020-01-01 gives an empty list. (Its failure message said the opposite.)
    After: two tests take its place. They assert what the old code dropped:
picker_keeps_a_session_older_than_30_days
  one row, updatedAt 2020-01-01                     -> 1 entry (id, summary, updated_at as given)
acp_session_list_page_keeps_old_and_new_sessions
  session/list page: s_new, s_old (2020), s_older (2019)
                                                    -> ids == [s_new, s_old, s_older], order kept
  • pi-pager suite (scripts/tui_baseline.py test, nextest, Linux, WSL2): 5,657 passed, 0 failed, 12 skipped. Before: 5,656 (one test gone, two new). scripts/tui_baseline.toml goes up by the same one. CHANGELOG.md: one entry under ### Fixed.
  • ruff check . and ruff format --check . pass on Windows. No Python file changes.

Merge Danger

Door: two-way. One revert brings the cutoff back.

Blast Radius: the list of the /resume picker. It can show more rows: a user with sessions from earlier months now sees them. The picker still reads up to 100 pages of 50 rows, and it still waits for all pages before it draws (about 0.8 s for 1,000 sessions on Windows; plan decision 11 is the open item that would draw while the pages arrive). --resume <id>, the agent, the session files and every other picker do not change. A row with no updatedAt that parses is still left out.

…s old

parse_session_picker_entries dropped every session whose updatedAt was more than 30 days old. The
rule came from the upstream project. With the Python agent it hid a session that nobody touched for
a month: gone from /resume, while --resume <id> still opened it (plan decision 9; its tendency was
to remove the cutoff, because the agent pages the list).

The cutoff is gone. The picker shows every row that the agent lists (50 for a page, up to 100
pages). A row whose updatedAt does not parse is still left out, as before.

Tests: picker_drops_old_conversation_past_cutoff_in_standard_acp_mode (it asserted the drop, with a
message that said the opposite) becomes picker_keeps_a_session_older_than_30_days, and a new test
passes a standard ACP session/list page with an old, an older and a new session through
session_picker_entries_from_acp. pi-pager: +1 net (5,657). CHANGELOG.md: one entry under Fixed.
@zy1233

zy1233 commented Oct 31, 2026

Copy link
Copy Markdown
Owner Author

Stack #66, bottom to top: #58, #59, #56, #57, #60, #61, #62, #63, #64, #65. One atomic squash merge (gh stack merge).

Position 6 of 10. Base is not changed (#60). Head 69d6ef4 -> de053f2. The patch is the same (equal patch id).

@zy1233
zy1233 merged commit bd55dd1 into main Oct 31, 2026
8 of 14 checks passed
@zy1233
zy1233 deleted the fix/tui-resume-picker-age-limit branch October 31, 2026 03:17
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