🐛 [remote_config] web throws exception when calling instanceFor

Bug report
Compiling flutter for web, it throws an error whenever I call any methods on RemoteConfig.instance.
It works fine on Android and iOS. I have added the script tags in index.html, and tried a full clean build.
The error is Expected a value of type 'int', but got one of type 'Null'
Steps to reproduce

Compile for web
Call RemoteConfig.instance.fetchAndActivate() (or any other method)
Error appears in log, remote config does not work

Expected behavior
I expected Remote Config to work on web.
Additional context
I have checked all documentation and initialization code, everything seems to be in order. It doesn't matter which method I call,  I've tried fetc(), setDefaults(), fetchAndActivate() and others. It seems to be an issue with the delegate call.
Stacktrace
Expected a value of type 'int', but got one of type 'Null'
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 251:49       throw_
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 84:3         castError
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 452:10   cast
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/core_patch.dart 203:12                 as
packages/firebase_remote_config_platform_interface/src/method_channel/method_channel_firebase_remote_config.dart 63:26          setInitialValues
packages/firebase_remote_config_platform_interface/src/platform_interface/platform_interface_firebase_remote_config.dart 31:30  instanceFor
packages/firebase_remote_config/src/remote_config.dart 24:55                                                                    get [_delegate]
packages/firebase_remote_config/src/remote_config.dart 138:22                                                                   setDefaults

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 2.5.3, on Microsoft Windows [Version 10.0.19042.1288], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[√] Chrome - develop for the web
[√] Android Studio (version 2020.3)
[√] VS Code, 64-bit edition (version 1.22.1)
[√] Connected device (3 available)

• No issues found!

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
$ flutter pub deps -- --style=compact
Dart SDK 2.14.4
Flutter SDK 2.5.3
hoopit 1.0.0+1

dependencies:
- adaptive_dialog 1.2.0 [animations collection flutter meta]
- authentication 1.0.0 [equatable firebase_auth firebase_core flutter google_sign_in]
- badges 2.0.1 [flutter]
- bloc 7.2.1 [meta]
- built_collection 5.1.1
- carousel_slider 4.0.0 [flutter]
- chips_choice 2.0.1 [flutter]
- country_code_picker 2.0.2 [flutter modal_bottom_sheet collection universal_platform]
- cupertino_icons 1.0.3
- dropdown_search 2.0.0 [flutter]
- equatable 2.0.3 [collection meta]
- file_picker 4.2.0 [flutter flutter_web_plugins flutter_plugin_android_lifecycle plugin_platform_interface ffi path]
- firebase_analytics 8.3.4 [firebase_analytics_platform_interface firebase_analytics_web firebase_core flutter meta]
- firebase_core 1.8.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_crashlytics 2.2.4 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace]
- firebase_messaging 10.0.9 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta]
- firebase_performance 0.7.1+2 [firebase_core firebase_core_platform_interface firebase_performance_platform_interface firebase_performance_web flutter]
- firebase_remote_config 0.11.0+2 [firebase_core firebase_core_platform_interface firebase_remote_config_platform_interface flutter]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]
- flutter_bloc 7.3.1 [flutter bloc provider]
- flutter_datetime_picker 1.5.1 [flutter]
- flutter_easyloading 3.0.3 [flutter flutter_spinkit]
- flutter_flavor 3.0.3 [flutter xml yaml]
- flutter_hooks 0.18.0 [flutter]
- flutter_linkify 5.0.2 [flutter linkify]
- flutter_local_notifications 9.0.2 [clock flutter flutter_local_notifications_linux flutter_local_notifications_platform_interface timezone]
- flutter_localizations 0.0.0 [flutter intl characters clock collection meta path typed_data vector_math]
- fluttertoast 8.0.8 [flutter flutter_web_plugins]
- font_awesome_flutter 9.2.0 [flutter]
- get_it 7.2.0 [async collection]
- google_fonts 2.1.0 [flutter http path_provider crypto]
- grouped_list 4.1.0 [flutter]
- hoopit_api 1.0.0 [dio dio_http_cache flutter http http_parser json_annotation]
- im_stepper 0.1.3 [flutter]
- image_picker 0.8.4+4 [flutter flutter_plugin_android_lifecycle image_picker_for_web image_picker_platform_interface]
- intercom_flutter 5.1.0+1 [flutter flutter_web_plugins intercom_flutter_platform_interface intercom_flutter_web]
- intl 0.17.0 [clock path]
- maps_launcher 2.0.1 [flutter flutter_web_plugins url_launcher]
- material_floating_search_bar 0.3.6 [flutter meta]
- mime 1.0.1
- modal_bottom_sheet 2.0.0 [flutter]
- network_bloc 1.0.0 [dio equatable flutter flutter_bloc infinite_scroll_pagination]
- open_file 3.2.1 [flutter ffi]
- package_info_plus 1.3.0 [flutter package_info_plus_platform_interface package_info_plus_linux package_info_plus_macos package_info_plus_windows package_info_plus_web]
- reactive_date_time_picker 0.1.6 [flutter intl reactive_forms]
- reactive_forms 10.6.4 [flutter intl]
- responsive_builder 0.4.1 [flutter]
- responsive_framework 0.1.5 [flutter collection]
- rxdart 0.27.2
- sentry_flutter 6.1.0 [flutter flutter_web_plugins sentry package_info_plus]
- shimmer 2.0.0 [flutter]
- stream_chat_flutter 3.2.0 [cached_network_image characters chewie collection diacritic dio ezanimation file_picker flutter flutter_markdown flutter_portal flutter_slidable flutter_svg http_parser image_gallery_saver image_picker
jiffy lottie meta path_provider photo_manager photo_view rxdart share_plus shimmer stream_chat_flutter_core substring_highlight synchronized url_launcher video_compress video_player video_thumbnail visibility_detector]
- stream_chat_persistence 3.0.0 [flutter logging meta moor mutex path path_provider sqlite3_flutter_libs stream_chat]
- stripe_sdk 5.0.0-nullsafety.1 [flutter http url_launcher mask_text_input_formatter flutter_slidable simple_animations supercharged awesome_card credit_card_validator collection webview_flutter universal_html]
- supercharged 2.1.1 [supercharged_dart flutter]
- syncfusion_flutter_calendar 19.3.48 [flutter timezone syncfusion_flutter_core syncfusion_flutter_datepicker intl]
- syncfusion_flutter_core 19.3.48 [vector_math flutter]
- url_launcher 6.0.12 [flutter meta url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]
- uuid 3.0.5 [crypto]

dev dependencies:
- build_runner 2.1.4 [args async analyzer build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style frontend_server_client glob graphs http_multi_server io js logging meta mime pack
age_config path pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- flutter_lints 1.0.4 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span stream_channel string_scanner term_glyph typed_data]
- image_res 0.3.0 [flutter yaml path watcher]
- sentry_dart_plugin 1.0.0-beta.1 [yaml injector ansicolor package_config system_info]

dependency overrides:
- chewie 1.2.2 [cupertino_icons flutter provider video_player wakelock]
- provider 6.0.1 [collection flutter nested]
- timezone 0.8.0 [path]
- video_thumbnail 0.4.3 [flutter]

transitive dependencies:
- _fe_analyzer_shared 22.0.0 [meta]
- analyzer 1.7.2 [_fe_analyzer_shared cli_util collection convert crypto glob meta package_config path pub_semver source_span watcher yaml pedantic]
- animations 2.0.2 [flutter]
- ansicolor 2.0.1
- archive 3.1.6 [crypto path]
- args 2.3.0
- asn1lib 1.0.2
- async 2.8.1 [collection meta]
- awesome_card 1.1.5 [flutter]
- boolean_selector 2.1.0 [source_span string_scanner]
- build 2.1.1 [analyzer async convert crypto glob logging meta path]
- build_config 1.0.0 [checked_yaml json_annotation path pubspec_parse yaml]
- build_daemon 3.0.1 [built_collection built_value http_multi_server logging path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 2.0.4 [analyzer async build crypto graphs logging path package_config pool pub_semver stream_transform yaml]
- build_runner_core 7.2.2 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta path package_config pool timing watcher yaml]
- built_value 8.1.2 [built_collection collection fixnum meta]
- cached_network_image 3.1.0 [flutter flutter_cache_manager octo_image cached_network_image_platform_interface cached_network_image_web]
- cached_network_image_platform_interface 1.0.0 [flutter flutter_cache_manager]
- cached_network_image_web 1.0.1 [flutter flutter_cache_manager cached_network_image_platform_interface]
- characters 1.1.0
- charcode 1.3.1
- checked_yaml 2.0.1 [json_annotation source_span yaml]
- cli_util 0.3.5 [meta path]
- clock 1.1.0
- code_builder 4.1.0 [built_collection built_value collection matcher meta]
- collection 1.15.0
- connectivity_plus 2.0.2 [flutter meta connectivity_plus_platform_interface connectivity_plus_linux connectivity_plus_macos connectivity_plus_web connectivity_plus_windows]
- connectivity_plus_linux 1.1.0 [flutter connectivity_plus_platform_interface dbus meta nm]
- connectivity_plus_macos 1.2.1 [connectivity_plus_platform_interface flutter]
- connectivity_plus_platform_interface 1.1.0 [flutter meta plugin_platform_interface]
- connectivity_plus_web 1.1.0+1 [connectivity_plus_platform_interface flutter_web_plugins flutter]
- connectivity_plus_windows 1.2.0 [connectivity_plus_platform_interface flutter]
- convert 3.0.1 [typed_data]
- credit_card_type_detector 2.0.0
- credit_card_validator 2.0.0 [credit_card_type_detector]
- cross_file 0.3.1+5 [flutter meta]
- crypto 3.0.1 [collection typed_data]
- crypto_keys 0.3.0 [pointycastle meta collection quiver]
- csslib 0.17.1 [source_span]
- dart_style 2.1.1 [analyzer args path pub_semver source_span]
- dbus 0.5.6 [args ffi meta pedantic xml]
- diacritic 0.1.3
- dio 4.0.1 [http_parser path]
- dio_http_cache 0.3.0 [crypto dio flutter json_serializable json_annotation path quiver sqflite]
- drift 1.0.1 [async convert collection meta stream_channel sqlite3]
- ezanimation 0.5.0 [flutter]
- fake_async 1.2.0 [clock collection]
- ffi 1.1.2
- file 6.1.2 [meta path]
- file_utils 1.0.1 [globbing path]
- firebase 9.0.2 [http http_parser js]
- firebase_analytics_platform_interface 2.0.1 [flutter meta]
- firebase_analytics_web 0.3.0+1 [firebase firebase_analytics_platform_interface flutter flutter_web_plugins meta]
- firebase_auth 3.1.4 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_auth_platform_interface 6.1.2 [firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 3.1.3 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.0.1 [collection flutter meta plugin_platform_interface]
- firebase_core_web 1.1.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_crashlytics_platform_interface 3.1.4 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_platform_interface 3.0.7 [firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_web 2.0.7 [firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins js meta]
- firebase_performance_platform_interface 0.0.1+5 [firebase_core flutter plugin_platform_interface]
- firebase_performance_web 0.0.1+1 [firebase firebase_performance_platform_interface flutter flutter_web_plugins]
- firebase_remote_config_platform_interface 0.3.0+7 [firebase_core flutter meta plugin_platform_interface]
- fixnum 1.0.0
- flutter_blurhash 0.6.0 [flutter meta pedantic]
- flutter_cache_manager 3.1.2 [clock collection file flutter http path path_provider pedantic rxdart sqflite uuid]
- flutter_local_notifications_linux 0.3.0 [flutter flutter_local_notifications_platform_interface dbus path xdg_directories]
- flutter_local_notifications_platform_interface 5.0.0 [flutter plugin_platform_interface]
- flutter_markdown 0.6.8 [flutter markdown meta path]
- flutter_plugin_android_lifecycle 2.0.4 [flutter]
- flutter_portal 0.4.0 [flutter]
- flutter_slidable 0.6.0 [flutter]
- flutter_spinkit 5.1.0 [flutter]
- flutter_svg 0.23.0+1 [flutter meta path_drawing vector_math xml]
- flutter_web_plugins 0.0.0 [flutter js characters collection meta typed_data vector_math]
- freezed_annotation 0.15.0 [collection json_annotation meta]
- frontend_server_client 2.1.2 [async path]
- glob 2.0.2 [async collection file path string_scanner]
- globbing 1.0.0 [path]
- google_sign_in 5.2.1 [flutter google_sign_in_platform_interface google_sign_in_web meta]
- google_sign_in_platform_interface 2.1.0 [flutter meta quiver]
- google_sign_in_web 0.10.0+3 [flutter flutter_web_plugins google_sign_in_platform_interface js meta]
- graphs 2.1.0 [collection]
- html 0.15.0 [csslib source_span]
- http 0.13.4 [async http_parser meta path]
- http_multi_server 3.0.1 [async]
- http_parser 4.0.0 [charcode collection source_span string_scanner typed_data]
- image_gallery_saver 1.7.1 [flutter]
- image_picker_for_web 2.1.4 [flutter flutter_web_plugins image_picker_platform_interface meta]
- image_picker_platform_interface 2.4.1 [flutter http meta plugin_platform_interface cross_file]
- infinite_scroll_pagination 3.1.0 [flutter sliver_tools]
- injector 2.0.0
- intercom_flutter_platform_interface 1.0.0 [flutter plugin_platform_interface]
- intercom_flutter_web 0.0.3 [flutter flutter_web_plugins intercom_flutter_platform_interface uuid]
- io 1.0.3 [meta path string_scanner]
- jiffy 4.1.0 [intl]
- jose 0.3.2 [crypto_keys meta typed_data x509 http http_parser asn1lib collection]
- js 0.6.3
- json_annotation 4.1.0 [meta]
- json_serializable 4.1.4 [analyzer build build_config collection json_annotation meta path source_gen]
- linkify 4.1.0
- lints 1.0.1
- logging 1.0.2
- lottie 1.2.1 [archive characters flutter path vector_math]
- markdown 4.0.0 [args charcode meta]
- mask_text_input_formatter 2.0.0 [flutter]
- matcher 0.12.10 [stack_trace]
- meta 1.7.0
- moor 4.6.1 [async convert collection drift meta stream_channel sqlite3]
- mutex 3.0.0
- nested 1.0.0 [flutter]
- nm 0.3.0 [dbus]
- octo_image 1.0.0+1 [flutter flutter_blurhash]
- package_config 2.0.2 [path]
- package_info_plus_linux 1.0.3 [package_info_plus_platform_interface flutter path]
- package_info_plus_macos 1.3.0 [flutter]
- package_info_plus_platform_interface 1.0.2 [flutter meta plugin_platform_interface]
- package_info_plus_web 1.0.4 [flutter flutter_web_plugins http meta package_info_plus_platform_interface]
- package_info_plus_windows 1.0.4 [package_info_plus_platform_interface ffi flutter win32]
- path 1.8.0
- path_drawing 0.5.1+1 [vector_math meta path_parsing flutter]
- path_parsing 0.2.1 [vector_math meta]
- path_provider 2.0.5 [flutter path_provider_linux path_provider_macos path_provider_platform_interface path_provider_windows]
- path_provider_linux 2.1.0 [flutter path path_provider_platform_interface xdg_directories]
- path_provider_macos 2.0.2 [flutter]
- path_provider_platform_interface 2.0.1 [flutter meta platform plugin_platform_interface]
- path_provider_windows 2.0.3 [ffi flutter meta path path_provider_platform_interface win32]
- pedantic 1.11.1
- petitparser 4.4.0 [meta]
- photo_manager 1.3.9+1 [flutter]
- photo_view 0.13.0 [flutter]
- platform 3.0.2
- plugin_platform_interface 2.0.2 [meta]
- pointycastle 3.3.4 [collection convert js]
- pool 1.5.0 [async stack_trace]
- process 4.2.4 [file path platform]
- pub_semver 2.1.0 [collection meta]
- pubspec_parse 1.1.0 [checked_yaml collection json_annotation pub_semver yaml]
- quiver 3.0.1+1 [matcher]
- rate_limiter 0.1.1
- sentry 6.1.0 [http meta stack_trace uuid]
- share_plus 3.0.4 [meta mime flutter share_plus_platform_interface share_plus_linux share_plus_macos share_plus_windows share_plus_web]
- share_plus_linux 2.0.4 [share_plus_platform_interface file flutter meta url_launcher]
- share_plus_macos 2.0.2 [share_plus_platform_interface flutter]
- share_plus_platform_interface 2.0.1 [flutter meta mime plugin_platform_interface]
- share_plus_web 2.0.4 [share_plus_platform_interface url_launcher flutter flutter_web_plugins meta]
- share_plus_windows 2.0.3 [share_plus_platform_interface flutter meta url_launcher]
- shelf 1.2.0 [async collection http_parser path stack_trace stream_channel]
- shelf_web_socket 1.0.1 [shelf stream_channel web_socket_channel]
- simple_animations 3.2.0 [flutter supercharged flutter_lints]
- sky_engine 0.0.99
- sliver_tools 0.2.5 [flutter]
- source_gen 1.0.3 [analyzer async build dart_style glob meta path pedantic source_span yaml]
- source_span 1.8.1 [collection path term_glyph]
- sqflite 2.0.0+4 [flutter sqflite_common path]
- sqflite_common 2.0.1+1 [synchronized path meta]
- sqlite3 1.3.1 [collection ffi meta]
- sqlite3_flutter_libs 0.5.1 [flutter]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- stream_chat 3.2.0 [async collection dio equatable freezed_annotation http_parser jose json_annotation logging meta mime rate_limiter rxdart uuid web_socket_channel]
- stream_chat_flutter_core 3.2.0 [collection connectivity_plus flutter meta rxdart stream_chat]
- stream_transform 2.0.0
- string_scanner 1.1.0 [charcode source_span]
- substring_highlight 1.0.33 [flutter]
- supercharged_dart 2.1.1
- syncfusion_flutter_datepicker 19.3.48 [flutter intl syncfusion_flutter_core]
- synchronized 3.0.0
- system_info 1.0.1 [file_utils path]
- term_glyph 1.2.0
- test_api 0.4.2 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- timing 1.0.0 [json_annotation]
- typed_data 1.3.0 [collection]
- universal_html 2.0.8 [async csslib charcode collection html meta source_span typed_data universal_io]
- universal_io 2.0.4 [collection crypto meta typed_data]
- universal_platform 1.0.0+1
- url_launcher_linux 2.0.2 [flutter]
- url_launcher_macos 2.0.2 [flutter]
- url_launcher_platform_interface 2.0.4 [flutter plugin_platform_interface]
- url_launcher_web 2.0.4 [flutter flutter_web_plugins meta url_launcher_platform_interface]
- url_launcher_windows 2.0.2 [flutter]
- vector_math 2.1.0
- video_compress 3.1.0 [flutter]
- video_player 2.2.5 [flutter meta video_player_platform_interface video_player_web html]
- video_player_platform_interface 4.2.0 [flutter flutter_test meta]
- video_player_web 2.0.4 [flutter flutter_web_plugins meta video_player_platform_interface]
- visibility_detector 0.2.2 [flutter]
- wakelock 0.5.6 [flutter meta wakelock_macos wakelock_platform_interface wakelock_web wakelock_windows]
- wakelock_macos 0.4.0 [flutter flutter_web_plugins wakelock_platform_interface]
- wakelock_platform_interface 0.3.0 [flutter meta]
- wakelock_web 0.4.0 [flutter flutter_web_plugins js wakelock_platform_interface]
- wakelock_windows 0.2.0 [flutter wakelock_platform_interface win32]
- watcher 1.0.1 [async path]
- web_socket_channel 2.1.0 [async crypto stream_channel]
- webview_flutter 2.1.2 [flutter webview_flutter_platform_interface webview_flutter_android webview_flutter_wkwebview]
- webview_flutter_android 2.0.15 [flutter webview_flutter_platform_interface]
- webview_flutter_platform_interface 1.2.0 [flutter plugin_platform_interface]
- webview_flutter_wkwebview 2.0.14 [flutter webview_flutter_platform_interface]
- win32 2.2.10 [ffi]
- x509 0.2.2 [asn1lib quiver crypto_keys]
- xdg_directories 0.2.0 [meta path process]
- xml 5.3.1 [collection meta petitparser]
- yaml 3.1.0 [collection source_span string_scanner]

Hi @ezet, Thanks for filing the issue. Firebase Remote Config is not supported on the web. Closing as this isn't an issue with flutter fire if you disagree feel free to write in the comments and I will reopen it.
Thanks

Sorry for closing the issue, Reopening as remote config is supported on the web probably there's an issue on the pub as it doesn't mention the web platform.

I was able to reproduce the issue by running the official example

flutter doctor -v
[✓] Flutter (Channel stable, 2.5.3, on macOS 12.0.1 21A559 darwin-arm, locale en-GB)
    • Flutter version 2.5.3 at /Users/mahesh/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 18116933e7 (4 weeks ago), 2021-10-15 10:46:35 -0700
    • Engine revision d3ea636dc5
    • Dart version 2.14.4

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 13.1, Build version 13A1030d
    • CocoaPods version 1.10.2

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

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 60.1.4
    • Dart plugin version 212.5080.8

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 12.0.1 21A559 darwin-arm
    • Chrome (web)    • chrome • web-javascript • Google Chrome 95.0.4638.69

• No issues found!

logs
Launching lib/main.dart on Chrome in debug mode...
This app is linked to the debug service: ws://<IP_ADDRESS>:49822/9wtL6SvK6gg%3D/ws
Debug service listening on ws://<IP_ADDRESS>:49822/9wtL6SvK6gg=/ws
💪 Running with sound null safety 💪
Connecting to VM Service at ws://<IP_ADDRESS>:49822/9wtL6SvK6gg=/ws
Error: Expected a value of type 'int', but got one of type 'Null'
    at Object.throw_ [as throw] (http://localhost:49783/dart_sdk.js:5061:11)
    at Object.castError (http://localhost:49783/dart_sdk.js:5020:15)
    at Object.cast [as as] (http://localhost:49783/dart_sdk.js:5345:17)
    at Function.as (http://localhost:49783/dart_sdk.js:19068:19)
at method_channel_firebase_remote_config.MethodChannelFirebaseRemoteConfig.new.setInitialValues (http://localhost:49783/packages/firebase_remote_config_platform_interface/src/method_channel/method_channel_firebase_remote_config.dart.lib.js:260:67)
at Function.instanceFor (http://localhost:49783/packages/firebase_remote_config_platform_interface/src/method_channel/method_channel_firebase_remote_config.dart.lib.js:90:118)
at firebase_remote_config.RemoteConfig.__.get [_delegate] (http://localhost:49783/packages/firebase_remote_config/firebase_remote_config.dart.lib.js:63:104)
at firebase_remote_config.RemoteConfig.__.setConfigSettings (http://localhost:49783/packages/firebase_remote_config/firebase_remote_config.dart.lib.js:125:18)
at setupRemoteConfig (http://localhost:49783/packages/firebase_storage_sample/main.dart.lib.js:376:26)
    at setupRemoteConfig.next (<anonymous>)
    at http://localhost:49783/dart_sdk.js:38640:33
    at _RootZone.runUnary (http://localhost:49783/dart_sdk.js:38511:59)
    at _FutureListener.thenAwait.handleValue (http://localhost:49783/dart_sdk.js:33713:29)
    at handleValueCallback (http://localhost:49783/dart_sdk.js:34265:49)
    at Function._propagateToListeners (http://localhost:49783/dart_sdk.js:34303:17)
    at _Future.new.[_completeWithValue] (http://localhost:49783/dart_sdk.js:34151:23)
    at async._AsyncCallbackEntry.new.callback (http://localhost:49783/dart_sdk.js:34172:35)
    at Object._microtaskLoop (http://localhost:49783/dart_sdk.js:38778:13)
    at _startMicrotaskLoop (http://localhost:49783/dart_sdk.js:38784:13)
    at http://localhost:49783/dart_sdk.js:34519:9

I saw that it was supposed to work too, that's why I created the issue. But after your initial response, I found that it is completed, but currently only in beta on pub.dev. I assume the beta works, but I haven't tested it yet. So I think you can close the issue after all.

Thanks for the update I can confirm using the prerelease version: 1.0.0-dev.2  the issue is resolved.
Closing as already fixed in the newer version.


Beacon updates

BEC-249
I'm opening this as a draft to get some early reviews and unblock other tasks. I'm still missing tests and potentially resolving some TODOs but the code itself should work. I was able to test it by deploying and setting wallets with Aireekeper and using the mock server for the HTTP gateway.
The PR is a bit bigger but it should be fine when reviewing commit by commit :slightly_smiling_face:

Ok, this is ready to be reviewed now @acenolaza @vponline @Siegrift @aquarat
I'll add tests in a separate PR, this one is big enough as it is.


[Minor, fix] fix pep8 in ica tutorial

A recent commit breaks Travis due to an 80c line.

Thanks @jona-sassenhagen

Thanks Eric ... I was considering doing it on master myself, but the error comes from somebody not having waited for travis on a very minor issue, so I thought this'd be better :)

Good call :)


CI environment for multicluster

Please describe the Improvement and/or Feature Request
We will need a CI environment to test our multicluster scenarios, for starts this environment would require the following :

[ ] create 2 clusters and deploy osm on them with  multicluster feature enabled
[ ] Have a service that is distributed across the two clusters

To start off we can even have this as an e2e test
Scope (please mark with X where applicable)

New Functionality          [ ]
Install                    [ ]
SMI Traffic Access Policy  [ ]
SMI Traffic Specs Policy   [ ]
SMI Traffic Split Policy   [ ]
Permissive Traffic Policy  [ ]
Ingress                    [ ]
Egress                     [ ]
Envoy Control Plane        [ ]
CLI Tool                   [ ]
Metrics                    [ ]
Certificate Management     [ ]
Sidecar Injection          [ ]
Logging                    [ ]
Debugging                  [ ]
Tests                      [ ]
CI System                  [ ]
Demo                       [ ]
Project Release            [ ]

Possible use cases

:eyes:


Corrupted PDF on production, fine on local

Hey there,
I've been using this package for a while now and today, I've noticed that when I generate a PDF from my local dev env, it works fine, however as soon as I generate it from prod, it generated a 2MB PDF file (instead of 540KB), and is corrupted.
Both are running on AWS just fine...
Wondering what I could do to diagnose this? Here is attached the corrupted PDF.
carte-CC7972778.pdf
Mime type of it tells me application/octet-stream...

Further: oddly enough, using ->save() and saving the file to the local filesystem works just fine and can then properly be attached to an email.

Thanks for raising this @Francismori7. Have to take a closer look at that file as well.
Can you share some pseudo-code on how you generated that corrupted PDF? Which exact methods have you been calling?
This will make debugging and the investigation much much easier.

Of course:
    public function build()
    {
        $html = view('promotional-cards.print', ['card' => $this->card, 'noAutoPrint' => true])
            ->render();

        $pdf = BrowsershotLambda::html($html)
            ->showBackground()
            ->format('Letter')
            ->addChromiumArguments([
                'font-render-hinting' => 'none',
                'force-color-profile' => 'srgb',
            ])
            ->waitUntilNetworkIdle()
            ->pdf();

        // Force mailgun settings.
        force_corporate_email_settings();

        return $this
<EMAIL_ADDRESS>'Corporate')
            ->subject('Votre carte privilège Corporate!')
            ->attachData($pdf, "carte-{$this->card->number}.pdf", ['mime' => 'application/pdf'])
            ->markdown('mail.promotional-cards.send-card-to-customer')
            ->onQueue('default');
    }

This is the exact code, redacted from corporate information that started to fail recently. I can also provide the alternative that worked, that is using ->save() and saving the PDF file locally instead of using ->pdf() to only get the data itself.

We ran into this same issue. We generate open graph images and when trying to take the output from browsershot into our media library, got this error:
Unsupported image type application/octet-stream. GD driver is only able to decode JPG, PNG, GIF, BMP or WebP files.

Our error started occurring when we upgraded spatie/browsershot from v3.59 to v3.60 - we did not upgrade the wnx/sidecar-browsershot package. I suspect there's a regression in spatie/browsershot - not sure if that package needs to change, or this one.
Our short term solution was to lock spatie/browsershot to 3.59. We're going to upgrade once this issue has been resolved.
Thanks for this great package!

@benholmen Thanks for those notes! Will make finding the root cause a bit easier.
Haven't gotten around to investigate this issue. Rather busy lately. :/

Can confirm that PDF generation is broken. Our test suite on main fails due to issues with PDF testing.
https://github.com/stefanzweifel/sidecar-browsershot/actions/runs/7105666909/job/19343371637#step:7:28
Couldn't figure out yet, where the actual problem is.

Can confirm that PDF generation is broken. Our test suite on main fails due to issues with PDF testing. https://github.com/stefanzweifel/sidecar-browsershot/actions/runs/7105666909/job/19343371637#step:7:28
Couldn't figure out yet, where the actual problem is.

Feels like we now need to go into ˋ->resultsˋ to fetch the raw response?

I've fixed this issue in #105 a created a new release: https://github.com/stefanzweifel/sidecar-browsershot/releases/tag/v1.13.1.
Let me know if you run into any further issues.

we just upgraded to 1.13.1 and had the same problem as @benholmen downgraded to browsershot 3.59.x and it fixed it. So it would seem the problem is still there.

@mrhn Thank you for posting your solution! This fixed it for me.
Same issue/setup as described. I am using v1.13 and downgrading to Browsershot v3.59 fixed it for me. Had no issues locally before downgrading, but I was getting corrupt PNG files in production.


Promote to GA

Package name: google-cloud-notification
Current release: beta
Proposed release: GA
Instructions
Check the lists below, adding tests / documentation as required. Once all the "required" boxes are ticked, please create a release and close this issue.
Required

[ ] 28 days elapsed since last beta release with new API surface
[ ] Server API is GA
[ ] Package API is stable, and we can commit to backward compatibility
[ ] All dependencies are GA

Optional

[ ] Most common / important scenarios have descriptive samples
[ ] Public manual methods have at least one usage sample each (excluding overloads)
[ ] Per-API README includes a full description of the API
[ ] Per-API README contains at least one “getting started” sample using the most common API scenario
[ ] Manual code has been reviewed by API producer
[ ] Manual code has been reviewed by a DPE responsible for samples
[ ] 'Client Libraries' page is added to the product documentation in 'APIs & Reference' section of the product's documentation on Cloud Site

Not planned


Questionnaire Bot Lambda function needs updated IAM permissions

Expected Behavior
questionnaire bot works when i ask to take a quiz
Actual Behavior
the *-Quiz-JS lambda function breaks with the message
Failed { AccessDeniedException: User: arn:aws:sts::682179654853:assumed-role/QnABot-STAAAACK-ExampleLambdaRole-GV8GIPVWBVRZ/qna-QnABot-STAAAACK-Quiz-JS is not authorized to perform: lambda:InvokeFunction on resource: arn:aws:lambda:us-east-1:682179654853:function:QnABot-STAAAACK-ESQidLambda-FZE0PN913M73
Steps to Reproduce the Problem

Build the stack with the below CloudFormation link.
Import https://s3.amazonaws.com/public-blog-image-hosting/example-questionnaire-bot-quiz.json
Go to the client and type "take the example quiz."
Check CloudWatch logs for the Questionnaire Bot Lambda function's log streams.

Specifications

Version: version that spins up when you use this CF link https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?stackName=QnABot&templateURL=http://s3.amazonaws.com/qnabot-guided-navigation-blogpost-template/artifacts/aws-ai-qna-bot/templates/public.json

what branch is this on?

I don’t know. I didn’t put together that CF setup. I would assume the develop branch because it was internal.

On May 30, 2018, at 7:38 PM, John M Calhoun<EMAIL_ADDRESS>wrote:
what branch is this on?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

this is fixed in 2.1.0


No connections from aria to my seed.

Hi.
Trying to get aria2c to connect to my torrent on a private lan ( trying to bittorrent a VM to 300 machines ) but don't get any connections.
Any suggestions on how to troubleshoot this much appreciated!!!
The torrent is a Private Torrent, i.e not using DHT yet log excerpt below has lots of DHT errors???
Not using a tracker.
Have tried both Qbittorrent and Frostwire to create and seed my torrent.
Excerpts from my aria.log below.
2017-11-14 12:14:48.128693 [INFO] [Context.cc:178] <<--- --- --- ---
2017-11-14 12:14:48.128693 [INFO] [Context.cc:179]   --- --- --- ---
2017-11-14 12:14:48.128693 [INFO] [Context.cc:180]   --- --- --- --->>
2017-11-14 12:14:48.128693 [INFO] [Context.cc:181] aria2 1.32.0
2017-11-14 12:14:48.128693 [INFO] [Context.cc:182] mingw-w64 5.0 (alpha) / gcc 6.3.0 20170321
built by   x86_64-pc-linux-gnu
targeting x86_64-w64-mingw32
on         May 17 2017 22:30:38
2017-11-14 12:14:48.128693 [INFO] [Context.cc:183] Windows 6.2 (x86_64) (6.2)
2017-11-14 12:14:48.128693 [INFO] [Context.cc:184] zlib/1.2.11 expat/2.2.0 sqlite3/3.18.0 GMP/6.1.2 c-ares/1.12.0 libssh2/1.8.0
2017-11-14 12:14:48.128693 [INFO] [Context.cc:185] Logging started.
2017-11-14 12:14:48.129751 [INFO] [SocketCore.cc:1579] Checking configured addresses
2017-11-14 12:14:48.180113 [INFO] [SocketCore.cc:1640] Found configured address: 2001:630:12:106c:9416:fd33:697f:72b1
2017-11-14 12:14:48.180113 [INFO] [SocketCore.cc:1640] Found configured address: 2001:630:12:106c:1d1c:2e7:e833:2d05
2017-11-14 12:14:48.180113 [INFO] [SocketCore.cc:1640] Found configured address: 2001:630:12:106c:316e:10b:faff:42e4
2017-11-14 12:14:48.180113 [INFO] [SocketCore.cc:1640] Found configured address: 2001:630:12:106c:517c:9855:aa20:81a4
2017-11-14 12:14:48.180113 [INFO] [SocketCore.cc:1640] Found configured address: 2001:630:12:106c:6553:ccfe:63aa:a3f1
2017-11-14 12:14:48.180113 [INFO] [SocketCore.cc:1640] Found configured address: 2001:630:12:106c:8003:aae2:c1cd:7f76
2017-11-14 12:14:48.180113 [INFO] [SocketCore.cc:1640] Found configured address: 2001:630:12:106c:c084:4b21:ef48:133b
2017-11-14 12:14:48.180113 [INFO] [SocketCore.cc:1640] Found configured address: 2001:630:12:106c:d436:350a:4ab2:9c40
2017-11-14 12:14:48.180113 [INFO] [SocketCore.cc:1643] Not considered: fe80::9416:fd33:697f:72b1%2
2017-11-14 12:14:48.180113 [INFO] [SocketCore.cc:1640] Found configured address: ***.198.108.122
2017-11-14 12:14:48.181113 [INFO] [SocketCore.cc:1643] Not considered: fe80::c8f:b704:5275:df6b%4
2017-11-14 12:14:48.181113 [INFO] [SocketCore.cc:1640] Found configured address: <IP_ADDRESS>
2017-11-14 12:14:48.181113 [INFO] [SocketCore.cc:1643] Not considered: ::1
2017-11-14 12:14:48.181113 [INFO] [SocketCore.cc:1643] Not considered: <IP_ADDRESS>
2017-11-14 12:14:48.181113 [INFO] [SocketCore.cc:1651] IPv4 configured=1, IPv6 configured=1
2017-11-14 12:14:48.274114 [NOTICE] [Context.cc:310] Downloading 1 item(s)
2017-11-14 12:14:48.309114 [DEBUG] [RequestGroup.cc:574] Using LongestSequencePieceSelector
2017-11-14 12:14:48.309114 [DEBUG] [DefaultPieceStorage.cc:649] Instantiating MultiDiskAdaptor
2017-11-14 12:14:48.309114 [INFO] [DHTRoutingTableDeserializer.cc:79] Loading DHT routing table from C:/Users/swilley/.aria2/dht.dat.
2017-11-14 12:14:48.310112 [INFO] [DHTRoutingTableDeserializer.cc:201] DHT routing table was loaded successfully
2017-11-14 12:14:48.310112 [NOTICE] [DHTConnectionImpl.cc:82] IPv4 DHT: listening on UDP port 6917
2017-11-14 12:14:48.317111 [DEBUG] [DHTSetup.cc:141] Initialized local node ID=49d22c3fb863fa21b193d40424be4ef7869fe040
2017-11-14 12:14:48.317111 [INFO] [DHTSetup.cc:208] No DHT entry point specified.
2017-11-14 12:14:48.317111 [DEBUG] [DHTRoutingTable.cc:76] Trying to add node:DHTNode ID=2a93bdc5b1ec0394cde12766c9c3a40caffcdef7, Host=<IP_ADDRESS>(60442), Condition=1, RTT=0
2017-11-14 12:14:48.317111 [DEBUG] [DHTRoutingTable.cc:85] Added DHTNode.
2017-11-14 12:14:48.317111 [DEBUG] [DHTRoutingTable.cc:76] Trying to add node:DHTNode ID=2a93bca996b93ecfec954a0e4681daa1032e6dc0, Host=<IP_ADDRESS>(41047), Condition=1, RTT=0
2017-11-14 12:14:48.317111 [DEBUG] [DHTRoutingTable.cc:85] Added DHTNode.
2017-11-14 12:14:48.317111 [DEBUG] [DHTRoutingTable.cc:76] Trying to add node:DHTNode ID=0426de029cb6ace737f9d18b37c7d88323546149, Host=<IP_ADDRESS>(41505), Condition=1, RTT=0
2017-11-14 12:14:48.317111 [DEBUG] [DHTRoutingTable.cc:85] Added DHTNode.
2017-11-14 12:14:48.317111 [DEBUG] [DHTRoutingTable.cc:76] Trying to add node:DHTNode ID=00fd8185d8431c7447a98d6e20daa9283a67886b, Host=<IP_ADDRESS>(6881), Condition=1, RTT=0
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:85] Added DHTNode.
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:76] Trying to add node:DHTNode ID=2ee52542e5659818c1faa2e3e53a1b0de8f5e2e5, Host=<IP_ADDRESS>(43402), Condition=1, RTT=0
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:85] Added DHTNode.
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:76] Trying to add node:DHTNode ID=00ec1b634a06fbe16b6b78cfa6971a3ede453249, Host=<IP_ADDRESS>(51413), Condition=1, RTT=0
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:85] Added DHTNode.
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:76] Trying to add node:DHTNode ID=0006e5b5a760e405e4f80d60b52da9f0538fb301, Host=<IP_ADDRESS>(32721), Condition=1, RTT=0
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:85] Added DHTNode.
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:76] Trying to add node:DHTNode ID=001ba44f8477f8291b422f5d06b86412c0bd093d, Host=<IP_ADDRESS>(6889), Condition=1, RTT=0
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:85] Added DHTNode.
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:76] Trying to add node:DHTNode ID=401fd2606d6d13555da4f10d934c5954abdb257e, Host=<IP_ADDRESS>(41059), Condition=1, RTT=0
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:91] Splitting bucket. Range:0000000000000000000000000000000000000000-ffffffffffffffffffffffffffffffffffffffff
2017-11-14 12:14:48.318110 [DEBUG] [DHTBucket.cc:206] New bucket. prefixLength=1, Range:0000000000000000000000000000000000000000-7fffffffffffffffffffffffffffffffffffffff
2017-11-14 12:14:48.318110 [DEBUG] [DHTBucket.cc:210] Existing bucket. prefixLength=1, Range:8000000000000000000000000000000000000000-ffffffffffffffffffffffffffffffffffffffff
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:91] Splitting bucket. Range:0000000000000000000000000000000000000000-7fffffffffffffffffffffffffffffffffffffff
2017-11-14 12:14:48.318110 [DEBUG] [DHTBucket.cc:206] New bucket. prefixLength=2, Range:0000000000000000000000000000000000000000-3fffffffffffffffffffffffffffffffffffffff
2017-11-14 12:14:48.318110 [DEBUG] [DHTBucket.cc:210] Existing bucket. prefixLength=2, Range:4000000000000000000000000000000000000000-7fffffffffffffffffffffffffffffffffffffff
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:85] Added DHTNode.
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:76] Trying to add node:DHTNode ID=40ff80ccef748a0b2e03363853cd6d195ee2c828, Host=<IP_ADDRESS>(23443), Condition=1, RTT=0
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:85] Added DHTNode.
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:76] Trying to add node:DHTNode ID=40003319fd96acb9d042772a4e974f63a2e2d7f9, Host=<IP_ADDRESS>(50764), Condition=1, RTT=0
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:85] Added DHTNode.
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:76] Trying to add node:DHTNode ID=40d411bd2d611d72150a5f2863dc45ed2795e139, Host=<IP_ADDRESS>(10200), Condition=1, RTT=0
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:85] Added DHTNode.
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:76] Trying to add node:DHTNode ID=4054a5c14d12394fa160b1046a89ed6d1611ee85, Host=<IP_ADDRESS>(62549), Condition=1, RTT=0
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:85] Added DHTNode.
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:76] Trying to add node:DHTNode ID=40da47b402930d6a2a188acd63f41562db800edd, Host=<IP_ADDRESS>(55091), Condition=1, RTT=0
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:85] Added DHTNode.
2017-11-14 12:14:48.318110 [DEBUG] [DHTRoutingTable.cc:76] Trying to add node:DHTNode ID=4092a89da97d887f471b8a2e5cb08c21d87e9e41, Host=<IP_ADDRESS>(54276), Condition=1, RTT=0
2017-11-14 12:14:48.319111 [DEBUG] [DHTRoutingTable.cc:85] Added DHTNode.
2017-11-14 12:14:48.319111 [DEBUG] [DHTRoutingTable.cc:76] Trying to add node:DHTNode ID=40b80069038236f83f6502f4b6b1f7a21c8c3c7d, Host=<IP_ADDRESS>(53983), Condition=1, RTT=0
2017-11-14 12:14:48.319111 [DEBUG] [DHTRoutingTable.cc:85] Added DHTNode.
2017-11-14 12:14:48.319111 [DEBUG] [DHTRoutingTable.cc:76] Trying to add node:DHTNode ID=48bc79e86689ac818943180c6fd141c143a0abe0, Host=<IP_ADDRESS>(32704), Condition=1, RTT=0
2017-11-14 12:14:48.319111 [DEBUG] [DHTRoutingTable.cc:91] Splitting bucket. Range:4000000000000000000000000000000000000000-7fffffffffffffffffffffffffffffffffffffff
2017-11-14 12:14:48.319111 [DEBUG] [DHTBucket.cc:206] New bucket. prefixLength=3, Range:4000000000000000000000000000000000000000-5fffffffffffffffffffffffffffffffffffffff
2017-11-14 12:14:48.319111 [DEBUG] [DHTBucket.cc:210] Existing bucket. prefixLength=3, Range:6000000000000000000000000000000000000000-7fffffffffffffffffffffffffffffffffffffff
2017-11-14 12:14:48.319111 [DEBUG] [DHTRoutingTable.cc:91] Splitting bucket. Range:4000000000000000000000000000000000000000-5fffffffffffffffffffffffffffffffffffffff
2017-11-14 12:14:48.319111 [DEBUG] [DHTBucket.cc:206] New bucket. prefixLength=4, Range:4000000000000000000000000000000000000000-4fffffffffffffffffffffffffffffffffffffff
2017-11-14 12:14:48.319111 [DEBUG] [DHTBucket.cc:210] Existing bucket. prefixLength=4, Range:5000000000000000000000000000000000000000-5fffffffffffffffffffffffffffffffffffffff
2017-11-14 12:14:48.319111 [DEBUG] [DHTRoutingTable.cc:91] Splitting bucket. Range:4000000000000000000000000000000000000000-4fffffffffffffffffffffffffffffffffffffff
2017-11-14 12:14:48.319111 [DEBUG] [DHTBucket.cc:206] New bucket. prefixLength=5, Range:4000000000000000000000000000000000000000-47ffffffffffffffffffffffffffffffffffffff
2017-11-14 12:14:48.319111 [DEBUG] [DHTBucket.cc:210] Existing bucket. prefixLength=5, Range:4800000000000000000000000000000000000000-4fffffffffffffffffffffffffffffffffffffff
2017-11-14 12:14:48.319111 [DEBUG] [DHTRoutingTable.cc:85] Added DHTNode.
2017-11-14 12:14:48.319111 [DEBUG] [DHTRoutingTable.cc:76] Trying to add node:DHTNode ID=48fde1ed449a0c3a0c6fe64b027ebdabfbcabb82, Host=<IP_ADDRESS>(62158), Condition=1, RTT=0
2017-11-14 12:14:48.319111 [DEBUG] [DHTRoutingTable.cc:85] Added DHTNode.
2017-11-14 12:14:48.319111 [DEBUG] [DHTRoutingTable.cc:76] Trying to add node:DHTNode ID=48917bf9cf7dcefc826c29b53fc2c06314e7ab47, Host=<IP_ADDRESS>
12:14:59.450394 [DEBUG] [DHTAbstractNodeLookupTask.h:190] Received nodes: id=009c22e3ed2722c4f7b08c46df6cad0c245b0cd7, ip=<IP_ADDRESS>
2017-11-14 12:14:59.450394 [DEBUG] [DHTAbstractNodeLookupTask.h:190] Received nodes: id=009c23c6e5ac1ceec3598c839e3dc17d1eb1c29f, ip=<IP_ADDRESS>
2017-11-14 12:14:59.450394 [DEBUG] [DHTAbstractNodeLookupTask.h:190] Received nodes: id=009c248b6729504617b909249efcf09ee452b7ef, ip=<IP_ADDRESS>
2017-11-14 12:14:59.450394 [DEBUG] [DHTAbstractNodeLookupTask.h:190] Received nodes: id=009c24f1f1bbe9ebb3a6db3c870c3e99245e0d90, ip=<IP_ADDRESS>
2017-11-14 12:14:59.450394 [DEBUG] [DHTAbstractNodeLookupTask.h:190] Received nodes: id=009c2849f1f1bbe9ebb3a6db3c870c3e99245e52, ip=<IP_ADDRESS>
2017-11-14 12:14:59.450394 [DEBUG] [DHTAbstractNodeLookupTask.h:190] Received nodes: id=009c0057201114f81c4e1c9425b1f7a219462271, ip=<IP_ADDRESS>
2017-11-14 12:14:59.450394 [DEBUG] [DHTAbstractNodeLookupTask.h:190] Received nodes: id=009c06b3a6db3c870c3e99245e0d1c06b747dee9, ip=<IP_ADDRESS>
2017-11-14 12:14:59.450394 [DEBUG] [DHTAbstractNodeLookupTask.h:190] Received nodes: id=009c0b01ed0aa46f5d890166fd1c6ed1bc083514, ip=<IP_ADDRESS>
2017-11-14 12:14:59.450394 [DEBUG] [DHTAbstractNodeLookupTask.h:196] 8 node lookup entries added.
2017-11-14 12:14:59.450394 [DEBUG] [DHTAbstractNodeLookupTask.h:204] 16 node lookup entries are unique.
2017-11-14 12:14:59.450394 [DEBUG] [DHTAbstractNodeLookupTask.h:111] 3 in flight message for node ID 009c22bb3d9d6d6e43a838ed707da5a7e348baee
2017-11-14 12:14:59.451393 [INFO] [DHTMessageDispatcherImpl.cc:79] Message sent: dht query find_node TransactionID=490b28ba Remote:<IP_ADDRESS>(61174), id=009c22e3ed2722c4f7b08c46df6cad0c245b0cd7, v=A2%00%03, targetNodeID=009c22bb3d9d6d6e43a838ed707da5a7e348baee
2017-11-14 12:14:59.451393 [DEBUG] [DHTMessageDispatcherImpl.cc:111] 0 dht messages remaining in the queue.
2017-11-14 12:14:59.497937 [DEBUG] [DHTTaskQueueImpl.cc:57] Updating periodicTaskQueue1
2017-11-14 12:14:59.497937 [DEBUG] [DHTTaskExecutor.cc:77] Executing 15 Task(s). Queue has 82 task(s).
2017-11-14 12:14:59.497937 [DEBUG] [DHTTaskQueueImpl.cc:59] Updating periodicTaskQueue2
2017-11-14 12:14:59.497937 [DEBUG] [DHTTaskExecutor.cc:77] Executing 0 Task(s). Queue has 0 task(s).
2017-11-14 12:14:59.497937 [DEBUG] [DHTTaskQueueImpl.cc:61] Updating immediateTaskQueue
2017-11-14 12:14:59.497937 [DEBUG] [DHTTaskExecutor.cc:77] Executing 0 Task(s). Queue has 0 task(s).
2017-11-14 12:14:59.497937 [DEBUG] [DHTMessageTracker.cc:79] Searching tracker entry for TransactionID=490b28ba, Remote=<IP_ADDRESS>:61174
2017-11-14 12:14:59.497937 [DEBUG] [DHTMessageTracker.cc:84] Tracker entry found.
2017-11-14 12:14:59.497937 [DEBUG] [DHTMessageTracker.cc:94] RTT is 48
2017-11-14 12:14:59.497937 [INFO] [DHTMessageReceiver.cc:123] Message received: dht response find_node TransactionID=490b28ba Remote:<IP_ADDRESS>(61174), id=009c22e3ed2722c4f7b08c46df6cad0c245b0cd7, v=, nodes=1
2017-11-14 12:14:59.497937 [DEBUG] [DHTRoutingTable.cc:76] Trying to add node:DHTNode ID=009c22e3ed2722c4f7b08c46df6cad0c902adbb4, Host=<IP_ADDRESS>(6881), Condition=1, RTT=0
2017-11-14 12:14:59.497937 [DEBUG] [DHTRoutingTable.cc:76] Trying to add node:DHTNode ID=009c22e3ed2722c4f7b08c46df6cad0c245b0cd7, Host=<IP_ADDRESS>(61174), Condition=0, RTT=48
2017-11-14 12:14:59.497937 [DEBUG] [DHTRoutingTable.cc:104] Cached node=DHTNode ID=009c22e3ed2722c4f7b08c46df6cad0c245b0cd7, Host=<IP_ADDRESS>(61174), Condition=0, RTT=48
2017-11-14 12:14:59.497937 [DEBUG] [DHTAbstractNodeLookupTask.h:190] Received nodes: id=009c22e3ed2722c4f7b08c46df6cad0c902adbb4, ip=<IP_ADDRESS>
2017-11-14 12:14:59.497937 [DEBUG] [DHTAbstractNodeLookupTask.h:196] 1 node lookup entries added.
2017-11-14 12:14:59.497937 [DEBUG] [DHTAbstractNodeLookupTask.h:204] 9 node lookup entries are unique.
2017-11-14 12:14:59.497937 [DEBUG] [DHTAbstractNodeLookupTask.h:111] 3 in flight message for node ID 009c22bb3d9d6d6e43a838ed707da5a7e348baee
2017-11-14 12:14:59.498948 [INFO] [DHTMessageDispatcherImpl.cc:79] Message sent: dht query find_node TransactionID=3c3cbe2a Remote:<IP_ADDRESS>(6881), id=009c22e3ed2722c4f7b08c46df6cad0c902adbb4, v=A2%00%03, targetNodeID=009c22bb3d9d6d6e43a838ed707da5a7e348baee
2017-11-14 12:14:59.498948 [DEBUG] [DHTMessageDispatcherImpl.cc:111] 0 dht messages remaining in the queue.
2017-11-14 12:15:00.503403 [DEBUG] [DHTTaskQueueImpl.cc:57] Updating periodicTaskQueue1
2017-11-14 12:15:00.504401 [DEBUG] [DHTTaskExecutor.cc:77] Executing 15 Task(s). Queue has 82 task(s).
2017-11-14 12:15:00.504401 [DEBUG] [DHTTaskQueueImpl.cc:59] Updating periodicTaskQueue2
2017-11-14 12:15:00.504401 [DEBUG] [DHTTaskExecutor.cc:77] Executing 0 Task(s). Queue has 0 task(s).
2017-11-14 12:15:00.504401 [DEBUG] [DHTTaskQueueImpl.cc:61] Updating immediateTaskQueue
2017-11-14 12:15:00.504401 [DEBUG] [DHTTaskExecutor.cc:77] Executing 0 Task(s). Queue has 0 task(s).
2017-11-14 12:15:00.504401 [DEBUG]
Any suggestions gratefully received!

Without tracker and DHT, how could you use torrent? How could aria2 know where to find a copy?
BTW, use pastebin.com to paste log, don't just paste them in issue.


fix: use standard endpoint syntax for CloudFrontDistribution

Description of changes
Always use the standard endpoint syntax to access buckets; Otherwise, the website will return AccessDenied for up to 24 hours after first deploying.
Refs: https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html
I have deployed 5-6 times in the last few days and each time I always have to wait at least an hour. Today I waited 5 hours and couldn't stand it so I had to manually change the origin to s3.ap-northeast-1.amazonaws.com. Do not use Legacy Endpoints.
Description of how you validated changes
I confirmed that the CloudFrontDistribution origin setting is RegionalDomainName in the AWS Console.
Checklist

[X] PR description included
[X] yarn test passes
[X] Tests are changed or added
[X] Relevant documentation is changed or added (and PR referenced)
[X] New AWS SDK calls or CloudFormation actions have been added to relevant test and service IAM policies

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

I got advice from uncodable#9999 in the Amplify Discord Community.

Codecov Report

Merging #10589 (d5f4187) into master (9418956) will increase coverage by 0.00%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #10589   +/-   ##
=======================================
  Coverage   47.30%   47.30%
=======================================
  Files         665      665
  Lines       32880    32880
  Branches     6632     6632
=======================================
+ Hits        15554    15555    +1
+ Misses      15657    15656    -1
  Partials     1669     1669

Impacted Files
Coverage Δ

...li/src/domain/amplify-usageData/getUsageDataUrl.ts
100.00% <0.00%> (+12.50%)
:arrow_up:

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more

+1, It seems we're still using the old legacy global endpoint which has issues around DNS propagation for a 24 hour period (https://aws.amazon.com/premiumsupport/knowledge-center/s3-http-307-response/).
I also believe this method COULD be faster on the CloudFront side as there's less DNS hopping to the bucket hosted region itself.

Requests made with the legacy global endpoint go to US East (N. Virginia) by default. Therefore, the legacy global endpoint is sometimes used in place of the Regional endpoint for US East (N. Virginia). If you create a bucket in US East (N. Virginia) and use the global endpoint, Amazon S3 routes your request to this Region by default.

(https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html)

Hi @danielleadams, thank you for your reply! please check the following info.
https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html

https://aws.amazon.com/premiumsupport/knowledge-center/s3-http-307-response/?nc1=h_ls

Thanks @danielleadams @edwardfoyle! The test sseems to be failing. I will rebase to dev latest if needed. But if I do that, will I need to approve again? If there is anything I can do to help, please let me know.

@Ajido do you mind rebasing? We changed some package names and I think it's failing because of that. Thanks!

@danielleadams Thanks!

@danielleadams @edwardfoyle I rebased to latest; passed tests. are there any remaining issues to merging this change?

@Ajido thanks for rebasing. Going to run the final test suite now.


more service state control

this is helpfull when:

you do not want to enable grafana from the beginning
you want to disable grafana on a later run
you want more control over service starts/restarts for whatever reason

This role has been deprecated in favor of a the prometheus-community/ansible collection.


Is webGL export supported for unity? Not working by now

I'm building the example scene on windows and it's showing the scene perfectly but when I try that on webgl is not showing anything
Is because Webgl is not supported or am I missing something?
Thanks, amazing tool man!

WebGL is OpenGL ES, and that one does not work as per #26


[Proposal] ENSIP-17: DataURI Format in Contenthash

This proposed extension to ENSIP-07 introduces data:uri format in ENS Contenthash field, allowing dynamic data streaming using EIP-3668: CCIP-Read and ENSIP-10: Wildcard Resolution. Please feel free to go through the draft and ask any questions, seek clarifications, give suggestions or propose edits.

Thanks for submitting this! It's nice to see expanded standardisation of this, and I like the novel combination of CCIP read and contenthash.
However, contenthash is a binary field, as defined here: https://docs.ens.domains/ens-improvement-proposals/ensip-7-contenthash-field

The value returned by contenthash MUST be represented as a machine-readable multicodec.

This spec will need to be updated to either use an existing multicodec type to encode the data, or to use a newly defined one.

This spec will need to be updated to either use an existing multicodec type to encode the data, or to use a newly defined one.

We were looking to use plaintextv2 as hex("pla") = 0x706c61 from multicodec.

522
plaintextv2
multiaddr
0x706c61
draft

So we're deviating from multicodec on this to implement a default/fallback profile implemented in some JS code e.g. ens/contenthash.js
 default: {
    encode: encodes.utf8,
    decode: decodes.utf8,
  },

We can request to add stringTohex("data:") = 0x646174613a in multicodec too. But we prefer reuse NFT DataURIs directly without any extra prefix for namespace, version & multiaddr/version.
For instance, contenthash for 1234.hello-nft.eth can resolve bytes(tokenURI(1234)) directly as data:application/json,{...metadata}.

But we're eventually deviating from multicodec on this to feature a default/fallback profile implemented in some JS code e.g. ens/contenthash.js

The problem with this is that it directly contradicts ENSIP-7, as quoted above. Contenthashes must be valid multicodec values. We're not going to standardise something that contradicts an earlier standard like this.

This is a copy of the response posted in the ENS Forum.

Thanks for the feedback! We have looked into possible ways for this draft ENSIP to be compatible with multicodec. These are our findings in form of different implementations with and without multicodec. We are open to either implementation in the end and update this draft ENSIP as required.
A) Bypass Multicodec:
First, we'd like to point to the current state of ens/content-hash.js. When using hex("data:") = 0x646174613a as prefix, encoding doesn't work and the decoder nearly works but it removes the first byte in the process. Please see example below,
import {encode, decode } from "@ensdomains/content-hash";
console.log(encode("data:text/plain;base64,SGVsbG8gV29ybGQ"))
//><PHONE_NUMBER>0000000000

console.log(decode("646174613a746578742f706c61696e3b6261736536342c534756736247386756323979624751"))
//> ata:text/plain;base64,SGVsbG8gV29ybGQ

The extra 0x00 prefix identifier as a spacer/pseudo namespace could prevent any future collision with multicodec.
console.log(decode("00646174613a746578742f706c61696e3b6261736536342c534756736247386756323979624751"))
//> data:text/plain;base64,SGVsbG8gV29ybGQ

Quoting @raffy here,
[quote="raffy, post:3, topic:18048"]
Although for simplicity, I’m a fan of bypassing the multicodec stuff (as long as the first uvarint decodes correctly) and just embedding raw utf-8 data.
[/quote]
This will bypass multicodec for DataURIs in Contenthash. ens/content-hash.js and any gateways/clients can easily implement this with basic checks, i.e. checking for if prefix is 0x00646174613a before encoding and decoding so that ENS clients and gateways can use DataURIs directly without leaving any room for current or future collisions with multicodec formats. This approach will be ENS specific and we can change our ENSIP draft to reflect this.
✅ This is our preferred implementation but we are not married to it.
B) Multicodec Compatible Formats
If multicodec must be used, then we'd like to propose the following options:
1) raw data type with IPFS namespace:
IPFS namespace is compatible with DataURIs using raw data type.
import { CID } from 'multiformats/cid'
import { identity } from 'multiformats/hashes/identity'
import * as raw from "multiformats/codecs/raw";
const utf8 = new TextEncoder();

let data = utf8.encode('data:text/plain;base64,SGVsbG8gV29ybGQ')
let cid = CID.create(1, raw.code, await identity.digest(data))

IPFS Format :
base32: bafkqajtemf2gcotumv4hil3qnrqws3r3mjqxgzjwgqwfgr2wonreoodhkyzds6lci5iq
base16: f01550026646174613a746578742f706c61696e3b6261736536342c534756736247386756323979624751
Contenthash: 0xe30101550026646174613a746578742f706c61696e3b6261736536342c534756736247386756323979624751

Namespace
Length
Version
Multicodec
Multihash
Length
Data

ipfs
1
1
raw
identity
38
data:text/plain;base64,SGVsbG8gV29ybGQ

0xe3
0x01
0x01
0x55
0x00
0x26
0x646174613a746578742f706c61696e3b6261736536342c534756736247386756323979624751

CID Inspector : https://cid.ipfs.tech/#bafkqajtemf2gcotumv4hil3qnrqws3r3mjqxgzjwgqwfgr2wonreoodhkyzds6lci5iq

Public Gateway : https://ipfs.io/ipfs/bafkqajtemf2gcotumv4hil3qnrqws3r3mjqxgzjwgqwfgr2wonreoodhkyzds6lci5iq

Since this method uses IPFS namespace, ens/content-hash.js and any compatible gateway or client must check if the encoded payload is using raw as multicodec with identity (blank) as multihash; the shorthand prefix for this is 0xe301015500. Clients can decode the remaining raw data as utf-8 string; if this data is not data:uri formatted, it should be auto-rendered as plaintext for correctly formatted data:uri clients, and gateways can render according to mime or type included in the DataURI payload.
2) plaintextv2 data with IPFS or IPLD namespace:
This is similar to the previous option but using plaintextv2 instead of raw as multicodec.
[quote="0xc0de4c0ffee, post:4, topic:18048"]
There’s plaintextv2 as hex("pla") = 0x706c61 multiaddr prefix in multicodec.
522 plaintextv2 multiaddr 0x706c61 draft
[/quote]
import { CID } from 'multiformats/cid'
import { identity } from 'multiformats/hashes/identity'
const utf8 = new TextEncoder();

let data = utf8.encode('data:text/plain;base64,SGVsbG8gV29ybGQ');
let cid = CID.create(1, 0x706c61, await identity.digest(data))

plaintextv2 format using IPFS namespace
Base32 : bahq5rqidaatgiylume5hizlyoqxxa3dbnfxdwytbonstmnbmkndvm43ci44govrshf4wer2r
Base16 : f01e1d8c1030026646174613a746578742f706c61696e3b6261736536342c534756736247386756323979624751
Contenthash :
0xe30101e1d8c1030026646174613a746578742f706c61696e3b6261736536342c534756736247386756323979624751

Namespace
Length
Version
Multicodec
Length
Multihash
Length
Data

ipfs
1
1
plaintextv2
3
identity
38
data:text/plain;base64,SGVsbG8gV29ybGQ

0xe3
0x01
0x01
0xe1d8c1
0x03
0x00
0x26
0x646174613a746578742f706c61696e3b6261736536342c534756736247386756323979624751

CID Inspector : https://cid.ipfs.tech/#bahq5rqidaatgiylume5hizlyoqxxa3dbnfxdwytbonstmnbmkndvm43ci44govrshf4wer2r

Public Gateway : https://ipfs.io/ipfs/bahq5rqidaatgiylume5hizlyoqxxa3dbnfxdwytbonstmnbmkndvm43ci44govrshf4wer2rh

plaintextv2 format using IPLD namespace
Base32 : bahq5rqidaatgiylume5hizlyoqxxa3dbnfxdwytbonstmnbmkndvm43ci44govrshf4wer2r
Base16 : f01e1d8c1030026646174613a746578742f706c61696e3b6261736536342c534756736247386756323979624751
Contenthash :
0xe20101e1d8c1030026646174613a746578742f706c61696e3b6261736536342c534756736247386756323979624751

Namespace
Length
Version
Multicodec
Length
Multihash
Length
Data

ipld
1
1
plaintextv2
3
identity
38
data:text/plain;base64,SGVsbG8gV29ybGQ

0xe2
0x01
0x01
0xe1d8c1
0x03
0x00
0x26
0x646174613a746578742f706c61696e3b6261736536342c534756736247386756323979624751

CID Inspector : https://cid.ipfs.tech/#bahq5rqidaatgiylume5hizlyoqxxa3dbnfxdwytbonstmnbmkndvm43ci44govrshf4wer2r

Public Gateway : https://dweb.link/api/v0/dag/get?arg=bahq5rqidaatgiylume5hizlyoqxxa3dbnfxdwytbonstmnbmkndvm43ci44govrshf4wer2r

❗ NOTE: plaintextv2 is still in draft and IPFS gateways CANNOT yet render it properly resulting in 500 error. Trying to use it as IPLD might require changing the encoding process too. We do not prefer this method.
C) CARv1 strings
CARv1 files as strings can represent IPFS data or IPLD files and directory but this implementation is more complex than previous options so we'll only mention this as a footnote. We don't have the bandwidth to implement this. If ENS devs are happy to explore this for future implementation, it'll be one of best options for fully on- or off-chain generators and IPFS data storage.
Based on this, we are happy to get more feedback and then make changes to the draft ENSIP!

I'm confused why IPFS is involved at all. Why can't you either use an existing multicodec identifier or define a new one for URIs?

I'm confused why IPFS is involved at all. Why can't you either use an existing multicodec identifier or define a new one for URIs?

We had thought about the option of a new namespace in our draft but we skipped it since IPFS/IPLD namespace with plaintext or raw encoded payload contained within the CID is sufficiently unique, and backwards compatible with IPFS gateways returning plaintext data.
Proposed IPFS (raw-ipld/plaintext) : 0xe301015500 + <data.length> + <data>
  Normal IPFS      (dag-pb/sha256) : 0xe301017012 + <hash.length> + <hash of data or dag>

However, we're open to requesting a new ENS-specific namespace for this ENSIP only. In this regard, please suggest a short code (>=2 bytes) for this and we'll PR that in the multicodec table soon. Something like

hex('ens') = 0x656e73 sounds like a good option to us; equivalent namespace is VARINT(0x656e73) = 0xf3dc9503
Non-ASCII option 0xda7a is also good, which will lead to a VARINT(0xda7a) = 0xfab403 namespace

The above two options with raw multiaddr should implement like:

Namespace
Version
Multiaddr
Multihash
Length
Example

1
raw
identity
38
data:text/plain;base64,SGVsbG8gV29ybGQ

0xda7a
0xfab403
0x01
0x55
0x00
0x26
0x646...751

hex('ens')
0xf3dc9503
0x01
0x55
0x00
0x26
0x646...751

There are currently no DataURI-related multiaddr or namespaces and we do not want to introduce one in this context due to lack of manpower and funding to follow up on sidequests. DataURI class is too broad and it'll also require mime/type codecs which are pending on issues or PR for a very long time. See below:

https://github.com/multiformats/multicodec/pull/159

https://github.com/multiformats/multicodec/pull/4


Use informer for pod get/list instead of talking to API server.

Signed-off-by: Ville Aikas<EMAIL_ADDRESS>
Changes
Instead of talking to API server for List/Get related to pods, use informer.

Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[x] Docs included if any changes are user facing
[x] Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including
functionality, content, code)
[x] Release notes block below has been filled in
(if there are no user facing changes, use release note "NONE")

Release Notes

@vdemeester @afrittoli Was it a conscious decision to avoid the informer cache here? I seem to recall there being races and flakes, but I think they may have been solved by the change that renamed pods so they were more uniformly mapped to taskrun names. Can we avoid direct API calls here now? 🙏

@vdemeester @afrittoli Was it a conscious decision to avoid the informer cache here? I seem to recall there being races and flakes, but I think they may have been solved by the change that renamed pods so they were more uniformly mapped to taskrun names. Can we avoid direct API calls here now? pray

Yeah I don't fully remember the reason, but I have a similar vague idea that it was that, and I also think it might have been fixed by the pod name being uniformly set now.

/test pull-tekton-pipeline-alpha-integration-tests

/test pull-pipeline-kind-k8s-v1-21-e2e

/test pull-pipeline-kind-k8s-v1-21-e2e

/kind misc


How to map the annotated element to raw HTML?

Thanks for the great work!
I wonder how to match annotation elements with their corresponding element in the raw HTML file?
I found that there is a backend_node_id inside attributes, however, the backend_node_id seems to only appear in cleaned_html than raw_html
Thanks!

Sorry I forgot to also reply here. The raw_html in the shared train/test data should contain the backend_node_id field, but the mhtml file in the raw dump does not.
This is actually caused by the implementation of Chrome Dev Tools. There are two ways to obtain a snapshot of the page through Chrome Dev Tool, Page.captureSnapshot and DOMSnapshot.
The former is similar to regular save in the browser, which returns a self-contained MHTML file, and can be loaded by a browser, however, some of the internal information used by Chrome is dropped during the process.
The later returns a DOM tree object, which retains the most information, including some generated after rendering, such as bounding box. We can reconstructed the HTML page with the DOM tree, which is how data used in the experiments are generated.
backend_node_id is something Chrome used internally as a unique identifier for each node, but it is only saved via the DOM tree, thus not presented in the mhtml. One method to have the mhtml file including the backend_node_id information is to add new attributes to the page via JS, but it is very expensive.


Automatic export does not show on the list (though it works in background)

Automatic export doesn't show on the export list. It works in the background, the export is done as I set it, but I just cannot see it on the list.
ReportID: 282GSF7T
BBT version: <IP_ADDRESS>98 (in a few earlier versions the bug existed too)
Zotero 5 on Windows 10 Pro 64 bit, Polish language version

:robot: this is your friendly neighborhood build bot announcing test build 4613 ("website, caching").

Can you try 4613?

I just did and it's working now :)
Thank you!

Super thanks for the fast feedback.

The problem appeared again with 4848, in new clothes. Automatic export is invisible in the list, but is selectable (and can be released manually), as on the attached picture.
ReportID: MVV78499

It's really a different issue, but I see what's going wrong.

:robot: this is your friendly neighborhood build bot announcing test build 4855 ("New translations zotero-better-bibtex.properties (French) (#800)").

Try 4855

Works perfectly now. Thanks!

Alright, i'm closing a few more issues and then cutting a new release


Feature / Box Shadow on Hover

This PR adds a show and hide shadow action which can be used to show a box shadow on hovering over an element. This is useful to indicated that it can be clicked, e.g. an image that shows a larger version of itself as a modal.
To be able to reuse the shadows css representation I introduced a Shadow type. I'm not happy about the amount of code this adds but also reuses duplication in the css strings. Let me know what you prefer.
Image(decorative: "/images/awesome.jpeg")
        .resizable()
        .frame(width: 150)
        .cornerRadius(6)
        .onHover { isHovering in
            if isHovering {
                ShowBoxShadow()
            } else {
                HideBoxShadow()
            }
        }
        .onClick {
            ShowModal(id: "largeImageModalId")
        }

I like the concept (you're on fire!), but I'm not sure about the execution. If we take this approach we'll end up with a  bunch of actions that are really just modifiers being conditionally applied. If we're going to do support on hover variants of our elements, we might want to look for a more all-encompassing approach that lets us unlock other kinds of modifiers too.
For example – and this is literally off the top of my head, so please don't take this as me saying this is the Right Way™ – what if we were to take inspiration from SwiftUI's visualEffect() modifier to make some kind of hoverEffect() modifier? Visual effects pass the view that they are modifying into a closure, at which point a bunch of different modifiers can be applied. So, using your example we might have this:
Image(decorative: "/images/awesome.jpeg")
        .resizable()
        .frame(width: 150)
        .cornerRadius(6)
        .hoverEffect { element in
                element
                        .shadow(radius: 5)
        }
        .onClick {
            ShowModal(id: "largeImageModalId")
        }

SwiftUI only supports a subset of modifiers inside visual effects, and we could do the same – start small, perhaps just with shadows, and work our way up. I think even though they look like regular modifiers, internally they would become JavaScript code to be executed when the hover state changes.
We'd need to think carefully about reverting all the style changes when hovering ends, but I think we could get that fairly easily. For example, the below sample HTML applies a bunch of styles to some text, stashes those styles away in a local property of the element when hovering starts, then restores them when hovering ends:

This is a test.

Presumably we'd also need to do something for classes, if/when we support for that inside hover effects.

  Let me look into it.

(you're on fire!)
I'm building my portfolio website at the moment and these PRs are basically things I build to achieve the look I want and I'm happy to share.

I have checked the SwiftUI APIs for the new HoverEffect, which is in beta, and the VisualEffect you suggested. Both would work but their approach is different.
Option I
SwiftUIs new HoverEffect takes a semantic approach. It's a simple struct and there are static properties defined on it called lift and highlight. However, you can create a CustomHoverEffect if needed. To my understanding in our case a hover effect is just a bunch of css styles so a custom effect could be as simple as exposing a initializer like this HoverEffect(styles: [AttributeValue]) or limited to existing effects static func combine(_ effects: [HoverEffect]) -> Self.
Even though choosing a set of effects that work for most people is a little tricky this looks like a simple but flexible approach to me.
 element
    .hoverEffect(.lift(.level1))

 element
    .hoverEffect(.myHoverEffect)

Option II
In contrast VisualEffect is a protocol and effects are applied via methods on VisualEffect to the EmptyVisualEffect which is passed in the closure. It looks like the effects target more or less a single style property. I guess this approach would be less opinionated of what a good hover effect is but needs more tinkering.
My approach to this implementation would be to pass the EmptyHoverEffect through the chain off effect methods and add the styles to an array in each method.
protocol HoverEffect {
    var styles: [AttributeValue] { get  set }
}

struct EmptyHoverEffect: HoverEffect {
    var styles: [AttributeValue] = []
}

extension HoverEffect {
    func shadow() -> some HoverEffect {
        addingStyle(.init(name: "boxShadow", value: "shadow values"))
    }

    func background(_ color: Color) -> some HoverEffect {
        addingStyle(.init(name: "backgroundColor", value: "\(color)"))
    }

    func addingStyle(_ style: AttributeValue) -> Self {
        var copy = self
        copy.styles.append(style)
        return copy
    }
}

extension PageElement {
    @discardableResult
    func hoverEffect(_ effect: @escaping (EmptyHoverEffect) -> some HoverEffect) -> Self {
        let styles = effect(EmptyHoverEffect()).styles
        onHover { isHovering in
            // Use styles here
        }
        return self
    }
}

// Usage

element
    .hoverEffect { content in
        content
            .shadow()
            .background(.blue)
    }

Reverting Styles

onmouseover="this.unhoveredStyle = this.style.cssText;

This was a great hint but it doesn't work e.g. for boxShadow because if there is no shadow applied in the first place it is later not removed. However, I can save the styles explicitly like this: "this.dataset.original\($0.name.capitalized) = this.style\($0.name)"

Hello! First, let me apologize again for taking so long to reply – moving house has been hard! However, I'm back on the case now.

This was a great hint but it doesn't work e.g. for boxShadow because if there is no shadow applied in the first place it is later not removed.

That's interesting! I tried it with a box shadow and it seemed to work. What am I missing?
My code:

This is a test.

Hello! First, let me apologize again for taking so long to reply – moving house has been hard! However, I'm back on the case now.

I can imagine. Hope you are set and well after all. Glad you are back!

That's interesting! I tried it with a box shadow and it seemed to work. What am I missing?

I tired it again and found that it works indeed. 🙈 I can only assume I made a typo in the remove action and couldn't think of any other explanation.

Also: to be clear, I was suggesting to take SwiftUI's visualEffect() modifier as inspiration, but name it hoverEffect() in Ignite.

Let me know what you think about my last commit. I got from you comment that you prefer option II.

I'm going to merge this in and take a look more closely; it still doesn't quite land where I'm hoping for, but it's already a big step forward. Thank you!

@markstamer Okay, I've made a handful of changes that I think gets it closer to the (admittedly invisible!) goal I had in my head. Could you please cast an eye over the "hover-achiever" branch and see what you think? What I've done is push HoverEffect way up the tree, so most elements to that protocol.
This allows us to re-use a wide variety of effects from other modifiers - things like foregroundStyle(), opacity(), cornerRadius(), textDecoration(), etc, now all work as hover effect modifiers, for example. My goal is to reduce duplication and widen what can be achieved, and this kind of code works great:
Text("Welcome to ExampleSite!")
    .font(.title1)
    .hoverEffect { content in
        content
            .foregroundStyle(.white)
            .background(.red)
            .shadow(radius: 3)
            .opacity(0.5)
            .cornerRadius("25%")
            .textDecoration(.underline)
    }
```swift

If that all looks sensible to you, we can rationalize things a little – `HoverEffect` is not a great protocol name with this new approach, I doubt I was comprehensive in my documentation, and I think some code is in the wrong files; I was mostly noodling around. I'm imagining `PageElement` being used for things that aren't hover compatible – changing the accessibility label, adding a hover effect (a hovering hover effect?), changing the hint, etc, all don't really make sense as hover effects.

If you're happy with these changes, I'll merge them into main.

@twostraws I took a look at your branch and it definitely makes sense to bundle the style related modifiers under a single protocol. Keeping the name HoverEffect, however, is confusing. What about changing HoverEffect to be a style focused protocol, such as CSSStylable? All style modifiers would be on this protocol and the HoverEffect protocol conforms to it to keep the API we started with.
What still bugs me is that you could add events and classes to it. This is a bit more invasive but I guess there is no clean way unless the CoreAttributes type is split in different types, since it mingles id, styles, classes, aria, etc. at the moment. This is only an idea at the moment but what if we split it in CoreAttributes and StyleAttributes and create separate protocols to hold them. So what if

BaseElement becomes HTMLRenderable
The new BaseElement protocol gets the CoreAttributes type but without styles
CSSStylable gets a StyleAttributes type and all modifiers that address styling

This way

Component conforms to HTMLRenderable instead of BaseElement
PageElement conforms to HTMLRenderable, BaseElementandCSSStylable`
HoverEffect conforms to CSSStylable but not to BaseElement

Of course we would need to go to all types conforming to PageElement and add a StyleAttributes property but it would solve the issue, I guess.
I can totally understand if at his point you don't want to mess with the base protocols anymore and be pragmatic but I think it would follow the path of your original intention until the end, no?

I'm happy to mess with the base protocols – we're still not near a 1.0 😂
I merged in a fairly wide-ranging PR from @dl-alexandre, so I'll need to probably do bits of this work again. I'm on the case right now, and should have it merged soon.

Great! I tried it out quick and dirty to see if there are any blockers but it seems work. Adding the styles property to all page elements is somewhat annoying though.

Adding the styles property to all page elements is somewhat annoying though.

Can you give me an example of what you mean?

I've merged these changes in now, and ended up with a much simpler approach. I was thinking previously that keeping some kind of hover distinction in place would be good for protocols, but then I kind of figured if someone wants to do something "creative" – add a hover effect to a hover effect – they are welcome to try! It certainly makes the code much easier, because it just moved things from HoverEffect to PageElement.