Repository navigation
Stage J finish, step 2: pages use AppServices instead of window forwards - #124
Merged
Merged
Conversation
The Online and workspace pages now call the services directly where the window only passed a call through: - the selected repository: RepositoryService.Selected; - theme brushes: ThemeTokens with AppearanceService.ThemeKey (a page helper); - reduced animations: AppearanceService.ReduceAnimations (now set right after the window's XAML, before any page could ask); - the folder and file pickers and opening folders, file locations and links: moved unchanged from the window into DialogService (the window attaches its handle and keeps one-line forwards for its own callers). Removed from IOnlineHost (47 -> 42): GetAppThemeBrush, ShouldReduceAnimations, PickFolderAsync, OpenExternalUrlAsync, GetSelectedRepository. Removed from IWorkspaceHost (77 -> 70): GetAppThemeBrush, ShouldReduceAnimations, GetSelectedRepository, PickFolderAsync, PickFileAsync, OpenDirectory, OpenFileLocation. IShortcutOverlayActions (22) has no pure forwards to an existing service. No behaviour change; the Online and workspace screenshots match. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Step 2 of finishing stage J (
docs/development/UI-Structure-Plan.md): the Online and workspace pages callAppServicesdirectly instead of going through window forwards. Behaviour is unchanged.RepositoryService.Selectedinstead of the window's forward.ThemeTokenslookup the window used.AppearanceService.ReduceAnimations. The window's setting now reaches the service right after its XAML loads, so it's set before any page could ask.DialogService. The window passes its handle to the service and keeps one-line forwards for its own callers. The only edit is argument order: the message helper now takes the title first.Members removed
IOnlineHost47 → 42:GetAppThemeBrush,ShouldReduceAnimations,PickFolderAsync,OpenExternalUrlAsync,GetSelectedRepository.IWorkspaceHost77 → 70:GetAppThemeBrush,ShouldReduceAnimations,GetSelectedRepository,PickFolderAsync,PickFileAsync,OpenDirectory,OpenFileLocation.IShortcutOverlayActionsstays at 22: none of its members is a pure forward to an existing service.Densityis a window field that reaches the service in a separate step, so removing it could change the value briefly.Test plan
scripts\test-all.ps1on the final commit: 1,788 Core tests, Release build 0 warnings, Core coverage 94.0% line / 88.2% branchusinglines it found were removed)🤖 Generated with Claude Code