Skip to content

Conversation

@d2dyno1
Copy link
Member

@d2dyno1 d2dyno1 commented Nov 10, 2025

No description provided.

@d2dyno1 d2dyno1 requested a review from Copilot November 10, 2025 01:11
Copy link

Copilot AI left a 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 refactors various components to improve maintainability, error handling, and internationalization. The key changes include simplifying collision detection logic, standardizing error message handling with proper fallback values, adding a WipeAsync method to property stores for batch clearing, and enhancing Google Drive integration with full authentication and connection management.

  • Simplified CollisionHelpers.GetAvailableName to accept string names instead of storage objects, improving API design
  • Changed ResultExtensions methods to require non-null fallback values and support nullable result parameters
  • Added WipeAsync method to IPropertyStore interface with implementations across all database models and platform-specific stores
  • Implemented Google Drive authentication, connection management, and credential persistence using OAuth2

Reviewed Changes

Copilot reviewed 37 out of 37 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
CollisionHelpers.cs Refactored to accept string names instead of IStorable objects
ResultExtensions.cs Made fallback parameters mandatory and removed default "Unknown error" strings
IPropertyStore.cs Added WipeAsync method to interface
RecoveryWizardViewModel.cs Removed unused IThreadingService injection
VaultLoginViewModel.cs Added DEBUG preprocessor directive and cleanup of NavigationRequested handler
VaultHealthViewModel.cs Removed redundant Enums. prefix
VaultHealthReportViewModel.cs Added synchronization context for thread-safe property updates
BrowserViewModel.cs Updated to use item.Name instead of full IStorable object
VaultViewModel.cs Reordered using statements (System namespaces last)
HealthIssueViewModel.cs Replaced Icon property with IsFolder flag and localized error messages
BrowserItemViewModel.cs Updated to use item.Name for collision detection
LoginViewModel.cs Reordered using statements
UpdateBannerViewModel.cs Updated to use localized fallback
ErrorViewModel.cs Updated to use localized fallbacks for error messages
ValidationHelpers.cs Updated to use localized fallback
SingleFileDatabaseModel.cs Implemented WipeAsync to clear database file
BatchDatabaseModel.cs Implemented WipeAsync to delete all items
BaseDatabaseModel.cs Added abstract WipeAsync method
GDriveAccountViewModel.cs Implemented full OAuth2 authentication and connection management
PropertyDataStore.cs New adapter for Google APIs IDataStore using IPropertyStore
AccountViewModel.cs Made propertyStore non-nullable
VaultLoginPage.xaml.cs Removed OnNavigatingFrom and reordered event unsubscription
VaultHealthPage.xaml.cs Enhanced keyboard navigation for health issue editing
VaultHealthPage.xaml Added UI improvements for health report display
LoginControl.xaml Added TextWrapping to title text
MainAppHostControl.xaml Added unlock icon for vault items
MigrationDialog.xaml.cs Updated to use localized fallback
HealthNameIssueViewModel.cs Localized error messages
HealthDirectoryIssueViewModel.cs Localized error messages
Resources.resx Added new localization strings
VaultHealthService.cs Removed Icon assignments and localized messages
HealthPage.xaml Updated button text to "Repair all"
MauiPropertyStoreService.cs Implemented WipeAsync using RemoveAll
MauiAccountService.cs Added Google Drive account support
SecureFolderFS.Maui.csproj Added reference to GoogleDrive SDK project
CreationRoutine.cs Reordered using statements
DokanyFileSystem.cs Added 500ms delay before returning mounted folder

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@d2dyno1 d2dyno1 changed the title Health report page improvements Upgraded to .NET 10 Nov 13, 2025
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.

2 participants