Skip to content

Add chronological shell navigation history model - #154

Draft
Hawkynt wants to merge 3 commits into
mainfrom
feat/investigation-navigation-history
Draft

Add chronological shell navigation history model#154
Hawkynt wants to merge 3 commits into
mainfrom
feat/investigation-navigation-history

Conversation

@Hawkynt

@Hawkynt Hawkynt commented Sep 3, 2026

Copy link
Copy Markdown
Owner

What changed

  • Adds a small desktop-shell session-history model with browser-style Back/Forward semantics.
  • Stores full ProcessKey values in process locations so PID reuse can never redirect a replayed history entry to a different process.
  • Separates Push (new visit) from Replace (state change within the current visit), allowing process-row selection to be remembered without turning every arrow-key move into another Back step.
  • Adds a structural breadcrumb model kept deliberately separate from visited history.
  • Adds focused nUnit coverage for chronological traversal, forward-branch truncation, duplicate suppression, replace-state behavior, reused-PID identity, and breadcrumb shape.

Design

Behavior was derived clean-room from public platform documentation: browser session history supplies the chronological Back/Forward model, while breadcrumb guidance supplies the separate structural-path model. No external implementation code was copied or adapted, and no dependencies were added.

This is the first coherent slice of the navigation feature. The follow-up commits on this draft PR will wire the model through the existing ShellNavigator/MainWindow seam, add Back/Forward and breadcrumb commands, restore an exact process selection on replay, and extend capture regression coverage.

Validation

The branch was created from current main commit 134a44645910b664521d9b53a5c3098eaf0f65b7. CI is intentionally left to the PR workflow because this environment does not currently provide a usable local .NET SDK.

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