help

Hello, may I ask after I use the loading vt, the target process detected the direct blue screen, blue screen code is 0x139, I should start from what to analyze this problem?
I mainly just don't know how to start. I tried to analyze the driver file, but there were a lot of instructions and obfuscated code.
If you see a message, give me a little hint. thank you.

https://github.com/jonomango/hv/issues/48


Implement content gating

Description
LEARNER-6639
Courseware is now hidden from the user if the audit access expiry date has expired which now comes in the v1 of Enrollments API.

Expiry due
Expired
Dashboard

@farhan-arshad-dev tests are passing now.

@miankhalid PR LGTM.

Ready for another pass @farhan


Is there a way to retrain the holistic model with new labeled data?

Have I written custom code (as opposed to using a stock example script provided in MediaPipe)
No
OS Platform and Distribution
Linux Ubuntu 22.04
Python Version
3.9
MediaPipe Model Maker version
No response
Task name (e.g. Image classification, Gesture recognition etc.)
Pose and Hand Landmarks detection
Describe the actual behavior
Can Model Maker be used to retrain holistic solution (pose and hand landmarks detection)? If not then... can I have access to the architecture and weights of the model to retrain it with custom code?

Thanks in advance

Describe the expected behaviour
--

Standalone code/steps you may have used to try to get what you need
--

Other info / Complete Logs
No response

Hello @f-conaflores,
We do not have any plan to include customize model for holistic solution, And we believe that is not possible. Only for now, Object Detection, Image Classification, Gesture Recognition And Text Classification models are customizable. Thank you!!


Clipboard.setData throws when used in async function (web, only on iOS/Safari)

When the Clipboard is accessed on web with a safari based browser engine, it only works in functions which are not async or within some future-then construct.
Steps to Reproduce
I attached an example. Please do the following:

startup some web server locally, e.g. flutter run -d web-server --web-hostname <IP_ADDRESS> --web-port 8089
browse to the website with a safari based browser (e.g. safari on macOS, or an iOS device)
click the buttons in my example
Check the clipboard conent, only the "normal" button works as expected

Expected results: Clipboard is written
Actual results: Platform exception is thrown

Code sample
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(primarySwatch: Colors.blue),
      home: Scaffold(
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              TextButton(
                onPressed: () {
                  Clipboard.setData(const ClipboardData(text: "normal"));
                },
                child: const Text('normal'),
              ),
              TextButton(
                onPressed: () {
                  Future.delayed(const Duration(seconds: 1)).then((value) {
                    Clipboard.setData(const ClipboardData(text: "then"));
                  });
                },
                child: const Text('then'),
              ),
              TextButton(
                onPressed: () async {
                  await Future.delayed(const Duration(seconds: 1));
                  Clipboard.setData(const ClipboardData(text: "async"));
                },
                child: const Text('async'),
              )
            ],
          ),
        ),
      ),
    );
  }
}

Logs
[√] Flutter (Channel stable, 3.0.2, on Microsoft Windows [Version 10.0.19044.1706], locale de-DE)
    • Flutter version 3.0.2 at E:\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision cd41fdd495 (7 days ago), 2022-06-08 09:52:13 -0700
    • Engine revision f15f824b57
    • Dart version 2.17.3
    • DevTools version 2.12.2

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\mtrie\AppData\Local\Android\sdk
    • Platform android-31, build-tools 30.0.3
    • Java binary at: E:\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

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

[√] Visual Studio - develop for Windows (Visual Studio Build Tools 2019 16.10.0)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools
    • Visual Studio Build Tools 2019 version 16.10.31321.278
    • Windows 10 SDK version 10.0.18362.0

[√] Android Studio (version 4.1)
    • Android Studio at E:\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] VS Code (version 1.69.0-insider)
    • VS Code at C:\Users\mtrie\AppData\Local\Programs\Microsoft VS Code Insiders
    • Flutter extension version 3.42.0

[√] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.19044.1706]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 102.0.5005.115
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 102.0.1245.33

[√] HTTP Host Availability
    • All required HTTP hosts are available

Hi @Hamdor, thanks for filing the issue.
I tried to reproduce the issue on the latest stable and master channels:

startup some web server locally, e.g. flutter run -d web-server --web-hostname <IP_ADDRESS> --web-port 8089
I didn't see any exception thrown if running the app with web-server.

Instead, there are different cases on Chrome and Safari:

On Chrome, there is an exception when using Clipboard.setData with Future.delayed and unfocus browser very fast after copying data. Without adding Future.delayed, it worked normally  (detail steps in video demo and modified sample code).
On Safari, Future.delayed will block Clipboard.setData, so can not do copy text. Without adding Future.delayed, it worked normally.

So, I would like to re-write reproduction steps as below:

Run sample code on web platform
Click on then or async button then quickly move to another window (to unfocus browser)
Exception is thrown

Demo
https://user-images.githubusercontent.com/104349824/174033849-01e55790-77ce-464c-862f-23d5ba08c834.mp4

Logs
copy is not successful NotAllowedError: Document is not focused.
Error: PlatformException(copy_fail, Clipboard.setData failed, null, null)
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 266:49  throw_
packages/flutter/src/services/message_codecs.dart 165:7                       decodeEnvelope
packages/flutter/src/services/platform_channel.dart 294:18                    _invokeMethod
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50            <fn>
dart-sdk/lib/async/zone.dart 1653:54                                          runUnary
dart-sdk/lib/async/future_impl.dart 147:18                                    handleValue
dart-sdk/lib/async/future_impl.dart 766:44                                    handleValueCallback
dart-sdk/lib/async/future_impl.dart 795:13                                    _propagateToListeners
dart-sdk/lib/async/future_impl.dart 566:5                                     [_completeWithValue]
dart-sdk/lib/async/future_impl.dart 639:7                                     callback
dart-sdk/lib/async/schedule_microtask.dart 40:11                              _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5                               _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 166:15           <fn>

Sample code
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String? copiedData;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(primarySwatch: Colors.blue),
      home: Scaffold(
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              TextButton(
                onPressed: () {
                  Clipboard.setData(const ClipboardData(text: "normal"));
                },
                child: const Text('normal'),
              ),
              TextButton(
                onPressed: () {
                  Future.delayed(const Duration(seconds: 1)).then((value) {
                    Clipboard.setData(const ClipboardData(text: "then"));
                  });
                },
                child: const Text('then'),
              ),
              TextButton(
                onPressed: () async {
                  await Future.delayed(const Duration(seconds: 1));
                  Clipboard.setData(const ClipboardData(text: "async"));
                },
                child: const Text('async'),
              ),
              TextButton(
                onPressed: () async {
                  await Clipboard.setData(const ClipboardData(text: "no delay"));
                },
                child: const Text('no delay'),
              ),
              const SizedBox(
                height: 48,
              ),
              InkWell(
                onTap: () => showClipboard(),
                child: Text(copiedData ?? 'Paste data here'),
              ),
            ],
          ),
        ),
      ),
    );
  }

  void showClipboard() async {
    final data = await Clipboard.getData(Clipboard.kTextPlain);
    setState(() {
      copiedData = data?.text;
    });
  }
}

flutter doctor -v
[✓] Flutter (Channel stable, 3.0.2, on macOS 12.2.1 21D62 darwin-x64, locale en-VN)
    • Flutter version 3.0.2 at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision cd41fdd495 (4 days ago), 2022-06-08 09:52:13 -0700
    • Engine revision f15f824b57
    • Dart version 2.17.3
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-32, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2021.2)
    • 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
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7042882/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
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] Android Studio
    • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/203.7185775/Android Studio Preview.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
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • 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

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • 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

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 102.0.5005.115

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 3.1.0-0.0.pre.1265, on macOS 12.2.1 21D62 darwin-x64, locale en-VN)
    • Flutter version 3.1.0-0.0.pre.1265 at /Users/huynq/Documents/GitHub/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision<PHONE_NUMBER> (2 hours ago), 2022-06-15 18:36:08 -0700
    • Engine revision f8c0dc87bc
    • Dart version 2.18.0 (build 2.18.0-189.0.dev)
    • DevTools version 2.14.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2021.2)
    • 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
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7042882/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
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[!] Android Studio
    • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/203.7185775/Android Studio Preview.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 Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • 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

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • 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

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

[✓] Connected device (3 available)
    • Pixel 3a (mobile) • 964AY0WL20 • android-arm64  • Android 12 (API 32)
    • macOS (desktop)   • macos      • darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)      • chrome     • web-javascript • Google Chrome 102.0.5005.115

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

Can you retry and find the same behavior on your side?

@huycozy I can confirm the behavior you described. Further, I tested it with firefox (windows), it seems to fully work there.

For security reasons, the Clipboard APIs are severely limited when working in a web browser. Here's some documentation:

MDN - References > Web APIs > Clipboard > Clipboard availability
Webkit - Async Clipboard API > See "Security and Privacy"
Chrome - Web.dev > Unblocking clipboard access > Security and permissions

There's two things that I'm reading in the docs above that are affecting this issue:

The clipboard-write permission is only granted to the currently active tab.
The request to write to the clipboard must be triggered during a user gesture.
(Maybe) Your site needs to be on https.

Number 1 explains why "quickly switching tabs" breaks the ability to copy to the clipboard: your web app is losing the clipboard-write permission that is required by the browser.
Number 2 explains the original issue. When a user gesture "takes too long" to happen, it ends up losing its "special" permissions (being considered a user activation event). This would be similar to attempting to open a URL after a delay, the popup blocker would block the opening of the window (even though it may have been triggered by a user gesture).
I think this article sums it up well, and has some extra info:

https://textslashplain.com/2020/05/18/browser-basics-user-gestures

(Closing: this is a browser limitation. If you wrote equivalent code in vanilla JS, you'd have the same issue. There isn't much we can do from Flutter to help!)

@ditman, thanks for the detailed answer. Maybe the documentation of the Flutter Clipboard API should contain some of these hints aswell?

@Hamdor that's a great suggestion, we have a bunch of issues cut every so often that we can't fix because of how the web platform works (HTTP Responses not working because they're not CORS ready, Image.network, now the clipboard...)
I'll bring this up with the team to see if they have ideas on the best place to document all of this!

Reopening until we have a more proper "let's add documentation about the web platform limitations in general" issue, and we don't forget documenting the types of errors described in this issue!


Bug: Adding existing value to text-property formats property as list

Issue:
When you add a value to a property of type text and that is the only value, it formats it as if the property type is list, leading to a type missmatch warning.
Reproduction:

Create a new note
add a text property (e.g. location)
add a value (e.g. earth)

if done correctly, it should look like this:
location: earth

right click on the folder and run the "Add props to folder's notes" command
put in the property name and the value, type should stay as "Text" and submit

Result:
The property will be reformatted to a list, while the property type will stay as text, which results in a type missmatch exception. Example:
location:

earth

Workaround:
Option A: Before adding the value, change the property-type to list.
Option B: Before adding the value, first remove the property from all notes in that folder.
Both workarounds have their shortcomings. Option A will add additional lines to the frontmatter, making it less readable and potentially leading to conflicts if the property is used in other folders, while option B could potentially lead to loss of data, if some notes in that folder contain a different value for that property.
Use case/Relevancy:
When adding a property with only one value to all notes in a folder, while some already have that property and value. For example when you have a TTRPG vault with a folder named "people" and a property named "type", that would have values like "people, location, item, etc.", usually every note would only have one value, so a list wouldn't be necessary.
I hope this hasn't been reported yet and I could provide a clear report.

Sounds like you have the "Overwrite existing text" setting disabled.  When that's the case, any new text properties will automatically be combined and appended to a list.  When Overwrite is enabled, then the text property will remain as text.
I hadn't foreseen the possibility of the exact same value being added and merged, leading to a single text value being read as a list.  I should be able to create a check for whether the values are the same.

This should be fixed in the 1.1.2 release.


Consider using stable Flutter SDK

Hello,
It seems that Pub is analyzing Flutter packages using a channel different than stable (currently v1.5.8).
This causes issues because there are multiple breaking changes between stable and the latest version of master.

@rrousselGit: I'm sorry that we were breaking you, I'll make sure that we have checks for this going forward.

Cool, thanks!
Alternatively, from a quick look into this repo's code, it seems that for dart packages without a Flutter dependency the dart SDK used vary between x.y.z and x.y.z-dev.
It may be interesting to do the same thing for Flutter SDK.

from a quick look into this repo's code: it seems that for pure dart packages the dart SDK used changes if the package version is suffixed by -dev or not.

Actually, after the Dart 2 stable release we have adapted the policy to only support stable SDKs for analysis. We may use non-stable SDK for running the site, but that is a separate concern from what we are using for the packages.

/cc @mit-mit

https://pub.dev/packages/flutter_image_compress#-analysis-tab-
One problem is that I uploaded a new version of the package today.
I added a 1.5.9 constraint because a breaking change in flutter made my package unusable in version 1.5.9 or above, but it seems that the flutter SDK version of pub does not support version 1.5.9+.
Now flutter dev channel is 1.6.0, so how should I do?

@jonasfj @sigurdm @mit-mit: we have contradicting requests with this issue and #2290, and we'll need to define a policy that is aligned with how the Flutter SDK is moving forward.

What about parsing the sdk constraints and picking the latest available version?
This could be combined with a CRON to rerun the analysis on a daily/weekly

Option A:

What about parsing the sdk constraints and picking the latest available version?

Option B:
We only analyze with stable version and display a grey score of ??? whenever we detect that we're unable to do analysis. I'm not exactly sure, but we could detect and display that we can't analyze things.
In either case, we should probably add a flag to packages that depend on dev versions of either flutter or dart-sdk. Such that users are warned.

I'm not sure there is a quick fix here. If you're targeting dev versions we should warn users, either by flagging the package or by failing to analyze / giving a lower score.
Note. I'm not saying it's a bad idea to target a dev version, I'm just saying that when you do it -- users should be warned. Besides the warning will go away when a stable release is made :)

Do you think it is possible to deploy multiple analyzers?
Stable uses stable, dev uses dev.
Decide which analyzer to use based on the SDK constraints in pubspec.yaml.

@CaiJingLong it's possible, but we are not sure the extra complexity is warranted. In any case, let's track that request in https://github.com/dart-lang/pub-dartlang-dart/issues/2283

Latest stable release of Flutter is 15/4-hotfix.2: https://flutter.dev/docs/development/tools/sdk/releases?tab=macos
We should downgrade to that.

Agreed that dynamic versioning may be too complex.
Running on stable only should be enough.
On the other hand, it's probably a good idea to send a mail to the packages authors if the health score decreased after the analysis ran on a newer version.

Fix is in https://github.com/dart-lang/pub-dev/pull/2284

Awesome!
Do I need to publish something for the analyzer to run again, or it this automatical?

@rrousselGit It will be running automatically with the new runtime environment once we deploy a new pub site version.

A new Flutter stable version is available.
Can we reopen this to switch to using 1.7.x?

@rrousselGit tracking it in #2464, update merged, deployment already made, we are 5% traffic on the new release, will be 100% tomorrow.

Will this update analyze previous releases?

@renancaraujo: yes, we always re-analyze previous releases (up until they are two years old).

I switched all traffic over to newest deployment. You'll not need to do anything, we automatically reanalyze.


Define the allow pthread atfork macro for gRPC Python MacOS builds

gRPC Python builds on MacOS do not inherit the compiler macros defined in setup.py for the libgpr and libgrpc dependencies since https://github.com/grpc/grpc/commit/571c75aa330663e51e9eed3ad5b9f9d3898f3dcc. This has apparently been fine (?), but means that gRPC Core's fork handler code has not been compiled into Python Mac builds.
@mehrdada I spent a little time trying to figure out a better way to do this. It does not work to just remove the darwin-specific make command, as this leads to a host of other errors. I ended up just hard-coding the necessary GRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK macro for fork support. This means that the GRPC_ENABLE_FORK_SUPPORT macro in core still defaults to false in core on Mac, whereas it defaults to 1 on linux builds, but flipping that is actually a behavior change so I'd prefer to defer it to later (or, ideally, have it default to false even on linux). GRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK is only checked at compile time, but GRPC_ENABLE_FORK_SUPPORT can be set by an environment variable at runtime so this PR is sufficient to enable core's fork handlers for Mac users.
cc @srini100

Good catch. This is needed as some users on MacOS are asking for fork support.

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 1,952,974      Total (=)      1,952,974

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
10,665,044      Total (<)     10,665,046

 No significant differences in binary sizes

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 1,952,584      Total (=)      1,952,584

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
10,665,730      Total (>)     10,665,727

 No significant differences in binary sizes


Should go to implementation be in the editor context menu?

While I love the feature, this is some pretty prime real estate for something that is rarely active?

Related: https://github.com/Microsoft/vscode/issues/9285

I brought it up in the ux channel. @mjbvz or @jrieken should remove it, I didn't add it

I didn't add it ;-) Yeah, I think we should remove it. Today it's hard for me to use because jump to one implementation immediately, not showing them all in place like reference search: #23925

I pushed the "Command Palette..." entry to the editor context menu and leave it up to you guys if you want to remove "Go to implementation".

:+1: to remove

Adding this command to go menu with #26461  as well


cilium removes default routes on the master machine

Is there an existing issue for this?

[x] I have searched the existing issues

Version
equal or higher than v1.16.0 and lower than v1.17.0
What happened?
Default routes are being deleted on my master machines behind NAT. I am losing machine access. I tried very hard to solve it but without success, I have nothing on my machine except 1 private ip. I set up my cluster in Hetzner and everything is fine and running smoothly.
It only removes the default routes that I use for cilium nat every day.
I am looking for a solution to this situation.
How can we reproduce the issue?

Reinstall cilium with helm
Change route mode to native

Cilium Version
1.16.2
Kernel Version
6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Kubernetes Version
Client Version: v1.30.2
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.31.1+k3s1
Regression
No response
Sysdump
No response
Relevant log output
No response
Anything else?
I edited /etc/dhcpcd.conf to remove the option classless_static_routes line.
As a result the following situation occurred, cilium assigned another host as default gw, which I don't want.

Cilium Users Document

[ ] Are you a user of Cilium? Please add yourself to the Users doc

Code of Conduct

[x] I agree to follow this project's Code of Conduct

Sorry, given the volume of issues reported in Cilium I am unable to investigate a sysdump on your behalf. At the moment I'm not seeing any direct evidence that Cilium is the cause of this issue. There's certainly a chance it's caused by Cilium, but we would need to see for instance a log correlated with the time when the issue occurs in order to gain some confidence that it is Cilium making this change and not some other piece of software. I would also suggest inspecting broader system logs around that time to see whether there is any other evidence of activity from any other networking component on the system that may be correlated.

I added the image for this reason, how can cilium_net be the default dateway on the master machine?

I agree that per your image the Linux kernel is configured that way, what I don't yet understand is how that happens. The one peculiar thing actually when I look closer at the default route... there is this unusual metric 1001003. As far as I can tell, Cilium does not configure this specific metric value itself. That might be the hint we need to narrow down who is configuring the route.
It doesn't make sense to me that cilium_net is the default gateway, but I could be missing some context. Given that you've got tunneling mode enabled, at the very least I would expect that node-to-node traffic is routed via the "native" network interface attached directly to the network, not the cilium_* devices. Typically Cilium would be expected to route only traffic towards Pod IP ranges into such interfaces.

I updated my helm configuration as below, but as I said I am sure that somehow cilium changed the default route settings.
So how?
I didn't have this problem when I used flannel, but performance issues with it. switched to cilium and encountered this problem. don't have any log for now but I am trying to find it because it directly affects our services.
routingMode: "tunnel"
tunnelProtocol: "geneve"

rollOutCiliumPods: true
priorityClassName: "system-node-critical"

ipam:
  mode: "kubernetes"
  operator:
    clusterPoolIPv4PodCIDRList: <IP_ADDRESS>/16

kubeProxyReplacement: true

ipv4:
  enabled: true
ipv6:
  enabled: false

bandwidthManager:
  bbr: true

hubble:
  metrics:
    enabled:
      - dns:query;ignoreAAAA
      - drop
      - tcp
      - flow
      - icmp
      - http
  enabled: true
  relay:
    enabled: true
    rollOutPods: true
  ui:
    enabled: true
    rollOutPods: true
  tls:
    enabled: false

operator:
  replicas: 2
  rollOutPods: true
  priorityClassName: "system-node-critical"

hostFirewall:
  enabled: false

It doesn't make sense to me that Cilium is configuring your node this way. If I were to guess, this is something to do with some other network management daemon in the environment. If you can provide additional direct evidence that Cilium is configuring the route, for instance from cilium-agent log messages, then that could help to narrow down the issue. Otherwise I would suggest investigating other network tooling in the environment.

I had similar experience , i have also installed the cilium through helm with default values and just had Hubble enabled.
azureuser@controlplane: ip route show
default via <IP_ADDRESS> dev eth0 proto dhcp src <IP_ADDRESS> metric 100
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host proto kernel src <IP_ADDRESS>    ####
<IP_ADDRESS>/24 dev eth0 proto kernel scope link src <IP_ADDRESS> metric 100      ####
<IP_ADDRESS> dev eth0 proto dhcp scope link src <IP_ADDRESS> metric 100
<IP_ADDRESS> dev cilium_host proto kernel scope link
<IP_ADDRESS> via <IP_ADDRESS> dev eth0 proto dhcp src <IP_ADDRESS> metric 100
<IP_ADDRESS> via <IP_ADDRESS> dev eth0 proto dhcp src <IP_ADDRESS> metric 100
<IP_ADDRESS> is the worker node i am trying to setup only reachable through this eth0,
i am not sure if deleting the entry would cause communication problem after the cilium agent gets added to the Worker Node.
azureuser@controlplane:/var/log$ ping -I eth0 <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) from <IP_ADDRESS> eth0: 56(84) bytes of data.
--- <IP_ADDRESS> ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4064ms
rtt min/avg/max/mdev = 0.683/0.819/0.981/0.096 ms

@manibalajic The output you shared is different from the report in this issue, as the default route is routing via the native device (eth0). I would suggest you to open a separate issue if you're encountering issues with that mode. It would also be helpful to include the full commands you used to provision the environment (both cloud commands and Cilium/Helm commands) so that community members can check and compare the provisioning steps.


MINOR: [R] Default to bundled re2 build

Rationale for this change
On some CRAN configurations linking fails to the system version (likely due to local setup).
What changes are included in this PR?
Default to use our bundled build to prevent the problems.
Are these changes tested?
On a local dev container replicating the cran env.
Are there any user-facing changes?
No

The failures are due to  https://github.com/apache/arrow/issues/39518

I have added some more details and reasoning to the description/commit message for future me ^^


Remove stale tests

Removes stale tests decommissioned during the tree rewrite a year ago but never deleted.

Thanks, just two questions
* The treemath kat we might want to have for the treesync module?

The treemath KAT was there twice. I deleted the stale and unused one.

* Do we have enough tests on the treesync module or would it make sense to move some of the unit tests there?

These tests seem to be very specific to the old code structure. Since treesync has a completely different API, they are pretty worthless.

I had to address merge conflicts.


Esp idf component error

No matter how i try add in cmake/dependency the error never goes. Added in photo. Sorry for dump question I'm noob. I'm building   for esp32 s3

Report and image https://esp32.com/viewtopic.php?f=2&t=40881

You may try to apply changes from #61 to make code compile.

Same issue here .. Any solution ?


Implement search functionality #35

@timlinux

@timlinux  blocked

Check Search.html ,if i could disable what is causes the the unwanted search result but yet still search was showing
Checked the JavaScript code and disabled some of the function, is either showing the unwanted search or not showing at all

Observation
The query search all pages and if it find the exact match as the value in the search box it renders the same result with it contents, but if it doesn't find the exact value , it renders pages that contains the value typed int the search box


Extract data within a boundary - change longhurt shape file path

change the shape file path from Longhurst_world_v4_2010' to 'longhurst_v4_2010' (python)

fixed


chore - reduced code duplications and improved maintainability

Closes #
📑 Description

✅ Checks

[x] My pull request adheres to the code style of this project
[x] My code requires changes to the documentation
[x] I have updated the documentation as required
[x] All the tests have passed

☢ Does this introduce a breaking change?

[ ] Yes
[x] No

ℹ Additional Information

Description by Korbit AI
What change is being made?
Refactor the script.js file to reduce code duplication and improve maintainability by introducing helper functions for drawing charts and tables, and by handling errors for loading external libraries.
Why are these changes being made?
The original code contained repetitive logic for drawing visualizations using the Google Charts library; this change introduces utility functions drawDataTable, drawPieChart, and drawGaugeChart to encapsulate this logic, improving code readability and maintainability. Additionally, error handling was added to ensure the Google Charts library is loaded before attempting to create visualizations, preventing runtime errors.

Is this description stale? Ask me to generate a new description by commenting /korbit-generate-pr-description

Summary by CodeRabbit

New Features

Introduced new utility functions for rendering data visualizations, including tables, pie charts, and gauge charts.

Bug Fixes

Improved consistency of the aria-labelledby attribute across HTML elements.

Refactor

Enhanced code structure by reducing redundancy in chart-drawing logic, making the code more modular and maintainable.

@gstraccini codacy bypass

@coderabbitai review

@gstraccini codacy bypass

@coderabbit review


closes #512

Codecov Report

Merging #513 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #513   +/-   ##
=======================================
  Coverage   94.37%   94.37%
=======================================
  Files          33       33
  Lines        2222     2222
  Branches      192      192
=======================================
  Hits         2097     2097
  Misses         81       81
  Partials       44       44

Impacted Files
Coverage Δ

...ndControllerAbstraction/proxy/faucet/connection.py
72.46% <100%> (ø)
:arrow_up:

...dControllerAbstraction/proxy/faucet/test_faucet.py
97.67% <100%> (ø)
:arrow_up:

...dControllerAbstraction/proxy/faucet/test_parser.py
90% <100%> (ø)
:arrow_up:

...bstraction/test_NorthBoundControllerAbstraction.py
100% <100%> (ø)
:arrow_up:

...hBoundControllerAbstraction/proxy/faucet/parser.py
68.8% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Getting Started With Solidity and Binance Smart Chain

Article checklist
Attention
Our Peer Reviewer and Content Moderator teams do NOT provide any revisions services. All revisions and edits should be completed on your own forked repo (as to not take up room in the queue) in order for our team to review them all in a timely manner.
ANY ARTICLE SUBMITTED WITH GLARING ERRORS WILL BE IMMEDIATELY CLOSED.

As a rule of thumb - please be sure to only submit articles (pull requests) that are fully polished and ready to be published. Be sure to go through our resources documents for extra and 3rd party (vetted) resources to help improve overall technical writing.

Pre-submission checks

Please ensure that you have only one open topic suggestion (issue) + in-review article (linked pull request) at a time. This will ensure that we complete the review process in a timely manner from inception to publishing

If you have not already, please go over our Resources Page for more tips and tricks on how to improve your overall technical writing so reviews are swifter, increase the chance of a payout and provide more value to our readers.

For first-time contributors and for more details on our submission guidelines, see our Contributing Guidelines.

Formatting and structure checks

[x] Have you used the correct folder and file structure? - see Contribution Guidelines

[x] Is your article properly formatted in Markdown? - see Github Markdown guide

[x] Have you used our preferred heading structure? - H3 (###) and up

[x] Does your article follow any of the suggested structure formats? - see example formats

[x] Is your article over 750 words? - Tool: Wordcounter.net

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[x] Have you included a hero image that is 600x400 pixels, under 300KB in size, and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[x] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[x] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[x] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

Topic suggestion this closes

Remove the backticks and add the issue number below to link and close your Topic Suggestion (issue) when your article has been published (PR has been merged). See this video for more details.

This closes #5525

Finally, delete the article checklist notes in blockquotes and submit your PR. We look forward to reviewing your article.

wave Welcome and thank you very much for contributing your 1st article to the EngEd Program. We always recommend new contributors to go over our Resources Page, where we have laid out valuable resources meant to help improve our community members' overall technical writing abilities. We are looking forward to going over your amazing content rocket

happy to share what I'm learning :laughing: see you for a review :rocket:

Plagiarism check done ✅

Hello @Bayler, kindly note that Solidity lacks syntax highlighting for markdown. Therefore, I found a stack overflow issue that recommended JS. Thanks for the progress :rocket:

Hello @Bayler, kindly note that Solidity lacks syntax highlighting for markdown. Therefore, I found a stack overflow issue that recommended JS. Thanks for the progress rocket

Well noted.

working on the changes.

@EssyWanjira Welcome to our Eng-Ed community. I hope you've taken note of all the commits we've made in this PR. They'll help you better your next article. This PR will now proceed for final review.

jumping on this this one


[docs] v0.16.5

[ ] PR has tests / docs demo, and is linted.
[ ] Commit and PR titles begin with [ComponentName], and are in imperative form: "[Component] Fix leaky abstraction".
[ ] Description explains the issue / use-case resolved, and auto-closes the related issue(s) (http://tr.im/vFqem).

Thanks @oliviertassinari


fixing example

Hello @dhensby
can you have a look and maybe merge this in? Thanks :)
Spek

why not?

Thanks :)


Define custom social links for account

Would solve the needs described in: https://github.com/opencollective/opencollective/issues/4588, https://github.com/opencollective/opencollective/issues/5096
User story
There are many other similar social link services that people want to add to their OC profile (see the issues above), and one could question why we choose one over the other (why Twitter rather than Facebook? Discord rather than Mattermost?).
Best solution for this problem

Allow users to put any type of links
Make it clear that only the x first links will be displayed in the hero (or let them pick the ones they want)
Optionally, let then define the type of the link (e.g. Mastodon, Mattermost, etc) so that we can use the right icon

MVP
API

[ ] We'll need a different technical design, to avoid overloading the Collectives table. For example, we could create a new SocialLinks table (we can probably find a better name) like:

id
CollectiveId (there should be an index on this field)
name
url
createdAt / updatedAt / deletedAt

[ ] Add a new account.socialLinks field returning an array of social links like { type, name, url}. No need to paginate this since there will be a constraint on the number of links.
[ ] Accept a new socialLinks input on AccountUpdateInput to let users update these links

Frontend

[ ] On the Collective > Admin part, add an "Additional links" section with 4 inputs rows, each one made of two fields: name and url.
[ ] Surface these new links on the hero of the collective page. We can try to be clever with the icons: if the name is Mastodon, use Mastodon's icon. If it's a Discord URL, use discord's icon, etc.

add a note (maybe a ?/hover) that says :
If you would like to link out to more the 3 sites, you can add those hyperlinks to your 'About' section

To make this issue more approachable, we want to split it into separate tasks:

Implement the feature as described in https://github.com/opencollective/opencollective/issues/5097#issue-1095098779
Migrate twitterHandle to this new table (in a follow-up issue)
Migrate repositoryUrl to this new table (in a follow-up issue)

A lot of requests for this currently coming through support

I would like to voice that this is feeling increasingly urgent as twitter violates laws around the world and openly encourages many OC-like people to leave.

Yes please.

Work is ongoing, we might have it for christmas !


When entering snippets, allow autocomplete

In snippets, it would be nice to allow autocomplete. At the moment, it doesn't have autocomplete or anything.
If it's because you the tab button is used to go to the next spot for input in the snippet, you could just make it so tab autocompletes if the autocomplete dialog is up, or goes to the next spot if it's not.

Yes that's not related

/duplicate of #89997, which points to the editor.suggest.snippetsPreventQuickSuggestions setting.

/duplicate of #89997, which points to the editor.suggest.snippetsPreventQuickSuggestions setting.

Thanks!


Livewire 2.x

Do you think manage Livewire 2.x with this repo ?

Hi, it's not working with Livewire 2.x. can you upgrade it..?

https://github.com/asantibanez/livewire-select/pull/5#issuecomment-708153014 should be sometime soon

waiting (👍 )

@asantibanez any news on this?


feat!: migrate to ESM

close #5839
Breaking changes

vite now has type: module
.js under dist/ are now ESM
index.cjs is created for CJS compactiblity, which proxies ESM APIs without a full CJS build.
formatPostcssSourceMap is now async
The following APIs are no longer avaliable in CJS build (dynamic import is needed to use in CJS)

resolvePackageEntry
resolvePackageData

➜ ls -l *.tgz
-rw-r--r--  1 antfu  staff  1036930 May 15 09:11 vite-3.0.0-alpha.0-cjs.tgz
-rw-r--r--  1 antfu  staff  1077340 May 15 08:32 vite-3.0.0-alpha.0-esm.tgz

➜ ls -lh *.tgz
-rw-r--r--  1 antfu  staff   1.0M May 15 09:11 vite-3.0.0-alpha.0-cjs.tgz
-rw-r--r--  1 antfu  staff   1.0M May 15 08:32 vite-3.0.0-alpha.0-esm.tgz

Bundle size diff is not significant.

This is a great move since it effectively gets rid of the ESM-only error for Vite users. (This is the #1 error my users get, by far. And many of them are quite confused about it.)
We can say whatever we want about Node.js's ESM-only strategy and the folks like node-fetch who shipped ESM-only packages, but it did work out like a charm :-).

Tested in VitePress and it works!

Let's merge it to try in the next alpha


feat!: 4k collateral high performance masternode implementation

Issue being fixed or feature implemented

What was done?

Implementation of 4k collateral HPMN.
How Has This Been Tested?

Breaking Changes

Checklist:

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added or updated relevant unit/integration/functional/e2e tests
[x] I have made corresponding changes to the documentation

For repository code-owners and collaborators only

[x] I have assigned this pull request to a milestone

@PastaPastaPasta @UdjinM6 We need to make sure this doesn't create any issues with sentinel. Please consider that when reviewing. @nmarley You may know best about that.

@UdjinM6 @UdjinM6 Applied suggestions.
Implemented also:

platformNodeID null is not allowed anymore
platformNodeID uniqueness in the network
rebased

@thephez I've done a very light review, and I don't think this will cause any issues w/sentinel.
Even for PRs that do, as long as Core handles the SB creation appropriately, I don't think it would be an issue. Mostly the ball is on the Core side for that. Still, would be nice to get sentinel logic ported into C++/Core if possible.

pls see https://github.com/UdjinM6/dash/commits/pr5039 for some suggestions

@UdjinM6 Applied suggestions. Please check

@PastaPastaPasta @UdjinM6 Please review again.
Applied suggestions.

Please see https://github.com/dashpay/dash/commit/a2a4154dadfc04edaeebff5608d8182596271e9f
For some reason it breaks tests, which I cannot figure out at this moment, but conceptually, this is valuable imo

@PastaPastaPasta @UdjinM6 Applied suggestions (+fixed tests).
In addition, as discussed with @HashEngineering, platformNodeID is included in SML entries.
Please review again

some nits only. Not a blocker to merge! Can be done never or as spare PR someday.

Sure. Can be applied in a separate PR. Thanks @knst !

pls see https://github.com/UdjinM6/dash/commits/pr5039. also, I think expressions like nType == MnType::HighPerformance.index look pretty confusing. I like the suggestion made by @knst above, I would suggest to implement it here.


How to encrypt sessionStorage using vuex-persistedstate?

vuex-persistedstate version: 4.0.0
node version: 14.17.0
npm (or yarn) version: 6.14.13
secure-ls version:1.2.6
vue version: 3.0.0
vuex version: 4.0.0

Relevant code or config
import { createStore, Store } from 'vuex';
import { State } from 'vue'
import user, { IUserInfoState } from './modules/user';
import global, { IGlobalState } from './modules/global';
import SecureLS from 'secure-ls'
import createPersistedState from 'vuex-persistedstate'

declare module '@vue/runtime-core' {
  interface State {
    user: IUserInfoState;
    global: IGlobalState;
  }
  interface ComponentCustomProperties {
    $store: Store<State>
  }
}

const ls = new SecureLS({ isCompression: false })
window.sessionStorage.getItem = (key) => ls.get(key)
window.sessionStorage.setItem = (key, value) => ls.set(key, value)
window.sessionStorage.removeItem = (key) => ls.remove(key)

export default createStore<State>({
  modules: {
    user,
    global,
  },
  plugins: [
    createPersistedState({ storage: window.sessionStorage })
  ]
});

I want to encrypt the sessionStorage using secure-ls. But with the code above, the secure-ls only encrypted the localStorage. I already issued this problem in the repository of vue-persistedstate. But they said this is scure-ls's issue. Anyone knows why? Please do tell.

import createPersistedState from 'vuex-persistedstate'
import SecureLS from 'secure-ls'
const ls = new SecureLS({
  encodingType: 'rc4', // changeable
  isCompression: false,
  encryptionSecret: 's3cr3tPa$$w0rd@123', // change this
})

export default ({ store, req }) => {
  createPersistedState({
    key: 'TheGreatStore',
    paths: [
      'userStore.user', // Im using modules mode of vuex
    ],
    storage: {
      getItem: (key) => ls.get(key),
      setItem: (key, value) => ls.set(key, value),
      removeItem: (key) => ls.remove(key),
    },
  })(store)
}

This is working in Nuxt Js at v2.15.3 with target static and SSR.
Important for Nuxters, fetch() won't have the data from localstorage. You need to do something like that
created() {
    this.loading = true
  },
  beforeMount() {
    this.$store.dispatch('fetchCoreDataAsync').then(() => {
      this.someOtherMethodDependingOnLocalStorageItems()
      this.loading = false
    })
  },

Hey @SuiKaSan ,
I refactored the code & tests have published a new version 2.0.0
The latest version has support for sessionStorage as well as any kind of custom storage.
You can refer this - https://github.com/softvar/secure-ls?tab=readme-ov-file#api-documentation

Any other storage apart from localStorage

Using sessionStorage
const ls = new SecureLS({ encodingType: 'aes', isCompression: true, storage: sessionStorage });

Using any storage having the same methods as localStorage/sessionStorage

window.customSecureLsStore = {};
const storage = {
  setItem: (key, value) => {
    window.customSecureLsStore[key] = value || '';
  },
  getItem: (key) => {
    return window.customSecureLsStore[key] || null;
  },
  removeItem: (key) => {
    delete window.customSecureLsStore[key];
  },
  clear: () => {
    window.customSecureLsStore = {};
  },
};

const ls = new SecureLS({ encodingType: 'aes', isCompression: true, storage: storage });

I hope you will be glad to know this 🙌


healthcheck container stuck in Initializing state

Rancher versions:
rancher/server:v1.6.10
rancher/agent:v1.2.6
Infrastructure Stack versions:
healthcheck:v0.3.3
ipsec:net:v0.11.9
network-services: network-manager:v0.7.8
scheduler:v0.8.2
kubernetes (if applicable):
Docker version: (docker version,docker info preferred)
17.03.2-ce
Operating system and kernel: (cat /etc/os-release, uname -r preferred)
3.13.0-24-generic
Type/provider of hosts: (VirtualBox/Bare-metal/AWS/GCE/DO)
Setup details: (single node rancher vs. HA rancher, internal DB vs. external DB)
single node rancher
Environment Template: (Cattle/Kubernetes/Swarm/Mesos)
cattle
Steps to Reproduce:
Results:
step1:
i run this script ,
for i in `curl -s <IP_ADDRESS>/latest/self/service/containers/` ; do id=$(echo $i| cut -f1 -d=) ; name=$(echo $i| cut -f2 -d=) ; echo " ---- $name --------" ; ping -c2 `curl -s curl <IP_ADDRESS>/latest/self/service/containers/$id/primary_ip` ; done

we can see the healthcheck stuck container is unreachable
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=62 time=8.78 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=62 time=8.94 ms

--- <IP_ADDRESS> ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1008ms

step2:
i use nc tool to test 4500/udp, 500/udp between healthcheck stuck container and rancher server， connection is succeeded each other
step3:
i restart ipsec-router 、 ipsec、cni-driver、healthcheck container ，it still doesn't work

The overlay network is created using the IP's show in the Infrastructure -> Hosts view, are these all showing the correct IP? Next, the port UDP/500 and UDP/4500 need to be open between those IPs. The command/script you used, can be run inside 1 ipsec-router container to determine if you can reach all the other containers. If not, the overlay network is not functioning correctly and you should check the IPs and the opened ports between all of those IPs

i checked the IPs and the opened ports(500、4500) between all of those IPs, it's ok , and The script i used , it can reach all the other containers. seems all it's well, but health check contain still stuck in initializing state

What is the logging of the healthcheck container?

Please let us know in a comment if you can still reproduce the issue, and we'll reopen it


Doesen't work at all with multishop - multilanguage

Doesen't work in admin with multilang/multishop, _at all since updating.
To reproduce, just uninstall and install the module again.
See screenshot
A few observations:

The default link lists, created on installation, are created without a shop id
When creating a list, no shop id is inserted
the link_block_shop table has auto_increment on id_link_block, which it shouldn't have

Hi @MortenKL,
The link widget doesn't work with multishop.
We have this issue https://github.com/PrestaShop/PrestaShop/issues/9795
It is added to our bug roadmap.
Thanks to check & feedback.
Thanks!

Duplicate of https://github.com/PrestaShop/PrestaShop/issues/9795


7 ISO codes are invalid

Hello!
AQ, BV, GS, HM, PN, TF and UM region codes are marked as invalid so we can't get calling codes. But according to https://en.wikipedia.org/wiki/List_of_country_calling_codes it looks valid. Would be nice to get internal libPhoneNumber-iOS support instead of reinventing the wheel for such codes everytime. :)
Thanks!

Sorry for late response.
libPhoneNumber-iOS is port from "libphonenumber".
Please visit https://github.com/googlei18n/libphonenumber and request metadata for AQ, BV, GS, HM, PN, TF and UM region codes.
Thanks :)


RHOAIENG-9741: Add Tensorflow/PyTorch version compatibility files

https://issues.redhat.com/browse/RHOAIENG-9741
Description
Adding version compatibility files for TensorFlow and PyTorch. Values for TensorFlow were extracted from here via script. Values for PyTorch were manually extracted from here and here. The idea is to refer to these files during the release automation, and also keep them up to date whenever a new release is out.
Note: TensorFlow 2.17.0 was released yesterday. I'll add this new release to the file as soon as the information is consolidated.
How Has This Been Tested?

Merge criteria:

[x] The commits are squashed in a cohesive manner and have meaningful messages.
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[ ] The developer has manually tested the changes and verified that the changes work

Values for TensorFlow were extracted from here via script.

Maybe add the script into the repository under scripts/ and the commentary on the PR into the README.md?

Values for TensorFlow were extracted from here via script.

Maybe add the script into the repository under scripts/ and the commentary on the PR into the README.md?

TBH I don't see much value in adding a simple script that parses a markdown table. New manual entries will be added to the files for the upcoming versions anyway.

/lgtm
I would like to have a comment somehow inside .json files in order to point the places that we scrape this info.
However, I know that json doesn't support comments! So maybe we could mention it on readme or in the Wiki

/lgtm
I would like to have a comment somehow inside .json files in order to point the places that we scrape this info. However, I know that json doesn't support comments! So maybe we could mention it on readme or in the Wiki

I agree! We will have a dedicated wiki page for the release once the automation is in place, so I would add this information on this page later. WDYT?

/lgtm, and I'm in favor of readme; wikis go stale even faster than readmes

/lgtm /lgtm /lgtm

dedicated wiki page for the release

Sounds great!


Packaging improvements & upgrade to rebar3.18

This is a remake of #1097 (which see for PR description and testing routine), now against develop, with some improvements and fixups:

The version of rebar3_cuttlefish in 1097 was too eagerly upgraded, resulting in extension scripts not being used. This has been fixed.
For the sake of OSX build, I am including these workarounds. I'll be more than happy to yank them from this PR (ideally with a hint on what exactly is wrong with erlang and/or rebar on OSX).
Previously attempted patch to warn users about deprecation of hyphenated forms has been scrapped.
The Alpine Linux build is made from this branch.

With make devrel we now get full/absolute file paths in riak.conf to all the platform_*_dir entries.
platform_etc_dir = /Users/username/riak/dev/dev1/riak/etc
Rather than the relative
platform_etc_dir = ./etc
When we then install the dev environment into riak_test, the script copies each dev* directory across into the test area ... but now these references are wrong.   So the riak_test tests don't work, when they try and change the config, or reset any changes.
would it be possible to retain the old behaviour of having relative references to all the platform dirs in rel and devrel?

With 39f0ecf, devrels are relocatable again.

Going through some riak_test failures.  verify_staged_clustering fails.  This checks the command line method for staging clustering.  there appear to be rogue -n's being added to the lists of parameters:
MartinWork:riak martinsumner$ dev/dev2/riak/bin/riak admin cluster join<EMAIL_ADDRESS>erl_call: Failed to parse arguments,
see the documentation for allowed term types.
Arguments: -n [[ -n<EMAIL_ADDRESS>]]
MartinWork:riak martinsumner$ dev/dev2/riak/bin/riak admin cluster status
erl_call: Failed to parse arguments,
see the documentation for allowed term types.
Arguments: -n [[ -n "riak-admin cluster status" ]]

Can confirm this on both OTP 22 (where the error is slightly different because of nodetool, but it still fails for the same reason), and OTP 24.  If I call riak-admin cluster status rather than riak admin cluster status,  everything works as expected.

I'm running locally on OSX (Mojave): echo $0 returns -bash

Changes now merged into https://github.com/basho/riak/commits/mas-hmmr-updated-d32, to be refined/supplemented and taken further. Closing.

Becomes part of https://github.com/basho/riak/pull/1114.


Stop using init-only setter for netstandard

Why this PR?
#435
Visible change
Replace init setter to set

Is it possible we can add test to make sure we are netstandard/netfx 4.x compatible?

Is it possible we can add test to make sure we are netstandard/netfx 4.x compatible?

Currently, the TargetFrameworks is netstand2.0 but the LangVersion is 9.0, maybe we should set the LangVersion to 7.3.
https://github.com/microsoft/FeatureManagement-Dotnet/blob/main/src/Microsoft.FeatureManagement/Microsoft.FeatureManagement.csproj

@jimmyca15 @zhenlan
Maybe we should set the LangVersion to 8.0. The things get quite tricky here.
We have an API: IAsyncEnumerable<string> GetFeatureNamesAsync() of IFeatureManager,
However, async stream is not available in C# 7.3 (need 8.0+), so the GetFeatureNamesAsync propably fails to work for .NET framework app now.

The await foreach() syntax is exclusive to 8.0 and up, but you can still use the type manually in 7.3, getting an enumerator and calling next asynchronously in a while loop.

Using language version 8.0.0 would ensure we couldn't write init only setters. It also prevents us from taking advantage of new language features but that may be what makes sense since we are supporting netstandard.

/AzurePipeline run

/AzurePipeline run


Drug Discovery using XGBoost.  GSSOC'23

Is your feature request related to a problem? Please describe.
Use the XGBoost algorithm to reduce the time of drug discovery. The data-set  is present in python library chembl-webresource-client.
Describe the solution you'd like
I would like toh use the machine learning algorithm to perform drug discovery.
Describe alternatives you've considered
No response
Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

@Pritamstudent  - you can go ahead! We are assigning you 21 days for this project, after which it will be assigned to someone else if not completed. All the best!
Name the file as: algorithm_dataset.ipynb and link it in the readme of the labeled directory as algorithm - dataset.
@Nabanita29 - we follow a first come first serve policy.


M46015: Fixing typo segway/segue

Translator has reported possible source content issue.
Description: segway should be segue

Hi @amynic, @cassieview , can you please approve and merge this PR?
Thanks in advance.

Thanks @v-maudel ⭐⭐

Thanks to you @amynic


Is Resources/deployments template syntax consistent with template reference?

In section "Specify a subscription and resource group" above,
the example "deploys two storage accounts - one in the resource group specified during deployment, and one in a resource group specified in the secondResourceGroup" template has a different syntax to the syntax shown in the template reference for Resources/deployments.
Is the template reference below up to date?
https://docs.microsoft.com/en-us/azure/templates/microsoft.resources/2017-05-10/deployments
The template reference page doesn't allow comment so I raised that issue here.

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

ID: 5a327806-354a-df02-bfef-91a912750d1a
Version Independent ID: 4aae591f-bacf-d40b-b939-a11ca7c8d9db
Content: Deploy Azure resources to multiple subscription and resource groups
Content Source: articles/azure-resource-manager/resource-manager-cross-resource-group-deployment.md
Service: azure-resource-manager
GitHub Login: @tfitzmac
Microsoft Alias: tomfitz

@ChrisFg Thank you for your query. We will investigate and update this thread further.

@tfitzmac Could you please confirm if the document is update to date?

@ChrisFg - thanks for making me aware of the missing properties. I have updated the deployments resource in template reference.

#please-close


Added searching by id option

Closes #251

This has been implemented a few versions ago in the way I described, so I'm going to close this PR


CI build needs to run a matrix of tests

Boo! Let's just blow the CI time to an extreme.
Run everything w/ Json.Net, then run everything with Jil. Run in 9.4 mode, then run in 9.5 mode.

Going to call this one unnecessary. I feel like we've got enough coverage of both the Json.Net and Jil options, and we dropped the 9.4 support.


changing marker icon color causes full rebuild of marker clusterer due to ungraceful watch ?

Apologies in advance for a not very helpful issue report....
Using markercluster plugin ( https://github.com/Leaflet/Leaflet.markercluster ) if I have 1000 markers, 500 clustered and 500 not clustered, using ExtraMarkers, then simply changing the color of a NON clustered marker causes the full rebuild of all the clustered markers.
I am still tracing down the exact cause of this, but it appears to be due to the way ui-leaflet watches markers - it seems to watch the ENTIRE marker array for any change whatsoever, then dumps the entire array.
I will post more info as I discover it.

yeah this code needs to be cleanup. The data structure is oriented around iterating through everything for all markers in a  hash for all markers. The problem is this is ripe for race conditions.
This comes down to a possible design flaw in how ui-leaflet is laid out to begin with. IE the markers directive is not scope based and each marker set belongs to one global blob. Contrast this to angular-google-maps where each markers set gets it's own directive and is independent in managing it's state.
This boils down to all markers and all data for that matter is stored in a giant promised base hash leafletData.
Again this is awesome for the API user and for a lot of convenience factors in the API. But we need to break down leaflet data and this global data tracking down to the individual data set like markers1, and markers2 .
The big issue here is that we are relying on angular $watches to tells us when stuff is updated and take a decent guess on how to update the struct. $Watch in my opinion is a mess and should not be used. Using directiveControls to specifically update the data in how you see fit is currently the safest way.
I am totally open for re-design suggestion on how to better handle this data structure mess. A better change tracking system avoiding angular.$watch would be a great start.

Thanks !  This is clearly too heavy a fix for me to do.  Any suggestions for something cheap and nasty to get me around the problem ?
It works perfectly fine so long as I don't load the markercluster plugin.

For sure markers should be handled separately by each instance of markers directive. Global access to data causes much more problems than there is advantages from its usage.
I don't really see dumping $watches completely. Could you explain, what you mean by directiveControls and especially how it would affect the usage of markers directive?

This entire example is around not using watches to update the data.
https://github.com/angular-ui/ui-leaflet/blob/master/examples/0605-mixed-overlays-markers-nested-no-watch-example.html#L30-L31

Ok, I checked it out. I get the idea with moving a trigger from $watch to user, but it seems odd. I have never seen similar solution in other angular libraries.
I my opinion, the main change that has to be done is to quit using leafletData. After this change, it won't be necessary to reset groups. Plainly with a lot of markers that causes problems.

For reference, using the example with no watchers still produces this bug - change an icons color, even if it is not included in the clustering, and all clustered markers will rebuild causing massive GC and time lag.

Depends on how you use use it. Did you try using $q.all? You need to only
update all your rending in one step.

@wpanas it is odd, but this is mapping and many things can happen at high load. This is where angular falls flat on it face. IE avoid ng-repeat, and avoid watches. This is documented everywhere these days. Anyway give me some advice on other ways.
At the end of the day if your map is updating frequently you can not compare mapping to the domain of   other basic directives. I could see the case for some advanced features for (if they exist) in ui-grid to handle frequent updates. IE do they do anything special to avoid ng-repeat and watches.
Again, just because I am part of angular-ui does not mean I am an expert in every angular-ui library. So please forgive me for any ignorance.
Bottom line i'm looking for help here to have a go-path.

Also keep in mind right now this bug is not an urgent need at my work and we have been working around it. So right now I can not support this fix unless it is on my time. My time is very limited these days, and I do not have time to brainstorm half baked ideas. So lets all brainstorm together here.

@nmccready I got you. I was thinking last night what we can do better. As @furiousOyster mentioned, it does not matter whether he used promises or watches. I think that currently the most expensive operation is rebuilding. My last pull request made it even more expensive, so the problems began.
Resetting all groups cause that every time something is changed, groups must be rebuild. I came to conclusion that first of all I should fix this.
I want to make another pull request. This time I will change resetting all groups to deleting only those groups whose DOM element no longer exists.
I want to change also this line. Simple change of order and when isEqual is false, angular.equals never runs. We all know that it is very expensive operation.
If this issue isn't solved after those changes, we will think about dumping watches. If you agree with me, I will start coding :)

Sure should skipping angular.equals be a choice? In watchOptions, or add markerOptions?

This change doesn't change logic of the directive. It only avoids unnessesery angular.equals calls. When isEqual is false, whole line is always false, so why bother and check the equality?
W dniu 29 lut 2016, o 03:02, użytkownik nmccready <notifications<EMAIL_ADDRESS>napisał:
Sure should skipping angular.equals be a choice? In watchOptions, or add markerOptions?
—
Reply to this email directly or view it on GitHubhttps://github.com/angular-ui/ui-leaflet/issues/225#issuecomment-189995666.

Ok yeah sounds good.

Only time you need to check for equality is when you have deeply nested markers and you need to detect the change on the same reference. Otherwise we could just force immutability here and not worry about reference changes and always expect changes to come from new objects. This would need to be documented.

@furiousOyster let us know if problem still occurs

@nmccready on using this leafletData.getDirectiveControls is there any way to create or destroy one marker only?


Black/No live view on GUI

Hi,
Thanks for all you do with the AllSky. I am attempting to set mine up but running into an issue I can’t seem to figure out. I have checked the previous issues and don’t seem to have come up with any solutions for what is happening.
When I run the GUI install everything seems to go fine, but I get either a black image (see picture) or a broken image icon. There also don’t seem to be any pictures being saved, black or otherwise.
Running the install from the command line without the GUI and everything seems fine, I can view a live preview and the image comes up normal, so I know the camera is connecting and running.
I have restarted everything, reformatted the card and reinstalled everything (a few times while trying to troubleshoot). I am using all the default settings, and have attempted to manually run using the GUI with the same result.
Any suggestions?
ASI120MC-S
Raspberry Pi 3 B+

Thanks
Zach

If the images are not saved, the GUI will not display anything.
There could be a few reasons why the images don't save. Did you adjust the lat/long for your location? The images only save at night. Night and day are calculated based on your GPS coordinates and the time on your RPi.
Maybe post your settings and I can take a look.

I have been using the default settings up to this point, but changed the location in the GUI and on my RPi to a random night location (see settings picture attached). Still getting the black/broken image and no saved pictures.

The image on the GUI will stay black until the capture problem is resolved. Can you post the output of ./allsky.sh? Remember to stop the service first (sudo service allsky stop).

When I run sudo service allsky stop I get “ Failed to stop allsky.service: Unit allsky.service not loaded
I ran ./allsky.sh after stopping in the GUI and got “bash: ./allsky.sh: No such file or directory”

Well that's not normal. There should be a file called allsky.sh in the /home/pi/allsky directory.
Are you running the command from the allsky directory?


Possibly flawed assumption in CMakeLists.txt?

As mentioned in the last ticket, I'm packaging monosat and its language libraries for nixpkgs. In doing the java portion, I noticed that you have:
https://github.com/sambayless/monosat/blob/cbaf79cfd01cba97b46cae5a9d7b832771ff442c/CMakeLists.txt#L462
Which assumes that CMAKE_BINARY_DIR contains your source code. If you're doing an in-source build, that's generally true, but it's not required and in my case the two don't correspond, so cmake is unhappy and fails at that step.

Also, I think your reasoning for the && true might suggest you want || true?

Thanks! Should be fixed in master now

Great, thanks! I'll update my package to avoid working around this stuff 😄


docs: add X (Twitter) Hyperlink to README

Motivation
Increased visibility and community engagement for the Lodestar X account.
Description
Adds X (Twitter) Hyperlink to README.

Thanks @davidcardenasus, I also think this is a good idea.
What I am not sure about is adding this to badges, I think we should use those for technical references. And those are already bit overloaded.
Maybe it makes sense to add this to https://github.com/ChainSafe/lodestar#getting-started, we already have a reference to discord and the mailing list there. Could be similar to the discord one

It kinda fits into the topic of announcements and critical information about Lodestar, which is already mentioned for the mailing list. I'd suggest to either add it there as another reference or as another bullet point.
@philknows what do you think?

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

I'm thinking it would be better to remove the bullet point about mailing list (this may not come to fruition) and replace it with a point to follow us on X/Twitter instead. There was a previous staker survey that showed more people paid attention to Twitter than they did with e-mail updates also.

Closed for #6051


Code Review for [add-person-student-teacher] | Library Manager Project

Hello Dear Code Reviewers Team 👋,
I would like to ask for your kindly help to do the 🔍 Code Review 👀 for my project.
The following requirements 📌 were fulfilled this time:
- 🎯 General requirements

📌 Make sure that there are no linter errors.

✅ Linters for Ruby were installed. Rubocop reported no errors.

📌 Make sure that you used the correct GitFlow.

✅ dev branch was created and set as default to follow the git-flow.
✅ add-person-student-teacher feature branch was created from dev to follow the git-flow.

📌 Make sure that you documented your work in a professional way.

✅ README file was added with all the project details.

- 🎯 Ruby requirements

📌 Follow the list of best practices for Ruby.

✅ Best practices for Ruby were followed.

- 🎯 Project requirements

📌 Create class Person with  the following:

✅ Instance vars: @id, @name, and @age.
✅ Constructor with name,  age, and parent_permission as parameter. name and parent_permission are optional and have default values of "Unknown" and true.
✅ Getters for @id, @name, and @age.
✅ Setters for @name and @age.
✅ Private method of_age? that returns true if @age is greater or equal to 18 and false otherwise.
✅ Public method can_use_services? that returns true if person is of age or if they have permission from parents.

📌 Create class Student with the following:

✅ Inherits from Person.
✅ Constructor extends parent's constructor by adding @classroom and a parameter for it.
✅ Method play_hooky that returns "¯\(ツ)/¯".

📌 Create class Teacher with the following:

✅ Inherits from Person.
✅ Constructor extends parent's constructor by adding @specialization and a parameter for it.
✅ Override can_use_services? so it always returns true.

📌 Each class should be saved in a separate file.

✅ classes folder was created to save files for each class.
✅ person.rb, student.rb and teacher.rb were created at classes folder.
✅ main.rb file was created to show the created classes working, so you can runruby main.rb

I really thank you for your support. 🙏
Cheers and Happy Reviewing! 👀
Luis 🙋♂

Thanks for the review @Ibizugbe, but my username is @luigirazum.

Thanks for the review @Ibizugbe, but my username is @luigirazum.

Sorry about that, thanks for pointing it out👍.


Allow getting connection pools for an event loop in clients

Is your feature request related to a problem? Please describe.
It would be useful to be able to get the RedisConnectionPool for an EventLoop.  For example, one may want to extend QueueContext with a Redis property, to allow using Redis from Vapor Jobs.
Describe the solution you'd like
The method pool(eventLoop:) in Application.Redis could be made public.
Describe alternatives you've considered
This library could extend each type that could make use of Redis.

@wfltaylor you should be able to get to it from context.application.redis. Let me know if that solves it for you

@wfltaylor you should be able to get to it from context.application.redis. Let me know if that solves it for you

Is this safe, as this instance isn't for the jobs event loop?

@wfltaylor good point, in that case I guess it depends on whether or not you are running the queue in a single event loop. If not then yeah that probably isn't safe.

@wfltaylor good point, in that case I guess it depends on whether or not you are running the queue in a single event loop. If not then yeah that probably isn't safe.

That's possible, so do you know of any way to get Redis with the correct event loop? This is done by the Redis library for requests, but I haven't been able to figure out a way to do this without using inaccessible methods.

Nope I would agree with you @wfltaylor, the pool method would need to be made public. The same would be true even if the queues library were to implement a property ourselves (although it would have to be on the queues-redis-driver package since queues itself has no knowledge of Redis)

I moved this here as it makes sense to me that a job should be given the underlying driver client for the provided event loop as part of the context


Attributes not processed for ReplaceAnonymousWithClass refactoring

https://github.com/netty/netty/commit/d31fa31cdcc5ea2fa96116e3b1265baa180df58a
private final Charset DEFAULT_CHARSET = CharsetUtil.UTF_8;
should be matched with
private static final Charset DEFAULT_CHARSET = CharsetUtil.UTF_8;

@tsantalis In this case, the commonAttributes and attributeDiffList both are empty.


TPC DS s10 slowdown/timeout with pragma RotateJoinTree="false";

Affects q18, q21, q30, q40, q62, q64, q65, q81, q99
q18, q64, q81 timeouts, other just slower (q30 by x100)
Some queries can be fixed by enabling CBO (q40, q62, q99), some are not fixed or become worse (q30)
(Probably, as CBO currently replaces GraceJoin with MapJoin?)

tpc ds 10 q18 with RotateJoinTree=false as it enters CBO:
2024-08-07 12:33:18.103 INFO  dqrun(pid=1285165, tid=0x00007F6AE2296F80) [default] dq_opt_join_cost_based.cpp:324: {dummy_op} Converted join tree:
Join: (InnerJoin,Undefined) catalog_sales.cs_item_sk=item.i_item_sk,
    Join: (InnerJoin,Undefined) catalog_sales.cs_sold_date_sk=date_dim.d_date_sk,
        Join: (InnerJoin,Undefined) customer.c_current_addr_sk=customer_address.ca_address_sk,
            Join: (InnerJoin,Undefined) catalog_sales.cs_bill_customer_sk=customer.c_customer_sk,cd2.cd_demo_sk=customer.c_current_cdemo_sk,
                Join: (Cross,Undefined)
                    Join: (InnerJoin,Undefined) catalog_sales.cs_bill_cdemo_sk=cd1.cd_demo_sk,
                        Rel: catalog_sales
                        Type: BaseTable, Nrows: 1.14987e+06, Ncols: 34, ByteSize: 1.17747e+09, Cost: 1.17747e+09, cs_item_sk, cs_order_number
                        Rel: cd1
                        Type: BaseTable, Nrows: 56.9186, Ncols: 9, ByteSize: 58284.7, Cost: 5.82847e+06, cd_demo_sk
                    Rel: cd2
                    Type: BaseTable, Nrows: 5691.86, Ncols: 9, ByteSize: 5.82847e+06, Cost: 5.82847e+06, cd_demo_sk
                Rel: customer
                Type: BaseTable, Nrows: 14772.3, Ncols: 18, ByteSize: 1.51269e+07, Cost: 2.52115e+07, c_customer_sk
            Rel: customer_address
            Type: BaseTable, Nrows: 3836.55, Ncols: 13, ByteSize: 3.92863e+06, Cost: 5.61233e+06, ca_address_sk
        Rel: date_dim
        Type: BaseTable, Nrows: 160.235, Ncols: 28, ByteSize: 164080, Cost: 1.6408e+06, d_date_sk
    Rel: item
    Type: BaseTable, Nrows: 7762.99, Ncols: 22, ByteSize: 7.9493e+06, Cost: 7.9493e+06, i_item_sk

2024-08-07 12:33:18.104 INFO  dqrun(pid=1285165, tid=0x00007F6AE2296F80) [default] dq_opt_join_cost_based.cpp:334: {dummy_op} Optimizied join tree:
Join: (InnerJoin,GraceJoin) catalog_sales.cs_bill_customer_sk=customer.c_customer_sk,cd2.cd_demo_sk=customer.c_current_cdemo_sk,
Type: ManyManyJoin, Nrows: 549772, Ncols: 133, ByteSize: 5.62967e+08, Cost: 1.23395e+09
    Join: (Cross,GraceJoin)
    Type: ManyManyJoin, Nrows: 1.30898e+06, Ncols: 102, ByteSize: 1.3404e+09, Cost: 1.20122e+09
        Rel: cd2
        Type: BaseTable, Nrows: 5691.86, Ncols: 9, ByteSize: 5.82847e+06, Cost: 5.82847e+06, cd_demo_sk
        Join: (InnerJoin,GraceJoin) item.i_item_sk=catalog_sales.cs_item_sk,
        Type: FilteredFactTable, Nrows: 1149.87, Ncols: 93, ByteSize: 1.17747e+06, Cost: 1.19407e+09, cs_item_sk, cs_order_number
            Rel: item
            Type: BaseTable, Nrows: 7762.99, Ncols: 22, ByteSize: 7.9493e+06, Cost: 7.9493e+06, i_item_sk
            Join: (InnerJoin,GraceJoin) catalog_sales.cs_sold_date_sk=date_dim.d_date_sk,
            Type: FilteredFactTable, Nrows: 1149.87, Ncols: 71, ByteSize: 1.17747e+06, Cost: 1.18611e+09, cs_item_sk, cs_order_number
                Join: (InnerJoin,GraceJoin) catalog_sales.cs_bill_cdemo_sk=cd1.cd_demo_sk,
                Type: FilteredFactTable, Nrows: 11498.7, Ncols: 43, ByteSize: 1.17747e+07, Cost: 1.18446e+09, cs_item_sk, cs_order_number
                    Rel: catalog_sales
                    Type: BaseTable, Nrows: 1.14987e+06, Ncols: 34, ByteSize: 1.17747e+09, Cost: 1.17747e+09, cs_item_sk, cs_order_number
                    Rel: cd1
                    Type: BaseTable, Nrows: 56.9186, Ncols: 9, ByteSize: 58284.7, Cost: 5.82847e+06, cd_demo_sk
                Rel: date_dim
                Type: BaseTable, Nrows: 160.235, Ncols: 28, ByteSize: 164080, Cost: 1.6408e+06, d_date_sk
    Join: (InnerJoin,GraceJoin) customer.c_current_addr_sk=customer_address.ca_address_sk,
    Type: FilteredFactTable, Nrows: 10340.6, Ncols: 31, ByteSize: 1.05888e+07, Cost: 3.08566e+07, c_customer_sk
        Rel: customer
        Type: BaseTable, Nrows: 14772.3, Ncols: 18, ByteSize: 1.51269e+07, Cost: 2.52115e+07, c_customer_sk
        Rel: customer_address
        Type: BaseTable, Nrows: 3836.55, Ncols: 13, ByteSize: 3.92863e+06, Cost: 5.61233e+06, ca_address_sk

q18 without RotateJoinTree=false:
2024-08-07 12:34:18.300 INFO  dqrun(pid=1285330, tid=0x0000765B30316F80) [default] dq_opt_join_cost_based.cpp:297: {dummy_op} Optimizing join with costs
2024-08-07 12:34:18.300 INFO  dqrun(pid=1285330, tid=0x0000765B30316F80) [default] dq_opt_join_cost_based.cpp:310: {dummy_op} All statistics for join in place
2024-08-07 12:34:18.300 INFO  dqrun(pid=1285330, tid=0x0000765B30316F80) [default] dq_opt_join_cost_based.cpp:324: {dummy_op} Converted join tree:
Join: (InnerJoin,Undefined) customer_address.ca_address_sk=customer.c_current_addr_sk,
    Rel: customer_address
    Type: BaseTable, Nrows: 3836.55, Ncols: 13, ByteSize: 3.92863e+06, Cost: 5.61233e+06, ca_address_sk
    Join: (InnerJoin,Undefined) cd2.cd_demo_sk=customer.c_current_cdemo_sk,
        Rel: cd2
        Type: BaseTable, Nrows: 5691.86, Ncols: 9, ByteSize: 5.82847e+06, Cost: 5.82847e+06, cd_demo_sk
        Join: (InnerJoin,Undefined) customer.c_customer_sk=catalog_sales.cs_bill_customer_sk,
            Rel: customer
            Type: BaseTable, Nrows: 14772.3, Ncols: 18, ByteSize: 1.51269e+07, Cost: 2.52115e+07, c_customer_sk
            Join: (InnerJoin,Undefined) cd1.cd_demo_sk=catalog_sales.cs_bill_cdemo_sk,
                Rel: cd1
                Type: BaseTable, Nrows: 56.9186, Ncols: 9, ByteSize: 58284.7, Cost: 5.82847e+06, cd_demo_sk
                Join: (InnerJoin,Undefined) item.i_item_sk=catalog_sales.cs_item_sk,
                    Rel: item
                    Type: BaseTable, Nrows: 7762.99, Ncols: 22, ByteSize: 7.9493e+06, Cost: 7.9493e+06, i_item_sk
                    Join: (InnerJoin,Undefined) catalog_sales.cs_sold_date_sk=date_dim.d_date_sk,
                        Rel: catalog_sales
                        Type: BaseTable, Nrows: 1.14987e+06, Ncols: 34, ByteSize: 1.17747e+09, Cost: 1.17747e+09, cs_item_sk, cs_order_number
                        Rel: date_dim
                        Type: BaseTable, Nrows: 160.235, Ncols: 28, ByteSize: 164080, Cost: 1.6408e+06, d_date_sk

2024-08-07 12:34:18.300 INFO  dqrun(pid=1285330, tid=0x0000765B30316F80) [default] dq_opt_join_cost_based.cpp:334: {dummy_op} Optimizied join tree:
Join: (InnerJoin,GraceJoin) cd2.cd_demo_sk=customer.c_current_cdemo_sk,
Type: FilteredFactTable, Nrows: 482.946, Ncols: 133, ByteSize: 494536, Cost: 1.23075e+09, cs_item_sk, cs_order_number
    Rel: cd2
    Type: BaseTable, Nrows: 5691.86, Ncols: 9, ByteSize: 5.82847e+06, Cost: 5.82847e+06, cd_demo_sk
    Join: (InnerJoin,GraceJoin) item.i_item_sk=catalog_sales.cs_item_sk,
    Type: FilteredFactTable, Nrows: 482.946, Ncols: 124, ByteSize: 494536, Cost: 1.22492e+09, cs_item_sk, cs_order_number
        Rel: item
        Type: BaseTable, Nrows: 7762.99, Ncols: 22, ByteSize: 7.9493e+06, Cost: 7.9493e+06, i_item_sk
        Join: (InnerJoin,GraceJoin) customer_address.ca_address_sk=customer.c_current_addr_sk,
        Type: FilteredFactTable, Nrows: 482.946, Ncols: 102, ByteSize: 494536, Cost: 1.21696e+09, cs_item_sk, cs_order_number
            Rel: customer_address
            Type: BaseTable, Nrows: 3836.55, Ncols: 13, ByteSize: 3.92863e+06, Cost: 5.61233e+06, ca_address_sk
            Join: (InnerJoin,GraceJoin) customer.c_customer_sk=catalog_sales.cs_bill_customer_sk,
            Type: FilteredFactTable, Nrows: 689.922, Ncols: 89, ByteSize: 706481, Cost: 1.21134e+09, cs_item_sk, cs_order_number
                Rel: customer
                Type: BaseTable, Nrows: 14772.3, Ncols: 18, ByteSize: 1.51269e+07, Cost: 2.52115e+07, c_customer_sk
                Join: (InnerJoin,GraceJoin) catalog_sales.cs_sold_date_sk=date_dim.d_date_sk,
                Type: FilteredFactTable, Nrows: 1149.87, Ncols: 71, ByteSize: 1.17747e+06, Cost: 1.18611e+09, cs_item_sk, cs_order_number
                    Join: (InnerJoin,GraceJoin) catalog_sales.cs_bill_cdemo_sk=cd1.cd_demo_sk,
                    Type: FilteredFactTable, Nrows: 11498.7, Ncols: 43, ByteSize: 1.17747e+07, Cost: 1.18446e+09, cs_item_sk, cs_order_number
                        Rel: catalog_sales
                        Type: BaseTable, Nrows: 1.14987e+06, Ncols: 34, ByteSize: 1.17747e+09, Cost: 1.17747e+09, cs_item_sk, cs_order_number
                        Rel: cd1
                        Type: BaseTable, Nrows: 56.9186, Ncols: 9, ByteSize: 58284.7, Cost: 5.82847e+06, cd_demo_sk
                    Rel: date_dim
                    Type: BaseTable, Nrows: 160.235, Ncols: 28, ByteSize: 164080, Cost: 1.6408e+06, d_date_sk

cd2 (alias to customers_demographics) should be rewritten to INNER JOIN to customers table,  but with RotateJoinTree=false it left as CROSS JOIN (and blows up everything)

tpc ds q30:
2024-08-07 03:36:21.457 INFO  dqrun(pid=1265529, tid=0x000079175FECEF80) [default] dq_opt_join_cost_based.cpp:324: {dummy_op} Converted join tree:
Join: (InnerJoin,Undefined) ctr1.ctr_customer_sk=customer.c_customer_sk,customer_address.ca_address_sk=customer.c_current_addr_sk,
    Join: (Cross,Undefined)
        Join: (InnerJoin,Undefined) ctr1.ctr_state=ctr2.ctr_state,
            Rel: ctr1
            Type: FilteredFactTable, Nrows: 6403.62, Ncols: 8, ByteSize: 6.5573e+06, Cost: 7.29207e+07, wr_item_sk, wr_order_number
            Rel: ctr2
            Type: FilteredFactTable, Nrows: 6403.62, Ncols: 8, ByteSize: 6.5573e+06, Cost: 7.29207e+07, wr_item_sk, wr_order_number
        Rel: customer_address
        Type: BaseTable, Nrows: 548.079, Ncols: 2, ByteSize: 561233, Cost: 5.61233e+06, ca_address_sk
    Rel: customer
    Type: BaseTable, Nrows: 24620.6, Ncols: 14, ByteSize: 2.52115e+07, Cost: 2.52115e+07, c_customer_sk

Looks like customer_address ends up CROSS JOIN'ed to ctr1 and ctr2 join result, instead of INNER JOIN'ed to customer table

q64: d2 and d3 are CROSS JOIN'ed to store_sales instead of enreaching customer table

q21, q40, q62 were just deoptimized join order and fixed by CBO, others are #7565 and/or #7403

The problem
I looked into the queries. It seems that neither RotateJoinTree="false" or RotateJoinTree="true" will produce a correct optimization for them.
Some queries (namely, q18 or q64) can be correctly optimized by introducing sets of equal join keys, i. e. if we have two predicates like where a.key == b.key and where a.key == c.key we can automatically deduce a predicate where b.key == c.key and try to optimize a corresponding CrossJoin.
Other queries (like q30) can not be correctly optimized even with this change: some join rotation is required. Let's look in this example:
t1 cross join t2 cross join t3 where t1.column1 = t3.column1 and t2.column2 = t3.column2.

Join tree looks like this, with RotateJoinTree="false" the first predicate optimizes root join, the other does nothing. And we can not improve the strategy.
Reverting to RotateJoinTree="true" also produces problems that we wanted to fix in the first place.
The solution
We could either try to optimize the tree in both ways and choose a better plan, or come up with a general-purpose algorithm that i'll explain below.
Let's consider an example and optimize this query:
t1 cross join t2 cross join t3 cross join t4 where t1.column1 = t3.column1 and t2.column2 = t3.column2 and t1.column1 = t4.column1.
The algorithm will do the following:

Extract all filters and build equivalent join key classes. For the query, it'll be [t1.column1, t3.column1, t4.column1] and [t2.column2, t3.column2].
Determine which tables can be joined together using one of the equality predicates, which are obtained from the classes above. The predicates are t1.column1 == t3.column1, t1.column1 == t4.column1, t3.column1 == t4.column1, t2.column2 == t3.column4. So the pairs of tables which can be joined with an inner join are [t1, t3], [t1, t4], [t3, t4], [t2, t3].
Build a graph, where tables are vertexes and predicates are edges. Determine components of this graph. the query above has only one component.
Inner join tables from each component together in any order (or in the order, that is the closest to user order), using join keys from corresponding predicates.
If there is more than one component, use cross joins to connect them together.

Who will implement it and when it will be in main
If I commit to implementing the algo, I consider it to be merged after [1-3] weeks. I discussed the algo with @pavelvelikhov in private matter, and he mentioned that maybe CBO developers can take this issue, as they are already doing something similar in CBO.

I thought about it, and it seems to me we do not have to build equity classes of join keys, because connectivity component does not change and we can traverse it (and construct inner joins) even without extra predicates.

I thought about it, and it seems to me we do not have to build equity classes of join keys, because connectivity component does not change and we can traverse it (and construct inner joins) even without extra predicates.

Yes! We don't really need equivalence classes! Even in this example: https://github.com/ydb-platform/ydb/issues/7403

The join graph looks like this, we just need to traverse it via any spanning tree, as long as we don't try to add unconnected nodes from the same component, everything will work


Support including in rollup projects without extra plugins/hacks

What is the current behavior?
Doing import { createStore } from 'redux' in a rollup project results in console error in browserredux.js:615 Uncaught ReferenceError: process is not defined.
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://jsfiddle.net or similar.
https://polymer-with-redux.glitch.me/
What is the expected behavior?
To not crash and not have to do any of the work arounds described in this rollup issue because sometimes we're in a situation where we can't / don't want to mess with rollup as is the case in a Polymer CLI project (related issue)
Which versions of Redux, and which browser and OS are affected by this issue? Did this work in previous versions of Redux?
Redux 4.0.0. I'm just testing in latest Chrome but I'm sure we'll see this everywhere. I'm not sure if it worked in previous versions of Redux.

Dupe of #2907


Consider redaxios

Please consider redaxios for sending api calls, setting the baseurl is much easier.
https://www.npmjs.com/package/redaxios
I noticed that the schema is hardcoded in, how do you test the client with it force set to https?

Thanks for the link to redaxios. I will take a look, I think you're right and will provide a cleaner implementation.
I think the only place I have hardcoded to 'https' is when communicating with a federated contact, but I need to verify. The browser app for example works without 'https'.


v6.3.0 Seems to have broken tests

HttpTests were working about an hour or so ago, now I get:
--------------------- /__w/12/s/HttpTests/HealthcheckController.http  --
expression lbDns throws error
ReferenceError: lbDns is not defined
    at global.<anonymous> (/__w/12/s/HttpTests/HealthcheckController.http:15:20)
    at Gt (/__w/12/s/node_modules/httpyac/dist/index.js:6:2186)
    at ao (/__w/12/s/node_modules/httpyac/dist/index.js:6:2752)
    at /__w/12/s/node_modules/httpyac/dist/index.js:6:5967
    at V (/__w/12/s/node_modules/httpyac/dist/index.js:2:29549)
    at Object.Ql [as action] (/__w/12/s/node_modules/httpyac/dist/index.js:6:5933)
    at qt.trigger (/__w/12/s/node_modules/hookpoint/dist/index.js:1:3229)
    at async U (/__w/12/s/node_modules/httpyac/dist/index.js:2:32106)
    at async Object.ia [as action] (/__w/12/s/node_modules/httpyac/dist/index.js:2:73495)
    at async p.trigger (/__w/12/s/node_modules/hookpoint/dist/index.js:1:3212)
##[error]Bash exited with code '1'.

Running command: httpyac . --all -e dev -o short (I am in the same directory executing the command, which is why I pass . )
Config File:
module.exports = {
	environments: {
		prod: {
			env: 'prod',
			lbDns:  'xxxx',
		},
		sys: {
			env: 'test',
			lbDns: 'xxxx',
		},
		dev: {
			env: 'dev',
			lbDns: 'xxxx'
		},
		localhost: {
			env: 'localhost',
			lbDns: 'xxxx'
		},
	}
};

Seems like the config file is not being recognize?

@FrankRua I will take a look at it. I use .env Files for configuration and it seems that I do not have this error.

yeah, broken the tests in the homebrew run, https://github.com/Homebrew/homebrew-core/pull/125801
build log, https://github.com/Homebrew/homebrew-core/actions/runs/4433712291/jobs/7779080834

@FrankRua @chenrui333
I now understand why I have no problems with the latest release. My automated tests use the default environment and in VSCode the problem does not occur. The cause is probably because I forgot to apply the activeEnvironment here.

@chenrui333 I am honored that it was included in homebrew. I think it's cool. Thanks. Did not know

Gonna try your fix now. Thanks!

confirmed the fix, 👍