Improve type guard consistiency

Building on what was mentioned in #5427, modifies getNarrowedTypeOfSymbol to handle an empty union only at the top level (so we handle compound expressions correctly), thereby allowing enabling returning empty sets at the correct time when mid-narrow.
Additionally, I've also preserved the behavior for narrowing any by a primitive type, and incidentally fixed issues where narrowing wasn't being correctly applies to an else clause or with enums.
Long story short, this fixes a bunch of bugs, but preserves our current behaviors in meaningful edge cases (according to our test suite).
Fixes #1270, #5439, #5100, #4874. (Or it should, anyway)
To summarize the changes:
narrowTypeByEquality was mostly rewritten to unify the positive case and negative case logic, while also allowing it to actually return an empty union. removeTypesFromUnion was removed in the process, and flags were set to not merge subtypes in unions when narrowing (thus preserving enums/future string types in narrowed unions). To preserve old (desired?) behavior with respect to type guards narrowing a type to the empty set acting as the original type, a check was added after the loop in getNarrowedTypeOfSymbol to do just that. While looking at getNarrowedTypeOfSymbol, I noticed we were narrowing from the outside in (for some reason), which was the root cause of nested narrowing not working as intended. To fix this, I instead create a stack of parent nodes and visit them in reverse order from before. This, combined with actually returning an empty set from the internal narrowing functions, corrected the tautological case.
@sandersn how do you feel about it?
If you feel strongly about allowing narrowing to the empty set, we can now do that just by removing a top-level check in getNarrowedTypeOfSymbol.

What happens with conflicting guards with this change? You'll still get the original union, right?

Correct - I moved the check to replace an empty object with the original type from within the narrowing functions to the top level of the getNarrowedTypeOfSymbol function to preserve current behaviors as much as possible.

The change is convincing to me -- seems like a small but reasonable change to the semantics -- so here's a tentative :+1:
But you should have somebody who understands all the rules for union types take a look too.

@sandersn @DanielRosenwasser @mhegazy is there anything else you'd like from this PR, or can it be merged?

I've run perf tests (10 iterations) against this branch vs master:
Project                         Baseline (ms)    Current (ms)     Delta (%) Best (ms) Worst (ms)
-------                         -------------    ------------     --------- --------- ----------
Compiler - tsc (ParseTime)      0.59 (± 1.61 %)  0.58 (± 1.01 %)  -2.19 %        0.57       0.59
Compiler - tsc (BindTime)       0.23 (± 1.98 %)  0.23 (± 2.25 %)  -1.32 %        0.22       0.24
Compiler - tsc (CheckTime)      1.02 (± 1.15 %)  1.01 (± 2.04 %)  -0.88 %        0.96       1.04
Compiler - tsc (EmitTime)       1.93 (± 5.98 %)  1.83 (± 5.15 %)  -5.04 %        1.73       2.13
Compiler - tsc (TotalTime)      3.76 (± 2.99 %)  3.64 (± 2.61 %)  -3.24 %         3.5       3.94
Monaco - tsc (ParseTime)        1.73 (± 3.39 %)  1.77 (± 4.07 %)  2.20 %         1.64       1.97
Monaco - tsc (BindTime)         0.64 (± 2.53 %)  0.67 (± 6.95 %)  4.06 %         0.62       0.84
Monaco - tsc (CheckTime)        3.21 (± 6.67 %)  3.29 (± 5.58 %)  2.53 %         2.82       3.56
Monaco - tsc (EmitTime)         6.65 (± 9.69 %)  6.90 (± 9.02 %)  3.70 %         5.68       8.12
Monaco - tsc (TotalTime)        12.22 (± 6.54 %) 12.62 (± 6.54 %) 3.22 %        10.92      14.09
TFS - tsc (ParseTime)           1.08 (± 1.95 %)  1.12 (± 4.79 %)  3.33 %         1.04        1.3
TFS - tsc (BindTime)            0.47 (± 4.66 %)  0.48 (± 4.32 %)  1.71 %         0.44       0.52
TFS - tsc (CheckTime)           2.36 (± 3.91 %)  2.48 (± 5.24 %)  5.26 %          2.2       2.74
TFS - tsc (EmitTime)            3.90 (± 12.64 %) 4.05 (± 9.40 %)  3.95 %         3.62       5.01
TFS - tsc (TotalTime)           7.80 (± 7.50 %)  8.12 (± 6.11 %)  4.13 %         7.45       9.15
Encyclopedia - tsc (ParseTime)  0.37 (± 1.82 %)  0.40 (± 3.66 %)  8.31 %         0.38       0.44
Encyclopedia - tsc (BindTime)   0.14 (± 4.30 %)  0.15 (± 7.96 %)  11.68 %        0.13       0.18
Encyclopedia - tsc (CheckTime)  0.47 (± 1.92 %)  0.50 (± 4.45 %)  7.92 %         0.47       0.56
Encyclopedia - tsc (EmitTime)   0.08 (± 14.85 %) 0.08 (± 12.87 %) 7.89 %         0.07       0.12
Encyclopedia - tsc (TotalTime)  1.05 (± 2.08 %)  1.14 (± 3.95 %)  8.26 %         1.06       1.23
Compiler - node (ParseTime)     0.74 (± 1.71 %)  0.75 (± 1.90 %)  1.49 %         0.72       0.78
Compiler - node (BindTime)      0.36 (± 2.12 %)  0.38 (± 1.80 %)  5.60 %         0.36       0.39
Compiler - node (CheckTime)     1.49 (± 2.12 %)  1.57 (± 2.85 %)  5.30 %          1.5       1.68
Compiler - node (EmitTime)      1.75 (± 2.50 %)  1.81 (± 3.46 %)  3.49 %         1.72          2
Compiler - node (TotalTime)     4.33 (± 1.54 %)  4.50 (± 2.18 %)  4.00 %         4.34       4.73
Monaco - node (ParseTime)       1.79 (± 1.76 %)  1.78 (± 1.36 %)  -0.84 %        1.73       1.85
Monaco - node (BindTime)        0.90 (± 5.29 %)  0.91 (± 3.86 %)  1.44 %         0.85          1
Monaco - node (CheckTime)       5.11 (± 2.32 %)  5.11 (± 1.62 %)  -0.12 %        4.88       5.27
Monaco - node (EmitTime)        5.82 (± 1.63 %)  5.94 (± 2.45 %)  2.10 %          5.6       6.31
Monaco - node (TotalTime)       13.62 (± 1.36 %) 13.74 (± 1.39 %) 0.84 %        13.28      14.14
TFS - node (ParseTime)          1.31 (± 2.15 %)  1.31 (± 2.19 %)  0.00 %         1.27        1.4
TFS - node (BindTime)           0.83 (± 4.08 %)  0.87 (± 14.34 %) 4.72 %         0.77       1.35
TFS - node (CheckTime)          3.82 (± 4.77 %)  3.70 (± 2.42 %)  -2.96 %        3.48       3.87
TFS - node (EmitTime)           4.21 (± 3.00 %)  4.18 (± 1.26 %)  -0.88 %        4.07       4.29
TFS - node (TotalTime)          10.17 (± 2.92 %) 10.06 (± 1.93 %) -1.08 %        9.64      10.59
Encyclopedia - node (ParseTime) 0.29 (± 2.53 %)  0.28 (± 2.71 %)  -2.74 %        0.27       0.31
Encyclopedia - node (BindTime)  0.23 (± 3.24 %)  0.23 (± 5.88 %)  0.00 %          0.2       0.27
Encyclopedia - node (CheckTime) 1.07 (± 1.46 %)  1.07 (± 10.95 %) 0.47 %         0.99       1.54
Encyclopedia - node (EmitTime)  0.13 (± 9.72 %)  0.13 (± 7.78 %)  3.17 %         0.11       0.16
Encyclopedia - node (TotalTime) 1.71 (± 1.67 %)  1.72 (± 8.02 %)  0.29 %          1.6       2.26

I don't see any meaningful change in perf.

Can we merge this now? I talked to @mhegazy yesterday and we are both in favor of it. @DanielRosenwasser can you take another look?

Perf impact seems decently small, apart from my last comment :+1:

Spoke with @DanielRosenwasser about that switch and the implications for changing it - opened #5619 as a related issue, and will merge this as-is since it matches existing behavior (bugs included).

:tada:


Don't convert namedtuple to tuple

Before submitting
This is just a proposed solution for sending namedtuples to the GPU without converting them to regular tuples.  I am open to suggestions.

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure to update the docs?
[ ] Did you write any new necessary tests?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

What does this PR do?
Fixes #1588
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

Hello @nathanbreitsch! Thanks for opening this PR.

In the file pytorch_lightning/trainer/distrib_parts.py:

Line 463:42: E261 at least two spaces before inline comment

Do see the Hitchhiker's guide to code style

@nathanbreitsch awesome!


Updating text using select() does not work directly

I have my text in a group and want to update it.
What should work: groupVariable.select('text').text('new text');
I get an error saying "cannot read property "text" of undefined
To make it work, I need to access it this way: groupVariable.select('text').members[0].text('new text');

That's indeed not the intended behavior. I will take a look on it

A Set only inherits the methods from the shape class. So it doenst include any special method from a subclass like text. Thats somewhat unsatisfying. Maybe we find a way to change that

With the current api there are three ways to achieve what you want without touching the (private) members property.
Get the first object:
groupVariable.select('text').first().text('new text')

Get an object at a specific index:
groupVariable.select('text').get(0).text('new text')

Or change the text value on every instance of or SVG.Text:
groupVariable.select('text').each(function() {
  this.text('new text')
})

However, there is no text() method on SVG.Set.

Due to its age, I'll close this issue for now. Please let us know if you have any further questions.


Map preview branches to custom domain

We want to automate preview branches but our backend systems require the same domain for sessions and cookies to work properly. Instead of building preview branches to https://pr-299.d3ka6awcf02t21.amplifyapp.com we want them to map to our custom domain:
https://pr-299.d3ka6awcf02t21.customdomain.com
Is this possible currently, and if not is it something we can request?

@Munsterberg currently it isn't available. We are working on a capability to support automatic subdomains for PRs (so you can get https://pr-299.customdomain.com automatically)

@Munsterberg currently it isn't available. We are working on a capability to support automatic subdomains for PRs (so you can get https://pr-299.customdomain.com automatically)

Good to know that this will be supported. Do we have any timeline for this feature?
We use Amplify console for our application as well(which works like a charm) and since we use cookies with a particular domain, this feature would be really helpful for pre-testing phase.

Feature is now supported: https://aws.amazon.com/blogs/mobile/automatically-create-and-delete-custom-sub-domains-for-your-branch-deployments-with-amplify-console/

@swaminator Does the feature you listed above also work for multi-level subdomains? For example
https://pr-123.customsubdomain.customdomain.com. We have been having trouble trying to configure it this way.

@julieReitter Yes. You can register the root domain as customsubdomain.customdomain.com and enable autosubdomain feature for PR branch.

@swaminator does the below seem to work?

@swaminator Does the feature you listed above also work for multi-level subdomains? For example
https://pr-123.customsubdomain.customdomain.com. We have been having trouble trying to configure it this way.


Nepal Commerce Campus

Nepal Commerce Campus

@dhirajbadu lib/domains/np/edu/nepalcommercecampus: this request has an incorrect file path format, please ensure that you are familiar with     this repository rules located at the bottom of this page and change     your request accordingly. If you don't know how to change request, close it and open a new one.     If you are not able to make the pull request according the instructions, please send us an email to<EMAIL_ADDRESS>Please mention this request URL in the message.

@dhirajbadu I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host nepalcommercecampus.edu.np not found: 2(SERVFAIL) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!

https://www.ncc.edu.np/ This is the domain name


Does not work with Redis in Cluster mode

Facing error as UnhandledPromiseRejectionWarning: ReplyError: CROSSSLOT Keys in request don't hash to the same slot when tried with Redis in Cluster Mode.
Any suggestion or solution?

You could use the same hashtag for all the redis keys (maybe as a prefix)
https://redis.io/topics/cluster-spec


Comment on System.Numerics in the readme

From the readme:
If you wonder why I’m not using System.Numerics — structures from there lack [StructLayout( LayoutKind.Sequential )] which is absolute requirement for native interop. And given Microsoft’s stance on backward compatibility, not sure they ever fix it.

C# structs use sequential layout by default, which means they all are.

Was just going to comment the same 😄
C# emits classes using LayoutKind.Auto while it emits structs using LayoutKind.Sequential by default (the latter differs from the same type declared directly in IL) and while we (the .NET Libraries Team) don't necessarily guarantee any struct will always stay blittable or that it won't have the underlying layout changed, the Vector2/3/4, Matrix3x2, Matrix4x4, Plane, and Quaternion types in particular won't change as they publicly expose their fields and have explicit size/layout requirements.

Thanks for the tip. Will leave this issue open and upgrade when I’ll have time.
Will definitely work for vectors, quaternions and 4x4 matrices
About 3x2 matrices, do you happen to know have someone tested Matrix3x2 from .NET against the corresponding C++ class from Windows SDK? https://docs.microsoft.com/en-us/windows/win32/api/d2d1helper/nl-d2d1helper-matrix3x2f
I did and I think I had to make some compatibility adjustments to my initial implementation.

Matrix3x2F is not a C++03 POD ("Plain Old Data") type and so it may have different marshaling characteristics/requirements. We should be largely compatible with D2D_MATRIX_3X2_F but that will likely depend on the underlying ABI (Application Binary Interface), that is the Calling Convention used, as D2D_MATRIX_3X2_F is a struct containing a union of two structs (each having 6x float fields) and a byval array that is 3x2 in width while System.Numerics.Matrix3x2 is simply a struct containing 6x float fields

An example of the upper layer of the ABI: https://github.com/Const-me/Vrmac/blob/master/VrmacInterop/Draw/Direct2D/iDrawContext.cs#L29 There’re more methods passing them between C++ and C#, they are used a lot over both 2D backends.
When running on Windows, my COM runtime compiles that method into unmanaged delegate with CallingConvention.StdCall applied: https://github.com/Const-me/ComLightInterop/blob/master/ComLight/Emit/NativeDelegates.cs#L43-L48
On Windows, the layer below that are C++ methods with __stdcall convention, built by Visual Studio 2017 for AMD64. I have no intentions to change that any time soon, in my experience platform-default compilers cause least amount of issues, on Windows this means MSVC, on Linux GCC.
Does this mean the 3x2 matrices from .NET Numerics are binary compatible with D2D matrices?
Also, do you happen to know the operations on these matrices, especially vector transform and inversion, are identical (apart from inevitable float precision issues caused by FMA and other factors, I’m fine with them) across the 2 implementations, in .NET and D2D?

Does this mean the 3x2 matrices from .NET Numerics are binary compatible with D2D matrices?

It would depend on the underlying ABI and would require more investigation. I believe in the case of Matrix3x2 they are compatible, but there can be lots of tiny nuances when you actually dig into things: https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=vs-2019#return-values

Also, do you happen to know the operations on these matrices, especially vector transform and inversion, are identical (apart from inevitable float precision issues caused by FMA and other factors, I’m fine with them) across the 2 implementations, in .NET and D2D?

I haven't done any analysis to determine if we are or are not compatible with the Direct2D algorithms (or DirectX Math). In general, I would expect results to at least be similar.

@tannergooding Fixed now. Will release 1.1 after improving couple more things.
Had no compatibility issues with 3x2 matrices, tested both 2D backends on Windows, and my custom one on Linux.
But I had a couple with 4x4 ones: https://github.com/Const-me/Vrmac/blob/master/Vrmac/Utils/Math/DiligentMatrices.cs The projection was expected, but I forgot I have also patched LookAt in the old MonoGame-based code.

Fixed in 1.1


Dragging Fluids into filters in AE2 doesn't work

with just JEI, you can drag a fluid (eg water) (not the bucket, the actual water fluid) .. and drag it into filter spots in AE2 (like in interfaces, importers, exporters, etc) .. and it will correctly drop that in there .. seems like dragging them in EMI doesn't follow the same interface and AE2 doesn't recognize that as a valid droppable .. making it basically impossible to work properly with AE2 this way .. this is also the same for Mekanism gases, since AE2 can store and filter them the same way

This was related to another issue that was resolved in 1.0.5


start.sh dependency check always throws an<EMAIL_ADDRESS>was not found" warning prompt

The start.sh script has a section where it is verified if the<EMAIL_ADDRESS>package is installed. The command used for that is brew list<EMAIL_ADDRESS>however, this should not always fail, especially locally on my mac where I have<EMAIL_ADDRESS>installed already.
This could be an issue with the brew list ... command not recognizing OpenSSL. Or this could be a BASH syntax error.

Also, just noticed this while testing in the development branch, the OpenSSL dependency check uses gum to confirm installation through brew; however, the OpenSSL check happens before gum is even installed, so it errors out.


add twitter to the list of providers on frontend #70

@Reeywhaar - if you have a minute pls approve. As you know, not really my area of expertise, but based on other providers I have added twitter the same way.

Coverage increased (+0.04%) to 84.659% when pulling da63dd2c78595b4d7349347aec4a26277823a1ef on twitter-auth-70 into 4dc123dbe84f4f248864bcdbbd6cc2b3a4dafe11 on master.


Some rows are still shown if filter's range is set out of data's boundaries

1.16.6
Steps to reproduce:

Open a table
Open filters
Add some numerical filter
Show min/max for the filter
Enter range that does not match any data in table

Expected results: all rows should be filtered out.
Actual results: some rows are still shown:

Not reproduced in 1.15.4

Good solution would be to make it clear to the user that min or max value set is out of valid range.

it is indicated by inputs becoming red, and there is tooltip "Value out of range" if you hover over this input

DG 1.17.0


Release v1.4.0

It seems that something is wrong with the browser tests

I know, taking a look to the logs, this is what we got:

It seems there's a problem with one of the mapbox libraries, I'm taking a look. This is weird because this morning these tests where passing, so it might be a recent change.

Wait for me fir this release, I'm gonna probably add a small piece to docs that is required


Fix two typos in sync_code_signing.md decryption

The example commands to decrypt the cert and generate an encrypted p12 are now self-consistent.
Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context
I noticed this while following the example commands and thought I'd save other people a bit of time figuring out why the commands fail. You should now be able to copy and paste the commands, replacing only the placeholder arguments.

@janpio this is the same change as https://github.com/fastlane/docs/pull/663 but in the correct repo.


Upgrade time and chrono crates

The chrono and time crates share a possible segfault related to thread-unsafe use of getenv() and setenv().

RUSTSEC-2020-0159: potential segfault in time
RUSTSEC-2020-0071: potential segfault in chrono

Ensure these are both fixed upstream.
Note: a patch is available for time, which we depend on via chrono (it suffers twice from the same API usage error). However, chrono itself does not yet have a public patch.
AB#39994083

a fix is planned for the release 4.2.0 of chrono https://github.com/chronotope/chrono/issues/674

FYI, chrono 0.4.20 has now been released.

We still need appinsights-rs to update. I’ve sent them a PR here: https://github.com/dmolokanov/appinsights-rs/pull/280
Once this is merged we should be able to update.


Docker driver, lint.

Why is this code doing what it's doing?

Sorry I could have given some context on this one.
That's a good question! I wanted go test to stop complaining and satisfied it by adding the volumName struct, Get and List functions.
It's not tested, and as I'm not using the Docker driver (no support for custom volume drivers in ECS as of yet), who knows if it works as intended :blush:
Feel free to do with this one what you want, I can close the PR if you have no intentions of merging it. I'm keeping it around in my fork so I can run Travis and test other changes.

Great fix, thanks :)


Ensure we read from overlay when calling readDir

fileSystem.readDir always reads from the actual filesystem, even if
there is an overaly directory present.  Read from the overlay directory
in these circumstances;  we shouldn't be hitting the disk.
Also, if the root path is "/" we can skip loading and return true.  This
allows fully in-memory packages as per
https://github.com/cuelang/cue/issues/607.
This helps with fix certain aspects in #607, but does not refactor fileSystem
to use any of the newer interfaces that we could.

@googlebot I signed it!

How would this impact someone using Go created WASM from a NodeJS script, where the filesystem is available?
I'm not super familiar, but this thought occurred to me

https://github.com/cuelang/cue/tree/master/pkg/path
This may be the preferred way to handle GOOS specific differences

regarding WASM generally, my hunch is that it becomes a new JVM like platform with a LLVM flavor. That is to say that you get the intermediate assembly format that has a runtime for different platforms, and you get N language frontends that all compile to it. So I see it becoming more ubiquitous, not just for inside the browser. There are already projects pushing on this front, see https://github.com/wasmerio/wasmer

Yep, I use these in my project (wasmtime, not wasmer - wasmer seems to be a UI over wasmtime) and these are still isolated.  There is no spec for filesystems yet - there are still questions around interface types for integrating (eg. things better than pointers).
This is what I was mentioning in the third bullet point - you set up the VMs in wasmtime with any specific metering & usage you need.  Though filesystems aren't yet part of the wasm spec :)

Sorry for the delay in getting around to this.

Read from the overlay directory in these circumstances; we shouldn't be hitting the disk.

It's not clear to me that this is correct, and therefore I'm not clear that this change is solving the right problem. An overlay, in its current form, exists in order to complement what is on disk, rather than wholesale replace its contents.
-- blah.txt --
Hello
-- go.mod --
module blah.com

go 1.16

require cuelang.org/go v0.3.0-beta.6
-- main.go --
package main

import (
	"fmt"
	"log"
	"os"
	"path/filepath"

	"cuelang.org/go/cue"
	"cuelang.org/go/cue/load"
)

func main() {
	cwd, err := os.Getwd()
	if err != nil {
		log.Fatal(err)
	}
	abs := func(p string) string {
		return filepath.Join(cwd, p)
	}
	loadCfg := &load.Config{
		ModuleRoot: "/",
		Overlay: map[string]load.Source{
			abs("cue.mod/module.cue"): load.FromString(`module: "example.com"`),
			abs("x.cue"):              load.FromString("package x\nx: y"),
		},
	}
	bps := load.Instances([]string{"."}, loadCfg)
	is := cue.Build(bps)
	x, err := is[0].Lookup("x").Int64()
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("x = %v\n", x)
}
-- y.cue --
package x

y: 5

In that respect it is a different beast to io/fs.FS.
What I think you're looking for here is an io/fs.FS-based solution. That being the case, I suggest we open an issue discussing that.
FWIW the CUE playground (which is WASM-based) does not run into this because it consumes its input over stdin.

Closing per https://github.com/cuelang/cue/pull/786#discussion_r593429917

Sorry for the delay in getting around to this.

Read from the overlay directory in these circumstances; we shouldn't be hitting the disk.

It's not clear to me that this is correct, and therefore I'm not clear that this change is solving the right problem. An overlay, in its current form, exists in order to complement what is on disk, rather than wholesale replace its contents.
-- blah.txt --
Hello
-- go.mod --
module blah.com

go 1.16

require cuelang.org/go v0.3.0-beta.6
-- main.go --
package main

import (
	"fmt"
	"log"
	"os"
	"path/filepath"

	"cuelang.org/go/cue"
	"cuelang.org/go/cue/load"
)

func main() {
	cwd, err := os.Getwd()
	if err != nil {
		log.Fatal(err)
	}
	abs := func(p string) string {
		return filepath.Join(cwd, p)
	}
	loadCfg := &load.Config{
		ModuleRoot: "/",
		Overlay: map[string]load.Source{
			abs("cue.mod/module.cue"): load.FromString(`module: "example.com"`),
			abs("x.cue"):              load.FromString("package x\nx: y"),
		},
	}
	bps := load.Instances([]string{"."}, loadCfg)
	is := cue.Build(bps)
	x, err := is[0].Lookup("x").Int64()
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("x = %v\n", x)
}
-- y.cue --
package x

y: 5

In that respect it is a different beast to io/fs.FS.
What I think you're looking for here is an io/fs.FS-based solution. That being the case, I suggest we open an issue discussing that.
FWIW the CUE playground (which is WASM-based) does not run into this because it consumes its input over stdin.

Quickly wanted to reply to this and say that the playground does not resolve this because it consumes from stdin - it resolves this because it has no cue.mod packages.  Any time you include a cue.mod package in wasm, GenPath fails.


rjxs-dev shows 503 error due to service worker

Documentation Related To Component:
https://rxjs-dev.firebaseapp.com/
Please check those that apply

[x] error(s)

Description Of The Issue

I receive a 503 error when refreshing the RxJS docs. It looks like this 503 is coming from the service worker. I do not receive this error when I "bypass service worker for network".

Thank you very much for the hint., I will figure out what's happening here.


Compile node-sqlite3 with enabled ICU support in electron app on Windows

Hello.
Please, help! Since 2013, when the last issues about the ICU were closed, this problem is still very relevant. But #70 has a very short answer.
Help me figure out how to compile node-sqlite3 with ICU support in electron app on Windows.
Thank you in advance!

To be honest, https://github.com/TryGhost/node-sqlite3/issues/70#issuecomment-25844364 is probably the best answer we can give. You'll need to find out how to build libsqlite3 with ICU support in their docs 🙂


[TASK][Login/Register Auth]

We need to have a user be able to login and register if they are not one.

We have some issues with the naming and structure of the models. Some things defined as Profile fit more of the user definition and we had some overlap throwing errors. You will see parts of code heavily commented out as they were causing errors with testing of registration.


Using dataset collections - Outdated tool info

Release testing 23.0
Tutorial: https://training.galaxyproject.org/training-material/topics/galaxy-interface/tutorials/collections/tutorial.html

Mapping reads

usegalaxy.org's version has 1 more option than the version shown ("BAM sorting mode"). Resulting collection looks the same

Create table of variants using SnpSift Extract Fields

Tool has two additional required fields. No value shown in the tutorial for these fields. Inserting a space into both seemed to work, but I do not know if the results are the same

@nekrut we do not have bandwidth to update this tutorial, but it sees 300-500 visitors per month, and if you'd like to update it (or task one of your staff to) that'd be fantastic!

It uses a lot of screenshots and videos, which is the bulk of the reason we do not have bandwidth to update it. We (the GTN) strongly advise against including those as they make these updates significantly more difficult.


[unity] 2021 became LTS

https://unity3d.com/unity/qa/lts-releases?version=2021.3
https://unity.com/releases/2021-lts

@BiNZGi i will be glad to get some info where i need to improve in our current one ( other than timeline image )


Deploy Onyxia on OpenShift using Routes

Hi,
We are trying to deploy Onyxia on OpenShift cluster.
OpenShift recommends using Routes instead of Ingress.
Is it possible to deploy Onyxia using Routes, how? Are you planning to support it?

Hello
I think you are using this chart :
https://github.com/InseeFrLab/helm-charts/tree/master/charts/onyxia
And you want to add an option to use route in stead of ingress?
We don't have any openshift cluster , so it's quite hard for us to test that.
Moreover if we want to support it, we will need to support it for all charts deployed by Onyxia.
As a first try to deploy Onyxia you can disable ingress and create route yourself. You need to create openshift routes so that the UI request the api with the same host and /api  context path.
@olevitt maybe you have other ideas?


OIDC4VCI with sd-jwt, attribuite '_sd_alg' is optional

if this attribute is misssing, considere that the alg is sha-256

Tester ce ticket avec https://github.com/TalaoDAO/AltMe/issues/2693


🎨 Use colors from theme palette in NodePort.tsx

The file that should be updated is https://github.com/jina-ai/dashboard/blob/master/src/components/FlowChart/NodePort.tsx
In components like NodePort and NodePortInner, colors are hard-coded. Change this to use color from theme.
For example,
Change
const NodePortInner = styled.div`     background-color: #099;     color: white;     border-radius: 0.25rem;     width: 0.5rem;     height: 0.5rem; ;   `;

to
const NodePortInner = styled.div`     background-color: ${(props) => props.theme.palette.primary};     color: ${(props) => props.theme.palette.background};     border-radius: 0.25rem;     width: 0.5rem;     height: 0.5rem; ;   `;

Link to feature: https://jinaai.productboard.com/feature-board/planning/features/7156772

We've removed NodePort component with flow library refactoring. Closing


Add ODFE DataPrepper OTLP support docs to ADOT

Add OpenTelemetry Collector OTLP support documentation to the section on ADOT OTLP supported components. For example update https://aws-otel.github.io/docs/components/otlp-exporter
https://github.com/opendistro-for-elasticsearch/data-prepper
https://github.com/opendistro-for-elasticsearch/data-prepper/blob/main/docs/readme/trace_setup.md
@kowshikn @wrijeff can you file a PR?

Sure @alolita, will take this one

Thanks @wrijeff

Ping @wrijeff can you give me a ETA?

@alolita - should be able to get to this next week, 05/21 at the latest

Done.


Counts should be per collective, not counted for every device

Every device involved in a collective such as allReduce prints out a line in the log file. However, for the purpose of getting an accurate idea of the number of different unique nccl/rccl configs being executed in a workload, we should count the number of collectives, not the number of lines printed in the log file for collectives. For example, if we have an allReduce among 4 GPUs, we should divide the number of lines in the log for that collective by 4. This is especially important when a workload has a mix of collectives being executed among groups of different sizes for eg. in a case of model-and-data-parallelism.

Thanks @jithunnair-amd , LGTM

Thanks @jithunnair-amd , LGTM


Unregister/Dispose instances on Writer side [8437]

Implementation of unregister_instance() and dispose() on Writer side.

unregister_instance(): sends a CacheChange_t with NOT_ALIVE_UNREGISTER. When this CacheChange_t is acked by all, removes all samples of this instance from PublisherHistory.

dispose(): sends a CacheChange_t with NOT_ALIVE_DISPOSE.

Also now PublisherHistory::find_key() cannot remove a instance slot.

Build status:

Linux
Mac
Windows

Build status:

Linux
Mac
Windows

Build status:

Linux
Mac
Windows

Build status:

Linux
Mac
Windows

In CacheChange.h now I've removed 2 spaces at the end. In InstanceHandle.h there is a new operator!=. SubscriberHistory.cpp comes back to the original.

Build status:

Linux
Mac
Windows


Entry point method Main and Ready attributes on it throws runtime exception

public class Program
{
    [Ready]
    public static void Main()
    {
        Console.WriteLine("Test");
    }
}

Introduced by implementation of #2198 (not released).


Idea!!

Can u please make it so we can choose which answer the answer please

kahoot-play lets you do that.

Does that let you choose nick and number of bots?

Nope. Are you suggesting that, for example, kahoot-flood should let you choose answers? That would theoretically be possible.

Yes that's what I ment

Allow users to enter the answer when the question is appeared. ;)


Doesn't build on OpenBSD

Hi,
I'm trying to build chezmoi v1.8.3 on OpenBSD 6.7 and I have the following error:
$ make generate
go generate
# github.com/twpayne/go-shell
../../go/pkg/mod/github.com/twpayne/go-shell@v0.2.0/shell_posix.go:30:18: undefined: cgoGetUserShell
main.go:4: running "go": exit status 2
*** Error 1 in /home/killruana/tmp/chezmoi (Makefile:8 'generate')

Thanks for reporting this. This should be fixed by 8d6628b9b83c49e54f3bdfdb7c6caa9390d2f5c7.

Build fine, thx


fix/java script update

Previous in the schema script it cleared the target folder but it executes too late which deletes the .jar file needed to deploy to maven central. For now, I will remove clearing the target folder

Thanks @Alessandro100!
Tagging @testower for visibility 👀


Evaluate storing doge block as struct instead of as byte array

Do we save gas by doing that?
is the code more readable?
Should we discard merge mining data? a standard merge mining block has 700 bytes, where 620 bytes are merge mining info.

Done. Tests took less gas to run. Merge mining data can probably be discarded as long as AuxPoW is checked before storing the block as a struct.


add steamed fish

https://auntieemily.com/chinese-steamed-fish/

https://thewoksoflife.com/cantonese-steamed-fish/

https://redhousespice.com/chinese-steamed-fish/


Add description of serde flag to docs

https://ratatui.rs/installation/feature-flags/#serde could use a description of what that flag means.

Would you be able to cut a PR to fix this?


chore(demo): apply existing automatic migrations to demo package

Preview environments are getting posted here, as soon as they are ready!


update pre-requsites to include checking docker is installed

Changes

[ ] Add a line to check Docker is running

$ kind create cluster
ERROR: failed to create cluster: failed to list nodes: command "docker ps -a --filter label=io.x-k8s.kind.cluster=kind --format '{{.Names}}'" failed with error: exit status 1
Command Output: Cannot connect to the Docker daemon at unix:///Users/USER/.docker/run/docker.sock. Is the docker daemon running?
Ms-MacBook-Pro:~$ docker ps
Cannot connect to the Docker daemon at unix:///Users/USER/.docker/run/docker.sock. Is the docker daemon running?

After starting docker
Ms-MacBook-Pro:~$ kind create cluster
Creating cluster "kind" ...
 ✓ Ensuring node image (kindest/node:v1.25.3) 🖼
 ✓ Preparing nodes 📦
 ✓ Writing configuration 📜
 ✓ Starting control-plane 🕹
 ✓ Installing CNI 🔌
 ✓ Installing StorageClass 💾
Set kubectl context to "kind-kind"
You can now use your cluster with:

kubectl cluster-info --context kind-kind

Have a question, bug, or feature request? Let us know! https://kind.sigs.k8s.io/#community 🙂

Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[ ] Has Docs included if any changes are user facing
[ ] Has Tests included if any functionality added or changed
[ ] Follows the commit message standard
[ ] Meets the Tekton contributor standards (including
functionality, content, code)
[ ] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[ ] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings)
[ ] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
NONE

/assign @pritidesai

thank you @pavanstarmanwar for your contribution! Welcome to the tekton community 🎉
Please submit the checklist in the PR description. The additional check looks good to me.
I would suggest (a followup PR) to include an additional section troubleshooting in the end of the install.md to include what you have in the PR description i.e. before/after. Thanks!

thank you @pavanstarmanwar 👍
/lgtm

Thank you @pavanstarmanwar for your contribution!
The old installation guide was referring to kind specifically, but not the current one.
In the current guide, the installation instructions start after a couple of paragraphs about setting up a local cluster (https://tekton.dev/docs/installation/local-installation/) which refer to the kind and minikube documentation directly.
The starting point for this document is a running k8s cluster, so I don't think that docker and troubleshooting about kind do not belong in it.
FYI @geriom @pritidesai
I would propose to revert this PR.

The starting point for this document is a running k8s cluster, so I don't think that docker and troubleshooting about kind do not belong in it.

I would propose to revert this PR.

I agree with you. This information is specifically about kind and should be covered by the Kind documentation.
I'm reverting the changes in #6172 which also adds a bunch of missing links.


r_gbif_checklist: some fixes

Description

Notably, this updates the date format; currently renders as:

Plus some extra fixes.
I did the edit online in the Rmd file. @damianooldoni can you knit to md and add the extra commit please?
Previewing the pull request
Thanks to GitHub Actions, an artifact (=zip file) of the rendered website is automatically created for each pull request.
This provides a way to preview how these updates will look on the website, useful to contributors and reviewers.
Instructions to preview the updated website

On the PR page, you can find a "details" link under "checks - On PR, build the site and ...". Go there, click on the top link in the left sidebar ("Summary"), and download the generated artifact at the bottom of the page.
Decompress it and make sure the target directory is called 'tutorials' (you may need to rename it)
From the parent directory (just above the tutorials folder you created/renamed), run python -m http.server 8887, or launch the Google Chrome Web Server app and point it at the parent directory.
Point your browser to http://localhost:8887/tutorials.
Review the updated website. As a contributor, you can push extra commits to update the PR. As a reviewer, you can accept/refuse/comment the PR.

Note: for step 3, you can use any other simple HTTP server to serve the current directory if you don't have a Python 3 environment or Google Chrome available.

Thanks @florisvdh! I got also some nice inputs from @peterdesmet. I will add all of them in this PR and then I will knit it.
Thank you all 👍

Copy pasting the improvements proposed by @peterdesmet for better tracking while committing them:

ik zou ook taxonID vermelden
done by GBIF automatically behind the scenes while when publishing the checklist.
Bij je nerdy touch is er een numbered list die niet mooi rendert, wrsch door ontbrekende lege lijn tussen paragraaf en punt “1. taxonomic information:”

De titel is ook iets nauwer in scope dan wat je uitlegt, dus misschien even hinten in de description
Titel: Get species checklist data from GBIF via with rgbif
Description: How to use rgbif function name_usage() to get species checklist data from GBIF as well as some other rgbif tips.

Looks OK, thanks!
@peterdesmet, if you want to re-review, then it's up to you to merge.
BTW: JSON and XML render nicely out of the box in Firefox:


Choose a new name for the project and replace uses of FINESSE everywhere.

As we are now entering a new project (UNIRAS), it probably makes sense to rename this project from FINESSE, which was the name of the previous project. When starting UNIRAS we considered producing two separate pieces of software for different hardware used by the FINESSE and UNIRAS rigs (albeit with shared code between the two). As we have now decided that the best way forward is to produce a single piece of software which can be configured at runtime to use whatever hardware is needed from the set provided by the FINESSE and UNIRAS rigs, it makes sense to have a name for this software that is independent of both of the projects. As this is open source, the hope would be that in future other features can be added for other use cases (esp. in terms of other hardware, but possibly in terms of visualisation capabilities etc.) both within Imperial and also possibly outside, which is another reason to give it a broader name.
The options are:

Leave the name as FINESSE, which is the least effort, but doesn't advertise well that the software also works with other hardware and is being developed with UNIRAS funding
Rename it to UNIRAS. It would be a good way of trumpeting that the software is an output of this new project
Rename it to something else.

This is super low priority, but it would be nice to close it before the end of the engagement.
@sophiemosselmans and @sanjpand We're looking for a new name for the software as it's being used for two projects, so it'd be nicer to not just call it FINESSE. Any name suggestions welcome!

Hi Alex,
Sorry, I’m in a meeting at ESA this week. Give me a few days to come up with something, hopefully Monday. Not sure if the others working on the project are following the request, so I’ve added them in.
It’s not really low priority as it would be nice to have something informative and catchy.
All the best, Jon.
From: Alex Dewar @.>
Sent: Thursday, November 21, 2024 9:53 AM
To: ImperialCollegeLondon/FINESSE @.>
Cc: Murray, Jonathan E @.>; Assign @.>
Subject: Re: [ImperialCollegeLondon/FINESSE] Choose a new name for the project and replace uses of FINESSE everywhere. (Issue #352)
This email from @.*** originates from outside Imperial. Do not click on links and attachments unless you recognise the sender. If you trust the sender, add them to your safe senders listhttps://spam.ic.ac.uk/SpamConsole/Senders.aspx to disable email stamping for this address.
This is super low priority, but it would be nice to close it before the end of the engagement.
@sophiemosselmanshttps://github.com/sophiemosselmans and @sanjpandhttps://github.com/sanjpand We're looking for a new name for the software as it's being used for two projects, so it'd be nicer to not just call it FINESSE. Any name suggestions welcome!
—
Reply to this email directly, view it on GitHubhttps://github.com/ImperialCollegeLondon/FINESSE/issues/352#issuecomment-2490611325, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A32RD2IJ3CJBKX4OIM4BI732BWUP7AVCNFSM6AAAAABSGSLQ6SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOJQGYYTCMZSGU.
You are receiving this because you were assigned.Message ID: @.***>

As we are now entering a new project (UNIRAS), it probably makes sense to rename this project from FINESSE, which was the name of the previous project. When starting UNIRAS we considered producing two separate pieces of software for different hardware used by the FINESSE and UNIRAS rigs (albeit with shared code between the two). As we have now decided that the best way forward is to produce a single piece of software which can be configured at runtime to use whatever hardware is needed from the set provided by the FINESSE and UNIRAS rigs, it makes sense to have a name for this software that is independent of both of the projects. As this is open source, the hope would be that in future other features can be added for other use cases (esp. in terms of other hardware, but possibly in terms of visualisation capabilities etc.) both within Imperial and also possibly outside, which is another reason to give it a broader name.
The options are:

Leave the name as FINESSE, which is the least effort, but doesn't advertise well that the software also works with other hardware and is being developed with UNIRAS funding
Rename it to UNIRAS. It would be a good way of trumpeting that the software is an output of this new project
Rename it to something else.

How about the Far-infraRed Observation Gui (FROG) Software!

I like it! :heart:


Python: Auto-gen Improvements

This is a "catch-all ticket" of things I have identified that need doing in Python auto-gen.
Examples in this ticket will follow Vision (which I have hand-edited).
More important items are marked with :warning:; this ticket should be demoted to P2 once those are completed.
*_client.py (e.g. image_annotator_client.py)

[x] :warning: In docstrings, references to string should be spelled str.
[x] :warning: In docstrings, references to iterator should be spelled Iterable.
[ ] Docstrings should use 4-space indents.
[ ] Docstring class references should use the ~. prefix if a period is present in the class name.
[ ] In docstring examples, use ... for the prompt in hanging indents or continued statements (match the interpreter).
[ ] :warning: @landrito The pkg_resources.get_distribution call needs to use the "manual" package name (e.g. google-cloud-vision), not the GAPIC package name. We are moving away from publishing stand-alone GAPIC packages.
[ ] :warning: @landrito Use the new Future class from @jonparrott.

This has its own issue: #1426. See also GoogleCloudPlatform/google-cloud-python#3764.

*_client.json (e.g. image_annotator_client.json)

[ ] Rename to image_annotator_config.py, and write the value to a variable in the top line. Alter the corresponding GAPIC Python file to import this rather than using pkg_resources.resource_string to load the JSON file.

proto package

[x] :warning: @lukesneeringer Add protoc-docs-plugin to artman. (googleapis/artman#217)

Partial Veneer

[x] :warning: @landrito Add a versioned directory in the google.cloud namespace (e.g. google.cloud.vision_v1)
[x] :warning: @landrito Add a types.py file to the google.cloud.api_vN package which iterates over all the _pb2.py files in the proto and makes the messages available in a consistent namespace (see Vision for a reference implementation).
[x] :warning: @landrito Add an __init__.py file to the google.cloud.api_vN package which imports (1) the client and (2) the enums module from the GAPIC, and (3) the types module (above bullet). These should be exported wholesale in __all__. See Vision for a reference implementation.
[x] :warning: @landrito Add an unversioned file (e.g. vision.py) in the google.cloud namespace that imports each of the names from the latest GA versioned package and exports them wholesale in __all__. See Video Intelligence (not Vision) for a reference implementation.

Docs

[x] :warning: @landrito Create a gapic directory in the docs with an api.rst and types.rst file. See Vision for a reference implementation.
[x] :warning: Create an index.rst file with the docs overview. See Vision for a reference implementation.

setup.py and requirements.txt

[ ] Remove requirements.txt entirely.
[ ] :warning: Remove oauth2client from the dependency list in setup.py; add google-auth and requests.
* ~@jonparrott -- please verify that this is correct.~ Done.
[x] Change the author from<EMAIL_ADDRESS>to<EMAIL_ADDRESS>[ ] :warning: Remove dependencies on proto-google-cloud-*.
[ ] :warning: Add google.cloud.gapic, google.cloud.proto, google.cloud.gapic.{api}, google.cloud.proto.{api} to namespace_packages.
[ ] :warning: Add Python 3.6 to the list of tested Python versions.

Tests

[x] Move tests out of their deeply nested subdirectory structure into simply tests/gapic/vN. Updated now that we have system tests: See #1401.
[ ] :warning: Remove tox.ini, add appropriate nox.py.
[ ] Add tests for uncovered GAPIC lines.

Protos

[ ] Add a ref/ directory with the raw proto files; add this to MANIFEST.in.

/cc @landrito (I intend to ask you to give me a hand with these.)

Couple of thoughts:

I'm concerned about gapic (the term) being surfaced in the docs.
add google-auth-client and requests. - it's google-auth.
namespace_packages this needs to be done with some care depending on which namespace package strategy you're using, please make me a review on this PR. Getting it wrong is disaster.

Affirmative re: the second two.
What is your concern about the first one? I am not surfacing the term in the docs themselves, only in the docs' directory structure.
The only difference is in the toctree, really:
.. toctree:
  :hidden:

  usage
  something_else
  gapic/api
  gapic/types

That's fine.

I think this has been resolved:

Change the author from<EMAIL_ADDRESS>to<EMAIL_ADDRESS>
https://github.com/googleapis/googleapis/blob/master/gapic/packaging/api_defaults.yaml#L19

@lukesneeringer Could you update this with what is still to do, and add a comment that you reviewed and updated?

Whups, sorry. This is done. (Not going to do that last item.)


test

Unittest succeeds with this cmd:

this fails

This succeeds

this does not pass

this passes

this fails

this fails


Funds Personality Data

In this Investment Advisor Demo (https://github.com/watson-developer-cloud/investment-advisor), the fund's personality data is provided in the funds_personality.json file.
For example:
{
"traits": {
"Vulnerability": 0.49570000000000003,
"Stability": 0.9956999999999999,
"Ideal": 0.49570000000000003,
"Conservation": 0.49570000000000003,
"Cautiousness": 0.9956999999999999,
"Orderliness": 0.49570000000000003,
"Structure": 0.5043
},
"message": "Since you appear to be a cautious person, I'd recomment this utilities fund.",
"strategy": "This person appears to be very cautious so they like to know the details of a product so they can better predict the outcome. They are slow to trust but once they do they stay loyal so invest the time to make them comfortable. They will be skeptical of something that sounds too good so give a balanced pictures of the rewards and risks. If relevant, mention how the product helps the community.",
"id": 0,
"label": "Select Utilities Portfolio"
}

How are the values for Vulnerability, Stability, Ideal etc being calculated for each fund?
Thanks,
Hardeep

Those values are coming from the Personality Insights output. Probably a direct match to some of the BIG 5 values.

Could you elaborate, how are the values for the Funds coming from the Personality Insights output? Maybe provide an example for the fund mentioned above with id=0 "Select Utilities Portfolio". (There are 110 funds in that list, with the last one being id=109 "Select Energy Service Portfolio".)

@Hardeep-Mehta - give me a day or two, I'll write up the approach we used to come up with these values. Currently at a conferences.

@vibhasinghal any updates here?  I checked PI API output, the funds does not match.  are they used in this app, and directly mapping to PI output, if so, please provide the mapping, if it is in-directly, please also provide logic of mapping, thanks

@vibhasinghal - Could you please let me know, when can I expect your response?
Thanks.

I'll do so by Sunday. Sorry, has been a crazy week.

@Hardeep-Mehta: for this demo we had to come up with personality for each fund. We used the following method -
Based on various papers on risk, we hypothesized that a person who is risk-adverse (low risk) has high Cautiousness, Structure and Stability, and average Orderliness, Vulnerability and Conservation, while a person who can tolerate high risk has low Orderliness, Vulnerability and Conservation, and average Stability and high Structure.
Based on this hypothesis, we quantified a risk personality profile for each fund. This was done as follows -

Take the 110 financial products that had a given Risk value from 0.31 to 1.75 (a score provided by an investment company), sort the products by risk (lowest to highest).
Assign the first (lowest risk) product the following values; Cautiousness=1 Orderliness=0.5 Vulnerability=0.5 Ideal=0.5 Stability=1 Structure=.5    Conservation=.5
Assign the last (highest risk) product the following values; Cautiousness=0.5 Orderliness=0.0 Vulnerability=0.0 Ideal=0.0 Stability=.50 Structure=1.0    Conservation=0.0
Linearly interpolate the values for all products in between these two extreme risk cases.
Run the results through a collection of personalities, observe the predictions, and adjust (tweek) the value to improve the predictions.

@vibhasinghal, thank you for the information.


Asset Change: Vehicle Direction Arrows

Would be nice if those were thicker, and could be enlarged (/resized) safely.
Possibly also re-color them to match the vehicles (black?) and keep blue for pedestrians..

Preference for thicker arrows with a black outline and a white fill inside for vehicles.


KAFKA-4820; ConsumerNetworkClient.send() should not require global lock

Currently ConsumerNetworkClient.send() needs to acquire global lock of ConumserNetworkClient in order to enqueue requests. If another thread has called ConsumerNetworkClient.poll(..), that thread may be holding the lock while blocked on nioSelector.select(ms). This causes problem because the user thread which calls ConsumerNetworkClient.send() will also block waiting for that nioSelector.select(ms) to finish.
One way to address this problem is to use synchronized (unsent) to protect access to ConsumeNetworkClient.unsent instead of protecting it using a global lock. So that user thread should be able to enqueue requests immediately while another thread is blocked on nioSelector.select(ms).

@hachikuji @becketqin Would you have time to review this patch? This is needed by Add purgeDataBefore() API (KIP-107).

@lindong28 Thanks for the patch. The need for a second lock is a bit unfortunate. I'm wondering if you've considered other options? It seems send just needs to be able to enqueue the request safely while another thread is in poll() for this to work. One thought is to replace the map we use for unsent requests with a concurrent collection (e.g. ConcurrentLinkedQueue). Looking over the code, some parts might be a little more complex, others less. But maybe it's a reasonable tradeoff to try and keep the locking simple?

@hachikuji Thanks for reviewing the patch. Yes I have considered the idea of replacing unsent with some concurrent collection as you mentioned. But code using synchronized(unsent) seems simpler than that approach. For example, we need to have a lock while iterating over unsent (e.g. pendingRequestCount(), checkDisconnects()) and ConcurrentLinkedQueue does not provide an easy way to do that. Maybe it is possible to argue that we can implement these methods can still return acceptable results even if the items in the unsent can be changed while we iterate over it, but we would have to go through all the scenarios to prove it and the solution will be error prone.
Do  you think there is clear performance advantage of using concurrent collection instead of using synchronized(unsent). If not, maybe we can choose the solution that is simpler and less error prone?
Also, note that the performance of having this extra synchronzie(unset) will not be worse then current implementation of using a global lock everywhere.

An option that is similar to the current one, but easier to understand is to extract an inner class for the unsent operations that does its own locking. Similar to IncompleteRecordBatches in RecordAccumulator.

For comparison, here is what it looks like with a ConcurrentLinkedQueue: https://github.com/hachikuji/kafka/commit/97c3284eeb14ca30abe68042bd81022206d70a80. It's actually fewer lines of code. The tradeoff is that per-node operations require iterating through the unsent request list, but in practice, I expect this is not a real issue.

@hachikuji Thanks for providing an example. In addition to the increased time-complexity for per-node operation, I think your patch is less efficient in the sense that pendingRequestCount(), failUnsentRequests() still requires global lock which means the user thread may block on these methods while another thread is blocked waiting on the nioSelector.select(ms). In addition, your patch assumes that private methods such as trySend() must be called while holding the global lock, because otherwise one request may be sent multiple times when multiple threads call trySend(). This assumption is correct as of now, but is kind of error prone if some developer doesn't know about this and simply calls trySend without having the global lock.

In addition to the increased time-complexity for per-node operation, I think your patch is less efficient in the sense that pendingRequestCount(), failUnsentRequests() still requires global lock which means the user thread may block on these methods while another thread is blocked waiting on the nioSelector.select(ms).

The method pendingRequestCount() must acquire the "global" lock protecting NetworkClient anyway, right? And failUnsentRequests does not actually need the lock since the unsent collection is safe to iterate concurrently.

In addition, your patch assumes that private methods such as trySend() must be called while holding the global lock, because otherwise one request may be sent multiple times when multiple threads call trySend(). This assumption is correct as of now, but is kind of error prone if some developer doesn't know about this and simply calls trySend without having the global lock.

This makes no sense to me. If you are concerned about the assumption, either make the synchronization explicit by acquiring the necessary lock within trySend or just add some documentation. In your patch, we also have to make assumptions about locking order which a developer might not be aware of, right?
The benefit of the approach is that it is easier to understand. For concurrent code, that is a rather big win. If you really insist on adding a second lock, then I'd recommend following the pattern suggested by Ismael above. However, at the moment, I don't see a compelling reason to increase complexity.

@hachikuji I agree that pendingRequestCount() needs global lock anyway so it is not an issue. I also agree that the assumption is not an issue.
Regarding failUnsentRequests, if two threads call failUnsentRequests concurrently and failUnsentRequests does not require the global lock, is it possible that call back of a given request is executed multiple times? I am thinking of the scenario that both threads reach the same request, execute callback, and then remove it from iterator. If this is not an issue then I am happy to do what you suggested :)

Regarding failUnsentRequests, if two threads call failUnsentRequests concurrently and failUnsentRequests does not require the global lock, is it possible that call back of a given request is executed multiple times? I am thinking of the scenario that both threads reach the same request, execute callback, and then remove it from iterator. If this is not an issue then I am happy to do what you suggested :)

To tell you the truth, I'd prefer to keep failUnsentRequests() under the lock to ensure that callbacks cannot be invoked concurrently. There's enough trickiness here already without having to think about the thread safety of callbacks and nondeterministic orders of invocations. If we want failUnsentRequests() to be non-blocking, maybe we could add the associated Node to a local collection and then do the actual work within poll(). Then we could use wakeup() to interrupt another thread in the middle of poll(). Would that work?

@hachikuji I think your solution would work. Strictly speaking my patch is better in the sense that 1) the per-node operation is faster and 2) failUnsentRequests(..) can be executed while client.poll() holds the lock and still make sure that callback will not be invoked concurrently (because they are protected by synchronize(unsent)). But I am fine with this since the performance impact should be small. Both Becket and I think the code may be a bit simpler using synchronized(unsent) than using ConcurrentLinkedQueue but such opinion is subjective and there is no need to argue over this.
Thus I am happy to take your suggestion of using ConcurrentLinkedQueue so that we can get it fixed fast.

@becketqin @hachikuji Can you review the latest patch and probably commit it?

@hachikuji @becketqin @ijuma Can you review the patch?

@lindong28 Thanks for the patch. It looks that the unit test always blocks on AbstractCoordinatorTest.testWakeupAfterJoinGroupSentExternalCompletion with this patch. Can you check?

@becketqin Sorry for the test failure. It is fixed now.

@hachikuji Can you please review the latest patch?

Thanks for the patch @lindong28. LGTM.
@hachikuji will you have time to also take a look?

@hachikuji @ijuma I am checking in the patch to unblock @lindong28 from his rebase on KIP-107. We can make a follow patch if you have additional comments. Thanks.

@lindong28 @becketqin I think this PR is causing the following transient test failure:
kafka.api.PlaintextConsumerTest.testMaxPollIntervalMsDelayInRevocation

java.lang.IllegalStateException: No entry found for connection 2
	at org.apache.kafka.clients.ClusterConnectionStates.nodeState(ClusterConnectionStates.java:166)
	at org.apache.kafka.clients.ClusterConnectionStates.connectionState(ClusterConnectionStates.java:156)
	at org.apache.kafka.clients.NetworkClient.connectionFailed(NetworkClient.java:232)
	at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.checkDisconnects(ConsumerNetworkClient.java:356)
	at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:231)
	at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.pollNoWakeup(ConsumerNetworkClient.java:259)
	at org.apache.kafka.clients.consumer.internals.AbstractCoordinator$HeartbeatThread.run(AbstractCoordinator.java:911)

https://jenkins.confluent.io/job/kafka-trunk/1685/testReport/junit/kafka.api/PlaintextConsumerTest/testMaxPollIntervalMsDelayInRevocation/

@ijuma Yes, I discovered this when rebasing KIP-107 and have fixed it there. Let me submit a separate pull request to fix this problem.

Thanks!

@ijuma Thanks for the review! My bad that the order is not preserved. All comments have been addressed in the followup patch https://github.com/apache/kafka/pull/2641. Can you take another look?


MockFactory does not set Response Object

The response object created by MockFactory should have a response object set.
WaspResponse waspResponse = new WaspResponse.Builder()
                .setUrl(waspRequest.getUrl())
                .setStatusCode(statusCode)
                .setHeaders(Collections.<String, String>emptyMap())
                .setBody(responseString)
                .setLength(responseString.length())
                .setNetworkTime(0)
                .setResponseObject(object) // <-- This is missing.
                .build();

Fixed, will be available in next release.


opengl crashfix pow(x,y) needed to be passed matching vartypes.

Thanks Az! what's the reproduction case?

Showed up in the latest ubuntu review of devhead.

thanks! (:


Implement basic API endpoints

Implement the basic API endpoints stated in #81 using MongoDB as the database
Also adapt the docker compose for local use
Don't forget to write tests - best would be to even commit to TDD since we are practicing API first

blocked by #85 and #81


Installation Issues

Describe the bug
running pip install llm-guard using python 3.10.9 & pip 23.2.1 keeps erroring out.
The error message is:

Collecting xformers==0.0.21 (from -r llm-guard/requirements.txt (line 13))
Using cached xformers-0.0.21.tar.gz (22.3 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... error
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [17 lines of output]
Traceback (most recent call last):
File "/.../llm-guard/venv/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in
main()
File "/.../Projects/llm-guard/venv/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "/.../llm-guard/venv/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
return hook(config_settings)
File "/private/var/folders/nd/yvg3hfx11r75f5xbv5wfw4hm0000gq/T/pip-build-env-90386ewn/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 355, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=['wheel'])
File "/private/var/folders/nd/yvg3hfx11r75f5xbv5wfw4hm0000gq/T/pip-build-env-90386ewn/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 325, in _get_build_requires
self.run_setup()
File "/private/var/folders/nd/yvg3hfx11r75f5xbv5wfw4hm0000gq/T/pip-build-env-90386ewn/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 507, in run_setup
super(_BuildMetaLegacyBackend, self).run_setup(setup_script=setup_script)
File "/private/var/folders/nd/yvg3hfx11r75f5xbv5wfw4hm0000gq/T/pip-build-env-90386ewn/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 341, in run_setup
exec(code, locals())
File "", line 23, in
ModuleNotFoundError: No module named 'torch'
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.

To Reproduce
Steps to reproduce the behavior:

Install llm-guard using python 3.10.9 and pip 23.2.1
See error

I get the same issue installing from source following the instructions here: https://llm-guard.com/installation/#install-from-source

After much more tinkering, i resolved the issue by modifying the pyvenv.cfg and setting include-system-site-packages=true
https://stackoverflow.com/questions/57801495/pip-wont-install-packages-in-virtualenv/57802296#57802296


Laravel Spark : Cannot running "php artisan: migrate"

Hello everyone,
I'm desperate to finish installing Spark.
I have an error when I write the command "php artisan: migrate".
I have this error while my database exists and I can access it with another laravel project ...
It's been 2 hours I'm looking for no answer
Illuminate\Database\QueryException  : SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schema.tables where table_schema = api-bbk and table_name = migrations)

  at /Users/amartineau/Documents/Sites/api-bbk/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664
    660|         // If an exception occurs when attempting to run a query, we'll format the error
    661|         // message to include the bindings with SQL, which will make this exception a
    662|         // lot more helpful to the developer instead of just the database's errors.
    663|         catch (Exception $e) {
  > 664|             throw new QueryException(
    665|                 $query, $this->prepareBindings($bindings), $e
    666|             );
    667|         }
    668|

  Exception trace:

  1   PDOException::("SQLSTATE[HY000] [2002] No such file or directory")
      /Users/xxx/Documents/Sites/api-bbk/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:68

  2   PDO::__construct("mysql:host=localhost;port=3306;dbname=api-bbk", "root", "root", [])
      /Users/xxx/Documents/Sites/api-bbk/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:68

And this is my .en file :
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=api-bbk
DB_USERNAME=root
DB_PASSWORD=root

Do you have any solution for this problem?
Thank you in advance

I found a solution.
As I'm on MAMP, I had to specify the socket
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',

Where did you specify this values??

Where did you specify this values??

No worries I found it:
-- For Linux
>mysql: show variables like 'socket';

Output:
+---------------+-----------------------------+ | Variable_name | Value                       | +---------------+-----------------------------+ | socket        | /var/run/mysqld/mysqld.sock | +---------------+-----------------------------+ 1 row in set (0.003 sec)

No worries I found it:
-- For Linux
>mysql: show variables like 'socket';

Output:
+---------------+-----------------------------+ | Variable_name | Value                       | +---------------+-----------------------------+ | socket        | /var/run/mysqld/mysqld.sock | +---------------+-----------------------------+ 1 row in set (0.003 sec)


Consider giving sentiment scores for BTC

Hi,
You are giving sentiment scores for the app but not the API for BTC. I think people will be able to try this more because we want to test if your sentiment scores have any correlation for the BTC or not which I can't test having a Free account.
Just a thought and a request!
Cheers
Fahad

Hey Fahad!
Thank you so much for your thoughts! We seriously appreciate it. While we don't currently offer access to sentiment scores for the BTC API to free users, this feature will be available some time in July. Note that we also offer APIs for BCH, ETH, and LTC (if you're interested).
Please let us know if you have any other ideas!!
CryptoMood devs

Thank you for your prompt response. It was just a suggestion as we are new to automated trading and trying out different things. Feel free to close the issue. Good luck!


[Question about PR] typedarray prototype methods: one big patch or several small ones

Hi
I am working on the typedarray prototype methods, such as every filter forEach map some indexOf lastIndexOf reduce reduceRight ....
Should I sumbit a whole big patch or classify those methods into several patches?
Thanks
Zidong

IMHO, it would be nice to do it in separate patches. One PR for one routine. It would make the reviews much faster and you can work on the next PR while we are reviewing the others.

As for me simple ones could go together, but big ones should be separate patches.

Thanks! I will separate them into groups which contains the similar routines, e.g. foreach, every, some will be in one patch


Add Hafifamudi's Hackbar

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

See the complete overview on Codacy

Thanks @hafifamudi for your contribution :)

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

See the complete overview on Codacy

#21


facing issue on sending selected row value from downpicker to uiviewcontroller?

(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component

From the above method am able to get the selected row value in downpicker.m but i need to pass this value to my viewcontroller. Could anyone please help me on this?

?


Add awss3operator to upstream-community-operators

add awss3operator to upstream community

/retest

/retest

@screeley44 I think the CI scripts are confused by your CSV name, not including vX.Y.Z but just .X.Y.Z - maybe try adding the add v so your CSV is called awss3operator.v1.0.0

Update: I see that #391 actually passes - so the issue is most likely with Travis. If you fix the issues here and, assuming they are also present, over in the other PR - we can merge this.

yeah, strange, travis doesn't seem to mind missing v in community-operators but upstream seems different, I'll try changing name to vX.Y.Z like you suggested and see if it passes

@dmesser - so I changed the names of the CSV adding in vX.Y.Z but still fails, not sure what else I'm missing...any ideas?

@screeley44 I suppose that Travis doesn't like version in this:
Testing 'upstream-community-operators/awss3operator' version 'awss31.0.1'
/tmp/tmp.50coy44Kis_test_pr/deploy ~/build/operator-framework/community-operators
07:04:30 main [ERRO] Must provide filename
However I tested it locally and it fails on different issue:
csv in namespace with no operatorgroups
Then I used older scripts to test it locally and it passed successfully.
So I suppose your operator could be OK. Need more time for clarification.

@screeley44 It could be OK, locally working, but fighting with Travis. If you find out something, feel free to update. I cannot merge with red Travis so far.

@screeley44 @J0zi, I have a Travis CI fix for the current build error. Once that PR is merged, we should able to see the build progress further.

@screeley44  See the build log for new issues. Also,  make sure the operator writes to the status field.


Call to a member function finished() on null

Call to a member function finished() on null
If the URL has already query params, then it is getting error
Call to a member function finished() on null
On debugging found that the batchJobId is coming as the html content of the page.
Code snippet of problem
$.get(baseUrl + '?' + params.toString() + '&' + $.param(oTable.ajax.params())).then(function(exportId) {
    $wire.export(exportId)
}).catch(function(error) {
    $wire.exportFinished = true;
    $wire.exporting = false;
    $wire.exportFailed = true;
});

System details

Operating System - Ubuntu 22.04
PHP Version - 8.2
Laravel Version - ^10.10
Laravel-DataTables Version - ^10.1

I was able to fix the issue by changing $.get(baseUrl + '?' + params.toString() + '&'  to $.get(baseUrl + '&' + params.toString() + '&'

Your baseUrl may have a ? in it. We may need to enhance how the URL was built I guess.

Yes, the baseUrl may have the query params.
Can we use this to add the params
https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams/set

var url = new URL('http://localhost:8000/reports');

var search_params = url.searchParams;
search_params.set('id', '101');
url.search = search_params.toString();
var new_url = url.toString();

console.log(new_url); // http://localhost:8000/reports?id=101

var url = new URL('http://localhost:8000/reports?user=2');

var search_params = url.searchParams;
search_params.set('id', '101');
url.search = search_params.toString();
var new_url = url.toString();

console.log(new_url); // http://localhost:8000/reports?user=2&id=101

Yes, we could use that. Please feel free to submit a PR. Thanks!


aarch64: Signals

Syscall rt_sigreturn not implemented for aarch64.
EDIT:

Signals are tested with the tests in cpython.
Use Dockerfile to build test container. (Uncomment or add others)
Tested on armdev+#1212

@CharlyYu @QuarkContainer The test 'test_threadsignals' fails with error:
thread '1' panicked at 'vcpu run fail: SysError(25)', src/runc/runtime/vm.rs:478:39
thread '1' panicked at 'misaligned pointer dereference: address must be a multiple of 0x8 but is 0x400018f234', src/qlib/mem/list_allocator.rs:811:28
thread caused non-unwinding panic. aborting.
thread '1' panicked at 'qvisor OOM: Heap allocator fails to allocate memory block', src/heap_alloc.rs:127:9
I think you guys are currently working on a related issue. Please let me know if you have more information.

Syscall rt_sigreturn not implemented for aarch64.

That function itself is not really different from the existing x86 one and it's trivial add (thanks @QuarkContainer ). However with #1217 , the problem is still that the libc is not smart enough to set up the correct return trampoline in sys_sigaction.
Let's discuss how we can make it work.

thread '1' panicked at 'qvisor OOM: Heap allocator fails to allocate memory block', src/heap_alloc.rs:127:9

This is interesting. I never see a memory leak before. Do you have a lot of page faults?


⚠ ClamAV has degraded performance

In 01915ed, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 51 ms

Resolved: ClamAV performance has improved in b00737a.


test: validate test case with key only

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

Project coverage is 85.95%. Comparing base (80d8cf5) to head (4c16a34).
Report is 3 commits behind head on main.

:exclamation:  There is a different number of reports uploaded between BASE (80d8cf5) and HEAD (4c16a34). Click for more details.
HEAD has 5 uploads less than BASE

Flag
BASE (80d8cf5)
HEAD (4c16a34)

6
1

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #166      +/-   ##
==========================================
- Coverage   95.42%   85.95%   -9.48%
==========================================
  Files          27        7      -20
  Lines        3106      997    -2109
==========================================
- Hits         2964      857    -2107
+ Misses        108      106       -2
  Partials       34       34

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


Sync published with master

Deploy preview for docsdocker ready!
Built with commit 274014d4c8b1b4ced6e4f1fd0c0050ff1a740c90
https://deploy-preview-8634--docsdocker.netlify.com


Mask_R-CNN_demo assert error

🐛 Bug

Error when run the webcam or notebook demo
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-16-ba06eae97bcc> in <module>()
      1 # compute predictions
----> 2 predictions = coco_demo.run_on_opencv_image(image)
      3 imshow(predictions)

/Users/an.tran/Desktop/map-workspace/code/maskrcnn-benchmark/demo/predictor.pyc in run_on_opencv_image(self, image)
    167                 the BoxList via `prediction.fields()`
    168         """
--> 169         predictions = self.compute_prediction(image)
    170         top_predictions = self.select_top_predictions(predictions)
    171

/Users/an.tran/Desktop/map-workspace/code/maskrcnn-benchmark/demo/predictor.pyc in compute_prediction(self, original_image)
    212             # in the image, as defined by the bounding boxes
    213             masks = prediction.get_field("mask")
--> 214             masks = self.masker(masks, prediction)
    215             prediction.add_field("mask", masks)
    216         return prediction

/Users/an.tran/Desktop/map-workspace/code/maskrcnn-benchmark/maskrcnn_benchmark/modeling/roi_heads/mask_head/inference.pyc in __call__(self, masks, boxes)
    183
    184         # Make some sanity check
--> 185         assert len(boxes) == len(masks), "Masks and boxes should have the same length."
    186
    187         # TODO:  Is this JIT compatible?

AssertionError: Masks and boxes should have the same length.

To Reproduce
Steps to reproduce the behavior:

On Mac
After installation, run the Python notebook Mask_R-CNN_demo.ipynb

Expected behavior

Environment
Please copy and paste the output from the
environment collection script from PyTorch
(or fill out the checklist below manually).
You can get the script and run it with:
wget https://raw.githubusercontent.com/pytorch/pytorch/master/torch/utils/collect_env.py
# For security purposes, please check the contents of collect_env.py before running it.
python collect_env.py

Collecting environment information...
PyTorch version: 1.0.0.dev20181119
Is debug build: No
CUDA used to build PyTorch: None
OS: Mac OSX 10.13.6
GCC version: Could not collect
CMake version: Could not collect
Python version: 2.7
Is CUDA available: No
CUDA runtime version: No CUDA
GPU models and configuration: No CUDA
Nvidia driver version: No CUDA
cuDNN version: No CUDA
Versions of relevant libraries:
[pip] 18.0
[conda] Could not collect
Additional context

@keineahnung2345 Seems the most decent master branch has the logic error.
But I cloned last night work fine...................... No idea what changed here. But I can also reproduce this logic error.
@fmassa

@keineahnung2345  Currently, you can change it back to this logic:
class Masker(object):
    """
    Projects a set of masks in an image on the locations
    specified by the bounding boxes
    """

    def __init__(self, threshold=0.5, padding=1):
        self.threshold = threshold
        self.padding = padding

    def forward_single_image(self, masks, boxes):
        boxes = boxes.convert("xyxy")
        im_w, im_h = boxes.size
        res = [
            paste_mask_in_image(mask[0], box, im_h, im_w, self.threshold, self.padding)
            for mask, box in zip(masks, boxes.bbox)
        ]
        if len(res) > 0:
            res = torch.stack(res, dim=0)[:, None]
        else:
            res = masks.new_empty((0, 1, masks.shape[-2], masks.shape[-1]))
        return res

    def __call__(self, masks, boxes):
        # TODO do this properly
        if isinstance(boxes, BoxList):
            boxes = [boxes]
        assert len(boxes) == 1, "Only single image batch supported"
        result = self.forward_single_image(masks, boxes[0])
        return result

@fmassa Hope to hear your responses soon! :-) Just try to dig into problems by myself. Could not find a clue.

@antran89  @fmassa @jinfagang Hello, I tried to fix this problem and open a PR in my own repo: https://github.com/keineahnung2345/maskrcnn-benchmark/pull/1/files.
But this will make my kernel restart. I guess it's because results = torch.stack(results, dim=0) takes too much space.
I hope this can help someone who is also trying to fix this issue.

I've fixed this issue in #187
Let me know if you still face the same issue, and thanks for reporting it!

@fmassa it solved!

I encountered it when I cloned and installed https://github.com/Maosef/maskrcnn-benchmark today, as I need the fix of this PR: https://github.com/facebookresearch/maskrcnn-benchmark/pull/271
Supposely @Maosef 's master is based on a recent enough master from maskrcnn-benchmark so this shouldn't have happened.
Anyway it is fixed by manually editing predictor.py according to this: https://github.com/facebookresearch/maskrcnn-benchmark/pull/187/commits/7cf1d982527d8fb5ded4bd1b4eae77517bb122ef

@mattans you can see that Maosef branch is 22 commits behind master, and it doesn't have the fix in https://github.com/facebookresearch/maskrcnn-benchmark/commit/7cf1d982527d8fb5ded4bd1b4eae77517bb122ef


Contributor Guidelines

Hi, the Contributor Guidelines link under the Contributing heading is not working.
If you want, I can help you fill in this link. If it's not an error, just point it out.

Feel free to fix it, thanks Neslihan!

Fixed by @neslihanatasever with #4 🎉


Master

What problem does this PR solve?

Issue Number: close #xxx
Problem Summary:
What is changed and how it works?

close due to spam


Update VRS and vrs-python testing

Submitter Name
Reece Hart
Submitter Affiliation
MyOme
Submitter Github Handle
reece
Additional Submitter Details
No response
Which event day would the project be offered?

[X] ISMB 2022 Hackathon Day 1
[X] ISMB 2022 Hackathon Day 2

Project Details
The VRS validation suite (in validation/) is a language-neutral set of tests intended to be used by any group that implements VRS.
These tests are intended to be used by any implementation to ensure compliance. vrs-python also uses these tests.
This project aims to update tests, identify new tests, and address any coverage shortcomings in vrs-python.
Specific outcomes for this project:

[ ] Write a test that identifies json schema classes that do not have tests and fails if non-empty.
[ ] Review current tests and identify class-level gaps
[ ] Identify other test updates as required
[ ] Implement tests in the test yaml
[ ] Implement tests in vrs-python
[ ] Address any coverage gaps in vrs-python

Required and Desired Skills

Python
pytest
yaml

VRS co-lead assessment. This proposal is well stated above in terms of identifying the benefits and outcomes. Any contributions to this would be directly beneficial to increasing adoption and improving the reliability and confidence in the VRS-python library.

@katiestahl  can you put a 1-3 minute pitch on this topic to give at the start of the day to try to entice folks to join in on this? we are planning on having a cutoff of 4 people minimum to officially work as a group on a topic. Every topic lead will pitch.


getMessage() method returns undefined in the notification handler

Bug report

Summary
getMessage() method returns undefined in the notification handler in the app for both local and remote notifications.
Environment info

react-native info output:
System:
    OS: macOS 10.15.5
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 671.89 MB / 16.00 GB
    Shell: 3.2.57 - /bin/bash
  Binaries:
    Node: 12.16.1 - ~/.nvm/versions/node/v12.16.1/bin/node
    Yarn: 1.1.0 - /usr/local/bin/yarn
    npm: 6.13.4 - ~/.nvm/versions/node/v12.16.1/bin/npm
    Watchman: Not Found
  Managers:
    CocoaPods: 1.8.4 - /Users/varungupta/.rvm/rubies/ruby-2.4.1/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 13.2, DriverKit 19.0, macOS 10.15, tvOS 13.2, watchOS 6.1
    Android SDK:
      API Levels: 21, 23, 24, 25, 26, 27, 28, 29
      Build Tools: 23.0.1, 25.0.0, 26.0.1, 26.0.2, 27.0.1, 27.0.3, 28.0.3, 29.0.2
      System Images: android-26 | Google APIs Intel x86 Atom, android-26 | Google Play Intel x86 Atom, android-28 | Google APIs Intel x86 Atom, android-28 | Google Play Intel x86 Atom, android-29 | Google Play Intel x86 Atom, android-30 | Google Play Intel x86 Atom
      Android NDK: 15.2.4203891
  IDEs:
    Android Studio: 4.0 AI-193.69<IP_ADDRESS>26763
    Xcode: 11.2.1/11B500 - /usr/bin/xcodebuild
  Languages:
    Java: 1.8.0_144 - /usr/bin/javac
    Python: 2.7.16 - /usr/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: 16.11.0 => 16.11.0
    react-native: 0.62.2 => 0.62.2
  npmGlobalPackages:
    *react-native*: Not Found

Library version: 1.4.0
Steps to reproduce

Run the example app
Tap on Schedule fake local notification
Tap on the notification that appears. You will see the following image

Describe what you expected to happen:

Alert message should be Test Local Notification

Reproducible sample code

Use the example project as is without any change.

cc @Naturalclar This is a bread and butter use-case for this library that is broken at the moment. Please advice.

@varungupta85 i have fixed. you can check my pull request or https://stackoverflow.com/a/63477319/8079868 answer

I've released version 1.4.1 with the fix. Thanks @nomi9995 !

@nomi9995 Great! Thanks so much! My app release was on hold due to this.


Fixed action bar title for announcements

The action bar for fragment displaying announcements shows the course name as the title now.

Looks good.  Thanks. 👍


feature: Add Success stories on the landing page with Twitter Posts

Is your feature request related to a problem? Please describe.
Yes, the current landing page lacks a section that showcases the success stories of students who have brought the cohort and gained some jobs/internships. Adding success stories could help to build trust, provide social proof and better communicate the benefits of the cohort.
Describe the solution you'd like
I would like to get the data of reported tweets from Kirat Sir's handle and showcase the tweets on the landing page of app.100xdevs.com. With a simple animation of vertical marquee for displaying the tweets. And also should be responsive for all the windows (tabs, screens, mobiles, ipads etc).
Additional context
The UI will look somewhat like this after building it

For Tablet View

For Mobile View

I would be happy to work on the feature if assigned.
Thank you.

can start working on it ?

i already open a pr related to this but #1242 got rejected..

can start working on it ?

Already started 🫡

i already open a pr related to this but #1242 got rejected..

This is different from your issue bro. This is not same as yours

@hkirat @siinghd can u tell me if this is needed or not?


Added test property for FAIL_ON_UNKNOWN_PROPERTIES configuration

What's changed?
I have changed the new Properties() used in test RecipeSpec to be a class field. This allows customization of logic deeper in rewrite-core. In this case I have changed the JsonMapper in YamlResourceLoader to allow DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES to be customized. The default is that DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES is disabled as that was the existing behavior.
Users can now make their tests fail if there are unknown properties present in the recipe using
spec.failOnUnknownProperties(true)
I also had to update the RECIPE_CACHE key as the properties set can change the recipe outcome - although typically the new part of the key will be {} as no existing code could be configuring any properties.
What's your motivation?
This allows bugs for incorrectly specified recipe options to be more easily caught. E.g., the in below example both are valid recipes and will run but the second one is the true intent and it can be difficult to catch during code reviews:
Incorrect:
  - org.openrewrite.maven.RemoveRedundantDependencyVersions:
      groupId: org.apache.commons

Correct:
  - org.openrewrite.maven.RemoveRedundantDependencyVersions:
      groupPattern: org.apache.commons

Anything in particular you'd like reviewers to focus on?
If there is a better/alternate approach - although it would seem that using the Properties object is the correct way to configure object.
Anyone you would like to review specifically?

As discussed here: https://github.com/openrewrite/rewrite/discussions/4375
@timtebeek

Any additional context
I made this change as we hit the exact issue describe above and it wasn't caught during PR review. If we had the option to fail tests when unnecessary arguments are specified we would likely enable it for every test case.
Checklist

[x] I've added unit tests to cover both positive and negative cases
[x] I've read and applied the recipe conventions and best practices
[x] I've used the IntelliJ IDEA auto-formatter on affected files

Nice and measured approach here! I'd maybe even go as far as enabling this by default when running tests in rewrite-test/src/main/java/org/openrewrite/test/RecipeSpec.java , to flag issues early through or testing framework. We have similar checks that are more strict when running tests only, such as our type validation checks. Would be interesting to see how widespread that is in downstream modules. I'd hope not of course, but certainly interesting.

Tim and I chatted a little bit and we're going to take what's here as a half step. This'll specifically cover directly loaded YAML, but misses YAML loaded from dism via recipesFromResources. That'll get fixed in a followup PR.

Thanks for getting to this so quickly. I feel bad that I suggest and enhancement and you did all the work 😂
Were you thinking of taking a similar approach for the other loading path? (Consumer<ObjectMapper> which I think is a good solution btw.). The only code paths I see with new YamlResourceLoader are Environment.scanX -> ClasspathScanningLoader -> YamlResourceLoader which is a short call chain to modify. I could attempt the follow up PR if you're okay with the approach of overloading the Environment.Builder constructor with
public Builder(Properties properties, Consumer<ObjectMapper>)

There aren't any other ResourceLoaders other than ClasspathScanningLoader and YamlResourceLoader so that should cover all use cases.

I'd briefly explored that option, but didn't arrive at a solution I'd liked just yet. And since this is mostly/only used in tests for now I'd abandoned it for now. You're welcome to try your hand at a non-intrusive change if you can find one. 😅


JFG-954: fix bug when sessionComparators present in reporting configuration.

"...static import can make your program more readable, by removing the boilerplate of repetition of class names."

All ok. Workload started as expected:
http://<IP_ADDRESS>:8080/job/Jagger-smoke-tests-newConf/56/console


OpenCensus metrics should not have leading '/'

Bug Description
Similar to https://github.com/GoogleCloudPlatform/cloud-sql-go-connector/issues/391, which gives a lot of context over this issue.
OpenCensus metrics that start with a leading / character, when exported to Prometheus, get prefixed with key_ (e.g. key_alloydbconn_dial_latency_bucket).
Removing the leading / from OpenCensus metrics, as was done in https://github.com/GoogleCloudPlatform/cloud-sql-go-connector/pull/393 for the CloudSQL Go connector, would most probably fix this issue as well.
Example code (or command)
package dummy

import (
  "contrib.go.opencensus.io/exporter/prometheus"
)

func init() {
  _, _ = prometheus.NewExporter(prometheus.Options{})
}

// Code using the alloydb-go-connector

Stacktrace
No response
Steps to reproduce?

register a Prometheus Stats OpenCensus exporter;
run an application that uses the AlloyDB Go Connector;
look for the exported prometheus metrics;

Expected
The metrics should start with alloyconn_.
Actual
The metrics start with key_alloydbconn_.
Environment

OS type and version: macOS Ventura 13.3.1
Go version: go1.19.1 darwin/arm64
AlloyDB Go Connector version: v1.2.2

Additional Details
No response

We'll get this out in the next release.


upgrade manifest and webpack version

Description
Currently playground-extension-boilerplate project manifest version is v2. For better support in the manifest, we have decided to move manifest version v3. Update the required code according to version v3 the newest version of the Chrome Extensions platform. After completing the manifest migration we need to upgrade our Webpack version also.
Tasks

[ ] Upgrade manifest version
[ ] Upgrade Webpack and other version too

Manifest version upgraded from v2 to v3
While developing this boilerplate codebase we used manifest version 2. Currently, we got a huge upgrade in manifest version v3. There are some major changes in v3.

Verson number
Updated host permission
Update web accessible resources
Migrate to a service worker
Update code

Update background service worker script
In the previous solution we are executing our script using chrome.tags.executeScript which does not support provided multiple files. We have to loop through a script files and run a function inside the loop for execute multiple files. In manifest V3 this is super simple. The updated code snippted is so much easier to understand and small amount of code
chrome.action.onClicked.addListener((tab) => {
  chrome.scripting.executeScript({
    target: { tabId: tab.id },
    files: ["js/content-script.js"]
  });
});```