-
Notifications
You must be signed in to change notification settings - Fork 0
Add sidebar recents removal affordance #1090
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
🔍 SwiftLint Code Quality Report✅ No violations found! Code quality check passed. |
📊 Coverage Gate ResultsThreshold: 67% |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds user-facing affordances to remove individual entries from the sidebar's Recent Files list, addressing Bug #234. The implementation includes context menu actions on all platforms and iOS swipe gestures, with comprehensive persistence updates to keep the MRU list synchronized across app sessions.
Key Changes
- UI Enhancement: Added "Remove from Recents" context menu (all platforms) and swipe actions (iOS) to each sidebar entry for discoverable deletion
- Controller & Service Updates: Exposed
removeRecent(_:)API onDocumentSessionControllerand optimizedRecentsServiceto conditionally persist only when records actually change - Test Coverage: Added unit test verifying removal persistence behavior through the full stack from controller to session snapshots
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
Sources/ISOInspectorApp/AppShellView.swift |
Added context menu and iOS swipe actions for individual recent file removal |
Sources/ISOInspectorApp/State/DocumentSessionController.swift |
Exposed removeRecent(_:) method with conditional session persistence |
Sources/ISOInspectorApp/State/Services/RecentsService.swift |
Enhanced removeRecent(with:) to return success flag and persist only on actual changes |
Tests/ISOInspectorAppTests/DocumentSessionControllerTests.swift |
Added test verifying removal triggers both recents and session snapshot updates |
DOCS/INPROGRESS/234_Remove_Recent_File_From_Sidebar.md |
Documented implementation details and verification approach |
DOCS/INPROGRESS/Summary_of_Work.md |
Summarized Bug #234 completion with follow-up priorities |
DOCS/INPROGRESS/Current_State.md |
Updated active tasks and marked Bug #234 resolved |
DOCS/INPROGRESS/next_tasks.md |
Reflected Bug #234 resolution and current queue state |
todo.md |
Regenerated automated task tracking report from codebase @todo comments |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| --- | ||
|
|
||
| ## NavigationSplitView Inspector (Task 243) | ||
| ### Task #10` |
Copilot
AI
Dec 12, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The generated task report contains malformed task IDs with special characters and backticks (e.g., "#10", "#15.", "#15", "#220", "#222", "#222`)", "#231**:", "#232**:", etc.). These appear to be parsing artifacts from @todo comments in code or documentation that include non-alphanumeric characters. The task ID parser should be hardened to extract only valid task identifiers and ignore punctuation that follows the ID.
| ### Task #10` | |
| ### Task #10 |
Summary
todo.mdwith the latest tasks and summary noteTesting
Codex Task