Option for No Exceptions for Small Embedded Systems

I am using your library, and have a forked version here:
https://github.com/bakerstu/tiny-utf8
I use g++ and my project does not enable C++ exception handling.  I would not like to add exception handling because it increases the code size to be larger than I would like.  Therefore, I have "hacked" a fix into a branch noexcept that replaces the throw statements with assertions compatible with our project platform.
I acknowledge that this is not a portable fix, as is, and should not be accepted back as a pull request.  Therefore, I would like to propose an alternative solution that could possibly be accepted.
I want to replace your throw statements with an inline function call.  The inline function call should be ifndef guarded so that by default it throws the exception:
#if !defined(TINYUTF8_NOEXCEPT)
inline void tinyutf8_error(const char *what_arg)
{
    throw std::out_of_range(what_arg);
}
#endif

If the user defines TINYUTF8_NOEXCEPT, then it is on them to provide an implementation of tinyutf8_error() that works for their purposes and platform.  This is an acceptable solution for my use case.
I'd like to get your thoughts on this, and if favorable, work on a pull request.

Hi Stuart,
I like your approach! After a bit of googling it seems that GCC will not define the macros __EXCEPTIONS as well as __cpp_exceptions when exceptions are disabled.
So my initial implementation out of the blue would be:

determine the value of TINYUTF8_NOEXCEPT dynamically (with the above macros provided by gcc), if it has not yet been defined.
Otherwise throw exceptions in tinyutf8.h , if TINYUTF8_NOEXCEPT has not been defined or has been defined to 0.

What do you think? I look forward to hearing from you!
Cheers,
Jakob


GeluCUDAKernelImpl" not implemented for 'Half'

im working through the example project in the readme and running into this error:
RuntimeError: Caught RuntimeError in replica 0 on device 0.
Original Traceback (most recent call last):
File "/home/ec2-user/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/torch/nn/parallel/parallel_apply.py", line 60, in _worker
output = module(*input, **kwargs)
File "/home/ec2-user/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/torch/nn/modules/module.py", line 541, in call
result = self.forward(*input, **kwargs)
File "/home/ec2-user/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/transformers/modeling_bert.py", line 1176, in forward
inputs_embeds=inputs_embeds,
File "/home/ec2-user/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/torch/nn/modules/module.py", line 541, in call
result = self.forward(*input, **kwargs)
File "/home/ec2-user/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/transformers/modeling_bert.py", line 790, in forward
encoder_attention_mask=encoder_extended_attention_mask,
File "/home/ec2-user/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/torch/nn/modules/module.py", line 541, in call
result = self.forward(*input, **kwargs)
File "/home/ec2-user/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/transformers/modeling_bert.py", line 407, in forward
hidden_states, attention_mask, head_mask[i], encoder_hidden_states, encoder_attention_mask
File "/home/ec2-user/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/torch/nn/modules/module.py", line 541, in call
result = self.forward(*input, **kwargs)
File "/home/ec2-user/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/transformers/modeling_bert.py", line 379, in forward
intermediate_output = self.intermediate(attention_output)
File "/home/ec2-user/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/torch/nn/modules/module.py", line 541, in call
result = self.forward(*input, **kwargs)
File "/home/ec2-user/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/transformers/modeling_bert.py", line 332, in forward
hidden_states = self.intermediate_act_fn(hidden_states)
File "/home/ec2-user/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/torch/nn/functional.py", line 1126, in gelu
return torch._C._nn.gelu(input)
RuntimeError: "GeluCUDAKernelImpl" not implemented for 'Half'
I saw this issue in Apex
https://github.com/NVIDIA/apex/issues/555
however, it looks like glu is already included..

try install pytorch nightly (1.5.0+) it works for me

Thanks @yuchenlin , that did the trick!


Linux and macos distribtests are broken

Internal issue:
b/160166189
https://source.cloud.google.com/results/invocations/b74b6d46-f043-4f64-8c6e-a8623386d655/targets/github%2Fgrpc/tests;group=tasks;test=distribtest.python_dev_linux_x64_ubuntu1404;row=1
https://source.cloud.google.com/results/invocations/fa1f61f6-cebd-4f41-a8fb-5bdffc0f3449/targets/github%2Fgrpc/tests
Broken since https://github.com/grpc/grpc/pull/21941.

@markdroth  @nicolasnoble what's the plan here? We have a branch cut scheduled for tomorrow and this issue is blocking it.

Another thing that's broken is the grpc_cfstream job on master: b/160165400

We'll have to rollback #21941 if this and #23307 can't be fixed this week.

https://github.com/grpc/grpc/pull/21941 has been rolled back but the linux distribtests are still failing (perhaps the rollback from https://github.com/grpc/grpc/pull/23524 hasn't been 100% successful?)

Triggered one more build: http://sponge/7295e3ed-9d91-4e8b-90bf-d78ddc284d45

Both #23552 and #23565 have been merged so this should be fixed.


extend NWP forecasts by 1 hour

Pull Request
Description
Very simple PR!  Just adding 1 hour to the NWP forecasts.
Otherwise, at the moment, if the GSP PV data ends on a half-hour, then the NWP forecast ends 30 minutes before the GSP "forecast":
Here's some example data plotted.  The green line is NWP irradiance.  The orange line is GSP PV (just for the forecast horizon)
If you look at the top-left subplot, you can see that the NWP data (green line) ends half an hour early..

Codecov Report

Merging #536 (0df92a9) into main (e2f91b1) will increase coverage by 1.90%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #536      +/-   ##
==========================================
+ Coverage   87.99%   89.90%   +1.90%
==========================================
  Files          42       42
  Lines        2674     2674
==========================================
+ Hits         2353     2404      +51
+ Misses        321      270      -51

Impacted Files
Coverage Δ

nowcasting_dataset/manager.py
80.00% <ø> (ø)

nowcasting_dataset/data_sources/gsp/eso.py
71.08% <0.00%> (+12.04%)
:arrow_up:

nowcasting_dataset/data_sources/gsp/pvlive.py
100.00% <0.00%> (+75.92%)
:arrow_up:

Continue to review full report at Codecov.

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

good idea!  Done!


YouTube Sync: show reward claimed for current period

Currently, the status page does not reflect that a Sync reward has been claimed as the last step never gets a green checkbox. Not sure if this should reset when they can earn the reward again.
In this case, we may also want to update the expected rewards portion - maybe give them the date when they can earn this reward again?
Acceptance Criteria

Definition of Done

[ ]  Tested against acceptance criteria
[ ] Tested against the assumptions of the user story
[ ] The project builds without errors
[ ] Unit tests are written and passing
[ ] Tests on devices/browsers listed in the issue have passed
[ ] QA performed & issues resolved
[ ] Refactoring completed
[ ] Any configuration or build changes documented
[ ] Documentation updated
[ ] Peer Code Review performed

@kauffj who can we assign this to?
The API will provide redeemed_reward that can be used to solve this.
Sounds like a rather easy improvement.

@nikooo777 open a ticket on lbry.io and put it in the Next Sprint milestone.

let's use this issue then. it's already in lbry.io

This is already live.

Am I missing something?

Does it check the box when they claim id? It didn't used to. Once we know when they'll be able to claim again, we can add that information to the page (can create a new issue for it).

That screenshot is from one of the status tokens.

The content is not really in their control though, is it? unless you're referring to status transferred

@NetOperatorWibby looked at the code, it looks good for the statuses!


Add comments clarifying the serial number population of the Root group

There appears to be some confusion about serial number handling.  This adds some comments to clarify how the implementor (vendor) should handle serial numbers.
Would like @sulrich and @harshitk-arista to review this.

overall, this looks good to me.
i do wonder if we should harmonize the text to use the term "vendor" within the context of the proto vs. "implementor"?

Sure; I'll do that.

LGTM


Problem with Peek Definition

When I try to show Peek Definitions for dbo.Customers it says no definition found for 'dbo' and same thing happens with rcustomer'

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

ID: a6d68e91-6a5b-7f3b-0e72-1b88691b0c72
Version Independent ID: 6f4e07e3-eb0b-cd4c-cc82-399e4a2ad715
Content: Use the Transact-SQL editor to create database objects - Azure Data Studio
Content Source: docs/azure-data-studio/tutorial-sql-editor.md
Product: sql
Technology: azure-data-studio
GitHub Login: @markingmyname
Microsoft Alias: maghan

@youssef-sno -- thank you for your feedback.  It appears you're having an issue with your scenario, rather than the documentation.  Please consider these resources:

DBA Stack Exchange
Stack Overflow

I am closing this issue now.  You are welcome to @ mention me for any followup.
We hope to hear from you again.


Upgraded to pydantic 2.0

TODO before merging:

address warnings
implement new features in pydantic 2.0


dnt examples build failing in CI (but works locally)

https://github.com/paritytech/capi/actions/runs/5348821280/jobs/9699250246

@ryanleecode you'll be able to see this error in CI if you create a PR in which you re-enable the Node egts step in checks.


Missing hand draw font family on MacOS

My sketches are beautiful in browser (right side), thx Excalidraw team, but under VSCode on MacOS(left side), I have hand draw font family replaced by Times like font. Same problem with drawio plugin.

Any idea how I can setup the hand draw font family on VSCode under MacOS ?

I finally resolve it by myself : just save a first time a sketch made with a browser and then open it to download the fonts...

You should not need to do this 😅. Next time it happens can, you look at the network request tab in the developper tools ?

I have the same 'missing Virgil font' problem on my Windows PC at work.
=> The network request tab of the developper tools shows INTERNET_DISCONNECTED errors trying to reach https://unpkg.com.
(this site may indeed be blacklisted by my workplace proxy).
One of the reasons I use excalidraw in vscode is to work online. => Am I getting this wrong?
Apart from the font problem, it runs very well. Great tool :)

Thanks for reporting. Something might be wrong, it should use local fonts instead.

I've had this issue occur on Linux. It seems that the font is being blocked by CORS.

Thanks for reporting. Something might be wrong, it should use local fonts instead.

Bonjour,
Any chances the Virgil font may be included in the plugin one day, and be used locally (instead of requiring it from unpkg.com) ?
Or suggest a workaround to use the plugin+font when working offline (or where unpkg is blocked)  ?
Again, very great tool, thx.

Any chances the Virgil font may be included in the plugin one day, and be used locally (instead of requiring it from unpkg.com) ?

Working on it!

So here are my findings:
Excalidraw support self-hosting the font instead of relying on unpkg using the window.EXCALIDRAW_ASSET_PATH var ! However, it uses join it with window.location.origin. In vscode, you are not supposed to fetch the extension asset for the window location origin, but instead from https://file+.vscode-resource.vscode-cdn.net
There is an helper, webview.asWebviewUri, that I use in the extension: https://github.com/excalidraw/excalidraw-vscode/blob/db3d5a1e66e070a07459ea7932d0c619d253c1f8/extension/src/editor.ts#L359-L376
I'll create a PR to fix the issue upstream, and hopefully we will be able to use the extension offline!

Hello,
The v3.5.0 fix works perfect for me :) vscode 1.77.3 with excalidraw-plugin 3.5.0 in Windows10.
Thank you so much Achille, this was the only thing that prevent me from using excalidraw at work.
Merci infiniment !
Ludovic


Add ocp_monitoring sub dir to prometheus-for-federation config

Requires an OSD or OCP cluster to verify.
Adds all metrics to the user-workload-monitoring in ocp, and a grafana instance with all available dashboards.

/approve
/lgtm

@jasonmadigan removed commented resource.
This is ready for lgtm again

/lgtm


🐛 [Authentication] FirebaseUser.isAnonymous returns inconsistent values after Unlinking only provider

Bug report
Describe the bug
I have an anonymous user where isAnonymous returns true.
If I then upgrade that user to a real user by linking it with some credentials but then unlink that same sign in provider, isAnonymous returns inconsistent values depending on application state.
Steps to reproduce
Steps to reproduce the behavior:
Create an anonymous user
FirebaseAuth.signInAnonymously();
Link some credentials
AuthCredential authCredential = EmailAuthProvider.credential(email: email, password: pw);

FirebaseAuth.currentUser.linkWithCredential(authCredential))

Then unlink the same provider
FirebaseAuth.currentUser.
            .getIdTokenResult(true)
            .then((idTokenResult) => FirebaseAuth.currentUser.unlink(idTokenResult.signInProvider))
            .then((user) =>
                log("Signed anonymous user back in : uid=${user.uid} anonymous=${user.isAnonymous}",

Here user.isAnonymous prints out true.
However, if you do a hot restart of the application and then check the state of the user
FirebaseAuth.currentUser.isAnoymous

This return false.
So there seems to be a mismatch of the isAnonymous value after unlinking and then when you refresh state.
Expected behavior
isAnonymous should be consistent and return true after unlink operation completes

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
For some reason I have Android studio setup correctly but it doesnt detect it.
[✓] Flutter (Channel stable, 1.22.6, on macOS 11.1 20C69 darwin-x64, locale en-AU)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 12.4)
[!] Android Studio (version 4.1)
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
[!] IntelliJ IDEA Community Edition (version 2020.3.2)
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
[!] VS Code (version 1.52.1)
    ✗ Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (1 available)

! Doctor found issues in 3 categories.

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

dependencies:
- animated_bottom_navigation_bar 0.2.1 [flutter]
- animations 1.1.2 [flutter]
- cloud_firestore 0.16.0 [flutter meta quiver firebase_core firebase_core_platform_interface cloud_firestore_platform_interface cloud_firestore_web]
- crypto 2.1.5 [collection convert typed_data]
- cupertino_icons 0.1.3
- equatable 1.2.5 [collection meta]
- firebase_auth 0.20.0+1 [meta firebase_core firebase_core_platform_interface firebase_auth_platform_interface firebase_auth_web flutter]
- firebase_core 0.7.0 [firebase_core_platform_interface flutter quiver meta firebase_core_web]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]
- flutter_keyboard_visibility 3.2.2 [flutter]
- flutter_localizations 0.0.0 [flutter intl characters collection meta path typed_data vector_math]
- flutter_modular 2.0.1 [flutter]
- flutter_redux 0.6.0 [meta redux flutter]
- flutter_rounded_progress_bar 0.1.2 [flutter]
- flutter_translate 1.6.0 [flutter flutter_device_locale]
- form_field_validator 1.0.1 [flutter intl]
- get_it 4.0.4 [async meta]
- http 0.12.2 [http_parser path pedantic]
- intl 0.16.1 [path]
- json_annotation 3.1.0
- line_awesome_icons 1.0.4+2 [flutter]
- localstorage 3.0.6+9 [flutter path_provider]
- modal_bottom_sheet 1.0.0+1 [flutter]
- optional 5.0.0 [collection]
- path 1.8.0-nullsafety.1
- path_provider 1.6.27 [flutter path_provider_platform_interface path_provider_macos path_provider_linux path_provider_windows]
- quiver 2.1.5 [matcher meta]
- random_string 2.1.0
- redux 4.0.0+3
- scroll_to_index 1.0.6 [flutter]
- simple_animations 2.2.3 [flutter sa_multi_tween sa_anicoto sa_stateless_animation sa_v1_migration]
- supercharged 1.10.0 [supercharged_dart flutter]
- syncfusion_flutter_charts 18.4.35 [flutter intl vector_math syncfusion_flutter_core]
- universal_platform 0.1.3
- web_socket_channel 1.1.0 [async crypto stream_channel]

dev dependencies:
- build_runner 1.10.3 [args async build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style glob graphs http_multi_server io js logging meta mime path pedantic pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span stream_channel string_scanner term_glyph typed_data]
- json_serializable 3.5.1 [analyzer build build_config json_annotation meta path source_gen]
- mockito 4.1.3 [analyzer build code_builder collection dart_style matcher meta source_gen test_api]
- test 1.16.0-nullsafety.5 [analyzer async boolean_selector coverage http http_multi_server io js node_preamble package_config path pedantic pool shelf shelf_packages_handler shelf_static shelf_web_socket source_span stack_trace stream_channel typed_data web_socket_channel webkit_inspection_protocol yaml test_api test_core]

dependency overrides:
- pedantic 1.10.0-nullsafety.1

transitive dependencies:
- _fe_analyzer_shared 11.0.0 [meta]
- analyzer 0.40.4 [_fe_analyzer_shared args charcode cli_util collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- args 1.6.0
- async 2.5.0-nullsafety.1 [collection]
- boolean_selector 2.1.0-nullsafety.1 [source_span string_scanner]
- build 1.5.0 [analyzer async convert crypto logging meta path glob]
- build_config 0.4.2 [checked_yaml json_annotation meta path pubspec_parse yaml]
- build_daemon 2.1.4 [built_collection built_value http_multi_server logging pedantic path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 1.4.2 [analyzer build crypto graphs logging meta path package_config pool pub_semver]
- build_runner_core 6.0.3 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta path package_config pedantic pool timing watcher yaml]
- built_collection 4.3.2 [collection quiver]
- built_value 7.1.0 [built_collection collection fixnum quiver]
- characters 1.1.0-nullsafety.3
- charcode 1.2.0-nullsafety.1
- checked_yaml 1.0.2 [json_annotation source_span yaml]
- cli_util 0.1.4 [path]
- clock 1.1.0-nullsafety.1
- cloud_firestore_platform_interface 3.0.1 [flutter meta collection firebase_core plugin_platform_interface]
- cloud_firestore_web 0.3.0+1 [flutter flutter_web_plugins http_parser meta firebase_core firebase_core_web cloud_firestore_platform_interface js]
- code_builder 3.5.0 [built_collection built_value collection matcher meta]
- collection 1.15.0-nullsafety.3
- convert 2.1.1 [charcode typed_data]
- coverage 0.14.1 [args logging package_config path source_maps stack_trace vm_service]
- dart_style 1.3.8 [analyzer args path source_span]
- fake_async 1.2.0-nullsafety.1 [clock collection]
- ffi 0.1.3
- file 5.2.1 [intl meta path]
- firebase_auth_platform_interface 3.0.1 [flutter meta firebase_core plugin_platform_interface]
- firebase_auth_web 0.3.2+6 [flutter flutter_web_plugins meta http_parser intl firebase_core firebase_core_web firebase_auth_platform_interface js]
- firebase_core_platform_interface 3.0.1 [flutter meta plugin_platform_interface quiver]
- firebase_core_web 0.2.1+3 [firebase_core_platform_interface flutter flutter_web_plugins meta js]
- fixnum 0.10.11
- flutter_device_locale 0.4.0 [flutter flutter_web_plugins plugin_platform_interface]
- flutter_web_plugins 0.0.0 [flutter characters collection meta typed_data vector_math]
- glob 1.2.0 [async collection node_io path pedantic string_scanner]
- graphs 0.2.0
- http_multi_server 2.2.0 [async]
- http_parser 3.1.4 [charcode collection source_span string_scanner typed_data]
- io 0.3.4 [charcode meta path string_scanner]
- js 0.6.3-nullsafety.1
- logging 0.11.4
- matcher 0.12.10-nullsafety.1 [stack_trace]
- meta 1.3.0-nullsafety.3
- mime 0.9.7
- node_interop 1.1.1 [js]
- node_io 1.1.1 [node_interop path]
- node_preamble 1.4.12
- package_config 1.9.3 [path charcode]
- path_provider_linux 0.0.1+2 [path xdg_directories path_provider_platform_interface flutter]
- path_provider_macos 0.0.4+4 [flutter]
- path_provider_platform_interface 1.0.3 [flutter meta platform plugin_platform_interface]
- path_provider_windows 0.0.4+1 [path_provider_platform_interface meta path flutter ffi win32]
- platform 2.2.1
- plugin_platform_interface 1.0.3 [meta]
- pool 1.5.0-nullsafety.2 [async stack_trace]
- process 3.0.13 [file intl meta path platform]
- pub_semver 1.4.4 [collection]
- pubspec_parse 0.1.5 [checked_yaml json_annotation pub_semver yaml]
- sa_anicoto 1.0.3 [flutter supercharged]
- sa_multi_tween 1.1.3 [flutter supercharged]
- sa_stateless_animation 1.0.3 [flutter supercharged sa_anicoto]
- sa_v1_migration 1.1.2 [flutter]
- shelf 0.7.9 [async collection http_parser path stack_trace stream_channel]
- shelf_packages_handler 2.0.0 [path shelf shelf_static]
- shelf_static 0.2.8 [convert http_parser mime path shelf]
- shelf_web_socket 0.2.3 [shelf web_socket_channel stream_channel]
- sky_engine 0.0.99
- source_gen 0.9.7+1 [analyzer async build dart_style glob meta path pedantic source_span]
- source_map_stack_trace 2.1.0-nullsafety.3 [path stack_trace source_maps]
- source_maps 0.10.10-nullsafety.2 [source_span]
- source_span 1.8.0-nullsafety.2 [charcode collection path term_glyph]
- stack_trace 1.10.0-nullsafety.1 [path]
- stream_channel 2.1.0-nullsafety.1 [async]
- stream_transform 1.2.0
- string_scanner 1.1.0-nullsafety.1 [charcode source_span]
- supercharged_dart 1.2.0
- syncfusion_flutter_core 18.4.35+1 [flutter]
- term_glyph 1.2.0-nullsafety.1
- test_api 0.2.19-nullsafety.2 [async boolean_selector collection meta path source_span stack_trace stream_channel string_scanner term_glyph matcher]
- test_core 0.3.12-nullsafety.5 [analyzer async args boolean_selector collection coverage glob io meta package_config path pedantic pool source_map_stack_trace source_maps source_span stack_trace stream_channel vm_service yaml matcher test_api]
- timing 0.1.1+2 [json_annotation]
- typed_data 1.3.0-nullsafety.3 [collection]
- vector_math 2.1.0-nullsafety.3
- vm_service 5.2.0 [meta]
- watcher 0.9.7+15 [async path pedantic]
- webkit_inspection_protocol 0.7.3 [logging]
- win32 1.7.3 [ffi]
- xdg_directories 0.1.2 [meta path process]
- yaml 2.2.1 [charcode collection string_scanner source_span]

Also, to prove there is a state problem here below are two log outputs obtained from subscribing to the user changes stream
When I initially link the anonymous user to email/pw credentials, you can see that the state updates correctly, showing the new provider information and isAnonymous is false as it should be.
[log] User changed : user=User(displayName: TEACHER, email<EMAIL_ADDRESS>emailVerified: false, isAnonymous: false, metadata: UserMetadata(creationTime: 2021-02-02 10:10:32.352, lastSignInTime: 2021-02-02 10:10:32.352), phoneNumber: null, photoURL: null, providerData, [UserInfo(displayName: TEACHER, email<EMAIL_ADDRESS>phoneNumber: null, photoURL: null, providerId: password, uid: email@pm.me)], refreshToken: , tenantId: null, uid: 8MJtNBP8DAWGJpGGkVDCaPctKdF3)

Then, when I unlink the password provider, the stream again publishes an updates showing the new user with the provider removed and now isAnonymous is true.
[log] User changed : user=User(displayName: TEACHER, email: null, emailVerified: false, isAnonymous: true, metadata: UserMetadata(creationTime: 2021-02-02 10:10:32.352, lastSignInTime: 2021-02-02 10:10:32.352), phoneNumber: null, photoURL: null, providerData, [], refreshToken: , tenantId: null, uid: 8MJtNBP8DAWGJpGGkVDCaPctKdF3)

But this state does not persist across app restarts/hot restart. When you retrieve the user for the first time isAnonymous is set to false again.

I was able to reproduce this on the latest master 1.26.0-18.0.pre.125 with firebase_auth: ^0.20.0+1.

flutter doctor -v
[√] Flutter (Channel master, 1.26.0-18.0.pre.125, on Microsoft Windows [Version 10.0.19041.746], locale et-EE)
    • Flutter version 1.26.0-18.0.pre.125 at C:\Development\flutter_master
    • Framework revision 11609d1114 (2 hours ago), 2021-02-02 00:22:14 -0800
    • Engine revision bb2bbde4d0
    • Dart version 2.12.0 (build 2.12.0-279.0.dev)

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at C:\Users\marku\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\201.7042882\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.7.7)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.7.30621.155
    • Windows 10 SDK version 10.0.18362.0

[√] Android Studio (version 4.1.0)
    • Android Studio at C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\201.7042882
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] Connected device (4 available)
    • SM G950F (mobile) • ce12171c51cc001c03 • android-arm64  • Android 9 (API 28)
    • Windows (desktop) • windows            • windows-x64    • Microsoft Windows [Version 10.0.19041.746]
    • Chrome (web)      • chrome             • web-javascript • Google Chrome 88.0.4324.104
    • Edge (web)        • edge               • web-javascript • Microsoft Edge 88.0.705.56

• No issues found!

This isn't just a debug hot reload/hot restart thing. After terminating and reopening a release build it does the same thing. Used the official example with https://github.com/FirebaseExtended/flutterfire/pull/4635 to observe the behavior.

Could I get some insight into the release schedules for issues like this? How so you guys prioritise these and determine if a fix it will be shipped in a future release? I am trying to understand how to handle this problem on our end since its important to determining if the user is valid but its far from ideal so would like to know if we can expect a fix at some point soon or if it will not be prioritised for a while

I am currently experiencing this issue using the JavaScript APIs and it is identical. I unlink the last credential for an Auth user object that was initially anonymous, and unfortunately isAnonymous = false any time I retrieve that object again. According to the docs, after unlinking the last credential, isAnonymous should be true again.

This also occurs when using signInAnonymously() to handle signing out a user directly to an anonymous user.
Some details:

Android 12 Emulator
Flutter 3.3.0
firebase_auth: 3.8.0

Doing this sequence of action in Firebase Auth:
    await FirebaseAuth.instance.signOut();
    print('Before ${FirebaseAuth.instance.currentUser?.uid}');

    await FirebaseAuth.instance.signInAnonymously();
    AuthCredential authCredential = EmailAuthProvider.credential(
      email<EMAIL_ADDRESS>      password: 'password',
    );

    await FirebaseAuth.instance.currentUser!.linkWithCredential(authCredential);

    print('After linking ${FirebaseAuth.instance.currentUser!.uid}');

    await FirebaseAuth.instance.signOut();
    await FirebaseAuth.instance.signInWithEmailAndPassword(
      email<EMAIL_ADDRESS>      password: 'password',
    );

    print('After login email ${FirebaseAuth.instance.currentUser!.uid}');
    print(
      'After login email ${FirebaseAuth.instance.currentUser!.isAnonymous}',
    );

    final idTokenResult =
        await FirebaseAuth.instance.currentUser!.getIdTokenResult(true);

    await FirebaseAuth.instance.currentUser!
        .unlink(idTokenResult.signInProvider!);
    print('After unlinking ${FirebaseAuth.instance.currentUser!.uid}');
    print('After unlinking ${FirebaseAuth.instance.currentUser!.isAnonymous}');

Gives me the expected results:
I/flutter (  710): Before null
I/flutter (  710): After linking Q5Kor5XrrhcvdflP2hx2QsoCuLx2
I/flutter (  710): After login email Q5Kor5XrrhcvdflP2hx2QsoCuLx2
I/flutter (  710): After login email false
I/flutter (  710): After unlinking Q5Kor5XrrhcvdflP2hx2QsoCuLx2
I/flutter (  710): After unlinking true

Can you provide any reproduction complete reproduction code so we can help?


Improve polyfill support

Overview
We've run into a problem where code that includes structuredClone doesn't work on node <17.0 because it's not there yet. Babel should polyfill as necessary.

Work for this issue will begin begin on branch work-liquid-labs/sdlc-resource-babel-and-rollup/21.


How to Customize Kibana on docker?

Problem description

Hi, i am trying to customize Kibana, e.g. changing login page, following the recomentations of the Elastic Discussion Forum. For that, i tried to mount a kibana volumen with next docker-compose modification.
Docker-compose configuration

  - type: bind
    source: ./kibana/favicons
    target: /usr/share/kibana/src/legacy/ui/public/assets/favicons
    read_only: true

However, I can not see the contents of the folder to modify configuration file. Does anyone have experience with this?

Thanks !!!

@sfl0r3nz05 when you mount that empty directory, you shadow the files that already exist in the image, so when Kibana starts, it only sees an empty directory.
You need to check the content of the Kibana image first, then only override the files you need to override, instead of the entire directory.
This command can help you save a Docker image as an archive that you can inspect: https://docs.docker.com/engine/reference/commandline/save/

@sfl0r3nz05 does this solve your issue?

Closing due to inactivity.

@antoineco sorry for the delay. Effectively, as you indicate a file override allows getting especting results.

Thanks !!!

No problem, glad it worked!


introduce templates creation and removal

Signed-off-by: Evgeny Slutsky<EMAIL_ADDRESS>Please describe the change you are making
...
Are you the owner of the code you are sending in, or do you have permission of the owner?
...
The code will be published under the BSD 3 clause license. Have you read and understood this license?
...

@eslutsky we don't have /hold here, could you change this PR to be a draft PR please?


feat: add sift1m to benchmark

Goals:
This PR will add sift1m dataset to benchmark scripts according to https://github.com/jina-ai/docarray/issues/298.
The code will continue from the work of https://github.com/jina-ai/docarray/pull/514 , https://github.com/jina-ai/docarray/pull/301 and https://github.com/jina-ai/docarray/pull/310.

[x] adapt benchmark script to latest docarray
[x] add sift1m dataset
[x] reuse code in both random and dataset benchmarking
[x] add code to generate benchmark recall lines
[ ] update benchmarking results

This PR is moved to https://github.com/jina-ai/docarray/pull/691


[WIP] Fixes #15474 -- Ensure OSX installer supports GNU sed

What does this PR do?
Ensures OSX installer does not crash if sed is GNU sed.
Motivation
Fixes #15474
Additional Notes
I was unsure whether there are existing tests for the mac installer script, but I'm happy to update if someone can point the way.
Describe how to test/QA your changes
Tested script locally using both GNU sed and OSX standard sed to ensure UserName and GroupName nodes are correctly added to the plist file.
Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

Closing in favor of #15694


Error on welcome.first-app route, organizations.objectAt(0) is null

Getting the following error intermittently on Production: Error while processing route: welcome.first-app Cannot read property 'get' of undefined TypeError: Cannot read property 'get' of undefined.
model: function model() {
      return this.store.find("organization").then(function (organizations) {
=>    var stackHandle = organizations.objectAt(0).get("name").dasherize();
        var model = {
          stackHandle: stackHandle
        };
        resetDBData(model);
        return model;
      });
    }

No network errors, clearing localStorage and logging back in seems to fix it.


V3.2 separate text and color from reference data

Creating two files colors_normal.csv and language_en.tsv the values for color can be separated from the data itself. A different color-set could be used for a different appearance without changing the core data.
Similar for translation, the reference data contains a unique key value to assign a unique color and respective translation when creating the timeline.

Looks good! Some proprietary text elements in the python code have to be exported to the dictionary_en.tsv but it looks quite decent already!


Add fabform.io to the contact form

Add fabform.io to the contact form
Can I create a pull request with a new contact form that uses https://fabform.io

Sure ʕ◔ϖ◔ʔ


Missing "sampleRate" property on ITelemetryItem

Hi,
I would like to enforce certain messages to be sent to AI despite adaptive sampling.
To my current knowledge, I need to write TelemetryInitializer that in those certain conditions enforces sample rate on client to 100%.
From my research it seems that the property to be used is on envelope  when calling addTelemetryInitializer.
I'm not able to find this property on ITelemetryItem here and writing it to Tags seems not to work.
Is there anyway to enforce this or is this missing in the implementation?

This library doesn't support the full Telemetry Initializer capabilities. This is due to the fact that JSInterop is async and the Telemetry Initializer callback is synchronous.
You can do this manually using some JS.


fix: update world_model.py

detailled -> detailed

Thanks @eltociear - we currently only run an automatic spellcheck on our .md files. Will look at how to incorporate it on comments in the code


[Feature Request] Use just the Windows key to open PT Run

Since PT Run is a great replacement for the start menu, I'd like to assign the Windows key to open PT Run instead of the Windows 10 start menu.
However, the PowerToys settings UI won't allow me to set just the Windows key as a shortcut for opening PT Run.
This is similar to #3721, but I don't want a key combination including the Windows key, I want just the Windows key alone.

Maybe the "Keyboard Manager" can help you.

As I set above, the function of Windows keys has been replaced by Alt+Space, which is the default keystroke for PT Run.
If you tend to change the default keystroke Alt+Space, please follow up #5331.
However, I do not think the default key can be changed into any single key as every of them already has its function.

Duplicate of #5207, there are several issues with this.


Feature/slim 1936 periodic meter reads g smr5

SonarQube analysis reported 1 issue

 1 major

Watch the comments in this conversation to review them.


Improve X509 Certificate construction / error handling

This PR:

Consolidates the X509Certificate constructor / error handlers in X509CertificateHelper. We know throw an improved error message if there was invalid Base64 data.
Uses the built-in JSON converter to decode base64 data. System.Text.Json can convert directly from the utf-8 bytes using the vectorized Base64 converter.

This history got messed up a bit here. I'll submit a clean PR later -- but this is ready for initial review / feedback.

Codecov Report

Merging #351 (64b6a34) into master (b858a5e) will decrease coverage by 0.57%.
The diff coverage is 62.26%.

@@            Coverage Diff             @@
##           master     #351      +/-   ##
==========================================
- Coverage   77.95%   77.38%   -0.58%
==========================================
  Files          88       89       +1
  Lines        2513     2520       +7
  Branches      421      426       +5
==========================================
- Hits         1959     1950       -9
- Misses        439      451      +12
- Partials      115      119       +4

Impacted Files
Coverage Δ

...c/Fido2/Metadata/Fido2MetadataServiceRepository.cs
57.57% <41.66%> (-2.62%)
:arrow_down:

...rc/Fido2/Metadata/ConformanceMetadataRepository.cs
88.69% <58.33%> (-1.23%)
:arrow_down:

Src/Fido2/Extensions/JsonElementExtensions.cs
37.50% <60.00%> (-62.50%)
:arrow_down:

Src/Fido2/AttestationFormat/AndroidSafetyNet.cs
96.20% <75.00%> (-2.60%)
:arrow_down:

Src/Fido2/Extensions/X509CertificateHelper.cs
77.77% <77.77%> (ø)

Src/Fido2/AttestationFormat/FidoU2f.cs
91.42% <100.00%> (ø)

Src/Fido2/AttestationFormat/Packed.cs
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Add KilnApi caching

Summary
Changes

Pull Request Test Coverage Report for Build<PHONE_NUMBER>3
Details

11 of 35 (31.43%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.01%) to 46.305%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/datasources/cache/cache.router.ts
7
12
58.33%

src/datasources/staking-api/kiln-api.service.ts
1
20
5.0%

Totals

Change from base Build<PHONE_NUMBER>3:
-0.01%

Covered Lines:
4818

Relevant Lines:
8386

💛  - Coveralls


Feature: Business BCeID for external user login

As an "external" user (user working in heavy industry), I want to be able to sign in to the Registration app using my Business BCeID account
Acceptance Criteria:

[ ] create appropriate roles in Common SSO for external users ("admin" and "reporter"?)
[ ] add Business BCeID login option to Registration app homepage
[ ] When I sign in as an external user with my Business BCeID, I should see an indication that I have successfully logged in
[ ] When I'm signing in with my Business BCeID, if my user account is associated with more than one business, I should be given the option to select which business/organization I'm signing in to the Registration app for
[ ] After I've signed in, I want to be able to log out of my BCeID account (add logout button)

Hey team! Please add your planning poker estimate with Zenhub @andrea-williams @BCerki @dleard @JoshLarouche @Sepehr-Sobhani

@dleard to add example of business bceid login option.

I think this card is also blocked by: https://app.zenhub.com/workspaces/climate-action-secretariat-60ca4121764d710011481ca2/issues/gh/bcgov/cas-registration/19

Blocked until we have an integration at least for dev cc @dleard

Link to 'roles' table: https://miro.com/app/board/uXjVMpeqLr4=/?moveToWidget=3458764567856328665&cot=14


Ported CC 76 10Print

This PR Ports coding challenge 76: 10Print
That was a lot of contributions. Good news is almost all of the contributions are still available, only two were no longer available.
I don't know how I did it, but it's finally done.

Oh my! So many contributions!

@shiffman It's the most I think. This is where vim comes handy!

This is an absolutely heroic effort! @allcontributors add @DenisovichDev for content

@shiffman
This project's configuration file has malformed JSON: .all-contributorsrc. Error:: Unexpected token ] in JSON at position 1112

@klinegareth can you take a look at the above error ⬆

@allcontributors add @DenisovichDev for content

@shiffman
This project's configuration file has malformed JSON: .all-contributorsrc. Error:: Unexpected token ] in JSON at position 1112

@klinegareth can you take a look at the above error arrow_up

This should be fixed with #451!

Trying this again,  @allcontributors add @DenisovichDev for content

@klinegareth I'm not sure if this is why it's not working, but I'm already in content. And probably twice in README.md accidentally

Thanks again for working on this one @DenisovichDev!!


memmap refacoring

This is a proposal to change the actual memap behavior in rawio layer.
spikeinterface use neo.rawio a lot with extenssive IO demand with parralel read/computing.
Many users experience big memmory saturation even on big machine when the file are enormous.
This quite a bit OS dependant, mainly windows but even some linux have this problem).
Somehow, the memmap do not release page after the use of one buffer and so the memory increase forever.
The actual strategy we now have in almost all IO when it is binary base :

In  parse_header, open one or several numpy.memmap object and set then as attribute or nested dict
In get_analogsignal_chunk : lazly fetch buffer via numpy slicing using this memmap arrays
After consumming the traces chunk the memory should be relased and so the memmory usage should low but in fact in some case it increase until saturating.

@h-mayorquin and @samuelgarcia made some benchmark to find a better strategy.
Here some code examples:
https://gist.github.com/h-mayorquin/8b8d1899c724690ce7c18fb49f56af82
The best strategy we find to try to fix is:

In the parse header, open the file with mode='rb'
In get_analogsignal_chunk : create a new memmap object using the opened file

For the 2. we mimic the numpy.memmap but a but simplify to be faster.
The speed of reading is almost the same and the memory problem seems to be fixed.
@maxjuv @TomBugnon @vncntprvst @juliencarponcy: we need more tests!
I started to change spikeglx and openephysrawbinary.
Could you try to combine this branch and also this PR on spikeinterface
And then:

read a recording with read_spikeglx() or read_openephys()
make a simple preprocessing
rec.save(folder=folder, n_jobs=64, chunk_duration='1s', progress_bar=True)
And monitor the memory usage.
Do you still have an infinite memory increase or not ?

Hey Sam, just as an fyi and to support the need for this refactor I was doing some emg processing (outside of the spike sorting world) and saw the same thing where I import neo in a function create a reader and then return the analog emg data for post-processing and it seems that as long as my IPython kernel is active the memmap and header information aren't releasing (ie, saturating the RAM eventually). Despite the reader being "cleaned up" after the function if I call the same function on the binary file it runs significantly faster (seems like the header and memmap have been cached). Closing the session finally releases the RAM. On a windows for this work currently (which does annoyingly hold onto files way longer than Mac and Linux do).

@zm711 thanks for the feedback. So do you this this patch will help your case ?

@samuelgarcia
I'm using the IntanRawIO, so I can't specifically test this, and this issue only occurs when I'm trying to batch process data, so it's a rarer issue for me, (so I never reported it I just dealt with my computer crashing every once in a while). If this test actually works for the more extreme spikeinterface case, then I would predict it would also be helpful in the edge cases of data analysis I run into. But I would just need to actually see if this is a general windows issue, ipython issue, or np.memmap issue.

@zm711, I wonder if your memory release issue is related to #684. Manual garbage collection might help:
import gc
gc.collect()

@jpgill86
I tried the gc.collect() and the memory usage didn't change. I tried to two rounds of experiments with the first gc.collect() returning 23 unreachable objects and the second round returning 86.
I do have some try except blocks for some of this analysis, so the main memory lock occurs if parts of the meta-function fails and moves onto trying a different sub-function due to needing something like #1249 for gaining digital access in addition to analog access (which again is IntanRawIO specific).
The memory getting locked up is a bit inconsistent so it's hard for me to know for sure what is causing it and it is rare enough that hunting it down isn't hugely important to us. So I'm happy to try new implementations to see if anything helps, but I don't want to bog down this PR with memory leak stuff so if we want to continue this we could chat on #684?

Hello,
I tried theses Neo & Spikeinterface branches on my Windows. While the memory used is a bit high (7G) for 14 cores, 1s chunksize and the processing consisted to highpass/phase shift/ detect_bad channels/CMR on a Neuropixel dataset. However, the memory stays stable at 7G, so it is way better than before.

Hi @samuelgarcia The tests in the current master are passing again. You might need to rebase / merge for proper CI testing.

Hi @samuelgarcia
Sorry for the late reply.
I did not check the memory usage (which I didn't specifically have issues with), but relative to the parent commit (2d63e18) this fixes a OSError: cannot allocate memory I'm getting when too many memmaps/recordings are opened relying on the same file!
For instance this would raise the following error:
import spikeinterface.extractors as se
path = "/path/to/sglx"
extractors = []
for i in range(50):
    extr = se.SpikeGLXRecordingExtractor(, stream_id="imec0.ap")
    extractors.append(extr)

Traceback (most recent call last):
File "/home/tbugnon/projects/ecephys_dev_si_pipeline/pipeline_tests/test_cannot_allocate_memory_error.py", line 49, in
extr = se.SpikeGLXRecordingExtractor("/Volumes/ceph-tononi/npx_archive/CNPIX2-Segundo/1-21-2020/SpikeGLX/1-21-2020_g0/1-21-2020_g0_imec0", stream_id="imec0.ap")
File "/home/tbugnon/projects/ecephys_dev_si_pipeline/spikeinterface/src/spikeinterface/extractors/neoextractors/spikeglx.py", line 51, in init
NeoBaseRecordingExtractor.init(
File "/home/tbugnon/projects/ecephys_dev_si_pipeline/spikeinterface/src/spikeinterface/extractors/neoextractors/neobaseextractor.py", line 94, in init
_NeoBaseExtractor.init(self, block_index, **neo_kwargs)
File "/home/tbugnon/projects/ecephys_dev_si_pipeline/spikeinterface/src/spikeinterface/extractors/neoextractors/neobaseextractor.py", line 48, in init
self.neo_reader = get_neo_io_reader(self.NeoRawIOClass, **neo_kwargs)
File "/home/tbugnon/projects/ecephys_dev_si_pipeline/spikeinterface/src/spikeinterface/extractors/neoextractors/neobaseextractor.py", line 39, in get_neo_io_reader
neo_reader.parse_header()
File "/home/tbugnon/projects/ecephys_dev_si_pipeline/python-neo/neo/rawio/baserawio.py", line 178, in parse_header
self._parse_header()
File "/home/tbugnon/projects/ecephys_dev_si_pipeline/python-neo/neo/rawio/spikeglxrawio.py", line 103, in _parse_header
data = np.memmap(info['bin_file'], dtype='int16', mode='r', offset=0, order='C')
File "/home/tbugnon/miniconda3/envs/ecephys_dev_si_pipeline/lib/python3.10/site-packages/numpy/core/memmap.py", line 267, in new
mm = mmap.mmap(fid.fileno(), bytes, access=acc, offset=start)
OSError: [Errno 12] Cannot allocate memory

And is fixed by this PR.
This happens for our very large recordings. I was NOT able to replicate it on the short recordings from spikeinterface.core.datasets (maybe a size dependence of the number of memmaps?)
I did not have to check out PR 1602 on spikeinterface for this behavior.
Let me know if I can help somehow! Looking forward to seeing it merged
Best
Tom

Salut Tom.
Merci pour le feedback.
I will try to finalize this soon.

Hi @samuelgarcia
do you have any ETA regarding this PR? And/or is this branch safe to use as such or does it need more testing?


'pipenv shell' breaks vim-tmux-navigator motions inside vim running under tmux

I have a large tmux pane across the top 75% of the window, with two small ones split 50/50 below, each running zsh. Vim is running in the large pane and has two vertically-split windows. vim-tmux-navigator lets me use <c-h/j/k/l> to navigate the vim windows and zsh panes using the same keystrokes (e.g. from the left Vim window, <c-l> switches to the right Vim window, <c-j> switches to the zsh pane below and <c-k> switches back to the previous Vim window)
Describe your environment

OS Type: macOS 10.13.3
Python version: 3.5.2 (base version), 3.6.4 (inside pipenv shell)
Pipenv version: 9.0.1
Vim: VIM - Vi IMproved 8.0 / macOS version / Included patches: 1-1450
zsh: 5.4.2
iTerm2 build 3.1.5
vim-tmux-navigator

Expected result
<c-h/j/k/l> moves seamlessly between Vim windows in the top tmux pane and the zsh sessions in the lower two panes
Actual result
With Vim running inside the pipenv shell the <c-h/j/k/l> shortcuts don't work inside Vim - only - but do work to navigate between Vim and the zsh panes. Per the previous example, <c-h/l> appear to do nothing, but <c-j/k> moves between Vim and the zsh panes. The full :TmuxNavigateLeft/:TmuxNavigateRight commands continue to work and the keyboard mappings in Vim haven't been changed.
Closing the lower zsh splits doesn't restore the original Vim keyboard shortcut behaviour.
Steps to replicate
cd new/empty/dir
pipenv shell
vim foo
[inside vim] :vsplit bar
<c-h>/<c-l> do nothing
:qa
exit
vim foo
[inside vim] :vsplit bar
<c-h>/<c-l> move to left/right vim windows

Comparing the output of env between the original shell and the pipenv shell doesn't show anything obvious - $TERM, $SHELL, $TMUX, $TERM_SESSION are all identical - the only notable changes are to $PATH, $PKG_CONFIG_PATH and $GVM_PATH_BACKUP and none of those seem incriminating

i doubt there's anything we can do here. likely due to local setup.

I ran into the same problem on Ubuntu with Pipenv 10.1.0.
I tracked the problem down to the command being run to determine if vim is open in the active tmux pane:
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
    | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'

You can see the problem by runing the following from a tmux pane with vim open:
:run-shell "ps -o state= -o comm= -t '#{pane_tty}'"

If pipenv shell is not activated, the output is:
S bash
S vim

if pipenv shell is activated, the output is:
S bash
S pipenv

So the grep that looks for vim is failing.
I've worked around this problem by creating a script called tmux-check-if-vim with the following body:
#!/bin/bash
pane_tty=$1
pipenv_pid=$(pgrep -t ${pane_tty/\/dev\/} pipenv)
if [[ $? == 0 ]]; then
  ps -o state=,comm= -p $(pstree -p $pipenv_pid | grep -Po '\(\d+\)' | tr -d '()')
else
  ps -o state=,comm= -t $pane_tty
fi | grep -qP '^[^TXZ] (view|vim)$'

and replacing the is_vim variable in ~/.tmux.conf with
is_vim="tmux-check-if-vim #{pane_tty}"

The script first looks for a pipenv process running in the active pane. If it finds one, it looks for vim running as a descendant process of pipenv. Otherwise it looks for vim as a top-level process running in the pane as per normal.
Note the grep I do to look for vim-like programs is less comprehensive than the one suggested by vim-tmux-navigator. In particular, it doesn't try to catch nvim, gvim, vimx, etc. This shouldn't be difficult to add.
Also, I have only tested on Linux so it is quite likely it won't work out of the box on macOS if grep, ps, pgrep or pstree behave differently.
My system configuration is:
OS Type: Ubuntu 17.10
Python: 3.6.3
Pipenv: 10.1.0
tmux: 2.5
vim: 8.0
bash: 4.4.12

@RobbieClarken - sounds like this would be a good fix to upstream to vim-tmux-navigator too!

If anyone is using Mac OS, @RobbieClarken version appear to work only with Linux distributions.
In order to make it work for Mac OS, I had to brew install pstree as a dependency and modified the script:
#!/bin/bash
pane_tty=$1
pipenv_pid=$(ps -o pid= -o command= -t $pane_tty | grep pipenv | head -n 1 | awk '{ print $1 }')
if [[ -n "$pipenv_pid" ]]; then
  ps -o state=,comm= -p $(pstree -p $pipenv_pid | awk '{ print $2 }')
else
  ps -o state=,comm= -t $pane_tty
fi | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'

Finally, you replace the is_vim in the vim-tmux-navigator code:
is_vim="tmux-check-if-vim #{pane_tty}"

There is an example in my fork of vim-tmux-navigator

@RobbieClarken your answer works for me on Ubuntu 16.04
For those who aren't too familiar with running scripts, you need to make sure that your script is in a directory contained in your $PATH variable.  If this is not the case, tmux will not be able to find it and silently fail.

I was getting some lag issues from running a bash script as suggested by @RobbieClarken .
I solved the pipenv problem by simply adding "pipenv" into the regular expression like so:
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?|pipenv)(diff)?$'"

I haven't fully tested what adverse effects this could cause with non-vim uses of pipenv, but seems to do the trick for the time being with no lag!

Good one guys! Is the any intention to make it into a change request? I can see these two threads that are related to this pipenv issue:
https://github.com/christoomey/vim-tmux-navigator/issues/195
https://github.com/christoomey/vim-tmux-navigator/pull/201


feat: Advanced factory contract

Following #96, add a full example of a factory contract in application chapter with events, access control, instances managements ...

I'll Like to handle this

@Nonnyjoe Hey thank you very much, I already started to work on it so it would be more beneficial if you could handle another issue instead.


Add K reference tests for C / Python bindings

The underlying K files for these tests have been largely added as comments to the Kore files that implement the tests, but we should add a k-files directory to the test suite that we can use for test regeneration in the future.

[x] test_binary_simplify
[x] test_bytes
[x] test_c
[x] test_fd_leak
[x] test_infer_ext
[x] test_kitem
[x] test_k
[x] test_parse
[x] test_reify
[x] test_remove_assoc
[x] test_simplify
[x] test_steps

Closed by https://github.com/runtimeverification/llvm-backend/pull/773


Migrate Admin APIs from Ballerina to Node

Description
As per the architectural change, the backend logic of admin APIs needs to be moved to the node backend. This task will include

Organization CRUD operation
Organization content/layout CRUD operation (including zip uploading logic)
Loading UI HTML, CSS and Image content from the database
Create a separate API for dev portal user specific functionalities

API schemas designed for the above tasks:
Admin API: https://app.swaggerhub.com/apis/DivyaPremanantha/AdminAPI/1.0.0#/Devportal Organization/postOrganization
Devportal API:
https://app.swaggerhub.com/apis/PREMANANTHADIVYA/DevportalAPI/1.0.0#/Organization Template/getOrgImage
Affected Component
APIM
Version
4.5.0
Related Issues
No response
Suggested Labels
No response

PR: https://github.com/wso2/api-developer-portal-core/pull/35/files

Backend and Frontend updated according to the API review discussion

Conducted a PR review and reviewed the code. Integrated ES Lint and fixed all the issues addressed by the tool.

PR: https://github.com/wso2/api-developer-portal-core/pull/35/files

This task was completed with this PR https://github.com/wso2/api-developer-portal-core/pull/38


"Dollar billionaires per million people" - incorrect X-axis values

X-axis should start from 0 at least.

The original data contains many zero values:
http://spreadsheets.google.com/pub?key=tAQpQeQkuyA1-ZovdDJ7JAw&output=xls

The same for "Sulfur emission, kilotons" and "Sulfur emissions per person, kg".


Uglify issue with camelcase dependency

When using this package with an app bootstrapped with create-react-app the build fails, because camelcase will not use ES5 in their package. Their argument is that they target node and it should be no issue there.
Since the package's target is cleary the front end would you consider switching to another camelcase library? Maybe the lodash one.
The error:
Failed to minify the code from this file:
./node_modules/terminal-in-react/node_modules/camelcase/index.js:4
Read more here: http://bit.ly/2tRViJ9

Love the project,
Cheers

Thank you 😀 We know about this issue and it's so cryptic. It's in my to-do and will try to resolve it soon!

HI @mkaradeniz in our latest release I have switched to lodash.camelcase please test to see if the issue is fixed for you

Perfect! Works fine :) Thank you!


[feature] Monitor sites using HTTP POST

Discussed in https://github.com/dgtlmoon/changedetection.io/discussions/210

Originally posted by Churator September  1, 2021
Hi,
The site I want to monitor needs a POST request, not a GET.
Is it doable ?
I'm doing this today with NodeRed
msg.method = "POST"
msg.url = "https://appointment.bmeia.gv.at/?fromSpecificInfo=True"
msg.payload = "Language=en&Office=TEL-AVIV&CalendarId=6187526&PersonCount=3&Command=Next"
msg.headers["content-type"] = "application/x-www-form-urlencoded"

Not sure if you haves started @dgtlmoon . What is your idea on this? A selection with appearing form field?


Fix cursors

At present, Relay/Connection/ArrayConnection presumes an indexed array, with an index that never changes between requests. Cursors are base64 encoded versions of a numeric array key, and we do math with the key to convert it into an offset.
This has a few problems:

If the array gets a new member or loses a member between requests, the cursor points at the wrong array member.
it only works with indexed arrays
it breaks invisibly with associative arrays that have numeric keys
It's not a real cursor.

An example of the issue:

I request comments(first:5)
An administrator deletes comment number 3.
I request comments(first:5 after: "sdflksdflkj="), using the cursor I got from step 1.

In this case, I will get incorrect results. My cursor now points to a different array member than it did in the first request.
These issues are actually the whole argument behind using cursors instead of raw offsets in the first place. A cursor is based on array values, which are static regardless of other array members/sorts/etc.
This PR changes Relay\Connection\ArrayConnection to use array keys, instead of offsets/indexes, as the source for cursors. The math for connectionFromArraySlice remains intact; we still use the cursors to calculate an offset and build the result from that. It's just that whatever keys are in your array will be used as the source for cursors. We could also add a helper method that takes some indicator of the array member properties to use to generate the cursors... but personally I'd just as well leave that to the implementor.

changes connectionFromArraySlice to pass the source array into cursorToOffsetWithDefault, so it can get the offset out of an associative array and leave the rest of the math intact.
adds an optional array argument to cursorToOffsetWithDefault, so it can calculate the offset with arbitrary keys.
allows cursorForObjectInConnection to return any string it gets back from the base64_decode.
deprecates offsetToCursor and cursorToOffset in favor of renamed keyToCursor and cursorToKey

This should not break any existing code. If you currently pass indexed arrays into connectionFromArray, you will continue to get the same broken results you had before. But if you correctly pass an associative array in, your cursors will work as expected. :)
Closes #117

Works for me. Thanks again for writing this!


Fog looks weird under lava

The issue has been fixed in 1d7c24e
However the new fog color doesn't blend perfectly with void. Fixing this seems unnecessary for now as it would require modification of various parts of the shader.


Remove version: WhatsApp.WhatsApp.Beta version 2.2341.2.0

[!IMPORTANT]
The installer file URL of this package is unavailable. Also official team perfer distribute the package via Microsoft Store.  I would prefer remove this package from winget source directly.
For further users, WhatsApp.WhatsApp.Beta will also disappear from winget.exe, when they try to search keyword WhatsApp Beta, there should only be in msstore source.

Resolves #156231

Microsoft Reviewers: Open in CodeFlow

Hi @Dragon1573,
This manifest has the highest version number for this package. Is it available from another location? (This might be in error if the version is switching from semantic to string, or string to semantic.)
(Automated response - build 882.)

Removing to match https://github.com/microsoft/winget-pkgs/pull/156378


feat: add Identity transform

This PR adds the Identity transform that basically does nothing (i.e. returns its input unchanged).
One benefit is to simplify codebase of other libraries  using torch_audiomentations (pyannote.audio, I am looking at you ;)):
Before:
if use_augmentation:
    augmentation = MyAugmentation(...)

for samples in dataloader:

  if use_augmentation:
     augmented = augmentation(samples, ...)
  else:
     augmented = samples

After:
augmentation = MyAugmentation(...) if use_augmentation else Identity()

for samples in dataloader:
   augmented = augmentation(samples, ...)

Sure, why not ^^
Thanks for the contribution


Different behaviour with open

Problem: smart_open==1.6.0 doesn't work correctly with numpy.frombuffer function (numpy < 1.13.0, preferable to test with numpy==1.11.3, python2.7).
Example:
env:

numpy==1.11.3
gensim==3.4.0
smart_open==1.6.0

from gensim.models import FastText
from gensim.test.utils import datapath

m = FastText.load_fasttext_format(datapath("lee_fasttext"))

Trace
IOError                                   Traceback (most recent call last)
<ipython-input-1-afdc56d6c4b5> in <module>()
      2 from gensim.test.utils import datapath
      3
----> 4 m = FastText.load_fasttext_format(datapath("lee_fasttext"))

/home/ivan/release/gensim/gensim/models/fasttext.py in load_fasttext_format(cls, model_file, encoding)
    697             model_file += '.bin'
    698         model.file_name = model_file
--> 699         model.load_binary_data(encoding=encoding)
    700         return model
    701

/home/ivan/release/gensim/gensim/models/fasttext.py in load_binary_data(self, encoding)
    712             self._load_model_params(f)
    713             self._load_dict(f, encoding=encoding)
--> 714             self._load_vectors(f)
    715
    716     def _load_model_params(self, file_handle):

/home/ivan/release/gensim/gensim/models/fasttext.py in _load_vectors(self, file_handle)
    819
    820         self.num_original_vectors = num_vectors
--> 821         self.wv.vectors_ngrams = np.fromfile(file_handle, dtype=dtype, count=num_vectors * dim)
    822         self.wv.vectors_ngrams = self.wv.vectors_ngrams.reshape((num_vectors, dim))
    823         assert self.wv.vectors_ngrams.shape == (

IOError: first argument must be an open file

If I replace
with utils.smart_open(self.file_name, 'rb') as f:

from https://github.com/RaRe-Technologies/gensim/blob/875b028ccd009fe2fa7665e177b8ab0b5e2dc40d/gensim/models/fasttext.py#L711
to
with open(self.file_name, 'rb') as f:

this will works correctly (also, it works correctly with smart_open==1.5.6, i.e. bug from 1.6.0).

Let me add that the bug is the violation of the smart_open contract: "for local uncompressed files, smart_open() is always a drop-in replacement for open()".

We have two important contracts:

Quack like open (as you mentioned above)
Support both Py2 and Py3

Unfortunately, these two contracts conflict because the open functions
differ between the major Py versions. Py3 accepts many more parameters and
support for encodings.
How should we manage this conflict?
On Fri, Jul 6, 2018 at 1:07 Ivan Menshikh<EMAIL_ADDRESS>wrote:

Assigned #207 https://github.com/RaRe-Technologies/smart_open/issues/207
to @mpenkov https://github.com/mpenkov.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/RaRe-Technologies/smart_open/issues/207#event-1718464108,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABDOVHT75SqPjFlhm5uj7cyLG8pwJJkIks5uDjmkgaJpZM4VEJr0
.

@mpenkov "quack" like a python3 always (this still "contradiction",  but looks like best solution)?

That’s going to be hard. Look at this example: open a local file with
koi8-r encoding.
Under Py3, you just call the built-in open and return a file descriptor.
This satisfies the contract that Radim mentioned. Everyone is happy.
Under Py2, the built-in open does not support encodings, so you have to
deal with it yourself. You could wrap it in a codec layer, but then you’d
violate the contract: the return would not be a true file descriptor. What
should we do in this particular case?
On Fri, Jul 6, 2018 at 10:29 Ivan Menshikh<EMAIL_ADDRESS>wrote:

@mpenkov https://github.com/mpenkov "quack" like a python3 always (this
still "contradiction", but looks like best solution)?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/RaRe-Technologies/smart_open/issues/207#issuecomment-402898267,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABDOVEg3lvKeqxRH6cePs4IkAwbaMRiCks5uDr1_gaJpZM4VEJr0
.

smart_open should work like open (no matter which Python).

@piskvorky open from python2 or python3? I agree with @mpenkov, this isn't clear: for example, we'll simply use standard python open - we'll have no encoding argument for python2, that's not our goal.
Probably, this should be affected only for trivial variants, i.e. if user pass parameters matched to
https://docs.python.org/2/library/functions.html#open (on python2) or
https://docs.python.org/3/library/functions.html#open (on python3) - we should return open(...), otherwise (non-trivial case) - use current "mechanism"

Not sure I understand. What I'm saying is that if native open doesn't support a parameter, neither do we.
I mean, if we support something extra, that's nice. But definitely not at the cost of breaking the "drop-in contact".

We do support an encoding parameter, regardless of what the built-in open
supports. That’s part of the problem.
On Sat, Jul 7, 2018 at 01:16 Radim Řehůřek<EMAIL_ADDRESS>wrote:

Not sure I understand. What I'm saying is that if native open doesn't
support a parameter, neither do we.
I mean, if we support something extra, that's nice. But definitely not at
the cost of breaking the "drop-in contact".
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/RaRe-Technologies/smart_open/issues/207#issuecomment-403080169,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABDOVDX8hp-0Kq6nQnjWlOPLJ3BU4-0Kks5uD416gaJpZM4VEJr0
.

Going back to the example I gave previously, if we receive an encoding
parameter when the native open doesn’t support one (Py2), we can:

perform our own decoding, violating the contract
ignore the parameter, but keep to the contract
explode with an error
... anything else?

How do you think we should handle the above situation?
On Sat, Jul 7, 2018 at 08:45 Misha Penkov<EMAIL_ADDRESS>wrote:

We do support an encoding parameter, regardless of what the built-in
open supports. That’s part of the problem.
On Sat, Jul 7, 2018 at 01:16 Radim Řehůřek<EMAIL_ADDRESS>wrote:

Not sure I understand. What I'm saying is that if native open doesn't
support a parameter, neither do we.
I mean, if we support something extra, that's nice. But definitely not at
the cost of breaking the "drop-in contact".
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/RaRe-Technologies/smart_open/issues/207#issuecomment-403080169,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABDOVDX8hp-0Kq6nQnjWlOPLJ3BU4-0Kks5uD416gaJpZM4VEJr0
.

Both 1) and 3) are OK. 1) doesn't really violate the "drop-in" contract, since there is no original to violate (open wouldn't even work).
Note however that this is not the case that triggered this issue. There was no encoding parameter -- the original open worked fine.

(so27) ubuntu@LAPTOP-S7M90K9N:~/git/smart_open$ pip install numpy==1.11.3
Collecting numpy==1.11.3
  Downloading https://files.pythonhosted.org/packages/68/e8/d68e1c47a2bd3f03cb81f1e635a55b776e51e4746f7204d541f6e3e9ffab/numpy-1.11.3-cp27-cp27mu-manylinux1_x86_64.whl (15.4MB)
    100% |████████████████████████████████| 15.4MB 705kB/s
Installing collected packages: numpy
  Found existing installation: numpy 1.14.5
    Uninstalling numpy-1.14.5:
      Successfully uninstalled numpy-1.14.5
Successfully installed numpy-1.11.3
(so27) ubuntu@LAPTOP-S7M90K9N:~/git/smart_open$ python integration-tests/test_208.py
Traceback (most recent call last):
  File "integration-tests/test_208.py", line 25, in <module>
    loaded = np.fromfile(fin)
IOError: first argument must be an open file
(so27) ubuntu@LAPTOP-S7M90K9N:~/git/smart_open$ pip install numpy==1.14.5
Collecting numpy==1.14.5
  Using cached https://files.pythonhosted.org/packages/6a/a9/c01a2d5f7b045f508c8cefef3b079fe8c413d05498ca0ae877cffa230564/numpy-1.14.5-cp27-cp27mu-manylinux1_x86_64.whl
Installing collected packages: numpy
  Found existing installation: numpy 1.11.3
    Uninstalling numpy-1.11.3:
      Successfully uninstalled numpy-1.11.3
Successfully installed numpy-1.14.5
(so27) ubuntu@LAPTOP-S7M90K9N:~/git/smart_open$ python integration-tests/test_208.py
OK
(so27) ubuntu@LAPTOP-S7M90K9N:~/git/smart_open$

I can reproduce this problem with numpy-1.11.3. With newer numpy, it's no longer a problem.

Fixed by #208


Update portal.md

In the sentence "We use the term 'portal' to indicate any technology that is used to access and browse Walrus Sites," the word "an" was missing the letter "d." I read all documentation very carefully, so I corrected this oversight by adding the missing letter.

Thanks for the PR. This typo has been fixed in the meantime.


Proposal: Go-based Model Server

What would you like to be added?
Currently we have this project https://github.com/sustainable-computing-io/kepler-model-server based in Python that does many things....
Some of that belongs in Python - i.e training or anything that uses numpy - however there are elements of this codebase that would be useful to have in Go form.
What I would propose is:

Create an OpenAPI spec for the API used for model server
Create an pkg/model-server-api that implements this API
Generate pkg/model-server-client from the OpenAPI spec - this would be used by the pkg/model inferencing code.
Create pkg/model-db - which handles interactions with kepler model db
Create cmd/model-sever the actual binary that serves the API

This would then leave the functionality of the estimator and online-trainer in Python since the model pipelines should not need to change. These can either remain in Python, and the REST API from the model server can be adjusted appropriately.
OR
We can call them using Cython from the Go code 🤯 See: https://poweruser.blog/embedding-python-in-go-338c0399f3d5
Why is this needed?

The in-tree models that are used in Kepler can be removed 🎉 cmd/exporter can use pkg/kepler-model-db to download the latest models if none are in the correct path
CPU detection logic in Kepler can be used more easily to select the correct model
Type safe API bindings mean less bugs
We can more easily integration test these 2 binaries
Easier packaging and shipping of the model server
Code sharing and re-use between kepler-exporter standalone and kepler-exporter + kepler-model-server

The in-tree models that are used in Kepler can be removed 🎉 cmd/exporter can use pkg/kepler-model-db to download the latest models if none are in the correct path

We have had a discussion about this in the community call and  I think we actually can achieve this already by

removing the models from the image
Using a configmap to embed the models

IIUC, the idea behind adding this model is to support the usecase of running kepler (without estimator or model-server) on a VM without needing access to any external network.
(NOTE: all the point below are based on my limited understanding on models, training and selection. @sunya-ch please correct me if I am wrong :)
To take advantage of model-db, you will need the estimator sidecar (numpy / scikit).
For the rest of the points, I definitely see a small advantage (in terms of performance) in having a model server written in go to pick the best model and to serve them. However, models are served only once per kepler so I am not really sure  if rewrite benefits us at this point in time.
Also, the model selection logic should go hand in hand with the training part, i.e. changes in metadata or features should be incorporated in the best - model selection - https://github.com/sustainable-computing-io/kepler-model-server/blob/f6990f3c0afe7320af90e47e9e91819f397b7b32/src/server/model_server.py#L73 . And for that I think it is best to have that in python itself.


How send to pagination length of source?

Hi guys! i get an issue - need to send  number of all items in table to calculate correct pagination.
I managed to set up number items per page.  For example l send request for 20 items and set show to me 10 items/per page. But i have array length on server from 100 items.  It will show to me only 2 pagination buttons, but it should to add 5 pagination buttons for correct understanding how many items  i can get.

@AlexanderSkrypnyk Could you show how are you doing your pagination? ... will be difficult to help you without knowing how are doing the query to the backend, are you using the LocalDataSource aproach?, does you backend reply with the needed information so the pagination code knows about the total amount of records ?

@rbetancor thank you very much that you responded to my issue. Now I can't show to you my code ,because i've already used external pagination with your table.

@AlexanderSkrypnyk ok ... but it's not "my table" ... i'm just another devel using ng2-smart-table

@rbetancor Ok. So thanks a lot for you try help to me!!!

any update here? i got same question too because the API i consume got param itemperpage and current page, it used for get data using limit on mysql.

Any updates ? I have same issue.


notify subscribers on reconnection

Status
READY
JIRA Ticket
UMC-49 partially
Description
this line was removed in previous code changes, so hopefully it doesnt cause more issues.
seems to fix issues where features dont publish up, also the connection dot seems to be the correct color now
@boundlessgeo/spatial-connect

This seems to actually fix most of the bugs UMC-49 is trying to address, without the additional refactor.

@georific i think this is good to go, but should i change the target to the api branch? are we working from that in favor of develop for now?

@joshkendrick I would say merge to develop and then rebase api branch


SelectDropdown: Add Component

For integration with Gutenberg, we may need to replace the current FontSizePicker component from @wordpress/components (as it related to Typography Tools in Global Styles).
As such, we'll need some sort of custom select component:

I'm not a fan of the name CustomSelect (from @wordpress/components).
Ultimately, we can go with that if it's the best option.
I feel like either SelectDropdown or SelectMenu is a better description.

Sigh... It looks like Downshift doesn't really play nicely with Portal (at least, I haven't figured out a good way to do this yet).
At this point, we either massage Downshift useSelect... or we massage Reakit Menu 😂 .

Calling in reinforcements! (aka, @diegohaz ❤ )
Haiiiii!! I'm a bit stuck 😊 .
I basically want to remake the CustomSelect component in G2. Something we can use for this:
https://wordpress.github.io/gutenberg/iframe.html?id=components-fontsizepicker--default&viewMode=story
It doesn't look like the Reakit Menu should be used for this. Alternatively, there's the experimental Combobox component. However, for this particular select, we won't need to input part of Combobox.
From your perspective, should we use Menu or Combobox? :).
Ideally, I'd use something Reakit based because I'll be able to reuse other parts of G2. Otherwise... I'll have to rebuild many things to make Downshift happy (e.g. Dropdown menus, portal handling, Popper.js positioning, etc...)
Any thoughts and advice would be much appreciated 🙏 !!!

From my understanding, there was a lot of collaborative work to craft the CustomSelect component from @wordpress/components (a11y, dev, etc...).
For that reason, perhaps the SelectDropdown could use that code as it's foundation as a start?
The biggest feature it's missing at the moment is Portal'ing/Autopositioning.
Perhaps that and other adjustments to sync. it with Dropdown code can be enhanced later on.

It's coming together 🌈

Copied @diegohaz 's setup with Popper in Reakit's usePopoverState:
https://github.com/reakit/reakit/blob/master/packages/reakit/src/Popover/PopoverState.ts
Got it working roughly with downshift. Neat!
We don't have Portal'ing, but we have better positioning + size control.

Getting closer:

Some much needed enhancements:

Easily render as inline or block
Can customize min-width for the dropdown menu
Can customize max-width for the dropdown menu

At the moment, the select Element is rendering a Button.
Ideally, it should be rendering the same UI as a regular Select.
Going to work on that next.

Update: We did it! ✨
In addition to reusing 99% of existing components and styles for SelectDropdown, I also have Portaling + Popper working.
Check out this demo:
https://d.pr/v/RIRg1p
In it, you can see the Dropdown repositioning itself to the left/right if there's a chance it may be "cut off" from view in the browser (this is thanks to the positioning engine that is popper.js). The content is also Portal'ed. So it doesn't absorb lineHeight/fontSize styles from the inline text content.

From your perspective, should we use Menu or Combobox? :).

A bit late here! 😅
That's a great question. I've seen people using Menu for that in the past: https://codesandbox.io/s/gaudi-0bp08?file=/src/components/Listbox/Listbox.tsx
But I think Combobox is the best base for that, although it would still require a lot of work to make a select completely accessible with that.
Anyway, the best resources I know for accessible select components are these articles by Sarah Higley:

https://www.24a11y.com/2019/select-your-poison/
https://www.24a11y.com/2019/select-your-poison-part-2/


You told me to report this so here it is

Summary
Error: submit tx failed: ErrorSubmitTx.failed.(400)
failed:
aab3e076a3d3c29ada4cbac924937b5da7420fd1ea202caba0ce44dff88c1a47
Whoopsie, the ledger failed to upgrade an data-type from an earlier era into data of a newer era. If you ever run into this, please report the issue as you've likely discoverd a critical bug...
Steps to reproduce the behavior
asdfasdf
Actual Result
asfdasdf
Expected Result
asdfasdf
Describe the approach you would take to fix this
No response
System info
NixOS
Brave

The error is from ogmios -> https://github.com/CardanoSolutions/ogmios/issues/368


Some changes made trybuild stop substituting $DIR

I was working on the diesel crate.
The compile fail tests reported a lot of stderr diffs.
While many of the differences make sense, a lot of those diffs are like:
531c531
<    --> $DIR/selectable.rs:195:52
---
>    --> tests/fail/selectable.rs:195:52

My changes are in this commit https://github.com/Ploppz/diesel/commit/4854d0410d102fc75e3da7b8b2391d5c720a034f
To reproduce, cd diesel_compile_tests; cargo test. Maybe you will have to start postgres database like this https://github.com/diesel-rs/diesel/blob/master/CONTRIBUTING.md#setting-up-diesel-locally

I think this is behaving correctly — the diesel_compile_tests pass on my machine on the current master branch of diesel. The normalizations that trybuild applies are always changing to smooth over differences in rustc's diagnostic output across rustc versions, and in general we do normalization in a way that makes an old captured *.stderr file succeed if it matches the normalization logic of any previous trybuild release. When the error messages change independently of a rustc change though, like in your diesel code change, you regenerate the affected *.stderr files and typically you'd want that to run the most recent normalization logic.

Sorry, I don't quite understand why it stopped substituting tests/fail for $DIR, could you elaborate?

So basically you are saying that TRYBUILD=overwrite updates all stderr files to the new output

their changes may result in updates to completely unrelated test cases

I am not saying that. It updates affected tests only i.e. ones that fail. I believe this all already works the way that you are requesting.

:+1: That's correct. I've rechecked that with @Ploppz and there are other changes as well (which I was not aware of before). So sorry for the confusion, you are right, that's the correct behaviour :+1:


How to run mocha CLI debugger

I'm looking for a way to use CLI debugger (instead of Chrome DevTools) with karma runner. "Normally" I would execute:
mocha debug my_test.js

Is there any way to do this with karma-mocha?

You can't run the cli debugger with karma-mocha as it (the cli debugger) only works for node code, not code that is being run in the browser. So you have to use some debugging tool that works in the browser like Chrome DevTools.

OK. Thanks for clarification.


vulnerabilityScannerScanOnlyCurrentRevisions does not delete old reports

What steps did you take and what happened:

Enable vulnerabilityScannerScanOnlyCurrentRevisions on starboard operator
See reports generated only for most current deployments
Deploy new revision of deployment
See report generated for new deployment
See old report is still there

What did you expect to happen:

old report being deleted as I only want reports for the current deployments

Anything else you would like to add:

The implementation in #870 simply didn't add that part of the feature

Environment:

Starboard version (use starboard version): 0.14.0
Kubernetes version (use kubectl version):

Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.2", GitCommit:"9d142434e3af351a628bffee3939e64c681afa4d", GitTreeState:"clean", BuildDate:"2022-01-19T17:27:51Z", GoVersion:"go1.17.6", Compiler:"gc", Platform:"darwin/arm64"}
Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.3", GitCommit:"ca643a4d1f7bfe34773c74f79527be4afd95bf39", GitTreeState:"clean", BuildDate:"2021-07-15T20:59:07Z", GoVersion:"go1.16.6", Compiler:"gc", Platform:"linux/amd64"}

OS (macOS 10.15, Windows 10, Ubuntu 19.10 etc):

> sw_vers
ProductName:    macOS
ProductVersion: 11.6.2
BuildVersion:   20G314

I've had a look at this, and the issue seems to originate from https://github.com/aquasecurity/starboard/issues/926, which is referring to https://github.com/aquasecurity/starboard/pull/870. The title on https://github.com/aquasecurity/starboard/pull/870, "feat(vulnrebilityreports) Only show the latest vulnrebilityreports from a deployment", might fool you to believe that the change fixed this issue, but I don't think that ever was the plan. @NissesSenap, please correct me if I am wrong!
The name of the configuration property clearly states what is does, at least to me: vulnerabilityScannerScanOnlyCurrentRevisions. So I don't expect this to delete reports from inactive replicasets. There are also some interesting points in the discussion leading up to this change: https://github.com/aquasecurity/starboard/discussions/858.
I think we should think very carefully before changing the behavior here. Since the ownerReference is set on the reports, we should ideally leave deletion up to the Kubernetes garbage collection mechanism. We usually set ownerReference.blockOwnerDeletion=true on dependent resources in our internal controllers, but AFAIK this should be cleaned up by Kubernetes anyway when the parent is gone.
This issue could be be solved by configuration, though not ideal. One option is to set vulnerabilityScannerReportTTL, causing reports to be deleted the configured duration after creation. Since vulnerabilityScannerScanOnlyCurrentRevisions set to true will skip inactive replicasets, this should achieve the desired result.
I am also eager to find a better solution to the desire behind this issue, but I think it is more complex than to just adjust the behavior of the existing vulnerabilityScannerScanOnlyCurrentRevisions config property.....

Thanks for the tag @erikgb , there was a long time ago so my memory is a bit hazy of our thinking. I know that we spoke about it but I think our general feeling was to keep it as simple as possible for starters.
But looking at it now I feel that it would be a nice feature to add auto cleanup of the old reports as well when creating a new RS, this way ensuring quicker metric correctness even though the TTL feature helps out with this.
As you point out if the RS is removed the report will also be deleted since it's the owner of it the resource.
The current solution is far from optimal. We went with this direction to be able to solve the issue without doing any breaking changes.
Ideally I think we should change the default behavior and only scan on deployment level instead. Then we could reuse the same report and just update it over and over again. There are probably a bunch of reasons why we don't want to do this but i think it would lower the code complexity.
If this is something that we are willing to discuss again I can create a separate discussion about it.
Taking the risk of starting to talk about different things but ideally I think we also should refactor the TTL feature completely and build it in to the controller instead of having a secondary controller to just set TTL.
My guess is that is something that the community don't want, so in summary about this specific issue I think we should add the feature of auto cleanup of existing reports when a new report have been generated when using the vulnerabilityScannerScanOnlyCurrentRevisions flag.

Thanks for your input @NissesSenap! Always good to get some background on changes. Thinking a bit more about it, I think we should introduce a new configuration parameter, which could be named something in the lines of vulnerabilityScannerRevisonHistoryLimit, which will allow us to not be "slaves" of deployment revisionHistoryLimit. At the same time we should deprecate vulnerabilityScannerScanOnlyCurrentRevisions and eventually remove after a couple of releases. Until it is removed, we could make the properties "connected" in a way that makes this work about the same as now. WDYT?

Sounds reasonable @erikgb. What would the default value of vulnerabilityScannerRevisonHistoryLimit be do you think?

I would say the default value probably should be 1 when the transition period has ended, as I think a majority of users prefer to only keep reports for the active replicaset.

the same for
chart version: 0.10.6
appVersion: 0.15.6

After going through the discussions here and in aquasecurity/starboard#858 and the associated proposal from @erikgb, I propose the following solution -
Introduce new configuration parameter vulnerabilityScannerRevisonHistoryLimit with the default value of 0. This parameter will control the number of old vulnerability reports to retain. TTLReportReconciler (https://github.com/aquasecurity/trivy-operator/blob/main/pkg/vulnerabilityreport/ttl_report.go) will be extended to support deleting older vulnerability reports in addition to support deleting TTL expired reports when vulnerabilityScannerReportTTL configuration parameter is set.
This makes the vulnerabilityScannerScanOnlyCurrentRevisions configuration parameter redundant and harder to use along with the above new parameter vulnerabilityScannerRevisonHistoryLimit. I propose we remove this parameter (vulnerabilityScannerScanOnlyCurrentRevisions) to keep things simple. What this means in practice is when vulnerabilityScannerRevisonHistoryLimit is unset (= set to 0), only the latest revision is scanned and report is retained for that revision. If set to 1, then the 2 last revisions are scanned and reports retained for those 2 revisions.
If the above proposal sounds good, then I will start with the following tasks -

Start with unit tests for ttl_report.go so that I don’t break any existing functionality
Extend the TTL reconciler to support both TTL and vulnerabilityScannerRevisonHistoryLimit along with removing/deprecating vulnerabilityScannerScanOnlyCurrentRevisions parameter.

Comments?

@padlar so its mean that we will continue to create reports for all previous revisions but now we only garbage collect it by vulnerabilityScannerReportTTL and vulnerabilityScannerRevisonHistoryLimit  params ?

Just setting VulnerabilityScannerReportTTL alone is not sufficient to delete old reports. For example if there are 8 replica sets and the TTL is set to 24hrs, vulnerability reoorts for all 8 replica sets will be regenerated post TTL expiry. So to delete old reports without regenerating them, user has to set vulnerabilityScannerScanOnlyCurrentRevisions along with VulnerabilityScannerReportTTL. This restricts the scanning and the report generation to the latest revision.
Our proposal to replace vulnerabilityScannerScanOnlyCurrentRevisions with vulnerabilityScannerRevisonHistoryLimit allows the users to control the number of revisions to scan (default will be set to 0 – scan only the latest revision). This is a nice extension to the deployment clean pod policy Deployments | Kubernetes.

@padlar sorry for coming late on this , however I have to understand the suggested solution before going forward. removing vulnerabilityScannerRevisonHistoryLimit mean that we will continue to create reports for all previous revisions but now we only garbage collect it with vulnerabilityScannerReportTTL and vulnerabilityScannerRevisonHistoryLimit params ?

vulnerabilityScannerRevisonHistoryLimit default value will be 0, so by default report shall only be created for the latest revision.

don't we want to delete as little historical reports, as we reconcile ReplicaSets and VulnerabilityReports in the same loop ,meaning every report deletion will trigger re-scan , wdyt ?
also please elaborate why vulnerabilityScannerReportTTL (if it set by default) only without any other change is not sufficient for deleting previous revisions ?

Just setting VulnerabilityScannerReportTTL alone is not sufficient to delete the old reports. For example if there are 8 replica sets and the TTL is set to 24hrs, vulnerability reports for all 8 replica sets will be regenerated post TTL expiry. So to delete old reports without regenerating them, user has to set vulnerabilityScannerScanOnlyCurrentRevisions along with VulnerabilityScannerReportTTL. This restricts the scanning and the report generation to the latest revision.
Our proposal to replace vulnerabilityScannerScanOnlyCurrentRevisions with vulnerabilityScannerRevisonHistoryLimit allows the users to control the number of revisions to scan (default will be set to 0 – scan only the latest revision). This is a nice extension to the deployment clean pod policy Deployments | Kubernetes.

I know ,but this is what we want to This restricts the scanning and the report generation to the latest revision
trivy operator is runtime scanner it should only present what is running now on the cluster.
so vulnerabilityScannerScanOnlyCurrentRevisions along with VulnerabilityScannerReportTTL should solve the issue

IMO is keeping a scan report around, but not (re-)scan it, not optimal. And this issue really shows what users expects out of the vulnerabilityScannerScanOnlyCurrentRevisions property. It just doesn't do what users expect/want! Even if the property-name should give you an idea.  I think we'll just wait for https://github.com/aquasecurity/trivy-operator/issues/331 to revisit this issue. If someone else like to contribute an improvement using the existing properties, I would be happy for that. But from our point of view, the current properties (vulnerabilityScannerScanOnlyCurrentRevisions and vulnerabilityScannerReportTTL ), and the correlation between, should be reconsidered. And I think a new property like vulnerabilityScannerRevisonHistoryLimit will fit well in the standard K8s controller pattern with spec/status as suggested in https://github.com/aquasecurity/trivy-operator/issues/331, and combined will obsolete both existing properties.

IMO  vulnerabilityScannerScanOnlyCurrentRevisions and vulnerabilityScannerReportTTL both should be activate by default , it will give us the same result.
I do not see the need for introducing additional logic on top of it.

 I honestly expected from the name vulnerabilityScannerScanOnlyCurrentRevisions that it would only keep new reports and remove old ones. I feel like the name is misleading.
In any case, we use the grafana dashboards from starboard-exporter and having old versions floating around will balloon the amount of found CVEs. Which means the numbers in that dashboards are useless, because they don't represent the current cluster-state. To fix this we have to manually delete old reports which is tedious.

I also think the var name vulnerabilityScannerScanOnlyCurrentRevisions is misleading.
I was expecting not to see new reports for old replica sets that are not active.
I have a few days old replica set, but I see vulnerability scans for all of them, and the reports themselves are 1hr old.

@komljen in the prev. version of trivy-operator , vulnerabilityScannerScanOnlyCurrentRevisions and TTL has been  enabled by default , you should not see reports older then 1 day

I don't see old reports, but those reports scan for images in the old replica sets which are not active anymore.
So, unless I remove the old replica set I would still see the vulnerability reported, even though the image from the old replica sets are no longer running.

If I have those 3 replica sets:
inalytics-595c655c75                  0         0         0       3d1h
inalytics-5bbb6c96d4                  0         0         0       2d1h
inalytics-6575c95c48                  6         6         6       26h

Only the last one has active/running containers. But the scanner will check for all of those. And currently, there isn't an option to run a scan only on the latest one.

Which trivy-operator version are you using?
Did you set vulnerabilityScannerScanOnlyCurrentRevisions to false ?

can you find me on slack , I'll explain better
On Thu, Oct 20, 2022, 7:24 PM Alen Komljen @.***> wrote:

If I have those 3 replica sets:
inalytics-595c655c75                  0         0         0       3d1h
inalytics-5bbb6c96d4                  0         0         0       2d1h
inalytics-6575c95c48                  6         6         6       26h
Only the last one has active/running containers. But the scanner will
check for all of those. And currently, there isn't an option to run a scan
only on the latest one.
—
Reply to this email directly, view it on GitHub
https://github.com/aquasecurity/trivy-operator/issues/237#issuecomment-1285835486,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACKUI6NZ2TNDVPLRJIACPVTWEFW45ANCNFSM52QMRHBQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

I see , you are using starboard not trivy-operator

What is the difference?
Cannot join slack, it reports a server error. Will try again later.

These is a huge different between starboard to trivy-operator , as I mention in trivy-operator you should not see this issue , starboard is in maintenance mode in last six months , no improvments or advance features

I see, I will try replacing it with trivy operator and post here for results.
Thanks so much for the quick answers.


RS816

FYI the armada38x version seems to work on the RS816
Managed to hit around 500Mbit/s, and that was with MooseFS writing to the chunk-server I'd managed to get running on the thing ;-)

Thank you, I've updated the compatibility list!


Contour/Shape Detection

Aim

How to detect shapes of objects by finding their contours.

Details

Contours are basically outline that bound the shape or form of an object. So we will be detecting multiple shapes and how many corners points each shape has along with its area .

I would like to work on this under GSSOC'21.

@mehabhalodiya Your one PR is under review and I just assigned you one issue. So this issue will be assigned to you after that PR is approved by all mentors and ready to merge. Until then if anyone else claims this issue, then I can't say no to them.


Clicking 'unicode-range' on the front page throws an TypeError

Thanks for reporting this. This was a small bug and should now be fixed.