feat: add local dev experience for scheduled functions

🎉 Thanks for submitting a pull request! 🎉
Summary
This PR adds special behaviour for scheduled functions. To mimic planned production behaviour, the local dev environment will not accept HTTP calls to scheduled functions. It will accept calls made through ntl functions:invoke.
A picture of a cute animal (not mandatory, but encouraged)

77ef972 updates to the prerelease of https://github.com/netlify/zip-it-and-ship-it/pull/899#issuecomment-997735506 to move this PR forward

Are we inadvertently diverting people's attention away from the terminal, which feels like should be the main delivery mechanism?

I agree with this notion. Do you think it'd be a good middle ground to allow browser calls, but instead of printing a full-blown output, print "take a look at the output of Netlify Dev"?
OTOH, Scheduled Functions being a Labs feature, I could also see us testing the waters with this delivery pattern to gather some user feedback.
Definitely up to Workflow to decide.

we decided to move forward with the change. let's get this shipped! 🚢 @eduardoboucas @lukasholzer would love a review :)

Something is killing the tests: Command was killed with SIGKILL (Forced termination):

Something is killing the tests: Command was killed with SIGKILL (Forced termination)

@lukasholzer do you have an idea what's causing this? do we know if it's some change from the PR, or an external thing?

Something is killing the tests: Command was killed with SIGKILL (Forced termination)

@lukasholzer do you have an idea what's causing this? do we know if it's a problem with the PR, or an external thing?

My first wild guess would be that it is somehow connected with the PR as the error is somehow related to functions and I've never seen this one before.
So if tests are flaky then they are failing differently (by http endpoint timed out or something like that).
This one seems to be more on the mem crashing side of things on macos :D

while the ubuntu-latest test seems to be flaky failing.

@netlify-team-account-1 do they pass locally?

@Skn0tt still not passing? 😬

nope


Added interactive examples of PIX Augmentations with Google Colab

Added interactive examples of running every augmentation in the pix library on a Google Colab notebook which can be found here.

Hey @SupreethRao99, thanks for the PR.
It LGTM, however I would prefer to have the ipynb directly under /example folder as image_augmentation.ipynb.
Then you can update the link to point to that file 😄

Hey @claudiofantacci I've renamed the file to image_augmentation.ipynb and saved it under  /examples as requested. The link the notebook will remain the same.
Could you take a look and tell me if any other changes need to be made? Thank you !

Hey @SupreethRao99 thanks a lot again!
Please also update the link to point to the internal ipynb, which would make the repo self-contained 😄

Hey, @claudiofantacci I've added a single empty line at the end of image_augmentation.ipynb.

The PR will be automatically merged by Copybara automatically. This may take a while, sorry about that 😄
If anything goes wrong, I'll let you know!
In the meantime @SupreethRao99 thanks again for the contribution 🚀

Thank you ! @claudiofantacci


Add app.config redirects for deprecated assemblies

After c3f85b added these to our VSIX and we stopped using the ones built
from the VS repo (as version 15.0), various things in VS broke because
Microsoft.Build.Engine 15.0 couldn't be loaded. Adding redirects for it
and Conversion.Core which was changed similarly.
Fixes the MSBuild.exe side of
https://devdiv.visualstudio.com/DevDiv/_workitems?id=273046.

@AndyGerlicher I think this is what was asked for over email this morning.


use fromValue in more places in builtins

Do this to avoid pattern matching and throwing errors explicitly.
Thanks for allowing me to contrib ^_^

Thank you!
How is genericClosure treating you? :)

@hSloan Oh, please hold off on further Builtins.hs changes like this. I'm working on a rather large refactoring within that file right now. You'll see the push when it comes through.

I'm all done.

@jwiegley Will do, I'm planning on finishing off the genericClosure ticket next.


no_std seems cannot compile

error[E0432]: unresolved import `crate::stdlib::time::Instant`
  --> /home/cheng/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-0.12.0/src/builtin.rs:30:5
   |
30 |     time::Instant,
   |     ^^^^^^^^^^^^^ no `Instant` in `time`

error[E0432]: unresolved imports `crate::stdlib::rc`, `crate::stdlib::time::Instant`
  --> /home/cheng/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-0.12.0/src/engine.rs:19:5
   |
19 |     rc::Rc,
   |     ^^ could not find `rc` in `stdlib`
...
22 |     time::Instant,
   |     ^^^^^^^^^^^^^ no `Instant` in `time`

error[E0432]: unresolved import `crate::stdlib::rc`
  --> /home/cheng/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-0.12.0/src/optimize.rs:13:5
   |
13 |     rc::Rc,
   |     ^^ could not find `rc` in `stdlib`

error[E0432]: unresolved import `crate::stdlib::rc`
  --> /home/cheng/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-0.12.0/src/parser.rs:19:5
   |
19 |     rc::Rc,
   |     ^^ could not find `rc` in `stdlib`

error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0432`.
error: could not compile `rhai`.

To learn more, run the command again with --verbose.

Yes, this is a known problem.  PR https://github.com/jonathandturner/rhai/pull/138 fixes that.


Inference on Edge TPU

Hi,
thanks for the project.
I am still new to AI and would like to run the project with a RPI4 in combination with coral usb accelerator (with NCS2 works fine).
For this I have converted the model. The input shape was changed to 1x256x448x3. This corresponds to the original format of the scaled_img. In addition, I have adapted the InferenceEngine accordingly.
However, I get different results after executing the code, which later causes a memory access error.
I hope you have an idea where my error is and how I can make it right.
 I suggest to check Inference with OpenVINO section, does it work on CPU?

Hi! I suggest to check Inference with OpenVINO section, does it work on CPU?

Thanks for your response.
Yes it works.
I managed to get the program to start even with the TFlite model. Input Shape and Output Shape had to be adjusted because they were changed during the converting process.
However, nothing is recognized since the results of the models are still very different.
For example the TFlite returns values for features like
[ 9.3132257e-10 9.3132257e-10 9.3132257e-10 ... 3.4559049e-02
-6.9118097e-02 -5.5294476e-02]
Although the model for OpenVINO returns values for features like
[-2.44140625e-04 -2.13623047e-04 -2.05993652e-04 ... -3.28063965e-04
-2.97546387e-04 -2.28881836e-04]

Thanks for your response.
Yes it works.
I managed to get the program to start even with the TFlite model. Input Shape and Output Shape had to be adjusted because they were changed during the converting process.
However, nothing is recognized since the results of the models are still very different.
For example the TFlite returns values for features like
[ 9.3132257e-10 9.3132257e-10 9.3132257e-10 ... 3.4559049e-02
-6.9118097e-02 -5.5294476e-02]
Although the model for OpenVINO returns values for features like
[-2.44140625e-04 -2.13623047e-04 -2.05993652e-04 ... -3.28063965e-04
-2.97546387e-04 -2.28881836e-04]

If the original demo with OpenVINO works on a CPU, then just pass --use-openvino --device MYRIAD to the demo script to run it on NCS2. As I get you are trying to convert the PyTorch model to OpenVINO format and run the demo with this converted model. I just did not get why the channels dimension is the last in the shape you provided, it must be on the second place for the OpenVINO: 1x256x448x3 -> 1x3x256x448.

If the original demo with OpenVINO works on a CPU, then just pass --use-openvino --device MYRIAD to the demo script to run it on NCS2. As I get you are trying to convert the PyTorch model to OpenVINO format and run the demo with this converted model. I just did not get why the channels dimension is the last in the shape you provided, it must be on the second place for the OpenVINO: 1x256x448x3 -> 1x3x256x448.

I want to run it on a Raspberry with a Coral USB accelerator. For this the ONNX model was converted to a TFlite model. Why the converter changes the shape, I do not know unfortunately.

I want to run it on a Raspberry with a Coral USB accelerator. For this the ONNX model was converted to a TFlite model. Why the converter changes the shape, I do not know unfortunately.

So, you want to run the demo through TFLite on Coral accelerator, not OpenVINO with NCS2, and adapted the code somehow. Did you feed normalized_image as is (normalized_image[np.newaxis,]), since TF expects channels dimension to be the last?

So, you want to run the demo through TFLite on Coral accelerator, not OpenVINO with NCS2, and adapted the code somehow. Did you feed normalized_image as is (normalized_image[np.newaxis,]), since TF expects channels dimension to be the last?

Also what is the shape of output? If it is 1x32x56xNUM_CHANNELS, it need to be transposed to also has channels on the second place, not the 4th to work with existing code.

Also what is the shape of output? If it is 1x32x56xNUM_CHANNELS, it need to be transposed to also has channels on the second place, not the 4th to work with existing code.

I used the inference_engine_openvino.py as a template, there was no normalization there.
I'll try normalization. Thanks.
Yes, the output shape is also different. I transposed it.

I used the inference_engine_openvino.py as a template, there was no normalization there.
I'll try normalization. Thanks.
Yes, the output shape is also different. I transposed it.

Thanks, it works with normalization!
Could you briefly explain to me why you don't need normalization with OpenVINO, but here it is?

Thanks, it works with normalization!
Could you briefly explain to me why you don't need normalization with OpenVINO, but here it is?

Normalization already included in the OpenVINO model. To load fast pose extractor, please follow prerequisites section.

Normalization already included in the OpenVINO model. To load fast pose extractor, please follow prerequisites section.

Thanks!

Thanks!


NotImplementedError:

I have installed bedtools still getting an error shown in the figure.
please can you tell me how should I install bedtools properly in google collab?

(Also spuriously reported as samtools/samtools#1488 where the OP's issue appears to have been resolved.)

Thanks for clarifying and closing.


grpc_json_transcoder: remove Trailer headers from http/1 responses

Description: When clients connect using http/1, Trailer headers are prohibited unless the transfer encoding is chunked, which it shouldn't be. Remove these headers in this case.
Risk Level: Low
Testing: Integration testing has been done to ensure that these headers are in fact removed.
Docs Changes: N/A
Release Notes: N/A
[Fixes #4240]

@lizan I think I've figured out the testing for this issue. Please let me know how this looks to you.

OK, I've updated the PR to fix issues found here.

OK, fixed style issue. Good to merge?


WSI Direct2Display

*Added macro to use default display plane, instead of query for best display plane.
"vkGetPhysicalDeviceDisplayPlanePropertiesKHR" api crashes on some target, even if vkGetPhysicalDeviceDisplayPlanePropertiesKHR is valid.
macro USE_DEFAULT_DISPLAY_PLANE_0 avoid this function call and uses default plane 0(as if display attach at least one plane need to be present with id 0)
by default macro is not enable, if your target crashes for "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" function call, can try enabling USE_DEFAULT_DISPLAY_PLANE_0 macro in VulkanSwapChain.hpp.

Thx for your PR. Please give me some time to evaluate the changes before I merge this.


Split out providers into sub packages

Perceived Problem
Shipping providers inside the main package means consumers pay the cost of the dependencies of those providers even if they're not using said provider. For some things it's may not be a big deal, but for dependencies like playwright it absolutely makes a difference.
Ideas / Proposed Solution(s)
Break the library down into a monorepo. Ship providers as stand along packages in a shared scoped namespace on npm. This will allow supporting things like playwright (and beyond) while not incurring the dependency cost for consumers that don't need it. Having it in one repo but published as different packages means the community can also contribute back to the main repo when adding other useful providers without consumers paying the cost of a new provider.

The biggest challenge with this specific approach is dripip doesn't seem to support monorepos. Setting up automatic deployments of monorepos is non-trivial. Historically I've leaned heavily into using auto. There is a conventional commits plugin to map to the current usage.
Obviously that's one potentially solution among many. The tool used is less important than the ultimate result.

Agreed with this in principal. Not sure when we'll do it. I might also go a slightly different way. A mega package that bundles all deps. For users that care, letting them install @kont/core @kont/provider-foo @kont/provider-bar ....

Not that bad. TypeScript is twice that for example.

But it does seem to drag down CI install times


No sklearn compile for installing Pyxit

Use tree.apply method to determine the leaves where the windows arrive in pyxit.transform.
Consequences:

no need to recompile scikit-learn to install Pyxit
transform is now ~50x faster in sequential execution (tested with the script below, reported an execution time for transform of ~1.2 second (master branch version of pyxit) against ~0.025 second (current pull request version)
transform can now be parallelized (apply can be run in parallel for each tree of the forest)

The following script was used for testing the master version against this one. The resulting transform matrix were exactly the same (compared with the == operator):
import os
import shutil
import time

from pyxit.estimator import PyxitClassifier as PyxitClassifier1
from sklearn.ensemble import ExtraTreesClassifier
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split

from pyxit2.estimator import PyxitClassifier as PyxitClassifier2
from sklearn.datasets import load_digits

import cv2
import numpy as np

def save_ds(dest, x, y):
    if os.path.exists(dest):
        shutil.rmtree(dest)
    cnt = 0
    x_files = list()
    values = np.unique(y)
    for i in values:
        cls_path = os.path.join(dest, "{}".format(i))
        if not os.path.exists(cls_path):
            os.makedirs(cls_path)

        # run through relevant dataset
        items = np.where(y == i)[0]
        for item in items:
            file_path = os.path.join(cls_path, "{}.png".format(cnt))
            cv2.imwrite(file_path, x[item] * 16)
            cnt += 1
            x_files.append(file_path)
    return np.array(x_files), y

def report_sparse(spr):
    print("nnz: {}".format(spr.nnz))
    print("dtype: {}".format(spr.dtype))
    print("shape: {}".format(spr.shape))
    print("sum: {}".format(np.sum(spr)))

if __name__ == "__main__":

    digits = load_digits()
    x, y = digits.data, digits.target
    x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=0)
    x_train = x_train.reshape((x_train.shape[0], 8, 8))
    x_test = x_test.reshape((x_test.shape[0], 8, 8))

    x_train, y_train = save_ds("./dataset/train", x_train, y_train)
    x_test, y_test = save_ds("./dataset/test", x_test, y_test)

    est1 = PyxitClassifier1(
        ExtraTreesClassifier(max_leaf_nodes=40, random_state=0),
        n_subwindows=10,
        n_jobs=1,
        min_size=0.75,
        max_size=1.0,
        target_height=4,
        target_width=4,
        random_state=0
    )

    est1.fit(x_train, y_train)
    # y_pred = est1.predict(x_test)
    # print("Accuracy: {}".format(accuracy_score(y_test, y_pred)))

    est2 = PyxitClassifier2(
        ExtraTreesClassifier(max_leaf_nodes=40, random_state=0),
        n_subwindows=10,
        n_jobs=1,
        min_size=0.75,
        max_size=1.0,
        target_height=4,
        target_width=4,
        random_state=0
    )

    est2.fit(x_train, y_train)
    # y_pred = est2.predict(x_test)
    # print("Accuracy: {}".format(accuracy_score(y_test, y_pred)))

    _x_test1, _ = est1.extract_subwindows(x_test, y_test)
    _x_test2, _ = est2.extract_subwindows(x_test, y_test)

    times1 = list()
    trans1 = est1.transform(x_test, _X=_x_test1)
    for i in range(10):
        start = time.time()
        trans1 = est1.transform(x_test, _X=_x_test1)
        times1.append(time.time() - start)

    times2 = list()
    trans2 = est2.transform(x_test, _X=_x_test2)
    for i in range(10):
        start = time.time()
        trans2 = est2.transform(x_test, _X=_x_test2)
        times2.append(time.time() - start)

    print("trans1")
    report_sparse(trans1)
    print("time: {}s".format(np.mean(times1)))
    print("trans2")
    report_sparse(trans2)
    print("time: {}s".format(np.mean(times2)))

    print("Time ratio: {}".format(np.mean(times1) / np.mean(times2)))
    print((trans1 != trans2).nnz)

The following (self contained) script can be used to benchmark sequential vs parallel execution of transform:
import os
import shutil
import time

from pyxit.estimator import PyxitClassifier
from sklearn.ensemble import ExtraTreesClassifier
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split

from sklearn.datasets import load_digits

import cv2
import numpy as np

def save_ds(dest, x, y):
    if os.path.exists(dest):
        shutil.rmtree(dest)
    cnt = 0
    x_files = list()
    values = np.unique(y)
    for i in values:
        cls_path = os.path.join(dest, "{}".format(i))
        if not os.path.exists(cls_path):
            os.makedirs(cls_path)

        # run through relevant dataset
        items = np.where(y == i)[0]
        for item in items:
            file_path = os.path.join(cls_path, "{}.png".format(cnt))
            cv2.imwrite(file_path, x[item] * 16)
            cnt += 1
            x_files.append(file_path)
    return np.array(x_files), y

def report_sparse(spr):
    print("nnz: {}".format(spr.nnz))
    print("dtype: {}".format(spr.dtype))
    print("shape: {}".format(spr.shape))
    print("sum: {}".format(np.sum(spr)))

if __name__ == "__main__":

    digits = load_digits()
    x, y = digits.data, digits.target
    x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=0)
    x_train = x_train.reshape((x_train.shape[0], 8, 8))
    x_test = x_test.reshape((x_test.shape[0], 8, 8))

    x_train, y_train = save_ds("./dataset/train", x_train, y_train)
    x_test, y_test = save_ds("./dataset/test", x_test, y_test)

    est = PyxitClassifier(
        ExtraTreesClassifier(max_leaf_nodes=40, random_state=0),
        n_subwindows=10,
        n_jobs=1,
        min_size=0.75,
        max_size=1.0,
        target_height=4,
        target_width=4,
        random_state=0
    )

    est.fit(x_train, y_train)
    y_pred = est.predict(x_test)
    print("Accuracy: {}".format(accuracy_score(y_test, y_pred)))

    _x_test, _ = est.extract_subwindows(x_test, y_test)

    times = list()
    trans = est.transform(x_test, _X=_x_test)
    for i in range(10):
        start = time.time()
        trans = est.transform(x_test, _X=_x_test)
        times.append(time.time() - start)

    print("trans")
    report_sparse(trans)
    print("time: {}s".format(np.mean(times)))

    est_parallel = PyxitClassifier(
        ExtraTreesClassifier(max_leaf_nodes=40, random_state=0, n_jobs=2),
        n_subwindows=10,
        n_jobs=2,
        min_size=0.75,
        max_size=1.0,
        target_height=4,
        target_width=4,
        random_state=0
    )

    est_parallel.fit(x_train, y_train)

    _x_test, _ = est_parallel.extract_subwindows(x_test, y_test)

    times = list()
    trans = est_parallel.transform(x_test, _X=_x_test)
    for i in range(10):
        start = time.time()
        trans = est_parallel.transform(x_test, _X=_x_test)
        times.append(time.time() - start)

    print("trans")
    report_sparse(trans)
    print("time: {}s".format(np.mean(times)))

@geektortoise The new implementation requires v0.17 of scikit learn at least.


FlutterError.onError details stack is null

FlutterError.onError is reporting a null stack trace, and I don't think it should be.  Is this expected behavior?
I've observed this on iOS and Android.
Here's a link to a repository to reproduce this issue: https://github.com/KevinTheGray/flutter_error_null_stack_trace
Steps to Reproduce

Set FlutterError.onError in main.dart like this

FlutterError.onError = (details) {
    if (details.stack == null) {
      print('The details stack trace IS null.');
      print(details.stack);
    } else {
      print('The details stack trace was not null.');
      print(details.stack);
    }
    Zone.current.handleUncaughtError(details.exception, details.stack);
  };

Build a widget that throws an exception like this

@override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Container(color: Colors.red, height: 20000.0,),
          ],
        ),
      ),
    );
  }

Observer null stack trace

Logs
Launching lib/main.dart on iPhone 5s in debug mode...
Automatically signing iOS for device deployment using specified development team in Xcode project: AUM23297NA
Running Xcode build...
 ├─Assembling Flutter resources...                           1.2s
 └─Compiling, linking and signing...                         2.4s
Xcode build done.                                            4.9s
Installing and launching...                                        15.6s
flutter: The details stack trace IS null.
flutter: null
[VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: A RenderFlex overflowed by 19508 pixels on the bottom.
null

Flutter Analyze
Analyzing null_stack_trace...
No issues found! (ran in 2.0s)

Flutter Doctor
[✓] Flutter (Channel beta, v1.3.8, on Mac OS X 10.13.6 17G5019, locale en-US)
    • Flutter version 1.3.8 at /Users/KG/Developer/Flutter/flutter
    • Framework revision e5b1ed7a7f (3 weeks ago), 2019-03-06 14:23:37 -0800
    • Engine revision f4951df193
    • Dart version 2.2.1 (build 2.2.1-dev.0.0 571ea80e11)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/KG/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = /Users/KG/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.1, Build version 10B61
    • ios-deploy 1.9.4
    • CocoaPods version 1.5.3

[✓] Android Studio (version 3.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 33.3.1
    • Dart plugin version 182.5215
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)

[✓] IntelliJ IDEA Community Edition (version 2018.2.5)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 29.1.3
    • Dart plugin version 182.4892.25

FlutterErrorDetails does not always contain a stack.
In this case, the FlutterErrorDetails originated here:
https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/rendering/debug_overflow_indicator.dart#L236
This error did not arise from throwing an exception, so the code that populates FlutterErrorDetails can not fill it with the exception's stack trace.  One option would be for the framework to call StackTrace.current here.

Thanks @jason-simmons, I wasn't sure if Stacktrace.current was the proper solution, but glad to know it is.  I'll just use that if the stack is null.  Going to close the issue


Babel build error

Hi,
Thank you so much for your development for VueJS and app layer. It is a really amazing product you have here! However when following the exact instructions and using admin privileges and a combination of things I get the following error
Steps I followed:
NodeJS 6.10
sudo npm install -g weex-toolkit
weex create myApp
cd myApp && npm install
weex platform add ios android
sudo weex build ios

Error...
ERROR in ./temp?entry=true Module build failed: Error: Couldn't find preset "latest" relative to directory "/Users/lawrenceturton/Desktop"     at /Users/lawrenceturton/Desktop/myApp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:293:19     at Array.map (native)     at OptionManager.resolvePresets (/Users/lawrenceturton/Desktop/myApp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:275:20)     at OptionManager.mergePresets (/Users/lawrenceturton/Desktop/myApp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:264:10)     at OptionManager.mergeOptions (/Users/lawrenceturton/Desktop/myApp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:249:14)     at OptionManager.init (/Users/lawrenceturton/Desktop/myApp/node_modules/babel-core/lib/transformation/file/options/option-manager.js:368:12)     at File.initOptions (/Users/lawrenceturton/Desktop/myApp/node_modules/babel-core/lib/transformation/file/index.js:212:65)     at new File (/Users/lawrenceturton/Desktop/myApp/node_modules/babel-core/lib/transformation/file/index.js:135:24)     at Pipeline.transform (/Users/lawrenceturton/Desktop/myApp/node_modules/babel-core/lib/transformation/pipeline.js:46:16)     at transpile (/Users/lawrenceturton/Desktop/myApp/node_modules/babel-loader/lib/index.js:46:20)  @ multi (webpack)-dev-server/client?http://<IP_ADDRESS>:8080/web ./temp?entry=true
Kind regards, Lawrence

Sorry to reply to your question so late.
I found that this is some of the old version of the problem, in the latest version has been fixed, you can try to upgrade the following order your weex-toolkit:
npm i weex-toolkit -g

If there is a problem with permissions, we suggest you run sudo chmod 777 ~ or mkdir ~/.xtoolkit&chmod 777 .xtoolkit.
If there is an old version of the conflict during the installation process, you need to run command like this and make sure your npm is a newer version:
rm -rf ~/.xtoolkit
npm un weex-toolkit -g
npm i weex-toolkit -g
weex update weex-devtool

Best regards, Erha19


snapshot and CDC iterator

Description

Snapshot iterator is implemented
CDC iterator is implemented

Fixes # (issue)
#1
Quick checks:

[x] I have followed the Code Guidelines.
[x] There is no other pull request for the same update/change.
[x] I have written unit tests.
[x] I have made sure that the PR is of reasonable size and can be easily reviewed.

Hi @hariso golangci-lint are failing. In summary it says,

Hi @hariso golangci-lint are failing. In summary it says,  Cut method is added in Go 1.18. i think linter works on older version of Go. Do you have any idea?
if nothing works i'll add Cut method myself in Code.

Any comment on this @hariso

@rustiever Regarding the linter: we either disable that linter, or use Go 1.17.
Quick question: do we have it on the radar, to write the acceptance tests?

@rustiever Regarding the linter: we either disable that linter, or use Go 1.17.
Quick question: do we have it on the radar, to write the acceptance tests?

Yes working on that @hariso


Backport qgis update for qtwebkit security issues

Description of changes
Backport this pull request that turns off building with qtwebkit by default so qgis becomes available in 22.11 too.
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[X] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

@willcohen @sikmir I think this is good now as I changed it to target the release branch instead of the channel branch as it said 2 weeks ago. I have been using it reasonable often on my x86_64 machine since then without issue. Would one of you (as the two who approved the commit to master) be able to have a look at this? Thanks!

Result of nixpkgs-review pr 216086 run on x86_64-linux 1

2 packages built:

qgis
qgis-ltr

Thanks very much! Excited to have this package back. :+1:


Request: Deno support

adding node is possible
"features": {
	"ghcr.io/devcontainers/features/node:latest": {}
}

would be nice to have deno as well

While we do not maintain a "first-party" deno Feature, several members of the community have provided their own deno Features.  Please check out https://containers.dev/features (searching "deno")
Note that this repo is a template/starting point for self-authoring your own Dev Container Features.  That link provided above and https://github.com/devcontainers/features may have more of what you're looking for!


Mojave Support?

Hello,
I installed the Mojave beta and was so jazzed to finally be able to see bookmark favicons against a dark backdrop in Safari. Unfortunately Safari gave me the stiff arm when installing FaviconBar and said non Gallery extensions were no longer supported or something to that affect. Will this extension be updated going forward or is High Sierra the end of the line?

What exactly did it say?  Did you try to install from GitHub or the Apple extensions site?  Do you have a screenshot?
I upgraded to Mojave, and FaviconBar remained - but haven't tried installing clean.
Apple is pushing extensions to the App Store, but App Store extensions can't add toolbars so that would kill FaviconBar.  I'm hoping we can still keep it available via GitHub

Give me a sec. Let me boot to my external drive with Mojave and see what it say.

Here you go!

I couldn't find it in the new Extensions/App Store so I tried to install directly from the GitHub download.

Thanks, I'll dig into it and see what options we have.  It seems like at some point Apple will kill off old school extensions, but hopefully - not today

Yeah I moved back over to FireFox for my custom dark theme only to learn that they gutted their extension gallery with the Quantum update. So many great tweaks gone but many new developers are coming with replacements so it's not so bad. I'm sure Apple is even more of a pain in the rear end for Extension developers to be able to pass muster. Thanks again for providing this extension. Many happy months with Safari and FaviconBar. I was inspired to implemented round Favicons to my FireFox theme because of the feature you had in FaviconBar!

YOOOO! I found a workaround and have FaviconBar installed and looking as good as ever! Check this out!! https://georgegarside.com/blog/macos/install-any-safari-extension-macos-mojave/

One issue I'm having is I can't get the FaviconBar text white. Do you know the CSS code I can enter to make the text white?

Hello. Just checking in to see if you'll be updating this plug-in for Mojave. I'm on High Sierra and I noticed that the text becomes hard to read when scrolling with transparency enabled. (reduce transparency unchecked) Is there a CSS command that would disable the white drop shadow and also make the text thicker like the Favorites bar above in the attached image?


The example StarWars cannot be built

I am trying to build the sample StarWars in VS2019 , I have the errors:
2>D:\MyProjects\NET\GraphQL2\join-monster-dotnet-master\samples\StarWars\Program.cs(30,35,30,54): error CS7036: There is no argument given that corresponds to the required formal parameter 'hydrator' of 'JoinMonsterExecuter.JoinMonsterExecuter(QueryToSqlConverter, ISqlCompiler, IBatchPlanner, Hydrator)'
2>D:\MyProjects\NET\GraphQL2\join-monster-dotnet-master\samples\StarWars\Program.cs(70,25,70,41): error CS1061: 'ExecutionOptions' does not contain a definition for 'ExposeExceptions' and no accessible extension method 'ExposeExceptions' accepting a first argument of type 'ExecutionOptions' could be found (are you missing a using directive or an assembly reference?)
2>D:\MyProjects\NET\GraphQL2\join-monster-dotnet-master\samples\StarWars\StarWarsQuery.cs(19,29,19,41): error CS7036: There is no argument given that corresponds to the required formal parameter 'cancellationToken' of 'JoinMonsterExecuter.ExecuteAsync(IResolveFieldContext, DatabaseCallDelegate, CancellationToken)'
2>D:\MyProjects\NET\GraphQL2\join-monster-dotnet-master\samples\StarWars\StarWarsQuery.cs(49,13,53,81): error CS1929: 'FieldType' does not contain a definition for 'SqlOrder' and the best extension method overload 'FieldConfigExtensions.SqlOrder(FieldConfig, OrderByDelegate)' requires a receiver of type 'FieldConfig'

How can I fix it? Can you build it in VS2019?

Hi @Oleg26Dev
Sorry for the delay, I've updated the StarWars sample to reflect the latest code, so you should be able to build it now


StandaloneExecutables: do executable scripts with embedded bytecode count?

Hello,
STklos produces executable files that contain bytecode:
$ cat > hello.stk
(display "hello")
(newline)

$ stklos-compile hello.stk -o hello
$ ./hello
hello

$ cat hello
#!/usr/bin/env stklos-script
; A -*- Scheme -*- generated file *DO NOT EDIT**
STklos (#:version "1.60" #:globals () #:expanders ())
#("hello" display newline)
11
%UV%V/

(The "%UV%V/" part is the actual bytecode)
Does this cound as a standalone executable? (STklos is not listed in StandaloneExecutables.md).

Thanks for letting us know! IMHO STklos' approach should be mentioned in the survey. Looks like stklos-compile outputs ASCII bytecode.


refactor(sdk): add server features protobuf and backend graphql query

Description
What does the PR do? Include a concise description of the PR contents.
This PR adds the protobuf definitions for the request/response for server features. Which will be used in later PRs to get details of the capabilities of the backend server.

[x] I updated CHANGELOG.unreleased.md, or it's not applicable

Testing
How was this PR tested?

I haven't looked at the implementation PRs yet, but based on the structure of the protos, I don't quite understand the design.
I figure the client is meant to ask about the status of specific features. If the request includes a non-repeated feature field, why does the response include a repeated field?
Also, have you considered using an empty request message sent once on startup, with the response including the full set of enabled features?

I reviewed the implementation PR now! I don't see why the response returns a string name when the enum is available (the code calls String() on the enum to get the name; why not use the enum itself?)
I see that we do only make a GraphQL request once on startup, and that these messages just result in querying a map. However, I still think it may be more ergonomic for clients to get all enabled features with one request: then you can get rid of the enabled flag in the response and simply return the set of enabled feature IDs, instead of requiring the client to loop through the result and compare names.
# Right now, usage might look like this:
def is_X_enabled(self):
    response = self._query_feature("X")

    # These checks are required! That means there's a relationship
    # between the request and the response that's not encoded in
    # the types.
    assert len(response.feature) == 1
    assert response.feature[0].name == "X"

    return response.feature[0].enabled

# Instead, it could look like this:
def is_X_enabled(self):
    return "X" in self._enabled_features

def _load_features(self):
    response = self._query_server_features()
    self._enabled_features = set(response.feature)


Improve handling of exit codes from bash command execution

We run bash commands in a few different places, e.g. to execute git commands or to execute the build commands for a provider.
Currently I don't think handle the exit codes of those commands. We should verify first if this is the case
Hence, when the build command of a provider fails, we can see this in the build log, but the exit code is not handled.
This is important to have blackbox test which fail when an internal bash command fails.

Handling of exit codes whenever a bash command is executed was introduced with https://github.com/kreuzwerker/m1-terraform-provider-helper/commit/bf729f8cfcbd9fd3ff3377cdf6e3a3337c760536
Whenever a bash command exits with not 0, an error is thrown.


[ci skip] adding user @xylar

Hi! This is the friendly automated conda-forge-webservice.
I've added user @xylar as instructed in #18.
Merge this PR to add the user. Please do not rerender this PR or change it in any way. It has [ci skip] in the commit message to avoid pushing a new build and so the build configuration in the feedstock should not be changed.
Please contact conda-forge/core to have this PR merged, if the maintainer is unresponsive.
Fixes #18

@parthea, I'm sorry.  I really thought the last one was the last one but it looks like there's at least one more where I need to build an old package.  https://github.com/conda-forge/apache-airflow-providers-google-feedstock/pull/15 is proving to be a giant pain!


[Feature Request] Add 'isDisabled' prop for Tooltip component

Is your feature request related to a problem? Please describe.
I've been working with the Text component and I was thinking to show a tooltip on those texts that are truncated.
I think it would be great to enable conditional rendering for the Tooltip component. this feature will prevent code duplication and makes using the Tooltip component more friendly
for example, there is this feature in the Tooltip component Developed by Chakra-ui team.
check this link:
disabling tooltip
Describe the solution you'd like

add a boolean isDisabled prop to the Tooltip component
when isDisabled is true when hovering over children component Tooltip will not pop

Describe alternatives you've considered
This will be solved by using conditional rendering but causes code duplications and maybe some performance issues
Screenshots or Videos
No response

Trying to use visible to make Tooltip controllable?

@wangly19 not gonna work. If visible prop is set to true, then the tooltip will be open by default. and that's not the behavior I am looking for.
By the way thanks for your suggestion.

I tried using the css display property to solve your problem.
Did I provide an example that met your expectations?
https://react-ts-uyiz8e.stackblitz.io/

Thanks for the example, it is precisely what I meant by creating this issue; But the thing is if you are disabling the Tooltip by overriding CSS, there will still be some code executions backstage. I mean the code already running will just have a CSS display: none property added to it.
I hope I've explained this well.

@wangly19 yes that's the feature I'm talking about. Thanks for your comment


Activating a marker with the empty access list

Surfaced from @informalsystems audit of the release v1.7.0
Involved artifacts

https://github.com/provenance-io/provenance/blob/release/v1.7.0/x/marker/keeper/marker.go

Description
It is possible to add and activate a new marker without granting access to any
user and with governance control disabled.  As the original marker manager is
reset after marker activation, no one has rights to modify the marker. This
works even if enable_governance is set to false in the genesis.
Scenario to reproduce
Using the docker setup from https://github.com/provenance-io/provenance/tree/main/networks/dev
provenanced tx marker new 1coldcatcoin --type=COIN --allowGovernanceControl=false --supplyFixed=true --chain-id=chain-dev --from=tp1uncq4lmkffy2crtxpuw755946c5wray2uw42qx --yes -b block
provenanced tx marker finalize coldcatcoin --chain-id=chain-dev --from=tp1uncq4lmkffy2crtxpuw755946c5wray2uw42qx --yes -b block
provenanced tx marker activate coldcatcoin --chain-id=chain-dev --from=tp1uncq4lmkffy2crtxpuw755946c5wray2uw42qx --yes -b block

No user has right to control (e.g., delete) the marker:
provenanced query marker list
...
- '@type': /provenance.marker.v1.MarkerAccount
  access_control: []
  allow_governance_control: false
  base_account:
    account_number: "11"
    address: tp1nmp84qx8phlx7zrmgwk9xj3zd9aq67wctf3qff
    pub_key: null
    sequence: "0"
  denom: coldcatcoin
  manager: ""
  marker_type: MARKER_TYPE_COIN
  status: MARKER_STATUS_ACTIVE
  supply: "1"
  supply_fixed: true

Recommendation
Test access control upon marker activation.
For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

This is by design.

Markers can be fully locked with no permissions for further control/modification. This is intended behavior.

I see. Just for documentation, when we finalize a marker having no coins and no permissions, the transaction panics instead of producing an error:
./client.sh tx marker new 0coldcatcoin --type=COIN --allowGovernanceControl=false --supplyFixed=true --chain-id=chain-dev --from=tp1uncq4lmkffy2crtxpuw755946c5wray2uw42qx --yes -b block
./client.sh tx marker finalize coldcatcoin --chain-id=chain-dev --from=tp1uncq4lmkffy2crtxpuw755946c5wray2uw42qx --yes -b block

produces:
cannot create a marker with zero total supply and no authorization for minting more\nstack:\ngoroutine
  136 [running]:\nruntime/debug.Stack()\n\truntime/debug/stack.go:24 +0x65\ngithub.com/cosmos/cosmos-sdk/baseapp.newDefaultRecoveryMiddleware.func1({0x1b7d0c0,
  0xc002b7a390})\n\tgithub.com/cosmos/cosmos-sdk@v0.44.0/baseapp/recovery.go:71 +0x27\ngithub.com/cosmos/cosmos-sdk/baseapp.newRecoveryMiddleware.func1({0x1b7d0c0,
  0xc002b7a390})\n\tgithub.com/cosmos/cosmos-sdk@v0.44.0/baseapp/recovery.go:39 +0x30\ngithub.com/cosmos/cosmos-sdk/baseapp.processRecovery({0x1b7d0c0,
  0xc002b7a390}, 0xc002b298c0)\n\tgithub.com/cosmos/cosmos-sdk@v0.44.0/baseapp/recovery.go:28
  +0x37\ngithub.com/cosmos/cosmos-sdk/baseapp.processRecovery({0x1b7d0c0, 0xc002b7a390},
  0x2422d60)\n\tgithub.com/cosmos/cosmos-sdk@v0.44.0/baseapp/recovery.go:33 +0x5e\ngithub.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).runTx.func1()\n\tgithub.com/cosmos/cosmos-sdk@v0.44.0/baseapp/baseapp.go:598
  +0xfd\npanic({0x1b7d0c0, 0xc002b7a390})\n\truntime/panic.go:1038
...

We have added #491 to review that flow (its in several places) to ensure that we are validating/returns errors instead of relying on the last ditch SetMarker protection that panics


2.4.2 breaks my Foxx app

making a request against my controller against returns a 500 with the following trace:
INFO { "error" : "undefined is not a function", "stack" : "TypeError: undefined is not a function
  at routingInfo.middleware.push.action.callback (/usr/local/Cellar/arangodb/2.4.2/share/arangodb/js/server/modules/org/arangodb/foxx/controller.js:380:13)
  at Function.<anonymous> (/usr/local/Cellar/arangodb/2.4.2/share/arangodb/js/server/modules/org/arangodb/foxx/manager.js:775:13)
  at execute (/usr/local/Cellar/arangodb/2.4.2/share/arangodb/js/server/modules/org/arangodb/actions.js:977:7)
  at next (/usr/local/Cellar/arangodb/2.4.2/share/arangodb/js/server/modules/org/arangodb/actions.js:994:7)
  at [object Object]:386:5
  at execute (/usr/local/Cellar/arangodb/2.4.2/share/arangodb/js/server/modules/org/arangodb/actions.js:977:7)
  at Object.routeRequest (/usr/local/Cellar/arangodb/2.4.2/share/arangodb/js/server/modules/org/arangodb/actions.js:998:3)
  at Function.actions.defineHttp.callback (/usr/local/Cellar/arangodb/2.4.2/share/arangodb/js/actions/api-system.js:55:15)
" }

When I switch back to 2.4.1, my app works again.
Even if I reduce my app to a bare minimum of code, it still breaks with 2.4.2.

Is fixed in the current 2.4 branch. We will release 2.4.3 shortly.

Hi Christian, thanks for reporting.
This issue has already been reported to us in person and is already fixed.
We will build a 2.4.3 version containing the fix.

Thanks guys :)


crash when appending Json array directly

It seemed that when appending dict in Json array to ListModel, proxymodel crashes.
It would be great if someone can reproduce this.
I am running on windows 10, using QT 5.9.2
The testing code snippet is attached below.
if I split array and attach entry separately, everything works fine.
ListModel {
    id: test

//        ListElement {
//            first_name: "Erwan"
//            last_name: "Castex"
//            count: 100
//            sum: 99.99
//            ssn: "xxxxxxx"
//        }
// ...
Component.onCompleted: {
//            test.clear()
//            test.append({first_name:"jun", last_name:"yan", count:100, sum: 888, ssn:"xxx"})
}
}
SortFilterProxyModel{
id: _proxy_model
sourceModel: _model
sorters: StringSorter{ roleName: "first_name"}
}
Timer{
    interval: 2000
    running: true
    repeat: true
    property int rand: 1
    onTriggered: {
        test.clear()

//            test.append([
//                            {first_name:"jun" +  (++rand).toString(), last_name:"yan", count:100, sum: 888, ssn:"xxx"},
//                            {first_name:"jis" +  (++rand).toString(), last_name:"yan", count:100, sum: 888, ssn:"xxx"}
//                        ])
        test.append(
                        {first_name:"jun" +  (++rand).toString(), last_name:"yan", count:100, sum: 888, ssn:"xxx"}
                    )

        test.append(
                        {first_name:"jin" +  (++rand).toString(), last_name:"yan", count:100, sum: 888, ssn:"xxx"}
                    )
    }

I can confirm that there is a crash if tou are trying to append smth to the source model. Could be reproduced with Qt 5.8, Qt 5.9 and Qt 5.10. This issue is somehow related to QSortFilterProxyModel::invalidate(); If you try to call QMetaObject::invokeMethon(this, "invalidate" Qt::QueuedConnection) the crash is fixed but there is a problem with duplicated entries inside ListView.
Here is a code snippet I'm playing with :
ListModel {
id : contactListModel
}
SortFilterProxyModel {
id: contactListModelProxy
// workaround!!!       sourceModel: null
sourceModel: contactListModel
filterRoleName: "name"
filterPattern: contactList.sortPattern
filterCaseSensitivity: Qt.CaseInsensitive
sortRoleName: "name"
}
Component.onCompleted: {
var contactsFromSettings = appProxy.getContacts();
for ( var idx = 0; idx < contactsFromSettings.length; idx++ ) {
var contact = contactsFromSettings[idx];
     contactListModel.append( { "name" : String(contact["name"]),
                                "avatar" : String(contact["avatar"])
                              }
                             );
  }
  // workaround !!!
  //contactListModelProxy.sourceModel = contactListModel;
  contactListView.currentIndex = -1;

}

Yes, I reproduced the bug yesterday when appending 2 rows at once and with a sorter enabled.
I fixed the crash but it leads to another bug where the data is not correctly sorted if you don't append after. I'm still figuring out the best fix.
The problem comes from the fact that ListModel doesn't have any role at start, and doesn't emit a signal to tell it got new roles.
(btw: note that using filter/sortRoleName and friends is deprected. It's still supported though but you might want to switch to filters and sorters)


Improve output directory structure

Improve output directory structure
Currently:

atm/

180x360_aave/

clim/

100yr/
250yr/
50yr/

clim_atm_monthly_diurnal_8xdaily_180x360_aave/

100yr/
250yr/
50yr/

ts/

daily/
monthly/

glb/

ts/

monthly/

The problem is that the sub-directory name clim_atm_monthly_diurnal_8xdaily_180x360_aave duplicates unnecessary information (atm, 180x360_aave).
One possible alternative would be

atm/

180x360_aave/

clim/

monthly/

100yr/
250yr/
50yr/

monthly_diurnal_8xdaily/

100yr/
250yr/
50yr/

ts/

daily/
monthly/

glb/

ts/

monthly/

But strictly speaking, the files under clim/monthly are not all monthly since ncclimo also generates seasonal and annual files. But maybe that's ok.

For TC tracking files, we could have a directory the atm/tc.
Also need a atm/arm-sites (optional) directory for high-frequency ARM-site output (but the name list variables are not available as default)
For cmorized files, it could be atm/180x360_aave/ts_cmip with sub directories /6hrly /daily /monthly. Same for other component lnd, ocean, sea-ice... Because regular CMORizing process re-org files in a CMIP specific directory system, we could have a separate system for CMORized files, which is another possibility

@golaz @chengzhuzhang I'm thinking the second alternative might be best. If you both agree with that, I can start changing the directory structure.
Second alternative

atm/

180x360_aave/

clim/

100yr/
250yr/
50yr/

clim_diurnal_8xdaily/

100yr/
250yr/
50yr/

ts/

daily/
monthly/

glb/

ts/

monthly/

tc/

@forsyth2 : I like this second alternative as well.
Let's use the frequency parameter to determine the destination directory. This will decouple the sub-section name from the directory structure and thus should be more robust.


change colours for Dark Mode

how can I completely redraw the switch to update the _disabledBorderColor?
I tried overriding, and updating the _disabledBorderColor in:
- (void) setNeedsDisplay:(BOOL)needsDisplay
and while, the method is called when Dark Mode is enabled/disabled - the _disabledBorderColor in the switch does not change

This project doesn't support dark mode. I don't develop for MacOS anymore. I will accept PRs though.

its seems to not work with the color I have chosen: disabledControlTextColor. controlAccentColor works just fine like this:
- (void) setNeedsDisplay:(BOOL)needsDisplay
{
    [super setNeedsDisplay:needsDisplay];
    [self setUpLayers];
}

There is no property called disabledControlTextColor. Not every color in this project is configurable. Sorry, you're on your own.

ah, thats an NSColor.
I managed to get it working how I like using this fork:
https://github.com/Tibbs/ITSwitch
and adding this for immediate updating when Dark Mode is activated/deactivated:
- (void) setNeedsDisplay:(BOOL)needsDisplay
{
    [super setNeedsDisplay:needsDisplay];
    [self setUpLayers];
}

Late to the discussion, but I believe that the right approach here would be to override -viewDidChangeEffectiveAppearance and call -reloadLayer from there because at this point the new appearance is said to be applied to the view so all of the .cgColor calls in -reloadLayer will now pick up the correct colors:
- (void)viewDidChangeEffectiveAppearance {
    [super viewDidChangeEffectiveAppearance];
    [self reloadLayer];
}

Source: "Advanced Dark Mode" from WWDC 2018


fix: Remove selectTextOnFocus from My Collection search bar

The type of this PR is: Bugfix

Description
Remove selectTextOnFocus from My Collection search bar. Automatically selecting the text is not necessary and in combination with hiding the header on focus it creates weird UI effects.
PR Checklist (tick all before merging)

[ ] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have tested my changes on iOS and Android.
[x] I have added tests/stories for my changes, or my changes don't require testing/stories, or I have included a link to a separate Jira ticket covering the tests.
[x] I have added a feature flag, or my changes don't require a feature flag. (How do I add one?)
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[ ] I have added an app state migration, or my changes do not require one. (What are migrations?)
[ ] I have added a changelog entry below or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

Warnings

:warning:

❌ An error occurred while validating your changelog, please make sure you provided a valid changelog.

  Generated by :no_entry_sign: dangerJS against 38d992cf9c68e670c53f1df145b0c53f5800ce00

#squashongreen


Deprecate prettify?

For formatting purposes there is prettify and fix-js. It appears they step on each other's toes.  If I run fix-js there are no changes to the current files, but prettify appears to adjust a lot of the files.
Thoughts?

Looking at this more. It isn't really the best to deprecate it but probably integrate it more into the workflow or the coding standard.
Running prettify modifies a healthy amount of files, but adding some minor config can reduce that a little. Working on PR now.


Fix webgl errors when rendering over 64k billboards

Fixes https://github.com/AnalyticalGraphicsInc/cesium/issues/8315
Two separate bugs:

When instancing is enabled - VertexArrayFacade breaks up vertex arrays where the number of vertices is greater than the ushort limit of 65536. This breaking up step shouldn't happen when doing instancing.
When instancing is disabled - https://github.com/AnalyticalGraphicsInc/cesium/commit/9100963f00481df05bc5c68431e7154cb941c3dd broke non-instanced billboard rendering because the vertex array was no longer aligned to every 4 vertices.

Cesium should now be able to render large amounts of billboards without WebGL errors or artifacts whether the browser supports ANGLE_instanced_arrays or not.

Thanks for the pull request @lilleyse!

:heavy_check_mark: Signed CLA found.
:grey_question: Unit tests were not updated.

Make sure you've updated tests to reflect your changes, added tests for any new code, and ran the code coverage tool.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.
[ ] Works (or fails gracefully) in IE11.

Awesome, I wonder if there are any other random invalid GL type errors we've seen on Linux that will now go away.

Can confirm the referenced bug is fixed and things are working fine in both Linux and older browsers like IE11.


Single server and multiple clients

Hey guys,
I've been recently playing around with the ESP32 's BLE feature. So, as a part of it, I wanted to try out server-client configuration. Basically I will be having one server ESP32 server which connects to a client esp32 and my mobile too. When I send a string from mobile, it should reach the client esp32 through the server. here is a small picture of what I've been talking about. I hope this must be possible with ESP32's BLE peripheral.

Sure, it is possible.

Thanks, Can I have any example codes which I can develop on?

Any suggestions @chegewara

Use BLE client and BLE server as starting point and try to merge them.


phonetisaurus_apply was renamed

phonetisaurus_apply, that is used in clarin_prepare_dict.sh, was renamed into phonetisaurus-apply on 29.08.2017
https://github.com/AdolfVonKleist/Phonetisaurus/commit/46bb7b7d8a8c57fedaefe2ea18f1d4c79cc24890

 phonetisaurus_apply was renamed


Fix typo

Codecov Report

Merging #1385 into develop will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           develop     #1385   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           36        36
  Lines         2483      2483
=========================================
  Hits          2483      2483

Thank you for finding and fixing this!
~Timothy

Thank you for your efforts!
-Abdullah


Add GroupBy method

https://docs.microsoft.com/en-us/dotnet/api/system.linq.enumerable.groupby?view=netcore-2.1

This one looks fun too, imma take it.

why would you lie to me


Can't unfollow atproto user from AP

I accidentally followed a user with https://tomkahe.com/@ohgo (https://bsky.app/profile/mattsledge.xyz) I immediately unfollowed (which I think resulted in #1361). I've tried re-following, waiting 45 minutes and unfollowing and it still seems to show it's following that account on Bluesky https://bsky.app/profile/ohgo.tomkahe.com

I managed to follow a unbridged profile and am also unable to unfollow it

In my case it's definitely a bridged profile https://fed.brid.gy/bsky/mattsledge.xyz, but it does say the profile is only visible to logged in users

It definitely looks like #1361 to me, so @snarfed should hopefully be able to fix this manually since the record should still be on, well, record within Bridgy Fed's PDS.
To an extent, this is probably a design flaw in Bluesky though (which may also exist in some ActivityPub implementations, since the ActivityPub Primer currently has the same issue here: https://www.w3.org/wiki/index.php?title=ActivityPub/Primer/Follow_activity&oldid=116221#Multiple_Follow_activities).
To recover automatically from lossy transmission, the stored ID of unique relations must be the most recent one that would have created it, not the oldest or all ID(s). That way, it's always possible to create a state where the next delete/Undo properly removes the relationship, even if the sender loses all data aside from authorisation and the target object ID.

I managed to follow a unbridged profile and am also unable to unfollow it

That sounds like a separate problem. I assume you followed while the profile was bridged and then it was unbridged?
Bridgy Fed should break cross-network relations towards an account that becomes unbridged for some reason, since their author becomes unable to do so manually.


bug: FormBuilder and ion-select : item is not selected

Type: bug
Ionic Version: 2.x
Platform: all
In the below example 'Banana' option is NOT selected.
It was working perfectly with Ionic 3.0.1
form: FormGroup;
constructor(fb: FormBuilder) {
this.form = fb.group({
fruit: ["banana"],
});
}

apple
banana
cherimoya

All my packages are updated as mentioned here : https://github.com/driftyco/ionic/releases/tag/v3.1.0

Hello! While we appreciate you opening an issue with us i am going to close this issue and ask that you open a new one that has the issue template filled out please. Thanks for using Ionic!

Hello there @MisterEffix , I'm having the same problem. have you found any fix?

Yes it's solved in the last ionic version


model file problem in Multitask-CNN-RNN

In multitask-CNN-RNN training step, a resnet50_GRU model is needed. However in models directory, there is only resnet50 model. Could you help to fix the problem?

I uploaded the correct resnet50.py to Multitask-CNN-RNN/models/. Please take a look.

Thank you so much.


Firmware freeze in charge mode

We have an issue that sometimes the EVSE is frozen in charge mode even if the car has stoped the session and is disconnected.
The reset button is not working and we have to power cycle all EVSE's in the master / slave setup in the correct order to be able to charge again.
We never had this issue with V2.2 but with the V3.

I have seen this happen a few times, where the contactor would introduce a EMP spike, somehow freezing the CPU on the controller.
I would suggest to try a different contactor. The ISKRA types i sell don't have this issue.

Closing topic because of inactivity.


docs: [vision-on-sample-app][11/n] PostInitialization - CIO Intro

Stack from ghstack (oldest at bottom):

#617
-> #613
#612
#611
#610
#609
#608
#606
#605
#604

Context
This is a PR in a series of PRs to build sample app that runs Identify and Track in VisionPro
The app is built to be an interactive walk through guidance for developers who are integrating Customer.io Swift SDK in their VisioPro apps.
For more context:

See the project one pager
See Linear Issue

PR Summary
This PR introduces a readonly screen to introduce the developer to CIO as a paltform, what different termenologies used in CIO and the SDK means and how they can be used in a very high level. the usage of the SDK
Test plan
Make sure the different links in the page navigate to the correct (not yet built) screen or open safari for external URLs

Apologies for that, gh-stack pushes seems to cause too much noise due to the fact that it pushes the entire stack for every push. These changes will carry on #626


Research and review current microtransaction/micropayment service providers

Investigate the top 5 (by client list/market cap/etc) current providers of online microtransactions or micropayments and put together a summary of each for evaluation.

While certainly not an exhaustive search or analysis, a few hours of exploring yields this list of common micropayment use-cases and providers:
https://docs.google.com/spreadsheets/d/1HwHK7LzMVU7h64uVfnb_2-hZ3ni3zcx7TxDaFfInZoY/edit?usp=sharing
No huge surprises as far as I've found. Maybe the biggest one is that there has been so little uptake of blockchain for non-industrial microtransactions


Support single objects for meta prop

While passing meta values to <Helmet>, the provided API is an array of objects:
<Helmet
  meta={[
    { name: "description", content: "Helmet application" },
    { property: "og:type", content: "article" },
  ]}
/>

A co-worker recently tried passing a single object instead:
<Helmet
  meta={{ name: "description", content: "Helmet application" }}
/>

The consequences of this were rather severe; because we render on the server, React Helmet's exception crashed a server crash. A careless deploy meant we spent quite a long time trying to figure out why our server kept going down.
Please understand that we accept responsibility for this, it was totally our fault for misunderstanding the documentation :)
That said, it could be helpful to prevent similar mistakes by other users to support the 'single object' syntax, for when only a single meta property needs to be set.
Would be happy to look into this and open a PR, if it's deemed a worthwhile inclusion!
Thanks.

The propType is defined as an array of objects: https://github.com/nfl/react-helmet/blob/master/src/Helmet.js#L405 which will throw a warning in the JS console - but may require something like FlowType or TypeScript to catch earlier

So, at least when rendering on the server, the code doesn't make it to proptype checking. it throws the following exception while rendering:
TypeError: instanceTags.filter is not a function
   at /node_modules/react-helmet/lib/Helmet.js:122:22
   at Array.reduce (native)
   at getTagsFromPropsList (/node_modules/react-helmet/lib/Helmet.js:119:18)
   ...

That said, my point wasn't really to debate how the error should be handled. I was proposing extending the API to support either an array of objects, or a single object.
But yeah, at the very least, I think there should be a try/catch used so that the entire app doesn't crash when an invalid prop is passed in.

Open to discussion about changing meta shape to Array | Object, but I'd vote 👎 on overloading the meta propType because we want a strict/well-defined API.
I know it's not your point, but, if we changed the shape of meta to Object | Array and you passed it a String... your app would still halt.
If you pass any invalid prop to any of the server-side components in your app, how does your app handle the error? Does it always cause the server to halt? Are the errors difficult to debug? I'm not sure it makes sense for Helmet to try/catch or validate this one meta prop over any other prop since it doesn't fix the halting problem.

Yeah, fair enough. I see benefits to a strict API, as well as a forgiving one, and if you guys are going towards fixed, then that makes sense to me :)
So, the issue is that my server doesn't handle the exception, since it's a JS error within React Helmet.
I agree, after some thought, that a try/catch is far too general for this, but maybe there can be some on-update check to make sure none of the props passed in will cause a serious malfunction in the app? If it discovers that instanceTags is not an array, it can throw a console.error and give up rendering that instance, instead of calling .filter and having the language freak out.
The error in our case was extremely hard to debug, but mainly because we weren't looking in the right place. It was used on a side page, and it was crashing, but we were trying to figure out why the main page was going unresponsive, while the server restarted.
Had we been a little wiser, we would have discovered the source of the error more quickly, but it's still pretty far from intuitive. It's a pretty big leap from instanceTags.filter is not a function to "Oh, I need to wrap my meta object in an array".
Ultimately it's you and your team's call :) I think some pain could be saved by making it easier to spot this error, but it's not a bug in your code, it's a bug in us humans haha.

It's a valid point, we should explore throwing a more descriptive error when users provide invalid values.
I believe we're planning on adding and exporting Flow types to Helmet, which will also surface those errors to developers who use Flow types.

It will be interesting watching this issue more. The React dev team has already put the writing on the wall that PropType checking will cease to exist going forward.  They are already telling people that Flow and TypeScript could be an alternative for some.
With PropType checking being removed (Maybe in version 16.x), some of this will now fall back on React-Helmet will it not?

Thanks @potench!  #233 is awesome.
@jeffboyus I believe that they've since walked back the statement about ditching PropTypes. Unless there's news that they've committed to removing them, I wouldn't speculate.


app: WASM running out of geometry memory

After multiple iterations of scene switching, these errors appear and break the scenes. Also after multiple switching, the app goes blank and doesn't loads.
Steps to reproduce:
-Switch all the available scenes in first iteration
-It will break probably at start of 2nd iteration of switching scenes

https://github.com/webaverse/app/issues/2735
related


Update dns-records-for-office-365-gcc-high.md

Added MS teams to the Document
Fixes https://github.com/MicrosoftDocs/microsoft-365-docs/issues/12727

@JohanFreelancer9 Please copy review

@dzazzo-msft Please merge this PR. Thanks

@dzazzo-msft Gentle reminder.


Revert "add more adsenses"

Reverts falgon/roki-web#265

I thought it was necessary to put it on the page where I wrote the ad unit, so I tried to revert once, but it was not necessary, so close


Add possibility to configure corporate proxy to reach ChaosHub

Hello,
When we use Litmus Chaos in a private Kubernetes cluster where a HTTP PROXY is required to reach the internet, it is not possible to reach the Chaos Hub (from Litmus portal) when the URL is on internet (typically github).
Using an internal private Chaos Hub is a possible workaround, but I would like to evaluate the possible support for corporate proxy.
Suggestions to support HTTPS PROXY:

Either as part of the Chaos Hub configuration in Litmus portal
Or more simply with a dedicate ENV variable to be set on graphql-server container

Hi, @cazeaux, thanks for the suggestion, we will consider this for a future release. Meanwhile, if possible, would you like to try fixing this?

is this solved? I cannot get to ChaosHub from a portal behind corporate proxy


Allow ChangeNotifiers to be CustomPainters

Fixes https://github.com/flutter/flutter/issues/7648

That's clever.


Adjust readme

What
Update README
Why
to align with conventions and previous work.

I don't have auth to merge, do the honours @maxgds?


[extractor/common] add update_url_params helper method to add or update query string params

it a common task to create or update query string params, it will be simpler to use this helper method.

This should better go to utils.
Should be renamed to update_url_query or so since params in terms of ParseResult is different part of URI (<scheme>://<netloc>/<path>;<params>?<query>#<fragment>).
Test should be added.

the tests didn't work the order of the query params is not know in advance.

I did not mention the order of query params.

the tests fail because the order change:
self.assertEqual(update_url_query('http://example.com/path', {'quality': ['HD'], 'format': ['mp4']}), 'http://example.com/path?quality=HD&format=mp4')

i run the test twise it works the first time the second fail.
[amine@amine test]$ python test_utils.py TestUtil.test_update_url_query
.
----------------------------------------------------------------------
Ran 1 test in 0.008s

OK
[amine@amine test]$ python test_utils.py TestUtil.test_update_url_query
F
======================================================================
FAIL: test_update_url_query (__main__.TestUtil)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_utils.py", line 462, in test_update_url_query
    self.assertEqual(update_url_query('http://example.com/path', {'quality': ['HD'], 'format': ['mp4']}), 'http://example.com/path?quality=HD&format=mp4')
AssertionError: 'http://example.com/path?format=mp4&quality=HD' != 'http://example.com/path?quality=HD&format=mp4'
- http://example.com/path?format=mp4&quality=HD
?                                   -----------
+ http://example.com/path?quality=HD&format=mp4
?                         +++++++++++

----------------------------------------------------------------------
Ran 1 test in 0.012s

FAILED (failures=1)

the tests fail because the order change:
self.assertEqual(update_url_query('http://example.com/path', {'quality': ['HD'], 'format': ['mp4']}), 'http://example.com/path?quality=HD&format=mp4')

i run the test twise it works the first time the second fail.
[amine@amine test]$ python test_utils.py TestUtil.test_update_url_query
.
----------------------------------------------------------------------
Ran 1 test in 0.008s

OK
[amine@amine test]$ python test_utils.py TestUtil.test_update_url_query
F
======================================================================
FAIL: test_update_url_query (__main__.TestUtil)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_utils.py", line 462, in test_update_url_query
    self.assertEqual(update_url_query('http://example.com/path', {'quality': ['HD'], 'format': ['mp4']}), 'http://example.com/path?quality=HD&format=mp4')
AssertionError: 'http://example.com/path?format=mp4&quality=HD' != 'http://example.com/path?quality=HD&format=mp4'
- http://example.com/path?format=mp4&quality=HD
?                                   -----------
+ http://example.com/path?quality=HD&format=mp4
?                         +++++++++++

----------------------------------------------------------------------
Ran 1 test in 0.012s

FAILED (failures=1)

They should not be tested this way.

it's the first time i work on unit tests.
so i don't know how to fix this.

Compare parsed URLs or query dicts.

Comparing parsed URLs didn't work but it works with query dicts.
i added two tests one for updating and one for creating query, is this enough.
    def test_update_url_query(self):
        def query_dict(url):
            return compat_parse_qs(compat_urlparse.urlparse(url).query)
        self.assertEqual(query_dict(update_url_query('http://example.com/path?id=ref%3ABC2996102916001&refurl=http%3A%2F%2Fwww.example.com%2Fen%2Fvideos%2F1331655630249&key=AQ%7E%7E%2CAAAApYJ7UqE%7E%2Cxqr_zXk0I-zzNndy8NlHogrCb5QdyZRf&id=1398061561001#__youtubedl_smuggle=%7B%22Referer%22%3A+%22http%3A%2F%2Fwww.example.com%2Fen%2Fvideos%2F1331655630249%22%7D', {'id': ['6102916001'], 'key': []})), query_dict('http://example.com/path?id=6102916001&refurl=http%3A%2F%2Fwww.example.com%2Fen%2Fvideos%2F1331655630249#__youtubedl_smuggle=%7B%22Referer%22%3A+%22http%3A%2F%2Fwww.example.com%2Fen%2Fvideos%2F1331655630249%22%7D'))
        self.assertEqual(query_dict(update_url_query('http://example.com/path', {'quality': ['HD'], 'format': ['mp4']})), query_dict('http://example.com/path?quality=HD&format=mp4'))

At least following should be tested: type other than string, several values in list under the key, non list under the key.

This should better go to utils.
Should be renamed to update_url_query or so since params in terms of ParseResult is different part of URI (<scheme>://<netloc>/<path>;<params>?<query>#<fragment>).
Test should be added.

At least following should be tested: type other than string, several values in list under the key, non list under the key.

done.

LGTM.
Some non-ASCII and integers, floats would also be useful.
Also options not to overwrite existing keys/merge values under the keys may be useful.

Some non-ASCII and integers, floats would also be useful.
i will check them now.

Also options not to overwrite existing keys/merge values under the keys may be useful as further improvement.

i don't know if this can be useful, it's better to add if it's needed.

i added tests for int, float, and non ASCII strings.


refactor(build-result-archive): Change result packaging to tar

Closes #100

Also please develop on this repo directly, no need for forking

Continued in #130


More Colorful Cli

Question0: Do we need to/How to ser/deserialize Styles?
Question1: How does the user to modify the RenderOptions

Do we need to/How to ser/deserialize Styles?

I don't believe so.

How does the user to modify the RenderOptions

C:\Users\ice10\git-repos\aya-dev [luna ≡]> aya -i
Aya 0.23-SNAPSHOT (499bf9bb7fd2fa3546d3a9d0f69763967c810944)
> :print-toggle
Current pretty printing options:
InlineMetas: true
ShowImplicitArgs: false
ShowImplicitPats: true
ShowLambdaTypes: false
> :print-toggle ShowImplicitArgs
ShowImplicitArgs changed to true
> :unicode
Toggled Unicode to be disabled
> :unicode
Toggled Unicode to be enabled
>

Oh my bad. I misread your questions. For RenderOptions, I guess we can just ask users to use predefined styles. We don't need to be that configurable.

We can choose to load styles from a json, and I believe that's not going to be very hard. For now, using predefined styles is already quite good

How to modify the pretty printing options in the REPL?

How to modify the pretty printing options in the REPL?

I don't know. Maybe :color propertyName "colorCode" ?

How to modify the pretty printing options in the REPL?

I don't know. Maybe :color propertyName "colorCode" ?

Can you impwement this

How to modify the pretty printing options in the REPL?

I don't know. Maybe :color propertyName "colorCode" ?

Can you impwement this

I think I can.

Let's do it in separate PR
bors r+


REST API Endpoints - Deprecated - rational and reasoning

The REST API endpoints were introduced at a very early stage in the plugin's development. At that stage it required a bit of code and knowledge of inner implementation details to produce the data. As the code base matured, this became increasingly simple. At this point, the code for each endpoint is just a few lines that look like this:
https://github.com/macder/medusa-fulfillment-shippo/blob/50f0db322904c5e1532a37bf7bc20223b9af02d8/src/api/routes/admin/fulfillment-packingslip.js#L1-L8
As you can see, reproducing these endpoints is easy.
More importantly, I feel that in this context, HTTP routes, aside from webhooks, do not belong at the plugin level. These are implementation details that the plugin should NOT dictate. Developers should have the freedom to create their own routes based on individual requirements. This plugin now provides enough documented public methods that can be used to create your own endpoints.
All endpoints aside from the webhooks will be removed as of v0.20.0. This will give time to anyone who wants to re-implement in their own application before a v1.0.0 release.
Considering the "public interface" is still a semver major version 0, this head's up notice is more than fair.
If you want the code for the endpoints, grab it here
Guides and How-to:

Create Endpoint for Storefront
Create Endpoint for Admin

closing


add safety

:tada: This issue has been resolved in version 1.2.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

[ ] types
[ ] code
[ ] comments
[ ] tests

:tada: This issue has been resolved in version 1.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Integrate user config with adv_trace

Describe the Enhancement
Use the interrupt definition that is used in the LoRa firmware to drive the user configuration. When the program is running we should be able to use the GUI to "pause" the code and enter the configuration where the config can be saved to the device. The adv_trace utility is already implemented in the LoRa app code for print statements, I believe any receive communication is done.
Benefits

Allow for configuration without reflashing

Possible Drawbacks
Interfering with the main code
Additional Context
I could not find any documentation adv_trace utility but it appears in the LoRa code and is listed under utilities for the HAL documentation. I listed some resources below for what I've currently found.
Function to setup receive callback: https://github.com/jlab-sensing/STM32CubeWL/blob/2047c75fa46f21f305162b3039b6313aa42a3f8b/Utilities/trace/adv_trace/stm32_adv_trace.h#L123
Example code from AT command example: https://github.com/jlab-sensing/STM32CubeWL/blob/2047c75fa46f21f305162b3039b6313aa42a3f8b/Projects/B-WL5M-SUBG1/Applications/LoRaWAN/LoRaWAN_AT_Slave/LoRaWAN/App/lora_command.c#L625
Example implemented callback: https://github.com/jlab-sensing/STM32CubeWL/blob/2047c75fa46f21f305162b3039b6313aa42a3f8b/Projects/B-WL5M-SUBG1/Applications/LoRaWAN/LoRaWAN_AT_Slave/LoRaWAN/App/lora_command.c#L775

Link to advance trace library: https://github.com/jlab-sensing/STM32CubeWL/tree/2047c75fa46f21f305162b3039b6313aa42a3f8b/Utilities/trace/adv_trace


Update kapacitor.conf

Updating example in default kapacitor.conf for stats retentionPolicy to match to default retention policy of "autogen"
Required for all non-trivial PRs

[ ] Rebased/mergable
[ ] Tests pass
[ ] CHANGELOG.md updated
[ ] Sign CLA (if not already signed)

Required only if applicable
You can erase any checkboxes below this note if they are not applicable to your Pull Request.

[ ] TICKscript Spec updated

done

Thanks!


lsquic client occasionally stops sending ACKs on larger downloads

Downloading larger files (100MB) with lsquic client occasionally fails because the client is not sending ACKs for too long.
Here is what we observe:

large portion of the download goes smoothly
sometimes there is number of incoming packets in row without any client ACKs (so far no issue but let's call this "smaller hole")
but eventually this "hole" without ACKs becomes too large (>2000 packets, >6seconds) so the server closes the connection with "Network black hole detected"
client responds to CC immediately with ACK containing the full range of packets

Notes:

using client version 2.4.1 built from commit b0bd690
server is Akamai quic server
there is GSO on the server side (should be unrelated; not sure if lsquic uses recvmmsg but there are individual incoming packets seen on the network device so no GRO on receiver side)
we have full tcpdump with the failed download

See screenshots for pieces of tcpdump on client side showing:

start and end for random "smaller hole" in the middle of the download (2.6 seconds, 2442 packets)

start and end for final "lethal hole" which ended w/ CC from the server (6.6 seconds, 2445 packets)

Full client stderr during failed download:
client.stderr.log

You can try disabling delayed ACK feature with settings->es_delayed_acks = 0.
Also 2.4.1 is too old. maybe you should try the latest 4.0.x ?

Will try to disable delayed ACK, thank you.
Regarding the version the number: 2.4.1 is misleading; sorry. I was tricked by git describe giving me "v2.4.1-338-gb0bd690". We regularly build from master and the commit above is less than a month old.

I see that the client in the failed case above was already called w/ -o delayed_acks=0 on the command line.
So it is already disabled.


Different GIF backgrounds for Different Terminal Profiles

Environment
Windows build number: 10.0.18362.0
Windows Terminal version (if applicable): v0.3.2171.0

Any other software?

Steps to reproduce

Create multiple terminal profiles
Add different gif backgrounds for each terminal profile
Open them in microsoft terminal

Expected behavior

Expected that I can tab through my different terminal windows and see each respective gif play for each terminal.

Actual behavior

only the gif background of the default terminal plays, all the others play for few seconds and become still images.

Could you share your profiles.json with us? (and preferably the gifs in question)
If you swap the gif for the default profile with another profile's gif, does the other profile's gif magically start looping when applied to the default?

I just tried swapping the gifs and it seems the other two don't loop T _ T . Gonna close this issue, thanks!


DDH and CDH

Why is there an arrow from CDH to DDH?
I think it should be the other way around, since hardness of DDH implies hardness of CDH but not the other way around.

You are absolutely right. Fixed that. 🙏


Don't iterate over boolean in BraceBetweenPoints

Currently all() tries to iterate over a boolean. It seems like the intention is something along the lines of all(x == y for x, y in zip(direction, ORIGIN)), but in this case that's not needed. A simple comparison of the arrays seem to be enough and avoid exceptions.
Reviewer Checklist

[ ] The PR title is descriptive enough for the changelog, and the PR is labeled correctly
[ ] If applicable: newly added non-private functions and classes have a docstring including a short summary and a PARAMETERS section
[ ] If applicable: newly added functions and classes are tested

These arrays are numpy-arrays, and they behave a little different with respect to == comparison. This change causes an error in our documentation build:
Exception occurred:
  File "/home/docs/checkouts/readthedocs.org/user_builds/manimce/envs/2248/lib/python3.8/site-packages/manim/mobject/svg/brace.py", line 257, in __init__
    if direction == ORIGIN:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Oh, that makes sense! However, it seems that in my case I get that the comparison between direction and ORIGIN returns [ True  True  True] if it succeeds, but only False if it fails. I'll admit I'm not an expert on numpy; is ORIGIN maybe constructed in such a way that a failed comparison returns a boolean instead of an array of booleans? e.g.
>>> np.array([1,2]) == np.ndarray([1,3])
False
>>> np.array([1,2]) == np.ndarray([1,2])
array([[ True,  True]])

and if so, how should manim behave to avoid the exception being raised by False being returned?

Oh, that makes sense! However, it seems that in my case I get that the comparison between direction and ORIGIN returns [ True True True] if it succeeds, but only False if it fails. I'll admit I'm not an expert on numpy; is ORIGIN maybe constructed in such a way that a failed comparison returns a boolean instead of an array of booleans? e.g.
>>> np.array([1,2]) == np.ndarray([1,3])
False
>>> np.array([1,2]) == np.ndarray([1,2])
array([[ True,  True]])

and if so, how should manim behave to avoid the exception being raised by False being returned?

I'm not sure about this behavior, it looks weird to me -- but this might be because you are comparing np.array to np.ndarray? If I change it to np.array on both sides, I get a boolean numpy array in both cases. And given that my first comparison raised a deprecation warning,
>>> np.array([1,2]) == np.ndarray([1,3])
<stdin>:1: DeprecationWarning: elementwise comparison failed; this will raise an error in the future.
False

I'd assume that this inconsistency will be fixed at some point.

Ok, sorry for the confusion, I think I understood what my issue was. Comparison between numpy arrays returns a boolean when they don't have the same amount of elements:
>>> np.array([1,2]) == np.array([1,2,3])
<stdin>:1: DeprecationWarning: elementwise comparison failed; this will raise an error in the future.
False

In my code I was passing to BraceBetweenPoints a 2 elements array which was then checked on ORIGIN, which is a 3 elements array, and this returned false and caused an exception trying to eval bool(False). If I pass Brace a 3 elements array, it works.
At this points I'm wondering, given that the third element is discarded anyway, would it make sense to allow two elements array to be given to BraceBetweenPoints? That could be done by using np.array_equal(direction, ORIGIN) (which returns false if the two arrays are of different size) instead of all(direction == ORIGIN)?

would it make sense to allow two elements array to be given to BraceBetweenPoints

In general, yes -- but I think this is something that we should attack globally, not just for BraceBetweenPoints.

I'm also wondering - and sorry if it's a stupid question - shouldn't there be some kind of input validation to functions to check that the values are of correct type and length, to avoid intuitive exceptions if those are wrong in some weird way (e.g. the all taking bool as an argument instead of a list) and more easily understand what's wrong from the user?

I'm also wondering - and sorry if it's a stupid question - shouldn't there be some kind of input validation to functions to check that the values are of correct type and length, to avoid intuitive exceptions if those are wrong in some weird way (e.g. the all taking bool as an argument instead of a list) and more easily understand what's wrong from the user?

Yes and no. It is on us to make sure that users understand what is wrong when input arguments do not behave correctly -- but full-blown static type checks are not particularly pythonic.
I'll close this PR for the sake of cleaning up our list of open PRs a bit, but feel free to keep commenting; you might also want to join our Discord (https://manim.community/discord) if you have not already. :-)


Added new ECDSA Methods that Sign and Verify SHA256 Hash.

Currently implemented ECDSA methods operate on a message, i.e. they calculate
SHA256 hash of the message and then generate/verify the signature.
In some use cases, it is required to calculate hash and generate/verify signature
separately. To support this use case new ECDSA methods that operate on a hash
are introduced.

Currently implemented ECDSA methods operate on a message, i.e. they calculate
SHA256 hash of the message and then generate/verify the signature.
In some use cases, it is required to calculate hash and generate/verify signature
separately. To support this use case new ECDSA methods that operate on a hash
are introduced.

@saurabhst @hawk248 @BroderickCarlin @chrisdecenzo this PR need one more approval.


Workaround for jsx lexer trick disrupting Pexp_override parsing

Fixes https://github.com/facebook/reason/issues/1992

Ready?

Ready 👍


Avoid conversion to blob when responseText used.

String decoding / encoding is likely to render the binary data corrupt so throw error instead.

For response/body's bodyInit, its recommend that the value be read into a stream first.
https://fetch.spec.whatwg.org/#concept-bodyinit-extract
Eventually when whatwg streams are furthered spec'd they'll be decoded into the string instead of the blob.

Added some additional tests to master to show you what I mean 9d586486e50a79551b1d12178b3408d1fd57cb35

This is #61 again. IE 8/9 in combination with a Blob polyfill will corrupt binary data. It seems better to disallow usage of blob/arrayBuffer in that case.
To make the Response constructor compatible maybe the xhr.responseText could be wrapped in a special object to indicate that returning a blob is disallowed?

What blob polyfill are you using?

I'm not using a blob polyfill myself, though from #65 it looks like @kruppel is. I'd just like to rule out any possibility of data corruption.

If the polyfill Blob constructor doesn't work, I'm not sure what good it is.

I guess it could be useful for processing binary data in other ways, but it does not fix XMLHttpRequest for you. For that you would need the ugly VBScript work around.

Probably worth noting somewhere that with XMLHttpRequest 1 or without Blob support the charset will be auto-detected from the content-type header whereas spec is to always use utf8. So there's an argument for disabling text() on IE8/9 too, but that's probably going too far ;)

This branch is speculative—let's deal with errors as they arise. Blob usage is uncommon right now.


Update aws-core, http-client-spi, ... to 2.17.167

Updates

software.amazon.awssdk:aws-core
software.amazon.awssdk:http-client-spi
software.amazon.awssdk:netty-nio-client

from 2.17.104 to 2.17.167.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #121.


Unable to launch op3_manager on ROBOTIS OP3

Hi!
After packages upgrade on the real OP3 the robot doesn't take initial position.
When I try to launch op3_manager in console there appears an error:
Unable to launch [op3_manager-2].
If it is a script, you may be missing a '#!' declaration at the top.
The traceback for the exception was written to the log file

Regards
George
P.S.: buttons on back also stopped to work.

Hi
Could you tell me how to upgrade to OP3
and tell me more about the error message?
Regards,
Kayman

OP3 terminates with an error
GDB log:
terminate called after throwing an instance of 'std::runtime_error'
  what():  Duration is out of dual 32-bit range

Thread 13 "op3_manager" received signal SIGABRT, Aborted.

Kinetic sync seemed to have introduced an ABI break. A complete, clean rebuild of the workspace was required, not just compiling again. Now it works fine

I am glad to be well.
If you have any other questions, please open the issue.
Thanks


Question about the graph convolution kernel

Hi Liyaguang, I have a question about your graph convolution kernel. You compute the diffusion convolution kernel by iteratively doing x2 = 2*tf.sparse_tensor_dense_matmul(support, x1) - x0. But, if I am correct, should it be doing x2 = tf.sparse_tensor_dense_matmul(support, x1) according to your article?

HI Xianglong,
Thanks for your interest in the paper. This part is for the approximation of the diffusion convolution using the Chebyshev polynomial basis which makes the gradient more stable.


client: Restart mgmt connection if networkMap serial is out of order

Describe your changes
Restart the connection to management service when serial received in networkMap is out of order. As well as adding a bit of logging around the serial check in networkMap updating client-side.
This is a workaround for the issue mentioned, the root cause is most likely a race condition in updating the networkMap serial in the management service itself, this PR will allow the issue to be non-apparent for users.
Issue ticket number and link
https://github.com/netbirdio/netbird/issues/2114
Checklist

[X] Is it a bug fix
[ ] Is a typo/documentation fix
[ ] Is a feature enhancement
[ ] It is a refactor
[ ] Created tests that fail without the change (if possible)
[ ] Extended the README / documentation, if necessary

Needs further testing


Update naming for status codes 413 and 422

I think the naming changed in RFC 9110, see https://www.rfc-editor.org/rfc/rfc9110.html#name-413-content-too-large and https://www.rfc-editor.org/rfc/rfc9110.html#name-422-unprocessable-content.

Are there any tests maintained for the legacy status codes? We need to prove that users can still respond with old status code variant.

Nice addition, thanks @Philippus.
Is that something we would consider for 1.0.0? There's little risk but currently I'd say let's postpone to 1.1.x on principle since it is not strictly necessary right now?

there is no hurry on this as we are unlikely to include this in the pekko-http 1.0.0 release (and add it later instead)

Indeed take your time, its not urgent

I'll fix it up once the first pekko-http is out of the door.

@Philippus You need rebase your PR.

Was about to say that the tests are failing with java.lang.NoClassDefFoundError: Could not initialize class org.apache.pekko.http.scaladsl.model.StatusCodes$

Are there any tests maintained for the legacy status codes? We need to prove that users can still respond with old status code variant.

This is only an API change and for those changes we mostly rely on Mima to catch problems. We also have the (currently disabled) "http-compatibility-tests" module which has logic to test backward compatibility in cases which warrant more testing.

(btw. test error is likely unrelated)

Thanks again, @Philippus!