add PySparkOvertimeMonitor to avoid exceeding time budget

@thinkall

Why are these changes needed?
For very large dataset that takes very long time to complete a trial, the actual running time may be way longer than the time budget. It's usually the case that when the time budget is about to run out, a new trial is still started, and the current manage system will need to wait till the new trial is completed. In the worst case, the actual running time will be time budget plus time for a trial. For large dataset this extra time cost is unacceptable.
To make the time cost meet the time budget requirement, let me introduce PySparkOvertimeMonitor. It's a context manager that creates a monitor thread to terminate Spark jobs in time when the running time has exceeded the time budget. When the running jobs are cancelled, you can still fetch the last finished result.
You can set the argument force_cancel to be True in automl settings to enable the monitor. It's set to False by default.
    automl_experiment = AutoML()
    automl_settings = {
        ...,
        "force_cancel": True,
    }

    automl_experiment.fit(**automl_settings)

I put PySparkOvertimeMonitor in the flaml.tune.spark.utils. Acting as a context manager, I wrapped the running parts of both sequential and spark parallel in flaml.tune with it. Don't worry, it will not function if the force_cancel is set to False or the Spark is not installed.
with PySparkOvertimeMonitor(time_start, time_budget_s, force_cancel, parallel=parallel):
    results = parallel(
            delayed(evaluation_function)(trial_to_run.config)
            for trial_to_run in trials_to_run)

with PySparkOvertimeMonitor(time_start, time_budget_s, force_cancel):
    result = evaluation_function(trial_to_run.config)

I also wrote a test called test_overtime in test/spark/test_overtime.py . In this test file you can see the actual running time only exceeds the time budget by 0.2s.

Checks

[x] I've used pre-commit to lint the changes in this PR, or I've made sure lint with flake8 output is two 0s.
[] I've included any doc changes needed for https://microsoft.github.io/FLAML/. See https://microsoft.github.io/FLAML/docs/Contribute#documentation to build and test documentation locally.
[x] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[x] I've made sure all auto checks have passed.

@microsoft-github-policy-service agree [company="Microsoft"]

@microsoft-github-policy-service agree company="Microsoft"

@microsoft-github-policy-service agree company="Microsoft"

@levscaut Thank you for the contribution!
Could you remove the file automl_pyspark_df.py:Zone.Identifier
https://github.com/microsoft/FLAML/actions/runs/4192036436/jobs/7267230259#step:2:425

Also, please remove unnecessary changes in test folders, only check in your code/docs changes.

@thinkall Thanks for the advice! I have committed a cleaner version.

A test on macos failed: https://github.com/microsoft/FLAML/actions/runs/4219786733/jobs/7325478207#step:6:84
@levscaut could you fix it? Thanks.

FAILED test/nlp/test_autohf.py::test_hf_data - ZeroDivisionError: float division by zero
FAILED test/spark/test_overtime.py::test_overtime - assert 1.2553856372833252 < 1
 +  where 1.2553856372833252 = abs((11.255385637283325 - 10))

in https://github.com/microsoft/FLAML/actions/runs/4220014982/jobs/7325940952


Invalid route

Hi,
Isnt this route wrong? shouldnt it be <IP_ADDRESS>?
https://github.com/kylemanna/docker-openvpn/blob/73f8b02172a786937028b207621d1ddae71cb633/bin/ovpn_genconfig#L292

Actually i guess this option isn't needed as "server <IP_ADDRESS>.0" adds the route anyway..
Just wondering why we add a route for a subnet that doesn't exist?

It's for clients with static-ips.
https://github.com/kylemanna/docker-openvpn/blob/83b939456e5432ded267b2f08309b257affa2a03/docs/static-ips.md


Launch Gemini application: file-level similarity

Parent objective:  #9
Progress: 0%

[ ] [P0] Formally launch Gemini as a standalone application of our stack
[ ] [P0] Run on a single machine, for small number of repositories
[ ] [P1] Run on Apache Spark cluster, for full PGA
[ ] [P2] Run on Apache Spark cluster, for full world dataset

[OKRs Review]
Removed:

Another idea: align \w DR KRs on Engine perf #17 in form of K% overhead on top of Engine

Run on Apache Spark cluster, for full dataset

Finish work, that has been started 2018Q1 and is covered in DesignDoc

Gemini as of v 0.0.3 has all the necessary features for the release.
Few usability improvements are pending, before cutting actual v0.1. Initial work on running it over PGA has been started at pipeline cluster.

End of 2018Q2:

v0.1.0 released, implementing file-level similarity
added intermediate results on PGA run to the description


Minor fixes for validation.

Added fix for input document validation
Automatic resolve for  yes|no to true|false

/azp run

/azp run

❤

/azp run


Can you refer to China's code cloud (https://gitee.com) to add DevOps functionality?

Can you refer to China's code cloud (https://gitee.com) to add DevOps functionality?

Gitea is not related with gitee.com


This should fix all deadlocks/segfaults/aborts past, present and future... or not :smiling_face_with_tear:
NOTE: This lives in parallel to the already existing ALL_RECORDINGS thingy, which is still needed to avoid killing and joining threads at a bad time.
Checklist

[x] I have read and agree to Contributor Guide and the Code of Conduct
[x] I've included a screenshot or gif (if applicable)
[x] I have tested the web demo (if applicable):

Using newly built examples: app.rerun.io
Using examples from latest main build: app.rerun.io
Using full set of examples from nightly build: app.rerun.io

[x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG

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

This feels like it might be a better implementation of the attempted workaround that existed in buffered_client:

https://github.com/rerun-io/rerun/blob/jleibs/proper_clear_containers/crates/re_sdk_comms/src/buffered_client.rs#L185-L204

I suspect this means that code can go away and stuff can be safely dropped after packet sending instead of shuffling off to yet-another thread.

This feels like it might be a better implementation of the attempted workaround that existed in buffered_client:
* https://github.com/rerun-io/rerun/blob/jleibs/proper_clear_containers/crates/re_sdk_comms/src/buffered_client.rs#L185-L204

I suspect this means that code can go away and stuff can be safely dropped after packet sending instead of shuffling off to yet-another thread.

Nice catch, it's gone :partying_face:


feat(postage): use gas limit for transactions

Checklist

[x] I have read the coding guide.
[ ] My change requires a documentation update, and I have done it.
[x] My change requires updating the Open API specification and/or changing its version, and I've done it.
[x] I have added tests to cover my changes.
[x] I have filled out the description and linked the related issues.

Description
Allow user to set gas limit for postage transactions using HTTP Header. This is existing functionality that is being used in the swap package. We will enable it for the postage contract as well.
As part of the changes, I have also updated the OpenAPI spec. Seems like the current spec did not show the Gas-Price header parameter. Updated it now to show both the options.
Closes #3343

This change is

@aloknerurkar
Instead of setting gas price and gas limit to context in each handler, we should do it in the middleware level so it becomes available to all handlers at once.

this is great, thanks


Composition Revision Support

ok --revise will submit revisions.

This will be deployed in 1.6.7 (which will also disable the hinting protocol on unsupported assignments)


Type widened prematurely in catch

🔎 Search Terms
"type widening", "try-catch"
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about try-catch

⏯ Playground Link
https://www.typescriptlang.org/play?ts=5.5.0-dev.20240328#code/IYZwngdgxgBAZgV2gFwJYHsIwCboO4QA26w2AFCOggE5QCmAXDCMtahAOYwA+MASnRAAHTCDoBKJgAVq6ALaoxAHhZtOAPhgBvAFAwYqODDLIwQuuiOUa9GAF4HMAESr2HJ+O179MVmC8+Pta0dPYwwHjAqMjwdMhQABYUVCHiANze+gC+MFDA8QnGdNSy1J66gfrB9BkA9LWBAHoA-Jk+yAmyeDDFpRmBWd6D3tRxNFgRUTHVdAB0yHQAHshk6TpZQA
💻 Code
async function download(source: string | Response): Promise<string> {
  if (typeof source === "string") {
    try {
      source = await fetch(source);
    } catch (error) {
      source;
//    ^? (parameter) source: string | Response
      throw error;
    }
  }

  return await source.text();
}

🙁 Actual behavior
When reassigning a variable inside a try block, the type of the variable is widened inside the catch block even if the assignment cannot have taken place if an error was thrown. In this example the source can only be a string inside the catch block, but the compiler is treating it as string | Response.
🙂 Expected behavior
The type of the variable is only widened if the assignment could have taken place before the error was thrown.
Additional information about the issue
No response

We don't do any analysis of what operations "could"/"could not" have generated exceptions, including the special case of zero operations, since this comes up fairly rarely, is expensive, and would cause some "Well it works if I hold it this way but not this way" confusion where people assume that operations which actually can throw (property access, etc) cannot.

Fair enough!


24h Display wrong change at midnight

an other thing I noticed yesterday that at after midnight after 23:59 it continued with 24:00
thats simply wrong or at least its not conform with standard definition auf 24h.
it should continue with 00:00 or 0:00. I never had a clock or watch which showed 24:59 and then jumped to 01:00 ;)

lol, yet another ESP32 diff. If you discover the cause, let us know :)
On Sat, Oct 26, 2019 at 2:10 AM helmarw<EMAIL_ADDRESS>wrote:

an other thing I noticed yesterday that at after midnight after 23:59 it
continued with 24:00
thats simply wrong or at least its not conform with standard definition
auf 24h.
it should continue with 00:00 or 0:00. I never had a clock or watch which
showed 24:59 and then jumped to 01:00 ;)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dragondaud/myClock/issues/16?email_source=notifications&email_token=AGM5GPSJFBYH5FTJOOTIW5DQQP3P5A5CNFSM4JFMKXV2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HUQZWPQ,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGM5GPV75OQA4FYVUP6K44LQQP3P5ANCNFSM4JFMKXVQ
.

--
david denney
dragondaud AT gmail DOT com
719-821-8900

i don't know something wrong with the code somewhere, sell why should that be related to ESP32 ?
and how the hell do you get it to run on an ESP8266 ??
again crude but effective workaround:
if (hh > 23) hh = 0;


postgres/mysql for user testing on Binder

when reviewing pull requests, we often run some user testing: we open a notebook and test the feature to look for edge cases. in some cases, using duckdb or sqlite is enough, but in others (example https://github.com/ploomber/jupysql/pull/91) it's important to test with other databases like postgres or MySQL.
the fastest way to test stuff is via Binder, since it spins up Jupyter. However, there is no postgres/mysql in Binder. so we should consider adding it.
we can add some scripts and add them to the repo, so whenever we want to test posgres/mysql,  we can run them on binder to spin up a database

on binder, we don't have sudo access but we can install posgres with conda: https://gist.github.com/gwangjinkim/f13bf596fefa7db7d31c22efd1627c7a

created one for postgres: https://github.com/ploomber/contributing/blob/main/notes/local-postgres-install.ipynb we're still missing one for mysql

closing in favor of https://github.com/ploomber/jupysql/issues/248


Typing for custom components

I'm trying to add some custom components for rendering certain elements.
I'm getting a Typescript error which I believe to be a typing error on the react-remark side, though maybe it's something I'm doing wrong.
lib/markdown.tsx:37:11 - error TS2322: Type 'FC<ArbitraryLinkProps>' is not assignable to type 'ComponentLike<ReactElement<{}, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>>'.
  Types of parameters 'props' and 'props' are incompatible.
    Type 'ComponentProps' has no properties in common with type 'PropsWithChildren<ArbitraryLinkProps>'.

Should I not be using React.FC in this case?

That typing is coming from https://github.com/remarkjs/remark-react
it should be compatible with FC https://github.com/rehypejs/rehype-react/blob/414e4becae174fc3edcdfb458a45a4ae878e7f46/types/rehype-react-test.tsx#L32-L57
Could you share the source of the component and how you attached it to react-remark?

My ArbitraryLink component is like this:
import Link from "next/link";
import isLocal from "../utils/is-local"; // This is (string) => boolean, says if a link is local or not
export type ArbitraryLinkProps = React.HTMLProps<HTMLAnchorElement>;
export const ArbitraryLink: React.FC<ArbitraryLinkProps> = ({ href, ...props }) => {
  if (href != null && isLocal(href)) {
    return (
      <Link href={href}>
        <a {...props} />
      </Link>
    );
  }
  return <a href={href} {...props} />;
};

I attached it like this:
<Remark
  rehypeReactOptions={{
    components: {
      a: ArbitraryLink,
    },
  }}
>
  {markdownSource}
</Remark>

A component being passed to rehype-react needs to include a node property
https://github.com/rehypejs/rehype-react/blob/414e4becae174fc3edcdfb458a45a4ae878e7f46/types/index.d.ts#L10-L15
it requires node to be on the typing, to prevent a conflicting node typing which could cause a crash
with the current typing,
export type ArbitraryLinkProps = React.HTMLProps<HTMLAnchorElement> & { node?: unist.Node};

should work.
If you want to offer an alternative typing, a PR to https://github.com/rehypejs/rehype-react could be an option

Should that appear in the example custom component in the readme, then?

The example in the readme is valid typescript
https://codesandbox.io/s/tender-fog-rd8gf?file=/src/App.tsx
and is the way I would personally recommend typing elements.
I also want to avoid overloading the readme with too many specific edge cases.
If you want to add it, a PR giving an example of a custom component in typescript in the storybook stories would be welcome.

I guess we have different settings; I get warnings about implicit "any" and missing display name.
Thanks for your help.

:raised_eyebrow: Maybe? I have strict mode and no implicit any on and don't see that error
https://codesandbox.io/s/elegant-jones-pg8u9

You get the "implied any" if you take it out of the context of that
options object, which you'd want to do (or I would at least) if it's
anything more than a couple of lines long.
https://codesandbox.io/s/hardcore-hellman-ws9ic

Gotcha, that makes sense.
A PR adding an example of this to storybook would be welcome!

components: {
      "documentation-page": DocumentationPage,
      "info-box": InfoBox,
      "copyright-notice": CopyrightNotice,
    },

I'm interested by doing something like this @ChristianMurphy, any possibility? maybe I could use https://github.com/marekweb/rehype-components

@imclint21 your question is unrelated to the above, you are adding new intrinsic elements.
react-remark, rehype-react, react-markdown, and mdx all support this through extensions of the React intrinsic.
You can find more on that here: https://goulet.dev/posts/consuming-web-component-react-typescript/
If you have follow up questions please open a discussion with more context https://github.com/orgs/remarkjs/discussions/new?category=q-a


[FLINK-7653] Properly implement Dispatcher#requestClusterOverview

What is the purpose of the change
This commit implements the ClusterOverview generation on the Dispatcher. In
order to do this, the Dispatcher requests the ResourceOverview from the
ResourceManager and the job status from all JobMasters. After receiving all
information, it is compiled into the ClusterOverview.
Note: StatusOverview has been renamed to ClusterOverview
Verifying this change
Tested the changes manually.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

Thanks for the review @zentol. Rebasing onto the latest master and merging after Travis gives green light.


i would like suggest add the function of electronic invoice

Hello,
First, I would like to congratulate this idea of project! Nice!
I would like suggest add the function of electronic invoice.
Based on the 44-character code of an electronic key, to create one function to idnetify the type of document, for example:
Link: https://www.oobj.com.br/bc/article/como-é-formada-a-chave-de-acesso-de-uma-nf-e-nfc-e-de-um-ct-e-e-um-mdf-e-281.html

Hello @svjr. I'm happy with your feedback, thanks!
About your idea, I really don't know what is it, I'm tried to read and I didn't understand to much... Can you explain your idea to us? I think that we can discuss and do something from that.

Hello hyanmandian!
So, in Brazil I fear the electronic invoice composed of 44 characters. There is a rule for the formation of each part of this character set.
See the example:
51080701212344000127550010000000981364112281
(02 digits) *** State code (UF) of the issuer
(04 digits) *** Year and month of issue of the NF-e (in AAMM format)
(14 digits) *** CNPJ of the NF-e issuer (CNPJ of your company)
(02 digits) *** NF-e model
(03 digits) *** NF-e series
(09 digits) *** NF-e number
(09 digits) *** NF-e code - Number generated by the system
(01 digits) *** Checksum - DV (Calculation in module 11).
My initial suggestion was to create features that could read and extract this information.
There are numerous types of electronic invoices, see:
Electronic Invoice (NFe) - model 55
Electronic Consumer Invoice (NFCe) - model 65
Electronic Bill of Lading (CTe) - model 57
Electronic Manifesto of Tax Documents (MDFe) - model 58
Here are some links that explain it a little better:
http://www.sistemaunico.com.br/arquivos/manuais/chave_nfe.pdf
https://bsoft.com.br/blog/tipos-de-documentos-fiscais-eletronicos

hyanmandian,
I developed the nf utility for the project ...
it finds in my repository, if it finds it pertinent, it can trigger a pull request.
https://github.com/svjr/brazilian-utils/tree/master/src/utilities/nf

Wow! Nice @svjr! I saw your fork and what awesome job! Please, do a pull request, we appreciate your contribution.


[Question] Behaviour when changing settings file external

At the moment I can change the settings file in an external app and wt updates its behaviour automatically. I don't have to close it before editing settings file.
Will this behaviour change after the changes for/implenting the settings ui? So is it necessary to close wt before backup/restore/change settings file in the future?

No, this behavior is not going to change. Is there any reason in particular you think it might?

No, this behavior is not going to change. Is there any reason in particular you think it might?

I read something that you did changes on the settings backend/handling behind the ui. So I thought it could change.

I read something that you did changes on the settings backend/handling behind the ui. So I thought it could change.

Closed because question is answered. - Thank you.

Closed because question is answered. - Thank you.


Critical dependency: require function is used in a way in which dependencies cannot be statically extracted

Getting below error after creating app with next js and supabase
⚠ ../node_modules/node-gyp-build/index.js
Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
Import trace for requested module:
../node_modules/node-gyp-build/index.js
../node_modules/bufferutil/index.js
./node_modules/ws/lib/buffer-util.js
./node_modules/ws/lib/receiver.js
./node_modules/ws/wrapper.mjs
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>./utils/supabase/server.ts
./app/login/page.tsx

@aimagination-dev which version of realtime-js are you on? this should be fixed with v2.9.1.

I have latest version of realtime-js but still hitting the issue
"dependencies": {
"@supabase/auth-helpers-nextjs": "^0.8.7",
"@supabase/auth-ui-react": "^0.4.6",
"@supabase/auth-ui-shared": "^0.1.8",
"@supabase/realtime-js": "^2.9.1",
"@supabase/supabase-js": "^2.39.2",


ShopPayButton now accepts storeDomain prop

ShopPayButton can now receive a storeDomain prop. Updated the demo store to make it work.
WHY are these changes introduced?
Part of: https://github.com/Shopify/hydrogen/issues/629
Solves:
https://github.com/Shopify/hydrogen/issues/487
HOW to test your changes?
Go to a product in the demo store and click on Shop Pay button. It should open the Shop checkout
Post-merge steps
There are other component relying on ShopifyProvider
Checklist

[x] I've read the Contributing Guidelines
[x] I've considered possible cross-platform impacts (Mac, Linux, Windows)
[ ] I've added a changeset if this PR contains user-facing or noteworthy changes
[x] I've added tests to cover my changes
[x] I've added or updated the documentation

Added @juanpprieto in a commit since I copied some of this code from: https://github.com/Shopify/hydrogen-react/pull/122

Working oxygen deployment at: https://bwcgr1r9v-f1f4fa724b7467f41f07.myshopify.dev/
Seems we have some turbo cache issues


Finish trip planner frontend

This was tracked in my head but it fell off my radar so it makes sense to track it explicitly I think. The trip planner frontend is the only mode that is completely unusable right now. Whereas the others are just missing ETAs and a decent nav experience, the trip planner is completely lacking because it doesn't display steps at all, only polylines representing each sub-trip.

I think this was resolved in https://github.com/headwaymaps/headway/pull/200 (assuming by trip planner frontend you mean the OTP frontend).
Let me know if you intended something else by this!


Multiple custom recognizers is not working

Currently, adding multiple recognizers to the same element ends up in a last in wins.
If you need to create custom recognizers, you can put 1 per element.
This can be repro'd via your demo

I run into the same trouble. If I define a list with tap and pan, only pan is recognized.

I run into the same trouble.

Any news about this ?


Consider moving original ImageJ command search results to their own tree branch

It would be nice if the ImageJ command results and SciJava module results were not mixed together under a single "Commands" tree branch. Solving #284 would help mitigate the confusion, making this issue less of a concern to me, but I think even with icons it would be nice to separate them out. Alternately, we could make each branch have an icon, and separate the original ImageJ commands to their own branch, which I think would be clear enough. We can strike a balance between ease of implementation versus reducing ambiguity and user confusion.

@ctrueden I assume this is also a problem in Fiji, yeah? napari-imagej doesn't do anything special with search result categories, there's just a single category for each Searcher implementation. Shouldn't we fix it upstream?

In practice, it's not a problem in Fiji because you can differentiate them via the icons—hence my linking to #284 here. But yeah, changes on the Java side might be warranted here: e.g. if we were to finish tackling imagej/imagej-legacy#264, it would change the dynamics of ImageJ vs SciJava commands under the hood, and probably we would want corresponding changes to the searchers to account for that. Are you OK with leaving this issue open on the napari-imagej side until it becomes viable for users to tell the difference between original ImageJ commands and SciJava modules? I'll change the title accordingly.

As of #290, icons are shown on search results. @ctrueden do you want to file any issues upstream to cover topics we have not yet addressed?


Hover menu disappears when I move it to the top or bottom of the screen.

As the title, it disappears without being retrievable, although the left and right sides of the screen work very well, thank you. Sorry about my English.
Video description:
https://youtu.be/fuzfx4zt9f4

I modified the source code, in the "InWindowDragger" file, I added the following code
if (motionEvent.getRawY() > 100 && getMaxRawY() - motionEvent.getRawY() > 100) {
                                moveDragViewTo(mCurrentViewPosition);
                                mDragListener.onDragTo(mCurrentViewPosition.x, mCurrentViewPosition.y);
 }
and getMaxRawY() is:
 private Point mDisplaySize;
 public int getMaxRawY() {
        if (mDisplaySize == null) {
            mDisplaySize = new Point();
            mWindowViewController.getWindowManager().getDefaultDisplay().getSize(mDisplaySize);
        }
        return mDisplaySize.y;
   }
This is a trick and it seems to be not working smoothly when the user moves the "Hover menu", although it helps the user does not move the "Menu" to the outside of the screen.
This is my temporary solution while waiting for the author of this library to fixed the bug. Thank you!

I've resolved this problem, please check for the commit here

@since2014 Thank you so much! This works perfectly. You are a good contributor!

@since2014 and @nguyenvuhuy I addressed this issue by updating the logic in SideDock so that the dock position is always constrained within the top and bottom of the screen area.  The change for this issue will appear in the next release.


what versions are supported?

I can't find in ReadMe what environments are supported please? Clouds? AWS, MSFT, GCP, and on-premise? Evrth? And what RHEL versions 6to7, 7to8, 8to9? Does it work for clusters? vanilla RHEL only or for example SAP too? =) As a user, the supported environment/scenarios would be my first question when checking on it.

Hi Irina, thank you for raising the issue. This is good feedback.
We can certainly cover these questions in the README. For example, we should make it clear that the collection does work for RHEL upgrades 6to7, 7to8, and 8to9.
As far as the other questions, I guess we are kind of depending on users understanding what is supported by reading the Red Hat docs covering those topics. After all, the collection doesn't actually "do" the upgrades, but rather, is a convenient wrapper to automate the underlying tools that do, i.e., RUT in the case of 6to7 and Leapp for 7to8 and later.
Let me take a crack at updating the README to better address these questions or at least point users at the appropriate docs for the ultimate source of truth. I'll tag you in the PR to review. Thanks!

I wonder if we should just link the access articles that explain which versions that way we are not constantly updating it to match

hey, any update please?

I opened PR #139. Let me know if this works for you?


Status returned in Exception has changed from before, when batch insert with large property size is done.

Which service(blob, file, queue, table) does this issue concern?
Table
Which version of the Azurite was used?
3.22.0
Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)
npm
What's the Node.js version?
v18.14.2
What problem was encountered?
We were have tests to check scenario for Insert operation in Azure Table Storage.
Scenario is:
We want to insert a batch of rows which have a large property size.
The behavior we expect is that, the Insert operation should fail with
Errorcode: PropertyValueTooLarge, and
Status: 413 (The request body is too large and exceeds the maximum permissible limit.)
But now when we migrated from Azure Table Storage to Azurite we are seeing the following exception details:
Errorcode: PropertyValueTooLarge and
Status: 413 (Payload Too Large)
Our tests failed because there is a change in Status, Just wanted to ask why there is a change in status
and if actual Azure Table Storage gives this new status as well, If not then can this be reverted in Azurite as well so that it
resembles Azure Table Storage in this respect.
Steps to reproduce the issue?
Created a sample table, then follow the below code to create records with large property size
and try inserting them into Azure Table storage. This will throw the exception with above mentioned details.
var partitionKey = "Some dummy Partition key";
var rows = new ITableRecord[50];
  for (var i = 0; i < rows.Length; i++)
  {
      rows[i] = azureTableReaderWriter.NewRecord(
          partitionKey,
          DataHelper.NewRowKey());

      // Add a property to exceed the allowed batch size
      // in a batch insert.
      rows[i].Properties.Add(
          "propertyname",
          new string('*', 1024 * 1024));
  }

await AzureTableStorage.BatchInsert(rows);
// Sample function that inserts batch rows into azure table storage.

If possible, please provide the debug log using the -d parameter, replacing <pathtodebuglog> with an appropriate path for your OS, or review the instructions for docker containers:
-d "<pathtodebuglog>"

Please be sure to remove any PII or sensitive information before sharing!
The debug log will log raw request headers and bodies, so that we can replay these against Azurite using REST and create tests to validate resolution.
Message thrown by Azurite:
"The request   body is too large and exceeds the maximum permissible   limit.\nRequestId:771f8a73-901a-4ae4-8368-751f93f2df1a\nTime:2023-03-09T13:55:19.326Z\r\nStatus:   413 (Payload Too Large)\r\nErrorCode:   RequestBodyTooLarge\r\n\r\nContent:\r\n{\"odata.error\":{\"code\":\"RequestBodyTooLarge\",\"message\":{\"lang\":\"en-US\",\"value\":\"The   request body is too large and exceeds the maximum permissible   limit.\\nRequestId:771f8a73-901a-4ae4-8368-751f93f2df1a\\nTime:2023-03-09T13:55:19.326Z\"}}}\r\n\r\nHeaders:\r\nServer:   Azurite-Table/3.22.0\r\nx-ms-error-code: REDACTED\r\nx-ms-request-id:   771f8a73-901a-4ae4-8368-751f93f2df1a\r\nx-ms-version: REDACTED\r\nDate: Thu,   09 Mar 2023 13:55:19 GMT\r\nConnection: keep-alive\r\nKeep-Alive:   REDACTED\r\nTransfer-Encoding: chunked\r\nContent-Type: application/json;   odata=minimalmetadata; streaming=true; charset=utf-8\r\n"

Message thrown by Azure Storage Emulator:
"The request body is too large and exceeds the maximum permissible limit.\nRequestId:eee6a7e9-43df-4766-ad03-df3ca32ff512\nTime:2023-03-09T18:06:06.9707435Z\r\nStatus: 413 (The request body is too large and exceeds the maximum permissible limit.)\r\nErrorCode: RequestBodyTooLarge\r\n\r\nContent:\r\n{\"odata.error\":{\"code\":\"RequestBodyTooLarge\",\"message\":{\"lang\":\"en-US\",\"value\":\"The request body is too large and exceeds the maximum permissible limit.\\nRequestId:eee6a7e9-43df-4766-ad03-df3ca32ff512\\nTime:2023-03-09T18:06:06.9707435Z\"}}}\r\n\r\nHeaders:\r\nServer: Windows-Azure-Table/1.0,Microsoft-HTTPAPI/2.0\r\nx-ms-request-id: eee6a7e9-43df-4766-ad03-df3ca32ff512\r\nx-ms-version: REDACTED\r\nx-ms-error-code: REDACTED\r\nDate: Thu, 09 Mar 2023 18:06:06 GMT\r\nContent-Length: 239\r\nContent-Type: application/json\r\n"

Have you found a mitigation/solution?
No.

@PrasantJillella
As I see from your comments, it looks the error from Azurite and your expectation has same status code (413) and ErrorCode, only different on error message. (Please correct me if not)
If so, your code should not based on the error message, since this is not stable and might change.
Besides that, would you please share the debug log (hide credentail) for the failed batch request if need further investigation from us?

The behavior we expect is that, the Insert operation should fail with
Errorcode: PropertyValueTooLarge, and
Status: 413 (The request body is too large and exceeds the maximum permissible limit.)
But now when we migrated from Azure Table Storage to Azurite we are seeing the following exception details:
Errorcode: PropertyValueTooLarge and
Status: 413 (Payload Too Large)

We have changed the status codes, and they might change again, depending on how the service behaves, we try to stay in parity with the service.

@PrasantJillella
As I see from your comments, it looks the error from Azurite and your expectation has same status code (413) and ErrorCode, only different on error message. (Please correct me if not) If so, your code should not based on the error message, since this is not stable and might change.
Besides that, would you please share the debug log (hide credentail) for the failed batch request if need further investigation from us?

Hi
Yes the concern was regarding the changed message in the status field. We already have raised a changed to use ErrorCode but it would really be appreciated if the 'Message' field reflects the same value as before since that is still used in Azure Table Storage.
Added logs for reference:
Loga emitted by Azurite
ure 1 matched.
2023-03-15T09:57:15.076Z 8011b3a2-1198-4dd3-9bea-aa82b7dd8fcd verbose: DeserializerMiddleware: Start deserializing...
2023-03-15T09:57:15.076Z 8011b3a2-1198-4dd3-9bea-aa82b7dd8fcd info: HandlerMiddleware: DeserializedParameters={"version":"2020-12-06","options":{"requestId":"15d67b70-4226-4f73-8bd9-d9472dac63af","dataServiceVersion":"3.0"},"multipartContentType":"multipart/mixed; boundary=batch_fc214776-3003-49d0-9928-a56f0cb7ccd1","contentLength":52457238,"body":"ReadableStream"}
2023-03-15T09:57:15.079Z 8011b3a2-1198-4dd3-9bea-aa82b7dd8fcd error: ErrorMiddleware: Received a MiddlewareError, fill error information to HTTP response
2023-03-15T09:57:15.080Z 8011b3a2-1198-4dd3-9bea-aa82b7dd8fcd error: ErrorMiddleware: ErrorName=StorageError ErrorMessage="The request body is too large and exceeds the maximum permissible limit."  ErrorHTTPStatusCode=413 ErrorHTTPStatusMessage=undefined ErrorHTTPHeaders={"x-ms-error-code":"RequestBodyTooLarge","x-ms-request-id":"8011b3a2-1198-4dd3-9bea-aa82b7dd8fcd","x-ms-version":"2021-12-02"} ErrorHTTPBody="{\"odata.error\":{\"code\":\"RequestBodyTooLarge\",\"message\":{\"lang\":\"en-US\",\"value\":\"The request body is too large and exceeds the maximum permissible limit.\\nRequestId:8011b3a2-1198-4dd3-9bea-aa82b7dd8fcd\\nTime:2023-03-15T09:57:15.077Z\"}}}" ErrorStack="\"StorageError: The request body is too large and exceeds the maximum permissible limit.\\n    at StorageErrorFactory.getRequestBodyTooLarge (C:\\\\Users\\\\sjillella\\\\source\\\\Azurite\\\\dist\\\\src\\\\table\\\\errors\\\\StorageErrorFactory.js:117:16)\\n    at TableHandler.batch (C:\\\\Users\\\\sjillella\\\\source\\\\Azurite\\\\dist\\\\src\\\\table\\\\handlers\\\\TableHandler.js:489:49)\\n    at C:\\\\Users\\\\sjillella\\\\source\\\\Azurite\\\\dist\\\\src\\\\table\\\\generated\\\\middleware\\\\HandlerMiddlewareFactory.js:58:18\\n    at C:\\\\Users\\\\sjillella\\\\source\\\\Azurite\\\\dist\\\\src\\\\table\\\\generated\\\\ExpressMiddlewareFactory.js:77:63\\n    at Layer.handle [as handle_request] (C:\\\\Users\\\\sjillella\\\\source\\\\Azurite\\\\node_modules\\\\express\\\\lib\\\\router\\\\layer.js:95:5)\\n    at trim_prefix (C:\\\\Users\\\\sjillella\\\\source\\\\Azurite\\\\node_modules\\\\express\\\\lib\\\\router\\\\index.js:328:13)\\n    at C:\\\\Users\\\\sjillella\\\\source\\\\Azurite\\\\node_modules\\\\express\\\\lib\\\\router\\\\index.js:286:9\\n    at Function.process_params (C:\\\\Users\\\\sjillella\\\\source\\\\Azurite\\\\node_modules\\\\express\\\\lib\\\\router\\\\index.js:346:12)\\n    at next (C:\\\\Users\\\\sjillella\\\\source\\\\Azurite\\\\node_modules\\\\express\\\\lib\\\\router\\\\index.js:280:10)\\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\""
2023-03-15T09:57:15.080Z 8011b3a2-1198-4dd3-9bea-aa82b7dd8fcd error: ErrorMiddleware: Set HTTP code: 413
2023-03-15T09:57:15.080Z 8011b3a2-1198-4dd3-9bea-aa82b7dd8fcd error: ErrorMiddleware: Set HTTP Header: x-ms-error-code=RequestBodyTooLarge
2023-03-15T09:57:15.080Z 8011b3a2-1198-4dd3-9bea-aa82b7dd8fcd error: ErrorMiddleware: Set HTTP Header: x-ms-request-id=8011b3a2-1198-4dd3-9bea-aa82b7dd8fcd
2023-03-15T09:57:15.080Z 8011b3a2-1198-4dd3-9bea-aa82b7dd8fcd error: ErrorMiddleware: Set HTTP Header: x-ms-version=2021-12-02
2023-03-15T09:57:15.080Z 8011b3a2-1198-4dd3-9bea-aa82b7dd8fcd error: ErrorMiddleware: Set content type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8
2023-03-15T09:57:15.080Z 8011b3a2-1198-4dd3-9bea-aa82b7dd8fcd error: ErrorMiddleware: Set HTTP body: "{\"odata.error\":{\"code\":\"RequestBodyTooLarge\",\"message\":{\"lang\":\"en-US\",\"value\":\"The request body is too large and exceeds the maximum permissible limit.\\nRequestId:8011b3a2-1198-4dd3-9bea-aa82b7dd8fcd\\nTime:2023-03-15T09:57:15.077Z\"}}}"
2023-03-15T09:57:15.081Z 8011b3a2-1198-4dd3-9bea-aa82b7dd8fcd info: EndMiddleware: End response. TotalTimeInMS=8 StatusCode=413 StatusMessage=Payload Too Large Headers={"server":"Azurite-Table/3.22.0","x-ms-error-code":"RequestBodyTooLarge","x-ms-request-id":"8011b3a2-1198-4dd3-9bea-aa82b7dd8fcd","x-ms-version":"2021-12-02","content-type":"application/json;odata=minimalmetadata;streaming=true;charset=utf-8"}

Hi
Checking back to see if the plan was to update the StatusMessage to reflect what is present in Prod Azure Table Storage.
Thank you.

@PrasantJillella
I am a little confused.
From the debug log, I see the error from Azurite is:

StatusCode: 413
ErrorCode: RequestBodyTooLarge
Message: "The request body is too large and exceeds the maximum permissible limit"

However, from your original issue, the Azurite returned error is:

Errorcode: PropertyValueTooLarge and
Status: 413 (Payload Too Large)

They are not aligned. So would you please confirm what's the error you see returned from Azurite, and what's the expected error?
Besides that, from the debug log, it looks the error might be reported on this code: https://github.com/Azure/Azurite/blob/38764d524132a7de6177e62806c772598c949517/src/table/handlers/TableHandler.ts#L898
Azurite welcome contribution!
It would be great if you could raise a PR to fix it!
(The fix might include define a new Error type with the required error code/message in this file, then throw the error in the above code location. Please also include test case and change log.)

@PrasantJillella
For "change this StatusMessage back ", do you mean the status message for the 413 error is different in the before Azurite version? If so, please share the before Azurite version, and we can see what's the change.
For "Payload Too Large", it looks not from Azurite code, but it's just status message of 413, see https://developer.mozilla.org/es/docs/Web/HTTP/Status/413.
Your code might should not based on the status message, but should based on the status code.

Hi
Sorry for the confusion, the previous status that I noticed was from "Azure Storage Emulator" and the new statusMessage "Payload Too Large" that I noticed was when we start to use Azurite.
I also didn't notice this type of status message ("Payload Too Large") in our production code which interacts with actual Azure Table Storage.
So that was the reason why I wanted to check if there was any change made in Azurite that caused the StatusMessage to change from "The request body is too large and exceeds the maximum permissible limit." to "Payload Too Large"

@PrasantJillella
Thanks for the detail!
Then would you please make you code check based on status code, but not on status message?

Done thank you.


Uchiwa API refactoring

Relates to https://github.com/sensu/uchiwa-web/pull/102

Coverage decreased (-3.2%) to 26.094% when pulling 561befabec3d6f592ccba8f5e7f6d74d38d811f1 on palourde:federated-api into e4c2b79009693dfae382b526f09e91c8ac5c5d47 on sensu:master.


Replicate label workflow from jobqueue repository

The recordlists repository includes a workflow to automatically label PRs. We should replicate that in this repository.
https://github.com/ansys/grantami-recordlists/blob/main/.github/workflows/label.yml

I'm not sure if I'm missing something here but that workflow already exists - see https://github.com/ansys/grantami-bomanalytics/blob/main/.github/workflows/label.yml
https://github.com/ansys/grantami-bomanalytics/actions/runs/8713012276

Nope, I don;t think you are missing anything. We can close this as done.


Add a clone() method to TSet

I decided to do this anyway since it was quick and easy.

Having trouble signing all the commits so I will close this, delete the branch, and resubmit a new PR.


Track queries from 'lib' or 'engines' folders

With current solution we are not able to track queries executed from lib or engines folders.

Thanks!


Replace numpy power by TF pow

https://github.com/amirgholami/adahessian/blob/bacccecc7a078c3e9e72aa55b17d8e46d21dc9c9/adahessian_tf/adahessian.py#L384
Do not use numpy functions within a tf.function decorator. Use tensorflow implementation if possible.

        denom = tf.math.pow(math_ops.sqrt(v / bias_correct2), self.hessian_power) + coefficients['epsilon']

Many thanks for the suggestion. This is now fixed.


[Autofix error] E712 Comparison to True should be cond is True inside an f-string

Actually this code deals with Pandas series, so the real solution for us is to ignore the error as per https://github.com/charliermarsh/ruff/issues/1852 - so maybe this is too much of an edge case ?
This is an excerpt from our code which should be enough to reproduce:
def supprimer_doublons_osm_bpe(df_commerces):
    print(f"Suppression de {df_commerces['doublon_a_supprimer'] == True}")

Then python -m ruff --fix  . returns
error: Autofix introduced a syntax error. Reverting all changes.

Version and settings

ruff 0.0.260
Settings same as https://beta.ruff.rs/docs/configuration/#using-pyprojecttoml, only with:
line-length = 150

This is now fixed and works with Ruff 0.0.269.


Request to become maintainer

Hello @aeneasr,
I've seen that you've been busy lately and since me and my team are using this library quite a lot I'd like to help you maintaining it, reviewing some PR's with bug fixes, issues, release patches and so on, let me know if you're okay with that.

Hi @fernandobandeira ! Thank you for becoming involved here. I definitely do not have time any more to maintain this project and thought about archiving it soon. I don't feel comfortable with running a repo under my username via other maintainers but I would be open to update the readme with a link to your maintained fork. What do you think about that?

Sure, I'll start a fork this week, push some fixes and ping you with the link then, if you want to dearchive it later we can just PR back into your repo then =)

hi! i just stumbled across this repo and i think its awesome!
@aeneasr, @fernandobandeira
~7500 Stars is quite an achievement. Maybe its better to transfer the repo to a new organisation and keep the stars? I think if you just link to a fork, it might lose some momentum.

No, this repository will not be transferred to another org unless I know the maintainers personally for a long period of time. This healthy scepticism is based on the recent event-stream incident.

@aeneasr the npm-publish problem is another topic where your sceptism is justified.
What about creating an organisation on github for the editor (ory-editor) and transfer the repo there so that your username no longer appears?
It would just be sad if the repo would lose momentum.

No, this repository will not be transferred to another org unless I know the maintainers personally for a long period of time. This healthy scepticism is based on the recent event-stream incident.

We're considering forking as well, but likely with the added intention to move away from material-ui as we don't use it internally
A suggestion: its possible to transfer the github/give maintainer to repository without transferring the npm publish rights, hence reducing the risks of a malicious takeover of an npm package

No, this repository will not be transferred to another org unless I know the maintainers personally for a long period of time. This healthy scepticism is based on the recent event-stream incident.

We've decided to fork and we have some urgency on our side so we have decided to just go for it: https://github.com/DeedMob/ory-editor
We do want to decrease fragmentation of the community around this library, as that will make the death of it more likely, so we want to collaborate around a fork ideally rather than maintain it by ourselves.

what about moving it to a comunity-organisation? something like https://github.com/ory-editor-community/ory-editor
that would make it more clear, that this would be the "official" repo and we could try to get more contributors on it (my team would also like to contribute).
(We might also consider rebranding to something neutral, as ory is a company and they no longer support it.)

Moving it to a community-org with a new npm package is something worth discussing IMO. I'm also happy to rebrand it (open for suggestions). I'd also definitely spend time to do community/maintainership management (wrt maintainership etc) to keep things flowing.

We're happy to do whatever is best for the survival of this library - our main priorities are improving the editing user experience (Spacers are buggy and slow to use, improvements to modes UX, Editing render differs from displayed render).
We are also to in the future potentially decouple / remove material-ui as using this library without using material-ui in your main project (as we do) is not the best developer experience and adds a big package size

Cool! Ok, as next steps I'd:

Move this repo to a new org (e.g. editor-community - please add your name suggestions)
Rename this repo to the new name (e.g. editor)
Set up a CI pipeline under a new npm org
Figure out a process to name maintainers and also a way to have discussions about how the package(s) should move forward as each company/contributor has probably a different idea/vision.
Add maintainers to the repo
???
profit :D

What do you think about that? Please add your suggestions for (1), (2) and (4).

ok will also brainstorm about a name ;-)
thank you @aeneasr (hackerman) for everything!

I will brainstorm names too (1 & 2) - I would suggest a three party coalition for 4 (@macrozone, @fernandobandeira, @davidfurlong)

I suggest react-pages - I think a declarative name would be useful, and the that name is the most package relevant one that I could find which was available on npm

I suggest react-pages - I think a self descriptive name would be useful, and that name is the most package relevant one that I could find which was available on npm

simple, yet descriptive. I like

Yeah that's awesome! And what about the org name?

Or what about react-editable?

Yeah that's awesome! And what about the org name?

probably just react-pages and then just
react-pages/react-pages
;-)

Or what about react-editable?

i think that makes people think of content editable. I think the ory-editor or "react-pages" is more than that ;-)

I asked my collegues for a name and i just got the mandatory "Editor McEditorFace" ;-)

https://github.com/react-pages is already taken unfortunately

Maybe react-pages-community/react-pages then? Great idea btw. 😄

My two cents: react-easy-editor

@fernandobandeira @macrozone @davidfurlong @aeneasr
Do you have some progress?

I got a bit tired of waiting for anyone else to do it so I made a start.
https://github.com/react-pages-community/react-pages
I ran into this issue:
@react-pages/core (npm organization scoped packages) had slashes that seemed to cause issues with imports such as @react-pages/core/lib/content (where the slash is treated as a file system slash)
and if we do the package names without an organization scoped package react-pages-core is taken, but the other package names aren't. If we could fix the prior that would be ideal. Haven't sent out invites to other people as I was waiting for setup to complete/work but I probably need consensus to either change the core package name to something else (engine?) / or help on the previous issue (google didn't seem to have much on this)

I think that should work with lerna or maybe aliases

@davidfurlong thx for making the first step!
i am on hold atm, will use the package soon.
Scoped packages should work without lerna. What is the error that you are getting?

well it seemed to be resolving @react-pages/core/lib/content to "in package "@react-pages" find file path "core/lib/content" within it rather than "@react-pages/core" package "lib/content" path within it. I'm still familiarising myself with lerna so I don't know whether this is a lerna feature or to do with the typescript resolver. I know we can probably alias typescript imports to fix this behaviour but that is probably bypassing the root issue. I think the specific error message was along the lines of 'file not found at path ....'

@davidfurlong maybe this helps: https://github.com/Microsoft/TypeScript/issues/27126 ?

@davidfurlong maybe this helps: Microsoft/TypeScript#27126 ?

It seems module resolution is already set to node in https://github.com/aeneasr/ory-editor/blob/master/packages/tsconfig.settings.json

Finally this repo didn't move. Just was forked :/

I've released a version of my fork since I needed the video fixes, but I'll remove it after react-pages-community is properly setup.
@davidfurlong feel free to invite me and @DouglasGabr if you need help setting up it...

Hey! Sorry for my absence - I'd be moving it now! Even though react-pages-community has already been established, how about using the singular react-page instead? It's free (well actually I've registered it already :) )

https://github.com/react-page

@aeneasr sure, agreed, and the name is great too.

It's done - I've invited @davidfurlong and @fernandobandeira to it as collaborators with write permission. I will be available and responsive to all maintainers via discord ( https://www.ory.sh/chat ) via PN :)
We can discuss access to the npm org react-page there as well :)

If anyone else wants write permission let me know in this issue - it will obviously need approval of all maintainers :)

@aeneasr I think we just need to give permission to travis to build the repo, apart from that we should be good to go.

I wanna be part as a collaborator if they want 👍

Great to see that you're interested! I think that it would be important for collaborators to have a footprint in the repository before adding write permissions. I think it is important to the community to show (a) a good understanding of the project by making excellent contributions (b) a commitment with longevity.
I've also added @PeterKottas to the maintainers as he has done an excellent job in past PRs!

Ok so I've set up a new npm account with access to @react-page. Travis CI is also set up (with that account) so new release should be published properly once all the package.json's are updated! While I'll still be monitoring this issue, I think we can close it now :)

hey @aeneasr thank you so much for everything! hope i can also contribute when i can start my next big project which will use react-page heavily

Nice one @aeneasr, we are using ory-editor heavily in our main product now and so far been reasonably happy. There's a bunch of things I want to fix/improve/add in the future though so this will definitely help make this smoother. I'll obviously be happy to further discuss any bigger changes. I can say right away though that I problably won't have much time to look at PRs from other contributors. At some point as we'll grow, I'll be happy to have somebody from my team set up some time to look into this.

That's great to hear and totally acceptable with not being a full-time reviewer. I think it would be great to have your brains behind this and your participation in discussions about future architectures and so on. Cool to have you on board, you have significantly improved the project already! :)

Thanks, man. As they say, I've stood on the shoulders of giants ;) I'll be sure to read up if there are any major PRs coming in.

It seems we/I can't label issues/ triage them with my current access level. I'd like to respond to and organize things so that put the effort to contribute feedback/bugs/PRs get a response and that we organize issues

That is because you haven't accepted the invite yet.

Ah yes it seems github sends an email (which got lost) and has no on site notification/UI on repo for this flow... thanks I got it now

Great! You’re cleaning out the repo - good. But please provide a reason for closing issues so its transparent to everyone!

On 23. May 2019, at 08:56, David Furlong<EMAIL_ADDRESS>wrote:
Ah yes it seems github sends an email (which got lost) and has no on site notification/UI on repo for this flow... thanks I got it now
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

cc @davidfurlong

will do for non-obvious closed issues. But for instance the flowtype ones that are internal facing are fairly clear without explanation I think

Unfortunately my team pivoted our product resulting in us no longer using ory-editor. I haven't been active on this project since this pivot, and therefore ask to lose all maintainer access. Best wishes to the project, and my apologies for this change

@davidfurlong  sad to hear that. May i asked what you use instead?
I would like to get maintainer access and would also like to publish to npm if that is possible.
Who else is maintainer on the project (npm and git) ?

Thank you for your contributions so far @davidfurlong :)
@macrozone thank you for requesting to become a maintainer! Other maintainers are @PeterKottas and @fernandobandeira . Seeing that you've made a bunch of PRs I'd have no problem with adding you to the maintainerlist. However, I'd like to get at least one +1 from those two.
NPM is fully automated, so you only need access to git.

@aeneasr thx! speaking about npm, is it possible to release pre-releases (with @next tag or @beta tag) ?
I would like to let users test my bigger pull request which lazy loads/code splits controls to reduce bundle size, but i don't know how it behaves in different environments and would be cool to get feedback

Yes, the npm release simply uses the git tag

@macrozone We're building a structured system which has different blocks which each take the entire width of the page and can be stacked on top of each other. Each block can have a certain type and the types are built around a purpose (like an image grid, title section, downloads section, ...) with an opinionated design.

Sure, it'd be great to have your help @macrozone, our team is still using the editor and will be relying more on it from now on so I'll be assigning some of our engineers to help maintain the project, the idea is to keep the project as generic as possible in a way that anyone can extend with plugins and it's own UI (even though we provide plugins and an UI by default for quick setup), I think this was one of the core concepts of the package so we'll keep heading in that direction, just fixing bugs that come up, improving the code and allowing more features to be built on top of it 😄.

@macrozone write access is all yours :)

@aeneasr thanks for your trust!

Thank you for your existing and future contributions :)

Just picking up on my "correspondence", sorry yo see you go @davidfurlong but at the same time, welcome @macrozone . Looking forward to seeing more of your work land in this great project.


Added Alison Meynert to contributors list

Requested changes made, thanks!

Looking better! Though the white Edinburgh logo file appears to actually be the IARC WHO logo? 😄

Let's try that again ... clearly I should not be on git after my bedtime! :)

Nice, getting there! However the logo now seems to be four logos stuck together. I understand the logic behind this, but the super wide shape won't really work on the website. The logos will be so small that you basically won't be able to see them.
I'm attaching a screenshot as I'm feeling guilty and want to prove that I'm not making this stuff up!

Please could you pick just one please?
Phil

I hope that's sorted it now! Sorry about taking so much of your time on this. The multi logo thing has a massive political backstory, but graphics came through for me this morning with the single logo.

I can imagine 😅
Sorry for being picky, and thanks for sorting it out! 👍

Ah so close! I didn't check the white version closely enough 😆

No worries, I'll fix this now..

ok, thanks for merging @drpatelh - we're done! Looking good! 🎉


Hi  I wonder why GraphCodeBERT can take sequence as long as 640(512 for code tokens plus 128 for data flow)?

Thanks in advance for your reply!

Because data flow don't need to use position embeddings.

Maximum sequence length of pre-trained models depend on position embeddings size (514 in GraphCodeBERT). However, data flow doesn't need to use position embeddings. Therefore, you can use as long data flow as possible.

Thanks very much , you really help me a lot  ><


TypeScript typings not included in published NPM bundle

The documentation says that typings are provided, and package.json refers to ./dist/index.d.ts for type definitions, and running npm run build on a copy of this repository does generate that file... but the published NPM package does not include that file, at least not in the current version (v3.1.2).

Hey !
Thanks for the catch, I really don't know what happened with the last build...
New version released with the correct ones :)
ty


Improve handling failed AWS Stack creation

Purpose

Contains improvements related to AWS Stack creation failure message.
Resolves #459

Goals

Throw the infrastructure creation failure error with a meaningful message.
Delete the partially created stack on failed infrastructure creation.

Approach

Improve the infrastructure creation logic in org.wso2.testgrid.infrastructure.AWSProvider and org.wso2.testgrid.core.TestPlanExecutor

Security checks

Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes
Ran FindSecurityBugs plugin and verified report? yes
Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes

IMO, this does not resolve #459. :)
#459 was raised such that stack creation failure error messages like below are shown in the log.

Added changes as per suggestions.


Clean up local flake8 file

Fixes #125

This local config is taking precedence for mivideo over the global. They have a slightly different config and with this file there there are a number of problems with mivideo_extract.py about line length.

This looks fine to me, If this is resolved we can merge this and have it in the upcoming release. Strictly not needed since it is effected only in local development, but good to have an empty PR's tab

Yeah, I was mostly just waiting on a comment from @lsloan since these were mostly files he created and it passes the 120 line limit and all top level linters but not the default 79.


App-Catalog broken install button

The install button for any item on the app catalog page is broken. This will need to be fixed for the filter and badge branch.
I have tried the following thus far:

Installing and building previous versions of the main project
Installing and building previous versions of the plugins

@vyncent-t Is this still happening? Can you give us more details about this?

The install button itself used to not be able to be clicked on, it does work so this issue can be closed now 👍🏽


[severe][web on iOS] svg files are not working

I'm not sure whether this is the right place to post the issue but as @dnfield pointed this may be the #flutter issue instead of the #flutter_svg package issue.
Here is the full detailed issue: https://github.com/dnfield/flutter_svg/issues/397

Hi @tomasbaran
I can reproduce this issue on latest beta, however it doesn't reproduce on latest master
Channel master, 1.21.0-10.0.pre.94
https://eloquent-swirles-3007e5.netlify.app/#/

flutter doctor -v
[✓] Flutter (Channel master, 1.21.0-10.0.pre.94, on Mac OS X 10.15.6 19G2021,
    locale en-GB)
    • Flutter version 1.21.0-10.0.pre.94 at
      /Users/tahatesser/Code/flutter_master
    • Framework revision 58feba8edd (8 hours ago), 2020-08-13 21:16:04 -0700
    • Engine revision 7571e7c380
    • Dart version 2.10.0 (build 2.10.0-11.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at /Users/tahatesser/Code/sdk
    • Platform android-30, build-tools 30.0.1
    • ANDROID_HOME = /Users/tahatesser/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.9.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 48.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.48.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.13.2

[✓] Connected device (4 available)
    • SM M305F (mobile) • 32003c30dc19668f • android-arm64  • Android 10 (API
      29)
    • macOS (desktop)   • macos            • darwin-x64     • Mac OS X 10.15.6
      19G2021
    • Web Server (web)  • web-server       • web-javascript • Flutter Tools
    • Chrome (web)      • chrome           • web-javascript • Google Chrome
      84.0.4147.125

• No issues found!

Channel beta, 1.20.0
https://boring-wing-f011c9.netlify.app/#/

flutter doctor -v
[✓] Flutter (Channel beta, 1.20.0, on Mac OS X 10.15.6 19G2021, locale en-GB)
    • Flutter version 1.20.0 at /Users/tahatesser/Code/flutter_beta
    • Framework revision 916c3ac648 (13 days ago), 2020-08-01 09:01:12 -0700
    • Engine revision d6ee1499c2
    • Dart version 2.9.0 (build 2.9.0-21.10.beta)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at /Users/tahatesser/Code/sdk
    • Platform android-30, build-tools 30.0.1
    • ANDROID_HOME = /Users/tahatesser/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.9.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 48.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.48.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.13.2

[✓] Connected device (3 available)
    • SM M305F (mobile) • 32003c30dc19668f • android-arm64  • Android 10 (API
      29)
    • Web Server (web)  • web-server       • web-javascript • Flutter Tools
    • Chrome (web)      • chrome           • web-javascript • Google Chrome
      84.0.4147.125

• No issues found!

main.dart
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return DefaultTabController(
      length: 3,
      child: Scaffold(
        backgroundColor: Colors.grey,
        body: Center(
            child: Container(
          child: SvgPicture.asset(
            'assets/flutter.svg',
            color: Colors.green,
            height: 28,
          ),
        )),
      ),
    );
  }
}

Can you upgrade to master and try again
flutter channel master
flutter upgrade --force
flutter doctor -v

@TahaTesser You're right, it's solved on the latest master, so I guess I can close now, right?


Notebooks: Model Should Only Have One ClientSession

Notebook model shouldn't have one clientSession per notebook provider; instead, there should be only one clientSession, and when changes to the notebook provider occur, we need to shutdown and startup new clientSessions.

This is fixed.


Simplify tox usage

We should be able to run tox easier from the ocal command line for the given combinations.
e.g.
tox -e mywindows-py311-django40-django_filter221-sqlite -- sqlite
does not run as expected. (The reason was locally it already ran the migrations).
We should have some generic scripts to run tox locally & to also clear the local DB & Migrations before running tox.

Script to clear Test project data added as part of https://github.com/ericziethen/django-property-filter/pull/252
Tox runs ok otherwise, nothing further to do here


smart_class_picker freezing the game

This is currently an issue with smart_class_picker where it may freeze the game while a match is starting. It's being worked on, and should hopefully be fixed soon.
For now, please leave smart_class_picker as false, and if you do decide to keep it on, you'll need to kill the SCPSL.exe process that stays running in the background after the server freezes.

I've finally found the issue! The fix should be in the next release!


More icon updates on theme change

Profiler buttons
Debugger buttons
Shader editor menu item
Resource Preloader editor button

Thanks!

Cherry-picked for 3.5.

@timothyqiu In the end I left out the ScriptEditorDebugger changes for the 3.x cherry-pick, as they're non trivial. The constructors does theme updates which trigger a crash when it happens before enter tree.

@akien-mga Ah, I see... I'll try to debug that and create a dedicated PR.


k3s agent not respecting K3S_RESOLV_CONF=""

Environmental Info:
k3s version v1.23.6+k3s1 (418c3fa8)
go version go1.17.5

Node(s) CPU architecture, OS, and Version:

uname -a
Linux ip-172-xx-xx-xx.xx-xxxx-1.compute.internal xx.xx.0-957.1.3.el7.x86_64 #1 SMP Thu Nov 29 14:49:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
Cluster Configuration:

1 server, 1 agent
Describe the bug:

kubelet parameter --resolv-conf, if set to "" should result in pod's /etc/resolv.conf being set to  usekube-dns service IP as the name server. As I understand the environment variable K3S_RESOLV_CONF can be set to "" during agent installation to achieve this.
What is actually happening is it uses  agent host's /etc/resolv.conf as is inside the pod. So service name resolution fails in pod running on that agent.
Steps To Reproduce:

Installed K3s master:
k3s master server was installed without using any custom environment variables or arguments.
Just sudo curl -sfL https://get.k3s.io | sh -

Agent was installed on another node by running the following command as root:
curl -sfL https://get.k3s.io | K3S_URL=https://xx.xx.xx.xx:6443 K3S_TOKEN=K103.....123 K3S_RESOLV_CONF="" sh -

Expected behavior:

/etc/resolv.conf should have kube-dns service's IP as the name server

If a Pod's dnsPolicy is set to default, it inherits the name resolution configuration from the node that the Pod runs on. The Pod's DNS resolution should behave the same as the node. But see Known issues.
If you don't want this, or if you want a different DNS config for pods, you can use the kubelet's --resolv-conf flag. Set this flag to "" to prevent Pods from inheriting DNS. Set it to a valid file path to specify a file other than /etc/resolv.conf for DNS inheritance.

https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/
Actual behavior:

/etc/resolv.conf in pod is identical to /etc/resolv.conf of host, which obviously does not contain kube-dns IP.  So service name resolution fails in pod running on agent. Some pods running on server/master, for example, grafana installed using official helm chart, can resolve Kubernetes service names properly that pod does have kude-dns IP entry in pod's etc/resolve.conf
Additional context / logs:

cat /etc/systemd/system/k3s-agent.service.env
K3S_RESOLV_CONF=""
K3S_TOKEN="K103...redacted..123"
K3S_URL="https://172.xx.xx.72:6443"
Backporting

Not sure

There is some additional logic around the k3s --resolv-conf / K3S_RESOLV_CONF setting. It will only be used if set to a valid resolv.conf file. If you want to directly set the kubelet resolv-conf flag without any additional processing, do so directly: --kubelet-arg=resolv-conf=

After a bit more exploration I found that many pods on the agent do not have their /etc/resolve.conf pointing to kube-dns. I checked the dnsPolicy in pod spec by requesting an edit and it said ClusterFirst. As per my understanding if dnsPolicy is ClusterFirst then the pod should be capable of resolving service names. But since/etc/resolve.confdo not have right entries, these pods can't do that.
Examples of problematic pods:
prometheus-node-exporter running on agent node (prometheus installed from official helm chart without customization, in its own namespace)
longhorn-csi-plugin running on agent node (longhorn installed on master node before adding agent)
longhorn-csi-plugin is stuck in CrashLoopBackOff as it can't resolve longhorn-backend service.
There is a networking problem as well. which I will investigate separately but to give you a gist - even if I skip past the DNS resolution and just try to curl the cluster IP of a service (whose pods are on master) from a pod running on agent, the the request times out. Connection does not happen. This is a separate problem. I will bump into it after the DNS problem is resolved.

Thanks, my DNS issue is resolved. I reinstalled the agent via script with the kubelet-arg=resolv-conf= argument.
The pods on agent are now automatically getting kube-dns; except prometheus-exporter pod which has hostNetwork: true in its manifest, hence that's expected.
The networking issue still remains. I'll probably raise it in a separate issue.

I'm glad it worked for you, but I don't think I've ever seen that be necessary, so I'm curious what else is going on in your environment.

I am not sure my self. I generally start with clean VM instances. But this time I have been given instances that seem to have been used for other tasks earlier. Plus my organization firewalls/access-controls everything to the hilt so could be any of those things.
The DNS issue was actually a non issue. It was working as per spec. Kubernetes nodes should indeed default to host's DNS. I just find it a bad default. As it automatically means cluster DNS won't work. Strangely I did not have to do this on Tanzu. Probably Tanzu overrides upstream Kubernetes defaults for a more sensible one.

The issue with networking is likely due to UDP being blocked between nodes. Is there a work around for this (without opening UDP)?

You could try switching to a different flannel backend, but no, VXLAN runs over UDP.


Can't load global intellicode plugin when using workspace typescript version

Version: 1.39.1
Commit: 88f15d17dca836346e787762685a40bb5cce75a8
Date: 2019-10-10T23:35:11.314Z
Electron: 4.2.10
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Darwin x64 18.7.0
Steps to Reproduce:

Install<EMAIL_ADDRESS>locally in a project
Change vscode to use workspace version instead of vscode's version (3.6.3) via the verison number in the status bar bottom right after viewing TS file.
View tsserver logs (output panel -> change to typescript -> open last logfile reported) that report the following:

Failed to load module '@vsintellicode/typescript-intellicode-plugin' from /Users/.../project/node_modules/node_modules: Error: Could not resolve JS module '@vsintellicode/typescript-intellicode-plugin' starting at '/Users/.../project/node_modules/node_modules'

Does this issue occur when all extensions are disabled?: No - requires vscode intellicode extension installed

Please start by filing this issue against the intellicode extension

Sorry about that, the issue is tracked here: https://github.com/MicrosoftDocs/intellicode/issues/32

Michael, help me!
On Tue, 22 Oct 2019 at 5:23 pm, Michael<EMAIL_ADDRESS>wrote:

Version: 1.39.1
Commit: 88f15d1
https://github.com/microsoft/vscode/commit/88f15d17dca836346e787762685a40bb5cce75a8
Date: 2019-10-10T23:35:11.314Z
Electron: 4.2.10
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Darwin x64 18.7.0
Steps to Reproduce:

Install<EMAIL_ADDRESS>locally in a project
Change vscode to use workspace version instead of vscode's version
(3.6.3) via the verison number in the status bar bottom right after viewing
TS file.
View tsserver logs (output panel -> change to typescript -> open
last logfile reported) that report the following:

Failed to load module '@vsintellicode/typescript-intellicode-plugin' from /Users/.../project/node_modules/node_modules: Error: Could not resolve JS module '@vsintellicode/typescript-intellicode-plugin' starting at '/Users/.../project/node_modules/node_modules'
Does this issue occur when all extensions are disabled?: No - requires
vscode intellicode extension installed
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/83031?email_source=notifications&email_token=AIPXOJQ2Z6XQ7NEBVKCVHSLQP2L5ZA5CNFSM4JDLCV52YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HTM4FLQ,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIPXOJXYHVW7KG7NUO6TCJDQP2L5ZANCNFSM4JDLCV5Q
.

--
Sent by Dylan Taylor


Fix Caddy import paths

Fixes https://github.com/tarent/loginsrv/issues/133
This is the result of running the bash script fix as recommended by @mholt in https://github.com/tarent/loginsrv/issues/133

Hello @xombiemp,
please also update the modules file. See:
https://github.com/tarent/loginsrv/blob/5707da95e2cdb1c3fbe2905e64236114e8ce06a8/go.mod#L10

I'm pretty lost on the modules files.  Not sure how to update those correctly.

I'm not sure how to update the modules.  I will just close this. Hopefully someone fixes this soon...


Dev

HOTFIX: browsers apparently set accept language header always and since most students have them set to English it kind of breaks the scorion api


UndoManager

Might be possible to return a copy of the Manager instead of keeping to var lists

making undomanager return undomanager will lead to the controller having to adapt functional style so
duplicate #4


endpoint port settings

Hello!
I want to use a port other than port 80 for debugging. So I made a correction


Use record type for InvoiceRequest

By using record types for the InvoiceRequest we can save another dozen of lines of code 😄

Inactive


Rear Android Camera

Hello. Can anybody know how to use rear android camera option when scanning qr code ?
Thanks.

+1 i would like do this too please.

+1 also

+1


Maximum rectangular area in histogram code added

Description
Implemented Problem to find maximum rectangular area in histogram using C
Fixes #237
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the style guidelines(Clean Code) of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have created a helpful and easy to understand README.md
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests/screenshots(if any) that prove my fix is effective or that my feature works

@Ayush7614 @Amit366 @Saurabh4626 @ravikr126 Kindly review my PR.


kv import not removing the key-value from AppConfiguration when they are deleted from json file

We are able to achieve below when we run az appconfig kv import cli command

Import all the kv pair from json file into ACS
Updates performed to key-value in json file are getting reflected in the ACS

When we delete  any key-value from json and run the az appconfig kv import command, the deleted key-value are not getting removed/deleted from ACS.
We can explicitly run az appconfig kv delete and specify --key which needs to be deleted. But if there are 10's of keys that needs to be deleted, then we don't see any solution that will help us to achieve this faster.
Could you please suggest what should be used in these scenarios? And can this be added as part of az appconfig kv import so that it deletes key-value from ACS also?

Hi @Madhufuture, currently we don't support deleting key-values from the config store during import. But we will be adding this support in the future.
In the meantime, you can use this 2 step approach to solving your problem:
Step 1: Delete key-values from your AppConfig store by running az appconfig kv delete --key * --label <label>
Step 2: Import from your config file using az appconfig kv import --label <label>
Ideally, you shouldn't be deleting everything in your AppConfig store in step 1. Make sure that you organize your key-values with prefix/labels, and delete only the key-values matching the required prefix/label. Then you can import new key-values with the same prefix/label that you deleted in step 1.

Hi @Madhufuture,
With Azure CLI version 2.33.1, we released a new flag, --strict which when specified, will delete the key values that are not present in the JSON file.
Please give it a try and let us know.


Cache

Hello guys,
Is possible to add a filter to do caching based in a request and parameters?

If the request is cached then return the response. The response can be returned with exchange.getResponse().setComplete() in the filter but I found problems to modify the response body with my cached data.

@Bean
public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
    return builder.routes()
	.route("testcache",
	route -> route
               .path("/testcache")
	       .filters(conf -> conf.filter(new CacheFilter()))
	.uri("http://myurl.com")).build();
}

public class CacheFilter implements GatewayFilter {
    private static final Log log = LogFactory.getLog(CacheFilter.class);

    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {

        //ServerHttpRequest request = exchange.getRequest();
        //if (Cache.exists(request.getBody(),request.getPath(),request.getQueryParams())) {
            //String reponseBody = Cache.get(request.getBody(),request.getPath(),request.getQueryParams());
            String reponseBody = "test cache";

            // The response is not mutated?
            exchange.mutate().response(changeResponseBody(exchange,reponseBody)).build();

            exchange.getResponse().setStatusCode(HttpStatus.OK);
            return exchange.getResponse().setComplete();
        //}
        //return chain.filter(exchange);
    }

    public ServerHttpResponseDecorator changeResponseBody (ServerWebExchange exchange, String reponseBody) {
        ServerHttpResponse originalResponse = exchange.getResponse();
        ServerHttpResponseDecorator responseDecorator = new ServerHttpResponseDecorator (originalResponse);
        byte[] bytes = reponseBody.getBytes(StandardCharsets.UTF_8);
        DataBuffer buffer = exchange.getResponse().bufferFactory().wrap(bytes);
        responseDecorator.writeWith(Flux.just(buffer));

        return responseDecorator;
    }
}

What is not working?

In the response I receive the suitable status code (200 in this case, but also tested with others) but the body is empty. In this case I am trying to build "test cache" in the body. It seems that the mutation is not working.

The main problem with cache is that is a blocking operation. Since, Spring Cloud Gateway is based Reactor project it needs a cache non-blocking (see RxCache). Currently there is not an official support.

I created 2 ServerHttpResponseDecorator instances one to do the actual job and another one to use cached data and it works.
I need to refactor and clean up the code but I'll paste a part of it here:
`
if(cachedResponse.isEmpty()) {
return setPathFilter.filter(exchange.mutate().response(responseDecorator).build(), chain);
}
return chain.filter(exchange.mutate().response(cacheDecorator).build());
`
hope this helps

That way I was able to write response body, using writeWith on return:
override fun filter(exchange: ServerWebExchange, chain: GatewayFilterChain): Mono<Void> {         val responseBody = "{ \"test\":\"test response\"}"         exchange.response.statusCode = HttpStatus.CREATED         exchange.response.headers.set(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)         return exchange.response.writeWith(Flux.just(exchange.response.bufferFactory().wrap(responseBody.toByteArray())))     }

The upstairs method does work! Thx!!!

That way I was able to write response body, using writeWith on return:
override fun filter(exchange: ServerWebExchange, chain: GatewayFilterChain): Mono<Void> {
        val responseBody = "{ \"test\":\"test response\"}"
        exchange.response.statusCode = HttpStatus.CREATED
        exchange.response.headers.set(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
        return exchange.response.writeWith(Flux.just(exchange.response.bufferFactory().wrap(responseBody.toByteArray())))
    }


feature request: mix input from multiple backends

We have a use case where we need to watch for changes in files and then re-build and reload our config based on input from both those files and another backend.

closing as a duplicate of #414


Update jasync-common, jasync-mysql, ... to 1.1.7

Updates

com.github.jasync-sql:jasync-common
com.github.jasync-sql:jasync-mysql
com.github.jasync-sql:jasync-postgresql

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

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

labels: library-update, semver-patch

This update is still needed to support scram-sha-256 authentication in postgresql.
https://github.com/jasync-sql/jasync-sql/pull/219
https://github.com/getquill/quill/pull/2065
Any chance this can get looked at and merged since it's been open for quite some time @deusaquilus ?