Skip to content

Favorites: o opens an exact favorite directly#61

Merged
Tannex merged 5 commits into
mainfrom
favorites-open-direct
Jul 20, 2026
Merged

Favorites: o opens an exact favorite directly#61
Tannex merged 5 commits into
mainfrom
favorites-open-direct

Conversation

@Tannex

@Tannex Tannex commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Closes #57. Stacked on #60#59#55…; retarget as the chain merges.

o in the favorites popup opens the selected favorite instead of only filtering by it:

  • The existing jump fetch runs with the DSN queued on a new one-shot workspace.autoOpen; when the data set listing lands, the row is selected (pager.selectKey) and the standard openSelection path runs — so PS goes to records, PO/PO-E to the member list, a migrated data set gets the press-R-to-recall suggestion, unsupported DSORGs warn, and the Local usage tracking: data set opens and executed jq queries #58 usage log records the open, all through the one code path.
  • The queue is consumed exactly once, whatever the listing outcome (error, end-of-results, or a result for an inactive profile), so a stale auto-open can never fire on a later manual browse.
  • A favorite whose data set no longer exists degrades to the filtered (empty) listing with a WARN naming the favorite.
  • Pattern favorites keep the set-as-filter behavior on o (nothing unambiguous to open); enter jump is unchanged.

Tests cover the direct open (screen, fetched records, MRU touch), the missing-data-set warning, the pattern degradation, and the migrated-recall suggestion. Demo-mode terminal run confirms fFo lands on the records screen with the auto-applied copybook and the open event in events.jsonl.

🤖 Generated with Claude Code

https://claude.ai/code/session_01CS2LZMn2YJdebAiry2jzdP

Tannex and others added 4 commits July 19, 2026 23:57
Applying a favorite only set it as the prefix filter, costing an extra
keypress for the common case of jumping into one data set. The popup's
o action runs the same jump fetch with the data set queued for
auto-open: when the listing lands, the row is selected and the normal
openSelection path runs, so PS/PO routing, the migrated-recall
suggestion, and usage tracking all apply unchanged. A favorite whose
data set no longer exists warns instead of opening; pattern favorites
have nothing unambiguous to open and degrade to the filter jump.

Closes #57

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CS2LZMn2YJdebAiry2jzdP
The queue was consumed by whichever data set listing next passed
acceptBrowse: a prefix change, refresh, or back-navigation issued
between pressing o and the listing landing could fire the stale open
against an unrelated listing (or emit a spurious not-found warning),
and a zero-budget jump armed the queue with no fetch at all. The queue
now carries the browse generation that armed it — results from any
other generation clear it without firing — and only arms when the jump
actually dispatched. A listing that lands for a backgrounded profile
selects the favorite's row instead of dropping the open silently.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CS2LZMn2YJdebAiry2jzdP
Base automatically changed from favorites-pattern-editor to main July 20, 2026 06:24
@Tannex
Tannex merged commit ed7bd16 into main Jul 20, 2026
@Tannex
Tannex deleted the favorites-open-direct branch July 20, 2026 06:25
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.

Favorites: open directly instead of only set-as-filter

1 participant