From 89ba231f8bb103328c4806470506a142d2149109 Mon Sep 17 00:00:00 2001 From: guimafelipe Date: Tue, 16 Dec 2025 11:51:40 -0800 Subject: [PATCH 1/7] Removing workaround --- .../AppNotificationConferencingConfig.cpp | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/dev/AppNotifications/AppNotificationConferencingConfig.cpp b/dev/AppNotifications/AppNotificationConferencingConfig.cpp index e7e066e44b..043735f9e4 100644 --- a/dev/AppNotifications/AppNotificationConferencingConfig.cpp +++ b/dev/AppNotifications/AppNotificationConferencingConfig.cpp @@ -51,15 +51,3 @@ namespace winrt::Microsoft::Windows::AppNotifications::implementation return isSupported; } } - -// This function (not in the "implementation" namespace) is not defined when the feature is disabled, -// resulting in a linker error. Define the function for that scenario. -#if WINDOWSAPPRUNTIME_MICROSOFT_WINDOWS_CALLINGPREVIEWSUPPORT_FEATURE_CALLINGPREVIEWSUPPORT_ENABLED != 1 -namespace winrt::Microsoft::Windows::AppNotifications -{ - bool AppNotificationConferencingConfig::IsCallingPreviewSupported() - { - return false; - } -} -#endif From 8f588523cd3ee7833a34b95b6c6e2ac27cb38866 Mon Sep 17 00:00:00 2001 From: guimafelipe Date: Tue, 16 Dec 2025 11:59:58 -0800 Subject: [PATCH 2/7] Disabling velocity key on experimental --- dev/Common/TerminalVelocityFeatures-AppNotifications.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/dev/Common/TerminalVelocityFeatures-AppNotifications.xml b/dev/Common/TerminalVelocityFeatures-AppNotifications.xml index 1e4ac22c1a..28270e9205 100644 --- a/dev/Common/TerminalVelocityFeatures-AppNotifications.xml +++ b/dev/Common/TerminalVelocityFeatures-AppNotifications.xml @@ -19,6 +19,7 @@ Apis for Calling preview feature AlwaysEnabled + Experimental Preview Stable From 9fb7519ed6e07138c1619e3de798e5c3a1200836 Mon Sep 17 00:00:00 2001 From: guimafelipe Date: Tue, 16 Dec 2025 23:59:36 -0800 Subject: [PATCH 3/7] keeping generated files --- BuildAll.ps1 | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/BuildAll.ps1 b/BuildAll.ps1 index 80aa2fe727..595d02303b 100644 --- a/BuildAll.ps1 +++ b/BuildAll.ps1 @@ -146,7 +146,7 @@ Try { { $destinationPaths = Get-Childitem -Path 'packages' -File 'Traceloggingconfig.h' -Recurse - if (($destinationPaths -ne $null)) + if (($destinationPaths -ne $null)) { foreach ($destPath in $destinationPaths) { Write-Host 'SourcePath:' $srcPath.FullName @@ -178,7 +178,6 @@ Try { /binaryLogger:"BuildOutput/binlogs/WindowsAppRuntime.$platformToRun.$configurationToRun.binlog" ` $WindowsAppSDKVersionProperty ` /p:PGOBuildMode=$PGOBuildMode ` - /p:WindowsAppSDKCleanIntermediateFiles=true ` /p:AppxSymbolPackageEnabled=false ` /p:WindowsAppSDKBuildPipeline=$WindowsAppSDKBuildPipeline if ($lastexitcode -ne 0) @@ -279,7 +278,7 @@ Try { { foreach($platformToRun in $platform.Split(",")) { - # TODO: $windowsAppSdkBinariesPath may not be defined. Remove the temp downgrade to 1.0 once this issue has been fixed (b#52130179). + # TODO: $windowsAppSdkBinariesPath may not be defined. Remove the temp downgrade to 1.0 once this issue has been fixed (b#52130179). Set-StrictMode -Version 1.0 .\build\CopyFilesToStagingDir.ps1 -BuildOutputDir 'BuildOutput' -OverrideDir "$buildOverridePath" -PublishDir "$windowsAppSdkBinariesPath" -NugetDir "$BasePath" -Platform $PlatformToRun -Configuration $ConfigurationToRun Set-StrictMode -Version 3.0 From f73f8953532ea1052a04c592347a85e68b150711 Mon Sep 17 00:00:00 2001 From: guimafelipe Date: Fri, 19 Dec 2025 08:16:17 -0800 Subject: [PATCH 4/7] Revert "keeping generated files" This reverts commit 9fb7519ed6e07138c1619e3de798e5c3a1200836. --- BuildAll.ps1 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/BuildAll.ps1 b/BuildAll.ps1 index 595d02303b..80aa2fe727 100644 --- a/BuildAll.ps1 +++ b/BuildAll.ps1 @@ -146,7 +146,7 @@ Try { { $destinationPaths = Get-Childitem -Path 'packages' -File 'Traceloggingconfig.h' -Recurse - if (($destinationPaths -ne $null)) + if (($destinationPaths -ne $null)) { foreach ($destPath in $destinationPaths) { Write-Host 'SourcePath:' $srcPath.FullName @@ -178,6 +178,7 @@ Try { /binaryLogger:"BuildOutput/binlogs/WindowsAppRuntime.$platformToRun.$configurationToRun.binlog" ` $WindowsAppSDKVersionProperty ` /p:PGOBuildMode=$PGOBuildMode ` + /p:WindowsAppSDKCleanIntermediateFiles=true ` /p:AppxSymbolPackageEnabled=false ` /p:WindowsAppSDKBuildPipeline=$WindowsAppSDKBuildPipeline if ($lastexitcode -ne 0) @@ -278,7 +279,7 @@ Try { { foreach($platformToRun in $platform.Split(",")) { - # TODO: $windowsAppSdkBinariesPath may not be defined. Remove the temp downgrade to 1.0 once this issue has been fixed (b#52130179). + # TODO: $windowsAppSdkBinariesPath may not be defined. Remove the temp downgrade to 1.0 once this issue has been fixed (b#52130179). Set-StrictMode -Version 1.0 .\build\CopyFilesToStagingDir.ps1 -BuildOutputDir 'BuildOutput' -OverrideDir "$buildOverridePath" -PublishDir "$windowsAppSdkBinariesPath" -NugetDir "$BasePath" -Platform $PlatformToRun -Configuration $ConfigurationToRun Set-StrictMode -Version 3.0 From 8b28a36898b51127d905bdc6395fca6b73b47c38 Mon Sep 17 00:00:00 2001 From: guimafelipe Date: Fri, 19 Dec 2025 10:06:48 -0800 Subject: [PATCH 5/7] Changing from winrt to c++ function --- dev/AppNotifications/AppNotification.cpp | 3 ++- .../AppNotificationBuilder/AppNotificationBuilder.cpp | 3 ++- .../AppNotificationBuilder/AppNotificationButton.cpp | 3 ++- .../AppNotificationConferencingConfig.cpp | 9 +++++++++ dev/AppNotifications/AppNotificationConferencingConfig.h | 5 +++++ dev/AppNotifications/AppNotificationManager.cpp | 4 +++- dev/AppNotifications/NotificationConferencingConfig.cpp | 2 +- dev/AppNotifications/NotificationProperties.cpp | 2 +- 8 files changed, 25 insertions(+), 6 deletions(-) diff --git a/dev/AppNotifications/AppNotification.cpp b/dev/AppNotifications/AppNotification.cpp index d1a15aec90..4bee15090a 100644 --- a/dev/AppNotifications/AppNotification.cpp +++ b/dev/AppNotifications/AppNotification.cpp @@ -4,6 +4,7 @@ #include "pch.h" #include "AppNotification.h" #include "Microsoft.Windows.AppNotifications.AppNotification.g.cpp" +#include "AppNotificationConferencingConfig.h" using namespace winrt::Windows::Data::Xml::Dom; @@ -128,7 +129,7 @@ namespace winrt::Microsoft::Windows::AppNotifications::implementation void AppNotification::ConferencingConfig(winrt::Microsoft::Windows::AppNotifications::AppNotificationConferencingConfig const& conferencingConfig) { - THROW_HR_IF(E_NOTIMPL, !AppNotificationConferencingConfig::IsCallingPreviewSupported()); + THROW_HR_IF(E_NOTIMPL, !::Microsoft::Windows::AppNotifications::AppNotificationConferencingConfig::IsCallingPreviewSupported()); auto lock{ m_lock.lock_exclusive() }; m_conferencingConfig = conferencingConfig; } diff --git a/dev/AppNotifications/AppNotificationBuilder/AppNotificationBuilder.cpp b/dev/AppNotifications/AppNotificationBuilder/AppNotificationBuilder.cpp index d74afdf2e9..dbedd36f6b 100644 --- a/dev/AppNotifications/AppNotificationBuilder/AppNotificationBuilder.cpp +++ b/dev/AppNotifications/AppNotificationBuilder/AppNotificationBuilder.cpp @@ -9,6 +9,7 @@ #include #include "Microsoft.Windows.AppNotifications.Builder.AppNotificationBuilder.g.cpp" #include "AppNotificationBuilderUtility.h" +#include "AppNotificationConferencingConfig.h" #include #include #include @@ -403,7 +404,7 @@ namespace winrt::Microsoft::Windows::AppNotifications::Builder::implementation winrt::Microsoft::Windows::AppNotifications::Builder::AppNotificationBuilder AppNotificationBuilder::AddCameraPreview() { - THROW_HR_IF(E_NOTIMPL, !AppNotificationConferencingConfig::IsCallingPreviewSupported()); + THROW_HR_IF(E_NOTIMPL, !::Microsoft::Windows::AppNotifications::AppNotificationConferencingConfig::IsCallingPreviewSupported()); THROW_HR_IF_MSG(E_INVALIDARG, m_useCameraPreview, "CameraPreview element is already added, only one is allowed"); diff --git a/dev/AppNotifications/AppNotificationBuilder/AppNotificationButton.cpp b/dev/AppNotifications/AppNotificationBuilder/AppNotificationButton.cpp index b78e592841..2432fdfb33 100644 --- a/dev/AppNotifications/AppNotificationBuilder/AppNotificationButton.cpp +++ b/dev/AppNotifications/AppNotificationBuilder/AppNotificationButton.cpp @@ -7,6 +7,7 @@ #include "Microsoft.Windows.AppNotifications.Builder.AppNotificationButton.g.cpp" #include #include "AppNotificationBuilderUtility.h" +#include "AppNotificationConferencingConfig.h" #include "AppNotificationBuilderTelemetry.h" namespace winrt::Microsoft::Windows::AppNotifications::Builder::implementation @@ -138,7 +139,7 @@ namespace winrt::Microsoft::Windows::AppNotifications::Builder::implementation winrt::Microsoft::Windows::AppNotifications::Builder::AppNotificationButton AppNotificationButton::SetSettingStyle(AppNotificationButtonSettingStyle const& value) { - THROW_HR_IF(E_NOTIMPL, !AppNotificationConferencingConfig::IsCallingPreviewSupported()); + THROW_HR_IF(E_NOTIMPL, !::Microsoft::Windows::AppNotifications::AppNotificationConferencingConfig::IsCallingPreviewSupported()); m_settingType = value; return *this; diff --git a/dev/AppNotifications/AppNotificationConferencingConfig.cpp b/dev/AppNotifications/AppNotificationConferencingConfig.cpp index 043735f9e4..ccdbc99bb0 100644 --- a/dev/AppNotifications/AppNotificationConferencingConfig.cpp +++ b/dev/AppNotifications/AppNotificationConferencingConfig.cpp @@ -51,3 +51,12 @@ namespace winrt::Microsoft::Windows::AppNotifications::implementation return isSupported; } } + +bool Microsoft::Windows::AppNotifications::AppNotificationConferencingConfig::IsCallingPreviewSupported() +{ +#if WINDOWSAPPRUNTIME_MICROSOFT_WINDOWS_CALLINGPREVIEWSUPPORT_FEATURE_CALLINGPREVIEWSUPPORT_ENABLED == 1 + return winrt::Microsoft::Windows::AppNotifications::AppNotificationConferencingConfig::IsCallingPreviewSupported(); +#else + return false; +#endif +} diff --git a/dev/AppNotifications/AppNotificationConferencingConfig.h b/dev/AppNotifications/AppNotificationConferencingConfig.h index ceb04dcad8..9e92c19a2d 100644 --- a/dev/AppNotifications/AppNotificationConferencingConfig.h +++ b/dev/AppNotifications/AppNotificationConferencingConfig.h @@ -35,3 +35,8 @@ namespace winrt::Microsoft::Windows::AppNotifications::factory_implementation { }; } + +namespace Microsoft::Windows::AppNotifications::AppNotificationConferencingConfig +{ + bool IsCallingPreviewSupported(); +} diff --git a/dev/AppNotifications/AppNotificationManager.cpp b/dev/AppNotifications/AppNotificationManager.cpp index bcee2ddfc5..3bba8e0d1f 100644 --- a/dev/AppNotifications/AppNotificationManager.cpp +++ b/dev/AppNotifications/AppNotificationManager.cpp @@ -25,6 +25,7 @@ #include #include #include +#include "AppNotificationConferencingConfig.h" #include #include @@ -54,6 +55,7 @@ namespace PushNotificationHelpers using namespace Microsoft::Windows::AppNotifications::Helpers; using namespace Microsoft::Windows::AppNotifications::ShellLocalization; +using namespace Microsoft::Windows::AppNotifications::AppNotificationConferencingConfig; namespace winrt::Microsoft::Windows::AppNotifications::implementation { @@ -434,7 +436,7 @@ namespace winrt::Microsoft::Windows::AppNotifications::implementation notification.Payload(), notification.Tag(), notification.Group(), - winrt::AppNotificationConferencingConfig::IsCallingPreviewSupported()) }; + IsCallingPreviewSupported()) }; THROW_HR_IF(WPN_E_NOTIFICATION_POSTED, notification.Id() != 0); diff --git a/dev/AppNotifications/NotificationConferencingConfig.cpp b/dev/AppNotifications/NotificationConferencingConfig.cpp index d8ef87aa00..551169dedb 100644 --- a/dev/AppNotifications/NotificationConferencingConfig.cpp +++ b/dev/AppNotifications/NotificationConferencingConfig.cpp @@ -26,7 +26,7 @@ STDMETHODIMP NotificationConferencingConfig::get_AudioInputDeviceId(_Out_ HSTRIN winrt::copy_to_abi(m_conferencingConfig.AudioInputDeviceId(), reinterpret_cast(value)); return S_OK; } -CATCH_RETURN() +CATCH_RETURN() STDMETHODIMP NotificationConferencingConfig::get_AudioOutputDeviceId(_Out_ HSTRING* value) noexcept try diff --git a/dev/AppNotifications/NotificationProperties.cpp b/dev/AppNotifications/NotificationProperties.cpp index 2dfe21f253..031e2bba3e 100644 --- a/dev/AppNotifications/NotificationProperties.cpp +++ b/dev/AppNotifications/NotificationProperties.cpp @@ -50,7 +50,7 @@ NotificationProperties::NotificationProperties(winrt::AppNotification const& toa m_toastProgressData = winrt::make_self(toastNotification.Progress()); } - if (winrt::AppNotificationConferencingConfig::IsCallingPreviewSupported()) + if (Microsoft::Windows::AppNotifications::AppNotificationConferencingConfig::IsCallingPreviewSupported()) { if (auto config = toastNotification.ConferencingConfig()) { From cfc1cb89bb4b8f588503b79177df299871943410 Mon Sep 17 00:00:00 2001 From: guimafelipe Date: Fri, 19 Dec 2025 10:11:26 -0800 Subject: [PATCH 6/7] Revert "Disabling velocity key on experimental" This reverts commit 8f588523cd3ee7833a34b95b6c6e2ac27cb38866. --- dev/Common/TerminalVelocityFeatures-AppNotifications.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/dev/Common/TerminalVelocityFeatures-AppNotifications.xml b/dev/Common/TerminalVelocityFeatures-AppNotifications.xml index 28270e9205..1e4ac22c1a 100644 --- a/dev/Common/TerminalVelocityFeatures-AppNotifications.xml +++ b/dev/Common/TerminalVelocityFeatures-AppNotifications.xml @@ -19,7 +19,6 @@ Apis for Calling preview feature AlwaysEnabled - Experimental Preview Stable From 98156e8334cedf5ff00d9eecdd13d0925bf028c2 Mon Sep 17 00:00:00 2001 From: guimafelipe Date: Tue, 23 Dec 2025 13:15:39 -0800 Subject: [PATCH 7/7] calling implementation namespace function directly --- dev/AppNotifications/AppNotification.cpp | 2 +- .../AppNotificationBuilder/AppNotificationBuilder.cpp | 2 +- .../AppNotificationBuilder/AppNotificationButton.cpp | 2 +- .../AppNotificationConferencingConfig.cpp | 9 --------- dev/AppNotifications/AppNotificationConferencingConfig.h | 5 ----- dev/AppNotifications/AppNotificationManager.cpp | 3 +-- dev/AppNotifications/NotificationProperties.cpp | 2 +- 7 files changed, 5 insertions(+), 20 deletions(-) diff --git a/dev/AppNotifications/AppNotification.cpp b/dev/AppNotifications/AppNotification.cpp index 4bee15090a..1ef5852a4c 100644 --- a/dev/AppNotifications/AppNotification.cpp +++ b/dev/AppNotifications/AppNotification.cpp @@ -129,7 +129,7 @@ namespace winrt::Microsoft::Windows::AppNotifications::implementation void AppNotification::ConferencingConfig(winrt::Microsoft::Windows::AppNotifications::AppNotificationConferencingConfig const& conferencingConfig) { - THROW_HR_IF(E_NOTIMPL, !::Microsoft::Windows::AppNotifications::AppNotificationConferencingConfig::IsCallingPreviewSupported()); + THROW_HR_IF(E_NOTIMPL, !AppNotificationConferencingConfig::IsCallingPreviewSupported()); auto lock{ m_lock.lock_exclusive() }; m_conferencingConfig = conferencingConfig; } diff --git a/dev/AppNotifications/AppNotificationBuilder/AppNotificationBuilder.cpp b/dev/AppNotifications/AppNotificationBuilder/AppNotificationBuilder.cpp index dbedd36f6b..aadcb00623 100644 --- a/dev/AppNotifications/AppNotificationBuilder/AppNotificationBuilder.cpp +++ b/dev/AppNotifications/AppNotificationBuilder/AppNotificationBuilder.cpp @@ -404,7 +404,7 @@ namespace winrt::Microsoft::Windows::AppNotifications::Builder::implementation winrt::Microsoft::Windows::AppNotifications::Builder::AppNotificationBuilder AppNotificationBuilder::AddCameraPreview() { - THROW_HR_IF(E_NOTIMPL, !::Microsoft::Windows::AppNotifications::AppNotificationConferencingConfig::IsCallingPreviewSupported()); + THROW_HR_IF(E_NOTIMPL, !winrt::Microsoft::Windows::AppNotifications::implementation::AppNotificationConferencingConfig::IsCallingPreviewSupported()); THROW_HR_IF_MSG(E_INVALIDARG, m_useCameraPreview, "CameraPreview element is already added, only one is allowed"); diff --git a/dev/AppNotifications/AppNotificationBuilder/AppNotificationButton.cpp b/dev/AppNotifications/AppNotificationBuilder/AppNotificationButton.cpp index 2432fdfb33..cd151774c4 100644 --- a/dev/AppNotifications/AppNotificationBuilder/AppNotificationButton.cpp +++ b/dev/AppNotifications/AppNotificationBuilder/AppNotificationButton.cpp @@ -139,7 +139,7 @@ namespace winrt::Microsoft::Windows::AppNotifications::Builder::implementation winrt::Microsoft::Windows::AppNotifications::Builder::AppNotificationButton AppNotificationButton::SetSettingStyle(AppNotificationButtonSettingStyle const& value) { - THROW_HR_IF(E_NOTIMPL, !::Microsoft::Windows::AppNotifications::AppNotificationConferencingConfig::IsCallingPreviewSupported()); + THROW_HR_IF(E_NOTIMPL, !winrt::Microsoft::Windows::AppNotifications::implementation::AppNotificationConferencingConfig::IsCallingPreviewSupported()); m_settingType = value; return *this; diff --git a/dev/AppNotifications/AppNotificationConferencingConfig.cpp b/dev/AppNotifications/AppNotificationConferencingConfig.cpp index ccdbc99bb0..043735f9e4 100644 --- a/dev/AppNotifications/AppNotificationConferencingConfig.cpp +++ b/dev/AppNotifications/AppNotificationConferencingConfig.cpp @@ -51,12 +51,3 @@ namespace winrt::Microsoft::Windows::AppNotifications::implementation return isSupported; } } - -bool Microsoft::Windows::AppNotifications::AppNotificationConferencingConfig::IsCallingPreviewSupported() -{ -#if WINDOWSAPPRUNTIME_MICROSOFT_WINDOWS_CALLINGPREVIEWSUPPORT_FEATURE_CALLINGPREVIEWSUPPORT_ENABLED == 1 - return winrt::Microsoft::Windows::AppNotifications::AppNotificationConferencingConfig::IsCallingPreviewSupported(); -#else - return false; -#endif -} diff --git a/dev/AppNotifications/AppNotificationConferencingConfig.h b/dev/AppNotifications/AppNotificationConferencingConfig.h index 9e92c19a2d..ceb04dcad8 100644 --- a/dev/AppNotifications/AppNotificationConferencingConfig.h +++ b/dev/AppNotifications/AppNotificationConferencingConfig.h @@ -35,8 +35,3 @@ namespace winrt::Microsoft::Windows::AppNotifications::factory_implementation { }; } - -namespace Microsoft::Windows::AppNotifications::AppNotificationConferencingConfig -{ - bool IsCallingPreviewSupported(); -} diff --git a/dev/AppNotifications/AppNotificationManager.cpp b/dev/AppNotifications/AppNotificationManager.cpp index 3bba8e0d1f..27977cca02 100644 --- a/dev/AppNotifications/AppNotificationManager.cpp +++ b/dev/AppNotifications/AppNotificationManager.cpp @@ -55,7 +55,6 @@ namespace PushNotificationHelpers using namespace Microsoft::Windows::AppNotifications::Helpers; using namespace Microsoft::Windows::AppNotifications::ShellLocalization; -using namespace Microsoft::Windows::AppNotifications::AppNotificationConferencingConfig; namespace winrt::Microsoft::Windows::AppNotifications::implementation { @@ -436,7 +435,7 @@ namespace winrt::Microsoft::Windows::AppNotifications::implementation notification.Payload(), notification.Tag(), notification.Group(), - IsCallingPreviewSupported()) }; + AppNotificationConferencingConfig::IsCallingPreviewSupported()) }; THROW_HR_IF(WPN_E_NOTIFICATION_POSTED, notification.Id() != 0); diff --git a/dev/AppNotifications/NotificationProperties.cpp b/dev/AppNotifications/NotificationProperties.cpp index 031e2bba3e..ce969a3737 100644 --- a/dev/AppNotifications/NotificationProperties.cpp +++ b/dev/AppNotifications/NotificationProperties.cpp @@ -50,7 +50,7 @@ NotificationProperties::NotificationProperties(winrt::AppNotification const& toa m_toastProgressData = winrt::make_self(toastNotification.Progress()); } - if (Microsoft::Windows::AppNotifications::AppNotificationConferencingConfig::IsCallingPreviewSupported()) + if (winrt::implementation::AppNotificationConferencingConfig::IsCallingPreviewSupported()) { if (auto config = toastNotification.ConferencingConfig()) {