Initial Windows support.

:sparkles: What kind of change does this PR introduce? (Bug fix, feature, docs update...)
Feature
:arrow_heading_down: What is the current behavior?
No Windows support 😭
:new: What is the new behavior (if this is a feature change)?
Support Windows 😄
:boom: Does this PR introduce a breaking change?
No
:bug: Recommendations for testing
Test the example app building for Windows.
:memo: Links to relevant issues/docs
#840
:thinking: Checklist before submitting

[X] I made sure all projects build.
[X] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[X] I updated CHANGELOG.md to add a description of the change.
[X] I followed the style guide lines (code style guide).
[ ] I updated the relevant documentation.
[X] I rebased onto current master.

I just realized that the Windows version is not being built by the yaml files. Fixing that.

Also, the geolocator_windows plugin is not ublished yet, so all these tasks will fail. Any idea how to proceed here?

Thank you for the updates @azchohfi.
I have been trying to run the example application on my freshly setup Windows machine and I am running into some troubles. Maybe you could help me out with the following questions:

The first problem I ran into was CMake trying to run the nuget install Microsoft.Windows.CppWinRT and couldn't find the NuGet executable. Of course I solved this by downloading NuGet and adding it to the Path environment variable. However I was wondering if it wouldn't be better to add the nuget binary to the repo and use a relative path reference? I am not very familiar with Windows C++ development and I am not sure if this would be good or bad practice, maybe you can advise?
After making sure NuGet was available and running flutter run I stumbled on the following build error:

Launching lib\main.dart on Windows in debug mode...
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: The command "setlocal [C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -DBUILD_TYPE=Debug -P cmake_install.cmake [C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd [C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: :cmEnd [C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone [C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: :cmErrorLevel [C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: exit /b %1 [C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: :cmDone [C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd [C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: :VCEnd" exited with code 1. [C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
Building Windows application...
Exception: Build process failed.

Here is the output of flutter doctor -v:
[✓] Flutter (Channel beta, 2.10.0-0.2.pre, on Microsoft Windows [Version 10.0.22000.434], locale en-NL)
    • Flutter version 2.10.0-0.2.pre at C:\Users\mvanb\development\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 73adb1406a (5 days ago), 2022-01-19 17:02:56 -0600
    • Engine revision 74b74b10ea
    • Dart version 2.16.0 (build 2.16.0-134.1.beta)
    • DevTools version 2.9.2

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2022 17.0.5)
    • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022 version 17.0.32112.339
    • Windows 10 SDK version 10.0.22000.0

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).

[✓] VS Code (version 1.63.2)
    • VS Code at C:\Users\mvanb\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.32.0

[✓] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.22000.434]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 97.0.4692.99
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 97.0.1072.62

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 2 categories.

Do you have any idea what would be causing this error and how I could resolve it? I noticed everything builds fine on GitHub given the workflow you provided so I assume it is related to my setup.

Sure, I can try to help!

Nuget files shouldn't be added to the git repo at all. They should be restored, just like any other Flutter package from Pub.Dev. The concept is exactly the same. There is already a cmake command to add nuget packages to projects, but it doesn't work with C++ just yet... only C#, so I don't see an easy way to make this not require nuget.exe in the path... I'm open for sugestions.
Not exactly sure what is happening with your env. Did you install the C++ workload for Desktop? I'm also using VS2022 (as opposed to 2019 that is installed on the CI) but both should work with the correct workloads installed. Can you try running "flutter run -d windows -v"? Maybe there is more info there.

The Windows requirements are here:
https://docs.flutter.dev/get-started/install/windows#additional-windows-requirements
They mention that 2019 is required for flutter 2.8.x, but I'm using 2022 and it works fine.

Thanks you much appreciated.

Nuget files shouldn't be added to the git repo at all. They should be restored, just like any other Flutter package from Pub.Dev. The concept is exactly the same. There is already a cmake command to add nuget packages to projects, but it doesn't work with C++ just yet... only C#, so I don't see an easy way to make this not require nuget.exe in the path... I'm open for sugestions.

Sorry maybe I didn't explain it correctly, I didn't mean including the Microsoft.Windows.CppWinRT package as part of the repo but rather the nuget.exe CLI. I have noticed other OSS applications also do this systems or CI environments that don't have the NuGet CLI pre-installed or not available through the path environment variable. Instead we could include it as part of the repo, say in the geolocator_windows\bin\nuget\nuget.exe.

Not exactly sure what is happening with your env. Did you install the C++ workload for Desktop? I'm also using VS2022 (as opposed to 2019 that is installed on the CI) but both should work with the correct workloads installed. Can you try running "flutter run -d windows -v"? Maybe there is more info there.

I have the default configuration of the "Desktop development with C++" Visual Studio Workload installed as documented on the Flutter requirements page. Below is the full log from flutter run -d windows -v command, would be great if you notice something that is missing of off:

 `flutter run -d windows -v` logs
[  +90 ms] executing: [C:\Users\mvanb\development\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[ +521 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +1 ms] 73adb1406a9cff796e2203ad16fd285220a6ec97
[        ] executing: [C:\Users\mvanb\development\flutter/] git tag --points-at 73adb1406a9cff796e2203ad16fd285220a6ec97
[  +54 ms] Exit code 0 from: git tag --points-at 73adb1406a9cff796e2203ad16fd285220a6ec97
[        ] 2.10.0-0.2.pre
[  +16 ms] executing: [C:\Users\mvanb\development\flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +42 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[   +1 ms] origin/beta
[        ] executing: [C:\Users\mvanb\development\flutter/] git ls-remote --get-url origin
[  +38 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[ +248 ms] Unable to locate an Android SDK.
[   +8 ms] executing: [C:\Users\mvanb\development\flutter/] git rev-parse --abbrev-ref HEAD
[  +38 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] beta
[  +75 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +6 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +78 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +5 ms] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +116 ms] Skipping pub get: version match.
[  +47 ms] Found plugin url_launcher at
C:\Users\mvanb\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher-6.0.18\
[   +8 ms] Found plugin url_launcher_android at
C:\Users\mvanb\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_android-6.0.14\
[   +3 ms] Found plugin url_launcher_ios at
C:\Users\mvanb\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_ios-6.0.14\
[   +2 ms] Found plugin url_launcher_linux at
C:\Users\mvanb\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_linux-2.0.3\
[   +2 ms] Found plugin url_launcher_macos at
C:\Users\mvanb\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_macos-2.0.3\
[   +3 ms] Found plugin url_launcher_web at
C:\Users\mvanb\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_web-2.0.6\
[   +2 ms] Found plugin url_launcher_windows at
C:\Users\mvanb\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_windows-2.0.2\
[   +5 ms] Found plugin geolocator_windows at C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\
[  +66 ms] Found plugin url_launcher at
C:\Users\mvanb\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher-6.0.18\
[   +1 ms] Found plugin url_launcher_android at
C:\Users\mvanb\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_android-6.0.14\
[   +1 ms] Found plugin url_launcher_ios at
C:\Users\mvanb\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_ios-6.0.14\
[   +1 ms] Found plugin url_launcher_linux at
C:\Users\mvanb\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_linux-2.0.3\
[   +2 ms] Found plugin url_launcher_macos at
C:\Users\mvanb\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_macos-2.0.3\
[   +3 ms] Found plugin url_launcher_web at
C:\Users\mvanb\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_web-2.0.6\
[   +1 ms] Found plugin url_launcher_windows at
C:\Users\mvanb\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_windows-2.0.2\
[   +3 ms] Found plugin geolocator_windows at C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\
[ +138 ms] Initializing file store
[  +15 ms] Skipping target: gen_localizations
[   +6 ms] gen_dart_plugin_registrant: Starting due to {InvalidatedReasonKind.inputChanged: The following inputs have
updated contents:
C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\.dart_tool\package_config_subset}
[  +25 ms] Found plugin url_launcher at
C:\Users\mvanb\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher-6.0.18\
[   +1 ms] Found plugin url_launcher_android at
C:\Users\mvanb\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_android-6.0.14\
[   +1 ms] Found plugin url_launcher_ios at
C:\Users\mvanb\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_ios-6.0.14\
[   +1 ms] Found plugin url_launcher_linux at
C:\Users\mvanb\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_linux-2.0.3\
[   +1 ms] Found plugin url_launcher_macos at
C:\Users\mvanb\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_macos-2.0.3\
[   +1 ms] Found plugin url_launcher_web at
C:\Users\mvanb\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_web-2.0.6\
[   +1 ms] Found plugin url_launcher_windows at
C:\Users\mvanb\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_windows-2.0.2\
[   +2 ms] Found plugin geolocator_windows at C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\
[   +7 ms] gen_dart_plugin_registrant: Complete
[   +1 ms] Skipping target: _composite
[   +3 ms] complete
[   +6 ms] Launching lib\main.dart on Windows in debug mode...
[   +6 ms] C:\Users\mvanb\development\flutter\bin\cache\dart-sdk\bin\dart.exe --disable-dart-dev
C:\Users\mvanb\development\flutter\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root
C:\Users\mvanb\development\flutter\bin\cache\artifacts\engine\common\flutter_patched_sdk/ --incremental --target=flutter
--debugger-module-names --experimental-emit-debug-metadata -DFLUTTER_WEB_AUTO_DETECT=true --output-dill
C:\Users\mvanb\AppData\Local\Temp\flutter_tools.c53c8cb3\flutter_tool.cab12275\app.dill --packages
C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\.dart_tool\package_config.json
-Ddart.vm.profile=false -Ddart.vm.product=false --enable-asserts --track-widget-creation --filesystem-scheme
org-dartlang-root --initialize-from-dill build\c075001b96339384a97db4862b8ab8db.cache.dill.track.dill
--enable-experiment=alternative-invalidation-strategy
[  +38 ms] executing: C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe -format json -products *
-utf8 -latest -version 16 -requires Microsoft.VisualStudio.Workload.NativeDesktop
Microsoft.VisualStudio.Component.VC.Tools.x86.x64 Microsoft.VisualStudio.Component.VC.CMake.Project
[  +46 ms] Exit code 0 from: C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe -format json -products
* -utf8 -latest -version 16 -requires Microsoft.VisualStudio.Workload.NativeDesktop
Microsoft.VisualStudio.Component.VC.Tools.x86.x64 Microsoft.VisualStudio.Component.VC.CMake.Project
[   +1 ms] [
             {
               "instanceId": "9dc0e943",
               "installDate": "2022-01-13T15:49:43Z",
               "installationName": "VisualStudio/17.0.5+32112.339",
               "installationPath": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community",
               "installationVersion": "17.0.32112.339",
               "productId": "Microsoft.VisualStudio.Product.Community",
               "productPath": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\devenv.exe",
               "state":<PHONE_NUMBER>,
               "isComplete": true,
               "isLaunchable": true,
               "isPrerelease": false,
               "isRebootRequired": false,
               "displayName": "Visual Studio Community 2022",
               "description": "Powerful IDE, free for students, open-source contributors, and individuals",
               "channelId": "VisualStudio.17.Release",
               "channelUri": "https://aka.ms/vs/17/release/channel",
               "enginePath": "C:\\Program Files (x86)\\Microsoft Visual
               Studio\\Installer\\resources\\app\\ServiceHub\\Services\\Microsoft.VisualStudio.Setup.Service",
               "releaseNotes": "https://docs.microsoft.com/en-us/visualstudio/releases/2022/release-notes-v17.0#17.0.5",
               "thirdPartyNotices": "https://go.microsoft.com/fwlink/?LinkId=661288",
               "updateDate": "2022-01-15T09:42:50.5337834Z",
               "catalog": {
                 "buildBranch": "d17.0",
                 "buildVersion": "17.0.32112.339",
                 "id": "VisualStudio/17.0.5+32112.339",
                 "localBuild": "build-lab",
                 "manifestName": "VisualStudio",
                 "manifestType": "installer",
                 "productDisplayVersion": "17.0.5",
                 "productLine": "Dev17",
                 "productLineVersion": "2022",
                 "productMilestone": "RTW",
                 "productMilestoneIsPreRelease": "False",
                 "productName": "Visual Studio",
                 "productPatchVersion": "5",
                 "productPreReleaseMilestoneSuffix": "1.0",
                 "productSemanticVersion": "17.0.5+32112.339",
                 "requiredEngineVersion": "3.0.4496.34889"
               },
               "properties": {
                 "campaignId": "",
                 "canceled": "0",
                 "channelManifestId": "VisualStudio.17.Release/17.0.5+32112.339",
                 "nickname": "",
                 "setupEngineFilePath": "C:\\Program Files (x86)\\Microsoft Visual Studio\\Installer\\setup.exe"
               }
             }
           ]
[   +3 ms] Building Windows application...
[  +32 ms] <- compile package:geolocator_windows_example/main.dart
[   +3 ms] executing: C:\Program Files\Microsoft Visual
Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe -S
C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\windows -B build\windows -G Visual Studio 17 2022
[ +778 ms] Feeds used:
[   +1 ms]   C:\Users\mvanb\.nuget\packages\
[        ]   https://api.nuget.org/v3/index.json
[        ]   C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\
[  +81 ms] Package "Microsoft.Windows.CppWinRT.2.0.210806.1" is already installed.
[ +866 ms] -- Configuring done
[ +468 ms] -- Generating done
[  +49 ms] -- Build files have been written to:
C:/Users/mvanb/Projects/Flutter/geolocator/geolocator_windows/example/build/windows
[  +13 ms] executing: C:\Program Files\Microsoft Visual
Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe --build build\windows --config
Debug --target INSTALL --verbose
[ +189 ms] Microsoft (R) Build Engine version 17.0.0+c9eb9dd64 for .NET Framework
[        ] Copyright (C) Microsoft Corporation. All rights reserved.
[  +88 ms] Build started 24/01/2022 18:21:31.
[ +320 ms] Project "C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj"
on node 1 (default targets).
[   +1 ms] Project "C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj"
(1) is building "C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\ZERO_CHECK.vcxproj"
(2) on node 1 (default targets).
[   +1 ms] InitializeBuildStatus:
[        ]   Creating "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
[  +27 ms] CustomBuild:
[        ]   All outputs are up-to-date.
[  +62 ms] FinalizeBuildStatus:
[   +1 ms]   Deleting file "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild".
[        ]   Touching "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\ZERO_CHECK.lastbuildstate".
[        ] Done Building Project
"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\ZERO_CHECK.vcxproj" (default
targets).
[  +78 ms] Project "C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj"
(1) is building "C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\ALL_BUILD.vcxproj"
(3) on node 1 (default targets).
[   +1 ms] Project
"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\ALL_BUILD.vcxproj" (3) is building
"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\runner\example.vcxproj" (4) on node
1 (default targets).
[   +1 ms] Project
"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\runner\example.vcxproj" (4) is
building
"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\flutter\flutter_assemble.vcxproj"
(5) on node 1 (default targets).
[   +1 ms] InitializeBuildStatus:
[        ]   Creating "x64\Debug\flutter_assemble\flutter_assemble.tlog\unsuccessfulbuild" because "AlwaysCreate" was
specified.
[   +2 ms] CustomBuild:
[        ]   "The build of
'C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\CMakeFiles\3236f8c5c46f08cbf78b2a61
a62ee374\flutter_assemble.rule' depends on
'C:\USERS\MVANB\PROJECTS\FLUTTER\GEOLOCATOR\GEOLOCATOR_WINDOWS\EXAMPLE\WINDOWS\FLUTTER\EPHEMERAL\FLUTTER_WINDOWS.DLL'
which is produced by the build of
'C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\CMakeFiles\676342a32d0c61f3bf07aaf6
30ef107a\flutter_windows.dll.rule'. The items cannot be built in parallel."
[ +104 ms]   Generating
C:/Users/mvanb/Projects/Flutter/geolocator/geolocator_windows/example/windows/flutter/ephemeral/flutter_windows.dll,
C:/Users/mvanb/Projects/Flutter/geolocator/geolocator_windows/example/windows/flutter/ephemeral/flutter_export.h,
C:/Users/mvanb/Projects/Flutter/geolocator/geolocator_windows/example/windows/flutter/ephemeral/flutter_windows.h,
C:/Users/mvanb/Projects/Flutter/geolocator/geolocator_windows/example/windows/flutter/ephemeral/flutter_messenger.h,
C:/Users/mvanb/Projects/Flutter/geolocator/geolocator_windows/example/windows/flutter/ephemeral/flutter_plugin_registrar
.h,
C:/Users/mvanb/Projects/Flutter/geolocator/geolocator_windows/example/windows/flutter/ephemeral/flutter_texture_registra
r.h,
C:/Users/mvanb/Projects/Flutter/geolocator/geolocator_windows/example/windows/flutter/ephemeral/cpp_client_wrapper/core_
implementations.cc,
C:/Users/mvanb/Projects/Flutter/geolocator/geolocator_windows/example/windows/flutter/ephemeral/cpp_client_wrapper/stand
ard_codec.cc,
C:/Users/mvanb/Projects/Flutter/geolocator/geolocator_windows/example/windows/flutter/ephemeral/cpp_client_wrapper/plugi
n_registrar.cc,
C:/Users/mvanb/Projects/Flutter/geolocator/geolocator_windows/example/windows/flutter/ephemeral/cpp_client_wrapper/flutt
er_engine.cc,
C:/Users/mvanb/Projects/Flutter/geolocator/geolocator_windows/example/windows/flutter/ephemeral/cpp_client_wrapper/flutt
er_view_controller.cc, _phony_
[+1648 ms]   [  +90 ms] executing: [C:\Users\mvanb\development\flutter/] git -c log.showSignature=false log -n 1
--pretty=format:%H
[ +571 ms]   [ +600 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ]   [   +1 ms] 73adb1406a9cff796e2203ad16fd285220a6ec97
[        ]   [   +1 ms] executing: [C:\Users\mvanb\development\flutter/] git tag --points-at
73adb1406a9cff796e2203ad16fd285220a6ec97
[  +67 ms]   [  +67 ms] Exit code 0 from: git tag --points-at 73adb1406a9cff796e2203ad16fd285220a6ec97
[        ]   [        ] 2.10.0-0.2.pre
[  +11 ms]   [  +11 ms] executing: [C:\Users\mvanb\development\flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +55 ms]   [  +54 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ]   [        ] origin/beta
[        ]   [        ] executing: [C:\Users\mvanb\development\flutter/] git ls-remote --get-url origin
[  +44 ms]   [  +45 ms] Exit code 0 from: git ls-remote --get-url origin
[        ]   [        ] https://github.com/flutter/flutter.git
[ +264 ms]   [ +265 ms] Unable to locate an Android SDK.
[   +4 ms]   [   +4 ms] executing: [C:\Users\mvanb\development\flutter/] git rev-parse --abbrev-ref HEAD
[  +45 ms]   [  +45 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ]   [        ] beta
[  +77 ms]   [  +78 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +4 ms]   [   +5 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +131 ms]   [ +133 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[   +1 ms]   [   +4 ms] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ]   [        ] Artifact Instance of 'PubDependencies' is not required, skipping update.
[  +49 ms]   [  +53 ms] Initializing file store
[  +20 ms]   [  +20 ms] Done initializing file store
[  +60 ms]   [  +60 ms] Skipping target: gen_localizations
[  +15 ms]   [  +15 ms] Skipping target: gen_dart_plugin_registrant
[+3093 ms]   [+3093 ms] unpack_windows: Starting due to {InvalidatedReasonKind.inputChanged: The following inputs have
updated contents:
C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\windows\flutter\ephemeral\flutter_windows.dll,C:\U
sers\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\windows\flutter\ephemeral\flutter_windows.dll.exp,C:\U
sers\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\windows\flutter\ephemeral\flutter_windows.dll.pdb}
[+1009 ms]   [+1008 ms] Skipping target: kernel_snapshot
[   +3 ms]   [   +3 ms] unpack_windows: Complete
[+1631 ms]   [+1631 ms] debug_bundle_windows_assets: Starting due to {InvalidatedReasonKind.outputMissing: The following
outputs were missing:
C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\flutter_assets\kernel_blob.bin}
[ +230 ms]   [ +230 ms] debug_bundle_windows_assets: Complete
[ +297 ms]   [ +297 ms] Persisting file store
[  +14 ms]   [  +14 ms] Done persisting file store
[  +14 ms]   [  +14 ms] build succeeded.
[  +14 ms]   [  +13 ms] "flutter assemble" took 6,626ms.
[  +87 ms]   [  +87 ms] ensureAnalyticsSent: 83ms
[   +1 ms]   [   +1 ms] Running shutdown hooks
[        ]   [        ] Shutdown hooks complete
[        ]   [   +1 ms] exiting with code 0
[  +94 ms] FinalizeBuildStatus:
[        ]   Deleting file "x64\Debug\flutter_assemble\flutter_assemble.tlog\unsuccessfulbuild".
[        ]   Touching "x64\Debug\flutter_assemble\flutter_assemble.tlog\flutter_assemble.lastbuildstate".
[        ] Done Building Project
"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\flutter\flutter_assemble.vcxproj"
(default targets).
[  +39 ms] Project
"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\runner\example.vcxproj" (4) is
building
"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\flutter\flutter_wrapper_app.vcxproj
" (6) on node 1 (default targets).
[   +1 ms] InitializeBuildStatus:
[        ]   Creating "flutter_wrapper_app.dir\Debug\flutter_.B9065646.tlog\unsuccessfulbuild" because "AlwaysCreate"
was specified.
[   +1 ms] CustomBuild:
[        ]   All outputs are up-to-date.
[  +59 ms] ClCompile:
[   +1 ms]   All outputs are up-to-date.
[  +26 ms] Lib:
[   +1 ms]   All outputs are up-to-date.
[   +1 ms]   flutter_wrapper_app.vcxproj ->
C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\flutter\Debug\flutter_wrapper_app.li
b
[  +19 ms] FinalizeBuildStatus:
[        ]   Deleting file "flutter_wrapper_app.dir\Debug\flutter_.B9065646.tlog\unsuccessfulbuild".
[        ]   Touching "flutter_wrapper_app.dir\Debug\flutter_.B9065646.tlog\flutter_wrapper_app.lastbuildstate".
[        ] Done Building Project
"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\flutter\flutter_wrapper_app.vcxproj
" (default targets).
[  +49 ms] Project
"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\runner\example.vcxproj" (4) is
building
"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\plugins\geolocator_windows\geolocat
or_windows_plugin.vcxproj" (7) on node 1 (default targets).
[   +1 ms] Project
"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\plugins\geolocator_windows\geolocat
or_windows_plugin.vcxproj" (7) is building
"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\flutter\flutter_wrapper_plugin.vcxp
roj" (8) on node 1 (default targets).
[   +1 ms] InitializeBuildStatus:
[        ]   Creating "flutter_wrapper_plugin.dir\Debug\flutter_.08B0E988.tlog\unsuccessfulbuild" because "AlwaysCreate"
was specified.
[   +1 ms] CustomBuild:
[        ]   All outputs are up-to-date.
[   +8 ms] ClCompile:
[        ]   All outputs are up-to-date.
[   +3 ms] Lib:
[        ]   All outputs are up-to-date.
[        ]   flutter_wrapper_plugin.vcxproj ->
C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\flutter\Debug\flutter_wrapper_plugin
.lib
[   +5 ms] FinalizeBuildStatus:
[        ]   Deleting file "flutter_wrapper_plugin.dir\Debug\flutter_.08B0E988.tlog\unsuccessfulbuild".
[        ]   Touching "flutter_wrapper_plugin.dir\Debug\flutter_.08B0E988.tlog\flutter_wrapper_plugin.lastbuildstate".
[        ] Done Building Project
"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\flutter\flutter_wrapper_plugin.vcxp
roj" (default targets).
[   +7 ms] InitializeBuildStatus:
[        ]   Creating "geolocator_windows_plugin.dir\Debug\geolocat.B3F835F1.tlog\unsuccessfulbuild" because
"AlwaysCreate" was specified.
[  +10 ms] CustomBuild:
[        ]   All outputs are up-to-date.
[  +14 ms] ClCompile:
[   +1 ms]   All outputs are up-to-date.
[  +31 ms] Link:
[   +1 ms]   All outputs are up-to-date.
[   +2 ms]   geolocator_windows_plugin.vcxproj ->
C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\plugins\geolocator_windows\Debug\geo
locator_windows_plugin.dll
[   +9 ms] FinalizeBuildStatus:
[   +1 ms]   Deleting file "geolocator_windows_plugin.dir\Debug\geolocat.B3F835F1.tlog\unsuccessfulbuild".
[   +1 ms]   Touching
"geolocator_windows_plugin.dir\Debug\geolocat.B3F835F1.tlog\geolocator_windows_plugin.lastbuildstate".
[        ] Done Building Project
"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\plugins\geolocator_windows\geolocat
or_windows_plugin.vcxproj" (default targets).
[  +26 ms] Project
"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\runner\example.vcxproj" (4) is
building
"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\plugins\url_launcher_windows\url_la
uncher_windows_plugin.vcxproj" (9) on node 1 (default targets).
[   +1 ms] InitializeBuildStatus:
[        ]   Creating "url_launcher_windows_plugin.dir\Debug\url_laun.B498FAFF.tlog\unsuccessfulbuild" because
"AlwaysCreate" was specified.
[   +1 ms] CustomBuild:
[        ]   All outputs are up-to-date.
[  +10 ms] ClCompile:
[   +1 ms]   All outputs are up-to-date.
[  +12 ms] Link:
[   +1 ms]   All outputs are up-to-date.
[        ]   url_launcher_windows_plugin.vcxproj ->
C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\plugins\url_launcher_windows\Debug\u
rl_launcher_windows_plugin.dll
[   +5 ms] FinalizeBuildStatus:
[        ]   Deleting file "url_launcher_windows_plugin.dir\Debug\url_laun.B498FAFF.tlog\unsuccessfulbuild".
[        ]   Touching
"url_launcher_windows_plugin.dir\Debug\url_laun.B498FAFF.tlog\url_launcher_windows_plugin.lastbuildstate".
[   +1 ms] Done Building Project
"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\plugins\url_launcher_windows\url_la
uncher_windows_plugin.vcxproj" (default targets).
[   +9 ms] InitializeBuildStatus:
[        ]   Creating "example.dir\Debug\example.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
[   +1 ms] CustomBuild:
[        ]   All outputs are up-to-date.
[  +25 ms] ClCompile:
[        ]   C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\bin\HostX64\x64\CL.exe /c
/IC:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\windows
/IC:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\windows\flutter\ephemeral
/IC:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\windows\flutter\ephemeral\cpp_client_wrapper\inc
lude
/IC:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\windows\flutter\ephemeral\.plugin_symlinks\geolo
cator_windows\windows\include
/IC:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\windows\flutter\ephemeral\.plugin_symlinks\url_l
auncher_windows\windows\include /Zi /nologo /W4 /WX /diagnostics:column /Od /Ob0 /D _UNICODE /D UNICODE /D WIN32 /D
_WINDOWS /D _HAS_EXCEPTIONS=0 /D _DEBUG /D NOMINMAX /D UNICODE /D _UNICODE /D "CMAKE_INTDIR=\"Debug\"" /Gm- /EHsc /RTC1
/MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /GR /std:c++17 /Fo"example.dir\Debug\\"
/Fd"example.dir\Debug\vc143.pdb" /external:W4 /Gd /TP /wd4100 /errorReport:queue
C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\windows\flutter\generated_plugin_registrant.cc
C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\windows\runner\flutter_window.cpp
[  +67 ms]   generated_plugin_registrant.cc
[ +451 ms]   flutter_window.cpp
[ +930 ms]   Generating Code...
[  +97 ms] ResourceCompile:
[        ]   All outputs are up-to-date.
[  +20 ms] Link:
[   +1 ms]   C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\bin\HostX64\x64\link.exe
/ERRORREPORT:QUEUE
/OUT:"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\runner\Debug\example.exe"
/INCREMENTAL /ILK:"example.dir\Debug\example.ilk" /NOLOGO ..\flutter\Debug\flutter_wrapper_app.lib
..\plugins\geolocator_windows\Debug\geolocator_windows_plugin.lib
..\plugins\url_launcher_windows\Debug\url_launcher_windows_plugin.lib
C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\windows\flutter\ephemeral\flutter_windows.dll.lib
kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib
/MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed
/manifestinput:C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\windows\runner\runner.exe.manifest
/DEBUG
/PDB:"C:/Users/mvanb/Projects/Flutter/geolocator/geolocator_windows/example/build/windows/runner/Debug/example.pdb"
/SUBSYSTEM:WINDOWS /TLBID:1 /DYNAMICBASE /NXCOMPAT
/IMPLIB:"C:/Users/mvanb/Projects/Flutter/geolocator/geolocator_windows/example/build/windows/runner/Debug/example.lib"
/MACHINE:X64  /machine:x64 example.dir\Debug\Runner.res
[   +2 ms]   example.dir\Debug\flutter_window.obj
[        ]   example.dir\Debug\main.obj
[        ]   example.dir\Debug\utils.obj
[        ]   example.dir\Debug\win32_window.obj
[        ]   example.dir\Debug\generated_plugin_registrant.obj
[ +244 ms]   example.vcxproj ->
C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\runner\Debug\example.exe
[   +9 ms] FinalizeBuildStatus:
[        ]   Deleting file "example.dir\Debug\example.tlog\unsuccessfulbuild".
[        ]   Touching "example.dir\Debug\example.tlog\example.lastbuildstate".
[        ] Done Building Project
"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\runner\example.vcxproj" (default
targets).
[   +8 ms] InitializeBuildStatus:
[        ]   Creating "x64\Debug\ALL_BUILD\ALL_BUILD.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
[   +2 ms] CustomBuild:
[        ]   All outputs are up-to-date.
[   +8 ms] FinalizeBuildStatus:
[        ]   Deleting file "x64\Debug\ALL_BUILD\ALL_BUILD.tlog\unsuccessfulbuild".
[        ]   Touching "x64\Debug\ALL_BUILD\ALL_BUILD.tlog\ALL_BUILD.lastbuildstate".
[        ] Done Building Project
"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\ALL_BUILD.vcxproj" (default
targets).
[  +14 ms] InitializeBuildStatus:
[        ]   Touching "x64\Debug\INSTALL\INSTALL.tlog\unsuccessfulbuild".
[  +52 ms] PostBuildEvent:
[        ]   setlocal
[        ]   "C:\Program Files\Microsoft Visual
Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -DBUILD_TYPE=Debug -P
cmake_install.cmake
[        ]   if %errorlevel% neq 0 goto :cmEnd
[        ]   :cmEnd
[        ]   endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
[        ]   :cmErrorLevel
[        ]   exit /b %1
[        ]   :cmDone
[        ]   if %errorlevel% neq 0 goto :VCEnd
[        ]   :VCEnd
[  +53 ms]   -- Install configuration: "Debug"
[   +3 ms]   CMake Error at cmake_install.cmake:65 (file):
[   +6 ms]     file cannot create directory: C:/Program Files (x86)/example.  Maybe need
[        ]     administrative privileges.
[   +8 ms] C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: The command "setlocal
[C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
[   +3 ms] C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: "C:\Program
Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe"
-DBUILD_TYPE=Debug -P cmake_install.cmake
[C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
[   +1 ms] C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: if %errorlevel% neq 0
goto :cmEnd [C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
[   +1 ms] C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: :cmEnd
[C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
[   +1 ms] C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: endlocal & call
:cmErrorLevel %errorlevel% & goto :cmDone
[C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
[        ] C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: :cmErrorLevel
[C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
[        ] C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: exit /b %1
[C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
[        ] C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: :cmDone
[C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
[        ] C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: if %errorlevel% neq 0
goto :VCEnd [C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
[        ] C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: :VCEnd" exited with
code 1. [C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
[        ] Done Building Project
"C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj" (default targets)
-- FAILED.
[        ] Build FAILED.
[        ] "C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj"
(default target) (1) ->
[        ] (PostBuildEvent target) ->
[        ]   C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: The command "setlocal
[C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
[        ] C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: "C:\Program
Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe"
-DBUILD_TYPE=Debug -P cmake_install.cmake
[C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
[   +1 ms] C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: if %errorlevel% neq 0
goto :cmEnd [C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
[        ] C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: :cmEnd
[C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
[        ] C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: endlocal & call
:cmErrorLevel %errorlevel% & goto :cmDone
[C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
[        ] C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: :cmErrorLevel
[C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
[        ] C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: exit /b %1
[C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
[        ] C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: :cmDone
[C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
[        ] C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: if %errorlevel% neq 0
goto :VCEnd [C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
[        ] C:\Program Files\Microsoft Visual
Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(156,5): error MSB3073: :VCEnd" exited with
code 1. [C:\Users\mvanb\Projects\Flutter\geolocator\geolocator_windows\example\build\windows\INSTALL.vcxproj]
[        ]     0 Warning(s)
[        ]     1 Error(s)
[        ] Time Elapsed 00:00:12.61
[  +22 ms] Building Windows application... (completed in 15.2s)
[   +2 ms] Exception: Build process failed.
[   +1 ms] "flutter run" took 15,957ms.
[   +4 ms]
           #0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
           #1      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:687:9)
           <asynchronous suspension>
           #2      FlutterCommand.run.<anonymous closure>
(package:flutter_tools/src/runner/flutter_command.dart:1161:27)
           <asynchronous suspension>
           #3      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #4      CommandRunner.runCommand (package:args/command_runner.dart:209:13)
           <asynchronous suspension>
           #5      FlutterCommandRunner.runCommand.<anonymous closure>
           (package:flutter_tools/src/runner/flutter_command_runner.dart:281:9)
           <asynchronous suspension>
           #6      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #7      FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)
           <asynchronous suspension>
           #8      run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
           <asynchronous suspension>
           #9      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #10     main (package:flutter_tools/executable.dart:94:3)
           <asynchronous suspension>

[  +46 ms] ensureAnalyticsSent: 43ms
[   +1 ms] Running shutdown hooks
[   +1 ms] Shutdown hooks complete
[   +1 ms] exiting with code 1

We could do that, but it will increase the repository size with something that be easily downloaded (https://dist.nuget.org/win-x86-commandline/latest/nuget.exe). We could test the path, and if it doesn't have nuget.exe, then we download it and add it? That would probably work. I'll work on this.
The error seems to be a missing permission, but it feels wrong. Similar to https://github.com/flutter/flutter/issues/59890. Maybe a flutter clean can help? If not, try running the cmd elevated. Maybe if that doesn't work, you can you try running it from VS. There should be a generated sln file here: flutter-geolocator\geolocator_windows\example\build\windows\example.sln. Maybe the logs there are more detailed.

We could do that, but it will increase the repository size with something that be easily downloaded (https://dist.nuget.org/win-x86-commandline/latest/nuget.exe). We could test the path, and if it doesn't have nuget.exe, then we download it and add it? That would probably work. I'll work on this.

That sounds like a great solution, looking forward to your update.

The error seems to be a missing permission, but it feels wrong. Similar to Build error in flutter linux flutter/flutter#59890. Maybe a flutter clean can help? If not, try running the cmd elevated. Maybe if that doesn't work, you can you try running it from VS. There should be a generated sln file here: flutter-geolocator\geolocator_windows\example\build\windows\example.sln. Maybe the logs there are more detailed.

Running flutter clean indeed did the trick and the windows example app is running like a charm now, thanks!

Ok, just finished this. Took me a while to get it right since it is heavily cached, and I thought I had it wrong. This should do the trick, but if you want to test it, just make sure to run flutter clean before each try (with/without nuget.exe on the path).

Awesome!

Great stuff, merged and published. Is it ok if I send out a tweet mentioning you and your awesome contribution?

Sure, not a problem at all!


HEDA Translations: Spanish: Do an analysis of what fields still have to be translated

This is an item to track time/effort on this and to make sure that we don't forget about getting back to Spanish Translations. Items to do:

Check in Sandbox/production in language with all the right language settings and evaluate what is not translated.
Either use this ticket to fix anything left, or create new tickets.
***Then, if we use this ticket, next steps would be:
Develop/fix/put in translations.
Test new translations.

Ticket in AA- W-023772


Debugging the electron detector

Another noob question: Is there a guide [...idiot level, of course...] to debugging construction problems? I have a board that's built and where every joint and connection appears to be correct, and where all have been continuity tested with a multi-meter to different parts of the PCB (i.e. not just checking across the component but from wherever the component connects to next). The detector shows a nice pulse when switched on and off in the web oscilloscope, but gets no pulses from ~ 10g of KCl. Is there a recommended set of steps for tracking down problems? Does the web oscilloscope software need any specific adjustment?
Steve

Hi Steve,
there is a troubleshooting list in the wiki:
https://github.com/ozel/DIY_particle_detector/wiki/Assembly-Instructions#troubleshooting
Seeing a signal when switching the battery is already very good!
If it is really just 10 grams, it should be right on top of the diodes inside a small plastic bag. If you have more, like a full 100g salt dispenser wrapped in its original paper/carton you could put it as well outside, on top of the detector case (unless the diodes are then very far away inside the case, like further than one or two centimeters from the outside).
10 grams of KCl will result only in about 1.3 pulses per minute per covered diode. You've built the electron detector with four diodes, right? In this case, you should observe about 5 pulses per minute maximum, it may still require some patients to wait for them. :-)
With my web oscilloscope (https://ozel.github.io/DIY_particle_detector/data_recording_software/webGui/) one usually has to adjust the red line trigger level and put it much closer to or further away from the noise level in order to capture pulses (signal range depends a lot on the smartphone/laptop hardware). Use the two up/down arrow buttons to adjust the red line threshold level.
You could also have inverted signals (i.e. detector pulses going up than downwards) in this case you have to move the red trigger line above the noise levels. You can fix that by swapping the ground and signal connection on the 3-pin or 4-pin jack connector.
Btw, double-check that you have soldered those connections correctly as explained here:
https://github.com/ozel/DIY_particle_detector/wiki/Cables#connection-with-a-headset-socket
If you still see no pulses, it could be too much light reaching inside the case and onto the diodes. Throw a black pullover/shirt on top of the detector case and try using it in a dimmer room. If this helps, you just have to find and patch some tiny slits and holes of the case with black tape.
The last resort would be to measure your output signals with a real oscilloscope and compare the noise voltage levels with the screenshots of mine (in the main readme). But usually, problems can be identified without that.
Don't hesitate to post pictures of both board sides and your headset connector wiring. The latter is always a kind of paint point to get right.

A brief update before I spend a few days off-line: I upped the amount of KCl to about 25g and put it on top of a stand to raise it closer to the detector diodes. However, I stopped seeing the on/off pulses when the detector was switched on and off. I checked and rechecked everything but couldn't find an obvious fault. Today, I was tinkering with Windows 10 microphone settings and took the blindingly obvious [...to other people...] step of monitoring the microphone socket of the detector via the headphones. Now, suddenly, I'm hearing white noise and soft clicks every 10-15 seconds when the detector is switched on! The web oscilloscope (DIY pulse detector) started showing the white noise but very few clicks. (These seem to be only a little above the noise level, and the pulse detector only seems to detect even the white noise about 10% of the time.) My thoughts now are that this is partly a software problem, which I might tackle by rebuilding an old laptop under Ubuntu, or that there's stray light causing excess noise and I can fix that with some black tape upon my return.

Check that the battery has still enough power! If the voltage drops below 8V (measured across the disconnected battery), it is rather empty. It might deliver enough current for a few seconds if you give it some rest, but it will turn into an unreliable power source if it is drained too much.
If the detector was on for about 2 days, it's probably drained. I recommend buying cheap 9V accumulators & chargers: https://github.com/ozel/DIY_particle_detector/wiki/Batteries
The many microphone input settings of headset sockets can be a tricky problem to get right. On Mac/iPhone/iPad the headset connector switches only to "external microphone" mode if the detector is already powered before plugging it! And there is no way to do the switch manually, it is detected only automatically on Apple hardware. It also works with the lightning-to-headset adapter, by the way (if the detector is powered before plugging it in).
There could be some similar automatic detection going on with certain Windows machines, depending on the hardware.
Another problem is that some PC headset inputs are really flexible and can also function as a regular stereo or mono microphone input. A 3-pin connector and different wiring would be needed, if the socket is in that microphone mode, see: https://github.com/ozel/DIY_particle_detector/wiki/Cables#audio-jack-connector-overview-35-mm-trstrrs)
If you want to be 100% sure that the correct headset mode is recognized and selected within the web oscilloscope, please plug a regular headset and whistle/hum into the microphone. You can also experiment with the red trigger level line ob the web scope app that way and see how the triggering work works (frozen image everytime the signal goes below the line).
You did not mention if you adjusted the trigger level in the web oscilloscope app. The red line needs to move as you push the up/down on-screen buttons. It should be as close as possible below the noise levels, but not too close to them.
Unless your pulses got upwards because of twisted signal and ground wiring. In that case, the trigger line would need to be close above the noise levels.
In principle, it is possible to hear the pulses as very short glitches, depending on audio settings. But I would not check for them that way before you have seen them on an oscilloscope plot.
As described in the troubleshooting list, try snipping your detector case hard & briefly with a finger. If you can't excite short sine-like waves that way, something is still wrong on the soldering side.
My main guess right now is that your trouble is related to setting the trigger level correctly (in the app, not inside windows).
Also consider testing it on a smartphone or tablet with Firefox or Chrome (Safari on iOS). If the OS is recent enough, it should be able to access the headset socket's microphone input. Remember to always power the detector on before plugging it in. If you switch it off to check for that power-off pulse, please unplug and re-power before plugging it in again. A browser reload would be also good after replugging it.
If all of this doesn't get you anywhere, consider trying another microphone/audio input. Like the cheap CM108 USB soundcards. They are 1-2$ on Aliexpress, and a bit more on Ebay: https://github.com/ozel/DIY_particle_detector/wiki/Soundcards
You'll just need to make another 3-pin TRS jack cable for those instead of the 4-pin TRRS one for headset sockets.

After spending a day or two visiting family, I rebuilt an old laptop (Asus Eeepc 901, vintage 2010, Intel Atom processor, 2GB RAM, 32GB SSD) to run Lubuntu and connected the detector to its mic input, As expected, there is a lot of electronic noise but I do see the up/down pulses from the detector and you can fairly easily distinguish them from the false pulses caused by noise peaks. Conclusion: it's working! Thanks for help and suggestions. My son and I will probably blog this later, complete with construction photos and screenshots.

awesome! please post the blog link once done :-)
The noise is expected as the circuit got only a few thousands of charges to work with for each particle. An external USB soundcard might improve it, but usually not by much. It can be worth trying different gain settings, I've had the best results at maximum gain but anything that looks like noise-canceling disabled (see the wiki page on Soundcards).

I've blogged it here: https://clanhouse.com/cern-at-home-building-a-particle-detector

Since you're using the website scope that shows the signals rather zoomed out (optimized for alpha pulses):
you may have a better experience with the WaveWatch processing sketch, as it allows zooming into the pulses. Copied from the main readme (as I need to put this more prominently):
To run this program written in Processing, download Version 3 from www.processing.org and install the missing ‘Minim’ library via the ‘Sketch’ menu / ‘Import Library...’ / ‘Add Library...’.
Download my version of the WaveWatch Processing sketch from https://github.com/ozel/WaveWatch/archive/master.zip, unzip and open the file WaveWatch-master/WaveWatch/WaveWatch.pde in Processing.
If you want to explore some "learning to program" aspects with your son (for which Processing is perfect...), I've uploaded a very simplified oscilloscope sketch here: simple_audio_scope_for_Processing.zip
It allows setting a trigger level and count particles. Some summer students developed this with me a while back. It could be relatively easily extended to calculate a count rate per minute or per 10 minutes etc.
The WaveWatch sketch got better trigger and zooming functionality, of course. But it's more complicated to understand and work with its code directly for making extensions.
Processing is multi-platform, by the way. Should work well on Lubuntu. Only the selection of the sound device can be annoying. :-)


UAA discussed before being defined

On the roles page, UAA is discussed before being defined. The first mention is in the text Admin is a user role that has been assigned the cloud_controller.admin scope in UAA. It is included in the page by a macro.

Thank you for calling this out! It looks like we made this change and forgot to close this out.


Already have the version for cake 3?

I am migrating to version 3 of cake and I need to integrate sentry, if you can help me would be great.
Greetings and thanks

You'll have to create a new package for CakePHP 3.x.
See:

https://docs.sentry.io/clients/php/
https://book.cakephp.org/3.0/en/development/errors.html


[Magica Logia] imgsrv error fix

Changes / Comments

Changed image name and file size

This is serious. It's 3rd time that I tried to fix this URL error but I'm not sure if it will be fixed.
When I tested sheet codes in sandbox, everything displays fine.
But after branch merged? image named t_h_line.png's broken after it passes https://imgsrv.roll20.net.
[ Image URL in .CSS ] (works fine in Custom Character Sheet Sandbox)
https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Magica_Logia/img/t_h_line.png
[ Image URL actually fetched ] (XML error)
https://imgsrv.roll20.net//?src=https%3A%2F%2Fraw.githubusercontent.com%2FRoll20%2Froll20-character-sheets%2Fmaster%2FMagica_Logia%2Fimg%2Ft_h_line.png
You know, I can't handle this.
It looks like Roll20's internal server problem and I don't have any permission or solution to fix this problem.
I change image name and size of .png file that makes problem.
Please check this URL after branch merged and if it still makes trouble, please please do some internal inspect.
https://imgsrv.roll20.net/?src=https%3A//raw.githubusercontent.com/kibkibe/roll20-character-sheets/mglg_update/Magica_Logia/img/thline.png
If there is something I must(or can) do to solve this problem, please let me know.
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[ ] Does the pull request title have the sheet name(s)? Include each sheet name.
[x] Is this a bug fix?
[ ] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.


di: Allow arbitrary objects as identifiers for services

This could help us (start to) break away from the string-only ids for services in 1.x, without waiting for 2.0.
Example declaring an injection point
Foo.$inject = [Storage]; // instead of Foo.$inject = ['db'];
function Foo(db) {
 ...
}

Example wiring up the implementation in an angular module:
// These are all meant to be equivalent
angular.module('foo', [])
  .value(Storage, new StorageImpl())
  .service(Storage, StorageImpl)
  .factory(Storage, function() { return new StorageImpl() })
  .provider(Storage, function() { this.$get = function() { return new StorageImpl() }; });

I am able to implement this in a library where I generate the string IDs for compatibility with Angular 1.3, but it feels pretty hacky and seems like something Angular core should take care of.
For reference, it ends up looking something like this:
Foo.$inject = inject(Storage, Other...);
function Foo(storage, other) {...}

angular.module('foo', [])
  .service(id(Storage), StorageImpl);

+1


没中文

没中文

I'm afraid I don't speak the language myself, but I welcome pull requests to add Chinese (or other language) support.


Invalid JWT claims: Token used before issued when setUserId

i am trying to publish to a specific user.
I am using React for frontend and NodeJs for backend
I prepared the backend route and in the frontend i am doing the following:
const beamsClient = new PusherPushNotifications.Client({
instanceId: 'MYINSTANCE'
});
const beamsTokenProvider = new PusherPushNotifications.TokenProvider({
url: '/api/v1/users/beams/token'
});
useEffect(() => {
beamsClient
.start()
.then(() =>
beamsClient.setUserId(user._id.toString(), beamsTokenProvider)
)
.catch(console.error);
}, []);
When the page mounts i am seeing the backend route is being reached and is returning a token. But i am getting a frontend error in the console
Unexpected status code 401: Unauthorized, Invalid JWT claims: Token used before issued

You should check the time and date (including the timezone) settings on your issuing server - the error indicates the timestamp of the token is somehow in the future.

@ben-pusher Hi, ben. I'm getting this error in the local environment as well 😶
Both client and server are on the same machine. Also in the dashboard, It's showing 19 connected devices even though I'm the only one testing in one browser.
So my question is Do I need to call beamClient.stop before calling it again on component mount or call .start() only if notification isn't enabled? Is there a way to check if the user has already enabled notification?
Thank you :)
Here's the code snippet.
let beamsClient: PusherPushNotifications.Client | null = null;
let beamsTokenProvider: PusherPushNotifications.TokenProvider | null = null;

if (typeof window !== "undefined" && process.env.NEXT_PUBLIC_PUSHER_ID) {
  beamsClient = new PusherPushNotifications.Client({
    instanceId: process.env.NEXT_PUBLIC_PUSHER_ID,
  });
  beamsTokenProvider = new PusherPushNotifications.TokenProvider({
    url: "http://localhost:3001/pusher/beams-auth",
    credentials: "include",
    headers: {
      "x-xsrf-token": getTokenCookie()!,
    },
  });
}

beamsClient
        .start()
        .then(() => {
          beamsClient
            ?.setUserId(user.uid!, beamsTokenProvider!)
            .then((res) => console.log("token", res))
            .catch((err) => console.log("token provider", err));
        })
        .catch(() => {
          toast.error(
            "Couldn't enable notifications. Please check your browser settings."
          );
        });

Anyway i don't understand how the server timezone could be an issue. The token timestamp is in unix time so it should be timezone independent.

Anyway i don't understand how the server timezone could be an issue. The token timestamp is in unix time so it should be timezone independent.

Did you manage to solve this? @madaher-dev

Unfortunately no. I ended up using secure channels rather than beams. Also i saw you are getting multiple connections issue. If you are using React make sure not to create a new connection every time the component mounts. Save your Pusher to a state and initiate a connection only if there is no connection already established.

The token timestamp is in unix format, however the service setting the timestamp appears to have an incorrect time - this is why the error message Token used before issued is returned.
You don't need to call .stop - doing so will cause the device to no longer receive notifications. You don't need to check whether the device is registered prior to calling start: when the device attempts to register the Beams service will identify it is already registered and handle accordingly.
As @madaher-dev has mentioned - for Channels you only need to create a single connection and you should reuse this connection throughout the app.

I did some testing and I've had to add a one full second delay to the put request to work around this issue. This is because the time resolution in the token is in seconds instead of ms.
1726237231751 (server, generateToken)
1726237231807 (client, setUserId)
1726237231 (token) JWT payload {   "iat":<PHONE_NUMBER>,   "exp":<PHONE_NUMBER>,...)
While timestamps from server and client are in logical order in ms. The resolution checked is in seconds giving the error: Token used before issued
The delay below makes sure the put request to Pusher is send and retrieved 1 second later.
Here is the patch I use now in push-notifications-esm.js or cdn.js
    _context13.next = 21;
    return new Promise(resolve => setTimeout(resolve, 1000)).then(() => {
	    return doRequest(options);
    });


View JPEG-encoded data

I set up a node to view transactions containing JPEG image data, however I am only able to see some other details about the transactions even when the JPEG is present rather than the JPEG itself.
Implementing an JPEG viewer, or even an general media player for other types of content, would make the process of viewing rich media stored on-chain much more simpler.
I am not a particularly technical person, but VLC player is good for video and songs, so that may be a good starting point. For images, I am not so sure of what is out there.

I am not sure whether a built-in JPEG viewer is relevant to this wallet software, but it seems you may already view those on mainnet at ordinals.com and on signet at signet.ordinals.com.

I definitely disagree on adding this feature.


Seb comments

[x] Highlight the impact of changes in testing, testing saturation and general step changes in testing on all pages.

[x] “new infections” - is possibly a misleading label.  It’s the number of new infections that ultimately get confirmed (which means something different in every country). Perhaps call it “New cases by infection date” and in the figure labels like Fig. 6 on “Global” slightly rephrase to “Cases by date of report and their estimated date of infection”.

[x] big reproduction number plot (global) - would this look bad if they were all on the same time scale (probably, because of China)?

[x]  Latest estimates table: I’d remove “new infections” for the reasons given above, unless we can come up with a better term

I tried having the plot with all the same x axis previously and didn't love it as many of the plots are basically empty. The complexity now is that they are stitched together using patchwork so have to extract dates and then work out max and min which is a little tricky. Marking as closed but happy to revisit. @sbfnk

Changed "new infections" to -> everywhere including tables "New cases by infection date". Happy to drop from tables if preferred.

Updated to "Cases by date of report and their estimated date of infection" in all figure captions and titles.

Closed as dealt with or moved to medium term. Feel free to reopen if additional/related comments.


Does not wrap methods properly for use with libWrapper

I think this forwardIfUnhandled function in main.js is breaking libWrapper compatibility:
function forwardIfUnahndled(newFn) {
	return function (oldFn, ...args) {
		const eventHandled = newFn(...args);
		if (!eventHandled) oldFn(...args);
	};
}

Basically, I am unable to wrap Token.prototype._onDragLeftDrop or (with dnd5e) Token5e.prototype._onDragLeftDrop. Wrapping the latter never gets called at all, and wrapping the former completely fails to call the libwrapper wrap chain properly.
This function should be unnecessary when using libWrapper and should probably be removed completely, or at least used only when libWrapper is not present.
This primarily affects "Elevation Ruler" but also may affect compatibility with my other modules. I know that I get a lot of issues related to Drag Ruler compatibility, and I don't think I can fix them as it stands now.

Glad to see this issue cause I was banging my head, trying to wrap Token.prototype._onDragLeftDrop for another module and failing spectacularly. Now the behaviour I encountered makes more sense.

This function is necessary, because when Drag Ruler is running it needs to block foundry from executing it's native Drop handler (if it was executed it would cause bugs). Essentially, what this does is: It checks, if the currently dragged token has a Drag Ruler attached. If so, Drag Ruler performs whatever is necessary to provide Drag Ruler functionality. If not, the call is forwarded to foundry for default handling.
What's true is that this might block other modules from executing their function handlers in some cases. There are two main ways to remedy this:

If you don't need to block the native foundry event (which it sounds like from what you're writing) you should register your hook in libwrapper as WRAPPER. That way, your code will always be executed before Drag Ruler's hook is executed (because Drag Ruler registers as MIXED which has lower priority). As a Result, Drag Ruler will not be able to block your code.
If 1 isn't possible, and you need to register as MIXED as well, the priority (which hook is executed first) can be adjusted in the libwrapper settings. By increasing your module's priority, you ensure that you're always called before Drag Ruler is.


'pipreqs' is a package and cannot be directly executed

So I run python -m pipreqs /path/to/cwd in a folder that has contents :
11/08/2018  12:54 PM    <DIR>          .
11/08/2018  12:54 PM    <DIR>          ..
11/08/2018  02:02 PM    <DIR>          .idea
11/08/2018  11:46 AM               691 app.py
11/08/2018  11:42 AM               531 Dockerfile
11/08/2018  12:54 PM                12 requirements.txt
11/08/2018  11:17 AM    <DIR>          venv
               3 File(s)          1,234 bytes

as per dir in cmd. And yet my result is:

...Python37\python.exe: No module named pipreqs.main; 'pipreqs' is a package and cannot be directly executed

How do I solve this? Is this even related to pipreqs?

pipreqs does not currently have a __main__.py. Moving the CLI logic to that file would fix this issue. Open to PRs here.

Closing this, as it is a duplicate of #132.


Stop showing lockout message when lockout is disabled

Resolves #451

Released in version 5.0.7 on PyPI.


Consider adding a server validator for value types

The fix for #2407 only adds a client validator when then model is a value type (ModelMetadata.IsRequired == true). We tried also adding the server validator and ran into blocking bugs in other parts of the validation/mb system.
Should we do this?

Don't really need to do anything here.


jsx-curly-brace-presence ignores strings with "{" or "}" in the text

I have this setup in .eslintrc
"react/jsx-curly-brace-presence": [
  "error",
  {
    "props": "never",
    "children": "ignore"
  }
]

in this case I get
<Box mb={'1rem'} />    // ERROR - all good here I expect this error
<Box mb={'1rem {}'} /> // NO ERROR - this looks like a bug (should be ERROR too)

Hi @chestozo, from what I see your case is covered at the end of the edge cases in the rule docs.
The rationale is that in some cases it can make the code less readable:
With:
<style type="text/css">{'.main { margin-top: 0; }'}</style>;

Without:
<style type="text/css">'.main { margin-top: 0; }'</style>;

In that latter case, that seems like it'd actually be invalid.
@chestozo the only way to have curly braces show up in your string is if they're encoded or in quotes; i think the rule is working as intended here.

@chestozo the only way to have curly braces show up in your string is if they're encoded or in quotes; i think the rule is working as intended here.

would you agree that ' hello {name}' is a totally valid string that does not actually require

encoding
quoting
?

if yes this means it is still a bug ¯_(ツ)_/¯

@jzabala not really
my case is for attribute contents not for children

@chestozo I think that it seems like a programmer bug, which is why the linter rule should be forcing it to be a string inside jsx interpolation ({ }), or, to use HTML encoding - that way it's very explicit that it's intentional.

@ljharb
it is not a bug at all
here is a life example of such a string when react-intl FormattedMessage is used:
<FormattedMessage
  id='confirmAction.enterCodeMessage'
  defaultMessage='Enter code from {type}'
  values={{ type: 'email' }}
/>

ahhh! I agree that in a prop value, you should not be getting a warning from this rule. Sorry I misunderstood your OP.

ahhh! I agree that in a prop value, you should not be getting a warning from this rule. Sorry I misunderstood your OP.

Actually this rule has two tests that specifically guard agains this (disallowed JSX text characters):
https://github.com/yannickcr/eslint-plugin-react/blob/e3e767bd041988d9acb7713874c0632c68408347/tests/lib/rules/jsx-curly-brace-presence.js#L252
https://github.com/yannickcr/eslint-plugin-react/blob/e3e767bd041988d9acb7713874c0632c68408347/tests/lib/rules/jsx-curly-brace-presence.js#L248
Would them happen to be allowed values only on props?

If the OP’s test cases pass, we can close the issue by adding them. Indeed if they’re prop values they should not be warned on.

If the OP’s test cases pass, we can close the issue by adding them. Indeed if they’re prop values they should not be warned on.

I opened a PR with the changes and moved the tests.


Different visibility for different users

Description:
As a user, I want to see only the information that are relevant to me so that I am not overwhelmed by the unnecessary information OR having accessed on sensitive information about other users.
Example:
For example, while a doctor may see everything, an immigration officer should probably see only identifying information and COVID-19 status, and nothing else.
Additional Details:

[x] An admin user may have a powerful dashboard with all the controls.
[x] A patient-user may have a simplified web page to view his/her Covid-19 statistics and to modify basic information.

Acceptance criteria:
Given: The user is logged in.
When: The user is on the main page.
Then: The web app only displays information that is relevant to the user that is logged in.
Sub-task:

[ ] #256
[x] Front-end display
[x] Back-end connection

completed visibility for Doctors

DONE visibilities for ALL users


feature request: filter based on combat level

filter based on player combat level, using data from Mod Ash:
https://pbs.twimg.com/media/Dec79xQWAAA07fV.jpg

added


Refactor baselines to allow for extension

Motivation and Context
The current PPO baselines code isn't easily extendible to other tasks, architectures, or variants of on-policy RL.  This PR does some refactoring to allow other architectures and variants of on-policy RL to be added and helps slightly with other tasks.
This PR also introduces support for N-layer GRUs and support for N-layer LSTMs as the state-encoder whereas the current code is limited to a single layer GRU.
This PR also adds support for making the state-encoder auto-regressive (i.e. taking the previous action as input).
I also made this script to remap any current checkpoints so they can be loaded: https://gist.github.com/erikwijmans/94f33461982ac9e3cc354fb26e4b80e1
How Has This Been Tested
Via the tests and running train_ppo.py, and evaluate_ppo.py.  I also
Types of changes

Breaking change (fix or feature that would cause existing functionality to change)

I am not sure I can post this. This is great Erik. Simplifies a lot of complex structure in the present code and introduces allowance for  extension to desired models.
I would request you to consider adding multi-gpu support for models and simulator in this code.
I am currently using  ideas from this closed issue -https://github.com/facebookresearch/habitat-api/issues/38#issuecomment-480515073 for multiple gpus on simulator and I think it will be nice to add in this refactored code.

I have something else I've cooked up for nice clean multi-gpu support.  Stay tuned :)

I am not sure I can post this.

You are certainly welcome to post things!  The more community involvement the better!

@erikwijmans rebase needed based on PR https://github.com/facebookresearch/habitat-api/pull/153.

It already is :)

I have something else I've cooked up for nice clean multi-gpu support. Stay tuned :)

Hi Erik. Was wondering if you have updated the code with multi-gpu support for models somewhere.


A Python Lambda runtime version

Amplify CLI Version
12.11.1
Question
The latest Amplify version still generates v3.8 Python runtime, while it will be EOL soon:

We are ending support for Python 3.8 in Lambda on October 14, 2024. This follows Python 3.8 End-Of-Life (EOL) which is scheduled for October, 2024 [1].
As described in the Lambda runtime support policy [2], end of support for language runtimes in Lambda happens in several stages. Starting on October 14, 2024, Lambda will no longer apply security patches and other updates to the Python 3.8 runtime used by Lambda functions, and functions using Python 3.8 will no longer be eligible for technical support. Also, Python 3.8 will no longer be available in the AWS Console, although you can still create and update functions that use Python 3.8 via AWS CloudFormation, the AWS CLI, AWS SAM, or other tools. Starting February 28, 2025, you will no longer be able to create new Lambda functions using the Python 3.8 runtime. Starting March 31, 2025, you will no longer be able to update existing functions using the Python 3.8 runtime.
We recommend that you upgrade your existing Python 3.8 functions to the latest available Python runtime in Lambda before October 14, 2024.

I can manually update the CloudFormation for lambda function to use v3.10 runtime, but it still will create a v3.8 venv.
Is there any plans to upgrade a default Python runtime?

Hey @imortkz, thank you for reaching, marking this as feature-request to upgrade the default python runtime.
From https://github.com/aws-amplify/amplify-cli/blob/6340adbb6f02e139128c712719d8054d8fab5ad1/packages/amplify-python-function-runtime-provider/src/util/buildUtils.ts#L10
you should be able to update the runtime in the CloudFormation template and pip file present in the function to 3.10, then run amplify build function to build the function locally before pushing.

It's supposed to work for new function only?
Tried that with already deployed Python lambda function, didn't work:
`Pipfile.lock (a89a07) out of date, updating to (296d86)...
Locking [packages] dependencies...
Building requirements...
Resolving dependencies...
✔ Success!
Locking [dev-packages] dependencies...
Updated Pipfile.lock (4575da8dd7dda667a455b5ea8c5b6bf1c2a8fde62a8d4b747ada6e2146296d86)!
Installing dependencies from Pipfile.lock (296d86)...
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.
🛑 Could not find a pipenv site-packages directory at /Users/username/.local/share/virtualenvs/function-yFQL_vgG/lib/python3.10/site-packages
Learn more at: https://docs.amplify.aws/cli/project/troubleshooting/
Session Identifier: e4c545fe-1701-4253-8053-da203153cc0f`
I guess the problem is that virtualenv was already built for Python 3.8
Can you please recommend steps to migrate function from 3.8 to 3.10 properly?

@imortkz the information is currently documented here: https://docs.amplify.aws/react/build-a-backend/functions/configure-options/#updating-the-runtime

+1. Just want to emphasize these dates for the amplify team:
Starting February 28, 2025, you will no longer be able to create new Lambda functions using the Python 3.8 runtime. Starting March 31, 2025, you will no longer be able to update existing functions using the Python 3.8 runtime.

Struggled with this for a while, but I was able to successfully upgrade an existing 3.8 function to 3.11 AND build it using amplify.yml. Note - this was using the AL2023 image, not AL2. Special shout out to this guide for filling in the final pieces:
https://medium.com/@miramnair/aws-amplify-building-a-bedrock-powered-ai-model-with-python-based-lambda-function-556d501f1e5f
Steps:

Update the cfn template runtime as per guide (https://docs.amplify.aws/gen1/react/build-a-backend/functions/configure-options/#updating-the-runtime)

"Resources": {
  "LambdaFunction": {
      ...
      "Properties": {
        "Runtime": "python3.11",
        "Layers": [],
      }
      ...
    }
}

Update the Pipfile to the new runtime

[requires]
python_version = "3.11"

rebuild the lambda with the new python3.11 env (I did this using a local Anaconda 3.11 env) to update pip lockfiles

npx amplify build function <function_name>

Update my amplify.yml build commands to:

install python 3.11
install pipenv
update PATH to have access to pipenv
overwrite python3 and pip3 symlinks

version: 1
backend:
  phases:
    build:
      commands:
        # install python3.11
        # https://plainenglish.io/community/how-to-install-python-3-11-with-pip-on-amazon-linux-2023-9ab2ed
        - sudo dnf install python3.11 -y
        - sudo dnf install python3.11-pip -y
        # install pipenv directly into 3.11
        - pip3.11 install --user pipenv
        # update path
        # https://medium.com/@miramnair/aws-amplify-building-a-bedrock-powered-ai-model-with-python-based-lambda-function-556d501f1e5f
        - export PATH=$PATH:/root/.local/bin
        # update python3.11 symlinks
        # it is not recommended to overwrite the python3 symlink, but it's been working so far, so whatever
        # https://docs.aws.amazon.com/linux/al2023/ug/python.html
        - ln -fs /usr/bin/python3.11 /usr/bin/python3
        - ln -fs /usr/bin/pip3.11 /usr/bin/pip3
        - amplifyPush --simple

Committing call the changes in:

cfn templates
Pipfile files
Pipfile.lock files
amplify.yml file

Pushing all those changes FINALLY resulted in a successful build, and the lambdas deployed to the new python 3.11 runtime 😃


Fix compiler warnings

if you check the box "show verbose output during compilation" in the Arduino IDE, verifying any library that includes RTClib will print warnings.
RTClib.cpp:543:7: warning: 'isPM' may be used uninitialized in this function [-Wmaybe-uninitialized]
       if (isPM) {
       ^
RTClib.cpp:468:28: note: 'isPM' was declared here
   uint8_t hourReformatted, isPM;
                            ^
RTClib.cpp:492:47: warning: 'hourReformatted' may be used uninitialized in this function [-Wmaybe-uninitialized]
         buffer[i + 1] = '0' + hourReformatted % 10;
                                               ^
RTClib.cpp:468:11: note: 'hourReformatted' was declared here
   uint8_t hourReformatted, isPM;

It would be better if compiling didn't print warnings, but as far as I can tell, the uninitalized values aren't being read. The warnings are just being overly careful.
Easy fix: change
  uint8_t hourReformatted, isPM;
  if (apTag) {     // 12 Hour Mode
    if (hh == 0) { // midnight
      isPM = false;
      hourReformatted = 12;
    } else if (hh == 12) { // noon
      isPM = true;
      hourReformatted = 12;
    } else if (hh < 12) { // morning
      isPM = false;
      hourReformatted = hh;
    } else { // 1 o'clock or after
      isPM = true;
      hourReformatted = hh - 12;
    }
  }

to
  uint8_t hourReformatted = hh;
  bool isPM = hh >= 12;
  if (apTag) {     // 12 Hour Mode
    if (hh == 0) { // midnight
      hourReformatted = 12;
    } else if (hh <= 12) { // morning/noon
      hourReformatted = hh;
    } else { // 1 o'clock or after
      hourReformatted = hh - 12;
    }
  }

I can submit a PR making this change, but I'd prefer to wait until my first PR, #190 goes through.

I get a variation of these warnings when using PlatformIO for the NODEMCUV2 -
C:\Users\me.platformio\lib\RTClib\RTClib.cpp: In member function 'char* DateTime::toString(cha
C:\Users\me.platformio\lib\RTClib\RTClib.cpp:543:7: warning: 'isPM' may be used uninitialized
if (isPM) {
^
C:\Users\me.platformio\lib\RTClib\RTClib.cpp:492:51: warning: 'hourReformatted' may be used un
buffer[i + 1] = '0' + hourReformatted % 10;
^_
The truncation was done by something in the IDE, not by myself.
Does the code still get compiled ok ?
Would maxbla's fix work in this case ?

Compilers differ in how they analyze the code. One compiler may see a “possible” problem where another one realizes there is no actual problem, and a third one doesn't even notice there is something to worry about.
The code should compile file for either board. maxbla's fix should silence the warnings, with no measurable difference in performance.

Hi,
same warnings problem on PlatformIO
.pio/libdeps/nanoatmega328/RTClib/RTClib.cpp: In member function 'bool DateTime::operator<(const DateTime&) const':
.pio/libdeps/nanoatmega328/RTClib/RTClib.cpp:672:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   return (yOff + 2000 < right.year() ||
                       ^
.pio/libdeps/nanoatmega328/RTClib/RTClib.cpp:673:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
           (yOff + 2000 == right.year() &&
                        ^
.pio/libdeps/nanoatmega328/RTClib/RTClib.cpp: In member function 'bool DateTime::operator==(const DateTime&) const':
.pio/libdeps/nanoatmega328/RTClib/RTClib.cpp:696:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   return (right.year() == yOff + 2000 && right.month() == m &&
                        ^

@antwal: The -Wsign-compare warnings have been fixed by pull request #196.

Should be fixed with latest library release.


encode path components

PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] infrastructure changes
[ ] Other... Please describe:

What is the current behavior?

Create a file or directory within your routes containing characters that browsers encode, for example src/routes/漢字.tsx
Browse /漢字
Not found

Need to rename the file to %25E6%25BC%25A2%25E5%25AD%2597.tsx. This isn't documented anywhere and shouldn't be necessary. File and directory names like this are too unwieldy to use.
What is the new behavior?

Create a src/routes/漢字.tsx
Browse /漢字
Page loads as expected

This seems reasonable. I was thinking maybe we should be handling this at the router level rather than the file system routing level, as those paths break the router even without Start. I'd love to know if other routers handle it there.

https://github.com/solidjs/solid-router/pull/354 fixes it on the router end if this is preferred.

Yeah I'm certain the router is the better place to handle this. I'm not even sure we should be handling this in the config in but rather better handling this when processing the input from the URL or the matching. I've updated the router and even if that fix isn't perfect I think that is where the fixes of this nature belong.