Skip to content

Develop - Version 1.2.1.0 - #7

Merged
TheMysteriousStranger90 merged 2 commits into
masterfrom
develop
Nov 25, 2025
Merged

Develop - Version 1.2.1.0#7
TheMysteriousStranger90 merged 2 commits into
masterfrom
develop

Conversation

@TheMysteriousStranger90

Copy link
Copy Markdown
Owner

This pull request introduces a rebranding of the application from "Azure Speech" to "AzioSpeech" and improves the initialization and settings logic, particularly around Azure credentials and status messaging. It also adds a new method for opening Windows microphone privacy settings and refines the user experience by making status messages and credential checks more robust and informative.

Rebranding and Naming Updates:

  • Changed all references of "Azure Speech" to "AzioSpeech" throughout the project, including assembly name, product name, description, and transcript directory paths. (.github/workflows/dotnet-desktop.yml, AzureSpeechProject.csproj, FileConstants.cs) [1] [2] [3] [4] [5]

Settings and Credential Management Improvements:

  • Added a new reactive property AreCredentialsSaved to SettingsViewModel, which tracks whether the Azure credentials are both entered and match the saved settings. This property is updated reactively and used to determine application readiness. [1] [2] [3] [4]
  • Refined the logic for loading and checking credentials in SettingsViewModel, ensuring that the status accurately reflects whether credentials are saved and valid. [1] [2]
  • Updated MainWindowViewModel to use AreCredentialsSaved for status updates, resulting in more accurate and user-friendly status messages regarding credential configuration. [1] [2]

Initialization and Status Messaging Enhancements:

  • Refactored the initialization sequence in MainWindowViewModel to load settings first, then check microphone and internet access, and update the UI status accordingly. This makes the startup flow more robust and informative.
  • Simplified and clarified status messages throughout the application, removing emoji and making error states more consistent and professional. [1] [2] [3]

Microphone Permission Service Update:

  • Added a new method OpenPrivacySettingsAsync to IMicrophonePermissionService and its implementation, allowing the app to programmatically open the Windows microphone privacy settings for the user. [1] [2] [3]

These changes collectively improve the user experience, reliability, and maintainability of the application under its new branding.

References:
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17]

Copilot AI review requested due to automatic review settings November 25, 2025 15:35
@TheMysteriousStranger90 TheMysteriousStranger90 added the enhancement New feature or request label Nov 25, 2025
@TheMysteriousStranger90
TheMysteriousStranger90 merged commit ee2fe98 into master Nov 25, 2025
9 of 10 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request rebrands the application from "Azure Speech" to "AzioSpeech" and significantly refactors the initialization and settings management to improve reliability and user experience. The changes introduce a reactive AreCredentialsSaved property that tracks credential state, refactors the initialization flow to load settings first before checking system requirements, and simplifies status messages throughout the application.

Key Changes:

  • Rebranding from "Azure Speech" to "AzioSpeech" across UI, documentation, and file paths
  • Introduction of AreCredentialsSaved reactive property for robust credential state tracking
  • Refactored initialization sequence to load settings before checking microphone/internet access
  • Added OpenPrivacySettingsAsync method to help users grant microphone permissions
  • Simplified and professionalized status messages by removing emoji

Reviewed changes

Copilot reviewed 9 out of 19 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
README.md Updated branding to AzioSpeech, added new screenshots and Microsoft Store badge
AzureSpeechProject/Views/MainWindow.axaml Updated window title and status bar text to reflect new branding and developer attribution
AzureSpeechProject/ViewModels/SettingsViewModel.cs Added AreCredentialsSaved property with reactive tracking and credential validation logic
AzureSpeechProject/ViewModels/MainWindowViewModel.cs Refactored initialization to sequential flow, improved status message logic based on credential state
AzureSpeechProject/Services/MicrophonePermissionService.cs Added method to open Windows microphone privacy settings
AzureSpeechProject/Services/IMicrophonePermissionService.cs Added interface method for opening privacy settings
AzureSpeechProject/Constants/FileConstants.cs Updated transcript directory path to use new brand name
AzureSpeechProject/AzureSpeechProject.csproj Updated assembly name, version to 1.2.1.0, and product metadata
.gitignore Expanded patterns for better IDE and build artifact exclusion (with duplication issue)
Screenshots/Screen6.png New screenshot added (binary file)
Screenshots/Screen7.png New screenshot added (binary file)

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

You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.

public static readonly string TranscriptsDirectory = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
"Azure Speech Services",
"Azio Speech",

Copilot AI Nov 25, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent branding: The directory name is "Azio Speech" (with a space) but the product is being rebranded to "AzioSpeech" (no space) based on the README, MainWindow title, and project metadata. This should likely be "AzioSpeech" to match the product name.

Suggested change
"Azio Speech",
"AzioSpeech",

Copilot uses AI. Check for mistakes.
Comment on lines +120 to +121
var savedSettings = _settingsService.LoadSettingsAsync(CancellationToken.None).GetAwaiter().GetResult();
var credentialsMatch = savedSettings.Region == Region && savedSettings.Key == Key;

Copilot AI Nov 25, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The UpdateCredentialsSavedState method synchronously blocks on an async operation using GetAwaiter().GetResult(), which can lead to deadlocks in UI applications. Consider making this method async or restructuring to avoid blocking calls.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants