flutter_sound: [BUG]: Could not resolve xyz.canardoux:tau_sound_core:6.4.8+2.

Flutter Sound Version : 6.4.4+1

  • FULL or LITE flavor ? FULL
  • Important: Result of the command : flutter pub deps | grep flutter_sound $ flutter pub deps Dart SDK 2.10.4 Flutter SDK 1.22.5 october 2.2.12+9.1.19 |-- async 2.5.0-nullsafety.1
    | '-- collection… |-- audioplayers 0.17.4 | |-- flutter… | |-- flutter_web_plugins 0.0.0 | | |-- characters…
    | | |-- collection… | | |-- flutter… | | |-- meta… | | |-- typed_data… | | '-- vector_math… | |-- path_provider… | '-- uuid 2.2.2 | |-- convert 2.1.1 | | |-- charcode… | | '-- typed_data… | '-- crypto 2.1.5 | |-- collection… | |-- convert… | '-- typed_data… |-- auto_size_text 2.1.0 | '-- flutter… |-- avatar_glow 1.2.0 | '-- flutter… |-- awesome_dialog 1.3.2 | |-- flare_flutter 2.0.6 | | |-- flare_dart 2.3.4 | | |-- flutter… | | '-- meta… | |-- flutter… | '-- simple_animations 2.5.1 | |-- flutter… | |-- pedantic… | |-- sa_v1_migration 1.1.2 | | '-- flutter… | '-- supercharged 1.12.0 | |-- flutter… | '-- supercharged_dart 1.4.0 |-- awesome_loader 0.0.3 | '-- flutter… |-- badges 1.2.0 | '-- flutter… |-- bubble 1.1.9+1 | '-- flutter… |-- cached_network_image 2.5.1 | |-- flutter… | |-- flutter_cache_manager 2.1.2 | | |-- clock… | | |-- file… | | |-- flutter… | | |-- http… | | |-- image… | | |-- path… | | |-- path_provider… | | |-- pedantic… | | |-- rxdart… | | |-- sqflite… | | '-- uuid… | '-- octo_image 0.3.0 | |-- flutter… | '-- flutter_blurhash 0.5.0 | |-- flutter… | '-- meta… |-- carousel_pro 1.0.0 | '-- flutter… |-- carousel_slider 1.4.1 | '-- flutter… |-- charts_flutter 0.9.0 | |-- charts_common 0.9.0 | | |-- collection… | | |-- intl… | | |-- logging… | | |-- meta… | | '-- vector_math… | |-- collection… | |-- flutter… | |-- intl… | |-- logging… | '-- meta… |-- circular_check_box 1.0.4 | '-- flutter… |-- circular_profile_avatar 1.0.8 | |-- cached_network_image… | '-- flutter… |-- collection 1.15.0-nullsafety.3 |-- convex_bottom_bar 2.7.1+2 | '-- flutter… |-- countdown_flutter 0.1.2 | '-- flutter… |-- cupertino_icons 0.1.3 |-- date_format 1.0.9 |-- date_range_picker 1.0.7 | '-- flutter… |-- datetime_picker_formfield 1.0.0 | |-- flutter… | '-- intl… |-- device_info 0.4.0+1 | '-- flutter… |-- dio 3.0.10 | |-- http_parser… | '-- path… |-- easy_listview 0.0.7 | '-- flutter… |-- equatable 1.2.6 | |-- collection… | '-- meta… |-- facebook_app_events 0.6.0 | '-- flutter… |-- facebook_deeplinks 0.1.0 | '-- flutter… |-- file 5.2.1 | |-- intl… | |-- meta… | '-- path… |-- firebase_analytics 5.0.16 | |-- firebase_analytics_platform_interface 1.0.3 | | |-- flutter… | | '-- meta… | |-- firebase_analytics_web 0.1.1 | | |-- firebase 7.3.3 | | | |-- http… | | | |-- http_parser… | | | '-- js… | | |-- firebase_analytics_platform_interface… | | |-- flutter… | | |-- flutter_web_plugins… | | '-- meta… | |-- flutter… | '-- meta… |-- firebase_crashlytics 0.1.4+1 | |-- flutter… | '-- stack_trace 1.10.0-nullsafety.1 | '-- path… |-- firebase_dynamic_links 0.5.3 | '-- flutter… |-- firebase_messaging 6.0.16 | |-- flutter… | |-- meta… | '-- platform 2.2.1 |-- firebase_storage 3.1.6 | |-- firebase_core 0.4.5 | | |-- firebase_core_platform_interface 1.0.4 | | | |-- flutter… | | | |-- meta… | | | |-- plugin_platform_interface… | | | '-- quiver… | | |-- firebase_core_web 0.1.1+2 | | | |-- firebase… | | | |-- firebase_core_platform_interface… | | | |-- flutter… | | | |-- flutter_web_plugins… | | | |-- js… | | | '-- meta… | | |-- flutter… | | '-- meta… | '-- flutter… |-- floating_ribbon 1.0.1 | '-- flutter… |-- fluster 1.1.2 |-- flutter 0.0.0 | |-- characters 1.1.0-nullsafety.3 | |-- collection… | |-- meta 1.3.0-nullsafety.3 | |-- sky_engine 0.0.99 | |-- typed_data 1.3.0-nullsafety.3 | | '-- collection… | '-- vector_math 2.1.0-nullsafety.3 |-- flutter_autofill 0.4.2 | '-- flutter… |-- flutter_automation 1.4.0 | |-- args 1.6.0 | |-- flutter… | |-- http… | |-- path… | '-- yaml 2.2.1 | |-- charcode… | |-- collection… | |-- source_span… | '-- string_scanner… |-- flutter_beep 0.0.3 | '-- flutter… |-- flutter_bloc 3.2.0 | |-- bloc 3.0.0 | | |-- meta… | | '-- rxdart… | |-- flutter… | '-- provider… |-- flutter_cupertino_localizations 1.0.1 | |-- flutter… | '-- flutter_localizations 0.0.0 | |-- characters… | |-- collection… | |-- flutter… | |-- intl… | |-- meta… | |-- path… | |-- typed_data… | '-- vector_math… |-- flutter_easyloading 2.2.2 | |-- flutter… | '-- flutter_spinkit 4.1.2+1 | '-- flutter… |-- flutter_google_places 0.2.4 | |-- flutter… | |-- google_maps_webservice… | |-- http… | '-- rxdart… |-- flutter_image 3.0.0 | '-- flutter… |-- flutter_launcher_icons 0.7.5 | |-- args… | |-- image 2.1.19 | | |-- archive 2.0.13 | | | |-- args… | | | |-- crypto… | | | '-- path… | | |-- meta… | | '-- xml 4.5.1 | | |-- collection… | | |-- convert… | | |-- meta… | | '-- petitparser 3.1.0 | | '-- meta… | '-- yaml… |-- flutter_local_notifications 1.5.0+1 | |-- flutter… | |-- flutter_local_notifications_platform_interface 1.0.1 | | |-- flutter… | | '-- plugin_platform_interface… | '-- platform… |-- flutter_pagewise 1.2.3 | |-- async… | '-- flutter… |-- flutter_placeholder_textlines 1.0.4 | '-- flutter… |-- flutter_polyline_points 0.1.0 | |-- flutter… | '-- http… |-- flutter_progress_button 0.6.4 | '-- flutter… |-- flutter_rating 0.0.2 | '-- flutter… |-- flutter_rating_bar 1.3.0+1 | '-- flutter… |-- flutter_sequence_animation 3.0.1 | |-- flutter… | '-- meta… |-- flutter_slidable 0.5.7 | '-- flutter… |-- flutter_sound 6.4.8+2 | |-- flutter… | |-- flutter_sound_platform_interface 6.4.8+2 | | |-- flutter… | | |-- meta… | | '-- plugin_platform_interface… | |-- flutter_sound_web 6.4.8+2 | | |-- flutter… | | |-- flutter_sound_platform_interface… | | |-- flutter_web_plugins… | | |-- js… | | '-- meta… | |-- flutter_spinkit… | |-- intl… | |-- logger 0.9.4 | |-- path… | |-- path_provider… | |-- provider… | |-- recase 3.0.1 | |-- synchronized 2.2.0+2 | '-- uuid… |-- flutter_staggered_grid_view 0.3.4 | '-- flutter… |-- flutter_star_rating 0.0.3 | '-- flutter… |-- flutter_test 0.0.0 | |-- async… | |-- boolean_selector 2.1.0-nullsafety.1 | | |-- source_span… | | '-- string_scanner… | |-- characters… | |-- charcode 1.2.0-nullsafety.1 | |-- clock 1.1.0-nullsafety.1 | |-- collection… | |-- fake_async 1.2.0-nullsafety.1 | | |-- clock… | | '-- collection… | |-- flutter… | |-- matcher 0.12.10-nullsafety.1 | | '-- stack_trace… | |-- meta… | |-- path… | |-- source_span 1.8.0-nullsafety.2 | | |-- charcode… | | |-- collection… | | |-- path… | | '-- term_glyph… | |-- stack_trace… | |-- stream_channel 2.1.0-nullsafety.1 | | '-- async… | |-- string_scanner… | |-- term_glyph 1.2.0-nullsafety.1 | |-- test_api 0.2.19-nullsafety.2 | | |-- async… | | |-- boolean_selector… | | |-- collection… | | |-- matcher… | | |-- meta… | | |-- path… | | |-- source_span… | | |-- stack_trace… | | |-- stream_channel… | | |-- string_scanner… | | '-- term_glyph… | |-- typed_data… | '-- vector_math… |-- flutter_tts 2.1.0 | |-- flutter… | '-- flutter_web_plugins… |-- fluttertoast 3.1.3 | '-- flutter… |-- focus_detector 1.1.0+1 | |-- flutter… | '-- visibility_detector 0.1.5 | '-- flutter… |-- font_awesome_flutter 8.12.0 | '-- flutter… |-- geocoding 1.0.5 | |-- flutter… | |-- geocoding_platform_interface 1.0.1+1 | | |-- flutter… | | |-- meta… | | '-- plugin_platform_interface… | '-- url_launcher… |-- geolocator 6.2.1 | |-- flutter… | |-- geolocator_platform_interface 1.0.9 | | |-- flutter… | | |-- meta… | | |-- plugin_platform_interface… | | '-- vector_math… | '-- geolocator_web 1.0.1 | |-- flutter… | |-- flutter_web_plugins… | '-- geolocator_platform_interface… |-- gesture_x_detector 0.0.5 | |-- flutter… | '-- vector_math… |-- giffy_dialog 1.8.0 | |-- flare_flutter… | '-- flutter… |-- global_configuration 1.6.0 | |-- flutter… | '-- http… |-- google_map_location_picker 4.1.6 | |-- android_intent 0.3.7+7 | | |-- flutter… | | |-- meta… | | '-- platform… | |-- flutter… | |-- flutter_localizations… | |-- geolocator… | |-- google_maps_flutter… | |-- http… | |-- intl… | |-- package_info… | |-- provider… | '-- stack_trace… |-- google_maps_flutter 1.2.0 | |-- flutter… | |-- flutter_plugin_android_lifecycle 1.0.11 | | '-- flutter… | '-- google_maps_flutter_platform_interface 1.2.0 | |-- collection… | |-- flutter… | |-- meta… | |-- plugin_platform_interface 1.0.3 | | '-- meta… | '-- stream_transform 1.2.0 |-- google_maps_place_picker 1.0.1 | |-- flutter… | |-- geolocator… | |-- google_api_headers 0.1.1+2 | | |-- flutter… | | '-- package_info… | |-- google_maps_flutter… | |-- google_maps_webservice… | |-- http… | |-- permission_handler… | |-- provider… | '-- tuple 1.0.3 | '-- quiver 2.1.5 | |-- matcher… | '-- meta… |-- google_maps_webservice 0.0.19 | |-- http… | '-- meta… |-- google_speech 1.2.1 | |-- fixnum 0.10.11 | |-- flutter… | |-- grpc 2.9.0 | | |-- archive… | | |-- async… | | |-- crypto… | | |-- fixnum… | | |-- googleapis_auth 0.2.12+1 | | | |-- crypto… | | | '-- http… | | |-- http… | | |-- http2 1.0.1 | | |-- meta… | | '-- protobuf… | |-- meta… | |-- path_provider… | '-- protobuf 1.1.3 | '-- fixnum… |-- highlight_text 0.7.2 | '-- flutter… |-- http 0.12.2 | |-- http_parser 3.1.4 | | |-- charcode… | | |-- collection… | | |-- source_span… | | |-- string_scanner… | | '-- typed_data… | |-- path 1.8.0-nullsafety.1 | '-- pedantic 1.9.2 | '-- meta… |-- http_interceptor 0.1.1 | |-- flutter… | '-- http… |-- image_picker 0.6.7+22 | |-- flutter… | |-- flutter_plugin_android_lifecycle… | '-- image_picker_platform_interface 1.1.6 | |-- flutter… | |-- http… | |-- meta… | '-- plugin_platform_interface… |-- intl 0.16.1 | '-- path… |-- io 0.3.5 | |-- meta… | |-- path… | '-- string_scanner 1.1.0-nullsafety.1 | |-- charcode… | '-- source_span… |-- keyboard_visibility 0.5.6 | '-- flutter… |-- kt_dart 0.7.0+1 |-- latlong 0.6.1 | |-- console_log_handler 1.1.6 | | |-- ansicolor 1.1.1 | | |-- intl… | | '-- logging… | |-- intl… | |-- logging 0.11.4 | '-- validate 1.7.0 |-- launch_review 2.0.0 | '-- flutter… |-- location 3.2.4 | |-- flutter… | |-- location_platform_interface 1.1.0 | | |-- flutter… | | |-- meta… | | '-- plugin_platform_interface… | |-- location_web 1.0.1 | | |-- flutter… | | |-- flutter_web_plugins… | | |-- http_parser… | | |-- js 0.6.2 | | |-- location_platform_interface… | | '-- meta… | '-- meta… |-- map_native 0.0.11 | '-- flutter… |-- marquee 1.7.0 | |-- fading_edge_scrollview 1.1.4 | | '-- flutter… | '-- flutter… |-- marquee_flutter 0.0.2 | '-- flutter… |-- material_design_icons_flutter 3.4.5045+1 | '-- flutter… |-- mime 0.9.7 |-- modal_progress_hud 0.1.3 | '-- flutter… |-- multi_navigator_bottom_bar 0.0.8 | '-- flutter… |-- network_to_file_image 2.3.8 | '-- flutter… |-- overlay_support 1.0.5 | |-- async… | '-- flutter… |-- package_info 0.4.3+4 | '-- flutter… |-- path_provider 1.6.28 | |-- flutter… | |-- path_provider_linux 0.0.1+2 | | |-- flutter… | | |-- path… | | |-- path_provider_platform_interface… | | '-- xdg_directories 0.1.2 | | |-- meta… | | |-- path… | | '-- process 3.0.13 | | |-- file… | | |-- intl… | | |-- meta… | | |-- path… | | '-- platform… | |-- path_provider_macos 0.0.4+8 | | '-- flutter… | |-- path_provider_platform_interface 1.0.4 | | |-- flutter… | | |-- meta… | | |-- platform… | | '-- plugin_platform_interface… | '-- path_provider_windows 0.0.4+3 | |-- ffi 0.1.3 | |-- flutter… | |-- meta… | |-- path… | |-- path_provider_platform_interface… | '-- win32 1.7.4+1 | '-- ffi… |-- pattern_formatter 1.0.2 | |-- flutter… | '-- intl… |-- percent_indicator 2.1.9+1 | '-- flutter… |-- permission_handler 5.0.1+2 | |-- flutter… | |-- meta… | '-- permission_handler_platform_interface 2.0.1 | |-- flutter… | |-- meta… | '-- plugin_platform_interface… |-- persistent_bottom_nav_bar 3.2.0 | '-- flutter… |-- pin_code_fields 1.1.2 | '-- flutter… |-- pin_input_text_field 3.3.1 | '-- flutter… |-- pinput 0.2.6 | '-- flutter… |-- provider 4.3.3 | |-- collection… | |-- flutter… | '-- nested 0.0.4 | '-- flutter… |-- random_color 1.0.5 | '-- flutter… |-- rating_bar 0.2.0 | '-- flutter… |-- rating_dialog 1.0.0 | '-- flutter… |-- responsive_container 0.0.1 | '-- flutter… |-- responsive_flutter 0.0.4 | '-- flutter… |-- rflutter_alert 1.1.0 | '-- flutter… |-- ribbon 0.0.1 | '-- flutter… |-- rich_alert 0.1.32 | |-- cupertino_icons… | '-- flutter… |-- rive 0.6.8 | |-- flutter… | |-- graphs 0.2.0 | '-- meta… |-- rxdart 0.23.1 |-- scroll_navigation 1.2.1+1 | |-- flutter… | '-- helpers 1.0.7 | |-- flutter… | '-- sliding_up_panel… |-- scroll_to_id 1.4.0 | '-- flutter… |-- scroll_to_index 1.0.6 | '-- flutter… |-- share 0.6.5+4 | |-- flutter… | |-- meta… | '-- mime… |-- shared_preferences 0.5.12+4 | |-- flutter… | |-- meta… | |-- shared_preferences_linux 0.0.2+4 | | |-- file… | | |-- flutter… | | |-- meta… | | |-- path… | | |-- path_provider_linux… | | '-- shared_preferences_platform_interface… | |-- shared_preferences_macos 0.0.1+11 | | |-- flutter… | | '-- shared_preferences_platform_interface… | |-- shared_preferences_platform_interface 1.0.4 | | |-- flutter… | | '-- meta… | |-- shared_preferences_web 0.1.2+7 | | |-- flutter… | | |-- flutter_web_plugins… | | |-- meta… | | '-- shared_preferences_platform_interface… | '-- shared_preferences_windows 0.0.2+3 | |-- file… | |-- flutter… | |-- meta… | |-- path… | |-- path_provider_platform_interface… | |-- path_provider_windows… | '-- shared_preferences_platform_interface… |-- shimmer 1.1.2 | '-- flutter… |-- skeleton_text 2.0.2 | '-- flutter… |-- sliding_up_panel 1.0.2 | '-- flutter… |-- smooth_star_rating 1.0.3 | '-- flutter… |-- sms_autofill 1.3.1 | |-- flutter… | '-- pin_input_text_field… |-- solid_bottom_sheet 0.1.9 | '-- flutter… |-- sound_stream 0.2.0 | '-- flutter… |-- speech_recognition 0.3.0+1 | '-- flutter… |-- splashscreen 1.3.5 | '-- flutter… |-- sqflite 1.3.2+4 | |-- flutter… | |-- path… | '-- sqflite_common 1.0.3+3 | |-- meta… | |-- path… | '-- synchronized… |-- statusbar 1.1.0 | '-- flutter… |-- stomp_dart_client 0.2.3 | |-- meta… | '-- web_socket_channel 1.2.0 | |-- async… | |-- crypto… | '-- stream_channel… |-- string_similarity 1.1.0 |-- sweetalert 0.0.1 | |-- flutter… | '-- flutter_sequence_animation… |-- swipedetector 1.2.0 | '-- flutter… |-- timeline_list 0.0.5 | '-- flutter… |-- transparent_image 1.0.0 |-- trotter 1.2.0 |-- url_launcher 5.7.10 | |-- flutter… | |-- url_launcher_linux 0.0.1+4 | | '-- flutter… | |-- url_launcher_macos 0.0.1+9 | | '-- flutter… | |-- url_launcher_platform_interface 1.0.9 | | |-- flutter… | | |-- meta… | | '-- plugin_platform_interface… | |-- url_launcher_web 0.1.5+3 | | |-- flutter… | | |-- flutter_web_plugins… | | |-- meta… | | '-- url_launcher_platform_interface… | '-- url_launcher_windows 0.0.1+3 | '-- flutter… |-- webview_flutter 1.0.7 | '-- flutter… '-- wit_ai 0.0.2 |-- flutter… '-- http…

Severity

  • Cannot build my App

Platforms you faced the error

  • Android
  • Real device

Describe the bug I can’t debug. It was running fine yesterday until I decided to change flutter_sound to flutter_sound_lite and then this is what happen.

Logs!!!

(This is very important. Most of the time we cannot do anything if we do not have information on your bug)

FAILURE: Build failed with an exception.

  • What went wrong: Execution failed for task ‘:app:checkDevDebugAarMetadata’.

Could not resolve all files for configuration ‘:app:devDebugRuntimeClasspath’. Could not resolve xyz.canardoux:tau_sound_core:6.4.8+2. Required by: project :app > project :flutter_sound Could not resolve xyz.canardoux:tau_sound_core:6.4.8+2. Could not get resource ‘https://dl.bintray.com/larpoux/TauRepo/xyz/canardoux/tau_sound_core/6.4.8+2/tau_sound_core-6.4.8+2.pom’. Could not GET ‘https://dl.bintray.com/larpoux/TauRepo/xyz/canardoux/tau_sound_core/6.4.8+2/tau_sound_core-6.4.8+2.pom’. Received status code 403 from server: Forbidden

  • Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 58s Exception: Gradle task assembleDevDebug failed with exit code 1


Screenshots

image image

About this issue

Most upvoted comments

OK, @haga-

Thank you for your investigations. This is a problem. We probably need to publish 7.x on JitPack. This is necessary for Flutter Sound users who are not ready to use the Null Safety compliance.

This is not very difficult, but the only developer who can efficiently do that is me. 😦 And actually I do not work on Flutter Sound. I am afraid that I have to go back on Flutter Sound to solve that. I will tell you if I can get some free time for this task.

Thank you very much @duduBaiao for sharing a turn around solution. Any way, I will work on publishing 7.x on JitPack at the end of the week or beginning of next week.

@haga- If you have the dependency cached on your machine, you can do the same we did here:

https://github.com/Canardoux/tau/issues/671#issuecomment-832591594

  • Copy the flutter_sound folder from the plugin’s folder (inside the “~/.pub-cache”) and create your own git repository with that code
  • Create a “libs” folder inside the “android” folder and copy the plugins’s “.aar” file into it.
  • Make the “build.gradle” file use this local dependency, instead of getting it from bintray:
implementation files('libs/tau_sound_core-7.6.7+1.aar')
  • Push this git repo

  • Use your that repo in your pubspec.yaml file.

  • Share your git repository’s url with other here. 😃

I’m experiencing the same issue:

https://dl.bintray.com/larpoux/TauRepo/xyz/canardoux/tau_sound_core/7.5.1+2/tau_sound_core-7.5.1+2.pom is returning 403 Forbidden!

* What went wrong:

Could not determine the dependencies of task ':flutter_sound_lite:compileReleaseAidl'.

> Could not resolve all task dependencies for configuration ':flutter_sound_lite:releaseCompileClasspath'.

   > Could not resolve xyz.canardoux:tau_sound_core:7.5.1+2.

     Required by:

         project :flutter_sound_lite

      > Could not resolve xyz.canardoux:tau_sound_core:7.5.1+2.

         > Could not get resource 'https://dl.bintray.com/larpoux/TauRepo/xyz/canardoux/tau_sound_core/7.5.1+2/tau_sound_core-7.5.1+2.pom'.

            > Could not GET 'https://dl.bintray.com/larpoux/TauRepo/xyz/canardoux/tau_sound_core/7.5.1+2/tau_sound_core-7.5.1+2.pom'. Received status code 403 from server: Forbidden

On this blog post JFrog announced that they would be sunsetting Bintray, GoCenter, and ChartCenter on May 1st, so it’s been 5 days since files hosted on bintray aren’t available: image

On the post they mention that users should migrate to:

[…] the respective canonical repository, and we will continue to offer both free and paid JFrog Platform cloud subscriptions that can serve other binary distribution needs.

@Larpoux you mentioned that you didn’t do anything with your account:

No, I did not do anything with our bintray/jfrog account. Probably everything published until last version is still on Bintray. I have not closed the account.

DId you manage to migrate your plan? There’s a migration guide on JFrog, I think you fit the free plan, since this package is open source 🤔.

I saw that you commented on another issue https://github.com/Canardoux/tau/issues/658#issuecomment-821867335 that the Flutter Sound 8.1.1 release is on JitPack. Unofortunatelly I’m unnable to migrate my app to null safety, since a few packages haven’t migrated yet.

I don’t mean to rush you or anything, just to be clear 😅. And I thank you for your work!

Also, I can still generate the apk locally, because I still have the package cached, the error above was on our CI. I was just wondering if it is possible to publish a version without null safety to JitPack or on JFrog bintray?

If some of you are also stuck on the 6.4.8+2 build, feel free to use this repo:

  flutter_sound:
    git:
      url: https://github.com/Bliq-Open-Source/flutter_sound.git

Hello @Larpoux,

I can confirm the version 7.8.4 works fine and builds without errors.

Thanks once again for your time and contributions to the Open Source community!

Oh, I thought you did 😅.

Glad I could help somehow 😄 .

Great, thank you, @Larpoux!