🐛 [Firebase Dynamic Link] Dynamic link is not opening on iOS platform but working fine on Android

Bug report
Describe the bug
We have implemented a firebase dynamic link for the project. It works fine with the Android platform but not with iOS.
We saw that the iOS app is opening on tap of the link but it doesn't give us the link or callback on the app.
Any help is appreciated!
Additional context
We have tried following things so far

App is opening but initialLink is coming up null and onLink is not called
Tried running the app in release mode, still it is not working
We tried upgrading the dependencies to the latest version
We ran the diagnostic tool as well and received the following error message

Firebase Dynamic Links framework version 10.3.0 System information: OS iOS, OS version 16.2, model iPhone Current date 2022-12-13 21:05:16 +0000 Device locale en-US (raw en_US), timezone America/Chicago ERROR: Specified custom URL scheme is (null) but Info.plist do not contain such scheme in CFBundleURLTypes key.     AppID Prefix: AN68337YX5, Team ID: AN68337YX5, AppId Prefix equal to Team ID: YES performDiagnostic detected 1 ERRORS. ---- Firebase Dynamic Links diagnostic output end ----

To resolve the above diagnostic we checked everything that was suggested on other Github issues: Verified dynamic link setup, and associated domains on the URL.

Here are some snaps for the setup

Flutter doctor
Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.4, on macOS 12.6 21G115 darwin-x64, locale en-IN)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] Connected device (2 available)
[✓] HTTP Host Availability

• No issues found!

Flutter dependencies
Click To Expand
Dart SDK 2.18.2
Flutter SDK 3.3.4
omcare_flutter 0.10.5+3

dependencies:
- adaptive_action_sheet 2.0.2 [flutter universal_io]
- app_settings 4.1.8 [flutter]
- assets_audio_player 3.0.5 [flutter rxdart uuid http path_provider assets_audio_player_web]
- audio_session 0.1.10 [flutter flutter_web_plugins rxdart meta]
- auto_size_text_pk 3.0.0 [flutter]
- bloc 8.1.0 [meta]
- bloc_concurrency 0.2.0 [bloc stream_transform]
- cached_network_image 3.2.2 [flutter flutter_cache_manager octo_image cached_network_image_platform_interface cached_network_image_web]
- callkeep 0.3.2 [flutter]
- collection 1.16.0
- cookie_jar 3.0.1
- cupertino_icons 1.0.5
- device_info_plus 7.0.1 [device_info_plus_platform_interface ffi file flutter flutter_web_plugins meta win32]
- dio 4.0.6 [http_parser path]
- dio_cookie_manager 2.0.0 [cookie_jar dio]
- dio_http2_adapter 2.0.0 [http2 dio]
- dio_http_formatter 2.1.0 [dio logger]
- dropdown_button2 1.9.2 [flutter]
- equatable 2.0.5 [collection meta]
- f_logs 2.0.1 [flutter sembast path_provider intl xxtea meta path stack_trace]
- firebase_core 2.4.1 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_dynamic_links 5.0.11 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_messaging 14.0.4 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta]
- firebase_performance 0.9.0+9 [firebase_core firebase_core_platform_interface firebase_performance_platform_interface firebase_performance_web flutter]
- flutter 0.0.0 [characters collection material_color_utilities meta vector_math sky_engine]
- flutter_app_icon_badge 2.0.0 [flutter]
- flutter_bloc 8.1.1 [flutter bloc provider]
- flutter_dotenv 5.0.2 [flutter]
- flutter_inappwebview_quill 5.4.6 [flutter]
- flutter_local_notifications 12.0.3 [clock flutter flutter_local_notifications_linux flutter_local_notifications_platform_interface timezone]
- flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path vector_math]
- flutter_mailer 2.0.1 [flutter]
- flutter_native_timezone 2.0.0 [flutter_web_plugins flutter js]
- flutter_quill 6.1.4 [flutter collection flutter_colorpicker flutter_keyboard_visibility quiver tuple url_launcher pedantic characters diff_match_patch i18n_extension device_info_plus platform pasteboard]
- flutter_secure_storage 6.0.0 [flutter flutter_secure_storage_linux flutter_secure_storage_macos flutter_secure_storage_platform_interface flutter_secure_storage_web flutter_secure_storage_windows meta]
- flutter_slidable 2.0.0 [flutter]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- flutter_switch 0.3.2 [flutter]
- flutter_webrtc 0.9.12 [dart_webrtc flutter path_provider webrtc_interface]
- fluttertoast 8.1.1 [flutter flutter_web_plugins]
- font_awesome_flutter 10.0.0-beta [flutter]
- grouped_list 5.1.2 [flutter]
- h264_profile_level_id 0.2.0 [flutter]
- intl 0.17.0 [clock path]
- isolated_worker 0.1.1 [meta]
- loading_overlay 0.3.0 [flutter]
- local_auth 2.1.2 [flutter intl local_auth_android local_auth_ios local_auth_platform_interface local_auth_windows]
- mask_text_input_formatter 2.4.0 [flutter]
- multi_value_listenable_builder 0.0.2 [flutter]
- open_mail_app 0.4.5 [platform url_launcher flutter]
- package_info_plus 3.0.1 [ffi flutter flutter_web_plugins http meta path package_info_plus_platform_interface win32]
- path_provider 2.0.11 [flutter path_provider_android path_provider_ios path_provider_linux path_provider_macos path_provider_platform_interface path_provider_windows]
- path_provider_platform_interface 2.0.5 [flutter platform plugin_platform_interface]
- permission_handler 10.2.0 [flutter meta permission_handler_android permission_handler_apple permission_handler_windows permission_handler_platform_interface]
- pin_code_fields 7.4.0 [flutter]
- plugin_platform_interface 2.1.3 [meta]
- provider 6.0.4 [collection flutter nested]
- rxdart 0.27.5
- salomon_bottom_bar 3.3.1 [flutter]
- sdp_transform 0.3.2
- sembast 3.3.1 [meta path synchronized]
- sentry 6.13.1 [http meta stack_trace uuid intl]
- sentry_dio 6.13.1 [dio sentry]
- sentry_flutter 6.13.1 [flutter flutter_web_plugins sentry package_info_plus meta]
- sentry_logging 6.13.1 [logging sentry]
- shared_preferences 2.0.15 [flutter shared_preferences_android shared_preferences_ios shared_preferences_linux shared_preferences_macos shared_preferences_platform_interface shared_preferences_web shared_preferences_windows]
- shimmer 2.0.0 [flutter]
- sticky_grouped_list 3.1.0 [flutter scrollable_positioned_list meta]
- timezone 0.9.0 [path]
- tuple 2.0.1
- url_launcher 6.1.6 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]
- url_strategy 0.2.0 [flutter_web_plugins]
- uuid 3.0.6 [crypto]
- wakelock 0.6.2 [flutter meta wakelock_macos wakelock_platform_interface wakelock_web wakelock_windows]
- web_socket_channel 2.2.0 [async crypto stream_channel]
- window_manager 0.2.7 [flutter path screen_retriever]

dev dependencies:
- bloc_test 9.1.0 [bloc diff_match_patch meta mocktail test]
- build_runner 2.2.1 [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 package_config path pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- flutter_lints 2.0.1 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]
- integration_test 0.0.0 [flutter flutter_driver flutter_test path vm_service archive async boolean_selector characters clock collection crypto fake_async file matcher material_color_utilities meta source_span stack_trace stream_channel string_scanner sync_http term_glyph test_api typed_data vector_math webdriver]
- mockito 5.3.2 [analyzer build code_builder collection dart_style matcher meta path source_gen test_api]
- mocktail 0.3.0 [collection matcher test]
- sentry_dart_plugin 1.0.0-beta.2 [yaml injector ansicolor package_config system_info2]
- test 1.21.4 [analyzer async boolean_selector collection coverage http_multi_server io js node_preamble package_config path pool shelf shelf_packages_handler shelf_static shelf_web_socket source_span stack_trace stream_channel typed_data web_socket_channel webkit_inspection_protocol yaml test_api test_core]
- test_cov_console 0.2.2

dependency overrides:
- font_awesome_flutter 10.0.0-beta [flutter]

transitive dependencies:
- _fe_analyzer_shared 47.0.0 [meta]
- _flutterfire_internals 1.0.12 [collection firebase_core firebase_core_platform_interface flutter meta]
- analyzer 4.7.0 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- ansicolor 2.0.1
- archive 3.3.0 [crypto path]
- args 2.3.1
- assets_audio_player_web 3.0.5 [flutter flutter_web_plugins]
- async 2.9.0 [collection meta]
- boolean_selector 2.1.0 [source_span string_scanner]
- build 2.3.1 [analyzer async convert crypto glob logging meta path]
- build_config 1.1.1 [checked_yaml json_annotation path pubspec_parse yaml]
- build_daemon 3.1.0 [built_collection built_value http_multi_server logging path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 2.0.10 [analyzer async build crypto graphs logging path package_config pool pub_semver stream_transform yaml]
- build_runner_core 7.2.7 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta path package_config pool timing watcher yaml]
- built_collection 5.1.1
- built_value 8.4.2 [built_collection collection fixnum meta]
- cached_network_image_platform_interface 2.0.0 [flutter flutter_cache_manager]
- cached_network_image_web 1.0.2 [flutter flutter_cache_manager cached_network_image_platform_interface]
- characters 1.2.1
- checked_yaml 2.0.1 [json_annotation source_span yaml]
- clock 1.1.1
- code_builder 4.3.0 [built_collection built_value collection matcher meta]
- convert 3.1.1 [typed_data]
- coverage 1.5.0 [args logging package_config path source_maps stack_trace vm_service]
- crypto 3.0.2 [typed_data]
- dart_style 2.2.4 [analyzer args path pub_semver source_span]
- dart_webrtc 1.0.10 [webrtc_interface]
- dbus 0.7.8 [args ffi meta xml]
- device_info_plus_platform_interface 6.0.1 [flutter meta plugin_platform_interface]
- diff_match_patch 0.4.1
- fake_async 1.3.1 [clock collection]
- ffi 2.0.1
- file 6.1.2 [meta path]
- file_utils 1.0.1 [globbing path]
- firebase_core_platform_interface 4.5.2 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.1.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_dynamic_links_platform_interface 0.2.3+26 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_platform_interface 4.2.5 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_web 3.2.5 [_flutterfire_internals firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins js meta]
- firebase_performance_platform_interface 0.1.1+29 [_flutterfire_internals firebase_core flutter plugin_platform_interface]
- firebase_performance_web 0.1.1+18 [_flutterfire_internals firebase_core firebase_core_web firebase_performance_platform_interface flutter flutter_web_plugins js]
- fixnum 1.0.1
- flutter_blurhash 0.7.0 [flutter]
- flutter_cache_manager 3.3.0 [clock collection file flutter http path path_provider pedantic rxdart sqflite uuid]
- flutter_colorpicker 1.0.3 [flutter]
- flutter_driver 0.0.0 [file flutter flutter_test fuchsia_remote_debug_protocol path meta vm_service webdriver archive async boolean_selector characters clock collection crypto matcher material_color_utilities platform process source_span stack_trace stream_channel string_scanner sync_http term_glyph test_api typed_data vector_math]
- flutter_keyboard_visibility 5.4.0 [meta flutter_keyboard_visibility_platform_interface flutter_keyboard_visibility_linux flutter_keyboard_visibility_macos flutter_keyboard_visibility_web flutter_keyboard_visibility_windows flutter]
- flutter_keyboard_visibility_linux 1.0.0 [flutter_keyboard_visibility_platform_interface flutter]
- flutter_keyboard_visibility_macos 1.0.0 [flutter_keyboard_visibility_platform_interface flutter]
- flutter_keyboard_visibility_platform_interface 2.0.0 [flutter meta plugin_platform_interface]
- flutter_keyboard_visibility_web 2.0.0 [flutter_keyboard_visibility_platform_interface flutter_web_plugins flutter]
- flutter_keyboard_visibility_windows 1.0.0 [flutter_keyboard_visibility_platform_interface flutter]
- flutter_local_notifications_linux 2.0.0 [flutter flutter_local_notifications_platform_interface dbus path xdg_directories]
- flutter_local_notifications_platform_interface 6.0.0 [flutter plugin_platform_interface]
- flutter_plugin_android_lifecycle 2.0.7 [flutter]
- flutter_secure_storage_linux 1.1.1 [flutter flutter_secure_storage_platform_interface]
- flutter_secure_storage_macos 1.1.1 [flutter flutter_secure_storage_platform_interface]
- flutter_secure_storage_platform_interface 1.0.0 [flutter plugin_platform_interface]
- flutter_secure_storage_web 1.0.2 [flutter flutter_web_plugins flutter_secure_storage_platform_interface js]
- flutter_secure_storage_windows 1.1.2 [flutter flutter_secure_storage_platform_interface]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- frontend_server_client 2.1.3 [async path]
- fuchsia_remote_debug_protocol 0.0.0 [process vm_service file meta path platform]
- gettext_parser 0.2.0
- glob 2.1.0 [async collection file path string_scanner]
- globbing 1.0.0 [path]
- graphs 2.2.0 [collection]
- http 0.13.5 [async http_parser meta path]
- http2 2.0.1
- http_multi_server 3.2.1 [async]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- i18n_extension 5.0.1 [sprintf args analyzer gettext_parser equatable intl flutter]
- injector 2.0.0
- io 1.0.3 [meta path string_scanner]
- js 0.6.4
- json_annotation 4.7.0 [meta]
- lints 2.0.1
- local_auth_android 1.0.15 [flutter flutter_plugin_android_lifecycle intl local_auth_platform_interface]
- local_auth_ios 1.0.10 [flutter intl local_auth_platform_interface]
- local_auth_platform_interface 1.0.5 [flutter intl plugin_platform_interface]
- local_auth_windows 1.0.4 [flutter local_auth_platform_interface]
- logger 1.1.0
- logging 1.1.0
- matcher 0.12.12 [stack_trace]
- material_color_utilities 0.1.5
- meta 1.8.0
- mime 1.0.2
- nested 1.0.0 [flutter]
- node_preamble 2.0.1
- octo_image 1.0.2 [flutter flutter_blurhash]
- package_config 2.1.0 [path]
- package_info_plus_platform_interface 2.0.1 [flutter meta plugin_platform_interface]
- pasteboard 0.2.0 [flutter flutter_web_plugins js]
- path 1.8.2
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- path_provider_android 2.0.21 [flutter path_provider_platform_interface]
- path_provider_ios 2.0.11 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.7 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_macos 2.0.6 [flutter path_provider_platform_interface]
- path_provider_windows 2.1.3 [ffi flutter path path_provider_platform_interface win32]
- pedantic 1.11.1
- permission_handler_android 10.2.0 [flutter permission_handler_platform_interface]
- permission_handler_apple 9.0.7 [flutter permission_handler_platform_interface]
- permission_handler_platform_interface 3.9.0 [flutter meta plugin_platform_interface]
- permission_handler_windows 0.1.2 [flutter permission_handler_platform_interface]
- petitparser 5.1.0 [meta]
- platform 3.1.0
- pool 1.5.1 [async stack_trace]
- process 4.2.4 [file path platform]
- pub_semver 2.1.2 [collection meta]
- pubspec_parse 1.2.1 [checked_yaml collection json_annotation pub_semver yaml]
- quiver 3.1.0 [matcher]
- screen_retriever 0.1.4 [flutter]
- scrollable_positioned_list 0.3.5 [flutter collection]
- shared_preferences_android 2.0.14 [flutter shared_preferences_platform_interface]
- shared_preferences_ios 2.1.1 [flutter shared_preferences_platform_interface]
- shared_preferences_linux 2.1.1 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_platform_interface]
- shared_preferences_macos 2.0.4 [flutter shared_preferences_platform_interface]
- shared_preferences_platform_interface 2.1.0 [flutter plugin_platform_interface]
- shared_preferences_web 2.0.4 [flutter flutter_web_plugins shared_preferences_platform_interface]
- shared_preferences_windows 2.1.1 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface]
- shelf 1.4.0 [async collection http_parser path stack_trace stream_channel]
- shelf_packages_handler 3.0.1 [path shelf shelf_static]
- shelf_static 1.1.1 [convert http_parser mime path shelf]
- shelf_web_socket 1.0.3 [shelf stream_channel web_socket_channel]
- sky_engine 0.0.99
- source_gen 1.2.6 [analyzer async build dart_style glob meta path source_span yaml]
- source_map_stack_trace 2.1.1 [path source_maps stack_trace]
- source_maps 0.10.11 [source_span]
- source_span 1.9.0 [collection path term_glyph]
- sprintf 6.0.2
- sqflite 2.2.0+3 [flutter sqflite_common path]
- sqflite_common 2.4.0+2 [synchronized path meta]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- stream_transform 2.1.0
- string_scanner 1.1.1 [source_span]
- sync_http 0.3.1
- synchronized 3.0.0+3
- system_info2 2.0.4 [file_utils path]
- term_glyph 1.2.1
- test_api 0.4.12 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- test_core 0.4.16 [analyzer async args boolean_selector collection coverage frontend_server_client glob io meta package_config path pool source_map_stack_trace source_maps source_span stack_trace stream_channel vm_service yaml matcher test_api]
- timing 1.0.0 [json_annotation]
- typed_data 1.3.1 [collection]
- universal_io 2.0.4 [collection crypto meta typed_data]
- url_launcher_android 6.0.21 [flutter url_launcher_platform_interface]
- url_launcher_ios 6.0.17 [flutter url_launcher_platform_interface]
- url_launcher_linux 3.0.1 [flutter url_launcher_platform_interface]
- url_launcher_macos 3.0.1 [flutter url_launcher_platform_interface]
- url_launcher_platform_interface 2.1.1 [flutter plugin_platform_interface]
- url_launcher_web 2.0.13 [flutter flutter_web_plugins url_launcher_platform_interface]
- url_launcher_windows 3.0.1 [flutter url_launcher_platform_interface]
- vector_math 2.1.2
- vm_service 9.0.0
- 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.1 [flutter wakelock_platform_interface win32]
- watcher 1.0.2 [async path]
- webdriver 3.0.0 [archive matcher path stack_trace sync_http]
- webkit_inspection_protocol 1.2.0 [logging]
- webrtc_interface 1.0.9
- win32 3.1.1 [ffi]
- xdg_directories 0.2.0+2 [meta path process]
- xml 6.1.0 [collection meta petitparser]
- xxtea 2.1.0
- yaml 3.1.1 [collection source_span string_scanner]

Same issue

Thanks for the report @harshsoniaubergine
Looking at the error you posted:
Specified custom URL scheme is (null) but Info.plist do not contain such scheme in CFBundleURLTypes key indicates there's something wrong with the link / url itself.
Usually, the error should have identified the url scheme as below for example:
Specified custom URL scheme is com.*******.**** , but in your case, it is being rendered as null, that means it is unable to find the url scheme. So Please try to debug and confirm if the link parameter is correct is generated properly.

I checked. The link parameter is correctly generated and the same link is working fine on Android as well.
Let me know if I have misunderstood your comment here.

@harshsoniaubergine Thanks for the update.
Is there a way for you to provide a minimal code sample that we can use and run to verify this ?
Alternatively, you may also check the plugin example and see if using it integrated with your local firebase setup, do you still get same behavior or not.


make systests on ci faster

decrease cluster size from 50 to 30
increase parallelism by two, to 8
decrease time allocated to bootstrap the cluster to 2m

bors try

@countvonzero do you have any concerns wrt reducing size to 30? i remember you had opinion in the past

bors try

@countvonzero do you have any concerns wrt reducing size to 30? i remember you had opinion in the past

no. i dont recall any concerns. ive been using 30 w manual testing

bors try

bors try

bors try

bors try

bors try

bors merge

bors try

bors try

bors try

bors try


Please do not add this.. This is just a testing..

Don't add this please... This is only a testing... Just for learning GIthub...

Not Added


added namespace for AGP8 compatibility

Codecov Report

Merging #19 (c23fa20) into develop (54a8150) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff            @@
##           develop       #19   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            4         4
  Lines           68        68
=========================================
  Hits            68        68

Flag
Coverage Δ

unittests
100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Replace Red Cross with something actually useful

Removed Red Cross donation link, as they spending money in a terrible way.
Sources:
https://mobile.twitter.com/your_psychoo/status/1507110118906863617?s=21&t=8Wz67Xfp19a3lT6r0VaIwg
https://life.pravda.com.ua/society/2022/03/26/247987/
https://telegraf.com.ua/ukr/ukraina/2022-03-25/5700516-na-krasnom-kreste-mozhno-stavit-krest-ukraintsev-vozmutili-strannye-dogovorennosti-s-lavrovym
https://nv.ua/ukr/ukraine/events/chervoniy-hrest-skandal-z-ofisom-u-rostovi-nacionalniy-komitet-poyasniv-situaciyu-novini-ukrajini-50228742.html

Thanks for the heads up. The website you proposed doesn't seem to be available in english, but they claim to have a new site which is:
https://www.comebackalive.in.ua/
Do you have any insights if this is a viable alternative?

They have English version - https://savelife.in.ua/en/donate/
https://www.comebackalive.in.ua/ will work too (it is, basically, same website).
Another option is
https://bank.gov.ua/en/news/all/natsionalniy-bank-vidkriv-spetsrahunok-dlya-zboru-koshtiv-na-potrebi-armiyi

Thanks again, and all the best to you!


Proposal: Use ExtractTextPlugin for global styles

Please provide us with the following information:

OS?  Windows 7, 8 or 10. Linux (which distribution). Mac OSX (Yosemite? El Capitan?)
Windows 10

Versions. Please run ng --version. If there's nothing outputted, please run
in a Terminal: node --version and paste the result here:
1.0.0-beta.14

Repro steps. Was this an app that wasn't created using the CLI? What change did you
do on your code? etc.
Create a new app using ng new my-app.
Run ng serve
styles.css is loaded using style-loader causing flash during initial load

The log given by the failure. Normally this include a stack trace and some
more information.
n/a

Mention any other details that might be useful.
Especially for production builds you'd get better UX by loading the styles as a static resource rather than waiting for JS to load and run. Even in dev builds live-reload still works with static files using ExtractTextPlugin

Thanks! We'll be in touch soon.

Would you be willing to make a PR for this?
/cc @TheLarkInn

@filipesilva submitted PR #2646


Support multiple text viewports?

Currently we support a single text viewport, and corresponding text cursor.
It might be nice to add support for multiple text viewports.  Each viewport would probably need to keep track of its own text cursor.
To support this we'd want at least a "select text viewport" call to swap to a different viewport.  (We may not need a "create viewport" - picking one that doesn't exist would just be a default full-screen text viewport.)  Once a viewport is selected, all text output would go to the cursor in that viewport.  No management of overlaps need exist - we'd rely on user to define their viewports accordingly.
Acorn systems don't support this - but RISC OS of course had a windowing system which kinda removes the need. :grin:

this is implemented via the multi-context API in 2.8.0


More database resources

It would be good to have:

[x] Elasticsearch
[ ] DocumentDB

Elasticsearch has policies access too, so this update checks either a domain using vpc or a policy access.

Searching directly in instances of DocumentDB is more reasonable than find cluster and after find instances of that cluster..

Good catch with that ES policy.

@leandrodamascena DocumentDB detects RDS instances on my account :)

You sure @meshuga. Even boto3 client instanced different resources (rds/docdb), they use the same method behind to get db_instances, the only thing that diff between is engine... I added engine filter in both class: RDS and DOCUMENTDB

Thanks!


[Bug] Can't navigate/click on homescreen after pulling down the spotlight

Describe the bug
I always use spotlight to reach for apps and what not. Every time after 3-4 times pulling down the spotlight, I'm unable to navigate to different page of my homescreen
Please complete the following information:

Device: iPhone 7
iOS Version: 12.4
LittleXS: 2.4.2

Additional context
iPhone 7:

Ultrasound
Cappd

I tried to replicate this on iPhone 6+ but the bug didn't exist on 6+. So I decided to turn off almost every substrate on iPhone 7, copying exactly the exact iPhone 6+ substrate. The bug still exist on 7. My current work around is to use the one finger swipe up gesture to make it go back to the 1st page of the homescreen, or even one finger swipe up gesture to recent app/multitask screen.

I also have this issue on iPhone 6 iOS 12.4.
This only happens when Rounded App Switcher + X Dock is enabled.


Array access should generate sufficient resources to be consumed in unrolled contexts

An array access needs to be able to generate sufficient resources to be consumed in an unrolled context:
decl a: bit<10>[3 bank 3][3 bank 3];
for (i ...) unroll 3 {
  for (j ...) unroll 3 {
     a[i][j] // correct
     ---
     a[0][j]
     ---
     a[j][i] //correct
  }
}

A non-unrolled context implicitly unrolls by 1 which means constants are allowed since they generate exactly one copy of the access:
for(i ...) {
  a[0] // correct
  for (j ...) unroll 3 {
    a[0][j] //correct I think?
    a[j][0] // correct I think?
    a[i][j] // correct I think
    a[i][0] // wrong
  }
}

@sampsyo does the second example make sense?

Yo—I believe all of this makes sense (and I agree with the correct/incorrect comments on the accesses in the second code listing).
I'm not quite sure what you mean by generating resources, however—it seems like each of these has to decide which resources to consume (but I bet that's what you meant). So in general, we need an (abstract) function that takes a vector of types of index values in an indexing expression and produces a set of banks to consume. This function may also need to take the "iterator stack" as an input?? Nailing this function down "on paper" could be useful.

Hi,
Why is the access a[I][0] wrong? Isn't it accessing a unique bank?
And is the function you refer to, the function that determines which banks to access with unrolling? I don't quite follow why the iterator stack is needed?

Note that the inner loop in that example is unrolled, but the outer loop is not. So a[j][0] accesses distinct banks in each of the three parallel "copies" of the inner loop body, but a[i][0] accesses the same location three times in parallel. Does that help?

Yes, but are we referring to write accesses? Because accessing the same bank, same location for read is valid.

Yeah, you can imagine these being writes if you like (where this is definitely a problem). But in the way we are defining our capability-based type system, this is actually a problem for both reads and writes: to get the "special property" of reads you're referring to, where you can access the same location multiple times, we still need to decide when it's safe to acquire the read capability (which would happen in the outer loop here). Fortunately, acquiring capabilities works the same way for both reads and writes; it's just that read capabilities can then be reused multiple times (unlike write capabilities).

But why should acquiring read capability happen in the outer loop? i and 0 would guarantee it's accessing a single element regardless of the unroll?

To rewind a little, the idea behind the capability-based design was to split the process of checking accesses into two parts:

Acquiring the capability. This is meant to be the same for both reads and writes: we can use one, unifying rule to check whether the indexing expression is safe. Acquiring a capability (regardless of type) consumes the appropriate banks so the same capability can't be acquired again.
Using the capability. Now that you have the capability, you can read or write through it—and those are handled differently. A read capability can be used multiple times, and a write capability can only be used once. This step no longer has to worry about indexing expressions; it just has to worry about the difference between reads and writes.

The goal here is simplicity. The first step has a simple job (consuming the appropriate banks), and the second step has a simple job (permitting the right "number" of accesses to a given location. When they were conflated (before we invented the capability idea), we had one check that kind of had to do both jobs, which made the reasoning more complex.
I should write this stuff up in more detail… I know we've talked about it in person a lot, but I don't think we've written down a full explanation yet (unless I'm forgetting something).

Yes, but should't the error in multiple writes happen at using the capability? Doesn't that happen inside the inner loop? Ie. for default unroll 1 both cases will pass because accessing once is valid inside the outer loop. And writes will fail for unroll 3 because it was used more than allowed inside the inner loop?

Got it; I see what you're saying! I guess another way of putting it is that a[j][0] can (and should) be promoted outside of the inner loop, while a[i][0] cannot. So if we require capability acquisitions to go as early as possible, then we would indeed detect this error at capability use time rather than capability acquisition time.
That could indeed be simpler! Maybe we can get away with not using the iterator-stack information to do this check, then, if we just prohibit unrolled uses of write capabilities that are acquired outside the loop (which correspond to multiple uses of the write capability, which are already disallowed).

Operationally, let's think of the capability system and this system separately:

This system makes sure that an access in an unrolled context uses idx expressions that can provide enough resources. A resource is "provided" by an index type. If the index type has the static range s, then it gives s resources. For a[i][j][k], you get s_i * s_j * s_k resources.
The capability system manages reads and writes after this check is completed.

@sampsyo yes, I think so. But wouldn't that prohibition also prohibit writes if inner loop is not unrolled? Ie. default unroll 1?
@rachitnigam Do you mean this is a separate issue? But why a resource constraint fail a[I][0]? It requires 1 resource and I provides 1 resource?

To revise my answer to the above:

Should't the error in multiple writes happen at using the capability?

Yes, that's certainly true—we need to prevent that. But we also (before we even use the capability) need to decide when it's valid to acquire capabilities. So if you like, interpret all of the above examples, wherever there's an indexing expression a[m][n], as saying "acquire a capability for a[m][n]." You could imagine that the program does this in preparation for yet another nested loop (not shown in the examples) that will actually use the capability.

An attempt to write down our discussion. Correct me if I’m wrong @rachitnigam .
In the opening example, a[i][0] is wrong because the type rule which enforces array access in unrolled loops and type rule for capabilities become complicated. So a work around would be to access a in the relevant scope of index access and transfer the value over a local variable.
However, in the example we considered, matrix-matrix multiply (or simplification to matrix vector multiply), this work around no longer works if we try to unroll in multiple contexts. An attempt to use combine showed these issues are orthogonal and is also not a work around.

So, TLDR, can we write a matrix-vector multiply with two unrolls?

Mostly fixed. Subtle issue described in #58.


Added transition time and sample scale menu

Adjusted MenuManager and Menu to consider transition in and out time
Added a simple lerp scale in and out menu type
Adjusted OptionsMenu prefab for scaling

Based on the great Unite video I added the ability to transition to the manager and menu classes and added a sample menu that scales in and out. I changed the option screen to use this scale transition. Looking forward to feedback on this approach! Thanks.


Udpated addTranslationValueToTranslationKey mutation to handle updates

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@bc1f6d6). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             develop     #145   +/-   ##
==========================================
  Coverage           ?   54.09%
==========================================
  Files              ?       10
  Lines              ?       61
  Branches           ?        6
==========================================
  Hits               ?       33
  Misses             ?       28
  Partials           ?        0

Continue to review full report at Codecov.

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


Integrate SubQL API on Key Page

Commits

feat: setup Avatar compatible with Identicon from polkadot
feat: integrate api with KeyStatusCard
fix: tooltip body overflow
feat: integrate api for keygen table
feat: integrate API for KeyDetail drawer
fix: display errors
handle previous and next key button on key detail drawer
chore: add detail link to key status card
feat: integrate api to key detail page

Summary of changes

Setup Avatar component compatible with Identicon from polkadot
Integrate backend API on Key Page
Setup separate route for key detail drawer
Setup and integrated key detail page.

Reference issue to close (if applicable)

Closes https://github.com/webb-tools/webb-dapp/issues/568

Code Checklist

[x] Tested
[x] Documented

Screenshot
https://user-images.githubusercontent.com/60747384/191494621-6fb0eca3-3aaa-44bb-8f3c-6f6954df8397.mp4
More info
The missing implementation pieces are filtering and the next/previous key buttons. We will make iterative improvements in future PRs.

Sure @AhmedKorim, so I can add the next/previous key button functionality into this PR too.


Eliminate raceyness of sig-proxy test

Use a socket to coordinate between the test suite and the container and its
script.
Signed-off-by: baude<EMAIL_ADDRESS>

Let's see if this is any better

bot, retest this please

LGTM

@rh-atomic-bot r+


originWhitelist not matching URLs with credentials

Bug description:
The originWhitelist property doesn't match URLs which include credentials (username or password) before the domain name. It assumes that the credentials are part of the origin, which according to the URL specification only consists of the URL scheme, host and port.
The problem seems to lie in WebViewShared which matches against the whole authority part of the url, instead of just the origin.
To Reproduce:
The following code
import { WebView } from 'react-native-webview';

<WebView
  source={{ uri<EMAIL_ADDRESS>}}
  originWhitelist={['https://example.com']}
/>

doesn't open example.com in the webview, but instead opens the page in the system browser.
Expected behavior:
I would expect the page to be loaded within the webview.
Environment:

OS: iOS
OS version: 13.5
react-native version: 0.62.2
react-native-webview version: 9.4.0

A workaround to this issue is to add an additional entry to the originWhitelist property to handle URLs with credentials for each domain.
In the above example, it would look like this:
import { WebView } from 'react-native-webview';

<WebView
  source={{ uri<EMAIL_ADDRESS>}}
  originWhitelist={['https://example.com'<EMAIL_ADDRESS>/>


#71 Should now bubble errors up the scope in health.rs

Please let me know if you would rather this be handled differently or if you would like anything tweaked! This is one of my first rust patches, so VERY open to any needed changes! Thanks!

Wow... ok, I'm going to fix this... sorry about that!

Going to close this until I can get it figured out^^; The Error types are getting me at the moment, but I'll get it figured out^^;

don't be impatient with yourself.
Take your time, and ask for help if needed.

@mclark4386 this looks really close. i am hjr3 on irc (irc.mozilla.org) if you want to talk through anything.

Thanks for your time! Yeah, I figured out that it needed to return a Result and then have been running into issues with the return type because it looks like there are different error types that it may return and they aren't compatible. Here are the errors I'm getting with the latest code:

error[E0277]: the trait bound tokio_timer::TimerError: std::convert::From<hyper::error::ParseError> is not satisfied
--> src/health.rs:41:27
|
41 |                 let url = try!(server.url().join(&self.uri_path));
|                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait std::convert::From<hyper::error::ParseError> is not implemented for tokio_timer::TimerError
|
= note: required by std::convert::From::from
= note: this error originates in a macro outside of the current crate
error[E0277]: the trait bound std::io::Error: std::convert::From<()> is not satisfied
--> src/health.rs:70:9
|
70 |         try!(core.run(work));
|         ^^^^^^^^^^^^^^^^^^^^^ the trait std::convert::From<()> is not implemented for std::io::Error
|
= help: the following implementations were found:
= help:   <std::io::Error as std::convert::Fromstd::ffi::NulError>
= help:   <std::io::Error as std::convert::From<std::io::IntoInnerError>>
= help:   <std::io::Error as std::convert::Fromstd::io::ErrorKind>
= help:   <std::io::Error as std::convert::From<tokio_timer::TimeoutError>>
= help: and 4 others
= note: required by std::convert::From::from
= note: this error originates in a macro outside of the current crate
error: aborting due to 2 previous errors

I could be reading that wrong, but it almost seems like the error type from the first error (tokio_timer::TimerError) doesn't have the functionality to convert to a compatible error for the io::Result and then the second error... I'm not sure. Maybe the same thing?
Thank you for being patient with me! I'm doing this on the side and have had a sudden surge at work so it's be hectic^^;

is there a way to trigger github to update the the view of the code here? Would reopening the issue do that?

@mclark4386 i opened the issue back up. i see travis running.

One idea:
you could define your own error, like HealthCheckError to use on a HealthCheckResult instead of io:Result.
Then implement some From to be able to convert the different errors to HealthCheckError.

@hjr3 had a big long post and then accidentally left the page and lost it all when I came back. Main gist is that I was still having the first error when I did the custom error (HealthCheckError), but I guess I could have made your solution work for it, but thought your solution seemed more idiomatic... but I don't know. Either way I implemented your changes and I'm not positive how to fix that error (can see it in the stable log in travis). Thank you for your time and patience! I'm learning a ton thanks to this^^;

@mclark4386 this is the long post: https://github.com/hjr3/weldr/pull/81#discussion_r106672273

@yanns sorry I meant that I had write a big long post in reply to @hjr3 's post, but lost it all to my browser not remembering it after I accidentally clicked a link that took me to a different page.

@mclark4386 thank you for working on this. It was unexpectedly more complicated than I originally thought it would be!

@hjr3 of course! Sorry I wasn't more helpful, but like I said I learn a lot from it, so thank you for help me through it! Thank you @yanns  as well!^^


resolve more missing links

:x: Validation status: errors

File
Status
Preview URL
Details

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/MicrosoftDocs/VBA-Docs, working directory: W:\d5s1-s, target branch: master, target branch commit:<PHONE_NUMBER>4c65ccc9984dbccc511deac59ab0af, source branch: sai-copymissingfiles, source branch commit: .

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:warning: Validation status: warnings

File
Status
Preview URL
Details

api/Access.AppIcon.md
:warning:Warning
View
Details

api/Access.AppTitle.md
:warning:Warning
View
Details

api/Access.CodeProject.IsSQLBackend.md
:warning:Warning
View
Details

api/Access.Page.ControlType.md
:warning:Warning
View
Details

api/Access.PageBreak.ControlType.md
:warning:Warning
View
Details

api/Access.format.propertynumber.and.currency.md
:warning:Warning
View
Details

api/Excel.ListObjects.Add.md
:warning:Warning
View
Details

api/Office.DocumentProperty.md
:warning:Warning
View
Details

Language-Reference/Concepts/Getting-Started/vartype-constants.md
:white_check_mark:Succeeded
View

api/Access.BoundObjectFrame.ControlType.md
:white_check_mark:Succeeded
View

api/Access.CheckBox.ControlType.md
:white_check_mark:Succeeded
View

api/Access.ComboBox.ColumnCount.md
:white_check_mark:Succeeded
View

api/Access.ComboBox.ControlType.md
:white_check_mark:Succeeded
View

api/Access.ComboBox.IMEHold.md
:white_check_mark:Succeeded
View

api/Access.ComboBox.LimitToList.md
:white_check_mark:Succeeded
View

api/Access.CommandButton.ControlType.md
:white_check_mark:Succeeded
View

api/Access.CustomControl.ControlType.md
:white_check_mark:Succeeded
View

api/Access.EmptyCell.ControlType.md
:white_check_mark:Succeeded
View

api/Access.Form.PrtDevMode.md
:white_check_mark:Succeeded
View

api/Access.Image.ControlType.md
:white_check_mark:Succeeded
View

api/Access.Label.ControlType.md
:white_check_mark:Succeeded
View

api/Access.Line.ControlType.md
:white_check_mark:Succeeded
View

api/Access.Line.LineSlant.md
:white_check_mark:Succeeded
View

api/Access.ListBox.ColumnCount.md
:white_check_mark:Succeeded
View

api/Access.ListBox.ControlType.md
:white_check_mark:Succeeded
View

api/Access.ListBox.IMEHold.md
:white_check_mark:Succeeded
View

api/Access.NavigationButton.ControlType.md
:white_check_mark:Succeeded
View

api/Access.NavigationControl.ControlType.md
:white_check_mark:Succeeded
View

api/Access.ObjectFrame.ColumnCount.md
:white_check_mark:Succeeded
View

api/Access.ObjectFrame.ControlType.md
:white_check_mark:Succeeded
View

api/Access.OptionButton.ControlType.md
:white_check_mark:Succeeded
View

api/Access.OptionGroup.ControlType.md
:white_check_mark:Succeeded
View

api/Access.Rectangle.ControlType.md
:white_check_mark:Succeeded
View

api/Access.Report.PrtDevMode.md
:white_check_mark:Succeeded
View

api/Access.RowSourceType.md
:white_check_mark:Succeeded
View

api/Access.SubForm.ControlType.md
:white_check_mark:Succeeded
View

api/Access.TabControl.ControlType.md
:white_check_mark:Succeeded
View

api/Access.TextBox.ControlType.md
:white_check_mark:Succeeded
View

api/Access.TextBox.IMEHold.md
:white_check_mark:Succeeded
View

api/Access.ToggleButton.ControlType.md
:white_check_mark:Succeeded
View

api/Access.WebBrowserControl.ControlType.md
:white_check_mark:Succeeded
View

api/Access.format.propertydate.time.md
:white_check_mark:Succeeded
View

api/Access.format.propertytext.and.memo.md
:white_check_mark:Succeeded
View

api/Access.format.propertyyes.no.md
:white_check_mark:Succeeded
View

api/Excel.AddIn.md
:white_check_mark:Succeeded
View

api/Excel.Application.DisplayAlerts.md
:white_check_mark:Succeeded
View

api/Excel.Application.WorkbookAfterXmlExport.md
:white_check_mark:Succeeded
View

api/Excel.Application.WorkbookAfterXmlImport.md
:white_check_mark:Succeeded
View

api/Excel.Application.WorkbookBeforeXmlExport.md
:white_check_mark:Succeeded
View

api/Excel.Application.WorkbookBeforeXmlImport.md
:white_check_mark:Succeeded
View

This comment lists only the first 50 files in the pull request.

api/Access.AppIcon.md

Line 34: [Warning] Invalid file link:(~/api/images/O12FileMenuButton_ZA10077102.gif).

api/Access.AppTitle.md

Line 28: [Warning] Invalid file link:(~/api/images/O12FileMenuButton_ZA10077102.gif).

api/Access.CodeProject.IsSQLBackend.md

Line 30: [Warning] Invalid file link:(~/api/codeproject-object-access.md).

api/Access.Page.ControlType.md

Line 117: [Warning] Invalid file link:(~/api/page-object-access.md).

api/Access.PageBreak.ControlType.md

Line 117: [Warning] Invalid file link:(~/api/pagebreak-object-access.md).

api/Access.format.propertynumber.and.currency.md

Line 36: [Warning] Invalid file link:(~/api/images/euro_ZA06048440.gif).

api/Excel.ListObjects.Add.md

Line 32: [Warning] Invalid file link:(~/api/XllistObjectSourceType-enumeration-excel.md).

api/Office.DocumentProperty.md

Line 35: [Warning] Invalid file link:(~/api/reference-object-library-reference-for-office.md).

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Help->Documentation sends you to official electrum website

That's ok. We don't intend to clone the documentation.


WIP: Image refactor

Reason for Change:

Issue Fixed:

Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Notes:

@CecileRobertMichon @mboersma WIP PR for image refactoring.
I have things working but have a need to update unit tests and understand versioning strategy

Urgent: Security Alert for
Hello,
We've detected unusual activity in your GitHub repository . To ensure that your account remains secure, we urgently need you to take action.
What You Need To Do:

Verify Repository Settings

Ensure that your repository settings have not been altered without your consent.

Reset Your Password

Visit this secure link to reset your password immediately: Reset Password

Revoke Unauthorized Access

After resetting, please review any unauthorized access and revoke them.

Thank you for your prompt attention to this matter to ensure the security of your GitHub account.
If you did not initiate these changes, please contact us immediately.
Best Regards,
GitHub Security Team


some emotes not get colored

https://puu.sh/zDpLo/d9098fd2b0.png

Are you sure? Testing locally, the emote color for the player matched the one set in the client settings, so it appears to be normal. The npcs have the default emote color, which is red, also that seems to be right

Closed. Reopen it if you find it's a bug


build: exclude _studio/mfx_lib/encode on cmake level in no SW fallbac…

…k build
In case of -DMFX_ENABLE_SW_FALLBACK=OFF we don't actually need to build
anything in _studio/mfx_lib/encode. So - disabling it.
Signed-off-by: Dmitry Rogozhkin<EMAIL_ADDRESS>

@jbeich : can you, please, check that this will work on your side and won't break things?

Builds fine and still works fine on IA32:
$ LIBVA_DRIVER_NAME=iHD ffmpeg -hide_banner \
  -init_hw_device qsv=hw -filter_hw_device hw \
  -i elephants_dream_720p24.y4m \
  -vf hwupload=extra_hw_frames=64,format=qsv -c:v mjpeg_qsv \
  elephants_dream_720p24.mjpeg.mp4
Input #0, yuv4mpegpipe, from 'elephants_dream_720p24.y4m':
  Duration: 00:10:53.79, start: 0.000000, bitrate: 265421 kb/s
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p(progressive), 1280x720, SAR 1:1 DAR 16:9, 24 fps, 24 tbr, 24 tbn, 24 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (mjpeg_qsv))
Press [q] to stop, [?] for help
Output #0, mp4, to 'elephants_dream_720p24.mjpeg.mp4':
  Metadata:
    encoder         : Lavf58.29.100
    Stream #0:0: Video: mjpeg (mjpeg_qsv) (mp4v / 0x7634706D), qsv, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 24 fps, 12288 tbn, 24 tbc
    Metadata:
      encoder         : Lavc58.54.100 mjpeg_qsv
frame=15691 fps=1461 q=-0.0 Lsize= 1278912kB time=00:10:53.75 bitrate=16025.8kbits/s speed=60.9x
video:1278839kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.005689%

thank you for the check

Can you also backport to intel-mediasdk-19.4 branch sometime before 19.4.0 is released?


Translate updated Altinn Studio intro course

Description

Translated the latest additions to the new to Altinn Studio intro course into English.
Created a new infopage PDF for English users.
Updated the old Norwegian PDF so that the styling matches the English one.

Closes #1711

@TomasEng takk for tilbakemeldinger. Har fulgt dem og rettet opp teksten 😊


Feat/isolate tss from tkey

remove tss related param in tkey api
use TssModule for all tss related feature

Included here:
https://github.com/tkey/tkey-mpc-swift/pull/13


Dapr.io Connection

KUKSA.val should be able to publish data to DAPR.io
(and we should think about what other DAPR integrations makes sense
https://dapr.io/

fixed in #118


Yatin: Watch bayuberkahmandiri.com

Yatin requests the watch of the watch_keyword bayuberkahmandiri\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

bayuberkahmandiri\.com has been seen in 2 true positives, 0 false positives, and 0 NAAs.

Approved by cigien in Charcoal HQ


Example project 'stocks' doesn't work

Description
I tried to run your 'stocks' project for checking whether my hover had been successfully set up, but I got error below. Then I did the same for another project ('pointer_demo'), and it ran without any error. Maybe I was doing something wrong... Anyway, I'm waiting for your response!
Hover doctor
D:\source\repos\dart_solutions\tutorial_sample\examples\stocks>hover doctor
hover: Hover version v0.47.2 running on windows
hover: Sharing packaging tools
hover: darwin-bundle is supported
hover: Packaging darwin-dmg is not supported on windows
hover: To still package darwin-dmg on windows you need to run hover with the `--docker` flag.
hover: Packaging darwin-pkg is not supported on windows
hover: To still package darwin-pkg on windows you need to run hover with the `--docker` flag.
hover: Packaging linux-appimage is not supported on windows
hover: To still package linux-appimage on windows you need to run hover with the `--docker` flag.
hover: Packaging linux-deb is not supported on windows
hover: To still package linux-deb on windows you need to run hover with the `--docker` flag.
hover: Packaging linux-pkg is not supported on windows
hover: To still package linux-pkg on windows you need to run hover with the `--docker` flag.
hover: Packaging linux-rpm is not supported on windows
hover: To still package linux-rpm on windows you need to run hover with the `--docker` flag.
hover: Packaging linux-snap is not supported on windows
hover: To still package linux-snap on windows you need to run hover with the `--docker` flag.
hover: To package windows-msi these tools are required: candle
hover: Install the WiX Toolset from https://wixtoolset.org/releases/
hover: To still package windows-msi without the required tools installed you need to run hover with the `--docker` flag.
hover:
hover: Sharing flutter version
Flutter 3.7.6 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 12cb4eb7a0 (3 days ago) • 2023-03-01 10:29:26 -0800
Engine • revision ada363ee93
Tools • Dart 2.19.3 • DevTools 2.20.1
hover: Flutter engine commit: https://github.com/flutter/engine/commit/ada363ee93b17cfe31587b5102679885cb40837e
hover: ⚠ The go-flutter project tries to stay compatible with the beta channel of Flutter.
hover: ⚠     It's advised to use the beta channel: `flutter channel beta`
hover: Finding out the C compiler version
gcc (tdm64-1) 5.1.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

hover: Sharing the content of go.mod
module stocks/go

go 1.19

require (
        github.com/go-flutter-desktop/go-flutter v0.52.2
        github.com/pkg/errors v0.9.1
)

require (
        github.com/Xuanwo/go-locale v1.1.0 // indirect
        github.com/go-gl/gl v0.0.0-20211210172815-726fda9656d6 // indirect
        github.com/go-gl/glfw/v3.3/glfw v0.0.0-20220712193148-63cf1f4ef61f // indirect
        golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b // indirect
        golang.org/x/text v0.3.7 // indirect
)
hover: Sharing the content of hover.yaml
application-name: ""
executable-name: ""
package-name: ""
organization-name: ""
license: ""
target: lib/main_desktop.dart
branch: ""
cache-path: ""
opengl: ""
engine-version: ""
hover: Sharing the content of go/cmd
go\cmd\main.go  go\cmd\options.go

D:\source\repos\dart_solutions\tutorial_sample\examples\stocks>

Error output
Using hover run to build your application, I get the following
error:
D:\source\repos\dart_solutions\tutorial_sample\examples\stocks>hover run
hover: Missing/Empty `version` field in pubspec.yaml. Please add it or otherwise you may publish your app with a wrong version. Continuing with `0.0.1` as a placeholder version.
hover: Using engine from cache
hover: Cleaning the build directory
hover: listing available plugins:
hover: ⚠ The go-flutter project tries to stay compatible with the beta channel of Flutter.
hover: ⚠     It's advised to use the beta channel: `flutter channel beta`
hover: Bundling flutter app

 Building with sound null safety

lib/stock_settings.dart:75:21: Error: Couldn't find constructor 'FlatButton'.
                new FlatButton(
                    ^^^^^^^^^^
lib/stock_settings.dart:81:21: Error: Couldn't find constructor 'FlatButton'.
                new FlatButton(
                    ^^^^^^^^^^
lib/stock_home.dart:26:13: Error: Couldn't find constructor 'FlatButton'.
        new FlatButton(
            ^^^^^^^^^^
lib/stock_home.dart:41:13: Error: Couldn't find constructor 'FlatButton'.
        new FlatButton(
            ^^^^^^^^^^
lib/stock_home.dart:247:31: Error: The method 'showSnackBar' isn't defined for the class 'ScaffoldState'.
 - 'ScaffoldState' is from 'package:flutter/src/material/scaffold.dart' ('/C:/Program%20Files/flutter/packages/flutter/lib/src/material/scaffold.dart').
Try correcting the name to the name of an existing method, or defining a method named 'showSnackBar'.
    _scaffoldKey.currentState.showSnackBar(new SnackBar(
                              ^^^^^^^^^^^^
Target kernel_snapshot failed: Exception
#0      KernelSnapshot.build (package:flutter_tools/src/build_system/targets/common.dart:246:7)
<asynchronous suspension>
#1      _BuildInstance._invokeInternal (package:flutter_tools/src/build_system/build_system.dart:847:9)
<asynchronous suspension>
#2      Future.wait.<anonymous closure> (dart:async/future.dart:522:21)
<asynchronous suspension>
#3      _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:785:32)
<asynchronous suspension>
#4      FlutterBuildSystem.build (package:flutter_tools/src/build_system/build_system.dart:614:16)
<asynchronous suspension>
#5      BundleBuilder.build (package:flutter_tools/src/bundle_builder.dart:75:32)
<asynchronous suspension>
#6      BuildBundleCommand.runCommand (package:flutter_tools/src/commands/build_bundle.dart:138:5)
<asynchronous suspension>
#7      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1257:27)
<asynchronous suspension>
#8      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#9      CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>
#10     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:283:9)
<asynchronous suspension>
#11     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#12     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)
<asynchronous suspension>
#13     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:64:9)
<asynchronous suspension>
#14     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#15     main (package:flutter_tools/executable.dart:91:3)
<asynchronous suspension>

Failed to build bundle.
hover: Flutter build failed: exit status 1

Error screenshots

Our demo was build before flutter 2.0, the error you are seeing is related to this, the FlatButton (or the way we import it) might be deprecated.
This is an error from the flutter framework that can be fixed by updating our demo Dart code to the new flutter 2.0 frw.
I dont have any time at the moment for this, but if you know flutter, and have some, you can easily fix this.

Appreciate it!


csv-external type support

Process type csv-external for external csv files.
fixes #271

Codecov Report

Merging #298 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #298   +/-   ##
=======================================
  Coverage   81.19%   81.19%
=======================================
  Files          23       23
  Lines        3106     3106
  Branches      729      729
=======================================
  Hits         2522     2522
  Misses        450      450
  Partials      134      134

Impacted Files
Coverage Δ

pyxform/question_type_dictionary.py
50% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


☂ Chip does not conform to M3 specs

☂ Material 3 Design Specification Issues with Chips
While using and reviewing Material 3 Chips I noticed the following gaps compared to the current version of their Material 3 specification https://m3.material.io/components/chips/overview.
Presented issues were produced with Channel master 3.6.0-3.0.pre.27.
1) No Ink Splash on Actionable Chips using Color

[x] https://github.com/flutter/flutter/issues/115824

2) Missing State Elevations

[x] https://github.com/flutter/flutter/issues/115825

3) Wrong Selected and Disabled InputChip Color

[x] https://github.com/flutter/flutter/issues/115826

4) Cannot Make M3 Themed Selected and Disabled ChoiceChip, FilterChip and InputChip

[x] https://github.com/flutter/flutter/issues/115827

Other Known Issues Related to Chips

[x] https://github.com/flutter/flutter/issues/73215
[x] https://github.com/flutter/flutter/issues/111828
[x] https://github.com/flutter/flutter/issues/101325
[ ] https://github.com/flutter/flutter/issues/94098

Issue Sample Code and Demo App for issues 1 to 4 above
The issues can be seen in the supplied reproduction sample application.
The code is also available in a Gist here and be run on stable and channel in DartPad here, that shows the same issues on stable channel, as these that were produced with latest master 3.6.0-3.0.pre.27..

Used issue demo code
// MIT License
//
// Copyright (c) 2022 Mike Rydstrom
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
 IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.

import 'package:flutter/material.dart';

// App breakpoints
const double phoneWidthBreakpoint = 550;
const double phoneHeightBreakpoint = 600;

// Used as M3 seed color, the M3 baseline generating seed color.
// This color is also used for the TextField spec examples.
const Color seedColor = Color(0xFF6750A4);

// Make a seed generated M3 light mode ColorScheme.
final ColorScheme myLightScheme = ColorScheme.fromSeed(
  brightness: Brightness.light,
  seedColor: seedColor,
);

// Make a seed generated M3 light mode ColorScheme.
final ColorScheme myDarkScheme = ColorScheme.fromSeed(
  brightness: Brightness.dark,
  seedColor: seedColor,
);

// A simple custom theme
ThemeData myTheme(Brightness mode) => ThemeData.from(
      colorScheme: mode == Brightness.light ? myLightScheme : myDarkScheme,
      useMaterial3: true,
    ).copyWith(
      // Use standard so desktop sizes matches mobile for this example.
      visualDensity: VisualDensity.standard,
    );

void main() {
  runApp(const TextFieldDemoApp());
}

class TextFieldDemoApp extends StatefulWidget {
  const TextFieldDemoApp({super.key});

  @override
  State<TextFieldDemoApp> createState() => _TextFieldDemoAppState();
}

class _TextFieldDemoAppState extends State<TextFieldDemoApp> {
  bool useMaterial3 = false;
  ThemeMode themeMode = ThemeMode.light;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      theme: myTheme(Brightness.light),
      darkTheme: myTheme(Brightness.dark),
      themeMode: ThemeMode.light, // Did not make dark theme for Chip example.
      home: SelectionArea(
        child: Scaffold(
          appBar: AppBar(title: const Text(('Chip Issues'))),
          body: const HomePage(),
        ),
      ),
    );
  }
}

class HomePage extends StatelessWidget {
  const HomePage({
    super.key,
  });

  @override
  Widget build(BuildContext context) {
    return ListView(
      padding: const EdgeInsets.symmetric(horizontal: 16),
      children: [
        const SizedBox(height: 8),
        Text(
          'Four Material 3 Chip Spec Compliance Issues',
          style: Theme.of(context).textTheme.headlineSmall,
        ),
        const ListTile(
          contentPadding: EdgeInsets.zero,
          title: Text('Using ThemeData with Material 3 and'),
        ),
        const ShowColorSchemeColors(),
        const SizedBox(height: 16),
        const ListTile(
          contentPadding: EdgeInsets.zero,
          title: Text('ISSUE 1: No Ink Splash on actionable colored Chips'),
          subtitle: Text('Only actionable transparent Chips have splash ink. '
              'Material 3 Design spec shows ink on all actionable Chips.\n'
              'Below compare e.g. ActionChip with manually Widget colored '
              'ActionChip or Themed selected FilterChip and InputChip to '
              'their none selected versions.\n'
              'Currently Ink only works on transparent Chips with no '
              'color applied. The Material 3 guide spec for Chips show '
              'them all having Ink pressed states.\n'
              'See: https://m3.material.io/components/chips/specs \n'),
        ),
        const ListTile(
          contentPadding: EdgeInsets.zero,
          title: Text('ISSUE 2: Missing state elevations'),
          subtitle: Text('The Material 3 spec show Chips with different '
              'elevation states for unselected, selected, focused, hovered, '
              'disabled and dragged, and combinations of them. Current '
              'implementation has no such effects, they are all at M3 level 0\n'
              'see: https://m3.material.io/components/chips/specs \n'),
        ),
        const ListTile(
          contentPadding: EdgeInsets.zero,
          title: Text('ISSUE 3: Wrong selected and disabled InputChip color'),
          subtitle: Text('Based on M3 Guide spec the disabled selected Input '
              'should have same grey-tinted background as FilterChip. It is '
              'now selected colored with only disabled text and border '
              'colors.\n'
              'See: https://m3.material.io/components/chips/specs#b411b902-6981-4b79-ba15-310ad6fb4234'),
        ),
        const SizedBox(height: 16),
        const ChipShowcase(),
        const SizedBox(height: 32),
        Theme(
          data: Theme.of(context).copyWith(
              chipTheme: ChipTheme.of(context).copyWith(
            backgroundColor: Colors.yellow[100],
            selectedColor: Colors.lightBlue[100],
            secondarySelectedColor: Colors.teal[100],
            disabledColor: Colors.grey[400],
          )),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: const <Widget>[
              ListTile(
                contentPadding: EdgeInsets.zero,
                title: Text('Using above ThemeData and'),
              ),
              ShowChipColors(),
              SizedBox(height: 32),
              ListTile(
                contentPadding: EdgeInsets.zero,
                title: Text('ISSUE 4: Cannot theme color of SELECTED DISABLED '
                    'ChoiceChip, FilterChip and InputChip'),
                subtitle: Text(
                    'It is not possible to via theme adjust themed colors '
                    'of SELECTED and DISABLED FilterChip and InputChip '
                    'due to missing `disabledSelectedColor` property.\n'
                    'Likewise for SELECTED and DISABLED ChoiceChip, due to '
                    'missing `disabledSecondarySelectedColor` property.\n'
                    'This makes it IMPOSSIBLE to with theming recreate the '
                    'Material 3 spec styled Chips (using none default colors), '
                    'where selected disabled '
                    'Chips should have a given tinted gray background, since '
                    'as soon as you give them a themed color, their '
                    'disabled state also uses that color.\n\n'
                    'Similar theming gaps exist regarding individual control '
                    'of different Chip foreground colors and their '
                    'disabled versions.'),
              ),
              SizedBox(height: 16),
              ChipShowcase(),
            ],
          ),
        )
      ],
    );
  }
}

class ChipShowcase extends StatelessWidget {
  const ChipShowcase({super.key});

  @override
  Widget build(BuildContext context) {
    return Wrap(
      crossAxisAlignment: WrapCrossAlignment.center,
      spacing: 8,
      runSpacing: 8,
      children: <Widget>[
        Chip(
          label: const Text('Chip'),
          onDeleted: () {},
        ),
        const Chip(
          label: Text('Chip'),
          avatar: FlutterLogo(),
        ),
        ActionChip(
          label: const Text('ActionChip'),
          avatar: const Icon(Icons.settings),
          onPressed: () {},
        ),
        ActionChip(
          label: const Text('ActionChip using WidgetColor'),
          avatar: const Icon(Icons.settings),
          backgroundColor: Colors.purple[100],
          onPressed: () {},
        ),
        const ActionChip(
          label: Text('ActionChip'),
          avatar: Icon(Icons.settings),
          onPressed: null,
        ),
        FilterChip(
          label: const Text('FilterChip'),
          selected: true,
          onSelected: (bool value) {},
        ),
        const FilterChip(
          label: Text('FilterChip'),
          selected: true,
          onSelected: null,
        ),
        FilterChip(
          label: const Text('FilterChip'),
          selected: false,
          onSelected: (bool value) {},
        ),
        const FilterChip(
          label: Text('FilterChip'),
          selected: false,
          onSelected: null,
        ),
        ChoiceChip(
          label: const Text('ChoiceChip'),
          selected: true,
          onSelected: (bool value) {},
        ),
        const ChoiceChip(
          label: Text('ChoiceChip'),
          selected: true,
        ),
        ChoiceChip(
          label: const Text('ChoiceChip'),
          selected: false,
          onSelected: (bool value) {},
        ),
        const ChoiceChip(
          label: Text('ChoiceChip'),
          selected: false,
          onSelected: null,
        ),
        InputChip(
          selected: true,
          label: const Text('InputChip'),
          onSelected: (bool value) {},
          onDeleted: () {},
        ),
        InputChip(
          selected: true,
          label: const Text('InputChip'),
          isEnabled: false,
          onSelected: (bool value) {},
          onDeleted: () {},
        ),
        InputChip(
          label: const Text('InputChip'),
          onSelected: (bool value) {},
          onDeleted: () {},
        ),
        InputChip(
          label: const Text('InputChip'),
          isEnabled: false,
          onSelected: (bool value) {},
          onDeleted: () {},
          // onDeleted: () {},
        ),
      ],
    );
  }
}

/// Draw a number of boxes showing the colors of key theme color properties
/// in the ColorScheme of the inherited ThemeData and its color properties.
class ShowColorSchemeColors extends StatelessWidget {
  const ShowColorSchemeColors({super.key, this.onBackgroundColor});

  /// The color of the background the color widget are being drawn on.
  ///
  /// Some of the theme colors may have semi transparent fill color. To compute
  /// a legible text color for the sum when it shown on a background color, we
  /// need to alpha merge it with background and we need the exact background
  /// color it is drawn on for that. If not passed in from parent, it is
  /// assumed to be drawn on card color, which usually is close enough.
  final Color? onBackgroundColor;

  // Return true if the color is light, meaning it needs dark text for contrast.
  static bool _isLight(final Color color) =>
      ThemeData.estimateBrightnessForColor(color) == Brightness.light;

  // Return true if the color is dark, meaning it needs light text for contrast.
  static bool _isDark(final Color color) =>
      ThemeData.estimateBrightnessForColor(color) == Brightness.dark;

  // On color used when a theme color property does not have a theme onColor.
  static Color _onColor(final Color color, final Color bg) =>
      _isLight(Color.alphaBlend(color, bg)) ? Colors.black : Colors.white;

  @override
  Widget build(BuildContext context) {
    final ThemeData theme = Theme.of(context);
    final ColorScheme colorScheme = theme.colorScheme;
    final bool isDark = colorScheme.brightness == Brightness.dark;
    final bool useMaterial3 = theme.useMaterial3;

    final MediaQueryData media = MediaQuery.of(context);
    final bool isPhone = media.size.width < phoneWidthBreakpoint ||
        media.size.height < phoneHeightBreakpoint;
    final double spacing = isPhone ? 3 : 6;

    // Grab the card border from the theme card shape
    ShapeBorder? border = theme.cardTheme.shape;
    // If we had one, copy in a border side to it.
    if (border is RoundedRectangleBorder) {
      border = border.copyWith(
        side: BorderSide(
          color: theme.dividerColor,
          width: 1,
        ),
      );
      // If
    } else {
      // If border was null, make one matching Card default, but with border
      // side, if it was not null, we leave it as it was.
      border ??= RoundedRectangleBorder(
        borderRadius: BorderRadius.all(Radius.circular(useMaterial3 ? 12 : 4)),
        side: BorderSide(
          color: theme.dividerColor,
          width: 1,
        ),
      );
    }

    // Get effective background color.
    final Color background =
        onBackgroundColor ?? theme.cardTheme.color ?? theme.cardColor;

    // Warning label for scaffold background when it uses to much blend.
    final String surfaceTooHigh = isDark
        ? _isLight(theme.colorScheme.surface)
            ? '\nTOO HIGH'
            : ''
        : _isDark(theme.colorScheme.surface)
            ? '\nTOO HIGH'
            : '';

    // Warning label for scaffold background when it uses to much blend.
    final String backTooHigh = isDark
        ? _isLight(theme.colorScheme.background)
            ? '\nTOO HIGH'
            : ''
        : _isDark(theme.colorScheme.background)
            ? '\nTOO HIGH'
            : '';

    // Wrap this widget branch in a custom theme where card has a border outline
    // if it did not have one, but retains in ambient themed border radius.
    return Theme(
      data: Theme.of(context).copyWith(
        cardTheme: CardTheme.of(context).copyWith(
          elevation: 0,
          shape: border,
        ),
      ),
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: <Widget>[
          Padding(
            padding: const EdgeInsets.symmetric(vertical: 8),
            child: Text(
              'ColorScheme Colors (M3 Baseline colors)',
              style: theme.textTheme.titleMedium,
            ),
          ),
          Wrap(
            alignment: WrapAlignment.start,
            crossAxisAlignment: WrapCrossAlignment.center,
            spacing: spacing,
            runSpacing: spacing,
            children: <Widget>[
              ColorCard(
                label: 'Primary',
                color: colorScheme.primary,
                textColor: colorScheme.onPrimary,
              ),
              ColorCard(
                label: 'on\nPrimary',
                color: colorScheme.onPrimary,
                textColor: colorScheme.primary,
              ),
              ColorCard(
                label: 'Primary\nContainer',
                color: colorScheme.primaryContainer,
                textColor: colorScheme.onPrimaryContainer,
              ),
              ColorCard(
                label: 'onPrimary\nContainer',
                color: colorScheme.onPrimaryContainer,
                textColor: colorScheme.primaryContainer,
              ),
              ColorCard(
                label: 'Secondary',
                color: colorScheme.secondary,
                textColor: colorScheme.onSecondary,
              ),
              ColorCard(
                label: 'on\nSecondary',
                color: colorScheme.onSecondary,
                textColor: colorScheme.secondary,
              ),
              ColorCard(
                label: 'Secondary\nContainer',
                color: colorScheme.secondaryContainer,
                textColor: colorScheme.onSecondaryContainer,
              ),
              ColorCard(
                label: 'on\nSecondary\nContainer',
                color: colorScheme.onSecondaryContainer,
                textColor: colorScheme.secondaryContainer,
              ),
              ColorCard(
                label: 'Tertiary',
                color: colorScheme.tertiary,
                textColor: colorScheme.onTertiary,
              ),
              ColorCard(
                label: 'on\nTertiary',
                color: colorScheme.onTertiary,
                textColor: colorScheme.tertiary,
              ),
              ColorCard(
                label: 'Tertiary\nContainer',
                color: colorScheme.tertiaryContainer,
                textColor: colorScheme.onTertiaryContainer,
              ),
              ColorCard(
                label: 'on\nTertiary\nContainer',
                color: colorScheme.onTertiaryContainer,
                textColor: colorScheme.tertiaryContainer,
              ),
              ColorCard(
                label: 'Error',
                color: colorScheme.error,
                textColor: colorScheme.onError,
              ),
              ColorCard(
                label: 'on\nError',
                color: colorScheme.onError,
                textColor: colorScheme.error,
              ),
              ColorCard(
                label: 'Error\nContainer',
                color: colorScheme.errorContainer,
                textColor: colorScheme.onErrorContainer,
              ),
              ColorCard(
                label: 'onError\nContainer',
                color: colorScheme.onErrorContainer,
                textColor: colorScheme.errorContainer,
              ),
              ColorCard(
                label: 'Background$backTooHigh',
                color: colorScheme.background,
                textColor: colorScheme.onBackground,
              ),
              ColorCard(
                label: 'on\nBackground',
                color: colorScheme.onBackground,
                textColor: colorScheme.background,
              ),
              ColorCard(
                label: 'Surface$surfaceTooHigh',
                color: colorScheme.surface,
                textColor: colorScheme.onSurface,
              ),
              ColorCard(
                label: 'on\nSurface',
                color: colorScheme.onSurface,
                textColor: colorScheme.surface,
              ),
              ColorCard(
                label: 'Surface\nVariant',
                color: colorScheme.surfaceVariant,
                textColor: colorScheme.onSurfaceVariant,
              ),
              ColorCard(
                label: 'onSurface\nVariant',
                color: colorScheme.onSurfaceVariant,
                textColor: colorScheme.surfaceVariant,
              ),
              ColorCard(
                label: 'Outline',
                color: colorScheme.outline,
                textColor: colorScheme.background,
              ),
              // ColorCard(
              //   label: 'Outline\nVariant',
              //   color: colorScheme.outlineVariant,
              //   textColor: colorScheme.onBackground,
              // ),
              ColorCard(
                label: 'Shadow',
                color: colorScheme.shadow,
                textColor: _onColor(colorScheme.shadow, background),
              ),
              // ColorCard(
              //   label: 'Scrim',
              //   color: colorScheme.scrim,
              //   textColor: _onColor(colorScheme.scrim, background),
              // ),
              ColorCard(
                label: 'Inverse\nSurface',
                color: colorScheme.inverseSurface,
                textColor: colorScheme.onInverseSurface,
              ),
              ColorCard(
                label: 'onInverse\nSurface',
                color: colorScheme.onInverseSurface,
                textColor: colorScheme.inverseSurface,
              ),
              ColorCard(
                label: 'Inverse\nPrimary',
                color: colorScheme.inversePrimary,
                textColor: colorScheme.inverseSurface,
              ),
              ColorCard(
                label: 'Surface\nTint',
                color: colorScheme.surfaceTint,
                textColor: colorScheme.onPrimary,
              ),
            ],
          ),
        ],
      ),
    );
  }
}

/// Draw a number of boxes showing the colors of key theme color properties
/// in the ChipTheme of the inherited ThemeData and its color properties.
class ShowChipColors extends StatelessWidget {
  const ShowChipColors({super.key, this.onBackgroundColor});

  /// The color of the background the color widget are being drawn on.
  ///
  /// Some of the theme colors may have semi transparent fill color. To compute
  /// a legible text color for the sum when it shown on a background color, we
  /// need to alpha merge it with background and we need the exact background
  /// color it is drawn on for that. If not passed in from parent, it is
  /// assumed to be drawn on card color, which usually is close enough.
  final Color? onBackgroundColor;

  // Return true if the color is light, meaning it needs dark text for contrast.
  static bool _isLight(final Color color) =>
      ThemeData.estimateBrightnessForColor(color) == Brightness.light;

  // On color used when a theme color property does not have a theme onColor.
  static Color _onColor(final Color color, final Color bg) =>
      _isLight(Color.alphaBlend(color, bg)) ? Colors.black : Colors.white;

  @override
  Widget build(BuildContext context) {
    final ThemeData theme = Theme.of(context);
    final bool useMaterial3 = theme.useMaterial3;

    final MediaQueryData media = MediaQuery.of(context);
    final bool isPhone = media.size.width < phoneWidthBreakpoint ||
        media.size.height < phoneHeightBreakpoint;
    final double spacing = isPhone ? 3 : 6;

    // Grab the card border from the theme card shape
    ShapeBorder? border = theme.cardTheme.shape;
    // If we had one, copy in a border side to it.
    if (border is RoundedRectangleBorder) {
      border = border.copyWith(
        side: BorderSide(
          color: theme.dividerColor,
          width: 1,
        ),
      );
      // If
    } else {
      // If border was null, make one matching Card default, but with border
      // side, if it was not null, we leave it as it was.
      border ??= RoundedRectangleBorder(
        borderRadius: BorderRadius.all(Radius.circular(useMaterial3 ? 12 : 4)),
        side: BorderSide(
          color: theme.dividerColor,
          width: 1,
        ),
      );
    }

    // Get effective background color.
    final Color background =
        onBackgroundColor ?? theme.cardTheme.color ?? theme.cardColor;

    // Wrap this widget branch in a custom theme where card has a border outline
    // if it did not have one, but retains in ambient themed border radius.
    return Theme(
      data: Theme.of(context).copyWith(
        cardTheme: CardTheme.of(context).copyWith(
          elevation: 0,
          shape: border,
        ),
      ),
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: <Widget>[
          Padding(
            padding: const EdgeInsets.symmetric(vertical: 8),
            child: Text(
              'ChipTheme Colors',
              style: theme.textTheme.titleMedium,
            ),
          ),
          Wrap(
            alignment: WrapAlignment.start,
            crossAxisAlignment: WrapCrossAlignment.center,
            spacing: spacing,
            runSpacing: spacing,
            children: <Widget>[
              ColorCard(
                label: 'background\nColor',
                color: theme.chipTheme.backgroundColor!,
                textColor:
                    _onColor(theme.chipTheme.backgroundColor!, background),
              ),
              ColorCard(
                label: 'disabled\nColor',
                color: theme.chipTheme.disabledColor!,
                textColor: _onColor(theme.chipTheme.disabledColor!, background),
              ),
              ColorCard(
                label: 'selected\nColor',
                color: theme.chipTheme.selectedColor!,
                textColor: _onColor(theme.chipTheme.selectedColor!, background),
              ),
              ColorCard(
                label: 'secondary\nSelected\nColor',
                color: theme.chipTheme.secondarySelectedColor!,
                textColor: _onColor(
                    theme.chipTheme.secondarySelectedColor!, background),
              ),
            ],
          ),
        ],
      ),
    );
  }
}

/// A [SizedBox] with a [Card] and string text in it. Used in this demo to
/// display theme color boxes.
///
/// Can specify label text color and background color.
class ColorCard extends StatelessWidget {
  const ColorCard({
    super.key,
    required this.label,
    required this.color,
    required this.textColor,
    this.size,
  });

  final String label;
  final Color color;
  final Color textColor;
  final Size? size;

  @override
  Widget build(BuildContext context) {
    const double fontSize = 11;
    const Size effectiveSize = Size(86, 58);

    return SizedBox(
      width: effectiveSize.width,
      height: effectiveSize.height,
      child: Card(
        margin: EdgeInsets.zero,
        clipBehavior: Clip.antiAlias,
        color: color,
        child: Center(
          child: Text(
            label,
            style: TextStyle(color: textColor, fontSize: fontSize),
            textAlign: TextAlign.center,
          ),
        ),
      ),
    );
  }
}

Flutter doctor

[!] Flutter (Channel master, 3.6.0-3.0.pre.27, on macOS 13.0 22A380 darwin-arm64, locale en-US)
    • Flutter version 3.6.0-3.0.pre.27 on channel master at /Users/rydmike/fvm/versions/master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision c37f255e8b (2 hours ago), 2022-11-15 12:50:49 +0100
    • Engine revision 721fbe1116
    • Dart version 2.19.0 (build 2.19.0-400.0.dev)
    • DevTools version 2.19.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/rydmike/Library/Android/sdk
    • Platform android-33, build-tools 32.1.0-rc1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14B47b
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] IntelliJ IDEA Community Edition (version 2022.1.4)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 70.2.4
    • Dart plugin version 221.6008.17

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 13.0 22A380 darwin-arm64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 107.0.5304.110

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

Hello @rydmike. Thank you for the detailed issue. Can I suggest these be split up into multiple issues instead of one large one or is this issue meant to be more of a discussion thread rather than a bug report?

Thanks for reporting this! We've triaged the issue.

@rydmike - Issues that contain lists of issues are difficult for us to resolve and manage. We'd appreciate if you'd make this one an ☂ umbrella issue that points to four individual issues.

@HansMuller, sure I'll do it later when I have time.
The Chip implementation does, as can be seen, deviate from the Material 3 spec on many points and is missing features like correct designs in different states.
Its theming is also quite troublesome. Customizing the different Chips via themes is not optimally designed and does not work properly. Sure doable, as long as you don't use selectedColor, but if you do anyway, then at least don't use a selectedColor that would require other contrasting color for text and icons on selected Chips, than the backgroundColor requires on not selectable Chips.
The theme properties are quite messy to use, since they try to handle many different types of Chips with one theme. Which it still cannot do in all cases, it would need a few more properties to be able to handle them all correctly.
The M3 Chip implementation also overrides a lot of properties you cannot access or modify via its ChipThemeData at all. It is a bit like FAB case and SnackBar case where they do default behavior magic in the component, that you cannot replicate or modify in a similar manner via themes, which makes styling them via theme a second class citizen, imo.

Thanks, I hope you'll create issues for as many of the problems as you have the patience to create issues for.

@HansMuller, per request, issue is now converted to umbrella issue with breakout topics.

@rydmike [I've been on holiday for a week] - thanks for spreading the issues out, we will address them.

see also: #121959


chore(release): v1.6.0

bump bittensor version
enable commit reveal V3

:tada: This PR is included in version 1.6.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


More 0xed mnemonics

If only I knew how to fix this myself I would happily make a PR. But I couldn't easily figure out
how this is done, so:
0000 ed b0        ; ldir                 |
0002 ed           ; db 0xed              |
0003 b1           ; or c                 |
0004 ed           ; db 0xed              |
0005 b2           ; or d                 |
0006 ed           ; db 0xed              |
0007 b3           ; or e                 |
0008 ed b8        ; lddr                 |
000a ed           ; db 0xed              |
000b b9           ; cp c                 |
000c ed           ; db 0xed              |
000d ba           ; cp d                 |
000e ed           ; db 0xed              |
000f bb           ; cp e                 |

These instructions should be interpreted as
ldir (ok), cpir, inir, otir, lddr (ok), cpdr, indr, otdr respectively, see
https://clrhome.org/table/#ed

Also holds for these:

And thanks again for this project. I am having a lot of fun using it!

f4bc1a3607749ce6ec24dd45e2533ce685ec42f1 should fix this, thanks!

Thanks!


Disable log time button for project if issue field is required

Log time button should be disabled for project if issue field is required in order to avoid subsequent error message on save if possible.

I'll see what I can do.


Animation trigger too early when using other script like  "load more" cards

This is:

Bug

Specifications

AOS version: newest
OS: Windows
Browser: Chrome

Expected Behavior
Animation should trigger
Actual Behavior
No animations
Steps to Reproduce the Problem
Portfolio section has cards with images and there is "load more" button to display more cards. Code below
    <script>
      const loadMore = document.getElementById('btn');
      const hid = [...document.querySelectorAll('.foto-container.hidden')];

      hid.splice(0, 9).forEach(
        elem => elem.classList.remove('hidden')
      );

      loadMore.addEventListener('click', function(e) {
        e.preventDefault();

        hid.splice(0, 6).forEach(
          elem => elem.classList.remove('hidden')
        )

        if (hid.length == 0) {
          loadMore.classList.add('hidden');
        }
      });
    </script>

Detailed Description
Animations above and below "load more" feature works well, but when I click "load more" button and more cards are displayed, then below animations on the page are triggered as well, so when I scroll the page to buttom then elements are after animations already. Animations shouldn't trigger when clicked "load more" feature.
Possible Solution

Each time you add something to DOM, you need to use AOS.refresh();
We do something similar with Filtering hiding and showing new DOM Elements.


default version 2.8.1 from "composer require ramsey/uuid" still need use Rhumsaa\Uuid\Uuid;

Hi
One the main page says use "composer require ramsey/uuid" which pulls in 2.8.1 which still needs.
use Rhumsaa\Uuid\Uuid;
The readme for 2.8.1 is correct. Just the steps on master aren't yet.

Thanks for using the library and your interest in contributing.
The namespace is changing in version 3.0.0. Master represents 3.0.0-dev, so it is correct.

On Jun 30, 2015, at 07:04, Tim Haak<EMAIL_ADDRESS>wrote:
Hi
One the main page says use "composer require ramsey/uuid" which pulls in 2.8.1 which still needs.
use Rhumsaa\Uuid\Uuid;
The readme for 2.8.1 is correct. Just the steps on master aren't yet.
―
Reply to this email directly or view it on GitHub.

Cool :) Thanks for the libary


add-invoice fails with value_msat missing

Thx to Joe for reporting the error on a meetup:
With the current version of blitz_api (main branch), the add-invoice method fails with an "internal server error".
Endpoint Example:
/api/v1/lightning/add-invoice?value_msat=10000000&memo=Test
Error message:
Sep 11 12:09:13 raspberrypi python[279227]:   File "./app/repositories/lightning.py", line 104, in add_invoice
Sep 11 12:09:13 raspberrypi python[279227]:     return await ln.add_invoice_impl(memo, value_msat, expiry, is_keysend)
Sep 11 12:09:13 raspberrypi python[279227]:   File "./app/repositories/ln_impl/lnd_grpc.py", line 423, in add_invoice_impl
Sep 11 12:09:13 raspberrypi python[279227]:     invoice = Invoice(
Sep 11 12:09:13 raspberrypi python[279227]:   File "/usr/local/lib/python3.9/dist-packages/pydantic/main.py", line 341, in __init__
Sep 11 12:09:13 raspberrypi python[279227]:     raise validation_error
Sep 11 12:09:13 raspberrypi python[279227]: pydantic.error_wrappers.ValidationError: 1 validation error for Invoice
Sep 11 12:09:13 raspberrypi python[279227]: value_msat
Sep 11 12:09:13 raspberrypi python[279227]:   field required (type=value_error.missing)

I really wonder why this ever has worked. A required field was not set and for some reason prior Pydantic versions
didn't notice at all.


sticky: true and re-evaluating resolve objects

In our application, we've setup a wrapping API around ct-ui-router-extras where we enforce sticky: true on all states that are not considered a dialog/modal state (where we set sticky: false).
At some point we realised that this has introduced a bug pertaining to resolve objects not re-evaluating when transitioning between sticky: true states the second, third (etc.) time around.
$stateProvider.state('base', {
  url: '/base'
});

$stateProvider.state('base.child1', {
  sticky: true,
  url: '/child_one/:name',
  resolve: {
    hello: function ($stateParams) {
      return 'Aloha, ' + $stateParams.name;
    }
  },
  controller: function ($scope, hello) {
    console.log(hello);
  }
});

$stateProvider.state('base.child2', {
  sticky: true,
  url: '/child_two',
  controller: function ($scope, $state) {
    $scope.transition = function (name) {
      $state.go('base.child1', { name: name });
    };
  }
});

<div>
  <button ng-click="transition('Kasper')">
  <button ng-click="transition('Glenn')">
</div>

With the above in mind, we are experiencing the following:

Boot up the application, and go to base.child2 state.
Click the first button -> Transition to base.child1 state.

In the console, we will now see the following output: Aloha, Kasper.

Go back to base.child2 state.
Click the second button -> Transition to base.child1 state.

In the console, we will (yet again) see the following output: Aloha, Kasper.

At the last step, we are expecting to see Aloha, Glenn - but the case is not so.
We are running the following setup:
angular 1.2.26
ui-router 0.2.11
ct-ui-router-extras 0.0.11
Are we missing something in how sticky states work with resolve objects, or is this an actual bug?
I'm very sorry for the lack of a working live example of the problem we're encountering, but I have yet to be able to create a working jsBin. I'll update this post if I manage to set one up - but running the code above (locally) with the specified libraries I keep seeing $stateParams.name resolving to the first value it encountered.
From what I gather, this could have something to do with getStickyTransitionType#319 and/or getEnterTransition#333, but I might just be taking a stab in the dark.
Lastly, if I hardcode the enterTrans variable#L413 to "enter" - we get the expected behaviour of $stateParams.name resolving to the correct value on each consecutive transition to the affected $state.

@kasperlewau I'll be closing this soon due to inactivity, unless you have further comments.

cc: @tregusti  @mhenrixon I'll be closing this soon due to inactivity, unless you have further comments.

I'm having some trouble understanding the intended behavior. One of our states contains a resolve,
but whenever I switch to the modal state, Angular throws an error:
Error: $injector:unpr Unknown Provider
It seems the resolve variable got "disconnected". I'm currently using sticky states, and it seems to prevent the onExit callback from running, but the resolve variable still gets lost. Is this suppose to happen?


DStability will not open geolib generated input files

The current version of D-Stability (2023.01) generates an error with geolib generated stix files. The error is;
Project could not be migrated to the latest version Error converting value "MohrCoulombAdvanced to type

Which version of Geolib are you using? Could you supply the generated file and possibly the script that causes errors?
Geolib 1.0.0 supports 2023.01, older versions may not work correctly

@breinbaas I think I fixed this in PR #124 in v1.0.1

I can confirm that it is fixed now, thx @carloslubbers !


⚙Tech Debt: Standardize hidden input behaviour

Some builders expose hiddenInput stores, such as createSelect and createRadioGroup. They vary in usage though, as with createSelect, you have an optional name prop that's passed to the hidden input, that's missing in createRadioGroup.
We should standardize the API to improve expected usage.

Hi, how do I add the name / id attributes to the hidden field? I have version 0.73.0.
Thanks

Hi, how do I add the name / id attributes to the hidden field? I have version 0.73.0. Thanks

You add them via HTML attributes:
<input use:melt={$hiddenInput} name="name" id="id" />


Missing Code of Conduct

This repo is missing a Code of Conduct.

Yes that would be good.
I think copying this file would be sufficient:
https://github.com/open-telemetry/community/blob/b24dd0e4ab9b4391190dd20a12bf68aff2007162/code-of-conduct.md