🐛 [firebase auth ui] Error reported in console when verifying email address using web app

Bug report
Using google chrome and a web app, register a new email address and wait for the verify email to be sent.  Without clicking on the link in the verify email, click "continue" or "go back" on the verify email screen.  An error is reported in the android studio console
Error: Looking up a deactivated widget's ancestor is unsafe.
Click To Expand
Error: Looking up a deactivated widget's ancestor is unsafe.
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 266:49  throw_
packages/flutter/src/widgets/framework.dart 4334:9                                                                         <fn>
packages/flutter/src/widgets/framework.dart 4347:14                                                                        [_debugCheckStateIsActiveForAncestorLookup]
packages/flutter/src/widgets/framework.dart 4368:12                                                                        dependOnInheritedWidgetOfExactType
packages/firebase_ui_auth/src/actions.dart 97:19                                                                           maybeOf
packages/firebase_ui_auth/src/actions.dart 22:33                                                                           ofType
packages/firebase_ui_auth/firebase_ui_auth.dart 147:39                                                                     signOut
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50            <fn>
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/zone.dart 1660:54                                          runUnary
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/future_impl.dart 147:18                                    handleValue
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/future_impl.dart 767:44                                    handleValueCallback
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/future_impl.dart 796:13                                    _propagateToListeners
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/future_impl.dart 567:5                                     [_completeWithValue]
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/future_impl.dart 640:7                                     callback
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/schedule_microtask.dart 40:11                              _microtaskLoop
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/schedule_microtask.dart 49:5                               _startMicrotaskLoop
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 166:15           <fn>

After the above error, if you then attempt to sign in, it accepts the sign in but goes to the verify email screen (as it should) and it shows the large spinning circle indefinitely but fails to send a new verify email so it is now not possible to verify the email address, nor is it possible to delete the new account.  If you click "forgot password" you can reset the password and verify the email address at the same time - however when I clicked "continue" the app died completely with no error message in the console and a blank browser window.
After restarting the app, now try to sign in with a second email address that is previously registered and the screen shows a red error message
"An internal auth error has occurred"
Steps to reproduce
As above.
Expected behavior
The console should not report an error and the system should not prevent someone from repeating the verify operation.
Also, when the continue button is clicked, if the email address has not been verified it should say that verification has not been done and stay on the same screen.  The go back button can be used to go back to the sign in screen.
Eventually the system got into a state where it was not possible to register a new email address, the "forgot password" mechanism stopped working and registering a new email address gets an error on the screen in red "Please verify the new email before changing email".  i.e. the system is completely useless - I can't sign in nor can I register a new email address.
Sample project
Use the example app in the git repo of firebase auth UI which uses the "flutterfire-e2e-tests" project on firebase

Additional context
Add any other context about the problem here.

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 3.7.12, on Microsoft Windows [Version 10.0.22621.1635], locale en-NZ)
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
[√] Chrome - develop for the web
[√] Visual Studio - develop for Windows (Visual Studio Community 2022 17.4.1)
[√] Android Studio (version 2022.2)
[√] VS Code (version 1.70.2)
[√] VS Code, 64-bit edition (version 1.77.3)
[√] Connected device (3 available)
[√] HTTP Host Availability

• No issues found!

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

dependencies:
- cloud_firestore 4.5.3 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- cupertino_icons 1.0.5
- email_validator 2.1.17
- firebase_auth 4.4.2 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_auth_platform_interface 6.13.1 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_core 2.10.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_core_platform_interface 4.6.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_dynamic_links 5.1.1 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_ui_auth 1.2.4 [email_validator firebase_auth firebase_core firebase_dynamic_links firebase_ui_localizations firebase_ui_oauth firebase_ui_shared flutter flutter_localizations flutter_svg]
- firebase_ui_localizations 1.3.1 [flutter flutter_localizations path]
- firebase_ui_oauth 1.2.4 [desktop_webview_auth firebase_auth firebase_ui_auth firebase_ui_shared flutter_svg flutter]
- firebase_ui_oauth_apple 1.1.4 [firebase_auth firebase_ui_oauth flutter]
- firebase_ui_oauth_facebook 1.1.4 [firebase_auth firebase_ui_oauth flutter flutter_facebook_auth]
- firebase_ui_oauth_google 1.0.21 [firebase_auth firebase_ui_oauth flutter google_sign_in]
- firebase_ui_oauth_twitter 1.1.4 [flutter firebase_auth firebase_ui_oauth twitter_login]
- flutter 0.0.0 [characters collection js material_color_utilities meta vector_math sky_engine]
- flutter_localizations 0.0.0 [flutter intl characters clock collection js material_color_utilities meta path vector_math]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- google_fonts 4.0.4 [flutter http path_provider crypto]

dev dependencies:
- drive 1.0.0-1.0.nullsafety.5 [test_api flutter_test flutter_driver stack_trace 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 js 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_facebook_auth 4.4.1+1 [flutter flutter_facebook_auth_platform_interface flutter_facebook_auth_web]
- 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 js matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]
- google_sign_in 5.4.4 [flutter google_sign_in_android google_sign_in_ios google_sign_in_platform_interface google_sign_in_web]
- http 0.13.6 [async http_parser meta]
- integration_test 0.0.0 [flutter flutter_driver flutter_test path vm_service archive async boolean_selector characters clock collection crypto fake_async file js 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.4.0 [analyzer build code_builder collection dart_style matcher meta path source_gen test_api]
- test 1.22.0 [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]
- twitter_login 4.3.2 [crypto flutter http]

transitive dependencies:
- _fe_analyzer_shared 59.0.0 [meta]
- _flutterfire_internals 1.1.1 [collection firebase_core firebase_core_platform_interface flutter meta]
- analyzer 5.11.1 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- archive 3.3.2 [crypto path]
- args 2.4.0
- async 2.10.0 [collection meta]
- boolean_selector 2.1.1 [source_span string_scanner]
- build 2.3.1 [analyzer async convert crypto glob logging meta path]
- built_collection 5.1.1
- built_value 8.4.4 [built_collection collection fixnum meta]
- characters 1.2.1
- clock 1.1.1
- cloud_firestore_platform_interface 5.12.1 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 3.4.2 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- code_builder 4.4.0 [built_collection built_value collection matcher meta]
- collection 1.17.0
- convert 3.1.1 [typed_data]
- coverage 1.6.3 [args logging package_config path source_maps stack_trace vm_service]
- crypto 3.0.2 [typed_data]
- dart_style 2.3.0 [analyzer args path pub_semver source_span]
- desktop_webview_auth 0.0.11 [crypto flutter http flutter_web_plugins plugin_platform_interface]
- fake_async 1.3.1 [clock collection]
- ffi 2.0.1
- file 6.1.4 [meta path]
- firebase_auth_web 5.3.2 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_web 2.3.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_dynamic_links_platform_interface 0.2.4+1 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_ui_shared 1.2.0 [flutter]
- fixnum 1.1.0
- flutter_facebook_auth_platform_interface 3.2.0 [flutter plugin_platform_interface]
- flutter_facebook_auth_web 3.2.0 [flutter flutter_web_plugins js flutter_facebook_auth_platform_interface]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- frontend_server_client 3.2.0 [async path]
- fuchsia_remote_debug_protocol 0.0.0 [process vm_service file meta path platform]
- glob 2.1.1 [async collection file path string_scanner]
- google_sign_in_android 6.1.14 [flutter google_sign_in_platform_interface]
- google_sign_in_ios 5.6.2 [flutter google_sign_in_platform_interface]
- google_sign_in_platform_interface 2.4.0 [flutter plugin_platform_interface quiver]
- google_sign_in_web 0.10.2+1 [flutter flutter_web_plugins google_sign_in_platform_interface js]
- http_multi_server 3.2.1 [async]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- intl 0.17.0 [clock path]
- io 1.0.4 [meta path string_scanner]
- js 0.6.5 [meta]
- lints 2.0.1
- logging 1.1.1
- matcher 0.12.13 [meta stack_trace]
- material_color_utilities 0.2.0
- meta 1.8.0
- mime 1.0.4
- node_preamble 2.0.2
- package_config 2.1.0 [path]
- 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 2.0.14 [flutter path_provider_android path_provider_foundation path_provider_linux path_provider_platform_interface path_provider_windows]
- path_provider_android 2.0.27 [flutter path_provider_platform_interface]
- path_provider_foundation 2.2.2 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.10 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_platform_interface 2.0.6 [flutter platform plugin_platform_interface]
- path_provider_windows 2.1.6 [ffi flutter path path_provider_platform_interface win32]
- petitparser 5.1.0 [meta]
- platform 3.1.0
- plugin_platform_interface 2.1.4 [meta]
- pool 1.5.1 [async stack_trace]
- process 4.2.4 [file path platform]
- pub_semver 2.1.3 [collection meta]
- quiver 3.2.1 [matcher]
- 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.7 [analyzer async build dart_style glob path source_span yaml]
- source_map_stack_trace 2.1.1 [path source_maps stack_trace]
- source_maps 0.10.12 [source_span]
- source_span 1.9.1 [collection path term_glyph]
- stack_trace 1.11.0 [path]
- stream_channel 2.1.1 [async]
- string_scanner 1.2.0 [source_span]
- sync_http 0.3.1
- term_glyph 1.2.1
- test_api 0.4.16 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- test_core 0.4.20 [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]
- typed_data 1.3.1 [collection]
- vector_math 2.1.4
- vm_service 9.4.0
- watcher 1.0.2 [async path]
- web_socket_channel 2.4.0 [async crypto stream_channel]
- webdriver 3.0.1 [archive matcher path stack_trace sync_http]
- webkit_inspection_protocol 1.2.0 [logging]
- win32 4.1.3 [ffi]
- xdg_directories 1.0.0 [meta path process]
- xml 6.2.2 [collection meta petitparser]
- yaml 3.1.1 [collection source_span string_scanner]

Hi @graemep-nz, I followed the steps you outlined above but I did not get any errors in my console (either chrome or IDE) when I hit go back after the sign up.
I also attempted to login with the credentials and in my initial tests, I did not encounter the infinite loading you mentioned. In subsequent tests, firebase blocks the messages because I've been sending too many requests.
Is there any additional information you can provide? It seems all is working just fine on my end.
The recording below is for the first error that you reported (looking up a deactivated widget).

recording
https://user-images.githubusercontent.com/88313112/236799415-3ec579d2-13fb-447e-b9a8-51e8e50f2d25.mov

I'll see if I can recover my ability to login to firebase by deleting a local cache or something, if I can't I'll try on a different machine.  In the meantime, do you have any idea what causes this error message
"Please verify the new email before changing email".
What conditions result in this error message being produced?

It might have been that firebase was blocking me like you said it was doing to you because tonight the app is usable again and I can log in and log out etc.  I suspect the error message "Please verify the new email before changing email" comes from the remote firebase server as the error text does not appear in any of the local "localization" source files nor in any of the local firebase_auth source files.
Did you notice I was using an outdated version of firebase_ui_auth.  I've changed to this but the problem is still there
firebase_ui_auth: ^1.3.0
firebase_ui_localizations: ^1.4.0
I can consistently reproduce the error
Error: Looking up a deactivated widget's ancestor is unsafe.
which comes from sign out here
packages/firebase_ui_auth/firebase_ui_auth.dart 147:39
Just in case you didn't could you please try it like this

register a new email address
wait for the verify email to arrive but don't click on it
click "continue" in the app.  It should say "we couldn't verify your email address"
click "go back"

now you should get the error message "unsafe...".
I don't get the error every single time but most of the time.  If you don't get the error, try just doing "go back" instead of continue, or try with a different email address.
I also got a new error tonight as below.  I am testing with three different gmail email addresses.  The system lets me register them all from the same PC/ app so I have been trying things like signing up then deleting the account and trying to sign in etc.
Error: setState() or markNeedsBuild() called when widget tree was locked.
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/internal/js_dev_runtime/private/ddc_runtime/errors.dart 266:49      throw
packages/flutter/src/widgets/framework.dart 4636:9
packages/flutter/src/widgets/framework.dart 4645:14                                                                            markNeedsBuild
packages/flutter/src/widgets/framework.dart 1153:5                                                                             setState
packages/firebase_ui_auth/src/widgets/editable_user_display_name.dart 61:7                                                     _finishEditing
This is the function that is giving the "ancestor ... unsafe" error message.  The error is with the "ofType" function call which occurs after the await has completed.   The caller isn't doing an await - it can't - it's in a build method.  Why is the signOut function doing a callback when the goBack button has already done a callback.  A delayed callback using build context seems wrong.
Sorry about the formatting below - the "insert code" thing is not working
    BuildContext? context,
    FirebaseAuth? auth,
  }) async {
    final resolvedAuth = auth ?? FirebaseAuth.instance;
    await OAuthProviders.signOut(resolvedAuth);
    await resolvedAuth.signOut();

    if (context != null) {
      final action = FirebaseUIAction.ofType<SignedOutAction>(context);
      action?.callback(context);
    }
  }```

The caller isn't doing an await

```        '/verify-email': (context) {
          return EmailVerificationScreen(
            headerBuilder: headerIcon(Icons.verified),
            sideBuilder: sideIcon(Icons.verified),
            actionCodeSettings: actionCodeSettings,
            actions: [
              EmailVerifiedAction(() {
                Navigator.pushReplacementNamed(context, '/profile');
              }),
              AuthCancelledAction((context) {
                FirebaseUIAuth.signOut(context: context);
                Navigator.pushReplacementNamed(context, '/');
              }),
            ],
          );
        },

          variant: ButtonVariant.text,
          text: l.goBackButtonLabel,
          onPressed: () {
            FirebaseUIAction.ofType<AuthCancelledAction>(context)
                ?.callback(context);
          },
        )

I still cannot seem to reproduce the issue and I keep running to firebase blocking the email so the buttons are never shown.
See the recording below.
I'll be labeling this for further insight & investigation from the team

recording
https://github.com/firebase/flutterfire/assets/88313112/2818437c-49d1-4e75-b205-d5760506faf6

Just tell Andreii Lesnitsky that the callback in the signOut function causes a problem for the example app
@lesnitsky

The example app could pass null to the signOut function to stop the callback occurring.  There's no error message that comes back from the signOut function if the signout fails so what is the point of notifying the user that the signout has completed.  Is the GUI supposed to block until the signout completes - the example app doesn't wait for the callback, nor does it set up any actions for it.


App crashes upon navigation to deleted text file

Bug
I'm in the habit of deleting all my LBRY downloads but keeping the blobs. In the latest app (0.45.0), if I navigate to one of these files (e.g., one of the .py files or .md files on my channel), it crashes (to the screen that tells you to refresh the app). In previous versions it showed a weird gray box.
Once the file has been re-created, the app displays the files correctly and does not crash.

Thanks for spotting this issue. I think we've seen some crashes recently around this in our logs.
   at Object.open (fs.js:406:3)
   at Object.module.(anonymous function) [as open] (ELECTRON_ASAR.js:179:31)
   at ReadStream.open (internal/fs/streams.js:110:12)
   at new ReadStream (internal/fs/streams.js:99:10)
   at Object.createReadStream (fs.js:1706:10)
   at Object.file (file:///C:/Program%20Files/LBRY/resources/app.asar/ui.js:195:200840)
   at n.r.componentDidMount (file:///C:/Program%20Files/LBRY/resources/app.asar/ui.js:195:211513)
   at as (file:///C:/Program%20Files/LBRY/resources/app.asar/ui.js:280:83399)
   at pl (file:///C:/Program%20Files/LBRY/resources/app.asar/ui.js:280:101223)
   at t.unstable_runWithPriority (file:///C:/Program%20Files/LBRY/resources/app.asar/ui.js:288:3844)
   at Hi (file:///C:/Program%20Files/LBRY/resources/app.asar/ui.js:280:45072)
   at hl (file:///C:/Program%20Files/LBRY/resources/app.asar/ui.js:280:97695)
   at Js (file:///C:/Program%20Files/LBRY/resources/app.asar/ui.js:280:93900)
   at file:///C:/Program%20Files/LBRY/resources/app.asar/ui.js:280:45363
   at t.unstable_runWithPriority (file:///C:/Program%20Files/LBRY/resources/app.asar/ui.js:288:3844)
   at Hi (file:///C:/Program%20Files/LBRY/resources/app.asar/ui.js:280:45072)


Display time promotion on client order page

Issue: https://github.com/RailsEventStore/ecommerce/issues/410
Previously, when a client submitted an order and displayed this order, there was no information about the discounts he received. Now, on the client order show page, there is information about the discounts that were applied.

I also refactored some names that had "reset" to "remove", which I had overlooked during this pull request:
https://github.com/RailsEventStore/ecommerce/pull/422
I was thinking about creating another table for discounts, such as client_orders_discounts, and storing the discounts there instead of keeping them in the same table as client_order as it is now. What do you think about this?

Request for the future, please separate commits into smaller pieces :)
In this case, refactoring of reset -> remove could be separate commit from displaying the discounts


Add note about limitsNavigationsToAppBoundDomains to cookies.md

Hi there,
We recently added our WKAppBoundDomains as shown in the example here. We were unaware this would result in isNativePlatform returning false on iOS until we finally discovered this issue. Could've saved us some headaches if this pointer was nearby, wanted to propose in case ya'll deem it beneficial for posterity.

this file is generated from https://github.com/ionic-team/capacitor/blob/main/core/cookies.md, so no manual changes should be done as they will be overridden on next docs generation


numpy should be included in requirements.txt

I am getting import error in a virtualenv in which no numpy is installed.

Good idea - want to do a PR?


handle throttling automatically

Today we need to shutdown servers, wait, fix yt sync records so they are picked up by other channels, etc.

23 recently got stuck at eleting original file /tmp/ytsync318973938/QTWjcTZI5ko/jennifer-love-hewitt-stories.f140 (pass -k to keep) ERRO[694297] 2604:2dc0:101:200::e9f set to throttled DEBU[694297] slack: ytsync-status: :sos: 2604:2dc0:101:200::e9f set to throttled INFO[694297] Command finished with error: WARNING: Unable to download webpage: HTTP Error 429: Too Many Requests INFO[694297] /tmp/ytsync318973938/QTWjcTZI5ko DEBU[694297] QTWjcTZI5ko deleted from disk for 'due to error' (/tmp/ytsync318973938/QTWjcTZI5ko/jennifer-love-hewitt-stories.mp4) INFO[694312] Running command youtube-dl --no-progress -o/tmp/ytsync318973938/NE6xHQGFJSc/jennifer-love-hewitt-stories --merge-output-format mp4 --rm-cache-dir --postprocessor-args -movflags faststart --abort-on-unavailable-fragment --fragment-retries 1 --cookies cookies.txt --max-filesize 2048M --match-filter duration <= 7200 --source-address 2604:2dc0:101:200::e9f https://www.youtube.com/watch?v=NE6xHQGFJSc -fbestvideo[ext=mp4][height<=1080]+bestaudio[ext!=webm] --user-agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 DEBU[694315] Removing cache dir /home/lbry/.cache/youtube-dl .. [youtube] NE6xHQGFJSc: Downloading webpage [youtube] NE6xHQGFJSc: Downloading API JSON [youtube] NE6xHQGFJSc: Downloading MPD manifest [youtube] NE6xHQGFJSc: Downloading API JSON [download] Destination: /tmp/ytsync318973938/NE6xHQGFJSc/jennifer-love-hewitt-stories.f135 [download] Download completed [download] Destination: /tmp/ytsync318973938/NE6xHQGFJSc/jennifer-love-hewitt-stories.f140 [download] Download completed [ffmpeg] Merging formats into "/tmp/ytsync318973938/NE6xHQGFJSc/jennifer-love-hewitt-stories.mp4" Deleting original file /tmp/ytsync318973938/NE6xHQGFJSc/jennifer-love-hewitt-stories.f135 (pass -k to keep) Deleting original file /tmp/ytsync318973938/NE6xHQGFJSc/jennifer-love-hewitt-stories.f140 (pass -k to keep) INFO[694315] Command finished with error: WARNING: Unable to download webpage: HTTP Error 429: Too Many Requests INFO[694315] /tmp/ytsync318973938/NE6xHQGFJSc DEBU[694315] NE6xHQGFJSc deleted from disk for 'due to error' (/tmp/ytsync318973938/NE6xHQGFJSc/jennifer-love-hewitt-stories.mp4)
it detects it - it should stop syncing so that another server can pick it up and then wait a day.


Importer possibly not cleaning up files/dbs between failed imports?

If a dataset fails to import, it seems like the CoL+ importer isn't cleaning up the files and/or databases that are created during by the failed import, which might result in the Neo4j database failing to create a new database. This bug makes it really slow going to debug what's wrong with datasets that are failing to import because I have to register a new dataset each time I make a change.
To produce the bug, I create a temporary github repo with the ACEF files for the 1201 database, which I registered in the clearinghouse. As expected, it failed to import. Then I replaced those files with valid ACEF files from GSD1203, and tried to re-import from the previous registered dataset. I expected that to import successfully but it failed to import. Then I registered another new dataset and tried to import again with the exact same valid acef files dataset, and it imported successfully.

The same thing happens on prod.

Error indeed says cannot obtain lock file:
Caused by: org.neo4j.kernel.StoreLockException: Unable to obtain lock on store lock file: /home/col/bin/dev/scratch/2054/normalizer/store_lock. Please ensure no other process is using this database, and that the directory is writable (required even for read-only access)

This is strange as files should get cleared up and I cannot reproduce it in tests when I first import a failure then a success which works just fine.

Hmm, maybe it was caused by the deploy and wipe? I can try to reproduce it again tomorrow.

I was hitting this bug after deployment finished today, so I don't think it's deployment-related. If a dataset successfully imports, the importer doesn't seem to allow updating the dataset because it uses the previous copy and no errors are logged in Kibana.

Nevermind, I was wrong about this:

If a dataset successfully imports, the importer doesn't seem to allow updating the dataset because it uses the previous copy and no errors are logged in Kibana.

@gdower with the latest deploy I cannot find an example that fails like that.
I have reimported many failed ACEF datasets and they all work now.
Can you try with your test one please?

The import test dataset works now, so I might not be able to test for the Normalizer bug. I'll re-open this if I can reproduce it again.

I'm still hitting this bug, so re-opening. Here's the stacktrace:
java.lang.IllegalStateException: Failed to init NormalizerStore at /home/col/bin/prod/scratch/1141/normalizer
	at org.col.importer.neo.NeoDbFactory.create(NeoDbFactory.java:49)
	at org.col.importer.neo.NeoDbFactory.persistentDb(NeoDbFactory.java:30)
	at org.col.importer.neo.NeoDbFactory.create(NeoDbFactory.java:64)
	at org.col.importer.ImportJob.importDataset(ImportJob.java:189)
	at org.col.importer.ImportJob.run(ImportJob.java:116)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.RuntimeException: Error starting org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory, /home/col/bin/prod/scratch/1141/normalizer
	at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.initFacade(GraphDatabaseFacadeFactory.java:212)
	at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.newFacade(GraphDatabaseFacadeFactory.java:125)
	at org.neo4j.graphdb.factory.GraphDatabaseFactory.newDatabase(GraphDatabaseFactory.java:137)
	at org.neo4j.graphdb.factory.GraphDatabaseFactory.newEmbeddedDatabase(GraphDatabaseFactory.java:130)
	at org.neo4j.graphdb.factory.GraphDatabaseFactory$1.newDatabase(GraphDatabaseFactory.java:107)
	at org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:199)
	at org.col.importer.neo.NeoDb.openNeo(NeoDb.java:170)
	at org.col.importer.neo.NeoDb.<init>(NeoDb.java:131)
	at org.col.importer.neo.NeoDbFactory.create(NeoDbFactory.java:46)
	... 9 common frames omitted
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.kernel.internal.locker.StoreLockerLifecycleAdapter@649c126e' was successfully initialized, but failed to start. Please see the attached cause exception "Unable to obtain lock on store lock file: /home/col/bin/prod/scratch/1141/normalizer/store_lock. Please ensure no other process is using this database, and that the directory is writable (required even for read-only access)".
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:466)
	at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:107)
	at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.initFacade(GraphDatabaseFacadeFactory.java:208)
	... 17 common frames omitted
Caused by: org.neo4j.kernel.StoreLockException: Unable to obtain lock on store lock file: /home/col/bin/prod/scratch/1141/normalizer/store_lock. Please ensure no other process is using this database, and that the directory is writable (required even for read-only access)
	at org.neo4j.kernel.internal.locker.StoreLocker.storeLockException(StoreLocker.java:117)
	at org.neo4j.kernel.internal.locker.StoreLocker.unableToObtainLockException(StoreLocker.java:110)
	at org.neo4j.kernel.internal.locker.GlobalStoreLocker.haveLockAlready(GlobalStoreLocker.java:73)
	at org.neo4j.kernel.internal.locker.StoreLocker.checkLock(StoreLocker.java:65)
	at org.neo4j.kernel.internal.locker.GlobalStoreLocker.checkLock(GlobalStoreLocker.java:60)
	at org.neo4j.kernel.internal.locker.StoreLockerLifecycleAdapter.start(StoreLockerLifecycleAdapter.java:36)
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:445)
	... 19 common frames omitted

Frontend version: 6058086 August 21, 2019 7:04 AM
Backend version: a1681bf August 21, 2019 1:33 PM

@mdoering, rebooting does fix the issue, so it's not critical. I'll remove the important label.

that might be related to prod being frozen earlier today when I had to restart it.
That might well be a situation when lock files are not cleaned up. We should clear all neo4j files when doing a restart I reckon


style: add syntax hightlight to readme

Codecov Report

Merging #719 into master will decrease coverage by 0.9%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #719      +/-   ##
==========================================
- Coverage   67.45%   66.54%   -0.91%
==========================================
  Files          50       50
  Lines        7223     6232     -991
==========================================
- Hits         4872     4147     -725
+ Misses       2351     2085     -266

Impacted Files
Coverage Δ

include/pistache/router.h
92% <0%> (-8%)
:arrow_down:

include/pistache/tcp.h
75% <0%> (-5%)
:arrow_down:

include/pistache/net.h
84.61% <0%> (-3.62%)
:arrow_down:

include/pistache/flags.h
85.71% <0%> (-3.18%)
:arrow_down:

include/pistache/view.h
86.36% <0%> (-3.12%)
:arrow_down:

include/pistache/http_headers.h
92.85% <0%> (-2.98%)
:arrow_down:

include/pistache/description.h
79.16% <0%> (-2.98%)
:arrow_down:

src/common/description.cc
17.07% <0%> (-2.78%)
:arrow_down:

include/pistache/optional.h
90.62% <0%> (-1.97%)
:arrow_down:

include/pistache/endpoint.h
90% <0%> (-1.67%)
:arrow_down:

... and 36 more

Continue to review full report at Codecov.

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


Yaml file validation

It seems to me I could use the library to do yaml file validation.
Is it something that might be added in the future ?

It depends on what you mean by YAML file validation.  If you mean that you could write the configuration file in Dhall, validate that using a type, and then convert to YAML then you can already do that today.
However, this library doesn't (and probably won't) support converting from YAML to Dhall.  The Dhall language and ecosystem tries to avoid importing from other formats and encouraging people to author inputs directly in Dhall so that the whole pipeline is strongly typed from end-to-end.

I meant the second option not as a complete converter but more as a way to verify expectation while receiving such yaml files.
As you said I realized it is best to use the Dhall format up front. My sole reluctance doing so has been how foreign it might look to other people.
After https://github.com/Gabriel439/Haskell-Dhall-Library/issues/18 I felt more confident it isn't going to surprise readers that much.


Upgrade to microgrid client v0.4.0

Bump frequenz-client-microgrid to v0.4.0
Use GrpcError instead of grpc.aio.AioRpcError
Avoid repetition on error handling
Use a server URL to connect to the microgrid API
Use new microgrid API wrapped types
Stop using the mock_api for testing
Remove the, now unused, mock_api and its tests
Silence hpack debug logging
Fix mock return value
Avoid disabling some pylint checks when unnecessary
Remove unsed protobuf and grpcio dependencies

This is a draft because it depends on https://github.com/frequenz-floss/frequenz-client-microgrid-python/pull/54 and v0.4.0 to be released after it is merged.
It also needs release notes, but other than that it is ready to be reviewed!

Added release notes.

v0.4.0 released, this is ready for a final review!

Updated.

Updated.


password protected admin login for "online editing page"

How about add a password protected admin login for the online editing function? In this way, users can access the knowledge base without password but only admin with a password can edit the pages. The current "allow_editing: true" + basic auth in the config.default.js won't do the trick.

This is really a nice feature, maybe separate the login route from the content so people who are successfully logged in are the only ones who can have the edit function.
@ryanlelek I'm trying to "hack" into the code, in app/index.js can I add a function like:
function isAuthenticated(req, res, next) {
  if (req.session.loggedIn == false) {
    res.send("You must be logged in");
    res.redirect('/login');
  }
  return next();
}

..and so pass it in app.post('/rn-edit', isAuthenticated, function (req, res, next) ?
At the moment if I'm not logged and I set allow_editing : true, in Edit mode POST requests result in 500 Internal Server Error which to me is a good sign that something is going on. I just don't know what's next or if I'm on the right track.
I'm learning Node.js so please be gentle. :) I appreciate any help. :+1:

@markphd You are in the right mindset, defining middleware and then adding it to the middleware stack.
My guess just from looking at the code you provided is req.session may not be defined and thus, the property req.session.loggedIn does not exist which is why you get the 500 error. Simply a guess though! Feel free to ask me about any other Node.js questions too, directly


Improve error message on iOS when test or xctestrun-file not set

Author the user story for this feature
As a user, I want to see a better message when I don't set a test or xctestrun-file so I can easily understand what I do wrong.
Is your feature request related to a problem? Please describe.
now message for iOS look like
IosArgs
  ...
RunTests
java.io.FileNotFoundException: /Users/.../Repos/flank/test_runner (Is a directory)
...

Process finished with exit code 1

on android, we have a clear message

One of following options must be specified [test, robo-directives, robo-script].

Process finished with exit code 2

Describe the solution you'd like
I think we can display a message like on android devices.
WDYT
@bootstraponline @jan-gogo @Pasterzp @piotradamczyk5 @Sloox

I like this idea!

If there is a nice message on android it should be the same for IOS too. It makes perfect sense!


Update seate user’s website logo url.

Ⅰ. Describe what this PR did
Update seate user’s website logo url.

Codecov Report

Merging #3128 into develop will decrease coverage by 0.12%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop    #3128      +/-   ##
=============================================
- Coverage      50.58%   50.45%   -0.13%
+ Complexity      3105     3103       -2
=============================================
  Files            599      599
  Lines          19514    19487      -27
  Branches        2408     2364      -44
=============================================
- Hits            9871     9833      -38
+ Misses          8651     8638      -13
- Partials         992     1016      +24

Impacted Files
Coverage Δ
Complexity Δ

...obuf/convertor/BranchRegisterRequestConvertor.java
90.47% <0.00%> (-9.53%)
3.00% <0.00%> (ø%)

...otobuf/convertor/BranchReportRequestConvertor.java
90.90% <0.00%> (-9.10%)
3.00% <0.00%> (ø%)

...obuf/convertor/BranchRollbackRequestConvertor.java
92.00% <0.00%> (-8.00%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalBeginResponseConvertor.java
92.59% <0.00%> (-7.41%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalCommitRequestConvertor.java
93.75% <0.00%> (-6.25%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalStatusRequestConvertor.java
93.75% <0.00%> (-6.25%)
3.00% <0.00%> (ø%)

...obuf/convertor/GlobalRollbackRequestConvertor.java
93.75% <0.00%> (-6.25%)
3.00% <0.00%> (ø%)

...protobuf/convertor/RegisterTMRequestConvertor.java
94.73% <0.00%> (-5.27%)
3.00% <0.00%> (ø%)

...protobuf/convertor/RegisterRMRequestConvertor.java
90.47% <0.00%> (-4.77%)
3.00% <0.00%> (ø%)

...tobuf/convertor/BranchReportResponseConvertor.java
95.45% <0.00%> (-4.55%)
3.00% <0.00%> (ø%)

... and 27 more


Putting accordion in waypoint accomplishment.

Hello to FCC lovers out there. :) Why don't we put waypoints accomplished shown in profile page inside accordion and categorize them?
What do you think of this idea, do reply.

@bishisht thanks for posting. See https://github.com/FreeCodeCamp/FreeCodeCamp/issues/5667. Closing this issue.


npx amplify sandbox fails for auth with domainPrefix

Environment information
System:
    OS: Linux 6.7 Arch Linux
    CPU: (24) x64 12th Gen Intel(R) Core(TM) i9-12900HX
    Memory: 112.41 GB / 125.50 GB
    Container: Yes
    Shell: 5.9 - /usr/bin/zsh
  Binaries:
    Node: 18.18.2 - ~/.nvm/versions/node/v18.18.2/bin/node
    Yarn: 1.22.21 - /usr/bin/yarn
    npm: 9.8.1 - ~/.nvm/versions/node/v18.18.2/bin/npm
    pnpm: 8.14.1 - ~/.local/share/pnpm/pnpm
    bun: Not Found
    Watchman: Not Found
  npmPackages:
    @aws-amplify/backend: ^0.10.1 => 0.10.1
    @aws-amplify/backend-cli: ^0.9.6 => 0.9.6
    aws-amplify: ^6.0.12 => 6.0.12
    aws-cdk: ^2.121.1 => 2.121.1
    aws-cdk-lib: ^2.121.1 => 2.121.1
    typescript: ^5.2.0 => 5.3.3

Description
When creating an auth resource with social providers and domainPrefix, npx amplify sandbox will fail if the changes are pushed in and deployed as it will try to reuse the same cognito domain for main environment user pool and sandbox user pool.
Domain already associated with another user pool. (Service: AWSCognitoIdentityProviderService; Status Code: 400; Error Code: InvalidParameterException; Request ID: f59cb18f-9520-4900-86f0-1e0f52f6a3c9; Proxy: null)

export const auth = defineAuth({
  loginWith: {
    email: true,
    externalProviders: {
      domainPrefix: 'foo-bar',
      ....
    }
  }
}

https://github.com/aws-amplify/amplify-backend/blob/main/packages/auth-construct/src/construct.ts#L828-L830

This is expected behavior. You'll need to configure the domainPrefix using an environment variable so that it can be adjusted in different environments. eg
export const auth = defineAuth({
  loginWith: {
    email: true,
    externalProviders: {
      domainPrefix: process.env.AUTH_DOMAIN,
      ....
    }
  }
}

Following the instructions here: https://docs.amplify.aws/gen2/deploy-and-host/fullstack-branching/secrets-and-vars/#access-environment-variables
Looks that env variables are not getting picked up: tested in branch with .env and in sandbox with .env.local files

I was able to bypass this by using dotenv and load the configuration with some preBuild scripts to populate the right env variables for sandbox vs main branch, closing the ticket


Workers for simple state manager

I don't know if this is already somehow possible, but it would be really convenient to have workers for the simple state manager.

No, this is not possible, reactive programming is required for Workers


Flashloan feature please

Hello bro simple and stright forward code for beginners like me. Can u show me how to integrate flashloan money instead of mine?
Thanks

Hey, for the integration of flashloans, a specialized contract needs to be written. I don't have a ready code for this at the moment, but I plan to share a repository on this topic in the upcoming days.


LuckPerms Add on feature

Is it possible to add on timed perks,
Not like the settemp, but addtemp
So the timer can increase the perk or node applied to the user/group to extend the timer available

https://github.com/lucko/LuckPerms/wiki/Command-Usage:-Permission#lp-usergroup-usergroup-permission-settemp-node-truefalse-duration-temporary-modifier-context
Have a closer read.

Thanks, heaps! Must have missed this.

You’re welcome

@BrainStone
IS it possible to display say this node:
"cmi.command.fly" in a API/Placeholder to say this is active, but not show if it is not active?
Eg Timed perks that could be active on the server for 24 hours for those receiving the free perks.
I do use MyCommand yet to play around with it but thought to ask


Include KEGG protein IDs, hsa:xxxx, and link to them

Canceled, for now: Uniprot is the main source for proteins.


Question About Use Case

Hello, I'm considering using Project Acoustics in my project because of its advertising as simulating sound waves. However, I have a very odd use case: I'm not using fully handmade scenes. Instead, I'm connecting pre-built geometries in-game. From what I can tell, the baking tool can't be used after deployment, even if run locally, and would take too long for reasonable load times if it did. Because of this, I don't know if PA is a good fit.
Does anyone know if this system allows for baking individual geometries, instead of entire scenes, and then putting them together during runtime without losing much simulation accuracy?

@NexusDarkshade this is certainly an interesting use case.  While you are correct that Project Acoustics is mostly used for simulating sound propagation for entire scenes, there have been customers that have used the technology to bake pre-fab assets that move around in the larger scene.  For example, the interior of ship that's sailing on the water remains largely self-consistent when it comes to sound propagation regardless of the position of the ship in the larger scene.  In this scenario, you would need to bake the ship independently from the larger scene and when doing queries for acoustic parameters, you will need to circumvent the coordinates provided by the game engine with coordinates that are relative to the interior space of the ship in this case.  Project Acoustics doesn't support this scenario by default, but with some clever updating of the plugin code, you should be able to make this work.  I hope that this helps, although I'm not sure that this recommendation completely addresses your use case.

I assume you're talking about Sea of Thieves (I believe I saw it listed as one of the customers). While it's good to know that the plugin could support relative positions, even with a little modification, it sounds like they still only use a single "bake" at a time.
Unfortunately, I don't know that it helps with my use case, as I would be mixing geometries which would likely interfere with each others' sound propagation. Because of that, I don't think that I'll be able to go with Project Acoustics in my project, at least for now. I'll keep looking for a solution I can use, but I might have to hand-make my own basic sound engine.

Sounds good @NexusDarkshade - doing "modular acoustics" is an open research problem, but definitely there are possibilities of getting something done by specializing cleverly for one's particular use case / game. Best of luck!


PE-322: HTML5 example integrated into dev-cookbook

📝 Description
The changes in this PR are intended to migrate the frontend of bs-exmaple-wss to an example directory in this repository.
As the frontend did not have any tests, the test script is currently bypassed.

Issue: Url to Jira Issue
📋 List of Changes

Added project called example-html5-app
Modified dev-cookbook eslintrc to allow ts extensions in imports
Modified node scripts in html5 example from their original repo (bs-example-wss)

test, format, format:check, lint, and publish

🧪 Steps to Test

There are no tests for this example as it was migrated over from another repository and did not have tests there either. Adding tests may not be encompassed in this effort.

Notes to the Reviewer

📸 Screenshots

✔ Dev Complete Checklist

[ ] PR template filled out
[ ] Change is tested by submitter
[ ] PR follows all linting and coding standards
[ ] Github Issue exists (if applicable)
[ ] Team member has been assigned
[ ] At least one commit message is in Conventional Commit format

The latest change to this PR is adding babel to convert the Typescript project into Javascript. This method of supporting a Javascript version of the html template avoids any outdating of either language of the template.
In terms of adding mocks to this effort based off firmware IDLs, I am thinking we possibly use swagger-mock-generator, but should we store the IDLs in this monorepo or access them each time we want to update the mock classes?

Looks like there are some github actions failed. @jdmedlin1 please check them out.
WRT the changes overall, this is a bit different than what I thought will be made. Although it says it's a template, the html included will display an example application. Maybe I'm not clear on the definition of template vs example.

There looks like still some open questions for the implementation where I don't see the changes in the latest patches:

how to manage the typescript vs javascript example

This will be done in a separate PR captured in effort PE-314

where do we consolidate the player OS API type definition

I am not sure I understand what you mean by player OS API type definition. IDLs? Which APIs are you referring to?

how do we provide user instructions to setup players in general

We should point the root readme to a document that already exists as we would like to avoid maintaining a redundant instruction.

what's the main difference between a template vs example project

@brightsign/bs-partner-engineering shall we make a writeup/document for us to reference and improve? The primary difference in my mind between a template and an example is the intention of its use. This is still a bit difficult for me to objectively discern.

There looks like still some open questions for the implementation where I don't see the changes in the latest patches:

how to manage the typescript vs javascript example

This will be done in a separate PR captured in effort PE-314

where do we consolidate the player OS API type definition

I am not sure I understand what you mean by player OS API type definition. IDLs? Which APIs are you referring to?

how do we provide user instructions to setup players in general

We should point the root readme to a document that already exists as we would like to avoid maintaining a redundant instruction.

what's the main difference between a template vs example project

@brightsign/bs-partner-engineering shall we make a writeup/document for us to reference and improve? The primary difference in my mind between a template and an example is the intention of its use. This is still a bit difficult for me to objectively discern.

I am not sure I understand what you mean by player OS API type definition. IDLs? Which APIs are you referring to?

I'm referring to the mock OS classes. What's the plan to consolidate them?

We should point the root readme to a document that already exists as we would like to avoid maintaining a redundant instruction.

I agree but I don't see that being implemented. Are you planning to do on a different ticket?

There looks like still some open questions for the implementation where I don't see the changes in the latest patches:

how to manage the typescript vs javascript example

This will be done in a separate PR captured in effort PE-314

where do we consolidate the player OS API type definition

I am not sure I understand what you mean by player OS API type definition. IDLs? Which APIs are you referring to?

how do we provide user instructions to setup players in general

We should point the root readme to a document that already exists as we would like to avoid maintaining a redundant instruction.

what's the main difference between a template vs example project

@brightsign/bs-partner-engineering shall we make a writeup/document for us to reference and improve? The primary difference in my mind between a template and an example is the intention of its use. This is still a bit difficult for me to objectively discern.

I am not sure I understand what you mean by player OS API type definition. IDLs? Which APIs are you referring to?

I'm referring to the mock OS classes. What's the plan to consolidate them?

Which mock OS classes are you referring to? If we are looking to integrate OS mocks into this repository, that should be covered in another ticket so we can set it up for all projects, not just html template.

We should point the root readme to a document that already exists as we would like to avoid maintaining a redundant instruction.

I agree but I don't see that being implemented. Are you planning to do on a different ticket?

This is now in PE-314

@mingjun7 I'll be consolidating mocks and categorizing between individual and root readme information in PE-314


Redefine 'Content-type' email header in order to send using HTML snippets

Currently, if a user (dev) selects a snippet that contains HTML (such as your example sendform-table.php snippet, the HTML will deliver as text and render as such. As far as I can see, the only way to override this is to redefine the Content-Type property currently defined in the email class within the Kirby toolkit. Alternatively, a duplicate service adopter could be created with this one line changed, but that does not seem desirable.
Is there a way for SendForm.php to force the definition of this header to change?

I think there is no way for this plugin to force a change of the header without using a new email service. A simple change of the default mail service would make this possible:
email::$services['html-mail'] = function($email) {
   $headers = array(
      'From: ' . $email->from,
      'Reply-To: ' . $email->replyTo,
      'Return-Path: ' . $email->replyTo,
      'Message-ID: <' . time() . '-' . $email->from . '>',
      'X-Mailer: PHP v' . phpversion(),
      // changed:
      'Content-Type: text/html; charset=utf-8'),
      'Content-Transfer-Encoding: 8bit',
   );
   ini_set('sendmail_from', $email->from);
   $send = mail($email->to, str::utf8($email->subject), str::utf8($email->body), implode(PHP_EOL, $headers));
   ini_restore('sendmail_from');
   if(!$send) {
      throw new Error('The email could not be sent');
   }
};

The contact form plugin then would need a new option to set the email service manually.
@chrisbalt would you be happy with this solution? You could make this work right now if you added the above email service and called it mail, thus overwriting the default service.

@mzur I think you're right, it seems that either modifying the existing service–or adding a new service adopter–with the Content-Type properly set is the only way to go. Could instrument a somewhat-elegant solution if a new mail service could be defined outside of the Kirby toolkit. Could then detect some string (like "html") in the snippet filename, which would trigger use of the html-mail service. Until then, this works just fine.
Thanks for the response.

An option to choose a (custom) email service will be added in v1.3 (#11).

:+1: @mzur You should add this to the plugin and/or to the README.md!

I think it's rather for the Toolkit to implement this and allow different content types with the mail service or provide a new html-mail service. Feel free to request this feature :wink:


Bash script started through a git alias is not aborted via Ctrl+C, exclusively when using git bash via VSCode

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.68.0-insider
OS Version: Windows 7 64bit & Windows 10 64bit

Steps to Reproduce:

Add either of the following aliases to git:

[alias]
	sleepalias = "!f() { \
		sleep 3; \
		echo '> This should never be seen'; \
	}; \
	f"
	abortalias = "!f() { \
		read -p '> Press ctrl+c to cancel'; \
		echo '> This should never be seen'; \
	}; \
	f"

Run them in git-bash through VSCode and cancel them with Ctrl+C before the echo can be ran.

Expected: The echo should never be executed.
Actual: The echo command is executed in both scenarios.
Additional info:

This doesn't happen when running a normal bash script containing the same code through git-bash in VSCode
This doesn't happen in a standalone git-bash instance
This doesn't happen with any other terminal inside VSCode

@Tyriar, I was wondering if you could help triage this issue to see whether this is something that it specific to the integrated terminal or not. Thank you very much in advance.

This doesn't happen with any other terminal inside VSCode

@sidola could you try with Windows Terminal if you haven't yet? That uses the same backend as vscode

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Change menu behaviour for the admin

We have been struggling with the new feature to open the "Administration…" or "Users…" menu items in a separate tab. The goal of this was to reduce unnecessary the number of page loads. And the original idea was to offer a button/link in each tab to switch to the other fairly seamlessly, and without reloading the content again. This can be important when users are editing remote sites (Aldryn users) or users who are using a tablet, or worse, tablet users on Aldryn.
Unfortunately, browser manufacturers are removing any API to do this button/link convenience and we're left in a position where we either leave a link there which causes duplicate copies of your project in multiple tabs and the confusion that creates or, we remove it and some users may struggle getting back to their project.
For this case a better solution is, to return to opening the Administration views in the sideframe again but to add a "power-user" feature that if they hold the ctrl/cmd key down when invoking the "Administration…" or "Users…" menu-items, then the view will open in a separate tab (without any "return" button).
This pull request restores and adds this feature.

:100: on keeping the admin in the sidebar!

overall LGTM provided we're going to thoroughly test it


App-scoped resource with method observing @RuntimeStart causes @Context in MP REST request metrics interceptor to be null

Environment Details

Helidon Version: 4.x
Helidon SE or Helidon MP MP
JDK version:
OS:
Docker version (if applicable):

Problem Description
The MP metrics component uses an interceptor to update the per-request REST.request metrics. Information about the metric to be updated is stored in the request context so the interceptor has easy access to it, and the interceptor InterceptorSyntheticRestRequest uses
@Context
private ServerRequest request;

to obtain the request and, from there, its request context.
If the resource class being accessed is @ApplicationScoped and also has a method observing the @RuntimeStart event, somehow the request is null in the interceptor.
Remove the observer method and the request is populated as expected.
The same problem occurs if the method observes @Initialized(ApplicationScoped.class) instead.
Steps to reproduce
The attached zip file is the normal Helidon MP Quickstart with two changes:

A new app-scoped resource class with an observer method.
A new test that accesses the endpoint declared in the new resource.

Unzip the attached zip file.
mvn clean package - The test fails with an NPE in the REST request metrics interceptor because the injected @Context ServerRequest request in InterceptorSyntheticRestRequest is null.
In the StartUpInit resource class comment out the onStartup observer method.
mvn clean package now passes the test.

This is not a test-only problem. These steps also trigger the problem:

mvn clean package -DskipTests
java -jar target/helidon-quickstart-mp.jar
In other terminal curl http://localhost:8080/teststartup.

NPEWithObserver.zip

Thanks to @tomas-langer in a private conversation, this seems to be working as designed (if a bit confusing).
Briefly, with the observer method on the app-scoped bean, CDI uses a creational context that does not process the @Context annotation in the interceptor. With the observer method commented out or moved to another app-scoped bean that is not also a JAX-RS resource, CDI uses a creational context that does process @Context.
To avoid the problem, move the observer method to a separate app-scoped bean that is not also a JAX-RS resource.


Drag event on marker image is not firing

I have markers through out the map and each marker ImageView has a dimension of 100 x 100 at least . Dragging map doesn't seem work if i start dragging map from those images . Any idea :-(

Do they have click listeners?

As i scan thru other issues , i had found exactly the same issue i have which is #220 . I tried work around which you pointed out but it didn't solve my issue.
In below , all the light blue area are images which has custom click listener. Basically click listener would not pass event to parent . In contrary , if i add markerEventListener , callout only open if i tap exact same x and y. It mean tap on anywhere of each blue area wouldn't work .

Sorry if my english make u confused .

MarkerTapListener on the TileView instance should work, and does not require specific x, y points (the x and y of the event are calculated against the actual layout of the marker View).  Have you tried using a single MarkerTapListener on the TileView instance?

firstly i used version 1 , so i only have MarkerEventListener .  i tried with your suggestion but i have no idea why the position not working on anywhere inside marker layout .
Solution
To solve this issue , i alternatively use hotspot which has only rect region no image and on tap i show marker . Thanks for your help as well.


Support for more tooltip positions

Added support for new tooltip positions like "top left", "top right", "bottom right", "bottom left".

@tochoromero I have made the changes in package.json to point to actual repo and corrected the line break. I have updated the pull request.

My only problem with the Pull Request is that it only works for Bootstrap 3. I'm very hesitant to add features that only work for one version of Bootstrap.
In order to be able to merge this, we would need to provide the CSS to make this work on Bootstrap 4. Unfortunately, CSS is not my strong suit, if you would like to invest the time to create the CSS for Bootstrap 4 I would be extremely thankful :)

Sure, In that case, I will add custom css patches to add support for bootstrap 4 and update the pull request.

Is there a way to do the css so they don't have to manually include it, so the library automatically includes it?
And we need to make sure the custom css doesn't mess up in Bootstrap 3 mode.
Thanks a lot

Yes, we can make the module to include the css automatically. But there are some complications as well. Please take a look at the below issue.
CSS imports
I think it is better to leave the choice to the users whether they want it or not.

Unfortunately Bootstrap 4 Beta switched from using Tether to use Popper. The change is not a simple one, so I will have to rework this whole thing. However, I will borrow some of your improvements. Thank you very much for the contribution.


Disable Relay

Hi,
Is there a way to disable a relay?
Thanks!

Nope. You can rename it if you don't use it. I assume you mean disabling the non-primary relay, correct?
I might add support for disabling non-primary relays in a future release, but I'm trying to understand the use case. Can you elaborate on your reasoning?

I have a driveway gate and a sidewalk door that can both be unlocked, but because one has a HomeKit bridge, it's a duplicate. So, I'd like to get rid of the doorbird integration on one device for simplicity :)

@jbk1988 I've just checked in v0.3.1 - give it a try. See the README for how to selectively hide relays.

Published

Thank you!
However, now that it has updated -- it all quit working for me. This is what I'm getting:
error in configuring this Doorbird: StatusCodeError: 401 - "\n\n<html xmlns="http://www.w3.org/1999/xhtml\" xml:lang="en" lang="en">\n \n  401 Unauthorized\n \n \n  401 Unauthorized\n \n\n"
at new StatusCodeError (/home/hoobs/.hoobs/node_modules/request-promise-core/lib/errors.js:32:15)
at Request.plumbing.callback (/home/hoobs/.hoobs/node_modules/request-promise-core/lib/plumbing.js:104:33)
at Request.RP$callback [as _callback] (/home/hoobs/.hoobs/node_modules/request-promise-core/lib/plumbing.js:46:31)
at Request.self.callback (/home/hoobs/.hoobs/node_modules/request/request.js:185:22)
at Request.emit (events.js:310:20)
at Request. (/home/hoobs/.hoobs/node_modules/request/request.js:1161:10)
at Request.emit (events.js:310:20)
at IncomingMessage. (/home/hoobs/.hoobs/node_modules/request/request.js:1083:12)
at Object.onceWrapper (events.js:416:28)
at IncomingMessage.emit (events.js:322:22)
at endReadableNT (_stream_readable.js:1187:12)
at processTicksAndRejections (internal/process/task_queues.js:84:21) {
statusCode: 401,
error: '\n' +
'\n' +
'\n' +
' \n' +
'  401 Unauthorized\n' +
' \n' +
' \n' +
'  401 Unauthorized\n' +
' \n' +
'\n',
options: [Object],
response: [IncomingMessage]
}

Okay, I got that working by updating the password.
However, I no longer get notified when the doorbell is ringing in HomeKit. Is that a change now in the coding, @brownad? I deleted the HTTP call per the directions.


Datepicker in Safari

This is my code:
<input class="form-control" type="text"   value="{{ startDate | date: format}}"
                                                    ng-required="true" disabled/>
                                                    <button class="fa fa-calendar" close-text="Close" show-weeks="false" show-button-bar="false" datepicker-popup="{{format}}" ng-change="setDirty()"
                                                        ng-model="startDate"></button>

And this is working fine in all browsers, except Safari (5 & 6). When I click on button, popup is not shown!
There are no errors in console. Any hint how to debug this?

I see this as a very old issue, but I can confirm that the datepicker is not working in Safari (latest version in Yosemite as of writing of this). Here's my code, pretty simple:

    <input type="text" class="form-control" ng-model="item.data.info" placeholder="Enter date purpose"/>
    <input type="date" class="form-control" datepicker-popup ng-model="item.data.date" is-open="status.opened" close-text="Close" />


tui freezes when closing as a scratchpad

I have the spotify_player app integrated as a scratchpad as i find them very useful, my only problem with it so far is that it freezes when i hide the scratchpad and reopen it again.
Closing the scratchpad completely (with my kill keybind) makes it so that spotify_player won't launch again until i perform a reboot of my system

Image above shows me trying to launch it through the terminal (kitty)
Installed from cargo with lyric and image feature on Arch with kernel 5.19.8

I have the spotify_player app integrated as a scratchpad as i find them very useful, my only problem with it so far is that it freezes when i hide the scratchpad and reopen it again

I'm not really familiar with the scratchpad concept. Would you mind to further elaborate?
Also, if possible, can you include the log and backtrace of the app when freezing as described in https://github.com/aome510/spotify-player#logging?

I have the spotify_player app integrated as a scratchpad as i find them very useful, my only problem with it so far is that it freezes when i hide the scratchpad and reopen it again

I'm not really familiar with the scratchpad concept. Would you mind to further elaborate?
Yeah so, a scratchpad is basically a toggleable window in a window manager ( I use xmonad) , you press a keybind - it opens/closes and it functions like any other program, currently I have spotify-player in one as I find it useful.
https://hackage.haskell.org/package/xmonad-contrib-0.17.0/docs/XMonad-Util-NamedScratchpad.html < Link to more information

Also, if possible, can you include the log and backtrace of the app when freezing as described in https://github.com/aome510/spotify-player#logging?
https://pastebin.com/NnbfFFPa
https://pastebin.com/cR0fhePH

https://pastebin.com/NnbfFFPa
https://pastebin.com/cR0fhePH

Thanks. However, I couldn't find anything wrong with the log. Can you record a screen of the freezing case?
I'm not familiar with xmonad, so not sure if the issue is related to spotify_player.

Excuse the white noise.
I don't think its something to do with xmonad since both btop, and spotify-tui work just fine
https://user-images.githubusercontent.com/104651507/190434872-ddb76f4e-6a2b-42f0-84d0-15cc379bbb4d.mp4

I don't the above video works for me

https://user-images.githubusercontent.com/104651507/190622551-e8232842-f17d-4d51-b3ef-d9a0a565f1c9.mp4
Does this one work for you?

I don't think it's the problem with Spotify-player. I use it as a scratchpad in LeftWM and Qtile and everything works fine.

Thanks @elkrien for additional input.
@a1fishie the above video works for me. My best guest is that the reopening the scratchpad requires the app to re-communicate with kitty for image rendering. However, the communicate part is only done upon startup, so kitty won't be able to process the new request. I encountered a similar freeze before when first integrating image rendering.
So to confirm this behaviour, @a1fishie can you try to run the app without image feature and maybe, in a terminal different than kitty?

Without image seemingly fixes the issue, thank you

@a1fishie thanks for the confirmation. I think it's possible to fix the issue with image feature and kitty for scratchpad. Just leave this issue as open, so we can track that.

I've got the same issue (i guess), and running strace shows that it seems to hang on opening temp files:
...
openat(AT_FDCWD, "/tmp/.tmp.viuer.p", O_RDWR|O_CREAT|O_EXCL|O_CLOEXEC, 0600) = -1 EEXIST (File exists)
openat(AT_FDCWD, "/tmp/.tmp.viuer.R", O_RDWR|O_CREAT|O_EXCL|O_CLOEXEC, 0600) = -1 EEXIST (File exists)
openat(AT_FDCWD, "/tmp/.tmp.viuer.d", O_RDWR|O_CREAT|O_EXCL|O_CLOEXEC, 0600) = -1 EEXIST (File exists)
...

This goes on for a random sequence of numbers and letters. Maybe some cleanup didn't run?
Removing all those files resolved the issue for me
Haven't got time to see what spotify-players logging reports, maybe I can check that later/the next time this issue appears

hi @AntonHermann, thanks for reporting. Just want to clarify, did u also use scratchpad as described in the initial discussion in this issue or did u encounter a freeze in general, which may be a result of a potential deadlock?

No, for me it happened in a regular kitty window

Got it, thanks for the clarification. I guess the cause can be a subtle concurrent bug. I can take a look when I'm less busy. In the meantime, hope that this doesn't happen too frequently. Any details to help reproduce the bug is also appreciated.


⚠ ClamAV has degraded performance

In 3401c3c, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 95 ms

Resolved: ClamAV performance has improved in 023dc6c.


clarify role filtering docs

Summary
(Guidelines for creating a bug report are available
here: https://github.com/capistrano/capistrano/blob/master/DEVELOPMENT.md)
Provide a general description of the code changes in your pull
request... were there any bugs you had fixed? If so, mention them. If
these bugs have open GitHub issues, be sure to tag them here as well,
to keep the conversation linked together.
Short checklist

[ ] Did you run bundle exec rubocop -a to fix linter issues?
[ ] If relevant, did you create a test?
[ ] Did you confirm that the RSpec tests pass?
[ ] If you are fixing a bug or introducing a new feature, did you add a CHANGELOG entry?

Other Information
If there's anything else that's important and relevant to your pull
request, mention that information here.
If you are updating any of the CHANGELOG files or are asked to update the
CHANGELOG files by reviewers, please add the CHANGELOG entry at the top of the file where indicated.
Thanks for helping improve Capistrano!

@will-in-wi check please. not a native speaker, but i've tried


[clean] remove extern crate

Issue #29 , if available: As the extern prelude is introduced in 2018 edition, extern crate is unidiomatic.
Description of changes: Removes extern crate.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thanks for nice advice!
I've added an additional commit for updating the code to be compatible with the 2018 edition by cargo fix --edition-idioms command.

I'll merge and solve #29.


Migrate to ESM

I have some experience migrating projects from CommonJS to ESM, so I decided to do it for this project.
I know Average was doing that in #87 , but that PR also involves adding rollup to our build, so I figure it'd be cleaner to separate those changes and make them incrementally.
Added

verbatimModuleSyntax setting for TypeScript

Changed

Converted eslint.config.js to ESM
Ran npx sort-package-json to sort our package.json file automatically
Updated typescript so we can use verbatimModuleSyntax
Sorted all imports
Changed moduleResolution to NodeNext and added .js extensions to all local imports
All logger.js imports to use scoped imports instead of * as logger

Fixed

superstruct types not being compatible with NodeNext resolution by adding a type-shim file until it gets fixed
ts-node not working with ESM by replacing it with tsx

Removed

lodash dependencies and replaced them with built-in methods
All // Internal dependencies and // External dependencies comments (I don't know why I liked those in the first place)

It may be valuable too to set the import/extensions rule in ESLint, and set the "ignorePackages" option, to enforce file extensions in local imports.
As-is, unless TypeScript has changed its behavior in this area, I don't think our tooling checks for those statically like it should, rather waiting for malformed imports to fail at runtime.


Fix calicoctl link

Description

Related issues/PRs

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

None required

Deploy preview for calico ready!
Built with commit 5675fb4dee0775bf4ff44f93fcf73c4e1e3b3070
https://deploy-preview-2892--calico.netlify.com


[20414] Bump version to 2.14.0

Description

This PR:

[x] Bumps version to 2.14.0 in consonance with eProsima/Fast-DDS#4439
[x] Updates the mirror workflow to mirror master in 2.14.x
[x] Adds this PR template
[x] Ports the repository's colcon.meta from JSON to YAML

Contributor Checklist

[x] Commit messages follow the project guidelines.
N/A: Code snippets related to the added documentation have been provided.
N/A; Documentation tests pass locally.
N/A: Applicable backports have been included in the description.

Reviewer Checklist

[x] The PR has a milestone assigned.
[ ] The title and description correctly express the PR's purpose.
[ ] Check contributor checklist is correct.
[ ] CI passes without warnings or errors.

@richiprosima please test this

@richiprosima please test this


Make listen (backlog) configurable

Default settings stay as their system default but the listen.backlog
and listen URI are now configurable. The listen.backlog setting only
takes effect when you change the listen URI from a Unix socket to a TCP
address + port set to listen on.
Usabilla PHP Docker Template
Reviewers: @usabilla/oss-docker
Type
Please specify the type of changes being proposed:

Q
A

Documentation?
yes

Dockerfile change?
yes

Build feature?
no

Apply CVE Patch?
no

Remove CVE Patch?
no

@WyriHaximus do you still want to work on this one?

@renatomefi not perse, don't have a need for it anymore to be honest

Alright, feel free to re-open it if you wish, we'd also need some tests to guarantee the behavior!


Can i use your implementation in a non interactive way?

I just think that is little weird to introduce manually (or interactively) the number of layers and other hyperparameters.

+1

+1000

+1000000

So I found how to do this in the code
when initialising the model you need to set the paramaters

input_through_cmd = True
inputs_for_gui= [list of dimensions]

Example:
model = XBNETClassifier(X_train,y_train, num_layers = 2,  input_through_cmd = True, inputs_for_gui=[11,11,11,11,3])
This is a model of 4 hidden layers of 11 neurons each with "None" (3) output layer


[Sema] Do not emit cast to unrelated warning from existential to Anyhashable

Checked cast an existential type to Anyhashable can be successful at runtime if underlying type conforms to hashable. But at compile time is not possible to know the conformances, so we cannot emit the cast to unrelated warning in this case.

Fixes https://github.com/apple/swift/issues/59405

@swift-ci Please test

@swift-ci Please test


ChoiceTile content is not updated properly

Tested with iOS 17
For some reason  Content is not fully updated on a change. ViewModel's isSelected is @Published var isSelected: Bool. On a tap I would expect that Text color will be changed however it's not.
ChoiceTile(
    "Title"
    badgeOverlay: hint
    isSelected: viewModel.isSelected,
    alignment: .center
) {
    viewModel.isSelected.toogle()
} content: {
    Text("Price")
        .textColor(viewModel.isSelected ? .blueNormal : .inkDark)
}

Update:

color is changed if on tap string value in Text is changed as well
color is changed if I use SwiftUI.Text(plusPrice) instead of Orbit.Text

@Parabak it would help to have a minimum reproducible case - I suspect the viewModel is not needed at all and this could reproduce with a @State as well.
Since it works with SwiftUI.Text, I'd expect it's tied to the fact that textColor here is a custom Orbit modifier...

The issue is in a missing re-evaluation when the textColor is applied directly like here.
Workaround: Wrapping the Text in a a Group or a stack works.


Relations are not being duplicated

Bug report
Describe the bug
Whenever I duplicate a component, all fields will be copied, except for the relations. Those will stay empty.
Expected behavior
The relations to also be copied.
Screenshots
If applicable, add screenshots to help explain your problem.
Code snippets
If applicable, add code samples to help explain your problem.
System

Node.js version:
NPM version: 18
Strapi version: 4.20.5
Plugin version: 1.0.1
Database: Sqlite
Operating system: MacOS

test

test

asdf

test


Added support for svn dependencies in deps file. Below is an example:

[phing]
svn=http://phing.mirror.svn.symfony-project.com/tags/2.3.3
version=434
target=/phing

Hi, This doesn't work.

Cheers,
Ben

Closing as we are now using Composer


Update README to include link to AUR package

Hi,
Since I'm using the library on quite a few devices that run Arch Linux, I've made a VCS-linked package for libe131 on the AUR. It can be found at: https://aur.archlinux.org/packages/libe131-git/.
Could be useful to put a link in the README so it could be easily seen by others wishing to use it on Arch-based distros.

I'm happy the library is being useful for you and thanks for submitting it to the AUR =).


download ground truth meshes of the DTU dataset?

Hi, where can I download the ground truth meshes of the DTU dataset?

hi @dongshengLiu , you can download DTU dataset from https://drive.google.com/drive/folders/1Nlzejs4mfPuJYORLbDEUDWlc9IZIbU0C