Added the option to save login session credentials#122
Conversation
There was a problem hiding this comment.
Pull request overview
This PR improves MAUI/Uno UI behavior around read-only vault usage and credential handling, while refactoring secure key / native interop types into the Shared layer and enhancing widget persistence.
Changes:
- Add “saved credentials” login flow and UI templates, plus a model for cached credentials in the SDK.
- Enforce read-only mode across browser actions/drag-drop and add UI indicators (badge, toggles).
- Persist health widget state as a richer model (date + severity) and add text previewer UI stats (char count, cursor position).
Reviewed changes
Copilot reviewed 80 out of 119 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/SecureFolderFS.Tests/FileSystemTests/FileSystemCacheTests.cs | Update test call signature for local filesystem retrieval |
| src/Shared/SecureFolderFS.Shared/SecureStore/SecureKey.cs | Move/retarget secure key + P/Invoke usage into Shared namespaces |
| src/Shared/SecureFolderFS.Shared/SecureStore/ManagedKey.cs | Move to Shared namespace; add ManagedKey.Empty |
| src/Shared/SecureFolderFS.Shared/SecureFolderFS.Shared.csproj | Enable unsafe blocks in Shared project |
| src/Shared/SecureFolderFS.Shared/PInvoke/UnsafeNative.cs | Rename/move unsafe native API wrapper into Shared.PInvoke |
| src/Shared/SecureFolderFS.Shared/Extensions/KeyExtensions.cs | Move key extension methods to Shared.Extensions |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Views/Vault/VaultLoginViewModel.cs | Inject additional service; cleanup formatting |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Views/Vault/BrowserViewModel.cs | Block creation/import commands when read-only |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Views/Root/VaultPreviewViewModel.cs | Rename read-only property and update unlock call |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Views/Overlays/VaultItemInfoOverlayViewModel.cs | Whitespace cleanup |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Views/Credentials/CredentialsResetViewModel.cs | Invalidate cached credentials after auth modification |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Views/Credentials/CredentialsConfirmationViewModel.cs | Invalidate cached credentials after auth modification; comment tweak |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Controls/Widgets/Health/HealthWidgetViewModel.cs | Persist/restore health widget date + severity |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Controls/Storage/Browser/BrowserItemViewModel.cs | Block move/copy/rename/delete commands when read-only |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Controls/Previewers/TextPreviewerViewModel.cs | Track character count + cursor position |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Controls/LoginViewModel.cs | Add saved-credentials flow + commands; cache key sequence on unlock |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Controls/Authentication/PersistedAuthenticationViewModel.cs | New auth VM for “use saved credentials” step |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Controls/Authentication/AuthenticationViewModel.cs | Document ProvideCredentials command contract |
| src/Sdk/SecureFolderFS.Sdk/EventArguments/VaultUnlockedEventArgs.cs | Using order cleanup |
| src/Sdk/SecureFolderFS.Sdk/DataModels/HealthDataModel.cs | New widget data model (scan date + severity) |
| src/Sdk/SecureFolderFS.Sdk/AppModels/PersistedCredentialsModel.cs | New in-memory credentials cache model |
| src/Sdk/SecureFolderFS.Sdk.DeviceLink/ViewModels/CredentialViewModel.cs | Remove unused using |
| src/Platforms/SecureFolderFS.Uno/Views/Vault/VaultOverviewPage.xaml.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Uno/Views/Vault/VaultLoginPage.xaml.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Uno/Views/Vault/VaultLoginPage.xaml | Update login header text + wire saved-credential bindings |
| src/Platforms/SecureFolderFS.Uno/Views/Vault/VaultHealthPage.xaml.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Uno/ViewModels/YubiKey/YubiKeyViewModel.cs | Update constants + secure store namespace usage |
| src/Platforms/SecureFolderFS.Uno/ViewModels/WindowsHello/WindowsHelloViewModel.cs | Update constants + secure store namespace usage |
| src/Platforms/SecureFolderFS.Uno/ViewModels/DeviceLink/DeviceLinkViewModel.cs | Remove old secure-store import; add Shared.SecureStore |
| src/Platforms/SecureFolderFS.Uno/UserControls/LoginOptions.xaml.cs | Add DP bindings for saved-credential options/actions |
| src/Platforms/SecureFolderFS.Uno/UserControls/LoginOptions.xaml | Add saved-credential UI actions in flyout |
| src/Platforms/SecureFolderFS.Uno/UserControls/LoginControl.xaml | Add persisted-auth template + selector wiring |
| src/Platforms/SecureFolderFS.Uno/UserControls/Introduction/IntroductionControl.xaml.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Uno/UserControls/Introduction/FileSystemSlide.xaml.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Uno/UserControls/Introduction/AuthenticationSlide.xaml.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Uno/UserControls/InterfaceRoot/VaultPreviewRootControl.xaml | Wire saved-credential bindings + rename read-only binding |
| src/Platforms/SecureFolderFS.Uno/UserControls/FeatureTile.xaml.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Uno/TemplateSelectors/LoginTemplateSelector.cs | Add persisted-auth template selection |
| src/Platforms/SecureFolderFS.Uno/Platforms/Windows/WindowsWebDavFileSystem.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Uno/Platforms/Windows/ServiceImplementation/WindowsApplicationService.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Uno/Platforms/Windows/Helpers/WindowsLifecycleHelper.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Uno/Platforms/Windows/Helpers/WindowsBoundsManager.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Uno/Platforms/Desktop/ViewModels/MacOSBiometricsViewModel.cs | Secure store namespace update; whitespace cleanup |
| src/Platforms/SecureFolderFS.Uno/Platforms/Desktop/ViewModels/MacOSBiometricsCreationViewModel.cs | Secure store namespace update |
| src/Platforms/SecureFolderFS.Uno/Platforms/Desktop/SkiaWebDavFileSystem.MacOS.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Uno/PInvoke/UnsafeNative.Imports.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Uno/App.xaml.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.UI/ViewModels/Authentication/KeyFileViewModel.cs | Update to Shared extensions + Shared secure store |
| src/Platforms/SecureFolderFS.UI/ValueConverters/BaseStringInterpolationConverter.cs | Allow non-string values via ToString() |
| src/Platforms/SecureFolderFS.UI/Strings/en-US/Resources.resx | Add strings for saved creds + text stats |
| src/Platforms/SecureFolderFS.UI/Storage/StorageProperties/RecycleBinItemSizeOfProperty.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.UI/Storage/RecycleBinFolder.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.UI/ServiceImplementation/VaultManagerService.cs | Import cleanup (cryptography namespace) |
| src/Platforms/SecureFolderFS.Maui/Views/Vault/OverviewPage.xaml.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Maui/Views/Vault/OverviewPage.xaml | Add read-only badge w/ platform icons |
| src/Platforms/SecureFolderFS.Maui/Views/Vault/LoginPage.xaml | Add saved-credential UI + option container; layout updates |
| src/Platforms/SecureFolderFS.Maui/Views/Vault/BrowserPage.xaml.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Maui/Views/Vault/BrowserPage.xaml | Bind browser control read-only state |
| src/Platforms/SecureFolderFS.Maui/Views/Modals/Vault/RecycleBinModalPage.xaml | Fix localization parameter usage for toolbar text |
| src/Platforms/SecureFolderFS.Maui/Views/Modals/Vault/FilePreviewModalPage.xaml.cs | Safer modal completion + reuse VLC instances; adjust repeat options |
| src/Platforms/SecureFolderFS.Maui/Views/Modals/Vault/FilePreviewModalPage.xaml | Hide cast button; add editor cursor binding + footer stats UI |
| src/Platforms/SecureFolderFS.Maui/Views/Modals/Vault/BrowserSearchModalPage.xaml.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Maui/Views/Modals/PaymentModalPage.xaml.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Maui/Views/MainPage.xaml.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Maui/UserControls/Widgets/HealthWidget.xaml.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Maui/UserControls/Widgets/AggregatedDataWidget.xaml.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Maui/UserControls/LoginControl.xaml | Add persisted-auth template + selector wiring |
| src/Platforms/SecureFolderFS.Maui/UserControls/HealthScanControl.xaml.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Maui/UserControls/CommandBarControl.xaml.cs | Adjust margin when toolbar on top |
| src/Platforms/SecureFolderFS.Maui/UserControls/Browser/ItemProperty.xaml.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Maui/UserControls/Browser/BrowserControl.xaml.cs | Add bindable IsReadOnly property |
| src/Platforms/SecureFolderFS.Maui/UserControls/Browser/BrowserControl.DragDrop.xaml.cs | Disable drag/drop handlers when read-only |
| src/Platforms/SecureFolderFS.Maui/UserControls/AnimatedRevealLayout.cs | Improve hide easing; measure reveal size reliably |
| src/Platforms/SecureFolderFS.Maui/TemplateSelectors/LoginTemplateSelector.cs | Add persisted-auth template selection |
| src/Platforms/SecureFolderFS.Maui/Popups/CredentialsPopup.xaml.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Maui/Platforms/iOS/ViewModels/IOSBiometricViewModel.cs | Update constants + secure store namespace usage |
| src/Platforms/SecureFolderFS.Maui/Platforms/iOS/ViewModels/IOSBiometricCreationViewModel.cs | Secure store namespace update |
| src/Platforms/SecureFolderFS.Maui/Platforms/iOS/Storage/StorageProperties/IOSSizeOfProperty.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Maui/Platforms/iOS/Storage/StorageProperties/IOSLastModifiedAtProperty.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Maui/Platforms/iOS/Storage/IOSFolder.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Maui/Platforms/iOS/ServiceImplementation/IOSFileExplorerService.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Maui/Platforms/iOS/Handlers/CustomSliderHandler.cs | Use static lambda to avoid capture |
| src/Platforms/SecureFolderFS.Maui/Platforms/Android/ViewModels/AndroidBiometricViewModel.cs | Secure store namespace update |
| src/Platforms/SecureFolderFS.Maui/Platforms/Android/Storage/StorageProperties/AndroidLastModifiedAtProperty.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Maui/Platforms/Android/Storage/AndroidStorable.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Maui/Platforms/Android/Storage/AndroidFile.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Maui/Platforms/Android/ServiceImplementation/VaultForegroundService.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Maui/Platforms/Android/ServiceImplementation/AndroidVaultFileSystemService.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Maui/Platforms/Android/Helpers/DragThresholdTouchListener.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Maui/Platforms/Android/Helpers/AndroidLifecycleHelper.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Maui/Helpers/EasingHelpers.cs | Expand single-line if for clarity |
| src/Platforms/SecureFolderFS.Cli/Program.cs | Whitespace cleanup |
| src/Platforms/SecureFolderFS.Cli/CredentialReader.cs | Use Shared secure store namespace |
| src/Platforms/SecureFolderFS.Cli/Commands/VaultUnmountCommand.cs | Remove trailing whitespace lines |
| src/Platforms/SecureFolderFS.Cli/Commands/VaultRunCommand.cs | Remove trailing whitespace lines |
| src/Platforms/SecureFolderFS.Cli/Commands/VaultMountCommand.cs | Remove trailing whitespace lines |
| src/Platforms/SecureFolderFS.Cli/Commands/VaultInfoCommand.cs | Remove trailing whitespace lines |
| src/Platforms/SecureFolderFS.Cli/Commands/CredsRemoveCommand.cs | Remove trailing whitespace lines |
| src/Platforms/SecureFolderFS.Cli/Commands/CredsChangeCommand.cs | Remove trailing whitespace lines |
| src/Platforms/SecureFolderFS.Cli/Commands/CredsAddCommand.cs | Remove trailing whitespace lines |
| src/Core/SecureFolderFS.Core/VaultAccess/VaultParser.cs | Using order cleanup |
| src/Core/SecureFolderFS.Core/Routines/Operational/UnlockRoutine.cs | Update imports to new crypto/shared secure store split |
| src/Core/SecureFolderFS.Core/Routines/Operational/RecoverRoutine.cs | Update imports to new crypto/shared secure store split |
| src/Core/SecureFolderFS.Core/Routines/Operational/ModifyCredentialsRoutine.cs | Remove old secure-store import |
| src/Core/SecureFolderFS.Core/Routines/Operational/CreationRoutine.cs | Update imports to new crypto/shared secure store split |
| src/Core/SecureFolderFS.Core/Models/SecurityWrapper.cs | Using order cleanup |
| src/Core/SecureFolderFS.Core.Migration/AppModels/MigratorV2_V3.cs | Update constants + secure store namespace usage |
| src/Core/SecureFolderFS.Core.Migration/AppModels/MigratorV1_V2.cs | Update imports to new crypto/shared secure store split |
| src/Core/SecureFolderFS.Core.Cryptography/Security.cs | Using order cleanup |
| src/Core/SecureFolderFS.Core.Cryptography/SecureFolderFS.Core.Cryptography.csproj | Remove unused project reference to Storage |
| src/Core/SecureFolderFS.Core.Cryptography/NameCrypt/AesSivNameCrypt.cs | Using order cleanup |
| src/Core/SecureFolderFS.Core.Cryptography/KeyPair.cs | Move KeyPair namespace + use Shared secure store/extensions |
| src/Core/SecureFolderFS.Core.Cryptography/Helpers/CryptHelpers.cs | Update imports to Shared secure store |
| src/Core/SecureFolderFS.Core.Cryptography/HeaderCrypt/XChaChaHeaderCrypt.cs | Using order cleanup |
| src/Core/SecureFolderFS.Core.Cryptography/HeaderCrypt/NoHeaderCrypt.cs | Remove unused secure-store import |
| src/Core/SecureFolderFS.Core.Cryptography/HeaderCrypt/BaseHeaderCrypt.cs | Using order cleanup |
| src/Core/SecureFolderFS.Core.Cryptography/HeaderCrypt/AesGcmHeaderCrypt.cs | Using order cleanup |
| src/Core/SecureFolderFS.Core.Cryptography/HeaderCrypt/AesCtrHmacHeaderCrypt.cs | Using order cleanup |
| src/Core/SecureFolderFS.Core.Cryptography/ContentCrypt/AesCtrHmacContentCrypt.cs | Using order cleanup |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Agent-Logs-Url: https://github.com/securefolderfs-community/SecureFolderFS/sessions/a546110b-189b-4498-8f4a-511e0a60aea2 Co-authored-by: d2dyno1 <53011783+d2dyno1@users.noreply.github.com>
Fixed the flaky cache stats test by switching to a synchronous progress implementation with thread-safe counters so cache-miss events aren’t dropped. Commit: 82ede12. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
There was a problem hiding this comment.
Pull request overview
This PR tightens MAUI/Uno UI behavior and platform services while adding session-level “saved credentials” login flow, read-only protections, and audio preview support.
Changes:
- Add in-memory persisted credentials flow (new model + new login template) and wire it into login/reset/confirmation paths.
- Extend preview system to support audio (new
AudioPreviewerViewModel, updated carousel/template selector, MAUI modal playback handling). - Refactor vault credentials services (unlock-procedure formatting + platform implementations) and apply read-only guards across browser actions; includes dependency/package updates and cleanup.
Reviewed changes
Copilot reviewed 116 out of 155 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/SecureFolderFS.Tests/ServiceImplementation/MockVaultCredentialsService.cs | Update mock to new BaseVaultCredentialsService login/creation shape. |
| tests/SecureFolderFS.Tests/SecureFolderFS.Tests.csproj | Bump NUnit/test SDK package versions. |
| tests/SecureFolderFS.Tests/FileSystemTests/FileSystemCacheTests.cs | Improve test thread-safety and update API call usage. |
| src/Shared/SecureFolderFS.Shared/SecureStore/SecureKey.cs | Move secure key implementation to Shared namespace + new P/Invoke wrapper usage. |
| src/Shared/SecureFolderFS.Shared/SecureStore/ManagedKey.cs | Add ManagedKey.Empty sentinel and move to Shared secure-store namespace. |
| src/Shared/SecureFolderFS.Shared/SecureFolderFS.Shared.csproj | Enable unsafe blocks for Shared (needed by secure memory ops). |
| src/Shared/SecureFolderFS.Shared/PInvoke/UnsafeNative.cs | Consolidate/rename unsafe native API wrapper into Shared P/Invoke namespace. |
| src/Shared/SecureFolderFS.Shared/Extensions/KeyExtensions.cs | Update extensions to new Shared secure-store namespace. |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Views/Vault/VaultPropertiesViewModel.cs | Use updated FromUnlockProcedureAsync signature to format security text. |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Views/Vault/VaultLoginViewModel.cs | Add DI for IVaultService and minor cleanup for login flow. |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Views/Vault/BrowserViewModel.cs | Block new/import item commands in read-only mode. |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Views/Root/VaultPreviewViewModel.cs | Rename/read-only flag wiring for unlock mode selection. |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Views/Overlays/VaultItemInfoOverlayViewModel.cs | Whitespace cleanup. |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Views/Overlays/PreviewerOverlayViewModel.cs | Include audio in carousel preview selection. |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Views/Credentials/CredentialsResetViewModel.cs | Clear persisted session credentials after credential reset. |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Views/Credentials/CredentialsConfirmationViewModel.cs | Clear persisted session credentials after credential confirmation; wording tweak. |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Controls/Widgets/Health/HealthWidgetViewModel.cs | Persist health widget state as serialized model (date + severity). |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Controls/Storage/Browser/BrowserItemViewModel.cs | Add “open externally” command; enforce read-only restrictions for mutating ops. |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Controls/Previewers/VideoPreviewerViewModel.cs | Reorder InitAsync (no behavioral change). |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Controls/Previewers/TextPreviewerViewModel.cs | Track character count and cursor position for UI display. |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Controls/Previewers/CarouselPreviewerViewModel.cs | Add audio previewer support in carousel. |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Controls/Previewers/AudioPreviewerViewModel.cs | New audio previewer VM using IMediaService.StreamAudioAsync. |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Controls/LoginViewModel.cs | Add persisted-credentials login path, save/discard flow, and new UI-bound flags. |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Controls/Authentication/PersistedAuthenticationViewModel.cs | New auth VM that emits persisted key material for unlock. |
| src/Sdk/SecureFolderFS.Sdk/ViewModels/Controls/Authentication/AuthenticationViewModel.cs | Document ProvideCredentialsAsync command intent. |
| src/Sdk/SecureFolderFS.Sdk/Services/IVaultCredentialsService.cs | Change FromUnlockProcedureAsync to include vaultFolder. |
| src/Sdk/SecureFolderFS.Sdk/Services/IShareService.cs | Add OpenFileWithAsync API for “open in external app”. |
| src/Sdk/SecureFolderFS.Sdk/Services/IMediaService.cs | Add StreamAudioAsync API. |
| src/Sdk/SecureFolderFS.Sdk/SecureFolderFS.Sdk.csproj | Bump CommunityToolkit.Mvvm package version. |
| src/Sdk/SecureFolderFS.Sdk/EventArguments/VaultUnlockedEventArgs.cs | Using-order cleanup. |
| src/Sdk/SecureFolderFS.Sdk/DataModels/HealthDataModel.cs | New health widget persisted payload model. |
| src/Sdk/SecureFolderFS.Sdk/AppModels/PersistedCredentialsModel.cs | New in-memory credential store that disposes replaced/removed keys. |
| src/Sdk/SecureFolderFS.Sdk.GoogleDrive/SecureFolderFS.Sdk.GoogleDrive.csproj | Bump Google Drive SDK package version. |
| src/Sdk/SecureFolderFS.Sdk.Ftp/SecureFolderFS.Sdk.Ftp.csproj | Bump FluentFTP package version. |
| src/Sdk/SecureFolderFS.Sdk.DeviceLink/ViewModels/CredentialViewModel.cs | Remove unused using. |
| src/Sdk/SecureFolderFS.Sdk.DeviceLink/SecureFolderFS.Sdk.DeviceLink.csproj | Bump CommunityToolkit.Mvvm version. |
| src/Sdk/SecureFolderFS.Sdk.Accounts/SecureFolderFS.Sdk.Accounts.csproj | Bump CommunityToolkit.Mvvm version. |
| src/Platforms/SecureFolderFS.Uno/Views/Vault/VaultOverviewPage.xaml.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Uno/Views/Vault/VaultLoginPage.xaml.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Uno/Views/Vault/VaultLoginPage.xaml | Bind lock heading + login options to persisted-credentials state/commands. |
| src/Platforms/SecureFolderFS.Uno/Views/Vault/VaultHealthPage.xaml.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Uno/ViewModels/YubiKey/YubiKeyViewModel.cs | Update constants/secure-store namespace usage. |
| src/Platforms/SecureFolderFS.Uno/ViewModels/WindowsHello/WindowsHelloViewModel.cs | Update constants/secure-store namespace usage and using order. |
| src/Platforms/SecureFolderFS.Uno/ViewModels/DeviceLink/DeviceLinkViewModel.cs | Remove unused using; update secure-store namespace usage. |
| src/Platforms/SecureFolderFS.Uno/UserControls/LoginOptions.xaml.cs | Add DPs for persisted-credentials toggles/commands in login options flyout. |
| src/Platforms/SecureFolderFS.Uno/UserControls/LoginOptions.xaml | Add UI for discarding saved credentials + bind save-credentials option. |
| src/Platforms/SecureFolderFS.Uno/UserControls/LoginControl.xaml | Add template for persisted authentication VM. |
| src/Platforms/SecureFolderFS.Uno/UserControls/Introduction/IntroductionControl.xaml.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Uno/UserControls/Introduction/FileSystemSlide.xaml.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Uno/UserControls/Introduction/AuthenticationSlide.xaml.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Uno/UserControls/InterfaceRoot/VaultPreviewRootControl.xaml | Bind login options to persisted-credentials state and renamed read-only flag. |
| src/Platforms/SecureFolderFS.Uno/UserControls/FeatureTile.xaml.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Uno/TemplateSelectors/LoginTemplateSelector.cs | Add template mapping for persisted authentication VM. |
| src/Platforms/SecureFolderFS.Uno/ServiceImplementation/UnoMediaService.cs | Implement audio streaming API as not supported on Uno. |
| src/Platforms/SecureFolderFS.Uno/Platforms/Windows/WindowsWebDavFileSystem.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Uno/Platforms/Windows/ServiceImplementation/WindowsVaultCredentialsService.cs | Migrate to new BaseVaultCredentialsService login override; update constants usage. |
| src/Platforms/SecureFolderFS.Uno/Platforms/Windows/ServiceImplementation/WindowsApplicationService.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Uno/Platforms/Windows/Helpers/WindowsLifecycleHelper.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Uno/Platforms/Windows/Helpers/WindowsBoundsManager.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Uno/Platforms/Desktop/ViewModels/MacOSBiometricsViewModel.cs | Update secure-store namespace usage + whitespace cleanup. |
| src/Platforms/SecureFolderFS.Uno/Platforms/Desktop/ViewModels/MacOSBiometricsCreationViewModel.cs | Update secure-store namespace usage. |
| src/Platforms/SecureFolderFS.Uno/Platforms/Desktop/SkiaWebDavFileSystem.MacOS.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Uno/Platforms/Desktop/ServiceImplementation/SkiaVaultCredentialsService.cs | Migrate to new BaseVaultCredentialsService login override. |
| src/Platforms/SecureFolderFS.Uno/PInvoke/UnsafeNative.Imports.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Uno/App.xaml.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.UI/ViewModels/Authentication/KeyFileViewModel.cs | Update shared extensions/secure-store namespaces. |
| src/Platforms/SecureFolderFS.UI/ValueConverters/BaseTypeNameBoolConverter.cs | Make converter parameter parsing safer. |
| src/Platforms/SecureFolderFS.UI/ValueConverters/BaseStringInterpolationConverter.cs | Allow interpolating non-string values via ToString(). |
| src/Platforms/SecureFolderFS.UI/Strings/en-US/Resources.resx | Add strings for persisted credentials, external open, and editor status text. |
| src/Platforms/SecureFolderFS.UI/Storage/StorageProperties/RecycleBinItemSizeOfProperty.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.UI/Storage/RecycleBinFolder.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.UI/ServiceImplementation/VaultService.cs | Namespace/type cleanup for AppPlatformVaultOptions. |
| src/Platforms/SecureFolderFS.UI/ServiceImplementation/VaultManagerService.cs | Update cryptography namespace import. |
| src/Platforms/SecureFolderFS.UI/ServiceImplementation/ResourceLocalizationService.cs | Use current culture when fetching resource strings. |
| src/Platforms/SecureFolderFS.UI/ServiceImplementation/BaseVaultCredentialsService.cs | Refactor login retrieval + unlock-procedure formatting; introduce protected login override. |
| src/Platforms/SecureFolderFS.Maui/Views/Vault/OverviewPage.xaml.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Maui/Views/Vault/OverviewPage.xaml | Add read-only badge UI with platform icons. |
| src/Platforms/SecureFolderFS.Maui/Views/Vault/LoginPage.xaml | Add persisted-credentials UX and bottom options container; bind new flags/commands. |
| src/Platforms/SecureFolderFS.Maui/Views/Vault/BrowserPage.xaml.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Maui/Views/Vault/BrowserPage.xaml | Pass read-only state down to browser control. |
| src/Platforms/SecureFolderFS.Maui/Views/Modals/Vault/RecycleBinModalPage.xaml | Fix localization converter parameter for toolbar text. |
| src/Platforms/SecureFolderFS.Maui/Views/Modals/Vault/FilePreviewModalPage.xaml.cs | Add audio template support and extend VLC hookup to audio + reuse existing players. |
| src/Platforms/SecureFolderFS.Maui/Views/Modals/Vault/FilePreviewModalPage.xaml | Add audio preview template; add editor cursor binding + status bar. |
| src/Platforms/SecureFolderFS.Maui/Views/Modals/Vault/BrowserSearchModalPage.xaml.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Maui/Views/Modals/PaymentModalPage.xaml.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Maui/Views/MainPage.xaml.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Maui/UserControls/Widgets/HealthWidget.xaml.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Maui/UserControls/Widgets/AggregatedDataWidget.xaml.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Maui/UserControls/LoginControl.xaml | Add persisted authentication template for MAUI. |
| src/Platforms/SecureFolderFS.Maui/UserControls/HealthScanControl.xaml.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Maui/UserControls/CommandBarControl.xaml.cs | Adjust margin when toolbar is on top. |
| src/Platforms/SecureFolderFS.Maui/UserControls/Browser/ItemProperty.xaml.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Maui/UserControls/Browser/BrowserControl.xaml.cs | Add IsReadOnly bindable property. |
| src/Platforms/SecureFolderFS.Maui/UserControls/Browser/BrowserControl.xaml | Add “Open in external app” context menu item. |
| src/Platforms/SecureFolderFS.Maui/UserControls/Browser/BrowserControl.DragDrop.xaml.cs | Block drag/drop operations in read-only mode. |
| src/Platforms/SecureFolderFS.Maui/UserControls/AnimatedRevealLayout.cs | Improve size measurement + easing for reveal animation. |
| src/Platforms/SecureFolderFS.Maui/TemplateSelectors/PreviewerTemplateSelector.cs | Add audio previewer template selection. |
| src/Platforms/SecureFolderFS.Maui/TemplateSelectors/LoginTemplateSelector.cs | Add persisted authentication template selection. |
| src/Platforms/SecureFolderFS.Maui/ServiceImplementation/MauiShareService.cs | Remove fallback share service (platform services now expected). |
| src/Platforms/SecureFolderFS.Maui/ServiceImplementation/BaseMauiMediaService.cs | Add audio streaming default implementation. |
| src/Platforms/SecureFolderFS.Maui/Resources/Styles/Converters.xaml | Register TypeNameBoolConverter globally for MAUI. |
| src/Platforms/SecureFolderFS.Maui/Popups/CredentialsPopup.xaml.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Maui/Platforms/iOS/ViewModels/IOSBiometricViewModel.cs | Update constants + secure-store namespace usage. |
| src/Platforms/SecureFolderFS.Maui/Platforms/iOS/ViewModels/IOSBiometricCreationViewModel.cs | Update secure-store namespace usage. |
| src/Platforms/SecureFolderFS.Maui/Platforms/iOS/Storage/StorageProperties/IOSSizeOfProperty.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Maui/Platforms/iOS/Storage/StorageProperties/IOSLastModifiedAtProperty.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Maui/Platforms/iOS/Storage/IOSFolder.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Maui/Platforms/iOS/ServiceImplementation/IOSVaultCredentialsService.cs | Migrate to new BaseVaultCredentialsService login override. |
| src/Platforms/SecureFolderFS.Maui/Platforms/iOS/ServiceImplementation/IOSShareService.cs | Add OpenFileWithAsync as not supported on iOS (explicit). |
| src/Platforms/SecureFolderFS.Maui/Platforms/iOS/ServiceImplementation/IOSFileExplorerService.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Maui/Platforms/iOS/Handlers/CustomSliderHandler.cs | Make renderer callback static to avoid capture. |
| src/Platforms/SecureFolderFS.Maui/Platforms/Android/ViewModels/AndroidBiometricViewModel.cs | Update secure-store namespace usage. |
| src/Platforms/SecureFolderFS.Maui/Platforms/Android/Storage/StorageProperties/AndroidLastModifiedAtProperty.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Maui/Platforms/Android/Storage/AndroidStorable.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Maui/Platforms/Android/Storage/AndroidFile.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Maui/Platforms/Android/ServiceImplementation/VaultForegroundService.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Maui/Platforms/Android/ServiceImplementation/ShareContentProvider.cs | Improve streaming robustness + timed registration cleanup for sharing/open-with. |
| src/Platforms/SecureFolderFS.Maui/Platforms/Android/ServiceImplementation/AndroidVaultFileSystemService.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Maui/Platforms/Android/ServiceImplementation/AndroidVaultCredentialsService.cs | Migrate to new BaseVaultCredentialsService login override. |
| src/Platforms/SecureFolderFS.Maui/Platforms/Android/ServiceImplementation/AndroidShareService.cs | Use provider-built content URI; add OpenFileWithAsync. |
| src/Platforms/SecureFolderFS.Maui/Platforms/Android/Helpers/DragThresholdTouchListener.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Maui/Platforms/Android/Helpers/AndroidLifecycleHelper.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Maui/Helpers/EasingHelpers.cs | Minor formatting for readability. |
| src/Platforms/SecureFolderFS.Maui/Extensions/IocExtensions.cs | Stop registering removed fallback MauiShareService. |
| src/Platforms/SecureFolderFS.Cli/Program.cs | Whitespace cleanup. |
| src/Platforms/SecureFolderFS.Cli/CredentialReader.cs | Update secure-store namespace usage. |
| src/Platforms/SecureFolderFS.Cli/Commands/VaultUnmountCommand.cs | Remove trailing whitespace lines. |
| src/Platforms/SecureFolderFS.Cli/Commands/VaultRunCommand.cs | Remove trailing whitespace lines. |
| src/Platforms/SecureFolderFS.Cli/Commands/VaultMountCommand.cs | Remove trailing whitespace lines. |
| src/Platforms/SecureFolderFS.Cli/Commands/VaultInfoCommand.cs | Remove trailing whitespace lines. |
| src/Platforms/SecureFolderFS.Cli/Commands/CredsRemoveCommand.cs | Remove trailing whitespace lines. |
| src/Platforms/SecureFolderFS.Cli/Commands/CredsChangeCommand.cs | Remove trailing whitespace lines. |
| src/Platforms/SecureFolderFS.Cli/Commands/CredsAddCommand.cs | Remove trailing whitespace lines. |
| src/Platforms/SecureFolderFS.Cli/CliVaultCredentialsService.cs | Update CLI credentials service to new BaseVaultCredentialsService login override. |
| src/Platforms/Directory.Packages.props | Bump several platform package versions (CliFx, Sentry, LiveCharts, WinUI.TableView, etc.). |
| src/Core/SecureFolderFS.Core/VaultAccess/VaultParser.cs | Remove old secure-store import and reorder usings. |
| src/Core/SecureFolderFS.Core/Routines/Operational/UnlockRoutine.cs | Update cryptography/secure-store imports. |
| src/Core/SecureFolderFS.Core/Routines/Operational/RecoverRoutine.cs | Update cryptography imports. |
| src/Core/SecureFolderFS.Core/Routines/Operational/ModifyCredentialsRoutine.cs | Remove unused secure-store import. |
| src/Core/SecureFolderFS.Core/Routines/Operational/CreationRoutine.cs | Update cryptography/secure-store imports and using order. |
| src/Core/SecureFolderFS.Core/Models/SecurityWrapper.cs | Remove unused secure-store import and reorder system usings. |
| src/Core/SecureFolderFS.Core.WinFsp/SecureFolderFS.Core.WinFsp.csproj | Bump winfsp.net package version. |
| src/Core/SecureFolderFS.Core.Migration/AppModels/MigratorV2_V3.cs | Update constants/secure-store imports and using order. |
| src/Core/SecureFolderFS.Core.Migration/AppModels/MigratorV1_V2.cs | Update cryptography/secure-store imports. |
| src/Core/SecureFolderFS.Core.Cryptography/Security.cs | Remove secure-store import and reorder usings. |
| src/Core/SecureFolderFS.Core.Cryptography/SecureFolderFS.Core.Cryptography.csproj | Update NSec.Cryptography package version and project references. |
| src/Core/SecureFolderFS.Core.Cryptography/NameCrypt/AesSivNameCrypt.cs | Remove secure-store import and reorder usings. |
| src/Core/SecureFolderFS.Core.Cryptography/KeyPair.cs | Move KeyPair into SecureFolderFS.Core.Cryptography and update imports. |
| src/Core/SecureFolderFS.Core.Cryptography/Helpers/CryptHelpers.cs | Swap secure-store import to Shared secure-store. |
| src/Core/SecureFolderFS.Core.Cryptography/HeaderCrypt/XChaChaHeaderCrypt.cs | Remove secure-store import and reorder usings. |
| src/Core/SecureFolderFS.Core.Cryptography/HeaderCrypt/NoHeaderCrypt.cs | Remove secure-store import. |
| src/Core/SecureFolderFS.Core.Cryptography/HeaderCrypt/BaseHeaderCrypt.cs | Remove unused imports and reorder usings. |
| src/Core/SecureFolderFS.Core.Cryptography/HeaderCrypt/AesGcmHeaderCrypt.cs | Remove secure-store import and reorder usings. |
| src/Core/SecureFolderFS.Core.Cryptography/HeaderCrypt/AesCtrHmacHeaderCrypt.cs | Remove secure-store import and reorder usings. |
| src/Core/SecureFolderFS.Core.Cryptography/ContentCrypt/AesCtrHmacContentCrypt.cs | Remove secure-store import and reorder usings. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.