Presenting a template and then popping it crashes the app

When attempting to pop the current template with code similar the what is shown below, the entire application crashes.
This same issue is present in the example app within this repo.
Example:
useEffect(() => {
    const grid = new GridTemplate({
      buttons: [
        { id: 'foo', titleVariants: ['foo'], image<EMAIL_ADDRESS>}
      ],
      onButtonPressed: (e) => {
        const alertTemplate = new AlertTemplate({
            titleVariants: ['alert test'],
            backButton: true, // this doesn't do anything?
            actions: [
              { id: 'bar', title: 'bar' }
            ],
            onActionButtonPressed: (id) => {
			  	// This crashes the app
				CarPlay.popTemplate(true);
            }
          });

        CarPlay.presentTemplate(alertTemplate);
      }
})

I've managed to get this working with dismissTemplate() but calling popTemplate() for other templates still crashes

Will be fixed by https://github.com/birkir/react-native-carplay/pull/33

Please re-open if still a problem. Should be fixed with 2.0.0


http.client.RemoteDisconnected: Remote end closed connection without response

Daze close the conn to client too quickly when the server response and than end the conn. So the client will lose the last message data from the server.

Only affect some rpc servers


[bug] static type check failed

https://github.com/hmasdev/langchain_werewolf/actions/runs/12021265822/job/33511440595

When default_factory is specified,  ... is not required in pydantic.Filed.


SharePoint Templates - Home Site templates

In the 'Choose solution components' section it mentions 'Home sites' as a SharePoint site option.  Could not find such a template option in the SharePoint admin center when going to create a site.  It would be nice for this to be updated to reflect options in the SharePoint admin center portal.

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

ID: 01638ec5-b81c-f3ce-9c79-020f31f5c051
Version Independent ID: fef6293d-ce0f-1471-8e2d-c294a752a553
Content: Plan an intelligent SharePoint intranet - SharePoint Online
Content Source: SharePoint/SharePointOnline/plan-intranet.md
Service: sharepoint-online
GitHub Login: @MikePlumleyMSFT
Microsoft Alias: mikeplum

@m-mygithub  Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@m-mygithub you can find information about home sites in Set up a home site for your organization. I'll add a link to the article.

@m-mygithub Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


Unloading Redshift data to a S3 in another account

[Problem]
A Spark cluster in account B was trying to use the library to unload the data from a RedShift cluster in account A with a tempDir S3 bucket specified in account B. Got the following exception, ApplicationMaster: User class threw exception: com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied.
It seems like it is the problem that the Redshift sets ACL on the loaded data to account A, and Spark later access the data in S3 using the credential from account B.
Is that any way to work around that?

Same issue here.

Did you get solution for this ? I had same issue ?

[Problem]
A Spark cluster in account B was trying to use the library to unload the data from a RedShift cluster in account A with a tempDir S3 bucket specified in account B. Got the following exception, ApplicationMaster: User class threw exception: com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied.
It seems like it is the problem that the Redshift sets ACL on the loaded data to account A, and Spark later access the data in S3 using the credential from account B.
Is that any way to work around that?

Facing same issue ! do we have any solution for this?


[QUERY] Why is key auth authentication slow in Azure?

Library name and version
Azure.Identity <IP_ADDRESS>
Query/Question
We are running microservices in AKS and these services need to connect to Azure Key Vault to retrieve secrets. However, I am seeing excessive latency around the AD calls to make this work.
I setup the SecretClient like this:
var kvClient = new SecretClient(new Uri(url), new ClientSecretCredential(tenantId, clientId, clientSecret));

but when calling a method which access the key vault, I see times like these:

It all works OK but just seems a very slow and clunky way of accessing something when I am passing clientid and secret directly to the key vault client. Sometimes it is quick but this extra dependency would really hurt performance at scale. Is this just something that happens once or could it happen each time we make a call to the key vault?
Environment
Microservices are dotnet core 3.1 running on AKS v 1.21.9

Hi @lukos  - What you are seeing is most likely delay from AAD itself, rather than something the client is doing. However, the token should be cached for all subsequent requests. Please let us know if that is not the case.

I'm seeing quite a lot of variation but still getting 100ms response times from the key vault, which isn't amazing (I am fetching secrets, not keys). In comparison, calls to an Azure database are between 2 and 12ms.
Due to the level of traffic, I think I might just re-architect it to store the secrets in the DB and forgo the key vault completely. I might also try some short-term caching but since these are DKIM keys, they can be updated in a non-deterministic way so I won't be able to cache them for too long.

Hi @lukos That makes sense. According to the Key Vault documentation, caching is recommended rather than using it as a real-time database.


Show nicer error message when trying to develop apps in Safari

Today we don't support building apps in Safari due to https://github.com/stripe/stripe-apps/issues/146, but we actually don't tell our users.
Example of what it looks like for a user (reported to us):

Solution
We should show a nicer error message educating developers about the issue, and point them to Google Chrome.
Proposal copy: Stripe Apps does not support development in Safari at the moment. We recommend you using a Chromium based browser to build Stripe Apps.
Once we fix https://github.com/stripe/stripe-apps/issues/146 we will remove this message.

https://mail.google.com/mail/u/2/#search/from%3Anotifications%40stripe.com/FMfcgzGxSRPjQzRtbgwJrRzpntszQChQ


Preventing from SQL injections

Hello,
i want to open a debate for preventing from SQL injections,

What we have in the package for prevention/filtering?
Should gorm handle prevention?
if so, what should be done in the gorm?
How to implement the features? (if required)

@vhakulinen yes, it will escape queries to avoid SQL injection

Sorry to resurrect a dead thread but I've just started using a project based on this and picked up on escaping. Reading the source code, it seems like Gorm does not do correct escaping at all.
The DB.Quote() methods says it "escapes" but in practice it does two incorrect things (as far as I can see):

it assumes strings with period are identifiers and quotes segments separately (what about a random string with periods in like... a sentence or two?
the actual "escape" is done by dialect which defaults to just wrapping the input with double quotes which is not "escaping" at all. For example if the literal before calling Quote is hello"; DROP TABLE users; only the hello part will be the final literal and injection is possible

Further, at least with Postgres, the "safe" mechanism with placeholders, seems to do the same thing:

Partial self-correction:
It seems that prepared bindings are safe at least e.g. Postgres https://github.com/jinzhu/gorm/blob/master/dialect_postgres.go#L23.
What confused me above is that db.LogMode(true) seems to be printing a collapsed version of the SQL which is incorrectly escaped while sending a properly prepared statement to postgres.
The db.Quote method seems from internal use to only be intended for quoting identifiers in which case I'm wrong that it's incorrect, however the docs clearly say it's for "escaping strings" which is incorrect as it's only useful for identifiers AND assumes they are already well-formed identifiers. It's still unsafe to pass user input through this even as an identifier it seems.

The single quote issue described by @banks is quite confusing, the LogMode should print debug-ready queries that could be copy-pasted into DB management tool or used as raw SQL elsewhere.

SELECT COUNT(DISTINCT bar) FROM "foobar"  WHERE (foo = 'don't')

@banks I was struggling with a similar problem yesterday. For escaping single quotes we do escape the input manually for postgres (the only backend we're running on):
func sanitize(text string) string {
	return strings.NewReplacer("'", "''" /*We have more here*/).Replace(text)
}

foo := "don't"
db = opts.DB.Begin().
	Table("foobar").
	Select("COUNT(DISTINCT bar)").
	Where("foo = ?", sanitize(foo)).
	Count(&total).
	Commit()

Should generate:
SELECT COUNT(DISTINCT bar) FROM "foobar"  WHERE (foo = 'don''t')

@cihangir
For html escaping im using something as the code below. Im guessing this could be integrated also into the library
type User struct {
Id			sql.NullInt64	gorm:"column:id;primary_key;"
Email      	string 			gorm:"column:email;unique_index;type:varchar(100)" json:"email" escape:""
}
func (u *User) BeforeCreate() (err error) {
return Sanitize(u)
}
func (u *User) BeforeUpdate() (err error) {
return Sanitize(u)
}
func Sanitize(obj interface{}) error {
t := reflect.TypeOf(obj).Elem()
v := reflect.ValueOf(obj).Elem()

for i := 0; i < t.NumField(); i++ {

	field := t.Field(i)

	if _, ok := field.Tag.Lookup("escape"); ok {
		switch v.Field(i).Interface().(type) {
		case string:
			v.Field(i).SetString(html.EscapeString(v.Field(i).String()))
		}
	}
}
return nil

}
If you want something more generic you can have also ...
func HtmlEscape(scope *gorm.Scope) {
Sanitize(scope.Value)
}
db.Callback().Create().Before("gorm:create").Register("html_escaper", HtmlEscape)
db.Callback().Create().Before("gorm:update").Register("html_escaper", HtmlEscape)


CLOUDSTACK-8598. CS reports migration as successful but the volume is…

… not migrated in vCenter.
During migration, CS should do an exact disk match between volume path and vCenter disk name.

you closed this in favor of #543 ?

Yes, since migration is only one of the many affected operations, it seemed appropriate to merge it with https://github.com/apache/cloudstack/pull/543.


Support the HEAD and OS/2 tables

Something for someone more experienced with byte wizardry can do

HEAD: https://www.microsoft.com/typography/otspec/head.htm
OS/2: https://www.microsoft.com/typography/otspec/os2.htm

I had some nice experiences when dealing with binary data using scodec.

This project is based off of its custom ByteAllocator, mainly because it fits the project snugly. However, there should be enough example code for tables to figure out the transition from scodec to this system :)

This has been implemented


D8 test module doesn't work in VM

I have created one very simple Drupal 8 module and I tested it on D8 instance (outside VM) and I was able to access the page with bunch of links.
I wanted to run xhprof on another D8 instance inside VM using the same Drupal 8 module but when I tried to access the page, I got "page not found". My test module is https://github.com/Kalpana-Goel/D8-Test-Module. Can you please look into this and share your thoughts as why this may not be working in drupal-vm?

@Kalpana-Goel - where did you place the test module?
With the default setup and shared folders, you would want to place your 'links' folder in the D8-Test-Module into the following directory on your host machine: ~/Sites/drupalvm/drupal/modules/
You would then have the info.yml file at ~/Sites/drupalvm/drupal/modules/links/links.info.yml.


Improve detection of symbol types for imports

The symbol index walker doesn't distinguish imports of modules from imports of classes, variables, functions, etc. This is information that would be good to have but would require one of the following (or similar):

Provide indexed info from the analyzer for analyzed files.

Wouldn't be possible as-is, since LSP provides no method to update symbol information; it's request only.

Add more to the walker to perform imports and check referenced files for their symbols.

Seems complicated, would need to build a dependency graph and order the analysis; no longer a pure function.

Alternatively, we could just not treat imported things as symbols at all; this would match the TypeScript outline, which does not include imports.

Or just don't return imports in the outline at all. They don't really help navigate the file, which is the point (perhaps a false symbol just labelled "Imports"?)

Using a fake symbol to collect them is a great idea.


Consider Pure Ruby zlib for benchmarks?

Here's a link to the project. I think this might make a good target for binary file manipulation benchmarks.
I'll work on writing a benchmark and send a PR.

This does look promising. I'm curious to see how we perform and take a look at the stats!

IIRC we tried pr-zlib in TruffleRuby a long time ago. It was a lot slower than the C extension (IIRC).
https://github.com/djberg96/pr-zlib/blob/main/lib/pr/rbzlib.rb looks like a fairly direct translation from C to Ruby, so I guess it's obvious but this is not typical Ruby code. It's probably not particularly optimized either.
I think that code is not really representative of Ruby code in general and optimizing it probably has little effect on production/real-world Ruby code (because it's unlikely to be used instead of the C extension).
It's just my opinion, do as you wish.
It might be quite interesting to run it, compare and get some stats though.

I've also been meaning to ask you: in terms of binary file I/O, reading/writing different integer types, what is your preferred method to do that in Ruby, and is this something you've optimized in TruffleRuby?

I think Array#pack & String#unpack are the typical way to deal with binary data in Ruby.
These are optimized as their own mini-language in TruffleRuby, specifically we create small ASTs for them and partial evaluate them. Chris talked about this in this video.
BTW TruffleRuby does the same for Kernel#sprintf, which is in that regard very similar to Array#pack (but producing textual instead of binary representation).
Looking at https://github.com/oracle/truffleruby/tree/master/bench:

chunky_png uses quite a few pack&unpack. There is already https://github.com/Shopify/yjit-bench/blob/main/benchmarks/chunky-png/benchmark.rb but I'm not sure if that uses pack much or not, would be interesting to check.
This example using chunky_png is using setbyte heavily from this profile. It'd be good to see if these setbyte are also part of the yjit-bench chunky_png benchmark.
image-demo is a benchmark ported from a PyPy benchmark, it uses some .pack('C*'). It's quite interesting how much a JIT can optimize it, but probably not very representative of real Ruby code.
optcarrot uses a few pack & unpack as well, but only if using actual audio or video. The SDL2 video driver uses FFI::Pointer#write_array_of_uint32 which seems also related to binary data (but that's probably implemented using a native extension for CRuby).
psd.rb does some pack & unpack, not sure how perf-sensitive it is but I'd think psd.rb is very related to binary data handling and would be a good benchmark addition.
rack seems to do some unpack("m*") and unpack("C*")
From https://github.com/Shopify/yjit-bench/pull/269#issuecomment-1898345106, there is a raytracer benchmark at https://github.com/edin/raytracer which uses String#[]= a lot

$ git grep -P '\b(un)?pack\b' bench/
bench/chunky_png/chunky-decode-png-image-pass.rb:56:pixel = [PIXEL].pack("N")
bench/chunky_png/chunky-decode-png-image-pass.rb:57:scan_line = [ChunkyPNG::FILTER_NONE].pack("c") + (pixel * WIDTH)
bench/chunky_png/chunky_png/lib/chunky_png/canvas/data_url_exporting.rb:11:        ['data:image/png;base64,', to_blob].pack('A*m').gsub(/\n/, '')
bench/chunky_png/chunky_png/lib/chunky_png/canvas/data_url_importing.rb:14:          from_blob($1.unpack('m').first)
bench/chunky_png/chunky_png/lib/chunky_png/canvas/png_decoding.rb:255:        stream.unpack("@#{pos + 1}N#{width}")
bench/chunky_png/chunky_png/lib/chunky_png/canvas/png_decoding.rb:263:        stream.unpack("@#{pos + 1}n#{width * 4}").each_slice(4) do |r, g, b, a|
bench/chunky_png/chunky_png/lib/chunky_png/canvas/png_decoding.rb:274:        stream.unpack("@#{pos + 1}" << ('NX' * width)).map { |c| c | 0x000000ff }
bench/chunky_png/chunky_png/lib/chunky_png/canvas/png_decoding.rb:282:        stream.unpack("@#{pos + 1}n#{width * 3}").each_slice(3) do |r, g, b|
bench/chunky_png/chunky_png/lib/chunky_png/canvas/png_decoding.rb:300:        stream.unpack("@#{pos + 1}n#{width * 2}").each_slice(2) do |g, a|
bench/chunky_png/chunky_png/lib/chunky_png/canvas/png_decoding.rb:347:        values = stream.unpack("@#{pos + 1}n#{width}")
bench/chunky_png/chunky_png/lib/chunky_png/canvas/png_encoding.rb:237:        pixels.pack('x' + ('NX' * width))
bench/chunky_png/chunky_png/lib/chunky_png/canvas/png_encoding.rb:244:        pixels.pack("xN#{width}")
bench/chunky_png/chunky_png/lib/chunky_png/canvas/png_encoding.rb:262:        chars.pack('xC*')
bench/chunky_png/chunky_png/lib/chunky_png/canvas/png_encoding.rb:276:        chars.pack('xC*')
bench/chunky_png/chunky_png/lib/chunky_png/canvas/png_encoding.rb:287:        chars.pack('xC*')
bench/chunky_png/chunky_png/lib/chunky_png/canvas/png_encoding.rb:294:        pixels.map { |p| encoding_palette.index(p) }.pack("xC#{width}")
bench/chunky_png/chunky_png/lib/chunky_png/canvas/png_encoding.rb:312:        chars.pack('xC*')
bench/chunky_png/chunky_png/lib/chunky_png/canvas/png_encoding.rb:326:        chars.pack('xC*')
bench/chunky_png/chunky_png/lib/chunky_png/canvas/png_encoding.rb:337:        chars.pack('xC*')
bench/chunky_png/chunky_png/lib/chunky_png/canvas/png_encoding.rb:344:        pixels.map { |p| p >> 8 }.pack("xC#{width}")
bench/chunky_png/chunky_png/lib/chunky_png/canvas/png_encoding.rb:351:        pixels.pack("xn#{width}")
bench/chunky_png/chunky_png/lib/chunky_png/canvas/stream_exporting.rb:15:        pixels.pack('N*')
bench/chunky_png/chunky_png/lib/chunky_png/canvas/stream_exporting.rb:26:        pixels.pack('NX' * pixels.length)
bench/chunky_png/chunky_png/lib/chunky_png/canvas/stream_exporting.rb:33:        pixels.pack('C*')
bench/chunky_png/chunky_png/lib/chunky_png/canvas/stream_exporting.rb:43:        pixels.pack('nX' * pixels.length)
bench/chunky_png/chunky_png/lib/chunky_png/canvas/stream_exporting.rb:54:        pixels.pack('V*')
bench/chunky_png/chunky_png/lib/chunky_png/canvas/stream_importing.rb:22:        pixels = string.unpack(unpacker).map { |color| color | 0x000000ff }
bench/chunky_png/chunky_png/lib/chunky_png/canvas/stream_importing.rb:39:        self.new(width, height, string.unpack("N*"))
bench/chunky_png/chunky_png/lib/chunky_png/canvas/stream_importing.rb:56:        pixels = string.unpack("@1" << ('XV' * (width * height))).map { |color| color | 0x000000ff }
bench/chunky_png/chunky_png/lib/chunky_png/canvas/stream_importing.rb:73:        self.new(width, height, string.unpack("V*"))
bench/chunky_png/chunky_png/lib/chunky_png/chunk.rb:22:      length, type = io.read(8).unpack('Na4')
bench/chunky_png/chunky_png/lib/chunky_png/chunk.rb:24:      crc          = io.read(4).unpack('N').first
bench/chunky_png/chunky_png/lib/chunky_png/chunk.rb:69:        io << [content.length].pack('N') << type << content
bench/chunky_png/chunky_png/lib/chunky_png/chunk.rb:70:        io << [Zlib.crc32(content, Zlib.crc32(type))].pack('N')
bench/chunky_png/chunky_png/lib/chunky_png/chunk.rb:134:        fields = content.unpack('NNC5')
bench/chunky_png/chunky_png/lib/chunky_png/chunk.rb:143:        [width, height, depth, color, compression, filtering, interlace].pack('NNC5')
bench/chunky_png/chunky_png/lib/chunky_png/chunk.rb:198:        content.unpack('C*')
bench/chunky_png/chunky_png/lib/chunky_png/chunk.rb:207:        values = content.unpack('nnn').map { |c| ChunkyPNG::Canvas.send(:"decode_png_resample_#{bit_depth}bit_value", c) }
bench/chunky_png/chunky_png/lib/chunky_png/chunk.rb:217:        value = ChunkyPNG::Canvas.send(:"decode_png_resample_#{bit_depth}bit_value", content.unpack('n')[0])
bench/chunky_png/chunky_png/lib/chunky_png/chunk.rb:258:        keyword, value = content.unpack('Z*a*')
bench/chunky_png/chunky_png/lib/chunky_png/chunk.rb:267:        [keyword, value].pack('Z*a*')
bench/chunky_png/chunky_png/lib/chunky_png/chunk.rb:287:        keyword, compression, value = content.unpack('Z*Ca*')
bench/chunky_png/chunky_png/lib/chunky_png/chunk.rb:297:        [keyword, ChunkyPNG::COMPRESSION_DEFAULT, Zlib::Deflate.deflate(value)].pack('Z*Ca*')
bench/chunky_png/chunky_png/lib/chunky_png/color.rb:141:      rgb(*stream.unpack("@#{pos}C3"))
bench/chunky_png/chunky_png/lib/chunky_png/color.rb:151:      rgba(*stream.unpack("@#{pos}C4"))
bench/chunky_png/chunky_png/lib/chunky_png/datastream.rb:14:    SIGNATURE = ChunkyPNG.force_binary([137, 80, 78, 71, 13, 10, 26, 10].pack('C8'))
bench/chunky_png/chunky_png/lib/chunky_png/palette.rb:42:      palatte_bytes = palette_chunk.content.unpack('C*')
bench/chunky_png/chunky_png/lib/chunky_png/palette.rb:44:        alpha_channel = transparency_chunk.content.unpack('C*')
bench/chunky_png/chunky_png/lib/chunky_png/palette.rb:151:      ChunkyPNG::Chunk::Transparency.new('tRNS', map { |c| ChunkyPNG::Color.a(c) }.pack('C*'))
bench/chunky_png/chunky_png/lib/chunky_png/palette.rb:172:      ChunkyPNG::Chunk::Palette.new('PLTE', colors.pack('C*'))
bench/chunky_png/chunky_png/lib/chunky_png/rmagick.rb:39:      image.import_pixels(0,0, canvas.width, canvas.height, 'RGBA', canvas.pixels.pack('N*'))
bench/image-demo/lib/io.rb:26:      #@color_data = Array.new(img.width * img.height / 2, 127).pack("C*")
bench/image-demo/lib/noborder.rb:66:    f.write @data.pack('C*')
bench/image-demo/lib/noborder.rb:97:    f.write @data[(@width+1)...(-@width-1)].pack('C*')
bench/micro/array/pack.rb:11:benchmark 'core-array-pack-little-C' do
bench/micro/array/pack.rb:12:  little_array_of_bytes.pack('C*')
bench/micro/array/pack.rb:17:benchmark 'core-array-pack-big-C' do
bench/micro/array/pack.rb:18:  big_array_of_bytes.pack('C*')
bench/micro/string/equal.rb:13:  Array.new(n, 'a'.ord).pack('C*')
bench/micro/string/index.rb:13:  Array.new(n, 'a'.ord).pack('C*')
bench/optcarrot/lib/optcarrot/driver/ao_audio.rb:58:      buff = output.pack(@pack_format)
bench/optcarrot/lib/optcarrot/driver/gif_video.rb:15:      @f << header.pack("A*vvC*")
bench/optcarrot/lib/optcarrot/driver/gif_video.rb:18:      @f << [0x21, 0xff, 0x0b, "NETSCAPE", "2.0", 0x03, 0x01, 0x00, 0x00].pack("C3A8A3CCvC")
bench/optcarrot/lib/optcarrot/driver/gif_video.rb:21:      @header = [0x21, 0xf9, 0x04, 0x00, 1, 255, 0x00].pack("C4vCC")
bench/optcarrot/lib/optcarrot/driver/gif_video.rb:22:      @header << [0x2c, 0, 0, WIDTH, HEIGHT, 0, 8].pack("Cv4C*")
bench/optcarrot/lib/optcarrot/driver/gif_video.rb:27:      @f << [0x3b].pack("C")
bench/optcarrot/lib/optcarrot/driver/gif_video.rb:64:      buff = [buff].pack("b*")
bench/optcarrot/lib/optcarrot/driver/gif_video.rb:66:      buff = buff.gsub(/.{1,255}/m) { [$&.size].pack("C") + $& } + [0].pack("C")
bench/optcarrot/lib/optcarrot/driver/misc.rb:108:      return width, height, pixels.write_bytes(dat.pack("V*"))
bench/optcarrot/lib/optcarrot/driver/png_video.rb:39:          chunk("IHDR", [@width, @height, 8, 2, 0, 0, 0].pack("NNCCCCC")),
bench/optcarrot/lib/optcarrot/driver/png_video.rb:46:        [data.bytesize, type, data, crc32(type + data)].pack("NA4A*N")
bench/optcarrot/lib/optcarrot/driver/png_video.rb:54:        code = [0x78, 0x9c].pack("C2") # Zlib header (RFC 1950)
bench/optcarrot/lib/optcarrot/driver/png_video.rb:58:          code << [data.empty? ? 1 : 0, s.size, ~s.size, *s].pack("CvvC*")
bench/optcarrot/lib/optcarrot/driver/png_video.rb:60:        code << [b % ADLER_MOD, a % ADLER_MOD].pack("nn") # Adler-32 (RFC 1950)
bench/optcarrot/lib/optcarrot/driver/sdl2.rb:42:      case pixels.read_bytes(4).unpack("C*")
bench/optcarrot/lib/optcarrot/driver/sdl2.rb:122:      case pixels.read_bytes(2).unpack("C*")
bench/optcarrot/lib/optcarrot/driver/sdl2_audio.rb:38:      buff = output.pack(@pack_format)
bench/optcarrot/lib/optcarrot/driver/sfml_audio.rb:24:      @buff << output.pack("v*".freeze)
bench/optcarrot/lib/optcarrot/driver/wav_audio.rb:9:      buff = @buff.pack(@pack_format)
bench/optcarrot/lib/optcarrot/driver/wav_audio.rb:13:      ].pack("A4VA4A4VvvVVvvA4VA*")
bench/optcarrot/lib/optcarrot/nes.rb:61:      puts "checksum: #{ @ppu.output_pixels.pack("C*").sum }" if @conf.print_video_checksum && @video.class == Video
bench/optcarrot/lib/optcarrot/rom.rb:16:        sig, _, flags, comp, _, _, _, data_len, _, fn_len, ext_len = bin.slice!(0, 30).unpack("a4v5V3v2")
bench/optcarrot/lib/optcarrot/rom.rb:140:      File.binwrite(sav, @wrk.pack("C*"))
bench/optcarrot/tools/shim.rb:77:unless [].respond_to?(:pack) && [33, 33].pack("C*") == "!!"
bench/optcarrot/tools/shim.rb:78:  $stderr.puts "[shim] Array#pack"
bench/optcarrot/tools/shim.rb:80:    alias pack_orig pack if [].respond_to?(:pack)
bench/optcarrot/tools/shim.rb:81:    def pack(fmt)
bench/optcarrot/tools/shim.rb:146:  if "".respond_to?(:unpack)
bench/optcarrot/tools/shim.rb:147:    $stderr.puts "[shim] String#bytes (by using unpack)"
bench/optcarrot/tools/shim.rb:151:        unpack("C*")
bench/optcarrot/tools/shim.rb:190:    def unpack(fmt)
bench/psd.rb/psd.rb/lib/psd/file.rb:5:    # All of the formats and their pack codes that we want to be able to convert into
bench/psd.rb/psd.rb/lib/psd/file.rb:44:        read(info[:length]).unpack(info[:code])[0]
bench/psd.rb/psd.rb/lib/psd/file.rb:48:        write [val].pack(info[:code])
bench/psd.rb/psd.rb/lib/psd/file.rb:55:      read(1).unpack('c*')[0].to_f +
bench/psd.rb/psd.rb/lib/psd/file.rb:56:        (read(3).unpack('B*')[0].to_i(2).to_f / (2 ** 24)).to_f # pre-decimal point
bench/psd.rb/psd.rb/lib/psd/file.rb:60:      write [num.to_i].pack('C')
bench/psd.rb/psd.rb/lib/psd/file.rb:67:      write [binary_numerator >> 16].pack('C')
bench/psd.rb/psd.rb/lib/psd/file.rb:68:      write [binary_numerator >> 8].pack('C')
bench/psd.rb/psd.rb/lib/psd/file.rb:69:      write [binary_numerator >> 0].pack('C')
bench/psd.rb/psd.rb/lib/psd/layer/blending_ranges.rb:46:        outfile.write @blending_ranges[:grey][:source][:black].pack('CC')
bench/psd.rb/psd.rb/lib/psd/layer/blending_ranges.rb:47:        outfile.write @blending_ranges[:grey][:source][:white].pack('CC')
bench/psd.rb/psd.rb/lib/psd/layer/blending_ranges.rb:48:        outfile.write @blending_ranges[:grey][:dest][:black].pack('CC')
bench/psd.rb/psd.rb/lib/psd/layer/blending_ranges.rb:49:        outfile.write @blending_ranges[:grey][:dest][:white].pack('CC')
bench/psd.rb/psd.rb/lib/psd/layer/blending_ranges.rb:52:          outfile.write @blending_ranges[:channels][i][:source][:black].pack('CC')
bench/psd.rb/psd.rb/lib/psd/layer/blending_ranges.rb:53:          outfile.write @blending_ranges[:channels][i][:source][:white].pack('CC')
bench/psd.rb/psd.rb/lib/psd/layer/blending_ranges.rb:54:          outfile.write @blending_ranges[:channels][i][:dest][:black].pack('CC')
bench/psd.rb/psd.rb/lib/psd/layer/blending_ranges.rb:55:          outfile.write @blending_ranges[:channels][i][:dest][:white].pack('CC')
bench/sinatra/bundle/gems/rack-2.2.3/lib/rack/lobster.rb:11:    I8jyiTlhTcYXkekJAzTyYN6E08A+dk8voBkAVTJQ==".delete("\n ").unpack("m*")[0])
bench/sinatra/bundle/gems/rack-2.2.3/lib/rack/utils.rb:380:      l = a.unpack("C*")

One more thought is I think it'd probably make sense to add most/all of the classic benchmarks at https://github.com/oracle/truffleruby/tree/master/bench/classic. Many of them are already in yjit-bench.
They are not really representative of typical Ruby code but I think they stress pretty fundamental things (e.g. polymorphic calls, recursion) so optimizing them is likely to affect real workloads too.
aobench is a small raytracer and it even renders it to a .ppm file, using sprintf("%c", byte) which is rather original but that's what it does (the original benchmark does printf and just outputs the image on stdout).
The others are fairly well-known "classic" benchmarks like richards, deltablue and the shootout benchmarks.
There is also the AWFY benchmarks https://github.com/smarr/are-we-fast-yet and notably this branch which uses Ruby Array & Hash instead of custom data structures.
The paper has a pretty in-depth analysis of what each benchmark does (notably Figure 3).


sim doesn't consider assertions failed if EN=x A=0

Version
Yosys 0.34 (git sha1 4a1b5599258, clang++ 11.1.0 -fPIC -Os)
On which OS did this happen?
macOS
Reproduction Steps
Use the sim command to simulate a design with an $assert cell that at some points sees the inputs EN=x A=0
Expected Behavior
The assertion is considered failed since the assertion isn't unambiguously disabled. If we take EN && !A to be the condition for the cell firing then EN=x A=0 should be considered a failed assertion for consistence.
Actual Behavior
sim does not consider the assertion failed.

I suspect there might be designs where making this change would result in failed assertions at the start of the simulation before the signals fed to EN are fully reset and initialized.


chore: bump remaining packages

Why is this pull request needed?
 Had to update some packages manually.

Are you familiar with the yarn upgrade-interactive command? It is quite handy in these cases

Yes, I used it. But it was not able to discover webpack, since that is a dependency from react that is not in our package.json file. Also, it was not able to discover the newest package of applicationinsights at the time when I bumped the other packages (even though it had a newer version than the one displayed).


BUG: scipy.stats.shapiro gives a negative pvalue

Describe your issue.
p-values are supposed to be in [0,1], but I get a negative p-value using the scipy shapiro.
See the example code below.
Reproducing Code Example
from scipy.stats import shapiro
x = [0.6931471805599453, 0.0, 0.0]
res = shapiro(x)
res.pvalue # gives -6.830188112871838e-07, which is negative...

Error message
# no error message, just a negative p-value

SciPy/NumPy/Python version and system information
1.10.1 1.23.5 sys.version_info(major=3, minor=9, micro=15, releaselevel='final', serial=0)
Build Dependencies:
  blas:
    detection method: cmake
    found: true
    include directory: unknown
    lib directory: unknown
    name: OpenBLAS
    openblas configuration: unknown
    pc file directory: unknown
    version: 0.3.18
  lapack:
    detection method: cmake
    found: true
    include directory: unknown
    lib directory: unknown
    name: OpenBLAS
    openblas configuration: unknown
    pc file directory: unknown
    version: 0.3.18
Compilers:
  c:
    commands: cc
    linker: ld64
    name: clang
    version: 12.0.0
  c++:
    commands: c++
    linker: ld64
    name: clang
    version: 12.0.0
  cython:
    commands: cython
    linker: cython
    name: cython
    version: 0.29.33
  fortran:
    commands: gfortran
    linker: ld64
    name: gcc
    version: 4.9.0
  pythran:
    include directory: /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/pip-build-env-x9bi86_d/overlay/lib/python3.9/site-packages/pythran
    version: 0.12.1
Machine Information:
  build:
    cpu: x86_64
    endian: little
    family: x86_64
    system: darwin
  cross-compiled: false
  host:
    cpu: x86_64
    endian: little
    family: x86_64
    system: darwin
Python Information:
  path: /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/cibw-run-1cu21evt/cp39-macosx_x86_64/build/venv/bin/python
  version: '3.9'

The null distribution of the Shapiro-Wilk test is usually estimated using a Monte Carlo approach, but for $n=3$ there is an exact distribution.

Maybe we want to override whatever shapiro is doing in this case.

That would fix the case n=3, but are we sure that negative values are only appearing for n=3? Since the underlying Fortran is more than 20 years old, I guess we would have heard by now, but who knows.

Not certain, but $n=3$ is indeed treated differently from other cases (confirmed in swilk.f), so I'm content with fixing the reported bug to close this.


Spotlight for CNCF DHHWG

Description
This is a spotlight for the CNCF Deaf and hard-of-hearing working group (DHHWG)

contributor-site PR: https://github.com/kubernetes/contributor-site/pull/530

This might be a better fit for the CNCF blog
/hold pending confirmation that the Kubernetes blog is the right home for this article.

Understand Tim @sftim. The aim here is to drive inclusion among contributors and kubernetes folks so that they can be allies to the DHHWG and can help mentor folks from the WG. The CNCF will also publish a blog on the WG this Deaf Awareness Month, in addition to a host of other activities too. While there is an audience overlap, publishing on both blogs will allow us to reach a much bigger audience.

@sftim I agree that this is a corner-case, since it's a CNCF Working Group. The reasons why I think that it fits within k8s.dev (at least), and to add to the discussion, re:

The link to the Kubernetes ecosystem is the starting point of the conversation, and explicitly mentioned and discussed.
This WG has presented in KubeCons (that's the first time I heard them), and the subject matter is one which doesn't fit a k8s WG, while at the same time being important to k8s.
It specifically addresses how to make KubeCon itself more accessible.

This doesn't mean it wouldn't also be suitable for the CNCF blog (although I'm not knowledgeable about the publication process or criteria there), just that I personally see it with sufficient contact area with the Kubernetes community. I do however understand that these might be seen as insufficient for others.

This WG has presented in KubeCons (that's the first time I heard them), and the subject matter is one which doesn't fit a k8s WG, while at the same time being important to k8s.

That conference, KubeCon + CloudNativeCon, is not just about Kubernetes.
We should leave the hold in place until this is settled.

(this would also need an assigned publication date)

(this would also need an assigned publication date)

The aim was to get it published around Sep 24. Sep 23 is the International Day of Sign Languages (IDSL) and we wanted to publish this around the date. Also, September is being celebrated as Deaf Awareness month too.

If aiming for publication in the next 7 days I strongly recommend not targeting https://k8s.io/blog/ - we are rather short on review capacity, and I personally like the idea of ensuring we do good quality reviews on every article we publish there.
There's no formal SLA, but I've been suggesting a 4 week turnaround time. We also hope to encourage more people to contribute as blog reviewers and editors.
The audience for https://k8s.dev/blog/ is smaller and we can worry less about getting our message exactly right.

/label tide/merge-method-squash

/lgtm
/approve

/hold cancel

@sftim - I've a question - We have kept publish date as 30th. So will that be UTC of 30th, or PST or 30th?


Alternate approach to the calls

I propose we do an alternate approach to the calls as they are now, to make the whole thing to be more easily in sync with the original system, and also to ease the maintainability. But it has a caveat: it might make the calls to update the times take much more time.
We got to check the cost of that, writing this approach in a separate branch and comparing the final times to perform common operations.
The "new approach" consists of:

On login: takes all values from the screen report and stores them.
On update time: takes all values again from the screen report and replaces them on the storage.
On day change: makes a call to the "single day" page on the original system, just to get the task and project (all other data will be there already). Maybe this can serve also to get the status of the day, regarding whether or not the day is locked.
There would be no more "week call" and no icon for locked statuses
We could have icons for o-tanjoubi (birthday), absence, things like this, instead of the lock icon.

Doings:

Populate allEntries on login
Delete IndexedDB on logout
Put on indexedDB at add time
If on edit page and no info on indexedDB, log user out
GET VALUES

Choose Day|Inint => Fetch info from especified day

[x] Populate allEntries on login
[x] If on auth page and no info on indexedDB, log user out
[ ] Delete IndexedDB on logout:
DB misses this feature
[ ] Put on indexedDB at add time:
WIP
[ ] Populate data on calendar
[ ] Query date info on calendar day select (not fecthing from week)

Is there any chance of a specific date on achievo doesn't exist? Precisely: what should happen when you try to query a day that is not on allEntries (so not in indexedDB)

Some work on #72


Add OAuth credential support to the agent

Add abstraction for RSA key storage
Use RSACng for windows with the software storage provider
Use RSA key file for non-windows platforms
Fix IOUtil.SaveObject/LoadObject to use VSTS JSON formatting
Add DataContract/DataMember to AgentSettings
Add message-level decryption

looks good


Problem when switching to env to production

I have instantiated the pesa class with valid production credentials and switch it to production but a problem occurs, it fails to generate the session key if I return the sandbox credentials and switch back to sandbox it works fine

hello @emleonstz
how did you fix this?

it works fine I forgot to change to openapi PK


Add extension point onAfterElementalAreaCreation

Add an extension point for after the Elemental Area has been created. The extension point can be used to do things such as add blocks to the Elemental Area by default when a page is created. It differs from the exisiting extension point onAfterRequireDefaultElementalRecords in that this new one is run every time the elemental area is created (e.g. when a new page is created) rather than when requireDefaultRecords is run during a dev/build.

It's an enhancement so should be branched off and target 4 branch.
If you need add elements when a page is being created, can you use onAfterWrite on the page itself?
I recall we add several default blocks on page creation in one project and never needed a new extension point in Elemental, so just curious if there are other ways of achieving the same.

If you need to add elements when a page is being created, can you use onAfterWrite on the page itself?

That's the approach I'd expect for this use case, as well. I can't think of a time when this hook would be useful that onAfterWrite() with a $this->isInDB() or $this->owner->isInDB() condition won't do.
@armsofnoodle is there a situation where the above won't work that this extension hook covers?

The initial thought was to go with onBeforeWrite() but given that would rely on the the order of all the extensions' onBeforeWrite() being called in the same order each time it was a bit too fragile (as the elemental area needs to be created before we try assign blocks to it). Using onAfterWrite() with a $this->owner->isInDB() condition doesn't work either because $this->owner->isInDB() will return true if the page already exists and false if it doesn't. If the page doesn't exist then we can't add blocks to it, and if it does exist we don't necessarily want to add blocks to it because this being after write() that will add blocks every time we save the page.
I'm happy to investigate other routes if you think this still isn't necessarily required, if not though I'll update the branching and targeting 😃

Using onAfterWrite() with a $this->owner->isInDB() condition doesn't work either because $this->owner->isInDB() will return true if the page already exists and false if it doesn't. If the page doesn't exist then we can't add blocks to it

After looking at the order of operations, it looks like onAfterWrite() wouldn't be called until there is a DB record anyway, so that should always return true - my mistake, I misremembered that.
You could however use $this->owner->isChanged('ID') (only true the first time the object is written, unless you're doing some real weird stuff), or add your own flag in there - e.g. a $db field that is false by default, and you can set true the first time onAfterWrite() is called and you add your blocks in. Or if those blocks should always exist, check if the blocks are in the page's ElementalArea and if not, add them.
Basically I think if there's a clean way you can achieve this through onAfterWrite(), that's probably preferable.

Thanks for the suggestions, we were able to implement it using onAfterWrite(). Happy to close this PR 😄

@GuySartorelli @armsofnoodle I would like to reopen this one and push for the extension point to be added.
onAfterWrite() does keep track of the changed state of the ID, however, it doesn't pair well with publishing actions. Take this example.
<?php

namespace App\Models;

use SilverStripe\Dev\Debug;
use SilverStripe\ORM\DataObject;
use SilverStripe\Versioned\Versioned;

/**
 * @property string $Title
 * @mixin Versioned
 */
class MyModel extends DataObject
{
    private static string $table_name = 'MyModel';

    private static array $db = [
        'Title' => 'Varchar(255)',
    ];

    private static array $extensions = [
        Versioned::class,
    ];

    protected function onAfterWrite()
    {
        parent::onAfterWrite();

        Debug::dump('onAfterWrite: ' . ($this->isChanged('ID') ? 'changed' : 'not changed'));
    }
}

And I can test what happens quite simply here:
<?php

namespace App\Tests\Models;

use App\Models\MyModel;
use SilverStripe\Dev\SapphireTest;

class MyModelTest extends SapphireTest
{
    public function testOnAfterWrite(): void
    {
        $model = MyModel::create();
        $model->Title = 'Starting Title';
        $model->write();
        $model->publishRecursive();
    }
}

The output is:
onAfterWrite: changed
=============================
onAfterWrite: changed

Basically... onAfterWrite() is also triggered when the model is published, and at that time it still believes that the ID has been changed. The result is that we end up with one set of Blocks being created when the Page is initially written, and then a second set of Blocks whenever the page is eventually published.
I know there would be ways around this (like adding additional logic to onBeforePublish to track when onAfterWrite() is called within that context), but I think that having to keep track of the context of the onAfterWrite() is a pain, and I think that this simple extension point would be a much nicer solution.
We're just asking to please have some level of access to the ElementalArea at the point when it is created.

@michalkleiner What are your thoughts on that? I think it's a fair point but I also wonder if it wouldn't be better resolved by adding a more consistent way to identify in onAfterWrite() whether this is a write or a publish or a write-and-publish - or something like that?

Hi @kinglozzer (CC: @armsofnoodle @GuySartorelli), thanks for jumping in! That looks to work!
I must admit that I don't fully understand what's going on though. Are we saying that the ID is sometimes stored as a string rather than an int, and so the default setting of DataObject::CHANGE_STRICT is seeing it as "changed"? That's definitely a [gotcha] that I was not aware of with our IDs.

Are we saying that the ID is sometimes stored as a string rather than an int, and so the default setting of DataObject::CHANGE_STRICT is seeing it as "changed"?

Yep, exactly, though I must admit I thought we had solved it in core. Out of curiosity, are you using MySQLDatabase or MySQLPDODatabase? It might be worth trying switching between them to see if it’s driver-specific (from memory, PDO caused more issues than it solved, might be completely unrelated to this though!)

We're using MySQLDatabase.


[CS][5.18]: Use .call() Instead of .transfer() in Payment Functions

Describe the bug
Currently, all payment functions in the contract use transfer to send ETH to a recipient address. While this is a working way to transfer ETH, transfer limits the amount of gas that can be used in the execution of the recipient function to 2300 gas. This can be insufficient for functions that require more gas to execute and can result in a transaction failing with an out-of-gas error.
People used to recommend using the transfer function instead of call to prevent reentrancy attacks (because of its fixed gas amount). However, the gas costs of the EVM are regularly subject to changes which might make reentrancy attacks possible even when using transfer. Thus, giving a false sense of security.
Because of these issues, the transfer method might be removed in the next major Solidity release. This is one more argument to stop using transfer.
Expected behavior
To avoid these limitations and make sure that the code is future-proof, we recommend using call instead of transfer in all payment functions. call does not enforce a constant gas value for the external call and returns a boolean value indicating whether the call executed successfully or not. One should make sure to check the value returned by call and use proper reentrancy guards if they are needed.

This can be closed - acknowledging the only remaining places .transfer(ETHER_VALUE) is used is in mantleWETH which is a direct fork of canonical WETH9 (https://github.com/gnosis/canonical-weth/blob/master/contracts/WETH9.sol) and .transfer() is widely accepted to be acceptable there.
.transfer() is also used in scripts and tests, but not deployable contract code.


Make histogramming more robust

Issue found by a master student:
If cv singletons are not unpacked the SparseHistogram might return broken output bins, which then fail in following code that assumes it is 1D (Like in this line).
This PR forces a reshape to prevent mangled output
master:
>>> from openpathsampling.numerics.histogram import SparseHistogram
>>> histo = SparseHistogram(bin_widths=(0.5, 0.3), left_bin_edges=(0.0, -0.1))
>>> data = ([0.0],[1.0])
>>> histo.map_to_bins(data)
(array([0., 0.]), array([2., 3.]))
>>> max(histo.map_to_bins(data))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

This PR:
>>> from openpathsampling.numerics.histogram import SparseHistogram
>>> histo = SparseHistogram(bin_widths=(0.5, 0.3), left_bin_edges=(0.0, -0.1))
>>> data = ([0.0],[1.0])
>>> histo.map_to_bins(data)
(0.0, 3.0)
>>> max(histo.map_to_bins(data))
3.0

It also fixes some pep8 issues in histogram.py

Codecov complaint is about a line that only has whitespace changes

This is fine, but users creating CVs that return len-1 arrays seems to be a recurring issue that causes problems in multiple aspects of analysis. I'll accept this PR, but in general I'd be more interested in finding ways to discourage these CVs in the first place. I'll open a PR that tries to address this by raising a warning if using the CVDefinedVolume with a len-1 array.
The fundamental problem is that Python (and NumPy) allow ordering of len-1 iterables, which often lets the problem slip through sampling without causing problem. However, later analyses fail when they require that these be scalars (e.g., combining them into arrays).


Add ecovacs component

Description:
Adds support for Ecovacs vacuums (DEEBOT vacuums) via an ecovacs component that creates vacuum entities for each vacuum in the user's account.
Supports pretty much the full vacuum feature-set, and the vacuums respond instantly to Hass service calls due to the always-open XMPP connection, which is pretty cool! It also supports showing the lifespan of the various replaceable components as attributes on the vacuum state.
Support for the reverse-engineered API is very early, and as such it's likely that not all vacuums and not all regions will work correctly on this first release. The Hass documentation will link to the sucks project for users to find more information about what vacuums and regions have been tested.
This PR has been tested with two DEEBOT M80 Pros on the same account.
Related issue (if applicable): n/a
Pull request in home-assistant.github.io with documentation (if applicable): pending
Example entry for configuration.yaml (if applicable):
ecovacs:
  username: !secret ecovacs_username
  password: !secret ecovacs_password
  country: us
  continent: na

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.github.io

If the code communicates with devices, web services, or third-party tools:

[x] New dependencies have been added to the REQUIREMENTS variable (example).
[x] New dependencies are only imported inside functions that use them (example).
[x] New or updated dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[x] New files were added to .coveragerc.

Okay, all review comments addressed except for using Config Entry, which I will work with Balloob on implementing.

I cant get tihis to work on new Hassio / HassOS installation. Get lots of sleekxmpp errors in the log....

@andlo In the interest of not cluttering up the code review chatter here, let's take this to another thread. Could you either open a GHI where we can troubleshoot (include said logs, scrubbed of any tokens) or you can hit me up on Discord directly at OverloadUT#0001 so we can troubleshoot

I was unable to spot a related documentation PR, hence, I've added the docs-missing label.

Looks good to me. Can be merged when the docs are done.

Docs added, but now we're waiting on an upstream version bump due to a bug I found writing the docs :)

@OverloadUT The STATE support has been merged here: https://github.com/home-assistant/home-assistant/commit/2ff5b4ce9547e1d0b15904ee1eb74906eb8f7608 but I'm hoping that I can also get the split of start / pause merged soon: https://github.com/home-assistant/home-assistant/pull/15751 not sure if you want to base your PR on those changes?

Okay, I just pushed up a very tiny change that fixes a bug in sucks 0.9.1 and bumps the requirement back down to that version.
I was originally waiting for 0.9.2 to be released, but the lib owner seems to currently be unavailable.
As soon as the documentation PR is reviewed, we should be good here: https://github.com/home-assistant/home-assistant.io/pull/5922
( @cnrd in the interest of getting a version out so that we can start getting feedback on stability, I'm going to request this version be merged, but I'll work on a refactor to use your new system, if that's agreeable to everyone)

After this, whats is the next step to have it working with HA?

@leofuscaldi Install HA from the dev branch or wait for the next release (0.77).


Update README to note that default_labels & default_prefix works only on

single process mode
I tested this only on Single Process mode which there it works fine.
About the multi-process mode: I am not sure how to implement this, I don't see a global way of adding all metrics  & instrumentation (like process/middleware), maybe sending to prometheus_exporter in addition to metric values to send "default_labels" ?

cool! thanks!

@SamSaffron do you have any idea on how can I implement default_labels with multi-process support?

cool, sure this is how I would do it
https://github.com/discourse/prometheus_exporter/blob/master/bin/prometheus_exporter#L21-L23
we need another command line option

The command line option won't work on my deployment.
I want to set-up one prometheus_exporter for all instances


In DefaultPlatform, the issuer name should match the alias key cert

Make issuer match cert chain
The DPE default platform has

One self-signed cert in the cert chain:

https://github.com/chipsalliance/caliptra-dpe/blob/a7e07664fc17b29f9ee0c588a6073ed12753d013/platform/src/default.rs#L18

An issuer name:

https://github.com/chipsalliance/caliptra-dpe/blob/a7e07664fc17b29f9ee0c588a6073ed12753d013/platform/src/default.rs#L61-L67
We should make the issuer name in 2 be the same as the subject name in 1. This will ensure that the issuer name in DPE leaf certs will match the issuing cert and cert chain validation will work.
Make the alias cert match the algorithm of the platform being used

If profile is p256, cert chain key should be p256
If p384, cert chain should have p384 key

Make crypto key and cert chain match
The OpensslCrypto implementation can take a key at build time to use as the alias key: https://github.com/chipsalliance/caliptra-dpe/blob/a7e07664fc17b29f9ee0c588a6073ed12753d013/crypto/build.rs#L20
We should make this key the same key that's in the cert in DefaultPlatform

Fixed by https://github.com/chipsalliance/caliptra-dpe/pull/173


frontend: Fix success state when adding kubeconfig

The way we were adding clusters previously (before the stateless
clusters) meant we received the configuration when we added a
cluster. After stateless clusters, that same call to add a cluster
in the frontend doesn't return a response. This triggered an
exception which meant the UI assumed there was an issue with setting
up the cluster but that was false.
fixes #1831

Tested and it works, I think the load kubeconfig from file option is breaking in the docker-desktop extension too. For this we need to add -enable-dynamic-clusters flag to the backend container in headlamp docker extension Here, only then the /parseKubeConfig endpoint will be enabled. Please make sure this is fixed for docker-desktop extension too.

Thank you @yolossn. Good catch. Let me fix it too


Updating deprecated actions

Fixes #680
Changes proposed in this PR:

Updating deprecated upload-artifact@v2 action which was causing the tests to fail.
Updated all of the other outdated actions.

@jamiehewitt15 - shall we merge this?


fix: make release tag name consistent with git tag

Description

make release tag name consistent with git tag

General Checklist

[ ] Added new tests to cover change, if needed
[x] Build succeeds using Swift Package Manager
[x] All unit tests pass
[ ] Security oriented best practices and standards are followed (e.g. using input sanitization, principle of least privilege, etc)
[ ] Documentation update for the change if required
[x] PR title conforms to conventional commit style
[ ] If breaking change, documentation/changelog update with migration instructions

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

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

Project coverage is 95.66%. Comparing base (63e1df1) to head (ca4812e).
Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #56      +/-   ##
==========================================
- Coverage   95.66%   95.66%   -0.01%
==========================================
  Files          35       35
  Lines        1986     1985       -1
==========================================
- Hits         1900     1899       -1
  Misses         86       86

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


Format with black missing format with autopep8 intermediate step

Format with black should format with autopep8 and then format with black
What steps reproduce the problem?
Sloppy example code:
var1='Hello'
var2="World"
import numpy as np
x=np.array([0,1,2,3,4])
y=np.array([0,2,4,6,8])
import pandas as pd
df=pd.DataFrame({'x':x,"y":y})
import datetime
now=datetime.datetime(year=2023,month=12,day=1)
hour=datetime.timedelta(hours=1)
import collections
counts=collections.Counter([1,2,2,2,3,3])
import itertools
cycle=itertools.cycle([1,2,3])

What is the expected output? What do you see instead?
From what I understand black is an opinionated formatter that formats code using autopep8 and then applies its opinions. In Spyder, the intermediate step format with autopep8 is not carried out when format with black is used.
Example code -> format with black:
var1 = "Hello"
var2 = "World"
import numpy as np

x = np.array([0, 1, 2, 3, 4])
y = np.array([0, 2, 4, 6, 8])
import pandas as pd

df = pd.DataFrame({"x": x, "y": y})
import datetime

now = datetime.datetime(year=2023, month=12, day=1)
hour = datetime.timedelta(hours=1)
import collections

counts = collections.Counter([1, 2, 2, 2, 3, 3])
import itertools

cycle = itertools.cycle([1, 2, 3])

This doesn't look right...
Example code -> format with autopep8
import itertools
import collections
import datetime
import pandas as pd
import numpy as np
var1 = 'Hello'
var2 = "World"
x = np.array([0, 1, 2, 3, 4])
y = np.array([0, 2, 4, 6, 8])
df = pd.DataFrame({'x': x, "y": y})
now = datetime.datetime(year=2023, month=12, day=1)
hour = datetime.timedelta(hours=1)
counts = collections.Counter([1, 2, 2, 2, 3, 3])
cycle = itertools.cycle([1, 2, 3])

This looks right.
Example code -> format with autopep8 -> format with black:
import itertools
import collections
import datetime
import pandas as pd
import numpy as np

var1 = "Hello"
var2 = "World"
x = np.array([0, 1, 2, 3, 4])
y = np.array([0, 2, 4, 6, 8])
df = pd.DataFrame({"x": x, "y": y})
now = datetime.datetime(year=2023, month=12, day=1)
hour = datetime.timedelta(hours=1)
counts = collections.Counter([1, 2, 2, 2, 3, 3])
cycle = itertools.cycle([1, 2, 3])

This looks right.
Example code -> format with autopep8 -> format with black -> format with blue
import itertools
import collections
import datetime
import pandas as pd
import numpy as np

var1 = 'Hello'
var2 = 'World'
x = np.array([0, 1, 2, 3, 4])
y = np.array([0, 2, 4, 6, 8])
df = pd.DataFrame({'x': x, 'y': y})
now = datetime.datetime(year=2023, month=12, day=1)
hour = datetime.timedelta(hours=1)
counts = collections.Counter([1, 2, 2, 2, 3, 3])
cycle = itertools.cycle([1, 2, 3])

Format with blue not currently supported should theoretically look like this.
 You said:

From what I understand black is an opinionated formatter that formats code using autopep8 and then applies its opinions.

That is not correct. Each one is a different formatter and doesn't depend on the other to do its job.
However, we could offer menu entries to format a file with different formatters, so users can get the result you posted above in case they are not happy with a single formatter.

Thanks, it seems like I misunderstood how Black worked. Looking at this in more detail, it seems Black is missing some features found in AutoPEP8.
Despite Black stating it is PEP 8 compliant:
The Black Code Style

Black is a PEP 8 compliant opinionated formatter with its own style.

It seems it ignores the following PEP 8 guidelines on imports and doesn't do anything to library imports:
PEP8

Imports should be grouped in the following order:
Standard library imports.
Related third party imports.
Local application/library specific imports.
You should put a blank line between each group of imports.

This seems to have been a requested feature with 93 comments which finally ended up being rejected:
Optimize Imports #333 Not Planned.
And therefore Spyder is implementing Black properly and the above issue is an inherent limitation in Black itself. I also get the same results running Black using the command line.
Having the ability to run AutoPEP8 and then Black in succession from the menu as you suggested will be the best implementation giving features from both.


[Bug]: Double footer issue

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Please add hactoberfest and GSSoC24 tag. You can assign me for this issue.
Add Screenshots

What browsers are you seeing the problem on?
Chrome
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC contributor
[X] I want to work on this issue
[X] I'm willing to provide further clarification or assistance if needed.

Which one to keep ? Upper or lower one ?

2nd

Okay !!


deferring super-user events discussion to policy doc.  Adding more cl…

…arifying info about non-HA support

@lisakowen - here's the pull request for deferring the super-user check info to the policy doc.


Would be great to have hs support so I could use a binary sensor to control hue value and which is 0-360 (angles of a circle) and keeps repeating i.e. when it reaches 360 = 0 and loops again, in terms of endless loop it would not run code non-stop but rather the code allows the value to perform a second revolution by reseting to 0 at 360 degrees.

Would be great to have hs support so I could use a binary sensor to control hue value and which is 0-360 (angles of a circle) and keeps repeating i.e. when it reaches 360 = 0 and loops again, in terms of endless loop it would not run code non-stop but rather the code allows the value to perform a second revolution by reseting to 0 at 360 degrees.
what else would be required to help add this feature?
https://github.com/FastLED/FastLED/wiki/FastLED-HSV-Colors
Publicado originalmente por @ashp8i en https://github.com/esphome/feature-requests/issues/429#issuecomment-752205529

Sorry, this has nothing to do with this repo, perhaps it's opened by mistake


Missing 3.10 wheels

Whilst installing this library on Python 3.10 I noticed, that 3.10 wheels are only present for manylinux and not for other platforms.
I think that adding 3.10 at the remaining distros here should do the trick.

Thanks! Fixed in https://github.com/aviramha/ormsgpack/pull/82


DM validator supports gcp-types/compute-v1:firewalls

Dependent on #420
cft validate command parses thrugh the DM resources in the preview manifest. Ignores every type except the supported ones.
At this stage, the only supported type is gcp-types/compute-v1:firewalls.
Transforms this type into a valid Cloud Asset Inventory object.
Unit tests for the pharsing and transformation.

https://github.com/forseti-security/policy-library/issues/112


multiple threads crush  error

ERROR LOG:
#Done 0.12s no_lp
Check failed: !is_present Duplicate variables not supported.
*** Check failure stack trace: ***
@ 0x7f73ae655dec google::LogMessage::Fail()
@ 0x7f73ae655d48 google::LogMessage::SendToLog()
@ 0x7f73ae6556ac google::LogMessage::Flush()
@ 0x7f73ae658b16 google::LogMessageFatal::~LogMessageFatal()
@ 0x7f73a77628c2 operations_research::sat::CpModelPresolver::ExpandObjective()
@ 0x7f73a776c1d9 operations_research::sat::CpModelPresolver::Presolve()
@ 0x7f73a776c9b1 operations_research::sat::PresolveCpModel()
@ 0x7f73a7793151 _ZZN19operations_research3sat12_GLOBAL__N_19LnsSolver12GenerateTaskElENKUlvE_clEv
@ 0x7f73a78c946c _ZNSt17_Function_handlerIFvvEZN19operations_research3sat20NonDeterministicLoopERKSt6vectorISt10unique_ptrINS2_9SubSolverESt14default_deleteIS5_EESaIS8_EEiEUlvE_E9_M_invokeERKSt9_Any_data
@ 0x7f73a75a6448 operations_research::RunWorker()
@ 0x7f73ac0d119d execute_native_thread_routine
@ 0x7f73cc4cfe25 start_thread
@ 0x7f73cbde134d __clone
@ (nil) (unknown)
numWorker:8 ; cpu num:5; Linux: CentOS

Please specify the or-tools version, the platform, and attach some model or
code.that can be used to reproduce the crash.
Le jeu. 17 sept. 2020 à 05:55, hukun1995<EMAIL_ADDRESS>a
écrit :

ERROR LOG:
#Done 0.12s no_lp
Check failed: !is_present Duplicate variables not supported.

Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/2157, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3MQVWOZL2J6BUDLOGLSGGCBZANCNFSM4RPZFDDQ
.

the version of or-tools is 7.7 ; setLogSearchProgress is true; numWoker is 8
the platform is docker with CentOs 16+ , one docker has 5 cpu
Code is complecated and it is formal  code, so I am sorry I can't push it .
But I can show the main cp-sat function we used, may it help you:
"addEq;  addEqWithOffset; addLessOrEq; addProductEq; addAbsEquality; addDivisionEquality ,,, "

Try with 7.8. We fixed a few crashes in between.
Laurent Perron | Operations Research |<EMAIL_ADDRESS>| (33) 1 42 68 53
00
Le jeu. 17 sept. 2020 à 11:44, hukun1995<EMAIL_ADDRESS>a
écrit :

the version of or-tools is 7.7 ; setLogSearchProgress is true; numWoker is
8
the platform is docker with CentOs 16+ , one docker has 5 cpu
Code is complecated and it is formal code, so I am sorry I can't push it .
But I can show the main cp-sat function we used, may it help you:
"addEq; addEqWithOffset; addLessOrEq; addProductEq; addAbsEquality;
addDivisionEquality ,,, "
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/2157#issuecomment-694121833,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3JCYX3CP755TT7ZUZLSGHLBLANCNFSM4RPZFDDQ
.

No news, spotted on an older version -> closing this issue


Event when compiling views

Sometimes you need to minify the HTML for better performance. In order not to add third party packages, I have added an event that fires when a view is compiled.

This PR seems to break the test suite.


How to generate dx file for gninagrid command

When I use gninagrid to generate data, I added the parameter --separate, but I need to specify the additional grid file through the parameter --grid or --example_grid, but I don't know how to generate this  .dx  file.
I refer to the steps 3.1  in the following link
https://www.protocols.io/view/train-cnn-model-using-gnina-3rngm5e?step=3.1
Can you provide a data processing tutorials？

If you don't already have a grid that defines the dimensions you want, then I can't think of a use case where it makes sense to pre-generate grids instead of using libmolgrid (https://gnina.github.io/libmolgrid/) to dynamically generate grids.


add git config

PR 类型：

[ ] 新功能 Feat
[ ] 缺陷修复 Bug
[ ] 文档改进 Doc
[ ] 添加测试用例 Test
[ ] 性能优化 Perfs
[ ] 重构 Refactor or Chore

❗ 请务必确保：

[ ] ci checkers钩子执行正确✅
[ ] 代码经历过书写-构建-使用自测流程
[ ] 有描述清晰的组件文档
[ ] TS 类型定义精准，且无恶意 any

请尽量保证：

[ ] 有完善的组件测试，综合覆盖率不低于 85%
[ ] 遵守《贡献指南》

Codecov Report

Merging #151 (229bed5) into master (f3d0ae3) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #151   +/-   ##
=======================================
  Coverage   92.76%   92.76%
=======================================
  Files          17       17
  Lines         373      373
  Branches      139      139
=======================================
  Hits          346      346
  Misses         24       24
  Partials        3        3

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f3d0ae3...229bed5. Read the comment docs.


Case(1): Add a changed line

Adds a changed line

Successfully created backport PR #125 for case1-backport-target.


Scaling doesn't apply to characters in fallback text font

Let's say you have something like "\text{Gauß}" in your TeX input and you are rendering it in the HTML-CSS format output using the TeX font, then the "ß" is going to be rendered in a fallback font but the "scaling all math"  setting is apparently not respected for that character.
From the DOM I see that the "ß" gets puts into its own span but why is the font-size explicitly reduced there? (e.g. to 40% in the case of a global scale factor of 200% on my test page)
Reproducible with the 2.3 and 2.4 beta in different browsers.
DOM snippet:
Gauß

==> In Testsuite
MathMLToDisplay/Characters/issue826-1.html
MathMLToDisplay/Characters/issue826-2.html


Websocket client broken on big endian

https://github.com/boostorg/beast/blob/develop/include/boost/beast/websocket/detail/mask.hpp does not have an endian independent implementation. It has been highly optimised for x86 32 and 64 bit, but there is no working implementation that works on all memory models.
Version of Beast
144
Steps necessary to reproduce the problem

Compile and start the websocket sync or async server example on an x86 (little endian),
Compile and start the websocket sync or async client example on a big-endian processor (E.g. MIPS or PowerPC),
Observe that all data sent by the client to the server arrives corrupted.

All relevant compiler information

On the x86, the server code is compiled with: c++ (Ubuntu 7.2.0-8ubuntu3) 7.2.0
On the MIPS (QCA4531), the client code is compiled with: mips-openwrt-linux-uclibc-c++ (OpenWrt/Linaro GCC 4.8-2014.04 r47070) 4.8.3

Thanks for this! I am really surprised, the code was supposed to be endian-independent (i.e. not depend on the layout of integers) but apparently I was mistaken. If you have a proposed fix I would love to see it, otherwise I will get to work on it.

We have a concept implementation, but something is still not quite right. Feel free to help spot the error.

Well first we should check that the mask is correctly extracted from the frame header and stored in a manner consistent with the endianness expected by the masking routines, see:
https://github.com/boostorg/beast/blob/1a88cb147bf15541df632ca60f277a02068bae5b/include/boost/beast/websocket/detail/frame.hpp#L218

and
https://github.com/boostorg/beast/blob/1a88cb147bf15541df632ca60f277a02068bae5b/include/boost/beast/websocket/impl/stream.ipp#L493

We noticed an inconsistency between frame.hpp and mask.hpp.
frame.hpp always swaps the endianness of the key, and
mask applies it as if it is a little endian architecture.
This should be easier to fix if you avoid shifting operations in favour of a buffer cast of the key, but I have not had the time to compare this with the generated asm on x86.

Needless to say... in #1031, we tried to stick to the current implementation, but make the intent clear, but we are missing something in the tail part.

I believe this will resolve this issue, please check it:
https://github.com/boostorg/beast/pull/1034


[ssi] enable auto_inject install for Java, Node.js, and .NET

Motivation
We were not running these scenarios for Java, Node.js or .NET.
Changes
Enable running missing scenarios HOST_AUTO_INJECTION_INSTALL_SCRIPT and CONTAINER_AUTO_INJECTION_INSTALL_SCRIPT
Workflow

⚠ Create your PR as draft ⚠
Work on you PR until the CI passes (if something not related to your task is failing, you can ignore it)
Mark it as ready for review

Test logic is modified? -> Get a review from RFC owner. We're working on refining the codeowners file quickly.
Framework is modified, or non obvious usage of it -> get a review from R&P team

:rocket: Once your PR is reviewed, you can merge it!
🛟 #apm-shared-testing 🛟
Reviewer checklist

[ ] If PR title starts with [<language>], double-check that only <language> is impacted by the change
[ ] No system-tests internal is modified. Otherwise, I have the approval from R&P team
[ ] CI is green, or failing jobs are not related to this change (and you are 100% sure about this statement)
[ ] A docker base image is modified?

[ ] the relevant build-XXX-image label is present

[ ] A scenario is added (or removed)?

[ ] Get a review from R&P team

The Pipeline is failling because " THERE ARE TOO MANY EC2 INSTANCES RUNNING. Waiting for the instances to be destroyed"
https://github.com/DataDog/system-tests/blob/3cb43c74b9ebd62d90b3c85b4e6f9a8649961c78/utils/virtual_machine/aws_provider.py#L227


Fix ERROR on ligatures conditional

in a few rare occasions, we get an ERROR on the ligatures conditional (which is required in tests such as com.google.fonts/test/064, the caret positioning test). This happens on only 7 of the 2400 TTFs in Google Fonts collection:

The actual error is this:

The condition implementation fails at line 2291:
https://github.com/googlefonts/fontbakery/blob/527dda3e1e5b3364512852a6d63dd7745273a6cc/Lib/fontbakery/specifications/googlefonts.py#L2287-L2300
Interestingly, when trying to use ttx to inspect the file contents I get a similar error, which makes me believe this is a case of corrupted TTF files:

This may also be a fontTools bug. Can you confirm that, @behdad ?

Some example of an offending file from the Google Fonts collection are:

ofl/bhavuka/Bhavuka-Regular.ttf
ofl/seoulhangang/SeoulHangang-Medium.ttf
ofl/seoulhangang/SeoulHangang-Light.ttf

Given the errors happen directly when TTX'ing the fonts, I propose to update the checker runner so that if fontTools fails to unpack a font, that is a FAIL of the check, not an ERROR, because its not a problem with our code, its a problem with the font that this check has uncovered.
I see in the runner's output the string, unpack requires - perhaps you can find that string in the error and if found, return a FAIL?


Delaware Addition

Delaware was fairly easy - and my third different type of scraper.
Delaware stores their data in easy-to-access csv files, so no need for any ArcGIS or Tableau.


Unbalanced quotes errors

First of all, thank you for this plugin. It feel really smooth compare to other alternatives.
Should quotes to be autobalanced too? Because currently it doesn't for me with a lot of errors from the plugin.
Error detected while processing TextChangedI Autocommands for "<buffer=13>":
[Parinfer] error in buffer 13
{"name":"unclosed-quote","message":"String is missing a closing quote.","inputLineNo":11,"inputX":7,"lineNo":8,"x":23}
{"options":{"guileBlockComments":false,"schemeSexpComments":false,"janetLongStrings":false,"cursorLine":2,"prevText":"(local utils (require \"custom.ut
ils\"))\n\n\n(fn open []\n  \"Opens link under the cursor\"\n  (let [link (vim.fn.expand \"<cfile>\")]\n    (vim.fn.jobstart [\"xdg-open\" link])\n
(nvim.command \"redraw\")\n    (utils.echo [\"Open \" :String]\n                [link :Identifier])))\n\n{: open}","cursorX":1,"prevCursorX":0,"prevCur
sorLine":2,"commentChar":";","stringDelimiters":["\""],"forceBalance":false,"lispVlineSymbols":false,"lispBlockComments":false},"text":"(local utils (r
equire \"custom.utils\"))\n\n\"\n(fn open []\n  \"Opens link under the cursor\"\n  (let [link (vim.fn.expand \"<cfile>\")]\n    (vim.fn.jobstart [\"xdg
-open\" link])\n    (nvim.command \"redraw\")\n    (utils.echo [\"Open \" :String]\n                [link :Identifier])))\n\n{: open}","mode":"smart"}

and some others like
Error detected while processing TextChangedI Autocommands for "<buffer=3>":
[Parinfer] error in buffer 3
{"name":"quote-danger","x":31,"message":"Quotes must balanced inside comment blocks.","inputX":16,"inputLineNo":152,"lineNo":151}
... there is some stacktrace

Whoops, sorry about the error notifications lol. Since I wrote this for personal use I was willing to put up with a ton of debugging info whenever something went wrong. I'll push an update to disable the notifications for now, I intend to report errors via diagnostics/virtual text in the future but haven't found time to implement that yet.
As for balancing quotes, parinfer-rust does not handle that. I would recommend configuring an auto-pair plugin to do quotes only when in a filetype that uses parinfer. I use delimitMate but I'm sure any auto-pair plugin be configured that way.

Thank you. Will wait for update.

Notifications are disabled as of the latest update!

Let me try. I will close it afterwards. Thank you.

Seems like no errors for now. Closed.


feat: labeler logic

Description
This pr implements a crossplane function, which allows any user to create a project scoped logging resource. It transforms a namespaced logging.caas.telekom.de resource into a clusterlevel logging.banzaicloud.io resource and ensure the created logging instance is scoped to the project in which the caas logging resource was created. For this two things need to be ensured:

spec.controlNamespace needs to be set to the namespace in which the namespaced caas logging resource was created. This ensure the FluentD deployment gets created in the namespace of the crd
spec.WatchNamespaces needs to point only to namespace inside that rancher project. This ensures that only logs from a users project are collected.

Implementation

Reads the namespace from a logging.caas.telekom.de CRD.
Retrieves the value of the label field.cattle.io/projectId from that namespace.
Creates a new banzaicloud logging resource.
Sets its spec.controlNamespace to match the namespace of the logging.caas.telekom.de.
Configures spec.watchNamespaceSelector.MatchLabels to {"field.cattle.io/projectId":""}.

Testing locally
Install the crossplane cli
In one bash session start the function:
kubectl config use-context <your-rancher-cluster>
go run . --insecure --debug --out-of-cluster

This runs the function locally, using your current kubectl context to lookup the namespaces.
Invoke the function with a logging.caas.telekom.de Composite Resource:
cd examples/
crossplane beta render xr.yaml composition.yaml functions.yaml

---
apiVersion: caas.telekom.de/v1alpha1
kind: Logging
metadata:
  name: example-xr
---
apiVersion: logging.banzaicloud.io/v1beta1
kind: Logging
metadata:
  annotations:
    crossplane.io/composition-resource-name: logging
  generateName: example-xr-
  labels:
    crossplane.io/composite: example-xr
  ownerReferences:
  - apiVersion: caas.telekom.de/v1alpha1
    blockOwnerDeletion: true
    controller: true
    kind: Logging
    name: example-xr
    uid: ""
spec:
  allowClusterResourcesFromAllNamespaces: false
  configCheck:
    timeoutSeconds: 0
  controlNamespace: microservices
  enableRecreateWorkloadOnImmutableFieldChange: false
  flowConfigCheckDisabled: false
  skipInvalidResources: false
  watchNamespaceSelector:
    matchLabels:
      field.cattle.io/projectId: caas-services
status:
  problemsCount: 0

This does not create any resources, it only invokes the function in the same way crossplane would, when actually deployed.
Running Tests
go test ./...

Example
I've deployed the function on my kind cluster. You can find an example that a user would create and its result below:
# Input
apiVersion: caas.telekom.de/v1alpha1
kind: Logging
metadata:
  name: my-logging
  namespace: xrd-test
spec: {}

# Output
apiVersion: logging.banzaicloud.io/v1beta1
kind: Logging
metadata:
  annotations:
    crossplane.io/composition-resource-name: logging
  creationTimestamp: "2024-02-08T15:21:25Z"
  generateName: my-logging-q66zj-
  generation: 1
  labels:
    crossplane.io/claim-name: my-logging
    crossplane.io/claim-namespace: xrd-test
    crossplane.io/composite: my-logging-q66zj
  name: my-logging-q66zj-5zssn
  ownerReferences:
  - apiVersion: caas.telekom.de/v1alpha1
    blockOwnerDeletion: true
    controller: true
    kind: XLogging
    name: my-logging-q66zj
    uid: 0349b57d-79b3-4b08-8963-5a2eda90a5fd
  resourceVersion: "1406511"
  uid: fce5cc7d-9128-4f88-99ed-16b516bceb3e
spec:
  allowClusterResourcesFromAllNamespaces: false
  configCheck:
    timeoutSeconds: 0
  controlNamespace: xrd-test
  enableRecreateWorkloadOnImmutableFieldChange: false
  flowConfigCheckDisabled: false
  skipInvalidResources: false
  watchNamespaceSelector:
    matchLabels:
      field.cattle.io/projectId: p-12345
status:
  problems:
  - 'Deprecated behaviour! Other logging resources exist with the same loggingRef:
    hiller,kunde1,kunde2. This is going to be an error with the next major release.'
  problemsCount: 1
  watchNamespaces:
  - customer-1-ns-a
  - customer-1-ns-b
  - xrd-test

External Resources
Function Docs
Go example

Ready for review

LGTM. Thank you very much 🥳 ❤


[chip-tool] remove extra blank line in cert print

Fixes https://github.com/CHIP-Specifications/chip-test-plans/issues/2434
It's a corner case when the cert length is a particular value, which ends at a complete line. chip-tool prints an extra blank line:

After the fix, the output looks good:

@chshu please fix restyle diffs


"Clear color for" for ranges in Data Grid

Also, it would be nice to refactor model, so we can replace DBVColorOverride#isRange with DBCLogicalOperator#BETWEEN.
By doing so, we will be able to display Clear color for ...  action for ranges too. We also can support operators beside just =.
But I don't think major changes like that are related to the issue itself. A separate feature request may be created.
Originally posted by @ShadelessFox in https://github.com/dbeaver/dbeaver/issues/12912#issuecomment-884061794

verified


addViewListener.. but not removeViewListener

Hi , I think that would be useful to add the inverse function of addViewListener and addContextListener

Added in 1.5.0


Update install action to only use conda+libmamba

Mamba was working correctly on macOS and could not easily be fixed, so I have updated the action to only use the conda+libmamba solver.
Because pyctdev installs conda in its environment, we need to install conda-libmamba-solver in it.
I tried adding an alias mamba=conda into the .bashrc for backward compatibility with previous tasks, but I could not get it to work. So if we make a new release, it should not be a micro bump.
Check passes: https://github.com/holoviz/holoviews/pull/5804

The only question is if we should altogether remove conda-mamba as input.

I guess all workflows pin the exact version, so when we upgrade them we can remove the option as well. If that's true I think it's fine to remove.


Missing docker-compose yaml

Unable to "docker-compose up" as there is no associated docker-compose yaml file available from the git clone.
Instructions:
Clone the DefectDojo Repo_
git clone https://github.com/DefectDojo/django-DefectDojo.git
Change directories into the newly created folder.
cd django-DefectDojo
.......
To run docker-DefectDojo and see the Dojo logs in the terminal, use: docker-compose up
To run docker-DefectDojo and get your terminal prompt back, use: docker-compose up -d

Try the dev branch, we are also currently working on upgrading that in the k8 branch.

Has been moved to master, closing.
Cheers!


FAILURE: Build failed with an exception.

I ran my project on android studio and it showed this exception. i am a newbie in flutter and I would appreciate a simple explanation
FAILURE: Build failed with an exception.

* Where:
Script 'C:\flutter_windows_2.10.2-stable\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1102

* What went wrong:
Execution failed for task ':app:compileFlutterBuildDebug'.
> Process 'command 'C:\flutter_windows_2.10.2-stable\flutter\bin\flutter.bat'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 23s
Running Gradle task 'assembleDebug'...                             24.4s
Exception: Gradle task assembleDebug failed with exit code 1

this is my Gradle.build

gradle
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
    throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
    flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
    flutterVersionName = '1.0'
}

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
    compileSdkVersion flutter.compileSdkVersion

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = '1.8'
    }

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.example.digitalcoin"
        minSdkVersion 23
        targetSdkVersion 32
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.debug
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

pubspec.yaml
name: digitalcoin
description: A new Flutter project.

# The following line prevents the package from being accidentally published to
# pub.dev using `flutter pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev

# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.0+1

environment:
  sdk: ">=2.16.1 <3.0.0"

# Dependencies specify other packages that your package needs in order to work.
# To automatically upgrade your package dependencies to the latest versions
# consider running `flutter pub upgrade --major-versions`. Alternatively,
# dependencies can be manually updated by changing the version numbers below to
# the latest version available on pub.dev. To see which dependencies have newer
# versions available, run `flutter pub outdated`.
dependencies:
  flutter:
    sdk: flutter

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^1.0.2
  flutter_speed_dial: ^5.0.0+1
  flutter_webview_plugin:
    git: https://github.com/nuc134r/flutter_webview_plugin.git
  flutter_inappwebview: ^5.3.2
  url_launcher: ^6.0.20
  flutter_launcher_icons: ^0.9.2

dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_launcher_icons: "^0.9.2"

flutter_icons:
  android: "launcher_icon"
  ios: true
  image_path: "asset/icons/digitalcoin.png"
  # The "flutter_lints" package below contains a set of recommended lints to
  # encourage good coding practices. The lint set provided by the package is
  # activated in the `analysis_options.yaml` file located at the root of your
  # package. See that file for information about deactivating specific lint
  # rules and activating additional ones.
  flutter_lints: ^1.0.0

# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec

# The following section is specific to Flutter.
flutter:

  # The following line ensures that the Material Icons font is
  # included with your application, so that you can use the icons in
  # the material Icons class.
  uses-material-design: true

  # To add assets to your application, add an assets section, like this:
  # assets:
  #   - images/a_dot_burr.jpeg
  #   - images/a_dot_ham.jpeg

  # An image asset can refer to one or more resolution-specific "variants", see
  # https://flutter.dev/assets-and-images/#resolution-aware.

  # For details regarding adding assets from package dependencies, see
  # https://flutter.dev/assets-and-images/#from-packages

  # To add custom fonts to your application, add a fonts section here,
  # in this "flutter" section. Each entry in this list should have a
  # "family" key with the font family name, and a "fonts" key with a
  # list giving the asset and other descriptors for the font. For
  # example:
  # fonts:
  #   - family: Schyler
  #     fonts:
  #       - asset: fonts/Schyler-Regular.ttf
  #       - asset: fonts/Schyler-Italic.ttf
  #         style: italic
  #   - family: Trajan Pro
  #     fonts:
  #       - asset: fonts/TrajanPro.ttf
  #       - asset: fonts/TrajanPro_Bold.ttf
  #         weight: 700
  #
  # For details regarding fonts from package dependencies,
  # see https://flutter.dev/custom-fonts/#from-packages

Hi @Bigmee, Thanks for filing the issue. The error doesn't say much about the cause of the build failure. Please share the output of flutter run -v along with the output of flutter doctor -v to investigate this issue further.

any news ?

@Joseph-Nathan  This issue is still under triage and missing the required  information to investigate further. In case you are having a build failure, I would suggest you please file a separate issue since this issue doesn't provide any specific info about the cause of the bug.

I will do just that. I have actually experienced a build failure. I shall
send the issue as soon as I can
Gracias
On Fri, Mar 25, 2022, 2:32 PM Mahesh Jamdade @.***>
wrote:

@Joseph-Nathan https://github.com/Joseph-Nathan This issue is still
under triage and missing the required information
https://github.com/flutter/flutter/issues/100477#issuecomment-1074791709
to investigate further. In case you are having a build failure, I would
suggest you please file a separate issue since this issue doesn't provide
any specific info about the cause of the bug.
—
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/100477#issuecomment-1079031898,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARZ24NKCSGQPACISNLKVHJDVBW555ANCNFSM5RHSKRVA
.
You are receiving this because you were mentioned.Message ID:
@.***>


chore: run lint check on prs

Describe your changes
Related Issues / Projects
Checklist

[x] I've manually tested my code
[ ] The changes pass pre-commit checks (make lint)
[ ] The changes follow coding style

wow u were fast

omg thank u this is so good

didn't know it was so simple


Move route finding methods from Lane to LaneBasedGtu

The methods:
LaneDirection getNextLaneDirection(final LaneBasedGTU gtu) and
Set getNextForRoute(final LaneBasedGTU gtu)
are in the LaneDirection class, which is a very strange place. It should be the GTU that knows where to go next, not the Lane... These methods need to be replaced by two methods in the LaneBasedGtu:
Lane getNextLaneForRoute(final Lane lane) and
Set getNextLanesForRoute(final Lane lane)
These changes have been incorporated in the branch feature-remove-directionality.

Resolved in commit https://github.com/averbraeck/opentrafficsim/commit/4fff42aecfedd244887692ea58640ab1dfab6513.


xteve opens then closes immediately

Something has changed within the past week and I can no longer open xteve. When I click on the executable, it opens then closes immediately.
Windows 10 Home. Running as administrator.
2020/12/29 09:12:30 [xTeVe] Version:               2.1.2 Build: 0121
2020/12/29 09:12:30 [xTeVe] Database Version:      2.1.0
2020/12/29 09:12:30 [xTeVe] System IP Addresses:   IPv4: 7 | IPv6: 10
2020/12/29 09:12:30 [xTeVe] Hostname:              DESKTOP-5P912Q0
2020/12/29 09:12:30 [xTeVe] System Folder:         C:\Users\Tiger.xteve
2020/12/29 09:12:30 [xTeVe] [ERROR] invalid character '\x00' looking for beginning of value () - EC: 0
I don't know what this error means.

Probably one of the configuration files is damaged or has been edited with an editor and the JSON files are incorrectly formatted. I would try an old backup.

An old backup of xteve?

xTeVe regularly makes backups of the configuration.

With you in this folder:
C:\Users\Tiger\.xteve\backup\

You can find everything else in the documentation

Nice! Got it working, thank you!
On Tue, Dec 29, 2020 at 11:12 AM marmei<EMAIL_ADDRESS>wrote:

xTeVe regularly makes backups of the configuration.
[image: grafik]
https://user-images.githubusercontent.com/43099631/103300969-82cf2100-4a00-11eb-84ce-6d51c48fc471.png
With you in this folder:
C:\Users\Tiger.xteve\backup\
You can find everything else in the documentation
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/xteve-project/xTeVe/issues/202#issuecomment-752166541,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOCOHDKDXZYQZOP65DZ5EQLSXIEXHANCNFSM4VNKAH2A
.

--
Sean P Jackson
Producer/Host - The Sean Jackson Show
http://thesjsshow.com
Operations Manager - WBGS Gospel Radio
http://wbgs.org
DJ Tiger - http://djtigerchicago.com
773.209.8502


Update scala-compiler, scala-library, ... to 2.12.15

Updates

org.scala-lang:scala-compiler
org.scala-lang:scala-library
org.scala-lang:scala-reflect

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

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

labels: library-update, semver-patch

Superseded by #76.


ValueError raised when aligned with NGMLR

Hello,
I wanted to thank you for creating and sharing this amazing tool. I've been testing it out with different aligners, and I've encountered an error when using SAVANA with a BAM file generated from the NGMLR aligner. Here's a screenshot of the error I received:

I was wondering if you've seen this error before, or if you have any ideas on how to resolve it?
Thank you in advance for your help.
Ling

Hi there, many apologies for my delayed response.
Unfortunately, SAVANA has not been tested on NGMLR. I will look into adding support for this aligner in future. From a quick glance, it looks like this might be arising from differences in the way supplementary alignments are reported by NGMLR.
We've tested using data aligned with minimap2 and winnowmap so would recommend realigning using one of these aligners for now.


[4.0] Assert error in vmod_clean()

First, thanks for this amazing plugin!
Some times I have this Panic message:
Assert error in vmod_clean(), vmod_cookie.c line 233:
  Condition((cookie)->magic == 0x3BB41543) not true.
thread = (cache-worker)
version = varnish-4.0.3 revision b8c4a34
ident = Linux,3.18.5-tinycore64,x86_64,-smalloc,-smalloc,-hcritbit,epoll
Backtrace:
  0x434eb4: varnishd() [0x434eb4]
  0x7f52e91fcb6b: /usr/local/lib/varnish/vmods/libvmod_cookie.so(vmod_clean+0xab) [0x7f52e91fcb6b]
  0x7f52e91fcc1b: /usr/local/lib/varnish/vmods/libvmod_cookie.so(vmod_parse+0x3b) [0x7f52e91fcc1b]
  0x7f52ea6d3be4: ./vcl.gY_4FnB8.so(VGC_function_vcl_recv+0x274) [0x7f52ea6d3be4]
  0x44178c: varnishd() [0x44178c]
  0x441c65: varnishd(VCL_recv_method+0x45) [0x441c65]
  0x439c18: varnishd(CNT_Request+0x918) [0x439c18]
  0x42f1db: varnishd(HTTP1_Session+0x78b) [0x42f1db]
  0x43d308: varnishd() [0x43d308]
  0x437d61: varnishd(Pool_Work_Thread+0x381) [0x437d61]
req = 0x7f52e342b020 {
  sp = 0x7f52e340e3a0, vxid =<PHONE_NUMBER>,  step = R_STP_RECV,
  req_body = R_BODY_NONE,
  restarts = 0, esi_level = 0,
  sp = 0x7f52e340e3a0 {
    fd = 17, vxid = 65539,
    client = <IP_ADDRESS> 60774,
    step = S_STP_WORKING,
  },
  worker = 0x7f52e6163c40 {
    ws = 0x7f52e6163e60 {
      id = "wrk",
      {s,f,r,e} = {0x7f52e6163440,0x7f52e6163440,(nil),+2048},
    },
  VCL::method = RECV,
  VCL::return = abandon,
  },
  ws = 0x7f52e342b1b8 {
    id = "req",
    {s,f,r,e} = {0x7f52e342d010,+288,(nil),+57360},
  }

Maybe I can give some more details if you need.
Thanks.

Are you using the latest version from git master?
Are you seeing multiple ones like this, or different panics?

I compiled it at commit https://github.com/lkarsten/libvmod-cookie/commit/b1fc260ffd04e668e19b2be8dc23eed340034080.
I have multiple ones like this one, always the same one.

Hi. Please try latest master (3a2a9ae).

Hi. Did this fix your issue?

Sorry, I will not have enough time to make any test (and I don't work on the related project anymore).
As other tickets on the same subject have been closed, I considered than the bug had been fixed.
Thanks.


Support for validating test cards

I had a PR a long time ago regarding support for test cards (https://github.com/continuationlabs/credit-card/pull/17) - the response was reasonable given that if you're using a test card number that's valid and it's not being considered as valid, it should be a bug, but what about scenarios where the card number is invalid?
For example:
http://developer.ean.com/docs/test-booking-procedures/
Uses<PHONE_NUMBER>999999 which is an invalid number.

Can you try defining your own card type - https://github.com/continuationlabs/credit-card#defining-custom-card-types. Using that approach, you should be able to validate cards however you choose.


Add two video links

I'd like to share video recordings of two webinars in a mini academy program in IBM China :

Matt Rutkowski's speech about OpenWhisk and Serverless overview.
Alex Glikson's speech about building IoT application with OpenWhisk.

These two videos are valuable to people who want to understand OpenWhisk and use OpenWhisk. Hope to share with all people around the world.

LGTM.

this PR might have been forgotten/overlooked?

looks like it - needs a rebase now.


Derelict borg icon fix

About the PR

Makes derelict borgs see job icons.
Why / Balance

Found this little issue during testing.
Technical details

Added a component
Media

No
Requirements

[X] I have read and am following the Pull Request and Changelog Guidelines.
[X] I have added media to this PR or it does not require an ingame showcase.

Breaking changes

Changelog

oh my god

happens to the best of us


add Set.isSubsetOf

Codecov Report

Merging #2128 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master    #2128      +/-   ##
============================================
+ Coverage     97.37%   97.38%   +<.01%
- Complexity     5196     5197       +1
============================================
  Files            92       92
  Lines         11945    11947       +2
  Branches       1587     1587
============================================
+ Hits          11632    11634       +2
  Misses          157      157
  Partials        156      156

Impacted Files
Coverage Δ
Complexity Δ

vavr/src/main/java/io/vavr/collection/Set.java
80% <100%> (+13.33%)
3 <1> (+1)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a6ae155...e705084. Read the comment docs.