Semantics of this feature in Node.js

Note: The semantics of this proposal in Node.js would be determined by Node collaborators and the Node Modules Team, not in this repository. This issue is purely for requirements-gathering/brainstorming.
A lot of the discussion in the issues seems to relate to how this feature would integrate into non-Web environments. For concreteness, I'm going to talk about how this might integrate into Node.js, since I know slightly more about it than other non-Web environments (but I am no Node expert). I see two general paths for the interpretation. (Note, these are not the only possible paths, they're just two that I thought of to initiate discussion)
Option A: Maximizing for similarity with the web
If we want to be maximally compatible with the web -- that is, code written for Node.js would work on the Web without a build step to handle this aspect of semantics -- then we could simply use the logic in #24, but with s/MIME type/file extension (and possibly more information in package.json)/. The file extension used here would be after some resolution is done, as described in #4, so it may not be what's textually included in source. This would mean that importing JSON modules would require type: "json" to be textually in JS source that's used in Node.js, which differs from traditional ES6 module -> CJS transforms (which of course didn't have this syntax, but JSON modules were present anyway).
Option B: Maximizing for terseness/non-redundancy
On the other hand, we could make type: optional for non-JS all module types in Node.js. The semantics would be based on the template of Option A, but with the following change: if no type: is provided, then there is no check done, and processing is based just on the file extension  (and possibly more information in package.json). This would mean that a build step is expected to add the with type: "json" or whatever else when building for the web.
How this would interact with other alternatives for where to put the attributes
If the attributes are put in an out-of-band file, or in the module specifier, or in a single string, Options A and B are still both available. They make different tradeoffs about web compatibility vs lack of redundancy. This proposal would permit Node.js and other environments to make this decision themselves, regardless of the choice of format for where to put the metadata.

node has no need to use this type information at all; it would have to be optional for everything.

@ljharb Are you saying you agree with Option B, or do you have concerns with it? Under Option B, the type is optional, though if it's provided, it's checked for.

Option B says optional for non-JS types; in node it’d be optional for every type.

Heh, the idea is that it's optional for non-JS types because of course it's just not provided for JS types... so yes, it'd be optional for all types.
It sounds like you're speaking on behalf of Node about what its semantics would be. Has the Node Modules team made a decision about this yet?

I've edited the original post to make the clarification.

To clarify, I’m not speaking on behalf of node or the modules group; however, i can’t imagine that the UX tax of providing a type inline would gain consensus in either venue.

Is Option B acceptable to you, in your personal opinion about developer UX (modulo the question of how unknown types are processed)?

The concerns motivating this proposal don’t exist in node, so if the syntax exists in the language, option B seems like the only non-disruptive way it could work (since compatible web code still needs to be able to work in node)

I'd leave this to the node and the modules WG rather than attempting to state only a few possible options.

Yes, I definitely didn't mean that these are the only two options, and am supportive of this being decided by the Node Modules Team. I wanted to start the discussion, though. You can see that I've also filed issues about the web semantics, even though those would also happen in web standards bodies.

@littledan I've added this to the modules WG. I'm just not comfortable speaking on behalf of the WG as neither of those options seem likely in personal viewpoint.

To add to the node use case: There have been discussions around supporting https: module loading in node, either built-in or as a relatively common loader. So I'm personally not convinced that node is fundamentally different from the web here. The same kind of security concerns could apply in the future and making it optional now could be an issue then.

The same kind of security concerns could apply in the future and making it optional now could be an issue then.

Of note, some people might be skeptical of the need for mandating the type attribute rather than it being an opt-in assertion, myself included. IDK how this would affect other environments. Even if we support loading via https: the security models differ between the runtimes and the mitigations also vary.

Of note, some people might be skeptical of the need for mandating the type attribute rather than it being an opt-in assertion, myself included.

I would count myself in that camp. But to me that applies to the browser as well: In many (most?) cases, I would expect the JSON being imported to be from the same domain etc., controlled by the app owner. So forcing verbose syntax on them (instead of making it an opt-in assertion), feels punitive with little actual security win. Which is always likely to motivate people to find workarounds, undermining the few security wins left.

@jkrems If you think that a JSON file on your web server will only be served with a Content-Type: application/json, there's no need to enforce it by having the type attribute.

Serving your website over some CDN is already a moving piece that might be misconfigured or malicious.

I'd like us to stay realistic though. If you make the argument "but what if your CDN is compromised", then that's entirely out of scope for this issue. Because it's unlikely that somebody has a CDN just for their JSON files. So why would the attacker bother to intercept the JSON load? And if your CDN is misconfigured, with or without a type annotation your website will be broken in fairly obvious ways. I'm aware of bad content-type headers. The question is: How likely is it that having this annotation will make a difference in the face of typical bad content-type scenarios. I have a hard time seeing a practical difference here apart from the safety assertion about arbitrary code execution.

I'd also prefer a noexecute attribute instead of arbitrary metadata, but I think people are unlikely to go for that.

@jkrems I agree that my example was not great. My point was that there are cases where a browser can misinterpret a resource. It's related to security (json vs js) but also provide a good UX for developer mistakes (css vs html module).

Is the intended semantics that type: "json" with a module specifier pointing to a file with js, mjs or exe extension causes it to be interpreted as JSON anyway? That could be useful and actually, as far as I know, add power to Node.js.

@ByteEater-pl it wouldn't affect how the module is interpreted. It would only assert it is the expected type.


Another change in github actions

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (2a62031) 100.00% compared to head (2a53dd7) 100.00%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##                main       #31   +/-   ##
===========================================
  Coverage     100.00%   100.00%
  Complexity      1010      1010
===========================================
  Files             70        70
  Lines           2477      2477
  Branches          88        88
===========================================
  Hits            2477      2477

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Add hasNotNullValueSatisfying()

Summary
When Optional is used, you can use assertThat(optional).hasValueSatisfying( value -> ...). It would be convenient to also have something similar for nullable types.
Sometimes, I have assertions like this in my tests:
assertThat(thing.getSomething()).isNotNull();
assertThat(thing.getSomething().getValue()).isEqualTo(...);

Example
It would be nice to be able to do the above in 1 statement like this:
assertThat(thing.getSomething())
    .hasNotNullValueSatisfying( something -> assertThat(something.getValue()).isEqualTo(...));

Note: not sure if this is a problem, but this would mean that people could use this on an Optional as well, where the value in the lambda would be the optional itself. That is one of the reasons why I would propose to use a slightly different method name compared to hasValueSatisfying.

Have you tried get() (or get(InstanceOfAssertFactory) for type-narrowed assertions)?
It performs an implicit null check and allows to write something like:
assertThat(thing.getSomething())
    .get()
    .isEqualTo(...);

But then I can't do something.getValue() inside of the isEqualsTo, right?

What is getValue() exactly? Are you referring to Optional#get()?

No, getValue() is just a random example of a getter on something that can be null.
Maybe it is clearer like this:
Suppose you have this:
assertThat(thing.getSomething()).isEqualTo("something");

If thing can be null, you need to guard against it like this:
assertThat(thing).isNotNull();
assertThat(thing.getSomething()).isEqualTo("something");

I would love to be able to do this:
assertThat(thing)
    .hasNotNullValueSatisfying( thing -> assertThat(thing.getSomething()).isEqualTo("Something"));

(Writing it like this, I wonder if isNotNullValueSatisfying() would be a better method name)

Thanks, now it's clear to me. Currently, the easiest way I see is:
assertThat(thing).isNotNull()
                 .extracting(ThingType::getSomething)
                 .isEqualTo("something");

Unfortunately, extracting does not perform a null check in advance, so
assertThat(thing).extracting(ThingType::getSomething).isEqualTo("something");

would fail with a NullPointerException if thing is null.
What if we would enhance the behavior of extracting?

What if we would enhance the behavior of extracting?

I would rethink that -- you'd be changing the semantics of an existing method. Right now extracting assumes that actual is not null or the extractor set by the developer can handle nulls. If anybody has used that fact, you'll be silently breaking their tests.
You could add an extractingNullSafe or something. But I actually think the meaning of @wimdeblauwe 's proposal is clearer.
Either way, I would improve the documentation of the existing extracting method. :smile:

What I meant is that extracting should throw a proper assertion error with the corresponding message if the value is null, instead of just failing with a NullPointerException. I doubt that someone is relying on its current behavior in case of a null value, most likely there is a isNotNull call in front of it.

That's also an option, I guess (although I would still leave it alone).
I still think @wimdeblauwe 's idea is better.

The point is to reduce the options to do the same thing, which is already a bit of a flaw with AssertJ.
Currently, I don't see many benefits of introducing a new API for just a preliminary null check, while there is already an existing method that should have done it implicitly.
But let's reevaluate this if other use cases arise.

With extracting, there is no way to nest the calls like with my proposal:
assertThat(thing)
    .hasNotNullValueSatisfying( thing -> {
            assertThat(thing.getSomething())
                    .hasNotNullValueSatisfying( something -> {
                            assertThat(something.getSomeOtherThing()).isEqualTo("SomeOtherThing");

(That said, I still think extracting should not fail with a NullPointerException, but I see that as a separate issue)
About:

The point is to reduce the options to do the same thing, which is already a bit of a flaw with AssertJ.

I don't see it as a flow that we have isPresent, isNotPresent, isEmpty and isNotEmpty for asserting Optional. I like having the option to use the method that makes the test the most readable given my current use case.

With extracting, there is no way to nest the calls like with my proposal:

Why not? Chaining is already a feature and only the null check is currently missing.
Assuming implicit null-check, you could write:
assertThat(thing)
  .extracting(ThingType::getSomething) // fails with AssertionError if thing is null
  .extracting(SomethingType::getSomeOtherThing) // fails with AssertionError if getSomething() result is null
  .isEqualTo("SomeOtherThing")

or, sacrificing type safety:
assertThat(thing)
  .extracting("something.someOtherThing") // fails with AssertionError if any intermediate value is null
  .isEqualTo("SomeOtherThing")

I prefer @scordio suggestion with extracting as it is IMO more elegant than:
assertThat(thing)
    .hasNotNullValueSatisfying( thing -> {
            assertThat(thing.getSomething())
                    .hasNotNullValueSatisfying( something -> {
                            assertThat(something.getSomeOtherThing()).isEqualTo("SomeOtherThing");

Unless you want to have multiple assertions at the same "level":
assertThat(thing)
    .hasNotNullValueSatisfying( thing -> {
            assertThat(thing.getSomethingString()).isEqualTo("foo");
            assertThat(thing.getSomethingList()).hasSize(4);
            assertThat(thing.getSomething())
                    .hasNotNullValueSatisfying( something -> {
                            assertThat(something.getSomeOtherThing()).isEqualTo("SomeOtherThing");

I think that we are heading to style details. The previous example could be written as:
assertThat(thing).isNotNull();
assertThat(thing.getSomethingString()).isEqualTo("foo");
assertThat(thing.getSomethingList()).hasSize(4);
assertThat(thing.getSomething()).isNotNull();                            assertThat(thing.getSomething().getSomeOtherThing()).isEqualTo("SomeOtherThing");

I don't think we can objectively say that the nested solution is more readable than the flat one. Both are equally verbose and it really depends on personal taste.
For this reason, I still don't see it as a valuable addition.


Clients list view tab on org details page

:nut_and_bolt: Description: What code changed, and why?
Added Infra proxy clients list view tab on the org details page.
:chains: Related Resources
https://github.com/chef/automate/issues/3463
:+1: Definition of Done
Added clients tab after the data bags tab on the org details page where we are displaying the client's lists.
:athletic_shoe: How to Build and Test the Change
STEP 1
inside the hab studio

[default:/src:0]# build components/automate-ui-devproxy/
[default:/src:0]# start_automate_ui_background
[default:/src:0]# start_all_services

STEP 2
open new window
go to automate UI path

$ cd components/automate-ui
and run the command

$npm run serve:hab

:white_check_mark: Checklist

[ ] I have read the CONTRIBUTING document.
[ ] Tests added/updated?
[ ] Docs added/updated?
[ ] All commits have been signed-off for the Developer Certification of Origin.

:camera: Screenshots

is there anything else that I need to run to be able to test this?  I don't have any data populated for clients so I can't see anything.

is there anything else that I need to run to be able to test this? I don't have any data populated for clients so I can't see anything.

sample data is not loaded properly.


ng-accordion is not working

Bug description:
We are facing issue when trying to highlight the entity name which is getting rendered on accordion header. To make it working we need to set one attribute (searchon=”true”) to identify the element where we want highlighting functionality. Following are the problems we are facing .
If we talk about the header that’s been constructed by ng-accordian which is third party. So if we want to set the attribute we need to find the element in life cycle hook of the component using DOM manipulations.
If we manage to fix the point 1 above then we will lose the click function of the heading (if clicked on the entity name). This click function is also not controlled by us, it’s been handled by ng-accordian internally.
Note:- entity name is the only property binding to the UI of entry screen, we are filtering on the other properties (fund name, product name etc.) but not visible on UI as per current design, So highlighting will only available on entity name if above issue is resolved somehow.
I'm using ng2-accordion from below link:
https://www.npmjs.com/package/ng2-accordion
`

{{title}}

<button class="btn btn-sm btn-link action-bar-toggle" (click)="isSearchBarActive = !isSearchBarActive"
[ngClass]="{active: isSearchBarActive}">

                                    <holding-performance [workItem]="workItem" [highlightPriority]="highlightPriorities[currentWorkItemIndex][priorityindex]"
                                                (formSubmitted)="childFormSubmitted($event)"  [loadedFirstTime]="priorityindex" [accordionGroupStats]="accordionCopy"
                                                [processStageName]="selectedWorkItemGroup?.processStageName" [workItemIndex]="workItemEntityIndex" [currentWorkItemIndex]="currentWorkItemIndex"
                                                name="holdingPerformance" [ngModel]="workItem">
                                    </holding-performance>

                </form>

                        <button class="btn btn-sm btn-outline-primary pull-right" type="submit"  (click)="submit($event,workItemEntity,workItemEntityIndex)" [disabled]="!accordianGroupStats[workItemEntityIndex] || !datapoint.valid">Submit</button>
                        <button *ngIf="selectedWorkItemGroup?.processStageName==='Entry'" class="btn btn-sm btn-outline-defaultt" id="clearAll{{workItemEntityIndex}}" [disabled]="!accordianGroupStats[workItemEntityIndex]" (click)="clearDatapoints(workItemEntity?.workItems)">Clear</button>
                        <button *ngIf="selectedWorkItemGroup?.processStageName==='Entry'" class="btn btn-sm btn-outline-default" [disabled]="!accordianGroupStats[workItemEntityIndex] || !datapoint.valid" id="save{{workItemEntityIndex}}" (click)="save()">Save</button>

        </accordion-group>
    </accordion>

`
Angular:2

I'm using ng2-accordion from below link: https://www.npmjs.com/package/ng2-accordion

The mentioned project has nothing to do with https://github.com/angular-ui/bootstrap (this repo).
If you are looking for accordion / bootstrap widgets for Angular 2 then use https://ng-bootstrap.github.io


TFLite cannot correctly recognize images

When I perform inference on a model with TFLite's CPU backend (without any delegates), the image can be correctly recognized if I run the operators on the left first and then run the operators on the right. However, if I run the operators on the right first and then run the operators on the left, the image cannot be correctly recognized. Is it because the context of operators is determined during initialization? How can I solve this problem? I can ensure that the .tflite model file is not problematic.

@B-JackMao,
Could you please share a reproducible code that supports your statement and also the tensorflow version you are using, so that the issue can be easily understood? Thank you!

I am using TensorFlow Lite version 2.9.0, and I suspect that the context environment has changed. When I put one of the parts into a GPU delegate there is no problem.
------------------ 原始邮件 ------------------
发件人: @.>;
发送时间: 2023年12月26日(星期二) 晚上8:59
收件人: @.>;
抄送: @.>; @.>;
主题: Re: [tensorflow/tensorflow] TFLite cannot correctly recognize images (Issue #62685)
，
您能否分享一个支持您的陈述以及您正在使用的 tensorflow 版本的可重现代码，以便轻松理解该问题？谢谢！

直接回复此电子邮件，在 GitHub 上查看或取消订阅。
您收到此邮件是因为有人提到您。Message ID: @.***>

Hi @B-JackMao, we can't really help you if you don't provide more context. Can you provide code which shows this problem? i.e. one function which does the left side first, another which does the right side first. Show that the loss or how you are measuring that an image is "correctly recognized" is different. Can you upload your .tflite model as well? Thanks for your help.


fix: indent-blankline highlight groups nocombine

see https://github.com/lukas-reineke/indent-blankline.nvim/issues/72

Awesome, thanks!


Add master channel

it's very painful to switch from channel to another in flutter in local environment and it became a wast of time even in small regression tests, so it's helpful feature to be added.

Due to the various architectural trade offs in building a service like DartPad, it isn't possible to track master, which changes multiple times a day.
Hey @gspencergoog, if I recall correctly, you built out some tooling to cache dart and flutter versions to make Flutter branch switching cheaper and quicker. Any chance of making that tech more broadly available?

I did, but it was pretty rudimentary.  Basically some bash functions that would swap out a symbolic link to a branch-specific cache directory when the checked out branch matched one.
I think the better (and actually maintained) version of this is Flutter Version Manager, a third party package for managing Flutter versions.


Spawns unlimited(?) upload threads in parallel

I just installed it on a friends phone in hopes of using it for backing up photos.
When enabling cloud backup it starts thousands of upload threads in parallel. Which of course can never finish.
Please test this app in a real-life scenario with a fresh install on a regular mid-range phone that has a photo album of 10k+ photos and backup over the internet.

Hm this is weird. I have not seen this behavior at all. I limit uploads to one at a time explicitly.
Must be a bug I missed. Do you have some logs you can share perhaps?

Closing due to inactivity


encoding/json: inconsistent distinction between omitted, null and non-null values

What version of Go are you using (go version)?

$ go version
go version go1.15.7 linux/amd64

Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/xxx/.cache/go-build"
GOENV="/home/xxx/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/xxx/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/xxx/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build402757801=/tmp/go-build -gno-record-gcc-switches"

What did you do?

https://play.golang.org/p/04udQzPSPKK
Background: My model contains optional values, e.g. Foo *string.
With a JSON based patch method I want to deal with these three cases:

the JSON does not contain the field foo (omitted) -> the field Foo of the model is not changed.
the JSON contains the field foo, this is null -> the field Foo of the model is changed to null.
the JSON contains the foo field, this is non-zero -> the Foo field of the model is set to the non-zero value.

What did you expect to see?
marshalling, test case: 0, result: true
marshalling, test case: 1, result: true
marshalling, test case: 2, result: true
unmarshalling, test case: 0, result: true
unmarshalling, test case: 1, result: true
unmarshalling, test case: 2, result: true

What did you see instead?
marshalling, test case: 0, result: true
marshalling, test case: 1, result: true
marshalling, test case: 2, result: true
unmarshalling, test case: 0, result: true
unmarshalling, test case: 1, result: false
unmarshalling, test case: 2, result: true

In other words, unmarshalling does not distinguish between omitted and null elements, although we have explicitly specified omitempty. The other direction (marshalling) works perfectly.
Unlike #11939, a basic data type of the builtin package (**string) is affected here.

cc @mvdan

I think the behavior you observe is correct, as per the docs:

To unmarshal JSON into a pointer, Unmarshal first handles the case of the JSON being the JSON literal null. In that case, Unmarshal sets the pointer to nil. Otherwise, Unmarshal unmarshals the JSON into the value pointed at by the pointer. If the pointer is nil, Unmarshal allocates a new value for it to point to.

Remember that omitempty only applies to marshaling, not unmarshaling.

With a JSON based patch method I want to deal with these three cases:

It seems like you should implement a custom string type which handles the three cases properly via UnmarshalJSON. You can have arbitrary logic that way, really. **string isn't quite going to do what you want as per the docs above, and changing those rules now would likely break many existing programs.

Thank you for clarifying @mvdan
Why I assumed that omitempty is also used for decoding is in fact the following lines of the documentation:

The "omitempty" option specifies that the field should be omitted from the encoding if the field has an empty value, defined as false, 0, a nil pointer, a nil interface value, and any empty array, slice, map, or string.

Unmarshal uses the inverse of the encodings that Marshal uses, allocating maps, slices, and pointers as necessary, with the following additional rules:

Introducing a new type with UnmarshalJSON leads me directly to the open issues in #11939.
Therefore I have now specified a suitable UnmarshalJSON method on the patch object type T, which (depending on omitempty) takes care of decoding U- *U- or **U-values.


nix-prefetch-github: 2.2 -> 2.3

Motivation for this change
The software had a new release upstream.  This PR updates the nix-prefetch-github in nixpkgs.
Things done

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

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

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

@worldofpeace Thanks for catching that.  I made a new commit explaining the change and I also tested the resulting executables on my machine.  If you want me to squash those commits and force push, let me know.

Thanks you @seppeljordan


isSame terribly slow on mobile browsers

isSame(date, 'day') is terribly slow on Safari on iOS. Used at loop to compare and filter dates is taking many seconds to process. Comparing year, year+month and year+month+day can be fixed by manually comparing each component by calling year(), month() and date() functions.

Also slow in react native. A single comparison takes an average of 3400ms
moment(date1).isSame(date2, 'day')

Can someone drill this down and figure out exactly which part is slow. These functions are not trivial, because they need to work reliably across moments in different timezones.
You can "hack" a faster function and use it, I don't see any issue with that, but I doubt it will handle all the use cases the current code does.

I'm having the same issue. It's in an angular-cordova environment, where I use momentJS. Two components of my app, are very slow. I noticed in the Xcode logs the message [IPC] Connection::waitForSyncReply: Timed-out while waiting for reply, id = 4 always when I open one of these two components. After a while (and with the help of this issue) I found a method with this line in my code, which is called very often:
return moment(dateA).isSame(dateB, 'day');

When I replace this line with the following code, the app is significantly faster:
return dateA.getUTCFullYear() === dateB.getUTCFullYear() &&
    dateA.getUTCMonth() === dateB.getUTCMonth() &&
    dateA.getUTCDate() === dateB.getUTCDate()
;

Is there something happening with this issue?

I don't think anything's happening with this atm. If you want to look into the code, here's where it is: https://github.com/moment/moment/blob/master/src/lib/moment/compare.js
I made this package for faster isSame comparisons, and use it when I need to compare dates quickly:
https://github.com/JulianKingman/same-date

It seems to have been introduced in a release since 2.20.1.  Observed this testing a moment upgrade.

Couldn't say it's terribly slow. I've built a small test suite to compare isSame performance to Date.getUTCSomething performance. Here: https://arusak-performance.firebaseapp.com/. Feel free to inspect its code.
On my desktop Firefox the native method is 20 times faster. But I think it's reasonable. The library method is universal, the native is suitable only for same date comparison.
On mobile Safari the difference is more dramatic. The native way is about 100 times faster. But it's not because the moment is slower, but because the Date works better than on laptop. Due to some JVM optimizations I guess.
Here's some typical numbers.
Laptop FF. Library: 625 ms, native: 29 ms
Laptop Chromium. Library: 673 ms, native: 49 ms
Laptop Edge. Library: 454 ms, native: 9 ms (OMG!)
Chromium on Android 8. Library: 1363 ms, native: 144 ms
Safari on iOS 12. Library: 1284 ms, native: 7 ms
@JulianKingman @be-ndee @thom-ek what results do you get with this test?
@ichernev do you think it needs optimization?

We probably won't optimize anything, unless it works for all use cases as ichernev mentioned.
See https://momentjs.com/docs/#/-project-status/


add verbose to python test publishing

add verbose to python test publishing

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 62.21%. Comparing base (dc1b565) to head (e15d72f).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1045      +/-   ##
==========================================
- Coverage   63.02%   62.21%   -0.82%
==========================================
  Files          49       45       -4
  Lines        5983     5433     -550
  Branches       62        0      -62
==========================================
- Hits         3771     3380     -391
+ Misses       2206     2053     -153
+ Partials        6        0       -6

Components
Coverage Δ

apel_plugin
∅ <ø> (∅)

auditor
68.84% <ø> (ø)

auditor_client
94.38% <ø> (ø)

slurm_collector
67.67% <ø> (ø)

slurm_epilog_collector
0.00% <ø> (ø)

htcondor_collector
∅ <ø> (∅)

priority_plugin
37.82% <ø> (ø)


Unable to import Unchained Capital JSON

I am unable to import my 2/3 unchained capital multisig vault json wallet config file. When I attempt to import in sparrow it gives an error and the error detail is in regards to the string 'unknown'. Looking at the config file I noticed that the unchained xpub doesn't have a derivation path indicated only 'unknown'.

This issue has now been fixed, but not released yet. For now, you can edit the export file to make the derivation path the same as the others - it won’t affect the wallet functionality since you won’t be signing with that keystore.


Remove redundant submit buttons in the Governance connector forms

Describe the issue:
Certain forms do not require submit buttons as they only have the enable/disable option.
Example

Enable/disabled switched which do not depend on any user additional information can also be placed on the listing card itself.

How to reproduce:

Console > Login & Registration
Check out the connector forms

Expected behavior:

Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: [e.g., IS 5.10.0, IS 5.9.0]
OS: [e.g., Windows, Linux, Mac]
Database: [e.g., MySQL, H2]
Userstore: [e.g., LDAP, JDBC]

Optional Fields
Related issues:

Suggested labels:

Not reproducible in the latest pack, hence closing.


Add env injection in test suite

Description
Adds env variable injection in test suite for ray, dask, mongodb Uris

Related Issues

Checklist

[ ] Is this code covered by new or existing unit tests or integration tests?
[ ] Did you run make unit-testing and make integration-testing successfully?
[ ] Do new classes, functions, methods and parameters all have docstrings?
[ ] Were existing docstrings updated, if necessary?
[ ] Was external documentation updated, if necessary?

Additional Notes or Comments

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (34830a7) 80.33% compared to head (08b3b6a) 68.59%.
Report is 1368 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1657       +/-   ##
===========================================
- Coverage   80.33%   68.59%   -11.75%
===========================================
  Files          95      116       +21
  Lines        6602     8194     +1592
===========================================
+ Hits         5304     5621      +317
- Misses       1298     2573     +1275

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[Bug]: Unknown error: websocket: the client is not using the websocket protocol: 'upgrade' token not found in 'Connection' header

Description
Hi, we have deployed several clusters using this module, but with each deployment, there is a problem in rancher ui there is no option to view logs and execute shell in pod.
Logs rancher pods:
2023/09/11 12:54:46 [ERROR] Error during subscribe websocket: the client is not using the websocket protocol: 'upgrade' token not found in 'Connection' header
2023/09/11 12:54:46 [ERROR] Unknown error: websocket: the client is not using the websocket protocol: 'upgrade' token not found in 'Connection' header

rancher-webhook
E0911 07:34:18.349114       1 gvks.go:69] failed to sync schemas: unable to retrieve the complete list of server APIs: custom.metrics.k8s.io/v1beta1: the server is currently unable to handle the request

Please help to fix this
Kube.tf file
module "kube-hetzner" {

  providers = {
    hcloud = hcloud
  }
  extra_firewall_rules = [
    {
      description     = "Access to MySQL cluster"
      direction       = "out"
      protocol        = "tcp"
      port            = "3306"
      source_ips      = [] # Won't be used for this rule
      destination_ips = ["<IP_ADDRESS>/0", "::/0"]
    },
    {
      description     = "Access to redis"
      direction       = "out"
      protocol        = "tcp"
      port            = "6379"
      source_ips      = [] # Won't be used for this rule
      destination_ips = ["<IP_ADDRESS>/0", "::/0"]
    },
  ]
  hcloud_token          = var.hcloud_token
  source                = "kube-hetzner/kube-hetzner/hcloud"
  ssh_public_key        = var.pub
  ssh_private_key       = var.priv
  network_region        = "eu-central"
  create_kubeconfig     = false
  create_kustomization  = false
  #
  use_control_plane_lb  = false
  lb_hostname           = "hostname"
  control_plane_lb_type = "lb11"
  enable_rancher        = true
  initial_k3s_channel   = "v1.25"
  rancher_hostname      = "hostname"

  cluster_name = "claster_name"

  automatically_upgrade_k3s = false
  automatically_upgrade_os  = false

  ingress_controller = "nginx"

  control_plane_nodepools = [
    {
      name        = "control-plane",
      server_type = "cx31",
      location    = "fsn1",
      labels      = ["role=master"],
      taints      = [],
      count       = 1

      # Enable automatic backups via Hetzner (default: false)
      # backups = true
    },

  ]

  agent_nodepools = [
    {
      name        = "agent-development",
      server_type = "cpx41",
      location    = "fsn1",
      labels      = ["environment=development", "role=worker"],
      taints      = [],
      count       = 2

      # Enable automatic backups via Hetzner (default: false)
      # backups = true
    },
    #
    {
      name        = "agent-redis-dev",
      server_type = "cx21",
      location    = "fsn1",
      labels      = ["environment=redis"],
      taints      = [],
      count       = 1

      # Enable automatic backups via Hetzner (default: false)
      # backups = true
    },
  ]

  load_balancer_type     = "lb11"
  load_balancer_location = "fsn1"

}

Screenshots

Platform
linux

@grig0701 Please in your kube.tf, make sure to set a k3s version (via initial_k3s_channel) and rancher version that are compatible with reach other. The process should be explained in the comments near the rancher section.

Also try to search for that error on the rancher repo, maybe you will find more info on it. On our end, we've never seen it!


Clear prompt only if there are no bytes pending

When sbt is running a background process that logs to stdout, the output
can be inadvertently deleted before it has been printed. When the user
is in the prompt state and a log message comes in, we want to delete the
prompt before we print the log. The problem is println is often
implemented with a write of the content followed by a second write of
the system line separator. When that happened, we would print the
content and then immediately delete it when the newline came in. The fix
is to not clear the prompt if there are any bytes that have been written
without a newline, which was tracked by the currentLineBytes variable.

Fixes #5897


VS 2017 and VS 2019 support?

This is a great looking tool and I'm looking forward to using it, but I'm curious how hard it would be to put on an older version of Visual Studio. I'd love to not ask my teammates to upgrade their IDE just for one extension, but I don't know how easy it is to backport this stuff.
No problem if that's a nontrivial task, just worth asking. Thank you!

Thanks for your interest and kind words!
As far as support for older VS versions:

VS 2019: in fact the extension already works, it's just not listed since it's unfortunately not possible to have multiple VS versions in the same Visual Studio Marketplace listing. VS 2019 users who want to install Code Connections can grab the VSIX directly from the build artifacts from a recent CI run under the 'Actions' tab, eg: https://github.com/davidjohnoliver/CodeConnections/actions/runs/3923070538 . I'll try to make a GitHub release for the next stable version, so that the binary doesn't expire.
VS 2017: this would be a bigger lift - it would entail downgrading the SDK versions (Roslyn, etc) used by the tool, and perhaps other adjustments. It's not something I'm planning to tackle, but I'd be happy to take an external contribution. :) The actual code is already in a shared project, at least.

Even just 2019 is great, thank you! Looking forward to that in the next release. Feel free to resolve this issue now, or once that 2019 version is in the Release section - both feel resolved to me.


gemm.c of driver and interface.

I see that gemm.c function is implemented in both driver and interface. While debugging the gemm.c function calls level3.c which is included in gemm.c function of driver. What is the difference between these interface and driver.

The code in "interface" is just that - it takes the BLAS/CBLAS call, does some setup and calls the driver code which does more setup before calling the actual kernel (in parallel if desired). There is some documentation in the wiki, for details read Kazushige Goto's seminal papers. (Please stop creating issue tickets for every question that comes to your mind, this is not an interactive CS101 class - there are simply no resources for that)


Client side javascript part as library?

I like the demo and would use the client side part of the demo as library. Is there a library available based on the demo?
Just the client side javascript part as a single file library to include by a script tag.

To send web push on the client side, we need all browsers to enable CORS w3c/push-api#303 Firefox is the only one that have enable it.


Grid Image view. Desirable feature in silx?

Several beamlines (particularly ID13 but also ID21) have inquired about the possibility to display multiple images side by side.
The first question is of course is if we want that in silx or it is responsibility of the applications to achieve that as most applications take the easy solution of browsing a stack.
The point is that I was wondering if with the shared axes feature of silx it would be simple enough to get a table or a grid containing widgets to have simultaneous visualization of several images in such a way that when one zooms in one image the zoom is applied to all of them, the colormap could be changed to all of them, ...

There are two needs:

Gallery of thumbnails
Side by side image comparison

Question replaced by #2243


Coin Validators

Support coin validators which emit multiple pulses.

The link to the example device is broken.


.pipe() with error status code on destination

I'm  piping from a source into a destination that may return a status code indicating an error (.statusCode >= 400).
Is there any way to detect this?
For example:
var rs = request.get('http://source.com');
var ws = request.post('http://destination.com');
var error_handler = function(err) {
  console.error(err);
}
rs.on('error', error_handler);
ws.on('error', error_handler);
rs.pipe(ws);

If POST http://destination.com replies with, say, a 500 status code, I never get any error.
Do I have a chance of intercepting these response status codes?

I have a workaround for this, which is inspecting the response status code when the writestream ends.
Is there a more intelligent way of doing this?

request.post(url).on('response', function (resp) { resp.statusCode; res.on("error"); })

nice, thanks!


Early segfault (1.14.1, 1.14.2 and fb081a9)

Hi, I haven't run lagrange for some time so I could have bumped into this earlier than 1.14.1 if I had tried.
With 1.14.1 and 1.14.2 lagrange segfault for me when the mouse cursor is over the window: gdb output, valgrind output.
Built from trunk (at fb081a9) it segfault on startup: gdb output.
I run Alpinelinux edge (the rolling release) on 64b x86,

linux: 6.1.4
musl: 1.2.3
sway: 1.8
wlroots: 0.16.1

A couple of other Alpine users say they don't experience the crasches.

This is on Wayland? With the dev branch, please set ENABLE_X11_XLIB to OFF.
The first two outputs say that the crash occurs inside SDL2, which may indicate a problem with SDL_CreateSystemCursor(). That may be an SDL2 bug.
(Thanks for the debug outputs, quite informative. 👍)

Closing as there is not really anything that I can fix here.


Newsletter Sign Up Placements

We want to allow users to subscribe to our newsletter.
Resources:

Link to the form/landing page: https://cdn.forms-content.sg-form.com/fc8a7d49-d903-11ed-9e53-c2519c5b83a4
Direct embed if we want to get fancy:
Sendgrid guide: https://docs.sendgrid.com/ui/managing-contacts/create-and-manage-contacts#share-code-to-make-your-form-accessible

I'd like to feature this:

in our footer

In the footer, to the right of "Our Policies and Terms of Service", insert:
"click here to subscribe to our newsletter"
The entire text can be hyperlinked.

in the sign-up modal

When user's sign up, In the Terms of Use modal, add the same copy under the two buttons, centered.
"click here to subscribe to our newsletter"
The entire text can be hyperlinked.

NOTE: In both cases, the hyperlink should open a new tab.

Interested in working on this! Just self-assigned :)


Cloudstack 8816 entityuuid missing in some of the events

In some of the events generated, entity uuid was missing making it difficult to find the entity. Fixed the same.
Tested it on rabbitmq instance.
There are the events before after the fix:
Before
routing_key: management-server.ActionEvent.ACCOUNT-DELETE.Account.*
exchange: cloudstack-events
message_count: 2
payload:
{"eventDateTime":"2015-09-04 17:59:24 +0530","status":"Scheduled","description":"deleting User test4 (id: 28) and accountId \u003d 28","event":"ACCOUNT.DELETE","Account":"c09e2e81-8edc-4c27-b072-25005b522b63","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
payload_bytes: 304
payload_encoding: string
redelivered: False

routing_key: management-server.AsyncJobEvent.complete.Account.*
exchange: cloudstack-events
message_count: 0
payload: {"cmdInfo":"{"id":"9dd3abc2-3f8b-4852-aa60-a74b234acb13","response":"json","sessionkey":"5ig1ItP2_5v-mgY4cVJbJN5hw_w","ctxDetails":"
{\"interface com.cloud.user.Account\":\"9dd3abc2-3f8b-4852-aa60-a74b234acb13\"}
","cmdEventType":"ACCOUNT.DELETE","expires":"2015-09-07T11:11:56+0000","ctxUserId":"2","signatureversion":"3","httpmethod":"GET","uuid":"9dd3abc2-3f8b-4852-aa60-a74b234acb13","ctxAccountId":"2","ctxStartEventId":"447"}","instanceType":"Account","jobId":"5004989d-0cde-4922-8afa-66bf38b75ea7","status":"SUCCEEDED","processStatus":"0","commandEventType":"ACCOUNT.DELETE","resultCode":"0","command":"org.apache.cloudstack.api.command.admin.account.DeleteAccountCmd","jobResult":"org.apache.cloudstack.api.response.SuccessResponse/null/
{"success":true}
","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
payload_bytes: 914
payload_encoding: string
redelivered: False

After
routing_key: management-server.ActionEvent.ACCOUNT-DELETE.Account.e5e2db91-414d-484c-99d5-c4e265c14ad8
exchange: cloudstack-events
message_count: 13
payload: {"eventDateTime":"2015-09-07 17:32:26 +0530","status":"Completed","description":"Successfully completed deleting account. Account Id: 45","event":"ACCOUNT.DELETE","entityuuid":"e5e2db91-414d-484c-99d5-c4e265c14ad8","entity":"com.cloud.user.Account","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
payload_bytes: 344
payload_encoding: string
redelivered: True

routing_key: management-server.AsyncJobEvent.complete.Account.e5e2db91-414d-484c-99d5-c4e265c14ad8
exchange: cloudstack-events
message_count: 12
payload: {"cmdInfo":"{"id":"e5e2db91-414d-484c-99d5-c4e265c14ad8","response":"json","sessionkey":"8AJVbn8HIpg5LZ_VaVfSPs_QN2k","ctxDetails":"{\"interface com.cloud.user.Account\":\"e5e2db91-414d-484c-99d5-c4e265c14ad8\"}","cmdEventType":"ACCOUNT.DELETE","expires":"2015-09-07T12:17:42+0000","ctxUserId":"2","signatureversion":"3","httpmethod":"GET","uuid":"e5e2db91-414d-484c-99d5-c4e265c14ad8","ctxAccountId":"2","ctxStartEventId":"465"}","instanceType":"Account","instanceUuid":"e5e2db91-414d-484c-99d5-c4e265c14ad8","jobId":"0bb08486-6d9f-4e9f-bfef-b7463c42e71b","status":"SUCCEEDED","processStatus":"0","commandEventType":"ACCOUNT.DELETE","resultCode":"0","command":"org.apache.cloudstack.api.command.admin.account.DeleteAccountCmd","jobResult":"org.apache.cloudstack.api.response.SuccessResponse/null/{"success":true}","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
payload_bytes: 968
payload_encoding: string
redelivered: True

LGTM

LGTM

Thanks for the review guys. Two LGTMs mergins.


Added setCharacteristicLogging to reduce console.log logging

When performing 50 BLE write operations per second the terminal can become a bit overwhelming and unusable for logging other events.
Adding setCharacteristicLogging function aims at reducing the logging for read, write and change characteristic operations.

Thank you! Merging, and will test & release soon. 👍 👍

Excellent. I have few ideas on what else could be done here ;)
I love this plugin and we can make it better

Would be great, your help is most appreciated!
Thought just crossed my mind: you're not using this plugin to connect to your robot army, are you? 🤖🤖🤖🤖🤖🤖🤖🤖🤖🤖🤖

Hah yup, this is the very plugin that drives my robots and drones. For more
info tune in to my talk at ngconf
On 28 Mar 2017 18:17, "Eddy Verbruggen"<EMAIL_ADDRESS>wrote:

Would be great, your help is most appreciated!
Thought just crossed my mind: you're not using this plugin to connect to
your robot army, are you? 🤖🤖🤖🤖🤖🤖🤖🤖🤖🤖🤖
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/EddyVerbruggen/nativescript-bluetooth/pull/35#issuecomment-289840944,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFzsI4waTKMzQ0gq3TpuUiA0lxkd9xymks5rqUCkgaJpZM4MrlQ6
.

I sure will, thanks for the pointer!


Hey how about a template for the new release of Expressjs v5

I made a template here: https://github.com/seanpmaxwell/express5-typescript-template. I think some people could find it really useful.

Feel free to create a Pull request

@EinGuterWaran Hey I can successfully clone the repo but I'm getting a 403 error when trying to push a new branch. Can you add me as a contributor?

If not here's the code for the readme.md file
# Awesome Open Source Boilerplates [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) [![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=102)](https://github.com/ellerbrock/open-source-badges/)

> A curated list of open source boilerplates and starter templates to kickstart your next project.

## Contents

- [Browser Extensions](#browser-extensions)
- [Web Development](#web-development)
 - [React & Next.js](#react--nextjs)
 - [Node.js](#nodejs)
 - [Python](#python)
 - [Django](#django)
 - [Flask](#flask)
 - [Ruby on Rails](#ruby-on-rails)
 - [Go](#go)
 - [.NET Core](#NET-core)
 - [Other](#other)
- [Mobile Development](#mobile-development)
 - [Android](#android)
 - [iOS](#ios)
 - [React Native](#react-native)

## Browser Extensions

- [Extro](https://github.com/turbostarter/extro) - Open source browser extension starter kit

## Web Development

### React & Next.js

- [Open SaaS -- React/NodeJS/Prisma](https://opensaas.sh) - Stripe or Lemon Squeezy, OpenAI API app examples, AWS S3 file upload, Admin dashboard, & Blog w/ Astro
- [Next.js SaaS Starter](https://github.com/leerob/next-saas-starter) - Get started quickly with Next.js, Postgres, Stripe, and shadcn/ui
- [Next.js Boilerplate](https://github.com/ixartz/Next-js-Boilerplate) - Free and open source Next.js starter
- [Next.js Subscription Payments](https://github.com/vercel/nextjs-subscription-payments) - Vercel's subscription payments starter
- [Next Supabase Stripe Starter](https://github.com/KolbySisk/next-supabase-stripe-starter) - Next.js with Supabase and Stripe
- [Nextacular](https://github.com/nextacular/nextacular) - Next.js SaaS boilerplate
- [SaaStr](https://github.com/aloysius-tim/saas-react-starter-kit-boilerplate) - React SaaS starter kit

### Node.js

- [SaaSgear](https://github.com/JSLancerTeam/saasgear) - Full stack SaaS boilerplate
- [BoxyHQ SaaS Starter Kit](https://github.com/boxyhq/saas-starter-kit) - Enterprise-ready SaaS starter kit
- [SAAS-Starter-Kit](https://github.com/Saas-Starter-Kit/Saas-Kit-prisma) - Prisma based SaaS kit
- [SaaS Boilerplate by Async Labs](https://github.com/async-labs/saas) - Production-ready SaaS boilerplate
- [Graphile Starter](https://github.com/graphile/starter) - Full-stack application boilerplate
- [ALPack](https://github.com/apptension/ALPack) - Boilerplate by Apptension
- [Node Express Mongoose Boilerplate](https://github.com/hagopj13/node-express-mongoose-boilerplate) - Production-ready REST API boilerplate
- [Hackathon Starter](https://github.com/sahat/hackathon-starter) - Boilerplate for Node.js web applications
- [Express v5 + Typescript Template](https://github.com/seanpmaxwell/express5-typescript-template) - CRUD app for ExpressJS version 5 with TypeScript

### Python

- [Rob's Awesome Python Template](https://github.com/tedivm/robs_awesome_python_template) - A versatile and modern Python template

### Django

- [Django SaaS Boilerplate](https://github.com/PaulleDemon/Django-SAAS-Boilerplate) - Open source Django SaaS boilerplate
- [djangorocket](https://github.com/ernestofgonzalez/djangorocket) - Django SaaS starter

### Flask

- [Flask App Builder](https://github.com/dpgaspar/Flask-AppBuilder) - Simple and rapid application development framework
- [Enferno Framework](https://github.com/level09/enferno) - Flask based framework
- [tedivm's Flask]([https://github.com/level09/enferno](https://github.com/tedivm/tedivms-flask)) - Starter App with Flask and Celery

### Ruby on Rails

- [Rails Tabler Starter](https://github.com/tarunvelli/rails-tabler-starter) - Ruby on Rails starter kit

### .NET Core

- [Clean Architecture and Domain Driven Design Template](https://github.com/mikolaj-jankowski/Clean-Architecture-And-Domain-Driven-Design-Solution-Template) - .NET Core solution tamplate for creating your own application using Clean Architecture, utilizing building blocks from Domain-Driven Design.

### Go

- [SaaS Startup Kit](https://github.com/go-saas/kit) - Golang open source SaaS kit

### Other

- [SupaNuxt SaaS](https://github.com/JavascriptMick/supanuxt-saas) - Open source Nuxt3 SaaS boilerplate

## Mobile Development

### Android

- [Android Architecture Blueprints](https://github.com/googlesamples/android-architecture) - MVP architecture samples

### iOS

- [Swift 5 Module Template](https://github.com/fulldecent/swift5-module-template) - Boilerplate for reusable Swift 5 modules

### Flutter

- [ShipFlutter base template](https://github.com/marcelpinto/ship-flutter-template) - A simple Flutter template with state management (signals) and dependency injection (lite_ref)

### React Native

- [Infinite Red Boilerplate](https://github.com/infinitered/ignite) - Infinite Red's battle-tested React Native project boilerplate, along with a CLI, component/model generators, and more!
- [thecodingmachine boilerplate](https://github.com/thecodingmachine/react-native-boilerplate) - A React Native template for building solid applications 🐙, using JavaScript 💛 or Typescript 💙
- [obytes boilerplate](https://github.com/obytes/react-native-template-obytes) - A template for your next React Native project: Expo, PNPM, TypeScript, TailwindCSS, Husky, EAS, GitHub Actions, Env Vars, expo-router, react-query, react-hook-form
- [wataru-maeda boilerplate](https://github.com/wataru-maeda/react-native-boilerplate) - Expo + Redux + React Navigation pre-setup typescript template (expo SDK 51)
- [Luna boilerplate](https://github.com/LunatiqueCoder/luna) - Luna - a React Native + Next.js template. Built with TypeScript ❤

## Contribute

Contributions welcome! Read the [contribution guidelines](contributing.md) first.

## Star History

[![Star History Chart](https://api.star-history.com/svg?repos=EinGuterWaran/awesome-opensource-boilerplates&type=Date)](https://star-history.com/#EinGuterWaran/awesome-opensource-boilerplates&Date)

thanks done, see: https://github.com/EinGuterWaran/awesome-opensource-boilerplates/pull/10


Nan loss when training

Hi, thanks for your great job!
Currently, I got a problem when training. My TRE loss always got NAN and the training log is as shown in the figure. Do you have any idea for this? I downloaded the dataset and only resample to your required size in paper (and did not do any other preprocessing steps as I saw that original BraTS dataset was run skull-stripped).
Thank for your help!

Hi @sydat2701,
I never encounter this issues. Is the resulting warped image looks good after training?


bug: KeyError when using TypedDict and Unpack

The following example throws a KeyError exception
# test.py
from typing import TypedDict

from typing_extensions import Unpack

class Options(TypedDict):
    foo: int

class A:
    def __init__(self,**kwargs: Unpack[Options]) -> None:
        self.options = kwargs

import griffe

extensions = griffe.load_extensions(
    "griffe_typingdoc",
)

data = griffe.load("test", extensions=extensions)
print(data)

I use:

Python 3.9.19
griffe 0.47.0
griffe-typingdoc 0.2.5

It seems that the point is that it is trying to find Options inside A, not at the module level (here)
Traceback
Traceback (most recent call last):
  File "/home/projects/sdk/test2.py", line 7, in <module>
    data = griffe.load("test", extensions=extensions)
  File "/home/projects/virtualens/SF8d8bN-py3.9/lib/python3.9/site-packages/griffe/loader.py", line 807, in load
    result = loader.load(
  File "/home/projects/virtualens/SF8d8bN-py3.9/lib/python3.9/site-packages/griffe/loader.py", line 233, in load
    self.extensions.call("on_package_loaded", pkg=top_module)
  File "/home/projects/virtualens/SF8d8bN-py3.9/lib/python3.9/site-packages/griffe/extensions/base.py", line 346, in call
    getattr(extension, event)(**kwargs)
  File "/home/projects/virtualens/SF8d8bN-py3.9/lib/python3.9/site-packages/griffe_typingdoc/_extension.py", line 125, in on_package_loaded
    self._handle_object(pkg)
  File "/home/projects/virtualens/SF8d8bN-py3.9/lib/python3.9/site-packages/griffe_typingdoc/_extension.py", line 110, in _handle_object
    self._handle_object(member)  # type: ignore[arg-type]
  File "/home/projects/virtualens/SF8d8bN-py3.9/lib/python3.9/site-packages/griffe_typingdoc/_extension.py", line 110, in _handle_object
    self._handle_object(member)  # type: ignore[arg-type]
  File "/home/projects/virtualens/SF8d8bN-py3.9/lib/python3.9/site-packages/griffe_typingdoc/_extension.py", line 112, in _handle_object
    self._handle_function(obj)  # type: ignore[arg-type]
  File "/home/projects/virtualens/SF8d8bN-py3.9/lib/python3.9/site-packages/griffe_typingdoc/_extension.py", line 65, in _handle_function
    other_params_section := module._other_parameters_docs(func, node=node),
  File "/home/projects/virtualens/SF8d8bN-py3.9/lib/python3.9/site-packages/griffe_typingdoc/_static.py", line 131, in _other_parameters_docs
    typed_dict = annotation.slice.parent.get_member(annotation.slice.name)  # type: ignore[attr-defined]
  File "/home/projects/virtualens/SF8d8bN-py3.9/lib/python3.9/site-packages/griffe/mixins.py", line 78, in get_member
    return self.members[parts[0]]  # type: ignore[attr-defined]
KeyError: 'Options'

Hi @redb0, thanks for the report. Looks like you're right! It's probably an oversight. I'll fix this asap.

Should be fixed in v0.2.7, thanks for your patience.


Add SUSE Linux Enterprise Server as an OS option

Enable the machine controller to deploy nodes with SLES as an OS option.

/remove-lifecycle stale
/team lifecycle


feat: support launchTemplateSpecifications inside an override when using mixedInstancesPolicies

Same as https://github.com/TwiN/aws-eks-asg-rolling-update-handler/pull/19 but from another branch 🙏
When using mixedInstancesPolicy an instance type can specify its own launchTemplateSpecification, currently when running in such environment we enter an infinite upgrade loop that looks like: outdated foo -> add new bar -> outdated bar -> drain bar -> outdated foo -> .... This PR adds support for launch template specifications inside an override.

Anything else required to get this merged?

Great work, and thank you for the contribution!

Released in v1.3.0


Not compatible with Glyphicons PRO fonts v1.9

I recently installed the new font package from: http://glyphicons.com/
They change their classes from:
example: ".glyphicons .leaf" to ".glyphicons .glyphicons-leaf"
Once installing the following files:
Web Fonts
glyphicons.css
My bootstrap growl alerts now loop the fade in animation. I wish I could show a jsfiddle, however the files require a license, which i cannot preview.
Not sure how the conflict is happening since there is no js errors in the console. Maybe you might have perspective on what may be causing this.
Thank you.

Having the same issue after installing the new glyicons PRO.

I had to do the same-thing. It appears the animate.css is not compatible with this script. So for now the fadeIn/FadeOut does not work, I wish it worked, maybe the developer can chime in?


Request for OpenCvSharp NuGet Package Free of Royalties

Summary of your issue
Can you please share if there are any plans to publish an OpenCvSharp NuGet package that is free of royalties’ obligations?
Specifically, without ffmpeg nor the "no-free" algorithms etc.

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Thanks, @llowvxe  and @qlqw233!
I’m currently looking for an official NuGet package that receives regular updates and is maintained by the author.

Hello @shimat,
Could you please confirm if you are willing to accept a code contribution that handles the publishing of a royalty-free package? I’m sure there are other users who would find it beneficial.

I appreciate your offer and understand the need for royalty-free packages. However, I am not so keen on the plan as it would double the number of NuGet packages which I would have to maintain.
These days I often use OpenCvSharp inside a Docker container and end up writing OpenCV setup code in the Dockerfile. So my interest in the native binding NuGet packages has been declining.

Thanks for your response!
I understand the additional maintenance burden. However, would it be feasible to offer just the OpenCvSharp4 core package in a royalty-free version, such as OpenCvSharp4.RoyaltyFree? This could potentially meet the needs of users looking for a royalty-free option without significantly increasing the number of packages to maintain.

Thanks @shimat for your response!
I understand the additional maintenance burden. However, would it be feasible to offer just the OpenCvSharp4 core package in a royalty-free version, such as OpenCvSharp4.RoyaltyFree? This could potentially meet the needs of users looking for a royalty-free option without significantly increasing the number of packages to maintain.

Hi @tamirs9876 ,
I provided sample code on how to do this yourself here: https://github.com/shimat/opencvsharp/issues/1592#issuecomment-1672795084

Thanks @shimat for your response!
I understand the additional maintenance burden. However, would it be feasible to offer just the OpenCvSharp4 core package in a royalty-free version, such as OpenCvSharp4.RoyaltyFree? This could potentially meet the needs of users looking for a royalty-free option without significantly increasing the number of packages to maintain.

Hello @shimat,
Will the smaller-scoped proposal work for you?


fix: Update deprecated git stash save to git stash for compatibility

Description
This change addresses a compatibility issue in the installation script. The command:
(cd $REPO_PATH && git stash save && git fetch --tags)

was using git stash save, which is deprecated in modern versions of Git. To ensure compatibility and avoid potential errors, this has been updated to:
(cd $REPO_PATH && git stash && git fetch --tags)

Why this matters

The git stash save command has been replaced by git stash push in recent versions of Git, and git stash alone is sufficient for typical use cases.
The updated script now works seamlessly across all Git versions without errors.

This change improves reliability and ensures smoother installation for users with updated Git versions.

good thinking. thank you.


Form DPI Scaling will keep scaling when displays change over time

Fixes #103

After implementing the algorithm, we have new DPI scaling changes.
I started at base 1.25x scaling.
Here's what those look like:
1.25x Scaling
Old:

New:

1.5x Scaling
Old:

New:

2x Scaling
Old:

New:

Pre DPI Scaling (150%):

Post DPI Scaling (150%):

The measurement text size and the button text size have been normalized.

One small issue found.
Main display is 1080p no scaling. Second display is 2k 150% scaling.
Launched Shotr on main, moved to secondary, and back to main. The logo doesn't resize correctly. Otherwise I didn't notice any issues.

I'm going to close this PR until this has been further worked out.


Athena connector fails to ingest array types

Affected module
Ingestion Framework
Describe the bug
Athena tables with an array type are not appropriately ingested and sometimes fail.

array <string> : wrong type
array<string>: ingestion fail

To Reproduce
Try to ingest a created table with the following query:
CREATE EXTERNAL TABLE IF NOT EXISTS test_table(
  test_array_str array<string>
)
LOCATION 's3://bucket/'

Expected behavior
It must be ingested with the right type.
Version:

OpenMetadata version: 0.12.1

Additional context
We need to add an extra case when we call _get_column_type in the Athena connector. Also, parse the array type correctly when there is a space on it, e.g. array <string>.
It also fails with the profiler.

I can confirm the error also happens for struct data types.
Also, this is a possible duplicate of Issue #8070


Revert "OR Query Implementation (#1335)"

This reverts commit 11332d48d28c52352f5e40640831934ff6921e4e.
Description

Provide details of the change, and generalize the change in the PR title above.

Testing

Describe how you've tested these changes. Link any manually triggered Integration tests or CPP binary SDK Packaging Github Action workflows, if applicable.

Type of Change
Place an x the applicable box:

[ ] Bug fix. Add the issue # below if applicable.
[ ] New feature. A non-breaking change which adds functionality.
[ ] Other, such as a build process or documentation change.

Notes

Bug fixes and feature changes require an update to the Release Notes section of release_build_files/readme.md.
Read the contribution guidelines CONTRIBUTING.md.
Changes to the public API require an internal API review. If you'd like to help us make Firebase APIs better, please propose your change in a feature request so that we can discuss it together.

I'm withholding my approval until we determine that something less sledgehammer-ish won't work, such as forward-fixing or disabling the problematic tests.


Make the NPM project page better

When I look at next-acms on npmjs.com it looks quite hollow - we should make this look more like a real project by exposing our README file and adding keywords at the least!
See: https://www.npmjs.com/package/next-acms

We added first version of an improved README in https://github.com/acquia/next-acms/pull/61. We will expand the documentation as we add more functionality to the package. It will become visible on npm once we make a new release.
I think we should also consider updating some of the info in package.json. We could at least add some tags.


Fix indicator separation calculation

Take the surface scale into account, and ensure signed numbers are used (otherwise the fallback can never be triggered).
Fixes #15.

Thanks!


Add support for NewType, typing.List, typing.Dict type hinting

A NewType definition will fail the inspect.isclass check. Retrieving and using the __supertype__ will potentially fix this.
Example.
from typing import NewType, Dict
UserId = NewType("UserId", int)

DUserDataset = Dataset["user": UserId, "properties": Dict[str, str]]

Hi @martijnlentink ,
Thank you for the pull request, great additions.
Unfortunately I can't make it work. I tried Python 3.6, 3.7, 3.8, and on all it seems NewType is not something you can apply isinstance on.
Here is the unit test that I wrote, does it work for you?
def test_validate_newtype():
    from typing import NewType

    UserId = NewType('UserId', int)

    df = pd.DataFrame(dict(a=[UserId(1), UserId(2), UserId(3)], b=["a","b","c"]))

    @validate
    def process(data: Dataset["a": UserId, "b": object]):
        pass

    process(df)

Hi @martijnlentink ,
Thank you for the pull request, great additions.
Unfortunately I can't make it work. I tried Python 3.6, 3.7, 3.8, and on all it seems NewType is not something you can apply isinstance on.
Here is the unit test that I wrote, does it work for you?
def test_validate_newtype():
    from typing import NewType

    UserId = NewType('UserId', int)

    df = pd.DataFrame(dict(a=[UserId(1), UserId(2), UserId(3)], b=["a","b","c"]))

    @validate
    def process(data: Dataset["a": UserId, "b": object]):
        pass

    process(df)

Hmm, you are right. I should've mentioned that I did not have time to test it yet 🙈. Maybe change the isinstance check to hasattr(stop_type, "__supertype__"). What do you think?

Hmm, you are right. I should've mentioned that I did not have time to test it yet 🙈. Maybe change the isinstance check to hasattr(stop_type, "__supertype__"). What do you think?

I haven't found any other way that works, so I would say yes let's go with this

I haven't found any other way that works, so I would say yes let's go with this

Okay, done. Let me know if you want me to squash my commits 👍

Okay, done. Let me know if you want me to squash my commits 👍

Are we able to merge this to production?


Argo cli doesn't support numeric workflow output parameters

Summary
Argo client doesn't correctly handle numeric workflow output parameters. Instead it exits with an error like:
FATA[0002] an error on the server ("unable to decode an event from the watch stream: unable to decode watch event: v1alpha1.Workflow.Status: v1alpha1.WorkflowStatus.Nodes: v1alpha1.NodeStatus.Outputs: v1alpha1.Outputs.Parameters: []v1alpha1.Parameter: v1alpha1.Parameter.Value: ReadString: expects \" or n, but found 1, error found in #10 byte of ...|,\"value\":1234,\"value|..., bigger context ...|s\":[{\"globalName\":\"my_id\",\"name\":\"my_id\",\"value\":1234,\"valueFrom\":{\"path\":\"/tmp/my_id\"}}]},\"phase\":\"|...") has prevented the request from succeeding

or
FATA[0000] v1alpha1.Workflow.Status: v1alpha1.WorkflowStatus.Nodes: v1alpha1.NodeStatus.Outputs: v1alpha1.Outputs.Parameters: []v1alpha1.Parameter: v1alpha1.Parameter.Value: ReadString: expects " or n, but found 1, error found in #10 byte of ...|,"value":1234,"value|..., bigger context ...|s":[{"globalName":"my_id","name":"my_id","value":1234,"valueFrom":{"path":"/tmp/my_id"}}]},"phase":"|...

What happened/what you expected to happen?
argo client should show workflow parameters even if they are numeric. Instead it exits with an error
Diagnostics
Submit a workflow like this:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: boom-
spec:
  entrypoint: main
  templates:
    - name: hello
      outputs:
        parameters:
          - name: my_id
            valueFrom:
              path: /tmp/my_id
            globalName: my_id # available through {{ workflow.outputs.parameters.my_id }}
      container:
        image: busybox:latest
        command:
          - /bin/sh
          - -c
          - |
            echo 1234 > /tmp/my_id

    - name: main
      dag:
        tasks:
          - name: hello
            template: hello

outputs:
argo submit --watch boom.yaml
Name:                boom-fpcxf
Namespace:           redacted
ServiceAccount:      redacted
Status:              Running
Created:             Mon Sep 28 13:10:00 +0200 (2 seconds ago)
Started:             Mon Sep 28 13:10:00 +0200 (2 seconds ago)
Duration:            2 seconds

STEP           TEMPLATE  PODNAME                DURATION  MESSAGE
 ● boom-fpcxf  main
 └-◷ hello     hello     boom-fpcxf-3733798180  2s        ContainerCreating
FATA[0002] an error on the server ("unable to decode an event from the watch stream: unable to decode watch event: v1alpha1.Workflow.Status: v1alpha1.WorkflowStatus.Nodes: v1alpha1.NodeStatus.Outputs: v1alpha1.Outputs.Parameters: []v1alpha1.Parameter: v1alpha1.Parameter.Value: ReadString: expects \" or n, but found 1, error found in #10 byte of ...|,\"value\":1234,\"value|..., bigger context ...|s\":[{\"globalName\":\"my_id\",\"name\":\"my_id\",\"value\":1234,\"valueFrom\":{\"path\":\"/tmp/my_id\"}}]},\"phase\":\"|...") has prevented the request from succeeding

argo get boom-fpcxf
FATA[0000] v1alpha1.Workflow.Status: v1alpha1.WorkflowStatus.Nodes: v1alpha1.NodeStatus.Outputs: v1alpha1.Outputs.Parameters: []v1alpha1.Parameter: v1alpha1.Parameter.Value: ReadString: expects " or n, but found 1, error found in #10 byte of ...|,"value":1234,"value|..., bigger context ...|s":[{"globalName":"my_id","name":"my_id","value":1234,"valueFrom":{"path":"/tmp/my_id"}}]},"phase":"|...

kubectl get wf boom-fpcxf
NAME         STATUS      AGE
boom-fpcxf   Succeeded   58s

What version of Argo Workflows are you running?
argo version
argo: latest+f8e750d.dirty
  BuildDate: 2020-09-17T22:11:28Z
  GitCommit: f8e750de5ebab6f3c494c972889b31ef24c73c9b
  GitTreeState: dirty
  GitTag: v2.11.0
  GoVersion: go1.15.2
  Compiler: gc
  Platform: darwin/amd64

Paste the workflow here, including status:
kubectl get wf -o yaml ${workflow}
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  creationTimestamp: "2020-09-28T11:10:00Z"
  generateName: boom-
  generation: 5
  labels:
    workflows.argoproj.io/completed: "true"
    workflows.argoproj.io/phase: Succeeded
  name: boom-fpcxf
  namespace: redacted
  resourceVersion: "243265706"
  selfLink: /apis/argoproj.io/v1alpha1/namespaces/redacted/workflows/boom-fpcxf
  uid: f3627945-27f3-4191-a2f7-306722a7de52
spec:
  arguments: {}
  entrypoint: main
  serviceAccountName: redacted
  templates:
  - arguments: {}
    container:
      command:
      - /bin/sh
      - -c
      - |
        echo 1234 > /tmp/my_id
      image: busybox:latest
      name: ""
      resources: {}
    inputs: {}
    metadata: {}
    name: hello
    outputs:
      parameters:
      - globalName: my_id
        name: my_id
        valueFrom:
          path: /tmp/my_id
  - arguments: {}
    dag:
      tasks:
      - arguments: {}
        name: hello
        template: hello
    inputs: {}
    metadata: {}
    name: main
    outputs: {}
status:
  conditions:
  - status: "True"
    type: Completed
  finishedAt: "2020-09-28T11:10:03Z"
  nodes:
    boom-fpcxf:
      children:
      - boom-fpcxf-3733798180
      displayName: boom-fpcxf
      finishedAt: "2020-09-28T11:10:03Z"
      id: boom-fpcxf
      name: boom-fpcxf
      outboundNodes:
      - boom-fpcxf-3733798180
      phase: Succeeded
      startedAt: "2020-09-28T11:10:00Z"
      templateName: main
      templateScope: local/boom-fpcxf
      type: DAG
    boom-fpcxf-3733798180:
      boundaryID: boom-fpcxf
      displayName: hello
      finishedAt: "2020-09-28T11:10:02Z"
      hostNodeName: redacted
      id: boom-fpcxf-3733798180
      name: boom-fpcxf.hello
      outputs:
        exitCode: "0"
        parameters:
        - globalName: my_id
          name: my_id
          value: 1234
          valueFrom:
            path: /tmp/my_id
      phase: Succeeded
      resourcesDuration:
        cpu: 1
        memory: 1
      startedAt: "2020-09-28T11:10:00Z"
      templateName: hello
      templateScope: local/boom-fpcxf
      type: Pod
  outputs:
    parameters:
    - name: my_id
      value: 1234
  phase: Succeeded
  resourcesDuration:
    cpu: 1
    memory: 1
  startedAt: "2020-09-28T11:10:00Z"

Paste the logs from the workflow controller:
kubectl logs -n argo $(kubectl get pods -l app=workflow-controller -n argo -o name) | grep ${workflow}
time="2020-09-28T11:06:28Z" level=info msg="Processing workflow" namespace=redacted workflow=boom-2nwtf
time="2020-09-28T11:06:28Z" level=info msg="Updated phase  -> Running" namespace=redacted workflow=boom-2nwtf
time="2020-09-28T11:06:28Z" level=info msg="DAG node boom-2nwtf initialized Running" namespace=redacted workflow=boom-2nwtf
time="2020-09-28T11:06:28Z" level=info msg="All of node boom-2nwtf.hello dependencies [] completed" namespace=redacted workflow=boom-2nwtf
time="2020-09-28T11:06:28Z" level=info msg="Pod node boom-2nwtf-561381942 initialized Pending" namespace=redacted workflow=boom-2nwtf
time="2020-09-28T11:06:28Z" level=info msg="Created pod: boom-2nwtf.hello (boom-2nwtf-561381942)" namespace=redacted workflow=boom-2nwtf
time="2020-09-28T11:06:28Z" level=info msg="Workflow update successful" namespace=redacted phase=Running resourceVersion=243264446 workflow=boom-2nwtf
time="2020-09-28T11:06:29Z" level=info msg="Processing workflow" namespace=redacted workflow=boom-2nwtf
time="2020-09-28T11:06:29Z" level=info msg="Updating node boom-2nwtf-561381942 message: ContainerCreating"
time="2020-09-28T11:06:29Z" level=info msg="Skipped pod boom-2nwtf.hello (boom-2nwtf-561381942) creation: already exists" namespace=redacted workflow=boom-2nwtf
time="2020-09-28T11:06:29Z" level=info msg="Workflow update successful" namespace=redacted phase=Running resourceVersion=243264452 workflow=boom-2nwtf
time="2020-09-28T11:06:30Z" level=info msg="Processing workflow" namespace=redacted workflow=boom-2nwtf
time="2020-09-28T11:06:31Z" level=info msg="Skipped pod boom-2nwtf.hello (boom-2nwtf-561381942) creation: already exists" namespace=redacted workflow=boom-2nwtf
time="2020-09-28T11:06:32Z" level=info msg="Processing workflow" namespace=redacted workflow=boom-2nwtf
time="2020-09-28T11:06:32Z" level=info msg="Updating node boom-2nwtf-561381942 status Pending -> Running"
time="2020-09-28T11:06:32Z" level=info msg="Workflow update successful" namespace=redacted phase=Running resourceVersion=243264467 workflow=boom-2nwtf
time="2020-09-28T11:06:33Z" level=info msg="Processing workflow" namespace=redacted workflow=boom-2nwtf
time="2020-09-28T11:06:39Z" level=info msg="Processing workflow" namespace=redacted workflow=boom-2nwtf
time="2020-09-28T11:06:39Z" level=info msg="Updating node boom-2nwtf-561381942 status Running -> Error"
time="2020-09-28T11:06:39Z" level=info msg="Updating node boom-2nwtf-561381942 message: failed to save outputs: Failed to establish pod watch: timed out waiting for the condition"
time="2020-09-28T11:06:39Z" level=info msg="Outbound nodes of boom-2nwtf set to [boom-2nwtf-561381942]" namespace=redacted workflow=boom-2nwtf
time="2020-09-28T11:06:39Z" level=info msg="node boom-2nwtf phase Running -> Error" namespace=redacted workflow=boom-2nwtf
time="2020-09-28T11:06:39Z" level=info msg="node boom-2nwtf finished: 2020-09-28 11:06:39.282091426 +0000 UTC" namespace=redacted workflow=boom-2nwtf
time="2020-09-28T11:06:39Z" level=info msg="Checking daemoned children of boom-2nwtf" namespace=redacted workflow=boom-2nwtf
time="2020-09-28T11:06:39Z" level=info msg="Updated phase Running -> Error" namespace=redacted workflow=boom-2nwtf
time="2020-09-28T11:06:39Z" level=info msg="Marking workflow completed" namespace=redacted workflow=boom-2nwtf
time="2020-09-28T11:06:39Z" level=info msg="Checking daemoned children of " namespace=redacted workflow=boom-2nwtf
time="2020-09-28T11:06:39Z" level=info msg="Workflow update successful" namespace=redacted phase=Error resourceVersion=243264514 workflow=boom-2nwtf
time="2020-09-28T11:06:40Z" level=info msg="boom-2nwtf released all acquired locks"
time="2020-09-28T11:06:40Z" level=info msg="Labeled pod redacted/boom-2nwtf-561381942 completed"
time="2020-09-28T11:06:40Z" level=info msg="Workflow update successful" namespace=redacted phase=Error resourceVersion=243264514 workflow=boom-2nwtf
time="2020-09-28T11:06:41Z" level=info msg="Labeled pod redacted/boom-2nwtf-561381942 completed"
time="2020-09-28T11:10:00Z" level=info msg="Processing workflow" namespace=redacted workflow=boom-fpcxf
time="2020-09-28T11:10:00Z" level=info msg="Updated phase  -> Running" namespace=redacted workflow=boom-fpcxf
time="2020-09-28T11:10:00Z" level=info msg="DAG node boom-fpcxf initialized Running" namespace=redacted workflow=boom-fpcxf
time="2020-09-28T11:10:00Z" level=info msg="All of node boom-fpcxf.hello dependencies [] completed" namespace=redacted workflow=boom-fpcxf
time="2020-09-28T11:10:00Z" level=info msg="Pod node boom-fpcxf-3733798180 initialized Pending" namespace=redacted workflow=boom-fpcxf
time="2020-09-28T11:10:00Z" level=info msg="Created pod: boom-fpcxf.hello (boom-fpcxf-3733798180)" namespace=redacted workflow=boom-fpcxf
time="2020-09-28T11:10:00Z" level=info msg="Workflow update successful" namespace=redacted phase=Running resourceVersion=243265676 workflow=boom-fpcxf
time="2020-09-28T11:10:01Z" level=info msg="Processing workflow" namespace=redacted workflow=boom-fpcxf
time="2020-09-28T11:10:01Z" level=info msg="Updating node boom-fpcxf-3733798180 message: ContainerCreating"
time="2020-09-28T11:10:01Z" level=info msg="Skipped pod boom-fpcxf.hello (boom-fpcxf-3733798180) creation: already exists" namespace=redacted workflow=boom-fpcxf
time="2020-09-28T11:10:01Z" level=info msg="Workflow update successful" namespace=redacted phase=Running resourceVersion=243265687 workflow=boom-fpcxf
time="2020-09-28T11:10:02Z" level=info msg="insignificant pod change" key=redacted/boom-fpcxf-3733798180
time="2020-09-28T11:10:02Z" level=info msg="Processing workflow" namespace=redacted workflow=boom-fpcxf
time="2020-09-28T11:10:02Z" level=info msg="Setting node boom-fpcxf-3733798180 outputs"
time="2020-09-28T11:10:02Z" level=info msg="Updating node boom-fpcxf-3733798180 status Pending -> Running"
time="2020-09-28T11:10:02Z" level=info msg="setting workflow.outputs.parameters.my_id: '1234'" namespace=redacted workflow=boom-fpcxf
time="2020-09-28T11:10:02Z" level=info msg="Workflow update successful" namespace=redacted phase=Running resourceVersion=243265695 workflow=boom-fpcxf
time="2020-09-28T11:10:03Z" level=info msg="Processing workflow" namespace=redacted workflow=boom-fpcxf
time="2020-09-28T11:10:03Z" level=info msg="Updating node boom-fpcxf-3733798180 status Running -> Succeeded"
time="2020-09-28T11:10:03Z" level=info msg="Outbound nodes of boom-fpcxf set to [boom-fpcxf-3733798180]" namespace=redacted workflow=boom-fpcxf
time="2020-09-28T11:10:03Z" level=info msg="node boom-fpcxf phase Running -> Succeeded" namespace=redacted workflow=boom-fpcxf
time="2020-09-28T11:10:03Z" level=info msg="node boom-fpcxf finished: 2020-09-28 11:10:03.955497743 +0000 UTC" namespace=redacted workflow=boom-fpcxf
time="2020-09-28T11:10:03Z" level=info msg="Checking daemoned children of boom-fpcxf" namespace=redacted workflow=boom-fpcxf
time="2020-09-28T11:10:03Z" level=info msg="Updated phase Running -> Succeeded" namespace=redacted workflow=boom-fpcxf
time="2020-09-28T11:10:03Z" level=info msg="Marking workflow completed" namespace=redacted workflow=boom-fpcxf
time="2020-09-28T11:10:03Z" level=info msg="Checking daemoned children of " namespace=redacted workflow=boom-fpcxf
time="2020-09-28T11:10:03Z" level=info msg="Workflow update successful" namespace=redacted phase=Succeeded resourceVersion=243265706 workflow=boom-fpcxf
time="2020-09-28T11:10:04Z" level=info msg="boom-fpcxf released all acquired locks"
time="2020-09-28T11:10:04Z" level=info msg="Labeled pod redacted/boom-fpcxf-3733798180 completed"
time="2020-09-28T11:10:04Z" level=info msg="Workflow update successful" namespace=redacted phase=Succeeded resourceVersion=243265706 workflow=boom-fpcxf
time="2020-09-28T11:10:05Z" level=info msg="Labeled pod redacted/boom-fpcxf-3733798180 completed"

Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.

This seems to be caused by https://github.com/argoproj/argo/pull/3963. However, I am so far unable to reproduce this on v2.11.0 or on master. My suspicion is that you have a version mismatch between your controller and your argo-server. Can you check that you're both running on the same version?

I think the controller and server in the cluster are running 2.10.1. The argo client is 2.11.0

I don't think you can run v2.10 with v2.11 CLI. It will cause this issue. Can you please try with the v2.10.1 CLI?

Closing. If having your CLI/controller/server all at the same version doesn't fix this issue, please feel free to comment again and reopen

Upgrading k8s workloads to 2.11.0 indeed fixed the problem. I have to note however, that I did not expect a 2.11 client would have issues with a 2.10 server instance (semantic versioning / backwards compatibility etc 😂 )

Upgrading k8s workloads to 2.11.0 indeed fixed the problem. I have to note however, that I did not expect a 2.11 client would have issues with a 2.10 server instance (semantic versioning / backwards compatibility etc 😂 )

I think you are reasonable in this. We rarely see backwards compatibility issues like this. Is fact, is the only instance I can think of.


chore: add collaborators to .asf.yaml

Interesting! Which tool processes this file?

It's some magic on the Apache infrastructure side.
Weirdly enough, the documentation is not public, but the implementation is.

Weirdly enough, the documentation is not public, but the implementation is.

Unfortunately also the implementation is private (you can just see it because of being a committer ..)

Oh, that makes more sense.


mat4.lookAt optimization

In mat4.lookAt function:
Is the normalization of the Y(y0,y1,y2) vector really necessary?
First we get Z (EYE - CENTER) and normalize it.
Then we compute X (UP cross Z) and normalize it too.
Now it is guaranteed that Y (Z cross X) is also normalized, since Z and X are orthogonal unit vectors, so we can safely skip normalization.

On paper, yes.  On IEEE754, no.


Correct Bundle-SymbolicName

The Bundle-SymbolicName values for some of the modules are wrong:
Bundle-SymbolicName                      com.io7m.r2.com.io7m.r2.core
Bundle-SymbolicName                      com.io7m.r2.com.io7m.r2.shaders.core

Can't seem to reproduce this anymore...

I think this may be Intellij IDEA doing this. A Maven build (using bnd 3.3.0 internally) never produces these bad names, but a build triggered by IDEA (using its own rather elderly copy of bnd) does.

Intellij bug. Reopen if this re-occurs.


How to create a view?!

I tried in any kind of ways to create a build pipeline view and I just can't.
I've tried to use as Macro, as Project, as a Job.... Anyone can help me how I create a build pipeline view using the addons?
I used a lot of times to create folders and works pretty nice.

There are test fixtures available here: https://github.com/jimbydamonk/jenkins-job-builder-addons/tree/master/tests/views/fixtures

are these test fixtures covering functionality exhaustively?  i glanced at the tests and the source and couldn't immediately tell.  i'm looking to create list views with regex filters, and trying to find out if that's supported.  I might also be interested in submitting a PR for this if it's not yet supported


portaudio: only include alsa in linux builds

Description of changes
Resolves #212870. Windows builds were failing due to inclusion of alsa. This ensures that alsa is only included when host platform is Linux.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

LGTM. @lovek323 I'll merge if you approve :)


Is there a way to resize the image?

When I resize the view, the image don't resize, it just move from left to right.
Is there a way to archive the following effect?: http://santander-universidades.herokuapp.com/santander_universidades_que_es.html
In the following page, try to resize the page and see how the red banner moves.
Thanks.

I'll give it a try, but how can I do It?
As is a repeated component in the page I did the following component
import React from 'react';
import { Parallax } from 'react-parallax';
export default class Banner extends React.Component {

    constructor(props) {
        super(props);
    }

    render() {
        return (

                <Parallax
                    blur={{ min: -15, max: 15 }}
                    bgImage={this.props.image}
                    strength={300}
                >

                                {
                                    this.props.title &&

{ this.props.title }

                                        {
                                            this.props.subtitle &&

{this.props.subtitle}

                                        }

                                }

                </Parallax>

        )
    }

}

Banner.defaultProps = {
    'title': undefined,
    'subtitle': undefined,
    'height': '420px',
    'image': require('./../../assets/images/hey.jpg'),
    'overlayColor': 'none'
}

The css of it is the following:
.parallax-banner {
    .banner-text {
        bottom: 0;
        position: absolute;
        p {
            text-align: left !important;
        }
        .subtitle {
            color: $white;
            font-family: $open-sans !important;
            font-size: $large !important;
            text-transform: none;
        }
        .title {
            color: $white;
            font-family: $open-sans-bold;
            font-weight: 800;
            font-size: $banner;
            line-height: 1.5;
            text-transform: uppercase;
        }
    }
}

Thanks

Looks like you want to have a fixed height, right?
I have an idea how to achieve the behavior you asked for. I just created a little example on codesandbox: https://j2x4706219.codesandbox.io/.
You have to use square images or at least images that have a ratio closer to 1x1 (or even portrait format).

@Jatapiaro Did you have a look at the example above?

Yeah, thank you so much for your help.
Now I'm just talking to the designers to get all the images in the right format.
THANKS!


Clicking headway gray circle in the header on mobile, requires a scroll to show the overlay

@ofsound Is this fixed? Not seeing it here on the iphone...

Looks like it's just an issue when the vertical height of headway is more than the screen height. I don't encounter it on split iPad views, only on my small 320px iPhone.

I can reproduce this holding my phone horizontally. Potentially a headway bug?

No longer relevant since we killed headway on mobile for now.


update combine-source-map and add sourcemap tests

closes #51

published as<EMAIL_ADDRESS>


Add folke/lazy.nvim

Checklist:

[x] The plugin is specifically built for Neovim, or if it's a colorscheme, it supports treesitter syntax.
[x] The lines end with a .. This is to conform to awesome-list linting and requirements.
[x] It's not already on the list.
[x] The title of the pull request is Add/Update/Remove `username/repo`  when adding a new plugin.
[x] The description doesn't start with A Neovim plugin for.., or A plugin for...
[x] The description doesn't mention that it's a Neovim plugin, it's obvious from the rest of the document. The description is exactly the one used in the plugin's repo.
[x] Neovim is spelled as Neovim (not nvim, NeoVim or neovim), Vim is spelled as Vim (capitalized), Lua is spelled as Lua (capitalized).

Thanks for the PR! Can you remove the 'for Neovim' part?

I replaced it with a more insightful description.

Thanks for the PR! Can you remove the 'for Neovim' part?

This has shown up in a lot of PRs lately. Perhaps it's worth adding that to the "The description doesn't start with..." checklist item?

Perhaps The description doesn't mention that it's a Neovim plugin (such as "... for Neovim"); it's obvious from the rest of the document would be clearer for submitters?

@assistcontrol a PR would be welcome!

Merge asap!

Merge asap!

Something went wrong with the syntax of your line, when you fix that I can merge your PR. See the failing CI.


ml_lda number of topics = columns of dataset why?

When I look at the code of ml_lda, the number of topics is set to the number of columns from the dataset. Why would you do that as K is the number of topics you want to estimate, not the number of columns in the dataset.
model <- lda %>% invoke("setK", length(features)) %>% invoke("setFeaturesCol",
        envir$features)

Wouldn't it make a lot more sense to provide the following types of arguments to ml_lda and use the setters accordingly?

k = 5: number of topics
optimizer = c("online", "em")
alpha = docConcentration: Concentration parameter for the prior placed on documents' distributions over topics. If not missing, use setDocConcentration.
beta = topicConcentration: for the prior placed on topics' distributions over terms. If not missing, use setTopicConcentration.
maxIter = 100,
seed = 123456789
subsamplingRate = 0.05

This was a silly oversight -- I'll expose k as a parameter in ml_lda.

I'll look into exposing the other parameters soon as well.

@jwijffels, this is off topic, but... From my experience, spark LDA implementation is totally disappointing...
Last time I tried it (spark 1.6),  it even didn't work on medium datasets which can be fitted on single core with R lda package...

I would love to hear your experiences on this.
I'm evaluating currently

the (parallel) spark LDA alongside
the single core topicmodels R package and
the parallel LDA from Madlib on a Greenplum environment
streaming topic models available at https://github.com/intel-analytics/TopicModeling
regarding speed, RAM, goodness of fit and size of the dataset, the type of algorithm (Expectation/Maximisation or Gibbs)
My term/document matrices datasets range mostly about 1-5 Mio rows about 1000 terms depending on what I choose.
If you  have experiences to share, feel free.

Spark LDA requires a lot of spark internals tuning. And it is hard to understand why it can crash/goes OOM/goes full gc. I even tried to parse java garbage collector logs... With a lot of tuning I managed it to work with collection of 1M docs and 100 topics (on a cluster with 64 cores and 128 gb of ram!).
I didn't try Madlib and intel-analytics/TopicModeling.

IMHO your datasets are not so large. I would go with single machine implementations of LDA. For example:

Mallet which implements SparseLda algorithm.
VowpalVabbit with fast online variational bayes.
gensim
Single Machine implementation of LDA from DMLC repo

Regarding R packages:

topicmodels is slow and unclear. lda is faster(~5x) and has more options. LDA in my text2vec package is based on lda, but code is refactored - it ~1.5x-2x faster than lda (so ~10x faster than topicmodels). For 1000 topics, each iteration of collapsed gibbs sampling on 1.5m wikipedia subset (1/3 of english wikipedia) takes about 40 minutes. I guess algorithm needs 50-100 iterations to converge. Complexity is proportional to number of topics.  Also text2vec::LDA allows to fit model on subset of data and predict topic distribution for whole dataset.
R wrapper for Mallet
I don't know any online implementations in R. I developed one, based on scikit-learn/gensim, but it still buggy. So I didn't publish it.

Thanks for the feedback and the pointers to other options.
The single-core lda in the topicsmodels package I'm running takes from 5 minutes up to 1.5 days depending on the number of topics (5 to 80), that's a bit too long even though I reduced the dataset already from 200Mio documents to the customer level. I'll have a look if package lda is faster and gives the same perplexity. For the other (online or batch) topic models I enumerated, I'll make a blog post about my experiences where my preference is currently to keep the data & the model in the DB if that DB allows sparse formats and to allow parallelism as much as possible (if this gives performance gains of course).

Model updated by Kevin, closing issue.

@jwijffels did you end up writing a blog post? would love to hear feedback from running lda at scale from sparklyr.

not yet, i'm still discussing on if I can use certain (currently confidential) data in the blog post.

I will also look forward to hearing any example on lda from sparklyr!

Here is an example:
devtools::install_github("rstudio/sparklyr", ref = "feature/ft_count_vectorizer")

library(janeaustenr)
library(sparklyr)
library(dplyr)

sc <- spark_connect(master = "local")

austen_books <- austen_books()
books_tbl <- sdf_copy_to(sc, austen_books, overwrite = TRUE)
first_tbl <- books_tbl %>% filter(nchar(text) > 0) %>% head(2)

first_tbl %>%
  ft_tokenizer("text", "tokens") %>%
  ft_count_vectorizer("tokens", "features") %>%
  ml_lda("features", k = 4)

I do appreciate the straight forward example!

Dear Team:
Based on the clear example of ml_lda(), now I can successfully fit the model with my data. Compared to the fitting speed of LDA() from topicmodels package in my single PC, it is such an amazing experience as a novice user of Spark & SparklyR. I do appreciate that.
Since I am R-myopic user and have only got accustomed to use LDA() from topicmodels, several questions still remain unanswered though Spark Documentation seems well explained.
Some of the questions are as follows:

It seems there are two notable output objects after fitting ml_lda(): topic.matrix & estimated.doc.concentration

topic.matrix: my main question is, "How could I interpret the value of this table?" or "What values are these?"
Spark Document says (https://spark.apache.org/docs/1.4.0/api/java/org/apache/spark/mllib/clustering/LDAModel.html#vocabSize()), it is a VocabSize & K, but I still don't understand what the cell value means and how I can interpret those.

estimated.doc.concentration: Also, please advise how to interpret these values. (Are these Alpha?)

How could I access or examine the actual words ofVocabSize?  What I would like to explore is the fundamental output in LDA() such as Top-Terms in each Topic(ex. get_terms(), terms(), topics() functions in topicmodles package)

Lastly, How could I access the outputs similar to LDA() such as Beta, Gamma, Log-Likelihood(to find Optimal K)?

I am a bit confused about parameters used in ml_lda() since I am a newbie and if you could advise aforementioned questions, it will be greatly appreciated.
Thank you so much for your effort, time and help.
Sincerely,
K.B. Park