Skip to content

v2.1.1.0 add native aot fixes, fix localization issues and add german language support #174

Draft
cricketthomas wants to merge 7 commits intomasterfrom
v2.1.2.0-translations-aot-improvements
Draft

v2.1.1.0 add native aot fixes, fix localization issues and add german language support #174
cricketthomas wants to merge 7 commits intomasterfrom
v2.1.2.0-translations-aot-improvements

Conversation

@cricketthomas
Copy link
Copy Markdown
Owner

@cricketthomas cricketthomas commented May 3, 2026

  • add de language support and update resource files for localization (de, es, fr, pt-BR)
  • localize validation error messages and UI labels
  • enhance Settings language selector and introduce NullToBoolConverter
  • add mouse back button support to navigation
  • make AuthService client lazy-initialized to help speed up launch times
  • add DevToolsUno for debug diagnostics
  • add various native AOT enhancements
  • update directory structure and remove redundant directory

Improve time to launch:

This doesnt look like much, but this makes the app actually appear way faster.

image

…(de, es, fr, pt-BR)

- localize validation error messages and UI labels
- enhance Settings language selector and introduce NullToBoolConverter
- add navigation (mouse back button support)
- make AuthService client lazy-initialized to help speed up launch times
- add DevToolsUno for debug diagnostics
- add various native AOT enhancements
- update directory structure and remove redundant directory
@cricketthomas cricketthomas marked this pull request as draft May 3, 2026 17:05
Copy link
Copy Markdown

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 restructures the Uno app into a flatter project layout, expands localization support (including German), and adds several desktop UI/platform features such as status UI, tab handling, external vault dialogs, and publish/build updates. It fits the codebase as a broad app-shell and packaging update touching app UX, persistence, platform startup, and release automation.

Changes:

  • Flatten the Uno project structure and update solution/build/package references to the new layout.
  • Add localization/resource updates, including German support and more localized labels/messages.
  • Introduce new UI/view-model infrastructure for tabs, status bar, subscriptions, dialogs, settings, and desktop/platform behaviors.

Reviewed changes

Copilot reviewed 59 out of 157 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/uno/global.json Bumps root Uno SDK version.
src/uno/Directory.Packages.props Centralizes updated package versions.
src/uno/AzureKeyVaultStudio/msbuild.ps1 Adds Windows packaging helper script.
src/uno/AzureKeyVaultStudio/icon-iOS-Default-1024x1024@1x.png Moves app icon into flattened project.
src/uno/AzureKeyVaultStudio/global.json Removes obsolete nested SDK config.
src/uno/AzureKeyVaultStudio/appsettings.json Adds de to supported languages.
src/uno/AzureKeyVaultStudio/appsettings.development.json Adds de to dev language list.
src/uno/AzureKeyVaultStudio/app.manifest Adds desktop app manifest.
src/uno/AzureKeyVaultStudio/Validations/SecretNameValidationAttribute.cs Adds secret-name validation helper.
src/uno/AzureKeyVaultStudio/UserControls/ViewModels/StatusBarViewModel.cs Adds status bar state/view model.
src/uno/AzureKeyVaultStudio/UserControls/ViewModels/NewVersionViewModel.cs Localizes validation messages.
src/uno/AzureKeyVaultStudio/UserControls/ViewModels/KeyVaultTreeViewModel.cs Refactors tree commands and fetch state.
src/uno/AzureKeyVaultStudio/UserControls/ToolPane.cs Adds simple tool-pane model.
src/uno/AzureKeyVaultStudio/UserControls/TagsEditor.xaml.cs Adds tag editor code-behind.
src/uno/AzureKeyVaultStudio/UserControls/TagsEditor.xaml Adds tag editor UI.
src/uno/AzureKeyVaultStudio/UserControls/StatusBarControl.xaml.cs Adds status bar control setup.
src/uno/AzureKeyVaultStudio/UserControls/StatusBarControl.xaml Adds status bar UI.
src/uno/AzureKeyVaultStudio/UserControls/SharedWindow.xaml.cs Adds shared secondary window behavior.
src/uno/AzureKeyVaultStudio/UserControls/SharedWindow.xaml Adds shared window XAML.
src/uno/AzureKeyVaultStudio/UserControls/OverrideTitlebar.xaml.cs Adds message-driven back navigation.
src/uno/AzureKeyVaultStudio/UserControls/OverrideTitlebar.xaml Adds custom titlebar UI.
src/uno/AzureKeyVaultStudio/UserControls/NewVersionDialog.xaml.cs Adds localized new-version dialog behavior.
src/uno/AzureKeyVaultStudio/UserControls/NewVersionDialog.xaml Localizes dialog labels/tooltips.
src/uno/AzureKeyVaultStudio/UserControls/NewItem.xaml.cs Adds new-item host/control behavior.
src/uno/AzureKeyVaultStudio/UserControls/NewItem.xaml Localizes new-item UI.
src/uno/AzureKeyVaultStudio/UserControls/KeyVaultTree.xaml.cs Guards tree refresh and updates commands.
src/uno/AzureKeyVaultStudio/UserControls/KeyVaultTree.xaml Passes whole tree node as command parameter.
src/uno/AzureKeyVaultStudio/UserControls/ItemDetails.xaml.cs Localizes dialog titles/buttons.
src/uno/AzureKeyVaultStudio/UserControls/ItemDetails.xaml Localizes properties labels.
src/uno/AzureKeyVaultStudio/UserControls/ExternalVaultItemDialog.xaml.cs Cleans unused handler.
src/uno/AzureKeyVaultStudio/UserControls/ExternalVaultItemDialog.xaml Uses localized item type template.
src/uno/AzureKeyVaultStudio/UserControls/ExternalVaultDialog.xaml.cs Adds external vault dialog behavior.
src/uno/AzureKeyVaultStudio/UserControls/ExternalVaultDialog.xaml Adds external vault dialog UI.
src/uno/AzureKeyVaultStudio/Strings/pt-BR/Resources.resw Adds more Portuguese UI strings.
src/uno/AzureKeyVaultStudio/Strings/fr/Resources.resw Adds more French UI strings.
src/uno/AzureKeyVaultStudio/Strings/es/Resources.resw Adds more Spanish UI strings.
src/uno/AzureKeyVaultStudio/Strings/en/Resources.resw Adds more English UI strings.
src/uno/AzureKeyVaultStudio/Strings/Resources.resx Adds resource-backed validation strings.
src/uno/AzureKeyVaultStudio/Strings/Resources.pt-BR.resx Adds Portuguese validation strings.
src/uno/AzureKeyVaultStudio/Strings/Resources.fr.resx Adds French validation strings.
src/uno/AzureKeyVaultStudio/Strings/Resources.es.resx Adds Spanish validation strings.
src/uno/AzureKeyVaultStudio/Strings/Resources.de.resx Adds German validation strings.
src/uno/AzureKeyVaultStudio/Strings/Resources.Designer.cs Generated strongly typed resources.
src/uno/AzureKeyVaultStudio/Services/MacOSKeyChainService.cs Adds macOS keychain integration.
src/uno/AzureKeyVaultStudio/Services/LocalSettingsService.cs Adds source-gen JSON settings support.
src/uno/AzureKeyVaultStudio/Services/ILocalSettingsService.cs Introduces local settings abstraction.
src/uno/AzureKeyVaultStudio/Services/DatabaseEncryptedPasswordManager.cs Adds encrypted DB password management.
src/uno/AzureKeyVaultStudio/Services/AuthService.cs Makes MSAL client lazy-initialized.
src/uno/AzureKeyVaultStudio/ReadMe.md Adds Uno template readme.
src/uno/AzureKeyVaultStudio/Properties/launchSettings.json Adds launch profiles.
src/uno/AzureKeyVaultStudio/Properties/PublishProfiles/win-x86.pubxml Adds x86 publish profile.
src/uno/AzureKeyVaultStudio/Properties/PublishProfiles/win-x64.pubxml Adds x64 publish profile.
src/uno/AzureKeyVaultStudio/Properties/PublishProfiles/win-arm64.pubxml Adds arm64 publish profile.
src/uno/AzureKeyVaultStudio/Presentation/ViewModels/TabsControlViewModel.cs Adds tab-management view model.
src/uno/AzureKeyVaultStudio/Presentation/ViewModels/PasswordGeneratorViewModel.cs Adds password generator VM.
src/uno/AzureKeyVaultStudio/Presentation/ViewModels/ExternalVaultItemDialogViewModel.cs Localizes external item lookup choices.
src/uno/AzureKeyVaultStudio/Presentation/ViewModels/ExternalVaultDialogViewModel.cs Adds external vault lookup VM.
src/uno/AzureKeyVaultStudio/Presentation/TabsModels/VaultTabContainer.cs Adds vault tab container model.
src/uno/AzureKeyVaultStudio/Presentation/TabsModels/PasswordGeneratorTab.cs Adds password-generator tab model.
src/uno/AzureKeyVaultStudio/Presentation/TabsModels/ITabContainer.cs Adds base tab container abstraction.
src/uno/AzureKeyVaultStudio/Presentation/TabsControl.xaml.cs Wires external dialog launch.
src/uno/AzureKeyVaultStudio/Presentation/SubscriptionsPage.xaml.cs Adds subscriptions page logic.
src/uno/AzureKeyVaultStudio/Presentation/SubscriptionViewModel.cs Adds subscription loading/save workflow.
src/uno/AzureKeyVaultStudio/Presentation/ShellViewModel.cs Adds shell logout navigation handling.
src/uno/AzureKeyVaultStudio/Presentation/Shell.xaml.cs Adds mouse back-button messaging.
src/uno/AzureKeyVaultStudio/Presentation/Shell.xaml Adds shell splash/notification UI.
src/uno/AzureKeyVaultStudio/Presentation/SettingsPage.xaml.cs Adds settings page code-behind.
src/uno/AzureKeyVaultStudio/Presentation/SettingsPage.xaml Improves bindings and language selector.
src/uno/AzureKeyVaultStudio/Presentation/SecondPage.xaml.cs Adds sample/extra page stub.
src/uno/AzureKeyVaultStudio/Presentation/SecondPage.xaml Adds sample/extra page UI.
src/uno/AzureKeyVaultStudio/Presentation/PasswordGeneratorPage.xaml.cs Adds password generator page logic.
src/uno/AzureKeyVaultStudio/Presentation/PasswordGeneratorPage.xaml Tweaks password generator layout.
src/uno/AzureKeyVaultStudio/Presentation/MainViewModel.cs Adds main shell split-view state.
src/uno/AzureKeyVaultStudio/Presentation/MainPage.xaml.cs Adds main page window-close persistence.
src/uno/AzureKeyVaultStudio/Presentation/MainPage.xaml Adds main app layout and status bar.
src/uno/AzureKeyVaultStudio/Presentation/LoginViewModel.cs Adds login flow view model.
src/uno/AzureKeyVaultStudio/Presentation/LoginPage.xaml.cs Adds login page code-behind.
src/uno/AzureKeyVaultStudio/Presentation/LoginPage.xaml Adds login page UI.
src/uno/AzureKeyVaultStudio/Platforms/Desktop/Program.cs Adds desktop host entry point.
src/uno/AzureKeyVaultStudio/Package.appxmanifest Bumps package version.
src/uno/AzureKeyVaultStudio/Models/SubscriptionDataItemModel.cs Adds subscription row model.
src/uno/AzureKeyVaultStudio/Models/KeyVaultValuesAmalgamation.cs Adds item type option model.
src/uno/AzureKeyVaultStudio/Models/KeyVaultResourcePlaceholder.cs Adds placeholder key-vault resource.
src/uno/AzureKeyVaultStudio/Models/KeyVaultModel.cs Adds tree node model hierarchy.
src/uno/AzureKeyVaultStudio/Models/FilterService.cs Adds tree/item filtering helpers.
src/uno/AzureKeyVaultStudio/Models/CustomTokenCredential.cs Adds custom token credential wrapper.
src/uno/AzureKeyVaultStudio/Models/Constants.cs Centralizes app constants and paths.
src/uno/AzureKeyVaultStudio/Models/AuthenticatedUserClaims.cs Adds auth claims model.
src/uno/AzureKeyVaultStudio/Models/AppConfig.cs Adds app/project URL config records.
src/uno/AzureKeyVaultStudio/Messages/VaultItemCountRequestMessage.cs Adds item count request message.
src/uno/AzureKeyVaultStudio/Messages/VaultItemCountChangedMessage.cs Adds item count update message.
src/uno/AzureKeyVaultStudio/Messages/TogglePaneMessage.cs Adds pane toggle message.
src/uno/AzureKeyVaultStudio/Messages/ShowValidationErrorMessage.cs Adds validation error message type.
src/uno/AzureKeyVaultStudio/Messages/ShowSuccessOperationMessage.cs Adds success message type.
src/uno/AzureKeyVaultStudio/Messages/SendInAppNotificationMessage.cs Adds in-app notification message.
src/uno/AzureKeyVaultStudio/Messages/PinKeyVaultMessage.cs Adds pin-vault message.
src/uno/AzureKeyVaultStudio/Messages/PaneStateChangedMessage.cs Adds pane state message.
src/uno/AzureKeyVaultStudio/Messages/OpenItemDetailsWindowMessage.cs Adds open-details message.
src/uno/AzureKeyVaultStudio/Messages/Messages.cs Adds navigation-back message.
src/uno/AzureKeyVaultStudio/Messages/CreateSecretMessage.cs Adds create-secret message.
src/uno/AzureKeyVaultStudio/Messages/CloseWindowMessage.cs Adds close-window message.
src/uno/AzureKeyVaultStudio/Messages/AuthenticationStateChangedEvent.cs Adds auth state messages.
src/uno/AzureKeyVaultStudio/Messages/AddTabMessage.cs Adds add-tab message.
src/uno/AzureKeyVaultStudio/Messages/AddDocumentMessage.cs Adds add-document message.
src/uno/AzureKeyVaultStudio/Info.plist Adds macOS plist metadata.
src/uno/AzureKeyVaultStudio/Helpers/PasswordGeneratorHelper.cs Adds password generation helper.
src/uno/AzureKeyVaultStudio/Helpers/CrypoRandom.cs Adds cryptographic random helper.
src/uno/AzureKeyVaultStudio/GlobalUsings.cs Adds shared global usings.
src/uno/AzureKeyVaultStudio/Extensions/StringExtensions.cs Adds string-to-byte helpers.
src/uno/AzureKeyVaultStudio/Extensions/EnumToBoolConverter.cs Adds null-to-bool converter.
src/uno/AzureKeyVaultStudio/Extensions/DateTimeFormatConverter.cs Adds date formatting converter.
src/uno/AzureKeyVaultStudio/Exceptions/KvExceptions.cs Adds custom exception types.
src/uno/AzureKeyVaultStudio/Directory.Packages.props Removes obsolete nested CPM file.
src/uno/AzureKeyVaultStudio/Directory.Build.targets Removes obsolete nested build targets.
src/uno/AzureKeyVaultStudio/Directory.Build.props Removes obsolete nested build props.
src/uno/AzureKeyVaultStudio/Database/Subscriptions.cs Adds subscriptions persistence model.
src/uno/AzureKeyVaultStudio/Database/QuickAccess.cs Adds quick-access persistence model.
src/uno/AzureKeyVaultStudio/AzureKeyVaultStudio.slnx Updates nested solution entry.
src/uno/AzureKeyVaultStudio/AzureKeyVaultStudio.csproj Updates project languages, resources, packages.
src/uno/AzureKeyVaultStudio/Assets/SharedAssets.md Adds Uno asset notes.
src/uno/AzureKeyVaultStudio/Assets/CustomCompactStyles.xaml Adds custom compact styles.
src/uno/AzureKeyVaultStudio/App.xaml.cs Expands app startup/logging/devtools flow.
src/uno/AzureKeyVaultStudio/App.xaml Registers new converters.
src/uno/AzureKeyVaultStudio/.vsconfig Removes nested VS config.
src/uno/AzureKeyVaultStudio/.vscode/tasks.json Removes nested VS Code tasks.
src/uno/AzureKeyVaultStudio/.vscode/settings.json Removes nested VS Code settings.
src/uno/AzureKeyVaultStudio/.vscode/launch.json Removes nested VS Code launch config.
src/uno/AzureKeyVaultStudio/.vscode/extensions.json Removes nested VS Code extensions config.
src/uno/AzureKeyVaultStudio/.run/Readme.md Removes nested Rider note.
src/uno/AzureKeyVaultStudio/.run/AzureKeyVaultStudio.run.xml Removes nested Rider run config.
src/uno/AzureKeyVaultStudio/.gitattributes Removes nested git attributes file.
src/uno/AzureKeyVaultStudio/.editorconfig Removes nested editor config.
src/uno/AzureKeyVaultStudio.slnx Repoints root solution to flattened csproj.
README.md Fixes icon path and wording.
.github/workflows/uno-dotnet.yml Updates CI paths and versioning.
Files not reviewed (1)
  • src/uno/AzureKeyVaultStudio/Strings/Resources.Designer.cs: Language not supported
Comments suppressed due to low confidence (1)

src/uno/AzureKeyVaultStudio/AzureKeyVaultStudio.csproj:68

  • PublishReadyToRun is set to true here but then reset to false three lines later in the same property group, so the new optimization never actually takes effect for the default Windows build. This makes the PR’s startup/perf change ineffective unless every caller overrides the property on the command line.

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

Comment on lines +6 to +8
msbuild .\AzureKeyVaultStudio.csproj /t:Restore,Build /r /p:TargetFramework='net10.0-windows10.0.26100' /p:Configuration=Release /p:Platform=x64 /p:GenerateAppxPackageOnBuild=true /p:AppxBundle=Never /p:UapAppxPackageBuildMode=StoreUpload /p:AppxManifestIdentityVersion=$BuildNumber /p:AppxPackageDir="C:\temp\output\$BuildNumber";

return
add one way to tree view
fix issue with tree view refresh running 3x on startup
remove unused code
…ricketthomas/AzureKeyVaultExplorer into v2.1.2.0-translations-aot-improvements
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