feat: Add a limited form of arithmetic on generics

Description
Problem*
Resolves #4784
Summary*
Adds a limited form of arithmetic operators on numeric generic types in Noir. This includes only 5 operations: +, -, *, /, and %.
Going forward I'm going to distinguish between two definitions for clearer communication between devs & users:

Numeric generics: generics that use numeric type variables like fn foo<let N: u32>()
Arithmetic generics: when arithmetic operators are used on numeric generics in a type position: fn foo<let N: u32>() -> [Field; N + 1]

Additional Context
It is explicitly a non-goal to always correctly return when two arithmetic generics are equal. For example, in our current type checking we do not check whether applying the distributive law would make two types equal. So you'd get a type error for trying to use 2*(N + 1) where 2*N + 2 was expected. Users should generally consider the type equality here to be largely structural and try to match that as best as possible. The only check performed besides simplification of constant terms is commutativity for + and *. Even then, the check is only one level deep. So N * M * 3 is not equal to 3 * N * M. Update: we canonicalize commutative operations now, so we sort this and it now type checks.
Documentation*
Check one:

[ ] No documentation needed.
[ ] Documentation included in this PR.
[x] [For Experimental Features] Documentation to be submitted in a separate PR.

I'd like to have this in for some time before we start advertising it.

PR Checklist*

[x] I have tested the changes locally.
[x] I have formatted the changes with Prettier and/or cargo fmt on default settings.

Update: added a canonicalization method for commutative operators. We now accept a lot more cases including (1 + N) + 1 = N + 2 and others.

Explored whether this is sufficient for some techniques that can be used with partial support for dependent types.
In short, yes, but it would look nicer with:

Trait impl's on numeric generics
Associated types

Demo here
// KnownConstant
//
// Summary: when we know something is constant, we can know that expressions involving it will resolve to constants.
// - This guarantees that such values will be known at compile-time
// - Note the need for a wrapper struct (`W`) to appease the type checker:
//   we can solve these fine, but reject raw numeric generics.
//
// Note that it's impossible to define an impl as follows, because of overlap:
//
// impl<let N: u32> KnownConstant for W<N> { .. }

// Wrapper type for numeric generics
//
// NOTE: explicit kinds would allow us to replace u32 with a variable
struct W<let N: u32> { }

impl<let N: u32> Eq for W<N> {
    fn eq(self, other: W<N>) -> bool {
        let _ = self;
        let _ = other;
        true
    }
}

trait KnownConstant {
    fn to_constant(self) -> Field;
}

// implementing KnownConstant for a variable would overlap with W<_ + _> and
// other instances
impl KnownConstant for W<0> {
    fn to_constant(self) -> Field {
        assert(self == self); // TODO to_constant(_self) failed
        0
    }
}

impl KnownConstant for W<1> {
    fn to_constant(self) -> Field {
        assert(self == self); // TODO to_constant(_self) failed
        1
    }
}

impl KnownConstant for W<2> {
    fn to_constant(self) -> Field {
        assert(self == self); // TODO to_constant(_self) failed
        2
    }
}

impl KnownConstant for W<3> {
    fn to_constant(self) -> Field {
        assert(self == self); // TODO to_constant(_self) failed
        3
    }
}

impl KnownConstant for W<4> {
    fn to_constant(self) -> Field {
        assert(self == self); // TODO to_constant(_self) failed
        4
    }
}

impl KnownConstant for W<5> {
    fn to_constant(self) -> Field {
        assert(self == self); // TODO to_constant(_self) failed
        5
    }
}

impl KnownConstant for W<6> {
    fn to_constant(self) -> Field {
        assert(self == self); // TODO to_constant(_self) failed
        6
    }
}

impl KnownConstant for W<7> {
    fn to_constant(self) -> Field {
        assert(self == self); // TODO to_constant(_self) failed
        7
    }
}

impl KnownConstant for W<8> {
    fn to_constant(self) -> Field {
        assert(self == self); // TODO to_constant(_self) failed
        8
    }
}

impl KnownConstant for W<9> {
    fn to_constant(self) -> Field {
        assert(self == self); // TODO to_constant(_self) failed
        9
    }
}

impl<let N: u32, let M: u32> KnownConstant for W<N + M> where W<N>: KnownConstant, W<M>: KnownConstant {
    fn to_constant(self) -> Field {
        assert(self == self); // TODO to_constant(_self) failed
        (N as Field) + (M as Field)
    }
}

impl<let N: u32, let M: u32> KnownConstant for W<N * M> where W<N>: KnownConstant, W<M>: KnownConstant {
    fn to_constant(self) -> Field {
        assert(self == self); // TODO to_constant(_self) failed
        (N as Field) * (M as Field)
    }
}

fn add_comm_to<let N: u32, let M: u32>(_x: W<N + M>) -> W<M + N> where W<N>: KnownConstant, W<M>: KnownConstant {
    W {}
}

fn polynomial_input<let N: u32, let M: u32>(_x: W<2 * N * N + 1 * M + 2>)
    -> W<2 + N * N * 2 + M> where W<N>: KnownConstant, W<M>: KnownConstant {
    W {}
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Equiv
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Summary: this is a simplification of isomorphism-with-coherence-conditions-style equivalence
// - EquivT is an attempt to use traits directly
// - Equiv below is a successful attempt to use structs instead
//   + Trait associated types would make it much cleaner

trait EquivT<T> {
    fn equivT_to(x: Self) -> T;
    fn equivT_from(x: T) -> Self;
}

impl<let N: u32, let M: u32> EquivT<W<M + N>> for W<N + M> {
    fn equivT_to(_x: Self) -> W<M + N> { W {} }
    fn equivT_from(_x: W<M + N>) -> Self { W {} }
}

impl<let N: u32, let M: u32> EquivT<W<M * N>> for W<N * M> {
    fn equivT_to(_x: Self) -> W<M * N> { W {} }
    fn equivT_from(_x: W<M * N>) -> Self { W {} }
}

// // NOTE: overlapping impl blocks this approach
// // - Could be resolved by allowing trait impl naming and/or selection
//
// impl<let N: u32, let M: u32, let P: u32> EquivT<W<M + (N + P)>> for W<(N + M) + P> {
//     fn equivT_to(_x: Self) -> W<M + (N + P)> { W {} }
//     fn equivT_from(_x: W<M + (N + P)>) -> Self { W {} }
// }

// NOTE: this version w/o ENV's can't be composed
//
// struct Equiv<T, U> {
//     to_: fn(T) -> U,
//     from_: fn(U) -> T,
//     // .. other coherence conditions
// }
struct Equiv<T, TU, U, UT> {
    // TODO(https://github.com/noir-lang/noir/issues/5644):
    // Bug with struct_obj.field_thats_a_fn(x)

    to_: fn[TU](T) -> U,
    fro_: fn[UT](U) -> T,
    // .. other coherence conditions
}

impl<T, TU, U, UT> Equiv<T, TU, U, UT> {
    fn to(self, x: T) -> U {
        let f = self.to_;
        f(x)
    }

    // TODO: bad error span and/or wrong error (appears to overlap w/ stdlib when named 'from')
    //
    // error: duplicate definitions of from found
    //     ┌─ /Users/michaelklein/Coding/rust/noir/tmp/src/main.nr:7:29
    //     │
    //   7 │ // Needed for "raw equivalence" using traits:
    //     │                             ---- first definition found here
    //     ·
    // 175 │     fn from(self, x: U) -> T {
    //     │        ---- second definition found here
    //     │
    fn fro(self, x: U) -> T {
        let f = self.fro_;
        f(x)
    }
}

// NOTE: it would be nice to hide these ENV's using associated types
fn equiv_trans<T, TU, U, UT, UV, V, VU>(x: Equiv<T, TU, U, UT>, y: Equiv<U, UV, V, VU>) -> Equiv<T, (Equiv<U, UV, V, VU>, Equiv<T, TU, U, UT>), V, (Equiv<T, TU, U, UT>, Equiv<U, UV, V, VU>)> {
    Equiv {
        to_: |z| { y.to(x.to(z)) },
        fro_: |z| { x.fro(y.fro(z)) },
    }
}

fn equiv_refl<let N: u32>() -> Equiv<W<N>, (), W<N>, ()> {
    Equiv { to_: |_x| { W {} }, fro_: |_x| { W {} } }
}

fn add_zero_r<let N: u32>() -> Equiv<W<N + 0>, (), W<N>, ()> {
    Equiv { to_: |_x| { W {} }, fro_: |_x| { W {} } }
}

fn mul_one_r<let N: u32>() -> Equiv<W<N * 1>, (), W<N>, ()> {
    Equiv { to_: |_x| { W {} }, fro_: |_x| { W {} } }
}

fn add_equiv_r<let C: u32, let N: u32, let M: u32, EN, EM>(f: Equiv<W<N>, EN, W<M>, EM>) -> Equiv<W<C + N>, (), W<C + M>, ()> {
    Equiv { to_: |_x| { W {} }, fro_: |_x| { W {} } }
}

fn add_comm<let N: u32, let M: u32>() -> Equiv<W<N + M>, (), W<M + N>, ()> {
    Equiv { to_: |_x| { W {} }, fro_: |_x| { W {} } }
}

fn mul_comm<let N: u32, let M: u32>() -> Equiv<W<N * M>, (), W<M * N>, ()> {
    Equiv { to_: |_x| { W {} }, fro_: |_x| { W {} } }
}

fn add_assoc<let N: u32, let M: u32, let P: u32>() -> Equiv<W<N + (M + P)>, (), W<(N + M) + P>, ()> {
    Equiv { to_: |_x| { W {} }, fro_: |_x| { W {} } }
}

fn mul_assoc<let N: u32, let M: u32, let P: u32>() -> Equiv<W<N * (M * P)>, (), W<(N * M) * P>, ()> {
    Equiv { to_: |_x| { W {} }, fro_: |_x| { W {} } }
}

fn mul_add<let N: u32, let M: u32, let P: u32>() -> Equiv<W<N * (M + P)>, (), W<N * M + N * P>, ()> {
    Equiv { to_: |_x| { W {} }, fro_: |_x| { W {} } }
}

// (N + 1) * N == N * N + N
//
// (550 character line, due to ENV's)
fn demo_proof<let N: u32>() -> Equiv<W<(N * (N + 1))>, (Equiv<W<N>, (), W<N>, ()>, Equiv<W<(N * (N + 1))>, (Equiv<W<(N * (N + 1))>, (), W<N>, ()>, Equiv<W<(N * (N + 1))>, (), W<(N * (N + 1))>, ()>), W<N>, (Equiv<W<(N * (N + 1))>, (), W<(N * (N + 1))>, ()>, Equiv<W<(N * (N + 1))>, (), W<N>, ()>)>), W<N>, (Equiv<W<(N * (N + 1))>, (Equiv<W<(N * (N + 1))>, (), W<N>, ()>, Equiv<W<(N * (N + 1))>, (), W<(N * (N + 1))>, ()>), W<N>, (Equiv<W<(N * (N + 1))>, (), W<(N * (N + 1))>, ()>, Equiv<W<(N * (N + 1))>, (), W<N>, ()>)>, Equiv<W<N>, (), W<N>, ()>)> {
    let p1: Equiv<W<(N + 1) * N>, (), W<N * (N + 1)>, ()> = mul_comm();
    let p2: Equiv<W<N * (N + 1)>, (), W<N * N + N * 1>, ()> = mul_add::<N, N, 1>();
    let p3_sub: Equiv<W<N * 1>, (), W<N>, ()> = mul_one_r();
    let p3: Equiv<W<N * N + N * 1>, (), W<N * N + N>, ()> = add_equiv_r::<N * N, N * 1, N, _, _>(p3_sub);
    equiv_trans(equiv_trans(p1, p2), p3)
}

fn main() {
    let quadratic: W<2 * 2 * 2 + 1 * 1 + 2> = W {};

    // Bug: both should evaluate to W<11>
    //
    // error: Expected type W<7>, found type W<11>
    //     ┌─ /Users/michaelklein/Coding/rust/noir/tmp/src/main.nr:103:56
    //     │
    // 103 │     let alternate_quadratic = polynomial_input::<2, 1>(quadratic);
    //     │                                                        ---------
    //     │
    // let alternate_quadratic = polynomial_input::<2, 1>(quadratic);

    let _ = add_comm_to::<2 * 2 * 2 + 1 * 1, 2>(quadratic);
}

let quadratic: W<2 * 2 * 2 + 1 * 1 + 2> = W {};

Why the 2 * 2 ... expression there? We should constant fold that before we get to testing arithmetic generics

@jfecher I was checking that everything resolves properly, but will also typecheck against add_comm for known inputs. E.g. I thought it would be worthwhile to see how N + 1 where N = 1 vs 2 unifies.
demo_proof is more representative of what can currently be done with unification.


No error when discovery paths are not provided

Hi, I think I found one Swashbuckle issue.
I have a list of documentation paths, so I create SwaggerUiConfig and pass those paths in constructor as discoveryPaths. In order to restrict users to use only these paths I call EnableDiscoveryUrlSelector () on SwaggerUIConfig. It works, a nice drop-down list appears but problem is that I sometimes want to pass empty list of paths. In that case I spotted such Swashbuckle behaviour:
Actual: index.html picks first path from empty list (url: swashbuckleConfig.rootUrl + "/" + swashbuckleConfig.discoveryPaths[0],), it becomes evaluated as undefined and gets passed to swagger-ui. This results that request to .../undefined is executed and it (usually) fails, so discoveryUrlSelector.js isn't loaded. Then it behaves as simple text field, so user can enter any url.

Expected: index.html spots that the list of paths is empty, so instead of "Can't read from swagger JSON from .../undefined" it should display a message as "No documentation provided". Url field should be frozen, so user can't type any url.

Why do you sometimes want to pass an empty list of paths?

Well, in my specific case list of paths depends upon user configuration. I'm not the one who controls process of path selection.

Ok, in that case, Why will the user pass an empty list of paths?

I don't want to go deeper into my implementation details but I have no way to prevent users from doing that. Either way, this is Swashbuckle issue since there is no guard against empty list and making request to .../undefined shouldn't be expected behaviour in this case.

Interesting...
I guess that Swashbuckle can claim that this is a Swagger-UI issue, Swashbuckle has no way to prevent developers from doing that.

I want to oppose since Swagger-UI does it's job with no flaws - you provide url, swagger-ui tries to execute request. Problem is that Swashbuckle provides incorrect url. I have come up with way to solve this problem:

Swagger-UI shouldn't execute request if list of discoveryPaths is empty. This can be achieved by modifying 'index.html'.

window.swaggerUi.load();

should be changed to
if (swashbuckleConfig.discoveryPaths.length === 0) {
	$("#message-bar").text("No document configured");
} else {
	window.swaggerUi.load();
}

If EnableDiscoveryUrlSelector () is called on SwaggerUiConfig, drop-down list should always appear. Currently it shows up only if request completes successfully. That's because EnableDiscoveryUrlSelector () is threated as javascript injection. From 'SwaggerUIConfig.cs':

public void EnableDiscoveryUrlSelector()
{
	InjectJavaScript(GetType().Assembly, "Swashbuckle.SwaggerUi.CustomAssets.discoveryUrlSelector.js");
}

Solution for this would be:

Add boolean like DiscoveryUrlSelectorEnabled to _templateParams (similar as in OAuth2: _templateParams["%(OAuth2Enabled)"] = "true";). Furthermore, in 'index.html' line like

discoveryUrlSelectorEnabled: ('%(DiscoveryUrlSelectorEnabled)' == 'true'),

should be added in window.swashbuckleConfig creation process.

'discoveryUrlSelector.js' should be merged 'index.html', so after window.swaggerUi.load();, logic for drop-down list could be added:

if (swashbuckleConfig.discoveryPaths.length === 0) {
	$("#message-bar").text("No document configured");
} else {
	window.swaggerUi.load();
}

if (swashbuckleConfig.discoveryUrlSelectorEnabled) {
    // Code from discoveryUrlSelector.js
}

I will solve it one way or another, so if you think it's Swashbuckle problem and my solution is acceptable, I can try to fix this and make pull request.

@Dekedro seems that you have a viable solution send a pull request

Let me please point out that problem is still active and actual. F.i. controllers can be auto-generated and generation process depend on some conditions. Endpoints can be a subject for licensing. These cases can lead to the situation when no endpoints are available to the end-user and empty list of swagger paths provided.


fix max topic for namespace does not work

Motivation
fix max topic for namespace does not work.
"/managed-ledgers" should be access by locakZk instead of globalZk

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

@aloyszhang  opened issue #9207 to track the changes of 2 zk in test base.

@aloyszhang  opened issue #9207 to track the changes of 2 zk in test base.


chat with csv plot improvements

Closes #40

:books: Documentation preview :books:: https://ploomber-doc--44.org.readthedocs.build/en/44/

deployed here: https://round-night-3811.ploomberapp.io/
@edublancas

looks good, let's just modify the query examples to show that we can plot data transformations

Fixed : https://cool-river-9326.ploomberapp.io/
@edublancas

Sure !


Add C folder containing my solution to the demo project

I have added my C demo calculator files, and also Betty checked them.
I created several C files, in compliance to Betty, some header files, and a Bash script that compiled all the files necessary.
I did not upload the executable, but I added all the compulsory files.

Hello Boss @dohoudaniel y. ,your Pull request looks good and has be merged. I see you plan on implementing the solution in python too.
IMO you had too much code base which would possibly affect keeping track of changes in the actual code base. I'd suggest in future send in each new feature in bits rather than having lots of commits sent at once. In this case I'll have to squash before merging to keep out commit history readable.
I can't wait to see what you'll write in python


A subset of image features for mmc4 core?

Hi @jmhessel , the image features for mmc4 are too large for a quick start (~1.8TB).
Do you have a plan to release a subset of image features for mmc4 core?
Thank you very much!

@jmhessel Thanks for your quick reply. I believe that mmc4 will be of great help to the community.


A demo site

Hello,
Not an expert in web development. I try to create a demo, but I get the following error:
Aborted(Error: ENOENT: no such file or directory, open 'https:/edge-ai-models.s3.us-east-2.amazonaws.com/onnx-13/ort-wasm-simd-threaded.wasm')
failed to asynchronously prepare wasm: RuntimeError: Aborted(Error: ENOENT: no such file or directory, open 'https:/edge-ai-models.s3.us-east-2.amazonaws.com/onnx-13/ort-wasm-simd-threaded.wasm'). Build with -sASSERTIONS for more info.
Aborted(RuntimeError: Aborted(Error: ENOENT: no such file or directory, open 'https:/edge-ai-models.s3.us-east-2.amazonaws.com/onnx-13/ort-wasm-simd-threaded.wasm'). Build with -sASSERTIONS for more info.)

Would you mind creating a very simple single webpage demo on the GitHub repo?

Thanks for the prompt response! I'll check out the other branch!


Doesn't work windows: ld: error: unable to find library -lgcc

Describe the bug
A clear and concise description of what the bug is.

Running cargo ndk -o ../android/app/src/main/jniLibs build doesn't work on windows
To Reproduce
Steps to reproduce the behavior.
Expected behavior
A clear and concise description of what you expected to happen.
Codegen logs

Run code generator with `RUST_LOG` environment variable set to `debug`, and paste them here.

Generated binding code

If possible, please paste your generated binding code, both `.h` (via `--c-output`), and `.dart` (via `--dart-output`), here.

Development environment (please complete the following information):

OS: [e.g. MacOS]
Version [e.g. 11]
Version of flutter_rust_bridge_codegen: [e.g. 1.0]
Paste output of flutter doctor -v: [paste below]
Version of clang++: [e.g. 12]
Version of cbindgen: [e.g. 0.20]
Version of ffigen: [e.g. 0.4]

Smartphone, if applicable (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Hi could you please provide

Codegen logs: Run code generator with RUST_LOG environment variable set to debug, and paste them here.
Generated binding code: If possible, please paste your generated binding code, both .h (via --c-output), and .dart (via --dart-output), here.

I personally do not have a Windows computer with Rust/Dart environment. It is @Desdaemon #130 (and @smw-wagnerma #128) who create the wonderful PR. Thus, @Desdaemon @smw-wagnerma could you please have a look?

By the way, have you setup the Flutter environment for developing a windows app correctly? -lgcc seems to unrealted to this lib but related to flutter+win.

You might have to downgrade the Android NDK to 22.x. The related issue is cargo-ndk#22. Small aside, I encountered this issue some time ago too so I don't think it's Windows-specific.

Thanks for the response. So the workarounds are downgrade to 22 or use nightly.
I assume cargo +nightly ndk -t arm64-v8a build -Zbuild-std -o ../android/app/src/main/jniLibs build no?

Just doing cargo +nightly ndk -t arm64-v8a build -Zbuild-std gives same -lgcc error
https://user-images.githubusercontent.com/4870868/139539166-8e6b3923-e2a2-44b8-9a22-36235c7a3fff.mp4

A bit more digging led me to this comment which suggests that NDK version 22 is baked into the compiler, so unless you are dependent on NDK 23 features I think using an earlier version is the only way for now.

@Desdaemon Maybe I should add this in the FAQ/known issues section in the readme @fzyzcjy?

Sure. Maybe PR to add text to this section: https://github.com/fzyzcjy/flutter_rust_bridge#troubleshooting Thanks!


feat(fe): proxy to jsonrpc

Fixes #476
Superseeds https://github.com/yeagerai/genlayer-simulator/pull/538
What
Allows configuring proxy for the frontend to the backend with the following configuration
VITE_PROXY_ENABLED = 'true'
VITE_JSON_RPC_SERVER_URL  = '/api'
VITE_WS_SERVER_URL='/'

This envvars need to be present in the frontend build process. For example, by adding them in your .env file
Why

to allow a new deployment architecture

Testing done

tested standard and new configuration. Both api and websockets worked correctly
Decisions made
I have created this pr to superseed https://github.com/yeagerai/genlayer-simulator/pull/538 because I feel is faster. Nothing to do with how @rekpero worked, just a matter of process

It's possible to automatically configure everything from VITE_PROXY_ENABLED, but that would require adding a configuration design pattern in the frontend, which

I feel it's not worth it given that it's not that hard of a configuration
I don't feel confident implementing it

This could be a future improvement
Checks

[x] I have tested this code
[x] I have reviewed my own PR
[x] I have created an issue for this PR

Reviewing tips
Please test both configurations locally
User facing release notes
Now you can proxy all requests trough the frontend: this allows you to only expose your frontend in your deployments

Thank you @AgustinRamiroDiaz - I tested the changes and tried deploying on Spheron to check if the proxy is working properly or not and it's working fine now. Looking forward to getting this merged into the main so that I can start creating a template for the Genlayer simulator on Spheron.


install error

hello, how can i use this on my open-admin web system application?
composer require open-admin-ext/open-admin-backup:dev-main
ERROR:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Root composer.json requires open-admin-ext/open-admin-backup, it could not be found in any version, there may be a typo in the package name.
Potential causes:

A typo in the package name
The package is not available in a stable-enough version according to your minimum-stability setting
see https://getcomposer.org/doc/04-schema.md#minimum-stability for more details.
It's a private package and you forgot to add a custom repository to find it

Read https://getcomposer.org/doc/articles/troubleshooting.md for further common problems.
Installation failed, reverting ./composer.json and ./composer.lock to their original content.

Please follow the installation instructions


Errors with https://www.9now.com.au

Checklist

[X] I'm reporting a broken site support
[X] I've verified that I'm running youtube-dl version 2<IP_ADDRESS>
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones

Verbose log

$ youtube-dl https://www.9now.com.au/the-block/season-15/episode-20 --verbose
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'https://www.9now.com.au/the-block/season-15/episode-20', u'--verbose']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 2.7.16 (CPython) - Darwin-18.7.0-x86_64-i386-64bit
[debug] exe versions: avconv 12.3, avprobe 12.3, ffmpeg 4.1.4, ffprobe 4.1.4, rtmpdump 2.4
[debug] Proxy map: {}
[debug] Using fake IP <IP_ADDRESS> (AU) as X-Forwarded-For.
[9now.com.au] episode-20: Downloading webpage
ERROR: Unable to extract page data; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 796, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 530, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/ninenow.py", line 48, in _real_extract
    'page data'), display_id)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 1005, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract page data; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Description

The ninemsn website regularly works with youtube-dl. It was working as late as a couple of weeks ago.

Duplicate of 22361


Detect processor architecture and process bitness for loading native providers

Added NativeProviderLoader, a helper class for loading native provider libraries depending on the processor architecture and the process bitness. MklLinearAlgebraProvider modified to call the helper class in InitializeVerify.
Not sure exactly how to automate building AnyCPU build though as both x86 and x64 builds need to be built first and then the files copied into subdirectories (x86 and amd64) of the AnyCPU output directory.
New nuget package for for combined x86 and x64 MKL will be needed. Couldn't find the nuspec though.

This seems to be windows specific, since you are using loadlibrary from kernel32. Maybe this should be extended to work with dlopen for linux and osx, or add an OS check and fall back the standard p/invoke library resolution for non-windows platform. Also, maybe this should should be optional since users might want store the native libraries in one place and use envirorment variables for the p/invoke to find them (the native libraries are quite large).

Yes you're right I didn't really think about Unix. I've added an OS check and different loaders for Windows and Unix however I'm not sure how to detect the cpu architecture on Unix. I did find this page which suggests uname() on Unix but it didn't sound very promising.

I'm not sure how to detect the cpu architecture on Unix.

Me either. Googing around, I coudn't a decent solution.

Right now we only support one of the 32 bit (x86) and one of the 64 bit families (amd64/x64). Then, in either case, we need to try them out by calling InitializeVerify (which by definition must fail on the wrong platform). Therefore, once we support more platforms for one of the providers (e.g. IA64) in the worst case we could try all candidates, with an educated guess on which one to try first.
Expected behavior:

InitializeVerify must fail/throw on a platform which is not supported by a specific provider implementation
Control.ConfigureAuto() must never fail/throw but may fall back to the managed provider.
Control.UseNativeMKL() must fail/throw if it cannot load an initialize a native MKL provider implementation.

Hence, since our MKL provider does not support e.g. IA64, on this platform Control.ConfigureAuto must fall back to the managed provider and UseNativeMKL must fail. Same for ARM.

@cuda regarding the environment variable I assume you're referring to the Path variable? It seems we'd need to probe all the paths in this variable ourselves to make this work with such an automatic solution?
Related: http://christoph.ruegg.name/blog/loading-native-dlls-in-fsharp-interactive.html

regarding the environment variable I assume you're referring to the Path variable?

Chris, I was thinking more of LD_LIBRARY_PATH for Linux and DYLD_LIBRARY_PATH for OS X.

It seems we'd need to probe all the paths in this variable ourselves to make this work with such an automatic solution?

I was suggesting to optionally not automatically load the libraries but let P/Invoke locate them. How it does so is well defined. I'm sure you've seen http://www.mono-project.com/docs/advanced/pinvoke/ .

Ah, thanks!

If an architecture specific subfolder isn't found then it will try to load the library without specifying a path resulting in normal searching behaviour. According to dlopen man page it will use LD_LIBRARY_PATH when searching. Likewise LoadLibrary will also search the PATH.
If that fails to locate and load the library then the function will return false and won't throw an exception. Instead of trying to use the searching within dlopen and LoadLibrary we could return false straight away in the case that the library isn't found within an architecture specific folder. Either way, if a library hasn't been loaded then normal P/Invoke will be used with normal exceptions being thrown etc. when any of the NativeNativeMethods functions are called.
Regarding ia64 and ARM detection support, I think that although currently MKL only supports x86 and amd64 there's no reason to think that in the future there won't other native providers which support other architectures. Indeed I've started working on getting OpenBLAS to work which supports ARM.

If an architecture specific subfolder isn't found then it will try to load the library without specifying a path resulting in normal searching behaviour.

That works me, thanks!

Thanks again - this has been on my wish list for quite a while!
Next step will be to add a combined NuGet package (and while we're at it, finally add a props file so they get copied to the output directory automatically)

Looks like I was a bit too fast with merging, the changes broke the portable builds (unfortunately not covered by CI) - will try to fix.

No matter, fix is trivial.

Ok. That looks like it should be be good now then. Thanks for that and glad I could help out.


Select the environment picker choice should be stored per folder

The Select the Environment picker shows up whenever user does not have a launch.json and is starting debugging a file which has multiple debuggers interested in it.
This question makes sense, however what could drastically be improved if we simply stored the users choice per folder. That way this would only appear once and not on every debug start, thus making the whole experience much smoother.
The downside: if the user choose wrongly, how can he or she unset this?
Due to that I suggest that we only store this if debugging was started successfully?
@connor4312 @weinand what do you think?

There's also the case that users may often have client and server code in the same folder. Maybe caching it per-file would work better?

@connor4312 good point.


Actually seems like it's not the 0.8.13 update BUT I'm also attempting to update nextjs to 13.0.2 and this causes the problem. Any idea why is that?
<EMAIL_ADDRESS>vercel deployment also fails with the same error when coupled with<EMAIL_ADDRESS>

Uh oh, I haven't seen this yet, I'll take a look. Thanks for making an issue! We did just land a PR removing our direct dependency on swc, so perhaps that will help. Also, noticed that some test files are getting included in the bundle. Sounds like it's time for some cleanup.

Hey @klapec a couple questions.
I've tried to reproduce by upgrading this repo to next 13 but I'm not seeing the issue you are.
How are you deploying?
Where do you get those error logs?
How are you running mailing? Is it inside of a next.js web app?
Thanks again for your help here.

Thanks for the response. I'm deploying using the official Vercel <-> Github integration, I've got a mailing-based app within a monorepo. Nothing fancy - here's the relevant part of my app's package.json:
  "scripts": {
    "dev": "mailing preview",
    "export": "mailing export-previews",
    "build": "mailing server build",
    "start": "mailing server start"
  },
  "dependencies": {
    "clsx": "1.2.1",
    "mailing": "0.8.13",
    "mailing-core": "0.8.13",
    "mjml": "4.13.0",
    "mjml-react": "2.0.8",
    "next": "13.0.1",
    "react": "18.2.0",
    "react-dom": "18.2.0"
  },
  "devDependencies": {
    "@types/yargs": "17.0.13"
  }

Here's the Vercel project's build step:
  cd ../.. && yarn build<EMAIL_ADDRESS>
and the relevant part of the turborepo's config:
    "@xxx/mailing#build": {
      "outputs": [".mailing/**"],
      "env": ["MAILING_SENDGRID_API_KEY"]
    },

I'm seeing those errors within Vercel's deployment page:

awesome, will try with that config

Hey @klapec, still looking at this. I stood up a turborepo with a next app and it deployed pretty easily with your package.json so I'm a bit stumped. The one thing I didn't play with is the outputs in the turbo config because it seemed to just work. I wonder if that is including a bunch of extra junk in the cloud function.
Here's the repo: https://github.com/sofn-xyz/fat-turbo-bug
I'm not a turborepo expert by any means so perhaps you could spot the diff or try making your output only include the .mailing/.next rather than ./mailing/**.

Now try updating next to 13.0.2. This is when the bug happens for me.
As for the different turbo output - I need the ** glob otherwise mailing wouldn’t start when built from the turbo cache (caching .next is not enough as package.json is needed as well.)

No worries at all, appreciate the detailed help. I bumped next but still no failure. 🤔

I'll try with the glob thing.

Hey! I got the same issue and solved it by upgrade to<EMAIL_ADDRESS>

Didn't work for me, unfortunately. Bumped my next dependency to 13.0.3-canary.0 and I'm still getting the same error.

Dang! @klapec will you please try bumping the mailing and mailing-core version to latest as well (0.8.14)? One dependency was removed so perhaps it's smaller (though I still haven't been able to repro to confirm).

😭 😭 🍾

Hey @klapec one more thought on this.
I believe you can move mailing to devDependencies and everything should work OK. If you need your "start" script in production you can use npx next .mailing/.next (but if you're deploying to vercel or netlify you won't need that).

FYI this is pretty close to the limit. I'm not sure if playwright needs to be bundled but I'm not familiar with the internals. This is on a brand new install of Mailing with just two basic templates.
Warning: Max serverless function size of 50 MB compressed or 250 MB uncompressed almost reached
--
13:47:50.701 | Serverless Function's page: api/pageSnap.js
13:47:50.703 | Large Dependencies                       Uncompressed size  Compressed size
13:47:50.704 | node_modules/playwright-aws-lambda/dist           42.01 MB         41.97 MB
13:47:50.709 | node_modules/next/dist                             7.96 MB          2.13 MB
13:47:50.709 | node_modules/playwright-core/lib                   3.32 MB       1002.95 KB
13:47:50.709 | node_modules/react-dom/cjs                         1.64 MB        404.02 KB
13:47:50.710 | node_modules/playwright-core/bin                 289.82 KB        147.36 KB
13:47:50.710 |
13:47:50.710 | All dependencies                                  56.15 MB          45.9 MB

Thanks for reporting. Playwright is used to screenshot the app for a nice og-image. I'd be happy to remove that functionality for performance though.
To verify, is that what you're seeing with mailing as a devDependency?

To verify, is that what you're seeing with mailing as a devDependency?

Yes, that message from Vercel is from a default npx mailing install as of Jan 22nd:
{
  "dependencies": {
    "mailing-core": "^0.9.8",
    "next": "^13.1.3",
    "react": "^18.2.0",
    "react-dom": "^18.2.0"
  },
  "devDependencies": {
    "mailing": "^0.9.8"
  }
}


Fix: Stop having RealmInputScreen flash by between AccountPickScreen and AuthScreen.

Fixes: #4604

Thanks for the reviews! Merged. I've posted about what looks like a Jest flake in pmConversationsModel-test.js, here.


CLA assistant hangs, unable to sign

URL to the linked Repo/Org:
https://github.com/denoland/deno/pull/6064
Steps to reproduce the problem:

Click Contributor License Agreement

What is the expected result?
Signed agreement
What happens instead?
Redirected to https://cla-assistant.io/accept/denoland/deno?pullRequest=6064
Clicked button 'Sign in with GitHub to agree'
Page hangs until the message 'Service Unavaliable' appears
<!--

## Optional
Any other information? (attach screenshot if possible)

Browser/version:
Chrome Version 83.0.4103.61

Hi @hork71,  Thank you for reporting the issue. We will look into it. Could you please send us the screenshot of the error message ?? :)

Hello @ibakshay ,
Thank you for the quick response.

Thank you very much. This looks very strange to me. Give us some time. We will look into our logs and will get to you ..

Using FireFox 77.0.1 yields the same results

@ibakshay any ideas yet?

Hi @hork71, sorry for the delayed response. I did some changes to our backend. Hopefully, it works now.
Can you please revoke the access for CLA assistant before you try again (Then CLA assistant will automatically ask for necessary permissions when you are signing in).
Steps to do so:
settings -> applications -> Authorized OAuth Apps -> CLA Assistant -> revoke Access
Let us know if it works :)

Hi @ibakshay ,
Your solution worked, thank you very much 👍

@hork71 awesome. Have a great weekend 😄


none animated dismissViewController bug

Sorry lkzhao that I don't really have time to debug and make a pull request to help you but I hope I could at least report what I found while using your control.
Currently dismiss a ViewController which was presented modally with custom transition as ElasticTransition only work with animated = true. If animated is false, it will result in black / empty screen.
I guess this has something with rendering the underneath view controller while performing the custom transition.

I will looking into this too. Thanks for reporting!!

The same,how to solve it?

I would set the transitionDelegate to nil before presenting the view controller for now. I will investigate on this issue.

the same，did you solve it？

please help

Any Update?


[SPARK-39509][INFRA] Support DEFAULT_ARTIFACT_REPOSITORY in check-license

What changes were proposed in this pull request?
This PR aims to make check-license script to support IPv6 environment via DEFAULT_ARTIFACT_REPOSITORY
Why are the changes needed?
Apache Maven Central repository has two separate URLs.

https://repo.maven.apache.org/maven2/ (IPv4)
https://ipv6.repo1.maven.org/maven2/ (IPv6)

DEFAULT_ARTIFACT_REPOSITORY allows IPv6 users to use ipv6.repo1.maven.org or Google Maven Central Mirror according to their needs.
Does this PR introduce any user-facing change?
No. This is a dev-only change.
How was this patch tested?
Pass the CIs.

Thank you, @HyukjinKwon . Merged to master.


feat: change GetCurrentRow to GetSingularRow

After some discussion with the local folks, we decided to change the semantics and name of GetCurrentRow that was added in #1074. Previously GetCurrentRow would return the first row in a range that might potentially contain multiple rows. The observation is that those may not be the best or safest semantics for callers.
The use case we're trying to address is when a callers does a query/read and they know that only one row should be returned. Maybe they used LIMIT 1, or maybe they specified a primary key to guarantee this. In any case, if they know that only one result can be returned, it would be nice to let them conveniently access that one row without having to create a loop, break out, etc.
The problem with GetCurrentRow was that if the row range happened to have more than one row, there would be no error and the user may never notice this. So it seems safer to clearly name this function and change its semantics so that it will produce an error if the given range does not contain exactly a single row.
We also considered requiring the caller to pass an rvalue (i.e., std::move the range into the argument). The reason I don't enforce this is because that would then prevent callers for subsequently calling the RowStream::ReadTimestamp function.
Adding @devbww as the reviewer since he initially raised some of these questions. And cc: @coryan  and @mr-salty as potentially interested observers who are welcome to comment if they want.

This change is

This is always used as spanner::GetSingularRow(spanner::StreamOf<RowType>(stream)), WDYT if we change it so the usage is spanner::GetSingularRow<RowType>(stream)?

This is always used as spanner::GetSingularRow(spanner::StreamOf<RowType>(stream)), WDYT if we change it so the usage is spanner::GetSingularRow<RowType>(stream)?

We could do that. It would make the cases where users want to parse the row to a RowType tuple easier. But it would make any case where a user didn't want to use a "StreamOf" impossible. As you pointed out, our 3 uses currently all use StreamOf<T>, so this change would work now. But I'm not sure our 3 existing uses suggest that all future uses will be the same.
Another option is that we could add another function (or an overload) so that we support both.
Thoughts?


stale.py Node(stm.check_transactions) is crushing

BigchainDB version: 1.3
Operating System: linux Mesos
Deployment Type: Docker
BigchainDB driver: yes
If using a driver please specify, driver type java 0.1
.
I am sending around  100 transactions  per second to bigchaindb server running inside docker
After several minutes I see 2 [bigchaindb] defunct processes
and transactions are not leaving backlog

There is no error messages

After further debugging I see that Node which has check_transactions is crushing.

hey @yrozhkov
we have new versions of the driver and server, can you use the news ones and try again?
The server is v2.0.0a1 and the js-driver is v4.0.0

This issue arose with BigchainDB version 1.3. The latest version, BigchainDB 2.0.0x, works very differently. For example, BigchainDB no longer maintains a backlog of transactions. (Something similar is maintained by Tendermint, but that's not our concern.) Version 1.3 wasn't an LTS release so we're not supporting it. I'm closing this issue.


Task/uot 128452

Small fix to the LTR, some feature was all 0s and breaking training

added more features


animation loop pause / slowdown?

math3d.org has a nice system for slowing down the render loop on static scenes when the user's not interacting with them.
While porting over @znah's notebook example in the Mathbox repo, I noticed this snippet for pausing a Mathbox instance's render loop when it's offscreen: https://github.com/unconed/mathbox/pull/17/files#diff-4f72fd87fb2ab3fd3821222aabc2f8c7cfd1529301aa4d741efd67e5412846e6R160-R171
@ChristopherChudzicki , do you think that these strategies should be implemented in mathbox-react? Maybe implemented in mathbox but exposed through the mathbox-react component API somehow, I mean.
It feels like a nice idea, to be able to provide a render strategy like this to the top level component.
Or, if not, is there a clean way to hook these strategies in, maybe by storing a mathbox ref separately and using the same callback approach from the notebook?
It feels gross to do that, but maybe it's fine.

@sritchie Ah, that's a neat snippet.
I actually think the best place to implement this is in Threestrap as an option on the Loop plugin. Possibly on by default.
Regarding rate controls: I think Threestrap is also the right place for that (but... mathbox-react probably needs to make interacting with threestrap a bit more convenient in general).
Actually, Threestrap previously had this functionality! It seems to have been accidentally removed:

added in https://github.com/unconed/threestrap/commit/f48f705bee8653eba40bbf0e800ccc0a15dbf6b4#diff-d975bf659606195d2165918f93e1cf680ef68ea3c9cab994f033705fea8238b2R8
removed in https://github.com/unconed/threestrap/pull/11/files

I think we may have inadvertently lost some of Steven's later updates to threestrap =/. More TODOs!


Renaming "Template" to "TemplateRenderer" or "TemplateEngine"?

Maybe it's just me, but I think the current naming sounds a bit confusing.
The TemplateInterface currently exposes the public method render($name, $params = []), but a template does not render stuff, it actually gets rendered by a renderer or template engine.
Should we rename TemplateInterface to TemplateEngineInterface or TemplateRendererInterface?

+1. I was a bit surprised too by the naming (same as it was with "Route" defining actually a "Router"). I like TemplateEngineInterface.

Funny you both noticed that; I've been kicking myself for the naming recently myself. :)
I think TemplateRendererInterface makes most sense at this point, as it doesn't model an engine, but a renderer.
@danizord — care to create a pull request?

I was also a bit surprised by the fact that it is called Template and not TemplateRenderer

Closed with #139.


Worst Case Analysis

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

@thecodingaviator This one has gone stale.

Hi @Nathan-Abegaz ,
As there has been no response from your end for a while, we are closing this PR.
Feel free to request this PR to be reopened, if you still wish to make the changes you originally added.  Also, remember to update your fork, so you have the latest version of master in case it has changed significantly.
Happy Coding! ✈


multi-line content in tables

Describe the solution you'd like
I'd like to have multi-line content in table rows, similarly to tailwind ui, see With avatars and multi-line content
Describe alternatives you've considered
Tailwind UI, Flowbite.

I guess you can do whatever you like by using slots: https://ui.nuxtlabs.com/data/table#column-data

@benjamincanac you are right! It works but maybe is a bit unfriendly code-wise. Anyway better than nothing!
Now I need to understand how to align things properly, but this issue can be closed (except if a more friendly way can be thought).

I think the issue is resolved. Using slots we can customize the look and feel of table. We can close this issue.


[Feature Request] show a larger image preview as tooltip

One can choose the size of the image in the menu/history. But it makes no sense to actually use a large image in the menu.
However, it would be a nice feature, if the menu item's tooltip were to show a larger version of the image.
What do you think?

@tessus I think custom tooltip is a wonderful feature.
Implementation will be a while later, but I will implement it in the future 👍
Thank for your request.

Thank you for looking into it.

Just wanted to follow up and ask about the status.

Project dead.


:bug: Update check_pre_req.sh

Summary
Added installation suggestion for GNU Make utility.
Related issue(s)
Fixes #2245

Closing PR to add DCO from beginning.


[Bug] multiple plugins causing some to not load

Describe the Bug
 I have a total of 50 plugins installed and some like ServerSearch, Toggle Game Activity, and SpellCheck won't load. If I reload these some will but others won't
To Reproduce
 Have over 50 plugins loaded. Some won't load
Expected Behavior
 them to load
Screenshots

Discord Version
 Stable
Additional Context
 I'm using the clear Vision theme but these worked with it before with no issues

If you need any more detail I can provide whatever you need tomorrow.

I too am having this issue. Every time Discord launches, various plugins seem to fail to run. Some fail more than others. Manually reenabling them seems to fix the problem, however, I feel like having to do that for every single time Discord launches can be a hassle. Perhaps a load order could be added to counteract this? I'm not sure if this is already incorporated in Better Discord, but maybe even a settable delay between loading up plugins? Maybe even a way to detect whether or not plugins are running or not and enabling them as a result if they aren't?

Plugins are delayed until the DOM is available, however sometimes plugins don't properly wait until the elements they want are available. When this happens, if they fail to handle the error properly BD disables them. This is why it appears as if they just didn't run at all. If you can get a list of what plugins are consistently failing on load we can confirm it. I know off the top of my head that this can happen for ServerSearch and ToggleGameActivity. Again, it would be on those plugins and not BD itself to properly check for the elements.


Use Common Event API for Remediation cannot start due to node not found

Update common to v1.15.1
Use medik8s/common API for remediation cannot start event

/test 4.15-openshift-e2e

/lgtm


Add changelog

Please consider providing a textual changelog so it is easier for users and developers to see what changes from version to version.

Example changelog of devise
Example changelog of cancan
Example changelog of angular.js
GitHub offers release notes
GitHub release notes example of better_errors
Umweltzone

Thanks for this suggestion @johnjohndoe .
We'll be documenting the plugin's future changes under the releases section on Github.

Recent releases missing notes.

Friendly reminder.

Thanks @johnjohndoe!
Our release process automatically saves the release notes on Bintray.
We've just added a Release Notes section in the README, linking to the Release Notes page on Bintray.

Nice, thank you!


Delint code (remove unused code, replace calls of deprecated functions, fix typos, etc.)

Yeah, when we finished refactoring the tests, the code became unused (but a lot of it was unused before; probably because of tests that were deleted in the past)


Better message when web service is down

Feature Request
Desired behaviour
Currently, if the web service is entirely down, we get
 The webservice encountered an error trying to create/modify.

[HTTP 0] Unknown Error: [object ProgressEvent]

Should probably be something like
The webservice is currently down, possibly due to load. Please wait and retry later or similar.

Is this error visible in the UI?

FYI, if the webservice is down and somebody reloads the UI2 site, the site currently redirects to the maintenance page.  However, if the page was already open, it will not redirect.  This is because in the UI2, currently there's only one endpoint that's checked to see if webservice is down.  That endpoint only runs once per page reload.

@agduncan94  Yup, this is in the later situation. I see this message on either my-tools/my-workflows refresh if I bring the webservice down after loading the page

Works locally now anyway


Doesn't like Kevin

<EMAIL_ADDRESS>will return empty string:
<EMAIL_ADDRESS>', get_host=True)

{'first_name': '', 'last_name': '', 'host': 'gmail.com\t'}

I will check what I can do with it. In the meantime, if you think of a solution feel free to open a PR.

What is the desired output here? Is it {'first_name': 'Kevin', 'last_name': 'Dud', 'host': 'gmail.com'}?


References for {{link-to}} helper

The target part of the {{link-to}} helper should be referenced to the corresponding route, controller and template.

apparently I'm stupid... https://github.com/Turbo87/intellij-emberjs/issues/69


Question about the DNA model

Hi, I am working on some data analysis on the DNA nanopore data.
I want to double check that whether the kmer pore model data (shown in the etc/r9-models/r9.4_450bps.nucleotide.6mer.template.model) is from 5' to 3' or from 3' to 5'?
Thanks in advanced!

Hi @WenxuZhang,
It is 5'->3'.
Jared

ok, thanks!


Added hide and restore mp4 file

GIF is too big.

https://user-images.githubusercontent.com/30021675/128586147-2a353579-b22c-4308-8158-c231b1f99104.mp4

The one above is broken.
https://user-images.githubusercontent.com/30021675/128586163-d86e37dc-fcec-4a0f-8f71-6ff5ca8dc941.mp4


software_spec: remove debug statement

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew style with your changes locally?
[ ] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

Review period skipped due to critical label.

I removed this but rubocop prevented the file from saving in time 🤦🏻. Thanks @nandahkrishna!


Replace preset-hmre with vanilla webpack HMR

This is an alternative to https://github.com/react-boilerplate/react-boilerplate/pull/1207.
Downsides:

does not preserve component's state but Redux state will be in place;
could be annoying to some devs that injected non-daemon sagas will be restarted on each change in components, though in my experience it's not a big deal.

Upsides:

very simple setup;
works with any kind of component unlike deprecated react-hmre;
react-hot-loader is still fragile with a lot of edge cases, here we have none;
injected sagas and reducers will be hot re-loadable for free (no additional setup necessary).

/cc @justingreenberg, @marnusw, @anuraaga
[justingreenberg] edit: resolves #1068

Coverage remained the same at 100.0% when pulling 25fddcc6e4b550b29d90d78e99f06a03d69cedba on Dattaya:bare-hmr into a578ef050f38f9e80384d8e333e5df19177afe5d on react-boilerplate:dev.

@Dattaya looks good to me.... using vanilla webpack hmr is a solid, maintainable approach—as you mentioned, the lack of support for local component state should generally be ok for redux applications since most data and core application state should be lifted into global state... the vastly reduced complexity is worth it
imo, none of the downsides would be a deal breaker for this approach, but i would love feedback from other peeps from core

has this been tested with webpack v3 by chance?
maybe we should include something in docs with link to webpack hmr docs?

LGTM - I had tried using react-hot-loader with ReactLoadable and couldn't get it to update the memoized components, but this approach is working great, very nice.

@anuraaga, thank you for trying it out.
@justingreenberg, thanks for renaming the title, fun fact: initially I wanted to name the branch bare-hot 😁.

has this been tested with webpack v3 by chance

Since ModuleConcatenationPlugin is incompatible with DllPlugin) I had to try one or the other, so webpack v3 + DllPlugin—hot reloading works, but webpack v3 with ModuleConcatenationPlugin is a completely different story—react-loadable throws errors on hot reloading and shows a loading indicator instead of a component that was supposed to be loaded. For some reason imported HomePage no longer has __esModule: true flag and resolve returns incorrect result. I think that is a bug in webpack.

maybe we should include something in docs with link to webpack hmr docs?

Added a note with a link in introduction.

Coverage remained the same at 100.0% when pulling c859b1807b01dd16baccb11dfafe2bd46f3cbf3a on Dattaya:bare-hmr into a578ef050f38f9e80384d8e333e5df19177afe5d on react-boilerplate:dev.

Coverage remained the same at 100.0% when pulling 9c2227d8f2243f2c5a3349880245cecddf2a66f5 on Dattaya:bare-hmr into a578ef050f38f9e80384d8e333e5df19177afe5d on react-boilerplate:dev.

Coverage remained the same at 100.0% when pulling d325864ee44607238b3db34e36101d511e278bb7 on Dattaya:bare-hmr into a578ef050f38f9e80384d8e333e5df19177afe5d on react-boilerplate:dev.

Other collaborators seem to be busy, I'll just go ahead and :shipit:, we can always improve/revert/replace it later.

Hey, are there any recently added prerequisites to get webpack hmr working, which are not directly included in this PR?
I have a project based on a an earlier verison of react-boilerplate and trying to apply the changes from this pr, but they break hot reloading and a page reload is triggered on any code change instead.

@kaiwa, could be because RR3 (as well as 2) memoizes routing components, take a look at https://github.com/ReactTraining/react-router/issues/2182, maybe you'll find suitable solution there.

@Dattaya just managed to upgrade react-router, it is working now with webpack hmr! thx


Refactor tests that use anvil1 keystore to use temp dirs instead

stderr = 'Running deploy command...\nTraceback (most recent call last):\n  File "/home/charles/moccasin/.venv/bin/mox", line 8,...^^^^^^^^^^^^^^\nFileNotFoundError: [Errno 2] No such file or directory: \'/home/charles/.moccasin/keystores/anvil1\'\n'

You shouldn't need to have this keystore installed to run this.
Also:
~/.moccasin/unsafe-passwords/

fixed in 020882291ab40d4739d2586c4cb77511cafaf6d1


WIP Jav 234 support zuul

Coverage decreased (-6.0%) to 60.976% when pulling 12e30292ffd16cc65947fb283433eeaaae45b395 on JAV-234_support_zuul into d89b27cad7fdf073a2a4637f6399c916d5871caf on master.


CRISPRfinder database - locus start and end positions wrong

Some of the CRISPR locus start and end positions reported in the CRISPR db results are apparently wrong. This affects a small number of organisms and I noticed it when I saw that in these cases, all spacers appear to be self-matches. To see the discrepancy, compare the results of the following two searches:

Run genome NZ_CP008862.2 through CRISPRfinder and look at the locus start and end positions.

Look at the database record for the same organism Pseudomonas aeruginosa GCF_001516365. The start and end locus positions are larger than the size of the entire genome.

Solution: it looks like we can't rely on the exported output from the existing CRISPRdb and should instead run all genomes through CRISPRfinder ourselves. This is what we were going to do anyway, so I guess this is one more reason.

I subscribed because I might have an interest in contributing. I like python, db's and complex problems.
new to genomics other than reading 'gene' and 'a life decoded'.
I'm going to try and get a handle on what your doing so I'll go dig for a while.

Hi @MarcPuckett, sounds great! Let me know if there's anything I can do to aid your research.


samtools missing from environment.yml

Got a failure using system samtools 1.2. Are we using any deprecated samtools invocations?

specifically samtools view in the map_chunks rule

Seems to work fine with latest samtools 1.4 from bioconda.

awesome catch, thank you!


services/horizon: Remove old "ingest" package

PR Checklist
PR Structure

[x] This PR has reasonably narrow scope (if not, break it down into smaller PRs).
[x] This PR avoids mixing refactoring changes with feature changes (split into two PRs
otherwise).
[x] This PR's title starts with name of package that is most changed in the PR, ex.
services/friendbot, or all or doc if the changes are broad or impact many
packages.

Thoroughness

[x] This PR adds tests for the most critical parts of the new functionality or fixes.
[x] I've updated any docs (developer docs, .md
files, etc... affected by this change). Take a look in the docs folder for a given service,
like this one.

Release planning

[x] I've updated the relevant CHANGELOG (here for Horizon) if
needed with deprecations, added features, breaking changes, and DB schema changes.
[x] I've decided if this PR requires a new major/minor version according to
semver, or if it's mainly a patch change. The PR is targeted at the next
release branch if it's not a patch change.

What
This commit removes the old ingest package in Horizon.
Why
Before #1848 and releasing the stable Horizon version with the new ingestion system we need make sure the old and new system do not interfere. To achieve this we remove the old ingestion system package and it's usages. This commit also removes ENABLE-EXPERIMENTAL-INGESTION feature flag and starts ingestion if the old feature flag: INGEST is enabled.
It also updated standardSession to create a shut down channel to support some tests (calls close on nil channel when App is closed in tests).
Test scenarios had to be rebuilt because some actions now use the new ingestion system key_value_store and it was missing from Horizon DB scenario dumps.
Known limitations
When merged this PR will make Horizon broken in the release branch until we have some of the PRs below. This PR was submitted first for readability.

#2110 Because it's now possible that some instances are not ingesting we need to update StateReady function.
#2109 Update history processors to use history_ tables instead of exp_history_ tables.
#2109 Add DB migration to remove all exp_history_ tables.
#2089 Update horizon db reingest commands to use the new system.
#2088 Update state machine to catchup if the last ledger is not a checkpoint ledger.
Some tests using test scenarios (the ones that use the new source of data in the new system: asset stats and offers) are currently broken.
There are some unused structs (like AssetsAction or paths/search) that can be removed in another PR.

Going to close this one and create a few smaller PRs doing the same things. Thanks for the feedback!


⚠ BCR Bot has degraded performance

In 29d176b, BCR Bot (https://bcr.alternativasinteligentes.com/BCRApi/web/chatbot) experienced degraded performance:

HTTP code: 200
Response time: 1587 ms

Resolved: BCR Bot performance has improved in 53953b5.


Chainguard wolfi-base image as base for docker

This pull request exchanges the python/ubuntu and alpine images in the Dockerfile for the wolfi-base image (see https://github.com/wolfi-dev). This was requested in #58 .
As the wolfi-base image is very restrictive with dependencies / packages, some of the dependencies needed to be changed in order to be able to build with nuitka. Especially the dependency dll caused issues as building the harbor.bin from python code also involves building its dependencies like harborapi.

Linting works fine!
I tried to build it locally via docker build . -t test. This results in the following error:
0.428 ImportError: cannot import name 'sha512' from 'hashlib' (/usr/lib/python3.12/hashlib.py)

Does this works for you?

This works for me and I am not able to reproduce. Could you share more of the logs?

In my local cluster, I changed the image to sha-43beb4c11cc3. It looks like that no processing happens besides Found id templates ....
Does this works for you?
 You could try the wolfi-image branch in the harbor repository in Gitea to see all logging messages. I will add the logging this week.

@peters-david  Here are the tracebacks. Seems to happen on pip3 install --no-cache-dir -U pip.
Not sure why this happens. Maybe just a issue on my machine then.
docker_build_error.txt

You are not doing something wrong, this is because the non-json logging is still missing. You could try the wolfi-image branch in the harbor repository in Gitea to see all logging messages. I will add the logging this week.

Thanks for the info! Take your time! I tested with the wolfi-image branch. Looks good! :-)

@peters-david

This works for me and I am not able to reproduce. Could you share more of the logs?

It turned out to be a problem on my side. On my local machine the wolfi-base:lastest image was already present, but in an older version, which seems to cause the problems.
If I pull the latest image again or build with docker build --pull -t test . the build works fine! Sorry for the noise!
Alternatively we cause also use sha256 digests and let Renovate update them, e.g.:
cgr.dev/chainguard/wolfi-base:latest@sha256:a9547b680d3d322b14c2e46963b04d7afe71d927a3fa701a839559041989debe

But just an idea!

We could also think about using non root users on later build stages at the Dockerfile. But this might be something for another PR. Just as hint.

The current error TypeError: mro() returned a non-class ('PydanticRecursiveRef') seems to be an error in pydantic.

Added a temporal fix to pin the httpx version as other versions caused trouble in harborapi.


Set up uptime robot or something similar.

Monitor csharpier.com and playground.csharpier.com

Already had csharpier.com, added playground.csharpier.com


Remove version: FlightGear.FlightGear version 2020.3.11

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

Close with reason: Removal appears to be automated and in error;


Style Loader Invalid Options - options.importLoaders next@5

[x] I have searched the issues of this repository and believe that this is not a duplicate.

I get this error message on next build
Module build failed: ValidationError: Style Loader Invalid Options
options['importLoaders'] should NOT have additional properties

next.config.js
.babelrc
All the other files

Your Environment

Tech
Version

next
5.0.0, 5.0.1-canary.5

node
8.9.1

Still not fixed in<EMAIL_ADDRESS>and still blocking me from upgrading to next@5

Upgrade next-css next-sass and or next-less. The config was removed.

This is an issue for github.com/zeit/next-plugins btw.

can confirm it's fixed in<EMAIL_ADDRESS>


Remove bridge multiplier

added in: https://github.com/threefoldtech/tfchain_tft/commit/f7fdd1f5d21845ab92c61db2029fe75b0985ce5f


Always getting a timeout from http_mjpeg_streamer

I successfully downloaded the package with go get github.com/blackjack/webcam and then I built the http_mjpeg_streamer example program with go install github.com/blackjack/webcam/examples/http_mjpeg_streamer.
When I invoke the sample program in single-image mode and then try to connect with a web browser or with wget nothing is received from the program, and http_mjpeg_streamer reports a timeout:
$ golang/bin/http_mjpeg_streamer  -m
Available formats:
YUYV 4:2:2
Motion-JPEG
Supported frame sizes for format YUYV 4:2:2
160x120
176x144
320x240
352x288
640x480
800x600
1280x960
1280x1024
1600x1200
Requesting YUYV 4:2:2 1600x1200
Resulting image format: YUYV 4:2:2 1600x1200
2018/08/09 21:26:30 connect from [2001:a61:5f2:900:f56e:b993:9bef:3d35]:64670 /
2018/08/09 21:26:37 Timeout occured

This is on a Raspberry Pi with Raspbian. I can successfully grab images from /dev/video0 device with the fswbcam program.
What am I doing wrong?

I'm a step further now. I realized that the timeout is not related to the HTTP transfer, but apparently to the reading of the frame from the video device. If I set the frame size to a smaller value, then  the timeout does not happen, but something else fails:
$ ./http_mjpeg_streamer -m -s 160x120
Available formats:
YUYV 4:2:2
Motion-JPEG
Supported frame sizes for format YUYV 4:2:2
160x120
176x144
320x240
352x288
640x480
800x600
1280x960
1280x1024
1600x1200
Requesting YUYV 4:2:2 1600x1200
Resulting image format: YUYV 4:2:2 1600x1200
2018/08/11 15:51:35 connect from [2001:a61:5f2:900:f9dc:f60d:4978:38d0]:51637 /
fatal error: runtime: out of memory

runtime stack:
runtime.throw(0x28c7c2, 0x16)
        /usr/lib/go-1.7/src/runtime/panic.go:566 +0x78
runtime.sysMap(0x10e60000, 0x100000, 0x122901, 0x382b80)
        /usr/lib/go-1.7/src/runtime/mem_linux.go:230 +0x15c
runtime.(*mheap).sysAlloc(0x374ef8, 0x100000, 0x10600b9c)
        /usr/lib/go-1.7/src/runtime/malloc.go:407 +0x144
runtime.(*mheap).grow(0x374ef8, 0x8, 0x0)
        /usr/lib/go-1.7/src/runtime/mheap.go:726 +0x68
runtime.(*mheap).allocSpanLocked(0x374ef8, 0x1, 0x215a8)
        /usr/lib/go-1.7/src/runtime/mheap.go:630 +0x634
runtime.(*mheap).alloc_m(0x374ef8, 0x1, 0x2, 0x3a500, 0x371e58)
        /usr/lib/go-1.7/src/runtime/mheap.go:515 +0x138
runtime.(*mheap).alloc.func1()
        /usr/lib/go-1.7/src/runtime/mheap.go:579 +0x40
runtime.systemstack(0xb6490d68)
        /usr/lib/go-1.7/src/runtime/asm_arm.s:261 +0xa8
runtime.(*mheap).alloc(0x374ef8, 0x1, 0x2, 0x100, 0x287f0)
        /usr/lib/go-1.7/src/runtime/mheap.go:580 +0x58
runtime.(*mcentral).grow(0x3759f8, 0x0)
        /usr/lib/go-1.7/src/runtime/mcentral.go:210 +0xb0
runtime.(*mcentral).cacheSpan(0x3759f8, 0xb6db87c0)
        /usr/lib/go-1.7/src/runtime/mcentral.go:91 +0x644
runtime.(*mcache).refill(0xb6db2000, 0x2, 0xb6db87c0)
        /usr/lib/go-1.7/src/runtime/mcache.go:121 +0xd4
runtime.(*mcache).nextFree.func1()
        /usr/lib/go-1.7/src/runtime/malloc.go:505 +0x28
runtime.systemstack(0x1061c000)
        /usr/lib/go-1.7/src/runtime/asm_arm.s:247 +0x80
runtime.mstart()
        /usr/lib/go-1.7/src/runtime/proc.go:1079

goroutine 5 [running]:
runtime.systemstack_switch()
        /usr/lib/go-1.7/src/runtime/asm_arm.s:192 +0x4 fp=0x10649330 sp=0x1064932c
runtime.(*mcache).nextFree(0xb6db2000, 0x10e4b002, 0x10e5fbf0, 0xb6db87c0, 0x1000)
        /usr/lib/go-1.7/src/runtime/malloc.go:506 +0x154 fp=0x10649354 sp=0x10649330
runtime.mallocgc(0x3, 0x26c280, 0x10a01, 0x214a6)
        /usr/lib/go-1.7/src/runtime/malloc.go:635 +0x474 fp=0x106493f4 sp=0x10649354
runtime.newobject(0x26c280, 0x0)
        /usr/lib/go-1.7/src/runtime/malloc.go:785 +0x30 fp=0x10649408 sp=0x106493f4
runtime.convT2I(0x35a1a0, 0x10649438, 0x0, 0x0, 0x0)
        /usr/lib/go-1.7/src/runtime/iface.go:188 +0x84 fp=0x10649420 sp=0x10649408
image.(*YCbCr).At(0x1061a080, 0x166, 0x55, 0x0, 0x0)
        /usr/lib/go-1.7/src/image/ycbcr.go:71 +0x6c fp=0x1064943c sp=0x10649420
image/jpeg.toYCbCr(0x35b790, 0x1061a080, 0x160, 0x50, 0x106494f4, 0x106499f4, 0x106495f4)
        /usr/lib/go-1.7/src/image/jpeg/writer.go:396 +0xcc fp=0x1064947c sp=0x1064943c
image/jpeg.(*encoder).writeSOS(0x10674000, 0x35b790, 0x1061a080)
        /usr/lib/go-1.7/src/image/jpeg/writer.go:522 +0x318 fp=0x10649e0c sp=0x1064947c
image/jpeg.Encode(0x359960, 0x106180c0, 0x35b790, 0x1061a080, 0x0, 0x0, 0x0)
        /usr/lib/go-1.7/src/image/jpeg/writer.go:607 +0x404 fp=0x10649ee0 sp=0x10649e0c
main.encodeToImage(0x1060ce40, 0x1061a3c0, 0x1061a380, 0x1061a340, 0x640, 0x4b0, 0x56595559)
        /home/stm/golang/src/github.com/blackjack/webcam/examples/http_mjpeg_streamer/webcam.go:227 +0x3bc fp=0x10649fac sp=0x10649ee0
runtime.goexit()
        /usr/lib/go-1.7/src/runtime/asm_arm.s:998 +0x4 fp=0x10649fac sp=0x10649fac
created by main.main
        /home/stm/golang/src/github.com/blackjack/webcam/examples/http_mjpeg_streamer/webcam.go:141 +0xe9c

goroutine 1 [syscall]:
syscall.Syscall6(0x8e, 0x4, 0x10647c94, 0x0, 0x0, 0x10647c84, 0x0, 0x2a05f5e7, 0x1, 0x3b9aca00)
        /usr/lib/go-1.7/src/syscall/asm_linux_arm.s:48 +0x8
golang.org/x/sys/unix.Select(0x4, 0x10647c94, 0x0, 0x0, 0x10647c84, 0x0, 0x0, 0x0)
        /home/stm/golang/src/golang.org/x/sys/unix/zsyscall_linux_arm.go:1954 +0x84
github.com/blackjack/webcam.waitForFrame(0x3, 0x5, 0x248680, 0x0, 0x0)
        /home/stm/golang/src/github.com/blackjack/webcam/v4l2.go:411 +0x330
github.com/blackjack/webcam.(*Webcam).WaitForFrame(0x1060ce40, 0x5, 0x0, 0x0)
        /home/stm/golang/src/github.com/blackjack/webcam/webcam.go:211 +0x34
main.main()
        /home/stm/golang/src/github.com/blackjack/webcam/examples/http_mjpeg_streamer/webcam.go:153 +0xf3c

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
        /usr/lib/go-1.7/src/runtime/asm_arm.s:998 +0x4

goroutine 6 [IO wait]:
net.runtime_pollWait(0xb5c57060, 0x72, 0x0)
        /usr/lib/go-1.7/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).wait(0x1061a438, 0x72, 0x0, 0x0)
        /usr/lib/go-1.7/src/net/fd_poll_runtime.go:73 +0x34
net.(*pollDesc).waitRead(0x1061a438, 0x0, 0x0)
        /usr/lib/go-1.7/src/net/fd_poll_runtime.go:78 +0x30
net.(*netFD).accept(0x1061a400, 0x0, 0x359de0, 0x1066b060)
        /usr/lib/go-1.7/src/net/fd_unix.go:419 +0x21c
net.(*TCPListener).accept(0x10626608, 0x2470d1ff, 0x0, 0x0)
        /usr/lib/go-1.7/src/net/tcpsock_posix.go:132 +0x30
net.(*TCPListener).AcceptTCP(0x10626608, 0x6d35c, 0x0, 0x0)
        /usr/lib/go-1.7/src/net/tcpsock.go:209 +0x9c
net/http.tcpKeepAliveListener.Accept(0x10626608, 0x0, 0x0, 0x0, 0x0)
        /usr/lib/go-1.7/src/net/http/server.go:2608 +0x3c
net/http.(*Server).Serve(0x10664af0, 0x35b970, 0x10626608, 0x0, 0x0)
        /usr/lib/go-1.7/src/net/http/server.go:2273 +0x200
net/http.(*Server).ListenAndServe(0x10664af0, 0x0, 0x0)
        /usr/lib/go-1.7/src/net/http/server.go:2219 +0xf4
net/http.ListenAndServe(0x2875f4, 0x5, 0x0, 0x0, 0x0, 0x0)
        /usr/lib/go-1.7/src/net/http/server.go:2351 +0x90
main.httpImage(0x2875f4, 0x5, 0x1061a340)
        /home/stm/golang/src/github.com/blackjack/webcam/examples/http_mjpeg_streamer/webcam.go:272 +0x7c
created by main.main
        /home/stm/golang/src/github.com/blackjack/webcam/examples/http_mjpeg_streamer/webcam.go:143 +0xeec

goroutine 8 [chan receive]:
main.httpImage.func1(0x35b8d0, 0x1065c090, 0x1060a500)
        /home/stm/golang/src/github.com/blackjack/webcam/examples/http_mjpeg_streamer/webcam.go:259 +0x18c
net/http.HandlerFunc.ServeHTTP(0x106265f8, 0x35b8d0, 0x1065c090, 0x1060a500)
        /usr/lib/go-1.7/src/net/http/server.go:1726 +0x34
net/http.(*ServeMux).ServeHTTP(0x371f28, 0x35b8d0, 0x1065c090, 0x1060a500)
        /usr/lib/go-1.7/src/net/http/server.go:2022 +0x164
net/http.serverHandler.ServeHTTP(0x10664af0, 0x35b8d0, 0x1065c090, 0x1060a500)
        /usr/lib/go-1.7/src/net/http/server.go:2202 +0x150
net/http.(*conn).serve(0x1061a300, 0x35bc48, 0x1060d060)
        /usr/lib/go-1.7/src/net/http/server.go:1579 +0xde8
created by net/http.(*Server).Serve
        /usr/lib/go-1.7/src/net/http/server.go:2293 +0x470

goroutine 9 [IO wait]:
net.runtime_pollWait(0xb5c56f70, 0x72, 0x10dee000)
        /usr/lib/go-1.7/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).wait(0x1061a578, 0x72, 0x0, 0x0)
        /usr/lib/go-1.7/src/net/fd_poll_runtime.go:73 +0x34
net.(*pollDesc).waitRead(0x1061a578, 0x0, 0x0)
        /usr/lib/go-1.7/src/net/fd_poll_runtime.go:78 +0x30
net.(*netFD).Read(0x1061a540, 0x10dee000, 0x1000, 0x1000, 0x0, 0x35a638, 0x106140a0)
        /usr/lib/go-1.7/src/net/fd_unix.go:243 +0x1f0
net.(*conn).Read(0x10626218, 0x10dee000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /usr/lib/go-1.7/src/net/net.go:173 +0xb8
net/http.(*connReader).Read(0x1060ce80, 0x10dee000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /usr/lib/go-1.7/src/net/http/server.go:586 +0x1d8
bufio.(*Reader).fill(0x10616450)
        /usr/lib/go-1.7/src/bufio/bufio.go:97 +0x1c4
bufio.(*Reader).ReadSlice(0x10616450, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/lib/go-1.7/src/bufio/bufio.go:330 +0x264
bufio.(*Reader).ReadLine(0x10616450, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/lib/go-1.7/src/bufio/bufio.go:359 +0x60
net/textproto.(*Reader).readLineSlice(0x1060cfe0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/lib/go-1.7/src/net/textproto/reader.go:55 +0x58
net/textproto.(*Reader).ReadLine(0x1060cfe0, 0x0, 0x0, 0x0, 0x0)
        /usr/lib/go-1.7/src/net/textproto/reader.go:36 +0x34
net/http.readRequest(0x10616450, 0x23a00, 0x1060a380, 0x0, 0x0)
        /usr/lib/go-1.7/src/net/http/request.go:793 +0x80
net/http.(*conn).readRequest(0x1061a5c0, 0x35bc48, 0x1060cfa0, 0x0, 0x0, 0x0)
        /usr/lib/go-1.7/src/net/http/server.go:765 +0x3d4
net/http.(*conn).serve(0x1061a5c0, 0x35bc48, 0x1060cfa0)
        /usr/lib/go-1.7/src/net/http/server.go:1532 +0x910
created by net/http.(*Server).Serve
        /usr/lib/go-1.7/src/net/http/server.go:2293 +0x470

Apparently the Raspberry Pi doesn't have enough memory to encode the image.
What looks strange is the following message:
Resulting image format: YUYV 4:2:2 1600x1200

Is that expected when I request image size 160x120 with the command line option -s 160x120?

I have stripped down the example program so it fits my needs and so that it doesn't fail because of memory shortage, therefore I'm closing the issue. It would still be interesting though whether the inability to request a smaller image size is expected behavior.


(FreeCAD) to add streams and package params

@AdmiringWorm

This is a WIP for the FreeCAD package. This will add Streams and PackageParams
Description

Motivation and Context

If it fixes an open issue, please link to the issue here. Issue #1146

How Has this Been Tested?

Screenshot (if appropriate, usually isn't needed):
Types of changes

[X] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Migrated package (a package has been migrated from another repository)

Checklist:

[X] My code follows the code style of this repository.
[X] My change requires a change to documentation (this usually means the notes in the description of a package).
[X] I have updated the documentation accordingly (this usually means the notes in the description of a package).
[X] All files are up to date with the latest Contributing Guidelines
[ ] The added/modified package passed install/uninstall in the chocolatey test environment.
[X] The changes only affect a single package (not including meta package).

Original Location

Original Repository
Open Issues Add the different issues underneath, and tick those that are fixed in this PR

[X] Issue #1146

[ ] Include the link to the opened PR that removes the package from the original location
[ ] The migration guidelines have been followed

:white_check_mark: Package verification completed without issues. PR is now pending human review

:white_check_mark: Package verification completed without issues. PR is now pending human review

@AdmiringWorm
Can you take a look at why this isn't testing install of the --pre version?

@RedBaron2 is it a known issue in the script used to test the packages, and I have not yet figured out a way to get this working reliably yet.

@AdmiringWorm Thanks.
We will see what updates I can test out separately.

@AdmiringWorm
I found a problem in my directory drill down to the freecad.exe executable. I'm using the chocolatey zip installer. I need to find the name of the file without extension. should I do this via powershell or does chocolatey have a helper for such things?

No. there isn't any helper for such a thing, not that I have seen anyway.
So you would need to do that via powershell

@AdmiringWorm
I'm using the helper Install-ChocolateyShortcut to make the shortcut on the desktop and or taskbar. Chocolatey autouninstaller fails to uninstall the shortcut. Do I need to test-path the shortcut on the desktop to remove it, but this will only help if the user hasn't changed the location to someplace else. I find it odd to make a helper that installs without a uninstall option. Thanks for any help.

Do I need to test-path the shortcut on the desktop to remove it, but this will only help if the user hasn't changed the location to someplace else.

Just rm -ea 0 file. If it exists it will get removed.
User manual changes are not in the scope (not for any software honestly).

:white_check_mark: Package verification completed without issues. PR is now pending human review

@majkinetor
I went with a suggestion you mentioned via gitter about a file. I decided to use json instead of xml
@AdmiringWorm @majkinetor
If you could take a look at the PR

:white_check_mark: Package verification completed without issues. PR is now pending human review

@majkinetor @AdmiringWorm @gep13
I'm just bumping this to remind you that this just needs to be reviewed

:white_check_mark: Package verification completed without issues. PR is now pending human review

@majkinetor
I'll work on the changes and suggestions. Should have a update as time allows.

@majkinetor
Changes are made as requested. Please review again.

:white_check_mark: Package verification completed without issues. PR is now pending human review

I will request a hold on this being merged till a fix for the dev versioning is worked out, Please

:white_check_mark: Package verification completed without issues. PR is now pending human review

@majkinetor @AdmiringWorm
updated the files to have the portable version
both portable and dev versions can use the package params
tested with appveyor to install and uninstall

:x: Package verification failed, please review the Appveyor Logs and the provided Artifacts before requesting a human reviewer to take a look.

:white_check_mark: Package verification completed without issues. PR is now pending human review

@majkinetor
Oh I also fixed the minor dependency that this package had on AU. I now check to see if the Command is available, if not then we use some regex magic.
Thanks for the help

:white_check_mark: Package verification completed without issues. PR is now pending human review

@majkinetor
The requested updates have been made, and tested in Appveyor. Shortened up the features list and limited down the package parameters (Though the code is still there for the extra options if needed in the future.)

:white_check_mark: Package verification completed without issues. PR is now pending human review

@gep13 @majkinetor @AdmiringWorm
The FreeCAD Development group changed the Conda version they used and the versioning of the file. This resulted in needing to change the helper functions. These chnages have been made and now require a review.
Thanks for the assistance.


ensure ready to release

This change addresses item #[[put issue number here to generate a link]]
This changes [[visible behavior/performance/documentation/etc.]]
The following changes are proposed:

The purpose of this change

Other Notes/Information

Tests not needed, only changelog and third party notice changes.


pipewire: doc output search index is not reproducible

Building this package twice does not produce the bit-by-bit identical result each time, making it harder to detect CI breaches. You can read more about this at https://reproducible-builds.org/ .
Fixing bit-by-bit reproducibility also has additional advantages, such as avoiding hard-to-reproduce bugs, making content-addressed storage more effective and reducing rebuilds in such systems.
Steps To Reproduce
nix-build '<nixpkgs>' -A pipewire.doc --check --keep-failed

You can use diffoscope to analyze the differences in the output of the two builds.
To view the build log of the build that produced the artifact in the binary cache:
nix-store --read-log $(nix-instantiate '<nixpkgs>' -A pipewire)

Additional context
It seems the documentation search index is the culprit:
https://reproducible.nixos.org/nixos-iso-gnome-runtime/diff/a362c2bcd1fe8aafccd19dacff2ad3e6031a6f4750ab9e08623ea854fcbd64ef-f72c10ba084a98d3dac5e9a651bee1a0f3e07964d3e973288b66ae0e907cea5b.html

checked that https://nixpk.gs/pr-tracker.html?pr=276748 indeed appears to fix this


com.vmware.appliance_client: LocalAccounts.Info(fullname) vs. LocalAccounts.UpdateConfig(full_name)

I'm using latest version from github but also in documentations is the same
Is there any reason why for LocalAccounts.Info we should use (fullname) and for  LocalAccounts.UpdateConfig we should use (full_name)
https://vmware.github.io/vsphere-automation-sdk-python/vsphere/6.7.1/com.vmware.html?highlight=com vmware appliance_client module#module-com.vmware.appliance_client

@NikolayDachev Thanks for raising this issue. Looks like it's a bug on the LocalAccounts.Info. It supposed to be full_name too. Will file a bug to the team.

@tianhao64 is it still open? I can work on it if I can get some guidance.

I believe this was ruled as not a bug by the feature team as the API is already released. I am closing this issue. Feel free to reopen.


Does not update the macro with a new random selection each time it is used

The below is what the macro says and it never changes:
#showtooltip
/cast Holographic Digitalization Hearthstone
It does not matter how many I use it on a single character.

It was the only Hearthstone set to be a favorite.  Oops, sorry.  Thank you!


Add inertiaTensor to the custom Rigidbody editor only if freezeRotation is disabled.

Enabling rotational constraints on objects results in the following error:
Inertia tensor must be larger than zero in all coordinates.
In my particular use case these objects were created from Unity. Setting rotational constraint would make the inertial tensor to be a zero vector which for some reason doesn't create a problem in projects that do not use ROS#.

Hi @abhayraw1 , thank you for this pull request and for your support to improve ROS#!
I am against adding this if-constraint, as it is not clear to me which problem we try to solve:

By definition every rigidbody (that has a positive mass and a positve volume) has an inertia greater than zero. Unity's default value for inertia is (1,1,1).
Even if it might work on the Unity side in your case where rotation constraints apply: If someone exports that URDF to ROS in a later step, rotation constraints will not be exported, an the zero inertia will be used in Gazebo and likely cause problems there.
It is not clear to me how you got Unity to produce an inertia of zero in your application. I just played around with rotation constraints and rigidbodies. Unity always produced a  feasible non-zero inertia, even with rotation constraints.

Please check if this inertia = 0 error is due to your code / application only.
If so, I'd suggest to force Unity to recalulate the rigidbody inertia by rigidbody.ResetInertiaTensor in your code as well.
If this error can be produced without your code, please explain in more detail, how.
Best,
Martin
If any

I totally overlooked the possibility that you pointed out in the second point. And it does make sense to ensure that the inertia tensor has feasible values!
It's weird that somehow I am able to get zero inertia. I even tried on a fresh Unity project to make sure that there are no other factors at play there.
Here's the screenshot of the Rigidbody component of a cube with rotational constraints. And it doesn't seem to produce any errors.

For some reason Unity does seem to ignore the fact that the inertia tensor has zero values in this case (Don't know why though)!
When I import ROS# however, this custom editor reassigns the inertia tensor, leading to Unity being sad about those inertia values.
I totally agree with your point but I can't seem to use these constraints on objects with ROS# included in my project.
PS: I'm using Unity version 2019.3.13.f1

Is a collider added to the GameObject of that Rigidbody or to one of its children?
If not, can you please add one and test if that solves your problem?

Yes, it does have a BoxCollider attached to it.
If I may ask, what is the use case of having a custom editor for Rigidbody component to override the existing one?

Well, looking at the script, we can see that we can directly see and edit CoG and Inertia for a rigidbody in the inspector, which would otherwise be only accessible via script.
Together with the UrdfInertialEditor we can additionally see what is CoG and inertia data is set in the URDF and choos between our manual input and Unity's estimates.

Just to summarize everything, here are some of the points from our conversation!

The problem lies in the fact that currently, we are unable to specify rotational constraints to our objects in the scene. These objects may or may not be further used to generate their respective URDF files to be used with ROS and Gazebo.
The current modification of the Rigidbody Editor allows the user to change the CoG and the inertia tensor for a rigidbody which otherwise would have to be modified via a script. The values of the CoG and the inertia tensor are generated by Unity by default and displayed in this custom Editor for the user to analyze.

Possible Solution

Have a custom editor for the Rigidbody that doesn't override the default Rigidbody editor. This would give the user the flexibility to choose whether or not they wish to add this component according their use case.
Maybe add this as a part of the UrdfInertialEditor? Or have something like an InertialEditor separately to customize the CoG and the inertia tensor! The default Rigidbody Editor does provide the functionality for viewing these values and the user could add these components independently if needed.

Another issue that I faced is that the changes made in the editor do not persist (revert back to default values) when the scene is played. Am I missing something?


[improve][ci] Add schedule trigger to get master branch code coverage daily

Motivation
To improve code coverage accuracy and have a view of comparing PR and master branch, we need to run master branch CI daily and except flaky tests. The best way is to run master branch CI after PRs merged, but pulsar's Github action runners have few resource, running daily is a trade-off between cost and accuracy.
Modifications

Pulsar CI workflow run daily (12:00, lunch time or sleeping time)
Except flaky test group to run code coverage, otherwise we cannot get an accurate base coverage.

Verifying this change

[x] Make sure that the change passes the CI checks.

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository: https://github.com/yaalsn/pulsar/pull/14

I wonder if it makes sense. The use of CI resources should be minimized.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@240ca43). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master   #18081   +/-   ##
=========================================
  Coverage          ?   70.74%
  Complexity        ?      437
=========================================
  Files             ?       26
  Lines             ?     2246
  Branches          ?      245
=========================================
  Hits              ?     1589
  Misses            ?      484
  Partials          ?      173

Flag
Coverage Δ

unittests
70.74% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

/pulsarbot run-failure-checks

I wonder if it makes sense. The use of CI resources should be minimized.

I think running daily is minimized.

@lhotari Could you help to take a look?

I wonder if it makes sense. The use of CI resources should be minimized.

It should be ok. We just update the new code coverage for the master branch per day.

After this PR, the scheduled build gets run on all forks. There's PR #18411 by @tisonkun  to fix this issue.


Carthage problem

Hello,
When I pull the framework with a carthage update (github "bahlo/SwiftGif" ~> 1.6.1), I can import it normally with "import SwiftGif" but I can't access to any methods of it...
Am I doing wrong or it's a framework issue?
Thank you.

Same here. SwiftGif doesn't work with Carthage. :(

me too :(

this issue is resolved by https://github.com/swiftgif/SwiftGif/pull/57


Translate tasks/administer-cluster/access-cluster-api.md into Korean

This is a Feature Request

What would you like to be added

Translate tasks/administer-cluster/access-cluster-api.md into Korean.
Why is this needed
There is no document of tasks/administer-cluster/access-cluster-api.md which is translated into Korean.
Comments

Page to translate: https://kubernetes.io/docs/tasks/administer-cluster/access-cluster-api/
/language ko

/assign


Allow user to set resources' source when creating a resource via the rest API

At the moment it is not possible to set the source when creating a resource via a restful API.
This makes watching the resources created via the rest API impossible.
@qiujian16 @clyang82 following discussions we've two options:

setting the source as maestro by default
allow user to specify the resource's source

Yes. You are right. You can get resource by using ocm get /api/maestro/v1/resources -p search="source = 'maestro'"

@machi1990 are you fine with the default source as maestro? if so, the PR was merged. Please give a try and then close this issue. Thanks.

Thanks for this.


UNBOUND_SQL_PARAMETER when running the example with 14.2

Hello,
When running the example from the doc:
from databricks import sql

connection = sql.connect(
  server_hostname=HOSTNAME,
  http_path=HTTP_PATH,
  access_token=TOKEN)

cursor = connection.cursor()
cursor.execute('SELECT :param `p`, * FROM RANGE(10)', {"param": "foo"})
result = cursor.fetchall()
for row in result:
  print(row)

cursor.close()
connection.close()

I'm getting this error:
Traceback (most recent call last):
  File "/Users/theo/Documents/perso/dbx/main.py", line 34, in <module>
    cursor.execute('SELECT :param `p`, * FROM RANGE(10)', {"param": "foo"})
  File "/Users/theo/Documents/perso/dbx/.env/lib/python3.11/site-packages/databricks/sql/client.py", line 761, in execute
    execute_response = self.thrift_backend.execute_command(
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/theo/Documents/perso/dbx/.env/lib/python3.11/site-packages/databricks/sql/thrift_backend.py", line 867, in execute_command
    return self._handle_execute_response(resp, cursor)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/theo/Documents/perso/dbx/.env/lib/python3.11/site-packages/databricks/sql/thrift_backend.py", line 959, in _handle_execute_response
    final_operation_state = self._wait_until_command_done(
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/theo/Documents/perso/dbx/.env/lib/python3.11/site-packages/databricks/sql/thrift_backend.py", line 792, in _wait_until_command_done
    self._check_command_not_in_error_or_closed_state(
  File "/Users/theo/Documents/perso/dbx/.env/lib/python3.11/site-packages/databricks/sql/thrift_backend.py", line 596, in _check_command_not_in_error_or_closed_state
    raise ServerOperationError(
databricks.sql.exc.ServerOperationError: [UNBOUND_SQL_PARAMETER] Found the unbound parameter: param. Please, fix `args` and provide a mapping of the parameter to either a SQL literal or collection constructor functions such as `map()`, `array()`, `struct()`. SQLSTATE: 42P02; line 1 pos 7

It looks like the native query parameter isn't working correctly. I'm using an all purpose cluster with a runtime of 14.2 with photon acceleration disabled.
Thank you!

Thanks for this report. I'm trying to reproduce right now.

I've reproduced the same issue internally. Will follow-up with our internal engineers to figure out what's happening here since I'm using the latest 14.2 snapshot with an all-purpose cluster.

Just following up to say that this exact code snippet does work when connected to a SQL warehouse with DBR 14.2

thanks, same here!
ill try with 14.2 beta

I'm puzzled about why the parameter designed to help optimize the query, specifically the 'get the first n rows so I can check the data,' isn't functioning as intended. Any insights on this issue?

I'm puzzled about why the parameter designed to help optimize the query, specifically the 'get the first n rows so I can check the data,' isn't functioning as intended. Any insights on this issue?

This looks like a question for the langchain repo. I don't have any insight about their codebase.

Until this issue is fixed for DBR 14.2 clusters, I suppose the workaround is to use Inline Parameters, correct?
Is there a way to use those with SQLAchemy? The SQLAlchemy docs do describe inlining parameters, but I'm not sure how to use that information alongside the parameter docs for this library here.

@nchammas Try using a SQL warehouse instead, that sounds easier than using inline parameters.

@Falydoor is correct that using a sql warehouse for the time-being is the only true workaround at this time. I'm following up with the engineers about when this will be fixed on all-purpose clusters.

Is there a way to use those with SQLAchemy?

No, databricks-sql-connector's inline parameters are never supported with sqlalchemy (because sqlalchemy doesn't know how to write out the correct variable markers). As you found in the sqlalchemy docs, you can force sqlalchemy to write parameter values as strings in emitted queries - this uses a completely different code path from databricks-sql-connector's inline behaviour, though.

@nchammas What was your in line workaround? I'm facing the same issue here and need a workaround while the Databricks team fixes this. I cannot use SQL warehouse due to cost reasons

@nchammas What was your in line workaround? I'm facing the same issue here and need a workaround while the Databricks team fixes this. I cannot use SQL warehouse due to cost reasons

changing databricks cluster version to 14.2 beta made it for me.

Hi everyone in this thread! Can you please let me know if this issue is still relevant for any of you? Thank you so much!

Hey @kravets-levko,
I just tried with a cluster using DBR 15.0 with databricks-sql-connector==3.1.1 and everything works fine 👍


Toggle night mode in settings menu doesn't work

Issue Description

When I go into settings and click on the night mode button, the website does not switch to night mode. It cannot switch back from night mode to default mode either. There is an error message in the console: Cannot read property 'theme' of undefined
I went into the code and to try to fix the issue, but I have so far come up short. The problem seems to be that client/epics/night-mode-epic.js is looking for the property app.theme in the redux store, which does not exist.
In common/app/redux/index.js there is an initialState object that looks like it is setting app.theme to "default", however, clearly app.theme is never actually set to the redux store.
Browser Information

Browser Name, Version: Chrome 60.0.3112.78, Firefox
Operating System: Linux Mint
Mobile, Desktop, or Tablet: Desktop

Had a look at this for a little bit. If night mode is already set somehow, the following error is thrown:
Warning:
        Future versions of redux-epic will pass all items to the dispatch
        function.
        Make sure you intented to pass [object Object] to the dispatch or you
        filter out non-action elements at the individual epic level.
        Check the nightModeSaga epic.

I got here after trying to manually set app.theme in client/index.js. Hopefully this helps somehow, I'm not terribly familiar with redux/redux-epic.

@yogaboll Well done. Works for me.


How to replace the audio track within a live stream with random noise audio.

For instance, the usage of the following commands:
ffmpeg -i input_video_file_or_stream -f lavfi -i anoisesrc -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 -shortest output_file_or_stream

TRANS_BY_GPT4

SRS is a media server that doesn't transcode or drop audio streams. However, you can use FFmpeg for this purpose. When you publish a stream to SRS, it can notify your system via an HTTP callback. Then, you can start FFmpeg to replace the audio stream with a silent one in your service.