[02] feat(*) backport stream semaphore patches

This backports semaphore patches from upstream that are needed for Yichun's patches to apply cleanly.

See also: https://github.com/Kong/openresty-patches/pull/5


not an issue im new to this site and i use you luas in csgo great work man but i really wanna know if you could create a tekkn 7 cheat that autoblocks i have scaned everywhere and cant find any cheat like that there either outdated or just were never made i beg you have  ago

Tekken 7 has no anticheat so you dont have to worry

Tekken 7 has no anticheat so you dont have to worry

I'm not creating any cheats for other game nor do I take requests

Ok, thanks for the reply.
On Thu, Feb 11, 2021 at 7:55 PM Snow<EMAIL_ADDRESS>wrote:

I'm not creating any cheats for other game nor do I take requests
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/KibbeWater/Interium-Luas/issues/13#issuecomment-777750136,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARRJCHHBEE5E32TSCZQQFODS6QY23ANCNFSM4V6LPF7A
.


Add ItemCollection documentation

#484

I'm a bit confused now as there's also a ItemCollection specification in #482 (which is the right place to put it in my opinion).

The IC spec in #482 has already been moved here -- I think you were looking at an older revision.

This PR is ready for final review


Add Module For Checking Atomic

Some toolchains require explicitly linking against libatomic
If such linking is required, then this function sets the
value of result to "atomic". Otherwise it remains untouched.
This makes it so that the function only needs to be called once
per project.
It can be used as follows:
include(CheckAtomic)
check_cxx_needs_atomic(LINK_ATOMIC)
target_link_libraries(foo PRIVATE ${LINK_ATOMIC})
...
target_link_libraries(bar PRIVATE ${LINK_ATOMIC})

@RReichert What are the advantages of a C based version?
I can still look into implementing that also.

@RReichert What are the advantages of a C based version?
I can still look into implementing that also.

Just in case we want to use atomic in C programs, which we currently don't have a need for, so its not necessary.


🐛 [APP_CHECK] Not working on Web in release mode

Bug report
Describe the bug
Recaptcha config with secret and public key configured, not working. Key and domains are correct on google recaptcha enterprise v3 and correctly configured both on firebase console and in my app. It results in error 400 when loading resource to validate key (error below).
Failed to load resource with status 400:
https://content-firebaseappcheck.googleapis.com/v1/projects/lala-60d92/apps/1:800367749055:web:ea6fcbcc19d31e9a5ca30a:exchangeRecaptchaV3Token?key=XXX
They key displayed is not the one configured on the firebase console. How can this be?
Steps to reproduce
Steps to reproduce the behavior:

Go to '...'
'...'
See error or incorrect behavior

Expected behavior
Recaptcha working
Sample project
Providing a minimal example project which demonstrates the bug in isolation from your main App greatly enhances the chance of a timely fix.
Please link to the public repository URL.
await FirebaseAppCheck.instance.activate(
      webRecaptchaSiteKey: XXX, (key is correct, double checked and same as in console)
      androidProvider:
          kDebugMode ? AndroidProvider.debug : AndroidProvider.playIntegrity);

Additional context
Configured recaptcha v3 enterprise shows this error on chrome console:
Failed to load resource with status 400:
https://content-firebaseappcheck.googleapis.com/v1/projects/risa-60d92/apps/1:800367749055:web:ea6fcbcc19d31e9a5ca30a:exchangeRecaptchaV3Token?key=XXX
note that this key is not what is on my firebase console, not sure if it's supposed to be like that or not.

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.10.0, on Microsoft Windows [Version 10.0.22621.1702], locale en-US)
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
[√] Chrome - develop for the web
[√] Visual Studio - develop for Windows (Visual Studio Build Tools 2022 17.5.4)
[√] Android Studio (version 2022.1)
[√] Android Studio
[√] VS Code (version 1.78.2)
[√] Connected device (3 available)
[√] Network resources

• No issues found!

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
Dart SDK 3.0.0
Flutter SDK 3.10.0
risa 1.0.0+3

dependencies:
- audioplayers 3.0.1 [audioplayers_android audioplayers_darwin audioplayers_linux audioplayers_platform_interface audioplayers_web audioplayers_windows flutter http path_provider uuid]
- cloud_firestore 4.7.0 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- cloud_functions 4.3.0 [cloud_functions_platform_interface cloud_functions_web firebase_core firebase_core_platform_interface flutter]
- cupertino_icons 1.0.5
- firebase_analytics 10.4.0 [firebase_analytics_platform_interface firebase_analytics_web firebase_core firebase_core_platform_interface flutter]
- firebase_app_check 0.1.4+1 [firebase_app_check_platform_interface firebase_app_check_web firebase_core firebase_core_platform_interface flutter]
- firebase_auth 4.6.0 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.13.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_storage 11.2.0 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter]
- flutter 0.0.0 [characters collection js material_color_utilities meta vector_math sky_engine]
- flutter_dotenv 5.0.2 [flutter]
- flutter_easyloading 3.0.5 [flutter flutter_spinkit]
- flutter_facebook_auth 5.0.11 [flutter flutter_facebook_auth_platform_interface flutter_facebook_auth_web facebook_auth_desktop]
- flutter_image_compress 1.1.3 [flutter]
- flutter_login 4.1.1 [another_flushbar another_transformer_page_view flutter font_awesome_flutter provider quiver sign_in_button url_launcher]
- flutter_webrtc 0.9.29+hotfix.1 [collection dart_webrtc flutter js path_provider webrtc_interface]
- font_awesome_flutter 10.4.0 [flutter]
- image_picker 0.8.7+5 [flutter image_picker_android image_picker_for_web image_picker_ios image_picker_platform_interface]
- path_provider 2.0.15 [flutter path_provider_android path_provider_foundation path_provider_linux path_provider_platform_interface path_provider_windows]
- provider 6.0.5 [collection flutter nested]
- rflutter_alert 2.0.4 [flutter]
- shared_preferences 2.1.1 [flutter shared_preferences_android shared_preferences_foundation shared_preferences_linux shared_preferences_platform_interface shared_preferences_web shared_preferences_windows]
- url_launcher 6.1.11 [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]
- web_socket_channel 2.4.0 [async crypto stream_channel]

dev dependencies:
- flutter_lints 2.0.1 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection js matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]

transitive dependencies:
- _flutterfire_internals 1.3.1 [collection firebase_core firebase_core_platform_interface flutter meta]
- another_flushbar 1.12.30 [flutter]
- another_transformer_page_view 2.0.1 [flutter]
- async 2.11.0 [collection meta]
- audioplayers_android 2.0.0 [audioplayers_platform_interface flutter]
- audioplayers_darwin 3.0.1 [audioplayers_platform_interface flutter]
- audioplayers_linux 1.0.4 [audioplayers_platform_interface flutter]
- audioplayers_platform_interface 4.0.0 [flutter plugin_platform_interface]
- audioplayers_web 2.2.0 [audioplayers_platform_interface flutter flutter_web_plugins js]
- audioplayers_windows 1.1.3 [audioplayers_platform_interface flutter]
- boolean_selector 2.1.1 [source_span string_scanner]
- characters 1.3.0
- clock 1.1.1
- cloud_firestore_platform_interface 5.14.0 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 3.5.0 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- cloud_functions_platform_interface 5.4.0 [firebase_core flutter meta plugin_platform_interface]
- cloud_functions_web 4.5.0 [cloud_functions_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- collection 1.17.1
- cross_file 0.3.3+4 [js meta]
- crypto 3.0.3 [typed_data]
- dart_webrtc 1.0.16 [js platform_detect webrtc_interface]
- facebook_auth_desktop 0.0.9 [flutter http flutter_secure_storage flutter_facebook_auth_platform_interface]
- fake_async 1.3.1 [clock collection]
- ffi 2.0.2
- file 6.1.4 [meta path]
- firebase_analytics_platform_interface 3.6.0 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_analytics_web 0.5.4 [_flutterfire_internals firebase_analytics_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- firebase_app_check_platform_interface 0.0.8+1 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_app_check_web 0.0.10+1 [_flutterfire_internals firebase_app_check_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- firebase_auth_platform_interface 6.15.0 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.5.0 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser js meta]
- firebase_core_platform_interface 4.8.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.5.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_storage_platform_interface 4.4.0 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_storage_web 3.6.0 [_flutterfire_internals async firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http js meta]
- flutter_facebook_auth_platform_interface 4.1.1 [flutter plugin_platform_interface]
- flutter_facebook_auth_web 4.1.1 [flutter flutter_web_plugins js flutter_facebook_auth_platform_interface]
- flutter_plugin_android_lifecycle 2.0.14 [flutter]
- flutter_secure_storage 8.0.0 [flutter flutter_secure_storage_linux flutter_secure_storage_macos flutter_secure_storage_platform_interface flutter_secure_storage_web flutter_secure_storage_windows meta]
- flutter_secure_storage_linux 1.1.3 [flutter flutter_secure_storage_platform_interface]
- flutter_secure_storage_macos 3.0.0 [flutter flutter_secure_storage_platform_interface]
- flutter_secure_storage_platform_interface 1.0.1 [flutter plugin_platform_interface]
- flutter_secure_storage_web 1.1.1 [flutter flutter_secure_storage_platform_interface flutter_web_plugins js]
- flutter_secure_storage_windows 2.0.0 [flutter flutter_secure_storage_platform_interface]
- flutter_spinkit 5.2.0 [flutter]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- http 0.13.6 [async http_parser meta]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- image_picker_android 0.8.6+14 [flutter flutter_plugin_android_lifecycle image_picker_platform_interface]
- image_picker_for_web 2.1.12 [flutter flutter_web_plugins image_picker_platform_interface]
- image_picker_ios 0.8.7+4 [flutter image_picker_platform_interface]
- image_picker_platform_interface 2.6.3 [cross_file flutter http plugin_platform_interface]
- js 0.6.7 [meta]
- lints 2.1.0
- matcher 0.12.15 [async meta stack_trace term_glyph test_api]
- material_color_utilities 0.2.0
- meta 1.9.1
- nested 1.0.0 [flutter]
- path 1.8.3
- path_provider_android 2.0.27 [flutter path_provider_platform_interface]
- path_provider_foundation 2.2.3 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.10 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_platform_interface 2.0.6 [flutter platform plugin_platform_interface]
- path_provider_windows 2.1.6 [ffi flutter path path_provider_platform_interface win32]
- platform 3.1.0
- platform_detect 2.0.7 [meta pub_semver]
- plugin_platform_interface 2.1.4 [meta]
- process 4.2.4 [file path platform]
- pub_semver 2.1.4 [collection meta]
- quiver 3.2.1 [matcher]
- shared_preferences_android 2.1.4 [flutter shared_preferences_platform_interface]
- shared_preferences_foundation 2.2.2 [flutter shared_preferences_platform_interface]
- shared_preferences_linux 2.2.0 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_platform_interface]
- shared_preferences_platform_interface 2.2.0 [flutter plugin_platform_interface]
- shared_preferences_web 2.1.0 [flutter flutter_web_plugins shared_preferences_platform_interface]
- shared_preferences_windows 2.2.0 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface]
- sign_in_button 3.2.0 [flutter font_awesome_flutter]
- sky_engine 0.0.99
- source_span 1.9.1 [collection path term_glyph]
- stack_trace 1.11.0 [path]
- stream_channel 2.1.1 [async]
- string_scanner 1.2.0 [source_span]
- term_glyph 1.2.1
- test_api 0.5.1 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- typed_data 1.3.2 [collection]
- url_launcher_android 6.0.33 [flutter url_launcher_platform_interface]
- url_launcher_ios 6.1.4 [flutter url_launcher_platform_interface]
- url_launcher_linux 3.0.5 [flutter url_launcher_platform_interface]
- url_launcher_macos 3.0.5 [flutter url_launcher_platform_interface]
- url_launcher_platform_interface 2.1.2 [flutter plugin_platform_interface]
- url_launcher_web 2.0.16 [flutter flutter_web_plugins url_launcher_platform_interface]
- url_launcher_windows 3.0.6 [flutter url_launcher_platform_interface]
- vector_math 2.1.4
- webrtc_interface 1.0.13
- win32 4.1.4 [ffi]
- xdg_directories 1.0.0 [meta path process]

Hi @arisAlexis, what is the configuration of the TTL on your firebase console? Can you also check https://firebase.google.com/docs/app-check/flutter/debug-provider#web to see if it helps?

Hi, I do not want a debug provider, it works ok with the debug token. I want production code with recaptcha. The TTL is set to the default 1h and it doesn't matter because it never worked even after days, redeployments and all.
The error response is:
{
"error": {
"code": 400,
"message": "App not registered: 1:800367749055:web:ea6fcbcc19d31e9a5ca30a.",
"status": "FAILED_PRECONDITION"
}
}
but the app IS registered with recaptcha on the firebase console.

Hi @arisAlexis, can you walk me through the steps you used to setup your project so that I can try to reproduce?

Hi sure.

Firebase app in console.
Recaptcha entreprise with configured 3 domains. the app.firebaseapp.com, the app.web.app and the real domain name.
Recaptcha secret in firebase console under recaptcha entreprise.
Firebase app check tab , app says registered
Code initialized with:  await FirebaseAppCheck.instance.activate(

  webRecaptchaSiteKey: dotenv.env["RECAPTCHA_KEY"] and this var is also printed on the console and it's correct. It's the "site key" from the recaptcha configuration mentioned above.

Fibase console -> project settings -> web -> configuration matches the firebase.options file in my flutter folder.

What else?

Thanks for the steps. I see a similar issue when I use the steps outlined and the firebase_app_check code sample.
{
  "error": {
    "code": 400,
    "message": "App not registered: 1:949478422196:web:0e66b7f248c2c36302c9e1.",
    "status": "FAILED_PRECONDITION"
  }
}

I'm not sure if there are some other steps needed to set it up. Labeling for further insight from the team

Hi,
I am facing the same issue. Is there any update on this? Thanks

i Am facing similar issue @danagbemava-nc @arisAlexis
Were you able to solve it ?

@Ayush0Chaudhary nope but my app works nevertheless for now because I disabled the app check. The team it seems gives very low priority to web development. @danagbemava-nc

\cc @russellwheatley

@Ayush0Chaudhary nope but my app works nevertheless for now because I disabled the app check. The team it seems gives very low priority to web development. @danagbemava-nc

I had to run my website without app check, ended up having 1million requests

any progress on this issue ? we facing the same problems :(  iOS/Android appcheck works, but not Web :(

it seems that package doesn't support reCAPTCHA Enterprise .. it sends requests to exchangeRecaptchaV3Token instead of exchangeRecaptchaEnterpriseToken

it seems that package doesn't support reCAPTCHA Enterprise .. it sends requests to exchangeRecaptchaV3Token instead of exchangeRecaptchaEnterpriseToken

I can confirm - versions of AppCheck before 0.2.0 (which was released today) uses the classic (non-enterprise) version of reCAPTCHA.

@StevenSnary great news!!  0.2.0 version works as expected 🙇

Yes, we have just released support for ReCaptchaEnterpriseProvider . See PR https://github.com/firebase/flutterfire/pull/11573.
Please note, it is a breaking change as mentioned in the CHANGELOG.
Does this fix your issue @arisAlexis?


Establish Content Security Policy

Before integrating the widget plugin mechanism in Kalamar, the server should establish strict rules to limit security risks. Currently there are some violations of basic JS and CSS inline rules, that could easily be fixed.

Here is a good guide for security headers, including a description of the related X-Frame-Options and Access-Control-Allow-Origin headers.

This should get higher priority now that the first embedded plugins will enter Kalamar.

Mainly done now (though not everything is in master yet). Styles are still inlineable, but that's okay for the moment I guess.

Mainly done now (though not everything is in master yet). Styles are still inlineable, but that's okay for the moment I guess.


add delete item

need a little help here in test 404!=204 error

need a little help here in test 404!=204 error

I think you may need to create a find_by_product_id() method in Item.py


🚀 Feature: Activate discussions

Feature description
You should enable github discussion in this repo so one does not have to create a new issue for simple usage questions.
Pitch
It would reduce the number of issues and enable more people to simply help each other.

Enabled. Thanks for the suggestion.


Failures on [co19] Roll co19 to c7f412ab8b0ad444eea4d6dbd7616b475e050fab

There are new test failures on [co19] Roll co19 to c7f412ab8b0ad444eea4d6dbd7616b475e050fab.
 Let's wait for all bots and I'll do a triage

Good thanks! Cf. https://github.com/dart-lang/sdk/issues/53237.

Failures triaged

Failure
Issue

analyzer-asserts-linux

new test -> CompileTimeError (expected Pass)

co19/LanguageFeatures/Extension-types/static_analysis_extension_types_A24_t02
https://github.com/dart-lang/sdk/issues/53206

new test -> MissingCompileTimeError (expected Pass)

co19/Language/Functions/element_type_A01_t01
https://github.com/dart-lang/sdk/issues/53054

co19/Language/Functions/element_type_A01_t02
https://github.com/dart-lang/sdk/issues/53054

co19/Language/Functions/element_type_A02_t01
https://github.com/dart-lang/sdk/issues/53054

co19/Language/Functions/element_type_A02_t02
https://github.com/dart-lang/sdk/issues/53054

cfe...

MissingCompileTimeError -> Crash (expected Pass)

co19/LanguageFeatures/Extension-types/static_analysis_extension_types_A23_t01
https://github.com/dart-lang/sdk/issues/53212

Pass -> MissingCompileTimeError (expected Pass)

co19/LanguageFeatures/Extension-types/static_analysis_extension_types_A08_t02
https://github.com/dart-lang/sdk/issues/53207

new test -> Crash (expected Pass)

co19/LanguageFeatures/Extension-types/static_analysis_extension_types_A21_t06
https://github.com/dart-lang/sdk/issues/53232

co19/LanguageFeatures/Extension-types/static_analysis_extension_types_A21_t07
https://github.com/dart-lang/sdk/issues/53213

new test -> MissingCompileTimeError (expected Pass)

co19/LanguageFeatures/Extension-types/static_analysis_extension_types_A13_t01
https://github.com/dart-lang/sdk/issues/53172

co19/LanguageFeatures/Extension-types/superinterfaces_of_extension_type_A01_t01
https://github.com/dart-lang/sdk/issues/53170

co19/LanguageFeatures/Extension-types/superinterfaces_of_extension_type_A01_t02
https://github.com/dart-lang/sdk/issues/53170

co19/LanguageFeatures/Extension-types/superinterfaces_of_extension_type_A04_t01
https://github.com/dart-lang/sdk/issues/53170

co19/LanguageFeatures/Extension-types/superinterfaces_of_extension_type_A04_t02
https://github.com/dart-lang/sdk/issues/53170

co19/LanguageFeatures/Extension-types/superinterfaces_of_extension_type_A04_t04
https://github.com/dart-lang/sdk/issues/53170

co19/LanguageFeatures/Extension-types/superinterfaces_of_extension_type_A04_t05
https://github.com/dart-lang/sdk/issues/53170

co19/LanguageFeatures/Extension-types/superinterfaces_of_extension_type_A04_t06
https://github.com/dart-lang/sdk/issues/53170

co19/LanguageFeatures/Extension-types/superinterfaces_of_extension_type_A04_t07
https://github.com/dart-lang/sdk/issues/53170

co19/LanguageFeatures/Extension-types/superinterfaces_of_extension_type_A05_t01
https://github.com/dart-lang/sdk/issues/53172

co19/LanguageFeatures/Extension-types/superinterfaces_of_extension_type_A05_t02
https://github.com/dart-lang/sdk/issues/53172

cfe...

dart2js...

dart2wasm...

ddc...

new test -> Crash (expected Pass)

co19/LanguageFeatures/Extension-types/static_analysis_extension_types_A21_t01
https://github.com/dart-lang/sdk/issues/53140

co19/LanguageFeatures/Extension-types/static_analysis_extension_types_A21_t02
https://github.com/dart-lang/sdk/issues/53140

co19/LanguageFeatures/Extension-types/static_analysis_extension_types_A24_t02
https://github.com/dart-lang/sdk/issues/53140

cfe...

dart2js...

dart2wasm...

ddc...

vm...

new test -> CompileTimeError (expected Pass)

co19/LanguageFeatures/Extension-types/static_analysis_extension_types_A24_t01
https://github.com/dart-lang/sdk/issues/53211

co19/LanguageFeatures/Extension-types/static_analysis_member_invocation_A05_t03
https://github.com/dart-lang/sdk/issues/53211

cfe...dart2js...dart2wasm...new test -> Crash (expected Pass)

co19/LanguageFeatures/Extension-types/dynamic_semantics_extension_type_A05_t02
https://github.com/dart-lang/sdk/issues/53238

co19/LanguageFeatures/Extension-types/static_analysis_extension_types_A26_t01
https://github.com/dart-lang/sdk/issues/53232

dart2js...CompileTimeError -> RuntimeError (expected Pass)

co19/LanguageFeatures/Extension-types/dynamic_semantics_member_invocation_A02_t04
https://github.com/dart-lang/sdk/issues/53233

co19/LanguageFeatures/Extension-types/dynamic_semantics_member_invocation_A03_t04
https://github.com/dart-lang/sdk/issues/53233

dart2js...dart2wasm...ddc...vm…

new test -> RuntimeError (expected Pass)

co19/Language/Functions/element_type_A01_t03
https://github.com/dart-lang/sdk/issues/53053

co19/Language/Functions/element_type_A01_t04
https://github.com/dart-lang/sdk/issues/53053

co19/Language/Functions/element_type_A01_t06
https://github.com/dart-lang/sdk/issues/53053

dart2js...dart2wasm-linux-d8ddc...vm…

new test -> RuntimeError (expected Pass)

co19/Language/Functions/element_type_A02_t03
https://github.com/dart-lang/sdk/issues/53053

co19/Language/Functions/element_type_A02_t04
https://github.com/dart-lang/sdk/issues/53053

co19/Language/Functions/element_type_A02_t06
https://github.com/dart-lang/sdk/issues/53053

dart2wasm...new test -> Crash (expected Pass)

co19/Language/Functions/element_type_A03_t02
https://github.com/dart-lang/sdk/issues/53234

co19/LanguageFeatures/Extension-types/static_analysis_member_invocation_A05_t03
https://github.com/dart-lang/sdk/issues/53239

vm...

new test -> DartkCrash (expected Pass)

co19/LanguageFeatures/Extension-types/static_analysis_extension_types_A21_t01
https://github.com/dart-lang/sdk/issues/53140

co19/LanguageFeatures/Extension-types/static_analysis_extension_types_A21_t02
https://github.com/dart-lang/sdk/issues/53140

co19/LanguageFeatures/Extension-types/static_analysis_extension_types_A24_t02
https://github.com/dart-lang/sdk/issues/53140


Solar panel sun visibility sampling error at max timewarp for loaded vessels

The issue is as following: assume a vessel in low orbit around a body. At each simulation step, the sun visibility is determined by raycasting from vessel position to sun position, and if the ray hit the body then the vessel is considered in shadow. This work, provided that the number of simulation steps per-orbit is high enough. However, as timewarp speed increase, the number of simulation steps per-orbit decrease. When the visibility samples taken approach a low number per-orbit (eg: only one), then the vessel will be considered either in shadow or in sunlight depending on the point where the single sampling was done along the orbit.
This infographic illustrate the problem better:

This issue was recognized long time ago, and fixed for unloaded solar panel simulation by switching to an analytical sunlight estimation over the whole orbit when timewarp speed exceed a threshold.
However, the stock code for the solar panel module have this issue too. This lead to wrong sunlight estimates and EC production in loaded vessels, and indirectly to CO2 poisoning or climatization insta-death.
The issue is relatively hard to reproduce consistently without knowing the details provided here. In fact, the frequency at which it can be observed depend on the portion of orbit that is in shadow and the timewarp speed, both indirectly determining the number of sampling points per-orbit. As the number of sampling points is very probably not an integer, the sampling points will appear to move orbit after orbit. All this complicate reproduction steps, and make the related reports random as hell.
The only practical way to fix this is to implement a custom solar panel module, and use it to replace all occurrences of the stock solar panels

This was fixed, without replacing the stock solar panel module. Instead, a new module WarpFixer was created. This module set stock module output to zero, and then calculate the correct output itself,considering analytical sunlight visibility. Then the EC is produced using the resource cache, so that warpspeed and EC capacity can't influence the amount actually produced.


Allow filling CookieJars from a Cookie header string

I needed this ability so that I could use this library with Hyper. Contemporary Hyper has no cookie parsing logic, so the ability to parse a &str into a CookieJar is very helpful for making stateful manipulations of cookies. Since this is only useful for a &str with a lifetime that isn't 'static, I needed CookieJars to be able to hold Cookies with lifetimes that aren't 'static, hence the sweeping addition of lifetimes to those structs. (thank you very much for the no-allocation parsing!)
The actual method is at src/jar.rs:126.
I did not bump the version, as I'm not quite sure how this interacts with semver requirements; I didn't have to modify anything in the test suite, but I can see how the addition of lifetime parameters might be a breaking change (e.g. if a SignedJar was a struct field).
Feel free to mention any tasks I can do to help merge this! I'm still fairly new to Rust so let me know if there's anything to improve.

I'm all for the lifetime changes, but the inclusion of the parse() method has issues similar to ones in the previous PR to attempt to add this: https://github.com/SergioBenitez/cookie-rs/pull/107#issuecomment-575771128.

Commenting because I'm interested in this functionality

The functionality is far too subjective, in my opinion, for inclusion in the library. For instance, this implementation assumes at least the following:

You want to add the cookies with add and not add_original.
You want to keep the latter of a duplicate if one exists.
You don't want to ignore parsing errors as you go.
You want the cookies in a regular CookieJar.

This solution creates a new CookieJar thus add_original should be used.
See 1.
There are so many ways to handle and not handle errors this is going to be a problem with any collection. Would you be open to a parse_list function on Cookie that returns a Iterator<Result<Cookie>>?
I don't understand why this is a problem. What's wrong with CookieJar::parse(s).private() or CookieJar::parse(s).signed()?

Closing due to inactivity.


[Details Nerdlet] Update the “Install” button to be “View  installation docs” for integration packs

Description
For integration packs that only have documentation info, the Install button should instead show View installation docs and link to the documentation's url reference.

note: an "integration" pack is not defined by type, so to decide which button to use, we'd need to look if the pack has install-able components (dashboards, alerts, etc) IF NONE, show view installation docs button
note: the pack migration will need to occur first.
Acceptance Criteria

[ ] Ensure the CTA button for integration packs is named View installation docs in the Details Nerdlet
[ ] On click the user should be directed to the correct documentation's url that is referenced in the pack

This is dependent on the documentation data being present in NerdGraph, will update when we have more information from the Virtuoso team


Replace tables with maps in merkle masks

This PR builds on #14594.
In this PR, the hash tables used in merkle masks are replaced with maps in order to avoid hashing data at every single mask traversal when evaluating ledger reads. This showed ~7.5x speedup in applying transactions to a chain of k=290 masks.

!ci-build-me

!ci-build-me

!ci-build-me

!ci-nightly-me

!ci-nightly-me

!ci-nightly-me

https://buildkite.com/o-1-labs-2/mina-end-to-end-nightlies/builds/877


Request initialize failed with message: Cannot find module 'lodash/uniq'

[Info  - 5:25:39 PM] NODE_PATH value is: /usr/local/lib/node_modules
[Error - 5:25:40 PM] Server initialization failed.
Request initialize failed with message: Cannot find module 'lodash/uniq'

fixed in @playlyfe/gql v2.2.1


Altered ci deploy project to fit new schema

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Flag
Coverage Δ

unittests
100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.


add test to pipeline

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: mrKaye sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Update configure.cmd

Resolved an error that can not run configure.py if the env %configure_dir% contains spaces.

@googlebot I signed it!


Homepage example is weird

On:
http://ironframework.io/
the main example has:
    Iron::new(hello_world).http("localhost:3000").unwrap();
    println!("On 3000");

which is a bit confusing to beginners, because the println will never actually run, I suggest it be changed to:
    println!("Listening on port 3000");
    Iron::new(hello_world).http("localhost:3000").unwrap();

Yes! It should actually be something like:
let _server = Iron::new(hello_world).http("localhost:3000").unwrap();
println!("On 3000");

which would actually wait until the server is listening to print that it is listening. The problem with the current example is that the server guard is dropped immediately, instead of saved.

There appears to be a pull request for this.


Redis proxy does not scale

Redis proxy uses CAS to update bucket data and when there is ~400 concurrent requests, CAS starts to fail with a lot of race conditions and failed CAS operations are retried until they all succeed. As we don't want rate limiting to add much latency to user requests, we set a timer for bucket4j calls and when we get 400+ requests that map to the same bucket, they start to fail with timeouts after 3 seconds. With thousands of concurrent requests bucket4j calls may take tens of seconds or even more that leads to the conclusion that current implementation of Redis proxy can't be used for high load systems.

Hello @vtlkvl
Described problem is not specific for Redis. Numbers can be better for another backends such as Hazelcast but not serriouslly, there are no persistence solutions that can survive until thouthands of transactions per second on the same key.
There is some usefull package that has not been documented yet https://github.com/bucket4j/bucket4j/tree/master/bucket4j-core/src/main/java/io/github/bucket4j/distributed/proxy/optimization It is especially designed for to solve problem related to high transaction rate on the same key. Examples that shows ability how to use optimizations can be found there https://github.com/bucket4j/bucket4j/tree/8.4/bucket4j-examples/src/test/java/example/distributed/optimizers
Just batching should be enough for start. All examples are written for Hazelcast, but same style can be reused for Redis.

Hi @vladimir-bukhtoyarov, thanks for the prompt answer. Thousands of requests from the same origin is not really a big number and many systems should be able to handle it and we are trying to find a proper solution.
Nice idea on batching. I haven't looked at the implementation in detail, but I have an assumption that it works well with a high and consistent request rate, however if requests are intermittent, it will process the batch not when it gets full, but on scheduled time, and it may add to overall user request latency.
I had another idea that requires to partition buckets. Instead of creating one bucket, we could create several buckets that split the capacity and refill rate evenly. When requests comes in, we will use these buckets in a round-robin fashion and we will have to adjust remaining limit if we need to return it to the client. It does not solve the original problem, but it just delays it.

but I have an assumption that it works well with a high and consistent request rate, however if requests are intermittent, it will process the batch not when it gets full, but on scheduled time, and it may add to overall user request latency.

No. Next batch is being executed imediattely after previous is executed. There is no background scheduling.

I had another idea that requires to partition buckets. Instead of creating one bucket, we could create several buckets that split the capacity and refill rate evenly. When requests comes in, we will use these buckets in a round-robin fashion and we will have to adjust remaining limit if we need to return it to the client. It does not solve the original problem, but it just delays it.

This hack can be implemented on the client side without bringing it to the library level. In general, I do not think that it is good idea, for some small capacities it would not work at all. Batching significantly reduces the request rate bacause read state only once, applies a bunch of commands one by one to the state in the memory and then saves state only once(if it was 100 commands in the batch then 99 network reqeusts were preserved), while splitting the bucket just reduces contention only, without reducing requeast rate.
It can be only one bad scenario for batching - many client nodes, for hundreds of client nodes CAS will not work well. But it is not hard work to fix. Just introduce microservice with 2-3 nodes and delegate request limiting to this service, this microservice will act as concentrator that reduces contention and request rate.

Thanks @vladimir-bukhtoyarov, batching optimization solved the problem. The only thing I'd like to call out is that optimizations work at the io.github.bucket4j.Bucket instance level and it would be nice to provide a caching version of RemoteBucketBuilder so that users do not need to build caching themselves.

it would be nice to provide a caching version of RemoteBucketBuilder so that users do not need to build caching themselves.

I will add this option in next release.

Initially I thought that pending Redis queries would be combined into a single Redis transaction

It is not nessarry to combine something into transaction because there is nothing to combine. Because independently from size of batch we perform one read and one write.

but really they are executed serially

Exactly, data is read to the app memory from Redis, then bunch of command are applied serially to this data, then data is stored to Redis.


Update healthCheck.md

This was suggested during review and was somehow ignored. Multiple times.

HI @segfaultxavi , I'm sorry for the late response. The md files are generated from the ts commands classes. I've fixed the doc in the ts file

👍


An unhandled exception occurred: Cannot assign to read only property '_showWarnings' of object '#' while build in production mode

I'm submitting a...

[ ] Bug report
[ ] Feature request
[ ] Documentation issue or request

In package

[ ] @ng-toolkit/init
[ ] @ng-toolkit/serverless
[ ] @ng-toolkit/universal
[ ] @ng-toolkit/pwa
[ ] @ng-toolkit/firebug

Current behavior

Expected behavior

Minimal reproduction of the problem with instructions

Example repository

What is the motivation / use case for changing the behavior?

Environment

Angular version: X.Y.Z

- Node version: XX
- Platform:

Others:

my package.json is
{
"name": "goblitz-frontend",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve --aot",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"compile:server": "webpack --config webpack.server.config.js --progress --colors",
"serve:ssr": "node dist/server",
"build:ssr": "npm run build:client-and-server-bundles && npm run compile:server",
"build:client-and-server-bundles": "ng build --prod && ng run goblitz-frontend:server:production --bundleDependencies all"
},
"private": true,
"dependencies": {
"@angular/animations": "~8.1.2",
"@angular/common": "~8.1.2",
"@angular/compiler": "~8.1.2",
"@angular/core": "~8.1.2",
"@angular/forms": "~8.1.2",
"@angular/platform-browser": "~8.1.2",
"@angular/platform-browser-dynamic": "~8.1.2",
"@angular/platform-server": "~8.1.2",
"@angular/router": "~8.1.2",
"@ctrl/ngx-emoji-mart": "^1.0.6",
"@nguniversal/express-engine": "^8.1.1",
"@nguniversal/module-map-ngfactory-loader": "8.1.1",
"@syncfusion/ej2-angular-calendars": "^17.4.51",
"@types/jquery": "^3.3.31",
"express": "^4.15.2",
"flv.js": "^1.5.0",
"jquery": "^3.4.1",
"moment": "^2.24.0",
"ng2-material-dropdown": "^0.11.0",
"ngx-chips": "^2.1.0",
"ngx-owl-carousel": "^2.0.7",
"ngx-select-dropdown": "^1.3.1",
"ngx-socket-io": "^3.0.1",
"ngx-toastr": "^11.2.1",
"rxjs": "~6.4.0",
"tslib": "^1.9.0",
"underscore": "^1.9.2",
"zone.js": "~0.9.1"
},
"devDependencies": {
"@angular-builders/custom-webpack": "^8.4.0",
"@angular-devkit/build-angular": "^0.803.8",
"@angular/cli": "~8.1.2",
"@angular/compiler-cli": "~8.1.2",
"@angular/language-service": "~8.1.2",
"@types/jasmine": "~3.3.8",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
"codelyzer": "^5.0.0",
"jasmine-core": "~3.4.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~4.1.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.4.0",
"postcss-import": "^12.0.1",
"postcss-loader": "^3.0.0",
"postcss-scss": "^2.0.0",
"protractor": "~5.4.0",
"tailwindcss": "^1.1.4",
"ts-loader": "^5.2.0",
"ts-node": "~7.0.0",
"tslint": "~5.15.0",
"typescript": "~3.4.3",
"webpack-cli": "^3.1.0"
}
}

Harder to tell what's wrong with your code as I have no idea where this error comes from. Did this happened before installing the package? If not, I would recommend using my sample repo as guideline and start copying each generated file from the library.


[Discussion] UI entities under repository to make mandatory or not.

We need to ...

Validate this is still an issue with the latest code
Understand if the git repo spec.repo field is mandatory or optional
Update the git repo edit  component to cater for above (if mandatory don't allow creation until supplied)
Ensure the list doesn't fail to render if existing git repos don't have the field (make the git repo model getter falsy safe)

Originally posted by @richard-cox in https://github.com/rancher/dashboard/issues/9059#issuecomment-1580224165

IMO, @richard-cox We should make the repository field as a Mandatory. Also, the branch as well, sometime in a hurry someone could forget to change the branch as well.


fix: cache highlighters per processor

Since #27 highlighters were being created per every tree, which resulted in significant performance regression (#36). Between caching once per Node process and not caching at all there is a third option: caching per unified processor, which is exactly what we want! We will still get all the benefits of caching without running into the problems of themes not updating and multiple processors using the same cache.
The two problems I wanted to avoid with caching once per Node process were:

Multiple unified processors using the same cache.

import { unified } from 'unified'
import remarkParse form 'remark-parse'
import remarkRehype from 'remark-rehype'
import rehypePrettyCode from 'rehype-pretty-code'
import rehypeStringify from 'rehype-stringify'

function createMarkdownProcessor(theme) {
  return unified()
    .use(remarkParse)
    .use(remarkRehype)
    .use(rehypePrettyCode, { theme: 'monokai' })
    .use(rehypeStringify)
}

const processor1 = createMarkdownProcessor('monokai')
const processor2 = createMarkdownProcessor('github-dark')

The problem here are since both of these were using the same cache, so if the processor with monokai ran first, running the github-dark processor would use the monokai theme again.

Changing themes wouldn't have effect.

This is because the highlighters already got cached on Node process level, and since the process is still running the cache is there too.
This change caches the highlighters on the unified processor level, so you can create as many processors as you like, they will all get cached separately.
Fixes #36.

Updated the PR with the explanation.

Thanks!


Use a container's networks to find IP addresses

When adding a container, the container store would look for the top
level IPAddress field to find its IP. This works when the container is
using the default network, but fails when the container is using a
custom network. The container store now fetches the IPAddress field from
each network to determine the IPs associated with the container.
@tlunter: Please review.
@patagona-afriemann: Could you please validate that this works for your setup? I pushed the image to Docker Hub as  swipely/iam-docker:56f9162.

👍

Verified this locally, merging.

Hey, sorry for the late reply, was swamped with work last week.
We will check it out in the next days and I'll let you know if it works. The only issue I'd have could be a container with several networks, it might be necessary to specify the network.
Apart from that thanks a lot for the quick fix :)

@patagona-afriemann I believe this should work with arbitrary networks. This change will not work if two containers have the same IP (even across networks), but that's impossible as far as I know.


HWKAPM-625 Retrieve business transactions dynamically, based on recor…

…ded trace fragments, rather than just the list of defined configurations

@pavolloffay Could you please review?
Reviewer notes:

previously the filter sidebar only listed business transactions that had been configured in the server
this PR instead uses the list of business transactions associated with fragments recorded that match the other criteria fields
hwkapm 593 has example fragments (json) and a script to load them, which can be used for testing - just need to set the time frame to a month to see the information
from a clean start, this data has two business transactions 'add book' and 'get books' - which will appear in the filter after these test fragments are reported

This is not related to this PR: I don't like that when you select some instance of business transaction others disappear from the menu. If you want to select some other business transaction you have to click to All.

@pavolloffay Actually this can be fixed as part of this PR - the operation to request the list of business txns should really ignore the businessTransaction property in the filter criteria as it makes no sense to specify it - either that, or the UI can be updated to copy the current criteria and blank out that field? My preference is for (1).

I think it does not return correct business transactions: see provided vide:
apm-625.zip

The /search URI is not associated with either of the business txns, so only shows up when selecting 'All' business transactions.

@pavolloffay Thanks!


CHEBI:32079 (pyrrolnitrin) is not an indole alkaloid

Hi! CHEBI:32079 (pyrrolonitrin) is annotated as a CHEBI:38958 (indole alkaloid) but it does not contain the indole moiety.

Thanks for letting us know. This has now been corrected.


Why do we have to use querystring module?

Spent almost whole day trying to figure out why Axios was sending my data in the wrong format until I found this http://stackoverflow.com/questions/31756756/axios-http-client-how-to-construct-http-post-url-with-form-params. The fix is to use querystring module.
axios.post(
  '/api/v1/auth/login',
  querystring.stringify({ // <-- this is what fixed it. JSON.stringify didn't help here
    user_id: this.state.user_id,
    password: this.state.password,
    _csrf: result.data.csrfToken
  }),
  {
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    }
  })
.then((res) => {
  if (res.data && res.data) {
    console.log('here')
  }
})
.catch((err) => {
  console.log(err);
});

However, I feel that Axios should take care of this.

There are already instructions in the readme, so it should have been quite easy to find the answer:
https://github.com/mzabriskie/axios#using-applicationx-www-form-urlencoded-format
Whether or not Axios should automatically take care of this isn't a question for me to answer, but the main focus of the library is sending JSON, so it optimizes for that use case I guess.

Oh, thank you for that link. I didn't see it before.

You can use params for specifying query strings.
  // `params` are the URL parameters to be sent with the request
  // Must be a plain object or a URLSearchParams object
  params: {
    ID: 12345
  },

Why is this closed. Still an issue. Mentioned also here: #97


How dose System:  filed work I tried changing stuff but it dose not affect anything?

How dose System:  filed work I tried changing stuff but it dose not affect anything?
Correction on some models it works on some it doesn't.

I have had the same experience where the system template is not working as intended for certain models.
This is not an issue with oterm though, but rather Ollama itself. You should try asking over their chat or add an issue there.


"Apply pattern to whole document" does not modify file on iPad and iPad

Expected Behavior
"Apply pattern to whole document" should apply the pattern to the whole page.
This works for me on Mac, but on iPad it does not change the file - I am confident that the pattern is correct, as when I "select all" and then apply the same pattern, the page does get changed.
On the iPad with a keyboard, the workaround is easy, to Cmnd+A and then run the pattern on the selection.
However, on an iPhone, selecting all first is fiddly, as Obsidian does not always pop up the iPhone context menu
Current Behavior
"Apply pattern to whole document" does not apply the pattern to the whole page on iPad and iPhone, but does on Mac.
Steps to Reproduce

Set up this pattern:

    {
      "name": "TEST - DO NOT USE",
      "done": false,
      "rules": [
        {
          "from": "GitHub",
          "to": "ZZZZZZ",
          "caseInsensitive": false,
          "global": true,
          "multiline": false,
          "sticky": false,
          "disabled": false
        }
      ],
      "collapsed": false
    }

Set up a scratch document with this content:

- [GitHub - Dmitriy-Shulha/obsidian-css-snippets: Most common appearance solutions for Obsidian now in a single place. Initially collected by Klaas: https://forum.obsidian.md/t/how-to-achieve-css-code-snippets/8474](https://github.com/Dmitriy-Shulha/obsidian-css-snippets)
- [GitHub - UserName/sample-repo-name: Sample:,_()- Description](https://github.com/UserName/sample-repo-name)
- [GitHub - arnemertz/commandline-videostore-cpp: C++ port of https://github.com/rickjanda/commandline-videostore](https://github.com/arnemertz/commandline-videostore-cpp)
- [GitHub - chubin/cheat.sh: the only cheat sheet you need](https://github.com/chubin/cheat.sh)
- [GitHub - copperspice/doxypress](https://github.com/copperspice/doxypress)

On iPad, open the above document in Edit mode
Open Command Palette
Select "Apply Patterns: Apply pattern to whole document"
Choose the "TEST - DO NOT USE" PATTERN
Note that none of the GitHub words change to ZZZZZZ

Steps to confirm that pattern works - via "Select All" on iPad:

On iPad, open the above document in Edit mode
Select All
Open Command Palette
Select "Apply Patterns: Apply pattern to selection"
Choose the "TEST - DO NOT USE" PATTERN
Note that all of the GitHub words change to ZZZZZZ

Steps to confirm that pattern works - via "whole document" on Mac:

On Mac, open the above document in Edit mode (and have the above pattern set up too)
Open Command Palette
Select "Apply Patterns: Apply pattern to whole document"
Choose the "TEST - DO NOT USE" PATTERN
Note that all of the GitHub words change to ZZZZZZ

So by a process of elimination, it looks like the problem is specific to the iPad and "whole document".
Context (Environment)

Obsidian version:

iPad and iPhone: 1.0.4 (AppStore version)
Mac: 0.12.19

Apply Patterns version: 1.3.1
[x] I have tried it with all other plugins disabled and the error still occurs

Possible Solution

Sorry - no idea.

I've just updated to the new Obsidian Insider Preview, with Live Preview - and the bug occurs there too.
I think it's using CodeMirror 6, like on mobile - so I speculate that it is likely to be the cause of the error...

@claremacrae, thank you for writing this up, and for the update! I really appreciate your detailed report!
I haven't had much time in the last few weeks to debug, but just to confirm, this is on my mind!

@claremacrae, thank you for writing this up, and for the update! I really appreciate your detailed report!
I haven't had much time in the last few weeks to debug, but just to confirm, this is on my mind!

Hi @jglev Many thanks for the reply.
I'm OK for now, as I have a workaround (of selecting the whole document)... If I find myself doing this a lot, I might even create a macro that:

selects all and then
applies the pattern

@claremacrae, if you're willing and able, would you be open to seeing whether this issue still presents itself for you in the draft 1.4.0 release? I would be grateful for any additional info; thank you!

@jglev Many thanks...
I downloaded the 3 files from the 1.4.0 release and copied them over the 1.3.1 files I had previously. And I restarted Obsidian.
Unfortunately the bug is still present.
I note that the manifest file says the new version is 1.3.2 though... So is it

Screenshot showing diffs in PyCharm:

Apply the pattern to the selected text also no longer works...
This is all on Mac

Wait - I think I forgot to select the text....
When I select all and apply the selection, I am pretty sure that one time it emptied the whole document - and when I reverted the edit and repeated it, the content didn't change.

I've reverted back to the previous release for now...

Here is my settings file, renamed to allow it to be uploaded...
The pattern I am testing with is "Format GithHub Repo Link"
data-json.txt

Here is my input file:
Scratchpad Before.md

And here is my expected output file:
Scratchpad After.md
(The difference in the H1 text is because of the obsidian-filename-heading-sync plugin.)

I've reverted back to the previous release for now...

I had the problem with the content being deleted again, so restarted Obsidian, having reverted the plugin's content, to get back the old behaviour fully....

@jglev Hallo - I just wanted to make sure you've seen the comments above, as I forgot to @ you...

@claremacrae, thank you very much for all of the above! Seeing your example files were very helpful -- they helped me see and (hopefully) address several issues with the codebase, including that, as you suspected, the plugin was behaving differently for CodeMirror 5 than CodeMirror 6 with Live Preview.
At least on Desktop and Android, your test pattern on your example input text is now working for me in all three modes (Whole Document, Selection, and Whole Lines). Would you be willing to take a look again on iOS? I've updated the files on the 1.4.0 Release page just now.

Thank you very much @jglev. I should be able to test this later today.

At least on Desktop and Android, your test pattern on your example input text is now working for me in all three modes (Whole Document, Selection, and Whole Lines). Would you be willing to take a look again on iOS? I've updated the files on the 1.4.0 Release page just now.

That's actually quite scary to me that you can update files attached to a release.
The tag associated with the release has not changed, and it implies that the release is several days old.
But the contents of the release are different, you say...
It tells me that I can no longer rely on assets in a release reproducibly matching the version listed in the release itself. 😱

Could you please let know what source-code commit ID matches the version of files currently in the 1.4.0 release?

Yes, it works - I cannot fool it!
I tried with:

the legacy editor
the new editor, in live preview
the new editor, in source mode

I tried it with partial lines selected, and whole lines, and various other combinations.
It all worked well - thank you very much indeed!
Please can I request that the current 1.4.0 test release is deleted, and a new release is created so that the contents of the release will match the tag in the release?

The tag associated with the release has not changed, and it implies that the release is several days old.

Noted! In the future, I think that I'll explicitly make "beta" tags for pre-releases (e.g., 1.4.0-beta). This is my first time experimenting with pre-releases in GitHub. Thank you for the feedback!

Please can I request that the current 1.4.0 test release is deleted, and a new release is created so that the contents of the release will match the tag in the release?

I take your point, and have taken your advice -- I've created a new 1.4.0 release just now.

Thanks very much indeed for creating the new release...
Yes, having something like x.y.z-beta1, x.y.z-beta2 or similar is a great idea.
There are times when it's really useful to be able to go back and test earlier versions, so I might even hang on to the beta releases over time, unless one of them turned out to be really broken.
Disclaimer: I am not very experienced with GitHub beta/test releases....

Thanks very much indeed for creating the new release...
Yes, having something like x.y.z-beta1, x.y.z-beta2 or similar is a great idea.
There are times when it's really useful to be able to go back and test earlier versions, so I might even hang on to the beta releases over time, unless one of them turned out to be really broken.
Disclaimer: I am not very experienced with GitHub beta/test releases....


[Example Modbus Slave doesn't working]

Hi a Nam,
I tested your example code Rak3172 working as Modbus slave but it's doesn't work,
I am using your example and Modbus Poll working as master for reading data from Rak_v1
I don't know exactly where is the problem.
I tested some simple cases and wiring or hardware is not problem.

I had tested simple transmit and receive in this UART1 of Rak3172 and its work fine.
I had tested your example code with Esp32 (change the UART(Serial 1 -> Serial 2)) and it's working well,

But when I am using this code for Rak3172 and it can't run.
Any suggest for me, Did I forget anything?
Thanks.

Hi @duyle1402 ,
Because you tested the code with UART2 (UART2 <=> USB) and it works fine, the problem lies in the UART1 <=> RS485 conversion.
Check some of the following conditions:
-What Baud rate are you operating at? The circuit board uses 1nF capacitors combined with 56k resistors to take care of auto DE and RE so it is actually designed to work well at baud rates of 4800 - 115200, I think it will cover almost all speeds. popular that we often use.
-Have you enabled power for the RS485 block? Help me determine accurately using a meter. If there is no power at the RS485 terminal, try connecting 3.3V power on the I2C terminal to the RS485 terminal. Because there exists a hardware error regarding power activation on version 1.

I have update code (add description)
Plz pull again.
thank you.

Thanks a Nam for quickly reply,
Here is my code I tested with Uart1 and it's work, i had ENABLE for RS485 block.
`#define BUFFER_SIZE 64
// Rak define
#define LED PA8
#define mA_PIN PB3
#define VSS_PIN PB5
#define VRS_PIN PB12
#define PWR_ON LOW
#define PWR_OFF HIGH
void setup() {
pinMode(LED, OUTPUT);
pinMode(VRS_PIN, OUTPUT);
digitalWrite(VRS_PIN, PWR_ON);  //On power Vrs485
pinMode(VSS_PIN, OUTPUT);
digitalWrite(VSS_PIN, PWR_ON);  //On power Vsensor
// Khởi tạo cổng serial với tốc độ baud là 9600
Serial.begin(115200); // uart 2 for minitor
Serial1.begin(9600); // uart 1
}
void loop() {
// check data
if (Serial1.available() > 0) {
// create receive buffer
char receivedData[BUFFER_SIZE];
int i = 0; // Biến chỉ mục cho buffer
while (Serial1.available() > 0) {
receivedData[i] = Serial1.read();
i++;
delay(10);
}
// end of receive data by null
receivedData[i] = '\0';
// print data
Serial.print("Received: ");
Serial.println(receivedData);
}
// send data to computer
if (Serial1.available() > 0)
{
Serial1.println("data from rak through uart 1");
delay(1000);
}
}
`
Result:

Like you said, i used VOM to check voltage of Rs485 and it had power

So, how about Read/Write with Modbus poll now bro?
If it still not work, jelp me take some picture like this:

Wait me a minutes and I will update result soon,

I sill cant read data,
Here modbus's display  images

2. Images wiring

3. I had follow the orgial modbus slave lib at https://github.com/Trialcommand/Arduino-Modbus-RTU-Slave
And I see that you change _frameDelay = 5; //24000/_baud;
The others is same as this lib, I guest this is problem of Rak and RUI3 or We are missing some thing important

Cuz you recieved character correct in side RAK, and transmit from Modbus Poll success. It mean Rx of RAK work good.
So I beliver it related to DE-RE or Tx of RAK.
Can you see both led on board (led tx and rx of modbus, color blue) flicker?
A 15sec video of how the leds blink would be helpful to me.

Hi a Nam,
To facilitate communication, I can connect with you via zalo or whatapp and we will post the results after solving the problem so everyone can follow along if they encounter the same problem?

My whatsapp:
https://wa.me/84969809444

Sloved: At these moments, the newer version we can download is 4.1.0, try Update RUI3 version to the 4.1.1 (not stable version), I think Rak Team will release this version soon.
Can follow this link to download:  https://forum.rakwireless.com/t/rui3-best-practice-collection-of-rui3-example-code/11256
After update RUI3 version, this example will work.
Thanks, a Nam for helping.

Dear @sl446,
Nice to know you.
Since this topic is closed, could you help me open a new issue and add some descriptive information like the status of the modbus Tx and Rx leds working?
The correct connection diagram is A to A, B to B and the register address you want to read, along with your code.
This will make it easier to track for those who encounter similar problems in the future.
I have received your feedback via email and whatsaap, since you need to solve it quickly, I hope it can be done via anydesk to reduce your waiting time.


Delete a cache file if it's expired

There's a race condition:

A notices that a cache file is expired.
B updates the cache, overwriting the file.
A deletes the new file.

It's possible to prevent the race, but that's probably not necessary in this simple case. I'd recommend just adding a comment that there's a race condition in that method.

I agree, after all, in that case A would just recreate the new file after that. Obviously we don;t want C to come along in the microsecond that takes, but chances are small.
Added the comment as per your suggestion.


Investigate Storage small blob download perf

Compare throughput for 10K blob downloads between Track 1 and Track 2 and investigate any meaningful deltas.  Reach out to @mikeharder or @tg-msft if you want info on the perf analysis tools we've been using thus far.

Hi @tg-msft, we deeply appreciate your input into this project. Regrettably, this issue has remained inactive for over 2 years, leading us to the decision to close it. We've implemented this policy to maintain the relevance of our issue queue and facilitate easier navigation for new contributors. If you still believe this topic requires attention, please feel free to create a new issue, referencing this one. Thank you for your understanding and ongoing support.


xrdp compiling on Solaris, two changes required

xrdp version
0.9.80
Detailed xrdp version, build options
xrdp 0.9.80
  A Remote Desktop Protocol Server.
  Copyright (C) 2004-2020 Jay Sorg, Neutrino Labs, and all contributors.
  See https://github.com/neutrinolabs/xrdp for more information.

  Configure options:

  Compiled with OpenSSL 1.0.2zh  30 May 2023

Operating system & version
Solaris 11.4.62
Installation method
git clone & make install
Which backend do you use?
tbd
What desktop environment do you use?
gnove
Environment xrdp running on
Solaris zones
What's your client?
tbd
Area(s) with issue?
Crashes such as segfault, Compile error
Steps to reproduce
The first issue is the requirements for <limits.h> in os_calls.c in order to compile.
In the same file, the second issue is the method used to clear the environment is "harsh" (environ=0) and cause a core on Solaris, it is better to use clearenv which would work everywhere.
diff --git a/common/os_calls.c b/common/os_calls.c
index 765ad472..624e0621 100644
--- a/common/os_calls.c
+++ b/common/os_calls.c
@@ -35,6 +35,7 @@
 /* fix for solaris 10 with gcc 3.3.2 problem */
 #if defined(sun) || defined(__sun)
 #define ctid_t id_t
+#include <limits.h>
 #endif
 #include <unistd.h>
 #include <errno.h>
@@ -3450,10 +3451,14 @@ g_clearenv(void)
 #else
 #if defined(BSD)
     environ[0] = 0;
+#else
+#if defined(sun) || defined(__sun)
+    clearenv();
 #else
     environ = 0;
 #endif
 #endif
+#endif
 }

 /*****************************************************************************/

✔ Expected Behavior
attempt to start the Xorg server
❌ Actual Behavior
core because of "environ=0" in g_clearenv()
[2024-01-09T09:27:46.976+0100] [ERROR] waitforx failed with unexpected signal SIGSEGV
Anything else?
No response

Thanks @abrossard
We had some Solaris stuff going in #2811, but that's gone quiet. I'll chase it up.
I remember coming across this myself as a Solaris system admin many years ago, and coming up with a hacky workaround. Your fix looks better.
Can you tell me what compiler you're using and what the error is when limits.h is not included? I'll put together a PR for you to try for us.

Found the limits.h thing.
On Linux, including <sys/param.h> is pulling in limits.h which is needed for USHRT_MAX. I think this warrants a separate include regardless.

@abrossard - can you test out the patch from #2909 and let us know if that fixes your immediate concerns? If it's good, I'll merge it.
Patch is available directly as text here:-
https://github.com/neutrinolabs/xrdp/commit/06af6123e048aa8cf0433123e77774d0d894590a.patch


feat: Add newsboat to scoop

I would like to use newsboat on a Windows machine. Is it possible to add it to the scoop installer?

Newsboat is not even buildable under Windows (#151), and doesn't properly run under WSL (#756), so it's too early to even think about Scoop, sorry. Patches are welcome though!


Bump timeout from 1 to 2 seconds

Mitigation for #17

Why not make it 5 or 10 seconds? 2 seconds is still longer than we want it to take, but it doesn't really give any head room over the existing 1 second timeout.

True, a 100% increase just felt like a lot.

Agree with Nick, the timeout should only be triggered in an error scenario so for the 99.9% of requests that already happen in <1sec there's no difference but the few that fail now would be better to be slow than not at all, we can then continue to monitor this and see if we still see errors at 10sec because something is actually failing rather than slow or we can look to bring it back down to 2-3s later

OK, will make 10 seconds.


Fix MergeExpressionsOptimizer so that it fully optimized programs

Currently the MergeExpressionsOptimizer needs multiple iterations to fully optimize a program. We should update the tranformation step to run this until it converges or make necessary some logic changes to fully optimize on the first iteration

FYI @guipublic on this along with parent issue.


Helper class to source any file-like object

I have a use case where I'm picking up CSV over SFTP (using a library called pysftp) and running it through a pipeline. Initially I thought it would look something like this:
import petl as etl
import pysftp

with pysftp.Connection(hostname, username=username, password=password) as conn:
    with conn.open('path/to/file.csv') as f:
            # f is a file-like object
            (etl.fromcsv(f)
                ...
            )

But that raised an error since f doesn't implement open() and therefore can't be opened. So I ended up writing a wrapper like:
class SftpSource(object):
    def __init__(self, conn, path):
        self.conn = conn
        self.path = path

    @contextmanager
    def open(self, mode='r'):
        if not mode.startswith('r'):
            raise ArgumentError('source is read-only')
        f = self.conn.open(self.path)
        try:
            yield f
        finally:
            f.close()

Which wasn't much trouble at all, but I was trying to think of how you could generalize that (and wrap it into petl) to handle basically any file-like object. Something like:
class FloSource(object):
    def __init__(self, open_, *args, **kwargs):
        self.open_ = open_
        self.args = args
        self.kwargs = kwargs

    @contextmanager
    def open(self, mode='r'):
        f = self.open_(*args, **kwargs)
        try:
            yield f
        finally:
            f.close()

And used like:
conn = pysftp.Connection(...)
source = etl.FloSource(conn.open, '/path/to/data.csv')
(etl.fromcsv(source)
     ...
)

Just a thought, in case this might be helpful to others. Would be happy to work on a PR.

Actually, this looks a lot like the existing FileSource class. I suppose you could also give FileSource a kwarg for an open function. This worked for my purposes:
class FileSource(object):
    def __init__(self, path, opener=None, **kwargs):
        self.path = path
        self.opener = opener
        self.kwargs = kwargs

    def open(self, mode='r'):
        if self.opener:
            return self.opener(self.path, **self.kwargs)
        return io.open(self.filename, mode, **self.kwargs)

Thanks Robert. I'd be happy to include some generalisation to support this.
Would just need to make sure it works properly with the context manager
protocol to ensure whatever is opened is closed finally. Using the pattern
below I think this means that whatever is returned by opener would need to
support the context manager protocol. Is this a reasonable expectation do
you think?
On Wednesday, January 25, 2017, Robert Martin<EMAIL_ADDRESS>wrote:

Actually, this looks a lot like the existing FileSource class. I suppose
you could also give FileSource a kwarg for an open function. This worked
for my purposes:
class FileSource(object):
def init(self, path, opener=None, **kwargs):
self.path = path
self.opener = opener
self.kwargs = kwargs
def open(self, mode='r'):
    if self.opener:
        return self.opener(self.path, **self.kwargs)
    return io.open(self.filename, mode, **self.kwargs)

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/alimanfoo/petl/issues/409#issuecomment-275254308, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAq8QmiCYCRI_E-pQQhvTEEG7XvBCvgLks5rV82vgaJpZM4LuEb-
.

--
Alistair Miles
Head of Epidemiological Informatics
Centre for Genomics and Global Health http://cggh.org
The Wellcome Trust Centre for Human Genetics
Roosevelt Drive
Oxford
OX3 7BN
United Kingdom
Email<EMAIL_ADDRESS>Web: http://purl.org/net/aliman
Twitter: https://twitter.com/alimanfoo
Tel: +44 (0)1865 287721

I would say so - from memory it seems like most I/O libraries out there are context-aware. I suppose the other consideration is how many accept some kind of file path as their first positional arg. Not totally unreasonable IMO, but I'll look around at some other APIs to make sure that's the norm.

Thanks.
We could always change FileSource to accept *args, **kwargs, then try to
pop 'opener' out of kwargs with default io.open. Then just pass through
*args and remaining **kwargs when calling opener? Or trying to be too
clever?
On Wednesday, January 25, 2017, Robert Martin<EMAIL_ADDRESS>wrote:

I would say so - from memory it seems like most I/O libraries out there
are context-aware. I suppose the other consideration is how many accept
some kind of file path as their first positional arg. Not totally
unreasonable IMO, but I'll look around at some other APIs to make sure
that's the norm.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/alimanfoo/petl/issues/409#issuecomment-275258538, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAq8QuFdVuPnw4Ie2ZEOwHjHaTrrj6KWks5rV9JDgaJpZM4LuEb-
.

--
Alistair Miles
Head of Epidemiological Informatics
Centre for Genomics and Global Health http://cggh.org
The Wellcome Trust Centre for Human Genetics
Roosevelt Drive
Oxford
OX3 7BN
United Kingdom
Email<EMAIL_ADDRESS>Web: http://purl.org/net/aliman
Twitter: https://twitter.com/alimanfoo
Tel: +44 (0)1865 287721

I think that could work. One other option - you could allow the first arg to FileSource to be either a string or callable, similar to fromdb/todb.
class FileSource(object):
    def __init__(self, path_or_opener, **kwargs):
        self.path_or_opener = path_or_opener
        self.kwargs = kwargs

    def open(self, mode='r'):
        if callable(self.path_or_opener):
            opener = self.path_or_opener()
            if not hasattr(opener, '__exit__'):
                raise ArgumentError('File opener must be a context manager')
            return opener

        return io.open(self.path_or_opener, mode, **self.kwargs)

#######

conn = pysftp.Connection(...)
source = etl.FileSource(lambda: conn.open('path/to/data.csv'))
(etl.fromcsv(source)
     ...
)

I submitted a PR  based on that last idea, but feel free to edit/let me know if that's too off base.
Thanks!

Thanks Robert, appreciated. I'm a bit snowed under at the moment but will
review asap.
On Thursday, January 26, 2017, Robert Martin<EMAIL_ADDRESS>wrote:

I submitted a PR https://github.com/alimanfoo/petl/pull/410 based on
that last idea, but feel free to edit/let me know if that's too off base.
Thanks!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/alimanfoo/petl/issues/409#issuecomment-275452167, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAq8QspbFUOQoJOPgvqm5czeNFmvVAwGks5rWNc9gaJpZM4LuEb-
.

--
Alistair Miles
Head of Epidemiological Informatics
Centre for Genomics and Global Health http://cggh.org
The Wellcome Trust Centre for Human Genetics
Roosevelt Drive
Oxford
OX3 7BN
United Kingdom
Email<EMAIL_ADDRESS>Web: http://purl.org/net/aliman
Twitter: https://twitter.com/alimanfoo
Tel: +44 (0)1865 287721

@alimanfoo no problem, I've been shimming that code in as needed so I'm set for now :) Thanks.

@rbrtmrtn ,
With release v1.5.0 there is new function for registering custom sources that fill this role.
Also with release v1.6.0 there is support for reading for remote sources by using the package fsspec, including SFTP servers.
For this working is required:

Install petl: pip install petl
Install fsspec: pip install fsspec
Install paramiko: pip install paramiko
Use a full url pointing to the file in the remote server in from...() and to...() functions.

E.g:
import petl as etl

myurl =<EMAIL_ADDRESS>table2 = etl.fromcsv(myurl)
# ...

Do you think this closes this issue?
Although #410 could be useful for other custom cases.


Support for serializing large datasets

I was trying to use FsPickler to pull a largish (~27 million records) to disk and found that about 30 minutes in it failed with:
Nessos.FsPicker.FsPicklerException: Error serializing instance of type System.String[] --->  System.Runtime.Serialization.SerializationException: The internal array cannot expand to greater than Int32.MaxValue elements.
This occurs in a call to ObjectIDGenerator.Rehash() from ObjectIDGenerator.GetID(Object obj, Boolean& firstTime) which is called in FsPickler in CompositePickler`1.Write(WriteState state, String tag, T value) in CompositePickler.fs on line 189
It turns out this is a common problem in .NET, due to the internal use of ObjectIDGenerator to look for cycles. However, as this is a straight pull of a SQL database I can guarantee there's no cycles in this case.
On a side note, the behavior of ObjectIDGenerator is poor in the failure case. It does not release the memory from its table thus leaving a big chunk of ram in use.

Hi Rick,
I had a look at this issue a while back but gave up on it soon because of the difficulty of the undertaking. At the moment caching is too ingrained in the library logic to remove without substantial refactoring. I'll come back at this as soon as I find me the time to do it.
In the meantime, here are some alternative courses of action:

If your object graph is a large array/sequence, you can chunk up your data in smaller subsequences and serialize them separately. This will ensure that a fresh ObjectIdGenerator will be used every time. You won't even need to use separate streams:

let fsp = FsPickler.CreateBinary()
let chunkSize = 100000

let serialize (inputs : seq<'T>) (target : Stream) =
    let count = ref 0
    for window in Seq.windowed chunkSize inputs do
        incr count
        fsp.Serialize(targer, window, leaveOpen = true)
   !count

let deserialize count (source : Stream) = seq {
    for i in 1 .. count do
        yield! fsp.Deserialize<'T[]>(stream, leaveOpen = true)
}

Use a custom implementation of ObjectIdGenerator that avoids the issues or contribute a fix to ObjectIdGenerator proper.

Thoughts?

Btw, have you tried using the .SerializeSequence methods? I would be interested to see how they behave in your case.

SerializeSequence gives exactly the same error.

I added a few adjustments as of yesterday (nuget version >= 1.0.9). Is this
behaviour occuring there?
On Thursday, February 5, 2015, Rick Minerich<EMAIL_ADDRESS>wrote:

SerializeSequence gives exactly the same error.
—
Reply to this email directly or view it on GitHub
https://github.com/nessos/FsPickler/issues/38#issuecomment-73116797.

--
Sent from Gmail Mobile

w.r.t. SerializeSequence
On Thursday, February 5, 2015, Rick Minerich<EMAIL_ADDRESS>wrote:

SerializeSequence gives exactly the same error.
—
Reply to this email directly or view it on GitHub
https://github.com/nessos/FsPickler/issues/38#issuecomment-73116797.

--
Sent from Gmail Mobile

I'm trying the chunked version now, but it seems to have stopped writing (or gotten extremely slow) after it wrote about 900MB (the same place where the non-chunked give exceptions).
It's going to take some time before I can move a new build into our locked down environment to test. Maybe a tool to just autogen some random data would be worth it here.

I'm convinced that the chunked version is somehow just spinning it's wheels now. It's been using a full core for 10 minutes and still hasn't written anything more out. The other possibility is that it's doing a lot of catching exceptions inside somewhere.

Good point, there should probably be a test of this, writing large
sequences to '/dev/null' or something.
By the way, what is the element type of your data set? String? F# ADT? class?
struct?
On Thursday, February 5, 2015, Rick Minerich<EMAIL_ADDRESS>wrote:

I'm trying the chunked version now, but it seems to have stopped writing
(or gotten extremely slow) after it wrote about 900MB (the same place where
the non-chunked give exceptions).
It's going to take some time before I can move a new build into our locked
down environment to test. Maybe a tool to just autogen some random data
would be worth it here.
—
Reply to this email directly or view it on GitHub
https://github.com/nessos/FsPickler/issues/38#issuecomment-73118240.

--
Sent from Gmail Mobile

It's a 2-3 level deep record tree with some structs, char arrays and strings in it.

You could probably reproduce this with just a one member class with random strings though. It seems to be all about the number of objects.

Oh, and I didn't mention before and it probably doesn't matter because the issue is in the generic code, but I've been trying to use the binary serializer.

It looks like the chunked method is working (it just spit out another 900MB), but it seems like it's taking increasingly more time per record as it goes on.

Ok, so here's what I tried out:
type Tree<'T> = Leaf | Branch of 'T * Tree<'T> * Tree<'T>

let rec mkTree (f : int -> 'T) n =
    if n = 0 then Leaf
    else Branch(f n, (mkTree f (n - 1)) , (mkTree f (n - 1)))

let large N = seq { for i in 1 .. N -> mkTree (fun i -> "textfield" + string i) 3 }

open System.IO
let fsp = FsPickler.CreateBinary()

// test 1 : quickly ate up all my memory
let eagerSeqPickler = Pickler.seq Pickler.auto<Tree<string>>
fsp.Serialize(eagerSeqPickler, Stream.Null, large 30000000)

// test 2 : time scales proportionally to input size, memory usage remains constant.
// Real: 00:08:22.967, CPU: 00:08:55.718, GC gen0: 5620, gen1: 2384, gen2: 792
fsp.SerializeSequence(Stream.Null, large 30000000)

The tests were run on my machine (Windows  8 VM running on a core i5 laptop with 4GB).
I think the problem here is clearly with ObjectIdGenerator.Rehash(), which becomes ridiculously expensive as the number of objects increases. Have a look at its implementation:
http://referencesource.microsoft.com/#mscorlib/system/runtime/serialization/objectidgenerator.cs,145
This would explain I think both the devouring of memory and the intermittent stalls in IO.

Ahh, it all makes sense now. Certainly it would be ideal to have something improved, but I understand that can be a lot of work. I'd be pretty happy with just a way to bypass it.

SerializeSequence should be a safe bet. I actually just pushed a package update (1.0.11) that fine tunes performance with respect to ObjectIdGenerator after the benchmarks I just ran.

Awesome! I'll submit it for scanning and hopefully I'll have it in our
environment in a week or so.
Richard Minerich
Microsoft MVP (F#)
@Rickasaurus
<EMAIL_ADDRESS>phone:<PHONE_NUMBER>
On Thu, Feb 5, 2015 at 7:44 PM, Eirik Tsarpalis<EMAIL_ADDRESS>wrote:

SerializeSequence should be a safe bet. I actually just pushed a package
update (1.0.11) that fine tunes performance with respect to
ObjectIdGenerator after the benchmarks I just ran.
—
Reply to this email directly or view it on GitHub
https://github.com/nessos/FsPickler/issues/38#issuecomment-73160971.


after editing xml file and added in perticular file but its not updating in retraining the model

Dear Sir,
How to make update after changes. We are not getting any changes in retraining model
Help Needed

#384


K3OS kube-proxy fails after Upgrade from v0.19.5-rc.1 / v0.19.8-k3s1r0 to v0.20.4-k3s1r0

Version (k3OS / kernel)
k3os version v0.20.4-k3s1r0
5.4.0-70-generic #78 SMP Fri Mar 26 17:09:23 UTC 2021
Architecture
x86_64
Describe the bug
kube-proxy not reachable due to a broken ip tables rule regarding /var/log/k3s-service.log

Log line: F0428 11:24:28.651945    9365 network_policy_controller.go:261] Failed to verify rule exists in KUBE-ROUTER-INPUT chain due to running [/sbin/iptables -t filter -C KUBE-ROUTER-INPUT -p tcp -m comment --comment allow LOCAL TCP traffic to node ports - NTGHJFAJAOEPWU6M -m addrtype --dst-type LOCAL -m multiport --dports  -j RETURN --wait]: exit status 2: iptables v1.8.4 (legacy): invalid port/service ' specified Try iptables -h' or 'iptables --help' for more information.

The same error occurs if I upgrade from v0.19.5 to v0.20.4
To Reproduce
Upgrade one K3OS Node to v0.20.4-k3s1r0
Expected behavior
IPTables rules work with the previous k3os versions and should also work with a newer version as this is managed by k3s.
Actual behavior
IPTables rules are broken, cluster tries to start kube-proxy several times (as seen in the kubernetes events)
Node unusable until downgrade to previous version
Additional context
Multi Master HA Cluster with 3x master und 3x worker nodes, virtualized on VMware
k3s-service.log

Thanks for the info @brandond!  I ran into the exact same error, and after forcing the master to upgrade, everything came back online!
The root cause of my issue was that I had set my entire cluster to auto-upgrade via the system-upgrade-controller - both masters and agents.  Since there is a single plan, and an agent was the first attempted upgrade, the whole process stopped when that node failed to come back online.  Still thinking of potential solutions, but maybe easier to just mention in the Readme for upgrades from 1.19 to 1.20 (since this seems related to the implementation of network-policy in 1.20, if I'm following the issues correctly in my head)

Prior upgrades may have been more forgiving about this in the past, but it is a standard part of the Kubernetes version skew policy that servers always need to be upgraded before agents. If you're using the upgrade controller, you should definitely use separate plans for servers and agents, and upgrade the servers first.
https://kubernetes.io/docs/setup/release/version-skew-policy/

Thanks for the info!  Based on this, I wonder if the default k3os-latest plan for the system-upgrade-controller bundled with K3OS should be adjusted, as the way it's configured now it won't pay attention to if controllers are upgraded first.  The k3os.io/upgrade label could be adjusted to manually control the upgrade process, but kind of defaults the point of an automatic upgrade controller.  At a minimum this should probably be mentioned in the Upgrade and Maintenance section of the readme.

@dweomer the ask above regarding the default plan seems reasonable, is this something that could be accommodated without too much work?

You are totally right, after manually upgrading server and afterwards the workers, it is working fine. I suggest at least the documentation for using an upgrade plan dedicated for servers / agents could be updated to reflect this more clearly.

@dweomer the ask above regarding the default plan seems reasonable, is this something that could be accommodated without too much work?

i never got around to it but the k3os-latest plan needs to be deprecated in favor of 2 plans, one for servers and one for all other agents. the thing about the k3os-latest plan, though, is that it was meant to be an example but it's basically the defacto upgrade descriptor.


SIGSEGV on q.isEmpty

Hi,
i see SIGSEGV on calls to queue.isEmpty. The queue is initialized using newLoonyQueue. It has not received any items yet. I tried if- and while - makes no difference. I tried std/atomics and threading/atomics. It feels a bit like a timing/init-problem. Though i never managed to make it work reliably. Goes like this - the whole app runs thru and finishes. Then on the next run it breaks early. On the following start i might run and finish or break in-between.
I use the main-thread to fill the queue and one separate thread to read and process the items from the queue ? A queue-items contains a seq[int], int, string, so nothing special here.
Im on Nim 1.6.6 / macOS
this is my thread-proc ::
proc warden[K, V]( map: Map[K, V] ) {.thread, nimcall.} =

  echo "maintanance:: started"

  while true:

    while map.workQ.isEmpty:
      sleep 500
      continue

    var elem = map.workQ.pop
    #if elem.isNil: break
    echo &"ward :: ", elem.task, " :: ", elem.parent, " - ",elem.slot

    if elem.slot == -1:
      echo "\nmaintanance:: shuts down..\n"
      return

Traceback for :
nim r -d:b32 --gc:arc --threads:on -d:useMalloc -d:debug -d:nimOldCaseObjects Mapi.nim
/Users/asc/sw/nim/ctrie/champ/Mapi.nim(30) warden
/Users/asc/.nimble/pkgs/loony-0.1.12/loony.nim(68) isEmpty
/Users/asc/.choosenim/toolchains/nim-1.6.6/lib/pure/concurrency/atomics.nim(336) load
SIGSEGV: Illegal storage access. (Attempt to read from nil?)
Error: execution of an external program failed: '/Users/asc/.cache/nim/Mapi_d/Mapi_558E24AF8FBA3F576C55E835091AA4F6A61AFFB3 '

If you can provide a complete example, I don't mind taking a look.  Have you tried running it in a debugger to see what's happening?  I don't have mainline nim 1.6.6; do you have 1.6.5, by any chance?


Sync from telepresence.io [v2.2]

v2.0-v2.2 doesn't have upgrade-tabs.js so that's why this diff looks different from the others.


Host a toolchains repository

Toolchains are like Providers:

The toolchain_type definition must be canonical. Everyone must agree on the symbol to use, e.g. @someones_repo//toolchains:grep_toolchain
A concrete toolchain might be defined in one or more rulesets, or end-user monorepos might declare their own (e.g. build from source with specific flags or target platform)
A toolchain might be consumed in one or more rulesets, which shouldn't have to define it themselves. Many rulesets would like to be able to rely on a hermetic grep executable for example. They could leave it for users to choose one of the concrete toolchain implementations.

Currently the world is broken because rulesets that define a concrete toolchain (e.g. the tar_toolchain in aspect bazel-lib) ALSO define a toolchain_type symbol.
On Slack, @rickvanprim proposed that a new toolchains repo could be created. I think it's a good idea. Note that it must be suitable to be a common dependency of many rulesets, like https://registry.bazel.build/modules/bazel_features

I think there are 3 pieces that would need to be part of a centralized repo, the toolchain_type, any provider definitions that get used in the ToolchainInfo, and the rule that constructs that ToolchainInfo.

In general, I agree this is the right direction. However, we also need to think about how to migrate existing definitions to this central repo in a less intrusive way for users. For example, when we moved most of java toolchains from bazel_tools to rules_java, we had to leave the java toolchain in bazel_tools to be backwards compatible.
/cc @comius probably has more thoughts on this.


UI/UX: Add advanced form validation

It'd be nice if fields were more controlled. For example, right now you can add a<PHONE_NUMBER>5 number as a zip code. Fields like these we should control.
EDIT
After Reviewing our codebase and talking with @JarethRader, I've decided we need to refactor some code before this can be done. Things are a bit of a mess right now. I'll link to a pic on how our forms should be structured:
Checkout this diagram

This should be easy to do with some regex. I can get on it.

@JarethRader awesome. Like I said in the slack, pages/opportunities uses /utils/endpoints to generate the forms. /utils/endpoints is where you should put the test functions, which should integrate with the /objects input components.
If you want more detail, let me know!

@JarethRader I think at this point, I'm going to avoid refactoring code. In the future, I should take time to do better planning to make the code more DRY, readable, and testable. I'm excited for my next project, where I can better practice these ideas. Not sure what it will be though!
Anyway, regarding advanced form validation, I think the best thing to do is for you to go ahead and give it your best shot if you like. Make it work for 1 component, then have steven or I review it. If it looks good, we'll roll with it.

This will be added in #177. Closing now.


Fix goreleaser condition

goreleaser should not run for PRs, as we are not guaranteed that the secure environment variables will be present.

Coverage remained the same at 74.254% when pulling cb84748d2376c8815298432e9f6612b692de1d29 on fix-goreleaser-condition into d088c995aa71c0a48a474b988a9e8f05e6d3d0d9 on master.

Coverage remained the same at 74.254% when pulling efd882a28c30d2e8a858ac99446936389f3ff934 on fix-goreleaser-condition into d088c995aa71c0a48a474b988a9e8f05e6d3d0d9 on master.


Wallnut Example Image

Walnut example image is not showing in README (404 not found).
Currently the README.md points to https://hazelengine.com/images/ForestLauncherScreenshot.jpg
But that image is no longer available
perhaps a suitable replacement is https://hazelengine.com/images/Hazel-2023.2-Screenshot_huda087e3f95812a96d2373c8ea820d639_197486_753x548_resize_q90_h2_box.webp

Opened a pull request with a suggested fix.

https://github.com/StudioCherno/Walnut/pull/70


Custom Field - Master Settings - change sort order to Group

Problem-
User wants to see Custom Field Master Settings with Grouping, so same custom Fields could be edited quickly
Solution
Grouping is not possible along with paging,
so just sorting with group names is passed
Initiated by @vinpahilwani
Verified by @mitulpanch

This is for All pages,
Company Custom Field , Settings
Contact Custom Field , Settings
Project Custom Field , Settings
Sort Order => groupname
Previous Sort order was SO from custom Field

This is not same as Sorting inside
company => fill values of Custom Field sort
Sort inside value is like-
Get All Custom Field with SO
then Group them with SO as first priority
1st group will be having top Custom Field SO, then that group will show all custom field with same group regardless of SO of Custom Field
This kind of logic is not possible in Master Setting as that have Paging structure
So finally agreed to jjust sort according to group, not like values so
I have explained this to @vinpahilwani over phone

I consider this as granted permission over phone, so forwarding this to development


Fix prometheus setup to use normal prometheus status

https://github.com/openzipkin/docker-zipkin/blob/master/prometheus/prometheus.yml
uses the encoded spring metrics like: counter_status_200_api_v1_services 7.0
as opposed to normal prometheus like:
http_request_duration_seconds_count{path="/api/v1/spans",method="POST",} 3.0
I think we need to make sure that the status is included in our server configuration.

zipkin 2.8 already has the status inside
http_request_duration_seconds_count{method="POST",path="/api/v1/spans",status="200",} 4.0
will need to port to zipkin 2.7.x

looks easiest to drop the relabel for the old stuff and use http_request_duration_seconds_count directly. tests ok locally. once versions are bumped I'll update the grafana config

https://grafana.com/dashboards/1598/revisions


MouseMotion not working in browser as intended

Bevy version
main branch as of: https://github.com/bevyengine/bevy/issues/11231
Desktop / chrome / Wasm
What you did
Have a minimum viable system:
pub fn mouse_system(
    mut mouse_motion_events: EventReader<MouseMotion>,
    mouse: Res<ButtonInput<MouseButton>>,
) {
    for event in mouse_motion_events.read() {
        info!("1-{:#?}", event);
        if mouse.pressed(MouseButton::Middle) || mouse.pressed(MouseButton::Left) {
            info!("2-{:#?}", mouse);
        }
    }
}

This system doesn't register mouse motion until the screen has been "messed" with. Such that the screen is resized or you switch in and out of the screen after the bevy app loads.
You can see my whole code base here:
https://github.com/miketwenty1/bevy_broken
What went wrong
Here is a demo showing that I click in the button in the canvas and it still doesn't register mouse motion events.
the info!()'s only appear in the console after I resize the screen. After that I can click in the screen and then it registers the mouse motion events.
https://github.com/bevyengine/bevy/assets/7761473/cdb1f6a4-6630-4a67-b161-a77e58313d38

I suspect this is related to #11052: smells like a winit / winit integration bug.

This looks like a bug in Winit.
Apparently Winit doesn't detect the canvas to be focused, which is why it doesn't send any device events.
Strangely enough I can only reproduce this in Bevy, Winit examples work fine.
But AFAICT Bevy doesn't mess with the canvas at all, so I will have to continue digging.

Should be fixed in https://github.com/rust-windowing/winit/pull/3369 and will be backported to v0.29.10.

@daxpedda how do I take advantage of this for my bevy app?

You have to wait until v0.29.10 gets released or port https://github.com/rust-windowing/winit/pull/3369 yourself.
The intention is to get the next patch released soon.

Going to close as fixed (since it appears to be on main). If it still doesn't work there, or after the next release, please reopen this!

@alice-i-cecile I'm pointed to main and still have the same issue after using this commit https://github.com/bevyengine/bevy/commit/64a15f1b10ff5a4c0cb2ada1905baeb7125d16e4
I still need to switch tabs or change change screen size in order to capture the mouse motion events for desktop/wasm.

it's waiting on a patch release of winit that didn't happen yet

@mockersf is it this one?
https://github.com/rust-windowing/winit/commit/d39528aa69e4ab85df0b06ef8cb36731e626f48a
If not could you link the PR?

You have to wait until v0.29.10 gets released or port https://github.com/rust-windowing/winit/pull/3369 yourself.
The intention is to get the next patch released soon.

This one

@mockersf you rock.
Note if I point to main for winit it will break bevy_winit right now.. but doing the specific commit mockersf referenced seems to solve this issue. if anyone else wants a temporary work around, I believe it's safe to add this to your cargo toml. Only tested against bevy main though, not 0.12.1.
[patch.crates-io]
winit = { git = "https://github.com/rust-windowing/winit.git", rev = "798c205cef1aa0c92eb43bef537583ce5b1ad1fb" }

To let you know of breaking changes on main right now, as I believe they'll need to be fixed for next winit patch, hope this helps:
error[E0107]: struct takes 0 generic arguments but 1 generic argument was supplied
   --> /..../.cargo/git/checkouts/bevy-f7ffde730c324c74/5c6b7d5/crates/bevy_winit/src/lib.rs:783:18
    |
783 |     event_loop: &EventLoopWindowTarget<()>,
    |                  ^^^^^^^^^^^^^^^^^^^^^---- help: remove these generics
    |                  |
    |                  expected 0 generic arguments
    |
note: struct defined here, with 0 generic parameters
   --> /..../.cargo/git/checkouts/winit-c2fdb27092aba5a7/14b418a/src/event_loop.rs:51:12
    |
51  | pub struct EventLoopWindowTarget {
    |            ^^^^^^^^^^^^^^^^^^^^^

error[E0107]: struct takes 0 generic arguments but 1 generic argument was supplied
  --> /..../.cargo/git/checkouts/bevy-f7ffde730c324c74/5c6b7d5/crates/bevy_winit/src/system.rs:38:18
   |
38 |     event_loop: &EventLoopWindowTarget<()>,
   |                  ^^^^^^^^^^^^^^^^^^^^^---- help: remove these generics
   |                  |
   |                  expected 0 generic arguments
   |
note: struct defined here, with 0 generic parameters
  --> /..../.cargo/git/checkouts/winit-c2fdb27092aba5a7/14b418a/src/event_loop.rs:51:12
   |
51 | pub struct EventLoopWindowTarget {
   |            ^^^^^^^^^^^^^^^^^^^^^

error[E0107]: struct takes 0 generic arguments but 1 generic argument was supplied
  --> /..../.cargo/git/checkouts/bevy-f7ffde730c324c74/5c6b7d5/crates/bevy_winit/src/winit_windows.rs:43:41
   |
43 |         event_loop: &winit::event_loop::EventLoopWindowTarget<()>,
   |                                         ^^^^^^^^^^^^^^^^^^^^^---- help: remove these generics
   |                                         |
   |                                         expected 0 generic arguments
   |

Winit v0.29.10 is out now.
Let me know if something is amiss!

works without patching in winit verison now.