Skip to content

Conversation

@multiplex55
Copy link
Owner

Motivation

  • Pinned history entries should refer to stable action identifiers (and args) rather than transient display text so pins remain resolvable across data/label changes.
  • Provide an easy way to pin the currently shown query result and to refresh pinned metadata when plugins/data change.
  • Surface missing or removed pinned items in the UI and allow users to unpin or replace them.

Description

  • Change pin storage and identity to use action_id + args and add helper methods on HistoryPin (matches_action, matches_id, update_from_action).
  • Add persistent pin management APIs in src/history.rs: upsert_pin, remove_pin, and recompute_pins (returns PinRecomputeReport), and adjust PartialEq for HistoryPin to use the new identity.
  • Extend the command history widget (src/dashboard/widgets/command_history.rs) to resolve pinned entries against current actions/plugins/data, mark missing pins, and expose an Unpin affordance for missing entries.
  • Add result-context pin actions in the main UI (src/gui/mod.rs): Pin current query result, Unpin result, Replace pin with current result, and Recompute pinned results, plus resolve_pin_action and pin_result_menu helpers integrated into existing result context menus.
  • Add unit tests around pin behavior in src/history.rs (see test names below).

Testing

  • Added unit tests in src/history.rs: pin_roundtrip_and_toggle (existing), pin_identity_uses_action_id_and_args, and upsert_and_recompute_pins to validate identity, upsert, recompute and remove semantics.
  • No automated test suite was executed in this rollout (tests were added but not run locally as part of this change).

Codex Task

@multiplex55 multiplex55 merged commit 128867f into master Jan 17, 2026
1 check passed
@multiplex55 multiplex55 deleted the codex/locate-pinned-results-implementation-and-add-actions branch January 17, 2026 20:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants