Intermittent modal rendering failure due to auth.test latency and button id expiry

@slack/bolt version
^3.19.0
Your App and Receiver Configuration
export const getSlackApp = (token: string, receiver: AwsLambdaReceiver) => {   const options: AppOptions = {     token,     receiver,   };   return new App(options); };
Node.js runtime version
v18.20.2
Issue Description:
We are encountering intermittent latency when rendering modal triggered by button clicks in our Slack app.
Observation

The modal is triggered on Button Click
Occasionally, the modal is not rendered as expected.
Upon Investigation , the auth.test call made by the BoltSDK is experiencing Latency of up to 2.7 secs in these instances.
Since the Button Id has TTL of only 3 seconds, the latency caused by the auth.test call leads to the button ID expiring eventually API call to render Modal fails.

Request for Support
Can you help us understand:

What circumstance might cause the auth.test call to experience high latency
Are there any best practices or configurations we can apply to mitigate this delay?

Hi, @sanjay1909! Thanks for submitting this question.
Some more follow ups so I can get a better idea - what are you passing into your app initialization for options? Also, is the app a single-workspace app or are you using OAuth?

HI
Yes Its a Single Workspace APP.
i am passing the token and awsLambdaReceiver instance
const awsLambdaReceiver = new AwsLambdaReceiver({     signingSecret: secret.slackSigningSecret,   });

@sanjay1909 Ah, I see. Thank you for sharing that!
Have you tried the solution suggested here?

Possible solutions are to move a your topic_event_handlers to be an async operation by calling another Lambda or queuing the task to be triggered by another Lambda function. Unfortunately, while we have a nice out-of-the-box lazy listener implementation for Bolt Python, we haven't migrated it to the Bolt JS Lambda adapter.

No, we don't have that

Hi Do you have any findings here ? Thank you

Hope my comment at your new issue helps: https://github.com/slackapi/bolt-js/issues/2361#issuecomment-2533345698


chore: allow new-client.py to run directly without workspace

Was there any problem with using workspace? I found using workspace (additional repository clone) is useful. Developing the script is simpler if we have 1 repository clone for new-client.py development and 1 repository clone for generated new client.

Was there any problem with using workspace? I found using workspace (additional repository clone) is useful. Developing the script is simpler if we have 1 repository clone for new-client.py development and 1 repository clone for generated new client.

The problem with the workspace is that you can't make changes to the new-client.py script and test them without pushing upstream. It also makes it not hermetic. Additionally, there's overhead with checking out the whole repository first, when you already have it. Can you explain how development is easier with two different git repositories in one workspace?

If you came up with a good way to develop new-client.py within 1 repository copy while testing library generation, I want to know the method (It's worth writing down in generation/new_client/README.md).

This PR allows you to develop new-client.py within the same repository copy. That's exactly what I did while preparing this PR and generating https://github.com/googleapis/google-cloud-java/pull/8646. I just excluded new-client.py from committing with the new module and created a separate PR.

you can't make changes to the new-client.py script and test them without pushing upstream.

In HOME/google-cloud-java you create a development branch for new-client.py (e.g., new-client-changes). You run new-client.py script and it creates HOME/google-cloud-java/generation/workspace/monorepo (e.g., new_module_java-discoveryengine). These two branches are separated; you don't have to push new-client-changes to main (upstream).

Can you explain how development is easier with two different git repositories in one workspace?

Having separate repository clones make the branches maintenance easier. 2 repository copy, 2 branches, and 2 pull requests.

I just excluded new-client.py from committing with the new module and created a separate PR.

Good. That works Can you add that instruction to README?

you can't make changes to the new-client.py script and test them without pushing upstream.

In HOME/google-cloud-java you create a development branch for new-client.py (e.g., new-client-changes). You run new-client.py script and it creates HOME/google-cloud-java/generation/workspace/monorepo (e.g., new_module_java-discoveryengine). These two branches are separated; you don't have to push new-client-changes to main (upstream).

The reason you have to push all the way to main is this line:
    subprocess.check_call(["git", "clone", monorepo_url, "monorepo"],
                          cwd="workspace")

It makes the starting point the main branch. Although new-client.py that is executed is in your local branch, it calls scripts that are coming from the remote main.
    subprocess.check_call(
        ["bash", "generation/update_owlbot_postprocessor_config.sh"],
        cwd=monorepo_root
    )

Where monorepo_root is the workspace directory that has code from main. So, you can't test changes to any of these files without pushing them upstream. It's not about new-client.py specifically, but other scripts it calls.


Version checker fails under some conditions

For ex we are using Curb version 0.9.7 and it prints a warning even though it shouldn't

Any chance this or https://github.com/bblimke/webmock/pull/1024 can be merged? It's been up for a while 😢

Thank you @marcrohloff for the complete solution with many more cases testes 👍


Support showing current wizard step heading instead of all steps

[x] Changes have been thoroughly tested to not break existing functionality.
[x] New functionality has been documented or existing documentation has been updated to reflect changes.
[x] Visual changes are explained in the PR description using a screenshot/recording of before and after.

before:

after:

Added optional parameter stepLabelAsHeading which allows to show the current step's label as a heading for the form components.
This is what it looks like:

@josefbehr, could you please share screenshots of what this looks like for uncontained wizards?
Also, how does this work when used with #7576.

@zepfietje currently, it would look like this:

Thanks, @josefbehr.
Unfortunately that looks really bad then.
I'm going to close this PR as it essentially contains two features (hiding the steps and using the current step label), doesn't properly support all existing APIs, requires a lot of reworking, and complicates the wizard component to a level that feels outside the scope of the wizard.

@zepfietje Thanks for the feedback.
Regarding the bad look, that could be amended, just wanted to show you how it would look like with the current implementation.
As for the other points, I'd be glad to adapt the PR to satisfy all requirements. In my opinion, at least a wizard without the header would be a great addition, and four likes on the PR suggests to me a wider interest in this.
If you are finite on this decision, I respect that, as I understand that you will have to deal with this on the long run, but if you're open to discussing this further, I'm happy to find a solution.

I do understand the use case of hiding the steps. However, I'm still not too sure of the complete solution, as (also when showing just the current step label) it's very similar to a section with buttons.

@zepfietje Great. I see your point. I guess it is visually similar to a section with a button. But I'd argue that in function it's not. I don't think this multi-step form process is easily replicated using sections, so I think there's distinct use-cases here.
I think it's best to handle the possibility of showing the step label as a separate issue and enhancement as not to muddy the waters here. So let's exclude that from the discussion for now.

If @danharrin agrees, you can create a new PR which just adds support for hiding the steps.

Fine, hiding the steps can be an option


Release v0.7.0

Placeholder issue to remind us releasing the next version.

I'm also wondering when the new release will be ready. I'd like to use https://github.com/containers/oci-spec-rs/pull/184 in https://github.com/containers/youki/pull/2837.

The tag has been created and the crate can be consumed from crates.io, however https://docs.rs/oci-spec/latest/oci_spec/ is still pointing to v0.6.8

I think docs.rs need a rebuild on their end to catch-up with the latest version.


Bug Fix:   Adding --scale-method default for evaluation steering

Purpose
The --scale-method in the argument handler of the evaluation steering file does not at present store a default argument. Therefore setting to minmax to ensure defined behaviour with evaluation.

Tagging @tprocter46, who noticed this issue when running evaluation. Please confiirm if with your command execution that the evaluation without the --scale-method runs and yields sensible closure plots.

To confirm, yes, it does produce much more sensible looking plots!


Issue-1: Improving the game design

Improving the game design buy adding the below files,
ntrostate.java
state.java
Author - Ranabir Chakraborty

@RanabirChakraborty  Thank you for helping me out!


Merge pull request #2 from ernilambar/master

Bringing fork up to date

Sorry, I meant to bring my fork up to date. Made a wrong PR

This article explains how best to do it. https://help.github.com/articles/syncing-a-fork/

Yeah, I did it from the web interface. I'm setting it up now to work with bash commands. Thanks


[CRITICAL] useragentstring.com not working anymore

2020-07-17 16:21:31 [fake_useragent] DEBUG: Error occurred during fetching http://useragentstring.com/pages/useragentstring.php?name=Chrome

It is failing to fetch it because the site seems to be down or not working properly. Consider removing it from the list or replacing it with another list.
This problem renders the tools useless.

There's no responce from contributors. What will we do? This lib is very helpful.

The problem is in fact in the underlying lib (fake-useragent). I filed an issue there also.
https://github.com/hellysmile/fake-useragent/issues/99

Yeah, this has pretty much been a ticking time bomb all this time because of the useragentstring.com availability being a dependency.
One workaround here is to set FAKEUSERAGENT_FALLBACK setting for the user agent to fall back.
This scrapy plugin is itself a very thin layer before fake-useragent itself and we can try having a more "dynamic" fallback - e.g. we can start using faker and User-Agent provider: https://hexdocs.pm/faker/Faker.Internet.UserAgent.html
Thoughts?

Isn't faker a golang library?
Which database is faker using?

Oh, sorry, wrong link. Here is the python-based one I meant: https://faker.readthedocs.io/en/stable/providers/faker.providers.user_agent.html?highlight=user_agent#faker.providers.user_agent.Provider.user_agent
It is generating strings, not looking them up like fake-useragent does, which, depending on a use-case, be crucial.

I am leaning towards supporting both use cases in this plugin. We could have a setting which would be used to specify a list of User-Agent providers - which by default could be set to use just fake-useragent only. But, one could specify a second one in case the above failed  and it could either be fake-useagent or a custom one.
Something like this and, with proper documentation, we would never have to talk about this again :)

I think that is a good design. There could be another provider that you just specify a file with user agents, in a given format, and it randomizes those. I can work on this if you want, to contribute, as I'm already using this lib in production.

Question: the FAKEUSERAGENT_FALLBACK option can be deprecated right?

I can work on this if you want, to contribute, as I'm already using this lib in production.
That would be awesome, appreciate it! 👍

Almost have it. Will send PR when ready.
Another change I made to support this new structure is to add a RANDOM_UA_TYPE setting for each provider:

FAKE_USERAGENT_RANDOM_UA_TYPE
FAKER_RANDOM_UA_TYPE

This is because each provider would internally can have different flags for choosing what UA will use.
I also added a FixedUserAgent provider which just provides one UA, the default one, selected with scrapy's setting USER_AGENT

@0xfede7c8 great work with with the pull request. I've left a few comments but would take a close look when there are tests. Thanks a lot for the work and lemme know if you need any help.

Just uploaded 1.3.0 to PyPI. @0xfede7c8 thanks a lot for all the work you've put into this!


Adding Note to File Share Limitation

Azure Files can only be mounted on VMs in the same region, adding this note to prevent mounting errors.

Hi @animetauren, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;

@animetauren Thanks for the update animetauren.

@Jasontang501 hey Jason, could you please review this contribution?

Hi @animetauren
Thanks for the comment, actually the restriction you described has been removed since Azure File Storage GA at 9/29/2015. Right now with the support for encryption in SMB 3.0 customers can mount from anywhere in the world (e.g. from on-premises servers)
For more details please refer to our post below
https://azure.microsoft.com/en-us/documentation/videos/azurecon-2015-azure-files-storage-a-frictionless-cloud-smb-file-system-for-windows-and-linux/
https://azure.microsoft.com/en-us/blog/azure-file-storage-now-generally-available/
Let me know if there is more questions.

Jason Tang | Microsoft Azure Storage team


Transpile External Recursors

Depends on #167. The implementation should be the same as the one for internal recursors, except for an extra step to compile them as mutuals (if Lurk ends up not supporting them).

Closed by #182


Support of const keyword

I'm not a Json schema deep diver, but somehow I miss support for the const keyword (at least for C# code generation):
{
"title": "Person",
"type": "object",
"properties": {
"cmdType": {
"$comment": "This results in a string template literal when generating TS",
"const": "person"
},
...
}

Ref: http://json-schema.org/understanding-json-schema/reference/generic.html#constant-values

I noticed that the json schema validation for the const keyword has no effect.
If you convert the const to an enum with a single value, then validation works as expected.
See:
https://ajv.js.org/json-schema.html#const

@htbmw
I use ajv to test a schema against known valid and invalid JSONs.
The schema has const in it and ajv does fail validation of a JSON that has another value than the one defined with const, as it should.

Please also support the const keyword in the code generation.  Per the const documentation, I'm using the following in a schema:
    "commandCode": {
      "const": 1319
    },

This produces the following C# code: public object CommandCode { get; set; }
I would really like the C# code to return the constant value.


flutter: fix cross builds

Description of changes
Extracted from #310630 to fix cross compiling

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I would love to see these changes merged.
Cross-compiling Flutter is a sore point, and it would be amazing if this just worked (as is the case with other languages such as Rust and C++).
That being said, there is an issue when using the current implementation:
error: builder for '/nix/store/kvlb4hj7700905xgpsx1c3wq0c6n1zgk-flutter-wrapped-aarch64-unknown-linux-gnu-3.24.4.drv' failed with exit code 1;
       last 1 log lines:
       > error: executing '/nix/store/0irlcqx2n3qm6b1pc9rsd2i8qpvcccaj-bash-5.2p37/bin/bash': Argument list too long

I believe the issue is where __spliced is used.
in dart.override dartOverride // (lib.optionalAttrs (dart ? __spliced) { __spliced = lib.mapAttrs (_: dart: dart.override dartOverride) dart.__spliced; });


Update Easylogging++ dependency to v9.96.5

This fixes a thread deadlock that could occur in some situations,
especially when running under Valgrind.
See this issue on the easyloggingpp repo:
https://github.com/muflihun/easyloggingpp/issues/417
Changes to easylogging++.cc from commit f026596a have been retained.

Hi @rschlaikjer
Thank you for the patch. Makes perfect sense to get it up-to-date.
However, the deletion at easylogging++.h:360 of the NOMINMAX macro breaks Windows CI.
To fix the CI I propose to add add_definitions(-DNOMINMAX) to main CMakeLists.txt.

Sergey, thanks for figuring out the problem. I've added the define for Windows builds that enable easylogging.


[Docker compose installation] warning about using docker-compose down

Just include a section warning the use of docker-compose down for default docker-compose.yaml configuration. For those cases, ALL data will be destroyed after down action.
https://docs.docker.com/compose/reference/down/

Resolved in #1040


How to deal with unmatched sample size?

Hi,
Thanks for your idea and work. I would like to figure out how did you deal with unmatched sample size, in other words, two batch sizes are not the same.
I notice that in the MMD loss you used "assert" to ignore this situation. But is there any solution to this problem as the number of samples in two clusters may not be the same.
Thanks!

Hi,
Thank you for your question. We apply MMD loss on pairs of similar clusters from different batches. During the construction of a mini-batch for training the network, we sample the same amount of cells from each cell cluster, so the batch size for calculating MMD is always matched. If the size of some cell cluster is insufficient, we simply random over-sample the cells. You could also try to apply MMD for different batch sizes. Here, we just did sample the same amount of cells in mini-batch gradient descent for simplicity.

Thanks for your in-time reply. It really helps.


V1.4.1 patchset

same thing, but auto created

lgtm

You can use pull/90 if you want (with the squashed commits)


Add _XOPEN_SOURCE macro as builtin

https://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html

It seems that gcc/clang -dM -E -x c /dev/null does not include _XOPEN_SOURCE. So to solve this issue I add it manually.


Declare file templates in Java code

The current method of declaring via a folder structure gets too complicated with more and more config options per file.

Closed by #228


Whisper Error: no available backend found

System Info
Transformers.js version: "@huggingface/transformers": "3.0.1"
Browser (if applicable): Chrome
Operating system: MacOS
Environment/Platform

[X] Website/web-app
[ ] Browser extension
[ ] Server-side (e.g., Node.js, Deno, Bun)
[ ] Desktop app (e.g., Electron)
[ ] Other (e.g., VSCode extension)

Description
After upgrading from 3.0.0-alpha.9 to 3.0.1, I'm getting the following error:
Uncaught (in promise) Error: no available backend found. ERR: [webgpu] RuntimeError: null function or function signature mismatch

I'm calling my model files from my own CDN, which is working fine on 3.0.0-alpha.9. I can resolve the issue by removing the below env settings pointing to my CDN, and it loads fine from huggingface.
My first thought was maybe there was an update to onnx-community/whisper-tiny.en, which I pulled down from here, however there haven't been any updates in the time I uploaded my model files (about a week ago). Has the huggingface CDN been updated with a version that I don't have?
import {
  AutoTokenizer,
  AutoProcessor,
  env,
  full,
  PreTrainedTokenizer,
  Processor,
  TextStreamer,
  WhisperForConditionalGeneration,
} from "@huggingface/transformers";

env.remoteHost =
  "MYCDN.com/shared/dictation/models/";
env.remotePathTemplate = "{model}/";

// Set location of .wasm files. Defaults to use a CDN.
if (env.backends?.onnx?.wasm) {
  env.backends.onnx.wasm.wasmPaths =
    "MYCDN.com/shared/dictation/";
}

const MAX_NEW_TOKENS = 64;

class AutomaticSpeechRecognitionPipeline {
  static model_id: string | null = null;
  static tokenizer: Promise<PreTrainedTokenizer> | null = null;
  static processor: Promise<Processor> | null = null;
  static model: Promise<any> | null = null;

  static async getInstance(
    progress_callback: Function | undefined = undefined
  ) {
    this.model_id = "onnx-community/whisper-tiny.en";

    this.tokenizer ??= AutoTokenizer.from_pretrained(this.model_id, {
      progress_callback: progress_callback || (() => {}),
    });
    this.processor ??= AutoProcessor.from_pretrained(this.model_id, {
      progress_callback: progress_callback || (() => {}),
    });

    this.model ??= WhisperForConditionalGeneration.from_pretrained(
      this.model_id,
      {
        dtype: {
          encoder_model: "fp32", // 'fp16' works too
          decoder_model_merged: "q4", // or 'fp32' ('fp16' is broken)
        },
        device: "webgpu",
        progress_callback: progress_callback || (() => {}),
      }
    );

    return Promise.all([this.tokenizer, this.processor, this.model]);
  }
}

Reproduction
Load transformer.js v3.0.1 with model files from an external CDN that isn't huggingface.

Im calling my model files from my own CDN, which is working fine on 3.0.0-alpha.9

Note that the WASM files change between versions, so please ensure that you have the correct files corresponding to the version you are using

Ah! That's good to know! Closing.


json generator for application list

Python file for CI to generate list of applications.

Thank you for the script :)


To learn: errbot webhook

The official documentation helped me a lot: Errbot (links are helpful) and GitHub.


Kwxm/fix flat erasure plc command

This fixes a problem with the output format for the plc erase command pointed out by @raduom: asking to output Flat actually output CBOR.  It's a one-word change so I'll probably just merge it without review.

Pre-submit checklist:

Branch

[ ] Commit sequence broadly makes sense
[ ] Key commits have useful messages
[ ] Relevant tickets are mentioned in commit messages

PR

[ ] Self-reviewed the diff
[ ] Useful pull request description
[ ] Reviewer requested

If you updated any cabal files or added Haskell packages:

[ ] $(nix-build default.nix -A pkgsLocal.updateMaterialized) to update the materialized Nix files
[ ] Update hie-*.yaml files if needed

If you changed any Haskell files:

[ ] $(nix-shell shell.nix --run fix-stylish-haskell) to fix any formatting issues

If you changed any Purescript files:

[ ] $(nix-shell shell.nix --run fix-purty) to fix any formatting issues

Pre-merge checklist:

[ ] Someone approved it
[ ] Commits have useful messages
[ ] Review clarifications made it into the code
[ ] History is moderately tidy; or going to squash-merge

Based on wrong branch!


sedona-spark-shaded package should exclude some repetitive dependencies.

pom.xml should exclude any dependencies that exist in spark jars, eg:
edu.ucar:cdm-core exclude guava/httpclient/protobuf-java
... ... <dependency>     <groupId>edu.ucar</groupId>     <artifactId>cdm-core</artifactId>     <exclusions>         <exclusion>             <groupId>com.google.guava</groupId>             <artifactId>guava</artifactId>         </exclusion>         <exclusion>             <groupId>org.apache.httpcomponents</groupId>             <artifactId>httpclient</artifactId>         </exclusion>         <exclusion>             <groupId>com.google.protobuf</groupId>             <artifactId>protobuf-java</artifactId>         </exclusion>     </exclusions> </dependency> ... ...     <artifactSet>         <excludes>             <exclude>org.scala-lang:scala-library</exclude>             <exclude>org.apache.commons:commons-*</exclude>             <exclude>commons-pool:commons-pool</exclude>             <exclude>commons-lang:commons-lang</exclude>             <exclude>commons-io:commons-io</exclude>             <exclude>commons-logging:commons-logging</exclude>         </excludes>     </artifactSet> ... ...

@freamdx would you mind create a PR to fix this yourself?

A few notes:

cdm-core has to be bundled in the shaded package, we include it in the shaded pom.xml to make it compile rather than provided.
guava is better shaded than excluded, since we don't know whether the guava jar shipped with spark is compatible with sedona or not.
other package exclusion seems to be OK. Apache commons has good backward compatibility and the versions shipped with spark is later than what we bundled.

A few notes:

cdm-core has to be bundled in the shaded package, we include it in the shaded pom.xml to make it compile rather than provided.
guava is better shaded than excluded, since we don't know whether the guava jar shipped with spark is compatible with sedona or not, and shading guava is a common practice.
other package exclusion seems to be OK. Apache commons has good backward compatibility and the versions shipped with spark is later than what we bundled.

I agree with @Kontinuation. Guava is tricky, as I learned it when upgrading Spark.

I agree with @Kontinuation. Guava is pretty tricky, as I learned it when upgrading Spark.
I'm having trouble understanding why this Google's library has such poor compatibility issues. It seems unexpected from a leading tech company

@zwu-net please feel free to create a PR to fix this

@jiayuasu (I would like also to bring @james-willis here since I got know him due to DBScan discussion. If you are busy on other tasks, you don't need to participate) @Kontinuation @freamdx
Research Findings and Proposal
After researching the feasibility of modifying Sedona's pom.xml (https://github.com/apache/sedona/blob/master/spark-shaded/pom.xml), I concluded that manual management of library inclusions/exclusions across various Spark and Sedona versions would be overly complex and labor-intensive.
Proposed Solution
To address this challenge, I suggest creating a custom tool to manage pom.xml generation. This approach is inspired by my previous work on a custom transformer of SQLs from Oracle to Snowflake(https://www.linkedin.com/pulse/revolutionizing-data-analysis-custom-transformer-seamless-paul-wu-4euxc/?trackingId=1AyXqiJh1sei4yybC%2FZW9g%3D%3D).
Tool Requirements
The tool should:

Fetch Spark releases (ideally from a prefetched repository to minimize build time and network stability issues)
Generate pom.xml files
Be implemented in Java or Python (with careful dependency management if using Python)

Implementation Considerations
Given the scope of this task, it may take several months for part-time contributors like myself to implement and test. Before proceeding, I'd appreciate feedback on:

The viability of this approach
Potential alternative solutions

Please share your thoughts.

only NetCDF using ucar package
s2-geometry package depends guava:jar:25.1-jre ( mvn dependency:tree ) as default
mvn test passed

@freamdx would you mind create a PR to fix this yourself?

how to get a ticket ID ?

@freamdx Please sign up an account here: https://issues.apache.org/jira/projects/SEDONA


Outputs of a template composed of tasks or steps can be generated when any of the tasks or steps fails

Summary
Failed container/script templates' outputs are correctly generated, which is great. But the outputs of a template composed of tasks or steps are missing if any of the tasks or steps fails.
Use Cases
We are trying to make templates that are composed of several closely related tasks and we want to record the outputs of those templates after execution. When any task or step fails in a template, outputs of the template are missing. We'll not be able to either report the results from the workflow or get the results from argo api.

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

Failed container/script templates' outputs are correctly generated, which is great. But the outputs of a template composed of tasks or steps are missing if any of the tasks or steps fails.

you can configure continueOn in your step/task

@sarabala1979 Let's take the following yaml for example
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: output-failed-steps-parameter-
spec:
  entrypoint: output-failed-steps-parameter
  templates:
  - name: output-failed-steps-parameter
    steps:
    - - name: generate-parameter
        template: whalesay
        continueOn:
          failed: true
    - - name: consume-parameter
        template: print-message
        arguments:
          parameters:
          - name: success-message
            value: "{{steps.generate-parameter.outputs.parameters.hello-param-success}}"
          - name: failure-message
            value: "{{steps.generate-parameter.outputs.parameters.hello-param-failure}}"

  - name: whalesay
    steps:
    - - name: do-whalesay-success
        template: do-whalesay-success
    - - name: do-whalesay-failure
        template: do-whalesay-failure
    outputs:
      parameters:
      - name: hello-param-success
        valueFrom:
          parameter: "{{steps.do-whalesay-success.outputs.parameters.hello-param}}"
      - name: hello-param-failure
        valueFrom:
          parameter: "{{steps.do-whalesay-failure.outputs.parameters.hello-param}}"

  - name: do-whalesay-success
    container:
      image: docker/whalesay:latest
      command: [sh, -c]
      args: ["echo -n do-whalesay-success: hello world > /tmp/hello_world.txt; exit 0"]
    outputs:
      parameters:
      - name: hello-param
        valueFrom:
          path: /tmp/hello_world.txt

  - name: do-whalesay-failure
    container:
      image: docker/whalesay:latest
      command: [sh, -c]
      args: ["echo -n do-whalesay-failure: hello world > /tmp/hello_world.txt; exit 1"]
    outputs:
      parameters:
      - name: hello-param
        valueFrom:
          path: /tmp/hello_world.txt

  - name: print-message
    inputs:
      parameters:
      - name: success-message
      - name: failure-message
    container:
      image: registry.baidubce.com/base/bionic/py2.7:latest
      command: [bash, -c]
      args: ["
        echo {{inputs.parameters.success-message}};
        echo {{inputs.parameters.failure-message}};
      "]

Do you mean I should configure continueOn in the do-whalesay-failure step in the whalesay template ? I took your advice and tried that. The output parameters of template whalesay are correctly generated now. However, the final status of  step generate-parameter is not Failed any more. It's Succeeded instead. That's actually not what I want. I don't find it reasonable to configure continueOn in the step, because in case of failure or error, it shouldn't continue to run. But even if it fails, if the outputs of the task/step are generated correctly, why aren't the outputs of the template wrapping them generated ?

@alexec Hi, any comments on this issue ?


Quartz job triggering multiple times in kubernates pods (nodes) with mongodb and C#

currently we are using asp.net core with rabbitmq and mongdb as database,.we are using quartz job for data migration.but we observed jobs are triggred 5 times in 5 nodes.
i could see some solution before from quartz with ado.net store and sql server to lock the job store. based on this
https://github.com/quartz-scheduler/quartz/issues/29.
could you please provide some useful documentation for mongodb jobstore lock and properties["quartz.jobStore.acquireTriggersWithinLock"] = "true";
this is the code i found for sql server but how can i modify for mongodb,is this solution solve the problem or any other suggested way ?

  var properties = new NameValueCollection();
        properties["quartz.jobStore.type"] = "Quartz.Impl.AdoJobStore.JobStoreTX, Quartz";
        properties["quartz.jobStore.dataSource"] = "default";
        properties["quartz.jobStore.clustered"] = "true";
        properties["quartz.jobStore.selectWithLockSQL"] = string.Format(System.Globalization.CultureInfo.InvariantCulture, "SELECT * FROM {0}{1} WHERE {2} = {3} AND {4} = @lockName", new object[] { "{0}", "LOCKS", "SCHED_NAME", "{1}", "LOCK_NAME" });
        properties["quartz.jobStore.acquireTriggersWithinLock"] = "true";
        //properties["quartz.scheduler.instanceId"] = "AUTO";
        //properties["quartz.threadPool.threadCount"] = "1";
        //properties["quartz.jobStore.tablePrefix"] = "Scheduling.";
        //properties["quartz.dataSource.default.connectionString"] = @"Server = (local)\sqlexpress; Database = DB; Integrated Security = True";
        //properties["quartz.dataSource.default.provider"] = "SqlServer-20";

Sounds like you're using Quartz.NET (the .net port of Quartz)?   This project/repository is only for the original Java version of Quartz.


virtualizedTableHOC

I tried using your library to create a virtualized table and ran into performance problems. To improve the situation, I added a configuration setting to API of Table Component. This Sandbox example shows how the responsiveness of the interface can improve using this setting.
Before:
After:

Wow that is impressive. This is something, however that we will be handling with the next major version of react-table much better by giving you full control of the rendering.
This feature/issue has been tagged as one that will likely be fixed or improved in the next major release of React-Table. This release is expected to be completed in the next 6 - 8 months. Please see #1143 for more detail. If you believe this feature can be easily fixed, we invite you to fork the project, attempt the fix, and use it until the latest version is available. If the fix is simple enough, we will also consider it as a PR to the current version.


Why was  (and other C++11 headers) unapproved in cpplint

see: https://github.com/google/styleguide/blob/gh-pages/cpplint/cpplint.py#L5848

In case anyone still wonders what the Chromium team prefers over  like I did, here is what I found: https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/threading_and_tasks.md


Add html_root_url for core and futures, with a reminder in Cargo.toml

Should close #424 - I've used some shorter version links for the docs, but if I should just make these exactly what version is specified in the Cargo.toml I can change it, those versions just don't have any published docs yet and making a PR with links that 404'd didn't feel right (but perhaps this is totally fine)

Thanks!


Bower manifest for 0.3.0

Added license - from PR #157

@shawnbuso sorry for the new PR (post squashing I removed the branch to avoid conflicts)

LGTM, thanks!


Consider removing the nodegit link

libgit2.org lists nodegit as a Node.js binding of libgit2. However, the last stable release of nodegit is from 2020, there are no prebuilt binaries for any supported Node.js version anymore (only Node 16), and it depends on the long-deprecated "request" library that has security vulnerabilities. There are several issues asking about the project state without replies from the maintainers.
Developers looking for a library to use Git in Node.js will likely just get frustrated when they start with using Node.js.

Is there a better alternative?

I don't think there is an alternative in terms of JavaScript libgit2 bindings. There are alternatives to using libgit2 altogether, e.g. isomorphic-git (a JavaScript implementation of git) or simple-git (a JavaScript wrapper around the regular Git binary)


Unable to upload user profile images

BookStack Version: v0.17.1
PHP Version: 7.0.21
MySQL Version:  5.6.34-79.1 Percona Server

Expected Behavior
We should be able to set the user's avatar to a custom uploaded file.
Actual Behavior
We're currently unable to upload user profile avatars. When we attempt to, we get the following message:

<title>404 Not Found</title>

404 Not Found

nginx

We're using Nginx, if it helps. In the nginx error log, here's what we see:
2017/07/28 15:25:28 [error] 24177#24177: *4113 open() "/home/support/site/documentation/public/images/user/upload" failed (2: No such file or directory), client: ..., server: ..., request: "POST /images/user/upload HTTP/1.1", host: "...", referrer: "https://....com/settings/users/9"
It seems like the request isn't being routed through the index.php file? I have very limited Laravel knowledge, but it does seem like it's attempting to access this as a directory, instead of a route?

Hi @tylerschade, Are you able to post your nginx config at all? You're correct that the request is not hitting the correct part of the app.

Here are the relevant parts of the config:
server {
    listen              <IP_ADDRESS>:80;
    server_name         ****.****.com;
    root                /home/****/site/****/public/;

    include /etc/nginx/custom.d/server_level/*.conf;

    # Direct download
    location ~* ^/(js|static|skin|media|images)/ { expires 1w; }

    autoindex off;

    location / {
        try_files $uri $uri/ /index.php?$args;
        index index.php index.html;
        access_log off;
    }

    location ~* \.(jpeg|jpg|gif|png|css|js|ico|swf)$ {
        try_files $uri $uri/ /get.php;
        expires 1w;
        access_log off;
    }
}

Please let me know if there is more that would be helpful. Thanks so much for your help.

Any thoughts on this?

Hi @tylerschade,
Apologies for my late reply.
Looks like this line is the issue:
    # Direct download
    location ~* ^/(js|static|skin|media|images)/ { expires 1w; }

Remove images from that and I think things should work. This location block is matching the call so the request is not being picked up by the location block below.

Hey there! No problem, thanks for the help. We have added an override to remove that, but it's still not working - we receive the same error. I'm curious how the cache expiry setting would be causing issues with this?

Can you post your updated config?
From my understanding of Nginx, It's not anything to do with the caching rule, It's the location block the caching rule is in that's the problem.
Nginx will only match one location block. The location block with the expires is being used for this request so the request is never rooted to the index.php entry point of the app. Thus Nginx will just try to serve it as a static file.
This request should go through the second location block, Not the first as it is now.

Makes sense. Here you go:
server {
    listen              ---
    server_name         ---.---.com;
    root                /home/---/site/---/public/;

    include /etc/nginx/custom.d/server_level/*.conf;

    location ~* ^/images/ {}

    # Direct download
    location ~* ^/(js|static|skin|media|images)/ { expires 1w; }
    location /errors/ { }
    location ~* ^/errors/.*\.xml$ { deny all; }
    location ~* ^/errors/.*\.phtml$ { deny all; }
    # Deny
    location ~* /(\.ht|\.svn|\.git) { deny all; }
    location ~* ^/(app|lib|pkginfo|report/config.xml|var)/ { deny all; }

    autoindex off;

    location / {
        try_files $uri $uri/ /index.php?$args;
        index index.php index.html;
        access_log off;
    }

    location ~* \.(jpeg|jpg|gif|png|css|js|ico|swf)$ {
        try_files $uri $uri/ /get.php;
        expires 1w;
        access_log off;
    }
}

Hello Dan Brown, I know you have lots going on but was wondering if you have ideas on this or know of anyone we can contact who would be more familiar BookStack that we could hire to help? We can pay you as well if you can work on it.  This is a new install for us and we'd really like to be able to make a few more changes and start using it. I'm just not wanting to mess with anything until we get it sorted out.
Thanks so much!
Dan Hill
MachMotion

@tylerschade Yeah, Your override won't help there.
Remove the following line:
location ~* ^/images/ {}

And remove just |images from the following line:
location ~* ^/(js|static|skin|media|images)/ { expires 1w; }

Hi @nvnvnvnvn, I'm happy to offer support when I can here on GitHub and there's a few others that do help when possible. Personally, I'm not looking to provide paid support services right now.
My previous comment should resolve this issue.

@ssddanbrown wow, thanks so much. @tylerschade made the changes and it is working. Really appreciate it!

Thanks, @ssddanbrown. We appreciate your help.

@ssddanbrown: for future reference, what was going on was the hosting provider has a standard nginx configuration. They provide a location to inject configuration, so here is what we figured out:
location  ~*/images {
        try_files $uri $uri/ /index.php?$args;
        break;
}

Essentially, duplicating the location / configuration, we are pointing the images path there.

@JosephMaxwell Ah, Okay, makes sense.
Glad you managed to get things working.


Invalid JavaScript output with re-exported  unresolved import types (regression)

🔎 Search Terms
export type invalid JavaScript
🕗 Version & Regression Information

This changed between versions 5.1 and 5.2

⏯ Playground Link
Playground Link
💻 Code
import type { SomeType } from './type';

export { SomeType  };

🙁 Actual behavior
TypeScript will generate the following JS:
export { SomeType };

This JS is invalid since SomeType is not defined. Basically the import type is removed, but the export of the type was not.
🙂 Expected behavior
Type should be removed from export as in 5.1
Additional information about the issue
In the example above the source code has errors, so it could be argued that the output does not have to be valid. The issue was however discovered when using transpileModule . transpileModule similarly can't by design resolve the types and will preserve them in the output even though the types actually exist.
This is going to block us at Bloomberg from fully adopting TS 5.2 as we have workflows that depend on transpileModule

This is not a solution, but I would suggest using export {} from '' signature next time.

Hm, this seems tricky.  I recall someone (maybe @ahejlsberg?) saying that import type { foo } actually imports both the type and value meanings of a symbol, and you just can't use it in emitting positions.  This is so that you can still write e.g. typeof foo.  So arguably, the export at the bottom should be an error, at least under isolatedModules, because SomeType may also have a value meaning but TS can't know that without resolving the import.

This is not a solution, but I would suggest using export {} from '' signature next time.

Sure, there are work arounds.  The best one IMO (which we are working towards) is to use verbatimModuleSyntax which would flag this as an error, however we are not ready to enable that at present.

Hm, this seems tricky. I recall someone (maybe @ahejlsberg?) saying that import type { foo } actually imports both the type and value meanings of a symbol, and you just can't use it in emitting positions. This is so that you can still write e.g. typeof foo. So arguably, the export at the bottom should be an error, at least under isolatedModules, because SomeType may also have a value meaning but TS can't know that without resolving the import.

I mean it would probably be an error under verbatimModuleSyntax, but under our settings it does not produce any error and also generates invalid JS which is not ok.

@dragomirtitian Yeah, I didn't mean to imply it wasn't problematic; it definitely is :) It just seemed tricky since import type also pulls in the value-space meaning which means the compiler must be able to resolve the import to know whether it should elide the re-export or simply error on it.
This should definitely error under isolatedModules and I consider it a bug that it doesn't.

Bisects to #54799. @andrewbranch

It’s not a missing isolatedModules error; it’s just an emit bug. This code is correctly transpilable without knowing how/whether './type' resolves.

Huh, it seemed weird to me that one could import type { Class } from "foo" and then do typeof Class but still have the re-export elided (without being an error).


[nuxt-i18n] Failed loading async locale export: globals.Headers is not a constructor

I try to deploy a Nuxt SSR app to Vercel but I'm facing issues.
I'm fetching my locales during the build, so here is my nuxt.config.js file:
import localesFetcher from "./lang/localesFetcher";

export default async function () {
  const locales = await localesFetcher();
  return {
    // a lot of stuff there
    i18n: {
      baseUrl: process.env.BASE_URL || "http://localhost:3000",
      strategy: "prefix",
      locales,
      lazy: true,
      langDir: "lang/",
      defaultLocale: "en",
      vueI18n: {
        fallbackLocale: "en",
      },
      detectBrowserLanguage: {
        useCookie: true,
        cookieKey: "i18n_redirected",
        onlyOnRoot: true,
      },
    },
  };
}

I know my locales object is correct because I log them in the console so no issue there.
However, when deployed on Vercel, my pages show "Nuxt Internal Server Error" and looking at functions in the dashboard, I have the following error:
2021-03-26T17:14:19.229Z	fe8356af-8b2b-458c-90f5-83792194905f	ERROR	[nuxt-i18n] Failed loading async locale export: globals.Headers is not a constructor
2021-03-26T17:14:19.230Z	fe8356af-8b2b-458c-90f5-83792194905f	DEBUG	Error occurred when calling nuxtServerInit:  globals.Headers is not a constructor
 ERROR  globals.Headers is not a constructor
  at mergeHeaders (node_modules_dev/ky/index.js:52:0)
  at deepMerge (node_modules_dev/ky/index.js:88:0)
  at validateAndMerge (node_modules_dev/ky/index.js:509:0)
  at Function.ky.<computed> [as post] (node_modules_dev/ky/index.js:516:0)
  at http_HTTP.module.exports.http_HTTP.<computed> [as post] (.nuxt/http.js:95:0)
  at http_HTTP.module.exports.http_HTTP.<computed> [as $post] (.nuxt/http.js:126:0)
  at strapi_Strapi.graphql (node_modules_dev/@nuxtjs/strapi/lib/runtime/strapi.js:122:0)
  at Store.update (store/api.js:17:0)
  at Array.wrappedActionHandler (node_modules_dev/vuex/dist/vuex.common.js:853:0)
  at Store.dispatch (node_modules_dev/vuex/dist/vuex.common.js:518:0)

I don't know what to do with that now.

The problem is most likely not in this part of the code but in the function that loads the translations (referenced by locale's file property).
globals.Headers is not a constructor is a code from ky. I can see that the latest version of ky has now changed this code a bit so maybe try updating to the latest version.

Ok so it's related with the strapi module, thx for yout help!


Support to upload file

Description:
Support body upload file types

[ ] implement the page to manage uploaded files.
[ ] select already uploaded files.

https://github.com/LinuxSuRen/api-testing/pull/538 supports uploading an embed non-binary file.

From v0.0.19, users could upload file from the local filesystem in the desktop. See also the following scrrenshot:


Introduce of the deprecated FG: MergeCLIArgumentsWithConfig

The feature gate is added by this change: https://github.com/kubernetes/kubernetes/pull/119946
Also see the link for the comments: https://github.com/kubernetes/kubernetes/pull/119946#discussion_r1360184126

/cc @windsonsea @neolit123 @pacoxu

/approve


add @available to ConstraintLayoutGuide extension

It seems that without @available(iOSApplicationExtension 9.0, *) above the ConstraintLayoutGuide extension the instance of ConstraintLayoutGuide have no member named "makeConstraints".
I use SnapKit in latest release XCode8 and swift3

@LiVincent-Zhang thanks for this PR does it not work with @available(iOS 9.0, *)? I don't think it should use the iOSApplicationExtension part?

@LiVincent-Zhang gah sorry it also needs macOS support so should be:
@available(iOS 9.0, OSX 10.11, *) and also a bit lower in the file there is a #available(iOS 9.0, *) that needs to be updated to #available(iOS 9.0, OSX 10.11, *)

OKay. the error of CI is confused me. Orz..


TST: add tests for stats.tvar with unflattened arrays

Adds tests to gh-8359.

@rgommers @tylerjereddy Is there a way to determine why the CircleCI tests fail? I've seen that it is a potential issue here, but I would be happy to work to speed up the process.

You could rebase on the latest master to pick up the fix for that unrelated failure, though a reviewer will likely see that it can be ignored anyway.
It looks like this is what Ralf was asking for in the original / abandoned PR, but I do see some other notes from @josef-pkt there so I'll prefer to let Josef or Ralf review/ merge.

@rgommers The results should be the numpy results times the correction factor ie for np.var(x, axis=0), the result will be array([367.50000000,<PHONE_NUMBER>0,<PHONE_NUMBER>0,<PHONE_NUMBER>0,<PHONE_NUMBER>0,<PHONE_NUMBER>0,<PHONE_NUMBER>0]), which is<PHONE_NUMBER>7 * (9 / 8) for each entry, right? Currently, the implementation isn't getting these results, so I may have to debug the original code change.

Ah yes, you're right - default ddof is different

@rgommers  Thanks for elaborating on ddof! It seems that the desired behavior for stats.tvar, even when accounting for different ddof, differs from the code's behavior even before the original PR's changes were applied. For the 9 x 7 example, passing in an axis value of 0/1/None (and no other arguments) all results in a singular value of 372.0 when ravel() is not applied and 336.0 when ravel() is applied, which seems to indicate that the axis argument is being ignored regardless of whether the array is raveled or not. I can keep trying to reinforce the desired behavior, but this doesn't seem to fall under the scope of the original PR. Should I create a new issue?

This is the current implementation:
    if limits is None:
        n = len(a)
        return a.var() * n / (n - 1.)
    am = _mask_to_limits(a, limits, inclusive)
    return np.ma.var(am, ddof=ddof, axis=axis)

The axis keyword is passed on if limits is not None, but not otherwise - that needs a fix.
For the rest things are consistent:
In [21]: x = np.arange(1, 64).reshape((9, 7))

In [22]: stats.tvar(x)
Out[22]: 336.0

In [23]: np.var(x, axis=None, ddof=1)
Out[23]: 336.0

I can keep trying to reinforce the desired behavior, but this doesn't seem to fall under the scope of the original PR. Should I create a new issue?

This seems like a simple bug in the current PR, fixable by passing on axis correctly. So please add it to this PR.

@rgommers Thanks for clarifying the behavior of stats.tvar! I've made the changes to my PR.

@rgommers Thanks for clarifying the behavior of stats.tvar! I've made the changes to my PR.

It seems I can't revert the commit easily, so I'm just going to remove my fork and redo the changes.

@rgommers Sorry for the mess, the new PR is here.


Name pronunciation

I know that this ticket might sound a bit frivolous, but how should ssheven be pronounced? SSH-even? Sheven? Sseven? S-sh-even? SSH-7?

it's a fair question, the intended way is "sheven" (like "seven" with an sh) as a sort of pun on SSH and seven, from System 7
"S-S-H even" with the letters SSH and the word "even" would also be fine

I imagined it as Sean Connery saying 'Seven', as in "Double-oh sheven."


Differences in results between the code and the leaderboard

This is excellent work, and I appreciate your open-source contribution. However, I have a couple of points that I find confusing:

The leaderboard (https://tatsu-lab.github.io/alpaca_eval/) shows a win rate of 95.28% for GPT4, but the win rate in the code is only 80%. This inconsistency is perplexing.

I apologize for not being able to locate the specific model from your paper in the leaderboard. Could you please clarify which model from the leaderboard corresponds to the one mentioned in your paper?

Thank you for your attention to these matters, and I look forward to your response.

Thanks for your interest and for raising these points!

This is excellent work, and I appreciate your open-source contribution. However, I have a couple of points that I find confusing:

The leaderboard (https://tatsu-lab.github.io/alpaca_eval/) shows a win rate of 95.28% for GPT4, but the win rate in the code is only 80%. This inconsistency is perplexing.

While both the AlpacaEval package and the evaluation component in AlpacaFarm are based on the same set of inputs/instructions, there are big differences in how the automated pairwise preference is done. As a result, numbers in AlpacaEval are not comparable to those in AlpacaFarm.
That said, the evaluation components of both AlpacaEval and AlpacaFarm are useful, if you care primarily about methods/systems ranking.
If you care about building the next best chatbot model that does well on open-ended queries (without necessarily inventing new methods, e.g., using better data), you should use AlpacaEval. If you care about developing the next best RLHF method without collecting actual human annotation, you should consider AlpacaFarm.
The precise differences between AlpacaEval and the evaluation in AlpacaFarm are documented here.

I apologize for not being able to locate the specific model from your paper in the leaderboard. Could you please clarify which model from the leaderboard corresponds to the one mentioned in your paper?

Thank you for your attention to these matters, and I look forward to your response.

If you're referring to the table below, here's the explanation
#                                         n_draws  n_total  n_wins  n_wins_base  standard_error  win_rate
# GPT4                                      17.00   805.00  639.00       149.00            1.38     80.43
# ChatGPT                                    9.00   804.00  489.00       306.00            1.71     61.38
# My fancy model                             9.00   804.00  483.00       312.00            1.71     60.63
# RLHF PPO                                   9.00   803.00  370.00       424.00            1.75     46.64
# SFT 52k (Alpaca 7B)                       16.00   804.00  320.00       468.00            1.72     40.80
# SFT 10k                                   19.00   802.00  278.00       505.00            1.67     35.85
# Davinci001                                 0.00   805.00  201.00       604.00            1.53     24.97
# LLaMA 7B                                   0.00   786.00   94.00       692.00            1.16

This table is a reproduction of the simulated win-rate column in Table 2 of the paper.
GPT4, ChatGPT, SFT 52k, SFT 10k, Davinci001, LLaMA 7B all maps exactly to the corresponding rows of that Table 2.  RLHF PPO maps to the PPO row of that Table 2.


PoC snap integration with kubernetes

@andrecolin working this issue.

going to close this until a later time. no process as of yet, although prometheus is being considered as an upstream chart (from kubernetes/charts).


crash when using @MirrorsUsed

Here is a simplified example:
import 'package:di/di.dart';

@MirrorsUsed(targets: const [Base], override: '*')
import 'dart:mirrors';

class I implements Injectable {
  final Function module;
  const I({this.module});
}

class Base {}

@I(module: M.foo)
class M extends Base {
  static void foo(_) {}
}

main() {
  new ModuleInjector([new Module()]).get(M);
}

this produces this error:
test.dart:16:19:
Internal Error: The compiler crashed when compiling this element.
      static void foo(_) {}
                  ^^^
The compiler is broken.

When compiling the above element, the compiler crashed. It is not
possible to tell if this is caused by a problem in your program or
not. Regardless, the compiler should not crash.

The Dart team would greatly appreciate if you would take a moment to
report this problem at http://dartbug.com/new.

Please include the following information:

* the name and version of your operating system,

* the Dart SDK build number (build number could not be determined), and

* the entire message you see here (including the full stack trace
  below as well as the source location above).

The compiler crashed: The null object does not have a getter 'isParameter'.

NoSuchMethodError: method not found: 'isParameter'
Receiver: null
Arguments: []
#0      Object._noSuchMethod (dart:core-patch/object_patch.dart:42)
#1      Object.noSuchMethod (dart:core-patch/object_patch.dart:45)
#2      ClosureTranslator.visitFunctionExpression .../compiler/lib/src/closure.dart:1062:17)

Here is a reduced example without any package dependencies:
import 'b.dart';

@MirrorsUsed(targets: const [Base], override: '*')
import 'dart:mirrors';

class I {
  final Function method;
  const I(this.method);
}

class Base {}

@I(M.foo)
class M extends Base {
  static void foo(_) {}
}

main() => generateFactory(M);

b.dart:
import 'dart:mirrors';

generateFactory(Type type) => reflectClass(type).newInstance;

(this example was reduced from an angular example that used @Component(module: ...))

A simple workaround for those who run into this would be to define separate a constant with the static function. Basically rewrite **a.dart(( as follows:
@MirrorsUsed(targets: const [B], override: '*')
import 'dart:mirrors';
import 'b.dart';

class B {}

const foo = C.m;
@Annot(foo)
class C extends B {
  static void m(_) {}
}

main() => generateFactory(C);

before I jump in and investigate, @floitschG let me know if you have any hunches or clues for possible causes for this.

Safe to say this is stale now.


Conflict with MoreCommands mod

Title!

I found that this mod conflicts with the more commands mod and that is why it was not working on 1.17.1 for me.

Thanks for reporting this incompatibility with MoreCommands. I have not used that mod myself, so I need some more details.
What did you try exactly (steps to reproduce)?
How did you expect it to work and for what purpose?
What was the actual behavior (did the server crash or something else)?

I said the wrong mod, this mod is incompatible with the banhammer mod from https://www.curseforge.com/minecraft/mc-mods/patboxs-banhammer . I went through all of my mods individually and found that this was the only one it was incompatible with. The server would not start, I can upload the latest.log of it. I think this crashed because banhammer modifies the vanilla ban command, and I am assuming that is why it did not work. Thank you!

I took a quick look to the BanHammer source code, and saw it renames ban to vanilla-ban, and also ban-ip, kick, pardon. I guess that causes the compatibility issues.
The BanHammer commands already integrate with the permissions API using banhammer.punish.*. So, my mod 'minecraft-command-permissions' should either ignore the ban commands, or recognize that they are renamed to vanilla-ban. Another solution would be to have a config file with a ignore_commands array.
Does your server log shows the following error message?
[08:57:49] [main/FATAL] (Minecraft) Failed to start the minecraft server
 java.lang.NullPointerException: Cannot invoke "com.mojang.brigadier.tree.CommandNode.getRequirement()" because "child" is null
	at com.github.tjeukayim.commandpermissionsfabric.PermissionsMod.alterCommand(PermissionsMod.java:46) ~[main/:?]
	at com.github.tjeukayim.commandpermissionsfabric.PermissionsMod.lambda$onInitialize$1(PermissionsMod.java:34) ~[main/:?]

Yes, my log says exactly that.

Can you try this new version I just released https://github.com/TjeuKayim/minecraft-command-permissions-fabric/releases/tag/v1.3.0


[question] do you have a plan to support the Cloud Foundry releases for this?

so we can deploy one Cloud Foundry clusters on kubernetes quickly

Hi Andy, yes, we support this: https://github.com/SUSE/scf


a11y: use onGetErrorMessage in createDialogModal

Description
This reworks createDialogModal.tsx a bit by moving the error checking into the Fabric-supported "onGetErrorMessage" and using a boolean in the modal's state to keep track of if we see any errors.
Task Item
Closes #2074
Closes #2060
Screenshots

This is actually addressing the same issue as #2338. So we may not need to overcomplicate with a hook, but if we want a consistent behavior for other forms, it seems worth the investment to me.

Can we just move the validation to the onChange handler?

That was the first thing I tried, and it didn't do the validation when I expected it should. This way, we're using the supported method from Fabric's own API documentation.

Closing in favor of #2369


src/content/en/tools/workbox/reference-docs/v4/workbox-routing_setDefaultHandler.mjs.html#L60 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-strategies_CacheFirst.mjs.html#L226 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-strategies_CacheFirst.mjs.html#L66 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-strategies_CacheOnly.mjs.html#L153 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-strategies_CacheOnly.mjs.html#L61 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-strategies_NetworkFirst.mjs.html#L333 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-strategies_NetworkFirst.mjs.html#L69 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-strategies_NetworkOnly.mjs.html#L158 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-strategies_StaleWhileRevalidate.mjs.html#L244 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-strategies_StaleWhileRevalidate.mjs.html#L74 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-strategies_index.mjs.html#L133 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-streams__types.mjs.html#L46 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-streams_concatenate.mjs.html#L165 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-streams_concatenateToResponse.mjs.html#L72 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-streams_index.mjs.html#L57 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-streams_isSupported.mjs.html#L70 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-streams_strategy.mjs.html#L102 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-streams_utils_createHeaders.mjs.html#L65 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-sw__types.mjs.html#L56 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-sw_controllers_WorkboxSW.mjs.html#L190 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-sw_index.mjs.html#L49 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-webpack-plugin_src_generate-sw.js.html#L162 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-webpack-plugin_src_inject-manifest.js.html#L212 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L676 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L70 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L219 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L235 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L254 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L285 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L324 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L538 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L539 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L553 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L559 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L572 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L573 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L574 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L575 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L581 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L582 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L598 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L599 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L615 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L616 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L631 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L632 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L645 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L646 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L659 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_Workbox.mjs.html#L660 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox-window_index.mjs.html#L52 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-window_messageSW.mjs.html#L67 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox-window_messageSW.mjs.html#L43 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox.backgroundSync.Plugin.html#L66 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.backgroundSync.Queue.html#L294 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.backgroundSync.html#L42 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.broadcastUpdate.BroadcastCacheUpdate.html#L197 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.broadcastUpdate.Plugin.html#L107 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.broadcastUpdate.html#L124 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.cacheableResponse.CacheableResponse.html#L132 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.cacheableResponse.Plugin.html#L98 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.cacheableResponse.html#L43 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.core.html#L181 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.expiration.CacheExpiration.html#L177 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.expiration.Plugin.html#L125 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.expiration.html#L46 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.googleAnalytics.html#L103 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.html#L188 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.navigationPreload.html#L81 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.precaching.html#L403 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.rangeRequests.Plugin.html#L46 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.rangeRequests.html#L85 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.routing.NavigationRoute.html#L111 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.routing.RegExpRoute.html#L93 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.routing.Route.html#L243 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.routing.Router.html#L311 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.routing.html#L254 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.strategies.CacheFirst.html#L236 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.strategies.CacheFirst.html#L91 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox.strategies.CacheOnly.html#L228 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.strategies.CacheOnly.html#L83 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox.strategies.NetworkFirst.html#L250 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.strategies.NetworkFirst.html#L93 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox.strategies.NetworkOnly.html#L229 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.strategies.StaleWhileRevalidate.html#L240 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.strategies.StaleWhileRevalidate.html#L95 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/reference-docs/v4/workbox.strategies.html#L207 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful
src/content/en/tools/workbox/reference-docs/v4/workbox.streams.html#L203 - Consider adding a "was this page helpful?" widget to your page: https://developers.google.com/web/resources/widgets#helpful

Okay, the issue was fixed by @petele in https://github.com/google/WebFundamentals/pull/8765
@philipwalton this can be merged if it looks good to you.


Case insensitive match

Hi, is it possible to match key+"*" in case insensitive mode? Thanks

Do you mean matching keys when adding to indexes?
This is not currently. Perhaps I could add an options to CreateIndex that allow for specifying case-insensitive pattern matching. Would something like this work?
opts := buntdb.IndexOptions{
        CaseInsensitiveKeyMatching: true,
}
buntdb.CreateIndexOptions("myindex", "user:*", &opts, buntdb.IndexString)

Exactly, that would be great

I just pushed this feature to the master branch. It works as described above with the exception that  the index must be created in a transaction:
db.Update(func(tx *buntdb.Tx) error{
        opts := buntdb.IndexOptions{
                CaseInsensitiveKeyMatching: true,
        }
        return tx.CreateIndexOptions("myindex", "user:*", &opts, buntdb.IndexString)
})


Grammar and Language improvements in the docs

While working through the tutorials and developer docs I found a few grammatical/spelling errors. They are all, obviously, unimportant and low-risk. On the hand, they were also easy to fix.
The Changes:

tooling.rst - "semantic" was misspelled "semanic"
walkthrough_lwr_inputs.rst - Grammatical error: missing comma
data_model.ipynb - Some sentences in the list have periods, some didn't. I made them uniform.
making_your_first_app.rst - "GitHub" is capitalized elsewhere but this one time in the documentation it is all lowercase.
nuclide_demo.ipynb - This is my most ambiguous change. It was not grammatically wrong before. But I had to read the sentence like three times to figure out what it meant. I have provided a small change that makes it a lot more clear to me. Feel free to tell me "no".

I will happily alter this commit/PR if, for instance:

You would like to remove one or more of the changes.
This commit does not conform to your group's standards/practices. (I tried to look at past commits for examples.)

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


Make use of Python virtual environments

From Ian:
Each individual server should have a Python virtual environment for running its scripts. These environments do not necessarily have to be identical, but it would be better if they were. The environments should have the following features:

Isolation from other Python environments on the machine (conda or venv both fit this)
A specific major Python version (e.g. 3.11 or 3.12)
A pyproject.toml and poetry.lock file fully specifying the dependencies of the environment and their precise versions. Python packages should not be installed using pip directly, but should instead be managed by Poetry.

Plan is for Yanlin to work on this, keeping it assigned to Pingping for now until she gets added to GitHub.

Closing as this was resolved by a separate PR earlier this week.


bug: Error: Should set security alert url.

Version
2.0.0
Current Behavior

Expected Behavior
Should work.
Steps to Reproduce
Just like README.md
Additional Information
No response

This issue was reproduce while working on #93.

This issue is no longer present after #93 was fixed by using pr-number instead of pr_number.  The security alert url error was a side effect of the misnamed parameter name, caused by the erroneous documentation.

Resolved in new version v2.0.1 now on the Marketplace


Suggestion for Deadlock issue fix

I finally managed to figure out how to merge from my fork.Thanks for being patient with me :)
Fixes deadlock issue

Thanks, that's great.


Installed according to manual install instructions, does not build

I am on RN 0.40.0 and can't get this working
I didn't understand what this means:
You will also need to modify the Run Script Phase that you likely added to Build Phases so that it points to the correct location for the Fabric framework.
I know how to add the library to the Link Binary With Libraries Build Phase and I also know how to add a new Run Phase. I tried adding a new Run Phase just above the Link Binary With Libraries and also tried adding it at the bottom of the Build Phases but neither seemed to have any effect, I still get this error
Undefined symbols for architecture i386:
  "_CLSNSLog", referenced from:
      -[SMXCrashlytics log:] in libSMXCrashlytics.a(SMXCrashlytics.o)
  "_OBJC_CLASS_$_Answers", referenced from:
      objc-class-ref in libSMXCrashlytics.a(SMXAnswers.o)
  "_OBJC_CLASS_$_CLSStackFrame", referenced from:
      objc-class-ref in libSMXCrashlytics.a(SMXCrashlytics.o)
  "_OBJC_CLASS_$_Crashlytics", referenced from:
      objc-class-ref in libSMXCrashlytics.a(SMXCrashlytics.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

As a last resort I tried react-native install react-native-fabric and rnpm install react-native-fabric but these don't work either. The only method I haven't tried is CocoaPods, but according to #85 this doesn't work either.
Is RN 0.40.0 supported? If so, what steps are required to install?
Thanks in advance!

Having the same issue on RN 0.40.0

Steps to fix:
Open finder and go to the project directory where you placed Fabric.framework and Crashlytics.framework, move these two files to your desktop and delete them and the Crashlytics folder you created if you did.
Open your project in xcode and drag the two files to your project's root directory and select create references and copy files if needed.
Add libz, libc++, SystemConfiguration.framework and Security.framework to the Link Binary with Libraries.
Linker flags should be $(inherited) and -ObjC
Run script should be something like
"${PROJECT_DIR}/Fabric.framework/run" aosid123u901nd oiasjdoiajhds10293u1noaifusf
I suggest updating the README.md

@saberking Did you install the Fabric SDK via the Fabric Application or CocoaPods first?

@corymsmith Actually I think I might have forgotten that step.  Sorry for the false issue. I might get time to look at this again, if I do I will update here

@saberking So you've got it working?
@octohedron And you got this working as well?

@corymsmith not tried again yet, too busy with other stuff. But yes you can assume it would work, if not I can let you know. Thanks :)

Ok, going to close this for now, we can reopen if needed.

@corymsmith yea I got it working but I would make installing instructions more clear and step by step like my post above.

it is now not working since I removed the fabric.framework from the folder because it happens from another issue does this library have stand alone version that we can only link this archive file from the compile time.

@octohedron This fixes the problem. Thanks

thanks @octohedron. +1 on adding to readme.


Chore: GraphQL organised by domains

Summary: To follow best practices as explained in the incubator/universe documentation
Closes #328

Waiting on #339  and #341 to be merged before fixing conflicts.

@tbergq @FilipMessa 🚀

Just a small naming correction - it's called "feature based", the prev one was "role based".


Tried to pull image manifest for registry-1.docker.io/arm64v8/openjdk:8 but failed because: manifest unknown

Environment:

Jib version:1.7.0
Build tool:apache-maven-3.6.1
OS: arm linux

OS name: "linux", version: "4.9.140-tegra", arch: "aarch64", family: "unix"
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:        18.04
Codename:       bionic

Description of the issue:
Failed to execute goal com.google.cloud.tools:jib-maven-plugin:1.7.0:build (default) on project xxx: Tried to pull image manifest for registry-1.docker.io/arm64v8/openjdk:8 but failed because: manifest unknown
jib-maven-plugin Configuration:
 <plugin>
                <groupId>com.google.cloud.tools</groupId>
                <artifactId>jib-maven-plugin</artifactId>
                <version>1.7.0</version>
                <configuration>
                    <from>
                        <image>arm64v8/openjdk:8</image>
                        <!-- <image>openjdk:alpine</image> -->
                    </from>
                    <container>
                        <mainClass>com.xxx.xxx.xxx</mainClass>
                        <jvmFlags>
                            <jvmFlag>-server</jvmFlag>
                        </jvmFlags>
                        <!--使用该参数将镜像的创建时间与系统时间对其-->
                        <useCurrentTimestamp>true</useCurrentTimestamp>
                    </container>
                    <!--如果私有镜像仓库没有启用https，设置allowInsecureRegistries参数为true-->
                    <allowInsecureRegistries>false</allowInsecureRegistries>
                    <to>
                        <image>docker.io/xxx/${project.artifactId}</image>
                        <tags>
                            <tag>${project.version}</tag>
                        </tags>
                        <auth>
                            <username>xxx</username>
                            <password>xxx</password>
                        </auth>
                    </to>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>build</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

Log output:
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  52.376 s
[INFO] Finished at: 2019-11-13T16:18:54+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.google.cloud.tools:jib-maven-plugin:1.7.0:build (default) on project xxx: Tried to pull image manifest for registry-1.docker.io/arm64v8/openjdk:8 but failed because: manifest unknown | If this is a bug, please file an issue at https://github.com/GoogleContainerTools/jib/issues/new: 404 Not Found
[ERROR] {"errors":[{"code":"MANIFEST_UNKNOWN","message":"manifest unknown"}]}
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :xxx

Hi @TuringZhai,
arm64v8/openjdk:8 is a manifest list ("mediaType": "application/vnd.docker.distribution.manifest.list.v2+json"), and Jib's current limited support for a manifest list to always choose amd64/linux among the list to ensure reproducibility even on building the image on different architectures. (For example, running Jib on Windows doesn't build a Windows image but instead builds a Linux image.) Of course, the manifest list arm64v8/openjdk:8 doesn't have amd64/linux, so Jib fails.
$ docker manifest inspect arm64v8/openjdk:8

{
   ...
   // This whole BLOB itself is a manifest list.
   "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
   "manifests": [
      {
         // This points to the manifest for the ARM64/Linux manifest.
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         ...
         "digest": "sha256:1fbd49e3fc5e53154fa93cad15f211112d899a6b0c5dc1e8661d6eb6c18b30a6",
         "platform": {
            "architecture": "arm64",
            "os": "linux",
            "variant": "v8"
         }
      }
   ]
}

As you can see, the list shows that the actual manifest for ARM64 is at sha256:1fbd49e3fc5e53154fa93cad15f211112d899a6b0c5dc1e8661d6eb6c18b30a6. So, as a workaround, you can directly specify the ARM64 manifest:
<from>
  <image>openjdk@sha256:1fbd49e3fc5e53154fa93cad15f211112d899a6b0c5dc1e8661d6eb6c18b30a6</image>
</from>

Of course, this is inconvenient and a hassle. For this matter, we do have an open issue for a feature to be able to specify an architecture and OS for a manifest list (#1567). That feature is precisely to support this use case. That is, I regard this issue as a duplicate of #1567.

Closing as a duplicate of #1567.

But I think it is reasonable to pick and use the first manifest entry in the manifest list if that is the only entry. This will cover a lot of use cases from Docker Hub. Currently, it is very cumbersome to figure out the actual manifest.

thank you！
i directly specify the ARM64 manifest:
<from>
  <image>openjdk@sha256:1fbd49e3fc5e53154fa93cad15f211112d899a6b0c5dc1e8661d6eb6c18b30a6</image>
</from>

Great! I will leave this open to make Jib automatically pick the manifest if it is the only one in the list.

I thought picking the single item in a manifest list would open us up to breakages if the manifest list ever expanded.

Then instead of doing that, perhaps we could just print a message like
"... is a manifest list, but the list does not contain an image manifest for amd64/Linux. If your intention was to use a non-amd64/Linux base image, see https://github.com/GoogleContainerTools/jib/issues/2148 to learn how to specify a manifest instead of a manifest list, until Jib fixes https://github.com/GoogleContainerTools/jib/issues/1567 to allow specifying architecture and OS."
I guess showing a more detailed helpful message won't hurt and doing nothing.

Should add to FAQ and then link to FAQ instead of this issue directly.

@xiaonaoer Jib Maven 2.5.2 and Jib Gradle 2.5.0 are released with limited support for configuring a platform to select the matching base image from a manifest list. Take a look at the FAQ "How do I specify a platform in the manifest list (or OCI index) of a base image?". I suggest using the new feature instead of using a digest in <from><image> to point to a specific manifest. Note you'll need to update <from><image> to point to a manifest list when using this feature.

@xiaonaoer Jib Maven 2.5.2 and Jib Gradle 2.5.0 are released with limited support for configuring a platform to select the matching base image from a manifest list. Take a look at the FAQ "How do I specify a platform in the manifest list (or OCI index) of a base image?". I suggest using the new feature instead of using a digest in <from><image> to point to a specific manifest. Note you'll need to update <from><image> to point to a manifest list when using this feature.

thanks


[JS] feat: Azure AI Search data source

Linked issues
closes: #1360 #1267 #1266 (issue number)
Details
Introducing a sample to showcase how to integrate the Azure AI Search data source.
Change details

Included scripts to create/delete index
Included Teams Test tool
Azure AI Search data source

Attestation Checklist

[x] My code follows the style guidelines of this project

I have checked for/fixed spelling, linting, and other errors

I have commented my code for clarity

I have made corresponding changes to the documentation (updating the doc strings in the code is sufficient)

My changes generate no new warnings

I have added tests that validates my changes, and provides sufficient test coverage. I have tested with:

Local testing
E2E testing in Teams

New and existing unit tests pass locally with my changes

Not sure if this is in the plan already but do we want to add this into the CONCEPTS docs to break down the components + outline steps on how to customize it (beyond restaurant data)?
I also managed to test the samples in Python without TestTool if we prefer excluding it!

Not sure if this is in the plan already but do we want to add this into the CONCEPTS docs to break down the components + outline steps on how to customize it (beyond restaurant data)?
I also managed to test the samples in Python without TestTool if we prefer excluding it!

Good point Lily. I'll open up a PR for this once all the implementations are checked in. Thanks for bringing this up.


Problems with the examples!

Hello! I'm trying to include your package in a project of mine, (recording an HTML page), but I have problems incorporating it.
I'm testing your examples and having trouble making them work. I either get the error :
Error: An 'executablePath' or 'channel' must be specified for 'puppeteer-core'     at assert (Project\Testing Phase\puppeteer-stream\node_modules\puppeteer-core\lib\cjs\puppeteer\util\assert.js:28:15), or I'm getting an empty output (there isn't any binary value in test.webm).
I've tried your example with an ts file and a js file and my npm packages are puppeteer, puppeteer-core and puppeteer-stream. I've even tried before installing puppeteer.
The code is a ctrl-c ctrl-v from examples/fils.js and this is my package.json:
{   "name": "puppeteer-stream",   "version": "1.0.0",   "description": "",   "main": "index.js",   "scripts": {     "test": "echo \"Error: no test specified\" && exit 1"   },   "author": "",   "license": "ISC",   "dependencies": {     "puppeteer": "^19.6.2",     "puppeteer-core": "^19.6.2",     "puppeteer-stream": "^2.1.4"   } }
Thank you very much!

you need to use the puppeteer package instead of puppeteer-core

@SamuelScheit
Seemed the package.json does that
https://github.com/SamuelScheit/puppeteer-stream/blob/ab31da559cd22513944698e79b45205fe0cc5e55/package.json#L24

Same here, but I'm not using puppeteer-core in any way:
/Users/alpharder/dev/soflyy/tutorials/node_modules/puppeteer-stream/node_modules/puppeteer-core/lib/cjs/puppeteer/util/assert.js:28
        throw new Error(message);
              ^

Error: An `executablePath` or `channel` must be specified for `puppeteer-core`
    at assert (/Users/alpharder/dev/soflyy/tutorials/node_modules/puppeteer-stream/node_modules/puppeteer-core/lib/cjs/puppeteer/util/assert.js:28:15)
    at ChromeLauncher.launch (/Users/alpharder/dev/soflyy/tutorials/node_modules/puppeteer-stream/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ChromeLauncher.js:92:36)

Node.js v19.7.0

@alpharder I found the issue, I'm using puppeteer-core for the launch method and it is missing the executable path.
If you are using puppeteer you can get the path to chromium with the puppeteer.executablePath() function.
e.g.
const puppeteer = require("puppeteer")
const { launch, getStream } = require("puppeteer-stream")

async function test() {
	const browser = await launch({
	        executablePath: puppeteer.executablePath()
		// ...
	});
// ...
}

test();


Support iron types for avro4s schema

Hello everyone :wave:
First of all, thanks a lot for this lib, that's a amazing alternative of refined for our usages at @CleverCloud.
Especially we are using avro4s with iron types and made a binding between them, it allows avro4s to generate avro schemas for iron types.
Are you interested in a PR of this binding ?

Hello.
Indeed I am interested in a PR to support avro4s. 😁

@arendsyl I'm migrating to iron from refined and I'm struggelng with creating the Avro4s bindings for iron. Can you share your Avro4s bindings?