Weird map keys for @QualifiedMap

Consider next configuration
@Qualifier
@Retention(RUNTIME)
@Target({TYPE})
public @interface Accepts {
    PaymentMethod value();
}

@Singleton
@Accepts(PaymentMethod.VISA)
public class VisaStore implements Store {
}

@Singleton
@Accepts(PaymentMethod.MASTERCARD)
public class MastercardStore implements Store {
}

@Singleton
class PaymentGateway {

   private final Map<String, Store> paymentMethods;

   @Inject
   PaymentGateway (@QualifiedMap Map<String, Store> paymentMethods) {
     this.paymentMethods = paymentMethods;
   }
 }

The resulting map keys for the injected qualified map paymentMethods looks like:
accepts(value=visa) : <VisaStore>,
accepts(value=mastercard): <MastercardStore>

I would expect keys like VISA and MASTERCARD.
Or my configuration is wrong somewhere?

yeah all qualifiers currently generated with lowercase. @rbygrave do you want to keep it that way or change for 10.0?

just for clarity, it is not only about the case.  accepts(value=visa) is literally the String in the map key.
Also, it would be nice to support an enum as a map key, support EnumMap in other words.

just for clarity, it is not only about the case. accepts(value=visa) is literally the String in the map key.

For testing to work convert the annotation into a string key to match the output of the runtime java.lang.Annotation#toString. The issue is that toString() will print out the full enum type. It will only have the enum type name itself.
Hence why PaymentMethod.VISA is printed out as VISA before we lowercase it to visa.

Also, it would be nice to support an enum as a map key, support EnumMap in other words.

Would be nice indeed but such a thing is impossible at the current time. Inject test works via reading the annotation at runtime as a basic java.lang.Annotation instance.
Unfortunately Annotation doesn't have any way except that stunted toString to retrieve annotation values. So at the current time strings are the best we can do.

So pondering, could we get to:
   @Inject
   PaymentGateway (@QualifiedMap @Accepts EnumMap<PaymentMethod, Store> paymentMethods) {
     this.paymentMethods = paymentMethods;
   }

I think what this means is that internally we'd be getting avaje-inject to make the assumption that the qualifier argument is an Enum - now for me I think that is actually ok in that my gut is telling me this could be the 99% case of using this type of qualifier - one that takes a single enum parameter is the 99% case.
So if this is the 99% case, then can we get avaje-inject to support this?
Currently Builder has:
  /**
   * Return a map of dependencies for the generic type keyed by qualifier name.
   */
  <T> Map<String, T> map(Type type);

And we'd need to add something like:
  /**
   * Return a map of dependencies for the generic type keyed by qualifier name.
   */
  <E,T> EnumMap<E extends Enum, T> enumMap(Type type, String topQualifier);

... and for this example the generated code would call the builder like:
EnumMap<PaymentMethod, Store> enumMap = builder.map(Store.class, "Accepts");
var bean = new PaymentGateway(enumMap);

My thinking is that the internal string values for the qualifiers is accepts(value=visa) and accepts(value=mastercard) ... and internally the builder enumMap implementation is going to make some assumptions on the string format along the likes:

The internal string qualifier startsWith("Accepts") // toLowerCase?
The (value=___) is parsed to determine the "visa" and "mastercard" values
It can perform this parsing and build the EnumMap

all qualifiers currently generate with lowercase. @rbygrave do you want to keep it that way or change for 10.0?

I'm definitely open to removing the toLowerCase() performed on all qualifier names ... and I'm thinking that we might have to do that if we want to support this case.
To a large extent lowercase was used to avoid any issue/variance when people migrate from using @Named like @Named("red") and migrate to @Red and have a difference there with red vs Red.

To a large extent lowercase was used to avoid any issue/variance when people migrate from using @Named like @Named("red") and migrate to @Red and have a difference there with red vs Red.

Why would one expect it to behave the same when the annotation class has a different case? If anything it should be strange that it works.

  /**
   * Return a map of dependencies for the generic type keyed by qualifier name.
   */
  <E extends Enum<E>,T> EnumMap<E , T> enumMap(Type type, String topQualifier);

idk, it seems like a method like this would have undefined behavior for a bunch of valid cases. For example if the annotation has more than one member, or if the annotation doesn't happen to be using an enum (strings also would be a fairly common case)

So be clear we can't use @Accepts so instead it would look more like:
  @Inject
   PaymentGateway (@QualifiedMap EnumMap<PaymentMethod, Store> paymentMethods) {
     this.paymentMethods = paymentMethods;
   }

So this must assume that:

all the qualifiers use @Accepts,
there is only 1 member which is the PaymentMethod enum.

if the annotation has more than one member, or if the annotation doesn't happen to be using an enum

These would not be supported - ideally an exception is thrown for those cases.

regarding case sensitive ... when the annotation class has a different case?

I expect many people start by using @Named often using lower case and then later convert over to using a typed qualifier and so it then goes from "red" to "Red" and in a big enough code base there can even be both so ideally these match (hence I think that DContextEntryBean uses equalsIgnoreCase in matching qualifier names.

To me, supporting a @QualifierMap of EnumMap comes with a few restrictions. It seems that the value of the EnumMap is marginal with say only 2 implementations [we could instead just inject the 2 known implementations using the full qualifiers] and EnumMap gets to be valuable when there are more entries / more implementations like say 10.
An alternative approach would be more that all the implementations have a method that returns the enum (e.g. VisaStore has a supportsPayment() method that returns PaymentType.VISA) ... and code iterates all the implementations and puts them into an EnumMap that way.
Still, EnumMap can be done if we are prepared to accept the restrictions on its use.

Closing this for now. I don't think we will add support for this at this stage.  If someone comes up with more ideas or thoughts on this we can re-open the issue etc.


App Store fix + deprecation fix

This fixes the following issues:
1.) checkNewAppVersion failed if the target app was not available world wide, but in specific countries only. Line 134-136 modifies the lookupURL so that it points to the correct App Store depending on the system country code
2.) Fixes a deprecation in alertUpdateForVersion

Hi @skuske 😊
Thanks for the PR! I haven't done iOS in a while so I'll trust you with this 😜

@emotality
Thanks. It works fine, using it in a project here. :o)


Literals for Slice(UInt8)

We need a way to express binary data embedded in the data section of the program. We can do this right now for strings, but there's no way to create a non-UTF8 string with a string literal.
There are several ways we can fix this:

We can add back the \x... escape to string literals, to add a byte with a specific hexadecimal value. Right now strings can hold non-UTF8 data, they just raise when using those strings as UTF-8 data (for example, iterating them), so it's strange that they can hold non-UTF8 data but one can't create them with a literal. From there, one could take a slice. This will also solve #2565 because inspecting a string with non-valid codepoints will output \x... for those values.
We add a literal for something like a Slice(UInt8). It could just be Slice(UInt8), but these are not read-only. Or maybe they can be read-only and they can crash the program when written. One shouldn't write them, the same way as one doesn't get a slice from a string literal and writes to it. There was the idea of introducing const [...] for this, with which we could create static data for any kind of integer value.
Other options...?

I would tend towards 2 with something like https://github.com/crystal-lang/crystal/pull/2791#issuecomment-225299043 as the preferred alternative. Either way we need to make sure to not run into issues similar to #2485.

Same here: Slice(UInt8) is the de-facto type for binary data whereas String may only contain UTF-8 data. I don't think it's a good idea to push the idea that it's okay to put arbitrary bytes into a String.

inspecting a string with non-valid codepoints will output \x... for those values

But I like that.

One issue we found the other day is that we needed to do a POST in the http client with binary data. We made it work by simply creating a String with that data and then invoking HTTP::Client.post. I think I like that, it's pretty convenient. Otherwise we'd need to add overloads or restrictions for Slice(UInt8), and HTTP::Request will have the body as String | Slice(UInt8), etc.
To compare with other statically typed languaged, Go's strings are also just byte chunks that can hold arbitrary bytes, but can also be treated as UTF-8 strings when needed: https://blog.golang.org/strings
Java's String class is supposed to be UTF-16, but can hold arbitrary bytes as well.

I very much like that String is supposed to handle UTF-8 valid data and operations on that. And nothing else. I would hate to loose that property and rather prefer convenience API added to other interfaces for handling Slice(UInt8). In the HTTP example binary data would need some form of content encoding to valid ASCII values anyway. Detecting to do that encoding automatically upon receiving a Slice(UInt8) vs a String seems actually easier than always second guessing whether String needs it or not.

I am with @jhass here. I would keep String as valid UTF-8.
I would rather add overloads in the http client to send/receive blobs.
And I definitely want to be able to embed binary resources (Slice or StaticArray and then a convenient api to wrap it)

Would it be helpful to have Base64.decode(str, io) : Nil so I can decode the asset and stream it out with the response?

@mperham Good idea, an overload that writes directly to an IO is missing. Should be easy to add.

Just a side note, I'm trying to write the Slice(UInt8) out to the Kemal response:
    def self.serve(filename, resp)
      resp.status_code = 200
      resp.write Base64.decode(WEB_ASSETS[filename])
    end

I verified that the Slice size is exactly the same size as the file on disk but the response only has about half the expected bytes.  Anyone know why the server response is not writing the entire Slice to the client?

@mperham we'd probably need a concrete code that we can reproduce to check if something works wrong. I tried creating a slice of 5000~50000 bytes and it works well.

Looks like the problem is related to me not setting the content-type header.  The browser prints out the PNG contents as text/html but serves it correctly when I set it to "application/octet-stream".

Just throwing thoughts in to the mixture here: How about a literal that generates a View(UInt8) which would be a read only type derived from Slice(UInt8)? If it's known at compile time an area is unwritable, we should be helped at compile time, avoiding a crash where possible.

How about provide users to create their own literal types (maybe in %data{ ... } format, data can be any words for each type, and {} can be [] or ()) like C++11 does?
Then we can create some custom literals for Slice(UInt8), StaticArray(UInt8) or other types we want? (use macro to define these works in compile-time, maybe?)

Any progress on this? Usecase in my scenario is writing bytes to an IO, as one might do when using low level packets on the wire. io.write_bytes(0x00000000, IO::ByteFormat::BigEndian) doesn't provide 8 empty bytes as one might expect, but rather outputs a single empty byte.

@maxpowa
It works for me 😕
io = IO::Memory.new
io.write UInt8.slice(1, 1, 1, 1, 1, 1, 1, 1)
io.rewind
io.write_bytes(0x00000000, IO::ByteFormat::BigEndian)
io.to_slice # Bytes[0, 0, 0, 0, 1, 1, 1, 1]

Yep nevermind, it is indeed working... I must have done something wrong when I was testing. Thanks @Exilor

We can add back the \x... escape to string literals

This has been implemented in https://github.com/crystal-lang/crystal/commit/cd8296b88d7859b8f914a0d4bf55f7c5534c5b15, by the way.
I think it's a really bad idea to allow broken string literals in the language's core syntax. I noticed that some people are already doing hideous things with it, without really understanding the situation...
This should only be possible through an unsafe operation.
The alternative solution is the way to go. Bytes literals should definitely be a thing.
And "\xff" syntax should give an explicit error like "strings are for UTF-8 encoded text, not for arbitrary bytes".
Side note: in Python \x** means \u{**}.

@oprypin but sometimes people need to do hideous things for hideous causes :)
this feature is important, it's heavily relaid on in fuzzers and exploit development (yes FFS using Crystal ! :) )
https://www.offensive-security.com/metasploit-unleashed/shell/
 def exploit
        connected = connect_login
        nopes = "\x90"*(payload_space-payload.encoded.length) # to be fixed with make_nops()
        sjump = "\xEB\xF9\x90\x90"     # Jmp Back
        njump = "\xE9\xDD\xD7\xFF\xFF" # And Back Again Baby  ;)
        evil = nopes + payload.encoded + njump + sjump + [target.ret].pack("A3")
        print_status("Sending payload")
        sploit = '0002 LIST () "/' + evil + '" "PWNED"' + "\r\n"
        sock.put(sploit)
        handler
        disconnect
    end

etc....

It's still easy enough to construct a string with invalid data, I just don't think it should be part of the syntax.

@bararchy, thanks for a good demonstration of the point I was making... All of these should have been Bytes

I forgot that this issue existed and just started writing a new one.
Anyway... I'm just still appalled that there's a literal for invalid strings.
So, ping
Putting bytes literals in read-only data is a must-have, and so if the literal produces a writable Slice(UInt8), that's a problem. Or it used to be, not anymore! Now we even have read-only slices.
So there are really no blockers now.

Right now this is solved because one can use a String for this, because a String can now arbitrary bytes.
I know it's not the most elegant solution, but for now it works. We can postpone a real solution for this for later.

pls

What if we add:
b"some content"

For now that would be equivalent to:
"some content".to_slice

and of course you can use \xAB for specific byte values.
We could also have:
b'x'

to be the same as 'x'.ord.to_u8 and not have it compile if it doesn't fit in an UInt8, so that would be a byte literal.

My suggestion that I started to write:

It would be a literal that does not allow \u escapes, and allows only ASCII characters, supplemented by the \xff syntax for arbitrary bytes. The literal would produce Slice(UInt8).
I propose the syntax b"foo\x12fsdfg", like in Python and Rust.
Side note, Bytes[] macro probably should be rewritten to produce a literal.
I would also suggest removing the hexadecimal notation from strings. Obviously, to replace the use case, the bytes literal would need to store the data in the read-only data section. I don't know whether that means that the size of the slice would need to be moved there as well, like it is with strings.

"some content".to_slice is impossible to do if hexadecimal escapes are removed from strings, which is the main problem I have

Oh, with "some content".to_slice I meant it would be equivalent to that. We could probably type b"hello" as a read-only Slice(UInt8) and put that in the ROM section of the program.
For that we'll probably need Slice to be part of the known types for the compiler, and have @pointer, @size and @read_only laid out accordingly in memory.
But for now I'd leave the ability to have \x.. escape sequences in a String. Later we can remove them, but we'll have to make sure that there's no way to create strings that are not valid in UTF-8. Maybe that will slow down everything a bit, but, well, correct code is better than fast code.

@pointer, @size and @read_only could be directly followed by the data itself, with @pointer being equal to its own address + offset.
I don't think it's that important to prevent strings that are not valid UTF-8. The only way to create them is new, just raise the awareness. The problem is that people see nothing wrong with '\x' string literals and then intentionally seek out a way to recreate such strings "programmatically".

@asterite We wouldn't need to know about Slice's internal layout, unlike String, because we can simply define that Slice needs to have a constructor taking a pointer and a size (which we already have). We only need to know String's layout because we put the data contiguously. With Slice we don't need to do that. And it's probably not worth doing it since it's a struct and LLVM will optimize since both the constructor arguments are literals.

@RX14, are you sure you understand the part about putting this in read-only data section?

@oprypin yes.... you pass a pointer to the data in the RO section to the slice contructor. The slice instance itself has to live on the stack anyway, so can't be in ROdata.

@RX14 Please reopen this

Why was this even closed and all those other issues which are most definitely not fixed?

I would go one step further and use a completely new syntax similar to Elixir's bitstrings, rather than simply borrowing the one for string literals:
<<0x12>>             # => <<0x12>>
<<0x21>>             # => "!"
<<0xCF, 0x83>>       # => "σ"
"\xCF\x83"           # => "σ"
<<0x12, 0xCF, 0x83>> # => <<0x12, 0xCF, 0x83>>
"\x12\xCF\x83"       # => <<0x12, 0xCF, 0x83>>
<<0x12, "σ">>        # => <<0x12, 0xCF, 0x83>>

(Every double-quoted string literal in Elixir denotes a bitstring. Single-quoted ones produce charlists.)
An attractive feature about them is they can handle multibyte sequences:
<<0x12345678::32>>        # => <<18, 52, 86, 120>>
<<0x12345678::32-little>> # => <<18, 52, 86, 120>>

<<1.0::little>>    # => <<0, 0, 0, 0, 0, 0, 240, 63>>
<<1.0::32-little>> # => <<0, 0, 128, 63>>

<<0xCF83::16>>        # => "σ"
<<0x83CF::16-little>> # => "σ"
<<"σ"::utf8>>         # => "σ"
<<"σ"::utf16-little>> # => <<195, 3>>
<<0x03C3::utf8>>      # => "σ"
<<0x03C3::utf16-big>> # => <<3, 195>>

It emphasizes the fact that byte arrays are a more general concept than string-like byte sequences.
It is important that both the Bytes itself and the data it refers to are stored in read-only memory; the Slice constructor that accepts a pointer is unsafe, so the data must be encapsulated behind a read-only Bytes, with no other way to access it.
If we have an extremely fast String#valid_encoding?, say even faster than #each_char(&), then the performance penalties should be very minimal. So as a starter I think we should incorporate one of the algorithms in #11873. (In fact, the standard library has never used that method since its introduction.)

Just to throw yet another an idea in:
Ruby has the .b method for strings.
https://docs.ruby-lang.org/en/3.2/String.html#method-i-b
Maybe "bytestring\x00\x01".b could be treated as a byteslice literal in Crystal?
(I prefer to say "a ByteSlice" rather than "a Bytes".)
Ruby also has ?… for character literals (or rather single-character strings), even supporting control characters.
https://docs.ruby-lang.org/en/3.2/syntax/literals_rdoc.html#label-Strings
?\C-g == ?\a  # => true

Then again, b"…" and b'…' or Elixir bitstrings are probably better, if they could maybe use b(…) or b[…] or %b(…) instead of <<…>>, provided they let you write things like:
b( "filemagic", 0x01, 0x02, '\a', '\C-g' )


Mark org as Pure Reserved Keyword

What type of PR is this?
Bug Fix
What does this PR do / why is it needed ?
On the generated java for model to model use case, to handle Data Quality we try to resolve the java class "org.finos.legend.engine.plan.dependencies.domain.dataQuality.IDefect"
This can fail at compilation when we have any class properties with name as "org" as it will be in the same scope.
Does this PR introduce a user-facing change?
No

\easycla


CA-339331: Skip uses deferred execution and needs enumeration...

... Also:
Ensure we always initialise the errorDescription. Removed redundant call to base constructor.

Consider @AaronRobson write privileges so he can give green ticks as well, which may needed if reviews are enforced using github.

Yes, working on it.


Get rid of rpm-py-installer

Fixes #187.
RELEASE NOTES BEGIN
Specfile no longer depends on rpm-py-installer, it now depends directly on rpm.
RELEASE NOTES END

I can see similar build failures: https://github.com/packit/packit/issues/1855

but what's wrong with the tests?

I'm not sure, but I don't think the failures are related to this change.

recheck

recheck

There is a packit test that seems to fail consistently: test_local_build_from_srpm. I'm not sure how it could be related, but I want to take a closer look before I merge this PR.

It happens on every specfile PR, so it's definitely unrelated, let's not block this further.


CVE-2007-4559 Patch

Patching CVE-2007-4559
Hi, we are security researchers from the Advanced Research Center at Trellix. We have began a campaign to patch a widespread bug named CVE-2007-4559. CVE-2007-4559 is a 15 year old bug in the Python tarfile package. By using extract() or extractall() on a tarfile object without sanitizing input, a maliciously crafted .tar file could perform a directory path traversal attack. We found at least one unsantized extractall() in your codebase and are providing a patch for you via pull request. The patch essentially checks to see if all tarfile members will be extracted safely and throws an exception otherwise. We encourage you to use this patch or your own solution to secure against CVE-2007-4559. Further technical information about the vulnerability can be found in this blog.
If you have further questions you may contact us through this projects lead researcher Kasimir Schulz.

Hi there, thank you for the patch.
Good to make the code secure! This little example isn't even featured in the book, it was just there to provide an example with tar, similar to the zip one we have in chapter 8, but I'll put a comment in the code, after applying your patch, to explain why this requires this kind of security check.
Kind regards,
Fabrizio


Support nightly-2024-10-18 and later

See individual commits.
Updates #636 (needs release).

@Enselic could you have a look please?

I think ill have time to look on monday


use medium CI instance for go-test

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

Closing this PR as it's obsolete


Upstream bundle interface methods to protobuf-specs, and remove ProtobufBundle type

Description
The ProtobufBundle type is largely a wrapper around the generated protobuf type Bundle:
type ProtobufBundle struct {
	*protobundle.Bundle
	hasInclusionPromise bool
	hasInclusionProof   bool
}

The original purpose of this type was to add interface methods to Bundle to implement the SignedEntity interface, before this repo was open-sourced, and while the protobuf-specs repo was unstable, or perhaps before the generated protobuf types were added there.
In order to use this library, a user who holds a Bundle type must first convert it to a ProtobufBundle type, using NewProtobufBundle. This conversion is simple, but adds boilerplate, and in many cases, it must also be first converted from JSON. We do have a helper func that facilitates this two-step conversion, LoadJSONFromPath, but users working with native protobuf types, such as using gRPC or Twirp, must always convert types, and the ProtobufBundle type doesn't have a clear meaning for users new to the library, and is hard to disambiguate from the actual "protobuf type".
The user experience of this library may be improved if we chose to upstream these interface methods into the protobuf-specs repo, in a file that resides next to the existing generated file. This would also make the upstream type easier to work with, allowing users to extract certificate chains and other types without requiring sigstore-go.
There are a few complications that might make this idea impractical. It would imply the upstreaming of some other interfaces and types to protobuf-specs, such as verify.SignatureContent, verify.VerificationContent, and root.TrustedMaterial, as these types are all bound to the SignedEntity interface.
In case this change would shift too much code up to protobuf-specs and complicate developement on sigstore-go, it could be argued that the generated Bundle type from protobuf-specs should be moved into sigstore-go and have the methods added here.
I would love to hear folk's thoughts on this prior to the 1.0 release, as I think it could make the public APIs cleaner.

I think the code in protobuf-specs should only be generated code, as it should reflect exactly what is defined in the protobufs. Upstreaming a number of interfaces and types will also negatively impact development velocity, and complicate handling code reviews and maintainership.
Have you explored if we could remove the ProtobufBundle type, and instead have helper methods that could transform JSON to the Bundle struct and vice-verse, validation helpers, etc, rather than extending the interface?

Upstreaming a number of interfaces and types will also negatively impact development velocity, and complicate handling code reviews and maintainership.

Yeah, that was kind of my concern toward the end of the description. 👍

Have you explored if we could remove the ProtobufBundle type, and instead have helper methods that could transform JSON to the Bundle struct and vice-verse, validation helpers, etc, rather than extending the interface?

I think I've thought about patterns that sound like this, but I agree it could be less clean, and I think SignedEntity is a good abstraction.

but then we need to manage regenerating code every time the protobuf is updated

Agreed, it is nice having the stable types live in protobuf-specs.
I can close this out as wontfix, but while we are on this topic, is there any appetite for renaming ProtobufBundle to something like SigstoreBundle or just Bundle?

Yea, I would be supportive of renaming. I'd lean towards Bundle - while it's overloaded, we want the only usage of "bundle" within Sigstore to refer to this new bundle format.


Improve UX for zooming with restricted geolevels

Description

We prevent selecting the blocks geolevel at zoom levels below a certain threshold. However, if you zoom in, select the blocks geolevel, and then zoom out, blocks are still selected but they are grayed out and we don't clearly explain what changed and what a user needs to do to continue working with blocks. The user can't select geounits on the map until they manually select an available geolevel. For example:

To remedy this, we want to make it more clear that the user needs to zoom back in to see and interact with blocks by showing a them a message (see screenshot). We also want to not gray-out the blocks geolevel so it's clear the blocks geolevel is still active.
AC:

When a user selects a restricted geolevel (i.e. Blocks) and zooms out past the min-zoom, we show a message that explains: Zoom in to work with [geolevel]. (See screenshot)
Also when this happens, the blocks geolevel button is still active and indicates blocks are still selected (rather than being grayed out).
When zoomed out, if a user selects a non-restricted geolevel  the restricted geolevel button is deactivated and returns to a state like in #268 / #287.
If a user has a restricted geounit selected, the user can zoom out past the min-zoom (rather than be limited to it) and the selection is maintained (i.e. sidebar shows proposed change, if you zoom back in the selection is still there)

Screenshots

I edited this issue to reflect the new direction mentioned in this message: https://github.com/PublicMapping/districtbuilder/pull/270#issuecomment-669479824

Updated to capture the various nuances.

@jfrankl What do you think of Zoom in to work with blocks? It's a little more concise than Zoom in to view and select blocks.

@tgilcrest looks good to me.


Fix compilation errors with C++20

What

Closes https://github.com/rerun-io/rerun/issues/4090

I tried getting these tests running on CI too, but after 2h I gave up.
Andreas has volunteered to try a bit more, so let's hold off merging this PR until we can reproduce the problems on CI.
See https://github.com/rerun-io/rerun/pull/4097 if you dare
Checklist

[x] I have read and agree to Contributor Guide and the Code of Conduct
[x] I've included a screenshot or gif (if applicable)
[x] I have tested demo.rerun.io (if applicable)
[x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG

PR Build Summary
Docs preview
Examples preview
Recent benchmark results
Wasm size tracking

would be weird if not, but this compiles on windows fyi ;)

I'm not gonna get clang++ working on CI anytime soon, so I'll just merge this


Laravel 8 support

Updated composer.json to require Illuminate v8.0 packages.
Tested on L8.6.0 with php artisan sneaker:sneak and the package still works.

Never mind.. I totally missed @bryanrscott his PR.. Silly me :(


Update l10ns.

Add current translations.

The only reason I didn't do this before launch is it looked like because a lot of the strings had changed we were losing a lot of translated areas of the app.
Didn't realise it was causing errors. :-(
Thanks!

@blargity hey, I improved logic in 582.


Check if model is metatensor atomistic model?

I think it would be good to include a function to check if a torch model is a metatensor atomistic model. What makes it difficult is when the model is torchscripted. For now, I'm using this:
def is_exported(model: Any) -> bool:
    """Check if a model has been exported to a MetatensorAtomisticModel.

    :param model: The model to check
    :return: :py:obj:`True` if the ``model`` has been exported, :py:obj:`False`
        otherwise.
    """
    # If the model is saved and loaded again, its type is RecursiveScriptModule
    if isinstance(model, MetatensorAtomisticModel):
        return True
    try:
        model._module
        model._capabilities
        model._metadata
        return True
    except:
        return False

(note that getattr doesn't seem to work on torchscripted models)
@Luthaf

So load_atomistic_model checks the existence of special files in the exported model to ensure this is a metatensor model. We could extract the check into it's own function.
What's your use case for this?

In metatrain, we would need to differentiate between exported metatensor atomistic models and models that follow the ModelInterface. Both torchscripted


Kotlin: add typealias keyword

@Golmote @LeaVerou This looks good to me, and we have no other open PRs for Kotlin, so I think this is good to merge into master w/o conflicts. Agree?

LGTM. If we haven't yet folded gh-pages into master we can just go ahead and merge this as-is.


Add a references section

Add a list of references for the pgroll project.

I believe this list is not comprehensive, @andrew-farries @tsg feel free to add more items here or change wording at will


Added float_in_slice validator

Would appreciate if you can tag after releasing this.

@frankgreco Are you planning to maintain this?

I'm not 100% sure but it appears that .Validate() in this helper could simply compile into an instance of that.

No, it can't because range allows any values in between the range while SliceContains only allows the specified values.

I have addressed everything.


DOC: Wanted to add contributors section in Readme.md file

What's wrong with the existing documentation
List of Contributors in Readme.md file missing
Add ScreenShots
No response
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

duplicate #275


Explain Generate delegate list mechanism

also: Add note to explain what happens when someone misses any slot

This is part of the current protocol docs


WIP: Feature/torbox integration

When submitting this pull request, I confirm the following (please check the boxes):

[ ] I have read and understood the Contributor Guidelines.
[ ] I have checked that there are no duplicate pull requests related to this request.
[ ] I have considered, and confirm that this submission is valuable to others.
[ ] I accept that this submission may not be used and the pull request may be closed at the discretion of the maintainers.

Fill in the PR content:

Hey, you've accidentally pushed your token in one of the files.


Update language fr_FR for griefdefender-1.2.1e.jar

Update for griefdefender-1.2.1e.jar and fix of some typo in the language file

File uploaded by bloodmc


Bridge Validators Docs

What
Include:

[x] How to add a new bridge validator member
[x] How to setup a bridge validator node

Ref

[x] #72

Closing this issue as the content has already been added in documentation.


some cve not in database

Hi. I found CVE-2015-1328 not in the database. But there is one page about this vuln, http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1328. Thanks.

Hi vvoody,
The CVE-2015-1328 is kind of a reserved ID. You can see what different in http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1322 that is filed.


a11y weekly sync - 19/09/2023

Discussion notes
Follow-up on buttons issues:
@gabalafou:

[ ] Ping on PR review https://github.com/executablebooks/sphinx-design/pull/158
[ ] Need to update PST docs: disclaimer about buttons and when to use them
Tangential: Hide search should be a button (this changes state) - do NOT add a button component that we have to maintain
[ ] Discussed https://github.com/pydata/pydata-sphinx-theme/pull/1459 - discussed three options alt+text, text only, neither
[ ] will continue to work on https://github.com/pydata/pydata-sphinx-theme/issues/1428

@smeragoel

[x] Will work on navbar focus states

Audit: https://github.com/Quansight-Labs/czi-scientific-python-mgmt/issues/41

Agreed to run through the Accessibility insights https://accessibilityinsights.io/docs/web/getstarted/assessment/
After our first audit session (this week), we will open a parallel issue on PST

I don't see it in the notes here but I thought we said in this sync that @trallard would take care of https://github.com/Quansight-Labs/accessible-pygments/issues/30, so I just now went ahead and unassigned myself from that task and assigned @trallard instead


PubSubTemplate should propagate Pub/Sub metadata in headers

Revisit MessageHeaders, make sure headers captures and propagates Pub/Sub metadata.
Spun off from #92

Currently, the internal Spring Integration headers are sent through.
We might want to filter them out, this is going to be addressed in #63.


⚠ Visual-Crew_Builder has degraded performance

In 26262d0, Visual-Crew_Builder (https://visual-crew-builder.ai) experienced degraded performance:

HTTP code: 200
Response time: 1246 ms

Resolved: Visual-Crew_Builder performance has improved in a5fb022 after 6 minutes.


Download not working

Hi,
I get an error. The download is not working for me. Is it possible to fix the error?
TypeError: Cannot read property 'block_timestamp' of null
at downloadAllTransactions (C:\download\index.js:58:35)
at processTicksAndRejections (node:internal/process/task_queues:94:5)
at async main (C:\download\index.js:343:17)

error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Thanks and best regards!

Hi @bschi this should be fixed in the latest version.  Again, it was a problem with TronGrid APIs, sometimes it erroneously returns null objects inside the response data.  The new code now retries the request to TronGrid if this is detected.


Crash(OutOfMemory) for a picture

Using exif-cli tool to get exif info for this picture, got the belowing crash log.
% exif ~/Desktop/7746950.jpg

<--- Last few GCs --->

[25939:0x104001c00]     2534 ms: Mark-sweep 358.6 (363.9) -> 358.6 (363.9) MB, 147.7 / 0.0 ms  last resort
[25939:0x104001c00]     3485 ms: Mark-sweep 890.9 (896.2) -> 536.0 (542.3) MB, 180.4 / 0.0 ms  (+ 0.0 ms in 0 steps since start of marking, biggest step 0.0 ms, walltime since start of marking 951 ms) allocation failure GC in old space requested

<--- JS stacktrace --->

==== JS stack trace =========================================

Security context: 0x173c292a66a1 <JS Object>
    2: extractExifEntry [/usr/local/lib/node_modules/exif-cli/node_modules/exif/lib/exif/ExifImage.js:~270] [pc=0x17bf542ef0c](this=0x11929f3cbeb9 <an ExifImage with map 0x2af1821442b1>,data=0x11929f3cbf51 <an Uint8Array with map 0x2af18212c9f1>,entryOffset=1086,tiffOffset=12,isBigEndian=0x38eda7182421 <false>,tags=0x11929f3f6681 <an Object with map 0x2af182102c51>)
    3: extractExifData [/usr...

FATAL ERROR: invalid array length Allocation failed - JavaScript heap out of memory
 1: node::Abort() [/usr/local/bin/node]
 2: node::FatalException(v8::Isolate*, v8::Local<v8::Value>, v8::Local<v8::Message>) [/usr/local/bin/node]
 3: v8::Utils::ReportOOMFailure(char const*, bool) [/usr/local/bin/node]
 4: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [/usr/local/bin/node]
 5: v8::internal::Heap::AllocateRawFixedArray(int, v8::internal::PretenureFlag) [/usr/local/bin/node]
 6: v8::internal::Heap::AllocateUninitializedFixedArray(int) [/usr/local/bin/node]
 7: v8::internal::Factory::NewUninitializedFixedArray(int) [/usr/local/bin/node]
 8: v8::internal::(anonymous namespace)::ElementsAccessorBase<v8::internal::(anonymous namespace)::FastPackedObjectElementsAccessor, v8::internal::(anonymous namespace)::ElementsKindTraits<(v8::internal::ElementsKind)2> >::GrowCapacity(v8::internal::Handle<v8::internal::JSObject>, unsigned int) [/usr/local/bin/node]
 9: v8::internal::Runtime_GrowArrayElements(int, v8::internal::Object**, v8::internal::Isolate*) [/usr/local/bin/node]
10: 0x17bf52843a7
11: 0x17bf542624c
[1]    25939 abort      exif ~/Desktop/7746950.jpg

Got a similar situation for another picture. Any idea what might be the cause?

I have same prolem. Temporary fix is a start application with more memory limit node --max-old-space-size=4096 app.js


BAU: Remove warnings about already initialized constants

The tests re-initialize the global RP_TRANSLATION_SERVICE and CONFIG_PROXY
instances resulting in warnings in the results.

The travis build failed because of the timeout, the other one passed 🤷♂


Release 1.6.5

HydroShare Release 1.6.5

New homepage
REST improvements
General fixes

Can one of the admins verify this patch?


Is it possible to useHandleConnections() with multiple dynamic handles at once?

What platform were you using when you found the bug?

React Flow / Svelte Flow version: React Flow 12
Browser and version: Chrome 129
OS and version: macOS Sequoia

Live code example
No response
Describe the Bug
I might just be confusing myself here (apologies in advance), but I can't figure out how I'm meant to useHandleConnections() with multiple dynamic handles on a single node. The docs show an example like this:
const connections = useHandleConnections({ type: 'target', id: 'my-handle' });

My nodes are split up into multiple smaller components. Further down the tree, I'm rendering a number of individual <Handle> elements with different IDs from my database. The count and IDs are unknown until runtime, and every handle always has a unique ID.
Further up the tree, I want to style the node based on the connection state of specific handles.
Steps to reproduce the bug or issue
I hoped that useHandleConnections({ type: 'target', id: null }); would return all connections to any handle on the node, and I could filter down from there. But it just returns [].
My next idea was to do something like this...
let handleConnections = [];

myHandles().forEach((handle) => {
    handleConnections.push(useHandleConnections({ type: "target", id: handle.id }));
});

...but of course, React doesn't allow nested hooks 🙃
Expected behavior
I would expect connections to be returned for all handles if id is null. Alternatively, allow passing an array of handle IDs in to the hook.
Screenshots or Videos
No response
Additional context
No response

This hook is specifically designed to help with propagating state through your flow.
You'd want to be specific, at least on a handle level. You can create a handle component which keeps track of its own state through the useHandleConnections hook, then you don't need to nest any hooks.
But I can't squash the feeling that there might be a better solution to your problem. Can you be more specific about what kind of styling of your node you'd want based on connected handles? There might also be a CSS-only path, which is far more performant than propagating state upwards.

I created a feature request, nonetheless, because what you are asking for is actually quite reasonable. #4724

can you assign me this issue?


FastAPI support

Is there any way to use Injector library with FastAPI endpoints? The ideia would be to replace completely their Depends feature.

I've used fastapi-injector and it works fairly well. https://pypi.org/project/fastapi-injector/

Hey @Trinkes, sadly I can't say I know anything about this, I never had a chance to use FastAPI.
In general my answer would be that some custom integration would be required which usually boils down to:

Implementing a custom Injector Scope
Implementing some code that goes around and replaces all callables you want to inject into with something like https://github.com/python-injector/flask_injector/blob/004b9b52727e9699d23168a600c490ee5de7a395/flask_injector/init.py#L86 so that whenever they're called the dependency injection happens transparently and extra parameters are provided

Sadly no good how-to guide explaining that.
@jack-michaud mentioned an interesting integration project which I didn't know about – thank you – maybe that'll help you


land.webaverse.com list endpoint does not show all parcels

http://land.webaverse.com/1-100
shows 1, 2, and 6
but you can see the parcel data on their individual endpoint http://land.webaverse.com/5

Confirmed.

Confirmed.

Should be fixed now. We weren't treating LAND as LAND and it was trying to compute unique NFT hash buckets in the ASSET code path.

Should be fixed now. We weren't treating LAND as LAND and it was trying to compute unique NFT hash buckets in the ASSET code path.


Replace lodash template rendering with mustache template rendering

This will remove a little of the flexibility in configuration of templating, but will allow for using message-box without having to allow unsafe-eval as mustache works without that.

@DeRRudi77 Thanks for this. As you can see in https://github.com/longshotlabs/js-message-box/pull/7, this package did use handlebars (essentially mustache) until 2017, at which point it was switched to lodash template to decrease the bundle size and also provide more flexibility for people. (React Native compatibility was also part of it.) Some people will not like it if that flexibility goes away.
I think it will be possible to make everyone happy here if we:

make the changes optional (still support lodash.template) so that it isn't a breaking change and doesn't require a major release
ideally keep small bundle size, flexible templating, AND improved CSP compatibility

One idea might be to support precompiled lodash templates?
Tagging people who were involved in or liked the original change. Speak up if this affects you or you have thoughts. @nuxlli @macrozone @sakulstra @clayne11 @marcusgadbem @gullitmiranda @jonasblumer @remolueoend @Blurri @Floriferous

I'm not in any project that using this library, but my 5 cents:
I like improving the security and reducing the handle size (I checked, and mustache is smaller than lodash.template).
On the other hand, I think keeping the option open is important. But it's not something simple. If we move the lodash.template and mustache to optional dependencies, the js-message-box will not work "out of the box".
If we keep mustache on the import and turn the "template engine" an option for the MessageBox, the final bundle will be bigger, because then keep the mustache and another library on that.
I think it is not possible to support both options without broken the "user contracts".
Maybe the solution here is: generate two different packages from the same code. It is not something simpler but is possible. Maybe use babel to help in this generate different packages or use something like https://nx.dev

I am not positive, but I believe that if this package were to use dynamic imports for pulling in the templating package (based on options specified), most modern build tools are smart enough to tree-shake dependencies and only bundle the one that is needed. They would not even have to be peer deps, though it does mean that developers would waste time downloading the unused package, but that isn't a big concern as long as it stays out of the final bundle.


[Experiment] default to Loom on

For discussion of https://github.com/square/okhttp/issues/8167
Unlikely to land

Seems like a better case for MR jars than a runtime check. This is going to cause deoptimization on Android and errors in ProGuard/R8/Graal nativeimage as written.

No plan to land, closing.
Failing on API checks
> Task :okhttp:animalsnifferMain FAILED

[Undefined reference | android-api-level-21-5.0.1_r2] okhttp3.(Dispatcher.kt:105)
  >> java.util.concurrent.ExecutorService java.util.concurrent.Executors.newVirtualThreadPerTaskExecutor()

[Undefined reference | java18-1.0] okhttp3.(Dispatcher.kt:105)
  >> java.util.concurrent.ExecutorService java.util.concurrent.Executors.newVirtualThreadPerTaskExecutor()


Update mendeley-desktop to 1.13.8, set license

License is set to :gratis

Looks good, thanks! :+1:


Update README.md

Thanks for this excellent work. I'm developing a series of libraries and plugins for both Bitcoin and Ethereum (and Synereo) which will register IOT data to the blockchain while feeding smart contracts and A.I/Machine Learning modules. I thought adding in some info on SMAP might be useful for the readme, but if you'd prefer a separate section for that, I'd be happy to provide, to help give this context for those just discovering SMAP.

uh. This sMAP is this:
https://pdfs.semanticscholar.org/5059/f047d569ecbdd8567ff858731526e18f6f1d.pdf
Not the same SMAP


[WIP] add config for web init and setServerURL for web

Thanks for this change. It is gonna be a life saver!


Code isn't T-SQL

That code example is C# not T-SQL.

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

ID: a42662ed-e2f2-18f7-037e-c06c62ef4fcc
Version Independent ID: 3020bedc-7401-7111-50ad-b35474701781
Content: sp_changedistributor_password (Transact-SQL) - SQL Server
Content Source: docs/relational-databases/system-stored-procedures/sp-changedistributor-password-transact-sql.md
Product: sql
Technology: replication
GitHub Login: @stevestein
Microsoft Alias: sstein

@mrdenny -- thank you for your feedback, and can you please provide me with some additional details.  The only example I found on that page is SQL:
-- Change the password on the Distributor.
-- To avoid storing the password in the script file, the value is passed
-- into SQLCMD as a scripting variable. For information about how to use
-- scripting variables on the command line and in SQL Server Management
-- Studio, see the "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".
  It should look something like this.
USE master
DECLARE @password nvarchar(50) = “YourLongP@$$w0rdHere”
EXEC sp_changedistributor_password @password
GO
Thank You,
Denny Cherry
Owner & Principal Consultant
Denny Cherry & Associates Consulting, an Inc. 5000 company
denny<EMAIL_ADDRESS>(o) +1<PHONE_NUMBER>tel:3236861478 | (d) +1<PHONE_NUMBER>tel:2139733669
Online Calendar<EMAIL_ADDRESS>[cid:image001.png@01D5672A.7CAA2370]http://www.dcac.co/
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>From: William Anton Rohm<EMAIL_ADDRESS>Sent: Monday, September 9, 2019 4:18 PM
To: MicrosoftDocs/sql-docs<EMAIL_ADDRESS>Cc: Denny Cherry<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/sql-docs] Code isn't T-SQL (#2936)
@mrdennyhttps://github.com/mrdenny -- thank you for your feedback, and can you please provide me with some additional details. The only example I found on that page is SQL:
-- Change the password on the Distributor.
-- To avoid storing the password in the script file, the value is passed
-- into SQLCMD as a scripting variable. For information about how to use
-- scripting variables on the command line and in SQL Server Management
-- Studio, see the "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".

Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/sql-docs/issues/2936?email_source=notifications&email_token=AEZIJAXVKNINHIO4M2JRFYTQI3KS7A5CNFSM4IVAG6NKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6JKDGY#issuecomment-529703323, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AEZIJAUWIRSVQQM5UT6STMLQI3KS7ANCNFSM4IVAG6NA.

@stevestein -- Steve, please review the changes in the above PR.

@mrdenny -- thank you again for your feedback.  I have updated the documentation and it should be live by tomorrow.
@stevestein -- thanks for your review.


Not able to generate SEI NAL

Hello,
I want to generate SEI (supplemental enhancement information) while encoding three spatial layer SVC stream.
I have seen flag in configuration structure but seems it does not do any thing at core level.
From code seems openH264 do support SEI parsing while decoding stream, but do not support SEI NAL generation.
Thanks,
Parag Patel

Is there a way to generate SEI now?

Feature want


Generate storage admin spec for 2019-08-08

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

I have reviewed the documentation for the workflow.
Validation tools were run on swagger spec(s) and have all been fixed in this PR.
The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Automation for azure-sdk-for-python

Can one of the admins verify this patch?

Automation for azure-sdk-for-go

@bganapa  @deathly809 @martabarillas Could you help to review the spec for new azure stack srp?

@wenjlu-lgy When you resolve all the change request, you can request @ryansbenson  review again. When ARM sign off, I will review swagger spec for you. Another thing to note is you need to resolve conflicts and make CI check passed.

@ryansbenson I've resolved all the comments, could you help to review it again?

@wenjlu-lgy Also please have a look at CI check errors.

@Juliehzl  CI check errors are fixed.

Hi @Juliehzl  what's status of this PR? is it ok to merge? if yes, could  you pls merge it?

Waiting for ARM signed off.

Hi @Juliehzl what's status of this PR? is it ok to merge? if yes, could you pls merge it?

@ryansbenson Could you help to take a look?

@Juliehzl ARM team has already signed off. Could you help to review it?

@Juliehzl ARM team has already signed off. Could you help to review it?

@wenjlu-lgy Definitely. Meanwhile can you try to make CI pass?

@Juliehzl ARM team has already signed off. Could you help to review it?

@wenjlu-lgy Definitely. Meanwhile can you try to make CI pass?

@Juliehzl  Done.

@wenjlu-lgy Your swagger specification looks good in general. But out of curiosity, what is the difference between Storage and Storage.Admin Service Provider?

@wenjlu-lgy Your swagger specification looks good in general. But out of curiosity, what is the difference between Storage and Storage.Admin Service Provider?

Storage.Admin is for admin scenario and Storage is for tenant scenario. There are some operations which can only be done by administrator only (like list storage accounts from all tenants).

@wenjlu-lgy Your swagger specification looks good in general. But out of curiosity, what is the difference between Storage and Storage.Admin Service Provider?

Storage.Admin is for admin scenario and Storage is for tenant scenario. There are some operations which can only be done by administrator only (like list storage accounts from all tenants).

@Juliehzl Any other concern about the pr?

@wenjlu-lgy Thanks for your explanation. Approved.


[bugfix] check122 has to check not only string but also array values of the Action field

Context
The check122 tested only string but not array values of the Action field. Therefore check122 did not find IAM policies where a star * value of the Action field is an array element.
Example of a policy that check122 did not find before the bugfix:
{
    "Statement": [
        {
            "Action": [
                "*"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ],
    "Version": "2012-10-17"
}

Before this bugfix, check122 did find IAM policies only like this:
{
    "Statement": [
        {
            "Action": "*",
            "Effect": "Allow",
            "Resource": "*",
            "Sid": ""
        }
    ],
    "Version": "2012-10-17"
}

Description
I changed the code Action == '*', which tests only string values, to contains(Action, '*'), which now also tests array values. Therefore check122 will now find both types of the above shown IAM policy examples.
License
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Hi @kagahd that issue is already solved in Prowler v3, we encourage you to try it.
It adds dozens of new checks, amazing performance improvements and a lot of fancy features

Thanks @n4ch04 for your quick reply.

is already solved in Prowler v3

Yes, I know, because my team is in the process of migrating from prowler v2 to v3. The official prowler v2/v3 mapping maps v2 check122 to v3 check iam_policy_no_administrative_privileges. However, that's wrong (may be I should open a further PR for this) because iam_policy_no_administrative_privileges checks for "open" IAM AWS managed policies whereas check122 checks for IAM custom policies (see --scope Local in the check122 code).
It seems that v3 has 2 checks that correspond to v2 check122:

iam_customer_attached_policy_no_administrative_privileges and
iam_customer_unattached_policy_no_administrative_privilege

However we wondered why both v3 checks had more findings than v2 check122 on all our more than 300 AWS accounts.
That's why I've investigated the cause and fixed check122. Once fixed, check122 reported exactly the same issues as both v3 checks iam_customer_attached_policy_no_administrative_privilegesand iam_customer_unattached_policy_no_administrative_privilege.
Since I just fixed check122 and prowler v2 is still officially supported and maintained, I thought I share my work with the community.

Thanks for your contribution @kagahd !!
You are right, we split that check into two to allow Prowler to be more accurate, but we did not update the docs.
I'll review v3 PR to add that mapping to close this.

Also, to be updated about all the new fancy features we are adding to the tool we recommend you and your team to join the Prowler slack. You will be also in touch with our amazing community.
I'll leave here the link https://join.slack.com/t/prowler-workspace/shared_invite/zt-22du63ply-sXxJQP_b0ejfKeS_jZY7yA


Lead maintainer

For https://github.com/ipfs/community/pull/301

@vmx understood and agree with that best practice. Let's make sure to encourage that pattern always. Merging here for the sake of not spending extra time with this PR. Thank you.


Bump Biometric SDK version to 0.5.4

Update Biometric SDK to a working version for IOS/Android

@MonobikashDas can you please merge this PR?


Will it affect performance?

@sonfiree Thanks for your interests in TASO.
TASO optimize DNN computation graphs based on the runtime measurements of different DNN operators on the actual hardware backend. Therefore, we recommend to run TASO on the GPU backend you are optimizing for.

And how should I be in production?
For example, I use a 1080 card, and in production I already have two 2080.
It turns out in the power is distinguishing. On a machine in production, I cannot run the code.

@sonfiree TASO may use different graph optimizations for different GPU backends. So you should run TASO on the production GPU. Can you briefly explain the error message you got on 2080?

I have not received anything. I just started testing.
I wanted to know how to better deploy the graph and tests.


Cann't connect to the Haidenhain system (version TNC640)

Hi drunsinn
  I think there maybe something wrong in the program, or something configuration in the machine had been modified.

 One controller infomation of grob machine can be read from the program:
 Controller Information:
 TNC-Type:	TNC640
 NC-Version:	340590 10 SP2
 PLC-Version:	TNC640_V14.06.05

But the other controller infomation of HERMLE machine(C42U) can not be read suddenly。

This is an earlier result：
E:\pyLSV2-master\venv\Scripts\python.exe E:/pyLSV2-master/JCTest.py
Connecting to <IP_ADDRESS>
{'Control': 'TNC640', 'NC_Version': '340590 10 SP3', 'PLC_Version': 'C42.33.04SP2HF1/S/'}

Connecting to <IP_ADDRESS>
ERROR:root:something went wrong while waiting for new data to arrive, buffer was set to 256
Traceback (most recent call last):
File "E:/pyLSV2-master/JCTest.py", line 12, in
con.connect()
File "E:\pyLSV2-master\pyLSV2\client.py", line 94, in connect
self._configure_connection()
File "E:\pyLSV2-master\pyLSV2\client.py", line 229, in _configure_connection
self.login(login=Login.INSPECT)
File "E:\pyLSV2-master\pyLSV2\client.py", line 323, in login
if not self._send_recive_ack(CMD.A_LG, payload):
File "E:\pyLSV2-master\pyLSV2\client.py", line 206, in _send_recive_ack
response, content = self._llcom.telegram(
File "E:\pyLSV2-master\pyLSV2\low_level_com.py", line 122, in telegram
response = self._tcpsock.recv(buffer_size)
socket.timeout: timed out

Did you manage to fix it yourself?
Looks to me like the control didn't respond. Let me guess, you had to enable the connection on the control?
Been there myself ;-)


predict_y with Gaussian likelihood

When calling predict_y with a Gaussian likelihood I get the following
  File "./geepee/geepee/aep_models.py", line 2249, in predict_y
    my, vy = self.lik_layer.forward_prop_thru_post(mf, vf)

AttributeError: 'Gauss_Layer' object has no attribute 'forward_prop_thru_post'

predict_f works fine though
Adding the following is probably all that's needed, but please confirm:
class Gauss_Layer(Lik_Layer):
    ....
    def forward_prop_thru_post(self, mf, vf):
        return mf, vf + np.exp(2.0 * self.sn)

Thanks Hugh. I've fixed it.


Handle double escaped entity references.

Description

Adds an extra XML entity dereference for contributor (author, etc.) values in Bibliotheca item response data and
Adds a new test of contributor parsing that includes content containing special characters and an entity reference.

Motivation and Context
bibliotheca_format_sweep is not running to completion.

ValueError: Cannot find sort name for a contributor with no display name!

Items returned by the Bibliotheca CloudLibrary items API may have contributors with two-level deep entity references, so <Authors>Raji Codell, Esmé</Authors> may be transmitted as <Authors>Raji Codell, Esm&#233;</Authors>, rather than <Authors>Raji Codell, Esmé</Authors>. This resulted in incorrect parsing of contributor fields, which, in turn lead to:

invalid contributor entries (existing ones will need remediation) and
the aforementioned crashes of bibliotheca_circulation_sweep.

How Has This Been Tested?
In addition to the regular tests, ran bibliotheca_circulation_sweep against an existing test collection and verified that:

escaped strings were processed properly and
the script was able to run to completion.

Checklist:

[ ] I have updated the documentation accordingly.
[X] All new and existing tests passed.

Right. And while the extra de-ref isn't idempotent, per se, it does converge. One of the author names in the test is the already converged value to demonstrate that. So, if this does get fixed in the API, it should still be safe.


Can Opsis communicate / control video the board?

The Opsis should be able to control the video booster board via the I2C interface.
I believe this hasn't been done yet?

the board is accessible via I2C in the HDMI plug (the same the OS uses to read EDID). The device is accessible on 0x3a address

@mithro Apparently you meant something different, can you elaborate?

How do you modify the Opsis firmware so that it can detect the video booster board and the Opsis console is able to set the video booster level and read the video booster information.


Filter out small test-volume signals in CPR

Description
Turn test volume signal into the sample size for test positivity and drop obs where test volume <= 5 for a given day/geo level.
Bonus:

Switch testing names to new approved ones.
More descriptive names and comments for SIGNALS.

Changelog

pull.py
constants.py - clarify comments and names
test_pull.py - update tests

Fixes
Closes #1513.

Should we make a specific test to address this PR specifically? Specifically, tests for unify_testing_sigs, add_max_ts_col, and std_err.

Yep, that makes sense


Update the README.md file to describe the repo. Also cut the tutorial…

… instructions, as they don't seem relevant to my portfolio.

This is the MVP

Appreciate it adding the screenshot!

Update the README.md file to describe the repo. Also cut the tutorial… #1

Can you please make the title more descriptive and concise to fit into the given space?


Changes to date format

Fixes https://github.com/TBD54566975/dwn-sdk-js/issues/113

Changes dateCreated to string
Converted ISO format to appropriate precision as required
Edited the test cases

I can fix https://github.com/TBD54566975/dwn-sdk-js/issues/135 as well in minimum time , but I see there is a competing PR for the same . Should i wait on the same to fix @thehenrytsai ??


[BUG] Uppercase letters in username will cause transport error when uploading container

Version
redhat-actions/push-to-registry@v2
Describe the bug
If a user has uppercase letters in their github username they will get a transport error when uploading containers to ghcr

A copy of the error occurs here
https://github.com/TrevorDecker/push-to-registry/runs/7242515507?check_suite_focus=true#step:5:57
changing
IMAGE_REGISTRY: ghcr.io/${{ github.repository_owner }}  to IMAGE_REGISTRY: ghcr.io/trevordecker fixes the problem
Steps to reproduce, workflow links, screenshots

Oh snap, I can confirm this. Thank you @TrevorDecker for this info.


feat!: kill enzyme-helpers package

Overview
PR Checklist

~[ ] Related to designs:~
[x] Related to JIRA ticket: WEB-911
[x] I have run this code to verify it works
[x] This PR includes unit tests for the code change

Description
We intend on using our own separate setupEnzyme/setupRtl helpers and generally drifting towards RTL. We might set up an equivalent package later but for now this one isn't what we want to use.
I'm removing its usage in the monolith in parallel: https://github.com/codecademy-engineering/Codecademy/pull/18903

🚀 Styleguide deploy preview ready!https://5f7e97dea48f1820f12ff80e--gamut-preview.netlify.appDeploy Logs

🚀 Styleguide deploy preview ready!https://5f7e9a0279e7a12a6eb058ae--gamut-preview.netlify.appDeploy Logs

🚀 Styleguide deploy preview ready!https://5f96ef2d0e5ee93585c2f0ee--gamut-preview.netlify.appDeploy Logs


Fixed  enum mismatch

What this PR does / why we need it?
Fixed  enum mismatch for issue #1578
Summary of your change
Please indicate you've done the following:

[x] Made sure tests are passing and test coverage is added if needed.
[ ] Made sure commit message follow the rule of Conventional Commits specification.
[ ] Considered the docs impact and opened a new docs issue or PR with docs changes if needed.

Codecov Report
Patch coverage: 68.18% and project coverage change: -1.78 :warning:

Comparison is base (2534e1e) 75.78% compared to head (2442bb5) 74.01%.

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #1581      +/-   ##
============================================
- Coverage     75.78%   74.01%   -1.78%
+ Complexity    20617    19941     -676
============================================
  Files           632      620      -12
  Lines         81398    80660     -738
  Branches      17755    17589     -166
============================================
- Hits          61686    59698    -1988
- Misses        12456    13712    +1256
+ Partials       7256     7250       -6

Impacted Files
Coverage Δ

...alibaba/fastjson2/reader/ObjectReaderImplEnum.java
74.64% <68.18%> (-0.54%)
:arrow_down:

... and 79 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

ObjectReaderImplEnum2X4 这个也要考虑

ObjectReaderImplEnum2X4 这个也要考虑

收到


Testing, please ignore. (utilfn)

This is a bug bounty test.. Please DO NOT APPROVE THIS! (utilfn)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.utilfn yojyd seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


[proxyv2-distroless] Update OpenSSL and Install Security Patch DLA-2563-1 and DLA-2492-1

Describe the feature request
Vulnerability scanning on istio proxyv2:1.10.0-distroless indicates there are two security patches pending install on package OpenSSL: DLA-2563-1 and DLA-2492-1. Can you upgrade OpenSSL on this image to 1.1.0l-1~deb9u2 to resolve this issue?
Describe alternatives you've considered
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[X] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Additional context

This is tracked in https://github.com/istio/istio/issues/29326, thanks for the report.


no way to use Dynamic Classes with ListAdapter

Given the very simple main.py:
from kivy.app import App

class DynamicClassTest(App):
    pass

DynamicClassTest().run()

It is possible to construct ListAdapters using normal classes or templates. Both these KV Language files work just fine:
#:import la kivy.adapters.listadapter
#:import lb kivy.uix.label

ListView:
    adapter:
        la.ListAdapter(
        data=[str(i) for i in range(10)],
        cls=lb.Label)(venv)(master)

and
#:import la kivy.adapters.listadapter

[Dynlabel@Label]:
    text: ctx.text

ListView:
    adapter:
        la.ListAdapter(
        data=[str(i) for i in range(10)],
        template="Dynlabel")

The latter syntax is deprecated in favor of dynamic classes, but I cannot find any way to make dynamic classes work with kivy syntax:
#:import la kivy.adapters.listadapter

<Dynlabel@Label>:
    text: ctx.text

ListView:
    adapter:
        la.ListAdapter(
        data=[str(i) for i in range(10)],
        cls=Dynlabel)

fails with a  name 'Dynlabel' is not defined error, while
#:import la kivy.adapters.listadapter

<Dynlabel@Label>:
    text: ctx.text

ListView:
    adapter:
        la.ListAdapter(
        data=[str(i) for i in range(10)],
        cls="Dynlabel")

yields a  TypeError: 'str' object is not callable.
While it would be handy if one of these syntaxes could be supported, it may also be wise to consider changing the API so that it's possible to instantiate a ListAdapter using "kivy magic". The KV Language could then look something like:
ListView:
    adapter:
        ListAdapter:
            data: []
            cls: Dynlabel

In any event, the documentation for ListAdapter is out of date because it references KV Lange templates, which are deprecated, and does not support dynamic classes in any way.

Hello,
I'm having a similar issue. I want to create a list in which the entries are custom widgets (not only ListItemLabel and ListItemButton).
Can someone please post an example for how to do this with Dynamic classes instead of templates?
Thanks a lot!
Joel

You need to use kivy master, but then you can just define  the dynamic class as normal and pass its name as a string to the cls parameter.
If you don't use kivy master, you can just not use a dynamic class and it's only 2 extra lines of code.

Wow! quick reply! Thank you!
By kivy master, do you mean the python file (instead of the kv file)?
Would you mind posting a simple working example? I'm just starting my way in Kivy.
Here's what I'm trying to do (I get an error that my CustomItem is not defined):
import kivy
from kivy.uix.boxlayout import BoxLayout
kivy.require('1.8.0')
from kivy.app import App
from kivy.lang import Builder
from kivy.core.window import Window
from kivy.uix.modalview import ModalView
from kivy.uix.listview import ListView
from kivy.uix.selectableview import SelectableView
kv='''
#:import lab kivy.uix.label
#:import da kivy.adapters.dictadapter
#:import CompositeListItem kivy.uix.listview.CompositeListItem
#:import ListItemButton kivy.uix.listview.ListItemButton
#:import ListItemLabel kivy.uix.listview.ListItemLabel
<CustomItem@SelectableView+BoxLayout>:
Image
source: "fruit_images/{0}.32.jpg".format(ctx.text)
BoxLayout:
ListView:
size_hint: 1,1
adapter:
da.DictAdapter(
sorted_keys=["{0}".format(i) for i in range(30)],
        data={str(i): {'text': str(i), 'is_selected': False} for i in range(30)},

        cls=CustomItem,

        selection_mode='multiple',

        args_converter=lambda row_index, rec:
        {'text': rec['text'],
        'size_hint_y': None,
        'height': 25,
        })

'''
class CustomItem(SelectableView,BoxLayout):
pass
class MyApp(App):
def build(self):
    self.root = Builder.load_string(kv)
    return self.root

if name == 'main':
MyApp().run()

Kivy master means kivy compiled from the master branch in git, rather than the stable branch 1.8.0. In that branch, you can do cls='CustomItem', to replace your current line.

Oh, I see.
The problem is I'm working on Mac, and I understand it's nearly impossible to install Kivy manually (not using the prebuilt package for OS X).
Sorry to drag you into this...
Is there some way to create lists of custom items in Kivy 1.8.0?
I'm working on a package that would be also used by other people, and I want to make their lives as easy as possible, so I have to stick to the stable Kivy release.

Just don't use a dynamic class. In fact, you already have a python class definition so replace <CustomItem@SelectableView+BoxLayout>: with just <CustomItem>.

Hi again,
I tried it, it tells me CustomItem is not defined.
Really, a simple working example would help soooo much.
import kivy
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
kivy.require('1.8.0')

from kivy.app import App
from kivy.lang import Builder
from kivy.core.window import Window
from kivy.uix.modalview import ModalView
from kivy.uix.listview import ListView
from kivy.uix.selectableview import SelectableView

kv='''
#:import lab kivy.uix.label
#:import da kivy.adapters.dictadapter
#:import CompositeListItem kivy.uix.listview.CompositeListItem
#:import ListItemButton kivy.uix.listview.ListItemButton
#:import ListItemLabel kivy.uix.listview.ListItemLabel

<CustomItem>:
    text: '.....'

BoxLayout:
    ListView:
        size_hint: 1,1
        adapter:
            da.DictAdapter(
            keys=[1,2,3],

            data={'1': {'text': '1', 'is_selected': False}, '2': {'text': '2', 'is_selected': False}, '3': {'text': '3', 'is_selected': False}},

            cls=CustomItem,

            args_converter=lambda row_index, rec:
            {'text': rec['text'],
            'size_hint_y': None,
            'height': 25,
            })

'''

class CustomItem(Label):
    pass

class MyApp(App):

    def build(self):
        self.root = Builder.load_string(kv)
        return self.root

if __name__ == '__main__':
    MyApp().run()

try  cls='CustomItem',


Meme voting

Much like NarwhalBot's memes voting system used in the MCO discord, it will react with upvotes to images in a set channel. Only this time, hearts will actually do something

e12b806a5b52da3cf3ec40a07cb4f71eb0d05e2c


Prettier options

I've always rather use lint instead of prettier because it just ends up messing some code. But if we go with prettier, let's discuss the prettier options. 😄
Here's my thoughts:
printWidth as big as possible (pray)
semi: false, if someone want's to use true, then please explain.
arrowParens: avoid
jsxBracketSameLine: true
In my limited experience with prettier, the jsx formatting is too aggressive, but I'm not sure what can be done about it.

about printWidth how about 120

My thoughts:
printWidth as small as possible, prefer 80, 120 goes too. (we always disagree on this with Taro :)
semi agree with Taro, strongly prefer false
arrowParens agree with Taro, prefer avoid
jsxBracketSameLine prefer false
Personally I prefer linting to autoformatting, but hopefully prettier isn't as buggy as it used to be so I'm willing to give it a try of course.

And I'm sure we'll have as many opinions on the exact settings as we have developers, so unless you're planning to set up a vote, just pick whatever you think works best :)

I vote for keeping prettier so we can leave out the lint part from reviews. But if you have a preference, lets 👍 👎 this comment for example.
As for the settings I'm perfectly fine with the ones mentioned. I'm used to having a 12" with split windows so tend to prefer 80 but 120 sounds perfectly fine.
If it turns out we're not happy with how it rewrites JSX we can always turn it off for jsx. A while back Gutenberg ran it's entire codebase through Prettier.

As far as ASI goes i'm fine without semicolons as long as prettier enforces the edge cases and no one needs to know them :D I've encountered at bugs at least twice from third party code where the developer didn't understand the rules of ASI. self invoking anonymous function are less of a thing nowadays though, and i think that was the bug on both my encounters.

printWidth at 120 sounds like a good compromise, i think we have used 80.
semi i prefer true for non-react code, as minifying a non semi code traditionally can break the code. ( i see it similarly to not having {} in a one liner if statement). But if js is anyway transpiler i am fine with whatever, but it feels weird not having it.
arrowParens i prefer these, as it makes it more understandable that it is a function, but i don't have a strong opinion.
jsxBracketSameLine looks better with false

The reason I'd like jsxBracketSameLine: true is that you can clearly see when where the tag ends. But I don't have that much faith in prettier JSX that I'm sure it will be bad no matter what we choose... 😄
4k monitors are becoming a standard so having 80 doesn't make any sense, imo. 🙏
If I understand correct semi: false will enforce the edge cases. People justify inserting unnecessary characters to the code just because they have gotten used to it. I'm sure Columbus felt weird when he set sail to the new world, but it turn out fine after some time (excluding the natives). 😉
If you write a lot of arrow functions, using the brackets if there is no need seems like the same case thing as the semicolons.
I think it will be fun to use prettier, let's see how it goes. 😄

But I don't have that much faith in prettier JSX that I'm sure it will be bad no matter what we choose... 😄

If it's bad we'll just turn it off :) With stencil I guess there shouldnt be much JSX anyways. Maybe storybooks?

4k monitors are becoming a standard so having 80 doesn't make any sense, imo. 🙏

This doesn't apply if you use split screen editors though. I get 85 chars per line in VSCode and 95 in vim. Haven't had an external monitor since 2009 :D

I'm sure Columbus felt weird when he set sail to the new world, but it turn out fine after some time (excluding the natives). 😉

Haha I was about to say, it turned out fine for the new europeans but there are 0 natives left in Uruguay.

If you write a lot of arrow functions, using the brackets if there is no need seems like the same case thing as the semicolons.

I'm annoyed when I have to add the parens but it would be time to finally learn these damn VSCode shortcut keys... Damn nonsensical emacs bindings.

4k monitors are becoming a standard so having 80 doesn't make any sense, imo. 🙏

I use three 4k monitors and I still very very strongly prefer having a shorter-rather-than-longer rulers.
As @oxyc said, it makes a huge difference with split editors. For my setup 80 means you can use three editors side-by-side, 120 means you can use two, and going much higher than that pretty much means you can't reliably split the editor without breaking readability.
And the worst part is that only 1% of lines really are that long, so most of your screen real estate ends up being empty :)
Agree with everyone about giving 120 a try :)


Github App Authentication Support

Summary
for github artifacts would be nice to support github app authentication , as it simple to manage access to repositories than using personal access token.
What change needs making?
Implement github jwt authentication for application in workflow/artifacts/git/git.go , "github.com/bradleyfalzon/ghinstallation" is suppose to provide the helpers to do it simply, also new parameters to the 'git' artifact will be needed as 'Private Pem Key', 'Application Id' and 'Installation Id'
Use Cases
When manage a huge number of repos from different teams is simpler to use github app to allow access from the workflow or CI/CD platform to the repos than using Personal Access Tokens, this way , is less human interaction needed
When would you use this?
to checkout code from private github repos

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

I have created a branch in a fork, it is not well done, but is working
https://github.com/marcelobartsch/argo-workflows/tree/github-apps

sample workflow
# This example demonstrates the use of a git repo as a hard-wired input artifact.
# The argo repo is cloned to its target destination at '/src' for the main container to consume.
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
  name: git-checkout-v3
spec:
  serviceAccountName: argo
  arguments:
    parameters:
      - name: project
        value: hermes
      - name: branch
        value: master
  templates:
    - name: git-clone
      inputs:
        parameters:
          - name: project
          - name: branch
        artifacts:
          - name: argo-source
            path: /src
            git:
              repo: "https://github.com/myorganization/{{ inputs.parameters.project }}.git"
              revision: "{{ inputs.parameters.branch }}"
              applicationIdSecret:
                name: github-app-access-token
                key: appId
              installationIdSecret:
                name: github-app-access-token
                key: installId
              applicationKeySecret:
                name: github-app-access-token
                key: key2
      container:
        image: hseeberger/scala-sbt:11.0.12_1.5.5_2.13.6
        command: [sh, -c]
        args: ["sbt build"]
        workingDir: /src

I like the idea of bot access... but as an aside, I think deploy keys are another access option besides personal access tokens.

the problem with deploy keys and access token, is that you need to go repositoty by repository granting access, making a bit problematic, (we manage 600 repositories owned by many people in github, some on holidays when we needed to added to our CI/CD infrastructure) with Github App, we don't need them to connect, we just allow the application to access the repo in the organization and it is done, also the number of request allowed on github is higher on apps than PAT or deployment keys (latest I'm not that sure)

GitHub App access has been supported in ArgoCD and Argo Events since 2021.
It is the preferred way to grant access to GitHub repos and should be supported by Argo Workflows for the git input artifacts.

I'd like to upvote this one. Using PATs isn't a viable solution.


[BUG] Unable to load asset: packages/youtube_player_flutter/assets/speedometer.webp

Describe the bug
As soon as the page loads, you can see the following error and stacktrace.
To Reproduce
Steps to reproduce the behavior:
Just the example code from the readme will trigger this issue for me.
Expected behavior
The video plays normally.
Technical Details:

Device: Android Emulator Pixel 3 XL
OS: Android API 28

Additional context
It might be related to the following bug, as I get the same error after trying to Play the video. Since nobody posted the stacktrace, I have to assume they are non related, but could be.
https://github.com/sarbagyastha/youtube_player_flutter/issues/120
E/flutter ( 9723): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(error, java.lang.IllegalStateException: Trying to create a platform view of unregistered type: plugins.flutter.io/webview
E/flutter ( 9723): 	at io.flutter.plugin.platform.PlatformViewsController$1.createPlatformView(PlatformViewsController.java:91)
E/flutter ( 9723): 	at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.create(PlatformViewsChannel.java:96)
E/flutter ( 9723): 	at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.onMethodCall(PlatformViewsChannel.java:60)
E/flutter ( 9723): 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:231)
E/flutter ( 9723): 	at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:93)
E/flutter ( 9723): 	at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:642)
E/flutter ( 9723): 	at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter ( 9723): 	at android.os.MessageQueue.next(MessageQueue.java:326)
E/flutter ( 9723): 	at android.os.Looper.loop(Looper.java:160)
E/flutter ( 9723): 	at android.app.ActivityThread.main(ActivityThread.java:6669)
E/flutter ( 9723): 	at java.lang.reflect.Method.invoke(Native Method)
E/flutter ( 9723): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E/flutter ( 9723): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
E/flutter ( 9723): , null)
E/flutter ( 9723): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:569:7)
E/flutter ( 9723): #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:321:33)
E/flutter ( 9723): <asynchronous suspension>
E/flutter ( 9723): #2      AndroidViewController._create (package:flutter/src/services/platform_views.dart:640:54)
E/flutter ( 9723): #3      AndroidViewController.setSize (package:flutter/src/services/platform_views.dart:557:14)
E/flutter ( 9723): #4      RenderAndroidView._sizePlatformView (package:flutter/src/rendering/platform_view.dart:174:29)
E/flutter ( 9723): #5      RenderAndroidView.performResize (package:flutter/src/rendering/platform_view.dart:155:5)
E/flutter ( 9723): #6      RenderObject.layout (package:flutter/src/rendering/object.dart:1703:9)
E/flutter ( 9723): #7      RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter ( 9723): #8      RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 9723): #9      RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter ( 9723): #10     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 9723): #11     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter ( 9723): #12     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 9723): #13     RenderStack.performLayout (package:flutter/src/rendering/stack.dart:505:15)
E/flutter ( 9723): #14     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 9723): #15     RenderAspectRatio.performLayout (package:flutter/src/rendering/proxy_box.dart:520:13)
E/flutter ( 9723): #16     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 9723): #17     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter ( 9723): #18     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 9723): #19     RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:259:13)
E/flutter ( 9723): #20     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 9723): #21     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter ( 9723): #22     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 9723): #23     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter ( 9723): #24     _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1232:11)
E/flutter ( 9723): #25     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 9723): #26     RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:206:11)
E/flutter ( 9723): #27     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 9723): #28     RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:744:15)
E/flutter ( 9723): #29     RenderObject.layout (package:flutter/src/rendering/object.dart:1724:7)
E/flutter ( 9723): #30     RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:206:11)
E/flutter ( 9723): #31     RenderObject.layout (package

════════ Exception caught by image resource service ════════════════════════════════════════════════
The following assertion was thrown resolving an image codec:
Unable to load asset: packages/youtube_player_flutter/assets/speedometer.webp

When the exception was thrown, this was the stack:
#0      PlatformAssetBundle.load (package:flutter/src/services/asset_bundle.dart:221:7)
<asynchronous suspension>
#1      AssetBundleImageProvider._loadAsync (package:flutter/src/painting/image_provider.dart:484:44)
#2      AssetBundleImageProvider.load (package:flutter/src/painting/image_provider.dart:469:14)
#3      ImageProvider.resolve.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:flutter/src/painting/image_provider.dart:327:17)
...
Image provider: AssetImage(bundle: null, name: "packages/youtube_player_flutter/assets/speedometer.webp")
Image key: AssetBundleImageKey(bundle: PlatformAssetBundle#a0ccc(), name: "packages/youtube_player_flutter/assets/speedometer.webp", scale: 1.0)

I think this was happening because I forgot to clean and build again. Working fine now, sorry.

Just run this command.
flutter clean && flutter run
it will solve your problem


Transferring multiple files to phones with no unarchiver

I'm opening this issue because:

[ ] I have found a bug

[X] I want to request a feature

[ ] I have a question

[ ] Other

My Go version is: (paste the output of go version and remember that qrcp requires at least version 1.8 of Go)

go version go1.14.2 linux/amd64

My GOPATH is set to: (paste the output of echo $GOPATH)

/home/skuzzymiglet/go
Zipping multiple files is a great feature but some really basic phones (KaiOS afaik) can't really extract zip files. I think it would be good to have a command-line option not to zip the files, such as --no-zip. I'm happy to make a PR if this isn't implemented yet

Implementations:

Multiple QR codes
Serving a very barebones html pages with x download links

Hello @skuzzymiglet, thanks for proposing, I didn't consider the scenario where the user is missing an unarchiver app on the phone, you make a very good point.
About the possible implementations, I would exclude multiple QR codes.
What I am thinking:

sequential serving: once the first file in queue has been downloaded, the next one immediately starts without user intervention
serving an html pages with download links as you suggest

The first option is fast and provides very nice user experience, the second may require a lot of clicks if many files are to be transferred. The second option could be also useful for implementing an "Directory Listing" feature, though it might be a bit out of scope.
What do you think?

Yeah, true, html links are clunky (compared to just files) and the KaiOS browser is terrible with links, and directory listing is something for syncthing and the like, and not for a simple tool like this. I'm happy to help with sequential serving, it seems simple.

Hey @claudiodangelis, I created a PR to add this feature, could you review it?

I think the logic can be simplified so that we don't even need a flag for the sequential: sequential becomes the default, and "zip" overrides the default.
The logic would be something like this fake code:
payloads := getFromArgs(args)
if argsContainDir() || zipFlag {
    archive := zip.CreateFromArgs(args)
    payloads = []payload.Payload{archive.Filename}
}
// The Send method should now accept []payload.Payload
srv.Send(payloads)

In the following examples, "a" and "b" are files, "d" is a directory, and they assume that every argument is passed as an "payloads" slice, and qrcp sends each file by looping through the slice.

n
Args
Contains dir?
Zip flag
Logic
Outcome

1
a
false
false
all arguments packed into a slice
"a" is sent

2
a
false
true
all arguments are zipped,  slice only contains resulting zip
zipped file is sent

3
a,b
false
false
same logic of n 1
"a" is sent, "b" is sent

4
a,b
false
true
same logic of n 2
zipped file is sent

5
d
true
false
same logic of n 2
zipped file is sent

6
d
true
true
same logic of n 2
zipped file is sent

6
a,d
true
false
same logic of n 2
zipped file is sent

7
a,d
true
true
same logic of n 2
zipped file is sent

Makes sense? Thanks for your effort on this.

Seems quite logical actually, more natural (to go with Cobra's ideas). Once the srv accepts a slice, I'll implement that

Hey @claudiodangelis, can srv accept a slice yet? If it does, I'll update my fork

Hello @skuzzymiglet, refactoring that to accept a slice may take some time, as the "send" logic must be refactored as well to implement the loop.

Hey Claudio, I think I'll continue implementing this today or tomorrow. I'll just do the plain -s first, then I'll start implenenting your interface idea (with a loop). Whenever Serve takes slice I'll refactor accordingly

Sounds good, thanks for your help. I may be unresponsive for the next few days.
Claudio

Hello Claudio,
I'm not sure this pull request would help. Most phones have unarchivers nowadays. I'm happy for others to finish of though


Replace Github calls with VCS

Complements https://github.com/travis-ci/travis-vcs/pull/20

Closing in favor of https://github.com/travis-ci/travis-tasks/pull/200


[Feature request] Set movieDB and seriesDB in the environment

Idea
Hi,
is it possible to set

movieDB=TheMovieDB
seriesDB=TheTVDB

in the environment or is this the default setting?
If not then this could be an improvement to add this option.

You should be able to set these parameters via the AMC_CUSTOM_OPTIONS environment variable.  For example, AMC_CUSTOM_OPTIONS=--def movieDB=TheMovieDB.

yes this is possible but not possible down the line farther with
--def movieDB=TheMovieDB seriesDB=TheMovieDB::TV
the : mess up the yaml unless its in " " but that has to be supported on the back end of the Dockerfile

thanks. I for the info. I will close this ticket


Refactor and slightly optimize metrics.scores

Some small stuff.

Sorry, but the request still references your old commit. Could you place the change on top of it or resubmit the request? =)

Morten -- is there a reason we can't merge this?

It imports izip but doesn't use it. Author made a fix, but the commit doesn't reference it. I'll just do it manually!

dcdf5095c364caa7b3c507c52693780f22d80085 merges 8eeac2779b13b339ef8318878ad02d3b445f2fbf and uses izip


NG generate command messing up the declarations array of the concerned module

Bug Report or Feature Request (mark with an x)
- [ X ] bug report

Command (mark with an x)
- [ X ] generate

Versions

λ node --version
v8.11.3

λ npm --version
5.6.0

Angular CLI: 6.0.8
Node: 8.11.3
OS: win32 x64
Angular: 6.0.6
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

Package                            Version
------------------------------------------------------------
@angular-devkit/architect          0.6.8
@angular-devkit/build-angular      0.6.8
@angular-devkit/build-optimizer    0.6.8
@angular-devkit/core               0.6.8
@angular-devkit/schematics         0.6.8
@angular/cdk                       6.3.0
@angular/cli                       6.0.8
@angular/flex-layout               6.0.0-beta.16
@angular/material                  6.3.0
@angular/material-moment-adapter   6.3.0
@ngtools/webpack                   6.0.8
@schematics/angular                0.6.8
@schematics/update                 0.6.8
rxjs                               6.2.1
typescript                         2.7.2
webpack                            4.8.3

Repro steps

generate a component into a module
The component is appended to the list of declarations, but it splits the previous one. For instance,

declarations:[AComponent],
λ ng g c b-component
declarations: [Acompone, BComponentnt]

Here is a visual representation, made just now.

The log given by the failure

No logs because no failure. The failure happens at build time, since the components cannot be found.
Desired functionality
That it works
Mention any other details that might be useful
The project being industrial, I am not allowed to share it publicly. But if a person from the Angular team can't reproduce the issue, I imagine I can send a zipped version to him (if it is project-related)

If it is not happening in the latest version. Most likely it was solved in a newer release.
If the problem persists, please open a new issue, provide a simple repository reproducing the problem, and describe the difference between the expected and current behavior.