[Firebase_core] Firebase.initializeApp doesn't return

Bug report
Describe the bug
await Firebase.initializeApp() doesn't return at all when running as WidgetTest.
Steps to reproduce
Steps to reproduce the behavior:

write a test
run the test

The test should look like that
import 'package:flutter_test/flutter_test.dart';

void main() {
  testWidgets('Test recieve message', (WidgetTester tester) async {
    await tester.pumpWidget(MyApp());

    // Build our app and trigger a frame.
    WidgetsFlutterBinding.ensureInitialized();
    var fireApp = await Firebase.initializeApp(
        options: FirebaseOptions(
      projectId: "REDACTED",
      appId: 'REDACTED',
      messagingSenderId: 'REDACTED',
      apiKey: 'REDACTED',
    ));

    do_somefurther_test();
  });
}

We initially just tried with Firebase.initializeApp() but same behaviour.
We traced the call
#0      TestDefaultBinaryMessenger.Eval ()
#1      TestDefaultBinaryMessenger.send (package:flutter_test/src/binding.dart:104:45)
#2      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:148:52)
#3      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:331:12)
#4      MethodChannel.invokeListMethod (package:flutter/src/services/platform_channel.dart:344:41)
#5      MethodChannelFirebase._initializeCore (package:firebase_core_platform_interface/src/method_channel/method_channel_firebase.dart:30:37)
#6      MethodChannelFirebase.initializeApp (package:firebase_core_platform_interface/src/method_channel/method_channel_firebase.dart:77:13)
#7      Firebase.initializeApp (package:firebase_core/src/firebase.dart:42:47)
#8      main.<anonymous closure> (file:///Users/user/Documents/Developer/rbyte-app/test/page_chat_test.dart:16:34)
<asynchronous suspension>
#9      StackZoneSpecification._registerUnaryCallback.<anonymous closure> (package:stack_trace/src/stack_zone_specification.dart)
<asynchronous suspension>

Expected behavior
I expect that the call to Firebase.initializeApp() returns and ´do_somefurther_test()` gets executed. It should behave just like when running as app.
Sample project
see above code.
Additional context
The call with the same argument returns when run as an app via flutter run

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
[✓] Flutter (Channel stable, 2.2.3, on macOS 11.5.2 20G95 darwin-x64, locale en-DE)
    • Flutter version 2.2.3 at /usr/local/Caskroom/flutter/2.2.3/flutter
    • Framework revision f4abaa0735 (3 months ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/user/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
    • Java version Java(TM) SE Runtime Environment (build 1.8.0_301-b09)
    • All Android licenses accepted.

[✗] Xcode - develop for iOS and macOS
    ✗ Xcode installation is incomplete; a full installation is necessary for iOS development.
      Download at: https://developer.apple.com/xcode/download/
      Or install Xcode via the App Store.
      Once installed, run:
        sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
        sudo xcodebuild -runFirstLaunch
    ✗ CocoaPods not installed.
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To install see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[!] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] IntelliJ IDEA Ultimate Edition (version 2021.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 60.1.4
    • Dart plugin version 212.4746.57

[✓] VS Code (version 1.60.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (2 available)
    • sdk gphone x86 (mobile) • emulator-5554 • android-x86    • Android 11 (API 30) (emulator)
    • Chrome (web)            • chrome        • web-javascript • Google Chrome 93.0.4577.82

! Doctor found issues in 2 categories.

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
PASTE OUTPUT INSIDE HERE

Hi @Hu1buerger
Could you please flutter upgrade to the latest stable and provide your flutter pub deps -- --style=compact?
Thank you

Did flutter upgrade to the latest stable and will now provide pub deps
Dart SDK 2.14.2
Flutter SDK 2.5.1
REDACTED 0.6.0

dependencies:
- cached_network_image 3.1.0 [flutter flutter_cache_manager octo_image cached_network_image_platform_interface cached_network_image_web]
- carousel_slider 4.0.0 [flutter]
- cloud_firestore 2.5.1 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- connectivity 3.0.6 [flutter meta connectivity_platform_interface connectivity_macos connectivity_for_web]
- cupertino_icons 1.0.3
- disposables 1.0.0 [quiver]
- file_picker 4.0.1 [flutter flutter_web_plugins flutter_plugin_android_lifecycle plugin_platform_interface ffi path]
- firebase_analytics 8.3.1 [firebase_analytics_platform_interface firebase_analytics_web firebase_core flutter meta]
- firebase_auth 3.1.0 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 1.6.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_messaging 10.0.6 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta]
- firebase_storage 10.0.3 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]
- flutter_chat_ui 1.3.3 [flutter diffutil_dart equatable flutter_chat_types flutter_link_previewer intl meta photo_view]
- flutter_firebase_chat_core 1.3.1 [flutter cloud_firestore firebase_auth flutter_chat_types meta]
- flutter_launcher_icons 0.9.2 [args image path yaml]
- flutter_local_notifications 8.1.1+2 [flutter flutter_local_notifications_platform_interface platform timezone]
- flutter_phoenix 1.0.0 [flutter]
- flutter_search_bar 3.0.0-dev.1 [flutter meta]
- flutter_secure_storage 4.2.1 [meta flutter]
- flutter_staggered_grid_view 0.4.0 [flutter]
- fluttertoast 8.0.8 [flutter flutter_web_plugins]
- font_awesome_flutter 9.1.0 [flutter]
- geoflutterfire 3.0.1 [flutter cloud_firestore rxdart]
- google_maps_flutter 2.0.8 [flutter flutter_plugin_android_lifecycle google_maps_flutter_platform_interface]
- google_sign_in 5.1.0 [flutter google_sign_in_platform_interface google_sign_in_web meta]
- http 0.13.3 [async http_parser meta path pedantic]
- image_picker 0.8.4 [flutter flutter_plugin_android_lifecycle image_picker_for_web image_picker_platform_interface]
- intl 0.17.0 [clock path]
- json_serializable 4.1.4 [analyzer build build_config collection json_annotation meta path source_gen]
- location 4.3.0 [flutter location_platform_interface location_web]
- logging 1.0.1
- multi_image_picker 4.8.01 [flutter meta]
- open_file 3.2.1 [flutter ffi]
- package_info_plus 1.0.6 [flutter package_info_plus_platform_interface package_info_plus_linux package_info_plus_macos package_info_plus_windows package_info_plus_web]
- path_provider 2.0.3 [flutter path_provider_linux path_provider_macos path_provider_platform_interface path_provider_windows]
- pdf 3.5.0 [archive barcode crypto image meta path_parsing vector_math xml]
- printing 5.5.0 [ffi flutter flutter_web_plugins http image js meta pdf plugin_platform_interface]
- qr 2.1.0 [meta]
- rxdart 0.27.2
- url_launcher 6.0.10 [flutter meta url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]
- youtube_player_flutter 8.0.0 [flutter flutter_inappwebview]
- youtube_player_iframe 2.2.2 [flutter flutter_inappwebview url_launcher]

dev dependencies:
- build_runner 2.1.2 [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 pedantic pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- change_app_package_name 1.0.0
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span stream_channel string_scanner term_glyph typed_data]

transitive dependencies:
- _fe_analyzer_shared 22.0.0 [meta]
- analyzer 1.7.1 [_fe_analyzer_shared cli_util collection convert crypto glob meta package_config path pub_semver source_span watcher yaml pedantic]
- archive 3.1.2 [crypto path]
- args 2.2.0
- async 2.6.1 [meta collection]
- barcode 2.1.0 [meta qr]
- boolean_selector 2.1.0 [source_span string_scanner]
- build 2.1.0 [analyzer async convert crypto glob logging meta path]
- build_config 1.0.0 [checked_yaml json_annotation path pubspec_parse yaml]
- build_daemon 3.0.0 [built_collection built_value http_multi_server logging pedantic path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 2.0.4 [analyzer async build crypto graphs logging path package_config pool pub_semver stream_transform yaml]
- build_runner_core 7.1.0 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta path package_config pedantic pool timing watcher yaml]
- built_collection 5.1.1
- built_value 8.1.2 [built_collection collection fixnum meta]
- cached_network_image_platform_interface 1.0.0 [flutter flutter_cache_manager]
- cached_network_image_web 1.0.1 [flutter flutter_cache_manager cached_network_image_platform_interface]
- characters 1.1.0
- charcode 1.2.0
- checked_yaml 2.0.1 [json_annotation source_span yaml]
- cli_util 0.3.3 [meta path]
- clock 1.1.0
- cloud_firestore_platform_interface 5.4.1 [collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 2.4.1 [cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- code_builder 4.1.0 [built_collection built_value collection matcher meta]
- collection 1.15.0
- connectivity_for_web 0.4.0+1 [connectivity_platform_interface flutter_web_plugins flutter]
- connectivity_macos 0.2.1+2 [flutter connectivity_platform_interface]
- connectivity_platform_interface 2.0.1 [flutter meta plugin_platform_interface]
- convert 3.0.1 [typed_data]
- cross_file 0.3.1+4 [flutter meta]
- crypto 3.0.1 [collection typed_data]
- csslib 0.17.0 [source_span]
- dart_style 2.0.3 [analyzer args path pub_semver source_span]
- diffutil_dart 2.0.0+1
- equatable 2.0.3 [collection meta]
- fake_async 1.2.0 [clock collection]
- ffi 1.1.2
- file 6.1.2 [meta path]
- firebase 9.0.1 [http http_parser js]
- firebase_analytics_platform_interface 2.0.1 [flutter meta]
- firebase_analytics_web 0.3.0+1 [firebase firebase_analytics_platform_interface flutter flutter_web_plugins meta]
- firebase_auth_platform_interface 6.1.0 [firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 3.1.0 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.0.1 [collection flutter meta plugin_platform_interface]
- firebase_core_web 1.1.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_messaging_platform_interface 3.0.5 [firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_web 2.0.5 [firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins js meta]
- firebase_storage_platform_interface 4.0.2 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_storage_web 3.0.2 [async firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http js meta]
- fixnum 1.0.0
- flutter_blurhash 0.6.0 [flutter meta pedantic]
- flutter_cache_manager 3.1.2 [clock collection file flutter http path path_provider pedantic rxdart sqflite uuid]
- flutter_chat_types 3.0.1 [equatable json_annotation meta]
- flutter_inappwebview 5.3.2 [flutter]
- flutter_link_previewer 2.4.1 [flutter flutter_chat_types flutter_linkify html http linkify meta url_launcher]
- flutter_linkify 5.0.2 [flutter linkify]
- flutter_local_notifications_platform_interface 4.0.1 [flutter plugin_platform_interface]
- flutter_plugin_android_lifecycle 2.0.3 [flutter]
- flutter_web_plugins 0.0.0 [flutter js characters collection meta typed_data vector_math]
- frontend_server_client 2.1.2 [async path]
- glob 2.0.1 [async collection file path pedantic string_scanner]
- google_maps_flutter_platform_interface 2.1.1 [collection flutter meta plugin_platform_interface stream_transform]
- google_sign_in_platform_interface 2.0.1 [flutter meta quiver]
- google_sign_in_web 0.10.0+2 [flutter flutter_web_plugins google_sign_in_platform_interface js meta]
- graphs 2.0.0
- html 0.15.0 [csslib source_span]
- http_multi_server 3.0.1 [async]
- http_parser 4.0.0 [charcode collection source_span string_scanner typed_data]
- image 3.0.2 [archive meta xml]
- image_picker_for_web 2.1.3 [flutter flutter_web_plugins image_picker_platform_interface meta]
- image_picker_platform_interface 2.4.1 [flutter http meta plugin_platform_interface cross_file]
- io 1.0.3 [meta path string_scanner]
- js 0.6.3
- json_annotation 4.0.1
- linkify 4.1.0
- location_platform_interface 2.3.0 [flutter meta plugin_platform_interface]
- location_web 3.1.1 [flutter flutter_web_plugins http_parser js location_platform_interface meta]
- matcher 0.12.10 [stack_trace]
- meta 1.3.0
- mime 1.0.0
- octo_image 1.0.0+1 [flutter flutter_blurhash]
- package_config 2.0.0 [path]
- package_info_plus_linux 1.0.3 [package_info_plus_platform_interface flutter path]
- package_info_plus_macos 1.1.1 [flutter]
- package_info_plus_platform_interface 1.0.2 [flutter meta plugin_platform_interface]
- package_info_plus_web 1.0.4 [flutter flutter_web_plugins http meta package_info_plus_platform_interface]
- package_info_plus_windows 1.0.3 [package_info_plus_platform_interface ffi flutter win32]
- path 1.8.0
- path_parsing 0.2.1 [vector_math meta]
- path_provider_linux 2.0.2 [flutter path path_provider_platform_interface xdg_directories]
- path_provider_macos 2.0.2 [flutter]
- path_provider_platform_interface 2.0.1 [flutter meta platform plugin_platform_interface]
- path_provider_windows 2.0.3 [ffi flutter meta path path_provider_platform_interface win32]
- pedantic 1.11.1
- petitparser 4.1.0 [meta]
- photo_view 0.12.0 [flutter]
- platform 3.0.2
- plugin_platform_interface 2.0.1 [meta]
- pool 1.5.0 [async stack_trace]
- process 4.2.3 [file path platform]
- pub_semver 2.0.0 [collection]
- pubspec_parse 1.0.0 [checked_yaml collection json_annotation pub_semver yaml]
- quiver 3.0.1 [matcher]
- shelf 1.2.0 [async collection http_parser path stack_trace stream_channel]
- shelf_web_socket 1.0.1 [shelf stream_channel web_socket_channel]
- sky_engine 0.0.99
- source_gen 1.0.3 [analyzer async build dart_style glob meta path pedantic source_span yaml]
- source_span 1.8.1 [collection path term_glyph]
- sqflite 2.0.0+4 [flutter sqflite_common path]
- sqflite_common 2.0.1 [synchronized path meta]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- stream_transform 2.0.0
- string_scanner 1.1.0 [charcode source_span]
- synchronized 3.0.0
- term_glyph 1.2.0
- test_api 0.3.0 [async boolean_selector collection meta path source_span stack_trace stream_channel string_scanner term_glyph matcher]
- timezone 0.8.0 [path]
- timing 1.0.0 [json_annotation]
- typed_data 1.3.0 [collection]
- url_launcher_linux 2.0.2 [flutter]
- url_launcher_macos 2.0.2 [flutter]
- url_launcher_platform_interface 2.0.4 [flutter plugin_platform_interface]
- url_launcher_web 2.0.4 [flutter flutter_web_plugins meta url_launcher_platform_interface]
- url_launcher_windows 2.0.2 [flutter]
- uuid 3.0.4 [crypto]
- vector_math 2.1.0
- watcher 1.0.0 [async path pedantic]
- web_socket_channel 2.1.0 [async crypto stream_channel]
- win32 2.2.9 [ffi]
- xdg_directories 0.2.0 [meta path process]
- xml 5.1.2 [collection meta petitparser]
- yaml 3.1.0 [collection source_span string_scanner]

I would say that the FlutterFire plugins rely on delegating calls to the native SDKs to initialize and provide functionality and as with most unit tests these kinds of external dependencies are usually mocked (read https://flutter.dev/docs/testing#unit-tests for more). You can take a look at how the tests in this repository are structured for example.
That being said it doesn't look right that it just doesn't return instead of throwing?

Yes definitely. But I would argue that even while testing, testing against - dear lord I am so sorry; I repent my sins - production database should be possible. I.e. for testing Widgets

@markusaksli-nc  Is this issue also present for flutter desktop? I would assume that this would be an issue bcs this would break firebase for flutter desktop.

You mean not returning because it isn't supported? On Linux and Windows the plugins will just throw because the channels aren't implemented for the platform. The ones that aren't yet supported on macOS should do the same.

no i would argue that the desktop implementation should be supported, but I hear that you seem to be planing that.
But also I am not sure on what platform unit tests for android run. But maybe they run on the dev platform under the assumption that any  widget should also run on that platform.

Unit tests do not run on real device hardware through an OS. That's what integration tests are for. This is why it shouldn't be possible to test against your production database in unit tests as well. The FlutterFire plugins rely on method channels to communicate with the native Firebase SDK on the target device. In unit tests, this needs to be mocked or it can't be used at all.

@markusaksli-nc  How about automated integration test with firesbase-emulators? Any clue on how to achieve that? Because anytime I call await Firebase.initializeApp(); I got No implementation found for method Firebase#initializeCore on channel plugins.flutter.io/firebase_core error

We have provided documentation on how to run unit tests and integration tests here. Hope this help!


protoc-gen-go: Add -version flag to print version

Fixes https://github.com/golang/protobuf/issues/598.

Unfortunately, v1.1.0 has already been tagged, so we can't retroactively add this functionality without tagging another minor version (for which this is not worth a minor release on its own).

Also, I'd rather not hard-code a version string as it is easy for that to get out of sync with the repository tag. Instead, I rather wait for proper versioning support to come with golang/go#24301. It's not just the version of protoc-gen-go you want to encode, but also all of its dependencies (namely the standard library), as that also affects the output.

Unfortunately, v1.1.0 has already been tagged, so we can't retroactively add this functionality without tagging another minor version (for which this is not worth a minor release on its own).

Of course. I just added the latest version, so that it could be updated whenever a new release was made.

Also, I'd rather not hard-code a version string as it is easy for that to get out of sync with the repository tag. Instead, I rather wait for proper versioning support to come with golang/go#24301. It's not just the version of protoc-gen-go you want to encode, but also all of its dependencies (namely the standard library), as that also affects the output.

I agree that an automatic way to include the version into the code would be safer. However I didn't know of any. Waiting for vgo might make sense, but could take more time.

Waiting for vgo might make sense, but could take more time.

It's certainly the correct path forward to fixing this. Russ is aiming to get vgo support into Go1.11, which is 3 months out. I'd rather wait for that.
Is there something that absolutely requires versioning info now? Or is this just a "nice to have"?

It's just cumbersome that in open-source project it's virtually impossible
to make changes to proto files and commit the respective changes to the
generated code, since a single update in any of the several used packages
(protoc, protoc-gen-go, protoc-gen-grpc-gateway, protoc-gen-swagger) will
change things that shouldn't be changed. So basically a PR to a proto file
has to be followed by a commit from the maintainer that has a consistent
setup.
On Fri, May 11, 2018 at 8:40 PM, Joe Tsai<EMAIL_ADDRESS>wrote:

Waiting for vgo might make sense, but could take more time.
It's certainly the correct path forward to fixing this. Russ is aiming to
get vgo support into Go1.11, which is 3 months out. I'd rather wait for
that.
Is there something that absolutely requires versioning info now? Or is
this just a "nice to have"?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/golang/protobuf/pull/599#issuecomment-388450865, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA0F3CgCxVv4tLLwRMjtivBh2bsnEnfdks5txdsFgaJpZM4T6K0g
.

Closing this in favor of vgo support, which is moving along.

vgo doesn't really solve this. This is about external tools being able to determine the version of the executable.

Maybe this should wait until the upcoming go release command. It sounds to me like exposing version information for executables is something it would do.

I'm ok with waiting until a good approach is figured out. But if it's closed, I feel like it'll be forgotten about soon :)

Agreed. I've been struggling with the same problem in some projects of mine, and have temporarily added hard-coded version constants in a couple. I started watching this thread in the hopes that a better idea would come up :)

I do care about having good versioning strings in protoc-gen-go, but I'm not fond of doing extra plumbing work for something that will probably be solved in the coming months. There are many other protobuf issues to address that is probably better to spend the limited time on.

I totally agree. But again, there's no harm in this issue being open and low priority.

Perhaps, I'm misunderstanding something, but there is an open issue for this? #524

That issue is about logging the version used in the generated code.

For now, I would be happy to just see items 1 and 2 start being encoded in the generated infolog.

That's different than having the executable log its version (like almost all GNU executables do, fwiw) so that tooling can check this version before generating new code.

That issue is a superset of the functionality requested here. I still want #3 in that list (which is why that issue is still open). Once #524 is achievable, it is trivial to expose a command-line flag that exposes this information. I think we're spending time debating the same thing.


A way to filter tasks in the tree view

Problem statement
While prototyping and editing scripts, I usually need to find all the instances of a task and fix export values, remove them, or just find where it is used.
There is no filter for the tree view so I have to pinpoint tasks by eye, which becomes more difficult as the tree grows larger.
Proposed solution
A filter feature for the behavior tree view similar to the filter in the scene tree.
It can take a name string and optionally a type. Nodes that don't match the filter are hidden but the parent structure is visible.
Usage example, based on the scene tree filter behavior:

Filter can_melee t:BTCheckVar will show all BTCheckVar tasks containing "can_melee" in their generated names.
Matches don't need to be precise so can_melee t:checkVar and _melee t:check will have the same result
Support for multiple matches. Filter can_melee t:BTCheckVar NavigateToPos will show both BTCheckVar containing "can_melee" and a custom task named NavigateToPos

The filter could be fixed on the top like the scene's node tree but since the behavior editor is a main dock, it could work like the script editor's Find feature. It is placed at the bottom, can be accessed with Ctrl+F, and can be hidden.
Alternatives
N/A

Design proposal: Two options

Filter tree: show only trees with matching subtree names/base names.
Highlight tree: highlight matches or show right-side indicators (with match count for multiple hits).

Filter or highlight option could be implemented as the "Show All" toggle like in the node selector.

Yes, consistency is nice, especially naming consistency.
I initially imagined filtering to allow using the tree as-is while filtered. For example, you could mask for a parent and then edit its subtree without being distracted by other parts.
On the other hand, if we went all-in with the Godot-internal node selector design, the filter option would be usable in exactly this way:

search
select element
exit filtering

This is an improvement, and I am all for it. It's your proposal after all. I'm all ears which direction this should go.

Don't want to unnecessarily bump this but Tuesday I got some time. I will try to implement this. I will go with @ydeltastars suggestion if nothing else is suggested. @ydeltastar If you are already working on this, please let me know!

I initially imagined filtering to allow using the tree as-is while filtered. For example, you could mask for a parent and then edit its subtree without being distracted by other parts.

That's how I imagined it too. Similar to the scene tree filter but with an option to hide/show filtered-out tasks which the scene tree doesn't have.
Sounds great! I haven't worked on this yet.

Such functionality would be quite useful. :+1:  UI needs some consideration - that main toolbar is so packed. Make sure to also take the new layout into consideration.

Yeah, that can work

Update: Custom class added for TaskTree simplicity. Exploring selection for navigation and highlighting. Filtering planned for Sunday, may take longer. Open to any feedback.


[Bug]:

Operating System
Windows 11
BG3 Mod Manager Version
<IP_ADDRESS>
BG3 Game Version
Full Release Patch 6 Hotfix 25
Bug Summary
I just finished creating a mod using Creator's Cauldron Main and was trying to load the mod manager so I could test it. The manager refuses to open and gave me this log instead. Please help.

Links
No response

Okay, so it's not just me, and it's not just Linux. Mine is also showing:
[00000000000000ec:] EXCEPTION handling: System.IO.FileNotFoundException: Could not load file or assembly 'Z:\home\hal_j\.local\BG3-Mod-Manager\en-US\BG3ModManager.resources.dll' or one of its dependencies.

That en-US directory doesn't exist in the download.
Considering when this was last updated, It looks like it's been abandoned, which sucks because the next best option(Lampray) IMHO is terrible UI wise. There's no way to enable all. You have to enable each one by one. When it works, BG3MM is far preferred, but that's a DC 21 check right now...


[Question] number of teams

When the number of teams is not specified for target offloading, how does the AOMP runtime determine it (i.e. grid size) ?  Thanks.

The function getLaunchVals, defined in plugins/amdgpu/src/rtl.cpp, has the logic to determine the number of teams.
Generally speaking, the number of teams is initialized to a multiple of the number of computation units (CU) of the GPU where the relevant kernel will run. Based on the type of the kernel, there is some specialized logic to adjust the number of teams in getLaunchVals. Additionally, this function processes and sanity-checks any value that has been requested by the user, either through directives or environment variables.


Generate new HttpIdentifierConverter for new baseURIs

JIRA Ticket: https://fedora-repository.atlassian.net/browse/FCREPO-3818
What does this Pull Request do?
When accessing Fedora through a reverse proxy and using the HTML UI you can get a state where the first request comes from the external URI, but a second comes from the internal URI. Because we generate a HttpIdentifierConverter from the external URI it won't match the internal URI.
This generates a Map of HttpIdentifierConverters (though at most you should only create 2).
How should this be tested?
The only real way is to setup a reverse proxy and ensure you have ProxyPreserveHost On in it.
Then when accessing the HTML UI with a browser (or an Accept: text/html header) you should get a stack trace in Fedora like
WARN 17:24:48.854 [qtp1749712938-32] (WildcardExceptionMapper) Unmapped exception
java.lang.IllegalArgumentException: Cannot translate NULL path extracted from URI http://web_scripts.localhost:8111/rest/
	at org.fcrepo.http.commons.api.rdf.HttpIdentifierConverter.toInternalId(HttpIdentifierConverter.java:83)
	at org.fcrepo.http.commons.api.rdf.HttpIdentifierConverter.toInternalId(HttpIdentifierConverter.java:58)
	at org.fcrepo.http.api.responses.StreamingBaseHtmlProvider.writeTo(StreamingBaseHtmlProvider.java:205)
	at org.fcrepo.http.api.responses.StreamingBaseHtmlProvider.writeTo(StreamingBaseHtmlProvider.java:83)
	at org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.invokeWriteTo(WriterInterceptorExecutor.java:242)
	at org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.aroundWriteTo(WriterInterceptorExecutor.java:227)
	at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:139)
	at org.glassfish.jersey.server.internal.JsonWithPaddingInterceptor.aroundWriteTo(JsonWithPaddingInterceptor.java:85)
	at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:139)
	at org.glassfish.jersey.server.internal.MappableExceptionWrapperInterceptor.aroundWriteTo(MappableExceptionWrapperInterceptor.java:61)
	at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:139)
	at org.glassfish.jersey.message.internal.MessageBodyFactory.writeTo(MessageBodyFactory.java:1116)
	at org.glassfish.jersey.server.ServerRuntime$Responder.writeResponse(ServerRuntime.java:635)
	at org.glassfish.jersey.server.ServerRuntime$Responder.processResponse(ServerRuntime.java:373)
	at org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:363)
	at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:258)
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:244)

Pull in this PR and it should work.
Interested parties
Tag (@ mention) interested parties or, if unsure, @fcrepo/committers

When accessing Fedora through a reverse proxy and using the HTML UI you can get a state where the first request comes from the external URI, but a second comes from the internal URI.

We never had a reverse proxy setup when we noticed this. Yet we do access resources via curl and browser UI from the same machine. Would this have a similiar effect?
I don’t understand the scope of the StreamingBaseHtmlProvider . So I’m guessing from the code that it holds a map of HttpIdentifierConverterinstaces for each request that comes in with a new base URI as long as StreamingBaseHtmlProvider is in used? There are no annotaions on this provider. So what is its scope?

StreamingBaseHtmlProvider handles any text/html output for Fedora, so if you are using the HTML UI then yes you are using this class. I know this mimic'ed the issue you were experiencing on a intermittent basis, but the reverse proxy setup made the issue reproducible.
So I am not 100% sure this will solve the issue you initially opened, but I do think it is conceivable the it was a similar case of the stored HttpIdentifierConverter using an incorrect pattern for subsequent requests.

To my understanding JAX-RS Providers are Application Scoped. They are initialized when the application starts and then the overridden writeTo() method is called to map the Java object to a specific representation.
See section 4.2.2 for more on MessageBodyWriters - https://download.oracle.com/otn-pub/jcp/jaxrs-1.0-fr-eval-oth-JSpec/jaxrs-1.0-final-spec.pdf?AuthParam=1665756161_0606e4a689f55531241a47f979aa26bf


Error when a series has over nine seasons

First congratulations on the system. I'm doing some tests with him and noticed a problem. When a series has over nine seasons, he does not return the information correctly ... it is something like this : 1,2,3,4,5,6,7,8,9,1,1,1
For ex. http://www.imdb.com/title/tt0460681/
tks

Fixed in https://github.com/FabianBeiner/PHP-IMDB-Grabber/releases/tag/v6.0.4. :+1:


TimeLine labels keep showing when zoom

When I zoom in on a timeline chart, the blurry data labels continue to show. I haven't found a way to hide them. With more data on the same row zoomed in, the labels overlap. Here is the code.
https://codepen.io/foglights/pen/gOWvQOo

Greetings, any news on this bug? Please consider the issue another user has encountered : https://stackoverflow.com/questions/72029982/how-can-i-fix-overlapping-of-data-labels-in-react-apex-charts
Same causes, same problem : enabling DataLabels on a Timeline Chart causes them to be displayed even if the user zoomed in, which is not the behavior expected since the DataLabels concerns data not displayed.

Same issue here

tried many workaround without success, any idea ?

@randomnessdev the data-labels overflowing on y-axis is a separate issue. Please open a new issue with line chart-type.
The reported issue is for timeline charts.


Custom headers not sent when using DbOutboundWorker

Version 2.2.0
Looking at the db OutboundMessage table, I noticed that the custom headers (set using the annotation) of my messages were not serialized and therefore sent.
I fixed the problem by registering a default outbound worker and assigning it to my outbound endpoint.
I hope it is useful to fix the problem.

Definitely a bug. I'm already working on it and it will be fixed in v3.0.0 (unless it gets urgent and in that case I'll port it back to 2.2, but I'd prefer to avoid the double work).

Fixed in v3.0.0 (currently in beta).


[wip] build everything with sbt 1 by default

probably there are some projects that we could be building using sbt 1, but aren't.
let's find out what they are.
let's also flip the default so that sbt 1 is assumed, and a project has to explicitly request 0.13 instead.
fyi @eed3si9n

https://scala-ci.typesafe.com/view/scala-2.12.x/job/scala-2.12.x-integrate-community-build/3833/

https://scala-ci.typesafe.com/view/scala-2.12.x/job/scala-2.12.x-integrate-community-build/3842/consoleFull
I estimate this PR moves about a dozen projects onto sbt 1 (apparently they had build definitions that worked in either version)


Demo 152: 500 Internal Server Error

Demo 152 gives a 500 Internal Server Error

I guess it's related to the recent ajson changes.

are you pulled to the latest demo repo?
this demo was changed like a week ago

yes latest demo repo. Does it work for you?

@christianguenter2 thank you for finding this, yes its a bug, i will check it and update it soon.

should be fixed now with https://github.com/abap2UI5/abap2UI5/pull/871
expect some more bugs in the next days, i took the chance and did a lot of refactoring with the switch to ajson, just open an issue, thank you for bug hunting!

Thanks for the fast response and the fix. Works. Thanks again for this amazing project.


lstm: Move class SIMDDetect to new source file and improve code

Modify also the code to use a singleton. This simplifies the code as
no locking is needed. It also slightly improves the performance because
no check whether the architecture was tested is needed.
Signed-off-by: Stefan Weil<EMAIL_ADDRESS>

Thanks again.


Finish Implementation of entity.h & entity.c

he told u to figure it out lmao

fixed entity_update_all(() and entity_think_all()
gotta figure out how to release the allocated data (i.e. system_close)

did it all


Feature/splash screen

Splash screen implementada

https://github.com/Apple-Developer-Residence-IFCE/LoveMyCapibara/assets/86106757/bc08575b-2990-4792-98f3-cf73e8e72c4d


Update sites.json

Hey,
I just added a new site, wifimap.io as this was not on justdelete.me.
Thanks for the site btw!

HI @ut1s this repository has been abandoned years ago. Check out our forked and maintained one at https://github.com/jdm-contrib/jdm


When I delete a decimal it goes to 00 instead of erasing it

I have an input with a numeric mask.
<input type="text" class="js-inputmask" data-inputmask="'alias': 'numeric', 'groupSeparator': ' ', 'autoGroup': true , 'digits': 2, 'digitsOptional': false, 'radixPoint' : ','">

If I add a decimal and then erase it, it goes to 00...any option to just erase the decimal instead of replacing the numbers to 00?
On focus out it adds 00 as well, is this optional?
http://codepen.io/stephendesjardins/pen/zNMZZb
Using version : 3.3.5-33
Thanks!

Might be because of 'digits': 2, 'digitsOptional': false part. It basically says "this number must have 2 decimal positions no matter what". So it shows them even if they are empty ( = 0).

Thank you, that fixed the problem! :+1:


possible schema for the challenges, with some example challenges @HarlockOfficial

Description
Problem Solved
Please include the name of the problem solved
NOTE: only one pull request per problem is accepted.
Also, if a pull request solves multiple problems, only one of the solved problems will be add to the user points (and therefore the leaderboard)
Dependencies and Reason
List any dependencies that are required for this solution and the reason why you used these dependencies
List of Developers
This solution has been implemented by the following Developers:

@GithubProfileTag

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[x] I have checked my code and corrected any misspellings

NOTE: the PR have to be labelled in-progress until the work is complete, the PR will be checked, reviewed and merged only after being labelled as complete

changed challenge format


Rename Open to Learn

What are the relevant tickets?

Part of https://github.com/mitodl/hq/issues/5154
Description (What does it do?)

Updates usages of the logo and any textual usages of the previous product name to "Learn" / "MIT Learn".
Screenshots (if appropriate):

How can this be tested?

Verify the password reset / confirmation emails use the new logo and that the name is correct in areas where there is a hardcoded string. NOTE: some piece of the UI depend on the display name of the realm. You should set this to "MIT Learn" to match.

The email footer has "MIT" shown twice - MIT MIT Learn


Update Swift6Mode.md

I have added the section for setting the default language version in the example code to help those who prefer to understand by looking at the code first. Take seems good to you!

This change is technically unnecessary. Using the tools version as defined automatically changes the mode. The guide does try to cover this, because it is an important change. But, perhaps it is not clear enough?

A Package.swift file that uses swift-tools-version of 6.0 will enable
the Swift 6 language mode for all targets.

@mattmassicotte
When I looked at the guide document, I understood it the same way you mentioned. However, it didn't build with Swift 6.0, so I understood that the changes only apply when that parameter is modified.

Sorry this is so confusing, especially since the suggestion you are making is not wrong!
However, there is a known issue with Xcode 16 related to default language mode selection. This should get worked out and then will behave as documented here.
Thanks again, and please don't be shy about contributing more in the future!


Shades of morton - empty openable loot

🐛 Bug Report

Somehow I got an empty open image when opening a shades of morton key however this shouldn't be possible due to being guaranteed swamp paste regardless of the tier
Unsure if I did actually get a drop and it wasnt rendered correctly or if theres a chance at getting nothing mistakenly

Mystery boxes don't have a guaranteed drop which is why I'm bringing it up for "Always" items ...


Import lambda fails because of missing inputs

Using the import CLI command fails when importing a lambda function
pulumi import aws:lambda/function:Function test_lambda {lambda-name}
Expected behavior

Lambda function is imported into stack and code is provided.
Current behavior

Preview fails with the following error message:
aws:lambda:Function (test_lambda):
    error: Preview failed: diffing urn:pulumi:dev::import::aws:lambda/function:Function::test_lambda: handler and runtime must be set when PackageType is Zip

Steps to reproduce

Find a lambda to import
Use Pulumi CLI to import lambda function
Watch it fail

Even though I do not want to promote the import driven development, this can be quite handy. Especially with colleagues not so confident with either programming or their infrastructure skills.
For them the import is a boon.

Even if you're good at programming, importing can be a time saver.

Any fixes coming up soon for this one?

I originally wondered if we don't support importing resources with assets attached to them. I still do wonder about that, however, it's not immediately apparent that's the issue here.
This is failing in the Diff: I0705 11:27:27.478354   43570 provider_plugin.go:656] Provider[aws, 0xc0001503c0].Diff(urn:pulumi:dev::lambimp::aws:lambda/function:Function::test_lambda,zipTpsReports-2fb5559) failed: diffing urn:pulumi:dev::lambimp::aws:lambda/function:Function::test_lambda: handler and runtime must be set when PackageType is Zip.
And yet, strangely, the import seems to have read back the right properties here:

handler: I0705 11:27:27.475534   43570 rpc.go:72] Marshaling property for RPC[Provider[aws, 0xc0001503c0].Diff(urn:pulumi:dev::lambimp::aws:lambda/function:Function::test_lambda,zipTpsReports-2fb5559).olds]: handler={__index.handler}
packageType: I0705 11:27:27.475663   43570 rpc.go:72] Marshaling property for RPC[Provider[aws, 0xc0001503c0].Diff(urn:pulumi:dev::lambimp::aws:lambda/function:Function::test_lambda,zipTpsReports-2fb5559).olds]: packageType={Zip}
runtime: I0705 11:27:27.475724   43570 rpc.go:72] Marshaling property for RPC[Provider[aws, 0xc0001503c0].Diff(urn:pulumi:dev::lambimp::aws:lambda/function:Function::test_lambda,zipTpsReports-2fb5559).olds]: runtime={nodejs12.x}

Is this failing because of the way we're passing state to the underlying provider diff routine?

Is there any recommended workaround?

The documentation for pulumi import suggests there isn't a way to supply missing parameters that are not detected, which would have been the most straightforward temporary workaround.

Even though I do not want to promote the import driven development, this can be quite handy. Especially with colleagues not so confident with either programming or their infrastructure skills.
For them the import is a boon.

Out of interest, what process would you promote where, for example, a team would like to migrate from one IaC tool (say Terraform) to Pulumi and have production resources that can't simply be destroyed.

This documentation suggest an alternative import process leveraging code in conjunction with the CLI.
For a lambda, we'll need to find the required role, handler, and runtime properties in the AWS Console but Pulumi will guide us through missing inputs that need to be added to match the existing lambda.
For example, this is the bare minimum code to start the import process:
const imported_lambda = new aws.lambda.Function("your-existing-lambda-name",
  {
    role: "arn:aws:iam::your-aws-account-number:role/your-role-name",
    handler: "lambda_entry.lambda_handler",
    runtime: "ruby2.7"
  },
  {import: "your-existing-lambda-name"});

Then running pulumi preview --diff will show us what's missing.
Please choose a stack, or create a new one: poc/test
Previewing update (poc/test)

View Live: https://app.pulumi.com/poc/quickstart
                                                                                pulumi:pulumi:Stack: (same)
    [urn=urn:pulumi:test::quickstart::pulumi:pulumi:Stack::quickstart-test]                                                                                warning: inputs to import do not match the existing resource; importing this resource will fail
    = aws:lambda/function:Function: (import)
        [id=your-existing-lambda-name]
        [urn=urn:pulumi:test::quickstart::aws:lambda/function:Function::imported-lambda]
        [provider=urn:pulumi:test::quickstart::pulumi:providers:aws::default_4_34_0::ca63eb06-7a31-4984-939d-5ee58240d5d7]
      - environment: {
          - variables: {
              - ENV                    : "test"
            }
        }
      ~ name       : "your-existing-lambda-name" => "imported-lambda-922365b"
      ~ timeout    : 60 => 3                                                                                Resources:
    = 1 to import

In this case, we need to add an environment variable, add the name to prevent Pulumi from renaming the lambda and add the timeout of 60 seconds.  Once we have that Pulumi will allow the import.
For example:
const imported_lambda = new aws.lambda.Function("your-existing-lambda-name",
  {
    name: "your-existing-lambda-name",
    role: "arn:aws:iam::your-aws-account-number:role/your-role-name",
    handler: "lambda_entry.lambda_handler",
    runtime: "ruby2.7",
    timeout: 60,
    environment: {
      variables: {
        ENV: "test",
      }
    }
  },
  {
    import: "live-events-brushfire-webhook-lambda"
  }
);

After a successful import we can then remove the import section and manage the lambda with Pulumi.
const imported_lambda = new aws.lambda.Function("your-existing-lambda-name",
  {
    name: "your-existing-lambda-name",
    role: "arn:aws:iam::your-aws-account-number:role/your-role-name",
    handler: "lambda_entry.lambda_handler",
    runtime: "ruby2.7",
    timeout: 60,
    environment: {
      variables: {
        ENV: "test",
      }
    }
  }
);

Import functionality has been significantly refactored in https://github.com/pulumi/pulumi/issues/8922 to substantially reduce the number of failures during pulumi import and make the generated code more truthful and complete. We haven't tested this exact issue, but we believe it's addressed by the refactoring.
I'll go ahead and close the issue - feel free if you still get issues with it after upgrading to the Pulumi CLI version 3.26.1 or above.
Read more about the changes in Easier IaC adoption with improved pulumi import experience.


[add-resource] New Plugin/Theme

I would like to add my new plugin/theme to the Grav Repository.
Here are the project details: https://github.com/Flamenco/grav-plugin-quicksave

Thanks, will get this added to GPM shortly.

This has been added, cheers.


Allow user to change sound volume independent of music volume

SDL2 doesn't have a notion of saving global sound effect volume. Before for simplicity, we simply used the music volume. But this will allow the user to store a volume for sound and pass it in when they play sounds and have full control over the volume that it's played at.

Nice!


User configuration file for TowerOS-ThinClient

screen resolution
wallpaper
screenlocker time
startw on login
...

done!
Edit the file ~/.local/tower/osconfig with the following variables:
LOCK_SCREEN_AFTER=300 # 5 minutes
WALLPAPER_IMAGE=/var/towercomputers/wallpaper.jpg
STARTW_ON_LOGIN='false'


3 clarity brains ingested into AWS

Dependent upon -- https://github.com/neurodata/ndstore/issues/349
Artifact demo a cutout and ndviz.
Based on review, we will deploy to neurodata.io

https://github.com/neurodata/ndstore/issues/367

@jovo closing this.

great!
On Wed, Nov 9, 2016 at 2:09 PM, Kunal Lillaney<EMAIL_ADDRESS>wrote:

@jovo https://github.com/jovo closing this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/neurodata/ndstore/issues/350#issuecomment-259498218,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACjci-sQGCnpflCO7fDt1PxUM8g8gxLks5q8hp0gaJpZM4JqKrl
.

--
the glass is all full:  half water, half air.
neurodata.io, jovo calendar
https://calendar.google.com/calendar/embed?src=joshuav%40gmail.com&ctz=America/New_York


ADC: STM32: Add device tree config for clock source with prescaler

This PR adds a clock prescaler to the ADC of the stm32 mcus
Fixes https://github.com/zephyrproject-rtos/zephyr/issues/40955
Signed-off-by: Francois Ramu<EMAIL_ADDRESS>

This part of the stm32 adc driver in the adc_stm32_init function requires more changes because the ADC clock can now hav different prescaler value
including Synchronous or asynchronous division factor. That should be handled a particular call to LL_ADC_SetCommonClock and/or LL_ADC_SetClock depending on the stm32 soc

rebase on

rebase on 5897de1e535816247e309348cbe29760361a28b8
define the st,prescaler as a string and build the clock_prescaler using concatenation.

Example for stm32u5x, to set LL_ADC_CLOCK_ASYNC_DIV6, the dts must define the property as follows:
&adc1 {
	st,prescaler = "6";
};

The stm32F1x has no prescaler, its config->clock_prescaler is reset

See https://github.com/zephyrproject-rtos/zephyr/pull/48938


[REQ] Shanghai QF Trophy

I believe it is absent, or this edition did not have this trophy like in previous ones?

As far as I know, Valve has not yet given the collectives to the players, until they hand them over it won't be available. (Source: magixx's inventory)


Proposal: Support copying or aliasing contexts

Example:
An engineering team using multiple GKE clusters may reasonably have these desires:

Common tooling used across the team which needs to rely on predictable cluster naming conventions, eg: gke_project_zone_cluster-01
Ability to reference these clusters by friendlier shorternames such as cluster-01, cluster-02, and so on.

Currently kubectx supports renaming clusters which would address #2. However, renaming clusters would break use case #1.
Providing an easy mechanism for copying contexts would allow for a straightforward way for the team to address both desires. By not renaming and keeping the full GKE name the team can distribute common tooling that relies on the full context name. And copying to a friendlier name makes it easier for the team to operate against multiple clusters, eg: kubectl get pods --context cluster-01 or kubectx cluster-01
Implementing "copy" functionality would satisfy both desires.

As I said in #101 I don't think it's a common case to both rely on GKE context names on dev machines AND provide user-friendly names for them.
For a GKE advocate, I would highly discourage anyone from relying on gke context name pattern (i.e. gke_PROJECT_ZONE_CLUSTERNAME as you said) in any programming environment or scripting. Please use multiple kubeconfig files like the following for scripting/tooling:
KUBECONFIG=cluster-01.yaml gcloud container clusters get-credentials cluster-01

However, this issue may have some merit. So I'll keep it open for a while to see if there's enough demand for it and what are their use cases.
We would probably support this with a syntax similar to current renaming syntax (A=B). So maybe A==B or something like that may work.
As you noted in your PR #101, this complicates the context deletion since they would be sharing user/cluster entries.

I can confirm @joemiller's example, we are running into similar issues where people want to use peronalized aliases for clusters. People from different teams work with different sets of cluster, some just with "their" clusters ("prod", "dev"), SRE do support multiple teams so they need "team1.prod", "team1.dev", "team2.prod" ... etc.
We have implemented some developer workstation configuration management that does rollout team specific sets of kubeconfigs and the script itself is idempotent. If developers are suppossed to edit kubeconfigs for having cluster nicknames it would break any kind of kubeconfig configuration management.
Having an alias for cluster names would still allow tools to do regenerate kubeconfigs while keeping the cluster nickname.

@cruschke this is a great use case report, thank you.

Every time you alias, you end up with more contexts. And context name is meant to be used for human friendlines. This is also the reason why kubectl has a rename-context method.
Can you explain your use case? Why do you need to clone your contexts?

Every time you alias, you end up with more contexts.

I am aware of that :)

context name is meant to be used for human friendlines

Yet prominent cloud providers generate kubeconfigs via their CLI sdk with names that are not exactly user friendly. GKE has been cited above; DOKS is another one, for example.

Why do you need to clone your contexts?

because original ones are generated programmatically by third party tools, and I want to keep those untouched because I may need to re-run these tools, e.g. for credentials rotation or other configuration updates.

I think as you said, I'd recommend doing what was deleted in https://github.com/ahmetb/kubectx/commit/9ed6690978df71de8961f2b35bd86a6c01db14ec#diff-10bafbbcaaa2bf26d2f237f58c279417 as a workaround. I'm hesitant about increasing the interaction surface for a feature that only a few people would use.
The algorithm was:

for $CONTEXT, read its $USER and $CLUSTER

$USER: kubectl config view -o=jsonpath="{.contexts[?(@.name==\"${CONTEXT}\")].context.user}"
$CLUSTER= kubectl config view -o=jsonpath="{.contexts[?(@.name==\"${CONTEXT}\")].context.cluster}"

create a $NEW context with kubectl config set-context $NEW --cluster="$CLUSTER" ---user="$USER"

Please do this as a bash function in the meanwhile as a workaround.
If more people report this I might be open to adding, so keeping the issue open. 👍

+1 we ran into the same issue with internal tooling expecting real cluster names instead of aliases. I'll do the work around and share with others, but I can't imagine a downside for making this the default behavior for aliasing contexts..

strike that. I was able to get this working by recreating the original context. I now have the aliased context and the original context listed, so I can reference the original name or the alias.

Came here to file a similar request and saw this so just adding my vote in here.
Use case: we have standardized, long-form context names that our (internal) tooling generates and expects (e.g. cluster.prod.us.domain.com).
I just want to be able to reference it when doing ad hoc CLI work by going: kubectx us

Usually, when I create a new k8s cluster, it provides a new k8s config for this cluster, I have to manually merge the new context to ~/.kube/config, then kubectx switch context work normally.
If improve merge or copy new context into the current k8s config, will be very helpful.
# Assume default k8s config contains 5 contexts
kubectx | wc -l
5
# There is a new k8s config file contains 1 context
grep "\- context" ./config | wc -l
1
# Merge the new context into default config file
kubectx -m ./config
# The default k8s config will contain 6 contexts
kubectx | wc -l
6

@zhangsean kubectl already lets you merge kubeconfigs. You could easily search and find it. https://ahmet.im/blog/mastering-kubeconfig/
Furthermore this issue is clearly about duplicating/aliasing contexts which is NOT related to what you want. Please do not conflate these two things. Your request is a separate issue, and won’t be implement since it’s more suitable for kubectl itself or kubectl plugins (which I believe already exist).

@ahmetb Thanks!

In case anyone is still interested in this functionality, the tool kubeswitch might solve the alias problem for you by transparently defining the alias without changing the underlying kubeconfig file. Full disclosure: I am the author of it.

Come across here when looking for a similar feature to manage my contexts. Thanks @danielfoehrKn for your sharing and I like the idea of creating alias separately other than modifying kubeconfig directly. It also allows the one-to-many mapping between alias and context when needed. Actually I was using a similar approach when I was creating a homegrown tool for this. The only thing makes it a bit tricky is that to maintain the mapping, we need to be careful when the context is deleted.
OTOH, I'm still thinking to have this feature inside kubectx would be a good idea as it doesn't have to be thousands of contexts which can have this issue. For example, when I was working w/ OpenShift, any time when I use oc login to log into a cluster, it will auto-create a context for me where the name is not user friendly. If I rename it to something else, next time when I re-login for some reason e.g. token expired, oc login will generate a new context that's duplicated. This is annoying.
@ahmetb If that makes sense, I'd be glad to spend some time to dig into it and submit a PR. Or, if that's not appropriate to have such stuff in kubectx, would it make sense to have a separate kubectl plugin such as ctxalias on top of ctx?

Somewhere in your $PATH kubectx:
#!/bin/bash
#
# my wrapper script for kubectl ctx

# No argument, just do the normal thing
case $1 in
    '') kubectl ctx
        exit $?;;
esac

CONTEXTS="$(kubectl ctx)"

SELECT="$(echo "$CONTEXTS" | grep -i "$1")"
COUNT=$(echo "$SELECT" | wc -l)

case $COUNT in
    0) echo "No context found for '$1'"
       exit 1;;
    1) kubectl ctx "$SELECT"
       exit 0;;
    *) echo "Multiple contexts found for '$1':"
       echo "$SELECT"
       exit 1;;
esac


Inconsistency between version names in documentation and current status

Steps to reproduce
If I understand correctly, based on this PR (#11268 ) and this PR (#11283 ) and the definition in version.c, there is a clear discrepancy with the specified version name in the documentation. Section version and +feature-list

The first column shows the smallest version in which they are included:
T    tiny (always)
S    small
N    normal
B    big
H    huge

Expected behaviour
The features correspond to the current state of the versions.
Version of Vim
Vim 9.0.1976
Environment
All
Logs and stack traces
No response

I don't understand. Where exactly do you see a discrepancy? Or is this about the feature-list? (there used to be small and big builds, but those are gone nowadays I believe).

@chrisbra
I mean the description in the version section.
As I understand it, it should be something like this:
The first column shows the smallest version in which they are included:
			   T	tiny (always)
			   N	normal
			   H	huge
			   m	manually enabled or depends on other features
			   -    never, feature was removed
			 (none) system dependent
Thus if a feature is marked with "N", it is included in the normal and huge versions of Vim.

The feature-list section is fine now, sorry.

I'll do a PR later tonight.
There are some more documentation files that also mention small or big versions (starting.txt, testing.txt, usr_90.txt).


Is it intended behavior that the Vulkan SDK is needed to compile any Rust code in debug mode that has ash as a dependency?

See MFEK/glif#229, discovered by @eliheuer.

When compiling an application with an ash dependency via rafx-api, it panics at Unable to load create_debug_utils_messenger_ext unless compiled in release mode.

The issue you link appears to be complaining about a runtime error, not a compiletime error. ash does not automatically call any Vulkan functions or automatically load any Vulkan extensions or layers; if your application is failing because it can't find an extension or layer, it is due to code downstream of ash.

Thank you very much. I believed that ash was the problem due to my finding this:
https://github.com/MaikKlein/ash/blob/762666783a363aa46e4e73663ed5d67f461970a3/ash/Cargo.toml#L20-L21
I noticed ExtDebugUtilsFn, which actually seems to do the loading of system function create_debug_utils_messenger_ext. You are saying then that @aclysma's rafx actually is the one "deciding" whether or not to load validation layers, and not ash? Because @aclysma removed the old Skulpin function use_vulkan_debug_layer, so now I'm just trying to figure out where responsibility has bubbled up to, and tried ash first as it seemed to have promising references to debug and libloading in its Cargo.toml.

And, as to what I'm trying to achieve, all I'd like to be able to do is move Vulkan SDK dependency behind a build flag in MFEKglif, so I'd just like to be able to provide something to say "please don't use Vulkan's debug layers for this build", as most of what goes wrong and needs debugging in MFEKglif has nothing to do with Vulkan—although I was critical of @aclysma's changes at the time, which eliminated many features (including this debug layer enable builder API,) turns out he was actually smart to make them, as Skulpin/Vulkan has receded from view as a frequent source of bugs for me…it's the most stable part of MFEKglif of late to be honest.

You should edit the issue description to contain a short summary of the issue faced here, instead of pointing readers to an off-project issue/comment that mentions a "second error" which appears to be a screenshot of an unwrap() on a None value deep down in your/MFEK code.

@MarijnS95 My apologies, done. :)

I believed that ash was the problem due to my finding this:

The top screenshot of this issue shows Ash 0.32.1 being in use, where none of those linking features exist yet. Runtime loading is the default (and has little/no impact on the layers, except from the SDK shipping both the linking libraries necessary in addition to the validation layers).
https://github.com/MaikKlein/ash/blob/d044ae5dda640feee7e88003b52da2fc3085bd97/ash/Cargo.toml#L13-L17

I see, I think I should open this against aclysma/rafx then, looking through the code there, I see this:
https://github.com/aclysma/rafx/blob/056d01667cf94481f922b9c7e3c8bdf9542c9355/rafx-api/src/types/misc.rs#L25-L34
impl Default for RafxValidationMode {
    fn default() -> Self {
        #[cfg(debug_assertions)]
        let validation_mode = RafxValidationMode::EnabledIfAvailable;
        #[cfg(not(debug_assertions))]
        let validation_mode = RafxValidationMode::Disabled;

        validation_mode
    }
}

If I follow that back all the way I do see that this is what's causing the issue here. Thank you! Sorry I did not understand too well boundary between ash and rafx, my bad.


Skipped reading configuration file" reason="Config File "cilium-operator" Not Found in "[/]"" subsys=config

Skipped reading configuration file" reason="Config File "cilium-operator" Not Found in "[/]"" subsys=config

Thank you for the report. Could you please provide some additional info, i.e. as found in the bug issue template:
General Information

Cilium version (run cilium version)
Kernel version (run uname -a)
Orchestration system version in use (e.g. kubectl version, Mesos, ...)
Link to relevant artifacts (policies, deployments scripts, ...)
Upload a system dump (run curl -sLO https://github.com/cilium/cilium-sysdump/releases/latest/download/cilium-sysdump.zip && python cilium-sysdump.zip and then attach the generated zip file)

How to reproduce the issue

instruction 1
instruction 2

Skipped reading configuration file" reason="Config File "cilium-operator" Not Found in "[/]"" subsys=config

This message is informational and no error as such, e.g. if you didn't specify the --config or --config-dir flag. Did you provide a config file or directory for cilium-operator and it didn't get read?

As written in the previous comment, this message is informational and no sign of something not working as expected. Thus closing this issue. Feel free to reopen with additional information if you think something is not working as expected.


.pdf/.txt assets in mdsvex?

Doesn't seem to work with unusual assets like .pdf/.txt in mdsvex.
StackBlitz repro steps:
Start the dev server, click on the 'link'.

Not found: /robots.txt

I expected the file to open (in the same or another tab).
Tried to tweak the urlFilter and sources config but didn't help.
import relative_imports from 'svelte-preprocess-import-assets'

export default {
preprocess: [
    mdsvex({
      extensions: [`.svx`, `.md`],
    }),
    preprocess(),
    relative_imports({
      sources: [
        { tag: `img`, attribute: `src` },
        { tag: `link`, attribute: `href` },
      ],
      urlFilter: (url) => {
        const out = /\.(png|jpg|gif|webp|pdf|svg)$/.test(url)
        if (url.endsWith(`.pdf`)) console.log(url, out)

        return out
      },
    }),
  ],
}

I think you're looking for:
relative_import({
  sources: (defaultSources) => {
    return [
      ...defaultSources,
      {
        tag: 'a',
        srcAttributes: ['href'],
        filter({ attributes }) {
          return /\.(txt|pdf)$/.test(attributes.href)
        }
      }
    ]
  }
})

The preprocessor doesn't transform a tags by default since that could interfere with routing. Also I noticed a bug with the filter API (https://github.com/bluwy/svelte-preprocess-import-assets/issues/17), but the above workaround should do for now.

@bluwy Thanks for the code snippet! It gives me a TypeError
Cannot read properties of undefined (reading 'length')
    at node_modules/.pnpm/svelte-preprocess-import-assets@0.2.5_svelte@3.55.1/node_modules/svelte-preprocess-import-assets/dist/index.mjs:200:36

let getAttributes = function() {
  if (!lazyAttributes) {
    lazyAttributes = {};
    node.attributes.forEach((attr) => {
    // error is raised here: attr.value.length
      if (attr.value.length > 1 && attr.value[0].type !== "Text")
        return;
      lazyAttributes[attr.name] = attr.value[0].raw;
    });
  }
  return lazyAttributes;
}

That looks like a different AST handling issue with the preprocessor. With the fix it works fine in the repro though. Do you have an example mdsvex file where this happens?

I don't actually know which file causes this error. The stack trace only lists node_modules files. How would I find the offending content file?

Sorry for the long silence here. Just had another look at this. The code that's triggering this error is spreading target into a tags:

<address>

    Link 1

    Link 2

    Link 3

</address>

Changing to this fixes the error:
<address>

    Link 1

    Link 2

    Link 3

</address>

Injecting a console.log like you suggested for attr and filename was very helpful! The object that triggered the error:
attr {
  start: 529,
  end: 539,
  type: 'Spread',
  expression: Node {
    type: 'Identifier',
    start: 533,
    end: 538,
    loc: SourceLocation { start: [Position], end: [Position] },
    name: 'links'
  }
}

Thanks! I didn't expect a Spread would be considered an attribute too. I'll fix that on up and cut a patch

Fixed in v0.2.6


Video not showing on frontend

Hi,
I'm new in using this package. I followed the docs and everything is smooth sailing. But the videos won't show on the front end. On the admin, I placed the URL of a YouTube video for the models video = EmbedVideoField(verbose_name='Videos', help_text='Videos of Translation') and

{% video object.video as amlvideo %}
Backend: {{ amlvideo.backend }}
URL: {{ amlvideo.url }}
Code: {{ amlvideo.code }}
Thumbnail: {{ amlvideo.thumbnail }}
HTTPS: {% if amlvideo.protocol == 'https' %}Yes{% else %}No{% endif %}

{% video amlvideo "large" %}
{% endvideo %}on my template but it's not showing.
Here are my models.py

from embed_video.fields import EmbedVideoField

class AMLVideo(models.Model):

    LANGUAGE = (
        ('LAN', 'Language'),
        ('FR', 'French'),
        ('EN', 'English'),
        ('HIN', 'Hindi'),
        ('SPA', 'Spanish'),
        ('GER', 'German'),
    )

    LEVEL = (
        ('BEG', 'Beginner'),
        ('INT', 'Intermediary'),
        ('ADV', 'Advanced'),
    )

    CATEGORY = (
        ('ANI', 'Animal'),
        ('ENV', 'Environmental'),
        ('MOR', 'Moral'),
        ('FOLK', 'Folktales'),
        ('ADN', 'Adventure'),
        ('POE', 'Poems'),
        ('FUN', 'Funny'),
    )

    title = models.CharField(max_length=100, default=None)
    level = models.CharField(max_length=100, choices=LEVEL)
    language = models.CharField(max_length=100, choices=LANGUAGE)
    category = models.CharField(max_length=100, choices=CATEGORY)
    video = EmbedVideoField(verbose_name='Videos',
                            help_text='Videos of Translation')

    def __str__(self):
        return self.title

    class Meta:
        verbose_name = "video"
        verbose_name_plural = "videos"

What could I do with this?

Hey! Do you have the embed_video application in your INSTALLED_APPS as per the documentation?
What is your video URL? The package only supports YouTube, Vimeo, and SoundCloud videos at the moment. You can check out the support in the backends module.
Do you get a stacktrace or error of any kind from your templates or applications when you add the video or try to access it in your views?

Hey! Do you have the embed_video application in your INSTALLED_APPS as per the documentation?
What is your video URL? The package only supports YouTube, Vimeo, and SoundCloud videos at the moment. You can check out the support in the backends module.
Do you get a stacktrace or error of any kind from your templates or applications when you add the video or try to access it in your views?

Yes, I have the embed_video on my INSTALLED_APPS.
I added the youtube URL on the Django Admin as a super user. Once I hit submit, the video got embedded INSIDE the admin, not on the template.
I saw a thumbnail error from one of the tags if I remember it correctly.

Well, it seems the admin works, so the problem is most likely with your template and HTML rendering. I'd check and fix any errors there first. YouTube videos should work correctly if they are public.

Well, it seems the admin works, so the problem is most likely with your template and HTML rendering. I'd check and fix any errors there first. YouTube videos should work correctly if they are public.

What's the easiest way to show it on the template? I need a row of 3 youtube videos.
How would you fix this?
Backend: {{ amlvideo.backend }}
URL: {{ amlvideo.url }}
Code: {{ amlvideo.code }}
Thumbnail: {{ amlvideo.thumbnail }}
HTTPS: {% if amlvideo.protocol == 'https' %}Yes{% else %}No{% endif %}

{% video amlvideo "large" %}
{% endvideo %}```

I got this error
Backend wasn't recognised (``) Traceback (most recent call last):   File "/Users/highcenoid/Dev/Django/planetread/env/lib/python3.7/site-packages/embed_video/templatetags/embed_video_tags.py", line 112, in render     backend = self.get_backend(url, context=context, **options)   File "/Users/highcenoid/Dev/Django/planetread/env/lib/python3.7/site-packages/embed_video/templatetags/embed_video_tags.py", line 164, in get_backend     else detect_backend(str(backend_or_url))   File "/Users/highcenoid/Dev/Django/planetread/env/lib/python3.7/site-packages/embed_video/backends.py", line 62, in detect_backend     raise UnknownBackendException embed_video.backends.UnknownBackendException

If you take a look at the source code where the error happens you can see that the backend URL should be included in the error message, but it seems like your URL isn't resolved in the video template tag correctly.
You are most probably using the template wrong and need to fix it. Try and remove lines one by one and see which line(s) break the functionality, then fix those parts.
The amount of source code in this package is fairly small so reading through the relevant error lines in the repository should prove helpful.

reyesvicente .. bind the video inside the for
{% load embed_video_tags %}

{% for items in allitems %}
{{items.title}}
{% video items.video as my_video %}
{% video my_video "large" %}
{% endvideo %}

{% video my_video '800x600' %}

{% endfor %}
views.py
def home(request):
allItems= Item.objects.all()
context= {'allitems': allItems}
return render(request, 'post/post_detail.html',context)

I got this error
 Backend wasn't recognised () Traceback (most recent call last): File "/Users/user/Dev/Django/planetread/env/lib/python3.7/site-packages/embed_video/templatetags/embed_video_tags.py", line 112, in render backend = self.get_backend(url, context=context, **options) File "/Users/user/Dev/Django/planetread/env/lib/python3.7/site-packages/embed_video/templatetags/embed_video_tags.py", line 164, in get_backend else detect_backend(str(backend_or_url)) File "/Users/user/Dev/Django/planetread/env/lib/python3.7/site-packages/embed_video/backends.py", line 62, in detect_backend raise UnknownBackendException embed_video.backends.UnknownBackendException ``

reyesvicente .. bind the video inside the for
{% load embed_video_tags %}

{% for items in allitems %}
{{items.title}}
{% video items.video as my_video %}
{% video my_video "large" %}
{% endvideo %}

{% video my_video '800x600' %}

{% endfor %}
views.py
def home(request):
allItems= Item.objects.all()
context= {'allitems': allItems}
return render(request, 'post/post_detail.html',context)
models.py
from embed_video.fields import EmbedVideoField
class Item(models.Model):
title = models.CharField(max_length=50)
video = EmbedVideoField(verbose_name="My video", help_text="This is a help text")
def __unicode__(self):
    return self.title

Posting a solution for the benefit of everyone:
...
{% load embed_video_tags %}
{% video item.video 'small' %}
...

{% if videos %}
{% for v in videos %}
{% video v.video as my %}
<iframe width="{{ 380 }}" height="{{ 225 }}" src="{{ my.url }}" frameborder="0" allowfullscreen></iframe>
{% endvideo %}
{% endfor %}


Happy Birthday! A trend analysis on past MSR papers

http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6624049

This paper possibly has data, but the link is broken.
The Data
A database was constructed from text-mining prior years' MSR papers. The primary use of this database is querying for common n-grams. The authors had originally made a web tool available for querying this database, but the link is now broken. Perhaps the data is still around somewhere if we contact the authors.
Original N-gram Web Query Link (broken):
http://ansymo.ua.ac.be/artefacts/HappyBirthdayMSR
The Authors
Serge Demeyer<EMAIL_ADDRESS>Alessandro Murgia<EMAIL_ADDRESS>Kevin Wyckmans<EMAIL_ADDRESS>Ahmed Lamkanfi<EMAIL_ADDRESS>


Error coming when using Style 15

======== Exception caught by rendering library =====================================================
The following assertion was thrown during paint():
RenderBox was not laid out: RenderCustomPaint#7ebba relayoutBoundary=up9
'package:flutter/src/rendering/box.dart':
Failed assertion: line 1979 pos 12: 'hasSize'
Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
 Can you give a reproducible example or find out which widget is throwing the error? It seems to be related to a CustomPaint, of which none are used in the package afaik.


RobotLink: check if loading mesh failed before creating entity  V2

alternative to #1596 which also fixes #1589
I had to split the RobotLink constructor in order to be able to connect to the signal before the mesh loading happens
now unfortunately MoveIt's RobotStateDisplay does not extend upon RobotModelDisplay so that will need to be extended in a follow up

I thought a little more about other alternatives to implement this.
My first idea was to use exceptions, but they would leave the loop in RobotLink (and Robot) creating all geometries (and links).
Also, the current approach only shows the last error message.
What about storing all failures in a string in RobotLink and provide a method to collect (i.e. concatenate) all these failures with a new function in rviz::Robot? This way, a display could show all of them once after instantiation of the robot.
Sorry for coming up with this idea so late.

This actually shows the last error per link, so yes, if your visual and collision meshes are both not found your link will have only one error but if you have multiple links with broken meshes then they will all be displayed as in error. And you can only fix one error at a time, right? (Our second use case besides not crashing is a urdf editor with preview and it would be great to have more feedback there. Currently it just does not display the mesh if you have a typo.)
Your approach with a list of problem strings that might be empty also sounds like a good idea however, I'll think about it

Actually the errors got overridden by successful tf updates so they now have separate sections

Wouldn't adding such a string break ABI compatibility? What do you think about the current state of this PR?


Add reference to Flax NNX

Adds a reference to Flax NNX in the README.

For better or worse, adding link to related discussion here: https://github.com/google/jax/issues/20745


feat: support scientific notation in parse_float_as_decimal

Which issue does this PR close?

Closes #8486
Rationale for this change

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

I don't think this PR is waiting on feedback, so marking it as a draft. Please mark it as ready for review when it is ready for another look 🙏


Remove manifest v2

Blocked. Firefox does not accept the background.service_worker property (MANIFEST_FIELD_UNSUPPORTED) and request an extension id (EXTENSION_ID_REQUIRED).


Now able to scrape profiles

I needed to be able to scrape information about twitter profiles too, so I added that functionality to your working python code.
My function uses mechanical soup and can pull some basic information:

location
birthday
real/display name
profile image URL
bio
number of tweets
number of followers
number following
number of likes

It could certainly be expanded, but I think it's a useful addition.

Many thanks!

No problem!  This is the first time I've contributed something like this and It's kindof exciting!

Oh yea, just to give credit where credit is due:  I didn't realize commits made after a pull request were submitted would be included in the pull request, so I had added code to my repo from another pull request ([https://github.com/kennethreitz/twitter-scraper/pull/41]), so some of the new code in twitter_scraper.py is from that fork and is not my own.  It's for searching by hashtag.  It seems to be stable, you can contact me or make another comment here if you have any questions.

I'm glad the work turned out to be useful :)


Suggestion

Add force hub on death, and join too

Hello @MrAshshiddiq, I would like to apologize beforehand because now HubDelay has stopped (for a moment) in development. Maybe you can fork this repository and add the features you want. Thank you for the suggestions that you have submitted :)


RFE - Add support for specifying zone (firewalld)

Describe the bug
Currently there is no way to specify which zone an interface should be in when saving or creating via nmstate
Nmstate version

1.2.1

NetworkManager version

1.37.2-1.el8

Platform

CentOS Stream 8

How reproducible

100%

Steps to Reproduce
Use either
nmcli connection modify  connection.zone
or
firewall-cmd --zone  --change-interface

The zone information is invented by firewalld and nmstate intend to be neutral on backends.
Please use firewalld dbus interface directly.

Closing as won't fix. Please feel free to reopen if think more discussion required.

I'm not sure it's proper to close this bug. I'm not asking for support for managing creating/deleting firewall zones, but rather to assign which zone an interface belongs to. The problem is that without this issue nmstate will delete the zone information from the ifcfg file every time it updates the interface, and the info needs to be stored in NetworkManager.
Firewalld does support dbus, but this is from the documentation on firewalld dbus support (see https://firewalld.org/documentation/man-pages/firewalld.zone.html) :
"interface
    Is an optional empty-element tag and can be used several times. It can be used to bind an interface to a zone. You don't need this for NetworkManager-managed interfaces, because NetworkManager binds interfaces to zones automatically. See also 'How to set or change a zone for a connection?' in [firewalld.zones(5)](https://firewalld.org/documentation/man-pages/firewalld.zones.html). You can use it as a fallback mechanism for interfaces that can't be managed via NetworkManager. An interface"

So the way I read that is that we must use NetworkManager to store which zone an interface belongs to. Am I misreading that?

Hi, I understand the scope of the project wants to be agnostic from the firewalld specific implementation, but having to run a bunch of nmcli staments or finding alternative ways to change the firewalld zone in the NetworkManager connections generated through the whole configuration pushed via nmstate is kind of uncomfortable.
Is there any chance we can re-open this issue? I don't believe a solution can't be found to compromise between this request and the scope of the project.

If I use nmcli show eno1|grep zone for example, then I get a line with connection.zone:. The value is either empty (--) or a zone name, e.g. work.
For NetworkManager, and for nmstate, it is just a value that can be set to a string. Yes, it is used by firewalld, but nmstate has nothing to do with firewalld if it implements this feature. zone is just another (important!) parameter which can be located on interface and mapped to connection.zone (value to parameter zone in section connection) of NetworkManager connection file (e.g. /etc/NetworkManager/system-connections/eno1.nmconnection in this example).
Please, reopen this issue and implement this feature!
I think it is important to many users because the main network interface of servers and workstations with static configuration is often set to a non-default firewalld zone to allow more services than the default.
Many thanks in advance!

Using the same method as described above it would be good if other connection options will be supported.
Especially I need to use connection.autoconnect (boolean value) and connection.autoconnect-priority (number) to configure an additional fallback ethernet connection if configured bond (lacp) did not come up for some reason.


Show privateData as Turtle within various tables

privateData can be any arbitrary tree of JSON, potentially with other references. Our RDF parsing is not going to capture that well. Will need to parse as JSON? in order to show this.


Pool health monitoring broke under Zabbix 6.0

This template used to work fine for me under Zabbix 4.0 but I discovered today that the pool health monitoring broke when I upgraded my Zabbix server to 6.0.
From looking at other recently reported issues and reading
https://www.zabbix.com/documentation/4.0/en/manual/installation/upgrade_notes_400#deprecated-macros-in-item-names
My guess was that I needed to replace
# pool health
UserParameter=zfs.zpool.health[*],/sbin/zpool list -H -o health $1

in ZoL_without_sudo.conf with:
# pool health
UserParameter=zfs.zpool.health[*],/sbin/zpool list -H -o health "{#POOLNAME}"

but that hasn't fixed it, after restarting zabbix-agent2.
I think this template provides more info than I need but its useless to me if the pool health check doesn't work.

It looks like the dev has stopped supporting this template?
I've not tested it yet but it seems users of Zabbix 6 should use this instead:
https://github.com/zabbix/community-templates/tree/main/Operating_Systems/Linux/template_zfs_on_linux/6.0

The fork here looks to be fixed for some issues:
https://github.com/mpawlik/zabbix_zfs-on-linux
Haven't actually tested it personally though (yet).


Obstacle avoidance with lane change

Hello,
this is not an issue and the question has nothing to do with your project. I couldn't find any answer so I wanted to check if someone knowledgeable may know the answer. When there is an obstacle in the same lane as the ego vehicle, the ego vehicle stops behind the obstacle. Do I have to do something specific for the ego vehicle to change lane instead of stopping?
Thank you

I'm not familiar with the topic, but I found the discussion. Maybe it could answer your question.
https://github.com/orgs/autowarefoundation/discussions/3698

Thank you very much for pointing to the thread.


Mobile Navbar and Sidebar buttons don't work on old mobile browsers

🐛 Bug Report
When accessing docusaurus.io from an older phone, the navbar button in the top left doesn't do anything.
Also, if a doc is loaded somehow, a button appears in the bottom right that is supposed to open the sidebar. It doesn't do anything.
Have you read the Contributing Guidelines on issues?
Yes
To Reproduce
Visit docusaurus.io on an iPhone 4s or a Simulated device running iOS 9.3
Expected behavior

The Hamburger menu at the top left in the navbar, when touched, should open an expanded navbar menu.
Also, if a Doc is visited, say by touching the Installation link in the footer, a Sidebar button should appear in the lower right of the screen. When touched, the sidebar menu should open
Actual Behavior
Neither of those buttons do anything when touched.

Your Environment

Public site url: https://docusaurus.io
Docusaurus version used: 2.0.0-alpha.75
Environment name and version: Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_6 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13G37 Safari/601.1
Operating system and version (desktop or mobile): iOS 9.3.6, Safari 9.0

Reproducible Demo
Visit docusaurus.io with an old mobile browser. Unfortunately, I realize these are not readily available. Although one can purchase an iPhone 4S cheaply on eBay, Apple does not support simulators for iOS 9 on modern versions of MacOS/Xcode.
I'm using some old phones to test my app (and yes my app still supports iOS 9, because the iPhone 4S is the ideal size and shape for my app). The documentation I'm writing in docusaurus needs to appear in a WebView "help" screen in my app.
I also found similar though not identical issues when accessing docusaurus.io with a Samsung S5 running Android 6: Mozilla/5.0 (Linux; Android 6.0.1; SM-G900T Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/62.0.3202.84 Mobile Safari/537.36
I was able to work around this issue by upgrading Chrome and Android System Webview on the Samsung.
Unfortunately this workaround is not available on the iPhone: Safari cannot be upgraded independently of the OS and iOS 9.3.6 is the latest OS supported on this device.

Hi,
Docusaurus allows doc sites to define the list of supported browsers through some config:
https://github.com/browserslist/browserslist
The config on our current website (in package.json) is:
  "browserslist": {
    "production": [
      ">0.5%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },

You can "eval" that config with the browserlist cli:

You can see that Safari 9 on iOS has 0.18% usage, which is very low.
https://caniuse.com/usage-table
The more we add older browser support, the more we increase our site bundle size, penalizing all other users with increased site load times.
It is a tradeoff that we can choose for each Docusaurus site (apart from old browsers like IE11 that we plainly don't support).
In this case, I think it is on purpose that we don't support iOS 9 on Safari. We could, but do we really want to?

It seems Safari 9 is just too old. After adding "ios_saf >= 9" to the browserlist spec, javascript fails with the error:
"Unexpected keyword 'const'. Const declarations are not supported in strict mode."
This error is coming from some packages in node_modules, because the docusaurus webpack configuration excludes node_modules from transpilation. I tried modifying the excludeJS function in the webpack config and managed to get those modules transpiled and that error went away, but then I got:
TypeError: Object.entries is not a function. (In 'Object.entries(_generated_routesChunkNames__WEBPACK_IMPORTED_MODULE_0__)', 'Object.entries' is undefined)
getChunkNamesToLoad
(anonymous function)
map
prefetch
(anonymous function)
invokePassiveEffectCreate
callCallback
dispatchEvent
invokeGuardedCallbackDev
invokeGuardedCallback
flushPassiveEffectsImpl
unstable_runWithPriority
runWithPriority$1
flushPassiveEffects
performSyncWorkOnRoot
performSyncWorkOnRoot
(anonymous function)
unstable_runWithPriority
runWithPriority$1
flushSyncCallbackQueueImpl
flushSyncCallbackQueue
unbatchedUpdates
legacyRenderSubtreeIntoContainer
render
(anonymous function)
promiseReactionJob

and
The above error occurred in the <Link> component:
Link
Logo
div
div
nav
Navbar
DocsPreferredVersionContextProviderUnsafe
DocsPreferredVersionContextProvider
UserPreferencesProvider
ThemeProvider
LayoutProviders
Layout
Home
Component
Component
Component
Component
Component
withRouter(PendingNavigation)
Root
App
Component
call@[native code]

So webpack itself is emitting code that doesn't honor browserslist.
I tried uncommenting this line in the webpack config to try to get it to honor browserslist,
and added a browserslist spec to the nearest package.json, but that didn't help.

@chetstone it's hard to help you figuring things out without seeing your site.
Docusaurus run Webpack + Babel with browserslist on its theme code and your site code, but it does not run it for third party libs (for perf reasons).
If a lib you use publish JS code that is not compatible with older browsers, you'd have to wire some transpilation for that lib yourself. Some libs are indeed using modern syntax and authors don't plan to do anything about that (for example, most libs from Sindre Sorhus)
Not sure why Object.entries is not polyfilled,  can't tell you

Sebastien,
Thanks for following up. I'm pretty sure you should be able to replicate this problem using the default site that is created when you initialize docusaurus. I have made only trivial changes (e.g. sidebar). The only library I added is react-device-detect, and that doesn't seem to be a problem. The two libraries I found using const were ansi-regex and strip-ansi. They are dependencies of some webpack and docusaurus libs (See below).
Object.entries appears to be code that is emitted by webpack itself. It could be a bug in webpack that it is not respecting browserlist.
I imagine the problem replicating my work is more finding an old browser. ( I had to boot from an old hard drive with El Capitan and Safari 11 on it so I could debug my phone's browser remotely).  I tried to find an easier way to replicate, so I used Firefox 35.0b8. It is pretty easy to download old Firefoxes. Object.entries is supported starting in Firefox 36. I was hoping it would fail in the same place, but it actually fails earlier, and I don't remember that error right now.

yarn why v1.22.4
[1/4] 🤔  Why do we have the module "ansi-regex"...?
[2/4] 🚚  Initialising dependency graph...
[3/4] 🔍  Finding dependency...
[4/4] 🚡  Calculating file sizes...
=> Found<EMAIL_ADDRESS>info Reasons this module exists
   - "strip-ansi" depends on it
   - Hoisted from "strip-ansi#ansi-regex"
info Disk size without dependencies: "20KB"
info Disk size with unique dependencies: "20KB"
info Disk size with transitive dependencies: "20KB"
info Number of shared dependencies: 0
=> Found<EMAIL_ADDRESS>info Reasons this module exists
   - "string-width#strip-ansi" depends on it
   - Hoisted from "string-width#strip-ansi#ansi-regex"
info Disk size without dependencies: "16KB"
info Disk size with unique dependencies: "16KB"
info Disk size with transitive dependencies: "16KB"
info Number of shared dependencies: 0
=> Found<EMAIL_ADDRESS>info Reasons this module exists
   - "@docusaurus#core#webpack-dev-server#strip-ansi" depends on it
   - Hoisted from "@docusaurus#core#webpack-dev-server#strip-ansi#ansi-regex"
info Disk size without dependencies: "16KB"
info Disk size with unique dependencies: "16KB"
info Disk size with transitive dependencies: "16KB"
info Number of shared dependencies: 0
=> Found<EMAIL_ADDRESS>info Reasons this module exists
   - "@docusaurus#core#html-webpack-plugin#pretty-error#renderkid#strip-ansi" depends on it
   - Hoisted from "@docusaurus#core#html-webpack-plugin#pretty-error#renderkid#strip-ansi#ansi-regex"
info Disk size without dependencies: "16KB"
info Disk size with unique dependencies: "16KB"
info Disk size with transitive dependencies: "16KB"
info Number of shared dependencies: 0
=> Found<EMAIL_ADDRESS>info Reasons this module exists
   - "@docusaurus#core#webpack-dev-server#yargs#cliui#strip-ansi" depends on it
   - Hoisted from "@docusaurus#core#webpack-dev-server#yargs#cliui#strip-ansi#ansi-regex"
info Disk size without dependencies: "16KB"
info Disk size with unique dependencies: "16KB"
info Disk size with transitive dependencies: "16KB"
info Number of shared dependencies: 0
✨  Done in 0.61s.
(12:53:56/642)[Wonderful: docs]$ yarn why strip-ansi
yarn why v1.22.4
[1/4] 🤔  Why do we have the module "strip-ansi"...?
[2/4] 🚚  Initialising dependency graph...
[3/4] 🔍  Finding dependency...
[4/4] 🚡  Calculating file sizes...
=> Found<EMAIL_ADDRESS>info Has been hoisted to "strip-ansi"
info Reasons this module exists
   - Hoisted from "wrap-ansi#strip-ansi"
   - Hoisted from "@docusaurus#core#strip-ansi"
   - Hoisted from "@docusaurus#core#react-dev-utils#strip-ansi"
   - Hoisted from "wrap-ansi#string-width#strip-ansi"
   - Hoisted from "@docusaurus#core#boxen#string-width#strip-ansi"
   - Hoisted from "@docusaurus#core#boxen#widest-line#string-width#strip-ansi"
info Disk size without dependencies: "20KB"
info Disk size with unique dependencies: "40KB"
info Disk size with transitive dependencies: "40KB"
info Number of shared dependencies: 1
=> Found<EMAIL_ADDRESS>info This module exists because "string-width" depends on it.
info Disk size without dependencies: "20KB"
info Disk size with unique dependencies: "40KB"
info Disk size with transitive dependencies: "40KB"
info Number of shared dependencies: 1
=> Found<EMAIL_ADDRESS>info This module exists because "@docusaurus#core#webpack-dev-server" depends on it.
info Disk size without dependencies: "16KB"
info Disk size with unique dependencies: "36KB"
info Disk size with transitive dependencies: "36KB"
info Number of shared dependencies: 1
=> Found<EMAIL_ADDRESS>info This module exists because "@docusaurus#core#html-webpack-plugin#pretty-error#renderkid" depends on it.
info Disk size without dependencies: "16KB"
info Disk size with unique dependencies: "36KB"
info Disk size with transitive dependencies: "36KB"
info Number of shared dependencies: 1
=> Found<EMAIL_ADDRESS>info Reasons this module exists
   - "@docusaurus#core#webpack-dev-server#yargs#cliui" depends on it
   - Hoisted from "@docusaurus#core#webpack-dev-server#yargs#cliui#wrap-ansi#strip-ansi"
info Disk size without dependencies: "20KB"
info Disk size with unique dependencies: "40KB"
info Disk size with transitive dependencies: "40KB"
info Number of shared dependencies: 1
✨  Done in 0.54s.

Confirmed. Tried with a fresh installation of docusaurus@latest and I get the same errors with Firefox 35.0b8 that I get with my site.

Not 100% sure but I think browserslist only affect the emitted syntax (const vs var etc), not the DOM APIs used.
I thought our Babel setup automatically add polyfills for missing apis but not sure it's the case actually.
If you need to support older browsers, using https://polyfill.io/v3/ can help you add missing polyfills like object entries

I also have this problem on Chrome 70, I have added chrome >= 70 into the browserslist, but  Uncaught ReferenceError: globalThis is not defined still occurs

@roddc afaik browserslist only impacts JS syntax and not APIs used
https://caniuse.com/?search=globalThis
globalThis is only available in Chrome 71 and we use it. I guess you are from China? You should find a way to upgrade, there are likely other things we don't support in Chrome 70, including some newer CSS syntax

I'm new to Docusaurus and I've been trying to read through your docs on my iPhone. The mobile nav is completely broken. I'd be happy to open a new ticket, but I thought I would post here in case you all prefer to re-use existing tickets.
I'm on iOS 16.2.

@voidmain Feel free to open a new issue. iOS 16.2 Safari is not an old browser.

I'm new to Docusaurus and I've been trying to read through your docs on my iPhone. The mobile nav is completely broken. I'd be happy to open a new ticket, but I thought I would post here in case you all prefer to re-use existing tickets.
I'm on iOS 16.2.

that would really help to give us a screenshot @voidmain

I haven't been able to reproduce it. I'll open a new ticket if it happens again.


fix: Fix bugs/PDB do not considered namespace

Fixes #
Description
When we find PDB matching with pod, we didn't consider namespace of pdb but only labels, this will lead to using the wrong PDB value for pod.
https://github.com/aws/karpenter-core/blob/b0d57ba5f6014a17f0dd9e6ed862921debcb0cf5/pkg/controllers/deprovisioning/pdblimits.go#L57-L68
How was this change tested?
Test in test code

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

18 of 20 (90.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.09%) to 76.356%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/test/namespace.go
6
8
75.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.09%

Covered Lines:
5335

Relevant Lines:
6987

💛  - Coveralls

@ellistarn
I changed to ObjectMeta for all global objects
https://github.com/aws/karpenter-core/pull/89/commits/8d84205648712405825db8a32296c4d9bb916ff7


Allow border_mode to be a tuple

Currently the underlying convolution operators support passing a tuple of paddings (see: http://deeplearning.net/software/theano/library/sandbox/cuda/dnn.html#theano.sandbox.cuda.dnn.dnn_conv).
Ideally support passing the a tuple for border_mode through. Or at the very least support border_mode='half'.

I'm not sure what the current status is. @nouiz can you comment?

it is done.