🐛 [firebase_storage] Multiple Storage instances not supported by Firebase Cloud Storage Emulator

Bug report
Describe the bug
When instantiating multiple FirebaseStorage objects pointing to the same Firebase project but different buckets, it's not possible to reconfigure all to use the Storage Emulator (using useStorageEmulator).
Steps to reproduce
Steps to reproduce the behavior:

Create a storage instance:

FirebaseStorage.instanceFor(
        app: firebaseApp,
        bucket: 'some-bucket',
      );

Create a second storage instance using a different bucket.
Configure both instances to use the emulator:
instance.useStorageEmulator(host, 9199);
Upload a file using the instance pointing to the first bucket.
Move the file from bucket A to bucket B (with a trigger in our case).
Download a file using the instance pointing to the second bucket.
The download fails with a generic error message.

Expected behavior
Multiple instances of FirebaseStorage can be used together with the simulator or it is possible to switch buckets used by an instance.

Additional context
We are uploading files to bucket A of our Cloud Storage, on which a trigger listens. The trigger processes and moves the files into another bucket (B) when it's done. Our client needs to be able to download these files again from bucket B. We were unable to build a setup with two buckets that is testable using the Storage emulator and are unaware of a solution after further research.

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.3.8, on macOS 13.0.1 22A400 darwin-arm, locale de-DE)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] IntelliJ IDEA Ultimate Edition (version 2022.2.1)
[✓] Connected device (2 available)
[✓] HTTP Host Availability

• No issues found!

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
Dart SDK 2.18.4
Flutter SDK 3.3.8
appname 0.17.1+1

dependencies:
- async 2.9.0 [collection meta]
- auto_route 5.0.4 [flutter path collection meta]
- auto_size_text 3.0.0 [flutter]
- badges 2.0.3 [flutter]
- cloud_firestore 4.1.0 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- cloud_functions 4.0.5 [cloud_functions_platform_interface cloud_functions_web firebase_core firebase_core_platform_interface flutter]
- collection 1.16.0
- cupertino_icons 1.0.5
- equatable 2.0.5 [collection meta]
- file_picker 5.2.3 [flutter flutter_web_plugins flutter_plugin_android_lifecycle plugin_platform_interface ffi path win32]
- firebase_analytics 10.0.6 [firebase_analytics_platform_interface firebase_analytics_web firebase_core firebase_core_platform_interface flutter]
- firebase_auth 4.1.5 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.3.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_crashlytics 3.0.6 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace]
- firebase_messaging 14.1.3 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta]
- firebase_remote_config 3.0.6 [firebase_core firebase_core_platform_interface firebase_remote_config_platform_interface firebase_remote_config_web flutter]
- firebase_storage 11.0.6 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter]
- flutter 0.0.0 [characters collection material_color_utilities meta vector_math sky_engine]
- flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path vector_math]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- fpdart 0.3.0
- freezed_annotation 2.2.0 [collection json_annotation meta]
- get_it 7.2.0 [async collection]
- intl 0.17.0 [clock path]
- json_annotation 4.7.0 [meta]
- logger 1.1.0
- mime_type 1.0.0
- open_filex 4.3.1 [flutter ffi]
- package_info_plus 3.0.2 [ffi flutter flutter_web_plugins http meta path package_info_plus_platform_interface win32]
- path 1.8.2
- 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]
- provider 6.0.4 [collection flutter nested]
- 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]
- smooth_page_indicator 1.0.0+2 [flutter]
- stack_trace 1.10.0 [path]
- url_launcher 6.1.7 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]
- uuid 3.0.7 [crypto]
- webview_flutter 3.0.4 [flutter webview_flutter_android webview_flutter_platform_interface webview_flutter_wkwebview]

dev dependencies:
- auto_route_generator 5.0.2 [build source_gen analyzer path build_runner code_builder dart_style xml args auto_route]
- build_runner 2.3.0 [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]
- dart_code_metrics 4.19.2 [analyzer analyzer_plugin ansicolor args collection crypto file glob html meta path source_span xml yaml]
- fake_cloud_firestore 2.0.1 [flutter cloud_firestore cloud_firestore_platform_interface collection plugin_platform_interface quiver rxdart]
- file 6.1.4 [meta path]
- firebase_auth_mocks 0.9.2 [flutter firebase_auth meta equatable dart_jsonwebtoken uuid]
- firebase_storage_mocks 0.6.0+1 [flutter firebase_storage]
- 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]
- freezed 2.2.0 [analyzer build build_config collection meta source_gen freezed_annotation json_annotation]
- json_serializable 6.5.4 [analyzer async build build_config collection json_annotation meta path pub_semver pubspec_parse source_gen source_helper]
- mockito 5.3.2 [analyzer build code_builder collection dart_style matcher meta path source_gen test_api]
- 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]

transitive dependencies:
- _fe_analyzer_shared 47.0.0 [meta]
- _flutterfire_internals 1.0.9 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- adaptive_number 1.0.0 [fixnum]
- analyzer 4.7.0 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- analyzer_plugin 0.10.0 [analyzer collection dart_style pub_semver yaml]
- ansicolor 2.0.1
- args 2.3.1
- 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]
- characters 1.2.1
- checked_yaml 2.0.1 [json_annotation source_span yaml]
- clock 1.1.1
- cloud_firestore_platform_interface 5.9.0 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 3.1.0 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- cloud_functions_platform_interface 5.1.24 [firebase_core flutter meta plugin_platform_interface]
- cloud_functions_web 4.3.13 [cloud_functions_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- code_builder 4.3.0 [built_collection built_value collection matcher meta]
- convert 3.1.1 [typed_data]
- coverage 1.6.1 [args logging package_config path source_maps stack_trace vm_service]
- crypto 3.0.2 [typed_data]
- csslib 0.17.2 [source_span]
- dart_jsonwebtoken 2.6.0 [crypto pointycastle convert collection ed25519_edwards]
- dart_style 2.2.4 [analyzer args path pub_semver source_span]
- ed25519_edwards 0.3.1 [collection crypto convert adaptive_number]
- fake_async 1.3.1 [clock collection]
- ffi 2.0.1
- firebase_analytics_platform_interface 3.3.14 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_analytics_web 0.5.1+5 [_flutterfire_internals firebase_analytics_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- firebase_auth_platform_interface 6.11.3 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.1.3 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.5.2 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.0.1 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_crashlytics_platform_interface 3.3.7 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_platform_interface 4.2.7 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_web 3.2.8 [_flutterfire_internals firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins js meta]
- firebase_remote_config_platform_interface 1.1.26 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_remote_config_web 1.1.15 [firebase_core firebase_core_web firebase_remote_config_platform_interface flutter flutter_web_plugins js]
- firebase_storage_platform_interface 4.1.24 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_storage_web 3.3.16 [_flutterfire_internals async firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http js meta]
- fixnum 1.0.1
- flutter_plugin_android_lifecycle 2.0.7 [flutter]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- frontend_server_client 2.1.3 [async path]
- glob 2.1.1 [async collection file path string_scanner]
- graphs 2.2.0 [collection]
- html 0.15.1 [csslib source_span]
- http 0.13.5 [async http_parser meta path]
- http_multi_server 3.2.1 [async]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- io 1.0.3 [meta path string_scanner]
- js 0.6.4
- lints 2.0.1
- 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
- package_config 2.1.0 [path]
- package_info_plus_platform_interface 2.0.1 [flutter meta plugin_platform_interface]
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- path_provider_android 2.0.22 [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_platform_interface 2.0.5 [flutter platform plugin_platform_interface]
- path_provider_windows 2.1.3 [ffi flutter path path_provider_platform_interface win32]
- petitparser 5.1.0 [meta]
- platform 3.1.0
- plugin_platform_interface 2.1.3 [meta]
- pointycastle 3.6.2 [collection convert js]
- pool 1.5.1 [async stack_trace]
- process 4.2.4 [file path platform]
- pub_semver 2.1.3 [collection meta]
- pubspec_parse 1.2.1 [checked_yaml collection json_annotation pub_semver yaml]
- quiver 3.1.0 [matcher]
- rxdart 0.27.7
- 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_helper 1.3.3 [analyzer collection source_gen]
- 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]
- stream_channel 2.1.0 [async]
- stream_transform 2.1.0
- string_scanner 1.1.1 [source_span]
- 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]
- 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.4.0
- watcher 1.0.2 [async path]
- web_socket_channel 2.2.0 [async crypto stream_channel]
- webkit_inspection_protocol 1.2.0 [logging]
- webview_flutter_android 2.10.4 [flutter webview_flutter_platform_interface]
- webview_flutter_platform_interface 1.9.5 [flutter meta plugin_platform_interface]
- webview_flutter_wkwebview 2.9.5 [flutter path webview_flutter_platform_interface]
- win32 3.1.1 [ffi]
- xdg_directories 0.2.0+2 [meta path process]
- xml 6.1.0 [collection meta petitparser]
- yaml 3.1.1 [collection source_span string_scanner]

Thanks for the report @rd-martin-zoeller
I am not sure if this would be actionable from client side or need to be reported  here https://github.com/firebase/firebase-tools/issues, but can you provide the error message / log that is thrown while carrying out this use case ?

It's this generic error:
storage/object-not-found, No object exists at the desired reference
However, through testing I can be certain that the object is there and if I switch the order of the calls to useStorageEmulator, the upload (step 1) fails instead of the download (step 2).

Thanks for the update. The error could be occuring due to multiple storage instance being present and I am not completely sure if the use case is valid or in scope for firebase_storage or should be filed in native repo as I mentioned earlier, but keeping this issue open for team's attention and insights on expected behavior for this use case, ie, having multiple storage instance.

@rd-martin-zoeller
Can you provide a complete minimal code sample that we can use to verify this behavior ?


Tweaks to your nice JS client for aria2

Hello,
Actually, all explanations can be found in commit messages. I realize that some of these changes can be refused at the very first time. But everything can be discussed and I'm ready to re-work some of my changes.
Looking forward to hearing back.
PS.
I'm server guy and newbie in JS.

Yes, aria2 supports post request for RPC calls:

The implemented JSON-RPC is based on JSON-RPC 2.0 http://jsonrpc.org/specification, and supports HTTP POST and GET (JSONP).

from https://aria2.github.io/manual/en/html/aria2c.html#rpc-interface
Hope that helps


User input checks

Problem
It is not clear what we are currently expecting from the user, e.g., what the requirements on the prior, the simulator and the observed data are:

return np lists or Tensor
always use batch dimensions?

Suggestion
Require the user to provide three inputs with certain properties:

prior: an pytorch.distributions.Distribution like object with methods .log_prob and .sample() with signatures as in pytorch
simulator: a function that takes in torch.Tensor and returns a torch.Tensor, both with batch dimension, even if it is only a single simulation.
observed data: a torch.Tensor with Size [1, data_dim].
we should assert those properties at the beginning

This will make the code more readable because dont have to take care of numpy arrays, appending dimensions etc.

I am not sure we should put all of these burdens on the user. I think this is 'us-centered' and we should make it user-centered. In particulari

prior having a .sample and .log_prob interface is less demanding than isinstance(prior, distributions.Distribution)==True. Not sure if you meant here the more demanding scenario.
it feels unnatural for a person writing a simulator to cater for batch dimensions from the get-go, so we'd effectively asking people to go and change their simulators for us. Would it be possible for us to go around this or is there a fundamental underdetermination when determining the right way to wrap inputs and outputs with a batch dimension?
ditto about having simulators that do I/O on a datatype the user might never have seen (there's no reason to use PyTorch if you're not doing differentiable programming/deep learning). With numpy arrays sharing underlying memory at least in the cpu with tensors why would not we accept the vast amounts of simulators that people will have running on arrays only?
observed data - this will be in all realistic cases more than one observation, but for the very special case where it was just one, we should accept it as is, if possible, IMHO. Also here it should be possible to pass DataFrames.

In general if we don't take care of these transformations ourselves our code looks better but the user experience degrades, especially for those who will be taking an already programmed simulator and our framework and want results without digging into the internals of the simulator.
My take on this is to do the obvious thing if and only if the expected behaviour is well defined, and document it.
Open to discussion, thouhg.


Fix prompt-setting deprecation

As of Pry v0.13.0, a deprecation warning is issued due to the way jazz_fingers sets the Pry prompt (see: https://github.com/pry/pry/pull/1877 and #22).
The change in 594223d appears to be all that's required to fix the deprecation minimally.
Commit beaadf4 refactors to use the approach suggested by Pry. The main benefit of this change is that adding the jazz fingers prompt to the Pry::Prompt hash allows for switching the
prompt dynamically from the Pry command line using change-prompt jazz_fingers.

changing the prompt with change-prompt
2.7.0 (jazz_fingers)[1] » change-prompt --list
# default
# The default Pry prompt. Includes information about the current expression
# number, evaluation context, and nesting level, plus a reminder that you're
# using Pry.
#
# simple
# A simple `>>`.
#
# nav
# A prompt that displays the binding stack as a path and includes information
# about _in_ and _out_.
#
# shell
# A prompt that displays `$PWD` as you change it.
#
# none
# Wave goodbye to the Pry prompt.
#
# jazz_fingers (selected)
# JazzFingers prompt

2.7.0 (jazz_fingers)[2] » change-prompt default

[3] pry(main)> change-prompt simple

>> change-prompt jazz_fingers

2.7.0 (jazz_fingers)[5] »

The convenience afforded by Pry::Prompt.add also made it easy to add support for displaying the local context (examples below), so that's included in beaadf4 as well.
2.5.5 (jazz_fingers)[1] » cd Class1::Class2::Class3::Class4
2.5.5 (Class1::Class2::Class3::Class4)[2] »

Commit 2453e7e abbreviates object paths displayed in object instances, which can get very long  in the context of test runs:
    1559:         require "pry"; binding.pry
 => 1560:         bike.set_location_info
    1561:

2.5.5 (#<RSpec::ExampleGroups::Bike::SetLocationInfo::GivenNoCreationOrgLocation>)[1] »

The abbreviation is performed by taking as much of the tail of the object path entries list as possible, subject to a max character count constraint.
An example (Given a binding.pry in Class10#some_method):
2.5.5 (jazz_fingers)[4] » Class1::Class2::Class3::Class4::Class5::Class6::Class7::Class8::Class9::Class10.new.some_method
2.5.5 (#<...Class7::Class8::Class9::Class10>)[1] » exit

Alternatively, another way to abbreviate the context string for object instances is to only include the root and leaf nodes in the object path (this isn't currently implemented, but can be added with a couple of lines):
2.7.0 (#<Class1::...::Class10>)[1] »

Happy to modify any of the above as desired.
Fixes #22

This looks great! Thanks for taking the time and putting so much effort into it. @plribeiro3000, WDYT?

@jmromer I gotta say.
This has been a hell out of a good job understanding how pry works and how to make this change in a good way.
Than you a ton for your relentless efforts here. This feature will make it way much better.
❤ ❤ ❤ ❤ ❤

Great work here @jmromer.
Sorry for the delays to review.
❤ ❤ ❤ ❤ ❤ ❤

Just released as 5.1.0.rc1.
Will try it out in my projects and see if everything works ok.


chore: update to js-beautify v1.14.7

The following commit in js-beautify introduced a breaking change for us, as custom element are now treated as inline elements https://github.com/beautify-web/js-beautify/commit/aa82eb9ce664abadbcb454fd7a3a4d8de53dddec
This means a bunch of our tests, and snapshots of our users, break with this new version.
What do you think we should do?

lock the version of js-beautify for ever to v1.14.6
bump to v<IP_ADDRESS>, update our tests, and warn our users about the breaking change
talk about this with the js-beautify team and see if that should be configurable maybe?

I think we should talk with them to make it configurable. As it seems that all stubbed components are treat as custom elements

@freakzlike I started a conversation https://github.com/beautify-web/js-beautify/issues/2113

Hi all, sorry about the slow replies, was on leave for a while and not coding much.
I agree we should try make it configurable. Snapshots are a bit unreliable (since implementation details like this can break them) but I'd really prefer to avoid breaking changes where possible. Looks like we've already got some movement in the JS Beautify repo, thanks @cexbrayat.

For now, should we just lock v1.14.6 and close this? The PR you made in beautify-web doesn't seem to have much movement.

@lmiller1990 We're locked on v1.14.6 (and I disabled Renovate for this package). I'll keep the PR around to have a reminder of this ongoing task, and hopefully we'll have feedback from the js-beautifier team soon (if not, then we'll close and stay on v1.14.6 forever...)

Just curious, why js-beautify was chosen instead of prettier?

Just curious, why js-beautify was chosen instead of prettier?

We use it to format the output of html(). It's much smaller - prettier is a big dependency (it's like 15mb) which we don't need for what we are doing.

Hello, is this advisory related to this PR and issue?
https://github.com/advisories/GHSA-c2qf-rxjj-qqgw
Thank you

@nathanaelytj Not directly. We can't update to the latest js-beautify version because of a breaking change.
Regarding the vulnerability, if you only use js-beautify via test-utils, then you have nothing to worry about.

Superseeded by #2131


Logo

pyosim
pyomeca

hey @romainmartinez are you looking for logo ?

Hi @gurjarshakti,
I planned to do it mysell, but a graphic designer would surely make a better job.
Contributions to our open source project are welcome, and they are greatly appreciated! Every little bit helps.

Well , I am graphics designer ( I am not sure but I am getting salary as a G.D. 😀 ).
I will try my best.. tell me Little brief what you have plan for logo.. and which type logo you need. Some reference will make my job easy.
Thanks

I did some tests and selected 5 fonts, 3 symbols and 4 colors.
In the following files, each line is a different font and each column is a different symbol.

Color 1 (click to enhance):

Color 2 (click to enhance):

Color 3 (click to enhance):

Color 4 (click to enhance):

@pariterre , any thoughts?

my vote goes for this one

I agree!

Outline version


[e2e]: nodejs release main default slsa3

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/5747232774
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.release.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.release.main.default.slsa3.yml
Trigger: schedule
Branch: main
Date: Thu Aug  3 06:10:41 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/v40.0.55
Run: https://github.com/slsa-framework/example-package/actions/runs/5747426286
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.release.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.release.main.default.slsa3.yml
Trigger: release
Branch: v40.0.55
Date: Thu Aug  3 06:39:22 UTC 2023
Tests are passing now. Closing this issue.


Gradle build failed to produce an Android package.

VSCode & AndroidStudio can't run flutter application.
AndroidStudio can run native application
Logs
Launching lib/main.dart on Android SDK built for x86 in debug mode...
/Users/crow/Desktop/Sale.mobile/sale_manage/android/app/src/main/AndroidManifest.xml has replace package.
/Users/crow/Desktop/Sale.mobile/sale_manage/android/app/src/main/java/com/xq/wormhole/saleManageDevelop/MainActivity.java has replace package.
/Users/crow/Desktop/Sale.mobile/sale_manage/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java has replace package.
/Users/crow/Desktop/Sale.mobile/sale_manage/android/app/src/main/res/drawable/launch_background.xml has replace package.
/Users/crow/Desktop/Sale.mobile/sale_manage/android/app/src/main/res/values/strings.xml has replace package.
/Users/crow/Desktop/Sale.mobile/sale_manage/android/app/src/main/res/values/styles.xml has replace package.
/Users/crow/Desktop/Sale.mobile/sale_manage/android/app/src/main/res/xml/file_paths.xml has replace package.
/Users/crow/Desktop/Sale.mobile/sale_manage/android/app/src/main/res/xml/network_security_config.xml has replace package.
build.gradle has replace package.
Gradle build failed to produce an Android package.
Exited (sigterm)

[✓] Flutter (Channel stable, v1.7.8+hotfix.4, on Mac OS X 10.13.6 17G65, locale zh-Hans-CN)
    • Flutter version 1.7.8+hotfix.4 at /Users/crow/Desktop/flutter
    • Framework revision 20e59316b8 (7 weeks ago), 2019-07-18 20:04:33 -0700
    • Engine revision fee001c93f
    • Dart version 2.4.0

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/crow/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-Q, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 10.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.1, Build version 10B61
    • CocoaPods version 1.6.1

[✓] iOS tools - develop for iOS devices
    • ios-deploy 1.9.4

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 39.0.3
    • Dart plugin version 191.8423
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

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

[✓] Connected device (2 available)
    • Android SDK built for x86 • emulator-5554                        • android-x86 • Android 8.1.0
      (API 27) (emulator)
    • iPhone X                  • 7340321C-FC76-4BC5-AD33-E4C267561295 • ios         • iOS 12.1
      (simulator)

• No issues found!

I see many people has this issue, Can u push a stable patch？

Other solutions no use to me

@blasten @mklim It looks like we're throwing a tool exit, but not giving guidance on what the corrective action is in this case. Can the tool exit give some more advice here?

I have exactly the same error , please need a fix!

@CocoaZX I'm curious about the version of Gradle and the Android Gradle plugin that you are using.  To find this out, paste the content of <app>/android/build.gradle and <app>/android/gradle/wrapper/gradle-wrapper.properties.

For me i have in the wrapper the 4.10.2 version and using the build.gradle at 3.3.0

I guess that the Flutter.graddle could be the problem in

This should show:
 Gradle build failed to produce an Android package

#0      throwToolExit (package:flutter_tools/src/base/common.dart:28:3)
#1      _buildGradleProjectV2 (package:flutter_tools/src/android/gradle.dart:857:7)
#2      _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:71:64)
#3      _rootRunUnary (dart:async/zone.dart:1132:38)
#4      _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#5      _FutureListener.handleValue (dart:async/future_impl.dart:137:18)
#6      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:678:45)
#7      Future._propagateToListeners (dart:async/future_impl.dart:707:32)
#8      Future._completeWithValue (dart:async/future_impl.dart:522:5)
#9      _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:30:15)
#10     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:288:13)
#11     _DefaultProcessUtils.stream (package:flutter_tools/src/base/process.dart)
#12     _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:71:64)
#13     _rootRunUnary (dart:async/zone.dart:1132:38)
#14     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#15     _FutureListener.handleValue (dart:async/future_impl.dart:137:18)
#16     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:678:45)
#17     Future._propagateToListeners (dart:async/future_impl.dart:707:32)
#18     Future._completeWithValue (dart:async/future_impl.dart:522:5)
#19     Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:552:7)
#20     _rootRun (dart:async/zone.dart:1124:13)
#21     _CustomZone.run (dart:async/zone.dart:1021:19)
#22     _CustomZone.runGuarded (dart:async/zone.dart:923:7)
#23     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:963:23)
#24     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#25     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#26     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:116:13)
#27     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:173:5)

build.gradle use 'com.android.tools.build:gradle:3.2.1'
here is gradle-wrapper.properties
#Tue Sep 03 14:30:13 CST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https://services.gradle.org/distributions/gradle-5.1.1-all.zip

I update flutter, and create a new project , copy all code. It's a different error come
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':app:preDebugBuild'.

Android dependency 'androidx.asynclayoutinflater:asynclayoutinflater' has different version for the compile (1.0.0-rc01) and runtime (1.0.0) classpath. You should manually set the same version via DependencyResolution

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

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

BUILD FAILED in 24s
AndroidX incompatibilities may have caused this build to fail. See https://goo.gl/CP92wY.
Gradle task assembleDebug failed with exit code 1
Exited (sigterm)

I am having this exact issue after updating flutter, dart, android studio and the gradle version recently.   Entire dev environment broken on two different machines (a win 7 machine and a win 10 laptop).   I have been trying all day every day this week to resolve this issue, wasted a whole week of my life on this so far.   Trying to use older versions of the gradle but the error never changes:
[   +1 ms] 30 actionable tasks: 4 executed, 26 up-to-date
[ +362 ms] Running Gradle task 'assembleDebug'... (completed in 12.9s)
[   +5 ms] "flutter run" took 61,604ms.
Gradle build failed to produce an Android package.

#0      throwToolExit (package:flutter_tools/src/base/common.dart:28:3)
#1      _buildGradleProjectV2 (package:flutter_tools/src/android/gradle.dart:758:7)
#2      _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:71:64)
#3      _rootRunUnary (dart:async/zone.dart:1132:38)
#4      _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#5      _FutureListener.handleValue (dart:async/future_impl.dart:137:18)
#6      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:678:45)
#7      Future._propagateToListeners (dart:async/future_impl.dart:707:32)
#8      Future._completeWithValue (dart:async/future_impl.dart:522:5)
#9      _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:30:15)
#10     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:288:13)
#11     runCommandAndStreamOutput (package:flutter_tools/src/base/process.dart)
#12     _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:71:64)
#13     _rootRunUnary (dart:async/zone.dart:1132:38)
#14     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#15     _FutureListener.handleValue (dart:async/future_impl.dart:137:18)
#16     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:678:45)
#17     Future._propagateToListeners (dart:async/future_impl.dart:707:32)
#18     Future._completeWithValue (dart:async/future_impl.dart:522:5)
#19     Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:552:7)
#20     _rootRun (dart:async/zone.dart:1124:13)
#21     _CustomZone.run (dart:async/zone.dart:1021:19)
#22     _CustomZone.runGuarded (dart:async/zone.dart:923:7)
#23     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:963:23)
#24     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#25     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#26     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:116:13)
#27     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:173:5)

It feels like something is corrupted somewhere, and it will not matter from this point what version of the gradle I try and use, but not sure where this corruption might be.   If it helps, my flutter doctor:
[√] Flutter (Channel stable, v1.9.1+hotfix.4, on Microsoft Windows [Version 10.0.17763.805], locale en-AU)
    • Flutter version 1.9.1+hotfix.4 at c:\Installations\Flutter
    • Framework revision cc949a8e8b (3 weeks ago), 2019-09-27 15:04:59 -0700
    • Engine revision b863200c37
    • Dart version 2.5.0

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at C:\Installations\AndroidSDK\
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • ANDROID_HOME = C:\Installations\AndroidSDK\
    • Java binary at: C:\Installations\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
    • All Android licenses accepted.

[√] Android Studio (version 3.5)
    • Android Studio at C:\Installations\Android Studio
    • Flutter plugin version 40.2.2
    • Dart plugin version 191.8580
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)

[√] Connected device (1 available)
    • SM G970F • XXXXXX • android-arm64 • Android 9 (API 28)

• No issues found!

`[ +336 ms] Running Gradle task 'assembleDevuniversalDebug'... (completed in 21.2s)
[  +10 ms] "flutter run" took 26,269ms.
Gradle build failed to produce an Android package.
#0      throwToolExit (package:flutter_tools/src/base/common.dart:28:3)
#1      _buildGradleProjectV2 (package:flutter_tools/src/android/gradle.dart:758:7)
#2      _asyncThenWrapperHelper. (dart:async-patch/async_patch.dart:71:64)
#3      _rootRunUnary (dart:async/zone.dart:1132:38)
#4      _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#5      _FutureListener.handleValue (dart:async/future_impl.dart:137:18)
#6      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:678:45)
#7      Future._propagateToListeners (dart:async/future_impl.dart:707:32)
#8      Future._completeWithValue (dart:async/future_impl.dart:522:5)
#9      _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:30:15)
#10     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:288:13)
#11     runCommandAndStreamOutput (package:flutter_tools/src/base/process.dart)
#12     _asyncThenWrapperHelper. (dart:async-patch/async_patch.dart:71:64)
#13     _rootRunUnary (dart:async/zone.dart:1132:38)
#14     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#15     _FutureListener.handleValue (dart:async/future_impl.dart:137:18)
#16     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:678:45)
#17     Future._propagateToListeners (dart:async/future_impl.dart:707:32)
#18     Future._completeWithValue (dart:async/future_impl.dart:522:5)
#19     Future._asyncComplete. (dart:async/future_impl.dart:552:7)
#20     _rootRun (dart:async/zone.dart:1124:13)
#21     _CustomZone.run (dart:async/zone.dart:1021:19)
#22     _CustomZone.runGuarded (dart:async/zone.dart:923:7)
#23     _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:963:23)
#24     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#25     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#26     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:116:13)
#27     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:173:5)`
and this is my flutter doctor
`[✓] Flutter (Channel stable, v1.9.1+hotfix.6, on Linux, locale en_US.UTF-8)
• Flutter version 1.9.1+hotfix.6 at /home/jasonkuanca/Documents/dev/flutter
• Framework revision 68587a0916 (7 weeks ago), 2019-09-13 19:46:58 -0700
• Engine revision b863200c37
• Dart version 2.5.0
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at /home/jasonkuanca/Android/Sdk
• Android NDK location not configured (optional; useful for native profiling
support)
• Platform android-29, build-tools 29.0.2
• Java binary at:
/home/###/Documents/dev/android-studio-ide-191.5900203-linux/andro
id-studio/jre/bin/java
• Java version OpenJDK Runtime Environment (build
1.8.0_202-release-1483-b49-5587405)
• All Android licenses accepted.
[✓] Android Studio (version 3.5)
• Android Studio at
/home/###/Documents/dev/android-studio-ide-191.5900203-linux/andro
id-studio
• Flutter plugin version 40.2.2
• Dart plugin version 191.8593
• Java version OpenJDK Runtime Environment (build
1.8.0_202-release-1483-b49-5587405)
[✓] VS Code (version 1.39.2)
• VS Code at /usr/share/code
• Flutter extension version 3.5.1
[✓] Connected device (1 available)
• Android SDK built for x86 • emulator-5554 • android-x86 • Android 10 (API
29) (emulator)
• No issues found!`
On my case vanilla flutter app both regular and androidx runs fine.

I have the same problem Please fix it! !!👍

I am getting the same issue, I am solving by generating bundle/apk from android studio. Don't know why flutter produce this issue now, everything was going well till last week

Duplicate of https://github.com/flutter/flutter/issues/13977


Fix issue with loading persisted cluster configuration from disk when a cluster change occurred

Consider the following scenario:
Start a few RAFT nodes which are not clustered
Use AddMemberAsync to pair them and ApplyAsync to save it to disk
Kill the nodes and restart them, the configuration is lost.
Fix implemented in the write to the filestream.
Expanded applicable unit test.

@sakno Any thoughts on why the tests seem to fail? If I run them locally on the develop branch without my fix they also fail randomly.


Dying as soon as you complete hacking a terminal on fastball sticks camera in floor

If you get killed roughly on the same frame as you finish hacking a terminal, camera will appear in the floor.

Video of the bug in action:
https://user-images.githubusercontent.com/40122905/148069131-6a29c24e-3f3e-4a47-96ca-8651abda323b.mp4

I can't reproduce this, so I'm going to close it as stale for now

Still relevant, see https://github.com/R2Northstar/NorthstarMods/issues/132#issuecomment-1951443648

cc @Zanieon cause you're an absolute wizard when it comes to this sorta stuff ^^

Ok nevermind, https://github.com/R2Northstar/NorthstarMods/issues/132#issuecomment-1951443648 is different but feels related


Google Authenticator and Authy App generating invalid codes

It appears that neither the Google Authenticator nor the Authy app generate valid codes, whereas other TOTP apps such as iPhone's built-in 2FA/password manager and the FreeOTP+ app on Android work fine.
My suspicion is that Google and/or Authy updated something in their codebases so that they're no longer compatible with the way the google2fa library generates either the secret or the valid auth-codes.
I tested both by scanning QR codes and by manually entering the secrets.
I also ensured that NTP is running on the server and that the date/time match up.  Just in case I even tried passing an extremely large $window (100) to $google2fa->verifyKey() but that doesn't seem to be the issue.
Example Code:
<?

use PragmaRX\Google2FA\Google2FA;
use BaconQrCode\Renderer\ImageRenderer;
use BaconQrCode\Renderer\Image\ImagickImageBackEnd;
use BaconQrCode\Renderer\RendererStyle\RendererStyle;
use BaconQrCode\Writer;

$google2fa = new Google2FA;
$google2fa->setAlgorithm('sha512');
$google2fa->setEnforceGoogleAuthenticatorCompatibility(true);

$user = array(
    "username" => "tucker",
    "secret" => "2HJTI6WHCC362T5Y" // a previously generated secret
);

if (isset($_GET["generate"])) {
    // to generate a new secret and thus QR code below too
    $user["secret"] = $google2fa->generateSecretKey();
}

$realCode = $google2fa->getCurrentOtp($user["secret"]); // get current valid code to compare

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // verify the code
    $window = 4;
    $valid = $google2fa->verifyKey($user["secret"], $_POST["code"], $window);
    if (!$valid) {
        print "INVALID CODE";
    } else {
        print "VALID CODE";
    }
}

// now to generate and print the QR code
$g2faUrl = $google2fa->getQRCodeUrl(
    'Google2fa Test',
    $user["email"],
    $user["secret"]
);

$writer = new Writer(
    new ImageRenderer(
        new RendererStyle(400),
        new ImagickImageBackEnd()
    )
);

$qrcode_image = base64_encode($writer->writeString($g2faUrl));

print "

2FA Test using google2fa

    Secret: " . $user["secret"] . "

    QR Code:

    <form method='post'>
        2FA Code
        <input name='code'>
        <button type='submit'>Submit</button>

Current Valid Code: " . $realCode . "

    </form>

";

PHP Version
PHP 7.2.20

Aha! I have discovered the issue.
If you set the encryption algorithm to SHA512 then it doesn't work with the Google Authenticator App, but if you leave it as default then it works.
So in my above example I simply removed this line:
$google2fa->setAlgorithm('sha512');

Closing this.


Ww

Describe the bug
Steps to Reproduce
1.
2.
3.
Expected behavior
Actual behavior
Additional context

🏆


How to detect if running under WSL?

How do you detect if running under WSL?
C compilers in Mingw and Cygwin have preprocessing defines that allow you to identify the system. Is there a WSL preprocessing define or some other method for identifying the system? If not, please make a preprocessing define that gives a WSL version number.
You may claim that this is a genuine Linux (Ubuntu or whatever), but it is not. The floating point control word is set to reduced precision, and this causes a lot of problems. (Why has issue #830 never been fixed?). Also, of course, there is no GUI in WSL.

I think your question should be addressed to the gcc or clang compiler team not WSL

The Windows version is present in our kernel command line (/proc/version, or uname -a).

if [[ $(grep Microsoft /proc/version) ]]; then
echo "Bash is running on WSL"
fi

Thanks for the comments. I would like to detect WSL from a preprocessing directive when compiling a program. Something like #ifdef WSL. There are special versions of gcc for Mingw and Cygwin, but as I understand it, there is no special version of gcc for WSL. Is there any way that a WSL define can be added automatically when the compiler is running under WSL?

@AgnerF it is a kind of define that you can do yourself. You don't need compiler support for that. Just generate config.h file using the build system of your choice. Here is how to do it in meson for example:
meson.build file
# meson.build
grep = find_program('grep')
runcmd = run_command(grep, '-q', 'Microsoft', '/proc/version')

confdata = configuration_data()
if runcmd.returncode() != 0
    confdata.set('WTL', 0)
else
    confdata.set('WTL', 1)
endif

configure_file(
    input : 'config.h.in',
    output : 'config.h',
    configuration : confdata)

config.h.in file
#mesondefine WTL

Meson will generate config.h with the following contents:
#define WTL 1

WTL define will be 1 under WTL and 0 under any other linux.

#423

Is there a way to determine the WSL1 vs WS2. I normally use the uname -a and check for Linux and Microsoft but both will say that.

@AgnerF the idea here is that unmodified Linux binaries run on WSL (and that binaries compiled on WSL are unmodified Linux binaries), so you’ll have to do a run-time check, not a compile-time check.

A little correction/update for what @xtremeperf said, you need to grep case insensitive. On my (maybe newer?) WSL, it is not a capital M, just "microsoft" so use this for greater confidence.
if [[ $(grep -i Microsoft /proc/version) ]]; then
    echo "Bash is running on WSL"
fi

@flickerfly its actually WSLv2 using lowecase from my experience. If Ya'll are interested here's what I use to detect all operating environments that I use.
#!/usr/bin/env bash

unameOut=$(uname -a)
case "${unameOut}" in
    *Microsoft*)     OS="WSL";; #wls must be first since it will have Linux in the name too
    *microsoft*)     OS="WSL2";;
    Linux*)     OS="Linux";;
    Darwin*)    OS="Mac";;
    CYGWIN*)    OS="Cygwin";;
    MINGW*)     OS="Windows";;
    *Msys)     OS="Windows";;
    *)          OS="UNKNOWN:${unameOut}"
esac

if [[ ${OS} == "Mac" ]] && sysctl -n machdep.cpu.brand_string | grep -q 'Apple M1'; then
    #Check if its an M1. This check should work even if the current processes is running under x86 emulation.
    OS="MacM1"
fi

echo ${OS};

Josiah Ritchie dixit:

A little correction/update for what @xtremeperf said, you need to grep
case insensitive. On my (maybe newer?) WSL, it is not a capital M, just
"microsoft" so use this for greater confidence.
if [[ $(grep -i Microsoft /proc/version) ]]; then
   echo "Bash is running on WSL"
fi

Define “maybe newer?”, because I have this:
/* check uname first (this is improbable to fail) */
if ((uerr = uname(&u)) == 0) {
	if (strstr(u.release, "Microsoft") != NULL) {
		/* pretty certainly WSL 1 */
		errno = e;
		return (1);
	}
	if (strstr(u.release, "microsoft") != NULL) {
		/* probably WSL 2 */
		errno = e;
		return (2);
	}
}

This distinction is important (in this library, anyway).
I have access to a system with both WSL 1 and 2, but that
system is not going to be updated to Win11, so I might
miss out on latest changes. (For networking, WSL 1 is
better anyway.)
bye,
//mirabilos
Infrastrukturexperte • tarent solutions GmbH
Am Dickobskreuz 10, D-53121 Bonn • http://www.tarent.de/
Telephon +49 228 54881-393 • Fax: +49 228 54881-235
HRB AG Bonn 5168 • USt-ID (VAT): DE122264941
Geschäftsführer: Dr. Stefan Barth, Kai Ebenrett, Boris Esser, Alexander Steeg

b-hayes dixit:

The difference changes between WSLv1 and WSLv2

Could you please explain that? What exactly changes?
Used to be (?) that
• "Microsoft" is WSL 1 with a very high probability
• "microsoft" is WSL 2 with good probability
• if uname contains neither, check environment variables
– WSL_INTEROP is relatively certainly WSL 2
– WSL_DISTRO_NAME is WSL; if uname check succeeded, WSL 1 was
already caught above, so it’s WSL 2; if uname failed guess
WSL 1 instead since WSL 2 would (also) have WSL_INTEROP set
Is this no longer correct?
bye,
//mirabilos
Infrastrukturexperte • tarent solutions GmbH
Am Dickobskreuz 10, D-53121 Bonn • http://www.tarent.de/
Telephon +49 228 54881-393 • Fax: +49 228 54881-235
HRB AG Bonn 5168 • USt-ID (VAT): DE122264941
Geschäftsführer: Dr. Stefan Barth, Kai Ebenrett, Boris Esser, Alexander Steeg

That's correct. The difference in case changes from WSL to WSLv2. As per my script above, WSLv2 uses lowercase.

b-hayes dixit:

That's correct.

Huh, why did you write “The difference changes” then?

The difference in case changes from WSL to WSLv2. As
per my script above, WSLv2 uses lowercase.

Do you maybe mean the difference is in the changed case?

Yeah, that's what I meant sorry for the confusion.

is there anyway to detect if running under WSL but for java jar runtime?

@cuynu you could run a shell command in Java and use the same approach as my script does: https://github.com/microsoft/WSL/issues/4071#issuecomment-1223393940

if [[ $(grep Microsoft /proc/version) ]]; then echo "Bash is running on WSL" fi

this needs to be grep -i Microsoft /proc/version for case insensitive search now.

I think this should be transferred to a https://github.com/microsoft/WSL/discussions/new?category=q-a.


Fix build without glslang

While building Anvil without GLSLANG, we get a compilation error.
This commit fixes this compilation error by not defining the
get_disassembly function in the ShaderModule class, which
was trying to return the m_disassembly variable (which is also
not defined in this case). Also the commit removes dependencies on
the GLSLANG headers in this case.

Thanks for contributing!


Channelz sampler

There are two old PRs that have valuable comments about this feature, but for some reason can not keep pushing on them, so post the link here 23396, 23484.

MSAN test failure with uninitialized variables can be solved by add grpc::testing::TestEnvironment env(argc, argv);. See https://github.com/grpc/grpc/issues/23695.


[BUG] OSB does not respect git branching when running local workloads

Describe the bug
I'm running the latest python instance of OSB. I also have OSB workloads repository where I have changed made in a particular branch. I'm using the --workload-repository flag to specify that OSB should use my local version of the workloads. When running OSB I get an error describing that the test procedure I am trying to run does not exist. After running the workload I see that OSB workloads now points to main rather than my branch.
To Reproduce

Use local version of OSB workloads and check into a new branch
Run OSB pointing to local version of OSB workloads
Check that OSB workloads switches from feature branch to main branch

Expected behavior
OSB to execute workload from feature branch rather than main.
Logs
opensearch-benchmark-workloads git:(pmc_prefix_queries) opensearch-benchmark execute-test --pipeline=benchmark-only --workload=pmc --target-host="xxx:80"  --workload-repository="/home/hvamsi/code/opensearch-benchmark-workloads" --kill-running-processes --test-procedure="append-and-prefix" --test-mode

   ____                  _____                      __       ____                  __                         __
  / __ \____  ___  ____ / ___/___  ____ ___________/ /_     / __ )___  ____  _____/ /_  ____ ___  ____ ______/ /__
 / / / / __ \/ _ \/ __ \\__ \/ _ \/ __ `/ ___/ ___/ __ \   / __  / _ \/ __ \/ ___/ __ \/ __ `__ \/ __ `/ ___/ //_/
/ /_/ / /_/ /  __/ / / /__/ /  __/ /_/ / /  / /__/ / / /  / /_/ /  __/ / / / /__/ / / / / / / / / /_/ / /  / ,<
\____/ .___/\___/_/ /_/____/\___/\__,_/_/   \___/_/ /_/  /_____/\___/_/ /_/\___/_/ /_/_/ /_/ /_/\__,_/_/  /_/|_|
    /_/

[ERROR] Cannot execute-test. Error in test execution orchestrator (Unknown test_procedure [append-and-prefix] for workload [pmc])

Getting further help:
*********************
* Check the log files in /home/hvamsi/.benchmark/logs for errors.
* Read the documentation at https://opensearch.org/docs.
* Ask a question on the forum at https://forum.opensearch.org/.
* Raise an issue at https://github.com/opensearch-project/OpenSearch-Benchmark/issues and include the log files in /home/hvamsi/.benchmark/logs.

-------------------------------
[INFO] FAILURE (took 0 seconds)
-------------------------------
➜  opensearch-benchmark-workloads git:(main)

We can see that OSB workloads pointed to pmc_prefix_queries branch before running OSB and then to main after running.
More Context (please complete the following information):

Workload(Share link for custom workloads)
Service(E.g OpenSearch)
Version (E.g. 1.0)

Additional context
Add any other context about the problem here.

Looking into this issue.

@harshavamsi Is this still an issue? Seems like it's been some time and we are now on version 1.10. Feel free to reopen this issue if you're still experiencing this


monitoring multiple sheets

is this possible?
Can multiple sheets be specified and getting the notifications from the webhooks in one instance ?
ps: thanks for making this, I was fiddling with challenge/response messages myself and this just worked right away. Fantastic job & thanks for sharing

You would have to edit the code to probe an array of sheets.


Switch Principal to Principle where appropriate

Updated the text to switch "principal" to "principle" in a few places.

Good catch! thank you!


Allow the user to set a destination path for the output file

At the moment the output file is called header_data.txt and is saved in the current working directory.
This should be customisable for flexibilty.
Add the option to set a save location, and default to CWD/header_data.txt if the path is not provided

This has been implemented
There is no default location however, the user must supply a filename at a location they have write permissions on


Stuck/not working ..

I have SM-J8810G rooted i am using latest termux from github ,
I have disabled wifi
Enabled hotspot , and location
Whenever i run bash wipwn.sh sometimes it gives me error.
Sometimes without error works but stuck on trying pin.. more than 10 minutes. How to fix it.

Sometimes got this error 👇

This is an encoding error. Update all your modules and packages. Hope it gets fixed.

This is an encoding error. Update all your modules and packages. Hope it gets fixed.

Still same error bro

Same error too


DocsArchive-<IP_ADDRESS>Auto archive content

Auto archive content from https://github.com/OPS-E2E-PPE/docs-archive-test-source

Docs Build status updates of commit 1214f53:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error]

Cannot sync git repo to specified commit because branch Archive_master_2019-10-08-08-50-11 has been deleted or has been force pushed: fatal: Couldn't find remote ref Archive_master_2019-10-08-08-50-11

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.


Page links to itself

http://aka.ms/allocation-guidance

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: a1b587f6-8bf4-fb64-5515-be223a17f783
Version Independent ID: a756c758-417c-974d-1787-ad5e61edbd0b
Content: Troubleshooting Azure VM allocation failures - Azure Virtual Machines
Content Source: articles/virtual-machines/troubleshooting/allocation-failure.md
Service: virtual-machines
GitHub Login: @DavidCBerry13
Microsoft Alias: daberry

@Sig9 This is one of the Azure system error messages. While you are correct that the page links to itself, this page is referencing a system error message containing the hyperlink - which will open the browser to this page in the event user is experiencing issues. We repurpose so much information internally for the massive azure-docs repo that this system error message may be cross-referenced elsewhere, however - thank you for your input.
We look into all suggestions and all of the user comments contribute to the overall success of the azure-docs repo. Thanks again!
Robert

@rbschneider Thanks for sharing the details.

@sig9
Hope the provided information is helpful.
We will now close this issue. If there are further questions regarding this, please tag me in a comment. I will reopen it and we will continue the discussion.


Multiple armv8 SIMD integer instructions decompiled wrong

Describe the bug
There is a test subject which is so constructed that each function tests a specific armv8 SIMD integer instruction. If the decompiler is correct it will write 3 zeros to global variables. ghidra doesn't so this in call cases.
To Reproduce
Decompile https://github.com/rfalke/decompiler-subjects/blob/master/from_holdec/stress_arm64/arm64_macho_simdInt_single_inst__1_var/subject.exe
Expected behavior
All functions should be decompiled like
undefined8 _inst_7_var_0(void)

{
  _dest_gp = 0;
  _dest_high = 0;
  _dest_low = 0;
  return 0;
}

Instead sometimes ghidra doesn't have an implementation for an instruction like in:
undefined8 _inst_64_var_0(void)

{
  undefined auVar1 [16];

  auVar1 = NEON_clz(CONCAT115(0x82,CONCAT114(0x47,CONCAT113(0x4b,CONCAT112(0x48,CONCAT111(0xb8,
                                                  CONCAT110(0x58,CONCAT19(0x53,CONCAT18(0xe2,
                                                  0x8eac03f1892825da)))))))),2);
  _dest_gp = 0;
  _dest_high = (SUB168(auVar1 >> 0x40,0) ^ 0xceb48b931707638) + 0x7db8b4b647a7ac1d;
  _dest_low = (SUB168(auVar1,0) ^ 0x8eeb03b931707638) + 0x7153fc0876d7da28;
  return 0;
}

Or (and this is the scope of this bug report) decompiles it wrong. As in:
undefined8 _inst_33_var_0(void)

{
  _dest_gp = 0;
  _dest_high = 0x5e77ffff556d0000;
  _dest_low = 0;
  return 0;
}

Attachments
ghidra_armv8_issues.txt
Environment (please complete the following information):

OS: linux
Ghidra Version: ghidra_10.1.2_PUBLIC

It looks like implementations of most instructions that are listed in ghidra_armv8_issues.txt don't pass internal tests due to one or more of the following reasons (as can be checked in AARCH64neon.sinc):

"nofpround"
"nointround"
"nointsat"

@GhidorahRex are there any workarounds for instructions with semantics that can't be implemented accurately due to absence of native support for floating-point/integer rounding modes or it is more of a fundamental limitation that can't be overcome without extending sleigh?

@CmP-lt For the most part, the workaround is to use a pcode op. I recognize that it's going to lead to some ugly decompilation for some of those situations. Rounding modes and saturation are tricky, and sleigh doesn't really have the intrinsics to make those instructions play nicely without a lot of additional pcode - and that will most likely end up making the decompilation look just as ugly in different ways.
If something is implemented and wrong though, that's a bigger cause for concern.

It's a complicated issue. In one processor, we have a flag that allows the switch of emulated vs. decompiled code output. The emulated output is "technically correct" and the decompiled code is simplified. But that sort of thing doesn't necessarily work well for math-heavy applications where you're trying to represent complex arithmetic succinctly in decompiled code and very accurate.
For saturation, the workaround may be to actually implement it. I tried to do that for one of the neon instructions, sqadd, in the sample. It worked very well (decompile was much improved) but the answers weren't quite right because the saturation arithmetic is still funky.

Worth to note that scope of this issue is broader than only implementations of some AARCH64 instructions, apparently there are test cases that are decompiled incorrectly despite implementations of tested instructions being [supposedly] correct.
For example, test case 33 (function _inst_33_var_0), despite addp instruction that is used in it having correct implementation, is decompiled as:
undefined8 _inst_33_var_0(void)

{
  _dest_high = 0x5e77ffff556d0000;
  _dest_low = 0;
  _dest_gp = 0;
  _dest_flags = 0;
  return 0;
}

Other example that appears in several test cases is wrong decompilation that references address in register space that is not used anywhere in function's raw pcode as happens in test case 229 (function _inst_229_var_0) that is decompiled as follows:
undefined8 _inst_229_var_0(void)

{
  ulong uVar1;
  short sVar2;
  short sVar3;
  short sVar4;
  short in_register_00005366;

  sVar2 = in_register_00005366 * -0x907 + -0x907;
  uVar1 = (ulong)CONCAT22(in_register_00005366 * -0x3ef9 + -0x3ef9,sVar2);
  sVar3 = in_register_00005366 * 0x29dd + 0x29dd;
  sVar4 = in_register_00005366 * 0xbdf + 0xbdf;
  _dest_high = 0;
  _dest_low = (CONCAT17((char)((ushort)sVar4 >> 8),
                        CONCAT16((char)sVar4,
                                 CONCAT15((char)((ushort)sVar3 >> 8),
                                          CONCAT14((char)sVar3,
                                                   CONCAT13((char)(uVar1 >> 0x18),
                                                            CONCAT12((char)(uVar1 >> 0x10),sVar2)) ))
                                )) ^ 0x6d5b8d83119e1a6b) + 0xa5805610b7e523e9;
  _dest_gp = 0;
  _dest_flags = 0;
  return 0;
}

So I think that discussing all causes of incorrect decompilation of test cases from provided test subject in one issue isn't the best option, instead it makes more sense to create separate issue for each identified cause or group of causes. I plan to do that at least for 2 causes illustrated above, but will first need to do some research on them (in hope to get any insights that might be helpful for diagnosing the issues).

The register address is used by the raw pcode, but it's incorrect.

You are right, this one is an oversight from my side, thanks for correction. So this cause is also something to be fixed in sleigh. For completeness here is the list of test cases that have wrong decompilation due to this cause:

_inst_229_var_0
_inst_231_var_0
_inst_241_var_0
_inst_280_var_0
_inst_282_var_0
_inst_521_var_0
_inst_525_var_0
_inst_531_var_0
_inst_540_var_0
_inst_886_var_0
_inst_891_var_0
_inst_901_var_0
_inst_910_var_0

It appears that several cases, including _inst_33_var_0, have been fixed by changes in decompiler since 10.3 (most likely in<PHONE_NUMBER>f66050055bf17985864fb5973d07ff). Fixed cases include: 33, 248, 788, 830, 1054, 1058, 1081, 1085, 1087.
But it's also worth to add that case _inst_27_var_0 that also tests addp instruction (but with different operand types) decompiles not as expected both in 10.3 and with latest changes to decompiler. It's decompilation looks correct, but something prevents complete simplification of upper 8 bytes:
undefined8 _inst_27_var_0(void)

{
  undefined auVar1 [16];

  auVar1[8] = 0xac;
  auVar1._0_8_ = 0x47ba0b5ab88a1aa1;
  auVar1[9] = 0xc1;
  auVar1[10] = 0xb;
  auVar1[11] = 0x81;
  auVar1[12] = 0x3e;
  auVar1[13] = 0x62;
  auVar1[14] = 0x68;
  auVar1[15] = 0xee;
  _dest_high = auVar1._8_8_ + 0x11979dc17ef43e54;
  _dest_low = 0;
  _dest_gp = 0;
  _dest_flags = 0;
  return 0;
}

For ghidra_10.1.2_PUBLIC the summary is:
correct (with the expected zeros):         422
incorrect (with some constant):            43
incorrect (with some complex computation): 623

For ghidra_10.3.2_PUBLIC the summary is:
correct (with the expected zeros):         445
incorrect (with some constant):            44
incorrect (with some complex computation): 599

The new file ghidra_armv8_issues_ghidra_10.3.2_PUBLIC.txt has the information about the 44 cases where the computation is wrong but not so complex.

Most of remaining cases from group "incorrect (with some constant)" can at best be partially fixed to fall into category of functions that are decompiled with computations by adding various pcodeops to represent rounding modes. But even such partial measure should be better than nothing, because currently those instructions simply have missing operations (i.e. rounding) in their implementations.


Results of Different Base Models

Thank you for open sourcing such wonderful work! I encountered some problems while using. I have changed a variety of base models and found that some models cannot achieve the effect of this model on sd-webui. I would like to ask if the motion model has been fine-tuned specifically for some base models?

problem has been solved


Update PUBCHEMSHAPE_URL and remove patch code

Reference Issue

What does this implement/fix? Explain your changes.
I updated PUBCHEMSHAPE_URL and removed #include <cstdint> injection code in External/pubchem_shape/CMakeLists.txt because it is not neeeded any more new commit led by PUBCHEMSHAPE_URL.
Any other comments?

@eunos-1128 thanks for doing this work and making the contribution!


Dict Attributes not available to Autocomplete and not present in dict

Hi,
When I convert a normal dictionary like
some_dict = {'a': 1, 'b': 2, 'c': 3}

to an attribute dictionary via
from addict import Dict
attribute_dict = Dict(some_dict)

I would expect being able to hit tab in order to access an attribute via autocomplete (as usual with classes). However, all the keys from some_dict are not present. Also attribute_dict.__dict__ only returns the following:
{'__parent': None, '__key': None, '__frozen': False}.
Is that intended, or am I missing something on my side?
As a side note, I installed addict version 2.4.0 via pip.

Same here: it would be great and convenient if addict can support autocompletion in common IDEs.

@zyLiu6707 In the meantime I developed my own solution since I was not sattisfied with addict and other comparable projects.
It's called MetaDict and behaves exactly like a dict with the addition of enabling (nested) attribute-style key access/assignment and IDE autocompletion.
It might suit your usecase :)

I modified by adding this to the addict.py and autocomplete start working . Thanks to https://stackoverflow.com/questions/51917470/what-does-tab-completion-in-ipython-or-jupyter-seek-in-order-to-suggest-alternat
can you make this change? not versed enough in github pull requests etc else I would have done it
def dir(self):
super_dir = super().dir()
string_keys = [key for key in self if type(key) is str]
return super_dir + [key for key in string_keys if key not in super_dir]


BUGFIX-repair-email-imports

Repair email method imports bugfix
Version bump

PEP still hates you :)

:+1:


Feat: Support for pidfd_getfd syscall

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area API-version

/area build

/area CI

area driver-kmod
area driver-bpf
area driver-modern-bpf

/area libscap-engine-bpf

/area libscap-engine-gvisor

/area libscap-engine-kmod

/area libscap-engine-modern-bpf

/area libscap-engine-nodriver

/area libscap-engine-noop

/area libscap-engine-source-plugin

/area libscap-engine-savefile

/area libscap-engine-udig

area libscap

/area libpman

/area libsinsp

area tests

/area proposals

Does this PR require a change in the driver versions?

/version driver-API-version-major

version driver-API-version-minor

/version driver-API-version-patch

/version driver-SCHEMA-version-major

/version driver-SCHEMA-version-minor

/version driver-SCHEMA-version-patch

What this PR does / why we need it:
This PR adds support to pidfd_getfd syscall.

https://github.com/falcosecurity/falco/issues/1998

Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

new: support for `pidfd_getfd` syscall

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: Rohith-Raju
Once this PR has been reviewed and has the lgtm label, please assign molter73 for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/milestone 0.12.0

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, Rohith-Raju
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 7a424fee13b674ef9e5d2847d28d108537db28fe

/hold

New changes are detected. LGTM label has been removed.

LGTM label has been added.  Git tree hash: b72b12e6fff039dbeedd94a067095566fcd79dc4

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, Rohith-Raju
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, hbrueckner, Rohith-Raju
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/milestone 5.1.0+driver


Implements CORE_SPACER auto-detection

LEF5.8 page 116 specifies
SPACER—Sometimes called a filler cell, this cell is used to fill in space
between regular core cells. The SPACER sub-class needs to be cells with
no logic-pins. Thus even with the sub-class defined, a cell will not be
considered SPACER (also called FILLER) unless it has no logic/signal
pins. A filler can only have Power and Ground pins. The instances of
these cells will be marked by the insertion command to be of type
'Physical'.

This went unimplemented in OpenROAD. This PR implements the the
detection algorithm.

The LEF doesn't say any cell with only power/ground is a filler - only that those with other pins can't be fillers.

Then ASAP7 definitely needs a PR to add the correct subtypes to their types. Would you agree or is there a detection that's safe?

https://github.com/The-OpenROAD-Project/asap7/issues/10
I fixed the copies in ORFS

I'd rather we just fix it upstream.


Copy crashes sketch

I was trying to copy some JSON representation to the buffer with copy and it crashes Sketch.
let x = { property: 1, prop1: 2, method: function(){}}
copy(x)

I don't think copy does what you think it does. It's not in the JS spec. In Sketch it's an obj-c method that copy an object and retains it. Bad stuff to do in cocoascript, I'm not surprised it's crashing 😬

I'll fix the crash and make copy return undefined tho

It's gonna be fixed by a PR on Sketch. Closing this


update yolov5 notebook on nncf

111 notebook removed as it demonstates syntetic use case (quantize intel model from omz which already have in8 model and validate it on synthetic dataset different from used in original model validation), so I move yolov5 as good example how to quantize real model on its place. The notebook also contains comparison between POT old approach to NNCF.
Currently quantize_with_accuracy_control is out of scope of this notebook (but we can add it based on different model, where it is required and does not need large efforts)

As the notebook demonstrates how to use NNCF instead of POT, I think it's fair if INT8 accuracy and performance will be executed for both POT and NNCF versions. Have you try to collect it? Are they different?

https://github.com/openvinotoolkit/openvino_notebooks/blob/main/README_cn.md
@zhuo-yoyowz @eaidova  -- the new commit erased our changes to the AI trends part. Please cross-check.


A few edits on the english README

I found a few things that don't sound right when read on the README, and tried to fix them. I also added a description to the -format option.

Thanks !


add testing document for GM

Add file in global-services-testing/sections/testing/global-monitor.adoc (example in https://github.com/wmo-im/wis2-global-services-testing/blob/main/global-services-testing/sections/testing/global-discovery-catalogue.adoc).

@tomkralidis global-monitor.adoc was added.


Listing all flagged players

I think I have found a bug; If you try to list online + offline (all) players flagged 'bounty' (<server.get_players_flagged[bounty]>), it displays only one of them.
However<server.get_online_players_flagged[bounty]>works good - see http://mcmonkey.org/paste/21663
For me it seems that it narrates everyone flagged except the player that executed the narrate command, but that's just my guess.

I don't see anything wrong with the code... can anyone test / confirm this issue - @Fortifier42 @Talamar1 ?

@mcmonkey4eva @mawej1 Just tested on the irc
http://puu.sh/kZqWZ.png

Could it have something with server mode?.. I have no idea :(

@mawej1 start by updating your server to latest builds, that's a slightly older Denizen.

Will reopen when more info / ... is provided.

Can confirm this is an issue, albeit strange.
http://mcmonkey.org/paste/22262

I'm sorry I wasn't able to give more information, but I will shortly.
I tried to reproduce this on a different server with basically the same configuration, and didn't spot any problems.

@mawej1 Source code wise, there is no real reason it shouldn't work...

Is this still an issue?


python3Packages.pycomfoconnect: init at 0.4

Motivation for this change
Python module to interact with ComfoAir Q350/450/600 units
https://github.com/michaelarnauts/comfoconnect
This is Home Assistant dependency.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 119126 run on x86_64-linux 1

3 packages built:

home-assistant
python38Packages.pycomfoconnect
python39Packages.pycomfoconnect

Result of nixpkgs-review pr 119126 at e9a0be70 run on aarch64-linux 1

3 packages built successfully:

home-assistant
python38Packages.pycomfoconnect
python39Packages.pycomfoconnect

1 suggestion:

warning: unused-argument
Unused argument: pytestCheckHook.
Near pkgs/development/python-modules/pycomfoconnect/default.nix:5:3:
  |
5 | , pytestCheckHook
  |   ^

Result of nixpkgs-review pr 119126 run on x86_64-linux 1

1 package failed to build:

home-assistant

2 packages built:

python38Packages.pycomfoconnect
python39Packages.pycomfoconnect

/nix/store/3a9vs2wy4mqfjy0svvy3m8ddmpryv5hc-python3.8-pywemo-0.6.4.drv failed for home-assistant so it might be unrelated.

Hm, ofBorg also transiently was unhappy about pywemo in https://github.com/NixOS/nixpkgs/pull/116256, but I could never reproduced that, neither on x86_64 nor on aarch64. Can you get a log? @Mic92

@mweinelt https://p.krebsco.de/18z0khc

Right, somewhat racy sqlite queries. Let's disable that test and move on.

https://github.com/NixOS/nixpkgs/pull/119126/files#r611199763
Unaddressed review comment right here.


feature:  Improve the README Instructions for the Deployment of the KS Monitoring Tools

Feature Description
We need to improve the instructions to deploy the KS monitoring tools:
a) Use a consistent name of the status agent and match the terminology already used in our KS documentation;
b) Make it clear the  combination of NS, APIService, and Instance that works for a given target APIServer and KS controllers;
c) Clarify in the README what distinguish two WECs apart using the command below:
mspreitz@mjs13 kubestellar % kubectl --context cluster1 -n open-cluster-management-agent-addon get Endpoints
NAME                      ENDPOINTS         AGE
status-agent-controller   <IP_ADDRESS>:8080   31m

mspreitz@mjs13 kubestellar % kubectl --context cluster2 -n open-cluster-management-agent-addon get Endpoints
NAME                      ENDPOINTS         AGE
status-agent-controller   <IP_ADDRESS>:8080   33m

Proposed Solution
To improve the instructions and address the items listed above:
Want to contribute?

[ ] I would like to work on this issue.

Additional Context
No response

See also the other unresolved conversations in #2458


Unknown setting [discovery.seed_hosts] elasticsearch 6.x

Chart version: 7.11
Kubernetes version: 1.13.5
Kubernetes provider: Rancher 2.2.3 / Hetzner Cloud
Describe the bug: I try to install Elasticsearch 6.6.0 and 6.8.0 versions using official helm chart on Rancher 2.2.3. When i run the cluster install and deployment, the elastic instances fail to start returning following exception:
Steps to reproduce:

Install elasticsearch 6.6.0 or 6.8.0
Monitoring elasticsearch instances nodes, you will notice that cluster fails to start

Expected behavior: Elastic to start successfully
Provide logs and/or server output (if relevant):
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalArgumentException: unknown setting [discovery.seed_hosts] please check that any required plugins are installed, or check the breaking changes documentation for removed settings
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:163) ~[elasticsearch-6.8.0.jar:6.8.0]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-6.8.0.jar:6.8.0]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.8.0.jar:6.8.0]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.8.0.jar:6.8.0]
at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.8.0.jar:6.8.0]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:116) ~[elasticsearch-6.8.0.jar:6.8.0]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.8.0.jar:6.8.0]
Caused by: java.lang.IllegalArgumentException: unknown setting [discovery.seed_hosts] please check that any required plugins are installed, or check the breaking changes documentation for removed settings
Any additional context:

The same for 6.8.1. Any updates on it?

@anebi, there is workaround. Simply add this to helm command:
--set imageTag=6.8.1,esMajorVersion=6
Complete command I used:
helm upgrade --install elasticsearch elastic/elasticsearch --version 7.2.0 --set imageTag=6.8.1,esMajorVersion=6 --namespace="infrastructure"  --wait --debug --atomic
Just simplify it as you need :)
The root cause of this bug is that there is hardcoded ES major version:
https://github.com/elastic/helm-charts/blob/master/elasticsearch/values.yaml
esMajorVersion: 7
This value is used to decide which env variable should be added:
https://github.com/elastic/helm-charts/blob/master/elasticsearch/templates/statefulset.yaml
          - name: cluster.initial_master_nodes
            value: "{{ template "endpoints" .Values }}"
          {{- else }}
          - name: discovery.zen.minimum_master_nodes
            value: "{{ .Values.minimumMasterNodes }}"
          {{- end }}
          {{- end }}
          {{- if lt (int .Values.esMajorVersion) 7 }}
          - name: discovery.zen.ping.unicast.hosts
            value: "{{ template "masterService" . }}-headless"
          {{- else }}

That means, even when you build with ES version 6.x.x. major version will be 7.
It causes to adding ES 7 properties to StatefulSet env variables.
Those ES 7 properties later cause ES 6 to fail during startup.
This is definitely bug.
There is 2 options:

Move this property to _helpers.tpl and calculate major version basing on Chart version. Also this requires packaging chart with version 6.8.1
Move this property to _helpers.tpl and calculate major version basing on imageTag value.

The second one is preferable.

@Crazybus, do you any need help with this?

Thank you very much. All clear. I can do my setup now :)

@OlegHudyma I do agree it results in a confusing user experience, though I don't exactly know how to improve it.
We need a way to tell Helm what version of Elasticsearch we are using, but docker tags are probably not a completely reliable way to describe this (you could use a custom docker image that has a tag like 'latest').
The chart uses the esMajorVersion value to determine this, and it defaults to 7 (just as the imageTag defaults to 7.2.0 right now). If you change the major version of Elasticsearch (say, 6.8.0), then you would also need to change the esMajorVersion value.

calculate major version basing on Chart version

The chart version is versioned with the stack (7.2.0, etc) but has relaxed version support (ie; it is expected that you can use the 7.2.0 chart to deploy 6.8.x elasticsearch). Likewise, the 7.2.0 chart can probably also successfully deploy Elasticsearch master (8.0.0-SNAPSHOT, for example).

calculate major version basing on imageTag value

This feels the most intuitive, but as you can specify your own image and imageTag, and that imageTag may have a value that does not refer at all to Elasticsearch major version, I don't know if this is the right solution.

calculate major version basing on imageTag value

Maybe for the common case, we could have a default esMajorVersion computed if, and only if, the image value is the default (image: "docker.elastic.co/elasticsearch/elasticsearch"). If it's the default image location, then we can probably rely on the first number of the imageTag representing the elasticsearch major version.
@Crazybus thoughts?

@jordansissel, as you said, it would be good to use imageTag for calculating esMajorVersion.
And if the imageTag is latest, we just set esMajorVersion value to 7.
Imagine we have 3 charts versions: 6, 7, 8

6 is comptible only with ES 6. If imageTag is latest, then esMajorVersion will be 6.
7 is comptible both with ES 6 and ES 7. If imageTag is latest, then esMajorVersion will be 7, if 6.x.x then value will be 6.
8(future releases) is compatible with ES 6,7,8. If tag lates used, esMajorVersion will be 8.

In the readme we have section on compatability which specifies the currently tested versions and links to the automated test examples which includes a test for 6.x. It may not be 100% intuitive but I certainly wouldn't call it a bug or hardcoded since this is fully configurable and documented.

We need a way to tell Helm what version of Elasticsearch we are using, but docker tags are probably not a completely reliable way to describe this (you could use a custom docker image that has a tag like 'latest').

Yup, this is exactly why we created a variable for it instead of relying on the docker tag to be matching for custom images.

Maybe for the common case, we could have a default esMajorVersion computed if, and only if, the image value is the default (image: "docker.elastic.co/elasticsearch/elasticsearch"). If it's the default image location, then we can probably rely on the first number of the imageTag representing the elasticsearch major version.
@Crazybus thoughts?

I really really like this idea. The more I think about it, I think it would be ok to try always try and detect the version from the imageTag as long as the chart still respects esMajorVersion if it is set. Since if this detection does fail the worst thing that will happen is that the cluster doesn't form properly (which is what happens now for someone who tries to deploy version 6). If a user deploys a 7.x cluster with an image tag starting with 6. it will fail to start up, they will read the docs and find how to set esMajorVersion. So I think it makes sense to cater to the most common scenario which is a 6.x user deploying an imageTag starting with 6.. The logic would look like something like:

Major version is set to esMajorVersion (to keep backwards compatibility)
If not set then Major version is set to imageTag | split(.)[0] if it is a proper integer
If an integer can't be parsed from the imageTag then it falls back to the current majorVersion which would be 7 right now.

Likewise, the 7.2.0 chart can probably also successfully deploy Elasticsearch master (8.0.0-SNAPSHOT, for example).

As long as the service discovery doesn't change in a future release (the only version specific logic that we have) then all future releases will continue to work. The deprecated options for 8.x were changed in https://github.com/elastic/helm-charts/pull/100 so it does already work with 8.x . f we had docker images for all Elasticsearch versions then it would also technically work for all those previous versions too.

I just opened https://github.com/elastic/helm-charts/pull/206 to implement the auto detection. I ended up going back on my idea of potentially doing this for all images since if someone were to be using a custom image with version 1.0.0 it would be a breaking change.


local.yml compatible with inspirehep

Changed a few ports on local.yml so that when I am testing locally ports dont clash with the ones used by inspirehep

As we discussed, it's not necessary for the moment


Icons for AppImage and deb installer

https://github.com/electron-userland/electron-builder/issues/2654
https://github.com/electron-userland/electron-builder/issues/3599

please fix the AppImage icon finally.
https://github.com/Mintplex-Labs/anything-llm/issues/950#issuecomment-2013971369


Bootloop on Yi Dome 2k

Using h51ga 0.3.1 on this camera, S/N: SFUSY45RI6YAH5230518
First installation works, but after a reboot, without changing any parameter, it enters on a boot loop.
is this the correct FS for this model?
Which info can I provide to debug the error?

I need the Yi fw version to check the model.

Yes, h51ga is correct.
Try to set DEBUG_LOG=yes in /tmp/sd/yi-hack/etc/system.conf (yi-hack/etc/system.conf if you are using the card with your PC) and post the content of the file /tmp/sd/hack_debug.log

Starting system.sh
Make /etc writable
Activating swap file
Set swappiness to 15
Configuring cloudAPI
Starting yi processes
PID USER       VSZ STAT COMMAND
1 root       980 S    /sbin/init
2 root         0 SW   [kthreadd]
3 root         0 SW   [ksoftirqd/0]
4 root         0 SW   [kworker/0:0]
5 root         0 SW<  [kworker/0:0H]
6 root         0 SW   [kworker/u2:0]
7 root         0 SW   [rcu_preempt]
8 root         0 SW   [rcu_sched]
9 root         0 SW   [rcu_bh]
10 root         0 SW<  [lru-add-drain]
11 root         0 SW   [kdevtmpfs]
12 root         0 SW   [kworker/u2:1]
211 root         0 SW   [oom_reaper]
212 root         0 SW<  [writeback]
214 root         0 SW   [kcompactd0]
215 root         0 SW<  [crypto]
216 root         0 SW<  [bioset]
218 root         0 SW<  [kblockd]
259 root         0 SW   [sys_user]
266 root         0 SW   [kworker/0:1]
267 root         0 SW<  [cfg80211]
273 root         0 SW<  [watchdogd]
288 root         0 SW<  [spi0]
298 root         0 SW   [kswapd0]
382 root         0 SW<  [bioset]
387 root         0 SW<  [bioset]
392 root         0 SW<  [bioset]
397 root         0 SW<  [bioset]
402 root         0 SW<  [bioset]
407 root         0 SW<  [bioset]
412 root         0 SW<  [bioset]
417 root         0 SW<  [bioset]
422 root         0 SW<  [bioset]
454 root         0 SW   [irq/302-sunxi-m]
456 root         0 SW   [irq/166-sdc0 cd]
457 root         0 SW   [irq/303-sunxi-m]
461 root         0 SW   [kworker/0:2]
514 root         0 SW<  [bioset]
515 root         0 SW   [mmcqd/0]
534 root         0 SW<  [kworker/0:1H]
547 root         0 SWN  [jffs2_gcd_mtd4]
582 root       980 S    /usr/sbin/telnetd
585 root         0 SW   [kworker/0:3]
593 root         0 SW   [ksdioirqd/mmc1]
600 root         0 SW   [RTW_XMIT_THREAD]
601 root         0 SW   [RTW_CMD_THREAD]
602 root         0 SW   [RTWHALXT]
612 root       908 S    ./dispatch
616 root       988 S    sh /tmp/sd/yi-hack/script/system.sh
954 root         0 Z    [init]
1233 root       980 R    ps
          total        used        free      shared  buff/cache   available

Mem:          60904       10424       44292          64        6188       49376
Swap:         65528           0       65528
Yi processes started successfully
PID USER       VSZ STAT COMMAND
1 root       980 S    /sbin/init
2 root         0 SW   [kthreadd]
3 root         0 SW   [ksoftirqd/0]
4 root         0 SW   [kworker/0:0]
5 root         0 SW<  [kworker/0:0H]
6 root         0 SW   [kworker/u2:0]
7 root         0 SW   [rcu_preempt]
8 root         0 SW   [rcu_sched]
9 root         0 SW   [rcu_bh]
10 root         0 SW<  [lru-add-drain]
11 root         0 SW   [kdevtmpfs]
12 root         0 SW   [kworker/u2:1]
211 root         0 SW   [oom_reaper]
212 root         0 SW<  [writeback]
214 root         0 SW   [kcompactd0]
215 root         0 SW<  [crypto]
216 root         0 SW<  [bioset]
218 root         0 SW<  [kblockd]
259 root         0 SW   [sys_user]
266 root         0 DW   [kworker/0:1]
267 root         0 SW<  [cfg80211]
273 root         0 SW<  [watchdogd]
288 root         0 SW<  [spi0]
298 root         0 SW   [kswapd0]
382 root         0 SW<  [bioset]
387 root         0 SW<  [bioset]
392 root         0 SW<  [bioset]
397 root         0 SW<  [bioset]
402 root         0 SW<  [bioset]
407 root         0 SW<  [bioset]
412 root         0 SW<  [bioset]
417 root         0 SW<  [bioset]
422 root         0 SW<  [bioset]
454 root         0 SW   [irq/302-sunxi-m]
456 root         0 SW   [irq/166-sdc0 cd]
457 root         0 SW   [irq/303-sunxi-m]
461 root         0 SW   [kworker/0:2]
514 root         0 SW<  [bioset]
515 root         0 SW   [mmcqd/0]
534 root         0 SW<  [kworker/0:1H]
547 root         0 SWN  [jffs2_gcd_mtd4]
582 root       980 S    /usr/sbin/telnetd
585 root         0 SW   [kworker/0:3]
593 root         0 SW   [ksdioirqd/mmc1]
600 root         0 SW   [RTW_XMIT_THREAD]
601 root         0 SW   [RTW_CMD_THREAD]
602 root         0 SW   [RTWHALXT]
612 root      1260 S    ./dispatch
616 root       992 S    sh /tmp/sd/yi-hack/script/system.sh
1310 root      1468 R    /backup/tools/wpa_supplicant -c/tmp/wpa_supplicant.c
1318 root         0 Z    [init]
1319 root      1048 S    sh -c wpa_cli -i wlan0 status
1321 root       804 S    wpa_cli -i wlan0 status
1322 root      1368 S    ./mp4record
1323 root       992 R    sh /tmp/sd/yi-hack/script/system.sh
1324 root       992 D    sh /tmp/sd/yi-hack/script/system.sh
1325 root       992 D    sh /tmp/sd/yi-hack/script/system.sh
1326 root      7584 S    ./rtmp
1327 root       736 S    ./watch_process
1328 root       980 R    ps
1329 root       980 S    sh -c insmod /home/app/localko/pid_list.ko
1330 root       980 R    insmod /home/app/localko/pid_list.ko
          total        used        free      shared  buff/cache   available

Mem:          60904       11740       29060         148       20104       47992
Swap:         65528           0       65528
Starting http
Starting ftp
Starting sshd
Starting ntp
Starting mqtt services
Starting rtsp
Starting onvif
Starting crontab
Starting custom startup.sh
system.sh completed
PID USER       VSZ STAT COMMAND
1 root       980 S    /sbin/init
2 root         0 SW   [kthreadd]
3 root         0 SW   [ksoftirqd/0]
4 root         0 SW   [kworker/0:0]
5 root         0 SW<  [kworker/0:0H]
6 root         0 SW   [kworker/u2:0]
7 root         0 SW   [rcu_preempt]
8 root         0 SW   [rcu_sched]
9 root         0 SW   [rcu_bh]
10 root         0 SW<  [lru-add-drain]
11 root         0 SW   [kdevtmpfs]
12 root         0 SW   [kworker/u2:1]
211 root         0 SW   [oom_reaper]
212 root         0 SW<  [writeback]
214 root         0 SW   [kcompactd0]
215 root         0 SW<  [crypto]
216 root         0 SW<  [bioset]
218 root         0 SW<  [kblockd]
259 root         0 SW   [sys_user]
266 root         0 SW   [kworker/0:1]
267 root         0 SW<  [cfg80211]
273 root         0 SW<  [watchdogd]
288 root         0 SW<  [spi0]
298 root         0 SW   [kswapd0]
382 root         0 SW<  [bioset]
387 root         0 SW<  [bioset]
392 root         0 SW<  [bioset]
397 root         0 SW<  [bioset]
402 root         0 SW<  [bioset]
407 root         0 SW<  [bioset]
412 root         0 SW<  [bioset]
417 root         0 SW<  [bioset]
422 root         0 SW<  [bioset]
454 root         0 SW   [irq/302-sunxi-m]
456 root         0 SW   [irq/166-sdc0 cd]
457 root         0 SW   [irq/303-sunxi-m]
461 root         0 SW   [kworker/0:2]
514 root         0 SW<  [bioset]
515 root         0 SW   [mmcqd/0]
534 root         0 SW<  [kworker/0:1H]
547 root         0 SWN  [jffs2_gcd_mtd4]
582 root       980 S    /usr/sbin/telnetd
585 root         0 SW   [kworker/0:3]
593 root         0 SW   [ksdioirqd/mmc1]
600 root         0 SW   [RTW_XMIT_THREAD]
601 root         0 SW   [RTW_CMD_THREAD]
602 root         0 SW   [RTWHALXT]
612 root      1260 S    ./dispatch
616 root      1000 S    sh /tmp/sd/yi-hack/script/system.sh
1310 root      1468 S    /backup/tools/wpa_supplicant -c/tmp/wpa_supplicant.c
1322 root      1368 S    ./mp4record
1323 root      1216 S    ./cloud
1324 root      2280 S    ./p2p_tnp
1325 root      2644 S    ./oss
1326 root      7584 S    ./rtmp
1327 root       740 S    ./watch_process
1346 root       964 S    {httpd} /tmp/sd/yi-hack/bin/busybox /tmp/sd/yi-hack/
1358 root       844 S    pure-ftpd (SERVER)
1370 root       892 S    /tmp/sd/yi-hack/bin/dropbearmulti /tmp/sd/yi-hack/sb
1398 root      1048 S    udhcpc -i wlan0 -b -s /backup/tools/default.script -
1499 root       964 S    {ntpd} /tmp/sd/yi-hack/bin/busybox /tmp/sd/yi-hack/u
1528 root      2868 S<   rRTSPServer -m h51ga -r high -a yes -p 554
1529 root       996 S    {wd_rtsp.sh} /bin/sh /tmp/sd/yi-hack/script/wd_rtsp.
1564 root       676 S    ipc2file
1571 root       792 S    onvif_notify_server --conf_file /tmp/onvif_simple_se
1584 root       688 S    wsd_simple_server --pid_file /var/run/wsd_simple_ser
1628 root       996 S    {wd_rtsp.sh} /bin/sh /tmp/sd/yi-hack/script/wd_rtsp.
1630 root       996 S    top -b -n 2 -d 1
1631 root       980 S    grep rRTSPServer
1632 root       980 S    grep -v grep
1634 root       964 S    {tail} /tmp/sd/yi-hack/bin/busybox /tmp/sd/yi-hack/u
1635 root       980 S    awk {print $8}
1636 root       964 S    {crond} /tmp/sd/yi-hack/bin/busybox /tmp/sd/yi-hack/
1676 root         0 Z    [init]
1959 root       980 R    ps
          total        used        free      shared  buff/cache   available

Mem:          60904       13492       23372         216       24040       46172
Swap:         65528           0       65528

Another race condition.
rmm process doesn't start and the watchdog restarts the cam.
There is another issue with the same behavior.
I will ask to make some test, because my model doesn't have this problem.

Another race condition. rmm process doesn't start and the watchdog restarts the cam. There is another issue with the same behavior. I will ask to make some test, because my model doesn't have this problem.

sure, I can test any new version for you if you want, just publish the tar.gz as pre-release or something and I will test it

Try to add a sleep 2 between
set_tz_offset and rmm
set_tz_offset -c osd -o off
sleep 2
LD_LIBRARY_PATH="/tmp/sd/yi-hack/lib:/lib:/usr/lib:/home/lib:/home/qigan/lib:/home/app/locallib:/tmp/sd:/tmp/sd/gdb" ./rmm &

Line 193
https://github.com/roleoroleo/yi-hack-Allwinner-v2/blob/be0e87dbdcc1d8ab82dcf394f2380a24771d302e/src/static/static/yi-hack/script/system.sh#L193
and line 231
https://github.com/roleoroleo/yi-hack-Allwinner-v2/blob/be0e87dbdcc1d8ab82dcf394f2380a24771d302e/src/static/static/yi-hack/script/system.sh#L231

sleep did work, no more reboot loops after that

Good news. I will comit this change.

I have had the same problem, I have had several updates with the OTA method, and in this update I have not succeeded.
I have been able to manually and had the problem of continuous reboots, editing the system.sh file in the yi-hack directory on the corresponding line (sleep 2), thank you.

@Watanakas
Problem solved?

@roleoroleo works for me on the YI Dome U 2K