Scalability tests

What type of PR is this?
/kind feature

What this PR does / why we need it:
Add scalability test to be able to detect regressions in Kueue's overall scheduling performance.
Which issue(s) this PR fixes:

Relates to #1912
Special notes for your reviewer:
This should be the fist stage of this change, once this is merged and we have a CI job set up, we should refine the generator config and the expected metrics value.
Does this PR introduce a user-facing change?

Added scalability test

/assign @mimowo

ack

Generally I would like to steer the first iteration of the PR in this direction:

drop custom code to track individual workloads, events, queues with controllers
we only track metrics, scraped in 1s intervals by default. A report is saved for a subset of metrics, only guage and counter, in csv as time series. I'm ok with the metrics scraping as a follow up.

I think this approach will be much easier to maintain going forward. It will also create a healthy incentive to add metrics, which will be used on production clusters.

Let's go with the set of features already developed and add new functionality in follow-ups.

Let's go with the set of features already developed and add new functionality in follow-ups.

I would like to drop the bits indicated in the comments to simplify the code, there is a maintenance cost if we commit them.

/hold

Relying on kueue's internal metrics in this scenario is problematic because:

Adds extra CPU consumption in minimalkueue: Serving the scraping will add extra CPU consumption and make the critical path (scheduling) less relevant in the overall consumption.
Are unflexible: No workload class specific measurements can be extracted. In my opinion being able track the time to admission for specific type of workload (having different priorities) is important.
Are not very precise:

Scraping at 1s intervals while the workloads we are using run for at most 1s (90% of them way under) can miss important hot spots.
With some exceptions, the timings computed for the metrics are based on some k8s api stored time (creation, condition last transition) which have seconds resolution.

It needs to be mentioned that the runner components that are extracting the measurements have additional attributes, (managing when a workload is declared finished, managing workload's eviction , determine when the scenario execution has ended.)

/unhold

@trasc @alculquicondor In odrer to move forward, can split this PR into two: (1) this one for the basic mechanism for the test + assets on tu time, and (2) then another PR for the events and API states. We could merge the first one soon, and the other when we see what is missing from metrics?

Splitting sounds like a good plan to me.

In my opinion it only adds unnecessary work and it will delay this first stage of the scalability testing issue.

How long do you estimate it would take you to implement the metrics based approach?

Aside from uncertainty about the final solution, having 2-3 smaller PRs, rather than one big, would be easier to review.

Aside from uncertainty about the final solution, having 2-3 smaller PRs, rather than one big, would be easier to review.

There already is a PR , we should try to move forward.

I prefer we don't merge something that we don't intent to keep.
@mimowo, can you elaborate more on how the metrics approach should work and potentially provide some estimation?
Or alternatively, what could be the consequences or downsides of using an API-based approach long term?

I can prepare a more specific update for the metrics in the doc., but not sure if tomorrow due to other workstreams.
The downside for the API based approach I see is that for any thing we want to observe we need to add custom code, the new code does not benefit production, so there is no clear incentive to maintain it.
In comparison once we have a tool for monitoring metrics during scalability tests,, then observing a new thing is a matter of adding a new metric, that will also benefit prod.

Let me try to rationalize a few things:
One of the outcomes of the framework should be the ability to express something like: "fail the test if p95 latency is above X".
The prometheus query language sounds like a natural fit for that.
We can certainly implement it on an API based approach, but if we can avoid re-implementing it, that's generally better.
Additionally, when using the API, we need to implement some form of recorder/reader for anything we need to measure.
With metrics, there is potentially significant investment to get the setup, but once done, adding more measurements is just another one line query. That sounds more future-proof.
Assuming that a metrics-based approach is feasible (and I think it should be, given clusterloader2), it does sound more appealing to me.
IIUC, the main justification for using an API-based approach is that we can get a working setup quickly (as already proven by the PR). But by giving it a quick glance, it does look like quite some complexity and it's unclear for how long we would maintain it.
With all of that, I agree that it's the safest path to split the PR, then proceed with exploring how to make use of the metrics.

it will delay this first stage of the scalability testing issue.

We have been able to make significant progress in improving the scalability of Kueue [1] with the existing E2E performance suite. So, at this point, there is no strong motivation to merge an integration-level performance test based on an approach that we don't believe is scalable.
[1] https://github.com/kubernetes-sigs/kueue/releases/tag/v0.6.1 and https://github.com/kubernetes-sigs/kueue/releases/tag/v0.6.2

One of the outcomes of the framework should be the ability to express something like: "fail the test if p95 latency is above X".

We should keep in mind that we want to do this in a CI job, not against "real" cluster (both when it comes to available resources and the shape of the workloads used), we should stop comparing this to cl2, especially since there is a cl2 approach already implemented (https://github.com/kubernetes-sigs/kueue/tree/main/test/performance).
Maybe just to give you an idea about the resources needs to run this kind of scenario, the logs at level 2 for a run are generating 2.8GB of data.
I have high doubts a fully Prometheus approach can work and higher doubts that I'm able to do it.

I think using PromQL and full Promethueus might be hard (I don't know how to do it myself either).
I think metrics as a tool to visualize what is happening during a run is enough for MVP. Actually, I manual inspection of metrics and pprof was the main tool to investigate the performance bugs mentioned above.
I got promising results already using metrics based on run-scalability-in-cluster. This is what I did:

Have an external cluster with pre-installed Kueue, I expose the metrics by port forward kubectl port-forward pod/kueue-controller-manager-66c8489484-v5zbw -nkueue-system 12345:8080
Run the following collect.sh script to scrape the data:

while true; do
    filename="dump/$(date +%s).prometheus"
    echo "dump to ${filename}"
    curl -v http://localhost:12345/metrics > "${filename}"
    sleep 1
done

Run the following import.sh script to import the data to a local instance of VictoriaMetrics

for file in ./dump/*.prometheus; do
    if [[ -f $file ]]; then
        filebase=$(basename "$file" .prometheus)
        timestamp="${filebase}000"
        echo "$timestamp"
        curl -vX POST -T "$file" http://localhost:8428/api/v1/import/prometheus?timestamp="$timestamp"
    fi
done

Once in VictoriaMetrics I could visualize all the metrics with Prometheus queries:

Loaded the data to grafana for better visualization capabilities, in particular handling of histograms:

I think this is encouraging and gives us metrics OOTB for kueue, and controller-runtime.
So, I think what I would like to see in the PR / Issue:

code that dumps the metrics in 1s interval (but configurable), analog of collect.sh, but part of the runner
compress the dumps into a tar.gz or zip, which is archived
a usability script (analog of import.sh) to load the zip into VictoriaMetrics

Then drop the custom code for API, for the detection of the completion of the scenario either use the small portion of the API-based code or base it on metrics (await for 0 pending_workloads and 0 reserving_workloads).

That could be useful as a metrics followup.
But for now you still cannot judge how the run performed in CI.

That could be useful as a metrics followup. But for now you still cannot judge how the run performed in CI.

I don't think we need automated verification based on API for the foreseeable future. Asserting the total runtime as in the PR, the rest will be manual process for now. The win is much less code to maintain. And this approach already proved to be useful for detecting bugs for pod groups as mentioned in the comments above.
The metrics will be collected during CI builds. We will use the metrics to compare manually runs with and without fair sharing (either based on CI or "in-cluster").

As a follow up, but not MVP we could spin an instance of Victoria Metrics during CI build, after the scenario so that it does not consume CPU. Then load the dump and run a set of PromQL queries to verify if the run is good.

I don't think we need automated verification based on API for the foreseeable future.

We do need it, most likely no one opens the artifacts of successful builds.

If this can be done relatively quickly then feel free to go for it, but this is not MVP imo.
We are interested in comparison with and without fair sharing for 0.7. For that comparison we can just download dump and do it manually.
As discussed this with Marcin it would be a manual process for the fair sharing story.

If this can be done relatively quickly then feel free to go for it, but this is not MVP imo.
We are interested in comparison with and without fair sharing for 0.7. For that comparison we can just download dump and do it manually.
As discussed this with Marcin it would be a manual process for the fair sharing story.

One time checks could easily be done with run-in-cluster case in which you can configure kueue in any way that fits the specific scenario.

Correct, this is pretty much what I did above, but we would like to have some automation for collecting and importing, so that we don't need to repeat the scripts.
Also, the benefit for running in CI is that if we have a regression we can look back when it started using artifacts from a periodic job.
Saying it is not MVP I'm just saying it is not top priority, so does not need to be in the initial PR (but could if simple enough).

Correct, this is pretty much what I did above, but we would like to have some automation for collecting and importing, so that we don't need to repeat the scripts.
Also, the benefit for running in CI is that if we have a regression we can look back when it started using artifacts from a periodic job.
Saying it is not MVP I'm just saying it is not top priority, so does not need to be in the initial PR (but could if simple enough).

I as said before , we can add some metrics collection as follow-up, having them saved on every CI run will depend on the how much will it take to create and store them. For now I can only talk abot  logs, and for that , I don't think it will be a good strategy to to store 3GB in every run just because they might be check especially if the scenario is reproducible locally if necessary.

From my experiment the full dump of logs after archive is 6MB. If the file is too large we can use 5s resolution.

Something I'm missing from https://github.com/kubernetes-sigs/kueue/pull/1931#issuecomment-2051505291 is how to gather the metrics in a non-cluster environment (the envtest from controller-runtime).
In any case, let's simplify and start with just a total runtime as a signal for "failing a test".
I'm most interested in obtaining detailed information from the internal operations of scheduling (flavor assigment, preemption calculation, API calls, etc). And we will get the most reliable information for that from a profile.

I'm most interested in obtaining detailed information from the internal operations of scheduling (flavor assigment, preemption calculation, API calls, etc). And we will get the most reliable information for that from a profile.

Currently only around 0.6% of the profile is spent in the scheduler, add runtime scraping will only decrease that.

Something I'm missing from https://github.com/kubernetes-sigs/kueue/pull/1931#issuecomment-2051505291 is how to gather the metrics in a non-cluster environment (the envtest from controller-runtime).

I assume the minimalkueue would expose the metrics endpoint.

Something I'm missing from #1931 (comment) is how to gather the metrics in a non-cluster environment (the envtest from controller-runtime).

I assume the minimalkueue would expose the metrics endpoint.

That and the runner needs to query and dump, or try to directly dump the Prometheus registry in files form minimalkueue. (but this is not a problem for now)

Split done,  #1987 contains the runner extracted metrics.

LGTM overall, thanks for the cleanup.

We should not look at it as a cleanup, is just a split in two PRs.

We should not look at it as a cleanup, is just a split in two PRs.

Right, but let's park the second part until we play more with the tool, and have some idea if this is really needed, because it adds significant complexity to the code.

/lgtm
/approve
/assign @alculquicondor
For the top-level Makefile

/lgtm

/release-note-edit
Added scalability test for scheduling performance

/kind feature

/remove-kind feature
/kind cleanup


[backport] Fix: Allow generating cubins for the max known CC

Backport of #5779 by @leofang
Conflict manually resolved.

[automatic post] Jenkins, test this please.

Jenkins CI test (for commit 536f0220c4c30ff672d716f61c4d4c08d40703df, target branch v9) succeeded!


Support cython embedSignature

Is your feature request related to a problem? Please describe.
When using cython with the embedSignature option, the __doc__ of the function will have the function signature in the first line of the doc. This naturally results in confusing documentation downstream in mkdocs because the signature gets repeated and presented incorrectly.
Describe the solution you'd like
I propose adding a new setting to all (?) docstring parsers along the lines of cython_embed_signature: bool, which, if true, will strip the first line from the docstring prior to parsing, and use it as the function signature instead of however it is done now.
Describe alternatives you've considered

Using show_signature: False improves the current documentation somewhat, but the signature is still formatted incorrectly.

Additional context

https://cython.readthedocs.io/en/latest/src/userguide/source_files_and_compilation.html#:~:text=Default is True.-,embedsignature,-(True / False)
https://stackoverflow.com/questions/50492949/how-to-display-the-arguments-of-a-cython-function-in-the-documentation

Interesting, thanks for the request :slightly_smiling_face:
So, we already have the ignore_init_summary option. I guess you'd like to have this for any function.
Additionally, you'd like to use the embedded signature instead of the inspected one... not sure if that's possible :thinking:
At least not easily.
I'd like to see an example of such rendered signatures + docstrings, could you show us that? A screenshot of your localhost:8000 docs would be just fine.

Yeah sure, it looks like this (with show_signature = true):

Hey @multimeric, @tazend. I have looked at this again and decided to close as out of scope. Cython 3.0 seems to resolve most of the issue, leaving only __init__ method signatures to be improved. Griffe supports introspection of objects, so frameworks that build such Python objects should do it in a way that conforms with what introspection tools expect (Python objects looking like real Python objects and providing correct metadata).
Adding an option to consider the first line of a docstring to be a signature that should be parsed again and used instead of the real signature feels a bit heavy. Docstring styles are already quite complicated to support (their specs are generally under specified), so adding more custom logic is not appealing to me :sweat_smile:
If we ever want to be able to specify default values in docstrings, it would have to re-use Python syntax, something like:
def __init__(self):
    """Summary.

    Parameters:
        param1: str | int = 0
            Description of param1.
        param2: list[Class] | None = None
            Description of param2.
    """
    ...

...but this should be discussed in another issue, for example in this one: https://github.com/mkdocstrings/mkdocstrings/issues/577 :slightly_smiling_face:


Update MBslave.c

Reset last error and internal substep while function block is disabled

A customer was using this library with a PLC redundancy solution, and the secondary PLC was using an invalid TCP_Open ident on PLC switchover. We were able to disable and re-enable the function block to recover, once we reset the internal substep to 0 on disable. We're using the Last_error to detect unrecoverable critical errors, so it was helpful to reset this back to 0 on toggle of the enable.

Also updated the library version property as requested by a colleague


Build py39 cloud variant in a separate branch

We are transitioning our cloud environment from py39 to py312. It is proving difficult (if not impossible) to configure the feedstock for both the past (py39 with old pins like pyarrow 11) and the future (py312 and numpy2). In order to test the new py312 environment while also maintaining the existing py39 environment, I have created a new branch py39cloud.
cc: @dudoslav, @ihnorton
xref: https://github.com/TileDB-Inc/tiledbsoma-feedstock/pull/220, https://github.com/TileDB-Inc/tiledbsoma-feedstock/pull/226
This PR configures the feedstock to only build a single linux-64 python 3.9 variant with the old pins for our existing cloud environment. The only real change I made was to change the label for the cloud variant from "main" to "for-cloud". In retrospect, we should have always been doing this, since the cloud variants of libtiledbsoma/tiledbsoma-py/r-tiledbsoma are only valid when installed with the "for-cloud" variant of libtiledb. I confirmed that both the notebook and UDF Docker images specify the channel  tiledb/label/for-cloud when installing the SOMA conda binaries, so this won't affect the next cloud deployment.

Confirmed that the new branch is able to upload compatible binaries:
mamba create --dry-run -n test \
  -c tiledb/label/for-cloud -c conda-forge -c tiledb \
  fmt=9 spdlog=1.11 pyarrow=11 python=3.9 numpy=1.22 tiledbsoma-py
## + tiledbsoma-py           1.15.0rc3  py39h6b0a75e_0          tiledb/label/for-cloud      646kB


adds support for additional claims in JWT tokens

see #149

cc @ryanmats

@ryanmats were you able to get IAP working with this change?

cc @jonparrott


Fix typo in webhook "Create documentation" section.

Noticed a typo while going over the completed webhook doc.

Automated message from Dropbox CLA bot
@feorlen, it looks like you've already signed the Dropbox CLA. Thanks!

Merged, thanks @feorlen!


In the ASP.NET Core templates add a controller for the /_ah/* routes.

The /_ah/* routes are special routes used by App Engine to notify the app of events, such as startup and shutdown and to probe for the health state of the app.
The App Engine health checker will probe the /_ah/health route periodically. All that is needed is for the app to not return a 5XX error code. The templates are not handling this route which means that the app returns 404s, this is not marking the app as unhealthy but it is adding entries to the error logs.
We should have a default handler for the /_ah/* routes that handles all of this, including some sort of callbacks for lifetime events (startup, shutdown) that the app can hook into.

Doing this just spams different logs (specifically those from Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker).


set openssl dir and enable cross-compile

fix #96 along with including ipfs-http

@aphelionz Should I keep trying directories that openssl may be in, or is there a better method?
https://github.com/ipfs-rust/rust-ipfs/pull/128/checks?check_run_id=541078376#step:11:205

There's almost certainly be a better method, but I'm not yet familiar enough with the GH Actions runners to say - let me take a look at a few things. Also @hugomrdias posted some helpful links in Matrix: https://matrix.to/#/!JxzWpvsvfYuMHyUJiL:matrix.org/$t3B9RULiM-kSkPDR31xVtCiR4sAbeClHpteHijFgZyg?via=matrix.org&via=hielle.com&via=t2bot.io

@ifkb99 Can you try:

Adding this crate to http/Cargo.toml: https://crates.io/crates/openssl-probe
Adding the line from openssl-probe's README to the main function in http/src/main.rs

You'll also want to merge master in because of #124

Whoa, so close! Now what to do with the ios builds :thinking:

The windows test failure is one of the tests still racy to access the configuration file, the doctest failure is the flaky test fixed in #124 which would go away on rebasing to master.
Looks like you got the android build at least to work! Could leave the issue open for the mac ones since this is progress already! Though the android build apparently doesn't run tests, since tests currently guarded with cross == false. I don't see why tests could be be run on android, but now the separation from "cross[compiled]" will need to change to "apple" or something else.

Rerunning the jobs just in case, looks like you merged back to your branch in the latest commit.

I'd be ok with disabling the ios builds as we have before this, and then opening an issue to address them separately 👍

Yeah, to recap:

exclude http on ios

I suggested running the tests on andoid but that of course wont work without a virtualization environment which I don't think we want to add here.

Yes, I was agreeing

@ifkb99 Can you disable the builds on the ios versions so we can get a green CI again? Then we can merge. Also, please comment here to add yourself to the roster: https://github.com/ipfs-rust/welcome/issues/1

Looks like this needs a rebase and you should be good to go

Closing this for inactivity.

Closing this for inactivity.


MP Checks - DEFAULT-53-B

The scope of this ticket is to address the following Check:
ECMPS Monitoring Plan Check Specifications

[ ] DEFAULT-53-B - This check determines whether the Default Fuel Code is Valid

Note: Remove the following check for 53-B to work as expected:

Test Case: TC1253

DEFAULT-53-B IMPORT

DEFAULT-53-B POST

DEFAULT-53-B PUT


use first applied block in epoch for new miner active set

Motivation
Closes #4912
Changes

for new miner use the first applied block for ref ballot active set

i think it is this bug https://github.com/spacemeshos/go-spacemesh/issues/4912

i think it is this bug #4912

not aware of this. thanks!

bors merge

bors merge


Should we run Pore-C pipeline to generate the virtual digest for annopy python script?

I am running some of our old Pore-C data on iPSCs with your hi-pore-c pipeline. We also used DpnII as originally recommended by Nanopore.
As this file genome_digest_frag="./Scripts/DpnII_GRCh38.vd.fragments.csv" is not included in the repository I am guessing that we should generate that file ourselves with the pore-c pipeline from Nanopore?
To confirm you used the GRCh38 no analysis set for reference? As I may have a virtual digest of hg38.fa with DpnII. I guess the no_analysis_set would be a subset of hg38.fa anyway.

Sorry for the late reply. Primary assembly chromosomes(chr1 ~ chr22, chrX, chrY) frome GRCh38_no_alt_analysis_set_GCA_000001405.15 were selected and merged ito GCA_000001405.15_GRCh38_major_chr.fa to used as refference.
The DpnII digetsion fragment file could generate by cooler using:
`
cooler digest -o hg38_DpnII_digetstion_fragment.bed hg38.chromosomes.size GCA_000001405.15_GRCh38_major_chr.fa DpnII
echo "chrom,start,end,fragment_length,fragment_id" > DpnII_GRCh38.vd.fragments.csv  #DpnII_GRCh38.vd.fragments.csv with columns [chrom, start, end, fragment_length, fragment_id]
awk -v OFS="," '{pirnt $1,$2,$3,$3-$2,NR}' hg38_DpnII_digetstion_fragment.bed >> DpnII_GRCh38.vd.fragments.csv
`

Thank you for the reply, works great.

As I ran the alignment bash script with all the patches in the no_analysis_set (i.e. including unplaced patches) I was wondering whether this may have a downstream effect on the annotation python script but seems to be OK as it lists the fragment alignments in the Read_align_Fragment_RvdF.csv

The alignment would be more comprehensive, but the unplaced patches fragments seem to be of little use for subsequent analysis.

Yes, you are totally right. It doesn't make much sense to work out the contacts where the loci cannot be placed in relation to other loci.
I will just run the alignment again with the reference subset.
TY


Improve article : 2307.11045v1 (all articles)

Describe the issue
Description: In dark mode if you minimize the TOC, and then unminimize it, the TOC background is white.
Feel free to attach a screenshot (or document) link below:
Auto Fill Data - !!! Please do not edit below this line !!!

Id: 3f79fe7b-9f9f-4ff6-aca0-15b4069e347b

This appears to be resolved


Disable close for import dialog

Description
this is to prevent user losing import progress. The downside is that if user was just checking the functionality, user cannot easily close it with ESCAPE key or mouse click outside.
Checklist

[x] I have manually tested the application to make sure the changes don’t cause any downstream issues, which includes making sure ./orchest status --ext is not reporting failures when Orchest is running.

Discussed with @fruttasecca. Merging into dev.


sp-dialog crashes when it is opened twice

Category

[ ] Question
[ ] Typo
[X] Bug
[ ] Additional article idea

Using spfx 1.7 I've created a custom confirm/cancel dialog.
Expected or Desired Behavior
You can open/close a dialog a much times as you want.
Observed Behavior
When you open the dialog first time it works fine, but when you try to open int again. it shows the grey layout and an error on the console.
react-dom.development.js:526 Warning: render(...): It looks like the React-rendered content of this container was removed without using React. This is not supported and will cause errors. Instead, call ReactDOM.unmountComponentAtNode to empty a container.
printWarning @ react-dom.development.js:526

Steps to Reproduce
Create a new spfx 1.7 Online project.
Add a custom dialog component.
Test it on workbench page.
Try to open the dialog twice.

+1. Seeing the same with 1.7. The same behavior is visible when the web part is deployed to the actual page.

@jmmartinez84 Thanks for filing the issue.
@jmmartinez84 @jansenbe You can work around this right now by overriding the onAfterClose method with the following snippet:
// In the derived class
protected onAfterClose(): void {
  super.onAfterClose();
  ReactDOM.unmountComponentAtNode(this.domElement);
}

Hey @jmmartinez84 - quick question on this.  Did you update your solution to use React16 to see this, or did you continue to use React15 and this started happening?

I created a brand new project on SPFx 1.7 + React 16

This workaround does not work in IE. If you open it in IE the second time it crashes again. IE seems to remove the div completely.....

My workaround right now that also works in IE: Make the Dialog blocking and call ReactDOM.unmountComponentAtNode before closing the dialog and not inside onAfterClose. This works in all Browsers that I have testet.

Having same(as shown below) issue in IE. Works perfect in Chrome and Edge.
Using SPFx 1.7.1 + React 16.3.2.  Above workarounds did not work for me.
Can anyone share the working code?
NotFoundError
{
[functions]: ,
proto: { },
ABORT_ERR: 20,
code: 8,
constructor: { },
DATA_CLONE_ERR: 25,
DOMSTRING_SIZE_ERR: 2,
HIERARCHY_REQUEST_ERR: 3,
INDEX_SIZE_ERR: 1,
INUSE_ATTRIBUTE_ERR: 10,
INVALID_ACCESS_ERR: 15,
INVALID_CHARACTER_ERR: 5,
INVALID_MODIFICATION_ERR: 13,
INVALID_NODE_TYPE_ERR: 24,
INVALID_STATE_ERR: 11,
message: "NotFoundError",
name: "NotFoundError",
NAMESPACE_ERR: 14,
NETWORK_ERR: 19,
NO_DATA_ALLOWED_ERR: 6,
NO_MODIFICATION_ALLOWED_ERR: 7,
NOT_FOUND_ERR: 8,
NOT_SUPPORTED_ERR: 9,
PARSE_ERR: 81,
QUOTA_EXCEEDED_ERR: 22,
SECURITY_ERR: 18,
SERIALIZE_ERR: 82,
SYNTAX_ERR: 12,
TIMEOUT_ERR: 23,
TYPE_MISMATCH_ERR: 17,
URL_MISMATCH_ERR: 21,
VALIDATION_ERR: 16,
WRONG_DOCUMENT_ERR: 4
}

Suffering from this right now. @OliverZeiser can you please show your code? I look at the BaseDialog and did not find onBeforeClose.

Just do something like this:
export default class CustomMessageDialog extends BaseDialog {
  public message: string;
  public title: string;
  public render(): void {
    ReactDOM.render(<CustomMessageContent
      close={this.closeDialog.bind(this)}
      title={this.title}
      message={this.message}
    />, this.domElement);
  }

  private closeDialog(): void {
    this.close();
    ReactDOM.unmountComponentAtNode(this.domElement);
  }

This was fixed a while ago, but you do need to un mount your component via the onDispose method.


Mac-22 causing flakes

Manually quarantined mac-22 due to issues on test Mac_android run_release_test blocking framework tree
https://github.com/flutter/flutter/issues/117100

After cleaning up the android phone space and removing quarantine, bot seems to be stable https://g3doc.corp.google.com/company/teams/flutter/infrastructure/playbook.md?cl=head#android-install-failed-insufficient-storage


side menu not working on android device(oppo) version 6.0.1 but working on chrome

Ionic version:

[x] 4.x
I'm submitting a ...

[ ] bug report
[ ] feature request

Current behavior:

Expected behavior:

Steps to reproduce:

Related code:

insert short code snippets here

Here is my code

                    {{p.title}}

Other information:

Ionic info:

insert the output from ionic info here

please help me out

                    {{p.title}}

Hi,
Can you build this project : https://github.com/ionic-team/ionic-conference-app and run into your device.

Hi,
I build this project : https://github.com/ionic-team/ionic-conference-app and run my device. Android 5.1, Android 5.0, Android 4.4.4
When I click on the menu:
Error: Uncaught TypeError: undefined is not a functionion-menu_4-md.entry.js:140 push../node_modules/@ionic/core/dist/esm/ion-menu_4-md.entry.js.class_1.onBackdropClickcore-feeeff0d.js:1461 (anonymous function)

Yes have the same issue
On Sun, Dec 29, 2019 at 2:40 PM Maklakov Evgeniy<EMAIL_ADDRESS>wrote:

Hi,
I build this project : https://github.com/ionic-team/ionic-conference-app
and run my device. Android 5.1, Android 5.0, Android 4.4.4
When I click on the menu:
Error: Uncaught TypeError: undefined is not a
functionion-menu_4-md.entry.js:140
push../node_modules/@ionic/core/dist/esm/ion-menu_4-md.entry.js.class_1.onBackdropClickcore-feeeff0d.js:1461
(anonymous function)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ionic-team/ionic/issues/20120?email_source=notifications&email_token=AJA5QLS7L5M7BJHB4UWAJQLQ3BSOXA5CNFSM4J7JJZEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHY3C6Q#issuecomment-569487738,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJA5QLXEHVXSBRLV5HR4RDLQ3BSOXANCNFSM4J7JJZEA
.

Thanks for the issue! This issue is being closed due to the lack of a code reproduction. If this is still an issue with the latest version of Ionic, please create a new issue and ensure the template is fully filled out.
Thank you for using Ionic!


test:  use tighter "satisfies" typing in storybook

See https://storybook.js.org/docs/writing-stories/typescript#using-satisfies-for-better-type-safety

Migrate all stories to satisfies type signature
Add types that were missing from stories
Remote props that aren't being used
Fix type error with MSW parameters

:tada: This PR is included in version 1.19.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Flower seeding

Please ignore and don't accept the [6811cdb] commit - it was a playaround.
Just approve the second commit about seeding. Thanks!


UI ISSUES

Environment
Docker
Version
latest
Describe the problem
Ui issue on iphone 11 screen

scroll bar not scroll to the bottom of the screen

Text on button in the about page is cropped

Additional info
No response
Please tick the boxes

[X] You've read the docs
[X] You've checked for duplicate issues
[X] You've tried to debug yourself

Done. Now fully responsive and doesn't overflow anymore :D


unsupported type TypeJSON

Hello, Thanks for creating this tool.
For team with DBA, these tool seems to be of great help.
I have the following schema and I'm running into a problem.
create table outbox
(
    id             bigint auto_increment
        primary key,
    aggregate_type varchar(255) not null,
    aggregate_id   varchar(255) not null,
    type           varchar(255) not null,
    payload        json         not null
);

when I tried

go run ariga.io/entimport/cmd/entimport -dialect mysql -dsn "root:root@tcp(localhost:3306)/db"

exit status 1 with

2021/10/26 10:46:12 entimport: schema writing failed - schemast: unsupported type TypeJSON

Am I using it wrong? Or is it a bug?
Mysql: mysql 8
go: 1.17.0
entimport: v0.0.0-20211024085919-20c40b8b2009

Is this a similar "error", or well, unsupported field type? (type postgres, field is a varchar)
2022/06/07 14:51:06 entimport: schema import failed - entimport: unsupported type &{<nil> "varchar[]"}


idfv release from our latest tagged version, with test

I dont see that it does We send the ATT consent status to PBS whenever it is available. Does Prebid do it?

line 599 in RequestBuiler.swift implements that logic, already there if I'm not wrong. it wasn't added by us
if #available(iOS 14, *) {
deviceExt["atts"] = ATTrackingManager.trackingAuthorizationStatus.rawValue
}


Zooming out in browser forces the image to disappear

Description
On certain width and height of the parent div in which the cropper component is placed, the image starts to get disappear.
To Reproduce
Steps to reproduce the behavior:
I am setting the CanvasWidth (200px) and CanvasHeight(70px) for the div in which the cropper is placed

If I zoom out the browser window the image starts to get disappear
Initial state

Zoom out (67%)

Expected behavior
If I set CanvasWidth (200px) and  CanvasHeight(100px), then this problem does not happen

Zoom out (67%) {Note that image is not disappearing now}

What can be the possible reason behind this behavior?
Desktop

OS: Windows 11 pro
Browser [Edge]
Version [115.0.1901.183]

Hi @saadsaeed01. Arguably this can help you: https://github.com/fengyuanchen/cropperjs/issues/147

@saadsaeed01  To be honest, I don't know this aspect of the work from the original cropper.js library

HI @MaxymGorn
This is not helping me to sort out this issue. Please see the video of what's happening over here.
https://www.loom.com/share/dca17ddfcb5f4b2285b37903d7a56792?sid=6895b4ba-8308-457f-9035-18cd3d50f1df
We needed to somehow intercept the zoom event if the cursor is not over the cropper and make sue it doesn't change the styles of the inner div elements
Waiting for your response!
S

@saadsaeed01  Yes, I see your problem. I have the same one in an empty project, at the moment I don't know a clear reason why this happens! Maybe you need some styles for the cropper element or its container. It seems that there is no such problem on the demo cropper website, I am still trying to find out what could have caused this

In addition, I think it is worth writing about this problem in the cropper.js repository, most likely, the author of the library will know the answer. Repository cropper.js: https://github.com/fengyuanchen/cropperjs

Hi @MaxymGorn
I have created a solution that works for me!
I have taken inspiration from this: https://github.com/fengyuanchen/cropperjs/issues/885#issuecomment-1091315068
Can you please check it out?
let timer
window.addEventListener('resize', () => {
    if (cropper == undefined) {
        return;
    }
    let keys = Object.keys(cropper.cropperInstances);
    clearTimeout(timer);
    keys.forEach((key) => {
        cropper.cropperInstances[key].disable();

    });
    timer = setTimeout(() => {
        let keys = Object.keys(cropper.cropperInstances);
        keys.forEach((key) => {
            cropper.cropperInstances[key].enable();

        });
    }, 100);
})

Hi @saadsaeed01. Great solution. I just some refactored this code and adding check when the cropper module is unloaded or there are no croppers at all:
let timer
window.addEventListener('resize', () => {
    if (!Object.hasOwn(this, 'cropper') || cropper == null || cropper.cropperInstances == null) {
        return;
    }
    let keys = Object.keys(cropper.cropperInstances);
    clearTimeout(timer);
    if (keys.length > 0) {
        keys.forEach((key) => {
            cropper.cropperInstances[key].disable();
        });
        timer = setTimeout(() => {
            let keys = Object.keys(cropper.cropperInstances);
            keys.forEach((key) => {
                cropper.cropperInstances[key].enable();
            });
        }, 100);
    }
})


convert comment language from Russian to English.

There is a Russian comment in ClickHouseHttpClientBuilder.buildClient.
//gzip здесь ни к чему. Используется lz4 при compress=1
Maybe it should been changed to English.

Fixed on develop branch and will be merged into master after 0.2.5 release this weekend.

Fixed on develop branch and will be merged into master after 0.2.5 release this weekend.


glossary.yaml: Fix some typos/grammar errors in the "volumes" entry

Proposed changes
Some typos and grammar fixes for the "volumes" entry of the glossary.
(I think it could use a better sentence structure and a rewrite, but I don't know the tech, so it would be hard for me to really improve them more whilst still being confident about technical accuracy.)

Deploy preview for docsdocker ready!
Built with commit 3519bb24adda9a2abafb367ad653c82960ea0ccc
https://deploy-preview-10013--docsdocker.netlify.com


Azure MSSQL database should show license cost by default

When launching a azurerm_mssql_database with Terraform the SQL license is included by default.
Infracost currently only includes the SQL license cost if license_type == LicenseIncluded, but we should update this to be the default and only exclude it if license_type == BasePrice.
Relevant code: https://github.com/infracost/infracost/blob/master/internal/providers/terraform/azure/mssql_database.go#L110-L115

@alikhajeh1, I want to do it


Line-splitting breaks macro invocation because of added comma

Sometimes rustfmt will format a macro invocation in a way that causes a compiler error where none existed before formatting. This happens when the macro expects parentheses as part of its parameters and the parameters are just the right length to cause rustfmt to line-wrap within the parentheses.
Example macro:
macro_rules! faking_a_tuple_syntax {
    ($a:expr, ($b:expr, $c:expr)) => {
        println!("{}, ({}, {})", $a, $b, $c);
    };
}

Pre-formatted invocation:
faking_a_tuple_syntax!("short", ("The quick brown fox jumped over the lazy dog.", "This is another long argument."));

Post-formatted invocation:
faking_a_tuple_syntax!("short", (
    "The quick brown fox jumped over the lazy dog.",
    "This is another long argument.",
));

The problem with the post-formatted version is the trailing comma after the $c argument. The macro expects no comma there, but rustfmt inserted a comma before the newline it also added.
Here's the compiler error:
error: no rules expected the token `,`
  --> src/main.rs:10:41
   |
8  | /     faking_a_tuple_syntax!("short", (
9  | |         "The quick brown fox jumped over the lazy dog.",
10 | |         "This is another long argument.",
   | |                                         ^
11 | |     ));
   | |_______- in this macro invocation

Thanks for filing an issue! Fortunately this is fixed on the latest rustfmt-nightly. Could you please update your rustfmt?

I do my edit-compile-run cycle using a stable Rust toolchain, and updating to rustfmt-nightly is not an option. Will there not be a v0.9.1 release?
In the meantime, I'm using #[rustfmt_skip] as a workaround. Feel free to close this issue if the v0.9.x branch is dead.

We can do a 0.9.1 release - I don't fundamentally object, however, someone would need to do the backport from the master branch and I expect that is non-trivial. I'm not planning on doing that. We plan to get rustfmt distributed via rustup in the next few months in order to support stable users. Sorry to make you wait for a solution.


Clangd build failure on WSL with GCC 9.3.0

After this commit https://github.com/llvm/llvm-project/commit/0c96a92d8666b8eb69eb1275aed572f857182d9a#diff-c32c7f73f1328b7df01bcf4544f15843fdabc3838436374c35ab930e44463a74
clangd can't be built on WSL with GCC 9.3.0 (unsure if the version is important) with a lot of errors and the reason is here:
[1/108] Building CXX object tools/clang/tools/extra/clangd/CMakeFiles/obj.clangDaemon.dir/Config.cpp.o
FAILED: tools/clang/tools/extra/clangd/CMakeFiles/obj.clangDaemon.dir/Config.cpp.o
/usr/bin/c++  -DGTEST_HAS_RTTI=0 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools/clang/tools/extra/clangd -I/mnt/d/work/llvm-project/clang-tools-extra/clangd -Itools/clang/tools/extra/clangd/../clang-tidy -I/mnt/d/work/llvm-project/clang/include -Itools/clang/include -Iinclude -I/mnt/d/work/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wmisleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -fno-strict-aliasing -O3 -DNDEBUG    -fno-exceptions -fno-rtti -std=c++14 -MD -MT tools/clang/tools/extra/clangd/CMakeFiles/obj.clangDaemon.dir/Config.cpp.o -MF tools/clang/tools/extra/clangd/CMakeFiles/obj.clangDaemon.dir/Config.cpp.o.d -o tools/clang/tools/extra/clangd/CMakeFiles/obj.clangDaemon.dir/Config.cpp.o -c /mnt/d/work/llvm-project/clang-tools-extra/clangd/Config.cpp
In file included from /usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h:524,
                 from /usr/include/c++/9/string:38,
                 from /mnt/d/work/llvm-project/clang-tools-extra/clangd/features.h:11,
                 from /usr/include/inttypes.h:25,
                 from /mnt/d/work/llvm-project/llvm/include/llvm-c/DataTypes.h:27,
                 from /mnt/d/work/llvm-project/llvm/include/llvm/Support/DataTypes.h:19,
                 from /mnt/d/work/llvm-project/llvm/include/llvm/ADT/Hashing.h:47,
                 from /mnt/d/work/llvm-project/llvm/include/llvm/ADT/Optional.h:18,
                 from /mnt/d/work/llvm-project/llvm/include/llvm/ADT/STLExtras.h:19,
                 from /mnt/d/work/llvm-project/clang-tools-extra/clangd/support/Context.h:17,
                 from /mnt/d/work/llvm-project/clang-tools-extra/clangd/Config.h:27,
                 from /mnt/d/work/llvm-project/clang-tools-extra/clangd/Config.cpp:9:
/usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h:44:19: error: missing binary operator before token "("
   44 | #if __GLIBC_PREREQ(2,15) && defined(_GNU_SOURCE)
.....

As we can see, wrong features.h (from clangd sources instead of system header) is used. This looks like the problem of case-insensitivity (because the real name for the file inside clangd sources is Features.h). I tried to rename Features.h to another name and it helped.
I want to fix my WSL build, but unsure what is the legal way to do this =)

Haha, wow, sorry about that.
I guess I'll just rename the header.


Invalid argument: logits and labels must have the same first dimension

When i try the NMT tuition with default params，i got this following error. and i don't know how to fix it.
`INFO:tensorflow:Creating vocabulary lookup table of size 37007
INFO:tensorflow:Creating vocabulary lookup table of size 37007
INFO:tensorflow:Creating BidirectionalRNNEncoder in mode=eval
INFO:tensorflow:
BidirectionalRNNEncoder:
init_scale: 0.04
rnn_cell:
cell_class: GRUCell
cell_params: {num_units: 128}
dropout_input_keep_prob: 0.8
dropout_output_keep_prob: 1.0
num_layers: 1
residual_combiner: add
residual_connections: false
residual_dense: false
INFO:tensorflow:Creating AttentionLayerDot in mode=eval
INFO:tensorflow:
AttentionLayerDot: {num_units: 128}
INFO:tensorflow:Creating AttentionDecoder in mode=eval
INFO:tensorflow:
AttentionDecoder:
init_scale: 0.04
max_decode_length: 100
rnn_cell:
cell_class: GRUCell
cell_params: {num_units: 128}
dropout_input_keep_prob: 0.8
dropout_output_keep_prob: 1.0
num_layers: 1
residual_combiner: add
residual_connections: false
residual_dense: false
INFO:tensorflow:Creating ZeroBridge in mode=eval
INFO:tensorflow:
ZeroBridge: {}
INFO:tensorflow:Starting evaluation at 2017-04-19-09:18:33
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:1) -> (device: 1, name: GeForce GTX 1080, pci bus id: 0000:03:00.0)
W tensorflow/core/framework/op_kernel.cc:993] Out of range: Reached limit of 1
[[Node: dev_input_fn/parallel_read_1/filenames/limit_epochs/CountUpTo = CountUpToT=DT_INT64, _class=["loc:@dev_input_fn/parallel_read_1/filenames/limit_epochs/epochs"], limit=1, _device="/job:localhost/replica:0/task:0/cpu:0"]]
W tensorflow/core/framework/op_kernel.cc:993] Invalid argument: logits and labels must have the same first dimension, got logits shape [1344,37007] and labels shape [1568]
[[Node: model/att_seq2seq/cross_entropy_sequence_loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits = SparseSoftmaxCrossEntropyWithLogits[T=DT_FLOAT, Tlabels=DT_INT64, _device="/job:localhost/replica:0/task:0/gpu:0"](model/att_seq2seq/cross_entropy_sequence_loss/SparseSoftmaxCrossEntropyWithLogits/Reshape, model/att_seq2seq/cross_entropy_sequence_loss/SparseSoftmaxCrossEntropyWithLogits/Reshape_1)]]
W tensorflow/core/framework/op_kernel.cc:993] Invalid argument: logits and labels must have the same first dimension, got logits shape [1344,37007] and labels shape [1568]
[[Node: model/att_seq2seq/cross_entropy_sequence_loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits = SparseSoftmaxCrossEntropyWithLogits[T=DT_FLOAT, Tlabels=DT_INT64, _device="/job:localhost/replica:0/task:0/gpu:0"](model/att_seq2seq/cross_entropy_sequence_loss/SparseSoftmaxCrossEntropyWithLogits/Reshape, model/att_seq2seq/cross_entropy_sequence_loss/SparseSoftmaxCrossEntropyWithLogits/Reshape_1)]]
...
InvalidArgumentError (see above for traceback): logits and labels must have the same first dimension, got logits shape [1344,37007] and labels shape [1568]
[[Node: model/att_seq2seq/cross_entropy_sequence_loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits = SparseSoftmaxCrossEntropyWithLogits[T=DT_FLOAT, Tlabels=DT_INT64, _device="/job:localhost/replica:0/task:0/gpu:0"](model/att_seq2seq/cross_entropy_sequence_loss/SparseSoftmaxCrossEntropyWithLogits/Reshape, model/att_seq2seq/cross_entropy_sequence_loss/SparseSoftmaxCrossEntropyWithLogits/Reshape_1)]]
[[Node: mean/broadcast_weights/assert_broadcastable/is_valid_shape/has_valid_nonscalar_shape/has_invalid_dims/ExpandDims_1/_415 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/cpu:0", send_device="/job:localhost/replica:0/task:0/gpu:0", send_device_incarnation=1, tensor_name="edge_433_mean/broadcast_weights/assert_broadcastable/is_valid_shape/has_valid_nonscalar_shape/has_invalid_dims/ExpandDims_1", tensor_type=DT_INT32, _device="/job:localhost/replica:0/task:0/cpu:0"]]
`

hi, did you solve this problem, I think I have the same problem. but no idea.

have you found that, decoder outputs have 1 less time steps? Strange

I have the same exception, and my error happens in 9th batch. It is weird the former batches have no error!

have you found that, decoder outputs have 1 less time steps? Strange

Incredibly late to the party, but I was having a similar issue. Turns out I was setting my actual sequence lengths before adding my START/END tokens, which might be what is/was causing your issue


Convert CSS to Sass and extract color as variable.

I took the liberty to convert the CSS file you provide to Sass (and left the existing CSS file of course) because you casually mentioned that one could replace all the instances of the same color in the CSS to customize it.
That sounds like a perfect job for a configurable variable in Sass.
If you don't feel like adding the conversion from Sass to CSS to your flow, just close this otherwise I'm sure we can find a way to automate the process to compile to CSS.

@rstacruz that makes no sense. Since you offer a npm version you should have a scss or sass version bundled together with the css for new users.
e.g. I am installing nprogress via npm and want to change the color and height of the progress bar.

An easier way is just to edit the css file, BUT, when someone else clones my repo the changes will be lost since they were made only to my local node_modules folder.


create a version of zprint-file which takes and produces strings and not files

Pull the insides of zprint-file out and make it a separate function, zprint-whole, for boot-fmt or anyone else to use.    Also, document at least one of them as part of the formal API.

Fixed in 0.2.10.
It is in zprint.core, and I ended up naming it zprint-file-str:
(defn zprint-file-str
  "Take a string, which typically represents file but doesn't have
  to, and format the entire string, outputing a formatted string.
  It respects white space at the top level, while completely ignoring
  it within all top level forms (typically defs and function
  definitions).  It allows comments at the top level, as well as
  in function definitions, and also supports ;!zprint directives
  at the top level.  zprint-specifier is the thing that will be
  used in messages if errors detected in ;!zprint directives,
  so it should identify the file (or other element) to allow the
  user to find the problem."
  [file-str zprint-specifier]


Port fix for following execution chain from Go SDK

See https://github.com/temporalio/sdk-go/pull/527
See details from :point_up:. Fix should be straightforward.

Here's the Go change: https://github.com/temporalio/sdk-go/pull/791


Add CMake export infrastructure

Currently will export a target nmodl::nmodl for the NMODL binary, and a nmodl_BINARY variable for the filename.

Tested in the NRN repo, seems to run fine.


[Reproductibility] Allow to pin versions of datasets/metrics

Repurpose the version attribute in datasets and metrics to let the user pin a specific version of datasets and metric scripts:
dataset = nlp.load_dataset('squad', version='1.0.0')
metric = nlp.load_metric('squad', version='1.0.0')

Notes:

version number are the release version of the library
currently only possible for canonical datasets/metrics, ie. integrated in the GitHub repo of the library

Closing this one in favor of #584


Deploy Checklist: New Expensify 2021-09-30

Release Version: 1.1.4-0
Compare Changes: https://github.com/Expensify/App/compare/production...staging
This release contains changes from the following pull requests:

[x] https://github.com/Expensify/App/pull/5258
[x] https://github.com/Expensify/App/pull/5262
[x] https://github.com/Expensify/App/pull/5509
[x] https://github.com/Expensify/App/pull/5532
[x] https://github.com/Expensify/App/pull/5543
[x] https://github.com/Expensify/App/pull/5544
[x] https://github.com/Expensify/App/pull/5545
[x] https://github.com/Expensify/App/pull/5555
[ ] https://github.com/Expensify/App/pull/5557
[x] https://github.com/Expensify/App/pull/5576
[x] https://github.com/Expensify/App/pull/5584
[x] https://github.com/Expensify/App/pull/5587
[x] https://github.com/Expensify/App/pull/5594
[x] https://github.com/Expensify/App/pull/5600

Deploy Blockers:

[ ] https://github.com/Expensify/App/issues/5622

cc @Expensify/applauseleads

Regression is finished!
Issues found today:

https://github.com/Expensify/App/issues/5622
https://github.com/Expensify/App/issues/5623
https://github.com/Expensify/App/issues/5625

PRs are finished too.
1 comment added.

https://github.com/Expensify/App/pull/5557#issuecomment-932352181

Thanks!

https://github.com/Expensify/App/issues/5622 and https://github.com/Expensify/App/pull/5557#issuecomment-932352181 checked off since it was a pass 🎉

:shipit:


wc: specialize scanning loop on settings.

The primary computational loop in wc (iterating over all the
characters and computing word lengths, etc) is configured by a
number of boolean options that control the text-scanning behavior.
If we monomorphize the code loop for each possible combination of
scanning configurations, the rustc is able to generate better code
for each instantiation, at the least by removing the conditional
checks on each iteration, and possibly by allowing things like
vectorization.
On my computer (aarch64/macos), I am seeing at least a 5% performance
improvement in release builds on all wc flag configurations
(other than those that were already specialized) against
odyssey1024.txt, with wc -l showing the greatest improvement at 15%.

Excellent, could you please document how to run this benchmark (or finding) in https://github.com/uutils/coreutils/blob/main/src/uu/wc/BENCHMARKING.md if it makes sense ?

Excellent, could you please document how to run this benchmark (or finding) in https://github.com/uutils/coreutils/blob/main/src/uu/wc/BENCHMARKING.md if it makes sense ?

I actually used the guidance from that file, with the only caveat that I used an even longer copy of the Odyssey file.

I figured out that I could reduce the size of the dispatch by half by handling the manually-written fast paths in the same way as the automatic ones. This eliminates show_bytes as a const generic parameter, thereby halving the size of the dispatch. Please take a look!

bravo :)


Python with Numba

Interesting repo! Thanks for sharing.
Would you be open to a python implementation that uses the numba library? It is a popular library for those doing computationally intensive tasks with python. Using it requires the cache variable to be a global and immutable (e.g., a numpy array). This implementation runs in 28s on my machine, and is only a minor modification of your python3.10
import numpy as np
from numba import njit, prange

N = 440_000_000
#N = 10_000_000

cache = np.array([0] + [i ** i for i in range(1, 9+1)])

@njit
def is_munchausen(number: int) -> bool:
    n = number
    total = 0
    while n > 0:
        digit = n % 10
        total += cache[digit]
        if total > number:
            return False
        n = n // 10

    return total == number

@njit(parallel=True)
def main() -> None:
    for n in prange(0, N):
        if is_munchausen(n):
            print(n)

##############################################################################

if __name__ == "__main__":
    main()

Parallel solutions are treated differently. I can add numba but let's start with a single-threaded version. Is it enough to remove this line: @njit(parallel=True) ?
You can also send a PR. It can go in a folder called python3_with_numba.

Thanks, it was added.


Windows worker registration command is not available

What kind of request is this (question/bug/enhancement/feature request): bug
Steps to reproduce (least amount of steps as possible):

Create a custom cluster on 2.5-head
Windows enabled - VXLAN/HostGW. Click on Next --> go to registration command page
Click on Windows, windows registration command is not displayed

Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): 2.5-head commit id: 71da15
Installation option (single install/HA): single node

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): Windows custom

repro with the latest 2.5.-head,  commit 145984

select add cluster as the custom cluster
select the network type as "Flannel" and enable window support
go to the registration page for the exact command and select os as window
There are two issues.
For the window the node roles "etcd" and "control plane" were selectable and should be grayed out in case of win os.
The command it generated is not PowerShell command

Verified the fix 2.5-head 9ee39b9, and mater-head, a549b47.
steps.

select add cluster as the custom cluster
select the network type as "Flannel" and enable window support
go to the registration page for the exact command and select os as window
Now when the user selects the window, the Powershell command list for worker
Created a  custom cluster and registered the worker VM using the command listed in step 4.

The issue is fixed.


Fixing BigQueryIO request too big corner case for streaming inserts

Please add a meaningful description for your change here

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Run Java PostCommit

Run Java PreCommit

r: @dhercher

failures are unrelated

Run Java PostCommit

Run Java PostCommit

Run Java PostCommit


add bnb chain white paper

I would like to work on it

hello , i am interested in web3 and crypto and new to contributing , i would like to work on this


update points.dat

Update points.dat from geonames.org

assuming you just used the provided rake task?

will close this PR in favor of https://github.com/runtastic/tzwhere/pull/2
activated travis-ci there and updated the date points too


How to set a boeder? Please teach me!!!!  T_T

Could you please give me a example about how to set the cells' borders? It bothered me a long time.

Good point, I will add that to Demo10 eventually. For now, you can find some hints in the disabled code branch of Demo10, starting in line 290.

XLStyleIndex leftBorder = borders.create();
borders[leftBorder].setOutline(true);
borders[leftBorder].setLeft(OpenXLSX::XLLineStyleThin, OpenXLSX::XLColor("ff000000"));
wks.cell("A2").setCellFormat(leftBorder); // I try to use the border, but it doesnt work, please give me some right codes.

Just patched https://github.com/troldal/OpenXLSX/commit/c297aad5db9d2514662f4c21eef4fa77fac629fc - please be aware of the caution for resolution of #304

Thank you so much, I get it!!!  God will bless you all the time!!!

Feel free to have a look at 53419c7dcc5a00865f1edeaaee424d1e0641cd71 - I improved the demo for cell borders a bit in Demo10

Patch for Demo10 has been merged into main branch. Closing as resolved.


Remove additional references to pruned materials (to fix Debian build)

In building ungoogled-chromium based on the Debian 116.0.5845.96-2 source, I encountered the following error:
gn gen out/Release --args="clang_use_chrome_plugins=false rust_sysroot_absolute=\"/usr\" rustc_version=\"rustc 1.66.1 (90743e729 2023-01-10) (built from a source tarball)\" enable_rust=false clang_base_path=\"/usr/lib/llvm-\" clang_version=\"""\" host_toolchain=\"//build/toolchain/linux/unbundle:default\" custom_toolchain=\"//build/toolchain/linux/unbundle:default\" host_cpu=\"x64\" use_vaapi=true is_debug=false use_goma=false use_sysroot=false use_libjpeg_turbo=true use_custom_libcxx=false use_unofficial_version_number=false enable_vr=false enable_nacl=false enable_swiftshader=false dawn_use_swiftshader=false build_dawn_tests=false enable_reading_list=false enable_iterator_debugging=false enable_hangout_services_extension=false angle_has_histograms=false build_angle_perftests=false treat_warnings_as_errors=false use_qt=false is_cfi=false use_thin_lto=true chrome_pgo_phase=0  use_gio=true is_official_build=true symbol_level=0 use_pulseaudio=true link_pulseaudio=true rtc_use_pipewire=true icu_use_data_file=true enable_widevine=true v8_enable_backtrace=true use_system_zlib=true use_system_lcms2=true use_system_libjpeg=true use_system_libpng=true use_system_freetype=true use_system_libopenjpeg2=true  proprietary_codecs=true ffmpeg_branding=\"Chrome\" disable_fieldtrial_testing_config=true  build_with_tflite_lib=false chrome_pgo_phase=0 clang_use_chrome_plugins=false disable_fieldtrial_testing_config=true enable_hangout_services_extension=false enable_mdns=false enable_mse_mpeg2ts_stream_parser=true enable_nacl=false enable_reading_list=false enable_remoting=false enable_reporting=false enable_service_discovery=false enable_widevine=true exclude_unwind_tables=true google_api_key=\"\" google_default_client_id=\"\" google_default_client_secret=\"\" safe_browsing_mode=0 treat_warnings_as_errors=false use_official_google_api_keys=false use_unofficial_version_number=false "
ERROR at //components/update_client/BUILD.gn:312:17: Unable to load "/home/build/ungoogled-chromium/ungoogled-chromium-116.0.5845.96/components/test/data/update_client/puffin_patch_test/BUILD.gn".
  data_deps = [ "//components/test/data/update_client/puffin_patch_test:puffin_patch_test_files" ]
                ^-------------------------------------------------------------------------------
make[1]: *** [debian/rules:142: override_dh_auto_build-arch] Error 1

The puffin_patch_test directory is absent from the Debian source. References to it are removed in Debian's disable/tests.patch file. That patch, however, conflict's with u-c's fix-building-with-prunned-binaries.patch, as they both make the same edit to third_party/devtools-frontend/src/BUILD.gn.
This PR fixes the above error (and allows a successful build) by adding in the recent updates to Debian's patch, removing references not only to puffin_patch_test, but also to third_party/catapult/third_party/gsutil. Both locations have files in u-c's pruning list.
As an alternate approach, you might consider importing the Debian patch in whole, and removing the common edit from u-c's. (Before, Debian's had only that one edit, so it arguably wasn't worth bothering with at the time.) If this is preferable, I can update the PR accordingly.

Would it somehow affect other platforms?

Would it somehow affect other platforms?

I don't see how it would... you're already pruning files from those two areas, so (even before this change) the features would presumably break if they were enabled. If any breakage results from this, I'd be happy to push updates to Debian's patch.

I managed tobuild and publish<EMAIL_ADDRESS>version 116.0.5845.96 for Ubuntu Jammy+ with this PR. See https://github.com/ungoogled-software/ungoogled-chromium-debian/pull/328#issuecomment-1690539514 for further details.
Thank you!

I hope @Ahrotahn will soon be able to voice opinion.

Thanks @iskunk


[ALLUXIO-2441] Disable packet streaming by default

https://alluxio.atlassian.net/browse/ALLUXIO-2441
Disable packet streaming by default

@calvinjia

Could you add docs for this configuration value?

@calvinjia i've added docs, PTAL?

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/12782/Failed Tests: 1org.alluxio:alluxio-tests: 1alluxio.hadoop.HdfsFileInputStreamIntegrationTest.positionedReadCacheNoPartialCache
Test FAILed.

Merged build finished. Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/12783/Failed Tests: 1org.alluxio:alluxio-tests: 1alluxio.hadoop.HdfsFileInputStreamIntegrationTest.positionedReadCacheNoPartialCache
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/12784/Failed Tests: 1org.alluxio:alluxio-tests: 1alluxio.hadoop.HdfsFileInputStreamIntegrationTest.positionedReadCacheNoPartialCache
Test FAILed.


add missing quote around set arguments in bat

Codecov Report

Merging #279 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #279   +/-   ##
=======================================
  Coverage   79.94%   79.94%
=======================================
  Files          54       54
  Lines        3141     3141
  Branches      521      521
=======================================
  Hits         2511     2511
  Misses        589      589
  Partials       41       41

Impacted Files
Coverage Δ

colcon_core/shell/bat.py
93.44% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Not just yet, getting:
if "%PYTHONPATH:~-1%"==";" set "PYTHONPATH=%PYTHONPATH:~0,-1%"
'if' is not recognized as an internal or external command,
operable program or batch file.

with these changes.

@hidmic Please try again with the updated patch.

Approval under the assumption this fixes things (I haven't given it a try yet).

I haven't given it a try yet.

I can wait for that - for this part it's better to double/triple check.

Took me a while to get back to this, but I can confirm the patch works just fine. Thanks!


Adding 'doc.documentID' to EOL breaks eval

When adding beyond module.exports this breaks eval().
Note that t incorrectly is just the id ...
Incorrect:

... as opposed to ...
Correct:

... where it exports the whole object.

Made a PR with a fix. See: PR https://github.com/leoasis/graphql-persisted-document-loader/pull/4

Doing eval here is dangerous, since it's setting the result into your own module.exports. This isn't the way you should be using this. What't the use case for needing to use eval? Maybe there's a better approach.

It is graphql-persisted-document-loader that is using eval. Either way the line should go before "module exports" to keep the module clean in my opinion...

graphql-persisted-document-loader is not doing eval anywhere, it's using vm.runInNewContext and setting the context so that we can extract the output from module.exports. The fact that docID is set after module.exports is an implementation detail that people shouldn't be aware of. This is why I would love to have a better understanding of what's breaking and how is it being done.


Convert Ogmios types to "internal" Transaction types to use e.g. utxosAt

Currently, the balancer is in terms of "internal" types like Transaction, Value etc. But Ogmios has its own types when querying, we need to convert over to use functionality like utxosAt

Closing with https://github.com/Plutonomicon/cardano-browser-tx/pull/54


charts/osm: use image digest for default images

Default images corresponding to the latest released
image should use the image digest instead of tags
to avoid supply chain attacks, which tags are vulnerable
because of being mutable. Image digests are immutable.
Image tags will be used only if specified.
Part of #3715

Testing done:

Local demo run

Affected area:

Functional Area

Install
[X]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project? no

Did you notify the maintainers and provide attribution?

Is this a breaking change? no

Codecov Report

Merging #4108 (b5b4571) into main (6e9464d) will decrease coverage by 0.04%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #4108      +/-   ##
==========================================
- Coverage   69.17%   69.12%   -0.05%
==========================================
  Files         205      205
  Lines       11240    11240
==========================================
- Hits         7775     7770       -5
- Misses       3413     3418       +5
  Partials       52       52

Flag
Coverage Δ

unittests
69.12% <ø> (-0.05%)
:arrow_down:

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

Impacted Files
Coverage Δ

pkg/crdconversion/crdconversion.go
69.56% <0.00%> (-5.44%)
:arrow_down:

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 6e9464d...b5b4571. Read the comment docs.


Adds handling for CURRENT_TIMESTAMP in yy.FuncValue.toString()

This PR resolves the issue noted here - https://github.com/agershun/alasql/issues/1174
Added unit tests and confirmed all tests are passing.

Codecov Report

Merging #1175 into develop will increase coverage by 0.01%.
The diff coverage is 56.25%.

@@             Coverage Diff             @@
##           develop    #1175      +/-   ##
===========================================
+ Coverage    41.54%   41.56%   +0.01%
===========================================
  Files            2        2
  Lines        21026    21028       +2
  Branches      6305     6307       +2
===========================================
+ Hits          8736     8740       +4
+ Misses       12290    12288       -2

Impacted Files
Coverage Δ

dist/alasql.js
15.21% <12.50%> (-0.01%)
:arrow_down:

dist/alasql.fs.js
67.60% <100.00%> (+0.03%)
:arrow_up:

Continue to review full report at Codecov.

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

Thank you!
Released as v0.5.8


Clean output directory before transpiling

I am going to merge this to trigger a new push build on Travis to see if we can get the build to go green, since it seems like new builds are passing for some reason.

Well, that didn't work. I turned off building pushes on Travis again.
@mjackson What do you think of disabling BrowserStack builds for a bit until this is sorted out? It's not ideal to have all of our builds fail.


Flatlist scrolls to the opposite direction when content height changes

🐛 Bug Report
FlatList sometimes produces a scrolling glitch when we change the content. That means, scrolling goes to the opposite direction for a bit. We already had made an extra development to make scroll position follow the cursor so it is coming back to visible area. But still the first movement to the opposite direction is sth we don't directly do and it looks a bit odd.
This sometimes happens when we add new content, scrolling position goes down unnecessarily:

In slow motion:

This sometimes happen when we merge the content so the content height decreases, as noticed here scroll position goes down a bit when the merge happens

Some analysis:
when I comment out the method https://github.com/facebook/react-native/blob/13d87e9ad290f2ea55d9eca2c6426b4d215b5c3e/React/Views/ScrollView/RCTScrollView.m#L937 everything works fine, so maybe just being able to turn off the calculateOffsetForContentSize method call would solve this, but any other solutions and workarounds are also very appreciated.
To Reproduce
This repo can be checked out https://github.com/wordpress-mobile/gutenberg-mobile

cd to repo
yarn install
yarn start
yarn ios

to open the example app and try adding merging text inputs by erase/return buttons at some point it'll start to glitch.
Expected Behavior
Here is the expected behavior, no scrolling to the opposite side:

Code Example
You can refer to the repo https://github.com/wordpress-mobile/gutenberg-mobile and follow "To Reproduce" steps. Here's the exact place of the FlatList 	https://github.com/wordpress-mobile/gutenberg-mobile/blob/5f1a641637a8b26a8354982c8b2b61b39c1f6acb/src/components/keyboard-aware-flat-list.ios.js#L63
Environment
React Native Environment Info:
System:
OS: macOS 10.14.3
CPU: (12) x64 Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz
Memory: 427.82 MB / 32.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 10.12.0 - ~/.nvm/versions/node/v10.12.0/bin/node
Yarn: 1.10.1 - ~/.nvm/versions/node/v10.12.0/bin/yarn
npm: 6.4.1 - ~/.nvm/versions/node/v10.12.0/bin/npm
SDKs:
iOS SDK:
Platforms: iOS 12.1, macOS 10.14, tvOS 12.1, watchOS 5.1
Android SDK:
API Levels: 23, 26, 27, 28
Build Tools: 26.0.2, 26.0.3, 27.0.3, 28.0.3
System Images: android-28 | Google Play Intel x86 Atom
IDEs:
Android Studio: 3.2 AI-181.55<IP_ADDRESS>56338
Xcode: 10.1/10B61 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.3 => 16.8.3
react-native: 0.59.0 => 0.59.0
npmGlobalPackages:
react-native-cli: 2.0.1
react-native-create-library: 3.1.2
react-native-git-upgrade: 0.2.7

Is anybody working on this? I'd like to take a shot at this issue.

Issue is not fixed yet

Issue is not fixed yet

I am experiencing a similar issue.

Issue is not fixed yet


feat: remove Opensearch

Title: Removal of OpenSearch Components
Description:
This pull request introduces significant changes aimed at removing OpenSearch components from our infrastructure. The modifications span across several configuration files and involve detailed adjustments to resource definitions within our AWS CloudFormation templates. Below are the key changes:

Removal of OpenSearch Domain Configurations:

The OpenSearchDomainName, OpenSearchDomainEndpoint, and related attributes have been removed or modified. This includes the elimination of references to these resources in IAM policies and environment variables across various Lambda functions.

Update to AWS Resource Policies:

Adjustments have been made to AWS IAM policies to remove permissions related to OpenSearch actions like es:ESHttpGet and es:ESHttpDelete. This aligns with the removal of the OpenSearch domain and ensures compliance with least privilege principles.

Documentation and Metadata Updates:

Metadata sections within the CloudFormation templates have been updated to reflect the removal of OpenSearch. This includes changes to log group configurations and related resource policies.

Code Clean-up and Refactoring:

General clean-up of the codebase was performed to remove unused variables and update comments for clarity and maintainability.

Impact:
These changes are crucial for simplifying our infrastructure and reducing costs associated with unused services. The removal of OpenSearch is expected to streamline operations and enhance the performance of remaining services.
Testing:
Comprehensive testing has been conducted to ensure that these changes do not impact the functionality of existing systems. This includes regression tests and specific tests to verify that all references to OpenSearch have been safely removed without side effects.
Request for Comments:
I encourage all team members to review these changes thoroughly and provide feedback. Your insights are invaluable to ensure that we maintain a robust and efficient infrastructure.

@MichaelWalker-git I see the CloudFormation changes, but I don't see any of the changes to Lambda function code. You mentioned there were 9 file changes the other day.


Publish v0.28.0 GitHub release

/assign

https://github.com/kubernetes-sigs/descheduler/releases/tag/v0.28.0


Proper list of audited events

Folks, can you please update the article with a proper list of all events that are captured, instead of "sample of user events". Listing events/operations that are not captured would also be great.

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

ID: 184dd591-1250-2bcc-db42-35afc3a77bce
Version Independent ID: 75aaea0f-6f52-3977-77ba-a79f3604ef5e
Content: Power Apps activity logging - Power Platform
Content Source: power-platform/admin/logging-powerapps.md
Service: power-platform
GitHub Login: @pnghub
Microsoft Alias: gned

@michevnew
Thanks for the feeback. We're considering for a future documentation update.


updated default values in comments

updated the default values in comments/doc to reflect the currently used default values in the code

Oh, right. I forgot to do that. Thanks for the pull request!

 Apparently, closing the pull request prevents me from merging it.

no problem, glad i could help


Add Qingg v2.3.7

Changes to a cask
Adding a new cask

[x] Checked there aren’t open pull requests for the same cask.
[x] Checked there aren’t closed issues where that cask was already refused.
[x] When naming the cask, followed the token reference.
[x] Commit message includes cask’s name.
[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] brew cask install {{cask_file}} worked successfully.
[x] brew cask uninstall {{cask_file}} worked successfully.

The first submission of Qingg Input Method to Homebrew Cask.

Thank you for the contribution. It needed some fixes, so they were made in 8c4f139609b0618d5d497ee040e3901e5cc56b99. Your contribution is still included (and still credited to you), with the appropriate modifications. Please feel free to ask about any of the changes.

Thanks for the modifications and having Qingg included!


[Reports] Unable to transfer from reports

Actual Results
The orange transfer button does not appear on the reports dashboard so I am unable to transfer a patient from the reports module to a different module.
Expected results
The orange transfer button is visible and I am able to click on it to transfer the patient from the reports module to a different module.
Steps to reproduce
Follow the steps 1-12 here
or
Login to test.esaude.org -> Registration -> type in Edrin Grove and select -> click the orange transfer button -> select Reports
The orange transfer button is no longer available so there is no way to transfer the patient to another module.
Screenshot/Attachment (Optional)

This is expected behavior. closing.

Carina says we are working on this. Reopening.


Address without '0x' prefix are valid to input

What is this bug about? (1 sentence)
Addresses inputs accept addresses without 0x prefix, but then you'll be unable to manipulate the safe: sending a tx would fail, etc
Steps to reproduce

Click load safe on rinkeby
Enter '80dBD65aDB91Fc76A113518bCc1857f665FC83ae' in safe address input
Address is considered valid

How to fix
We should add the 0x prefix ourselves

I think the check for valid input should just demand the 0x prefix and otherwise return the "invalid address" state.


Only break out of SHIM_PATH for-loop once you find the first diff between prototype and existing shim file

It's quite possible I'm in the wrong here, but the way this line of code reads to me, it seems like the break statement should be inside the if check, shouldn't it?  As it's currently written, it seems to always break after the first iteration of the for-loop.  I think I replicated this phenomenon locally, via the following:

Here I do the following:

I create a prototype file containing the character “a”,
I make a directory named shims with 4 text files, 3 of which match the prototype and one of which does not.
I then paste an identical remove_outdated_shims function into the shell, with only some extra loglines and a counter variable added.
I increment the counter before every run and log the count # to the screen.
Lastly, I call the function in the terminal with the appropriate env var values set for $SHIM_PATH and PROTOTYPE_SHIM_PATH.

In my shell function, the counter only outputs once, and we never see the about to delete all shims logline, meaning we didn’t reach the shim whose contents differ from the prototype.  Am I missing something, or is this a bug in the code?
Just in case, here's a PR to address the issue.  If the code already works as intended, I'd love to know what piece of info I appear to be missing.  Thanks for maintaining a great tool.

As an update, I tried the following investigation and wanted to get your thoughts on it.
TL;DR
My takeaway is that the old shims are actually not getting deleted by this line of code since it appears we always break from this for loop after its first iteration (due to where the break is placed), and therefore any outdated shim files aren't being replaced by this line of code because the [ -e "$file" ] || check returns true if the file exists and the shell never executes the cp code after the or condition, which would otherwise over-write the old shim.
Details
I added loglines to print out the state of the old shim files, including timestamps so we could judge whether the old shim files had successfully been replaced by new ones.  Apologies for not knowing how to make this code dump shorter:
remove_outdated_shims() {
  local shim
  for file in $(ls "$SHIM_PATH"/*); do.           # Set the timestamps on each file in $SHIM_PATH to a known date in the past
    touch -d "2020-09-01T00:00:00" $file
  done
  >&2 echo "gemfiles before remove op:"
  >&2 ls -la "$SHIM_PATH"/*
  >&2 echo "-------------"
  for shim in "$SHIM_PATH"/*; do
    if ! diff "$PROTOTYPE_SHIM_PATH" "$shim" >/dev/null 2>&1; then
      rm -f "$SHIM_PATH"/*
    fi
    break
  done
}

install_registered_shims() {
  local shim file
  >&2 echo "gemfiles before install op:"
  >&2 ls -la "$SHIM_PATH"/*
  >&2 echo "-------------"

  for shim in "${registered_shims[@]}"; do
    file="${SHIM_PATH}/${shim}"
    if [ ! -e "$file" ]; then
      >&2 echo "inside if of install func; about to copy $file to $PROTOTYPE_SHIM_PATH"
      cp "$PROTOTYPE_SHIM_PATH" "$file"
    fi
    #[ -e "$file" ] || cp "$PROTOTYPE_SHIM_PATH" "$file"
  done
  >&2 echo "gemfiles after install op:"
  >&2 ls -la "$SHIM_PATH"/*
  >&2 echo "-------------"
}

....

install_registered_shims
remove_stale_shims
>&2 echo "end of rehash results:"
>&2 ls -la "$SHIM_PATH"/*

Basically, other than the 3-line for-loop which I added a comment to, the only lines I added are log lines to STDERR which begin with >&2.  Otherwise, it should be the same as commit [410e05b](https://github.com/rbenv/rbenv/commit/410e05bf8ca09d736985806e9849e675635a4230) on the main branch.
One final change was that I added a trivial difference to one of my current shim files to trigger the diffing condition in the for loop, making sure that the shim I modified was not the first file listed in the directory (to test my hypothesis that the for loop exits after the first iteration):
# /Users/richiethomas/.rbenv/shims/unicorn

  1 #!/usr/bin/env bash
  2 echo "Hello world"                           # this is the only line I added
  3 set -e
  4 [ -n "$RBENV_DEBUG" ] && set -x
  5
  6 program="${0##*/}"
  7 if [ "$program" = "ruby" ]; then
  8   for arg; do
  9     case "$arg" in
 10     -e* | -- ) break ;;
 11     */* )
 12       if [ -f "$arg" ]; then
 13         export RBENV_DIR="${arg%/*}"
 14         break
 15       fi
 16       ;;
 17     esac
 18   done
 19 fi
 20
 21 export RBENV_ROOT="/Users/richiethomas/.rbenv"
 22 exec "/usr/local/bin/rbenv" exec "$program" "$@"

When I run rbenv rehash with the break in its old position, I get the following:
~/Workspace/OpenSource/rbenv (master)  $ rbenv rehash
about to run sh-rehash
gemfiles before remove op:
-rwxr-xr-x  1 richiethomas  staff  393 Sep  1  2020 /Users/richiethomas/.rbenv/shims/bluepill
-rwxr-xr-x  1 richiethomas  staff  393 Sep  1  2020 /Users/richiethomas/.rbenv/shims/bootsnap
-rwxr-xr-x  1 richiethomas  staff  393 Sep  1  2020 /Users/richiethomas/.rbenv/shims/bpsv
-rwxr-xr-x  1 richiethomas  staff  393 Sep  1  2020 /Users/richiethomas/.rbenv/shims/brakeman
...
-rwxr-xr-x  1 richiethomas  staff  412 Sep  1  2020 /Users/richiethomas/.rbenv/shims/unicorn
...
-------------
gemfiles before install op:
-rwxr-xr-x  1 richiethomas  staff  393 Sep  1  2020 /Users/richiethomas/.rbenv/shims/bluepill
-rwxr-xr-x  1 richiethomas  staff  393 Sep  1  2020 /Users/richiethomas/.rbenv/shims/bootsnap
-rwxr-xr-x  1 richiethomas  staff  393 Sep  1  2020 /Users/richiethomas/.rbenv/shims/bpsv
-rwxr-xr-x  1 richiethomas  staff  393 Sep  1  2020 /Users/richiethomas/.rbenv/shims/brakeman
...
-rwxr-xr-x  1 richiethomas  staff  412 Sep  1  2020 /Users/richiethomas/.rbenv/shims/unicorn
...
-------------
gemfiles after install op:
-rwxr-xr-x  1 richiethomas  staff  393 Sep  1  2020 /Users/richiethomas/.rbenv/shims/bluepill
-rwxr-xr-x  1 richiethomas  staff  393 Sep  1  2020 /Users/richiethomas/.rbenv/shims/bootsnap
-rwxr-xr-x  1 richiethomas  staff  393 Sep  1  2020 /Users/richiethomas/.rbenv/shims/bpsv
-rwxr-xr-x  1 richiethomas  staff  393 Sep  1  2020 /Users/richiethomas/.rbenv/shims/brakeman
...
-rwxr-xr-x  1 richiethomas  staff  412 Sep  1  2020 /Users/richiethomas/.rbenv/shims/unicorn
...
-------------
end of rehash results:
-rwxr-xr-x  1 richiethomas  staff  393 Sep  1  2020 /Users/richiethomas/.rbenv/shims/bluepill
-rwxr-xr-x  1 richiethomas  staff  393 Sep  1  2020 /Users/richiethomas/.rbenv/shims/bootsnap
-rwxr-xr-x  1 richiethomas  staff  393 Sep  1  2020 /Users/richiethomas/.rbenv/shims/bpsv
-rwxr-xr-x  1 richiethomas  staff  393 Sep  1  2020 /Users/richiethomas/.rbenv/shims/brakeman
...
-rwxr-xr-x  1 richiethomas  staff  412 Sep  1  2020 /Users/richiethomas/.rbenv/shims/unicorn
....

The important part to zero in on is the timestamp.  I intentionally set the timestamp of the shim files to a known past date, to see if the final timestamp after the install operation would be today's date.  Looks like they aren't, at least on my machine.
When I add the same echo statement to the unicorn shim and move the break statement to inside the if check inside rbenv-rehash, like so:
88 remove_outdated_shims() {
 89   local shim
 90   for file in $(ls "$SHIM_PATH"/*); do
 91     touch -d "2020-09-01T00:00:00" $file
 92   done
 93   >&2 echo "gemfiles before remove op:"
 94   >&2 ls -la "$SHIM_PATH"/*
 95   >&2 echo "-------------"
 96   for shim in "$SHIM_PATH"/*; do
 97     if ! diff "$PROTOTYPE_SHIM_PATH" "$shim" >/dev/null 2>&1; then
 98       rm -f "$SHIM_PATH"/*
 99       break
100     fi
101   done
102 }

I get the output I would expect from rbenv rehash:
~/Workspace/OpenSource/rbenv (master)  $ rbenv rehash
about to run sh-rehash
gemfiles before remove op:
-rwxr-xr-x  1 richiethomas  staff  393 Sep  1  2020 /Users/richiethomas/.rbenv/shims/bluepill
-rwxr-xr-x  1 richiethomas  staff  393 Sep  1  2020 /Users/richiethomas/.rbenv/shims/bootsnap
-rwxr-xr-x  1 richiethomas  staff  393 Sep  1  2020 /Users/richiethomas/.rbenv/shims/bpsv
-rwxr-xr-x  1 richiethomas  staff  393 Sep  1  2020 /Users/richiethomas/.rbenv/shims/brakeman
...
-rwxr-xr-x  1 richiethomas  staff  412 Sep  1  2020 /Users/richiethomas/.rbenv/shims/unicorn
...
-------------
gemfiles before install op:
total 80
drwxr-xr-x  18 richiethomas  staff    576 Oct  8 19:28 .
drwxr-xr-x   7 richiethomas  staff    224 Oct  3 09:41 ..
drwxr-xr-x  15 richiethomas  staff    480 Oct  8 19:09 .git
-rw-r--r--   1 richiethomas  staff     47 Oct  8 12:23 .gitattributes
drwxr-xr-x   3 richiethomas  staff     96 Sep 29 09:01 .github
-rw-r--r--   1 richiethomas  staff     97 Sep 29 09:01 .gitignore
-rw-r--r--   1 richiethomas  staff     35 Sep 29 09:01 .vimrc
-rw-r--r--   1 richiethomas  staff   3390 Sep 29 09:01 CODE_OF_CONDUCT.md
-rw-r--r--   1 richiethomas  staff   1058 Sep 29 09:01 LICENSE
-rw-r--r--   1 richiethomas  staff    163 Oct  8 12:23 Makefile
-rw-r--r--   1 richiethomas  staff  12624 Oct  8 12:23 README.md
drwxr-xr-x   3 richiethomas  staff     96 Sep 29 09:01 bin
drwxr-xr-x   4 richiethomas  staff    128 Sep 30 10:33 completions
drwxr-xr-x  27 richiethomas  staff    864 Oct  8 12:48 libexec
drwxr-xr-x   3 richiethomas  staff     96 Sep 29 09:01 rbenv.d
drwxr-xr-x   3 richiethomas  staff     96 Oct  8 12:23 share
drwxr-xr-x   4 richiethomas  staff    128 Oct  8 12:23 src
drwxr-xr-x  28 richiethomas  staff    896 Oct  8 12:23 test
-------------
inside if of install func; about to copy /Users/richiethomas/.rbenv/shims/bluepill to /Users/richiethomas/.rbenv/shims/.rbenv-shim
inside if of install func; about to copy /Users/richiethomas/.rbenv/shims/bootsnap to /Users/richiethomas/.rbenv/shims/.rbenv-shim
inside if of install func; about to copy /Users/richiethomas/.rbenv/shims/bpsv to /Users/richiethomas/.rbenv/shims/.rbenv-shim
inside if of install func; about to copy /Users/richiethomas/.rbenv/shims/brakeman to /Users/richiethomas/.rbenv/shims/.rbenv-shim
...
inside if of install func; about to copy /Users/richiethomas/.rbenv/shims/unicorn to /Users/richiethomas/.rbenv/shims/.rbenv-shim
...
gemfiles after install op:
-rwxr-xr-x  1 richiethomas  staff  393 Oct  8 19:29 /Users/richiethomas/.rbenv/shims/bluepill
-rwxr-xr-x  1 richiethomas  staff  393 Oct  8 19:29 /Users/richiethomas/.rbenv/shims/bootsnap
-rwxr-xr-x  1 richiethomas  staff  393 Oct  8 19:29 /Users/richiethomas/.rbenv/shims/bpsv
-rwxr-xr-x  1 richiethomas  staff  393 Oct  8 19:29 /Users/richiethomas/.rbenv/shims/brakeman
...
-rwxr-xr-x  1 richiethomas  staff  393 Oct  8 19:29 /Users/richiethomas/.rbenv/shims/unicorn
...
-------------
end of rehash results:
-rwxr-xr-x  1 richiethomas  staff  393 Oct  8 19:29 /Users/richiethomas/.rbenv/shims/bluepill
-rwxr-xr-x  1 richiethomas  staff  393 Oct  8 19:29 /Users/richiethomas/.rbenv/shims/bootsnap
-rwxr-xr-x  1 richiethomas  staff  393 Oct  8 19:29 /Users/richiethomas/.rbenv/shims/bpsv
-rwxr-xr-x  1 richiethomas  staff  393 Oct  8 19:29 /Users/richiethomas/.rbenv/shims/brakeman
...
-rwxr-xr-x  1 richiethomas  staff  393 Oct  8 19:29 /Users/richiethomas/.rbenv/shims/unicorn
...

Here we can see that the timestamp changes from the pre-determined one (1 Sept 2020) to today's date at the time I'm writing this (8 Oct 2022).
Hoping this helps clarify things.  I'm happy to take a crack at writing a test to cover this as well, but I might do that tomorrow as my brain is fried for the day lol.


Fix noTweetButton and showMessageDrawer options

This pull request updates css code writen in applyOptions.js file to make the remove tweet button and the show message drawer options work again in chrome or firefox.

Thanks!


Doc: Color highlighting is lost in chainer.functions.reshape code example

https://docs.chainer.org/en/v2.0.2/reference/generated/chainer.functions.reshape.html
It's seems the line chainer.utils.type_check.InvalidType: is the source of the problem, but I couldn't find why and how to get it fixed.

In the below page, it is said that
http://www.sphinx-doc.org/en/stable/markup/code.html

There is a “highlighting language” for each source file. Per default, this is 'python' as the majority of files will have to highlight Python snippets, but the doc-wide default can be set with the highlight_language config value.
Within Python highlighting mode, interactive sessions are recognized automatically and highlighted appropriately. Normal Python code is only highlighted if it is parseable (so you can use Python as the default, but interspersed snippets of shell commands or other code blocks will not be highlighted as Python).

@niboshi Can we close this issue as fixed?

Yes, it has been fixed.


[translate] finish and update Chinese translate file

[translate] finish and updateC hinese translate file and a add some lables that have been use in show Database View

Coverage remained the same at 71.352% when pulling 419cc90c4c499aaca9b876e807ba02d6776ea46b on zhouyao1994:translate_zh into 547a3bf4e7dced6d720beec77fc492d3e33e6ed8 on apache:master.

[Translate] translate into chinese

Rebase against master please, you are reverting recently updated files.


Update server.py

made changes on how to import Retell client and usage of APIs

Thanks so much Jian!


Services section on industries page

https://main--netcentric--hlxsites.hlx.page/our-industries
The "our services" part needs to be styled.

Close this got fixed in the content


Update metadata for Cortex.Cortex version 0.3.2-beta

null
Microsoft Reviewers: Open in CodeFlow

@ItzLevvie would it help if we added another moderator or two? I don't think we're setting the best example for an individual to submit and approve their own PRs.

Sure, that would be much better. I would vote for @quhxl or @ImJoakim.

@ItzLevvie thanks for the nominations. I did a quick look at the "Contributors" data. @quhxl and @ImJoakim both have more than 500 commits each. @ImJoakim has been active for more than the last 90 consecutive days.
I want to make sure we're keeping the quality bar high. You, @OfficialEsco and @jedieaston all had more than 800 commits and more than six months of consecutive activity. I want to make sure we continue focusing on quality and code of conduct more than just hitting some arbitrary number of PRs and longevity.
I also have concerns about becoming a moderator also turning into a popularity contest. There may be other individuals who are also well qualified to make solid determinations regarding good quality manifests, and supporting the community at large who don't have the "stats" to trivially show up as candidates by numbers alone. That being said, I'd like to discuss with the rest of the team here gather some feedback.

@ItzLevvie I spoke with the team. We also recognize @KaranKad as a contributor who has been active. I'd like to draft a specification for what is expected of moderators. I would really appreciate any suggestions you, @OfficialEsco, and @jedieaston have regarding moderation. I'll link the PR back here once I get a draft started. That should hopefully help everyone in the community understand what moderators are doing, and for future moderators what is expected.

What what, didn't get a notification before now, i've been thinking of nominating @quhxl (great PR quality), @ImJoakim (great PR quality and already testing PRs for us) and @KaranKad (Hiding in the dark but helped a lot in the crisis period, less active now that things have calmed down) for a long time but didn't suggest since you said the "800 contribution requirement"
The requirements should not state a contribution requirement, that will just lead to "pointless" PR spam. Which most likely we Moderators will have to go over and suggest changes on...
Currently me and @ItzLevvie are online at the exact same hours, which most of the time leads us to going over PRs at the same time, and @jedieaston are waaaay too busy lately so we don't get much US timezone approvals...
@quhxl and @ImJoakim also live in our TimeZone tho, but it will hopefully relieve me and @ItzLevvie from feeling like having to be on GitHub all day and constantly booting VM/Sandbox 🙄 Not sure about @KaranKad but i think he is US(?)

@OfficialEsco I'm not a fan of purely numeric requirements. The intent is to identify individuals who have demonstrated their ability to produce quality manifests (dig into what should be included and shouldn't), honor our code of conduct, and have some longevity. The numbers initially shared were more a reflection of the first three moderators. Numeric requirements tend to drive the behavior you called out with respect to creating a bunch of PRs just for the sake of hitting the numbers.
We also don't want a flood of moderators without having clear guidelines. We want consistency, so the opinions of our current moderators are also highly valued. Sadly, this can lead to a popularity contest, and I'm planning to have some provisions to avoid that as well.
@quhxl, @ImJoakim, and @KaranKad we haven't decided how many moderators to add, but please let us know if any of you are willing to volunteer to help moderate. You may certainly decline, and should feel no pressure to accept the responsibility. The discussion on moderation should help give you a sense of what we're thinking and what others in the community have said.

@denelon I would love to help out moderating to the best of my ability. This is a project that I'm invested in for numerous reasons, and I'd love to have the opportunity to do more for this project.
I appreciate the nominations @ItzLevvie & @OfficialEsco 😃

I would like to help with moderation.

I am also very happy about the nomination and would love to help!


Root path (and reverse proxy) fixes

A few tests are failing, which I'm not surprised about. Looks like they're for OGC API Features stuff.

Thanks Alejandro I'll try get to this soon

--proxy-headers needs to be a flag (just pushed a fix), but other than that I think it works :)


Help with vs studio

["INFO" - 11:07:19 PM] Detected local configuration (i.e. .prettierrc or .editorconfig), VS Code configuration will not be used
["INFO" - 11:07:19 PM] Prettier Options:
{
"filepath": "/Users/jensamunch/Documents/website-v6/layouts/partials/book-a-demo.html",
"parser": "go-template"
}
["ERROR" - 11:07:19 PM] Error formatting document.
["ERROR" - 11:07:19 PM] Couldn't resolve parser "go-template"
Error: Couldn't resolve parser "go-template"
at resolveParser (/Users/jensamunch/.vscode/extensions/esbenp.prettier-vscode-5.1.3/node_modules/prettier/index.js:11343:15)
at normalize$1 (/Users/jensamunch/.vscode/extensions/esbenp.prettier-vscode-5.1.3/node_modules/prettier/index.js:11438:18)
at formatWithCursor (/Users/jensamunch/.vscode/extensions/esbenp.prettier-vscode-5.1.3/node_modules/prettier/index.js:15034:12)
at /Users/jensamunch/.vscode/extensions/esbenp.prettier-vscode-5.1.3/node_modules/prettier/index.js:51620:12
at Object.format (/Users/jensamunch/.vscode/extensions/esbenp.prettier-vscode-5.1.3/node_modules/prettier/index.js:51640:12)
at t.default. (/Users/jensamunch/.vscode/extensions/esbenp.prettier-vscode-5.1.3/dist/extension.js:1:58387)
at Generator.next ()
at s (/Users/jensamunch/.vscode/extensions/esbenp.prettier-vscode-5.1.3/dist/extension.js:1:53305)
["INFO" - 11:07:19 PM] Formatting completed in 14.902095ms.

Hi, sounds like you're maybe missing one of the two dependencies?
You'll need to have both installed locally (npm i prettier prettier-plugin-go-template) or globally (`npm i -g prettier prettier-plugin-go-template).
Tell me if this helps you, maybe I should add a short FAQ :)

hey - thanks for the help!
i did have prettier-plugin-go-template installed locally through "npm i" but was using the vs studio extension for prettier which didn't pick up the template.
i think what fixed it was installing prettier globally...
maybe add a line in the README for how to work with VS Studio and the prettier extension?
THanks!

If someone else also scratches their head getting this to work, here are some notes from me.
The only way I have gotten this to work is to work is to do:
 npm i prettier-plugin-go-template --save-dev

I have tried any combination (including checking the below), but have not found a way to make this work globally, which is really unfortunate (I have many projects ...).