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
Draft
v2.1.1.0 add native aot fixes, fix localization issues and add german language support #174cricketthomas wants to merge 7 commits intomasterfrom
v2.1.1.0 add native aot fixes, fix localization issues and add german language support #174cricketthomas wants to merge 7 commits intomasterfrom
Conversation
…(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
There was a problem hiding this comment.
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
PublishReadyToRunis set totruehere but then reset tofalsethree 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
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.
Improve time to launch:
This doesnt look like much, but this makes the app actually appear way faster.