[BOT PR] to update dependencies of istio

This PR will be merged automatically once checks are successful.
none

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: istio-testing
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: hklai
If they are not already assigned, you can assign the PR to them by writing /assign @hklai in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@istio-testing: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
dc5667d32dbdf77a47fbe4b5972e15090c6df113
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
dc5667d32dbdf77a47fbe4b5972e15090c6df113
link
/test istio-unit-tests

prow//e2e-simpleTests-minProfile.sh
dc5667d32dbdf77a47fbe4b5972e15090c6df113
link
/test e2e-simpleTestsMinProfile

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
dc5667d32dbdf77a47fbe4b5972e15090c6df113
link
/test istio-unit-tests

prow//e2e-simpleTests-minProfile.sh
dc5667d32dbdf77a47fbe4b5972e15090c6df113
link
/test e2e-simpleTestsMinProfile

prow/e2e-mixer-no_auth-mcp.sh
dc5667d32dbdf77a47fbe4b5972e15090c6df113
link
/test e2e-mixer-no_auth-mcp

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
dc5667d32dbdf77a47fbe4b5972e15090c6df113
link
/test istio-unit-tests

prow//e2e-simpleTests-minProfile.sh
dc5667d32dbdf77a47fbe4b5972e15090c6df113
link
/test e2e-simpleTestsMinProfile

prow/e2e-mixer-no_auth-mcp.sh
dc5667d32dbdf77a47fbe4b5972e15090c6df113
link
/test e2e-mixer-no_auth-mcp

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
dc5667d32dbdf77a47fbe4b5972e15090c6df113
link
/test istio-pilot-e2e-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
dc5667d32dbdf77a47fbe4b5972e15090c6df113
link
/test istio-unit-tests

prow//e2e-simpleTests-minProfile.sh
dc5667d32dbdf77a47fbe4b5972e15090c6df113
link
/test e2e-simpleTestsMinProfile

prow/e2e-mixer-no_auth-mcp.sh
dc5667d32dbdf77a47fbe4b5972e15090c6df113
link
/test e2e-mixer-no_auth-mcp

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
dc5667d32dbdf77a47fbe4b5972e15090c6df113
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-pilot-multicluster-e2e.sh
dc5667d32dbdf77a47fbe4b5972e15090c6df113
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Request: Wrapper for GetVolumeInformationW

I'd like to request a wrapper for GetVolumeInformation/GetVolumeInformationA/GetVolumeInformationW. Probably the last one, since that speaks Unicode.
(Use case: I need to do something cross-plaform, but don't have a modern Windows dev environment. So I want to cross-compile. Thanks.)

A new version of the crate is coming out probably on April, but note that you don't need to wait. You can clone the repo locally or specify the dependency straight from GitHub.
Let me know if this worked for you.

That's great! I got it working. Found a bug, though.
This works:
use anyhow::{Error};
/// Implementation for Windows
#[cfg(target_os="windows")]
pub fn get_id0() -> Result<String, Error> {
    const CDRIVE: &str = "C:\\";            // name to ask for
    let mut disk_serial_number: u32 = 0;    // destination for serial number
    let mut name = String::new();   // destination for name
    let mut file_system_name = String::new(); // destination for file system name
    winsafe::GetVolumeInformation(
        Some(CDRIVE),
        Some(&mut name),
        Some(&mut disk_serial_number),
        None,
        None,
        Some(&mut file_system_name))?;
    println!("Disk serial number: {}", disk_serial_number); // ***TEMP***
    println!("File system name: {}", file_system_name); // ***TEMP***
    Ok(format!("{:032x}", md5::compute(disk_serial_number.to_le_bytes())))
}

fn main() {
    println!("Hello, world from id0={}", get_id0().unwrap());
}

But I had to provide empty strings for name and file_system_name, which are optional values. If I use None there, I get
wine winutiltest.exe
thread 'main' panicked at 'Trying to use an unallocated WString buffer.', /home/john/.cargo/git/checkouts/winsafe-cbd1b977182a662f/e80fcd8/src/kernel/utilities/w_string.rs:186:20
stack backtrace:
   0: rust_begin_unwind
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src/panicking.rs:498:5
   1: core::panicking::panic_fmt
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\core\src/panicking.rs:116:14
   2: winsafe::kernel::utilities::w_string::WString::as_mut_ptr::{{closure}}
             at /home/john/.cargo/git/checkouts/winsafe-cbd1b977182a662f/e80fcd8/src/kernel/utilities/w_string.rs:186:8
   3: core::option::Option<T>::map_or_else
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\library\core\src\option.rs:977:21
   4: winsafe::kernel::utilities::w_string::WString::as_mut_ptr
             at /home/john/.cargo/git/checkouts/winsafe-cbd1b977182a662f/e80fcd8/src/kernel/utilities/w_string.rs:184:3
   5: winsafe::kernel::funcs::GetVolumeInformation
             at /home/john/.cargo/git/checkouts/winsafe-cbd1b977182a662f/e80fcd8/src/kernel/funcs.rs:439:5
   6: winutiltest::get_id0
             at /home/john/projects/rustcode/winutiltest/src/main.rs:10:5
   7: winutiltest::main
             at /home/john/projects/rustcode/winutiltest/src/main.rs:23:42
   8: core::ops::function::FnOnce::call_once
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\library\core\src\ops\function.rs:227:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

This is happening in winsafe::kernel::funcs::GetVolumeInformation
    `name_buf.0.as_mut_ptr(),`

and at
`sys_name_buf.0.as_mut_ptr(),`

so, apparently applying as_mut_ptr() to a null pointer is not allowed.

Oops... my bad. It should work now.


Dracula GRUB Theme.

GRUB Theme
It would be so cool to have a Dracula GRUB Theme.I was thinking some thing like pop-os GRUB theme but instead of pop-logo we could have Dracula Logo.

why closed?

why closed?

We are discussing via this issue now: https://github.com/dracula/dracula-theme/issues/490

We are discussing via this issue now: https://github.com/dracula/dracula-theme/issues/490


Bug with skinwalkers mod

It seems there is a bug between Lethal Quantities and Skinwalkers, it's a shame since they are both god tier mods. When i use both the skinwalker mod doesn't seem to care about the config file and puts either everything on true or everything on false depending the version (i tried with multiple versions of both mods)

Can you elaborate? Do you mean that every enemy has voices on? I haven't tested it myself, but this seems rather serious.

Yes depending of the version on the mods they have either all voices on or all voices off and i tested with only those 2 mods.
On Lethal Quantities i'm using scrap and daytime, enemies and outside spawns modifications
On skinwalkers i'm using only the masked on true end frequency 2
I need more testing tho, i'll do that tomorrow !

Ok thanks! I'm not entirely sure why they would all have voices on or off, but when I get the time I'll try to debug it myself, with the latest version of skinwalkers.
As for the scrap and daytime enemy configs, the rarity is currently bugged, so if you don't put in a value for the rarity, it will default to 0. It should be the same as issue #29 , although if your case is different, please open another ticket!

Thanks !
I looked into issue 29 but i think it's a different issue because i didn't eneble global config

I think I should be able to fix the skinwalkers incompatibility next update, for the latest version of both mods. It seems like when I cloned certain enemies, it changed the name of the GameObject, which skinwalkers uses to check if the enemy is enabled. As a result, skinwalkers used the other enemies option for all enemies.
For the daytime and scrap configs, can you provide a profile code or your configs? What values are you trying to change? The daytime enemies is currently bugged unless you set the rarity for every enemy, but the scrap config should work without error, assuming both are enabled in the global Configuration.cfg file.

Oh i see, nice ! Thanks again :)
For the other issue it was enabled on configuration.cfg file but i think i understand why it wasn't working but i didn't had time to try it out yet.
I ported my configs from 1.0.14 and in the new version the rarity setting changed enplacement before it was like this :
[EnemyTypes.HoarderBug]
Rarity = 70
and i still have this one but it changed and now like this :
Rarity of a(n) Hoarding bug relative to the total rarity of all other enemy types combined. A higher rarity increases the chance that the enemy will spawn. The default value is 0. This option can inherit from the global config with the value GLOBAL and from the game with the value DEFAULT. If no value or DEFAULT is present in the global config, then this value will be the DEFAULT for this moon.
Setting type: String
Default value: GLOBAL
HoarderBug =
Same thing for scraps.
So i assume i now have to put the value there, I just didn't see i had 2 rarity settings...
For Enemies.cfg it was working because i only changed the global SpawnAmountCurve there and that didn't change emplacement.
Maybe i should delete the files and re-generate a clean version of it.

Yes, ideally you would back up your old files and port over everything to the new files. I moved the rarity section to its own section since I imagined it would be more convenient to have them all in the same location.

Yeah i think it's definitely a good idea for ergonomy, maybe even better if you put the sentence only once to explain the rarity section and then you have all the settings. It's also important to have the vanilla value to compare with it to know what you want more of etc... kinda like this :
[Rarity]
Rarity of an enemy relative to the total rarity of all other enemy types combined. A higher rarity increases the chance that the enemy will spawn. The default value is 0. This option can inherit from the global config with the value GLOBAL and from the game with the value DEFAULT. If no value or DEFAULT is present in the global config, then this value will be the DEFAULT for this moon.
Setting type: String
#BaboonHawk Default value: 15
BaboonHawk =
#Blob Default value: 20
Blob =
#Centipede Default value: 60
Centipede =
etc...

For sections like rarity, that's a good idea. I'll implement it next update, and provide the sentence on the first enemy(sorted alphabetically). I did notice that reading the sentence over and over again seemed rather annoying. I hope that people don't accidentally skip it though.

Haha yeah it's easy to skip things and there is a lot of things in those cfgs


retrolambda debug-0 ERROR

Any error with retrolambda debug-0, you need to upgrade your retrolambda, in my case 2018/02/07 is the:

retrolambda 3.7.0
so to upgrade just change it in your gradle, in my case like this:
me.tatarka:gradle-retrolambda:3.7.0
sync your proyect againg and it's going to be solved.

Does it work with the updated Retrolambda?


Fix MPI tests on Apple Silicon

          Not everything works on ARM:

LoadError: User-defined reduction operators are currently not supported on non-Intel architectures.
See https://github.com/JuliaParallel/MPI.jl/issues/404 for more details.

see https://github.com/trixi-framework/Trixi.jl/actions/runs/8865649949/job/24342153523?pr=1562#step:7:1124
We need to update our CI settings to reflect this - can we still use older versions/architectures for some MacOS tests?
Originally posted by @ranocha in https://github.com/trixi-framework/Trixi.jl/issues/1562#issuecomment-2081423259

See also #1838.

Could we use the Base.min for the MPI reduction explicitly? I would not expect significant performance gains there with our version

Yes, this works! Also not too many lines are affected:
https://github.com/trixi-framework/Trixi.jl/commit/2393f83be3cf6672375b9b8781ad9c1295c90641

Could you please add some comments explaining why we need Base. there and make a PR?

Ping @benegee - would be a nice PR

@vchuravy miraculously just created https://github.com/JuliaParallel/MPI.jl/pull/871
This could be used to fix the follow-up issues that appeared in #2054.

I think my PR is ready for a first test in a user package.

Intermediate status
I split this into smaller issues and PRs:

#2075 is an all new error, which we encountered during our tests when switching to aarch64. So far I have no idea how to fix it.

#2054 (which solves my initial problem with custom min and max operations on ARM) could be merged in my opinion. Changing Trixi.min to Base.min seems to be a mild change only and is not performance critical here.

#2066 is the first PR to resolve remaining issues with SVectors in MPI reductions for integrated quantities in the analysis callbacks. This PR is based on @vchuravy's magical new macro https://github.com/JuliaParallel/MPI.jl/pull/871. I cannot really judge this approach. To me it seems very elegant. It requires only few changes in our code, and it will be easy to define more complex custom reduction operators in analogy in the future. It could also be used to solve the min/max issue above. Of course the PR would have to get accepted for MPI.jl first.

#2067 is the second PR to resolve the SVector issue. This is based on @ranocha's and @vchuravy's suggestion to do a reinterpretation as Ptr{Float64}. To me this seems like the C approach. It just works and does not require any additional tricks. The code currently looks clumsy because of the distinction between scalars and a vectors. But some Julian wizard could probably come up with a single expression here.

I could use some advice here on how to proceed. @vchuravy @ranocha @sloede

Please ping me for a review of the PR solving your current issue. We can discuss the rest later.
It would be good to hear from @vchuravy what he thinks about his MPI.jl PR to decide how to proceed with the other parts.


Add Command

Add cmd /notive to send message to all tickets active
Add cmd /closerequest

Hey, those suggestions were also part of your previous issue which I closed and noted down. I might consider them in the future but for now I won't be adding commands that do bulk stuff like sending a message or embed in all open tickets.
Closing a ticket with a request is also not currently how the bot works, so I might add that in the future but not for now.
Thanks for the ideas.


Running with local parse server

Hello,
I'm trying to run a script with this gem to operate on my local parse server (http://localhost:1337/parse)
I'm using the master branch because I didn't see a way to include a server url in the previous version.
Parse.create :application_id      => "xxx",
:master_key          => "xxx",
:host                => 'http://localhost:1337',
:path                => '/parse'
Then I try:
me = Parse::User.authenticate("username", "password")
but it breaks with the error: uninitialized class variable @@client in Parse
Any help would be appreciated. Thank you!

@ivansifrim you have to pass along the client you just created:
client = Parse.create ...
me = Parse::User.authenticate("username", "password", client)

This worked - thanks!


Port 'HTTP Request' demo to Python

For porting the demo I followed the JavaScript implementation. Note that the Vala implementation is a bit different, because it handles exceptions. If the implementations should be as close to each other as possible this difference should be resolved eventually, I think.
Like in #62 I made all implementations use the Soup status instead of the status code to avoid magical numbers like 200.
The Vala implementation didn't work for me, so I fixed it. There seems to be an underlying issue with how Vala code is formatted automatically:
@"https://api.wikimedia.org/feed/v1/wikipedia/$language/featured/$(date.format ("%Y/%m/%d"))";

gets formatted as
@"https://api.wikimedia.org/feed/v1/wikipedia/$language/featured/$(date.format (" % Y / % m / % d "))";

which doesn't work any more (due to the added spaces). I think the Vala formatting would have to be fixed in general, but I didn't attempt to do that, so I only fixed this demo.

@rolandlo can you open an issue at uncrustify about the wrong code formatting?

@rolandlo can you open an issue at uncrustify about the wrong code formatting?

OK, I will.


When I first click "Articles" page 's categories, it doesn't work.

I must refresh the website, it can work.

When it works, I refresh it again and it fails again

@moluuser Does this occur during local testing or after you've published your site?

@moluuser Does this occur during local testing or after you've published your site?

Both ways will appear. I use github and cloudflare page to publish my site.

@moluuser Does this occur during local testing or after you've published your site?

Both ways will appear. I use github and cloudflare page to publish my site.

What does your file structure look like? What does your Hugo config look like? What exactly is the problem - can you either showcase screenshots or provide us a link to your website?

Hugo config:
baseurl: "https://blog.moluuser.com"
languageCode: "en-us"
title: "moluuser's Blog"
theme: "hugo-tania"
paginate: 6
copyright: "CC BY-NC 4.0 {year} © moluuser"

params:
  # Emoji will show before the blog title on site navbar.
  titleEmoji: "🍭"
  # Logo will show before the blog title on site navbar.
  titleLogo:
  socialOptions:
    email:
  enableFootnotes: true
  author: "moluuser"

  # Comments settings
  comments:
    enabled: true
    provider: giscus

    giscus:
      repo: moluuser/blog_comments
      id: R_kgDOGmdZGg
      category:
        name: Announcements
        id: DIC_kwDOGmdZGs4CAeb1

  # Limit how many categories filter show above search input.
  maxCategoryToShow: 10
  mathjax: true

menu:
  header:
    - name: Articles
      url: "/articles/"
      weight: 1
    - name: Time
      url: "/time/"
      weight: 2
    - name: "About"
      url: "/about/"
      weight: 3
  footer:
    - name: RSS
      url: "/index.xml"

markup:
  highlight:
    noClasses: false
    lineNos: true
    guessSyntax: true
  goldmark:
    renderer:
      unsafe: true

outputs:
  home: ["HTML","RSS", "JSON"]

The problem occurred at https://blog.moluuser.com/articles/

Hugo config:
baseurl: "https://blog.moluuser.com"
languageCode: "en-us"
title: "moluuser's Blog"
theme: "hugo-tania"
paginate: 6
copyright: ""

params:
  # Emoji will show before the blog title on site navbar.
  titleEmoji: "🍭"
  # Logo will show before the blog title on site navbar.
  titleLogo:
  socialOptions:
    email:
  enableFootnotes: true
  author: ""

  # Comments settings
  comments:
    enabled: true
    provider: giscus

    giscus:
      repo:
      id:
      category:
        name: Announcements
        id:

  # Limit how many categories filter show above search input.
  maxCategoryToShow: 10
  mathjax: true

menu:
  header:
    - name: Articles
      url: "/articles/"
      weight: 1
    - name: Time
      url: "/time/"
      weight: 2
    - name: "About"
      url: "/about/"
      weight: 3
  footer:
    - name: RSS
      url: "/index.xml"

markup:
  highlight:
    noClasses: false
    lineNos: true
    guessSyntax: true
  goldmark:
    renderer:
      unsafe: true

outputs:
  home: ["HTML","RSS", "JSON"]

This problem occurred at https://blog.moluuser.com/articles/

Sorry for so late to reply you, I am busy about the company work recently.
Can you give me some link which can reproduce this problem?
Or press F12, to see if there are any error. I think it is some javascript code get error.


Adds a codespell linter

Fixes #1536

The log says

Running codespell on '' with the following options...

so is it actually doing anything?

Good catch. I thought all of the crate issues were in the ./target folder, which isnt in the repo. But it looks like there are a couple in other places. Will fix now.

Linter is working now! Its currently failing on a couple errors (showing the value). Once @charliermarsh confirms he wants it I will resolve those errors and get this thing merged.

@colin99d - I def appreciate this, but I'd like to keep the development tooling within the Rust ecosystem where possible. Would you mind modifying this to use the typos crate instead?

@charliermarsh I definitely agree, I just switched it and some more errors were found. Let me fix the spelling mistakes and then we should be good to go.

Thanks!


Issues with youtube feeds

If the url has -, the media preview will not display correctly. url after - is truncated.
Line endings in media:description are not treated. Maybe replace with
?
Also, it would be nice to have an option just display a thumbnail rather than a whole embedded player (slow).

I'll evaluate 3, for 1 and 2 I'll need more details, can you provide some samples?

From feed: https://www.youtube.com/feeds/videos.xml?channel_id=UCgFvT6pUq9HLOvKBYERzXSQ
Entry: Goodbye.
Display:

HTML:
Preview section:

Description section:

Original youtube page description:

thanks, I'll look into this

Fix for 1,3
https://github.com/SmartRSS/Smart-RSS/blob/7cc876d467338a8d8059dff2a4c129ee32c21e9c/src/scripts/app/views/contentView.js#L241-L248
                            case 'youtube':
                                const videoId = /^.*\/(.*)\?(.*)$/.exec(data.enclosure.url)[1];
                                if (false){ // need to add an option
                                    enclosure = document
                                        .createRange()
                                        .createContextualFragment(enclosureYoutube);
                                    const iframe = enclosure.querySelector('iframe');
                                   iframe.src = `https://www.youtube.com/embed/${videoId}`;
                                } else {
                                   enclosure = document
                                       .createRange()
                                       .createContextualFragment(enclosureImage);
                                   const img = enclosure.querySelector('img');
                                   img.src = `https://img.youtube.com/vi/${videoId}/hqdefault.jpg`;
                                   img.alt = videoId;
                                }
                                break;

Fix for 2
https://github.com/SmartRSS/Smart-RSS/blob/7cc876d467338a8d8059dff2a4c129ee32c21e9c/src/scripts/app/views/contentView.js#L319
                        var fragment;
                        switch (data.enclosure.medium) {
                            case 'youtube':
                                fragment = document.createRange().createContextualFragment(content.replace(/\r/g, '
'));
                                break;
                            default:
                                fragment = document.createRange().createContextualFragment(content);
                        }

thanks for your contributions, I'll take a look at them when I find some time, though for the slowness I had loading player on demand in mind so you don't lose ability to play video inline


Add methods for exposing collection entries as Observable

See #5...

[x] ObservableList.Observe
[ ] ObservableDictionary.Observe

I'm going to test this in practical project a bit before merging, because there are some questions to answer, like:

do we want to expose the interal storage (so, not further auto-observable) or the collection itself as read-only (so auto-observable).
do we want a separate IReadOnlyObservableList/Dictionary interface for better code clarity?
(implementation detail, but still need to check) is it enough to set valid=true on getting the value?

Codecov Report
Base: 99.12% // Head: 99.14% // Increases project coverage by +0.01% :tada:

Coverage data is based on head (a88a1db) compared to base (e30665d).
Patch coverage: 100.00% of modified lines in pull request are covered.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #15      +/-   ##
==========================================
+ Coverage   99.12%   99.14%   +0.01%
==========================================
  Files          19       20       +1
  Lines         917      934      +17
==========================================
+ Hits          909      926      +17
  Misses          8        8

Impacted Files
Coverage Δ

src/TinkState/Runtime/Internal/ObservableList.cs
100.00% <100.00%> (ø)

...nternal/ObservableList_ObservableOfReadOnlyList.cs
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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

Well, it works and it fulfills my intended use cases so far, so let's merge it and change stuff later if new ideas/examples arise.


Add failure per seconds as a series in the chart

While using locust it's very useful to know the % of requests failing. However when pushing heavy loads against a GCP service it's common the auto-scaling can't cope with demand. Having the failures being represented in the chart as a series is very valuable to understand how the scaling overall is working.

Thanks for the PR! I'm not sure that I like the FPS acronym though. Maybe we could call it failures/s in the UI, and current_fail_per_sec in the JSON-blob?

Thanks for the PR! I'm not sure that I like the FPS acronym though. Maybe we could call it failures/s in the UI, and current_fail_per_sec in the JSON-blob?

I changed the UI to show 'Failures/s' as you suggested.
Regarding changing current_fps to current_fail_per_sec, if that's the case, then all other variables/methods named _fps should be changed as well. Do you really think that's the case?
Sometimes I like using an acronym that makes my code easier to read and nicer to the eyes. But it's a matter of taste I guess.

Regarding changing current_fps to current_fail_per_sec, if that's the case, then all other variables/methods named _fps should be changed as well. Do you really think that's the case?

Hmm, I'm not aware of any existing use of the fps acronym in the existing code?
I'm not against acronyms per se, but I don't really associate FPS with "failures per second", as opposed to RPS which I think is more commonly used for "requests per second" (even though I think one could make the argument that "requests/s" would be better as well).

Hmm, I'm not aware of any existing use of the fps acronym in the existing code?

I meant the new variables and methods introduced as part of this PR. It's not just the current_fps variable. In general I agree that FPS doesn't immediately translates to 'failures per second' but in the context of the code it sounded fair to me.
I have no problem in renaming all variables/methods, just wanted to confirm.

I meant the new variables and methods introduced as part of this PR. It's not just the current_fps variable.

Ah, ok, got you! The reason I mentioned the JSON-blob was because even if not intended, it'll become part of a somewhat semi-public API, since it's not uncommon for people to request the stats endpoint "manually". Though, I do think it's better to avoid fps in variable names in the other code as well (though I think it's perfectly fine in CSS classes).

@heyman done.

Great! Thanks!


Merge remote-tracking branch 'upstream/stable' into merge_stable

Conflicts:
changelog.dd

So that we can publish the changelog for the beta.

Let's remove the array bool thing first #1046.

Let's remove the array bool thing first #1046.

OK, it's merged. I think this PR should be updated to merge from latest stable branch.

Updated

Thanks.


Implement support for clean dependency fetch

It's would be useful to add --cleanup flag to  escape deps fetch command. This flag will signal Escape to remove deps directory before fetching dependencies, aka clean run.

The use case here is to remove old dependencies

Rather to remove dependencies files that was already removed from escape.yml


Save Data to local database when app is in quit/exit stage Silent notification

Hi Am able to get Push notification when app is in foreground/background
but I want to save to payload when app is in quit/exit stage
This is about silent notification by setting the
content_available: 1
but still no luck can you help me out to save the data to UserDefaults

There's not enough information here to debug. Please comment with the code you're using to save data from your notification handler as well as your application quit handler implementation, then I'll reopen the issue.


Sync the NTP timestamps for SRT,RTP, RTMP streams. [ enhancement ]

Please add synchronizing media streams function. This is a unique feature for the project and can attract users like OBS.
This is already implemented in RTP.
SRT?, RTMP? implementation is necessary.
Larix Broadcaster (aka mobile obs) streaming client has added a feature to send NTP timestamps for all supported streams:
Insert SEI time metadata and specify NTP server, this allows synchronizing streams on server side.
https://softvelum.com/timesync/

RTP - Synchronizing media streams:
Implementation of NTP is not required to use RTP...
However, if NTP timestamp implemented in RTCP, it can be used to synchronize media streams even from different host...
https://gist.github.com/simonkim/a9a3aa4f1ca04448c64212b3b079d107

Synchronizing Streams via SRT:
Some SRT encoders like new JVC-cams , Haivision-encoder and software encoder LarixBroadcaster (iPhone/Android) can do this:
synchronize internal clock by time-server (usually by NTP protocol).
It means all encoders have one clock:if one camera has time 11:59:59 then other cameras have same time.
send this time inside encoded feed (SEI metainfo)
https://github.com/Haivision/srt/issues/2044#issuecomment-865034230
https://manpages.ubuntu.com/manpages/focal/man1/srt-multiplex.1.html

This is an interesting idea we will discuss in the future. However, this also requires integration with FFmpeg.
Thank you very much.


[bug] yarn tauri build : endless process

Describe the bug
it gets stuck at this stage (no error) during hours

Reproduction
yarn tauri build
Expected behavior
that building let it end !
Platform and versions
On Windows 10

Operating System - Windows, version 10.0.19041 X64
Webview2 - 97.0.1072.55

Node.js environment
  Node.js - 17.0.1
  @tauri-apps/cli - 1.0.0-beta.10
  @tauri-apps/api - Not installed

Global packages
  npm - 8.1.0
  yarn - 1.22.5

Rust environment
  rustc - 1.57.0
  cargo - 1.57.0

App directory structure
/node_modules
/src
/src-tauri

App
  tauri.rs - 1.0.0-beta.8
  build-type - bundle
  CSP - default-src blob: data: filesystem: ws: wss: http: https: tauri: 'unsafe-eval' 'unsafe-inline' 'self' img-src: 'self'
  distDir - ../..
  devPath - http://xxxx

On first glance i'd say your distDir is the problem. ../.. has a really high chance that it includes source files, the node_modules dir and/or the target dir, which the bundler will all include into the binary. This will take a long time and depending on the size of these files might crash your system at some point.
The distDir is supposed to only include your dist files from your frontend (aka the build output if you have a bundler or just the plain html/js files if you go the vanilla route).

Thanks


Final scratch dir attempt

Mayor changes
This PR unifies the use of the ScratchDir. It is now guaranteed, that files are cleaned up if the calculation exits with no error. (If the user passes WorkDir(cleanup_at_end=False) the files are retained).
A WorkDir is passed from the top of the call stack to the bottom. This allows the user to change the WorkDir if necessary.
Got rid of some special cased keyword arguments for DMRG and moved them into an explicit DMRG_solver_kwargs.
This way we can catch arguments that are supplied and do nothing.
It is probably a good idea to do the same for SHCI specific keywords @lweisburn .
It is probably a good idea to get rid of the dictionary altogether and to replace it with a dataclass.
Minor changes
If the __init__ of a class was just populating the attributes, then I replaced the class definition with attrs.define.
On the way I did a lot of type hinting. It is probably a good idea to double check my assumptions in review.
Additionally, I did some refactoring, where explicit open-close pairs where replaced with context managers.
The same was true for multiprocessing Pools.
Here and there I encountered constructs that could be simplified a lot
veffs = []
[veffs.append(result.get()) for result in results]
# becomes
veffs = [result.get() for result in results]

or
self.frozen_core = False if not fobj.frozen_core else True
# becomes
self.frozen_core = fobj.frozen_core

or
rdm_return = False
if relax_density:
    rdm_return = True
# becomes
rdm_return = relax_density

I added both you @lweisburn and @ShaunWeatherly as reviewers and will not merge gefore there are two approvals, since it is such a long PR.


Simplify Release Notes section of the PR checklist

Changes

This commit simplifies the release notes section by replacing the existing
comment with a default NONE release note. In addition it updates the
submitter checklist instruction to expect the submitter to update the release
note if needed. In addition, it adds two new items to the checklist - 1. to add
a kind label using the /kind command and 2. add an action required: to the
release note if needed.
Fixes #5093
Signed-off-by: Dibyo Mukherjee<EMAIL_ADDRESS>Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[ ] Docs included if any changes are user facing
[ ] Tests included if any functionality added or changed
[x] Follows the commit message standard
[ ] Meets the Tekton contributor standards (including
functionality, content, code)
[ ] Release notes block below has been filled in
(if there are no user facing changes, use release note "NONE")

Release Notes

NONE

As a case in point, I copy pasted the example release note from the instructions but because I forgot to remove the extra space between the backticks and release-note, I got the do-not-merge/release-note-label-neeeded label 😒

/kind misc

/retest
cloud event unit test flaky (again..)


readtable decimal option not working

french csv format has a comma ',' as decimal separator. The decimal=',' option do not have any effect, for eg. 3,14159 value is converted as "3,14159" string.
Problem solved by inserting in io.jl at line 179 :
if chr==o.decimal
chr='.'
end

Closed in favor of CSV.jl functionality.


Fix bug in ListMembers widget

Fix bug that caused ListMembers widget to fail to return correct HTML.
See working ListGroups widget
See working ListMembers widget

LGTM. While you're here, could you also call .strip() on the inputs?
Excellent idea -- I have now done so!


Only write to state on genesis and block validation

This PR changes the serial scheduler to only write to the database backing the merkle tree on when force=True is given to scheduler.complete (genesis), or when the expected state hash equals the state transitions caused by transations in all valid batches (block validation). The state root obtained by the block publisher is calculated, but not persisted to the database.

I tested by running the poet-smoke test locally and saw the following error. It seems like a timing issues and does not happen every time the test is run (2 out of 4 tests):
| [20:49:40.121 CRITICAL publisher] on_chain_updated exception.
validator-0_1              | [20:49:40.122 ERROR    publisher] 'hash ceeb977a59bce59cc69c992c8f501687dbeb77d20fa8b2194017a26de874786e not found in database'
validator-0_1              | Traceback (most recent call last):
validator-0_1              |   File "/project/sawtooth-core/validator/sawtooth_validator/journal/publisher.py", line 322, in on_chain_updated
validator-0_1              |     self._candidate_block = self._build_block(chain_head)
validator-0_1              |   File "/project/sawtooth-core/validator/sawtooth_validator/journal/publisher.py", line 107, in _build_block
validator-0_1              |     self._state_view_factory)
validator-0_1              |   File "/project/sawtooth-core/validator/sawtooth_validator/journal/block_wrapper.py", line 131, in state_view_for_block
validator-0_1              |     return state_view_factory.create_view(state_root_hash)
validator-0_1              |   File "/project/sawtooth-core/validator/sawtooth_validator/state/state_view.py", line 48, in create_view
validator-0_1              |     merkle_db.set_merkle_root(state_root_hash)
validator-0_1              |   File "/project/sawtooth-core/validator/sawtooth_validator/state/merkle.py", line 66, in set_merkle_root
validator-0_1              |     self._root_node = self._get_by_hash(merkle_root)
validator-0_1              |   File "/project/sawtooth-core/validator/sawtooth_validator/state/merkle.py", line 77, in _get_by_hash
validator-0_1              |     raise KeyError("hash {} not found in database".format(key_hash))
validator-0_1              | KeyError: 'hash ceeb977a59bce59cc69c992c8f501687dbeb77d20fa8b2194017a26de874786e not dator-0_1              | KeyError: 'hash ceeb977a59bce59cc69c992c8f501687dbeb77d20fa8b2194017a26de874786e not found in database'

ditto @agunde406


Format created to be compatible with "docker image inspect"

Description
Please correct me if I'm missing something. Looks like Created in ImageInspect should be formatted by RFC3339Nano so that it can be compatible with docker image inspect.
https://github.com/moby/moby/blob/32e5fe5099d2806df489feb3e15d8e3e6eca73c1/daemon/images/image_inspect.go#L65
Before
$ nerdctl inspect alpine:3.10.2 | jq -r .[0].Created
2019-08-20 20:19:55.211423266 +0000 UTC

After
$ nerdctl inspect alpine:3.10.2 | jq -r .[0].Created
2019-08-20T20:19:55.211423266Z

Docker
$ docker image inspect alpine:3.10.2 | jq -r '.[0].Created'
2019-08-20T20:19:55.211423266Z

The error says "panic: test timed out after 10m0s". What should I do?
https://github.com/containerd/nerdctl/runs/5710334166?check_suite_focus=true

Restarted CI, now passing


chore: fix compaction caused race condition

I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?
Set max_files_in_l0 config in some unit tests to avoid compaction, in that compaction tasks will hold a reference to WAL so that raft-engine will be unable to release the file lock, and it will panic during region reopen becase it cannot acquire the file lock.
Checklist

[ ]  I have written the necessary rustdoc comments.
[ ]  I have added the necessary unit tests and integration tests.

Refer to a related PR or issue link (optional)

@evenyag PTAL


Added typescript definitions to js module

Added typescript definitions generation to output of the compilation script.
Updated package.json version

@skearnes Hello, can you please take a look at the PR when you have some spare time?

Thanks @daniil-sloboda this looks great!


External programs set for mime types in Otter browser fail

In preferences->advanced->downloads I set Fullpath\smplay.exe for video\mpeg. When I click on an mpeg file it downloads but the player  is never called. I also tryed setting smplayer as the system default for mpegs that also failed

I believe this belongs to Otter project space, moving there.


perf: speed up local scripts

Execute scripts concurrently where appropriated: build, test, lint, format scripts

either with yarn workspaces foreach --parallel option
or with concurrently
in which case I still group the log outputs (to avoid having them interlaced) with the -g option

Ex of time execution reduction

Before
After

yarn build:libraries
37.869s
24.732s

yarn test
22.553s
12.358s

Ready to be merged I think @sripwoud! Thanks :)


Can't purchase product from MAUI app in Microsoft Store

Hi,
The  purchase from the Apple Store works fine with the plugin, but I am having problems with the MAUI app.
I have my app set as Free, with one Add On in the app store.  I've verified that the Add On is available using the Windows.Services.Store API.
When I try to purchase the Add On using the code below, the call to PurchaseAsync() returns immediately with a null value.
The  "id" I pass in is the StoreID for the Add On as found on the Microsoft Store and also when I use the above Windows API.
            var connected = await CrossInAppBilling.Current.ConnectAsync();
            if( !connected)
            {
                await App.Current.MainPage.DisplayAlert(string.Empty, "Can't connect to the store", "OK");
            }
            var purchase = await CrossInAppBilling.Current.PurchaseAsync(id, ItemType.InAppPurchase);

The code is in embedded in a try/catch block, and the catch is set to capture Exception, so it should catch all(?) exceptions.
Is there something basic that I'm missing with the Microsoft Store useage?
Thanks in advance for your help, and for this excellent Plugin!
Rich

You can check: https://github.com/jamesmontemagno/MyStreamTimer code... i am using it in there. That code hasn't changed in a LONG time

I downloaded this app from the MS store and as I see purchases are not working any more within the app


[HIGH] Use Hacker-news API and use it in web app

https://github.com/HackerNews/API
With reference to the above link, create one interactive page to show blogs from Hacker news API

Demo version has been created. Now need to make it more efficient by creating an algorithm which take care of both user data base and common database and save every data efficiently.


Tools: build_h3_tools - Add support for FreeBSD

Tested on FreeBSD 13.1

I guess it's fine if the script woks, but I wonder if it shoud use gmake on FreeBSD.

I guess it's fine if the script woks, but I wonder if it shoud use gmake on FreeBSD.

At least in 13.1 it works either way.


square root using binary search

added algorithm for calculating square root using binary search.

@Ayon-SSP i've resolved this issue.
I would request you to kindly review it.

The code looks fine Issue #42 & #41 👍
Thanks for the contribution @DarkNinja15

Enjoy HacktoberFest 💜


Adding Frequency Occurence to Str manipulation/Python

Modified a frequency occurence chart to allow user input that will create a dictionary output with the occurence of characters, upper and lower case are seperate instances in this, as well as whitespaces.  Punctuation was also recognized.  Hopefully the documentation in the code helps explain the process well enough.

Thanks, @veltaine for the contribution


[docs]: SelectorAPI.getAttribute can return undefined but docs indicate it always returns a string

What is your Test Scenario?
Using SelectorAPI.getAttribute can return undefined for attributes that are not present in the current selector.
What is the Current behavior?
SelectorAPI.getAttribute's  type indicates it returns Promise<string>.
What is the Expected behavior?
SelectorAPI.getAttribute should return Promise<string | undefined>.

Your complete test code (or attach your test files):

 const mySelector = Selector('a');
 const undefinedAttribute = mySelector.getAttribute('this-does-not-exist');
 const undefinedAttribute.trim(); // method does not exist

Hello,
Thank you for pointing this out. We have reproduced this behavior and will fix it in the context of this thread. Please stay tuned.

Our getAttribute's returned value (undefined) is not consistent with Element.getAttribute() (null). We need to fix it in our source code and type definitions.


Import failed

Hi Friend, thx for this very good project.
I tried to install the lib and import it to anthoder project but i have a error. Can you help me please ?

install lib like : yarn add file:/path/to/lib
I tried the methode: In-Component Import
import HelloWorld from "component-library";
export default {    components : {         HelloWorld     } }

Are you trying to install it from a local build or have you pushed a build to npm? I'm not very familiar with yarn, but using npm this is how I install it locally:

Run npm run build in the root directory of the project.
Run npm pack in the same directory
You should now have a .tgz file created in your directory.
In your other project (where you want to consume the components), run npm i PATH_TO_TGZ (substitue PATH_TO_TGZ with the actual file path of the file from step #3)

Hi friend,Thank you for your quick answer to my question.
I did exaktly what did you say.

yarn pack
then install the .tgz
and i can import the components like:
import { HelloWorld } from "component-library";

if i try to import like this method:
import HelloWorld from "component-library/src/components";
i get this error:
Cannot find module component-library/src/components'
and for this method:
import HelloWorld from "component-library";
i get this error:

Thx

I think I had an error in the documentation, and the build/export pattern. I believe I've corrected it, and got it working. This is how I imported the components after installing from the local packed .tgz:

It works. thx!


Unskip some unit tests related to issue #82

As the regression has been resolved from PyTorch 1.12.1 and above, the skipped unit tests related to https://github.com/ROCmSoftwarePlatform/apex/issues/82 can be unskipped.
test_adam_option (test_fused_optimizer.TestFusedAdam): due to https://github.com/pytorch/pytorch/issues/80809#issuecomment-1175211598
test_multi_device (test_fused_optimizer.TestFusedAdam): due to https://github.com/pytorch/pytorch/issues/80809#issuecomment-1175211598
test_float (test_fused_optimizer.TestFusedAdam): due to https://github.com/pytorch/pytorch/issues/80809#issuecomment-1175211598
test_bfloat16 (test_fused_optimizer.TestFusedAdam): due to https://github.com/pytorch/pytorch/issues/80809#issuecomment-1175211598
In addition, test_state_dict (test_checkpointing.TestCheckpointing) failed because of the following error:
Traceback (most recent call last):

  File "/apex/tests/L0/run_amp/test_checkpointing.py", line 252, in test_state_dict

    optimizer.step()

  File "/opt/conda/lib/python3.7/site-packages/torch/optim/optimizer.py", line 109, in wrapper

    return func(*args, **kwargs)

  File "/opt/conda/lib/python3.7/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context

    return func(*args, **kwargs)

  File "/opt/conda/lib/python3.7/site-packages/torch/optim/adam.py", line 171, in step

    capturable=group['capturable'])

  File "/opt/conda/lib/python3.7/site-packages/torch/optim/adam.py", line 226, in adam

    capturable=capturable)

  File "/opt/conda/lib/python3.7/site-packages/torch/optim/adam.py", line 255, in _single_tensor_adam

    assert not step_t.is_cuda, "If capturable=False, state_steps should not be CUDA tensors."

AssertionError: If capturable=False, state_steps should not be CUDA tensors.

We can resolve this error by ensuring torch.optim.Adam to use capturable=True in a CUDA graph.

jenkins: retest this please


Tagged components

Consider the Color component as applied to a Mesh3D archetype. Does the Color specify the color of faces, edges, or vertices?
To support this, we could introduced tagged components, allowing each entity to have multiple instances of the same component, if they have different tags.
Each (Tag, ComponentName) tuple would be its own column of data.
Workarounds
For now we can introduce multiple components instead: SolidColor, EdgeColor, VertexColor, etc
References
https://www.flecs.dev/flecs/md_docs_2Relationships.html

An instance of tagged component @jleibs and me discussed recently is fill out and wireframe color in a situation where both solid & fill are supported at the same time (another outcome of the discussion was that we don't want to support it right now, more on that later & elsewhere):
Let's say we have a visualizer that supports doing both at the same time:

if only one of wireframe & fill is enabled: query any color and use that
if both are enabled: check for specific color tags and act accordingly
alternatively the tags themselves can also influence the default of what's enabled!

This seems like a potentially lot of added fundamental complexity in implementation and possibly API. I wonder if there's a way to get the same effect, simpler, in addition to wondering exactly what the semantics of this tag system is going to be.

What if component types as currently known were removed entirely, and Rerun used only pairs of (Tag, Data), that is, components would be like (SolidColor, Rgba) and (Radius, f32)? That's still a unique static type per component.

Another, probably more Rust-only frame but this is a brainstorming sort of remark: what if these were just parameterized components? That is, components::Color<Solid> vs components::Color<Edge>. That way, you avoid code duplication, and don't need to extend the existing architecture of component types (but probably need fancier code generation).

We've had a long discussion about leaf (nee "out-of-tree") transforms a couple days back, during which the desire for tagged components came up a lot. Again. We keep running into data modeling deadlocks.
In parallel, @gavrelina  has been experimenting with the Dataframe View and has hit more of the same issues.
We keep running into data modeling deadlocks, again and again.

My guess is that tagged components will greatly influence the design of our data model and query language, and to an extent even the UX of the viewer itself. As such I think it's really important that we get there sooner rather than later.
It doesn't have to be perfect either: the sooner we get to play with these new tools and refine our data model with them in mind, the sooner we can start stabilizing and ultimately (gasp) standardizing things.
It would also be quite nice to be completely done with major ABI breaking changes ASAP, before we enter the :sparkles: disk-based era :sparkles:.
Thus, here's a quick proposal to move us towards that goal.

Context
Today, the atomic unit of data in Rerun is a Chunk column.
A Chunk column is fully qualified by two things: a Rerun ComponentName and an Arrow Datatype (NOTE: I'm intentionally omitting the 3rd qualifier, the "Rerun datatype name", which is a vague internal concept that is not actually materialized most of the time. It doesn't matter for this discussion.):

The component name (Position3D, Color, Radius, …) specifies the semantic of the data, "how things behave".
The datatype ([3]Float32, Uint32, …) specifies the memory layout of the data.

The two are for the most part completely orthogonal to one another.
This information is all stored within the column metadata, and denormalized into the store indices as needed.
At runtime, a Rerun system will look for a piece of data by searching for the semantic its interested in, and then interpreting the returned data based on its datatype:
let data = store.latest_at("my_entity", TimeInt::MAX, "rerun.components.Position3D")?; // untyped (!)
let data = data.try_downcast::<&[[f32; 3]]>()?; // typed

All of this works pretty nicely, except for one major limitation: you cannot re-use the same semantics twice (or more) on a single entity.
Example: imagine an entity "detections" that holds both 3D points and 3D boxes at the same time: they will have to share a batch of "rerun.components.Position3D" (for Points3D::positions and Boxes3D::centers).
Sometimes this is exactly what you want, and things are great. Just enable both the Points3D and Boxes3D visualizers and you're good to go.
Sometimes it is not what you want, and you're doomed.
This problem infects everything and leads to all kinds of nasty data modeling deadlocks all over the place.
Proposal
The core idea of this proposal is trivial: to replace the very limited Rerun ComponentName with a much more flexible ComponentDescriptor.
Of course, this has a ton of ripple effects. I'll try to cover the most important ones, but there's too many to cover them all.
We should be able to get there in small increments that can be merged as they come, with complete feature parity and no visible impact on end-users whatsoever.
Once we're there, we'll be able to start experimenting with all kinds of crazy ideas.
Data model changes
A Chunk column would still be fully qualified by two bits of information: a Rerun ComponentDescriptor (semantics) and an Arrow Datatype (memory layout).
All that metadata is stored in the same place as before (column metadata and/or arrow schema).
A ComponentDescriptor would look like the following:
/// A [`ComponentDescriptor`] fully describes the semantics of a column of data.
pub struct ComponentDescriptor {
    /// Optional name of the `Archetype` associated with this data.
    ///
    /// `None` if the data wasn't logged through an archetype.
    ///
    /// Example: `rerun.archetypes.Points3D`.
    archetype_name: Option<ArchetypeName>,

    /// Semantic name associated with this data.
    ///
    /// Example: `rerun.components.Position3D`.
    component_name: ComponentName,

    /// Optional label to further qualify the data.
    ///
    /// Example: "postions".
    //
    // TODO: Maybe it's a dedicated type or an `InternedString` or w/e, doesn't matter.
    tag: Option<String>,
}

// NOTE: Take a careful look at this implementation, so you know what I mean later in this doc.
//
// Examples:
// * `rerun.archetypes.Points3D::rerun.components.Position3D#positions`
// * `rerun.components.Translation3D#translation`
// * `third_party.barometric_pressure`
impl std::fmt::Display for ComponentDescriptor {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let ComponentDescriptor {
            archetype_name,
            component_name,
            tag,
        } = self;
        match (archetype_name, component_name, tag) {
            (None, component_name, None) => f.write_str(component_name),
            (Some(archetype_name), component_name, None) => {
                f.write_fmt(format_args!("{archetype_name}::{component_name}"))
            }
            (None, component_name, Some(tag)) => {
                f.write_fmt(format_args!("{component_name}#{tag}"))
            }
            (Some(archetype_name), component_name, Some(tag)) => {
                f.write_fmt(format_args!("{archetype_name}::{component_name}#{tag}"))
            }
        }
    }
}

This information could be trivially code generated already today, and is a strict superset of the status quo.
This would already be enough to get rid of our old indicator components.
IDL changes
I'm going to use Points3D and Mesh3D for demonstration purposes. They showcase our data modeling issues well, always semantically-walking on each others' toes.
The major change at the IDL level is that the entire rerun{.blueprint}.components layer just goes away.
(NOTE: I've omitted the usual attributes in all the IDL samples below. They haven't changed in any way.)
I.e. Points3D turns from this:
table Points3D {
  positions: [rerun.components.Position3D] (/* … */);

  radii: [rerun.components.Radius] (/* … */);
  colors: [rerun.components.Color] (/* … */);

  labels: [rerun.components.Text] (/* … */);
  class_ids: [rerun.components.ClassId] (/* … */);
  keypoint_ids: [rerun.components.KeypointId] (/* … */);
}

into this (the generated ComponentDescriptors are shown as comments):
table Points3D {
  // ComponentDescriptor: "rerun.archetypes.Points3D::rerun.components.Position3D#positions"
  positions: [rerun.datatypes.Vec3D] ("attr.rerun.component": "rerun.components.Position3D", /* … */);

  // ComponentDescriptor: "rerun.archetypes.Points3D::rerun.components.Radius#radii"
  radii: [rerun.datatypes.Float32] ("attr.rerun.component": "rerun.components.Radius", /* … */);
  // ComponentDescriptor: "rerun.archetypes.Points3D::rerun.components.Color#colors"
  colors: [rerun.datatypes.UInt32] ("attr.rerun.component": "rerun.components.Color", /* … */);

  // ComponentDescriptor: "rerun.archetypes.Points3D::rerun.components.Label#labels"
  labels: [rerun.datatypes.Utf8] ("attr.rerun.component": "rerun.components.Label", /* … */);
  // ComponentDescriptor: "rerun.archetypes.Points3D::rerun.components.ClassId#class_ids"
  class_ids: [rerun.datatypes.UInt16] ("attr.rerun.component": "rerun.components.ClassId", /* … */);
  // ComponentDescriptor: "rerun.archetypes.Points3D::rerun.components.KeypointId#keypoint_ids"
  keypoint_ids: [rerun.datatypes.UInt16] ("attr.rerun.component": "rerun.components.KeypointId", /* … */);
}

Mesh3D turns from this:
table Mesh3D {
  vertex_positions: [rerun.components.Position3D] (/* … */);

  triangle_indices: [rerun.components.TriangleIndices] (/* … */);
  vertex_normals: [rerun.components.Vector3D] (/* … */);

  vertex_colors: [rerun.components.Color] (/* … */);
  vertex_texcoords: [rerun.components.Texcoord2D] (/* … */);
  albedo_factor: [rerun.components.AlbedoFactor] (/* … */);
  class_ids: [rerun.components.ClassId] (/* … */);
}

into this (the generated ComponentDescriptors are shown as comments):
table Mesh3D {
  // ComponentDescriptor: "rerun.archetypes.Mesh3D::rerun.components.Position3D#vertex_positions"
  vertex_positions: [rerun.datatypes.Vec3D] ("attr.rerun.component": "rerun.components.Position3D", /* … */);

  // ComponentDescriptor: "rerun.archetypes.Mesh3D::rerun.components.TriangleIndices#triangle_indices"
  triangle_indices: [rerun.datatypes.UVec3D] ("attr.rerun.component": "rerun.components.TriangleIndices", /* … */);
  // ComponentDescriptor: "rerun.archetypes.Mesh3D::rerun.components.Vector3D#vertex_normals"
  vertex_normals: [rerun.datatypes.Vec3D] ("attr.rerun.component": "rerun.components.Vector3D", /* … */);

  // ComponentDescriptor: "rerun.archetypes.Mesh3D::rerun.components.Color#vertex_colors"
  vertex_colors: [rerun.datatypes.UInt32] ("attr.rerun.component": "rerun.components.Color", /* … */);
  // ComponentDescriptor: "rerun.archetypes.Mesh3D::rerun.components.TexCoords2D#vertex_texcoords"
  vertex_texcoords: [rerun.datatypes.Vec2D] ("attr.rerun.component": "rerun.components.TexCoords2D", /* … */);
  // ComponentDescriptor: "rerun.archetypes.Mesh3D::rerun.components.Color#albedo_factor"
  albedo_factor: [rerun.datatypes.UInt32] ("attr.rerun.component": "rerun.components.AlbedoFactor", /* … */);
  // ComponentDescriptor: "rerun.archetypes.Mesh3D::rerun.components.ClassId#class_ids"
  class_ids: [rerun.datatypes.UInt16] ("attr.rerun.component": "rerun.components.ClassId", /* … */);

}

Logging changes
Logging archetypes will yield fully-specified ComponentDescriptors:
rr.log(
    "points_and_mesh",
    rr.Points3D(
        # ComponentDescriptor: "rerun.archetypes.Points3D::rerun.components.Position3D#positions"
        [[0, 0, 0], [1, 1, 1]],
        # ComponentDescriptor: "rerun.archetypes.Points3D::rerun.components.Radius#radii"
        radii=10,
        # ComponentDescriptor: "rerun.archetypes.Points3D::rerun.components.Color#colors"
        colors=[1, 1, 1],
        # ComponentDescriptor: "rerun.archetypes.Points3D::rerun.components.Label#labels"
        labels="some_label",
        # ComponentDescriptor: "rerun.archetypes.Points3D::rerun.components.ClassId#class_ids"
        class_ids=42,
        # ComponentDescriptor: "rerun.archetypes.Points3D::rerun.components.KeypointId#keypoint_ids"
        keypoint_ids=666,
    ),
)

rr.log(
    "points_and_mesh",
    rr.Mesh3D(
        # ComponentDescriptor: "rerun.archetypes.Mesh3D::rerun.components.Position3D#vertex_positions"
        vertex_positions=[[0.0, 1.0, 0.0], [1.0, 0.0, 0.0], [0.0, 0.0, 0.0]],
        # ComponentDescriptor: "rerun.archetypes.Mesh3D::rerun.components.Vector3D#vertex_normals"
        vertex_normals=[0.0, 0.0, 1.0],
        # ComponentDescriptor: "rerun.archetypes.Mesh3D::rerun.components.Color#vertex_colors"
        vertex_colors=[[0, 0, 255], [0, 255, 0], [255, 0, 0]],
        # ComponentDescriptor: "rerun.archetypes.Mesh3D::rerun.components.TriangleIndices#triangle_indices"
        triangle_indices=[2, 1, 0],
        # ComponentDescriptor: "rerun.archetypes.Mesh3D::rerun.components.Color#albedo_factor"
        albedo_factor=[32, 32, 32],
        # ComponentDescriptor: "rerun.archetypes.Mesh3D::rerun.components.ClassId#class_ids"
        class_ids=420,
    ),
)

Logging components directly omits the archetype part of the descriptor:
rr.log(
    "points_and_mesh",
    rr.components.Translation3D(
        # ComponentDescriptor: "rerun.components.Translation3D#translation"
        translation=[1, 2, 3],
    ),
)

A third-party ad-hoc component might not even have a tag at all..:
rr.log(
    "points_and_mesh",
    # ComponentDescriptor: "third_party.size"
    rr.AnyValues({"third_party.size": 42}),
)

..although we could expose ways of setting one:
rr.log(
    "points_and_mesh",
    # ComponentDescriptor: "third_party.size#some_tag"
    rr.AnyValues({"third_party.size": 42}, "tag": "some_tag"),
)

Store changes
Columns are now uniquely identified by a (ComponentDescriptor, ArrowDatatype) pair (as opposed to (ComponentName, ArrowDatatype) today).
This means we never overwrite data from an archetype with data from another one. We store everything, we can do whatever we want.
The batcher and other compaction systems will never merge two columns with different descriptors.
Indexing-wise, the store will add an extra layer of indices for tags (ComponentDescriptor::tag).
That is trivial to implement and pretty cheap both compute and space wise.
Query changes
Queries don't look for a ComponentName anymore, they look for fully or partially filled ComponentDescriptors instead.
E.g. to look for all columns with position semantics:

You used to do this:latest_at("my_entity", TimeInt::MAX, "rerun.components.Position3D")

You would now do this instead:// LatestAt(TimeInt::MAX) @ "my_entity" for (*, "rerun.components.Position3D", *)
latest_at("my_entity", TimeInt::MAX, ComponentDescriptorPattern {
    archetype_name: None, // == any
    component_name: Some("rerun.components.Position3D"), // == any
    tag: None, // == any
})

Here's a few example queries using the Points3D and Mesh3D data we've logged earlier:
LatestAt(TimeInt::MAX) @ "points_and_mesh" for (*, *, *):
- ComponentDescriptor { "rerun.archetypes.Points3D", "rerun.components.Position3D", "positions" }
- ComponentDescriptor { "rerun.archetypes.Points3D", "rerun.components.Radius", "radii" }
- ComponentDescriptor { "rerun.archetypes.Points3D", "rerun.components.Color", "colors" }
- ComponentDescriptor { "rerun.archetypes.Points3D", "rerun.components.Label", "labels" }
- ComponentDescriptor { "rerun.archetypes.Points3D", "rerun.components.ClassId", "class_ids" }
- ComponentDescriptor { "rerun.archetypes.Points3D", "rerun.components.KeypointId", "keypoint_ids" }
- ComponentDescriptor { "rerun.archetypes.Mesh3D", "rerun.components.Position3D", "vertex_positions" }
- ComponentDescriptor { "rerun.archetypes.Mesh3D", "rerun.components.Vector3D", "vertex_normals" }
- ComponentDescriptor { "rerun.archetypes.Mesh3D", "rerun.components.Color", "vertex_colors" }
- ComponentDescriptor { "rerun.archetypes.Mesh3D", "rerun.components.TriangleIndices", "triangle_indices" }
- ComponentDescriptor { "rerun.archetypes.Mesh3D", "rerun.components.Color", "albedo_factor" }
- ComponentDescriptor { "rerun.archetypes.Mesh3D", "rerun.components.ClassId", "class_ids" }

LatestAt(TimeInt::MAX) @ "points_and_mesh" for (*, "rerun.components.Position3D", *):
- ComponentDescriptor { "rerun.archetypes.Points3D", "rerun.components.Position3D", "positions" }
- ComponentDescriptor { "rerun.archetypes.Mesh3D", "rerun.components.Position3D", "vertex_positions"  }

LatestAt(TimeInt::MAX) @ "points_and_mesh" for (*, "rerun.components.Color", *):
- ComponentDescriptor { "rerun.archetypes.Points3D", "rerun.components.Color", "colors" }
- ComponentDescriptor { "rerun.archetypes.Mesh3D", "rerun.components.Color", "vertex_colors" }
- ComponentDescriptor { "rerun.archetypes.Mesh3D", "rerun.components.Color", "albedo_factor" }

LatestAt(TimeInt::MAX) @ "points_and_mesh" for (*, "rerun.components.Color", "albedo_factor"):
- ComponentDescriptor { "rerun.archetypes.Mesh3D", "rerun.components.Color", "albedo_factor" }

It's basically pattern matching.
This should be fairly trivial to implement on the query side.
Viewer changes
Today, each visualizer indicates the ComponentName it used to fetch a given piece of data:

In that world, each visualizer would not only show the ComponentDescriptor used to source data, but also allow the user to override the descriptors's archetype_name and tag fields. Want to use your vertex_colors as edge_colors? No problem!
Examples
SolidColor, EdgeColor, VertexColor, etc
Just use tags!
table SomeShapes3D {
  // ComponentDescriptor: "rerun.archetypes.SomeShapes3D::rerun.components.Color#solid_colors"
  solid_colors: [rerun.datatypes.Rgba32] ("attr.rerun.component": "rerun.components.Color", /* … */);
  // ComponentDescriptor: "rerun.archetypes.SomeShapes3D::rerun.components.Color#edge_colors"
  edge_colors: [rerun.datatypes.Rgba32] ("attr.rerun.component": "rerun.components.Color", /* … */);
  // ComponentDescriptor: "rerun.archetypes.SomeShapes3D::rerun.components.Color#vertex_colors"
  vertex_colors: [rerun.datatypes.Rgba32] ("attr.rerun.component": "rerun.components.Color", /* … */);
}

Transform3D vs. LeafTransform3D
Share the same exact code between the two, all the way. Just change the archetype_name part of the ComponentDescriptor at log time.
In-tree:
rr.log(
    "moon",
    # ComponentDescriptor: "rerun.archetypes.Transform3D::rerun.components.Rotation#rotation"
    rr.Transform3D(rotation=rr.Quaternion(xyzw=[0, -0.3826834, 0, 0.9238796])),
)

Out-of-tree:
rr.log(
    "moon",
    # `rr.LeafTransform3D` is just a helper that calls `rr.Transform3D` but sets the `archetype_name`
    # to `LeafTransform3D` instead.
    #
    # The `TransformContext` will make use of that information at runtime in order to dispatch things
    # appropriately.
    #
    # ComponentDescriptor: "rerun.archetypes.LeafTransform3D::rerun.components.Rotation#rotation"
    rr.LeafTransform3D(rotation=rr.Quaternion(xyzw=[0, -0.3826834, 0, 0.9238796])),
)

FAQ
What becomes of indicator components?
They're gone; they're just redundant at that point: use the archetype_name field in the ComponentDescriptor instead.
What about datatype conversions?
As far as I can tell, datatype conversions is a completely orthogonal problem.
"Tagged components" is about sharing semantics across columns, "datatype conversions" is about making it easy to change the memory layout of a column.
What about blueprint defaults/overrides?
Mostly nothing changes, except now the blueprint has an opportunity to define a default value for all tags or a specific one, or both.
blueprint.set_default("*::rerun.components.Color#*", Color::Blue);
blueprint.set_default("*::rerun.components.Color#vertex_colors", Color::Green);

What about the DataframeView?
The dataframe view now has all the information it needs to properly distinguish between data with similar semantics.

As far as I can tell, datatype conversions is a completely orthogonal problem.

I disagree with with this. At most it's partially orthogonal. My big take away from the last year of working with our components and datatypes is that the line between semantics and datatypes is far from clear. I think this gives us an opportunity to improve that dramatically and we might as well plan to take advantage of it.
The previous strict hierarchy of component > datatype forced us into arbitrary distinctions. For example, consider color.
It was fairly clear that Color should be a component. But if color was the component, then the encoding of the color must (by necessity) be a datatype. This lead to datatypes like Rgba32 and the implication that ultimately every color representation should be it's own datatype. But, at the end of the day, rgba32 is still just a sematic tag on top of a datatype primitive such as Vec4u8. Similar story with rotations. Is quaternion its own datatype, or is it a semantic label on top of vec4f?
Tags appears to give us flexible yet structured way to introduce more dimensionality to the way we talk about data. In particular, things like Color-spaces, Units, Encodings, etc. all probably fit much better into semantic tags than they do in the datatype system.
For me this path leads to, for example talking about rotations as:

tags: (component: rotation, representation: quat_wxyz), datatype: vec4f
tags: (component: rotation, representation: mat3x3), datatype: mat3x3d

We could theoretically try to have BOTH component-tags and datatype-tags, but I suspect the nitpicking over which kind of tag goes where would be endless while providing little-to-no practical value.
The logical end-point is that datatypes are JUST arrow schema aliases they ONLY talk about the shape of the data (e.g. Vec4f) and never talk about what that data represents (e.g. Quat4f). Everything else becomes a component-descriptor tag.
This generally means that "datatype conversions" are totally generic and follow very standard software equivalents:

Cast a u8 to an f32.
Extract the 3rd field of a Vec4x

A big chunk of the complexity previously attempted to datatype conversions now becomes "Component descriptor conversions." Same problem, new name.

Agree 100%

I've had a discussion with @abey79 today that touched upon this PR. For the graph primitives PR #7500, it would be great if we could log multiple components of the same data type to the same entity, possibly by discerning them with tags so that edges and nodes can live in the same entity while still allowing fields like edge_colors and node_colors.
I was wondering: How will that work with selections? If I understand correctly, we currently refer to "objects" in an entity by their InstancePath. This works because the main (reuqired) component dictates the index. Now if we have an arbitrary amount of components per entity wouldn't we need a special way to discern them too?

We don't currently have a solution for this for archetypes which dont have an "instance-to-instance" match semantic. That's the case for the Mesh3D archetype: the instance index of the Position3D and TriangleIndices have no relationship (contrary to e.g. Position3D <-> Color). So if you select an instance path like this, you get unrelated values for TriangleIndices and Position3D:

I don't think we have an established plan for this going forward. We could have an archetype-level field flag (that gets propagated as component tag) to indicate that "this component doesn't have instance-match semantics". It would be applied e.g. to Mesh3D's TriangleIndices or, for the Graph view, the Edge component. In the latter case, we'd want to go even further and tag a subset of components as having a shared instance index semantic (Edge, EdgeColor, EdgeLabel, etc.). Maybe? But that's future truth and will have to start without for now.


Can't connect to ElastiCache redis cluster via NAT instance

We're using a single node cluster to test our workflow, and cannot connect via a NAT instance.
Having done some debugging, we get an error immediately after the node is connected:

Disconnect ec2-XX-X-XX-XX.compute-1.amazonaws.com:6379 because the node does not hold any slot

Looking at the code this happens because the actual cluster node has an IP address from inside our VPC, while the NAT instance which we use to establish connectivity has a different public hostname. Because ioredis relies on the ip address of each node to create keys (or slots in the context of this error message), it thinks the node is missing and immediately disconnects it.
Is this something you guys would ever fix? I'm thinking some sort of map specified in connection options which maps the NAT hostname and port to the real VPC IP and ports could be a solution?
For anyone asking why we want to run local code with a remote redis implementation:
Usually our code runs remotely in AWS lambda. However our fastest dev workflow is where we test locally for convenience. Usually a local redis server is enough, but we regularly need to connect to a remote redis instance to debug with live data – and uploading our full repo to lambda on every iteration is way too slow.
Up until now we've used public redis instances in redislabs. However, we're moving to a more scalable solution in ElastiCache with redis cluster (which means running inside a VPC) and would like to be able to achieve the same fast workflow.

Hi, haven't dug into this issue, but I remember there's an issue on the Redis repo about this issue: https://github.com/antirez/redis/issues/2527. The option announce-ip seems to have been added since Redis 4.x.

Interesting, however there are a couple of problems:

The cluster-announce-ip and cluster-announce-port options need to be specified in redis.conf, which we don't have access to per-node with elasticache.
We only need to remap the announced ip and port when connecting remotely via NAT. General connectivity within VPC should run as normal, so it makes more sense for implementation to be contextual, in the client.

For now we've made a fork of ioredis in our private npm, and have modified code to support what we need.

@jeremytm Sorry for the late response. I've already migrated the code to TypeScript and will submit a pull request for the NAT support (by adding a nat map option) in the next week. I'll let you know then.

@jeremytm Would you like to share the modification of the code that works for your case or just make a pull request?

It's pretty simple, and potentially not the safest option, but it works for us. It just passes the nodes in a callback provided via connection options. This callback is free to modify the nodes used by ioredis however it pleases.
https://github.com/luin/ioredis/pull/738
The callback we use is provided here:
(nodes)=>{

	for( let node of nodes ){
		let mapInfo = natMappings[node.host];
		if(mapInfo){

			let toInfo = mapInfo[node.port.toString()];
			if(toInfo){

				let [toHost,toPort] = toInfo.split(':');
				node.host = toHost;
				node.port = toPort;

			} else {
				throw new Error(`Port ${node.port} not found in map for ${node.host}`);
			}

		} else {
			throw new Error(`Host ${node.host} not found in map`);
		}
	}
};

Nat mappings would be something like:
{
  'rugby-cache-0001-001.xxxxxx.0001.use1.cache.amazonaws.com': {
    '6379': 'ec2-xx-x-xx-xx.compute-1.amazonaws.com:6379'
  },
  'rugby-cache-0001-002.xxxxxx.0001.use1.cache.amazonaws.com': {
    '6380': 'ec2-xx-x-xx-xx.compute-1.amazonaws.com:6380'
  }
}

@jeremytm Neat solution! A question for it though that since Redis Cluster returns IPs instead of hostnames, do you have to specify both IPs & hostnames? E.g. let's say rugby-cache-0001-001.xxxxxx.0001.use1.cache.amazonaws.com points to <IP_ADDRESS>, the nat mappings should be:
{
  'rugby-cache-0001-001.xxxxxx.0001.use1.cache.amazonaws.com': {
    '6379': 'ec2-xx-x-xx-xx.compute-1.amazonaws.com:6379'
  },
  '<IP_ADDRESS>': {
    '6379': 'ec2-xx-x-xx-xx.compute-1.amazonaws.com:6379' // same as the above
  },
}

Yeah, my bad, That's actually how ours looks. I just messed something up during copying and pasting while obfuscating the addresses.


Added SecretFileMode for specifying mounted secrets file permissions.

This came as a result of discussion in #4789.
@pmorie @jimmidyson PTAL.

@soltysh This needs another case in the secrets e2e

@soltysh I think that new case case be, create different files with different modes and use the mount tester binary to check them.  You can only check one file's mode with the current mount tester so it will probably 1 case per non-standard mode

Unless there is a good reason to rush this, I'd like to put a hold on this
till I (we?) understand #7925 better.
For one thing, I'm not sure whether the permissions belong on the Secret or
the SecretVolumeSource.
On Thu, May 7, 2015 at 3:09 PM, Paul Morie<EMAIL_ADDRESS>wrote:

@soltysh https://github.com/soltysh I think that new case case be,
create different files with different modes and use the mount tester binary
to check them. You can only check one file's mode with the current mount
tester so it will probably 1 case per non-standard mode
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/7908#issuecomment-100034832
.

@erictune

For one thing, I'm not sure whether the permissions belong on the Secret or
the SecretVolumeSource.

I'm actually thinking now that #7925 is what we ought to be talking about.  Once we have security and volumes sorted there shouldn't be any need to control permissions -- secrets in volumes should always be 0400, owned by the uid in the pod's security context, and have the selinux context set correctly.

That was my first take in resolving #4789, just to set by default 0400 on mounted secrets. Still that kind of action generates risk that since we mount those as root, only root will have access to it. I then started chatting with @pmorie about that and we came up with this solution. I'll then wait for #7925 and its output.

Not sure if this is still active?  If it isn't, it can be closed.
At any rate, I don't think there will be time to complete review of this prior to the pre-v1 code freeze.

I'm closing this until this gets sorted out, but everything seems that it'll be done differently.


bug exit when get RollbackException in observer.

Proposed changes
Issue Number: close #xxx

After #6582 and #17475 , fe will just resart ReplicatedEnvironment after catch RollbackException. But it may read an old edit log and ignore the new edit log from new master.
Some key logs:
Old master
2024-02-26 12:02:07,350 ERROR (stateListener|89) [Catalog$4.runOneCycle():2433] transfer FE type from MASTER to UNKNOWN. exit
2024-02-26 12:02:11,879 ERROR (timePrinter|795) [BDBJEJournal.write():157] catch an exception when writing to database. sleep and retry. journal id 195250935

New master
2024-02-26 12:01:47,213 INFO (stateListener|89) [Catalog$4.runOneCycle():2356] begin to transfer FE type from UNKNOWN to MASTER
2024-02-26 12:01:56,239 INFO (stateListener|89) [BDBJEJournal.rollJournal():106] roll edit log. new db name is 195250935
2024-02-26 12:01:56,275 INFO (stateListener|89) [BDBJEJournal.write():140] Write OP_MASTER_INFO_CHANGE to BDB, JournalId: 195250935

Normal Follower
2024-02-26 12:01:56,275 INFO (replayer|91) [Catalog.replayJournal():2460] replayed journal id is 195250934, replay to journal id is 195250935
2024-02-26 12:01:56,328 INFO (replayer|91) [EditLog.loadJournal():457] Receive OP_MASTER_INFO_CHANGE: ip: xx.xxx.xx.xx, httpPort: 8410, rpcPort: 9020

Error Observer
2024-02-26 12:01:57,420 INFO (replayer|91) [Catalog.replayJournal():2460] replayed journal id is 195250934, replay to journal id is 195250935
2024-02-26 12:02:07,530 WARN (replayer|91) [BDBJEJournal.getDatabaseNames():445] catch rollback log exception. will reopen the ReplicatedEnvironment.
com.sleepycat.je.rep.RollbackException: (JE 18.3.12) Environment must be closed, caused by: com.sleepycat.je.rep.RollbackException: Environment invalid because of
 previous exception: (JE 18.3.12) xx.xxx.xx.xx_9010_1696755145914(2147483647):/opt/meituan/doris-meta/bdb Node xx.xxx.xx.xx_9010_1696755145914(2147483647):/opt/me
ituan/doris-meta/bdb must rollback 2 total commits(1 of which were durable) to the earliest point indicated by transaction id=-200831693 time=2024-02-26 12:01:58.
012 vlsn=396,112,938 lsn=0x7d35/0x3b473b durable=false in order to rejoin the replication group. All existing ReplicatedEnvironment handles must be closed and rei
nstantiated.  Log files were truncated to file 0x32053, offset 0x3884641, vlsn 396,112,936 HARD_RECOVERY: Rolled back past transaction commit or abort. Must run r
ecovery by re-opening Environment handles Environment is invalid and must be closed. Environment invalid because of previous exception: (JE 18.3.12) xx.xxx.xx.xx_
9010_1696755145914(2147483647):/opt/meituan/doris-meta/bdb Node <IP_ADDRESS>_9010_1696755145914(2147483647):/opt/meituan/doris-meta/bdb must rollback 2 total comm
its(1 of which were durable) to the earliest point indicated by transaction id=-200831693 time=2024-02-26 12:01:58.012 vlsn=396,112,938 lsn=0x7d35/0x3b473b durabl
e=false in order to rejoin the replication group. All existing ReplicatedEnvironment handles must be closed and reinstantiated.  Log files were truncated to file
0x32053, offset 0x3884641, vlsn 396,112,936 HARD_RECOVERY: Rolled back past transaction commit or abort. Must run recovery by re-opening Environment handles Envir
onment is invalid and must be closed.
        at com.sleepycat.je.rep.RollbackException.wrapSelf(RollbackException.java:146) ~[je-18.3.13-doris-SNAPSHOT.jar:18.3.13-doris-SNAPSHOT]
2024-02-26 12:02:11,897 INFO (UNKNOWN <IP_ADDRESS>_9010_1696755145914(-1)|91) [Catalog.replayJournal():2460] replayed journal id is 195250935, replay to journal id is 195250942

And now, the observer will send ddl to the old master. In old master, some error logs ocurred:
2024-02-26 12:16:37,660 WARN (thrift-server-pool-1|241) [StmtExecutor.execute():504] execute Exception. stmt[2769, 72c0ae6e55764b5e-aa343c513756bebd], errCode = 2, detailMessage = The statement has been forwarded to master FE(xx.xxx.xx.xx) and failed to execute because Master FE is not ready. You may need to check FE's status

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

@liutang123 https://github.com/apache/doris/pull/28192
Can you check your version which met this problem has container this pr?

@liutang123 #28192 Can you check your version which met this problem has container this pr? the pr 28192 is for solving the problem

I took a look at #28192 and I am not sure can it resolve this case.
isReplicaTxnAreMatched will check the first log in a database, but the last log may not be committed to the majority.
As follows:
Old master has a databases: 1000 (1000, 1001, 1002,1003, 1004, 1005)
The old master try to commit log 1005, but only commit it to the observer.
The new master will create a database 1005(1005, ... ) and the log 1005 in this database is OP_MASTER_INFO_CHANGE .
In observer, log 1000 in database 1000 has been commited in majority but log 1005 may just persisted in local dist and may be read and replay?

run buildall

@liutang123 Can you check all RollbackException and InsufficientException and fix it?


Get rid of property hardcode in ItemMerger.isMergeable()

aggregateRotationStatus is a hardcode.

No longer relevant now that we have the SDR-based API.


Python 3 byte string conversion issue

I was trying to use semihosting but instead of getting console (or telnet) output, a file named bytearray(b':tt') was being created (with other side effects).
This is solution that works on Python 3, but untested on Python 2. This method is called for all semihosting write operations, so no encoding can be assumed.

/morph test


fix: pass vue instance as this pointer to setup (fix #12613)

Before Fix #12613
After Fix #12613

Screenshot

What kind of change does this PR introduce? (check at least one)

[x] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[] It's submitted to the dev branch for v2.x (or to a previous version branch), not the master branch
[x] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[x] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
[ ] New/updated tests are included

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:

This is wrong because setup() does not have this by design.


fix(ingest/snowflake): Fixing failing tests

Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

I already resolved this bug in a different PR.


Bump ubuntu base image to 22.04 version

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[ ] N
[X] Y

fix #1234
2. What is the scope of this PR (e.g. component or file name):
Docker image based on ubuntu for build kcl locally inside docker environment
3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[X] Other

Bump ubuntu image from 20.04 to 22.04
4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[X] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[ ] Unit test
[ ] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[X] Other

I have read the CLA Document and I hereby sign the CLA

Good Job! Thank you for your contribution. LGTM!


the scrollToEnd / scrollToOffset methods of FlatList execute unexpected if set ListHeaderComponent prop

Hi, good people... thanks your contributions for react-native, the amazing framework.
Now... I happen the issue, very headache...
react-native version: 0.47.1
Example, render the FlatList like this:
<FlatList
  ref="flatlist"
  ListHeaderComponent={one header component...}
/>

Maybe, the header component has a height such as 300.
When i execute scrollToEnd methods, i hope the list scroll to end, and the scroll distance should includes the header height (now 300).
But, it will scroll unexpected. the list will scroll to an uncertain position.
Based on my observation, it seemingly did not computed and included the header height.
Whether this is a bug or not ? How can i solve it in current version ?

@facebook-github-bot no-template

Hey, thanks for reporting this issue!
It looks like your description is missing some necessary information, or the list of reproduction steps is not complete. Can you please add all the details specified in the template? This is necessary for people to be able to understand and reproduce the issue being reported.
I am going to close this, but feel free to open a new issue that meets the requirements set forth in the template. Thanks!

I also suffered from this issue, and was able to work around it by accessing the scrollResponder directly:
    this.listRef.getScrollResponder().scrollResponderScrollToEnd({
      animated: animated,
    });


Feature merge rf rc

@egil Some more changes I did:

[x] Renamed FragmentContainer to BunitRootComponent
[x] Fixed the docs

@egil Some more changes I did:

[x]  Renamed FragmentContainer to BunitRootComponent

FragmentContainer is NOT the root component though. The hierarchy is:

RootComponent (instantiated in BunitRenderer.Render method)
components added to BunitContext.RenderTree
FragmentContainer/BunitRootComponent - used as a marker component to detect when BunitContext.RenderTree components end.
components passed to Render methods.

So I think it is better to undo that change to avoid confusion.


axeOptions configuration issue

Hi All,
We had configured axeOptions values as  ['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa']  in our application but while running the automation tests in cypress we are getting error as below "Ensures the contrast between foreground and background colors meets WCAG 2 AA contrast ratio thresholds"  I also verified the color contrast it's getting passed for WCAG AA(Attached Screenshot below) https://webaim.org/resources/contrastchecker/ .I had tried different ways but was not able to find the root cause. can someone help

Hi @pravanga

this package was forked from the original when the original one stopped supporting newer versions of cypress for a while but now it seems to support latest versions so you're encouraged to switch to it if you can.
axe-core, which is the core package of this one, is the one that's checking against those rules, so if you wanna make sure that your site passes axe-core's checks, you can try testing the site using their DevTools maybe?


Delete ASv1 related packages and SDK code

Description

delete attestation-service package
delete attestation-proxy package
delete AttestationUtils from @celo/utils
delete attestations section of @celo/base
update all instances of getPhoneHash to reference getIdentifierHash

Tested
make sure all existing tests pass
Related issues
Fixes #9987
Backwards compatibility
No
Documentation
not updated

@isabellewei we should also remove the ASv1 Dockerfile + remove that step from the CI build

The build is failing because the CI build thinks that the dependencies haven't change and is skipping installing them, but they have changed. I tried to change the CI config file to force it to install but that resulted in an error


Add new providers for production deployments

Closes https://github.com/api3dao/tasks/issues/182
For mainnet chains in production, ~2~ 1 public and 2 private providers are utilized at worst case.
For testnet chains in production, 2 public provider and reblok provider (if exists) are utilized.

Thanks, merging


Format testenvs

👍

Codecov Report

Merging #4 into main will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main        #4   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            6         9    +3
  Lines          150       211   +61
  Branches        36        47   +11
=========================================
+ Hits           150       211   +61

Flag
Coverage Δ

#tests
100.00% <100.00%> (ø)

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

Impacted Files
Coverage Δ

src/tox_ini_fmt/__init__.py
100.00% <100.00%> (ø)

src/tox_ini_fmt/__main__.py
100.00% <100.00%> (ø)

src/tox_ini_fmt/cli.py
100.00% <100.00%> (ø)

src/tox_ini_fmt/formatter/__init__.py
100.00% <100.00%> (ø)

src/tox_ini_fmt/formatter/requires.py
100.00% <100.00%> (ø)

src/tox_ini_fmt/formatter/section_order.py
100.00% <100.00%> (ø)

src/tox_ini_fmt/formatter/test_env.py
100.00% <100.00%> (ø)

src/tox_ini_fmt/formatter/tox_section.py
100.00% <100.00%> (ø)

src/tox_ini_fmt/formatter/util.py
100.00% <100.00%> (ø)

... and 2 more

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 ec967a5...4aaa743. Read the comment docs.


Fixed Kusto and AzureMonitor in Azure Viewlet

Added missing properties in kustoTreeDataProvider and azuremonitorTreeDataProvider

This PR fixes #

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 42.73%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
26222

Relevant Lines:
55694

💛  - Coveralls


fixing URL link column name

Changes made to the config.yml and filter_data.py files. Note that the change in the config.yml file will require JSON files to be in the data file, but currently there is a CSV file there.

Thanks @katelyn98 for fixing the field access. Was the preprocessing incorrectly running before your order change of filterDF to after modifyColumns? Btw, I built a function in func/utils.py which is agnostic to json/csv filetype. Wasn't sure which example files were relevant to run preprocessing, hence its implementation.

Yeah, there was an error about the dataframe not having a column for URL_link. Previously, the preprocessing would run filterDF and look for a column named URL_link, but that column is created in the dataframe in modifyColumns, so I put that function to run before filterDF.
Gotcha. I ran the code on a JSON file using SAMPLE-coronavirus-tweet-id-2020-05-01-00.json in the data folder. The implementation file is a good idea!


Remove version: GnuWin32.Gzip version 1.3.12-1

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

URL: https://sourceforge.net/projects/gnuwin32/files/gzip/1.3.12-1/gzip-1.3.12-1-setup.exe/download
Status Code: 200
(Automated message - build 900)

Close with reason: URL works;


How to enable fxaa but not msaa in Godot 3.1

Godot version:

Godot 3.1 beta 10
OS/device including version:

Issue description:

There are some options to enable MSAA in Project Setting, while not one related to FXAA.
 How can I enable FXAA for my whole 3D scene?
Steps to reproduce:
Minimal reproduction project:

This is discussed in https://github.com/godotengine/godot/issues/25843 which has a similar goal. FXAA was available in Godot 2.1, but it wasn't implemented when the rendering engine was rewritten in Godot 3.0.

There is a code that works (here).
You just have to add it to MeshInstance Quad that is parented to the camera and edit it for 3.x (i will give the code if you can't convert it).

For FXAA shader, see also https://gist.github.com/cart/7d2da58eb28c75c0952787f29f3e562f. (It's being used in the game High Hat, which uses the GLES2 renderer.)

https://github.com/atomius0/Godot-3.1-FXAA-Shader
Hil @Calinou and @OBKF , I just trying to use a FXAA Shader in Godot 3.1 GLES3. I checked the @OBKF link and @Calinou ones but neither works ok in GLES3. Do you have any idea?
Thx in advance

That shader is 3rd-party, you can only hope for the author of it to help.

Thanks @Zireael07 for your answer. Do you do any FXAA test in Godot 3.1 GLES3 with good results?

@marcosjouron The version provided by @Calinou  works the best and it works fine.
What  are the issues you are facing? can you provide screenshots or something?

Oussama sorry for the delay, i didn't (realice) and read your answer. Thx for your time. Finally I don't need that any more and I detached it from my tasks. By the way I was two weeks ago in Poznanat GodotCon were you?

Using 3.1.1 still no FXAA. Very disappointing.

@rico345100 You can use the shader I linked here: https://github.com/godotengine/godot/issues/26646#issuecomment-501291571

@marcosjouron Glad I could help. No unfortunately I couldn't be there, maybe another time.

This was implemented in master and Godot 3.3 by https://github.com/godotengine/godot/pull/42006, closing.