🐛 [cloud_firestore] Setting experimentalForceLongPolling doesn't seem to have effect

Bug report
Describe the bug
We are using cloud_firestore in our app and some of our customers are having trouble connecting to Firestore. They are experiencing client_is_offline bug.
We were having this issue in cloud_firestore: 2.5.4 before, but somehow setting experimentalForceLongPolling worked.
firebase.firestore().settings({ experimentalForceLongPolling: true })

But ever since we upgraded it seems to have no effect for our customers. We also tried using this proxy in settings mentioned here
https://github.com/firebase/firebase-js-sdk/issues/6987
Apparently this proxy should not let you connect to firestore unless experimentalForceLongPolling is set to true. But this doesn't seems to show effect on flutter side.
Able to connect:
firebase.firestore().settings({
 host: `6i558xin74.execute-api.us-west-1.amazonaws.com`
 experimentalAutoDetectLongPolling: true,
})

Able to connect as well (expected - connectivity issue):
firebase.firestore().settings({
 host: `6i558xin74.execute-api.us-west-1.amazonaws.com`
 experimentalAutoDetectLongPolling: false,
})

That means firebase.firestore().settings({}) is not working as expected?
Also, when we print FirebaseFirestore.instance.settings all values are null no matter what we set in index.html
Steps to reproduce
Steps to reproduce the behavior:

It's hard to reproduce as only certain networks are having this problem.
The above settings wrks as expected when tried no vue, but it doesn't work on flutter side.

Expected behavior
Settings provided on firebase.firestore().settings() should show effect.
Additional context
https://github.com/firebase/firebase-js-sdk/issues/6987

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
octor summary (to see all details, run flutter doctor -v):
[!] Flutter (Channel stable, 3.7.0, on macOS 13.2 22D49 darwin-x64, locale en-IN)
    ! Warning: `dart` on your path resolves to /usr/local/Cellar/dart/2.18.2/libexec/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/oshochawla/development/flutter. Consider adding
      /Users/oshochawla/development/flutter/bin to the front of your path.
[!] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.2)
[✓] VS Code (version 1.75.1)
Scanning for devices is taking a long time...[✓] Connected device (2 available)
[✓] HTTP Host Availability

! Doctor found issues in 2 categories

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
Dart SDK 2.19.0
Flutter SDK 3.7.0
meeting_carnival_core 0.0.1

dependencies:
- animated_widgets 1.1.0 [flutter vector_math]
- auto_size_text 3.0.0 [flutter]
- carousel_slider 4.2.1 [flutter]
- cloud_firestore 4.4.3 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- dartz 0.10.1
- diffutil_dart 3.0.0
- dio 4.0.6 [http_parser path]
- dotted_border 2.0.0+3 [flutter path_drawing]
- email_validator 2.1.17
- equatable 2.0.5 [collection meta]
- file_picker 5.2.5 [flutter flutter_web_plugins flutter_plugin_android_lifecycle plugin_platform_interface ffi path win32]
- firebase 9.0.3 [http http_parser js]
- firebase_auth 4.2.9 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.7.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_database 10.0.14 [firebase_core firebase_core_platform_interface firebase_database_platform_interface firebase_database_web flutter]
- firebase_storage 11.0.14 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter]
- flame_forge2d 0.12.5 [flame flutter forge2d]
- flame_texturepacker 2.1.0 [flutter flame]
- flick_video_player 0.3.1 [flutter video_player provider wakelock]
- flip_card 0.6.0 [flutter]
- flushbar 1.10.4 [flutter]
- flutter 0.0.0 [characters collection js material_color_utilities meta vector_math sky_engine]
- flutter_bloc 7.3.3 [flutter bloc provider]
- flutter_scatter 0.2.0 [flutter]
- flutter_spinkit 5.1.0 [flutter]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- json_serializable 6.6.1 [analyzer async build build_config collection json_annotation meta path pub_semver pubspec_parse source_gen source_helper]
- just_audio 0.9.31 [just_audio_platform_interface just_audio_web audio_session rxdart path path_provider async uuid crypto meta flutter]
- logging 1.1.1
- lottie 2.2.0 [archive flutter path vector_math]
- material_design_icons_flutter 6.0.7096 [flutter]
- meeting_carnival_mobile 1.0.0+1 [flutter flutter_web_plugins flutter_localizations meeting_carnival_core meeting_carnival_web one_to_hundred_game_repository animated_widgets auto_size_text carousel_slider cloud_firestore dartz diffutil_dart dio dotted_border email_validator equatable file_picker firebase firebase_auth firebase_core firebase_database firebase_storage flame_forge2d flame_texturepacker flushbar flutter_bloc flutter_spinkit json_serializable just_audio logging lottie material_design_icons_flutter multiple_stream_builder percent_indicator provider qr_flutter retry rxdart sentry shared_preferences string_similarity universal_html url_launcher uuid worker_manager youtube_player_iframe flip_card]
- meeting_carnival_web 1.0.0+1 [flutter flutter_web_plugins flutter_localizations meeting_carnival_core meeting_carnival_mobile one_to_hundred_game_repository animated_widgets auto_size_text carousel_slider cloud_firestore dartz diffutil_dart dio dotted_border email_validator equatable file_picker firebase firebase_auth firebase_core firebase_database firebase_storage flame_forge2d flame_texturepacker flushbar flutter_bloc flutter_spinkit json_serializable just_audio logging lottie material_design_icons_flutter multiple_stream_builder percent_indicator provider qr_flutter retry rxdart sentry shared_preferences string_similarity universal_html url_launcher uuid worker_manager youtube_player_iframe flip_card flutter_scatter]
- multiple_stream_builder 3.0.2 [flutter]
- one_to_hundred_game_repository 1.0.0+1 [flutter meeting_carnival_core cloud_firestore equatable firebase_core logging uuid]
- percent_indicator 4.2.2 [flutter]
- provider 6.0.5 [collection flutter nested]
- qr_flutter 4.0.0 [flutter qr]
- retry 3.1.0
- rxdart 0.27.7
- sentry 6.20.1 [http meta stack_trace uuid intl]
- shared_preferences 2.0.18 [flutter shared_preferences_android shared_preferences_foundation shared_preferences_linux shared_preferences_platform_interface shared_preferences_web shared_preferences_windows]
- string_similarity 2.0.0
- universal_html 2.0.9 [async csslib charcode collection html meta source_span typed_data universal_io]
- url_launcher 6.1.10 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]
- uuid 3.0.7 [crypto]
- video_player 2.1.5 [flutter flutter_test meta video_player_platform_interface video_player_web]
- worker_manager 4.1.1 [async collection meta]
- youtube_player_iframe 4.0.4 [flutter meta webview_flutter webview_flutter_android webview_flutter_wkwebview url_launcher youtube_player_iframe_web]

dev dependencies:
- build_runner 2.3.3 [args async analyzer build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style frontend_server_client glob graphs http_multi_server io js logging meta mime package_config path pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection js matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]

transitive dependencies:
- _fe_analyzer_shared 54.0.0 [meta]
- _flutterfire_internals 1.0.16 [collection firebase_core firebase_core_platform_interface flutter meta]
- analyzer 5.6.0 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- archive 3.3.6 [crypto path pointycastle]
- args 2.4.0
- async 2.10.0 [collection meta]
- audio_session 0.1.13 [flutter flutter_web_plugins rxdart meta]
- bloc 7.2.1 [meta]
- boolean_selector 2.1.1 [source_span string_scanner]
- build 2.3.1 [analyzer async convert crypto glob logging meta path]
- build_config 1.1.1 [checked_yaml json_annotation path pubspec_parse yaml]
- build_daemon 3.1.1 [built_collection built_value http_multi_server logging path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 2.2.0 [analyzer async build collection crypto graphs logging path package_config pool pub_semver stream_transform yaml]
- build_runner_core 7.2.7 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta path package_config pool timing watcher yaml]
- built_collection 5.1.1
- built_value 8.4.3 [built_collection collection fixnum meta]
- characters 1.2.1
- charcode 1.3.1
- checked_yaml 2.0.2 [json_annotation source_span yaml]
- clock 1.1.1
- cloud_firestore_platform_interface 5.11.3 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 3.3.3 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- code_builder 4.4.0 [built_collection built_value collection matcher meta]
- collection 1.17.0
- convert 3.1.1 [typed_data]
- crypto 3.0.2 [typed_data]
- csslib 0.17.2 [source_span]
- dart_style 2.2.4 [analyzer args path pub_semver source_span]
- fake_async 1.3.1 [clock collection]
- ffi 2.0.1
- file 6.1.4 [meta path]
- firebase_auth_platform_interface 6.11.11 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.2.8 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.5.3 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.2.1 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_database_platform_interface 0.2.2+21 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_database_web 0.2.1+23 [firebase_core firebase_core_web firebase_database_platform_interface flutter flutter_web_plugins js]
- firebase_storage_platform_interface 4.1.30 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_storage_web 3.3.23 [_flutterfire_internals async firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http js meta]
- fixnum 1.1.0
- flame 1.6.0 [collection flutter meta ordered_set vector_math]
- flutter_localizations 0.0.0 [flutter intl characters clock collection js material_color_utilities meta path vector_math]
- flutter_plugin_android_lifecycle 2.0.8 [flutter]
- forge2d 0.11.0 [vector_math]
- frontend_server_client 3.2.0 [async path]
- glob 2.1.1 [async collection file path string_scanner]
- graphs 2.2.0 [collection]
- html 0.15.1 [csslib source_span]
- http 0.13.5 [async http_parser meta path]
- http_multi_server 3.2.1 [async]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- intl 0.17.0 [clock path]
- io 1.0.4 [meta path string_scanner]
- js 0.6.5 [meta]
- json_annotation 4.8.0 [meta]
- just_audio_platform_interface 4.2.0 [flutter plugin_platform_interface]
- just_audio_web 0.4.7 [just_audio_platform_interface flutter flutter_web_plugins]
- matcher 0.12.13 [meta stack_trace]
- material_color_utilities 0.2.0
- meta 1.8.0
- mime 1.0.4
- nested 1.0.0 [flutter]
- ordered_set 5.0.0
- package_config 2.1.0 [path]
- path 1.8.2
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- path_provider 2.0.13 [flutter path_provider_android path_provider_foundation path_provider_linux path_provider_platform_interface path_provider_windows]
- path_provider_android 2.0.23 [flutter path_provider_platform_interface]
- path_provider_foundation 2.1.2 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.9 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_platform_interface 2.0.6 [flutter platform plugin_platform_interface]
- path_provider_windows 2.1.4 [ffi flutter path path_provider_platform_interface win32]
- platform 3.1.0
- plugin_platform_interface 2.1.4 [meta]
- pointycastle 3.6.2 [collection convert js]
- pool 1.5.1 [async stack_trace]
- process 4.2.4 [file path platform]
- pub_semver 2.1.3 [collection meta]
- pubspec_parse 1.2.1 [checked_yaml collection json_annotation pub_semver yaml]
- qr 2.1.0 [meta]
- shared_preferences_android 2.0.16 [flutter shared_preferences_platform_interface]
- shared_preferences_foundation 2.1.4 [flutter shared_preferences_platform_interface]
- shared_preferences_linux 2.1.4 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_platform_interface]
- shared_preferences_platform_interface 2.1.1 [flutter plugin_platform_interface]
- shared_preferences_web 2.0.5 [flutter flutter_web_plugins shared_preferences_platform_interface]
- shared_preferences_windows 2.1.4 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface]
- shelf 1.4.0 [async collection http_parser path stack_trace stream_channel]
- shelf_web_socket 1.0.3 [shelf stream_channel web_socket_channel]
- sky_engine 0.0.99
- source_gen 1.2.7 [analyzer async build dart_style glob path source_span yaml]
- source_helper 1.3.3 [analyzer collection source_gen]
- source_span 1.9.1 [collection path term_glyph]
- stack_trace 1.11.0 [path]
- stream_channel 2.1.1 [async]
- stream_transform 2.1.0
- string_scanner 1.2.0 [source_span]
- term_glyph 1.2.1
- test_api 0.4.16 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- timing 1.0.1 [json_annotation]
- typed_data 1.3.1 [collection]
- universal_io 2.2.0 [collection meta typed_data]
- url_launcher_android 6.0.24 [flutter url_launcher_platform_interface]
- url_launcher_ios 6.1.1 [flutter url_launcher_platform_interface]
- url_launcher_linux 3.0.3 [flutter url_launcher_platform_interface]
- url_launcher_macos 3.0.3 [flutter url_launcher_platform_interface]
- url_launcher_platform_interface 2.1.2 [flutter plugin_platform_interface]
- url_launcher_web 2.0.15 [flutter flutter_web_plugins url_launcher_platform_interface]
- url_launcher_windows 3.0.4 [flutter url_launcher_platform_interface]
- vector_math 2.1.4
- video_player_platform_interface 4.2.0 [flutter flutter_test meta]
- video_player_web 2.0.14 [flutter flutter_web_plugins video_player_platform_interface]
- wakelock 0.5.6 [flutter meta wakelock_macos wakelock_platform_interface wakelock_web wakelock_windows]
- wakelock_macos 0.4.0 [flutter flutter_web_plugins wakelock_platform_interface]
- wakelock_platform_interface 0.3.0 [flutter meta]
- wakelock_web 0.4.0 [flutter flutter_web_plugins js wakelock_platform_interface]
- wakelock_windows 0.2.1 [flutter wakelock_platform_interface win32]
- watcher 1.0.2 [async path]
- web_socket_channel 2.3.0 [async crypto stream_channel]
- webview_flutter 4.0.5 [flutter webview_flutter_android webview_flutter_platform_interface webview_flutter_wkwebview]
- webview_flutter_android 3.3.1 [flutter webview_flutter_platform_interface]
- webview_flutter_platform_interface 2.0.2 [flutter meta plugin_platform_interface]
- webview_flutter_wkwebview 3.1.1 [flutter path webview_flutter_platform_interface]
- win32 3.1.3 [ffi]
- xdg_directories 1.0.0 [meta path process]
- yaml 3.1.1 [collection source_span string_scanner]
- youtube_player_iframe_web 2.0.2 [flutter flutter_web_plugins webview_flutter_platform_interface]

Thanks for the report @osho-chawla
Flutterfire has not implemented  experimental options on any service, so I don't think there's anything actionable from flutterfire side for this behavior.
I suggest you to report this in firebase support for further resolution. Closing from here. If you disagree or get directed here again, write in comments and I'll reopen it.


Add auto-scrolling to log text area

Add auto-scrolling to the log text area so that the most recent activity is always visible.

Fixed by #143


http_proxy env support

I think support http_proxy will be more nice. other language or lib auto read http_proxy and auto support it , so i must set proxy for  gorequest.
now, my case is that  using http_proxy to proxy k8s cluster, so i can request k8s service on my mac.  In prod, i never use proxy, so i can't set proxy hard code.

Hello,
please use the the new v0.8.13 terraform-provider-aquasec
Now it correctly honours the HTTPS_PROXY variable


fix(checkhealth): reorganize and fix advice()

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


Continuous Quality

I know real estate is limited on the landscape, but the multitude of testing workloads across the lifecycle (shift left, shift right, release testing) could warrant a dedicated box for testing perhaps called "Continuous Quality". Allows for painting a broader (but connected) picture of testing across the lifecycle. Unit testing through post deployment testing.

#175

+1 and this could include subcategories for Automated, Manual.
Load testing, continuous testing wording.
What are the additional tools in this space?

Appium
Launchable

@eobianwu can you add additional suggestions

@eobianwu @MarckK Here is a spreadsheet that I worked on with the outreach team for prospective members back in March/April. At the time I focused on continuous test so there are several companies listed there. I did not break out the testing group for Landscape purposes but I believe it is a good start on the companies in this broader category.
https://docs.google.com/spreadsheets/d/1IJQisvTs8DQ5CzdvF3wMdRFdTqeXy83k5VXLP5Jd2ag/edit?usp=sharing

@tracymiranda @MarckK I propose the following. "Continuous Quality" is the standalone category with the following tools/products/services listed as illustrative of the breadth of testing categories across CD stakeholders (shift left, shift right, and categories of testing) JUnit, JMeter, Browserstack, Appium, Selenium, Testlio, LaunchDarkly, Netsparker.


LB listens on all interfaces when used with scheduler IP's

Rancher versions:
rancher/server: v1.6.7
It's not feasible to specify an IP when deploying more than one LB. LB's run on multiple nodes for resilience.
It would be great if the LB behaved like other services and was assigned a scheduler IP at random, as thats how regular services work. The problem can be exacerbated when a load-balancer hijacks the traffic for another well-behaved service.

Manual tests:

Launch three hosts in UI:

add additional ip for hosts

for "default" host, add two extra fake ip: <IP_ADDRESS>, <IP_ADDRESS>

for "default2" host, add two extra fake ip: <IP_ADDRESS>, <IP_ADDRESS>

for "default3" host, add two extra fake ip: <IP_ADDRESS>, <IP_ADDRESS>

3.create a "test" stack, and create a service (named "service1") in "test" stack, which being launched in "default3" host.
4.create a load balancer service (named "lb") in "test" stack, and set port "11:11" and "22:22", choose service1 as private port's container.
which, we can see that, ip allocated to "lb" is "default2" host's ip, which is correct (since here we want to make sure the allocated ip not comes from other hosts).

5.update "lb" service with a new port 33:33

we can see that:

new ports 33:33 being allocated with ip belongs to "default2" host

oldPorts (11:11, and 22:22) still being bounded with their previous allocated ip

same for API and mysql database:

for API:
ports": [ 3 items
"<IP_ADDRESS>:11:11/tcp",
"<IP_ADDRESS>:22:22/tcp",
"<IP_ADDRESS>:33:33/tcp",
],

for mysql DB:
mysql> select id, name, public_port, data, state from port where removed is null;
+-----+------+-------------+--------------------------------------------+-----------+
| id  | name | public_port | data                                       | state     |
+-----+------+-------------+--------------------------------------------+-----------+
| 523 | NULL |          11 | {"fields":{"bindAddress":"<IP_ADDRESS>"}} | active    |
| 524 | NULL |          22 | {"fields":{"bindAddress":"<IP_ADDRESS>"}} | active    |
| 525 | NULL |          33 | {"fields":{"bindAddress":"<IP_ADDRESS>"}} | active    |
+-----+------+-------------+--------------------------------------------+-----------+

Nice!

We are currently experiencing load balancer issues.  When using 3 Ip’s on a single host (2 VIP’s) and use the same port on two different IPs, I am getting an error:
Expected state running but got stopped: Allocation failed: Error reserving resources: [<IP_ADDRESS>:8443:8443/tcp, <IP_ADDRESS>:443:443/tcp portReservation, instanceReservation: 1
Added the IPs to scheduler IP list on the host as such:
System    io.rancher.scheduler.ips   <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>
This issue also seems intermittent.  The initial setup with the load balancer with a port seems to work.  However any restarts or changes then makes it impossible to reuse the same port as stated above.  Please advise, thanks.

@asrivats15 can you open a separate issue for the problem you are experiencing?

Hi, I just wanted to check if this fix was targeted for a release yet. I've confirmed it's not present in the 1.6.10 release we just installed.

Yes, targeted for november.
FYI, the "resolved" label doesnt mean its in a release. If the issue is open, it isn't in a release yet.

Sounds good; thanks!
On Fri, Oct 6, 2017 at 9:46 AM, Craig Jellick<EMAIL_ADDRESS>wrote:

Yes, targeted for november.
FYI, the "resolved" label doesnt mean its in a release. If the issue is
open, it isn't in a release yet.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rancher/rancher/issues/9752#issuecomment-334808879,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZg4d8rNZfN8tW3KHw0l6mXcwTyivfBXks5spllIgaJpZM4PCH2-
.

Able to reproduce this issue with 1.6.10 setup having hosts with scheduler Ips.
Create a Lb service with 2 listening ports - 7777 and 8888
At this point , the LB ports get bound to the scheduler Ips as expected.
Edit LB and add a new listening port say 9999.

Create a Lb service with 1 listening ports .
At this point , the LB ports get bound to the scheduler Ips as expected.
Edit LB and add a new listening port to LB.
After this , existing port and new port are bound to the scheduler Ips as expected.
@csnavely , this fix will be available in the 1.6.11 release.


Clicking "Go to badges" in rewards when logged out results in blank screen

Describe the bug
After completing a skillmap and being given rewards, I'm prompted to go to my badges, but when I go to the page not logged in, it's all blank
To Reproduce
Steps to reproduce the behavior:

Complete https://arcade.makecode.com/beta--skillmap#github:riknoll/skillmap-branch/rewards while not logged in
Accept badges, and go to badges
See blank screen

Expected behavior
Maybe a prompt to log in?

Error from console:
2.9cb94aa0.chunk.js:2 Uncaught TypeError: Cannot read properties of undefined (reading 'username')
    at t.UserPane (main.c49acd24.chunk.js:1)
    at pl (2.9cb94aa0.chunk.js:2)
    at _a (2.9cb94aa0.chunk.js:2)
    at bu (2.9cb94aa0.chunk.js:2)
    at yu (2.9cb94aa0.chunk.js:2)
    at uu (2.9cb94aa0.chunk.js:2)
    at 2.9cb94aa0.chunk.js:2
    at t.unstable_runWithPriority (2.9cb94aa0.chunk.js:2)
    at Ko (2.9cb94aa0.chunk.js:2)
    at Jo (2.9cb94aa0.chunk.js:2)


Is there an option to reset lowest price after the sell grid has execute

Hello,
I would like to know if there is a way to reset the value of "current lowest price" after selling to trade on the new range of value.
When my single selling grid is done, the current lowest price isn't updated to the actual value current lowest price.
For example on bitcoin with 3 min interval (x 30), the current lowest price should be 16835 now but is stays at 16420 (which was yesterday). If I want to reset it to trade on the new range, I have to change the option (interval and limit)  and reset the same options (3 min/x 30) to update to the new values.

Hi @jeromedubois101
I am not sure I am following the issue.

For example on bitcoin with 3 min interval (x 30), the current lowest price should be 16835 now but is stays at 16420 (which was yesterday).

The bot will use the last 30 ticks of 3 mins intervals. So it should update as the price changes.
It does not lock the lowest price.


istioctl: init at 1.6.5

Motivation for this change

Istio configuration command line utility for service operators to debug and diagnose their Istio mesh

The binary is statically linked.
Things done

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

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

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

This seems like a pretty straightforward Go project:
$ istioctl/cmd/istioctl
$ go build
$ ls -l istioctl
-rwxr-xr-x 1 daniel users 123085651 Jul 20 17:20 istioctl

So, this could just be built with buildGoModule or buildGoPackage. Building from source is highly preferred over packaging binaries.

Agreed and adapted! The binary is pretty huge though.`
$ du -ah (which istioctl)
101M	/nix/store/sxzlfz98ha3fwgp7831yc56zcdhb2hdn-istioctl-1.6.5/bin/istioctl

Agreed and adapted!

Awesome :+1:

The binary is pretty huge though.`
$ du -ah (which istioctl)
101M	/nix/store/sxzlfz98ha3fwgp7831yc56zcdhb2hdn-istioctl-1.6.5/bin/istioctl

Strange. Here it's much smaller:
$ du -am `which istioctl`
36	/nix/store/kpzlm3vgbbs7s99sr4781z9phvc71nwa-istioctl-1.6.5/bin/istioctl


How does masking affect forward and back propagation through time in LSTMs?

I am using Tensorflow API to code variational autoencoder for time series data. My model is as follows:
    # encoder
    inp_x = tfk.layers.Input(shape=(max_ts, 1))
    masked_x = tfk.layers.Masking(mask_value=padding_value)(inp_x)
    x = tfk.layers.LSTM(64,return_sequences=True)(masked_x)
    x = tfk.layers.LSTM(64)(x)
    z = tfk.layers.Dense(32, activation="relu")(x)
    z_mean = tfk.layers.Dense(latent_dim)(z)
    z_log_sigma = tfk.layers.Dense(latent_dim)(z)
    encoder = tfk.Model(inp_x, [z_mean, z_log_sigma])

    # decoder
    inp_z = tfk.layers.Input(shape=(latent_dim,))
    y = masked_repeatvector(max_ts, padding_value)([inp_z, inp_x])
    y = tfk.layers.LSTM(64, return_sequences=True)(y)
    out = tfk.layers.TimeDistributed(tfk.layers.Dense(1))(y)
    decoder = tfk.Model(inp_z, out)

    # encoder & decoder
    z_mean, z_log_sigma = encoder(inp_x)
    z = tfk.layers.Lambda(sampling)([z_mean, z_log_sigma])
    out = decoder(z)
    vae = tfk.Model(inp_x, out)
    vae.add_loss(vae_loss(inp_x, out, max_ts, z_log_sigma, z_mean))
    # vae.add_loss(masked_vae_loss(inp_x, out, max_ts, z_log_sigma, z_mean, padding_value))
    return vae, encoder, decoder

As you can see my data is variable length so naturally I am using padding at the input. however, the padding information is lost at the end of the decoder. So to ensure the decoder accounts for the padding values, I have two options 1) either include a masking layer after the repeatvector layer 2) include a masked loss. I have gone with the second solution. My loss function is as follow:
def masked_vae_loss(original, out, ts,  z_log_sigma, z_mean, padding_value):
    mask = tf.cast(tf.not_equal(original, padding_value), dtype=tf.float32)
    reconstruction = K.mean(K.square(tf.math.multiply(original - out,mask)))*ts
    kl = -0.5 * K.mean(1 + z_log_sigma - K.square(z_mean) - K.exp(z_log_sigma))
    return reconstruction + kl

My model works but I get outputs with last value repeated for the padded values. Same thing happens when i use the decoder to generate timeseries data from sampled latents. I am having trouble understanding the outputs. From my research, I know that in Tensorflow, LSTM has been implemented so that last hidden states is copied for the padded/masked values. Does it also happen when the loss is maksed and no explicit masking is provided?

@jaweriaamjad,
Could you please provide the complete standalone code or colab gist to reproduce the issue, which also helps us to debug the issue in an effective way. Thank you!

Hi! Please find the link to the colab gist:
https://gist.github.com/jaweriaamjad/f54c6aa65cf52dcef7ee5b408e13af4d

@jaweriaamjad,
Apologies for the delay. I tried to execute the mentioned code on tf-nightly and found that outputs with the last value were not repeated for the padded values. Kindly find the gist of it here.

Masking is not that complicated if we understand how the loss is computed with masking. For instance let us assume we have a sequence with length 256. From this sequence we have a masking with only 4 elements that are with masking of 1 (others are with masking 0). I thought the loss is computed as the average between these 4 elements. Guess what - it is not! The average loss will be divided by 256 instead. For this reason sometimes the loss will be extremely small (0.0something) if we have only few 1 elements and long sequence.
Does it matter? I guess not, as what we need is the gradient of loss, rather than the loss itself.

When we use softmax as the last layer, the denominator would be the sum of exponential of all elements, regarding whether their masking is 1 or 0.

I thought the output of masking inputs is zeros all the time in LSTM. But it is not the case. Let us assume we have a masking:

0 0 0 1 1 0 0 0

With this case, the three first elements with masking zero has output of 0. However, the three last zeros have output that is as the same as the output of the last element with masking 1.

Meanwhile, Keras is very convenient in the sense that the loss it computes will be based on only elements with masking of 1. I found this is a big plus of using Keras, something a bit too good too be true as I guess implementing this is not that easy.

Also each Keras layer declares if it supports masking. Each layer is also responsible for using the mask in a sensible way (which I believe is the primary source of confusion: that the masking functionality is implemented across a bunch of different classes). For RNN layers in particular, they rely on the fact that the underlying K.rnn operation has mask support so if you're looking for where precisely the logic is, you'll note that the RNN layers simply pass the mask argument into the backend, where the magic happens.


Does gorm's usage of protobuf/gogo @ v1.0.0 force me to use protobuf/gogo in my entire project at this version?

Hi,
I'm new as to what versions of my dependencies I need for compilation of my protobuf and how that changes in production runtime.
I use gorm and grpc-gateway, it also requires I install proto-gen-go, do they need to be the same versions I use with gorm? maybe there Is there a project that uses gorm and grpc-gateway I can look at?

https://github.com/go-gorm/gorm/issues/3301#issuecomment-679050371


Hugo fails to build site if page has a link

Thank you for sharing your code.
I installed via pip3 , then uninstalled and installed development version via make after cloning the repo. Encountered the same issue with both.
Created two pages in the Obsidian vault:
index.md
This is a [[test]]

test.md
Only a test.

After running python3 -m obsidian_to_hugo ..., I see these two files created in the Hugo content folder:
index.md
This is a [test]({{< ref "test" >}})

test.md
Only a test.

When I run hugo, I get the following error:
hugo server -D --disableFastRender
Start building sites …
hugo v0.104.3+extended darwin/arm64 BuildDate=unknown
ERROR 2022/10/09 02:14:41 [en] REF_NOT_FOUND: Ref "test": "/---/content/index.md:1:18": page not found
Error: Error building site: logged 1 error(s)

I have no idea what I'm doing wrong as I'm new to Obsidian, Hugo and this script.
I have tried "PaperMod" and "etch" themes, no difference.
Any help is appreciated :)

Hey @hiway
In Hugo index files are prefixed with a leading underscore:

https://gohugo.io/content-management/organization/#index-pages-_indexmd
https://stackoverflow.com/a/62642790/13765033

When you rename your obsidian/index.md into obsidian/_index.md your Hugo build should pass without any errors.

Thank you! I appreciate you taking the time to help a newbie :)
Closing the issue as it is resolved.


Auditing Statically Generated Next.js Pages

Describe the bug
We are having trouble configuring the plugin to audit statically generated pages in a Next.js site. We are using Next's internationalised routing, so the page we'd like to audit is available at /en-US/products/product-name.
We've tried passing this route to [[plugins.inputs.audits]] and also the path to the generated page in the build output, but both result in the following error: Lighthouse was unable to reliably load the page you requested. Make sure you are testing the correct URL and that the server is properly responding to all requests. (Status code: 404).
What is the correct way to go about auditing a statically generated page like this?
To Reproduce
Steps to reproduce the behavior:

Install the plugin on a Next.js site using i18n routing
Configure netlify.toml to audit a statically generated page:

[[plugins.inputs.audits]]
    path = "/en-US/products/product-name"

Observe the error in the build output: Lighthouse was unable to reliably load the page you requested...

Expected behavior
The plugin audits the page specified in [[plugins.inputs.audits]]
Screenshots
N/A
Desktop (please complete the following information):
N/A
Smartphone (please complete the following information):
N/A
Additional context

Hey @dananthony, Sorry for the lack of follow-ups to your issue report.
Version 4 of this plugin changes how paths are interpreted when running the Lighthouse tests, reducing chances of 404s, and hopefully addressing your issue. Under the hood, the plugin runs agains static HTML files in your build/output folder so as you mentioned, using the path to the generated page would be a good place to start.
I'm going to close this issue for now, but please get in touch if we can help with anything else.


Static Typing with Flow

This PR brings in support for static typing via flow. Currently it adds typing to the src files but not the test files.
It also adds flow to part of the post test scripts
I'll be doing the same thing with typescript so we can compare the two implemenations

I found this lodash Flow interface: https://github.com/marudor/flowInterfaces/blob/master/packages/iflow-lodash/index.js.flow. I think it would be to incorporate it in this PR to see how it goes.

One thing that was a bit sad was discovering that ImmutableJS only has TypeScript bindings and not Flow. I hope that doesn't make it much harder to integrate it later if we want to.

@stubailo Generally speaking Typescript’s DefinitelyTyped is way more complete than Flow equivalents, however in the case of Immutable I was able to find this flow interface: https://github.com/marudor/flowInterfaces/blob/master/packages/iflow-immutable/index.js.flow (haven’t tried it). Also it seems like there is an effort at FlowTyped to provide something like DefinitelyTyped for flow.

Closing in favor of typescript


(WIP) Data15 testing

We want to create another endpoint which serves data that is cached for only 15 minutes. This is a horrible implementation, but it exposes a number of known bugs and we can fix them in separate PRs.
This PR should never be merged, a separate PR should fix the bugs, another separate PR should refactor so we can add a data15 endpoint, and then a third separate PR should simply add the data15 endpoint, using the facilities.
It will eventually use a different backend url, but since there are other variables we want to control per-endpoint, we have not focused on that because those other details are harder, and we need to get them all out of the way first.

Have rebased on #17 which fixes at least the most egregious bugs (cron thread, rescue => e with unnamed exception matching anything)


installation on cuda-6.5

using cmake to install with cuda6.5, following error comes:
It can't find nvrtc.h
""" /home/mujtaba/Documents/mxnet/include/mxnet/mxrtc.h:12:19:
fatal error: nvrtc.h: No such file or directory #include ^ compilation terminated. """

can you find the location of the file "nvrtc.h" ?

No. I am not able to do so.. apparently it is not in cuda6.5. is there any macro to disable RTC

https://github.com/dmlc/mxnet/blob/master/Makefile#L117
and the code is
src/common/mxrtc.cc

@mli  does mxnet support cuda 6.5?

maybe you should upgrade your cuda

@qiaohaijun Nothing is related to the Makefile. @piiswrong should have better solution

should be fixed after https://github.com/dmlc/mxnet/pull/1048 is merged


Missing documentation: detailing how to write suppressions in scanned code.

Description of the issue
Hi! I could find absolutely no documentation that explains the format of suppressions that a developer can insert in their code to silence CodeQL false positive warnings.
By searching, I found some Stack Overflow Q&A that mentions the "lgtm[query-id]" comment format, and internally as a Microsoft developer I've seen some description of the "CodeQL[query-id] Justification goes here" format in the instructions for dealing with internal policies.
I also found, via searching in the repo, mention in the release notes of CodeQL 2.12.0, which sounds like the version that added support for the latter format.
And I found the implementation of it right here (which I can only sort-of understand, as I'm not familiar with the .ql language).
This should be properly and prominently documented in the CodeQL documentation. And if it is documented somewhere in there, let this be a call for documenting it better, in a more discoverable way. Most of the documentation seems to deal with this "query language", which is fine, but completely irrelevant to the, say, C++ developer who gets a false positive from a CodeQL scan and needs to suppress it.
Thanx!

This is not the correct location for support requests. Will reach out directly.


PPC Assembler does not calculate label offsets

The offset for labels appear to not be calculated when assembling PPC.
For example, the following snippet:
  nop
  beq test
  nop
  blr
test:
  nop
  blr

Is assembled as:
sub_0
00000000  60000000   nop
00000004  4182fffc   beq     sub_0
00000008  60000000   nop
0000000c  4e800020   blr
sub_10
00000010  60000000   nop
00000014  4e800020   blr

Instead of the expected:
0x00:  nop
0x04:  beq	0x10
0x08:  nop
0x0c:  blr
0x10:  nop
0x14:  blr

This seems to be caused by trying to resolve the addresses for labels in the first pass: https://github.com/Vector35/arch-ppc/blob/e5b2c445137cbbf118cf74fcaa6d263cb31be760/assembler.cpp#L2951-L2954, I feel like this is an easy fix: https://github.com/Vector35/arch-ppc/blob/e5b2c445137cbbf118cf74fcaa6d263cb31be760/assembler.cpp#L2986-L2990


About the speed issue

Hi, since I tested maskrcnn-benchmark with resnet50 maskrcnn
it was about 15fps fastest on GTX 1080 ti. Which means it's about 66ms per frame.
Why does one stage Retina as feature extractor backbones gots 120+ms in your readme?
It should be much more faster therotically.

Hi @jinfagang,
Sorry for the late reply.
This is weird. Did you set the batch size as 1?
The information in README is out of date. The current version should run faster. For the resnet50, the inference time is 93ms without mask / 105ms with mask.
Could you share the config or commands you used to run the code?

Hi @jinfagang,
Sorry for the late reply.
This is weird. Did you set the batch size as 1?
The information in README is out of date. The current version should run faster. For the resnet50, the inference time is 93ms without mask / 105ms with mask.
Could you share the config or commands you used to run the code?

Hi, any changes for current version?


Fixes #1793 Analysis completed but looks incomplete

Fixes #1793 Analysis completed but looks incomplete
Prevents crash analyzing builtins
Avoids crashing during analysis save when a type is missing a name.
Improves error logging in analyzer

👍


Fix region iterations on devhub (1129169)

When Boku accounts were added we're bailing early on the loop when we should be continuing to go through the rest of the data.

r+


Performance improvement LCS

Initial freeze of genes drastically improves runtime for long arrays.

Gorgeous! This effectively cuts down the complexity of the entire library significantly.
Thank you for the PR!

You're welcome. I am currently testing several use cases and this was an issue I had with a custom table implementation.
While there is still room for improvement in the LCS problem, I didn't want to implement a more complex algorithm. May be worth runtime-wise but lacks the clarity and shortness of your implementation.

Hackers stop this is mine Property.


Assessment: Check if score was not increased on accepted complaint

Checklist
General

[x] This is a small issue that I tested locally and was confirmed by another developer on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Client

[x] I followed the coding and design guidelines and ensured that the layout is responsive.
[x] I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
[x] I translated all newly inserted strings into English and German.

Motivation and Context

We discovered a bug where the tutor received an unhelpful message when they did not provide additional feedback after accepting a complaint. This was only the case when there wasn't a manual feedback before the complaint as well.
Additionally tutors should under ideal circumstances only accept complaints, when the score was increased through it.
Description

Fixed the bug, so tutors can now accept complaints without having to provide manual feedback in case there was non before.
Added a prompt that asks the tutor if they actually want to accept the complaint when the score was not increased.
Steps for Testing

Prerequisites:

1 Instructor
2 Students
1 Programming Exercise with Complaints enabled for automatic assessment

Log in to Artemis
Navigate to Course Administration
Participate in the exercise and complain after the due date with both students
Try to answer the first complaint without adding any feedback and accept the prompt
Try to answer the second complaint by first adding a feedback that gives more points and check that there is no prompt.

Review Progress

Code Review

[ ] Review 1
[ ] Review 2

Manual Tests

[x] Test 1
[ ] Test 2

Test Coverage

My only remark here: I think there should be some preconfigured text ("Complaint accepted", for example) in the student result view for when the Feedback text is empty. I think students can get confused by these empty Feedback messages (see screenshots).

This is not the goal of this PR. But maybe @simon-hng can take a look into this in a future PR?


Simplify special-casing of the default config in tests.

Create golden symlinks to built-in-config-*.yaml, so they can be handled by -update_golden.
Add symlinks to the default config in the all-built_in_config testdata directories, to remove the special input handling.

Related to b/193544238


Bug flattening 9th june 2018

Fixes to table and local storage handling

Also fixed inputReducer to add indexes under screen level.


WIP Set pipeline status when all tasks complete

Changes
We used to set the pipeline status to failed as soon as the first
task in the pipeline failed or was cancelled.
As soon as the first task in the pipeline fails or is cancelled, we
stop scheduling new tasks, as we did before, but we will report
status Unknown until all Tasks are complete.
This allows to:

the completion time at the same time that the status is set
and avoid inconsistencies
wait until all tasks are complete before we cleanup the pipeline
artifact storage, affinity assistant and record metrics
report the correct number of failed / cancelled tasks, as there
may be more than one. Other tasks that were already running
when the first failure happened may fail too
prepare the pipeline controller more complex workflows, where
the controller may continue working scheduling after failures

Unit tests needs to be fixed / added still, as well as documentation of the new behaviour.
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[WIP] Includes tests (if functionality changed/added)
[ ] Includes docs (if user facing)
[x] Commit messages follow commit message best practices

See the contribution guide for more details.
Double check this list of stuff that's easy to miss:

If you are adding a new binary/image to the cmd dir, please update
the release Task to build and release this image.

Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.
Release Notes
In case of task run failure or cancellation, the pipeline run stops scheduling new tasks like before.
The status is marked as failed however only once all the task runs already scheduled are complete.

A new reason "PipelineRunStopping" indicate that the pipeline run has found a failure and is waiting for task runs to complete.

/kind feature

/lgtm
This PR will impact finally PR #2661, I am fine merging this before we merge finally PR, will incorporate necessary changes into that PR.


Prefix strip middleware

Added an optional config option to strip a PathPrefix prefix from the urls Traefik routes to.

How do we validate this new option in combination with the other ones?
If you configure traefik-route with
root_url=http://foo.bar/baz/
strip_prefix=baz

should we forward the units the root_url with or without baz?
should we raise an error?
should we just forward the root_url as-is?
@mmanciop, thoughts?

One thing that I have trouble with is the strip_prefix option and specifying the actual prefix to strip. The charm that requires the ingress relation to traefik (or traefik route) doesn't actually have intimate knowledge regarding what the prefix is, as this depends on a) the mode that the traefik charm is configured for and b) knowing the inner workings of how the traefik charm has actually configured the URLs.

One thing that I have trouble with is the strip_prefix option and specifying the actual prefix to strip. The charm that requires the ingress relation to traefik (or traefik route) doesn't actually have intimate knowledge regarding what the prefix is, as this depends on a) the mode that the traefik charm is configured for and b) knowing the inner workings of how the traefik charm has actually configured the URLs.

This is actually available to the requiring/consuming charm as part of the relation data that comes back; though it has to parse the URL and determine how to handle this.

@wolsen so in conclusion, strip_prefix should be a boolean option, and traefik should know what it means to strip the prefix in both routing modes.
Suppose strip_prefix=True; then:
In path routing mode the url is
unit_url = f"http://{host}:{self._port}/{prefix}"

you'd expect to see instead: f"http://{host}:{self._port}" instead (with or without trailing "/")
In subdomain routing mode the url is
unit_url = f"http://{prefix}.{host}:{self._port}/"

so you'd expect to see instead: f"http://{host}:{self._port}/"  (with or without "http://"?)
correct?

@wolsen so in conclusion, strip_prefix should be a boolean option, and traefik should know what it means to strip the prefix in both routing modes.
Suppose strip_prefix=True; then: In path routing mode the url is
unit_url = f"http://{host}:{self._port}/{prefix}"

you'd expect to see instead: f"http://{host}:{self._port}" instead (with or without trailing "/")
In subdomain routing mode the url is
unit_url = f"http://{prefix}.{host}:{self._port}/"

so you'd expect to see instead: f"http://{host}:{self._port}/" (with or without "http://"?)
correct?

Only the path_routing mode should be affected as the web-root (or path-prefix in traefik terms) only changes in this circumstance. I believe the default is wrong because the current default requires that the web-root on the backend service be changed in order to successfully service the request.

Summing up a conversation on MM:
test should pass:
def test_strip_prefix(strip_prefix: bool):
    harness = Harness(TraefikCharm)

    relation: ops.model.Relation = mock_setup_ipu(harness)
    mock_requirer_side(harness, relation, port=80, strip_prefix=strip_prefix)

    provider.publish_url(relation, "remote/0", "http://url.com/")

    assert (
        ingressed_charm.name in harness.charm._get_config_value_from_file("http.middlewares.stripprefix.stripPrefix.prefixes")
    ) == strip_prefix

New [IPA/IPU]Requirer signature has extra kwarg strip_prefix:bool=True
Provider will assume strip_prefix=False if not explicitly passed by requirer (backwards comp).

This functionality has already been merged in a separate PR.


Update bug_report.md

the System information section was still pointing at Next.js version instead of stitches 🙈

That's perfect, thank you 👍


[REFACTOR] Update KafkaStore to hold variables for tenant ID

Update the KafkaStore to hold a variable for tenant-ID.
This can be achieved by simply adding a new field in the KafkaStore struct.
Update the KafkaStore constructor method to accept a Tenant-ID.
Tenant-ID can be a new type field backed by a string;
pub struct TenantID(String);

For now the KafkaStore can be initialized with a fixed tenantID "default"

hey @lsampras can You review my pr once?

@subhajit20 Thanks for the PR. I'll assign you this issue


Document L11 content types somewhere, possibly don't use content_type 4 in the default JSON

https://professionalsupport.dolby.com/s/article/Dolby-Vision-IQ-Content-Type-Metadata-L11?language=en_US
Linking to this would be fine, but a mention that it only works on DV IQ devices (most LG TVs, at least) could be worth a mention.  It doesn't seem to do anything on devices that don't support that.
content_type 4, by their description, is probably appropriate for something like my regular FHD BluRay re-encodes which I'd put in the category of not having the capability of a professional camera, but for UHD BluRay conversion to profile 8 without a re-encode which I'm guessing most people are using (just as it seems like all I ever see are people talking about LG OLED panels which support IQ) content_type 1 is probably more appropriate.
It's funny that Dolby seems to think that content_type 4 would be a naturally occurring situation since they don't provide any means for "user generated content" shot on non-professional cameras to actually have metadata without spending more than the cameras in that category cost on a mastering display and their tools.  Even owners of the iPhones that shoot in the weird HLG profile can't actually edit the videos aside from cutting and splicing pieces together using MKVToolNix or similar without breaking the metadata using any tool that comes with their computer and still need the mastering display to add it back.
Thanks to you and others we can do this, but it's somewhat hilarious that they threw that in.   that would probably just link to this repo.
Similarly that page seems to indicate the white_point is an enum, but the only values they list are 0 for D65 and 8 for D93.  I can't for the life of me imagine when a D93 white point would be appropriate for anything,  but if Dolby is calling it a common mastering display value I'm not one to argue.  For any source that didn't already include L11, it probably shouldn't be set to anything but 0.

L11 is documented in the editor documentation.
Other use cases require the user to understand the metadata levels, such as adding arbitrary metadata blocks in generation.
I'm assuming they can also do their research.

Even owners of the iPhones that shoot in the weird HLG profile can't actually edit the videos aside from cutting and splicing pieces together using MKVToolNix or similar without breaking the metadata using any tool that comes with their computer and still need the mastering display to add it back.

The User-generated content, or UGC, exactly means video content shot on these non-professional devices, and the L11 block with content_type: 4 is already present in video files shot on iPhone since iOS 15. Websites like Vimeo and bilibili allow users sharing videos with Dolby Vision Profile 8.4. For dynamic metadata, it’s a automated process for profile 8.4, no need (and no way) to manually trim it. You can edit them as normal HLG, and supported encoders (FCP / Compressor on MacOS, some apps on iOS) will analyze content to regenerate new metadata when you export videos. In 8.4, only L1, L3 and L4 are dynamic based on analyzing, other values are fixed presets.

I can't for the life of me imagine when a D93 white point would be appropriate for anything

FYI, D93 is common (and probably only) in Japan, accepted as TV broadcast standard, actually it caused confusion to some people there, who would think D65 standard monitors are too reddish, as they may already used to D93 whitepoint on TV, and many of content is graded with that standard. So it’s not surprise to see a metadata field for it, use D93 may be the proper setting for some Japanese content, instead of D65.

Thanks for that bit of trivia on D93.
Apple must have fixed things for re-generation, the original docs I found on Apple's site months back said that it could output the original RPU for use in (?) but any edits were destructive and would remove DV from the output.

already used to D93 whitepoint on TV

That is not TV whitepoint, that is ambient light whitepoint. And Netflix converts D93 anime to D65 anime (as if you are watching under D65 dim room). That is all part of BT.1886's reference conditions spec. See article on 709 on wikipedia, I wrote it there long time ago. :)
Dolby Vision IQ is defined in the patent. It is very complex 💩. After all absolute PQ was never supposed to be ambient light controlled.
https://patents.google.com/patent/WO2018119161A1/en
https://patents.justia.com/patent/20190378327

I'd love to know what light source produces D93 ambient.  I found HID lamps, and that was about it.  :D
I'm sure if I bounced the 1W blue laser into a pile of europium orange phosphorescent powder I could get something in that range for a while before I went blind from scattered laser reflections in the dark room. :P


fail-under option in tarpaulin.toml is not working

cargo tarpaulin --fail-under 50 is working fine but if i mentioned the option in tarpaulin.toml then it is not working.
Additional contexts:
version i am using is 0.14.3.
tarpaulin.toml value
fail-under = 50

I am able to see below error if i mentioned fail-under option in command-line. Below output is not available (also exiting with 0) if i mentioned fail-under in tarpaulin.toml
[ERROR tarpaulin] Coverage is below the failure threshold 40.03421727972626% < 50%
Error: "Coverage is below the failure threshold 40.03421727972626% < 50%"

Ah I've cracked it, the config file currently needs fail_under as the key. I've added a patch to rename it the field in serde as it should match the CLI. But until the next version is out you can use fail_under

Just letting you know a 0.15.0 will be released today with this fix in


[DEFECT] Optimizers have no way to handle failures

Thank you for the defect report

[X] I am using the latest version of RAVEN.
[X] I have read the Wiki.
[X] I have created a minimum, reproducible example
that demonstrates the defect.

Defect Description
None of the optimizers have a prescribed way to handle failures. If a failure occurs the optimization process ends.
RAVEN has a flag for Samplers/Optimizers (ableToHandelFailedRuns) that is not used and it should be used to
prescribe a way to handle failures in optimizers.
For example, for heuristic algorithms (e.g. GA, Simulating annealing, etc.) the failure can be considered as a "violation" of an implicit constraint.
Steps to Reproduce
Failure on demand using any optimizer
Expected Behavior
Optimizers to have a way to handle failures.
Screenshots and Input Files
No response
OS
MacOS
OS Version
No response
Dependency Manager
CONDA
For Change Control Board: Issue Review

[ ] Is it tagged with a type: defect or task?
[ ] Is it tagged with a priority: critical, normal or minor?
[ ] If it will impact requirements or requirements tests, is it tagged with requirements?
[ ] If it is a defect, can it cause wrong results for users? If so an email needs to be sent to the users.
[ ] Is a rationale provided? (Such as explaining why the improvement is needed or why current code is wrong.)

For Change Control Board: Issue Closure

[ ] If the issue is a defect, is the defect fixed?
[ ] If the issue is a defect, is the defect tested for in the regression test system?  (If not explain why not.)
[ ] If the issue can impact users, has an email to the users group been written (the email should specify if the defect impacts stable or master)?
[ ] If the issue is a defect, does it impact the latest release branch? If yes, is there any issue tagged with release (create if needed)?
[ ] If the issue is being closed without a pull request, has an explanation of why it is being closed been provided?

@Jimmy-INL @wangcj05 @PaulTalbot-INL @mandd do you guys have any plan for this? I was thinking that for "Heuristic" approach, a failure can be simply treated as an ImplicitContraint violation...for Gradient descent is a bit trickier.

@aalfonsi FYI, we would like to resolve this issue, but it is not on our top priority list right now.

I understand

@PaulTalbot-INL @mandd @dylanjm @Jimmy-INL Let's plan have a design meeting for this issue.


Update README and add HPC/Jupyter Guidance

Description
Initial proposal for documentation update (update readme and provide some guidance for HPC+Jupyter).

Closes #330

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] My changes generate no new warnings
[x] Any dependent changes have been merged and published in downstream modules

If applicable:

[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass with my changes (locally and CI/CD build)
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] I have noted that this is a breaking change for a major release (fix or feature that would cause existing functionality to not work as expected)

@pochedls what you have is pretty good. I just tried to remove some redundancy in getting-started and HPC/Jupyter session.
One thing I'm not clear is about jupyterlab, ipython and ipykernel.  I included jupyterlab as an optional  package, because it is also included in the xcdat_test env. Not  sure if jupyterlab  covers  ipython and  ipykernel. I'm hoping  to have both guide to be consistent in terms of suggested optional packages. @tomvothecoder and @pochedls any insights?

One thing I'm not clear is about jupyterlab, ipython and ipykernel. I included jupyterlab as an optional package, because it is also included in the xcdat_test env. Not sure if jupyterlab covers ipython and ipykernel. I'm hoping to have both guide to be consistent in terms of suggested optional packages. @tomvothecoder and @pochedls any insights?

jupyterlab (which is intended on replacing notebook) include ipykernel and ipython.
ipykernel is the Python execution backend for Jupyter. Installing only ipykernel means you won't get the front-end Jupyter interfaces included in jupyterlab/notebook. This is fine for environments that already provide jupyterlab/notebook.

Thank you @tomvothecoder ! This helps me a lot. when searching online, I found below chart which is also useful for understanding the whole JupyterLab system...

I made a couple minor changes, but I think this could be merged.


when screen lock, app killed How to accept call a long time

Specify the sample to which the issue belongs (use [x]):
[ ] Chat sample
[ x] P2P Call sample
[ ] Conference Call sample
Platform (use [x])
[ x] Android
[x ] iOS
Device info
Manufacture:
Model:
OS version:
Describe the bug:
when screen lock, app killed How to accept call now not waiting
Steps to Reproduce:

Login in connectycube
killed app, turn off screen
await 2h
Notification comming in my phone => accept call
Open app a long time to authen connectycube and open conversation screen

Logs:
log here

or
Gist log
Actual result:
Expected behavior:
Accept call => can talk and join conversation now
Additional info
Add any other context about the problem here.

You can't to do this using p2p feature. Use the Conference calls feature if you need to join to the call immediately.


change ilab taxonomy diff line length error to a warning

line length issues error out, but should instead be a fatal warning

This is easy to do with the new taxonomy parsing api. But we also have a fidelity concern relative to the taxonomy repo. We want the taxonomy repo to have consistent yaml standards for contributions. We also want to make sure ilab taxonomy diff has the same or very similar standard to the taxonomy repo so users don't get a pass on the command line but get PR failures when the submit the yaml to the taxonomy repo.
It is also possible for a user to alter the yaml config for the ilab taxonomy diff command to relax the line length standard.

@alinaryan i'm having issues reproducing this, do you have an example input?

Was able to reproduce by passing custom rules.

Discussed with @cdoern - the warning text is coming directly from yamllint but we are considering any yamllint errors to be blocking since invalid YAML cannot be used for SDG/Training. Given that we can't really modify the output from yamllint and ilab is returning what is expected, I'm going to close this.


admin: daemonize servers

Decided to use supervisor(1).
Must do:

server 1: web server
server 1: web server dev
server 1: subscriber
server 2: discordbot

Done.
For the dev web server I'll keep starting it from screen(1).


Broken blockquotes

This

When converted to markdown using this package, looks like:
>

        Your mind is for having ideas, not holding them.

When it should have been rendered as:
> Your mind is for having ideas, not holding them.

On the website, it gets rendered as a code block, which is not what I expected.

Will try my best to fork and create a pull request to resolve this issue. If you've got the time, please offer guidance on how this issue can be fixed, thank you.

Hi there,
Not sure what's the issue here. Everything seems to work fine from my end.
Here are the outputs:
Notion:

Output:

All test results have passed.

I just checked the version, it is in fact, v2.3.4.

This is how I am using this library:

Okay, I can now confirm it's got to do with something on my end. Not sure what it is exactly, but i'll figure it out. It seems to work if I put the same block in an empty page, but not when it's part of another pages content.
Renders perfectly when standalone:

Not when together with other blocks:

That's weird because it should also work with other blocks as well as you can see in the screenshots I have shared.
Can you share the markdown response in both cases?

Here is part of the mdBlocks output from the original Notion page:

It looks alright, but the logged mdString shows this:

Very weird behaviour indeed. Nothing is being modified in between.

 It looked normal, but I went to backspace and rewrite the whole block again and it got fixed. Apologies and thank you for making time to build such an awesome tool!

Ah I see. Thanks for using notion-to-md :))


Fixed error when feedback form submitted after questionnaire form sub…

…mitted and session ended
What is the context of this PR?
Submission of feedback form gives error when submitted after questionnaire form has been submitted
How to review
To reproduce on Master:

Open survey in runner
Open Feedback form in new tab (right click feedback link > open in new tab)
Complete & submit questionnaire
Submit feedback form and observe error being reported

On branch, repeat above steps without error.
Checklist

[ ] New static content marked up for translation
[ ] Newly defined schema content included in eq-translations repo

 500 error on feedback form

@pricea1 Has a decision been made regarding if a user should be able to submit the feedback form without a valid session?. Because without a valid session, someone could essentially submit thousands of submissions.
I think the user should be redirected to the session expiry page when they don't have a valid reason. Also without the session data the business would not be able to relate the submission to a specific collex/transaction.
Thoughts?

Fixes https://github.com/ONSdigital/eq-survey-runner/issues/1809

@pricea1 Has a decision been made regarding if a user should be able to submit the feedback form without a valid session?. Because without a valid session, someone could essentially submit thousands of submissions.
I think the user should be redirected to the session expiry page when they don't have a valid reason. Also without the session data the business would not be able to relate the submission to a specific collex/transaction.
Thoughts?

No decision as far as I know. @samiwel - who would decide the expected behaviour? It would be straightforward to redirect instead of submitting the form if session has expired.


Use $UPSTREAM rather than hard-coded origin

For branches with remotes other than origin, the status was not presented correctly: REV_REMOTE and REV_BASE would both return an error (empty string) so the branch would be marked as "needs push".

Works like a charm. Thanks!


Enums with FlagsAttribute

Hey!
I like your project. Could you tell me if the enums with [Flag] attrubite are supported? OData likes to return them as comma-separated string.
OData filtering has something like has operator which is used as follow:
$filter=type has Project.WebApi.Common'FirstType',
or if the StringAsEnumResolver or UnqualifiedCallAndEnumPrefixFreeResolver is enabled, then:
$filter=type has 'FirstType'.
Regards,
TheAifam5

Hi @TheAifam5
Thanks for your comment, at the moment are not supported... but in base of your issue i added the feature of read the IsFlag field on the metadata parsing.
i don't know yet how represent  the flag's property beside the enum for eventualy customize the query... maybe a const in the ts file...
Thanks again
Regards,
Diego

New version of the tool generate the ISFLAG_ constant and a schema for every entity interface.
the angular-odata library use the schema and handle incoming and outgoing data
Thanks

Hey!
Thanks for that, but the issue is more about the bitwised flags, where one property can have multiple states like:

Gender: is Male and Female but not unknown
DrivingLicense: has A, and B and C, but not D, E, F, G...

In example of DrivingLicense the bitwise flags where the enum in C# has Flag attribute, I will be able to get all drivers with A B C driver licenses and depends on the query if I want to show all drivers which have ABC, or if any of them has A or B or C.
OData will encode/decode that like:
"gender": "male, female"

Also, when using it in query:
$filter=gender has Microsoft.OData.SampleService.Models.TripPin.PersonGender'male' and gender has Microsoft.OData.SampleService.Models.TripPin.PersonGender'female'

but that query will not return result when the Person has only male or female - this query requires both.
Another example of query:
$filter=(drivingLicense has DrivingLicense'a' and drivingLicense has DrivingLicense'b') or drivingLicense has DrivingLicense'c'

Will that work now? :D
Regards,
TheAifam5

In te development branch of angular-odata the schema has the resposabiliy of handle with the data from server
If the field has isFlags=true the parse method create the correct numeric value for all flags thats arrive in the request and in the toJSON method serialize the number by unpacking every flag in the correct string value.... at the moment the stringAsEnum option in the config is not use, but soon will do
Thanks again
And apologis for my short english vocavulary
https://github.com/diegomvh/angular-odata/blob/f74328e3f4ac84ebff5e8b58fb01435951f27e96/src/lib/odata-request/schema.ts#L96


[Gally]: master <- dev

Automatically created by Git-Ally

:tada: This PR is included in version 1.10.128 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Adding Configuration File for Hyperlink Linter

Purpose
We want to allow the end-user to specify what patterns or files they want to ignore during the linting process. To this end, we will add the support for a configuration file (a .json file) to allow for ignoring patterns and files.
Changes

Modify the linter to read the config file (if it exists) and ignore the specified files and patterns. The linter should not consider anything in the config file. Ignore patterns should be python-flavored regex and ignore files should be specified as a path to the file relative to the project root directory.
Add a config file argument in the lint.yml file to specify the path to the config file relative to the root of the project.
The config file should have the following syntax:

{
   "ignoreFiles": [
      {
         "file": "./path/to/file.md"
      },
      {
         "file": "..."
      }
   ],

   "ignorePatterns": [
      {
         "pattern": "pattern1?\".*\""
      },
      {
         "pattern": "..."
      }
   ]
}

Note: Consider what might happen when \" needs to be read as a raw string. However, this bug might be unavoidable.
Resources

https://github.com/UBCSailbot/docs/issues/70
https://github.com/UBCSailbot/docs/pull/86
Workflow Arguments -- Access arguments from workflow config file in the environment variables.

Another option would be to define configurations in the workflow file
https://github.com/UBCSailbot/docs/blob/fe56aa3b940bddfb6f9d36ae789664494e374e4d/.github/workflows/lint.yml#L20-L21

For ignore files, try to follow unix CLI conventions and find Python function that does this (potentially os or pathlib). Ignore patterns might be better in the config file and use regex


Fix read txt file @ is not working on imagemagick

Imagemagick is not able to read txt file using at line 594 on Ubuntu 18.04

@googlebot I signed it!

@googlebot I fixed it.

@jonra1993 i have the same issue on Ubuntu 20.04, your solution works, thanks

@jonra1993 i have the same issue on Ubuntu 20.04, your solution works, thanks


enable safety_checker for SD 2.1

load the CompVis/stable-diffusion-safety-checker and filter SD2.1 results using it
Update diffusers to more recent version

@bfirsh points out that we should probably raise an exception if there are no generated images - similar to how it worked for SD 1.5
        if len(samples) == 0:
            raise Exception(
                f"NSFW content detected. Try running it again, or try a different prompt."
            )

Here we can see it throws an exception rather than returning an empty list

The exception properly shows NSFW detection

while the default prompt works:


variable length wildcard behaves like *

Entering

foo

with the following script
+ *(3-99)
- {keep}Caught by variable length

+ foo
- {keep}Direct match

+ *
- {keep}Caught by catchall

always returns

Caught by variable length

Okay, I have confirmed this is an issue.

Should be fixed in v1.0.0. 😄


Updates Elsevier journals.

@cpina, I don't recall why we never did anything with this pull request, but it appears to have been superseded by https://github.com/citation-style-language/journals/pull/73. Closing.


Port should be returned as number

Fix port passing to micro.

Coverage remained the same at 95.495% when pulling 898476e2647732986da22888495657a52121306c on floatdrop:fix-port-setting into 51c3eb123ef1bde6b5157185ba4d799581cda527 on zeit:master.


Rename the image file 2d-graphic-colourful-background.jpg .

In the directory code/img, you will find a 2d-graphic-colourful-background.jpg file. Rename it to colourful-background.jpg.

Hey @Mohd-FaiZ-Jr ,can you assign this to me.

Hey @Mohd-FaiZ-Jr ,can you assign this to me.

Yes sure.


Mobile bug fix for PhoneInput

[done]

Fixed strange backspacing on mobile📱
minor CSS changes
adding space after countrycode immediately when space/parantheses/etc are expected in country formate

Checklist:

[ ] Test added / Snapshots updated
[ ] Documentation added / updated

Thanks for reviewing, @fivenp ! I finally figured out how to add the space immediately without breaking anything 🎉🕺Please have a look again

LGTM!
Very nice work @kialysa 🥇

@fivenp woohoo, thanks!


Error: template: k8s-monitoring/templates/grafana-agent-logs-config.yaml:5:45: executing "k8s-monitoring/templates/grafana-agent-logs-config.yaml" at <index .Subcharts "grafana-agent-logs">: error calling index: index of untyped nil

Cannot install the chart
Client Version: v1.25.0
Kustomize Version: v4.5.7
Server Version: v1.24.3+k3s1

helm upgrade --kube-context default --install grafana-k8s-monitoring grafana/k8s-monitoring \
    --namespace "monitoring" --create-namespace --values - <<EOF
cluster:
  name: "default"

externalServices:
  prometheus:
    host: "https://prometheus-prod-05-gb-south-0.grafana.net"
    basicAuth:
      username: "1097405"
      password: "xxxxx"

metrics:
  cost: {enabled: false}

opencost: {enabled: false}
EOF
Release "grafana-k8s-monitoring" does not exist. Installing it now.
Error: template: k8s-monitoring/templates/grafana-agent-logs-config.yaml:5:45: executing "k8s-monitoring/templates/grafana-agent-logs-config.yaml" at <index .Subcharts "grafana-agent-logs">: error calling index: index of untyped nil

that will probably fix it.

It does not. I ran into this same problem and added the code as you suggested, the error just changed to:
Error: template: k8s-monitoring/templates/grafana-agent-config.yaml:4:45: executing "k8s-monitoring/templates/grafana-agent-config.yaml" at <index .Subcharts "grafana-agent">: error calling index: index of untyped nil

OK, I realized this is because the .Subcharts variable (used in k8s-monitoring/templates/grafana-agent-config.yaml) was introduced in Helm 3.7. Try with a newer version of Helm and see if that makes it work.

Closing this. Please try with a newer version of Helm and if the issue still persists, let me know!


Typo in instructions - "riscof arch-tests" command is wrong

In the following documentation section:
https://github.com/riscv-software-src/riscof/blob/69b57e14a01b8e1eb5249ca757f3d08a1a6e2c72/docs/source/installation.rst#cloning-the-architectural-tests

...the command
$ riscof --verbose info arch-tests --clone

should be
$ riscof --verbose info arch-test --clone

(without the plural on "arch-test")

Apologies - this is already fixed by #57

I still see this mistake  in online documentation

I still see this mistake in online documentation

dito. would be good to get fixed so not everybody has to stumble over this.


_vti_bin/Lists.asmx?op=GetListItems 401 (Unauthorized)

I am unable to use the CEWP after using the code. Is there some sort of configuration on the admin/server side before I can use it? I was able to use SPJS Tiles with the same procedure and site.
Thank you in advance

I noticed that the siteURL is getting the wrong URL for it since it's a subsite. I changed the tilesTracker[holderID].siteURL to the correct one and it worked. I just hope it doesn't affect other rendering codes.

@essineden Where did you see that the siteURL is getting the wrong URL? And can you tell me more about your setup so I can try to recreate the bug?

@imthenachoman hi, the variable I changed was tilesTracker[holderID].siteURL. the subsite is under the structure http://webapp:XXXX/sites/subsite. the port number is not being recognized and the error 401 is showing because it's pointing to http://webapp/sites/subsites only which is a different web application. I hope that helps.

@essineden Yes, that helps a lot. Thank you! My code does not take into account the port #. I will fix that in the next release. Thank you!

Awesome! looking forward to that update :+1:

fixed in 1.51


Custom palette

@Zach
The simple implementation is a prelude setting so you give a list of 21 colours in the same order as https://puzzlescriptnext.polyomino.com/Documentation/objects.html, and they become 'the' palette. Other ways might be easier to use but harder to define and implement.

I was thinking of something like this too of having a central palette with the confounding calendar requirement.


Update getting-started-python.md

Looks like this is failing due to something with whitespace, maybe missing a newline at the end of what you added?


Health monitor for the CDC Producer

Use a EWMA of errors/successes to short-circuit the CDC service and stop sending requests to the producer.
Thanks to the moving average behaviour, after time passes it will be below min errors per second , allowing the producer to be probed again.

I've rebased against cdc-basic and addressed the remarks from the review.

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 6

Complexity increasing per file
==============================
- persistence-api/src/test/java/io/stargate/db/cdc/DefaultCDCHealthCheckerTest.java  3
- persistence-api/src/main/java/io/stargate/db/cdc/DefaultCDCHealthChecker.java  7

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 6

Complexity increasing per file
==============================
- persistence-api/src/test/java/io/stargate/db/cdc/DefaultCDCHealthCheckerTest.java  3
- persistence-api/src/main/java/io/stargate/db/cdc/DefaultCDCHealthChecker.java  7

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 6

Complexity increasing per file
==============================
- persistence-api/src/test/java/io/stargate/db/cdc/DefaultCDCHealthCheckerTest.java  3
- persistence-api/src/main/java/io/stargate/db/cdc/DefaultCDCHealthChecker.java  7

See the complete overview on Codacy

@jorgebay why it is not merged? Is this missing some features?

@tomekl007 thanks for reminding me, I'll merge it.


Best way to stop thread with bot.listen

Hi!
I'm creating rails wrapper for telegram-bot-ruby.
I've created a railtie that does some configuration magic and then runs bot client in separate thread for each telegram bot.
What's the proper way to stop thread with bot.listen in order to shut down properly?
Current implementation is:
    def start_client
      client  = @client
      emitter = @emitter

      @thread = Thread.new do
        client.run do |bot|
          bot.listen do |message|
            @emitter.emit :message_received, message
          end
        end
      end
      @thread.abort_on_exception = true
      at_exit { Thread.kill @thread }
    end

Thank you!

It seems like using separate processes for each bot would be more suitable approach because you would have multiple pids to manage them separately.
As far as I know you have to have Thread object itself to manage it.
So you need to store created threads somewhere. But it looks tricky.

Using separate thread is only the first step and it is pretty easy for prototyping. I'm going to move listeners to separate processes next and  make them communicate with main rails application via something like rabbit.

@govorov that makes sense. I think it would be better to start with this approach right now.

Anyway, even in a separate process, how should I implement listener shut down properly?
Thank you.

If you use Client#listen bot would only receive INT signal.
Seems like this way bot would be shut down most gracefully.
You can store process pid on startup and then send signal to the pid.
Is it what you are looking for?

Yes, that's exactly what I need.
Thank you!


Additional outputs and logging

Is your feature request related to a problem? Please describe.
No log file is created when running CORGI, if no --csv is specified, the output is not saved.
Describe the solution you'd like
Automatically create a CSV with a default name when running CORGI, generate a log file that can be switched off with a flag, and the functionality to generate FASTA files with the contigs classified in each category.
Additional context
If ones runs CORGI without the --csv option, it does not create the output file. For unaware users, this may waste a large calculation. I propose that CORGI automatically creates a file with a default name (e.g. a timestamp) when running CORGI, and the --csv flag overrides that name.
Additionally, I propose adding the creation of a log file with the same contents as the program's stdout, such as number of sequences classified and version of the code and of the pre-trained model.
A third feature would be to automatically create FASTA files with contigs from each category, e.g. prokaryotes.fasta, eukaryotes.fasta, plastids.fasta, that could be turned on and off. Although that information may be extracted from the csv, it would be nice to have utilities to do this so users don't have to reinvent the wheel every time.
Would you welcome a PR with any of these additions?
Thanks,
Vini

Here's a short snippet of how one can export each category to a separate FASTA file (may be useful to add to the docs):
import pandas as pd
from Bio import SeqIO

df = pd.read_csv(corgi_output_csv, index_col="accession")
records = SeqIO.parse(corgi_input_fasta, "fasta")

files = {i: open(i + ".fasta", "w") for i in df["prediction"].value_counts().index}

for rec in records:
    SeqIO.write(rec, files[df.loc[rec.id, "prediction"]], "fasta")

for k, v in files.items():
    v.close()

Great suggestions @vinisalazar - I had already started on writing each category to a separate FASTA file. I really like the idea of saving the CSV by default. The log file is a great idea too. I'll finish off working on the FASTA file output. Do you want to try to work on the other two?

Actually @vinisalazar - i can start work on storing the CSV as well.

I've done the fasta output and fixed the csv output. can you please have a look and think about the log file?


Stripe.framework not installed correctly with npm

It seems that the framework gets created, but without any symlinks, so linking fails when the project is built.
Is there a better way to include this dependency?

I noticed this too. It looks like the Stripe lib contains symlinks and npm deliberately doesn't support symlinks. I can think of a few options to get this working:

RN discusses a tool called rnpm here that might work - haven't had a chance to try this yet
Manually modify the stripe lib to replace symlinks with directories or remove them entirely - annoying because it would require keeping this up to date
Requiring users to install the Stripe lib on their own, manually or via cocoapods

What do you think?

I'm not sure this will help, as I think rnpm just handles the addition of dependencies to XCode. Our problem is actually when npm packs the module — it doesn't include symlinks in order to support all platforms (https://github.com/npm/npm/issues/3310)
This is what I've done on my branch and it seems to work OK. The way frameworks are constructed it's pretty painless. This option might be the easiest way to go for now.
This would be the cleanest way if we could get it going. I'm not entirely sure how you can have a child project (react-native-stripe) depend on a library that's in a parent project though. We could maybe do something with header/library search paths, but that would be kind of dependent on the structure of the user's project. I'd be keen for this way if there's something smart we can do to make it work though.

Agree that #2 is probably the way to go for now. Stripe doesn't update their library all that often and it's not critical that it be kept up to date here. The real problem is that there isn't an npm-type solution to dynamically include non-JS libraries in an npm module!

I think I figured this out. Just released https://github.com/lrettig/react-native-stripe/releases/tag/release_1.0.3 which depends on cocoapods to download and install the Stripe lib. This works for me on my end, give it a shot and let me know if it works! (Note that you'll probably want to completely delete the old module and remove references to it and the Stripe lib from xcode)
After thinking about this some more, option 2. above seemed messy and incorrect to me.

Worked for me! :dancer:

Thanks for testing!
On Fri, Jan 29, 2016 at 12:06 PM, Toby Cox<EMAIL_ADDRESS>wrote:

Worked for me! [image: :dancer:]
—
Reply to this email directly or view it on GitHub
https://github.com/lrettig/react-native-stripe/issues/3#issuecomment-176864824
.

What version of CocoaPods are you using?
On 1.0.0.beta.6 I get the error:
The dependency Stripe is not used in any concrete target.
On 0.39.0 it won't install for me and gives me a more verbose answer:
Analyzing dependencies
[!] Unable to load a specification for the plugin /usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-deint egrate-1.0.0.beta.1
Command
/usr/local/bin/pod install

Report

What did you do?

What did you expect to happen?

What happened instead?

Stack
   CocoaPods : 0.39.0

        Ruby : ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
    RubyGems : 2.5.1
        Host : Mac OS X 10.11.4 (15E65)
       Xcode : 7.3 (7D175)
         Git : git version 2.6.4 (Apple Git-63)
Ruby lib dir : /usr/local/Cellar/ruby/2.3.0/lib
Repositories : master - https://github.com/CocoaPods/Specs.git @ 8b5591e4d0c4a7ada94aee7a10a1f8675f5f4
1c2

Plugins
cocoapods-plugins : 0.4.2
cocoapods-search  : 0.1.0
cocoapods-stats   : 0.6.2
cocoapods-trunk   : 0.6.4
cocoapods-try     : 0.5.1

Podfile
pod 'Stripe'

Error
NoMethodError - undefined method `to_ary' for #<Pod::Specification name="Stripe">
Did you mean?  to_query
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/resolver/lazy_specification.rb:14:i
n `method_missing'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/resolver.rb:64:in `flatten'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/resolver.rb:64:in `block in resolve

'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/resolver.rb:63:in `tap'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/resolver.rb:63:in `resolve'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/installer/analyzer.rb:539:in `block
 in resolve_dependencies'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/user_interface.rb:59:in `section'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/installer/analyzer.rb:537:in `resol
ve_dependencies'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/installer/analyzer.rb:70:in `analyz
e'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/installer.rb:213:in `analyze'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/installer.rb:136:in `block in resol
ve_dependencies'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/user_interface.rb:59:in `section'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/installer.rb:135:in `resolve_depend
encies'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/installer.rb:105:in `install!'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/command/project.rb:71:in `run_insta
ll_with_update'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/command/project.rb:101:in `run'
/usr/local/lib/ruby/gems/2.3.0/gems/claide-0.9.1/lib/claide/command.rb:312:in `run'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/command.rb:47:in `run'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/bin/pod:44:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'

Hi @jordangarside
Sorry to hear you're having trouble. I'm using 0.39.0. I've installed this on a few computers and never had a problem. Are you able to install other pods?
L

@lrettig
Thanks for getting back to me!
I just found more information on this, seems to have to do with Ruby and CocoaPods, going to try different versions of Ruby.
https://github.com/CocoaPods/CocoaPods/issues/4391

Good luck, let me know if it works out or if you get stuck
On Sat, Apr 9, 2016 at 12:48 AM, Jordan Garside<EMAIL_ADDRESS>wrote:

@lrettig https://github.com/lrettig
Thanks for getting back to me!
I just found more information on this, seems to have to do with Ruby and
CocoaPods, going to try different versions of Ruby.
CocoaPods/CocoaPods#4391
https://github.com/CocoaPods/CocoaPods/issues/4391
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/lrettig/react-native-stripe/issues/3#issuecomment-207706077

@irettig Yeah so I tried to make CocoaPods use a different version of Ruby with rvm, but for some reason CocoaPods isn't using the global Ruby version.
They fixed this issue in the 1.0.0 CocoaPods betas, but the podfile has to be modified so it has to correct target. I'm going to look at trying to get it to work myself for the betas and let you know how it goes.
Thanks!

Thanks for the update! Glad to hear you've made some progress. Let me know
if tweaking anything on my end would be helpful!
Lane
On Sat, Apr 9, 2016 at 8:47 PM, Jordan Garside<EMAIL_ADDRESS>wrote:

@irettig Yeah so I tried to make CocoaPods use a different version of Ruby
with rvm, but for some reason CocoaPods isn't using the global Ruby version.
They fixed this issue in the 1.0.0 CocoaPods betas, but the podfile has
to be modified
http://stackoverflow.com/questions/34556991/pod-install-displaying-error-in-cocoapods-version-1-0-0-beta-1
so it has to correct target. I'm going to look at trying to get it to work
myself for the betas and let you know how it goes.
Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/lrettig/react-native-stripe/issues/3#issuecomment-207891713

@irettig I gave up getting this to work. In Cocoapods 1.0.0 you have to specify the target which means you have to know the name of the target. Even when I hard code in the name of the project as the target, and the exact xcode project I get a different error saying NoMethodError - undefined method 'name' for nil:NilClass.
It ends up being more work for me to get this up and running than just making the manual version/form to support Android and iOS.
Thanks for the project!

Hey @jordangarside thanks again for giving this a shot and especially for reporting back about what you saw. I will absolutely keep these lessons in mind for the future. The decision about whether or not to use cocoapods inside npms is a little unclear to me for reasons like this--if anyone else knows more about this and would like to weigh in, I'm open to learning more about it.

Hi @lrettig I had the same problem has @jordangarside with the Podfile.  Your podfile needs a target.
`# Uncomment this line to define a global platform for your project
platform :ios, '9.0'
target 'StripeNative' do
Uncomment this line if you're using Swift or would like to use dynamic frameworks
use_frameworks!
Pods for StripeNative
pod 'Stripe'
end
`
For now I will try to add this module manually instead of using the Node Package Manager.


Format la réponse API (les établissements)

closes #144
related to #115
Hide some fields in returned établissements object like detailed address fields, dates etc to make the response more compact and concise.

@XavierJp nope, I only hide the fields for matching_etablissements.


Specify several Smells using one val

Hi,
Is it possible to do something like this:
val snippets = CodeSnippets(Scala,
  Seq(
    Smell('open_!, """open_!""".r,
      rationale = "Do not use open_! , use map/flatMap/ openOr or ~ and add a Monoid if needed (or was it semigroup? :) "),
    Smell('get, """\.get\.""".r,
      rationale = "Do not use Option.get , use map/flatMap/ openOr or ~ and add a Monoid if needed (or was it semigroup? :) ")
    )
)

well, this one does not work, I get a compiler error:
[error]  found   : Seq[net.rosien.sniff.Smell]
[error]  required: net.rosien.sniff.Smell

Thanks.

CodeSnippets takes a Smell* as its second parameter, so you don't need the Seq(...).


Improve the validation error message layout

Now that we have better error messages, we can improve their layout. In particular,
with the new system, we can give more context but for compatibility reasons, they
were displayed as a "block of text".
This commit changes the rendering so that we have richer output. For example, you'd
read:
> Task :myTask FAILED

FAILURE: Build failed with an exception.

* What went wrong:
A problem was found with the configuration of task ':myTask' (type 'TaskWithAbsentNestedInput').
  - Type 'TaskWithAbsentNestedInput' property 'nested' doesn't have a configured value.

    Reason: This property isn't marked as optional and no value has been configured.

    Possible solutions:
      1. Assign a value to 'nested'.
      2. Mark property 'nested' as optional.

    Please refer to https://docs.gradle.org/7.0-20210310230000+0000/userguide/validation_problems.html#value_not_set for more details about this problem.

or:
A problem was found with the configuration of task ':test' (type 'DefaultTask').
  - Type 'DefaultTask' property 'input' has unsupported value 'task ':dependencyTask''.

    Reason: Type 'DefaultTask' cannot be converted to a directory.

    Possible solutions:
      1. Use a String or CharSequence path, for example 'src/main/java' or '/usr/include'.
      2. Use a String or CharSequence URI, for example 'file:/usr/include'.
      3. Use a File instance.
      4. Use a Path instance.
      5. Use a Directory instance.
      6. Use a RegularFile instance.
      7. Use a URI or URL instance.
      8. Use a TextResource instance.

    Please refer to https://docs.gradle.org/7.0-20210310230000+0000/userguide/validation_problems.html#unsupported_notation for more details about this problem.

The good:

error messages are now much easier to read
error messages are more actionable
the new test fixtures made it really easy to change the error message
some tests which weren't using the new fixture were fixed

The bad:

deprecation warnings are very hard to deal with in tests, because we don't detect multiline messages
properly (this is due to 2 problems: we perform validation at the end of the build AND we don't have markers
for those messages, we do plain string parsing)
indentation changes in some messages because of nested exceptions, so a convenience was added to take this
into account. Again, because the fixtures we use are very picky on the layout and don't tolerate mismatches
in spacing.

The goal of this PR is NOT to improve the old fixtures. They should probably be changed to tolerate whatever
format wrt whitespaces. Testing the actual error message should belong to unit testing, if we ever want to
do this.

Fixes #?
Context

Contributor Checklist

[ ] Review Contribution Guidelines
[ ] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[ ] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
[ ] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[ ] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[ ] Provide unit tests (under <subproject>/src/test) to verify logic
[ ] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[ ] Ensure that tests pass sanity check: ./gradlew sanityCheck
[ ] Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest

Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation
[ ] Recognize contributor in release notes

@bot-gradle test RFM

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test RFM

OK, I've already cancelled the old build and triggered a new ReadyForMerge build for you.

@bot-gradle test RFM

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test RFM

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test RFM

OK, I've already triggered ReadyForMerge build for you.

I'm going to add tests in a separate PR.