[firebase_auth]: getIdToken(false) doesn't refresh the token when it's expired or returns a null token

Is there an existing issue for this?

[X] I have searched the existing issues.

Which plugins are affected?
Auth
Which platforms are affected?
Android, iOS
Description
I am not sure this is an issue with the SDK or my misunderstanding of how it works, but i have a live app with few thousands of active users.
I have daily 2 recurring error from my Cloud Monitoring Dashboard from my Cloud functions, where i use the firebase_admin sdk in python.

The first error is : ERROR:root:check_token : Illegal ID token provided: b''. ID token must be a non-empty string.
The second error is : ERROR:root:check_token : Token expired,<PHONE_NUMBER> <<PHONE_NUMBER>

The dart code called before each of my Cloud Function request is :
  Future<String> getIdToken({bool forceRefresh = false}) async {
    String idToken = "";
    try {
      if (_currentUser != null) {
        idToken = await FirebaseAuth.instance.currentUser!.getIdToken(forceRefresh) ?? "";
      }
    } catch (error) {
      print("Could not get id token of user $error");
      // This records a Crashlytics error non fatal
      AnalyticsAPI.logError(error, reason: "Could not get id token of current user");
    }
   return idToken;
  }

And i put the idToken in the headers of the HTTP request (i have public endpoints), not using the cloud_function package of firebase for Flutter.
The python code that throws the error is simply :
def check_token(token):
    try:
        decoded_token = auth.verify_id_token(token)
        logging.info(f"verified token : {decoded_token}")
        if "uid" in decoded_token:
            return decoded_token["uid"]
        return ""
    except Exception as e:
        logging.error(f"check_token : {e}")
        return ""

Now, this means either getIdToken(false) gives an outdated token, or a null one and my dart code returns an empty string instead.
In my Crashlytics dashboard i have no trace of any error coming from the AnalyticsAPI.logError(error, reason: "Could not get id token of current user"); so i am guessing the getIdToken() method is handling errors itself and returns Null in that case.
The documentation states :

/// Returns the current token if it has not expired. Otherwise, this will
/// refresh the token and return a new one.
///
/// If [forceRefresh] is true, the token returned will be refreshed regardless
/// of token expiration.

Questions / bugs :

Returns the current token if it has not expired. Otherwise, this will refresh the token and return a new one.

From this statement and the logs i am receiving, is there a real potential issue ?

-> I have checked around on internet / SO / ChatGPT and the clock's phone could lead to this problem, so i have started to believe that when the app is backgrounded for a long time without causing an app restart, is it possible it may delay the local checks for the clock and get "non-expired" token for the local auth but that is actually expired ?
-> As a workaround, i have tried to use the second part of the documentation :

If [forceRefresh] is true, the token returned will be refreshed regardless of token expiration.

And i am calling getIdToken(forceRefresh: true) instead of false on the AppLifeCycleState.resumed case to refresh the tokens more often. This actually didn't change anything...
Note : i am guessing that calling getIdToken(forceRefresh: true) for each requests will increase the network response time as it consumes an extra call to Firebase auth backend right ?
-> If the expiration is not a bug, how to deal with that ?

If the String is empty, that means the getIdToken(false) returns Null with my code, it happens actually very often but i don't know the reason, and it's not obvious to guess what is going on here unfortunately :/

Reproducing the issue
This is actually very hard to reproduce since i have never encounter this error myself when i debug or even when i use my own app live version...  And especially if this is not a real bug but rather a behavior that i don't fully understand.
Firebase Core version
3.8.0
Flutter Version
3.24.5
Relevant Log Output
No response
Flutter dependencies

Expand Flutter dependencies snippet

Dart SDK 3.5.4
Flutter SDK 3.24.5
app_name 1.7.1+1

dependencies:
- animated_text_kit 4.2.2 [flutter characters]
- app_links 6.3.2 [flutter app_links_linux app_links_platform_interface app_links_web]
- app_settings 5.1.1 [flutter plugin_platform_interface]
- app_tracking_transparency 2.0.6 [flutter]
- audio_waveforms 1.1.1 [flutter]
- auto_size_text 3.0.0 [flutter]
- cached_network_image 3.4.1 [cached_network_image_platform_interface cached_network_image_web flutter flutter_cache_manager octo_image]
- circle_list 1.0.5 [flutter]
- connectivity_plus 6.1.0 [flutter flutter_web_plugins connectivity_plus_platform_interface web meta nm collection]
- country_picker 2.0.27 [collection universal_io flutter]
- cupertino_back_gesture 0.1.0 [flutter]
- cupertino_icons 1.0.8
- emoji_picker_flutter 3.1.0 [flutter flutter_web_plugins plugin_platform_interface shared_preferences web]
- extended_image 9.0.7 [extended_image_library flutter meta vector_math]
- firebase_analytics 11.3.5 [firebase_analytics_platform_interface firebase_analytics_web firebase_core firebase_core_platform_interface flutter]
- firebase_app_check 0.3.1+6 [firebase_app_check_platform_interface firebase_app_check_web firebase_core firebase_core_platform_interface flutter]
- firebase_auth 5.3.3 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 3.8.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_crashlytics 4.1.5 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace]
- firebase_database 11.1.6 [firebase_core firebase_core_platform_interface firebase_database_platform_interface firebase_database_web flutter]
- firebase_in_app_messaging 0.8.0+10 [firebase_core firebase_core_platform_interface firebase_in_app_messaging_platform_interface flutter meta]
- firebase_messaging 15.1.5 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta]
- firebase_performance 0.10.0+10 [firebase_core firebase_core_platform_interface firebase_performance_platform_interface firebase_performance_web flutter]
- firebase_remote_config 5.1.5 [firebase_core firebase_core_platform_interface firebase_remote_config_platform_interface firebase_remote_config_web flutter]
- firebase_storage 12.3.6 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter]
- fl_chart 0.68.0 [equatable flutter]
- flutter 0.0.0 [characters collection material_color_utilities meta vector_math sky_engine]
- flutter_app_badger 1.3.0 [flutter]
- flutter_email_sender 6.0.3 [flutter]
- flutter_linkify 6.0.0 [flutter linkify]
- flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path vector_math]
- flutter_secure_storage 9.2.2 [flutter flutter_secure_storage_linux flutter_secure_storage_macos flutter_secure_storage_platform_interface flutter_secure_storage_web flutter_secure_storage_windows meta]
- flutter_signin_button 2.0.0 [flutter font_awesome_flutter]
- flutter_svg 2.0.15 [flutter http vector_graphics vector_graphics_codec vector_graphics_compiler]
- fluttertoast 8.2.8 [flutter flutter_web_plugins web]
- gallery_saver 2.3.3 [flutter path_provider http path]
- google_fonts 6.2.1 [flutter http path_provider crypto]
- google_mobile_ads 5.2.0 [meta flutter webview_flutter_android webview_flutter_wkwebview webview_flutter]
- http 1.2.2 [async http_parser meta web]
- image_editor 1.6.0 [flutter image_editor_platform_interface image_editor_common image_editor_ohos]
- image_picker 1.1.2 [flutter image_picker_android image_picker_for_web image_picker_ios image_picker_linux image_picker_macos image_picker_platform_interface image_picker_windows]
- in_app_review 2.0.10 [flutter in_app_review_platform_interface]
- login 0.0.1 [flutter firebase_core firebase_auth firebase_app_check connectivity_plus google_sign_in]
- lottie 3.1.3 [archive flutter http path vector_math]
- mention_tag_text_field 0.0.7 [collection flutter]
- mime 2.0.0
- package_info_plus 8.1.1 [ffi flutter flutter_web_plugins http meta path package_info_plus_platform_interface web win32 clock]
- path_provider 2.1.5 [flutter path_provider_android path_provider_foundation path_provider_linux path_provider_platform_interface path_provider_windows]
- permission_handler 11.3.1 [flutter meta permission_handler_android permission_handler_apple permission_handler_html permission_handler_windows permission_handler_platform_interface]
- provider 6.1.2 [collection flutter nested]
- pull_to_refresh_flutter3 2.0.2 [flutter]
- qr_flutter 4.1.0 [flutter qr]
- rive 0.13.18 [collection flutter flutter_web_plugins http meta plugin_platform_interface rive_common]
- screenshot 3.0.0 [flutter]
- scrollable_positioned_list 0.3.8 [flutter collection]
- share_plus 10.1.2 [cross_file meta mime flutter flutter_web_plugins share_plus_platform_interface file url_launcher_web url_launcher_windows url_launcher_linux url_launcher_platform_interface ffi web win32]
- shared_preferences 2.3.3 [flutter shared_preferences_android shared_preferences_foundation shared_preferences_linux shared_preferences_platform_interface shared_preferences_web shared_preferences_windows]
- translator 1.0.3+1 [http]
- uploader 0.0.1 [flutter firebase_core firebase_storage flutter_image_compress uuid video_thumbnail video_compress]
- url_launcher 6.3.1 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]
- uuid 4.5.1 [crypto sprintf meta fixnum]
- video_player 2.9.2 [flutter html video_player_android video_player_avfoundation video_player_platform_interface video_player_web]
- visibility_detector 0.4.0+2 [flutter]

dev dependencies:
- flutter_launcher_icons 0.14.1 [args checked_yaml cli_util image json_annotation path yaml]
- flutter_lints 5.0.0 [lints]
- flutter_native_splash 2.4.3 [args flutter flutter_web_plugins html image meta path universal_io xml yaml ansicolor]
- flutter_test 0.0.0 [flutter test_api matcher path fake_async clock stack_trace vector_math leak_tracker_flutter_testing async boolean_selector characters collection leak_tracker leak_tracker_testing material_color_utilities meta source_span stream_channel string_scanner term_glyph vm_service]

transitive dependencies:
- _flutterfire_internals 1.3.46 [collection firebase_core firebase_core_platform_interface flutter meta]
- ansicolor 2.0.3
- app_links_linux 1.0.3 [flutter app_links_platform_interface gtk]
- app_links_platform_interface 2.0.2 [flutter plugin_platform_interface]
- app_links_web 1.0.4 [flutter flutter_web_plugins app_links_platform_interface web]
- archive 3.6.1 [crypto path]
- args 2.6.0
- async 2.11.0 [collection meta]
- boolean_selector 2.1.1 [source_span string_scanner]
- cached_network_image_platform_interface 4.1.1 [flutter flutter_cache_manager]
- cached_network_image_web 1.3.1 [cached_network_image_platform_interface flutter flutter_cache_manager web]
- characters 1.3.0
- checked_yaml 2.0.3 [json_annotation source_span yaml]
- cli_util 0.4.2 [meta path]
- clock 1.1.1
- collection 1.18.0
- connectivity_plus_platform_interface 2.0.1 [flutter meta plugin_platform_interface]
- cross_file 0.3.4+2 [meta web]
- crypto 3.0.6 [typed_data]
- csslib 1.0.2 [source_span]
- dbus 0.7.10 [args ffi meta xml]
- equatable 2.0.7 [collection meta]
- extended_image_library 4.0.5 [crypto flutter http_client_helper js path path_provider web]
- fake_async 1.3.1 [clock collection]
- ffi 2.1.3
- file 7.0.1 [meta path]
- file_selector_linux 0.9.3+1 [cross_file file_selector_platform_interface flutter]
- file_selector_macos 0.9.4+2 [cross_file file_selector_platform_interface flutter]
- file_selector_platform_interface 2.6.2 [cross_file flutter http plugin_platform_interface]
- file_selector_windows 0.9.3+3 [cross_file file_selector_platform_interface flutter]
- firebase_analytics_platform_interface 4.2.7 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_analytics_web 0.5.10+4 [_flutterfire_internals firebase_analytics_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins]
- firebase_app_check_platform_interface 0.1.0+40 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_app_check_web 0.2.0+2 [_flutterfire_internals firebase_app_check_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins web]
- firebase_auth_platform_interface 7.4.9 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.13.4 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser meta web]
- firebase_core_platform_interface 5.3.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.18.1 [firebase_core_platform_interface flutter flutter_web_plugins meta web]
- firebase_crashlytics_platform_interface 3.6.46 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_database_platform_interface 0.2.5+46 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_database_web 0.2.6+4 [collection firebase_core firebase_core_web firebase_database_platform_interface flutter flutter_web_plugins]
- firebase_in_app_messaging_platform_interface 0.2.4+46 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_platform_interface 4.5.48 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_web 3.9.4 [_flutterfire_internals firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins meta web]
- firebase_performance_platform_interface 0.1.4+46 [_flutterfire_internals firebase_core flutter plugin_platform_interface]
- firebase_performance_web 0.1.7+4 [_flutterfire_internals firebase_core firebase_core_web firebase_performance_platform_interface flutter flutter_web_plugins]
- firebase_remote_config_platform_interface 1.4.46 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_remote_config_web 1.7.4 [firebase_core firebase_core_web firebase_remote_config_platform_interface flutter flutter_web_plugins]
- firebase_storage_platform_interface 5.1.33 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_storage_web 3.10.5 [_flutterfire_internals async firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http meta web]
- fixnum 1.1.1
- flutter_cache_manager 3.4.1 [clock collection file flutter http path path_provider rxdart sqflite uuid]
- flutter_image_compress 2.3.0 [flutter flutter_image_compress_platform_interface flutter_image_compress_common flutter_image_compress_web flutter_image_compress_macos flutter_image_compress_ohos]
- flutter_image_compress_common 1.0.5 [flutter flutter_image_compress_platform_interface]
- flutter_image_compress_macos 1.0.2 [flutter flutter_image_compress_platform_interface]
- flutter_image_compress_ohos 0.0.3 [flutter flutter_image_compress_platform_interface]
- flutter_image_compress_platform_interface 1.0.5 [flutter plugin_platform_interface cross_file]
- flutter_image_compress_web 0.1.4+1 [flutter flutter_web_plugins flutter_image_compress_platform_interface js]
- flutter_plugin_android_lifecycle 2.0.23 [flutter]
- flutter_secure_storage_linux 1.2.1 [flutter flutter_secure_storage_platform_interface]
- flutter_secure_storage_macos 3.1.2 [flutter flutter_secure_storage_platform_interface]
- flutter_secure_storage_platform_interface 1.1.2 [flutter plugin_platform_interface]
- flutter_secure_storage_web 1.2.1 [flutter flutter_secure_storage_platform_interface flutter_web_plugins js]
- flutter_secure_storage_windows 3.1.2 [ffi flutter flutter_secure_storage_platform_interface path path_provider win32]
- flutter_web_plugins 0.0.0 [flutter characters collection material_color_utilities meta vector_math]
- font_awesome_flutter 9.2.0 [flutter]
- google_identity_services_web 0.3.3 [meta web]
- google_sign_in 6.2.2 [flutter google_sign_in_android google_sign_in_ios google_sign_in_platform_interface google_sign_in_web]
- google_sign_in_android 6.1.33 [flutter google_sign_in_platform_interface]
- google_sign_in_ios 5.7.8 [flutter google_sign_in_platform_interface]
- google_sign_in_platform_interface 2.4.5 [flutter plugin_platform_interface]
- google_sign_in_web 0.12.4+3 [flutter flutter_web_plugins google_identity_services_web google_sign_in_platform_interface http web]
- graphs 2.3.2 [collection]
- gtk 2.1.0 [ffi flutter meta]
- html 0.15.5 [csslib source_span]
- http_client_helper 3.0.0 [http]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- image 4.3.0 [archive meta xml]
- image_editor_common 1.2.0 [flutter image_editor_platform_interface]
- image_editor_ohos 0.0.9 [flutter image_editor_platform_interface]
- image_editor_platform_interface 1.1.0 [flutter platform plugin_platform_interface]
- image_picker_android 0.8.12+17 [flutter flutter_plugin_android_lifecycle image_picker_platform_interface]
- image_picker_for_web 3.0.6 [flutter flutter_web_plugins image_picker_platform_interface mime web]
- image_picker_ios 0.8.12+1 [flutter image_picker_platform_interface]
- image_picker_linux 0.2.1+1 [file_selector_linux file_selector_platform_interface flutter image_picker_platform_interface]
- image_picker_macos 0.2.1+1 [file_selector_macos file_selector_platform_interface flutter image_picker_platform_interface]
- image_picker_platform_interface 2.10.0 [cross_file flutter http plugin_platform_interface]
- image_picker_windows 0.2.1+1 [file_selector_platform_interface file_selector_windows flutter image_picker_platform_interface]
- in_app_review_platform_interface 2.0.5 [flutter url_launcher plugin_platform_interface platform]
- intl 0.19.0 [clock meta path]
- js 0.6.7 [meta]
- json_annotation 4.9.0 [meta]
- leak_tracker 10.0.5 [clock collection meta path vm_service]
- leak_tracker_flutter_testing 3.0.5 [flutter leak_tracker leak_tracker_testing matcher meta]
- leak_tracker_testing 3.0.1 [leak_tracker matcher meta]
- linkify 5.0.0
- lints 5.0.0
- matcher 0.12.16+1 [async meta stack_trace term_glyph test_api]
- material_color_utilities 0.11.1 [collection]
- meta 1.15.0
- nested 1.0.0 [flutter]
- nm 0.5.0 [dbus]
- octo_image 2.1.0 [flutter]
- package_info_plus_platform_interface 3.0.1 [flutter meta plugin_platform_interface]
- path 1.9.0
- path_parsing 1.1.0 [meta vector_math]
- path_provider_android 2.2.12 [flutter path_provider_platform_interface]
- path_provider_foundation 2.4.0 [flutter path_provider_platform_interface]
- path_provider_linux 2.2.1 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_platform_interface 2.1.2 [flutter platform plugin_platform_interface]
- path_provider_windows 2.3.0 [ffi flutter path path_provider_platform_interface]
- permission_handler_android 12.0.13 [flutter permission_handler_platform_interface]
- permission_handler_apple 9.4.5 [flutter permission_handler_platform_interface]
- permission_handler_html 0.1.3+5 [flutter flutter_web_plugins permission_handler_platform_interface web]
- permission_handler_platform_interface 4.2.3 [flutter meta plugin_platform_interface]
- permission_handler_windows 0.2.1 [flutter permission_handler_platform_interface]
- petitparser 6.0.2 [meta]
- platform 3.1.6
- plugin_platform_interface 2.1.8 [meta]
- qr 3.0.2 [meta]
- rive_common 0.4.13 [collection ffi flutter flutter_web_plugins graphs http meta plugin_platform_interface web]
- rxdart 0.28.0
- share_plus_platform_interface 5.0.1 [cross_file flutter meta mime plugin_platform_interface path_provider uuid]
- shared_preferences_android 2.3.3 [flutter shared_preferences_platform_interface]
- shared_preferences_foundation 2.5.3 [flutter shared_preferences_platform_interface]
- shared_preferences_linux 2.4.1 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_platform_interface]
- shared_preferences_platform_interface 2.4.1 [flutter plugin_platform_interface]
- shared_preferences_web 2.4.2 [flutter flutter_web_plugins shared_preferences_platform_interface web]
- shared_preferences_windows 2.4.1 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface]
- sky_engine 0.0.99
- source_span 1.10.0 [collection path term_glyph]
- sprintf 7.0.0
- sqflite 2.4.1 [flutter sqflite_android sqflite_darwin sqflite_platform_interface sqflite_common path]
- sqflite_android 2.4.0 [flutter sqflite_common path sqflite_platform_interface]
- sqflite_common 2.5.4+6 [synchronized path meta]
- sqflite_darwin 2.4.1 [flutter sqflite_platform_interface meta sqflite_common path]
- sqflite_platform_interface 2.4.0 [flutter platform sqflite_common plugin_platform_interface meta]
- stack_trace 1.11.1 [path]
- stream_channel 2.1.2 [async]
- string_scanner 1.2.0 [source_span]
- synchronized 3.3.0+3
- term_glyph 1.2.1
- test_api 0.7.2 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph]
- typed_data 1.4.0 [collection]
- universal_io 2.2.2 [collection meta typed_data]
- url_launcher_android 6.3.14 [flutter url_launcher_platform_interface]
- url_launcher_ios 6.3.1 [flutter url_launcher_platform_interface]
- url_launcher_linux 3.2.1 [flutter url_launcher_platform_interface]
- url_launcher_macos 3.2.1 [flutter url_launcher_platform_interface]
- url_launcher_platform_interface 2.3.2 [flutter plugin_platform_interface]
- url_launcher_web 2.3.3 [flutter flutter_web_plugins url_launcher_platform_interface web]
- url_launcher_windows 3.1.3 [flutter url_launcher_platform_interface]
- vector_graphics 1.1.15 [flutter http vector_graphics_codec]
- vector_graphics_codec 1.1.12
- vector_graphics_compiler 1.1.16 [args meta path path_parsing vector_graphics_codec xml]
- vector_math 2.1.4
- video_compress 3.1.1 [flutter]
- video_player_android 2.7.16 [flutter video_player_platform_interface]
- video_player_avfoundation 2.6.3 [flutter video_player_platform_interface]
- video_player_platform_interface 6.2.3 [flutter plugin_platform_interface]
- video_player_web 2.3.3 [flutter flutter_web_plugins video_player_platform_interface web]
- video_thumbnail 0.5.3 [flutter]
- vm_service 14.2.5
- web 1.1.0
- webview_flutter 4.9.0 [flutter webview_flutter_android webview_flutter_platform_interface webview_flutter_wkwebview]
- webview_flutter_android 3.16.9 [flutter webview_flutter_platform_interface]
- webview_flutter_platform_interface 2.10.0 [flutter meta plugin_platform_interface]
- webview_flutter_wkwebview 3.16.3 [flutter path webview_flutter_platform_interface]
- win32 5.8.0 [ffi]
- xdg_directories 1.1.0 [meta path]
- xml 6.5.0 [collection meta petitparser]
- yaml 3.1.2 [collection source_span string_scanner]

Additional context and comments
No response

Hi @Tom3652, thanks for the report. Unfortunately, I couldn’t reproduce this issue on my end. It's unfortunate that you’re unable to reproduce it locally as well. Providing a fully reproducible sample would be incredibly helpful in diagnosing the problem.

Hi @SelaseKay yes i know believe me i wish i had a reproductible use case...
But that's something you can see through a large user base only i guess, i have more or less 30k calls in Cloud Functions each day and i have few hundreds of errors.
Note : i have two ideas for this problem, i have put only the first one in my next release tonight :

Forcing refresh if without refresh the token is empty :

  Future<String> getIdToken({bool forceRefresh = false}) async {
    String idToken = "";
    try {
      if (_currentUser != null) {
        idToken = await FirebaseAuth.instance.currentUser!.getIdToken(forceRefresh) ?? "";
      }
    } catch (error) {
      print("Could not get id token of user $error");
      // This records a Crashlytics error non fatal
      AnalyticsAPI.logError(error, reason: "Could not get id token of current user");
    }
     if (_idToken.isEmpty && !forceRefresh) {
      return initToken(forceRefresh: true);
    }
   return idToken;
  }

This way, if it's empty by any ways without forcing the refresh, it will force it and send it.

Refreshing the token after each request to the cloud function without awaiting it.

I will keep updating here if i find a solution, but once again maybe it's not a bug and that's the expected behavior and i a am simply using it in a incorrect way...
Thanks for your time anyway !

Hello, we are experiencing the same issue, it looks like it's only reproducible on 10k+ calls, our project has a range of 10k - 40k calls.
For now we are going to force the refresh token if it's empty and come back with the results.

I have a bit more information, i have checked my crashlytics logs and seen actually plenty of logs :
[firebase_auth/network-request-failed] Network error (such as timeout, interrupted connection or unreachable host) has occurred.. Error thrown Could not get id token of user.

So that can explain some of the logs.
However, if the users would actually not have an active internet connection, my backend would not be reached in matter of milliseconds after the getIdToken.
I wonder then if there are some real network issues or if the users are "terminating" the app during the request, but once again my backend would not be reached in that case...
I have an expired token because my var idToken is actually global in my real app and thus, if the getIdToken method  throws the network error, my idToken remains "old" and not empty and i see the token expired error in my cloud function.
So my new function looks like this :
  String _idToken = "";

  User? get _currentUser => FirebaseAuth.instance.currentUser;

  /// Handle the fact the token is refreshed
  Future<void> initToken({bool forceRefresh = false}) async {
    if (forceRefresh) {
      LogManager.printDebug("Forcing token refresh...");
      AnalyticsAPI.logEvent("refresh_id_token_forced");
    }
    else {
      AnalyticsAPI.logEvent("refresh_id_token");
    }
    try {
      if (_currentUser != null) {
        String newToken = await _currentUser!.getIdToken(forceRefresh) ?? "";
        if (newToken.isNotEmpty) {
          _idToken = newToken;
        }
        else {
          AnalyticsAPI.logError("[initToken]: New id token is empty.");
          if (!forceRefresh) {
            await initToken(forceRefresh: true);
          }
        }
      }
      else {
        AnalyticsAPI.logError("[initToken]: Current user is null.");
      }
    } catch (error) {
      LogManager.printDebug("Could not get id token of user $error");
      AnalyticsAPI.logError(error,
          reason: "Could not get id token of user.");
    }
  }

I am going to release that tonight and see how is it going then, will keep updating.

This has helped to see much more errors that i will list here, but didn't help to fix the issue.
I have more than 10k errors but most of them are network errors i think so less important.
I have improved my logging by : AnalyticsAPI.logError(error, reason: "Could not get id token of user with refresh $forceRefresh");
The main weird error on Android (not iOS so far unless i have missed it) that occurred :

[firebase_auth/unknown] An internal error has occurred. [ Json conversion failed! Failed to parse error for string [<!DOCTYPE html><html lang=en> <meta charset=utf-8> <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width"> <title>Error 403 (Forbidden)!!1</title> <style> *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px} </style> <a href=//www.google.com/><span id=logo aria-label=Google></span></a> <p><b>403.</b> <ins>That’s an error.</ins> <p>Your client does not have permission to get URL <code>/v1/token</code> from this server. <ins>That’s all we know.</ins>]. Error thrown Could not get id token of user with refresh true.

All the various network errors :
[firebase_auth/unknown] Failure in SSL library, usually a protocol error error:100000d7:SSL routines:OPENSSL_internal:SSL_HANDSHAKE_FAILURE (third_party/openssl/boringssl/src/ssl/ssl_lib.cc:996 0x702d2477dc:0x00000000). Error thrown Could not get id token of user j9WezqXUuHZge2USdhd2SbhrJQz2 with refresh false.

[firebase_auth/network-request-failed] A network error (such as timeout, interrupted connection or unreachable host) has occurred.. Error thrown Could not get id token of user with refresh false.

[firebase_auth/unknown] I/O error during system call, Connection reset by peer. Error thrown Could not get id token of user with refresh true.

[firebase_auth/unknown] The user's credential is no longer valid. The user must sign in again.. Error thrown Could not get id token of user with refresh false.

[firebase_auth/unknown] An internal error has occurred. [ unexpected end of stream on com.android.okhttp.Address@c82eae1c. Error thrown Could not get id token of user with refresh true.

We're having the same issue with our app as wel. Based on user feedback we've gathered, we've found that users get signed out of the app. The following network error gets logged a couple dozen times a day (we have somewhere about ~10K to ~20K active daily users).
[firebase_auth/network-request-failed] Network error (such as timeout, interrupted connection or unreachable host) has occurred.. Error thrown Could not get id token of user.
We have a check in the app that listens for network connectivity, so if the user would not be connected, out server should not be reached.

Hi @Tom3652, thanks for the additional feedback. What authentication methods do you use in your app?

Hi @SelaseKay , i am using the Sign in With Apple & with Google only.
I am using the AppleAuthProvider class for Apple, and the flutter package sign_in_with_google as an OAuthProvider.
  Future<LoginResult> signInWithApple() async {
    AppleAuthProvider appleAuthProvider = AppleAuthProvider();
    appleAuthProvider.addScope("email");
    appleAuthProvider.addScope("fullName");
    return _signInWithProvider(provider: appleAuthProvider);
  }

  final GoogleSignIn _googleSignIn = GoogleSignIn(scopes: ['profile', 'email']);

  Future<OAuthCredential?> _signInWithGoogle() async {
    final GoogleSignInAccount? googleUser = await _googleSignIn.signIn();
    if (googleUser == null) return null;
    debugPrint("Google user got : ${googleUser.email}");

    // Obtain the auth details from the request
    final GoogleSignInAuthentication googleAuth =
    await googleUser.authentication;

    debugPrint("Google auth : ${googleAuth.idToken!}");

    // Create a new credential
    final OAuthCredential credential = GoogleAuthProvider.credential(
      accessToken: googleAuth.accessToken,
      idToken: googleAuth.idToken,
    );
    return credential;
  }

  Future<LoginResult> signInWithGoogle() async {
    OAuthCredential? credential = await _signInWithGoogle();
    return _signInWithProvider(credential: credential);
  }

 Future<LoginResult> _signInWithProvider(
      {AuthProvider? provider, OAuthCredential? credential}) async {
    _loginResult.reset();
    try {
      UserCredential? userCredential = provider != null
          ? await FirebaseAuth.instance.signInWithProvider(provider)
          : credential != null
          ? await FirebaseAuth.instance.signInWithCredential(credential)
          : null;
      if (userCredential?.user != null) {
        _loginResult.onSuccess();
      }
    } on FirebaseAuthException {
      _loginResult.setError(ErrorState.userDisabled);
    } on Exception {
      _loginResult.setError(ErrorState.generic);
    }
    return _loginResult;
  }

Hi @AbhishekDoshi26, I agree. This could be coming from upstream. I've been trying to reproduce this locally but haven't made much progress.

I am adding a new error log to the above ones still getting the ID Token :
[firebase_auth/internal-error] An internal error has occurred, print and inspect the error details for more information..


astype() handling of None

koalas appears to ignore None values when converting the type of a DataFrame or Series using .astype() instead of converting them which is the pandas behaviour. For instance when converting to str, in pandas None becomes 'None' but this does not happen in koalas. Example below shown by using sorted() which can't handle None:
Example
import databricks.koalas as ks
import pandas as pd

data = pd.Series(['a', 'b', 'c', None])
sorted(data.astype(str).tolist())
# => ['None', 'a', 'b', 'c']

data = ks.Series(['a', 'b', 'c', None])
sorted(data.astype(str).tolist())
# ---------------------------------------------------------------------------
# TypeError                                 Traceback (most recent call last)
# <ipython-input-11-493f99e0fb6f> in <module>
#       1 data = ks.Series(['a', 'b', 'c', None])
# ----> 2 sorted(data.astype(str).tolist())
#
# TypeError: '<' not supported between instances of 'NoneType' and 'str'

Is there a reason for this or can we bring this in line with pandas? Thanks
Ubuntu 18.04
python 3.7.6
koalas==1.2.0

@itholic can you take a look when you find some time?

Sure, let me take a look


show events & events with icons

Hi there!
I hope you are doing great. Loved your package, really very easy to use and feasible but I found a few things that can be improved. So instead of causing you the trouble to add those things, I am generating a PR with those functions. I have implemented them in one of my projects using your package's local version and they do great so I thought they should be shared with others.
Things I have added into the package:

Ability to show & hide events
Added the ability to add icons with events

Test multiple times and working properly, added the screenshots in the img folder as well to showcase the responses.
I hope you guys find it useful and worth sharing with other.  Be sure to ping me in case of any queries.
Thanks & Regards,
Ayesha Iftikhar

really beautiful, great work! :)

Thanks
On Sat, Mar 18, 2023, 2:44 PM Jimmy Nelle @.***> wrote:

really beautiful, great work! :)
—
Reply to this email directly, view it on GitHub
https://github.com/rwbr/flutter_neat_and_clean_calendar/pull/52#issuecomment-1474790310,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APDNEYVMZULF3TP4PEANF5TW4V7XZANCNFSM6AAAAAAVSMVWZA
.
You are receiving this because you authored the thread.Message ID:
@.***>

I need to know, from which source you took the example pictures in the assets folder. This is because I don't need to come into conflict with copyright law.

I need to know, from which source you took the example pictures in the assets folder. This is because I don't need to come into conflict with copyright law.

I took those pictures from Pexels.com and these were the free stock photos.


Running Remote Scirpt using SSO get "Failed to authenticate through CAM. Expected status_code 200, received status_code: 401"

Hi!
I have 2 Windows machines:

IBM PA 2.0.94 and CA 11.1.6 installed, SSO is enabled
Another server where installed Python and TM1Py

My purpose is to run TM1py script that is located on the 2nd server from TM1 located on the 1st server using SSO.
I tried to run this script (script is located on the 2nd server):
with TM1Service(address="1stServer", port=12354, ssl=True, namespace="XXX", gateway="https://1stServer:443/ibmcognos/bi/v1/disp") as tm1:    print(tm1.server.get_product_version())
When I run this script directly on the 2nd server everything works fine. Script succesfully connects to the 1st server using SSO.
But when I'm trying to run script from 1st server where TM1 is located I'm getting an error. I tried to run script from the 1st server using Powershell command.
Invoke-Command -Computer 2ndComputerName -Scriptblock {python.exe 'C:\PythonScript\Script.py'}
and get error
File "C:\Python\Python_3_9_5\lib\site-packages\TM1py\Services\RestService.py", line 464, in _build_authorization_toke
n_cam
raise RuntimeError(
RuntimeError: Failed to authenticate through CAM. Expected status_code 200, received status_code: 401
May be there is something i need to check in server configuration?

Not a powershell expert but when you are running the script that is in another machine.. which account triggers that script?
I believe it is not using your account which is causing the problem.
A simple solution to this is build an executable using your script.py in server 2 (where python exists).
Check out a python package named pyinstaller. That will convert your script into an executable by packing all the required dependencies (like TM1py).
You can then copy this executable (.exe) file to server 1 and run it there.


fix covered edit button on some pages

Move the headers down a bit to make sure the edit button is always clickable. Resolves #7898.
This also adds more space between sections. If the space is too much, we can go through and add summary paragraphs before each page of the user manual affected by this bug. wdyt?
Before:

After:

Thanks @eriwen That was my intention with using em. Since you marked this with 5.1 RC1, I rebased and merged this into the release branch.


Update ignite-2020-landing-page.md

https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/7307
Fixed numerous links

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@cichur PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


Use GO_SERVER_URL env var instead of only GO_SERVER

For https://github.com/gocd/gocd-docker/issues/66

I've verified that both these work:
docker run -ti -e GO_SERVER=<IP_ADDRESS> -e GO_SERVER_PORT=8154 gocd-agent

docker run -ti -e GO_SERVER_URL=https://<IP_ADDRESS>:8154/go gocd-agent

We've tried building a docker image from your changes but it still fails while launching the gocd-agent with the following error:
muppal@eumuppal  ~  docker run -it -e GO_SERVER_URL=https://<IP_ADDRESS>:32771/go mansab/gocd-agent:arvindsv
*** Running /etc/rc.local...
*** Booting runit daemon...
*** Runit started as PID 8
Starting Go Agent to connect to server go-server ...
sed: -e expression #1, char 40: unknown option to `s'
[Fri Jan 13 14:54:30 UTC 2017] using default settings from /etc/default/go-agent
logFile Environment Variable= null
Logging to go-agent-bootstrapper.log
0 [TouchLoopThread-2] INFO com.thoughtworks.go.agent.launcher.Lockfile  - Using lock file: /var/lib/go-agent/.agent-bootstrapper.running
Jan 13 14:54:30 956ef6a45373 syslog-ng[14]: syslog-ng starting up; version='3.5.3'
439 [main] ERROR com.thoughtworks.go.agent.launcher.ServerCall  - Couldn't access Go Server with base url: https://<IP_ADDRESS>:8154/go/admin/agent-launcher.jar: org.apache.http.conn.HttpHostConnectException: Connect to <IP_ADDRESS>:8154 [/<IP_ADDRESS>] failed: Connection refused (Connection refused)
java.lang.Exception: Couldn't access Go Server with base url: https://<IP_ADDRESS>:8154/go/admin/agent-launcher.jar: org.apache.http.conn.HttpHostConnectException: Connect to <IP_ADDRESS>:8154 [/<IP_ADDRESS>] failed: Connection refused (Connection refused)
	at com.thoughtworks.go.agent.launcher.ServerCall.invoke(ServerCall.java:78)
	at com.thoughtworks.go.agent.launcher.ServerBinaryDownloader.headers(ServerBinaryDownloader.java:130)
	at com.thoughtworks.go.agent.launcher.ServerBinaryDownloader.downloadIfNecessary(ServerBinaryDownloader.java:106)
	at com.thoughtworks.go.agent.launcher.AgentLauncherImpl.launch(AgentLauncherImpl.java:78)
	at com.thoughtworks.go.agent.bootstrapper.AgentBootstrapper.go(AgentBootstrapper.java:72)
	at com.thoughtworks.go.agent.bootstrapper.AgentBootstrapper.main(AgentBootstrapper.java:54)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at com.simontuffs.onejar.Boot.run(Boot.java:306)
	at com.simontuffs.onejar.Boot.main(Boot.java:159)
Caused by: org.apache.http.conn.HttpHostConnectException: Connect to <IP_ADDRESS>:8154 [/<IP_ADDRESS>] failed: Connection refused (Connection refused)
	at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:158)
	at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
	at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)
	at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
	at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
	at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
	at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)
	at com.thoughtworks.go.agent.launcher.ServerCall.invoke(ServerCall.java:55)
	... 11 more

We suspect the issue is with the sed replace line which works for mac but not inside the container (which is Ubuntu).
So, we tried to debug it a bit and came up with the following sed replace statement (which works):
sed -i -e "s@GO_SERVER_URL=.*@GO_SERVER_URL=${GO_SERVER_URL}@" /etc/default/go-agent

@mansab: You're right. Sorry about that! I don't know how my test worked. I'll verify it properly, again, now. I haven't tried your change yet, but it makes sense to me, since the slash in the GO_SERVER_URL can conflict with the slash in the sed expression. Changing it to @ (or something else) should be fine. Let me take a look.

Fixed. Should work now. I incorporated your suggestion. Thanks!


feat(thread): improving thread API to support thread destroy

Signed-off-by: Dmitry Savitskiy<EMAIL_ADDRESS>

bors merge


Update SwiftPM for M91 Analytics 7.8.0

Accompanied AppMeasurement change in https://github.com/google/GoogleAppMeasurement/pull/4

Also update line 101

Done, thanks Paul. I'll send an update for the instructions - they were out of date with the recent split of the repos.


Support dual-stack access to the distribution

Description
Support dual-stack (IPv4 and IPv6) access to the distribution
Motivation and Context
This example provided only IPv4
Breaking Changes
I upgraded the Route53 records submodule to its current recommended version,
but I did not upgrade the acm, s3-bucket, or lambda modules similarly
because I haven't tested those versions in this context.
How Has This Been Tested?

[X] I have tested and validated these changes using one or more of the provided examples/* projects
I employed these changes in my own distribution

Hi,
There is no need for this change in this module. It is not related to CloudFront but to Route53.
If you want to show how to use AAAA-records, then please update route53 module examples (eg, similar to this).
Also, there is no need for conditions or variables in examples.


Getting a warning of use of Deprecated React lifecycle method

backend.js:6 Warning: componentWillReceiveProps has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details.

Move data fetching code or side effects to componentDidUpdate.
If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state
Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run npx react-codemod rename-unsafe-lifecycles in your project source folder.

Please update the following components: PaginationComponent

You are right, I knew I had to change it someday, it was a pull request and even though I didn't like it that much I let it pass for a while.
I'm using a pure component to remove it but since this will make other changes in props to trigger a render I am going to need a bit more time.
After fixing this issue I will take a look at the other issue, number 15. Hopefully both will be fixed this weekend.

No problem this is a super useful plugin.  It is unfortunate the react framework undergoes such radical changes even though it is old now.  I have not seen such drastic re-architecture in other frameworks I use and it makes it hard to get corporations to commit to it.  No hurry.  I tried to address it myself going to a functional component but the craziness of that change is too much for me to undertake with other things on my plate.  Thanks again for a great plugin

Thanks man, you are right. Now with hooks it's even another level although I think it is for the best.
I'm closing this issue since I just published the change.


Show status and progress on epics

Should show status and progress of epics just like is shown on features. Yes, I could try to figure this out by reviewing all child features but it'd be simpler to just see it at the epic level.

Thanks for the suggestion, We will consider this for next major release.


"th" tag redundancy error

Hi, I'm using your library, everything works great, however I get an error with a redundant "th" tag like this, even though it has no data, if I use the default table of antd it's fine, I don't know what's the cause?

This is not a bug, it's a feature behavior related to the column resizing function.


Missing email in header breaks following section

Hey,
When you don't have an email in the header it breaks the following section as you have hardcoded the dataHeader to be three rows.
Changing :159 to below is a quick fix. Sets the header to be the first 3 lines that are not a header.
var dataHeader = {
'head': chunks.slice(2, 5).filter(function(chunk){
return !service.isHeader(chunk);
})
};
Failing PDF:
AudrieFerrer-1.pdf
Cheers

Actually more accurate:
// Find first section
var startIndex = 0;
chunks.find(function(chunk, i){
if (service.isHeader(chunk)) {
startIndex = i;
return true;
}
});
    var dataHeader = {
        'head': chunks.slice(2, startIndex)
    };


fix tomcat9 support. #5711

What is the purpose of the change
Support tomcat9.
https://github.com/apache/dubbo/issues/5711
Brief changelog
XXXXX
Verifying this change
XXXXX
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Run mvn clean install -DskipTests=false & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #6066 into master will decrease coverage by 0.06%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master    #6066      +/-   ##
============================================
- Coverage     61.18%   61.12%   -0.07%
+ Complexity      493      491       -2
============================================
  Files           991      991
  Lines         39597    39597
  Branches       5719     5719
============================================
- Hits          24227    24203      -24
- Misses        12690    12703      +13
- Partials       2680     2691      +11

Impacted Files
Coverage Δ
Complexity Δ

...e/dubbo/remoting/http/tomcat/TomcatHttpServer.java
87.87% <100.00%> (ø)
0.00 <0.00> (ø)

.../remoting/transport/netty4/NettyServerHandler.java
56.81% <0.00%> (-11.37%)
0.00% <0.00%> (ø%)

...he/dubbo/common/threadpool/ThreadlessExecutor.java
52.17% <0.00%> (-10.87%)
0.00% <0.00%> (ø%)

.../apache/dubbo/rpc/protocol/AsyncToSyncInvoker.java
62.06% <0.00%> (-10.35%)
0.00% <0.00%> (ø%)

...e/dubbo/remoting/transport/netty/NettyChannel.java
52.27% <0.00%> (-7.96%)
19.00% <0.00%> (-2.00%)

...ng/transport/dispatcher/all/AllChannelHandler.java
62.06% <0.00%> (-6.90%)
0.00% <0.00%> (ø%)

.../org/apache/dubbo/remoting/ExecutionException.java
15.78% <0.00%> (-5.27%)
0.00% <0.00%> (ø%)

...dubbo/remoting/exchange/support/DefaultFuture.java
75.00% <0.00%> (-4.32%)
0.00% <0.00%> (ø%)

...pache/dubbo/remoting/transport/AbstractServer.java
53.75% <0.00%> (-3.75%)
0.00% <0.00%> (ø%)

...exchange/support/header/HeaderExchangeHandler.java
61.94% <0.00%> (-2.66%)
0.00% <0.00%> (ø%)

... and 10 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 e71ad15...09ed388. Read the comment docs.

什么时候会在2.6.x修复呢


Difference with pip check

I've recently encountered some cases where pip check cannot report all the conflicts correctly, while pipdeptree did the job (in the warning part of the output). So what is the difference between these two methods of discovering dependency conflicts?

I haven't used pip check at all so not sure how that works. Can you please share an example requirements.txt file using which I can reproduce the problem?

The case was on a private project, but I think I might reproduce it on another public one. I'll let you know once I made it.

this tool is intended to display the depenency tree while pip check just checks the validity of project version constraints


walkthrough setup.md tf version and geopandas installation error and fix.

While trying to setup training env, I came across the following error -

python3.6 does not support tf v1.*
geopandas had some broken file link to gdal (https://stackoverflow.com/questions/54734667/error-installing-geopandas-a-gdal-api-version-must-be-specified-in-anaconda).

The following two steps helped me go through these errors -

use it to initiate an env with python 2.7 version
virtualenv -p python2.7 venv
install the following two packages while installing Install System Level Libraries
apt-get install libgeos-dev
apt-get install libgdal-dev

Note that for ohsome2label we still need python3.6 version. One can use different virenv for that.
Hope it helps!

@Zia- thanks for reporting this error!
Tips regarding the installation of geopands definitely help. I added them now in 8299921d195c5624ffaff7be16262f0f52228069.
Not sure about "python3.6 does not support tf v1.*", does this mean you cannot "pip install tensorflow==1.14.0" with a python3.6 env? while it did work for me when I wrote the walkthrough.
However, in general, I need to think about a more up-to-date implementation of TF object detection API.

@bobleegogogo

Not sure about "python3.6 does not support tf v1.*", does this mean you cannot "pip install tensorflow==1.14.0" with a python3.6 env? while it did work for me when I wrote the walkthrough.

Yes, from what I understood that there was some python version issue with tf.
For example, tf.session etc is deprecated in version2. So, tfv1.14.0 is needed. However, for me python3.6 couldn't install it. May be it was pip3 issue. Can't say!
For now, my working solution is using two virenv. One with python2.6 dealing with TF_objectdetection and another one with python3.6 dealing with ohsome2label.


fix: export defaultSeoPageProps and seoPageProps as TinaField

:tada: This PR is included in version 1.2.0-alpha.2 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.2.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


project-path working?

I'm trying to use the 'project-path' setting and it seems to ignore it and the checking never triggers. Here's the excerpt from my YAML file.

name: npm-repo-cache
type: npm-cache # as defined above
source:
<<: *repo-source # the source is the same as the corresponding git resource ...
paths: # ... except that it's only interested in files listing dependencies
- package.json
project-path: project-ui # this is where my package.json lives

Hi,
I going to do a example to see what happens


command pwhich liststale to print all which that we don't have a recorded edit date for

or more generally print the ones that haven't been updated in the longest; this way we can discover what we should update

will do pwhich etc. first, then this


Documentation

In your documentation you show as an example :
self.assertXpathsUniqueValue(root, ('./leaf@id', ))
self.assertXpathValues(root, './leaf@active', ('on', 'off'))
if you dont do './leaf/@active' or './leaf/@id' , it gives an error that does not clearly indicate why its broken.

Sorry for the delay - I wasn't taking care of this project.
So, I'm fixing that, in the documentation first, but also now the output in such case will be (with py.test):
E   AssertionError: Invalid XPath expression for element root: Invalid expression
E   Xpath: ./leaf@id
E   Element:
E   <root xmlns:ns="uri">
E               <leaf id="1" active="on"/>
E               <leaf id="2" active="on"/>
E               <leaf id="3" active="off"/>
E           </root>

That should be better.

Should be fixed by b6e02524cbda18c0f5966dfa07d72168a85d4fc3 - thanks for reporting this!


Workflows that failed before upgrade to 3.5.6 fail to retry

Pre-requisites

[X] I have double-checked my configuration
[X] I have tested with the :latest image tag (i.e. quay.io/argoproj/workflow-controller:latest) and can confirm the issue still exists on :latest. If not, I have explained why, in detail, in my description below.
[X] I have searched existing issues and could not find a match for this bug
[ ] I'd like to contribute the fix myself (see contributing guide)

What happened/what did you expect to happen?

We were on 3.5.5

Some workflows failed

Upgraded to 3.5.6

Retried some of the workflows
Result:

The failed tasks within the workflows disappeared, keeping only the successful ones
The workflows got stuck in a running state
Still The workflows are shown in the failed list
Unable to retry again, because it's running
Unable to Stop

Reproducible on any workflow
Version
v3.5.6
Paste a small workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
any workflow reproduces it

Logs from the workflow controller
kubectl logs -n argo deploy/workflow-controller | grep ${workflow}

Logs from in your workflow's wait container
kubectl logs -n argo -c wait -l workflows.argoproj.io/workflow=${workflow},workflow.argoproj.io/phase!=Succeeded

I tested this purely on 3.5.6, and it fails if you attempt to retry this deliberately broken dag diamond.
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: dag-diamond-
spec:
  entrypoint: diamond
  templates:
  - name: diamond
    dag:
      tasks:
      - name: A
        template: echo
        arguments:
          parameters: [{name: message, value: A}]
      - name: B
        depends: "A"
        template: echo
        arguments:
          parameters: [{name: message, value: B}]
      - name: C
        depends: "A"
        template: echo
        arguments:
          parameters: [{name: message, value: C}]
      - name: D
        depends: "B && C"
        template: eacho
        arguments:
          parameters: [{name: message, value: D}]

  - name: echo
    inputs:
      parameters:
      - name: message
    container:
      image: alpine:3.7
      command: [echo, "{{inputs.parameters.message}}"]
  - name: eacho
    inputs:
      parameters:
      - name: message
    container:
      image: alpine:3.7
      command: [eacho, "{{inputs.parameters.message}}"]

A link to the slack discussion: https://cloud-native.slack.com/archives/C01QW9QSSSK/p1714641906410049

Ignore that last comment, it doesn't go wrong for me in a really basic workflows installation at all. 3.5.6 will retry happily there. I'll try and determine what the difference is with our production 3.5.6 and why it only fails there.

This was broken by #12817.

I feel like this has got to be related to the root cause I mentioned in https://github.com/argoproj/argo-workflows/pull/12817#pullrequestreview-1995821336. The manual retry logic needs a refactor in general.
We should also add all these failing test cases

I do think the retry node needs to be skipped when checking if the descendants have success nodes since it is virtual.

The following reproduces the error - note the retryStrategy at the top level template.

To clarify, this will happen even no retry was needed, correct? or does it only occur if a retry is triggered?

The following reproduces the error - note the retryStrategy at the top level template.

To clarify, this will happen even when no retry was needed, correct? or does it only occur if a retry is triggered?
As in, the existence of a retryStrategy (with any configuration) on a template invocator (i.e. DAG or steps) causes it, not whether it were actually retried or not based on its retryPolicy or expression.

This requires both a retryStrategy and a manual retry attempt, but the retryStrategy does not need to have been used, we just need the retry virtual node to be present. I don't believe the actual retryStrategy matters at all.


Difficulty finding payment routes - LND 0.14.2, MyNode 0.2.52, Zap/RTL

Background
I have MyNode for my raspberrypi box, all up to date. I currently have 13 active channels, all about 1 million sats or more in capacity. A mix of inbound and outbound channels, some with large merchants. I currently pull in between 3 and 10 transactions routed for my peers per month. Never had issues with liquidity or finding routes until December 2021. Since then, almost every transaction I try fails with errors related to no route being found. No action on my part can be linked to this sudden change in my node's behaviour. I have tried opening numerous new channels to well connected nodes (capacity of 1 millions sats or more per channel) and this has not helped. I do not believe this is an actual liquidity issue. I was hoping updating from LND 14.1 to 14.2 would fix this, but behaviour is the same.
Many thanks in advance, I've been trying to fix this for a few months now with no luck, even with help from the community.
Your environment

LND 0.14.2 beta
MyNodeBTC v 0.2.52
Bitcoin 22
I use Zap (latest version) through Tor to connect my mobile to my home LND instance. I use RTL via MyNode to interface with my lightning node.

Steps to reproduce
I can provide logs if requested.
Expected behaviour
Using Zap on Android, connected through Tor to my lightning node, I should be able to pay invoices.
Actual behaviour
Using Zap, I scan a QR code to pay an invoice, Zap tells me the estimated fees for the transaction are 1% of the amount (doesn't matter how much. Invoice for 50,000 sats will estimate a fee of 500 sats, 30,000 a fee of 30 sats, etc.) - when payment is submitted, an error is returned saying no payment path can be found. This happens for almost every kind of invoice (merchants, my Muun wallet, other nodes, etc.). The same happens in RTL; it returns a "No_route" error for these transactions.
I can receive payments if I issue an invoice. I can pay nodes I share a channel with. I have had one or two successful invoice payments for minimal fees, but the vast majority (98% of transactions) fail in the manner described.

Perhaps the issue is with Zap here? In 0.14.2 we fixed an issue that would allow very high fees for payment routes if a user was using the legacy payment APIs (they don't support mpp, amp, payment splitting, etc). If Zap is using the older RPCs, they it woulnd't be able to split payments with mpp/amp, and may not be setting an adequate fee limit?

It's a good theory, but I don't think that's quite right - I'm getting the same errors when I try the transactions straight in RTL as well.

Could you share the logs and your config please? Either DM on Slack or email would work.

Sure thing, email works best for me.

Okay, you can find my email address in my GitHub profile. Thanks!

Okay, you can find my email address in my GitHub profile. Thanks!

Hiya, just checking in, any luck with having a look at the logs I sent over email? Thank you!

I didn't get your email. Checked the spam folder for a few days too. Can you send them over through Slack or Keybase please?

Found the email in the spam folder, sorry for the delay. My first suspicion is that the channels are actually not active: true due to a Tor connection issue (according to the logs). If that isn't the case, we'll need to dig deeper.

Closing due to inactivity.


Use of this software

Hi,  Schlömer
I don't know how the software work, so could you tell me how to use this software

It'll probably a larger endeavour to get it to work again. -- Haven't touched it in many years, and its main dependency (FEniCS) has seen a number of incompatible updates since then.


Enable local cache of cookbook contents.

Prior to downloading, check to see if the target file exists in the given location and has a matching checksum - if so, don't download it.

@tball yep, that's planned; @afiune and I were in discussions around how to best do that.


No events for new folders

I'm pretty stumped on this one, hopefully I'm missing something obvious here. I'm running on Centos 7, pyinotify version 0.9.6.
If I am watching a folder using the ThreadedNotifier & WatchManager, just like shown in the examples, and I transfer a folder of files into my watch folder, the following events happen:
IN_CREATE event for the directory that was added (event.dir=True)
IN_CREATE event for each file in that directory
IN_CLOSE_WRITE event for each file in that directory
However, there is never a IN_CLOSE_WRITE for the folder itself, so how can my script ever know when the entire contents of the folder have been written to that location? It doesn't give me any sort of file count or manifest of what files to expect in that folder, and without getting a unique IN_CLOSE_WRITE for the directory itself I can't ever tell that the folder itself is done being transferred.
Any ideas?
My basic setup for watching my input folder(s) is this:
watch_mask = pyinotify.ALL_EVENTS
watch_manager = pyinotify.WatchManager()
notifier = pyinotify.ThreadedNotifier(watch_manager, BaseFileEventHandler())
notifier.start()
for folder in configs.folders.watch:
    watch_manager.add_watch(folder["path"], watch_mask, rec=True, auto_add=True)

My only thought so far, as a workaround, is to expect a "manifest.txt" file in any folder that gets dropped into my watch folder that contains a list of expected files in that folder. My script can then listen for the corresponding IN_CREATE and IN_CLOSE_WRITE events for each file and only consider the folder fully transferred once all files from the manifest have each been fully written.
This is not the ideal solution obviously, but should work as a workaround. I was hoping we would just get an IN_CLOSE_WRITE event for the folder...

I implemented my workaround for the time being and it appears to be working. I attached the code to this post if anyone is interested.
The setup for watching input folders is:
watch_mask = pyinotify.ALL_EVENTS
watch_manager = pyinotify.WatchManager()
base_file_handler = BaseFileAndFolderEventHandler()
base_file_handler.store_watch_manager(watch_manager)
notifier = pyinotify.ThreadedNotifier(watch_manager, base_file_handler)
notifier.start()
for folder in configs.folders.watch:
    watch_manager.add_watch(folder["path"], watch_mask, rec=True, auto_add=True)
BaseFileAndFolderEventHandler.py.zip


deprecate ros2param dump --print and --output-dir options.

align with https://github.com/ros2/ros2cli/pull/638
Signed-off-by: Tomoya Fujita<EMAIL_ADDRESS>

@clalancette address https://github.com/ros2/ros2cli/pull/638#pullrequestreview-675216809


improvement: OSIS-45-add-dependency-checker

This PR is in response to CVES-113 for CVE-2020-1938
Commit # 1

This commit adds the dependency checker plugin, later it will be enabled in the CI
Dependency-Check is a Software Composition Analysis (SCA) tool that attempts to detect publicly disclosed vulnerabilities contained within a project’s dependencies. It does this by determining if there is a Common Platform Enumeration (CPE) identifier for a given dependency. If found, it will generate a report linking to the associated CVE entries.
OWASP dependency-check gradle plugin is a software composition analysis tool used to find known vulnerable dependencies.
More details: https://owasp.org/www-project-dependency-check/

Commit # 2

Updates spring boot version from v2.2.4 to v2.2.5
The new version of embeds tomcat v9.0.31 which fixes https://github.com/advisories/GHSA-c9hw-wf7x-jp9j
Change log: https://mvnrepository.com/artifact/org.springframework.boot/spring-boot/2.2.5.RELEASE
CVES ticket: https://scality.atlassian.net/browse/CVES-113

Note for reviewers:
I will wait for the product team's confirmation on when to merge but should be reviewable.

Hello anurag4dsb,
My role is to assist you with the merge of this
pull request. Please type @bert-e help to get information
on this process, or consult the user documentation.
Status report is not available.

Waiting for approval
The following approvals are needed before I can proceed with the merge:

the author

2 peers

Codecov Report

Merging #78 (4bc03b3) into development/1.0 (81cdeff) will not change coverage.
The diff coverage is n/a.

@@                Coverage Diff                 @@
##             development/1.0      #78   +/-   ##
==================================================
  Coverage              84.84%   84.84%
  Complexity               267      267
==================================================
  Files                     19       19
  Lines                   1287     1287
  Branches                 107      107
==================================================
  Hits                    1092     1092
  Misses                   135      135
  Partials                  60       60

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 81cdeff...4bc03b3. Read the comment docs.

/approve

In the queue
The changeset has received all authorizations and has been added to the
relevant queue(s). The queue(s) will be merged in the target development
branch(es) as soon as builds have passed.
The changeset will be merged in:

:heavy_check_mark: development/1.0

There is no action required on your side. You will be notified here once
the changeset has been merged. In the unlikely event that the changeset
fails permanently on the queue, a member of the admin team will
contact you to help resolve the matter.
IMPORTANT
Please do not attempt to modify this pull request.

Any commit you add on the source branch will trigger a new cycle after the
current queue is merged.
Any commit you add on one of the integration branches will be lost.

If you need this pull request to be removed from the queue, please contact a
member of the admin team now.
The following options are set: approve

I have successfully merged the changeset of this pull request
into targetted development branches:

:heavy_check_mark: development/1.0

Please check the status of the associated issue OSIS-45.
Goodbye anurag4dsb.


[Bug] The --empty flag produces broken SQL when code has {{ref...}}or {{source..}} with an alias

Is this a new bug in dbt-core?

[X] I believe this is a new bug in dbt-core
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
If you have a dbt model that uses the {{ref...}}or {{source..}} macro together with an alias, for example:
select * from {{ ref("dim_car") }} as cars

and you try to run it with the --empty flag then the compiled SQL will have double aliasing, resulting in broken SQL
Expected Behavior
The alias should not be changed as to not alter the script
Steps To Reproduce
Create a dbt model with a {{ref...}} macro and try to compile its code with the --empty flag.
Relevant log output
No response
Environment
- OS: macOS
- Python: 3.11
- dbt: 1.8

Which database adapter are you using with dbt?
spark
Additional Context
There are 2 workarounds.

Write all your dbt models with CTEs so that there are no aliases right after the macros, something like

with cars as (
    select * from {{ ref("dim_car") }}
)
…

Update the BaseRelation class to have require_alias be False by default. It's in the .venv/lib/python3.11/site-packages/dbt/adapters/base/relation.py file, line 51

Thanks for reporting this @siljamardla !
To align with the corresponding solutions for dbt-bigquery, dbt-snowflake, dbt-redshift, etc, I think the solution would be to add require_alias: bool = False here rather than changing the default value here.
Here are some reference implementations:

https://github.com/dbt-labs/dbt-bigquery/commit/49d6c1e1486e4cef470f18d51dcf607b84fe7dde
https://github.com/dbt-labs/dbt-snowflake/commit/0153bd027bb758cd3ce55774515642d4e85afbb3
https://github.com/dbt-labs/dbt-bigquery/commit/49d6c1e1486e4cef470f18d51dcf607b84fe7dde


SigProfilerTopography silently exits/fails after running simulations

Hi folks, I'm trying to get SigProfilerTopography running and I'm finding that the program seems to silently stop after running the simulations.
Following the README, I wrote and ran this script:
from SigProfilerTopography import Topography as topography

genome = "GRCh37"
inputDir = "/gpfs/data/petljaklab/lculibrk_prj/misc/lung_clustered/data/filtered/"
outputDir = "topography"
jobname = "LUAD"
numofSimulations = 5
sbs_probability_file = "/gpfs/data/petljaklab/lculibrk_prj/misc/lung_clustered/assigner/Decompose_Solution/Activities/Decomposed_MutationType_Probabilities.txt"

if __name__ == "__main__":
		topography.runAnalyses(genome,
                   inputDir,
                   outputDir,
                   jobname,
                   numofSimulations,
                   sbs_probabilities = sbs_probability_file,
                   epigenomics=True,
                   nucleosome=True,
                   replication_time=True,
                   strand_bias=True,
                   processivity=True)

However, the output directory topography/ contains only the logfiles and no outputs. The .err file is empty, and the .out file doesn't seem to indicate why it stopped after simulations:
THIS FILE CONTAINS THE METADATA ABOUT SYSTEM AND RUNTIME

-------System Info-------
Operating System Name: Linux-4.18.0-477.27.1.el8_8.x86_64-x86_64-with-glibc2.10
Operating System: Linux
Nodename: cn-0057
Release: 4.18.0-477.27.1.el8_8.x86_64
Version: #1 SMP Thu Aug 31 10:29:22 EDT 2023

-------Python and Package Versions-------
Python Version: 3.8.19

-------Date and Time Data-------
Date and Clock time when the execution started: 2024-12-10 09:44:25.160030

#################################################################################
--- SigProfilerTopography starts
#################################################################################
#################################################################################
--- SigProfilerTopography Version: 1.0.98
--- SigProfilerMatrixGenerator Version: 1.2.26
--- SigProfilerSimulator version: 1.1.6
--- pandas version: 1.5.3
--- numpy version: 1.24.4
--- statsmodels version: 0.14.1
--- scipy version: 1.10.1
--- matplotlib version: 3.4.3
#################################################################################

#################################################################################
--- SigProfilerTopography parameters
--- Genome: GRCh37
--- inputDir:/gpfs/data/petljaklab/lculibrk_prj/misc/lung_clustered/data/filtered/
--- outputDir:topography
--- jobname:LUAD
--- sbs_probabilities:/gpfs/data/petljaklab/lculibrk_prj/misc/lung_clustered/assigner/Decompose_Solution/Activities/Decomposed_MutationType_Probabilities.txt
--- numofSimulations:5

--- epigenomics_files:['/gpfs/data/petljaklab/resources/sigprofiler_env/lib/python3.8/site-packages/SigProfilerTopography/lib/epigenomics/ENCFF035ICJ_breast_epithelium_Normal_ATAC-seq.wig', '/gpfs/data/petljaklab/resources/sigprofiler_env/lib/python3.8/site-packages/SigProfilerTopography/lib/epigenomics/ENCFF291WFP_breast_epithelium_H3K27me3.bed', '/gpfs/data/petljaklab/resources/sigprofiler_env/lib/python3.8/site-packages/SigProfilerTopography/lib/epigenomics/ENCFF906MJM_breast_epithelium_H3K36me3.bed', '/gpfs/data/petljaklab/resources/sigprofiler_env/lib/python3.8/site-packages/SigProfilerTopography/lib/epigenomics/ENCFF065FJK_breast_epithelium_H3K9me3.bed', '/gpfs/data/petljaklab/resources/sigprofiler_env/lib/python3.8/site-packages/SigProfilerTopography/lib/epigenomics/ENCFF154XFN_breast_epithelium_H3K27ac.bed', '/gpfs/data/petljaklab/resources/sigprofiler_env/lib/python3.8/site-packages/SigProfilerTopography/lib/epigenomics/ENCFF336DDM_breast_epithelium_H3K4me1.bed', '/gpfs/data/petljaklab/resources/sigprofiler_env/lib/python3.8/site-packages/SigProfilerTopography/lib/epigenomics/ENCFF065TIH_breast_epithelium_H3K4me3.bed', '/gpfs/data/petljaklab/resources/sigprofiler_env/lib/python3.8/site-packages/SigProfilerTopography/lib/epigenomics/ENCFF782GCQ_breast_epithelium_Normal_CTCF-human.bed']
--- epigenomics_files_memos:['ENCFF035ICJ_breast_epithelium_Normal_ATAC-seq', 'ENCFF291WFP_breast_epithelium_H3K27me3', 'ENCFF906MJM_breast_epithelium_H3K36me3', 'ENCFF065FJK_breast_epithelium_H3K9me3', 'ENCFF154XFN_breast_epithelium_H3K27ac', 'ENCFF336DDM_breast_epithelium_H3K4me1', 'ENCFF065TIH_breast_epithelium_H3K4me3', 'ENCFF782GCQ_breast_epithelium_Normal_CTCF-human']
--- epigenomics_biosamples:['breast_epithelium']
--- epigenomics_dna_elements:['H3K27me3', 'H3K36me3', 'H3K9me3', 'H3K27ac', 'H3K4me1', 'H3K4me3', 'CTCF', 'ATAC']
--- number of epigenomics_files:8

--- nucleosome_biosample:K562
--- nucleosome_file:wgEncodeSydhNsomeK562Sig.bigWig

--- replication_time_biosample:MCF7
--- replication_time_signal_file:/gpfs/data/petljaklab/resources/sigprofiler_env/lib/python3.8/site-packages/SigProfilerTopography/source/commons/../../lib/replication/GSM923442_hg19_wgEncodeUwRepliSeqMcf7WaveSignalRep1.wig
--- replication_time_valley_file:/gpfs/data/petljaklab/resources/sigprofiler_env/lib/python3.8/site-packages/SigProfilerTopography/source/commons/../../lib/replication/GSM923442_hg19_wgEncodeUwRepliSeqMcf7ValleysRep1.bed
--- replication_time_peak_file:/gpfs/data/petljaklab/resources/sigprofiler_env/lib/python3.8/site-packages/SigProfilerTopography/source/commons/../../lib/replication/GSM923442_hg19_wgEncodeUwRepliSeqMcf7PkRep1.bed
--- computation_type:USING_APPLY_ASYNC_FOR_EACH_CHROM_AND_SIM
--- SigProfilerTopography run mode discreet:True

--- Sample Based Analysis.
--- Epigenomics Analysis.
--- Nucleosome Analysis.
--- Replication Timing Analysis.
--- Replication Strand Asymmetry Analysis.
--- Transcription Strand Asymmetry Analysis.
--- Strand-coordinated Mutagenesis Analysis.
--- step1_matgen_real_data:True
--- step2_gen_sim_data:True
--- step3_matgen_sim_data:True
--- step4_merge_prob_data:True
--- step5_gen_tables:True
--- plot_figures:True
--- discreet_mode: True
--- average mutation probability required: 0.90
--- parallel_mode: True
--- minimum number of sbs mutations required: 2000
--- minimum number of id mutations required: 1000
--- minimum number of dbs mutations required: 200
--- number of bases considered before and after mutation start for epigenomics analysis: 1000
--- number of bases considered before and after mutation start for nucleosome occupancy analysis: 1000
#################################################################################

#################################################################################
--- numofProcesses for multiprocessing: 128
#################################################################################

#################################################################################
--- For Genome: GRCh37
--- Chromosome names: ['chr1', 'chr2', 'chr3', 'chr4', 'chr5', 'chr6', 'chr7', 'chrX', 'chr8', 'chr9', 'chr10', 'chr11', 'chr12', 'chr13', 'chr14', 'chr15', 'chr16', 'chr17', 'chr18', 'chr20', 'chrY', 'chr19', 'chr22', 'chr21', 'chrM']
--- Chromosome short names: ['1', '2', '3', '4', '5', '6', '7', 'X', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '20', 'Y', '19', '22', '21', 'M']
--- current_abs_path: /gpfs/data/petljaklab/resources/sigprofiler_env/lib/python3.8/site-packages/SigProfilerTopography
#################################################################################

#################################################################################
--- SigProfilerMatrixGenerator for original data
For original data inputDir:/gpfs/data/petljaklab/lculibrk_prj/misc/lung_clustered/data/filtered/

--- mutation_types:['SBS', 'DBS']

--- sigprofiler_simulator_mutation_types_contexts:['96', 'DBS']
--- sigprofiler_simulator_sbs_mutation_context:96
--- sigprofiler_simulator_dbs_mutation_context:DBS
--- sigprofiler_simulator_id_mutation_context:None
--- SigProfilerMatrixGenerator for original data: 49.52253818511963 seconds ---
--- SigProfilerMatrixGenerator for original data: 0.825376 minutess ---
#################################################################################

#################################################################################
--- SigProfilerSimulator for 5 simulations starts
--- SigProfilerSimulator is running for 96
--- SigProfilerSimulator is running for DBS
--- SigProfilerSimulator for 5 simulations: 52.867061138153076 seconds
--- SigProfilerSimulator for 5 simulations: 0.881118 minutes
--- SigProfilerSimulator for 5 simulations ends
#################################################################################

#################################################################################
--- Create directories for 5 simulations under /gpfs/data/petljaklab/lculibrk_prj/misc/lung_clustered/data/filtered//output/simulations/
--- Create directories and copy files: 0.7714667320251465 seconds ---
--- Create directories and copy files: 0.012858 minutes ---
#################################################################################

#################################################################################
--- Run SigProfilerMatrixGenerator for each simulation starts
--- SigProfilerMatrixGenerator is run for sim1 starts
--- For 96: sim1 simInputDir:/gpfs/data/petljaklab/lculibrk_prj/misc/lung_clustered/data/filtered/output/simulations/sim1/96
--- For DBS: sim1 simInputDir:/gpfs/data/petljaklab/lculibrk_prj/misc/lung_clustered/data/filtered/output/simulations/sim1/DBS
--- SigProfilerMatrixGenerator is run for sim1 ends

--- SigProfilerMatrixGenerator for sim1: 49.68538570404053 seconds ---
--- SigProfilerMatrixGenerator for sim1: 0.828090 minutess ---
--- SigProfilerMatrixGenerator is run for sim2 starts
--- For 96: sim2 simInputDir:/gpfs/data/petljaklab/lculibrk_prj/misc/lung_clustered/data/filtered/output/simulations/sim2/96
--- For DBS: sim2 simInputDir:/gpfs/data/petljaklab/lculibrk_prj/misc/lung_clustered/data/filtered/output/simulations/sim2/DBS
--- SigProfilerMatrixGenerator is run for sim2 ends

--- SigProfilerMatrixGenerator for sim2: 49.24738693237305 seconds ---
--- SigProfilerMatrixGenerator for sim2: 0.820790 minutess ---
--- SigProfilerMatrixGenerator is run for sim3 starts
--- For 96: sim3 simInputDir:/gpfs/data/petljaklab/lculibrk_prj/misc/lung_clustered/data/filtered/output/simulations/sim3/96
--- For DBS: sim3 simInputDir:/gpfs/data/petljaklab/lculibrk_prj/misc/lung_clustered/data/filtered/output/simulations/sim3/DBS
--- SigProfilerMatrixGenerator is run for sim3 ends

--- SigProfilerMatrixGenerator for sim3: 49.07495188713074 seconds ---
--- SigProfilerMatrixGenerator for sim3: 0.817916 minutess ---
--- SigProfilerMatrixGenerator is run for sim4 starts
--- For 96: sim4 simInputDir:/gpfs/data/petljaklab/lculibrk_prj/misc/lung_clustered/data/filtered/output/simulations/sim4/96
--- For DBS: sim4 simInputDir:/gpfs/data/petljaklab/lculibrk_prj/misc/lung_clustered/data/filtered/output/simulations/sim4/DBS
--- SigProfilerMatrixGenerator is run for sim4 ends

--- SigProfilerMatrixGenerator for sim4: 49.23540544509888 seconds ---
--- SigProfilerMatrixGenerator for sim4: 0.820590 minutess ---
--- SigProfilerMatrixGenerator is run for sim5 starts
--- For 96: sim5 simInputDir:/gpfs/data/petljaklab/lculibrk_prj/misc/lung_clustered/data/filtered/output/simulations/sim5/96
--- For DBS: sim5 simInputDir:/gpfs/data/petljaklab/lculibrk_prj/misc/lung_clustered/data/filtered/output/simulations/sim5/DBS
--- SigProfilerMatrixGenerator is run for sim5 ends

--- SigProfilerMatrixGenerator for sim5: 49.306721687316895 seconds ---
--- SigProfilerMatrixGenerator for sim5: 0.821779 minutess ---
--- Run MatrixGenerator for each simulation: 49.306729316711426 seconds
--- Run MatrixGenerator for each simulation: 0.821779 minutes
--- Run SigProfilerMatrixGenerator for each simulation ends
#################################################################################

Could you please help with troubleshooting this?
Thanks!

Dear @lculibrk ,
Could you please tell me the content of log files under "topography/LUAD/logs" ending with .out and .err?
Best wishes,
Burcak

Hi @burcakotlu ,
The .err file is empty, and the .out file is in my original post above in its entirety
Thanks!

Dear @lculibrk ,
When you run your Python code, for instance, as follows:
python spt_run.py > spt_run.o 2> spt_run.e
What do you get in the .o and .e files?
What is the number of mutations in your input?
Thanks,
Burcak

The number of total mutations is 1184867, and I'm running the script with captured error/stdout now - will update

Hi @burcakotlu ,
The logs are identical to what I sent previously. The script did error with status 1, so not entirely silent.
Here's the .out file:

=============================================
            SigProfilerTopography
=============================================

--- SigProfilerMatrixGenerator for real mutations

Starting matrix generation for SNVs and DINUCs...Completed! Elapsed time: 35.84 seconds.
Matrices generated for 197 samples with 0 errors. Total of 1184867 SNVs, 4 DINUCs, and 0 INDELs were successfully analyzed.

--- SigProfilerAssignment for DINUCs using cosmic fit
Removing samples with zero TMB ......
Assigning COSMIC sigs or Signature Database ......
|████████████████████████████████████████| 4/4 [100%] in 0.1s (38.92/s)

Your Job Is Successfully Completed! Thank You For Using SigProfilerAssignment.

--- SigProfilerSimulator for 5 simulations

======================================
        SigProfilerSimulator
======================================

Checking for all reference files and relevant matrices...

Files successfully read and mutations collected. Mutation assignment starting now.
/gpfs/data/petljaklab/lculibrk_prj/misc/lung_clustered/data/filtered/output/vcf_files/simulations/96/
         Chromosome 22 done
         Chromosome 21 done
         Chromosome 20 done
         Chromosome 17 done
         Chromosome 19 done
         Chromosome 15 done
         Chromosome 18 done
         Chromosome 16 done
         Chromosome 9 done
         Chromosome 14 done
         Chromosome 13 done
         Chromosome 12 done
         Chromosome X done
         Chromosome 10 done
         Chromosome 6 done
         Chromosome 7 done
         Chromosome 4 done
         Chromosome 3 done
         Chromosome 11 done
         Chromosome 8 done
         Chromosome 2 done
         Chromosome 5 done
         Chromosome 1 done
Simulation completed
Job took  90.27600646018982  seconds

======================================
        SigProfilerSimulator
======================================

Checking for all reference files and relevant matrices...

Files successfully read and mutations collected. Mutation assignment starting now.
/gpfs/data/petljaklab/lculibrk_prj/misc/lung_clustered/data/filtered/output/vcf_files/simulations/DBS/
         Chromosome X done
         Chromosome 3 done
         Chromosome 1 done
         Chromosome 8 done
         Chromosome 2 done
         Chromosome 7 done
         Chromosome 4 done
         Chromosome 11 done
         Chromosome 5 done
         Chromosome 22 done
         Chromosome 10 done
         Chromosome 6 done
         Chromosome 15 done
         Chromosome 12 done
         Chromosome 19 done
         Chromosome 14 done
         Chromosome 18 done
         Chromosome 9 done
         Chromosome 17 done
         Chromosome 20 done
         Chromosome 16 done
         Chromosome 13 done
         Chromosome 21 done
Simulation completed
Job took  14.680029153823853  seconds

--- SigProfilerMatrixGenerator for each simulation

Starting matrix generation for SNVs and DINUCs...Completed! Elapsed time: 35.99 seconds.
Matrices generated for 197 samples with 0 errors. Total of 1184867 SNVs, 1 DINUCs, and 0 INDELs were successfully analyzed.
Starting matrix generation for SNVs and DINUCs...Completed! Elapsed time: 0.68 seconds.
Matrices generated for 4 samples with 0 errors. Total of 8 SNVs, 4 DINUCs, and 0 INDELs were successfully analyzed.
Starting matrix generation for SNVs and DINUCs...Completed! Elapsed time: 36.04 seconds.
Matrices generated for 197 samples with 0 errors. Total of 1184867 SNVs, 1 DINUCs, and 0 INDELs were successfully analyzed.
Starting matrix generation for SNVs and DINUCs...Completed! Elapsed time: 0.66 seconds.
Matrices generated for 4 samples with 0 errors. Total of 8 SNVs, 4 DINUCs, and 0 INDELs were successfully analyzed.
Starting matrix generation for SNVs and DINUCs...Completed! Elapsed time: 36.06 seconds.
Matrices generated for 197 samples with 0 errors. Total of 1184867 SNVs, 1 DINUCs, and 0 INDELs were successfully analyzed.
Starting matrix generation for SNVs and DINUCs...Completed! Elapsed time: 0.67 seconds.
Matrices generated for 4 samples with 0 errors. Total of 8 SNVs, 4 DINUCs, and 0 INDELs were successfully analyzed.
Starting matrix generation for SNVs and DINUCs...Completed! Elapsed time: 36.06 seconds.
Matrices generated for 197 samples with 0 errors. Total of 1184867 SNVs, 0 DINUCs, and 0 INDELs were successfully analyzed.
Starting matrix generation for SNVs and DINUCs...Completed! Elapsed time: 0.66 seconds.
Matrices generated for 4 samples with 0 errors. Total of 8 SNVs, 4 DINUCs, and 0 INDELs were successfully analyzed.
Starting matrix generation for SNVs and DINUCs...Completed! Elapsed time: 36.28 seconds.
Matrices generated for 197 samples with 1 errors. Total of 1184866 SNVs, 2 DINUCs, and 0 INDELs were successfully analyzed.
Starting matrix generation for SNVs and DINUCs...Completed! Elapsed time: 0.66 seconds.
Matrices generated for 4 samples with 0 errors. Total of 8 SNVs, 4 DINUCs, and 0 INDELs were successfully analyzed.

Dear @lculibrk,
After running matrix generator for each simulation, the next step is to merge mutations with probabilities.
What is the content of sbs_probability_file?
Could you please send it to my email address at<EMAIL_ADDRESS>so that I can have a look?
Best wishes,
Burcak

Dear @lculibrk,
Thank you for reporting this issue.
The issue was that the log file was not found in the given path. This happened when the provided outputDir was not an absolute path.
To resolve this, I've updated SigProfilerTopography to version 1.0.100. This version now saves absolute paths for outputDir and inputDir, ensuring correct file operations even when relative paths are provided.
Please upgrade to the latest version and retry your analysis. If you encounter any further issues, please let me know.
Best wishes,
Burcak


There is an issue with Cart Rule Marketing Time regarding the saving of Date and Time.

Terms

[X] Before you openning this issue, i have checked if the issue has already been reported.

Bagisto Version(s) affected
Master
Issue Description
When creating a new rule in Cart Rule without filling in the Marketing Time details and saving the information, an issue arises with the start time and end time format on the Cart Rule Page. Additionally, when editing the cart rule and attempting to save again, the Marketing Time validation appears. Consequently, we are unable to save the Cart Rule.
Preconditions

Admin must logged in.

Steps to reproduce

Go to Admin -> Marketing -> Promotions -> Cart Rule.
Create a new cart rule and fill all the details except the Marketing Time.
Save the details.
Check Cart Rule Page -> Start and End Row -> Date & Time Format Issue.
Now edit the same Rule and save it -> We are uable to save the rule -> Market time validation issue and format issue.

Expected Result

If we have created a cart rule without marketing time, then start and end must be empty.
On Editing it must appear blank and we should be able to save them.

Actual Result
Please check the video for reference.
Video
https://github.com/bagisto/bagisto/assets/92721837/5ccbe654-a7e3-4fde-84fb-dfc60c98aeab
Screenshots
No response
Additional context
No response

Checked and Found that the issue has been fixed and working fine. Please check the video for reference.
Video
https://github.com/bagisto/bagisto/assets/92721837/2ec5e1f3-4533-410c-957b-e0de0d9accb5


xtensa-esp32-elf esp-2021r2-8.4.0 not working with micro-ROS

Issue template

Hardware description: ESP32
RTOS: FreeRTOS
Installation type: micro-ROS ESP-IDF component, git cloned ESP-IDF
Version or commit hash: foxy, ESP-IDF v4.4

Steps to reproduce the issue
Use git clone on ESP-IDF v4.4, download submodules, run install.sh, get dependencies for this component.
On the example int32_publisher_custom_transport, put in this component in the components folder (example not within component).
Build and flash component as usual.
Expected behavior
Successfully build.
Actual behavior
Following errors:
[100%] Linking CXX executable int32_publisher.elf
/home/skola/.espressif/tools/xtensa-esp32-elf/esp-2021r2-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: ../components/micro_ros_espidf_component-foxy/libmicroros.a(librmw-validate_node_name.c.obj): in function `rmw_validate_node_name':
validate_node_name.c:(.text.rmw_validate_node_name+0x6a): undefined reference to `__locale_ctype_ptr'
/home/skola/.espressif/tools/xtensa-esp32-elf/esp-2021r2-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: ../components/micro_ros_espidf_component-foxy/libmicroros.a(librmw-validate_full_topic_name.c.obj):(.literal.rmw_validate_full_topic_name+0x0): undefined reference to `__locale_ctype_ptr'
/home/skola/.espressif/tools/xtensa-esp32-elf/esp-2021r2-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: ../components/micro_ros_espidf_component-foxy/libmicroros.a(librmw-validate_full_topic_name.c.obj): in function `rmw_validate_full_topic_name':
validate_full_topic_name.c:(.text.rmw_validate_full_topic_name+0xd3): undefined reference to `__locale_ctype_ptr'
/home/skola/.espressif/tools/xtensa-esp32-elf/esp-2021r2-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: ../components/micro_ros_espidf_component-foxy/libmicroros.a(librcl-validate_topic_name.c.obj): in function `rcl_validate_topic_name':
validate_topic_name.c:(.text.rcl_validate_topic_name+0x26): undefined reference to `__locale_ctype_ptr'
/home/skola/.espressif/tools/xtensa-esp32-elf/esp-2021r2-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: validate_topic_name.c:(.text.rcl_validate_topic_name+0x98): undefined reference to `__locale_ctype_ptr'
/home/skola/.espressif/tools/xtensa-esp32-elf/esp-2021r2-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: ../components/micro_ros_espidf_component-foxy/libmicroros.a(librcl-validate_topic_name.c.obj):validate_topic_name.c:(.text.rcl_validate_topic_name+0x193): more undefined references to `__locale_ctype_ptr' follow
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/int32_publisher.elf.dir/build.make:492: int32_publisher.elf] Error 1
make[1]: *** [CMakeFiles/Makefile2:2487: CMakeFiles/int32_publisher.elf.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
make failed with exit code 2

Additional information
Hi, I know v4.4 is not tested yet, but my group member gave me a ESP-IDF project containing the function i2c_master_write_read_device, for me to integrate into micro-ROS. That function is first introduced in ESP-IDF v4.4, which is why I'm experimenting with it.
I'm able to build the code with micro-ROS ESP-IDF component if the project is just as is, and even if I include something like <rclc/rclc.h> it still compiles, but when I try to mix the project with the int32_publisher_custom_transport example, it fails at the last step, complaining about the new xtensa-esp32-elf esp-2021r2-8.4.0 version (v4.1 is esp-2020r2-8.2.0).
Does anyone know if this can be solved? Or should I try to solve the original problem in another way?

My group member rewrote the function for v4.1, but I'm still curious.

Later I will provide support for v4.4 and see if we can replicate this

Check here: https://github.com/micro-ROS/micro_ros_espidf_component/pull/110

v4.4 integrated in CI and working. Closing this. Please reopen if you have more questions.


CEO-242 Rename Admin Mode to Review Mode

Purpose

EOM
Related Issues
Closes CEO-242
Submission Checklist

[x] Commits include the JIRA issue and the #review hashtag (e.g. CEO-### #review <comment>)
[x] Code passes linter rules (npm run eslint/clj-kondo --lint src)

Screenshots

src/js/collection.js
205, We need to overwrite any defaults the first time the user goes to the project in published mode. Your original logic is probably closer. this.setAdminMode(project.isProjectAdmin && (inAdminMode || (inAdminMode !== false && availability === "published)")).  Feel free to play around with other logic.
540, we are sort of inverting the process, so I think this should default do analyzed.  Review mode will primarily be used at the end when the admin is reviewing plots.


[C++] Windows build support

Is your feature request related to a problem? Please describe.
Fury support macos and linux build, but windows is not supported.
Fury use bazel for building c++ code, windows building need some extra work.

Can I try to do some work on this? @chaokunyang

Can I try to do some work on this? @chaokunyang

Of course. Welcome to try this issue. Thanks for the willingness to contribute to Fury.

I haven't try bazel on Windows.  If you want to try this issue, you may need to install bazel on Windows first, and fix some compilation issues.


Specify type for dummy exit signal future

This PR specifies the type for the dummy exit signal future on non-Unix platforms, since rustc seems unable to figure it out

@clux How much work would it be to cut a 0.58.1 for this, considering that it breaks Windows builds?

yeah, not a problem, i'll do one tonight, am out atm

released in 0.58.1