Xcode 13.3 beta prints warning Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS

Steps to Reproduce

Issues with Macbook Air M1 chip & Flutter Firebase

Flutter 2.10.1 • channel stable • https://github.com/flutter/flutter.git
Framework • revision db747aa133 (2 days ago) • 2022-02-09 13:57:35 -0600
Engine • revision ab46186b24
Tools • Dart 2.16.1 • DevTools 2.9.2
Flutter Doctor -verbose
flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.10.1, on macOS 12.0.1 21A559 darwin-arm, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.1)
[✓] Android Studio (version 2021.1)
[✓] VS Code (version 1.64.0)
[✓] VS Code (version 1.64.0)
[✓] Connected device (2 available)
[✓] HTTP Host Availability

• No issues found!

flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.10.1, on macOS 12.0.1 21A559 darwin-arm, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.1)
[✓] Android Studio (version 2021.1)
[✓] VS Code (version 1.64.0)
[✓] VS Code (version 1.64.0)
[✓] Connected device (2 available)
[✓] HTTP Host Availability

• No issues found!

Android Studio version

Example : https://firebase.google.com/codelabs/firebase-get-to-know-flutter#5

Xcode build done.                                            2.0s
Failed to build iOS app
Error output from Xcode build:
↳
    2022-02-11 15:07:33.077 xcodebuild[63781:306900] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionSentinelHostApplications for extension Xcode.DebuggerFoundation.AppExtensionHosts.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
    2022-02-11 15:07:33.077 xcodebuild[63781:306900] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
    xcodebuild: error: Could not resolve package dependencies:
      failed extracting 'https://dl.google.com/firebase/ios/swiftpm/8.12.0/GoogleAppMeasurement.zip' which is required by binary target 'GoogleAppMeasurement':

Summary: After many attempts with brew install cocoapods and installing Xcode Beta + Flutter, it appears there are issues with Flutter SDK package
https://dl.google.com/firebase/ios/swiftpm/8.12.0/GoogleAppMeasurement.zip'
Please help with steps on how to cross this error with GoogleAppMeasurement.zip in Xcode.
Thanks,
Maxelerate

@maxelerate
Do you get the errors as you reported only after following the steps mentioned in the firebase codelabs ? or in other projects as well ?
Can you create a new project and run it to see if you get similar errors with it too or not ?
I haven't looked at the codelab part yet, but does it mention to add any specific dependencies ?

@darshankawar @maxelerate  I got same error after I just upgraded to Xcode 13.3-beta.
Error output from Xcode build:
↳
    2022-03-02 17:45:38.148 xcodebuild[62848:6695836] Requested but did not find extension point with identifier
    Xcode.IDEKit.ExtensionSentinelHostApplications for extension Xcode.DebuggerFoundation.AppExtensionHosts.watchOS of plug-in
    com.apple.dt.IDEWatchSupportCore
    2022-03-02 17:45:38.148 xcodebuild[62848:6695836] Requested but did not find extension point with identifier
    Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of
    plug-in com.apple.dt.IDEWatchSupportCore
    ** BUILD FAILED **

It was almost same error. I think it's not about firebase (sorry for reply here), but I don't know how to resolve this error.

Try to run with rosetta

Anyone have an answer to this? Not sure why its been closed. I get this error on an Intel mac.

@js1972
Since the original reporter has not answered, would you be able to provide more details to replicate this error by providing your flutter doctor -v ?

Hi @darshankawar. Sure no problems. Here's my output of flutter doctor -v:
❯ flutter doctor -v
[✓] Flutter (Channel stable, 2.10.3, on macOS 12.2.1 21D62 darwin-x64, locale en-AU)
    • Flutter version 2.10.3 at /Users/I540401/dev/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 7e9793dee1 (2 weeks ago), 2022-03-02 11:23:12 -0600
    • Engine revision bd539267b4
    • Dart version 2.16.1
    • 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/macos#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.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[!] 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/macos#android-setup for detailed instructions).

[✓] VS Code (version 1.65.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.36.0

[✓] Connected device (1 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 99.0.4844.74

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

! Doctor found issues in 2 categories.

Note that I do not need to build for Android which is why I have not installed Android Studio.

@js1972
Thanks, but can you also provide steps to replicate if any, as when does it throw the said error ?

The only thing that has changed since last successful run is that I recently updated my mac so now on macos 12.2.1.
I tried flutter run and it failed.
So I then did the following:

flutter clean
rm -rf ios/Pods
rm -rf ios/.symlinks
rm  ios/Podfile
rm ios/Podfile.lock
pod cache clean --all
flutter run

All the above mulitple times etc. All with no luck.
Another person on the other issue #100161 mentioned to set the ios deployment target to 15.3 (a recent version) but that also made no difference to me.

Okay, just found a solution which might sound super dumb but updating my Mac OS to Moterey 12.3 solved the issue with no change in the code required.

I recently upgraded my macOS from Catalina to Monterey 12.2.1 and have not seen such issue while trying to run my apps. My Xcode version is 13.2.1, so I am not sure what would exactly be causing the issue.
I am going ahead and labeling it for further investigation from the team.
My macOS 12.2.1 21D62
Also, this doesn't seem to be specific to M1, as I've seen same reports happening on Intel chip too.

/cc @jmagman @zanderso

I just deleted my project and re-cloned from github to try again. Got a little bit more error info:
 /Users/I540401/dev/smartguardian_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 15.4.99. (in target 'Reachability' from project 'Pods')     Result bundle written to path:
Launching lib/main.dart on iPhone 12 Pro in debug mode...
Xcode build done.                                           51.7s
Failed to build iOS app
Error output from Xcode build:
↳
    2022-03-18 09:05:16.589 xcodebuild[48266:12403744] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionSentinelHostApplications for extension Xcode.DebuggerFoundation.AppExtensionHosts.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
    2022-03-18 09:05:16.590 xcodebuild[48266:12403744] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
    ** BUILD FAILED **
Xcode's output:
↳
    Writing result bundle at path:
    	/var/folders/82/y_h0djv17yvdwh0w89577w080000gn/T/flutter_tools.U4bujC/flutter_ios_build_temp_dirzJ47kt/temporary_xcresult_bundle
/Users/I540401/dev/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_app_badger-1.3.0/ios/Classes/FlutterAppBadgerPlugin.m:17:9: warning: 'UIUserNotificationSettings' is deprecated: first deprecated in iOS 10.0 - Use UserNotifications Framework's UNNotificationSettings [-Wdeprecated-declarations]
            UIUserNotificationSettings* notificationSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil];
            ^
    In module 'UIKit' imported from /Users/I540401/dev/smartguardian_app/ios/Pods/Target Support Files/flutter_app_badger/flutter_app_badger-prefix.pch:2:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.4.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUserNotificationSettings.h:44:12: note: 'UIUserNotificationSettings' has been explicitly marked deprecated here
    @interface UIUserNotificationSettings : NSObject
               ^
/Users/I540401/dev/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_app_badger-1.3.0/ios/Classes/FlutterAppBadgerPlugin.m:17:105: warning: 'UIUserNotificationTypeAlert' is deprecated: first deprecated in iOS 10.0 - Use UserNotifications Framework's UNAuthorizationOptions [-Wdeprecated-declarations]
            UIUserNotificationSettings* notificationSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil];
                                                                                ^
    In module 'UIKit' imported from /Users/I540401/dev/smartguardian_app/ios/Pods/Target Support Files/flutter_app_badger/flutter_app_badger-prefix.pch:2:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.4.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUserNotificationSettings.h:17:32: note: 'UIUserNotificationType' has been explicitly marked deprecated here
    typedef NS_OPTIONS(NSUInteger, UIUserNotificationType) {
                                   ^
/Users/I540401/dev/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_app_badger-1.3.0/ios/Classes/FlutterAppBadgerPlugin.m:17:135: warning: 'UIUserNotificationTypeBadge' is deprecated: first deprecated in iOS 10.0 - Use UserNotifications Framework's UNAuthorizationOptions [-Wdeprecated-declarations]
            UIUserNotificationSettings* notificationSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil];
                                                                                ^
    In module 'UIKit' imported from /Users/I540401/dev/smartguardian_app/ios/Pods/Target Support Files/flutter_app_badger/flutter_app_badger-prefix.pch:2:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.4.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUserNotificationSettings.h:17:32: note: 'UIUserNotificationType' has been explicitly marked deprecated here
    typedef NS_OPTIONS(NSUInteger, UIUserNotificationType) {
                                   ^
/Users/I540401/dev/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_app_badger-1.3.0/ios/Classes/FlutterAppBadgerPlugin.m:17:165: warning: 'UIUserNotificationTypeSound' is deprecated: first deprecated in iOS 10.0 - Use UserNotifications Framework's UNAuthorizationOptions [-Wdeprecated-declarations]
            UIUserNotificationSettings* notificationSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil];
                                                                                ^
    In module 'UIKit' imported from /Users/I540401/dev/smartguardian_app/ios/Pods/Target Support Files/flutter_app_badger/flutter_app_badger-prefix.pch:2:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.4.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUserNotificationSettings.h:17:32: note: 'UIUserNotificationType' has been explicitly marked deprecated here
    typedef NS_OPTIONS(NSUInteger, UIUserNotificationType) {
                                   ^
/Users/I540401/dev/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_app_badger-1.3.0/ios/Classes/FlutterAppBadgerPlugin.m:17:88: warning: 'UIUserNotificationSettings' is deprecated: first deprecated in iOS 10.0 - Use UserNotifications Framework's UNNotificationSettings [-Wdeprecated-declarations]
            UIUserNotificationSettings* notificationSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil];
                                                                                ^
    In module 'UIKit' imported from /Users/I540401/dev/smartguardian_app/ios/Pods/Target Support Files/flutter_app_badger/flutter_app_badger-prefix.pch:2:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.4.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUserNotificationSettings.h:44:12: note: 'UIUserNotificationSettings' has been explicitly marked deprecated here
    @interface UIUserNotificationSettings : NSObject
               ^
/Users/I540401/dev/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_app_badger-1.3.0/ios/Classes/FlutterAppBadgerPlugin.m:19:44: warning: 'registerUserNotificationSettings:' is deprecated: first deprecated in iOS 10.0 - Use UserNotifications Framework's -[UNUserNotificationCenter requestAuthorizationWithOptions:completionHandler:] and -[UNUserNotificationCenter setNotificationCategories:] [-Wdeprecated-declarations]
            [[UIApplication sharedApplication] registerUserNotificationSettings:notificationSettings];
                                               ^
    In module 'UIKit' imported from /Users/I540401/dev/smartguardian_app/ios/Pods/Target Support Files/flutter_app_badger/flutter_app_badger-prefix.pch:2:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.4.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:251:1: note: 'registerUserNotificationSettings:' has been explicitly marked deprecated here
    - (void)registerUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter requestAuthorizationWithOptions:completionHandler:] and -[UNUserNotificationCenter setNotificationCategories:]", ios(8.0, 10.0)) API_UNAVAILABLE(tvos);
    ^
    6 warnings generated.
    error: the following command failed with exit code 0 but produced no further output
CompileC /Users/I540401/Library/Developer/Xcode/DerivedData/Runner-hgbortgnmoyqfpesinxugifwbemc/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/flutter_app_badger.build/Objects-normal/arm64/FlutterAppBadgerPlugin.o /Users/I540401/dev/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_app_badger-1.3.0/ios/Classes/FlutterAppBadgerPlugin.m normal arm64 objective-c com.apple.compilers.llvm.clang.1_0.compiler (in target 'flutter_app_badger' from project 'Pods')
    /Users/I540401/dev/smartguardian_app/ios/Pods/Reachability/Reachability.m:465:63: warning: cast to smaller integer type 'unsigned int' from 'Reachability *' [-Wpointer-to-int-cast]
                                 NSStringFromClass([self class]), (unsigned int) self, [self currentReachabilityFlags]];
                                                                  ^~~~~~~~~~~~~~~~~~~
    1 warning generated.
    /Users/I540401/dev/smartguardian_app/ios/Pods/Reachability/Reachability.m:465:63: warning: cast to smaller integer type 'unsigned int' from 'Reachability *' [-Wpointer-to-int-cast]
                                 NSStringFromClass([self class]), (unsigned int) self, [self currentReachabilityFlags]];
                                                                  ^~~~~~~~~~~~~~~~~~~
    1 warning generated.
    While building module 'FirebaseMessaging' imported from /Users/I540401/dev/smartguardian_app/ios/Pods/Headers/Public/Firebase/Firebase.h:66:
    In file included from <module-includes>:1:
    In file included from /Users/I540401/dev/smartguardian_app/ios/Pods/Target Support Files/FirebaseMessaging/FirebaseMessaging-umbrella.h:13:
    In file included from /Users/I540401/dev/smartguardian_app/ios/Pods/FirebaseMessaging/FirebaseMessaging/Sources/Public/FirebaseMessaging/FirebaseMessaging.h:18:
    /Users/I540401/dev/smartguardian_app/ios/Pods/FirebaseMessaging/FirebaseMessaging/Sources/Public/FirebaseMessaging/FIRMessagingExtensionHelper.h:37:38: warning: 'UNMutableNotificationContent' is only available on iOS 10.0 or newer [-Wunguarded-availability]
    - (void)populateNotificationContent:(UNMutableNotificationContent *)content
                                         ^
    In module 'UserNotifications' imported from /Users/I540401/dev/smartguardian_app/ios/Pods/FirebaseMessaging/FirebaseMessaging/Sources/Public/FirebaseMessaging/FIRMessagingExtensionHelper.h:22:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.4.sdk/System/Library/Frameworks/UserNotifications.framework/Headers/UNNotificationContent.h:97:12: note: 'UNMutableNotificationContent' has been marked as being introduced in iOS 10.0 here, but the deployment target is iOS 9.0.0
    @interface UNMutableNotificationContent : UNNotificationContent
               ^
    While building module 'FirebaseMessaging' imported from /Users/I540401/dev/smartguardian_app/ios/Pods/Headers/Public/Firebase/Firebase.h:66:
    In file included from <module-includes>:1:
    In file included from /Users/I540401/dev/smartguardian_app/ios/Pods/Target Support Files/FirebaseMessaging/FirebaseMessaging-umbrella.h:13:
    In file included from /Users/I540401/dev/smartguardian_app/ios/Pods/FirebaseMessaging/FirebaseMessaging/Sources/Public/FirebaseMessaging/FirebaseMessaging.h:18:
    /Users/I540401/dev/smartguardian_app/ios/Pods/FirebaseMessaging/FirebaseMessaging/Sources/Public/FirebaseMessaging/FIRMessagingExtensionHelper.h:37:1: note: annotate 'populateNotificationContent:withContentHandler:' with an availability attribute to silence this warning
    - (void)populateNotificationContent:(UNMutableNotificationContent *)content
    ^
    /Users/I540401/dev/smartguardian_app/ios/Pods/FirebaseMessaging/FirebaseMessaging/Sources/Public/FirebaseMessaging/FIRMessagingExtensionHelper.h:38:47: warning: 'UNNotificationContent' is only available on iOS 10.0 or newer [-Wunguarded-availability]
                     withContentHandler:(void (^)(UNNotificationContent *_Nonnull))contentHandler;
                                                  ^
    In module 'UserNotifications' imported from /Users/I540401/dev/smartguardian_app/ios/Pods/FirebaseMessaging/FirebaseMessaging/Sources/Public/FirebaseMessaging/FIRMessagingExtensionHelper.h:22:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.4.sdk/System/Library/Frameworks/UserNotifications.framework/Headers/UNNotificationContent.h:37:12: note: 'UNNotificationContent' has been marked as being introduced in iOS 10.0 here, but the deployment target is iOS 9.0.0
    @interface UNNotificationContent : NSObject <NSCopying, NSMutableCopying, NSSecureCoding>
               ^
    While building module 'FirebaseMessaging' imported from /Users/I540401/dev/smartguardian_app/ios/Pods/Headers/Public/Firebase/Firebase.h:66:
    In file included from <module-includes>:1:
    In file included from /Users/I540401/dev/smartguardian_app/ios/Pods/Target Support Files/FirebaseMessaging/FirebaseMessaging-umbrella.h:13:
    In file included from /Users/I540401/dev/smartguardian_app/ios/Pods/FirebaseMessaging/FirebaseMessaging/Sources/Public/FirebaseMessaging/FirebaseMessaging.h:18:
    /Users/I540401/dev/smartguardian_app/ios/Pods/FirebaseMessaging/FirebaseMessaging/Sources/Public/FirebaseMessaging/FIRMessagingExtensionHelper.h:37:1: note: annotate 'populateNotificationContent:withContentHandler:' with an availability attribute to silence this warning
    - (void)populateNotificationContent:(UNMutableNotificationContent *)content
    ^
    2 warnings generated.
    2 warnings generated.
    error: the following command failed with exit code 0 but produced no further output
CompileC /Users/I540401/Library/Developer/Xcode/DerivedData/Runner-hgbortgnmoyqfpesinxugifwbemc/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/firebase_analytics.build/Objects-normal/x86_64/FLTFirebaseAnalyticsPlugin.o /Users/I540401/dev/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_analytics-8.3.4/ios/Classes/FLTFirebaseAnalyticsPlugin.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler (in target 'firebase_analytics' from project 'Pods')
    In file included from /Users/I540401/dev/smartguardian_app/ios/ImageNotification/NotificationService.m:10:
    /Users/I540401/dev/smartguardian_app/build/ios/Debug-iphonesimulator/FirebaseMessaging/FirebaseMessaging.framework/Headers/FirebaseMessaging.h:17:9: warning: double-quoted include "FIRMessaging.h" in framework header, expected angle-bracketed instead [-Wquoted-include-in-framework-header]
    #import "FIRMessaging.h"
            ^~~~~~~~~~~~~~~~
            <FirebaseMessaging/FIRMessaging.h>
    /Users/I540401/dev/smartguardian_app/build/ios/Debug-iphonesimulator/FirebaseMessaging/FirebaseMessaging.framework/Headers/FirebaseMessaging.h:18:9: warning: double-quoted include "FIRMessagingExtensionHelper.h" in framework header, expected angle-bracketed instead [-Wquoted-include-in-framework-header]
    #import "FIRMessagingExtensionHelper.h"
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            <FirebaseMessaging/FIRMessagingExtensionHelper.h>
    2 warnings generated.

Error launching application on iPhone 12 Pro.
Exited (sigterm)

Found Solution.

Check for updates of XCode in App Store.
Launch XCode -> It will ask you to install additional software. Solved Problem for me.

@ste-el-bow you are one of the lucky ones. I'm already on xcode 13.3 so have nothing new to update to... Launching Xcode does not try to install any additional software.

@js1972 Same issue here. I have to mention that it just happened on some complicated project, a sample demo code doesn't have this issue. Also, seems only happened on running on Simulator. cc @darshankawar

Am getting the same issue even though am using an older version of flutter (2.8.0)

@jinfagang I get the same errors regardless of whether I'm building for the sim or my real phone plugged in.

In my case the error went away without upgrade macOS or changing anything else.. weird.

https://stackoverflow.com/questions/70363918/error-member-not-found-packageroot-how-to-solve-ignore-deprecated-member-u

am getting this error
error: backend command failed due to signal 6 (use -v to see invocation)
LLVM ERROR: out of memory
Allocation failed

@Lawati97
That looks unreleated to the issue being discussed in this thread. Please open new issue with all requested details in new issue template.

For the original issue reported by the OP @maxelerate , it was this error:
failed extracting 'https://dl.google.com/firebase/ios/swiftpm/8.12.0/GoogleAppMeasurement.zip' which is required by binary target 'GoogleAppMeasurement':
Whose solution could be https://stackoverflow.com/questions/70620150/flutter-error-googleappmeasurement-when-build-app-in-xcode
So everyone in this thread, if you are getting above error, please try the SO link and see if it helps.

@stuartmorgan I think the original issue here sounds like it is covered by https://github.com/flutter/flutter/issues/98298#issuecomment-1072347143, but thought you should be aware in case there's something to integrate from that SO answer.

In my case (I already have installed command line developer tools) I fix it by running
sudo xcode-select -r

Update version to 2.10.3 in project.
Next:
flutter clean
flutter pub get

Update version to 2.10.3 in project. Next:
flutter clean
flutter pub get

Didn't work for me

I have solved the issue by downgrading XCode to 13.2 from 13.3

Also an issue for me:

macOS Monterey v12.3
Xcode 13.3
Flutter v2.10.3

Have been trying a million things for 3 days ... no luck.

@ryzizub do you mind if I ask how you install an older version of xcode?

@js1972 sure thing.

I have downloaded previous version on apple website
xib extracted to application folder
set right version using command sudo xcode-select -switch /Applications/Xcode-13.2.app (Xcode-13.2, is my naming in application folder, it up to you how to name it. You can also completely uninstall 13.3 a just downgrade)

After full setup you can make sure that you are using right version using command /usr/bin/xcodebuild -version

@ryzizub Could you please also specify your Mac chip and the version of Flutter?

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.10.3, on macOS 12.2.1 21D62 darwin-x64, locale cs-CZ)
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 13.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2020.3)
[✓] VS Code (version 1.65.2)
[✓] Connected device (1 available)
[✓] HTTP Host Availability

intel i7 6cores

@ryzizub Thanx a lot, mate!

@ryzizub That's so strange. I had almost the same set-up as you, except flutter version and M1 chip. So, I've upgraded flutter from 2.8.1 to 2.10.3 and the issue disappeared! 🤯 I still got XCode version 13.3.

Everything was working fine. Then today after updating xcode to 13.3, I am getting this error.
My macOS version: Moneterey version 12.2.1
Flutter (Channel stable, 2.8.1)
Launching lib/main.dart on iPhone SE (3rd generation) in debug mode...
Running Xcode build...
└─Compiling, linking and signing...                         4.8s
Xcode build done.                                           53.2s
Failed to build iOS app
Error output from Xcode build:
↳
2022-03-20 11:22:03.929 xcodebuild[23503:108094] Requested but did not find extension point with identifier
Xcode.IDEKit.ExtensionSentinelHostApplications for extension Xcode.DebuggerFoundation.AppExtensionHosts.watchOS of plug-in
com.apple.dt.IDEWatchSupportCore
2022-03-20 11:22:03.930 xcodebuild[23503:108094] Requested but did not find extension point with identifier
Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension
Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
** BUILD FAILED **
flutter doctor -v
[✓] Flutter (Channel stable, 2.8.1, on macOS 12.2.1 21D62 darwin-x64, locale en-US)
• Flutter version 2.8.1 at /Users/lipingxiong/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 77d935af4d (3 months ago), 2021-12-16 08:37:33 -0800
• Engine revision 890a5fca2e
• Dart version 2.15.1
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at /Users/lipingxiong/Library/Android/sdk
• Platform android-31, build-tools 29.0.2
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• CocoaPods version 1.11.2
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 4.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
[✓] IntelliJ IDEA Community Edition (version 2019.3.1)
• IntelliJ at /Applications/IntelliJ IDEA CE.app
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
[✓] VS Code (version 1.35.0)
• VS Code at /Users/lipingxiong/Documents/app_dev/Visual Studio Code.app/Contents
• Flutter extension version 3.1.0
[✓] Connected device (2 available)
• iPhone SE (3rd generation) (mobile) • A4595337-43AC-40B9-9B5B-FC4425D31EA0 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-4
(simulator)
• Chrome (web)                        • chrome                               • web-javascript • Google Chrome 99.0.4844.74

@lipingx Can you try downgrade to 13.2 if issue still remains, if yes, than we can be sure, that its something going on with flutter and xcode 13.3

Here's how I solved the issue:
macOS: Monterey
XCode: 13.3
Flutter: 2.10
Dart : 2.16.1
Once you've the above config set, run 'flutter packages upgrade'.
Then create a backup of your 'ios' folder and delete it from your project repo.
now run 'flutter clean' followed by 'flutter create .' This will create an 'ios' folder in the repo.
Copy the Info.plist, Podfile and any other config files like GoogleServices.plist from the backup 'ios' folder to the newly created 'ios' folder.
Run the project now and it should work!

@ryzizub instead of downgrade, I upgraded the Flutter. And the problem is fixed for me.
It worked for me with the following setup:
macOS: Monterey 12.2.1
XCode: 13.3
Flutter: 2.10.3
Dart : 2.16.1
[✓] Flutter (Channel stable, 2.10.3, on macOS 12.2.1 21D62 darwin-x64, locale en-US)
• Flutter version 2.10.3 at /Users/lipingxiong/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 7e9793dee1 (3 weeks ago), 2022-03-02 11:23:12 -0600
• Engine revision bd539267b4
• Dart version 2.16.1
• DevTools version 2.9.2

Confirmed @lipingx and @AshfaqAshi I have matched your software levels.
But note, also on every machine I also had to clear our all my Cocoapods setup via this process: https://stackoverflow.com/questions/59362862/flutter-ios-build-failed-an-error-of-pod-files-podfile-is-out-of-date
After that local and CI/CD builds are fine.

Hi @AshfaqAshi I followed your solution and it has worked to at least build successfully for development. Thankyou very much!
One additional step I had to do was to uncomment the line at the top of the pods file:
# Uncomment this line to define a global platform for your project
platform :ios, '15.0'

I just set it to 15 - I think it defaulted to 9.
The saga continues for me though as it seems firebase have changed the way you need to initialise your app... so more reading and testing.  ;-)

Looks like Xcode 13.3 prints Requested but did not find extension point with identifier                     Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of plug-in                     com.apple.dt.IDEWatchSupportCore on every build.  It is NOT an error, it looks like a harmless warning.  If you successfully build with -v you will also see it.
If you are seeing an error it is totally unrelated to that message and you need fix the actual error.  We've improved the Xcode error output as of https://github.com/flutter/flutter/pull/94747 in 2.10 but it looks like the original reporter is on 2.10.2.
Can anyone seeing this on > Flutter 2.10 please attach the full output of the command you are running?  All the examples I see are just truncated to the confusing Xcode warning text.  We'd like to improve this output further.
We could suppress this message from Xcode to avoid confusion, but I suspect they will have fixed this by the time 13.3 GMs.
So to recap: that message is harmless and prints on every build regardless of whether it passes or fails.  This issue has become a conflation of many different build problems.  We can track that the confusing message is shown here, but you should file a new issue with the --verbose flag so we can actually try to diagnose your particular build issue.

@cyanglaz now that #94747 is done can we get rid of the logic that prints the last x stderr lines from Xcode if the xcResult was successfully generated?
https://github.com/flutter/flutter/blob/42eb9032009b12a7671451b99a18828f3815b741/packages/flutter_tools/lib/src/ios/mac.dart#L388-L391

@cyanglaz now that #94747 is done can we get rid of the logic that prints the last x stderr lines from Xcode if the xcResult was successfully generated?

I think so. https://github.com/flutter/flutter/issues/100721 created

![38CB390F-C746-4858-804E-BFBBA15C654E](https://user-images.githubusercontent.com/18552341/160090807-6dbf761f-2824-4f0a-8553-d532e46dac7d.png)

i solved issue by upgrade xcode to 13.3.1

Xcode has stray logging every few releases, it's wack-a-mole suppressing them.

Same issue here @maxelerate @jmagman @darshankawar
Using Mac OS Monterey 12.4 | Xcode Version- 13.4
Issue was the same since Xcode version 13.2, tried downloading dependencies as well. Nothing seems to work. Any help please?
Error output from Xcode build:
↳
2022-05-25 18:30:32.893 xcodebuild[5688:64505] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionSentinelHostApplications for extension
Xcode.DebuggerFoundation.AppExtensionHosts.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
2022-05-25 18:30:32.894 xcodebuild[5688:64505] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension
Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
** ARCHIVE FAILED **
-> Command PhaseScriptExecution failed with a nonzero exit code

@jmagman On Flutter 3.0.1, I am getting this error only when I'm connected via SSH to the Mac for some reason (and every time when I do so), but I don't get it if I do flutter run from Terminal.app in the Mac. I suspect it might have to do with the difference in environment variables.
[rgabriel@vector ~]$ ssh <IP_ADDRESS>
Last login: Wed Jun  8 04:03:06 2022 from <IP_ADDRESS>
rgabriel@macos ~ % cd Projects
rgabriel@macos Projects % flutter create myapp --org com.notexample
Signing iOS app for device deployment using developer identity: "Apple Development: [redacted name] ([redacted team id])"
Creating project myapp...
Running "flutter pub get" in myapp...                              949ms
Wrote 127 files.

All done!
In order to run your application, type:

  $ cd myapp
  $ flutter run

Your application code is in myapp/lib/main.dart.

rgabriel@macos Projects % cd myapp
rgabriel@macos myapp % flutter run
Multiple devices found:
aifon (mobile)             • [redacted uuid] • ios        • iOS 14.8 18H17
iPhone 11 Pro Max (mobile) • 6FC1DB0A-8250-4FB4-99A2-3799989F7423     • ios        •
com.apple.CoreSimulator.SimRuntime.iOS-15-5 (simulator)
macOS (desktop)            • macos                                    • darwin-x64 • macOS 12.4 21F79 darwin-x64
[1]: aifon ([redacted uuid])
[2]: iPhone 11 Pro Max (6FC1DB0A-8250-4FB4-99A2-3799989F7423)
[3]: macOS (macos)
Please choose one (To quit, press "q/Q"): 1
Launching lib/main.dart on aifon in debug mode...
Automatically signing iOS for device deployment using specified development team in Xcode project: [redacted team id]
Running Xcode build...
Xcode build done.                                           16.5s
Failed to build iOS app
Error output from Xcode build:
↳
    2022-06-08 04:12:20.030 xcodebuild[56744:423826] Requested but did not find extension point with identifier
    Xcode.IDEKit.ExtensionSentinelHostApplications for extension Xcode.DebuggerFoundation.AppExtensionHosts.watchOS of
    plug-in com.apple.dt.IDEWatchSupportCore
    2022-06-08 04:12:20.030 xcodebuild[56744:423826] Requested but did not find extension point with identifier
    Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension
    Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
    ** BUILD FAILED **

Xcode's output:
↳
    Writing result bundle at path:
    	/var/folders/zm/nrbt6lb11h50hp92r9bhg7mh0000gn/T/flutter_tools.z6BlUh/flutter_ios_build_temp_diruKzFzC/temporary_xc
    	result_bundle

    Failed to package /Users/rgabriel/Projects/myapp.
    Command PhaseScriptExecution failed with a nonzero exit code
    note: Using new build system
    note: Planning
    note: Build preparation complete
    note: Building targets in dependency order

    Result bundle written to path:
    	/var/folders/zm/nrbt6lb11h50hp92r9bhg7mh0000gn/T/flutter_tools.z6BlUh/flutter_ios_build_temp_diruKzFzC/temporary_xc
    	result_bundle

Could not build the precompiled application for the device.

Error launching application on aifon.

Let me know if you need any additional information.

I'm also stuck on
2022-06-08 04:12:20.030 xcodebuild[56744:423826] Requested but did not find extension point with identifier
Xcode.IDEKit.ExtensionSentinelHostApplications for extension Xcode.DebuggerFoundation.AppExtensionHosts.watchOS of
plug-in com.apple.dt.IDEWatchSupportCore
2022-06-08 04:12:20.030 xcodebuild[56744:423826] Requested but did not find extension point with identifier
Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension
Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
** BUILD FAILED **
I have command line tools installed
I checked my xcode preferences > locations > command line tools is what it should be
I added the path of my command line tools in the zshrc file and that didn't work
Please help :)


Bug: LuaLine colors mess up when I open a file with syntax on

latest for both (have seen this issue even in bufferline)
Self Checks

[x ] I'm using the latest lualine and neovim nightly.
[x ] I didn't find the issue in exsisting issues or prs.

How to reproduce the problem (See EASIER_STEPS for easier steps)

Keep colorscheme desert (at least one colorscheme must be set) in your init.lua file
Start neovim by opening empty file. You should see this (lualine with correct colors)

open a file with vim syntax support (e.g. a .cpp file)
make sure treesitter or any other plugin affecting highlighting is disabled.

EASIER_STEPS
The whole bug can be narrowed down by doing this, on the vim commandline source any colorscheme:
:source /u/urmish/usr/local/share/nvim/runtime/colors/desert.vim

then lualine/bufferline colors mess up.
But after this, if I run
colorscheme desert

Lualine colors are restored.
Actual behaviour

Expected behaviour

Additional information
After some basic profiling I noticed this, when I open/create a program file nvim loads the colorscheme (desert.vim) like so
I] ➜ g ^SCRIPT e_cpp.log
SCRIPT  /usr/local/share/nvim/runtime/syntax/synload.vim
SCRIPT  /usr/local/share/nvim/runtime/syntax/syncolor.vim
SCRIPT  /usr/local/share/nvim/runtime/colors/desert.vim
SCRIPT  /usr/local/share/nvim/runtime/ftplugin/cpp.vim
SCRIPT  /usr/local/share/nvim/runtime/ftplugin/c.vim
SCRIPT  /usr/local/share/nvim/runtime/indent/cpp.vim
SCRIPT  /u/urmish/.vim/plugged/vim-clang-format/autoload/clang_format.vim

But if colorscheme is not set (in init.lua or vimrc or init.vim), then it isn't loaded at runtime (there is no default.vim colorscheme).
[I] ➜ g ^SCRIPT e_cpp_2.log
SCRIPT  /usr/local/share/nvim/runtime/syntax/synload.vim
SCRIPT  /usr/local/share/nvim/runtime/syntax/syncolor.vim
SCRIPT  /usr/local/share/nvim/runtime/ftplugin/cpp.vim
SCRIPT  /usr/local/share/nvim/runtime/ftplugin/c.vim
SCRIPT  /usr/local/share/nvim/runtime/indent/cpp.vim
SCRIPT  /u/urmish/.vim/plugged/vim-clang-format/autoload/clang_format.vim

In this case the lualine colors are as expected

Minimal config to reproduce the issue
require('packer').startup(function()
  use { 'hoob3rt/lualine.nvim', requires = {'kyazdani42/nvim-web-devicons', opt = true} }
end)
require('lualine').setup{}

What does colorscheme <colorscheme> command do extra in neovim/vim than simply  source<colorscheme>.vim?

What does colorscheme  command do extra in neovim/vim than simply source.vim?

:corscheme trigures ColorScheme event . lualine restores it's colors on that event.
Usually colorschemes start with :hi clear that clears all current highlight groups includeing the ones lualine create . If you run hi clear or by sourceing a file there's no way for lualine to know it has happened.
So what you're describing here is expected behavior not a bug . Solution would not to source colorscheme instead use :colorscheme command.

I am not sourcing the script. The colorscheme command is doing the right thing yes, but whenever a file is opened the source <colorscheme.vim> command is ran without my control over it. I tried this on multiple OSes (centos(konsole) and ubuntu (kitty and gnome)). I tried this with/without tmux, but see the same behavior everywhere. I want to say this isn't limited to lualine. I have seen the same behavior with bufferline and airline. So a better place to ask would be neovim (I don't see the same thing in vim of course. It's a rather blatant change). @shadmansaleh Do you see the same behavior? I also tried a minimal nvim config (with no plugins except lualine and no extra installed colorschemes)

Do you see the same behavior?

No

but whenever a file is opened the source <colorscheme.vim> command is ran without my control over it. I tried this on multiple OSes (centos(konsole) and ubuntu (kitty and gnome))

this is not neovim's behavior . There must be something that in your config that is causing it.

So a better place to ask would be neovim

This is not regular behavior from neovim . I'm not sure if opening a issue for debugging your config will be a good idea . You can make a post in neovim discource that's more or less support forum .

delete this line . Unlike vim syntax is on by default in neovim.

That worked. I thought I tried a minimal config and saw the issue but apparently not. Will close this for now. Thanks.


UIColor now stores ColorQuad (which has same layout as an array of 4 …

UIColor now stores ColorQuad (which has same layout as an array of 4 floats).  This can then be used by CGColor.
The correct long terms solution will involve CGColor holding the colors and UIColor using it, but this is a first step towards that.  In the process, also cleaned up the internal methods and removed some unnecessary copies.
Also found and fixed bug in CGColorEqualsColor.
Fix #652, Fix #657

@bbowman is added to the review. #Closed

@mnithish is added to the review. #Closed

@DHowett-MSFT is added to the review. #Closed

@shahmeeresmail this should not get in the way of your PR #641, but please take a look.

:shipit:

:shipit:

:shipit:

In CI build.


Ledger: Connect ledger prompts

We'd need to design and implement the flow that prompts the user to connect the Ledger when performing the following actions:

Receive

Duplicates https://github.com/hirosystems/stacks-wallet-web/issues/2184


should examples be a list(dicts)?

some complexity in scoring pipeline is also due to possibility of multiple example in single json file.
Right now most if not all jsons have only one question.

We could also follow all questions from a topic as list of examples as in BIGBENCH.

This would simplify data directory, reduce number of JSONS.

Versioning data is probably easier.

question name is filename + index in example.

Complexity of evaluation codebase same. We now loop examples for each tasks anyways.

Topic wise benchmark easier.

But adding new questions to the same topic means updating this single json.

rearranging questions later would be difficult. (But force us to think about the structure before hand).

Decision: To keep separate JSONs for different question.
Primary concern being review and rendering in github becoming easier in this format.
Unique identifier easier with separate files.
Web app easier with separate JSONs.


After deleting default payment, the other payment doesn't become default

Environment Details
Spartacus: http://dev-com-17.accdemo.b2c.ydev.hybris.com:4200/
Browser: Safari
Steps to Reproduce
Have 2 payment card details in MyAccount.
Delete the "default" one.
Expected Results
The other payment card should now become the default one.

[ ] After this is fixed, please change the 'payment-methods.ts' e2e test to make an assertion on this.
Line 142:   defaultCard.should('contain', 'DEFAULT');

whatever next first payment is can be default after deleting first payment... whatever backend gives us... but if none are set to default then set first payment


fixes #3039 - Remove incorrect quote escaping from SPL

Details
Fixes #3039

Checklist

[N/A ] Validate name matches <platform>_<mitre att&ck technique>_<short description> nomenclature
[TBC ] CI/CD jobs passed ✔
[Y] Validated SPL logic.
[N/A ] Validated tags, description, and how to implement.
[N/A ] Verified references match analytic.

@livehybrid :Thank you for filing the bug and contributing the PR!


MinGW compilation failed

Possible to compile using mingw? I'm getting those three errors during compilation
windows_hardware_info.h:312:83: error: the value of 'DiskExtents' is not usable in a constant expression
  312 |                                 offsetof(VOLUME_DISK_EXTENTS, Extents[DiskExtents.NumberOfDiskExtents]),
      |                                                                                ^~~~~~~~~~~~~~~~~~~

windows_hardware_info.h:195:33: error: cast from 'BSTR' {aka 'wchar_t*'} to 'unsigned int' loses precision [-fpermissive]
  195 |                 Value.push_back((T) ((bstr_t) Variant.bstrVal).copy());
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

error: cast from 'BSTR' {aka 'wchar_t*'} to 'int' loses precision [-fpermissive]
  195 |                 Value.push_back((T) ((bstr_t) Variant.bstrVal).copy());
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

windows_hardware_info.h:312:83: error: the value of 'DiskExtents' is not usable in a constant expression
312 |                                 offsetof(VOLUME_DISK_EXTENTS, Extents[DiskExtents.NumberOfDiskExtents]),
|                                                                                ^~~~~~~~~~~~~~~~~~~

This error can be avoided by defining an alternate version of "offsetof" like so:
#define _offsetof(s,m) ((::size_t)&reinterpret_cast<char volatile&>((((s*)0)->m)))
then swap "offsetof" for "_offsetof".

windows_hardware_info.h:195:33: error: cast from 'BSTR' {aka 'wchar_t*'} to 'unsigned int' loses precision [-fpermissive]
195 |                 Value.push_back((T) ((bstr_t) Variant.bstrVal).copy());
|                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

error: cast from 'BSTR' {aka 'wchar_t*'} to 'int' loses precision [-fpermissive]
195 |                 Value.push_back((T) ((bstr_t) Variant.bstrVal).copy());
|                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Compile with -fpermissive
However, even when avoiding these errors, MinGW still doesn't work nicely with WMI services; it still won't compile due to numerous undefined references. While I'm sure you can get it to work with enough tinkering, it's more effort than it's worth imo.


Add manupa-arm to CODEOWNERS

Adding Manupa to various CODEOWNERS based on the areas being contributed.
cc @tqchen @manupa-arm
@manupa-arm let me know if this seems reasonable or if you want to be added to more or less locations.

Thanks all!
@areusch
The locations seems fine.
I was wondering whether it ll be useful for me to track changes in src/relay/backend/ (there is not a one yet) related to executor codegen changes.
I assume this is the file being used to do automatic requests for reviews by GH?

@manupa-arm yep, this is that file. it will start spamming you quite a bit now :)
I went to go and add that line but I realized we should add a few others as well. let's create a separate PR for that.

Ack, make sense @areusch


remove unnecessary type checks

Please provide a description of this PR:
ref: https://github.com/golang/go/blob/go1.17/src/io/fs/readdir.go#L14
ref: https://github.com/golang/go/blob/go1.17/src/io/fs/readfile.go#L11
fs.ReadDirFS and fs.ReadFileFS both implement the fs.FS interface.
ref: https://github.com/golang/go/blob/go1.17/src/embed/embed.go#L207
embed.FS has implemented the fs.ReadDirFS and fs.ReadFileFS interfaces.
To help us figure out who should review this PR, please put an X in all the areas that this PR affects.

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[X] Developer Infrastructure

Please check any characteristics that apply to this pull request.

[X] Does not have any user-facing changes. This may include CLI changes, API changes, behavior changes, performance improvements, etc.

@zc2638: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
898f6284702ca3ac94d867025d24519454c5885a
link
true
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/release-note-none

/test release-notes_istio


whitespaceBetweenParameters Removing Redirectors

Prerequisites

[X] I have written a descriptive issue title.
[X] I have searched all open and closed issues to ensure it has not already been reported.
[X] I have read the troubleshooting guide.
[X] I am sure this issue is with the extension itself and does not reproduce in a standalone PowerShell instance.
[X] I have verified that I am using the latest version of Visual Studio Code and the PowerShell extension.
[X] If this is a security issue, I have read the security issue reporting guidance.

Summary
When formatting the following PowerShell while powershell.codeFormatting.whitespaceBetweenParameters = true, it removes two of the redirectors:
Pre-Format
Import-Module -Name Module 3>&1 2>&1 1>$null

Post-Format
Import-Module -Name Module 1>$null

I would expect the redirectors to be left alone.
PowerShell Version
Name                           Value
----                           -----
PSVersion                      7.4.2
PSEdition                      Core
GitCommitId                    7.4.2
OS                             Microsoft Windows 10.0.22631
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Name             : Visual Studio Code Host
Version          : 2024.2.1
InstanceId       : 71fd0027-ddfe-4add-82a3-1e0b2dbe844e
UI               : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture   : en-US
CurrentUICulture : en-US
PrivateData      : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled  : True
IsRunspacePushed : False
Runspace         : System.Management.Automation.Runspaces.LocalRunspace

Visual Studio Code Version
1.88.1
e170252f762678dec6ca2cc69aba1570769a5d39
x64

Extension Version
<EMAIL_ADDRESS>
Steps to Reproduce

Save the following to test.ps1:

Import-Module -Name Module 3>&1 2>&1 1>$null

Press Shift + Alt + F to format the document.
Review improper formatting

Visuals
No response
Logs
No response

Thanks @nixuno we were able to reproduce this

This is quite an interesting one 😀. A slightly simplified repro in PSScriptAnalyzer is:
Invoke-Formatter -ScriptDefinition 'Invoke-Foo 3>&1 1>&1 2>&1' -Settings @{
    Rules = @{
        PSUseConsistentWhitespace = @{
            Enable         = $true
            CheckParameter = $true
        }
    }
}

Results in:
Invoke-Foo 1>&1

The PSUseConsistentWhitespace rule, when CheckParameter is true, is looking over all the CommandAst nodes.
For each CommandAst, it's finding all the direct children of the current CommandAst node.
https://github.com/PowerShell/PSScriptAnalyzer/blob/e1dc126c361398d6ead6556c24c544702b1918cb/Rules/UseConsistentWhitespace.cs#L399-L400
It's checking then that each one sequentially is separated by a 1 character gap.
https://github.com/PowerShell/PSScriptAnalyzer/blob/e1dc126c361398d6ead6556c24c544702b1918cb/Rules/UseConsistentWhitespace.cs#L410-L411
It seems to be making the implicit assumption that the direct children of the CommandAst are read from the AST in token order. This is, apparently, not the case.
Looking at the AST of our example Invoke-Foo 3>&1 1>&1 2>&1:
ScriptBlockAst [0,25)
└ NamedBlockAst [0,25)
  └ PipelineAst [0,25)
    └ CommandAst [0,25)
      ├ StringConstantExpression [0,10)
      ├ MergingRedirectionAst [16,20)
      ├ MergingRedirectionAst [21,25)
      └ MergingRedirectionAst [11,15)

We see that evidentially, the MergingRedirectionAst nodes are read from the tree in stream order (very interesting!).

Note the start of each MergingRedirectionAst nodes extent - the number after [ - is not in order down the list. The first node read from the tree is the second token, 1>&1, followed by the last token, 2>&1, and finally the first of the redirects in our input command, 3>&1.

I'm not smart enough to confirm this within the main Powershell Repo's parser - but I've tried with various orders of Invoke-Foo 3>&1 2>&1 1>&1 5>&1 4>&1 6>&1 and it appears to be consistent.
My unrefined naive solution would be to sort the command parameters (the direct children of the CommandAst), first by their Extents StartLineNumber, then by the StartColumnNumber. Then proceed as planned.
This works as expected and our repro code correctly produces:
Invoke-Foo 3>&1 1>&1 2>&1

I would need to look at how badly this sorting impacts performance and for any edge cases.


Integrate llvm-project at 2acf00bd0ac2

Reset third_party/llvm-project: 2acf00bd0ac28bc7e95163d3c2d954164c6c245d (2023-08-25 02:22:23 -0500): Revert "Recommit "[InstCombine] Expand foldSelectICmpAndOr -> foldSelectICmpAndBinOp to work for more binops" (2nd Try)"

I will rebase it to ToT after landing https://github.com/openxla/iree/pull/14810


Orchestrator. New seeding algorithm, support for different seed methods and agent redesign

Hi @shlomi-noach,
This PR is an 'orchestrator' part of https://github.com/openark/orchestrator-agent/pull/1
This PR adds following:

New seed processing algorithm
Redesign of agent-related structs and functions
Additional APIs, which provides information about seed and agent
Update of agent and seed UI

We define seed as an operation, which consists of a set of predefined stages, where 2 orchestrator agents participate - one agent is called source agent(so it is on a source side of seed), another - target agent (so it is on a target side of seed), and the goal of seed is to transfer all data from source agent to target agent and add target agent as a slave to source agent.
Seed can be executed using different seed methods - special ways or programs used to transfer data from source agent to target agent
Seed operation is completely processed by orchestrator and is ran on scheduled configurable intervals (SeedProcessIntervalSeconds).
By design, each seed operation consists of 5 stages, which are executed one after another:

Prepare - is executed on both agents
Backup - is executed either on target or on source agent depending on seed method chosen
Restore - is executed on target agent
ConnectSlave - is executed on target agent
Cleanup - is executed on both agents

Each of stages can be in one of 6 statuses:

Scheduled - on next seed processing cycle, orchestrator will call corresponding stage orchestrator-agent API (prepare\backup\restore...) and orchestrator-agent will start executing stage. If API call will be successful, stage status will be updated to Running. If not - it will be updated to Error
Running - on next seed processing cycle, orchestrator will call orchestrator-agent API to get information about stage and save it to a database. Stage will stay in this status until orchestrator-agent will return that either stage is Completed, and it this case seed will be moved to next stage with Scheduled status, or there were some errors during stage and it's status will be updated to Error
Completed - just an information status. Orchestrator do not process seeds in this status
Error - on the next seed processing cycle, orchestrator will check, if the number of times stage was in this status is not more than a configurable threshold (MaxRetriesForSeedStage). If it is more - seed will be marked as Failed and won't be processed. If it is less seed will be restarted - moved to a Scheduled status of the current stage (one exception from this rule are errors during Backup stage. If an error was on this stage - seed will be restarted from Prepare stage, as some of the seed methods do important things on this stage - for example, socat is started on target agent during Prepare stage). If stage was executed on both agents, and only one agent had an error during execution orchestrator will abort stage on the second agent before restarting it
Failed - just an information status. Orchestrator do not process seeds in this status
Aborting - if user hits an Abort button in UI or uses Abort API, stage will be moved to this status. Orchestrator will try to call abort API on an agent (or both agents, if this stage includes them both). If it will be successful - seed will be marked as Failed and won't be processed. If not - on the next seed process cycle orchestrator will try to abort it one more time until it succeeds.

Seed is considered Active (that means it should be processed by orchestrator) only if stage is in Scheduled, Running, Error or Aborting statuses.
All seed processing is done using this function
func ProcessSeeds() []*Seed {
	activeSeeds, err := ReadActiveSeeds()
	if err != nil {
		log.Errore(fmt.Errorf("Unable to read active seeds: %+v", err))
		return nil
	}
	if len(activeSeeds) > 0 {
		inst.AuditOperation("process-seeds", nil, fmt.Sprintf("Will process %d active seeds", len(activeSeeds)))
		var wg sync.WaitGroup
		for _, seed := range activeSeeds {
			wg.Add(1)
			switch seed.Status {
			case Scheduled:
				go seed.processScheduled(&wg)
			case Running:
				go seed.processRunning(&wg)
			case Error:
				go seed.processErrored(&wg)
			case Aborting:
				go seed.processAborting(&wg)
			}
		}
		wg.Wait()
		inst.AuditOperation("process-seeds", nil, "All active seeds processed")
	}
	return activeSeeds
}

Which starts a new goroutine depending on status for each of the Active seeds and waits until all of them will complete.
So the overall process will look like:

/agent-seed/:seedMethod/:targetHost/:sourceHost 'orchestrator' API is called. Different pre-seed checks are done and if they are successful, new seed is created. It will be in Scheduled status in Prepare stage
ProcessSeeds() function is called by a timed routine. It will start processScheduled() function in a goroutine. This function will call /api/prepare/:seedID/:seedMethod/:seedSide on both orchestrator-agents and it these calls will be successful - it will update Prepare stage status to Running for both agents
ProcessSeeds() function is called by a timed routine.  It will start processRunning() function in a goroutine. This function will call /api/seed-stage-state/:seedID/:seedStage on both orchestrator-agents and log the result. If both agents return, that they completed Prepare stage, it will be marked as Completed and seed will be moved to Backup stage in Scheduled status. If one of the agents hadn't completed stage, seed will be still on this stage and during next  ProcessSeeds() function call processRunning() function will be run again, and it will call  /api/seed-stage-state/:seedID/:seedStage on remaining agent. The process will be continued until both agents complete stage
ProcessSeeds() function is called by a timed routine.  It will start processScheduled() function in a goroutine. This function will call /api/backup/:seedID/:seedMethod/:seedHost/:mysqlPort on one of the agents depending on seed method chosen. If this call will be successful - it will update Backup stage status to Running for an agent.
ProcessSeeds() function is called by a timed routine.  It will start processRunning() function in a goroutine. This function will call /api/seed-stage-state/:seedID/:seedStage on an agent. If an agent return that it completed the Backup stage it will be marked as Completed and seed will be moved to Restore stage in Scheduled status.

So basically this works like a state-machine, which moves seed from start to finish using following path:
New seed -> Prepare scheduled -> Prepare running -> Prepare completed -> Backup scheduled -> Backup running -> Backup completed -> Restore scheduled -> Restore running -> Restore completed -> ConnectSlave scheduled -> ConnectSlave running -> ConnectSlave completed -> Cleanup scheduled -> Cleanup running -> Cleanup completed -> Seed completed
I've also created different test cases, which are located in agent_test.go and simulates all this logic using docker and orchestator-agents mocks.
With this PR orchestrator UI is also updated to support all changes. I've tried to keep all previous functions regarding LVM\local snapshot hosts\remote snapshot hosts as much backward-compatible, as possible.
New UI includes agent page with various filters with auto-complete

Updated seeds page with filters with auto-complete and UI for starting new seed

Updated agent page (some of LVM specific UI elements are not shown because this agent do not have LVM seed method added)

We had already created our own auto-provisioning solution based on orchestrator, orchestrator-agent and puppet, where new hosts are automatically added to cluster as slaves. We started testing in on our staging environment, but I will be still considering this functionality in the beta stage, as there are obviously be some bugs, which we will catch with active production usage.
But I will be very grateful for your feedback and comments and will be glad to answer all questions :)
Thanks,
Max

Seems like there are some problems with vendoring packages, but I don't have such errors during local build, so I definitely need your help with this :)

I was able to fix build errors, but now it failed on running my tests for seed logic. The thing is that this test requires docker installed and some customization with \etc\hosts file
// before running add following to your /etc/hosts file depending on number of agents you plan to use
// <IP_ADDRESS> agent1
// <IP_ADDRESS> agent2
// ...
// 127.0.0.n agentn

I do not know how to configure this, so maybe exclude this test from running?


Create a tile server with the ability to render different layers

We want to make it as easy as possible to experience the result of the work done here, so;
Let's create a tile server that can render tiles right in rust or through some other means. That way, anyone can look at it in their tool of choice.

[ ] find a library/mechanism for rendering shapes to raster nicely
[ ] implement rendering osm2streets data to tiles (raster or vector) on request
[ ] set up a tileserver api (WMS, TMS, etc.) that provides access to

In future, we could glue on a "download small region" step which downloads .osm xml from osm.org, or whatever data source you want to plug in. Rendering raster will be useful in JOSM too, so we don't have to do it in Java

find a library for rendering shapes to raster nicely

I've not worked with raster tiles much before, but I did briefly experiment with some vector tile formats + renderers back in https://github.com/dabreegster/leaflet-experiments/blob/main/NOTES.md. I was trying to shove the raw geometry from A/B Street -- which has one polygon for every single dashed white line on every street! -- into mbtiles. I remember even small areas were very slow and buggy. I never dug into the issues, or figured out if the vector tile renderers are batching draw calls, using quadtrees, etc.
But anyway, maybe using raster tiles is more compatible with the existing ecosystem and could avoid some of these problems entirely.

I really like raster tiles as a common denominator output, but that's not to say vector tiles aren't easier to work with sometimes. Maybe vector svg tiles get rasterised by an existing svg rasteriser.

If I understand correctly, is this issue for creating raster (or vector) tiles from what the interface of AB Street looks like? I'd find that incredibly useful as an OSM contributor - I'm not aware of any OSM tiles that show the amount of detail.
Any tips on where I could help contribute as someone who only has a little bit of Rust experience?
I was even thinking of running something like Webdriver/Selenium, navigating by adjusting the url (eg: http://play.abstreet.org/0.3.35/osm_viewer.html?system/us/seattle/maps/montlake.bin&--cam={zoom}/{lat}/{lon}) and "screenshotting" tiles.
I suppose I could also run some Typescript running a tileserver "proxy", taking in zoom/lat/long and on the backend navigating the browser to the correct spot and screenshotting.
I'm sure there must be better ways though!

Sorry, sent from wrong account previously.
If I understand correctly, is this issue for creating raster (or vector) tiles from what the interface of AB Street looks like? I'd find that incredibly useful as an OSM contributor - I'm not aware of any OSM tiles that show the amount of detail.
Any tips on where I could help contribute as someone who only has a little bit of Rust experience?
I was even thinking of running something like Webdriver/Selenium, navigating by adjusting the url (eg: http://play.abstreet.org/0.3.35/osm_viewer.html?system/us/seattle/maps/montlake.bin&--cam={zoom}/{lat}/{lon}) and "screenshotting" tiles.
I suppose I could also run some Typescript running a tileserver "proxy", taking in zoom/lat/long and on the backend navigating the browser to the correct spot and screenshotting.
I'm sure there must be better ways though!

I'm not exactly sure what Ben has in mind for this, but I think the overall goal is to get A/B Street-style detailed rendering everywhere in the world, with low effort for the user. Furthermore, let the result be displayed in the iD editor, on web maplibre maps, in JOSM, QGIS, etc -- anything that understands standard raster or vector tiles.
One approach, tiling the world somehow and pre-importing A/B Street maps for each of the tiles, is not looking easy so far. I'm playing around in https://github.com/acteng/abstreet-to-atip/issues/1. It also would only solve the first part of the problem, not expressing things as raster or vector tiles.
Another approach is to make the client-side do it. You can go to https://a-b-street.github.io/osm2streets/#18.5/51.50687/-0.13376, import current view, and do everything lazily. This gets osm.xml extract from Overpass, calls a JS function in osm2streets (that ends up calling Rust code in this repo through WASM), and renders the result in Leaflet.
I don't have much familiarity with OSM tileservers. I think some of them can lazily generate raster or vector tiles and cache the results? If somebody requests a missing tile, they could do the same thing (query Overpass, pipe through osm2streets, take the resulting GeoJSON polygons and encode as raster or vector tiles).
Hopefully Ben has a better direction to point you. I don't think unfamiliarity with Rust should be a barrier here; the process of tiling OSM data, or dynamically fetching Overpass and calling osm2streets, or turning GeoJSON into raster or vector tiles, could all happen in any language

Hi @jakecoppinger, thanks for reaching out!
The idea here is to set up a Tile Server that is capable of rendering osm2streets data. I have updated the initial comment to be a bit clearer.
First, we need an actual Tile Server, TMS, or WMS or something. I don't know much about them, I've only configured things to use them, like this Leaflet tutorial. Then we need to generate the tiles somehow, and we have lots of options.
Using A/B Street
Using A/B Street as the renderer is a neat idea. That way we could have an "A/B Street" layer in other tools that leverages that existing work.
This is the least accessible option I think, for updating the rendering. A lower-overhead and more flexible mechanism for rendering is also desired.
Render in rust
Maybe the existing A/B Street rendering code is a good starting point for an in-rust render? This is not that accessible, because it would require writing rust to improve the rendering.
Use osm2streets output in Another renderer
This is the most tempting option for me. It is also how osm2streets is intended to be used in the long term.
We can implement - in the rust side - whichever geom output you need. osm2streets is already outputting a number of geojson "layers" that the Street Explorer is using.
You could start a new project in your favourite language/environment that renders just the road features on transparent tiles.
Or just straight into integrating the osm2streets road geometry into https://github.com/enzet/map-machine or something

I just had a good play around with Street Explorer and I think I'm getting a better understanding of it works now.
I can see it'd be possible to pre-generate (slowly!) a vector tileset by:

Getting an OSM dump from Overpass turbo (maybe a local overpass instance so as not to overload the public server)
Running this though A/B street to generate GeoJson (JS bindings from Rust on show at street-explorer/www/js/main.js:186 and the lines below)
Generate vector tileset from this huge GeoJson file using https://github.com/mapbox/tippecanoe (or Mapbox Tiling Service for a quick demo on Mapbox infrastructure)

As far as lazy loading, I don't understanding vector tile schemas enough yet to understand if requests have bounds (like {zoom}/{x}/{y}) in the same way that raster tileservers do.
In that case I could write a Typescript server that takes vector tile requests and either hits a cache or runs the above steps for the requested bounding box - which will be quicker than an entire city/suburb and scale nicely.
Does this sound like the right track? I'm looking forward to seeing A/B street basemaps everywhere 😀
I'll keep looking into how vector tileservers work and if I start a separate repo I'll make sure to share it back here.

Getting an OSM dump from Overpass turbo

The osm.xml can come from anywhere. If you're doing a huge area, I'd download from http://download.geofabrik.de/europe.html and maybe clip to a smaller area with osmium. If your typescript server can access a filesystem and shell out, this could be cheaper than hitting Overpass.

Does this sound like the right track?

It does to me! (Keeping in mind I don't understand tileserver workflow)

If you do go with geofabrik + osmium for clipping, I'd recommend something like this: osmium extract -b 2.25,48.81,2.42,48.91 large_area.pbf -o paris.xml -f osm,add_metadata=false
add_metadata strips out author, timestamp, and version from the XML, reducing the file size and making it a bit faster to parse.
We will hit issues at tile boundaries, because osm2streets clips roads crossing the boundary polygon. But as a first pass, we can get started with a tile server and see how things look, then figure out a good fix for this. (Maybe just clipping with a buffer?)

I've got a proof of concept vector tile server working built in Typescript & Koa! https://github.com/jakecoppinger/osm2streets-vector-tileserver
It:

takes tileserver requests (eg http://localhost:3000/tile/16/60293/39332)
Finds the bounding box of that tile
Downloads the OSM XML from a local overpass turbo instance (instructions included) for that bounding box
Calls osm2streets via the NodeJS bindings
Generates the geojson (only the main geometry at the moment, very easy to improve though)
Caches the output in a JS variable (needs improvement)

PRs are very welcome! I'm going to continue working on it and test it with a frontend soon (I haven't verified the GeoJSON output but it looks right).

Woo, this is so awesome to see! I just published https://www.npmjs.com/package/osm2streets-js and got it working from Svelte+Vite today (https://github.com/dabreegster/svelte_playground/blob/main/src/App.svelte). I've started https://github.com/dabreegster/osm2streets-vector-tileserver/tree/use_npm to start using the NPM package and simplify the build process. Hit a few snags, but I'll hopefully have time tomorrow to try again.

Brilliant! A snag I hit was wasm-pack build --dev --target web ./osm2streets-js caused all sorts of issues (from memory around fetch failing) which I eventually resolved with wasm-pack build --dev --target nodejs ./osm2streets-js.
I assume the npm build would be a frontend (web) build?

Yes, it's --target web, because I couldn't get the other options to work. I'm a little lost around all these options. I noticed there's no await init or similar in the controller right now -- is that somehow unnecessary with --target nodejs? That may be the current snag I was hitting

I noticed there's no await init or similar in the controller right now -- is that somehow unnecessary with --target nodejs

Yep exactly, I only found this out when I changed the target and init didn't work any more!
I'm currently trying to figure out how to add a vector layer to MapboxGL JS and actually test out this output of this. Looks like I'll need to convert the GeoJSON into a pbf - my understanding is vector tiles are Protobuf representations of GeoJson, possibly with some extra formatting.
It seems like there's lots of utilities around chopping up a big GeoJSON file to lots of tiles (https://github.com/mapbox/geojson-vt) but not much for a single tile. Maybe I just need to do a straight GeoJSON -> Protobuf conversion. If anyone knows more about this please let me know! (or I'll update when I find a solution).
If I can't convert a single GeoJSON file (or it ends up being too slow even with caching), I could modify the tileserver to do one big XML import centred on the requested tile, then chop up the GeoJSON into vector tiles and cache them. Boundaries might be tricky though!

Yep exactly, I only found this out when I changed the target and init didn't work any more!

Ohhh I am just now realizing the tile server is not running in a browser, it's using Node, which is why --target nodejs makes sense. I need to figure out what other projects do to publish to NPM -- maybe just have separate osm2streets-node and osm2streets-web?

I'm currently trying to figure out how to add a vector layer to MapboxGL JS and actually test out this output of this.

I think you can just directly add a new GeoJSON source, like https://github.com/acteng/atip/commit/7e856496cc0ad9eab875c908feb63b53a3059228. Internally this gets turned into the MVT format or similar, because everything Map{box,libre} renders is split into tiles. My understanding is that all of the vector tile processing tools do this ahead-of-time for speed (so the client doesn't have to do this work, and so clients can later request just the piece of data they need). And also for cartographic generalization.
So ultimately we maybe want this tile server to hand out vector tiles, but as a very first cut, if it just returns GeoJSON, that should be displayable

Boundaries might be tricky though!

Ben and I have been working on that recently! This tile server could be a great test platform to figure it out. The osm2streets API changed recently to explicitly take a clipping boundary. For the tile server, I guess we'll just generate a square covering the tile. I'm not sure yet how to glue together adjacent tiles. We could tackle it at the rendering level and figure out a way to ignore some buffer around the boundary or render overlapping tiles and merge somehow. It'd also be useful to solve this at the StreetNetwork level -- if you have two objects covering adjacent (or partly overlapping) areas, is it possible to glue together into a single object and render that normally?

This progress is sounding exciting!

Boundaries might be tricky though!

I'm not sure yet how to glue together adjacent tiles.

I don't think we need to glue together adjacent tiles: that's what the client that is rendering the tiles needs to do. We do need to figure out how to clip our output geometry appropriately for each tile though. https://docs.mapbox.com/data/tilesets/guides/vector-tiles-standards/#clipping talks about tiles having a buffer outside of the "tile size". It says Mapbox renders the tile data into a canvas exactly the size of the tile. The data extending into the buffer is how artefacts are avoided at the boundaries. Here is an article with pictures of the process in action: https://blog.cyclemap.link/2020-01-25-tilebuffer/
Now it turns out that is exactly the same kind of problem that me and Dustin were talking about recently: The OSM road centerlines are "1-dimensional" (don't have any width) but the streets we generate are "2-dimensional" areas. We need to start with a buffer of OSM data outside of the area we want to render.
So, in order to produce a tile of size T with a buffer of size Bt we need to output Protobuf/GeoJSON covering T + Bt. In order to have sensible street geometry that covers T + Bt, we need to choose a SteetNetwork buffer Bs and start with OSM data covering T + Bt + Bs.
Does that make sense? Dustin, the buffer idea I was thinking about when we chatted was exactly the kind described in the linked article: osm2streets is essentially "rendering" the width-less OSM ways when it generates geometry, so we need to eventually incorporate the Bs buffer somewhere into the API or docs.

The buffer idea makes sense; that second link is great. So from the tileserver, we need to ask osm2streets for a slightly larger square to begin with -- meaning we pass a larger boundary to Overpass and for the GeoJSON boundary input. Then MapLibre / other renderers will just take care of visually clipping the results for us.
It'd also be helpful to clean up how we produce geometry near the edges (https://github.com/a-b-street/osm2streets/issues/136#issuecomment-1352905046), but not necessary to make progress here. A sufficiently large buffer would avoid issues there anyway

I've made some more progress:

Now using the osm2streets-node npm package thanks to a PR by @dabreegster
Naively building vector tiles from the GeoJSON for each request

not yet caching "deeper" generated tiles as the GeoJSON is not simplified as far as I know

Managed to add the tileserver to QGIS

No colours though, I haven't learned how they work yet 😄

Haven't figured out how to add a vector layer to Mapbox GL JS
Really needs some caching & performance work

As far as buffers - I think the Overpass API returns the entire way if a single part of it is in the bounding box,
so I assume tons of overlap is "built in"? Happy to be corrected though.
I found this guide which seems to have some great explanations for why buffers are needed in some cases: https://blog.cyclemap.link/2020-01-25-tilebuffer/

Awesome progress! About styling/colors... I think it depends on the frontend. The job of the vector tiles is just to plumb along enough info to let a frontend make decisions. This is a Leaflet example, using the properties from each GeoJSON feature: https://github.com/a-b-street/osm2streets/blob/5b40c7af877d4314ca7e45c5ac35ec472845c6ca/street-explorer/www/js/layers.js#L53

Does anyone know what sort of format a style URL might look like for a QGIS Vector Tile connection, and if there's an easy way of generating one from osm2streets/street-explorer/www/js/layers.js?
@dabreegster (and anyone else interested) I also created a Matrix room at https://matrix.to/#/#osm2streets-vector-tileserver:matrix.org to chat about this project if you're interested- I don't want to clutter this thread too much!

I don't know anything about QGIS, unfortunately. Don't worry about too many messages here -- this or a thread in the tileserver repo seems like a perfect place to figure this out. I've joined the Matrix. There's also an A/B Street Discord (https://discord.gg/nCvMD4xj4K) and Slack (https://join.slack.com/t/abstreet/shared_invite/zt-1mjdw5ez7-aDiCOpFxFniFyP4NaFk2yw) that people sometimes use

Got a front end renderer (Mapbox GL JS) using my tile server working, complete with styling and layers!
https://github.com/jakecoppinger/safe-cycling-map

This is fantastic! Out of curiosity, what would it take to host this or safe-cycling-map online somewhere? I guess the problem is hosting for the Overpass instance and RAM for the tileserver mainly.
I saw a few comments like parking/footpaths on the wrong side of the road. I'm sure you'll spot a bunch of bugs, or cases where the lane markings aren't regionalized. Please feel encouraged to file issues here so we can make more progress on things like that, now that they're even more visible!

Out of curiosity, what would it take to host this or safe-cycling-map online somewhere?

Good question! I'm currently working on optimising the tile generation. The current method I have in mind is:

For a given zoom/x/y request:
Zoom out to a fixed zoom value, and calculate x & y values for that (diving by 2 each time you reduce zoom by 1 - I found that out by asking ChatGPT 🤣 )
Get the tileIndex for that zoom value
Store that tileIndex in a cache, indexed in a 2d array by x & y (assuming a single fixed zoom value - could have a 3d array for multiple cached zoom stops)
When a request comes in, zoom out to the fixed zoom as above, and if it already exists grab the tileIndex, then use that to calculate the exact zoomed in tile. For cache miss follow method above.

I've got a "production" deployment working! https://safecyclingmap.com/

Works in all of Australia at this stage. I needed 8GB of swap space (+1GB physical I think) to set up the docker image without a failure
Frontend on Github pages (behind Cloudflare) because I couldn't be bothered fighting SSL config on AWS S3 -> Cloudflare yet
Backend on Vultr droplet, using Cloudflare Tunnel to send requests like https://api.safecyclingmap.com/tile/18/241180/157318 to localhost:3000 😄
I implemented the cache algorithm I detailed in the above comment! Using an LRU cache with a 1 hour expiry (so you can fix OSM data)
I suppose I could point all non-Australian Overpass requests to one of the public servers at https://wiki.openstreetmap.org/wiki/Overpass_API#Public_Overpass_API_instances - with the new caching there isn't too much traffic

Let me know what you think! Lots I could improve on but it's a start.

Super awesome! A few ideas:

Is the intersection markings layer included? Where sidewalks meet, they should generally have corners drawn, unless there's a bug here
It'd be cool to hover/click a road or intersection and jump to that OSM object, for easy editing/querying. Not sure how that works with the vector tile format
If you set hash: true when creating the map, the URL will track location, for easier URL sharing. You might need to do something like https://github.com/acteng/atip/blob/7e3ea66fc3d93e2c159db84f60436ba0fa4ef54d/components/Map.svelte#L9 to jump to the initial location if there's no hash
I didn't look into how your caching works, but would it be easy to have two cache policies and toggle between them on the map? If someone isn't updating data frequently, it'd be neat to use any previously cached tile just for speed. But I guess that also starts to blow up your storage requirements over time

Works in all of Australia at this stage. I needed 8GB of swap space (+1GB physical I think) to set up the docker image without a failure

Wait, did you pregenerate anything, like run osm2streets over the whole country? I thought everything was built lazily


New colors on docs.mulesoft.com

The code sample colors in the new docs border on unreadable. An example is the lime-green on the gray color scheme which makes trying to read the sample code almost painful

We are working correcting this. Apologies for the color in the meantime. I'll post here when we have an ETA.

This issue is on the team backlog.


Update README.md to include not currently referenced examples

Benefit/Result/Outcome
The top level markdown document located at https://github.com/Azure/missionlz/tree/main/src/bicep/examples is missing a definition template for the inheritTags example.
Description
Update https://github.com/Azure/missionlz/tree/main/src/bicep/examples to include the other examples not currently referenced.
Acceptance Criteria

The markdown document is updated to contain all examples.

@ExchMaster this is the backlog item related to the examples documentation.


Add tests

@bramus Are you accepting contributions for this issue? I'd be happy to write tests/add a test runner like jest.

@AleksandrHovhannisyan I'm open to PRs, especially for one that adds tests :)


Can't add as custom repo

When I try to add the provided URL from the README to HACS, Github returns a 404.
Here are my versions:
arch | armv7l
dev | false
docker | true
hassio | true
os_name | Linux
os_version | 4.19.106-v7
python_version | 3.7.7
timezone | Europe/Berlin
version | 0.108.3
virtualenv | false

Hi @a1ee9b, what specific URL did you use? it should be:
https://github.com/azogue/fasthue

Could you try again? I just removed and reinstalled it in my production HA and worked ok.
Also, if you used the URL from your screenshot, from where did you copy it?

Closing this, as now is on https://github.com/hacs/default (and it was also working ok as custom 🤔)


Move all YAML stuff to ruamel

This removes:

RecipeLoader class
yaml_reader() function

Do we know if they are used anywhere?


Asyncio_mode warnings fired by plugin.py

I get a bunch of these warnings when running the tests.
.tox/integration/lib/python3.8/site-packages/pytest_asyncio/plugin.py:191
  /home/pietro/canonical/charm-prometheus-node-exporter/.tox/integration/lib/python3.8/site-packages/pytest_asyncio/plugin.py:191: DeprecationWarning: The 'asyncio_mode' default value will change to 'strict' in future, please explicitly use 'asyncio_mode=strict' or 'asyncio_mode=auto' in pytest configuration file.
    config.issue_config_time_warning(LEGACY_MODE, stacklevel=2)

Maybe some develop branch is already preparing for these changes/upgrading a dependency version, but, to make sure...

Actually sorry there's two warnings that pop up, and the fix I propose is more directly related to the other.
I don't think there's anything that can "fix" this deprecation warning at the pytest-operator level.  I believe this must be addressed by the user calling pytest --asyncio-mode=auto or =strict.  =strict might not work as expected though unless we also implement the @pytest_asyncio.fixture change mentioned above.

FYI, for anyone coming to this after seeing an odd change in your code's behaviour, it might be because pytest-asyncio v0.19.0 changed the default valut of async-mode from auto to strict

A link to a deeper dive after some more research

If you pin pytest-asyncio==0.21.1 it'll work again.
There was a change in pytest-asyncio 0.23.0 that deprecated something this repo uses: https://github.com/pytest-dev/pytest-asyncio/releases/tag/v0.23.0
In pytest-operator, we mess with the event loop here: https://github.com/charmed-kubernetes/pytest-operator/blob/ab50fc20320d3ea3d8a37495f92a004531a4023f/pytest_operator/plugin.py#L171-L176

Hi team, @jnsgruk++ @PietroPasotti++ for the proposal.
One thing I noticed is that pytest-operator + v0.23.2 pytest-asyncio results in we calling Python's asyncio mechanism with a brand new event loop, with no tasks in it nor any ready tasks yet. In my opinion, that should return rightaway. However, Pythons _run_oncewith a fresh new event loop results inepoll_wait` being called with timeout=-1:

Specifying a timeout of -1 causes epoll_wait() to block indefinitely

That is why we were hanging forever.
I filed a bug with Python: https://github.com/python/cpython/issues/112741, explaining we are missing a condition to catch this corner case.


Fix Issue394: get parent node by child node

Add a feature to return parent element by querying the child nodes. Fix issue #394, #522, #287 and #394.

This is great news but can we have an sample query or update the docs?
Thanks


Computed based on an observable returns undefined the first time it's read

const obs = observable(1);
const comp = computed(() => obs)

console.log(obs.get()) // 1
console.log(comp.get()) // undefined
console.log(comp.get()) // 1

This isn't supposed to happen, right?

Nope, that's not right! I'll look into it.

This is fixed in version 2.0.0-beta.2. Thanks for the report!

Thanks for the quick fix!


Update repo for org namespace and configure our CI tooling"

The usual for @lunarmodules projects. Updated links, configured CI including deploy using our re-usable workflows.

The CI workflows for this PR won't run until after they appear in the default branch, but successful runs for the branch can be seen on my fork.

I should have checked these in my fork, but your --lpath hack breaks these. Because it is a new workflow it wasn't running on PRs so we didn't see the failure. Don't worry I'll fix it up.