When compiling for target thumbv7em-none-eabi, wrong ar is called

I have this:
cc::Build::new()
        .target("thumbv7em-none-eabi")
// many include() and define() calls
       .file("my_file.c")
       .compile("libmine.a");
}

and got this error:
AR_thumbv7em-none-eabi = None
AR_thumbv7em_none_eabi = None
TARGET_AR = None
AR = None
running: "ar" "crs" "C:\\Users\\Geob\\Dev\\efr32mg12-sys\\target\\debug\\build\\efr32mg12-sys-62c96ae52fc7f407\\out\\libgecko.a" "C:\\Users\\Geob\\Dev\\efr32mg12-sys\\target\\debug\\build\\efr32mg12-sys-62c96ae52fc7f407\\out\\lib/sdk/hardware/kit/common/bsp\\bsp_stk_leds.o"

--- stderr

error occurred: Failed to find tool. Is `ar` installed? (see https://github.com/alexcrichton/cc-rs#compile-time-requirements for help)

I had to add:
env::set_var("AR", "arm-none-eabi-ar");

before cc call to make it work.
Is that expected behaviour?

Thanks for the report! I think this is a duplicate of https://github.com/alexcrichton/cc-rs/issues/330 so I'm going to close in favor of that

I really need to force myself to search in closed issue and not only opened one… thank you for your answer!


Remove early beta warning from server homepage template

This service is currently in early beta stage. The results provided by the service cannot be used as a reliable indicator of the validity of an Open Badge, and can not not be used as proof to claim implementation conformance. Also read the disclaimer below.
For release, this should be removed.

Fixed in https://github.com/IMSGlobal/openbadges-validator-core/commit/b3cb2703f46bf1119fae4ca5efe75ced0909814b


🐛 [FIREBASE_MESSAGING] iOS: message callbacks do not fire when push notification is sent via APNS token

Bug report
Describe the bug
On iOS devices,
I upgraded to Firebase Messaging v8.0.0-dev.9
With it, I was able to use getAPNSToken() and successfully send this 64bit hexadecimal to a third party chat service.
When I send a push notification from the third party chat service console and app is on the background, iOS shows the notification banner.
My code looks like this:
      Future<void> func(message) async => print("got message in background");
      .....
      .....
      FirebaseMessaging.onMessage.listen((message) {
          print("message received");
      });
      FirebaseMessaging.onBackgroundMessage(func);
      FirebaseMessaging.onMessageOpenedApp.listen((message) {
          print("opened message");
      });

The onMessageOpenedApp and onBackgroundMessage functions do not get triggered when a notification is sent through the third party chat service while the app is in the background.
However onMessageOpenedApp triggers when I send a message from Firebase Cloud Messaging. Note that onBackgroundMessage does not fire even with Firebase Cloud Messaging.
Also the onMessage function does not get triggered when a notification is sent through the third party chat service while the app is in the foreground.
Steps to reproduce
Steps to reproduce the behavior:

use getAPNSToken() to get the native token for iOS.
send this APNS token to the third party chat service.
send a notification from the third party chat service
take the app to the background
observe that the notification banner is received successfully while onBackgroundMessage is not being triggered.
take the app to the foreground
send a notification from the third party chat service
onMessage is not triggered and the notification is totally omitted by Firebase Messaging

Expected behavior
We should receive the notifications send to our app thorugh onMessage and onBackgroundMessage no matter if they are sent using APNS or FCM token.

Additional context
Add any other context about the problem here.

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
[✓] Flutter (Channel stable, 1.22.4, on macOS 11.0.1 20B29 darwin-x64, locale en-TR)
    • Flutter version 1.22.4 at /Users/berat/Documents/Development/flutter
    • Framework revision 1aafb3a8b9 (3 weeks ago), 2020-11-13 09:59:28 -0800
    • Engine revision 2c956a31c0
    • Dart version 2.10.4

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/berat/Library/Android/sdk
    • Platform android-30, build-tools 30.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-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.2, Build version 12B45b
    • CocoaPods version 1.10.0

[!] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

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

[✓] Connected device (1 available)
    • Ibrahim Berat’s iPhone (mobile) • 4908a07faafc82e9575c22f23c588d81e74ed3c9 • ios • iOS 14.2

! Doctor found issues in 1 category.

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
Dart SDK 2.10.4
Flutter SDK 1.22.4
bare_bones 1.0.0+1

dependencies:
- auto_route 0.6.9 [flutter meta]
- bloc 6.1.0 [meta]
- camera 0.5.8+11 [flutter]
- cloud_firestore 0.14.3+1 [flutter meta quiver firebase_core firebase_core_platform_interface cloud_firestore_platform_interface cloud_firestore_web]
- cloud_functions 0.7.1 [meta flutter firebase_core firebase_core_platform_interface cloud_functions_platform_interface cloud_functions_web]
- connectivity 2.0.2 [flutter meta connectivity_platform_interface connectivity_macos connectivity_for_web]
- connectycube_sdk 1.0.0 [flutter http http_parser crypto package_info uuid intl mime xmpp_stone device_id crossplat_objectid path flutter_webrtc web_socket_channel]
- cupertino_icons 1.0.0
- dartz 0.9.2
- dash_chat 1.1.15 [flutter flutter_parsed_text uuid intl transparent_image]
- firebase_auth 0.18.3+1 [meta firebase_core firebase_core_platform_interface firebase_auth_platform_interface firebase_auth_web flutter]
- firebase_core 0.5.2+1 [firebase_core_platform_interface flutter quiver meta firebase_core_web]
- firebase_messaging 8.0.0-dev.9 [meta flutter firebase_core firebase_core_platform_interface firebase_messaging_platform_interface]
- firebase_storage 5.1.0 [flutter firebase_core firebase_core_platform_interface firebase_storage_web firebase_storage_platform_interface quiver]
- flushbar 1.10.4 [flutter]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]
- flutter_bloc 6.1.1 [flutter bloc provider]
- flutter_ffmpeg 0.3.0 [flutter]
- flutter_local_notifications 3.0.1+6 [flutter platform flutter_local_notifications_platform_interface timezone]
- flutter_localizations 0.0.0 [flutter intl characters collection meta path typed_data vector_math]
- flutter_signin_button 1.1.0 [flutter font_awesome_flutter]
- freezed 0.12.2 [analyzer build build_config meta source_gen freezed_annotation]
- gallery_saver 2.0.1 [flutter path_provider http path]
- geocoding 1.0.5 [flutter geocoding_platform_interface url_launcher]
- geolocator 6.1.8+1 [flutter geolocator_platform_interface]
- get_it 5.0.1 [async meta]
- google_sign_in 4.5.6 [google_sign_in_platform_interface flutter meta google_sign_in_web]
- injectable 1.0.5 [get_it]
- lamp 0.0.6 [flutter]
- logger 0.9.4
- path 1.8.0-nullsafety.1
- path_provider 1.6.24 [flutter path_provider_platform_interface path_provider_macos path_provider_linux path_provider_windows]
- permission_handler 5.0.1+1 [flutter meta permission_handler_platform_interface]
- rxdart 0.24.1
- screen 0.0.5 [flutter]
- shared_preferences 0.5.12+4 [meta flutter shared_preferences_platform_interface shared_preferences_linux shared_preferences_macos shared_preferences_web shared_preferences_windows]
- sign_in_with_apple 2.5.4 [meta flutter]
- uuid 2.2.2 [crypto convert]
- video_player 1.0.1 [meta video_player_platform_interface video_player_web flutter]

dev dependencies:
- auto_route_generator 0.6.10 [build source_gen analyzer path build_runner auto_route]
- bloc_test 7.1.0 [bloc test meta mockito]
- build_runner 1.10.4 [args async build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style glob graphs http_multi_server io js logging meta mime path pedantic pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span stream_channel string_scanner term_glyph typed_data]
- freezed_annotation 0.12.0 [collection json_annotation meta]
- injectable_generator 1.0.6 [build source_gen path glob analyzer injectable collection]
- json_serializable 3.5.0 [analyzer build build_config json_annotation meta path source_gen]
- lint 1.3.0

dependency overrides:
- analyzer 0.40.4 [_fe_analyzer_shared args charcode cli_util collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]

transitive dependencies:
- _fe_analyzer_shared 11.0.0 [meta]
- archive 2.0.13 [crypto args path]
- args 1.6.0
- async 2.5.0-nullsafety.1 [collection]
- boolean_selector 2.1.0-nullsafety.1 [source_span string_scanner]
- build 1.5.0 [analyzer async convert crypto logging meta path glob]
- build_config 0.4.2 [checked_yaml json_annotation meta path pubspec_parse yaml]
- build_daemon 2.1.4 [built_collection built_value http_multi_server logging pedantic path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 1.4.3 [analyzer build crypto graphs logging meta path package_config pool pub_semver]
- build_runner_core 6.0.3 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta path package_config pedantic pool timing watcher yaml]
- built_collection 4.3.2 [collection quiver]
- built_value 7.1.0 [built_collection collection fixnum quiver]
- characters 1.1.0-nullsafety.3
- charcode 1.2.0-nullsafety.1
- checked_yaml 1.0.2 [json_annotation source_span yaml]
- cli_util 0.2.0 [path]
- clock 1.1.0-nullsafety.1
- cloud_firestore_platform_interface 2.2.0 [flutter meta collection firebase_core plugin_platform_interface]
- cloud_firestore_web 0.2.1+1 [flutter flutter_web_plugins http_parser meta firebase_core firebase_core_web cloud_firestore_platform_interface js]
- cloud_functions_platform_interface 3.0.2 [flutter meta firebase_core plugin_platform_interface]
- cloud_functions_web 3.1.0 [firebase_core firebase_core_web cloud_functions_platform_interface flutter flutter_web_plugins http_parser meta js]
- code_builder 3.5.0 [built_collection built_value collection matcher meta]
- collection 1.15.0-nullsafety.3
- connectivity_for_web 0.3.1+4 [connectivity_platform_interface flutter_web_plugins flutter]
- connectivity_macos 0.1.0+7 [flutter]
- connectivity_platform_interface 1.0.6 [flutter meta plugin_platform_interface]
- console 3.1.0 [vector_math]
- convert 2.1.1 [charcode typed_data]
- coverage 0.14.1 [args logging package_config path source_maps stack_trace vm_service]
- crossplat_objectid 2.1.4
- crypto 2.1.5 [collection convert typed_data]
- cryptoutils 0.4.0 [collection]
- dart_style 1.3.9 [analyzer args path source_span]
- device_id 0.2.0 [flutter]
- fake_async 1.2.0-nullsafety.1 [clock collection]
- ffi 0.1.3
- file 5.2.1 [intl meta path]
- firebase_auth_platform_interface 2.1.3 [flutter meta firebase_core plugin_platform_interface]
- firebase_auth_web 0.3.2+1 [flutter flutter_web_plugins meta http_parser intl firebase_core firebase_core_web firebase_auth_platform_interface js]
- firebase_core_platform_interface 2.1.0 [flutter meta plugin_platform_interface quiver]
- firebase_core_web 0.2.1+1 [firebase_core_platform_interface flutter flutter_web_plugins meta js]
- firebase_messaging_platform_interface 1.0.0-dev.6 [flutter meta firebase_core plugin_platform_interface]
- firebase_storage_platform_interface 1.0.1 [flutter meta collection firebase_core plugin_platform_interface]
- firebase_storage_web 0.1.1 [async crypto firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http js meta]
- fixnum 0.10.11
- flutter_local_notifications_platform_interface 2.0.0+1 [flutter plugin_platform_interface]
- flutter_parsed_text 1.2.5 [flutter]
- flutter_web_plugins 0.0.0 [flutter characters collection meta typed_data vector_math]
- flutter_webrtc 0.4.0 [flutter]
- font_awesome_flutter 8.10.0 [flutter]
- geocoding_platform_interface 1.0.1+1 [flutter meta plugin_platform_interface]
- geolocator_platform_interface 1.0.8 [flutter meta plugin_platform_interface vector_math]
- glob 1.2.0 [async collection node_io path pedantic string_scanner]
- google_sign_in_platform_interface 1.1.2 [flutter meta quiver]
- google_sign_in_web 0.9.2 [google_sign_in_platform_interface flutter flutter_web_plugins meta js]
- graphs 0.2.0
- http 0.12.2 [http_parser path pedantic]
- http_multi_server 2.2.0 [async]
- http_parser 3.1.4 [charcode collection source_span string_scanner typed_data]
- image 2.1.19 [archive xml meta]
- intl 0.16.1 [path]
- io 0.3.4 [charcode meta path string_scanner]
- js 0.6.3-nullsafety.1
- json_annotation 3.1.0
- logging 0.11.4
- matcher 0.12.10-nullsafety.1 [stack_trace]
- meta 1.3.0-nullsafety.3
- mime 0.9.7
- mockito 4.1.3 [analyzer build code_builder collection dart_style matcher meta source_gen test_api]
- nested 0.0.4 [flutter]
- node_interop 1.1.1 [js]
- node_io 1.1.1 [node_interop path]
- node_preamble 1.4.12
- package_config 1.9.3 [path charcode]
- package_info 0.4.3+2 [flutter]
- path_provider_linux 0.0.1+2 [path xdg_directories path_provider_platform_interface flutter]
- path_provider_macos 0.0.4+4 [flutter]
- path_provider_platform_interface 1.0.3 [flutter meta platform plugin_platform_interface]
- path_provider_windows 0.0.4+1 [path_provider_platform_interface meta path flutter ffi win32]
- pedantic 1.10.0-nullsafety.1
- permission_handler_platform_interface 2.0.1 [flutter meta plugin_platform_interface]
- petitparser 3.1.0 [meta]
- platform 2.2.1
- plugin_platform_interface 1.0.3 [meta]
- pool 1.5.0-nullsafety.1 [async stack_trace]
- process 3.0.13 [file intl meta path platform]
- provider 4.3.2+2 [flutter nested collection]
- pub_semver 1.4.4 [collection]
- pubspec_parse 0.1.5 [checked_yaml json_annotation pub_semver yaml]
- quiver 2.1.3 [matcher meta]
- shared_preferences_linux 0.0.2+4 [file flutter meta path path_provider_linux shared_preferences_platform_interface]
- shared_preferences_macos 0.0.1+11 [shared_preferences_platform_interface flutter]
- shared_preferences_platform_interface 1.0.4 [meta flutter]
- shared_preferences_web 0.1.2+7 [shared_preferences_platform_interface flutter flutter_web_plugins meta]
- shared_preferences_windows 0.0.1+3 [shared_preferences_platform_interface flutter ffi file meta path path_provider_platform_interface path_provider_windows]
- shelf 0.7.9 [async collection http_parser path stack_trace stream_channel]
- shelf_packages_handler 2.0.0 [path shelf shelf_static]
- shelf_static 0.2.8 [convert http_parser mime path shelf]
- shelf_web_socket 0.2.3 [shelf web_socket_channel stream_channel]
- sky_engine 0.0.99
- source_gen 0.9.7+1 [analyzer async build dart_style glob meta path pedantic source_span]
- source_map_stack_trace 2.1.0-nullsafety.2 [path stack_trace source_maps]
- source_maps 0.10.10-nullsafety.1 [source_span]
- source_span 1.8.0-nullsafety.2 [charcode collection path term_glyph]
- stack_trace 1.10.0-nullsafety.1 [path]
- stream_channel 2.1.0-nullsafety.1 [async]
- stream_transform 1.2.0
- string_scanner 1.1.0-nullsafety.1 [charcode source_span]
- synchronized 2.2.0+2
- term_glyph 1.2.0-nullsafety.1
- test 1.16.0-nullsafety.5 [analyzer async boolean_selector coverage http http_multi_server io js node_preamble package_config path pedantic pool shelf shelf_packages_handler shelf_static shelf_web_socket source_span stack_trace stream_channel typed_data web_socket_channel webkit_inspection_protocol yaml test_api test_core]
- test_api 0.2.19-nullsafety.2 [async boolean_selector collection meta path source_span stack_trace stream_channel string_scanner term_glyph matcher]
- test_core 0.3.12-nullsafety.5 [analyzer async args boolean_selector collection coverage glob io meta package_config path pedantic pool source_map_stack_trace source_maps source_span stack_trace stream_channel vm_service yaml matcher test_api]
- timezone 0.5.9 [path]
- timing 0.1.1+2 [json_annotation]
- transparent_image 1.0.0
- tuple 1.0.3 [quiver]
- typed_data 1.3.0-nullsafety.3 [collection]
- unorm_dart 0.1.2
- url_launcher 5.7.10 [flutter url_launcher_platform_interface url_launcher_web url_launcher_linux url_launcher_macos url_launcher_windows]
- url_launcher_linux 0.0.1+4 [flutter]
- url_launcher_macos 0.0.1+9 [flutter]
- url_launcher_platform_interface 1.0.9 [flutter meta plugin_platform_interface]
- url_launcher_web 0.1.5+1 [url_launcher_platform_interface flutter flutter_web_plugins meta]
- url_launcher_windows 0.0.1+3 [flutter]
- vector_math 2.1.0-nullsafety.3
- video_player_platform_interface 2.2.0 [flutter meta]
- video_player_web 0.1.4 [flutter flutter_web_plugins meta video_player_platform_interface]
- vm_service 5.2.0 [meta]
- watcher 0.9.7+15 [async path pedantic]
- web_socket_channel 1.1.0 [async crypto stream_channel]
- webkit_inspection_protocol 0.7.3 [logging]
- win32 1.7.3 [ffi]
- xdg_directories 0.1.2 [meta path process]
- xml 4.5.1 [collection convert meta petitparser]
- xmpp_stone 0.3.1 [xml cryptoutils crypto synchronized tuple unorm_dart image quiver console intl]
- yaml 2.2.1 [charcode collection string_scanner source_span]

Hi @aytunch
On iOS you would need to add "content_available": true, to to the message payload to tamporarily wake the app and trigger a background message callback.

Thank you

@markusaksli-nc from the console of the chat service I check the content_available flag but nothing changes.

Does the background callback work if you send a notification through FCM?
Such as
{
  "notification":{
    "title": "This is the title",
    "body": "This is the body",
  },
  "content_available": true,
  "priority": "high",
  "data": {
    "id": 15,
    "type": "comment"
  },
  "to": "FCM token"
}

@markusaksli-nc Hi again:)
I made several tests and below are the summary of the situation:
When the client iOS app is on background, no matter what the content-available is set to, we only see the notification banner. onBackgroundMessage is never triggered. This is same with both FCM and 3rd party chat service(using APNS token)
When the client iOS app is on foreground;
Push notification through FCM console triggers onMessage
But 3rd party chat service APNS console does not trigger onMessage

My suspicion is that in this case contentAvailable is not being set correctly. In this case, it will seem like it is doing nothing.
I'm not sure what apns payload in your message is supposed to be. The FCM HTTP ref describes the property content_available as:

content_available | Optional, boolean | On iOS, use this field to represent content-available in the APNs payload.

The payload that I commented is what works for me when sending background messages.
curl https://fcm.googleapis.com/fcm/send -H "Content-Type:application/json" -X POST -d @send.json -H "Authorization: key=<Cloud Messaging key>"

With this it should at least work through FCM, however, I'm not sure how the third-party notification payload is handled so I can't offer any advice there.

I also have a similar issue. I apologize if this is already mentioned if the documentation and maybe I have missed it, but do onMessage and onBackgroundMessage not get triggered when a message is sent with APNS, and does onBackgroundMessage not work with iOS? I have no issues on Android but on iOS onMessage does not get triggered when an APNS message is sent via the Admin SDK, and onBackgroundMessage does not get triggered at all with both APNS or FCM.

I'm facing the same issue on iOS.
Android is working fine with both onMessage and onBackgroundMessage.
iOS isn't triggering onMessage  or onBackgroundMessage when the app is terminated.
(when the app is in background or foreground it's working fine)

I thought this plugin only handles messages if they contains the gcm.message_id field, indicating they're sent from FCM?

@acoutts Is there a Flutter package owned/maintained by Google for handling Push Notifications? I would be more than happy to use that one if it exists. When I search pub.dev for push notification, the top results are firebase_messaging, flutter_apns, apns_flutter. And since I use Firebase backend along with other 3rd party integrations which require push notification integration, I need to handle all the messages coming from all the servers. I don't know why Firebase team chose to make their push service propriety by converting APNS tokens to FCM(most probably to make it harder for developers to migrate to another service provider). This might be a good commercial design for Firebase.
However this is not a good design choice for Flutter and for us devs. Push notifications, imho are very essential for an app. And being forced to use multiple push notification packages which basically do the exact same thing(listening to a platform channel and getting a string from the OS) is an overkill. Also, these multiple similar packages usually have conflicts with each other and it is nearly impossible to maintain both when one has a breaking change.
Right now, we are trying to build an app which we are working very hard on. We have a goal, even if the app is not successful, at least it will be able to showcase what Flutter is capable of. We had some hurdles with Video and Camera packages but now they are in a stable condition. For push notifications, I can not say the same. Image in iOS still is not working. Documentation lacks a lot. and this fcm/apns token and being forced to use multiple push packages stalls us big time. I hope you guys can make things easier for your fellow devs.

Wanted to bump this issue. I'm experiencing the same exact issues as @aytunch using Firebase Messaging v8.0.0-dev.14 where none of the handlers are being called when app is in the foreground. I have also confirmed that push notifications send properly via Firebase Cloud Messaging.
The docs mention for iOS to add
    await FirebaseMessaging.instance.setForegroundNotificationPresentationOptions(
       alert: true, // Required to display a heads up notification
       badge: true,
       sound: true,
    );

This only actually allows notifications to appear when the app is in the background/terminated. However, when I tap the notification, the callbacks are not called appropriately. Can someone confirm that these handlers are supposed to be called on iOS the same way as on Android?
Additionally, the content-available flag does not seem to make a difference here especially for alert messages.

Wanted to bump this issue. I'm experiencing the same exact issues as @aytunch using Firebase Messaging v8.0.0-dev.14 where none of the handlers are being called when app is in the foreground. I have also confirmed that push notifications send properly via Firebase Cloud Messaging.
The docs mention for iOS to add
    await FirebaseMessaging.instance.setForegroundNotificationPresentationOptions(
       alert: true, // Required to display a heads up notification
       badge: true,
       sound: true,
    );

This only actually allows notifications to appear when the app is in the background/terminated. However, when I tap the notification, the callbacks are not called appropriately. Can someone confirm that these handlers are supposed to be called on iOS the same way as on Android?
Additionally, the content-available flag does not seem to make a difference here especially for alert messages.

Any update about this ?

@paod634 could you find a solution to this?
in iOS, the OS shows the APNS notification when in background and terminated but if we click on the notification alert, there is no way to catch the on app opened events.
So at the moment our users can only interact with Firebase push notifications but not 3rd party chat service notifications. I can not take them to the chat page when a chat message is pressed.

The issue only applies to usage without Firebase because a special field, that is checked, is missing.
You have two options:
a) add the missing field gcm.message_id to your APNS payload and onMessage will be called again
b) patch the library and remove the two checks here:
https://github.com/FirebaseExtended/flutterfire/blob/76e90104e14c6d31bd6edb3aef2a754f2351990b/packages/firebase_messaging/firebase_messaging/ios/Classes/FLTFirebaseMessagingPlugin.m#L285
https://github.com/FirebaseExtended/flutterfire/blob/76e90104e14c6d31bd6edb3aef2a754f2351990b/packages/firebase_messaging/firebase_messaging/ios/Classes/FLTFirebaseMessagingPlugin.m#L328
If you remove the if's then the onMessage function will also be called again.
There are similar checks on the Android side, but it seems that Google is always adding a corresponding message_id and therefore everything is fine. See: https://github.com/FirebaseExtended/flutterfire/blob/ae683e5251673d089af7ff1c8d55db8724267901/packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingPlugin.java#L242
I don't know why those checks were implemented on the iOS side, but it is definitely inconsistent that Android works out-of-the-box but iOS requires some "special" treatment.
Maybe someone wants to make a PR which removes those if's and see if it gets merged.
For my part i was able to pull option a) and not require modifications to the package.
@BastienNOEL: Thanks for getting to the bottom of this!

@paresy this is great investigation.
Thank you for the detailed info. I think removing these unnecesary checks from the plugin will help out a lot of developers.
@markusaksli-nc is there a specific reason why iOS and Android behaves differently with gcm.message_id?
Can we please push these changes in to the plugin instead of altering the plugin locally?

We are just sending a static dummy value so the expression evaluates to true. As far as i have seen there is no further usage for the massage_id besides the existence verification.

We are facing same issue, even foreground notification  is working fine only in debug mode. Background never work in any mode.
Please help me to fix it, thanks in advance.

I have the same issue, How did you resolve that? @aytunch . Could you tell me ? Thanks

@tungthanhcmc unfortunately they still haven't solved this issue. We are thinking of migrating to another BE solution.

So sad. Did you try to edit native code? @aytunch

My experience is probably outdated by a year or more at this point, but I ended up digging around in native code + other people's plugins (for months...really), cobbling together a solution that worked specifically for my coding style / project (really, it was rejected for merge into Firebase codebase, but it did work for my needs 😅).  I recommend, unfortunately, to anyone having trouble, to do the same / get your hands dirty with some Xcode debugging and/or strategically placed log statements (remote phone-to-server logging, if you have to, as say when debugging opening notifications from terminated state).  Worst case, you'll learn a ton about how iOS + Android handle incoming notifications.
I used a combo of my own forks of FlutterFire and AwesomeNotifications on Flutter side, for which my admittedly messily forked repos / commits / PRs are at:

https://github.com/tek08/flutterfire/pulls?q=is%3Apr+author%3Atek08

a. Fixes an issue where tapping on an iOS notification from terminated state would fail, though fwiw, not sure it's perfectly fixed...
b. Adds a new MethodChannel call shouldShowNotification, which asks Flutter if a particular notification should be shown by iOS once it's come in.

https://github.com/tek08/awesome_notifications/pulls?q=is%3Apr+is%3Aclosed

A lot of the trouble folks have with push notifications in flutter/iOS is with delegate chaining.  You may have multiple plugins all fighting to be the NotificationCenter's delegate, and then selfishly not forwarding on requests to anyone who had previously claimed delegate.  I love AwesomeNotifications, for being able to create notifications on device in response to invisible but reliable DataMessages etc. but it was fairly greedy in terms of wanting to be delegate on iOS, so iirc, I stripped it of such power, and let FlutterFire run the show for handling inbound messages.

On backend (Python FastAPI), I used FirebaseAdmin, with a custom built series of Message objects (DataMessages + NotificationMessages, from which a number of other custom notifications inherited) that are translated into differently (likely mis)configured firebase_admin.messaging.Message objects depending on whether they are to successfully make it to an Android or iOS device, each with a json payload with info about the specific notification type, intercepted by FlutterFire in dart, and then sent to individual handlers/interpreters on Flutter-side, depending on what type of notification subclass they are (as detected from the payload).
TL;DR -- Push notifications was one of the most convoluted features to work with in Flutter for me.  I feel your pain.  It took me months to get something working somewhat reliably.  If I can help at least point you in the right direction, lemme know, though my knowledge at this point is probably wicked out of date if not buried underneath cobwebs in my brain.
Shameless plug:  If anyone is looking to help breathe life back into a Flutter / Python (FastAPI + SQLAlchemy + Pulumi) project, and likes the idea of hacking on real estate data either for fun or for the greater good (let's make buying a home / renting an apartment easier, cheaper and more fair for buyers/tenants and sellers/landlords around the world), hit me up (hello@housewren.app).  Would love to chat.

Problem still exists. Still no "onMessage"-callback if app is active and "alert" is present in "aps".
("gcm.message_id" is available)
Checked line 490 in the file:
https://github.com/firebase/flutterfire/blob/master/packages/firebase_messaging/firebase_messaging/ios/Classes/FLTFirebaseMessagingPlugin.m#L490
// If "alert" (i.e. notification) is present in userInfo, this will be called by the other
// "Messaging#onMessage" channel handler
if (userInfo[@"aps"] != nil && userInfo[@"aps"][@"alert"] == nil)
As a quick fix I removed the condition: && userInfo[@"aps"][@"alert"] == nil. Now it works, but I'm not really comfortable with this solution because of the other mentioned "channel handler" in the line comment (I not found it...). Does anyone have a better idea?

@russellwheatley Do you know why this condition is here?

@Lyokone The gcm.message_id allows us to interpret which notification is from a Firebase service (console or Firebase admin SDK). We only support messages sent by a Firebase service.

@russellwheatley please correct me if I am misunderstanding something here

We only support messages sent by a Firebase service.

What is the reason for this? Our apps can receive push notifications from multiple sources. And why can we not rely on firebase_messaging plugin to handle all these different sources?
It seems like gcm.message_id not being present causes terminated and background cases to not fire callbacks for 3rd party sources.
In our app, we use Firebase + 3rd party chat service. And in our Flutter app we want to use this plugin to catch all the notifications in a central place and move the app accordingly.
For my current understanding; gcm.message_id checking does not benefit the developers. This causes so much trouble to all of use as you can see from many issues opened up in Flutter fire which are still open after 2+ years.
I want to request you guys to reconsider the gcm.message_id checking again. Please do not omit the callbacks even if gcm.message_id is not present in the payload in this plugin.

Hello everyone, we’ve reviewed the issues opened for iOS background messages and we want to make our position clear.
Android and iOS handle background messaging differently. The decision made by the iOS operating system whether messages reaches the relevant iOS event handler (and subsequently received by the Dart background messaging handler) is based on a number of criteria, such as: CPU usage, priority level (data-only messages are considered “low priority” by iOS, android does not), battery level, amount of messages being received by the app, background/terminated application state, etc. This is a fundamental difference between the platforms, and you need to be aware of them when designing your application.
One solution suggested for iOS data-only messages unreliability has been to add a NotificationExtension. But this will still not create parity with Android as you will still have to include a notification with your message (therefore not data-only). It will still render the original notification if you do not update/mutate the notification that comes through the system in a timely manner.  We are not currently considering this as a solution due to these limitations.
We also will not support non-FCM messages from third party packages. We specifically only support messages received from the Firebase APIs since we cannot guarantee that messages received from third party packages will not have any unintended side-effects  on other Firebase products such as messaging delivery reporting and Analytics data.
To help us triage and locate genuine issues that need to be addressed we have created a specific issue template for iOS background messages. If you believe you still have an issue that needs to be addressed, please create a new issue following this template.
I will be closing this issue in favor of raising a new issue with the new template above. This template will help you provide us with all the information we need to investigate a potential issue with background messaging on iOS.

We also will not support non-FCM messages from third party packages. We specifically only support messages received from the Firebase APIs since we cannot guarantee that messages received from third party packages will not have any unintended side-effects on other Firebase products such as messaging delivery reporting and Analytics data.

@russellwheatley Then may I ask why does firebase_messaging catches 3rd party notifications when the app is in the foreground? This is not a consistent behavior. If we knew this was the case from the beginning, we would reconsider choosing Firebase as a backend or reconsider our 3rd party services.
If 3rd party notifications are received by onMessage callback but not with terminated and background callbacks, this is greatly misleading to us developers.


Update OSG 3.6 danger text (SOFTWARE-4586)

I want to be really heavy handed here

u got it
https://youtu.be/Jl5vi9ir49g


⚠ PrivateHD has degraded performance

In 8e055d6, PrivateHD ($PHD) experienced degraded performance:

HTTP code: 200
Response time: 4907 ms

Resolved: PrivateHD performance has improved in d2a1ce5.


Use official Cesium release.

@ggetz I didn't know if we had any other spots that had to be updated (such as a disclaimer of a prerelease being needed), let me know if that's the case.


train error under python3.4: Missing required input: <TensorType(float32, 4D)>

Define network...
[16.67s]
Load model... [0.33s]
Define loss... [1.14s]
Compile update functions... [82.92s]
Compile validation function... [14.34s]
Optimize... [3.68s]
Traceback (most recent call last):
File "/raid/code/FRRN/FRRN-master/train_frrn_a.py", line 213, in
optimizer.optimize()
File "/raid/code/FRRN/FRRN-master/dltools/optimizer.py", line 58, in optimize
losses = self.train_fn(data.imgs, data.targets, update_counter)
File "/raid/code/FRRN/FRRN-master/train_frrn_a.py", line 141, in compute_update
loss, grads = dltools.hybrid_training.compute_grads(grad_fns, param_blocks, imgs, targets)
File "/raid/code/FRRN/FRRN-master/dltools/hybrid_training.py", line 150, in compute_grads
result = grad_fnsi
File "/usr/local/lib/python3.4/dist-packages/theano/compile/function_module.py", line 867, in call
self.inv_finder[c]))
TypeError: Missing required input: <TensorType(float32, 4D)>
Process finished with exit code 1

This is related to #2
Unfortunately, I haven't had the time to make the code work under Python 3.4. Right now it only works under Python 3.5.
Making the code work under Python 3.4 should be fairly simple as the only reason why it fails under 3.4 is the use of the star operator on lists and tuples (e.g. foo(*(1,2,3)) == f(1,2,3))

The new release supports Python 3.4.


Hourly forecast card not showing times

With the frontend update that came with HA 2023.08, the Weather Forecast card when choosing the hourly forecast entity now shows the day of the week where it previously showed the hour. So instead of 8am, 9am, 10am, 11am, 12pm etc, we just get Fri, Fri, Fri, Fri.
Not sure if this is something that can be fixed in the integration or if this is provided by the frontend?

Same issue here.  I removed the integration (which has been loaded manually 6 months ago) and relaoded via HACS but result was the same as @nixmaster2000
The hourly entity has all the attributes correctly (developer tools, states) but just not showing on the weather card.

Also having this issue. Don't know how long for, only noticed it this morning. I've tried reloading the config, but same as the others.

There is no weather card for this integration. Contact the dev if it's a custom card or log an issue for HA core if it's a core card.

It would appear to be an issue with the integration, not card(s).
The core Weather Forecast card was showing all the appropriate data prior to 2023.8  After the core update, it's not.  However, another weather integration (Met.no) is showing the correct data.

You said

The hourly entity has all the attributes correctly (developer tools, states) but just not showing on the weather card.

This means the integration is ok

Yeah, fair point but equally, another integration does show the data correctly - which, to me, indicated that integration & the card (Weather Forecast) are OK.
For clarity, here is a screenshot of the two cards.  First is using Met.no (windy) integration with 5-day forecast & hourly forecast - working correctly.  2nd is Bureau of Meterology integration with 5-day & hourly - the hourly pane isn't showing data correctly (although the 5-day is working correctly).

What I meant by devTools/states was showing the data correctly is seen here ;

Data is readable but the integration isn't reading it correctly.  It did prior to the 2023.8 update so I conclude that the integration was doing something non-standard that is now causing an issue (although happy to admit I don't fully understand what's occurring in the background :).

The intergation id providing the data you see in dev-tools. The intergration reads the data from BOM and pases it to HA. Therefore if HA is displaying the data correctly in dev-tools, it can only be getting it from the integration/BOM

Yeah, the BoM integration is pulling the data & HA is receiving it.  But all that data is in one entity's attributes, not individual entities.  HA can read the one entity & display the attributes but can the card pull out the correct data from the attribute string?
If it's not the BoM integration with the issue, how is it that the Weather Forecast card still works with the Met.no integration ?
I've no idea if it's relevant but the attribute string from Met.no has a few additional values in the initial (current wx) part & fewer values in the hourly parts ;

Well it depends on what the card is looking for. Is there any difference in the data the integration is providing now as opposed to before 2023.8? I'd doubt it.

No, the data the integration is supplying is the same, certainly.
Since it's only the core that's changed (& the core can't be faulty :), it suggests to me that either the card or the integration has the issue.  Since the card works with other integration(s), it's OK so that leaves the BoM integration.  My uninformed gut feeling is that there is a typo/bug in the integration that hasn't been relevant until this core update.
Anyway, if it's a core issue, I don't understand enough to log it.
Thanks for the input.

It's a HA frontend issue. See https://github.com/home-assistant/frontend/issues/17472
Will be fixed with the next release with a frontend bump (hopefully soon!)

it for sure was never an integration issue

That seems pretty conclusive. Will be glad to have it fixed, even the wife has been commenting!


Allow more special values for addr in ipfw rules (Traffic Shaping)

According to man 8 ipfw, more special values are supported by the addr rule field then just any:
     addr: [not] {any | me | me6 | table(name[,value]) | addr-list | addr-set}

             any     matches any IP address.

             me      matches any IP address configured on an interface in the
                     system.

             me6     matches any IPv6 address configured on an interface in
                     the system.  The address list is evaluated at the time
                     the packet is analysed.

             table(name[,value])
                     Matches any IPv4 or IPv6 address for which an entry
                     exists in the lookup table number.  If an optional 32-bit
                     unsigned value is also specified, an entry will match
                     only if it has this value.  See the LOOKUP TABLES section
                     below for more information on lookup tables.

Especially me6 and me can be useful. When it is currently specified as source, the validator complains with: "please specify a valid network segment or address (IPv4/IPv6)"
OPNsense version: OPNsense 18.1.8-amd64
URL path of the GUI page involved: /ui/trafficshaper/#rules

This issue has been automatically timed-out (after 180 days of inactivity).
For more information about the policies for this repository,
please read https://github.com/opnsense/core/blob/master/CONTRIBUTING.md for further details.
If someone wants to step up and work on this issue,
just let us know, so we can reopen the issue and assign an owner to it.


fix(internalSetState): dont change references inside setState updater

What:
This fixes an issue when using the new React 16.3 React.StrictMode component which invokes setState updater functions twice. This resolves issue #403

Why:
This change is necessary in order to resolve a runtime error when using React.StrictMode. (Note: StrictMode does not affect production code, only development).

How:
This change changes the behavior in the setState updater function by creating new references to state and the stateToSet that is in the closure.

Checklist:

[ ] Documentation
[ ] Tests
[x] Ready to be merged

[x] Added myself to contributors table

I wasn't sure if there were any additional tests that needed to be added. Let me know if there are anything and I can try and add those.

Thanks for the PR!

This change changes the behavior in the setState updater function by creating new references to state and the stateToSet that is in the closure.

This just changes the references to objects. As far as I know, state is actually never mutated. Unless I'm missing something this change doesn't actually affect anything.

Hmm, when I was running things locally in StrictMode, these two lines seemed suspect to me:
stateToSet = isStateToSetFunction ? stateToSet(state) : stateToSet
stateToSet = this.props.stateReducer(state, stateToSet)

The stateToSet reference gets changed to an object with the new state after the first line. Since stateToSet is in the closure and outside this scope, it remains changed on subsequent calls to the updaterFunction.
The first time this is invoked, things work fine. But the second time, before my change, stateToSet was an object and not a function.
Does that make sense?

@kentcdodds - I added a failing test case. This test passes with my changes and does not without. The behavior I was seeing in our Application occurred during a call of reset() so I mimicked that in the test.
Hope this helps, let me know if theres anything else I can provide.

Thanks so much for your help! I've added you as a collaborator on the project. Please make sure that you review the other/MAINTAINING.md and CONTRIBUTING.md files (specifically the bit about the commit messages and the git hooks) and familiarize yourself with the code of conduct (we're using the contributor covenant). You might also want to watch the repo to be notified when someone files an issue/PR. Please continue to make PRs as you feel the need (you can make your branches directly on the repo rather than your fork if you want). Thanks! And welcome to the team :)


Unnecessary File Display When Uploading Restaurant or Food Images In Enatega Multivendor Admin Dashboard.

Issue: Unnecessary File Display When Uploading Restaurant or Food Images
Description:
In web, there is an issue where unnecessary files are displayed when users upload images of restaurants or food items. This issue results in an inefficient and cluttered image upload process.
Impact:
User Experience: The presence of unnecessary files can create confusion and inconvenience for users when trying to upload images.
Efficiency: A streamlined image upload process benefits both users and the overall functionality of the platform.
Steps to Reproduce:

Access the image upload section for restaurants or food items in web.
Attempt to upload images.
Observe that unnecessary files are displayed in the upload process.

Expected Resolution:
The issue of displaying unnecessary files when uploading images of restaurants or food items should be addressed and resolved. Users should only see images available for upload, ensuring a cleaner and more efficient process.

Hello @Sohailqureshi9 ,
I'm pleased to inform you that we've resolved the issue where unnecessary files were displayed when uploading restaurant or food images. Now, only images can be selected during the upload process.
Thank you for reporting this issue, and your patience is much appreciated. If you encounter any more issues or have additional feedback, please don't hesitate to reach out.
Best regards,
@beKashif
@Ninjas-Code-official/ninjas-code


I cannot find ‘hdfs_sentence2vec.pkl’

Hi @humanlee1011, thank you for providing the implementation.
when I try to run perf_train.py,the program shows" can not find hdfs_sentence2vec.pkl",and I cannot find the code which generate the file.

same question

same question

解决了吗


Using petgraph StableGraph

Hi, our projects were mentioned together here (reddit discussion). Do you want to work together on using StableGraph  instead? It's a wrapper around Graph. Being a data structure with holes, its safe code  maps somewhat less nicely to to vectors and indices (performance wise: in Graph, the bounds check is the existence check, in Stable Graph you need both the bounds check and a check on an Option).
I've already started adding some more methods for being closer to parity with Graph.

Hmmm. NodeIndex invalidation isn't an issues we currently run into very often, since most of our operations modify the edge weights between nodes without removing them from the graph.
We will be moving toward a direction where we depend less on PetGraph semantics to begin with (there are several places where we manipulate NodeIndexes where it would make more sense to use the UUIDs we keep in a map that ensures the correct NodeIndex is returned) which could help StableGraph be dropped in as a replacement, but right now that would not be a huge benefit to us (any more so than the current Graph).

Ok, I'll look into dropping it in currently and seeing if it changes anything. If it's a true drop-in replacement then it shouldn't cause any issues, and will probably reduce the amount of boiler plate I have to write.
While I have you, is there a better way to do what I'm doing in children_of? I have to collect twice, because the Edges iterator doesn't let me sort by a custom key.

It's not a literal drop in replacement, not yet, at least. But everything is intentionally very similar.


update docs to reflect recently published paper on xarray

[x] closes #931 and #290 (already closed)

A few doc updates to reflect the newly published status of our xarray paper.

Congrats!

@aaarendt gets most of the credit for the tutorial. I'll merge once the tests pass.

Thanks @shoyer and @jhamman!  I've used this new citations for my papers in review.  Awesome-- congratulations!!!


contract starting with 0 => invalid address

In the function loadMarket, the address is converted from a decimal:
var address = web3.fromDecimal(market[2]);

When the contract address start with 0, it is stripped and the address become invalid.

Nice catch, had a similar issue in btc-swap. Should be fixed with the last commit.


updating links inside framework folder to https - p1

updating links from http to https (if redirects automatically) - contributes to #4504
updating links from fwlink to real link if exists - contributes to #3391

@eddynaka Hello. Is there a reason you're updating these links?

We have issues filed for those. I'll add to the PR description.

Thanks @eddynaka. I went through the first 25 files.
Given the nature of the changes, I'd probably recommend that for the PR size for the next ones. It will be simpler for our team to review and merge that way. I'd also try to keep the PR focused in one task only.

Ok! The next one will be one task only and 25 files! Sorry for that. Let me know if I can help you with anything else! Thanks!

And another tip: you can batch the comments into a single commit if you use the Files changed tab (https://github.com/dotnet/docs/pull/15478/files)


Infinite recursion on _STIXBase object deserialization

Hi!
There seems to be a bug in the way the __getitem__/__getattr__ functions are implemented in _STIXBase (cti-python-stix2/stix2/base.py). The bug can be reproduced by trying to serialize/deserialize an object instance, resulting in infinite recursion causing the program to terminate with a RecursionError once the max recursion depth is exceeded.
Here is a short example with copy.copy() triggering the recursion:
import copy, stix2
indicator = stix2.Indicator(name="a", labels=["a"], pattern="[file:name = 'a']")
copy.copy(indicator)

I believe this is because the unpickling tries to find the optional __set_state__ method in _STIXBase. But since it's not there, the __getattr__ is being called for it. However, the way __getattr__ is implemented in the class, the __getitem__ is called which  tries to look up an item in self._inner. Due to the way the deserialization works in general, the object itself is empty and the __init__ was never called - meaning that the _inner attribute was never set. The access attempt on the non-existent _inner however triggers a call to __getattr__ again, resulting in the recursion.
Here are two possible patches, I'm not sure though if that's the proper way of fixing it:

Checking for _inner access in __getitem__:

def __getitem__(self, key):
    if key == '_inner':
        raise KeyError
    return self._inner[key]

Checking for protected attributes in __getattr__:

def __getattr__(self, name):
    if name.startswith('_'):
        raise AttributeError(name)
    if name in self:
        return self.__getitem__(name)
    raise AttributeError("'%s' object has no attribute '%s'" %
                         (self.__class__.__name__, name))

Thanks!

I was able to reproduce on both python2 and 3.  This was a surprise to me, but I guess __getattr__ is a "dangerous" method, in the presence of pickling.  But there is a note under the docs for __setstate__ (and similar for python2) that says as much.  And lists a couple other dangerous methods too.
So based on those docs, I'd put the fixes in __setattr__ and __getattr__.  Add an "is self initialized" check, which could be something like changing the "if" condition:
if "_inner" in self.__dict__ and name in self:
    return self.__getitem__(name)
raise AttributeError("'%s' object has no attribute '%s'" %
                     (self.__class__.__name__, name))

The "_inner" in self.__dict__ part is the new check.  This basically prevents pickle's __setstate__ lookup from blowing us up.  It made my simple test work anyway.
Docs don't describe __getitem__ as dangerous, so I wouldn't change that method.  (Because pickle apparently wouldn't call it directly.)  And preventing all access to any attribute which begins with underscore seems like a funny idiosyncrasy.  And not directly addressing the problem; it only works due to a quirk of the naming.

Hmmm... maybe it doesn't make sense to modify __setattr__.  It can't be prevented from working even if __init__ hasn't been called, otherwise there would be no way to set attributes on a new object being unpickled.  I guess it would only make sense if the __setattr__ implementation requires initialization to have occurred first.  Ours doesn't reference _inner or any of the other attributes set by the constructor.  So... that method is okay I guess.

Another thing I briefly considered (though I don't know if it would help at all in this case) is moving some of the "initialization" from __init__ to __new__. I don't know if that would help with pickling, though.

I like Andy's approach to putting the ._inner check in __getattr__. As long as the pickle API doesnt blow up for any Python versions, I think that is a good enough litmus test. The fix is lightweight and  also makes sense: we hijacked __getitem__ to only look in '._inner' thus we  should have to handle the case for when '._inner' doesnt exist yet.


Change scalar_summary to summary.scalar

scalar_summary is deprecated and issues a warning. This was reported in bug #8878

Can one of the admins verify this patch?

@tensorflow-jenkins test this please

Looks like this change breaks head_test.
https://ci.tensorflow.org/job/tensorflow-pull-requests-cpu-python3/3964/consoleFull
Could you also fix the failures?

@tensorflow-jenkins test this please


Proposed SIG-Docs meeting agenda for 2022-03-15

Meeting Details

Date/Time: March 15, 2022 @ 11:00 am PT
Location: Discord SIG-Docs Voice Room
Moderator: Name
Note Taker: Name

The SIG-Docs Meetings contains the history past calls, including a link to the agenda, recording, notes, and resources.
SIG Updates
What happened since the last meeting? - The creator of this issue is responsible for providing a brief summary here to be used as an update to start any important discussions.
Open action items

[ ] Checkbox list of open action items from previous meetings. If these are closed before or during the meeting, mark them off.
[ ] ...

Newly resolved items

:white_check_mark: Unordered list of action items resolved since the last meeting.
:white_check_mark: ...

Initial Agenda
The pre-approved agenda for this meeting is as follows:

Agenda item name - Presenter - Length of time

Description of the item

...

Suggesting and voting on agenda items
Our community is welcome to suggest and vote on agenda items. If you suggest an item you need to have a designated presenter (normally the issue filer), but any community member can vote and isn't required to attend meetings or even participate in further discussion. If you think something is a good idea to discuss for the O3DE community, please upvote!
:+1: reactions to proposed agenda items are counted as YEA votes for taking up discussion, and :-1: as NAY. Votes on items don't determine the final agenda, but do influence it and are strongly taken into consideration as a representation of what the O3DE community wants to see from the project.
Agenda item format
If you leave a comment on this issue to propose an agenda item, please use the following format:
**Topic**: The topic you'll be presenting on
**Presenter**: Who will present (may be a team name or TBD)
**Length of time**: Estimate the amount of time you believe discussion will take. This should not be more than 15 minutes without SIG approval.

Include a description of your topic. Make sure to link to any supplementary materials such as RFCs, forum discussions, issues, etc.

Remember to add the :+1: and :-1: reactions manually, so they appear and are obvious to voters!

Topic: Cultivating a friendly writing style and tone in O3DE Docs
Presenter: @AMZN-Gene @chanmosq
Length of time: 15 minutes to explain situation come up with next steps. If time allows, maybe more discussion.
O3DE Documentation tend to have a more technical and matter-of-fact tone. While this is appropriate for writing docs, tutorials have a more casual nature and can benefit from a friendlier tone. A friendlier tone can make documents more welcoming and easier to understand.
We want to address the expectations/standards for docs reviewers and contributors regarding cultivating a friendly tone where it's appropriate.

Topic: Discussion and response to community feedback thread
Presenter: TBD
Length of time: ~15 minutes to gather any additional feedback from meeting participants and discuss possible actions.
Thread: 'Community Feedback' in #General:
https://discord.com/channels/805939474655346758/946469530421575720

From previous meeting: https://github.com/o3de/sig-docs-community/issues/25#issuecomment-1031807217

Meeting notes may be found here.


feat: task with or replace

added optional OR REPLACE option to the task resource - #1250
test included
Test Plan

[x] acceptance tests

References

https://docs.snowflake.com/en/sql-reference/sql/create-task.html#syntax

Hello @mlorek!
i was working on refactoring this task resource as part of this ticket: https://github.com/Snowflake-Labs/terraform-provider-snowflake/pull/1342
i believe the problem was that id was not being set until after waiting to resume the task. so instead i just switched the order. immediantly after the task is created the id will be set, then the waiting for starting the task will happen. This way you don't have the issue with the resource failing to persist to state.
in general i think that the or_replace functionality is not a good practice. despite it being part of the snowflake API, its very much anti-terraform best practices. If you have any issues in the future with this resource, please let me know.


pass arguments to juliamodule runner

For the shell version:
[[tasks]]
    name = "task1"
    id = "1"
    runner = "shell"
    [tasks.matrix]
        a = [1, 2, 3, 4, 5]
        b = [2, 4, 6, 8, 10]
    [tasks.run]
        command = "julia main.jl ${{ matrix.a }} ${{ matrix.b }}"

Would like to make something like the following work:
[[tasks]]
    name = "task1"
    id = "1"
    runner = "juliamodule"
    [tasks.matrix]
        a = [1, 2, 3, 4, 5]
        b = [2, 4, 6, 8, 10]
    [tasks.run]
        script = "main.jl"
        args = [${{ matrix.a }}, ${{ matrix.b }}]

This might require Julia 1.8: https://github.com/JuliaLang/julia/pull/44137

We can shadow the Base.ARGS in separate module via:
m = Module(gensym())
Core.eval(m, :(ARGS=["1", "2"]))
Core.eval(m, :(println(ARGS)))


Scan subfolders for migrations [FEATURE REQUEST]

I want to provide migrations in a nested folder structure, e.g.
./migrations/common/1_create_tables.sql
./migrations/common/2_create_functions.sql
./migrations/common/4_add_created_column.sql
./migrations/test/3_insert_test_data.sql

On a development environment I would tell postgres-migrations to load migrations from ./migrations/common (so only three migrations are executed), whereas in a development environment I override the folder with ./migrations/ (so that all four migrations in the example above would be executed).
Would this be a bad idea for postgres-migrations?

Personally, I don't think this will work for this project. It violates some of basic principles around dev/prod parity and consecutive ordering.
Instead, I advise you to manage your test data separately to the migration system. In general, and are probably exceptions, I would recommend using this library for schema migrations only, and maybe some static data.


Large Emoji

The fix for this on Mac may come from the work done on #1666 but I am unsure.

I am unsure exactly what to suggest other than the emoji size should likely correspond to the type size.

This looks like the same issue. The issue is that it’s not really an emoji — it’s a graphic.

I just checked and this is a duplicate of #1666 and is fixed by it.

Thanks @vincode-io & @brentsimmons


Remove Type suffix from some enums.

Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the contributing guide.

[x] C++ Guidelines
[x] Doxygen docs
[x] Unit tests
[x] No unwanted commits/changes
[x] Descriptive title/description

[x] PR is single purpose
[x] Related issue listed

[x] Comments in source
[x] No typos
[x] Update changelog
[x] Not work-in-progress
[x] External references or docs updated
[x] Self review of PR done
[x] Any breaking changes?

/azp run cpp - storage

/azp run cpp - storage

Where is DataLake::Models::PathExpiryOptions used?

@danieljurek CI seems to be down, can you take a look?

/azp run cpp - storage

/azp run cpp - storage

@Jinming-Hu, @katmsft  -- Thanks for re-running the pipeline. This was caused by an issue on the Engineering System side that we have resolved. Re-running the pipeline should succeed now.

/azp run cpp - storage

/azp run cpp - storage

@danieljurek new intermittent infra failure on MacOS during test resource deployment:
https://dev.azure.com/azure-sdk/internal/_build/results?buildId=796737&view=logs&j=267db408-59fc-59d9-cfd0-fd1515cbe21c&t=ef2413d8-cecc-5056-5cea-ca63a0346a44&l=10357
Write-Error: /Users/runner/work/1/s/eng/common/TestResources/New-TestResources.ps1:412
Line |
 412 |          $deployment = Retry {
     |                        ~~~~~~~
     | Exception calling "Invoke" with "0" argument(s): "The running
     | command stopped because the preference variable
     | "ErrorActionPreference" or common parameter is set to Stop:
     | 9:58:53 PM - The deployment 'tb8792f0a8ce54c5e' failed with
     | error(s). Showing 1 out of 1 error(s). Status Message: A hash
     | conflict was encountered for the role Assignment ID. Please
     | use a new Guid.
     | (Code:HashConflictOnDifferentRoleAssignmentIds)
     | CorrelationId: 6499df0b-227d-4129-bb0e-71b940b1c7d2

Thanks @ahsonkhan, we've seen this issue before here: https://github.com/Azure/azure-sdk-tools/issues/1240 ... It seems to show up from time to time.
The template is well formed to create unique assignment names and while re-running will likely fix the issue there may be some more we can do to help fix this. I'm not sure if the role assignment needs to be unique to the resource, group, subscription, or at some other level (like globally).


[Feature Request] Featured image in blog extension

Hello,
first of all thank you for this wonderful project, although it's still in its infancy I see a great potential and I like the way it's built. I would prefer to have the full Symfony features under the hood but I know it's too much for a simple blog. Anyway, this is a feature request for the featured image of a blog post. As example you can take a look at Wordpress, where each article can have it's own featured image which can then be used as thumbnail in the frontend. I think it would be a great addition, what do you think?

We released the Pagekit Beta today. I close this issue because the code base completely changed. Please open a new issue if it still exists.


Github Audit - Define token_id field statically as long or string

Hello,
I recently adopted a Matano deployment and am having an issue with the audit logs coming from Github that's caused by the automatic schema discovery not properly identifying the type for the token_id field which causes many logs with this field populated to fail the parquet transform. Based on the ECS definition, I'm guessing that it takes the entire log and converts it to parquet before doing dropping the unused fields. Since it's not defined, the discovery maps it to int which is fine for new tokens but the older "classic" token types have more characters and for the most part need to be assigned to long or string for both the new and classic token types to parse properly. If not, actions using a classic token ID, which is typically the majority of them, will plop into the error bucket.
I've verified that this is a parquet specific issue, I ran a spark job with a parquet output while testing and it failed on the same logs Matano is; running the job to output as JSON was successful. While researching what other products are doing, I only found the Panther SIEM product had the field specifically called out and they're casting it to string so they don't have to worry about the format changing in the future. If you let me know preference I can open a PR with an updated schema definition.
I can provide sanitized example logs but it's just a number bigger than an int so I'm not sure how much help it'd be. Please let me know if I can provide any more details or answer any questions.

To clarify, there's no schema discovery in Matano, there is a specific defined schema. Can you explain where exactly you are seeing an error?
Our current schema for GH audit logs does not mention a normalized token_id field (see https://github.com/matanolabs/matano/blob/main/data/managed/log_sources/github_audit/log_source.yml) so I don't see why there would be an error. Since we are not normalizing it, it is retained in the event.original field. I see the token_id in the original JSON there in my test logs.
If you are proposing adding a normalized token_id field to github.token_id or such, I am open to that since it seems common.

I think this might've been coincidental, all the schemaMismatch sidelines happened to be PAT Classic containing fields which are what caused Spark to trip up when outputting to parquet. They stopped a week ago I noticed now that I went back to dig some more. We didn't make any changes between now and then so not sure why it stopped. Since token_id is in raw I think folks can parse it from there if needed, only use case I see is that if a user account is compromised because token got out, it'd help to isolate the token making malicious calls.
Feel free to close the issue.

I think this might've been coincidental, all the schemaMismatch sidelines happened to be PAT Classic containing fields which are what caused Spark to trip up when outputting to parquet. They stopped a week ago I noticed now that I went back to dig some more. We didn't make any changes between now and then so not sure why it stopped. Since token_id is in raw I think folks can parse it from there if needed, only use case I see is that if a user account is compromised because token got out, it'd help to isolate the token making malicious calls.
Closing issue, will reference if it starts again for some reason.


[UWP Visualizer] Trying to save an Untitled card gives a NullReferenceException

Platform
What platform is your issue or question related to? (Delete other platforms).

UWP

Version of SDK
master; Latest store app (published nightly at 7pm per Andrew)
Issue

Launch UWP Visualizer app
Create an untitled JSON
Hit Save
Notice the nullereference error :

Dont have VS intalled on my laptop for debugging details; I'll get that going in a bit and get back


Get https://registry-1.docker.io/v2/library/mysql/manifests/latest: unauthorized: incorrect username or password

I'm successfully connected in Docker Hub and kitematic
I'm trying to pull mysql container
Expected behavior
install normally
Actual behavior
(HTTP code 401) unexpected - {"message":"Get https://registry-1.docker.io/v2/library/mysql/manifests/latest: unauthorized: incorrect username or password"}

Please try to login using your Docker ID (hub username) instead of your email. This should fix the issue.


Link python3.lib instead of python3x.lib on Windows in abi3 mode

Without this, on windows we'd link python35.lib (for example) which doesn't exist on other pythons of course :-)

It looks like we still rely on a few things that aren't present in python3.lib. I'll add more more commits to this to fix it and we can split them out into a separate PR if it's too much.

Ok, green now!


Error handle not called in array middleware

I'm trying to write custom middleware to handle jwt auth using express-jwt middleware.
what i'm trying to do is to write custom error handling when the token not provided, and also store user data in req if there's valid token.
function myHandler(err, req, res, next) {
  // this does not fire
  if (err) {
      return res.json({ message: 'require auth error', err })
    }

    if (!req.jwt.userId) {
      return res.status(401).json({ message: 'Invalid token, missing user id' })
    }

    try {
      req.customer = await  customer.getByUserId(req.jwt.userId)
      next()
    } catch (error) {
      res.status(404).json({ message: error.message })
    }
  }
}

function myCustomMiddleware() {
  const jwtMiddleware = jwt({
    secret: 'secret',
    requestProperty: 'jwt'
  })

  return [jwtMiddleware, myHandler]
}

in my code above, myHandler does not fired.
however when i change the function signature to
function myHandler(req, res, next) { without the err it gets called.
why is this?

When an array is passed to app.use, it is simply flattened out into the equivalent of multiple app.use calls. Our tests for this behavior are still passing, so I'm not sure why it wouldn't work for your case. Can you help provide a reproduction app that we can run and see the issue demonstrated to take a look? The following would be ideal to get:

Version of Node.js
Version of Express.js
Complete source code that demonstrates the issue we can run without modification.

Hi, thanks for your response.
So here it is

Node version: v10.15.0
Express version: ^4.17.0
https://github.com/pirey/express-array-middleware-issue

Thank you so much for putting that together and sharing! I was able to run it and I see what the issue is:
The way the code is setup, passing in the given JWT does not create any error. The one you show working woks because the middleware you have written is not an error-handler middleware, so it's called when there was no error (which is the case). The one marked not working does not call the middleware because the middleware is an error-handler middleware, but no error occurred, so the middleware was not invoked.
Error-handling middleware is only invoked if there is an error.
You can read more about error-handling middleware on our site http://expressjs.com/en/guide/error-handling.html I hope this helps!

Ooh..
so express middleware with 4 params will only get called when there is error.
Ok i get it, thanks for clarifying @dougwilson


Simplify mkDots, handle some edge cases

Remove unnecessary partiality in printNix function
Remove some unused imports
For the mkDots helper function, a few tweaks:

Don't apply an empty list of attributes
If the expression being dotted is itself an NSelect, just extend the list of selectors
There doesn't seem to be any need to switch between static and dynamic keys based on the contents of the key, since the pretty-printer will apply quotes if necessary

Pretty-printer should treat an NSelect which has no attributes as being the same as the internal expression
Handle an edge case of an empty-string selector in an NSelect

Thanks!

@adnelson I'm looking into the CI failures, and it seems mkDotsSymbolEscaping switched to red after this PR. For the values [ "abc def", "\\", "'abc", "\"", "-foo", "a.b.c" ], the test expect the result of mkDot to be of the form DynamicKey (Plain (DoubleQuoted [Plain _])) (which won't happen). Can you confirm whether the tests are wrong? Thanks!

Yeah, it just uses StaticKey for everything. The idea is that the nix AST doesn't care whether a string is empty or alphanumeric etc; it's only when it needs to pretty-print it into a string that the need for quoting arises.
I attempted to run tests locally but saw a large number of failures unrelated to my change, so I assumed that the code was just in a non-functional state. Should have looked for a test of this function :) I'd be happy to update it.

Yeah, the tests now include running all the tests from the C++ implementation, some of which fail :). I run the tests with stack test --ta '-p !upstream' to exclude them. I'm trying to implement a "don't fail for expected failures" for them.
@adnelson If you can fix this test, that'd be cool!


Data seems to be missing for US state aggregates

Original issue https://github.com/covidatlas/coronadatascraper/issues/1025, transferred here on Thursday May 21, 2020 at 20:22 GMT

Location, date, and short issue description
Today's time series by location file for all US state aggregates seem to have missing data in the date objects.
Source
https://coronadatascraper.com/#timeseries-byLocation.json
File
https://coronadatascraper.com/#timeseries-byLocation.json
Issue details
US state aggregates have date objects but no data.
Snippet/screenshot

\

(Transferred comment)
Thank you, confirmed.  Odd, b/c the counties earlier in the page do have data.

(Transferred comment)
The other odd thing I noticed today is the United States aggregate only has cases. Yesterday it had cases and deaths.
I don't know if that's related or another issue.

(Transferred comment)
It appears the data is now there although the "cases" property isn't included on days with zero cases. As far as I'm concerned, this issue can be closed unless the missing property is a problem.


Multiple instances of the same plugin type point to the same single object in memory

I have a use case where I want to create several instances of the same type of plugin but initialize them with different parameters. However, when I load these multiple instances, they all point to the same underlying object in memory. This test case shows the failure.
Per the documentation it seems like boost is designed to load a shared library and have multiple references to it, but I haven't been able to find any documentation or issues with this specific problem

Interesting. Usually I make the plugin a factory which produces a new object each time which is probably why I never ran into this issue.

I think the factories that exist in tesseract suffer from the same problem because they still only hold onto a single PluginLoader object and can theoretically call createInstance multiple times for the same plugin type. We probably haven't run into this issue yet because you usually don't need to create more than one instance of any plugin. You could imagine potentially making multiple instances of the same type of IK solver or collision checking plugin with different parameters though

It does this now but because the plugin is not the IK solver or Collision checker but a object which produces theses it is not an issue if you get the same factory every time because it would produce a unique IK Solver or Collision checker. Now if tesseract was changed such that the plugin was the IK solver or collision checker the issue you found would be an issue.


[Reign of Kings]Added Hook OnInteract()

OnInteract(InteractEvent Event)
allows access to the OnInteract event, allowing developers to interrupt the interaction of many things, mainly Entities with inventories, like loot bags, torches, chests, crafting stations, etc. allowing the development of looting plugins.  This has been tested and is currently live on my server with an AntiLoot Plugin(which I will release too)

Well 17A just came out...and what I did above doesn't seem to work now, so I will do this again when the new oxide update is out


validating URLs before sending requests

Per issue #5

😍 Thanks for taking the time to contribute to the Postwoman Ecosystem😍. Merging this.... You're Awesome

I've got zero idea on writing tests.  Thats why I was reluctant to study about testing and implementing tests. A big thanks for writing the test case for validation too <3

No problemo!


Nodes - orderly start and stop

A sweep needs to be done to check that all node types start and stop in an orderly manner.

Nodes after "stop complete" should be in their initial state.


Elm maker does not highlight errors

Elm maker does not produce any highlighting in any case.
This is my first time contributing to neomake so I might get something wrong.
It seems that neomake is ignoring maker output due to missing bufnr:
13:06:49 [D      ] [1.1:1] Skipped 2 entries without bufnr.

I am using NeoVim v0.2.0 and Elm v0.18.0
Expected behavior
All elm-make compilation erorrs are highlighted in buffer after running :Neomake
Steps to reproduce

Create any elm file containing compilation errors
Run :Neomake

Neomake debug information
Async support: 1
Current filetype: elm
Enabled makers
For the current filetype (with :Neomake):

elmMake

args: ['--report=json', '--output=/dev/null']
auto_enabled: 1
errorformat: '%[^"]"%f"%\D%l: %m,"%f"%\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%[ ]from %f:%l:%c,%-G%[ ]from %f:%l:,%-G%[ ]from %f:%l,,%-G%[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,"%f", line %l%\D%c%[^ ] %m,%D%\a[%\d]: Entering directory %['']%f'',%X%*\a[%*\d]: Leaving directory %*['']%f'',%D%\a: Entering directory %['']%f'',%X%*\a: Leaving directory %*['']%f'',%DMaking %*\a in %f,%f|%l| %m'
exe: 'elm-make'
process_output: function('neomake#makers#ft#elm#ElmMakeProcessOutput')
NOTE: you can define g:neomake_elm_enabled_makers to configure it (or b:neomake_elm_enabled_makers).

For the project (with :Neomake!): None.
NOTE: you can define g:neomake_enabled_makers to configure it.
Default maker settings:

remove_invalid_entries: 0
buffer_output: 1

Settings
g:neomake_javascript_enabled_makers = ['eslint']
g:neomake_place_signs = 1
g:neomake_typescript_checkers = ['tslint']

Windows: 0
[shell, shellcmdflag, shellslash]: ['/bin/bash', '-c', 0]

:version

NVIM v0.2.0
Build type: RelWithDebInfo
Compilation: /usr/bin/cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -Wconversion -Wp,-U_FORTIFY_SOURCE -Wp,-D_FORTIFY_SOURCE=1 -O2 -g -DDISABLE_LOG -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wvla -fstack-protector-strong -fdiagnostics-color=auto -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -I/builddir/build/BUILD/neovim-0.2.0/build/config -I/builddir/build/BUILD/neovim-0.2.0/src -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/builddir/build/BUILD/neovim-0.2.0/build/src/nvim/auto -I/builddir/build/BUILD/neovim-0.2.0/build/include
Compiled by mockbuild

Optional features included (+) or not (-): +acl   +iconv    +jemalloc +tui
For differences from Vim, see :help vim-differences

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/usr/share/nvim"

:messages
"index.elm" 40L, 605C

Neomake logfile
13:06:49 [D      ] [1.-:1] Running makers: elmMake (auto).
13:06:49 [V      ] [1.1:1] Starting async job: ['elm-make', '--report=json', '--output=/dev/null', '/home/nyrkovalex/Projects/elm-hello/index.elm'].
13:06:49 [D      ] [1.1:1] cwd: /home/nyrkovalex/Projects/elm-hello.
13:06:49 [D +0.10] [1.1:1] stdout: elmMake: ['[{"tag":"NAMING ERROR","overview":"Cannot find pattern `Decrement`","subregion":null,"suggestions":["Decrementx","Increment"],"details":"Maybe you want one of the following?\n\n    Decrementx\n    Increment","region":{"start":{"line":28,"column":5},"end":{"line":28,"column":14}},"type":"error","file":"/home/nyrkovalex/Projects/elm-hello/index.elm"},{"tag":"NAMING ERROR","overview":"Cannot find variable `Decrement`","subregion":null,"suggestions":["Decrementx","Increment"],"details":"Maybe you want one of the following?\n\n    Decrementx\n    Increment","region":{"start":{"line":37,"column":24},"end":{"line":37,"column":33}},"type":"error","file":"/home/nyrkovalex/Projects/elm-hello/index.elm"}]', ''].
13:06:49 [D      ] [1.1:1] exit: elmMake: 1.
13:06:49 [D      ] [1.1:1] elmMake: processing 1 lines of output.
13:06:49 [D      ] [1.1:1] Processing 2 entries.
13:06:49 [D      ] [1.1:1] Creating location list.
13:06:49 [D      ] File-level errors cleaned in buffer 1.
13:06:49 [D      ] [1.1:1] Skipped 2 entries without bufnr.
13:06:49 [D      ] Skipping User autocmd NeomakeCountsChanged: no hooks.
13:06:49 [D      ] [1.1:1] elmMake: completed with exit code 1.
13:06:49 [D      ] [1.1:1] Cleaning jobinfo.
13:06:49 [D      ] Skipping User autocmd NeomakeJobFinished: no hooks.
13:06:49 [D      ] Skipping User autocmd NeomakeFinished: no hooks.
13:06:49 [D      ] [1.-:-] Cleaning make info.

I've created a pull request #1418 adding bufnr property to elm maker error dictionary.
Don't know if there is a better way to resolve it thoguh.

Fixed by #1418 I assume.


Add option callback

Fixed: zero division error in NA when upper and lower bounds are equal,
Added: option callback executed after every iteration.

Reminders:

[x] Run invoke format to make sure the code follows the style guide,
[x] Add tests for new features or tests that would have caught the bug that you're fixing,
[x] Write detailed docstrings for all functions, classes and/or methods,
[x] If adding new functionality, unit test it and add it to the documentation.

Codecov Report

Merging #12 (96c8d40) into master (682a601) will decrease coverage by 0.99%.
The diff coverage is 90.85%.

@@            Coverage Diff             @@
##           master      #12      +/-   ##
==========================================
- Coverage   90.06%   89.06%   -1.00%
==========================================
  Files          31       31
  Lines        1037     1116      +79
==========================================
+ Hits          934      994      +60
- Misses        103      122      +19

Impacted Files
Coverage Δ

stochopy/optimize/pso/_pso.py
100.00% <ø> (ø)

stochopy/sample/_common.py
80.00% <50.00%> (ø)

stochopy/optimize/na/_na.py
88.11% <83.78%> (-3.55%)
:arrow_down:

stochopy/optimize/vdcma/_vdcma.py
86.90% <84.61%> (-0.75%)
:arrow_down:

stochopy/optimize/cpso/_cpso.py
88.33% <87.09%> (-1.58%)
:arrow_down:

stochopy/optimize/de/_de.py
88.67% <87.09%> (-1.85%)
:arrow_down:

stochopy/sample/hmc/_hmc.py
86.73% <90.00%> (-1.22%)
:arrow_down:

stochopy/optimize/cmaes/_cmaes.py
89.20% <96.00%> (-1.02%)
:arrow_down:

stochopy/sample/mcmc/_mcmc.py
91.04% <96.42%> (+0.30%)
:arrow_up:

stochopy/factory/benchmark.py
100.00% <100.00%> (ø)

... and 6 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c3cd38e...96c8d40. Read the comment docs.


[Event Request] - OnPreUpdatePurchorderLinein Codeunit 90 "Purch.-Post"

Hello, please consider adding the following event to Codeunit 90 "Purch.-Post"
    [IntegrationEvent(false, false)]
    local procedure OnPreUpdatePurchorderLine(VAR PurchLine: Record "Purchase Line"; var IsHandled: Boolean)
    begin
    end;

and call it accordingly inside the "PostUpdateCreditMemoLine" procedure:
    local procedure PostUpdateCreditMemoLine()
    var
        PurchOrderLine: Record "Purchase Line";
        ReturnShptLine: Record "Return Shipment Line";
        TempPurchLine: Record "Purchase Line" temporary;

        **IsHandled: Boolean;**
    begin
        ResetTempLines(TempPurchLine);
        with TempPurchLine do begin
            OnPostUpdateCreditMemoLineOnBeforeTempPurchLineSetFilters(TempPurchLine);
            SetFilter("Return Shipment No.", '<>%1', '');
            SetFilter(Type, '<>%1', Type::" ");
            if FindSet() then
                repeat

                    **OnPreUpdatePurchorderLine(TempPurchLine, IsHandled);
                    if not IsHandled then begin**

                        ReturnShptLine.Get("Return Shipment No.", "Return Shipment Line No.");
                            PurchOrderLine.Get(
                          PurchOrderLine."Document Type"::"Return Order",
                          ReturnShptLine."Return Order No.", ReturnShptLine."Return Order Line No.");
                        if Type = Type::"Charge (Item)" then
                            UpdatePurchOrderChargeAssgnt(TempPurchLine, PurchOrderLine);
                        PurchOrderLine."Quantity Invoiced" :=
                          PurchOrderLine."Quantity Invoiced" + "Qty. to Invoice";
                        PurchOrderLine."Qty. Invoiced (Base)" :=
                          PurchOrderLine."Qty. Invoiced (Base)" + "Qty. to Invoice (Base)";
                        if Abs(PurchOrderLine."Quantity Invoiced") > Abs(PurchOrderLine."Return Qty. Shipped") then
                            Error(InvoiceMoreThanShippedErr, PurchOrderLine."Document No.");
                        OnPostUpdateCreditMemoLineOnBeforeInitQtyToInvoice(PurchOrderLine, TempPurchLine);
                        PurchOrderLine.InitQtyToInvoice();
                        PurchOrderLine.InitOutstanding();
                        PurchOrderLine.Modif();

                        OnPostUpdateCreditMemoLineOnAfterPurchOrderLineModify(PurchOrderLine, TempPurchLine, ReturnShptLine);

                    **end;**

            until Next() = 0;
        end;

        OnAfterPostUpdateCreditMemoLine(TempPurchLine);
    end;

Thank you !

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 53591.


Update state_management.md

@idootop, could you help us with this review, since you created the documentation in Chinese?

@idootop, could you help us with this review, since you created the documentation in Chinese?

Yeah, it's my pleasure. ^^
There are no problems with this PR and it can be merged.

Thanks @jonahzheng for your contribution, and @eduardoflorence  and @idootop for revision


Refresh our github workflows.

Use "runs-on: ubuntu-22.04" in all workflows, so we are completely consistent.
Update the versions of actions that we depend on, to get the latest bugfixes.
Update the version of Python to 3.10, which matches what is in Ubuntu 22.04.
Update our list of EOL distros so we aren't incorrectly leaving things open.

@nuclearsandwich FYI

FYI that the "Yaml Linting (3.8)" and "rosdistro / rosdep checks (3.8)" workflows are currently marked as "required" in the branch protection rule for the master branch.  Assuming this PR is approved, I'll go ahead and update that to the new jobs as soon as I merge this in.

All right, going ahead and merging this (with a bypass branch protection).  Once that is done, I'll update the branch protection to point to the new tests.


Use a3 for widening multiply in ch6.4

This change makes the assembly code more clear and consistent, as x10 (a0) is already used to hold the total number of elements to process, while a3 is an argument register in the function calling convention that is suitable for the multiplier. This way, the programmer can easily understand the source and purpose of the multiplier for the widening multiplication.

I agree x10 needs to be replaced with another register, but a3 is already used to hold the current vector length in this loop. You'd need to change all existing uses of a3 to e.g. t0 for this to work.

Addressed. Thanks!


could you show more detail about how to use two demos?

Hi!
First, type your code
python3 demo_spatial_translation.py --config ./configs/sn_projection_dog_and_cat_256_scbn.yml --gen_model ./sn_projection_dog_and_cat_256/ResNetGenerator_450000.npz --gpu 0

Then, I use GPU clusters, so that I only can open  browser use  command line.
For example,
user@user:opera,
Then X11 will open.

But how to load image in that page?
Thanks.

could you show me more about how to use the demo?
Mouse pressed the button,but could'nt load the image.

Sorry for late reply.
If the script was correctly loaded, class names (e.g., Chihuahua) will be appear in the select box under "Select base class".

Then images can be generated by pushing the "Generate" button after selecting a desired class.

I suspect that the js of demo does not work correctly in your environment.
Please could you provide the error messages shown in your browser's js (developer) console?


US104432: Move listener for the all courses overlay into the all cour…

…ses overlay.


Bash doesn't compile on arch linux.

ld: error: duplicate symbol: strchrnul
>>> defined at strchrnul.c
>>>            strchrnul.o:(strchrnul) in archive ./lib/sh/libsh.a
>>> defined at static_function_dispatch.S:39 (bionic/libc/arch-arm64/static_function_dispatch.S:39)
>>>            static_function_dispatch.o:(.text+0x30) in archive /home/kubast2/Android/Sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/21/libc.a
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Makefile:582: bash] Error 1
make: Leaving directory '/tmp/tmp.yDkXKIKWcs/1625446615/arm64-v8a'
[✘] install bash/arm64-v8a failed! you can go to /tmp/tmp.yDkXKIKWcs to see see.

/tmp/tmp.yDkXKIKWcs
test.tar.gz

this is a issue since android-ndk r22 : https://github.com/android/ndk/issues/1409, please using android-ndk r21

I will take a look at that.
Between r21d and r22, the upstream Clang driver changed its default from -fcommon to -fno-common
Can you try adding -fcommon flag somewhere in the CFLAGS? If it really is about that, which I doubt.
But from I can tell the function from libsh appears in bionic libc for android 21(5.0).

-fcommon added in CFLAGS, yet same error.

That's because the libc.a static bionic library, contains the same symbol strchrnul.
The way to respond to something like this can be:
1.Unpack the static library archive(it is made with ar) and contains .o files put in it blindly. Remove the offending .o file, and let libsh use said symbol, the static library(ar archive) modification needs to be local. And then we make sure it finds our new static libc first before one found in ndk.
Because such change isn't done to a shared library there are no side effects to this.
2.Remove the function from libsh, it is just a single file, but it would take a whole lot more time, there might be side effects if the bionic libc implementation has a different behavior.

remove --enable-static-link, using shared library, don't use static library.

Yeah the armv7 build didn't went through for ndk22 and ndk21
ndk22 and 21 didn't find a couple of libc wrappers to setgrent getgrent endgrent;
and it also has an undefined reference to mblen;
Both disabling static link and modifying the library worked fine.
But I can agree --enable-static-link would be a whole lot more clean.
Than this:
    mkdir ../temp_lib
    cp $ANDROID_NDK_HOME/toolchains/llvm/prebuilt/$NATIVE_OS_KIND-$NATIVE_OS_ARCH/sysroot/usr/lib/$TARGET_TRIPLE2/$TARGET_OS_VERS/libc.a lmao/libc.a
    ar d strchrnul.o libc.a
    export CFLAGS="-L $(pwd)/../temp_lib $CFLAGS"
    configure \
        --with-curses \
        --without-bash-malloc \
        --disable-profiling \
        --enable-readline \
        --enable-select \
        --enable-history
        --enable-static-link

At least from my end how can I ignore armv7 builds?

case $TARGET_OS_ARCH in
        armv7a)

            ;;
        aarch64)

            ;;
        i686)

            ;;
        x86_64)

            ;;
    esac

case $TARGET_OS_ARCH in
        armv7a)

            ;;
        aarch64)

            ;;
        i686)

            ;;
        x86_64)

            ;;
    esac

Fair I should have thought of that

Well the issue is closed for me, but you will probably want the armv7a running

android-ndk r21 is highly recommended. because it is used in my Github Actions CI.

.c c         #include <sys/types.h>         #include <grp.h>         struct group* getgrent(void) {                 return NULL;         }         void setgrent(void) {                 return;         }         void endgrent(void) {                 return;  .h ```c
struct group* getgrent(void);
void setgrent(void);
void endgrent(void);

fails for me with ndk 21 as well actually
idk what made it jump from aarch64 build to armv7 build

<kubast2>       Hey, how crucial is setgrent, getgrent and endgrent for bash? Say the target system doesn't have /etc/group, can I make a thin wrapper that will just return the error condition?
<kubast2>       I will just verify
 <kubast2>       setgrent(3) getgrent(3) endgrent(3) is usually part of libc; but I have this specific embedded application with some alternative libc; which comes without those functions;
 <earnestly>     Appears to use it directly for group name completions, and only there

I can also just disable bash-autocompletion because I won't be interacting with bash directly

They are introduced in android-26.


Point down the features
Single PLayer
Time limit
easy to play
Need to Shoot the bird

Screenshots

Additional information
https://github.com/ssitvit/Games-and-Go/assets/119161467/dd5f49a2-1339-4154-be99-65590fca67c3

Hi @lakhan06 , I am assigning this task to you. Kindly complete your work within a week. Good luck for your work!


Make custom domain name optional

Right now it is necessary to have a custom domain which makes the first setup unnecessarily complicated and it makes it hard for people to just try to install weshare.
It might be good to figure out how to use AWS-generated domain names (through API Gateway URLs) by default.
This requires a bit of research and there might be some significant pain points:

We currently assume there's only 1 base URL and we rely on that to build the other URLs (${base}/auth and ${base}/share). If we cannot rely on a custom domain we would need to either merge the auth and the backend stack to have the same API Gateway or figure out a way to support multiple base URLs. Similarly, the prefixes /auth and /share are currently the result of using custom domain mappings with API Gateway. We would need to either recreate them as actual paths under the API gateways or make the CLI smarter to use these prefixes or not depending on whether a custom domain is being used or not.
Doing conditional resources in CloudFormation is notoriously painful...

This example of conditional domain resources in CloudFormation might help ease the pain: https://github.com/fourTheorem/slic-starter/blob/25ac05419f98af2ce7f0c5de9f89e0981a5b1aba/packages/checklist-service/serverless.yml#L128


restart_osd_daemon.sh.j2 - Reset RETRIES between calls of check_pgs

Previously RETRIES was set (by default to 40) once at the start of the
script; this meant that it would only ever wait for up to 40 lots of
30s across all the OSDs on a host before bombing out. In fact, we
want to be prepared to wait for the same amount of time after each OSD
restart for the clusters' pgs to be happy again before continuing.
Closes: #3154
Signed-off-by: Matthew Vernon<EMAIL_ADDRESS>

@mcv21 that's correct, nice catch.
Thanks!

@guits Sorry, could this get backported to stable-3.0 also, please? I think the mergify bot can do that, but I don't think I can ask it to do so, IYSWIM...


Don't overwrite adler32 hash with crc32 hash.

See #1066 for problem description.

@nmoinvaz state->wrap & 4 should mean enable/disable check value... Basically in inflate, it is used to enable or disable crc32 calculation.

@mtl1979 thanks for the great explanation. It is not documented very well so I have added a commit with some new comments.

@nmoinvaz Even I didn't know that before today... I had to grep through the sources to see what the purpose of that bit is...

Looks like CI passes now. This is good!

Thanks for merging so quickly!


Add persistcache library

This is a part of configuration services implementation on EVE side. This library is needed to store opaque envelopes, which are defined inline in query. We need to store them so that they will be accessible even after EVE reboot
There's lazy initialisation ideally to be done (we don't actually access all keys value), but I'm not sure I'll do it in first case

cc: @milan-zededa

The high-level question is whether we expect this to be used outside of EVE itself.
We tend to put packages which are local to EVE in the EVE repo under pkg/pillar.

@eriknordmark my intention of putting persistcache here is because it's generic library which can be used anywhere. I.e. controller might need simple persist cache. However, I assume it'll be used in EVE mainly (I developed it for patch envelopes inline objects and tried to keep it as general as possible, but not obstructing initial use case)

@eriknordmark my intention of putting persistcache here is because it's generic library which can be used anywhere. I.e. controller might need simple persist cache. However, I assume it'll be used in EVE mainly (I developed it for patch envelopes inline objects and tried to keep it as general as possible, but not obstructing initial use case)

But that means you need to add all of the build, yetus, test, code coverage in the eve-libs repo, plus decide the release version strategy for it, plus you can't use things like the EVE utils package (since it would create circular dependencies).
If somebody else wants to use a part of EVE outside of EVE they can reference lf-edge/eve/pkg/pillar/persistcache and you don't have to re-implement all of that.
Separately we need to improve the Makefile, workflows and checks for the pieces currently in eve-libs but I wouldn't add things there unless we have a clear use-case where some other software will use the new package.

@eriknordmark Sure, I'll move this to EVE repo and will close this PR :)

Moved to https://github.com/lf-edge/eve/pull/3435