MsalGuard - Support RBAC with CanActivateFn

Core Library
MSAL.js v2 (@azure/msal-browser)
Wrapper Library
MSAL Angular (@azure/msal-angular)
Public or Confidential Client?
Public
Description
Starting with Angular 14.2, you can pass a CanActivateFn to the canActivate array. This function can contain inject calls and can be created dynamically at runtime very easily.
I have created a wrapper for MsalGuard which implements RBAC using this feature, but it would be nice if it was officially supported. Here is a sample of my implementation:
  static forRole(role: string): CanActivateFn {
    return (route, state) => {
      const msalGuard = inject(MsalGuard);
      const authGuardBase = new RoleAuthGuard(msalGuard, role);
      return authGuardBase.canActivate(route, state);
    }
  }

RoleAuthGuard handles waiting for MsalGuard to succeed, then acquires a token from Msal using acquireTokenSilent and verifies the idTokenClaims contain the specified role. This could be much more efficient if MsalGuard could verify the idTokenClaims internally.
Example Usage:
const routes: Routes = [
  {
    component: AdminComponent,
    path: 'admin',
    canActivate: [RoleAuthGuard.forRole('Administrator')],
  }
}

PS: Also of note, class and InjectionToken guards and resolvers, such as the current MsalGuard impelmentation, are scheduled for removal in Angular 17. CanActivateFn is the replacement. I would appreciate it if this feature was included when the necessary changes to support Angular 17 are made.
Source
External (Customer)

@dirthsj @sameerag possibly related to #3406

@dirthsj @sameerag possibly related to #3406

Exposing activateHelper etc. as proposed in this issue would not change the implementation of my wrapper (I would still prefer composition over inheritance).
However, it may be possible to provide a much more configurable MsalGuard using a similar approach to the one I requested; for example accepting callback functions for additional validation rather than just scopes.
Perhaps something like an MsalGuard.withTokenValidator((token) => ...)) would be better if the overall goal is flexibility.

cc @EmLauber @jo-arroyo Can we track this as a feature request?

This comment exists to avoid the bot closing this issue. If any further information on my request is desired, I have not received that impression from the comments above.

Assigning to myself as this is a feature enhancement we will take under consideration. At this time, we are still evaluating MSALGuard enhancements.

@dirthsj I have a similar situation/need. However, rather than simply verifying the idTokenClaims to determine access, I need to grab a custom claim and make an API call to resolve roles & permissions for the successfully authenticated user.
Can you share or explain how your RoleAuthGuard implementation waits for the MsalGuard to complete?

I'm away from work at the moment, so I can't get at my source code, but it's basically just calling msalGuard.canActivate, then using rxjs switchMap on the result, passing through the error cases and handling the success case with additional logic.

Hello, I am also currently writing a wrapper for msal to add rbac. Luckily the current implementation still works with angular 17. Any news on the enhancement?


Adding common operations for tokens.

This is meant to be reviewed & merged in parallel with: https://github.com/FuelLabs/sway/pull/436
The history for this PR is also contained in the linked PR in the Sway repo.

Closing as this has been replaced by a few smaller, more focused PRs.
See: #26, #27


Some questions for the artifacts remove

Excuse me,  I'd like to know that if i train EDSR by using the datesets of the Track 2, the trained model can remove some artifacts as the competition required.

Hello.
Can I ask which kind of artifacts you want to remove?
If you prepare appropriate training dataset, you can do artifacts removal + super-resolution at the same time.
For example, if you consist the training set with [low-resolution jpeg images and high-resolution clean png images], the trained model will learn the jpeg artifact removal.
Please let me know if you want more detailed answer.
Thank you.

Thanks for your response very much.
I tried the datasets, which used the 1,400  photographs as HR images and the corresponding uploading images by WeiXin as LR images.  But the results was not good as the corresponding artifacts still existed. I'd like to know if the problem relies on the datasets or the model.

Although I am not familiar with the term WeiXin, it seems that WeiXin is a kind of social network service (or chatting application?) that can upload the images.
Did you try the super-resolution and artifact removal simultaneously?
In that case, I wonder how did you prepare the dataset.
I think there are two cases.

Downsample the images first and upload them to the WeiXin.  Then, download the uploaded images to prepare low-resolution samples.

Upload the images to the WeiXin first.  Then, download the uploaded images and downsample them to prepare low-resolution samples.

Also, it will be helpful for me if you can upload the sample training HR-LR pairs.
Thank you!

Thank you!
Just as you think, WeiXin is a kind of chatting application.  And when you upload a image by WeiXin, if the image is large enough(exceed around 1080), the image will be compressed.
And I'd like to train a network that can complete super-resolution and compressed artifacts removal.
I just take the photographs(4032 * 3024) by mobile phones as HR and the corresponding uploaded image(compressed by WeiXin) as the LR. But the results of the trained network is not well.
Of  Course, I can prepare the datasets for you if it is helpful for you.

I would like to see some sample images from your dataset.
Could you please upload a sample HR-LR pair for your experiment?

@HuangBiaoVivo The author means that you should prepare the LR-GT image pair, and
LR should be made by
bicubic first -> weixin-jpeg,
not weixin-jpeg first -> download it and bicubic

i want artifact data for applying artifact removal methods ,so please suggest where i found these type of datasets


Speed up invoke usage

should we really see a speedup with this changes?
IMHO we should maybe push for more @nospecialize in traced_type, make_tracer and create_result. also, we could precompile common methods.
the main issue for this right now is that we have no benchmarks for measuring each component separately, and benchmarking CI has a lot of noise to distinguish if some optimizations have effect or not 🥲

Not necessarily immediately, but invoke without an arg causes it to re-specialize for each type, which is really bad in this context (and is clearly a bug anyways)


[Question] Reference for adding custom function

Hi,
I just found out about this library a couple weeks ago and thank you so much for this wonderful library.
I have a couple questions about the templates and hoping that anyone could give me a heads up on where I can find closest references/examples in order to do these

to include nested functions in insert, for example;
.add(t.gamma = true, t.beta=functionA("cheesecake", functionB("approved")));

to use function in select statement roughly like this;
select (t.gamma == functionC("cheesecake", t.gamma)) where(t.delta ==1))

Thank you.
regards,

Hi,
Can you give a more concrete example for those functions (including the resulting SQL)? I don't really get what you are trying to do here.
Best,
Roland

Hi,
Thanks for replying to my question. I tried to find examples from the existing functions on how to get it be used as arguments inside other functions, much like this SQL example (algo function as argument inside encrypt function);

insert into user_tbl (username, password) values ( 'testuser', encrypt('testpasswd', algo('blowfish')) );

As for the second question, I think I get a gist on how to go about it but still it would be helpful if there is a reference from existing functions that I could refer to.
2. select (password = decrypt('testpasswd', password)) from user_tbl where username = 'testuser';
Thank you so much for your help. Really appreciate it.
regards,

Hi
There are essentially two scenarios here:

You want to call a C++ function: Then just do it. It just has to return a value that is compatible to with the expression you want to use it in.
You want to use an SQL function that is not supported yet. In that case you can either use a quick hack with verbatim or you can implement an extension to sqlpp11. Take a look at similar functions. It might look a bit scary at first glance, but it is not that bad (let me know if you need help).

That being said: I guess the example is not real, but just to mention it, you do not want to store encrypted passwords in your database. Salted hashing is what you are looking for.
Best,
Roland

Thank you so much for the reply and sorry for couldn't explain the scenario properly. You are right that the scenario is like the second scenario that you've mentioned. I did test the library using verbatim and I could get the right result, but it feels like a hack (like the note to replace verbatim with "unsafe_query").
Just a thought, since this is probably not gonna be the last time someone will ask on what is the best way to support custom functions, especially the more popular the library is. Probably a rough guidelines in the documentation should be enough for the users if they have to add some in-house functions with this library?
Again thank you for taking your time to answer to my question.
Best regards,


Fix issue #459 - mysql error 2014

Addresses issue https://github.com/airbnb/airflow/issues/459 by closing the cursor before committing the transaction.

It passed the unit tests, mergin'. Thanks for your contribution!


handle Popup with ref

Feature Request
Support to handle Popup component with ref prop.
Problem description
Improve DX
Proposed solution
Something like:
const ref = useRef(null)

onClick = () => {
 ref.current.handleOpen()
}

{...}

<Popup
   on='click'
   closeOnDocumentClick
   closeOnPortalMouseLeave
   closeOnTriggerBlur
   ref={ref}
   content={
AE
}
/>

You can use Popup in controlled mode via open prop:
const [open, setOpen] = React.useState(false)

const onClick = () => {
  setOpen(true)
}

return <Popup open={open} />

So I don't see any reasons to support this type of usage.

If I use Popup in controlled state, I lose the following props:
 closeOnDocumentClick
   closeOnPortalMouseLeave
   closeOnTriggerBlur

const [open, setOpen] = React.useState(false)

const onClick = () => {
  setOpen(true)
}

return <Popup open={open} onClose={() => setOpen(false)} />

@yuritoledo you can use onClose/onOpen callbacks, this should work properly 🐱

@layershifter nop.
If popup is controlled, all the closeOn* props stop working
tks

Are you sure? Here is an example: https://react.semantic-ui.com/modules/popup/#usage-controlled

https://codesandbox.io/s/semantic-ui-example-t2hq5
Yup, i'm sure!

But you don't have there onClose handler 😦

hmm now everything makes sense: open_mouth:
It works!
Thank you for your patience.


Break the circular dependency between djunits and djutils

The djunits project was made dependent on djutils, to avoid code duplication for the Throw, Try, URLResource and NumberParser classes. Also, the tinylog Logger and CategoryLogger can be used by djunits now.
On the other hand, djutils is dependent on djunits for the djutils-cli, djutils-data, djutils-eval, and djutils-serialization modules that all use djunits.
The problem is that we now cannot make a new release of djunits that uses the latest version of djutils while releasing the latest version of djutils that is dependent on the latest version of djunits. One of them will always use the one-but-last version...
There are three (and possible more) solutions. @WJSchakel and @OTSim : seeking your input on this.

As before, copy the few classes that djunits needs into djunits. To make it more clear, we could even give the classes the path org.djutils. When changes in djutils occur, just copy the verbatim code into djunits. This way, djunits also stays 'clean' and is dependent on as few other packages as possible. Advantage: easy, and no overhead taken into djunits. Disadvantage: code duplication and possible inconsistencies between projects.
Separate out the base djutils package as a separate project. This way, both djunits and the rest of djutils can be dependent on this project. Advantage: clean solution without code duplication. Disadvantage: more projects to maintain, and losing the tight integration n the djutils ecosystem.
Combine djunits and djutils into one project, and make djunits a module of the djutils project. This can be done while keeping the org.djunits package name -- it will just be dependent on a djutils-parent pom file, and versioning will have to stay consistent with djutils (this causes an immediate problem, since djunits is at v 5.1.1 while djutils is at v 2.1.9. We should bump djutils to v 6.0.0 to avoid version clashes for djunits. Advantage: tight integration between djunits changes and its usage in djutils. Disadvantage: very different projects combined (djunits has also generators and a demo project -- what to do with them?), more complex project to maintain, versioning issues.

For now, I am thinking about a quick solution using (1) above, but should that also be the long-term solution?

My preference would be option 2, at least in the long term. The name could be djutils-base.
djutils-base < djunits < djutils
The main reason is confusion, e.g. when importing classes, in option 1. To me option 3 ruins how clean djunits is. It has very little to do with almost everything in djutils.
I would add the tinylog functionality in djutils-base so it can be used in djunits.

The disadvantage "the tight integration in the djutils ecosystem" is not very clear to me. Djutils is a bag of useful things, some of which use each other. But I see no logical reason why it has to stay one bag. Two smaller bags, where one (indirectly) depends on the other seems fine to me.

About the 'ecosystem' remark: right now, djutils-base (aka djutils) is a module inside the djutils project, together with the other modules. Versions for all modules are updated at the same time, since all other modules in the djutils project are tightly dependent on the djutils-base project.
One disadvantage of moving djutils-base out is that it becomes a separate project in github, with its own pom file and dependencies to maintain, so it will get its own upgrades, its own new releases, its own registration of the project in Maven Central, etc. All maintenance efforts will have to be done on two projects instead of one. Since it typically takes a few hours to sometimes 1-2 days of work to make a new release that incorporates all kinds of upgrades (where lots of issues have to be resolved), this will now have to be done two times...
But I do agree. It's the only clean option... No code duplication, no useless integration between two independent projects. And we DO need to be able to release djutils-base (or just 'djutils') separately from the rest of djutils and djunits.

The separation of the djutils-base project has been described in issue https://github.com/averbraeck/djutils/issues/24 in the djutils project.

djunits has been made dependent on the separate project djutils-base, breaking the circular dependency. This allows full usage of the classes and data structures in djutils-base (Throw, Try, UrlResource, CategoryLogger, immutable collections, etc.).


Next.js 404 from non-Next deployment

I'm hosting a micro server with now that just spits whatever requests it gets to the console.log, which i read via now-logs.  It's hosted at a subdomain of mine, https://api-tester.wayhome.io
I'm using it to test a Mailgun route, but my Mailgun logs are showing a weird response--it appears to be a 404 page from a Next.js deployment:
{
  "severity": "permanent",
  "tags": [],
  "storage": {
    "url": "https://se.api.mailgun.net/v3/domains/sandboxd<id>.mailgun.org/messages/<key>",
    "key": //redacted
  },
  "envelope": {
    "sender"<EMAIL_ADDRESS>    "transport": "http",
    "targets": "https://api-tester.wayhome.io"
  },
  "delivery-status": {
    "attempt-no": 8,
    "description": "<!DOCTYPE html>

404

This page could not be found.

",
    "session-seconds":<PHONE_NUMBER>2583313,
    "retry-seconds": 14400,
    "code": 404,
    "message": "<!DOCTYPE html>

404

This page could not be found.

"
  },
  "event": "failed",
  "campaigns": [],
  "reason": "old",
  "user-variables": {},
  "flags": {
    "is-routed": false,
    "is-authenticated": true,
    "is-callback": true,
    "is-system-test": false,
    "is-test-mode": false
  },
  "log-level": "error",
  "timestamp":<PHONE_NUMBER>.351978,
  "message": {
    "headers": {
     // mailstuff
    },
    "attachments": [],
    "recipients": [
      "https://api-tester.wayhome.io"
    ],
    "size": 9067
  },
  "recipient": "https://api-tester.wayhome.io"

this is strange b/c I'm not running next, but also b/c the endpoint sometimes works as intended.
Also, it appears that eventually, the retry succeeds, as it does show up in my console via now-logs.
Has anyone seen this before?  Any ideas how to fix?
Could this have to do with the sleep state that Now deployments go into? it seems that when the server has recently been active, these errors don't happen.

Looks like it's 404 from a misbehavior of the error inspector application...
I tried connecting directly to your deployment (api-tester:wayhome:io) and curl and other requests just "hang"
In the application logs I see a lot of errors like this (see the details)
(there is nothing too secretive looking in it so I think it's ok to share the log snippet here)

TypeError: argument string is required
    at Object.parse (/home/nowuser/src/node_modules/media-typer/index.js:141:11)
    at Promise (/home/nowuser/src/node_modules/micro/lib/server.js:55:26)
    at exports.json (/home/nowuser/src/node_modules/micro/lib/server.js:52:47)
    at /home/nowuser/src/index.js:11:48
    at Generator.next (<anonymous>)
    at c (/home/nowuser/src/index.js:70:99)
    at /home/nowuser/src/index.js:70:198
    at __async (/home/nowuser/src/index.js:70:28)
    at module.exports (/home/nowuser/src/index.js:7:46)
    at Function.<anonymous> (/home/nowuser/src/node_modules/micro/lib/server.js:25:23)

A proper logs support should ship soon so debugging issues like this
Feel free to ping in in zeit.chat slack if you need more assistance debugging is or follow up here..

Ah yeah, i should have mentioned that above--the endpoint only takes requests w/ a JSON or urlencoded body & just logs everything to console. this explains the exception you posted.
re: the hanging, since I was just interested  in logging the body, i forgot to return on completion--thanks for spotting that.
That said:

Looks like it's 404 from a misbehavior of the error inspector application...

Is that something internal to Zeit?
The requests Mailgun was sending had body fields, and my endpoint correctly logged them (sometimes after a delay, which I'm guessing is due to the instance sleeping).
I did some more testing.  When I run this command:
$ curl --data-urlencode "paramName=param" https://api-tester.wayhome.io
It hangs for a minute or so on my command line, then responds with the 404 mentioned in OP. The payload, though, is correctly logged to the console in the app.
So it would appear that the 404 is being thrown in response to my endpoint failing to return or send() a response w/in micro.

If this problem still occurs, please move it over to this repo. That's where we'll collect the bugs of the platform from now on (separate space, easier to work on)! 😊


Can this be packaged into a framework?

As far as I know, this does not seem to be packaged into a framework.

Could you tell me how to use this in an iOS project?

Which function of SwiftBacktrace do you want to use on iOS?
I think that the function of Thread.callStackSymbols included in Foundation is enough for iOS.

In OC, we can catch exceptions by try-catch, but Swift doesn't seem to be able to do this.
Swift can call try-catch in OC, but it can only be applied to methods in Foundation, such as NSArrray, NSString, can not be applied to Array, String.
Could some methods really intercept the exception but the app won't crash?

I think that this project can not be used for the purpose not to crash the iOS application with the exception from Objective-C.


NME Texture block: Add support for 2DArrayTexture

See https://forum.babylonjs.com/t/how-can-i-load-rawtexture2darray-in-nme/38809
This PR adds a layer input to the Texture block:

The input is not used if the texture is not a 2DArrayTexture. If it is, the layer value is read from the layer input if provided, else a default value of 0 is used.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/13598/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13598/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13598/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/13598/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/13598/merge
https://gui.babylonjs.com/?snapshot=refs/pull/13598/merge
https://nme.babylonjs.com/?snapshot=refs/pull/13598/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/13598/merge#BCU1XR#0


standalone saving in external editor destroys current unrelated tab

https://github.com/user-attachments/assets/cd3e4f7a-1cfe-40b7-ad38-6d0a16d64089

sometimes it shows a modal dialog which does not get closed


Deploy API/Database to Dev

Ideally the Database / API would be deployed to DEV to allow development to proceed without disrupting testing.
For example: Deb has opened an issue (#124) whereby the implemented fix needs to be tested against an empty queue. Removing all data from the queue to test this may disrupt UAT

TWG: @josephramsay can you please do this today so Shane and other can use for bug triage.

Nope. Last deploy took 6 hours. On a non-cleaned database it will take longer. Will start tomorrow

I have yet to go through the TST environment to create UTIL scripts to delete roles and users etc.

users/roles and permissions differ between tst1 and dev1

As discussed, can @SPlanzer have a crack at this tomorrow with support from @josephramsay.

I missed this issue. Seems like this includes data migration and if so, roads still need to be deployed first.
Is there a faster option to keep tst and dev in sync e.g. pg_dump from tst / restore to dev after each migration. Could we do a pg_dump / restore now to solve Simon's issue? I realise API is separate but can that be reinstalled independent of a full deployment?

Done


Container Registry Readme Issue

Section link:

Reason:
Misspelled word.
Suggestion:
Change 'secion ' to 'section'.

Section link:

Reason:
Case issue.
Suggestion:
Change 'Task' to 'task'.
@scottaddie , @jsquire , @sandeep-sen , @Mohit-Chakraborty and @annelo-msft to notification.

This has been fixed as part of https://github.com/Azure/azure-sdk-for-net/pull/41689


Offload Fonts To Custom Storage Handler

With https://github.com/nuxt-modules/og-image/pull/151 we move fonts to Nitro's Server Assets, this solves several issues of making fetch requests at rutime.
However, this always bundles the font files, which is an issue on edge runtimes that have limited size constraints (vercel gives 2mb).
We need to offload the fonts to a custom storage driver that the end user would provide.

Hi, I came across this as well.
We are not using dynamic og image/text generation (we have ready made images) but the bundle always includes the Inter font which increases the bundle size tremendously.
And, even if we select another font on nuxt config (as described in the docs) it then apparently includes both the selected font and also the Inter font. (see attached screenshots, one with default configuration that includes the huge Inter font, and another one where I've selected the Poppins font on nuxt config but where it still includes the Inter font in the server bundle anyway, even though the documentation states that if we select another font on nuxt config then the Inter font will be disabled)
I suggest that it should be possible to (for example) set the fonts parameter on nuxt config to false to prevent including any fonts at all for these cases where dynamic image/text generation is not required.
Cheers.


tlmgr doesn't work anymore

I'm having trouble running tlmgr install or tlmgr update --self in the container. Seems like there is a problem with the repository due to the release of TeX Live 2021.
I get the following output in the console:
tlmgr: Local TeX Live (2020) is older than remote repository (2021).
Cross release updates are only supported with
  update-tlmgr-latest(.sh/.exe) --update
See https://tug.org/texlive/upgrade.html for details.

Noted, I'll look into it in the coming days. Thanks for creating an issue!

Changed it to 2021, it seems to work now.
In the future, if I disappear for whatever reason, you can use
docker build -t qmcgaw/latexdevcontainer --build-arg TEXLIVE_VERSION=2022 https://github.com/qdm12/latexdevcontainer.git

And it should build and upgrade to the 2022 TexLive version for example.


[UX IMPROVEMENT] Add support for keyboard shortcuts to scroll through images while viewing

Describe the solution you'd like
While viewing multiple attached images of a message it would be better to be able to scroll images with keyboard shortcuts (left and right keyboard keys) rather than clicking left and right which dont even show any arrows btw
Type of feature
User Experience (UX)
Additional context
No response

Feature added and will be in the next release


Can't get validators to work with state (with sandbox)

Hi,
Sorry i made an issue before and then i thought i solved it. But it is still not working. I made a sandbox: https://codesandbox.io/s/wispy-fog-yq9ny?file=/src/App.js
When clicking a button it changes the state of the component. The state is used inside the validator. But it does not work. I might be overlooking something obvious?
Thanks for any help in this matter

I've decided to use another wizard. Thanks


Do not process attestation manifests

Some docker-built containers may have a so-called attestation manifest. These are not meant to be processed as normal images, but instead, will have an arch and OS of "unknown".
Preflight will now ignore any image listed in a manifest that has arch and OS as "unknown".

Here is the error detected by DCI: DeployableByOLM timeouted (did not fail but timeouted) because of non-satisfied constraints and junit file was not generated
time="2023-10-17T21:59:01Z" level=debug msg="running check" check=DeployableByOLM
time="2023-10-17T21:59:01Z" level=trace msg="reading annotations file from the bundle"
time="2023-10-17T21:59:01Z" level=debug msg="image extraction directory" directory=/tmp/preflight-3961701527/fs
time="2023-10-17T21:59:02Z" level=debug msg="operator metadata" metadata="{\"CatalogImage\":\"registry.dfwt5g.lab:4443/telcoci/preflight/disconnected-catalog@sha256:53ae0a58734a8aa06574e383c6f3cc6c34a54bfc55d12da182aa68f3bab90752\",\"Channel\":\"v1.3-eus\",\"PackageName\":\"ibm-mq\",\"App\":\"ibm-mq\",\"InstallNamespace\":\"ibm-mq\",\"TargetNamespace\":\"ibm-mq-target\",\"InstallModes\":{\"AllNamespaces\":{\"type\":\"AllNamespaces\",\"supported\":true},\"MultiNamespace\":{\"type\":\"MultiNamespace\",\"supported\":false},\"OwnNamespace\":{\"type\":\"OwnNamespace\",\"supported\":true},\"SingleNamespace\":{\"type\":\"SingleNamespace\",\"supported\":true}},\"CsvNamespaces\":null,\"InstalledCsv\":\"\"}"
time="2023-10-17T21:59:02Z" level=trace msg="creating namespace" namespace=ibm-mq
time="2023-10-17T21:59:02Z" level=trace msg="creating namespace" namespace=ibm-mq-target
time="2023-10-17T21:59:02Z" level=trace msg="creating secret" name=registry-auth-keys namespace=ibm-mq
time="2023-10-17T21:59:02Z" level=trace msg="creating CatalogSource" name=ibm-mq namespace=ibm-mq
time="2023-10-17T21:59:02Z" level=debug msg="operator install mode" installMode="\"OwnNamespace\""
time="2023-10-17T21:59:02Z" level=debug msg="OperatorGroup TargetNamespaces" namespace="[\"ibm-mq\"]"
time="2023-10-17T21:59:02Z" level=trace msg="creating OperatorGroup" name=ibm-mq namespace=ibm-mq
time="2023-10-17T21:59:02Z" level=trace msg="creating Subscription" name=ibm-mq namespace=ibm-mq
time="2023-10-17T21:59:02Z" level=debug msg="watch: waiting for object to become ready" name=ibm-mq namespace=ibm-mq
time="2023-10-17T21:59:02Z" level=trace msg="fetching subscription" name=ibm-mq namespace=ibm-mq
time="2023-10-17T21:59:02Z" level=trace msg="current subscription status" status="{\"lastUpdated\":null}"
time="2023-10-17T21:59:02Z" level=debug msg="watch: object is not set yet, retrying" name=ibm-mq namespace=ibm-mq
time="2023-10-17T21:59:04Z" level=debug msg="watch: waiting for object to become ready" name=ibm-mq namespace=ibm-mq
time="2023-10-17T21:59:04Z" level=trace msg="fetching subscription" name=ibm-mq namespace=ibm-mq
time="2023-10-17T21:59:04Z" level=trace msg="current subscription status" status="{\"conditions\":[{\"type\":\"ResolutionFailed\",\"status\":\"True\",\"reason\":\"ConstraintsNotSatisfiable\",\"message\":\"constraints not satisfiable: subscription ibm-mq exists, no operators found from catalog ibm-mq in namespace ibm-mq referenced by subscription ibm-mq\"}],\"lastUpdated\":\"2023-10-17T21:59:02Z\"}"
time="2023-10-17T21:59:04Z" level=debug msg="watch: object is not set yet, retrying" name=ibm-mq namespace=ibm-mq
time="2023-10-17T21:59:06Z" level=debug msg="watch: waiting for object to become ready" name=ibm-mq namespace=ibm-mq

The reason of timeout
[{'message': 'constraints not satisfiable:
subscription ibm-mq requires ibm-mq/ibm-mq/v1.3-eus/ibm-mq.v1.3.1,
subscription ibm-mq exists,
bundle ibm-mq.v1.3.1 requires an operator with package:
ibm-common-service-operator and with version in range: >=3.6.0 <3.7.0',
'reason': 'ConstraintsNotSatisfiable',
'status': 'True', 'type': 'ResolutionFailed'},
{'lastTransitionTime': '2023-10-17T21:59:09Z',
'message': 'all available catalogsources are healthy',
'reason': 'AllCatalogSourcesHealthy', 'status': 'False',
'type': 'CatalogSourcesUnhealthy'}]

Operator:
      - bundle_image: "docker.io/ibmcom/ibm-mq-operator-bundle@sha256:723e3abcf5f8e2eea1458289c35b67cdcef92c3c256d3f384d6e4275302f0a89" # v1.3.1
        index_image: "docker.io/ibmcom/ibm-mq-operator-catalog:v1.3.1"

I see two problems here:

We should check about this operator, maybe it's outdated
Preflight DeployableByOLM should not timeout without failing even if the operator could not be installed with OLM.

@tkrishtop This code isn't on the test path for operators, so it seems like there is probably an issue with the operator itself, or the cluster that this is run on. preflight forces a timeout after 180 seconds, so that we always finish and produce results.
I see this in the DCI logs,
{\\\"type\\\":\\\"CatalogSourcesUnhealthy\\\",\\\"status\\\":\\\"False\\\",\\\"reason\\\":\\\"AllCatalogSourcesHealthy\\\",\\\"message\\\":\\\"all available catalogsources are healthy\\\",\\\"lastTransitionTime\\\":\\\"2023-10-17T21:59:09Z\\\"}],\\\"lastUpdated\\\":\\\"2023-10-17T21:59:24Z\\\"}\"", "time=\"2023-10-17T22:00:12Z\" level=debug msg=\"watch: object is not set yet, retrying\" name=ibm-mq namespace=ibm-mq"], "stdout": "", "stdout_lines": []}
...ignoring

Is this DCI timing out before preflight is finished? We can move this to another issue, since I don't want to hold up this PR for something unrelated.


Fixing C standard related error, formatting lv_conf_templ.h

Regarding lv_conf_templ: I saw that most definitions in it are aligned to 4-space positions, so I fixed those few which were not.

oops just saw one more thing to fix - please disregard this, I will amend my commit and request again  (to minimize noise commits)
:)

Ok, thanks :)


LanceDB Async API epic

[ ] Publish lancedb rust crate (keep vectordb rust crate for a little while)
[ ] Publish lancedb npm package with new nodejs api (keep vectordb npm package for a little while)
[ ] Move LanceDB python onto lancedb rust crate via pyo3 https://github.com/lancedb/lancedb/issues/849
[ ] Add async API for both local and remote in python SDK #830

excited to see this in the queue, asyncio support in Python would go far!

Release plan:
TENTATIVE:

Monday 3/18 - lancedb rust crate should be released.
Friday 3/22 TypeScript - lancedb npm package to be released
Friday 3/22 Python - async API to be released


[Snyk] Upgrade io.cucumber:cucumber-junit from 7.4.1 to 7.7.0

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade io.cucumber:cucumber-junit from 7.4.1 to 7.7.0.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 3 versions ahead of your current version.
The recommended version was released 23 days ago, on 2022-09-08.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

Resolvido em 56f8383


proposal: encoding/xml: context-aware XML decoders

I think it would be a good idea to add context.Context to xml.Decoder.
Addition of context will allow passing various options to UnmarshalerXML implementations per decoding procedure, rather that by maintaining some state on the side.
There are xml.HTMLAutoClose and xml.HTMLEntity that could be also stored in the context.Context of xml.Decoder instead of having them as global values. To maintaing backward compatibility those variables can remain to be consulted if no values is set on the context.
As a bonus, it will allow both internal and custom unmarshaling logic to abort parsing on deadline.
What do you think?

We don't normally use context.Context values to pass parameters to a function.  A context.Context can hold values, but that is intended to hold things like a request ID for profiling, logging, and tracing.
Interrupting XML parsing based on a deadline doesn't sound like a very useful feature to me.  It would be reasonable for the reader to implement some sort of deadline, but that doesn't require passing a context through the XML code.

I see. How about adding just an publicly accessible interface{} to xml.Decoder, i.e. xml.Decoder.Opts? This would effectively allow to provide configuration to UnmarshalXML configuration per call as well.

Can you give an example of where that would be used?

I'm implementing a custom XML parser, and I want to support "strict" and "non-strict" modes. Strict mode being disallowing cdata and unknown elements, and a few other tweaks.
I currently don't need to modify this state during the parsing, however I may need to parse some parts of xml document "strictly" and some "not strictly", and then I'd switch the strictness while inside the UnmarshalXML call (after processing a token).
I'm building this thing to work with some strange XML API I'm not in control of.

Seems like if you are implementing a custom XML parser, it can do whatever you like.
The question here is what do with the standard encoding/xml parser.  encoding/xml doesn't take any options that an XML unmarshaler could reasonably change, so I don't see a reason to give the unmarshaling methods a mechanism for changing options.

Well, I have phrased incorrectly. I'm not building a custom parser, but custom UnmarshalXML implementations on to of standard library. Right now there's no elegant way to extend the xml.Decoder's state machine with custom logic, and I'd very much like to do that. What makes things worse is the fact that everywhere decoder is a concrete type, and not an interface.
Maybe there's a way to use a some kind of wrapper around standard xml.Decoder that would be accessible to xml.UnmarshalXML calls? Or any other way to carry on additional state...

It's likely that I still misunderstand, but the current XML parser is not designed to be extended, and that is not a feature we are going to add.  We've had enough trouble with it.  And of course one doesn't normally pass multiple types to an XML decoder, so I'm still having some trouble envisioning what you want.

This is a concrete example:
type Decoder struct {
    ...
    CustomState interface{}
}

However if it's been problematic with xml package and you don't want to touch it I can usnderstand why. I can always use a non-standard library, so no problem here.

More explaination:
That would be the only addition to the standard library. User would assign CustomState after creating a Decoder and be reading/reassigning it from an UnmarshalXML implementation.
Simple and useful.

I suppose you could do that by writing
type CustomUnmarshaler struct {
    State *MyState
    Val interface{}
}

c := CustomUnmarshaler {
    &state,
    nil
}
xml.Unmarshal(r, &c)

All the various custom unmarshal types would point to the same state.  Afterward you would extract the values.

With that approach I kind of have to to have a copy of the type hierarchy with every type wrapped with CustomUnmarshaller. It would work, it's true, but it is neither efficient nor elegant. This may be improved by doing the wrapping at runtime with reflection. However it's again not efficient. I thought go was idiomaticlly against stuff like that (this seems a lot like generics).

I agree it's not great.  I wouldn't go so far as to say that Go is idiomatically against that kind of thing.
In any case I don't think the standard library encoding/xml package is going to provide the kind of flexibility you are looking for.  It seems very special purpose to me, and will tend to be a maintenance burden on the standard library.  I recommend just copying the standard library package and modifying it to serve your needs.

I am strongly opposed to using the context type in this fashion. At best context is used for handling the lifetime of a request, it’s use as an arbitrary bag of values in this proposal is antithetical to its intended use.

On 17 Oct 2017, at 00:16, MOZGIII<EMAIL_ADDRESS>wrote:
I think it would be a good idea to add context.Context to xml.Decoder.
Addition of context will allow passing various options to UnmarshalerXML implementations per decoding procedure, rather that by maintaining some state on the side.
There are xml.HTMLAutoClose and xml.HTMLEntity that could be also stored in the context.Context of xml.Decoder instead of having them as global values. To maintaing backward compatibility those variables can remain to be consulted if no values is set on the context.
As a bonus, it will allow both internal and custom unmarshaling logic to abort parsing on deadline.
What do you think?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

[Repeating answer on very similar #23059]
Contexts are not for per-operation options. It's for timeouts and more global things like authorization credentials, not fine-grained per-call options. We pulled sql.TxOption out of context before Go 1.9 for the same reason. Think about "would this be appropriate to set and force into all operations during a given client RPC", even nested operations calling into unrelated different APIs in back ends (to gather information for the response). Unfortunately I don't know of a good post explaining this nuance with context.
More generally, the xml package is almost completely done. If you need significantly extended semantics (and it seems you do), then it would be fine to copy the current one and make your own modifications, creating a new package customized to your use case.

Makes sense. I agree with your point @rsc.
By the way, is it a good practice to copy the parts of the standard library?

By the way, is it a good practice to copy the parts of the standard library?

You'll get a better answer to this question over on golang-nuts or some other forum (https://golang.org/wiki/Questions).  Personally I see no problem with it but others may have different perspectives.


Normalize 'did' and 'did_doc' field names in creq/cresp

Signed-off-by: Daniel Hardman<EMAIL_ADDRESS>

Per previous approval from multiple maintainers on rocket chat, I am going to go ahead and merge this change.

This change was discussed and approved here: https://chat.hyperledger.org/channel/indy-agent?msg=Xes3cnmr4TvpgFjRC


Add license file

What
Add the MOJ license file to stop ops engineering picking on us for non-compliance
Checklist
Before you ask people to review this PR:

Tests and rubocop should be passing: bundle exec rake
Github should not be reporting conflicts; you should have recently run git rebase main.
There should be no unnecessary whitespace changes. These make diffs harder to read and conflicts more likely.
The PR description should say what you changed and why, with a link to the JIRA story.
You should have looked at the diff against main and ensured that nothing unexpected is included in your changes.
You should have checked that the commit messages say why the change was made.
You should have run NOCOVERAGE=true rake rswag to ensure the swagger docs are up-to-date

👍 better late than never 😄
Could add that badge thing too
https://github.com/orgs/ministryofjustice/teams/operations-engineering/discussions

Not until it passes! even then I'm not convinced! :D

Not until it passes! even then I'm not convinced! :D

FYI it will be red/fail on merge but overnight, as long as these rules are met (which i think it would now), it should go blue


Feature/#13 common enttiy model

Feature/#13 common enttiy model 공통 디렉토리 작업 및 공통 entity 작업 완료

this is #16 end

ths is #15 end

this is closed #16

this is closed #15


TabBar with shadow/underline under it after upgrade to 3.7

Steps to Reproduce
A Flutter project at version 3.7 with Material 3 enabled in it's theme settings.
Expected results:
A Tab Bar with no shadow or underline.
Actual results:
After updating Flutter to latest version (3.7) the TabBar appears with a strange shadow/underline under it that I couldn't remove.

Code sample
DefaultTabController(
      length: 2,
      child: Scaffold(
        appBar: AppBar(
          centerTitle: true,
          title: Text(
            'Products',
            style: AppFonts.khandMedium(24, AppColors.primary),
          ),
          bottom: const TabBar(
            indicatorPadding: EdgeInsets.symmetric(horizontal: 20),
            padding: EdgeInsets.zero,
            labelPadding: EdgeInsets.zero,
            tabs: [
              SizedBox(height: 40, child: Center(child: Text('Tab 1'))),
              SizedBox(height: 40, child: Center(child: Text('Tab 2'))),
            ],
          ),
        ),
        body: const TabBarView(
          children: [
            BodyOne(),
            BodyTwo(),
          ],
        ),
      ),
    );

Logs
[✓] Flutter (Channel stable, 3.7.0, on Microsoft Windows [versÆo 10.0.22000.1455], locale pt-BR)
    • Flutter version 3.7.0 on channel stable at D:\Programas\Flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b06b8b2710 (3 days ago), 2023-01-23 16:55:55 -0800
    • Engine revision b24591ed32
    • Dart version 2.19.0
    • DevTools version 2.20.1

[✗] Windows Version (Unable to confirm if installed Windows version is 10 or greater)

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at D:\Programas\Android\SDK
    • Platform android-33-ext4, build-tools 33.0.1
    • Java binary at: D:\Programas\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Android Studio (version 2022.1)
    • Android Studio at D:\Programas\Android\Android Studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] VS Code (version 1.70.2)
    • VS Code at D:\Users\Schubert\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.46.0

[✓] Connected device (3 available)
    • sdk gphone64 x86 64 (mobile) • emulator-5554 • android-x64    • Android 13 (API 33) (emulator)
    • Chrome (web)                 • chrome        • web-javascript • Google Chrome 108.0.5359.125
    • Edge (web)                   • edge          • web-javascript • Microsoft Edge 109.0.1518.61

What device are you running this on?
Using the following sample code, I cannot reproduce this on stable (Flutter 3.7.0, Dart 2.19):
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primarySwatch: Colors.blue,
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  final String title;

  const MyHomePage({
    Key? key,
    required this.title,
  }) : super(key: key);

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  @override
  Widget build(BuildContext context) {
    return DefaultTabController(
      length: 2,
      child: Scaffold(
        appBar: AppBar(
          centerTitle: true,
          title: const Text('Products'),
          bottom: const TabBar(
            indicatorPadding: EdgeInsets.symmetric(horizontal: 20),
            padding: EdgeInsets.zero,
            labelPadding: EdgeInsets.zero,
            tabs: [
              SizedBox(height: 40, child: Center(child: Text('Tab 1'))),
              SizedBox(height: 40, child: Center(child: Text('Tab 2'))),
            ],
          ),
        ),
        body: const TabBarView(
          children: [
            Center(child: Text('Tab 1')),
            Center(child: Text('Tab 2')),
          ],
        ),
      ),
    );
  }
}

Hi @schuberty, this is according to the material 3 specs. See https://m3.material.io/components/tabs/specs.
What you're seeing is the divider from the spec.
@navaronbracke your screenshot also shows the divider, you happen to be using a different theme so it isn't as apparent as OPs.
Closing this since this is according to the material 3 specifications.
Thank you

Ok so how do we remove it?

ah divider color


Renaming a unique-name node with its own name in the editor gives an error message

Godot version
4.1
System information
linux
Issue description
simplescreenrecorder-2023-08-09_07.02.43.webm
Steps to reproduce

make a node uniquely named
rename it with its own name

Minimal reproduction project
any

Already fixed in 4.2dev.


docs: backport gomega matchers from v4

Backport documentation on gomega matchers from v4.
Checklist

[x] documentation is changed or added

Description of change
Add more documentation about the available gomega matchers so the end-users don't need to look at the Golang file https://github.com/aelsabbahy/goss/blob/master/resource/gomega_test.go .
If the end-user doesn't know Golang, it can be harder to understand them.
fix #782

I'll see if I have time to dig further, but truth is: I don't know Golang, so my reading can only be superficial.

Closing this, as v0.4.0 is already in release-candidate: https://github.com/goss-org/goss/releases/tag/v0.4.0-rc.1
Thank you for the contribution though. Please feel free to open up new issues if the new documentation/goss version is not behaving as expected.


[FEATURE] - iOS

Do you have any plans to make this app for iOS?
I tried the app today (on android) for the first time and was blown away by how seamless the connections switched, my use case is when I am connected to the home wifi I need it to connect using a local IP (profile 1) and when I am out it should switch to profile 2 (which uses wan ip).
This app works amazingly, many thanks Zane Schepke

You're welcome! Unfortunately, I do not have an plans right now to make an iOS app. I have considered building a cross platform desktop app that could potentially extend to iOS, but I don't know when I will have time to start it. 😆

You're welcome! Unfortunately, I do not have an plans right now to make an iOS app. I have considered building a cross platform desktop app that could potentially extend to iOS, but I don't know when I will have time to start it. 😆

Please make a cross-platform application using KMP, a Linux version would be especially valuable as the AmneziaWG client is only available for Windows & macOS.


Possibility to generate a path that does not use github.com?

It would be nice if lile could be configured to generate a package path that does not use github.com

Hi @lstep, it does!
If you try something like lile new apache.org/something/new then it should be linked to apache.org not github.com
Let me know if your specific use case isn't covered and I'll see if I can work something out.


Support text-objects

Using visual mode to select text for SnipRun is not an efficient vim workflow.
Implementing support for text-objects can be complex. An easier way would be to ensure the SnipRun function works properly with the toop#mapFunction() method of vim-toop.

Nice idea !
Sniprun will probably never be able to execute part of a line, and anyway such code would probably be incorrect semantically.
I probably just need to support line-wise motions, if that's a few lines of code i'd rather not depend on another plugin

implemented by @DarwinSenior 's #55 PR


Localize font files

Instead of linking to Google live. And consider using something from The League, at that.

https://github.com/mmastrac/webfont-dl via @konklone


ImportError: cannot import name 'config'

When I run train_net.py ,it shows this error .Can you tell why ,thanks!
/content/drive/My Drive/BorderDet/BorderDet/tools
pods_test  pods_train  test_net.py  train_net.py
Traceback (most recent call last):
File "train_net.py", line 38, in
from config import config
ImportError: cannot import name 'config'

Please run cvpod_train under dir like this. otherwise cvpods will not find your config and network.
Read the README.md carefully, please.

i run cvpods_train under dir like what you said
however, cvpods cant find config and network, why?

Did I get the directory structure wrong？

I manually raised the cvpods file in cvpods folder.
And is this the 'DefaultCheckpoint'?

I manually raised the cvpods file in cvpods folder, then

@shenhaibb  Please provide text error log next time, thanks. Image is not convenient for users to search and for me to check.
It seems that your cvpods doesn't contains checkpoint  in utils directory.

sorry, i will provide text instead of image next time
我的目录结构如下：

BordeDet-master

playgound
tools
...
cvpods

cvpods

checkpoints
configs

datasets
tools
...

Shoud i put all codes in BorderDet-master into cvpods-master folder?
I hava tried many structure but no one work

sorry, i will provide text instead of image next time
我的目录结构如下：

BordeDet-master

playgound

tools

...

cvpods

cvpods

checkpoints
configs

datasets

tools

...

There seems to be a problem with this directory structure.
After compiling, from cvpods layers, modeling, structure... in borderdet.py cant be imported
I think the cvpods folder should contain the borderdet folder (trying)

cvpods

cvpods

checkpoints
configs
...

datasets
BordeDet

playground
tools

And setup.py in the BorderDet
def get_version():     init_py_path = path.join(path.abspath(path.dirname(__file__)), "cvpods", "__init__.py")
Do we need to replace it with the following code:
init_py_path = path.join(path.abspath(path.dirname(__file__)), "cvpods", "cvpods", "__init__.py") init_py_path = path.join(path.abspath(path.dirname(__file__)), "cvpods", "cvpods", "__init__.py") Otherwise it will show the fault No such file or directory: 'BorderDet/cvpods/init.py'`
Or what is the correct directory structure of the item?

Why you have two cvpods?

Did you cd your path to cvpods and run setup.py ? Plz don't use setup.py in BorderDet

Did you cd your path to cvpods and run setup.py ? Plz don't use setup.py in BorderDet

git clone https://github.com/Megvii-BaseDetection/cvpods.git
the name of this repo is cvpods, and there is a folder named cvpods in this repo

Did you cd your path to cvpods and run setup.py ? Plz don't use setup.py in BorderDet

I use Pycharm, download BorderDet and put it into Pycharm
then I git clone cvpods.git in BorderDet's path

my directory structure like this,

cvpods-master

cvpods

checkpoints
configs
...

datasets
BordeDet

playground
tools

and then I enter this cmd cd BorderDet/playground/detection/coco/borderdet/borderdet.res50.fpn.coco.800size.1x
pods_train --num-gpus 8
No module named 'config' in 'cvpods-master/tools/train_net.py', line 151

hey I solved it
my directory structure like this,

cvpods-master

cvpods

checkpoints
configs
...

datasets
BordeDet

playground
tools

then cd BorderDet && python3 setup.py build develop
there will be an error No such file or directory: 'BorderDet/cvpods/__init__.py' never mind
under BorderDet/tools, new 2 files 'pods_test' and pods_train can be seen
and then delete Line 192 in cvpods-master/setup.py, because there is no tools/pods_debug, and add BorderDet path like below
scripts=[             "BorderDet/tools/pods_train",             "BorderDet/tools/pods_test"         ],
and then enter cmd python3 setup.py build develop under cvpods-master
FInished processing dependencies for cvpods==0.1...
then turn to BorderDet/tools/train_net.py
there is an error in Line 26, change to below code.
from cvpods.checkpoint.checkpoint import DetectionCheckpointer
then cd BorderDet/playground/detection/coco/borderdet/borderdet.res50.fpn.coco.800size.1x
and pods_train --num-gpus 8

Permission denied: '/data'
turn to BorderDet/playground/detection/coco/borderdet/borderdet.res50.fpn.coco.800size.1x/config.py
Line 63 '/data/Outputs/model_logs/cvpods_playground',
change to 'data/Outputs/model_logs/cvpods_playground',

Traceback (most recent call last):
File "/media/henu/新加卷1/rxh/cvpods-master/BorderDet/tools/train_net.py",
line 216, in
launch(
File "/media/henu/新加卷1/rxh/cvpods-master/cvpods/engine/launch.py", lin
e 64, in launch
main_func(*args)
File "/media/henu/新加卷1/rxh/cvpods-master/BorderDet/tools/train_net.py",
line 203, in main
stage_main(args, config, build_model)
File "/media/henu/新加卷1/rxh/cvpods-master/BorderDet/tools/train_net.py",
line 126, in stage_main
cfg, logger = default_setup(cfg, args)


[Feature] support lake partition exchange

What type of PR is this：

[ ] BugFix
[x] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
https://github.com/StarRocks/starrocks/issues/21502
When writing data to an Iceberg partitioned table with an insert statement, values for the same partition column should be written to the same file.  And an iceberg sink operator could include multiple partitioned writers. In order to reduce small files, the partitions processed by each pipeline driver are orthogonal. If I use the current PartitionExchanger,  each chunk accepted by an iceberg_sink_operator may contain rows of multiple partitions. So I need to perform a second shuffle.  This result memory copy and lower performance.
In summary, supporting lake partition exchange is mainly to ensure that the partition column values of each chunk which iceberg_sink_operator accepted are the same.  and it only once shuffle when iceberg table sink writes to multiple partitions.
Problem Summary(Required) ：

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto backported to target branch

[ ] 3.0
[ ] 2.5
[ ] 2.4
[ ] 2.3

please add UT


Use sirupsen/logrus instead of Sirupsen/logrus

Where is this change made?

This is an open issue, we didn't do it. Please feel free to open a PR with the change or if it is blocking you for some reason I can do it. Let me know


Run UX audit to identify strings, UI, or UX that could be improved

Working on it: https://docs.google.com/spreadsheets/d/1aS-w9eGGSUQokWI1WE9aQseYPS7EvNJ1u6i3daQYLuM/edit#gid=0


Implemented AcmeCache trait

Fixes #3.
This uses async_trait to expose an interface to implement custom cache backends. An implementation for the filesystem is still provided.
Existing code should work -- in the hyper_rustls example, filling in the cache_dir setting compiles properly. The changes in the example file are primarily updates to support rustls 0.20.
I tried to make a blanket implementation for AsRef<Path> work, but I couldn't get Rust to infer the types on the actual order invocation -- it kept asking me to manually specify the type parameters. By using the macro approach, it allows existing code that uses Path/PathBuf and String/str to continue working.
I did notice on the async-std example that this breaks, because async-std provides its own PathBuf type. I was in the process of trying to just change the example to use std::path::PathBuf, but then discovered #4.
Please let me know if you have any feedback!

I hooked this new code up in to my database, and it works properly, but it was a breaking change. I'm not sure if I can address it or not. If you pass in an Option<PathBuf> instead of a reference, it doesn't work because it currently requires a reference instead of an AsRef.
When I try to introduce the AsRef, it causes the order invocation to require types to be specified again. The code fix is simple, just as_ref() it before passing it in.
If you have any ideas on how to make this not a breaking change, I'm happy to try other ideas.

I would suggest:

moving AcmeCache to fs
moving Account::cached_key_file_name to fs
deleting fs::read_if_exist and fs::write_file in order to directly put it into the trait
renaming fs to cache
and finally the impl like this:

#[async_trait]
impl<P> AcmeCache for P where P: AsRef<Path>+Send+Sync {
    type Error = std::io::Error;

    async fn read_account(
        &self,
        contacts: &[&str],
    ) -> Result<Option<Vec<u8>>, Self::Error> {
        let file = cached_key_file_name(contacts);
        let mut path = self.as_ref().to_path_buf();
        path.push(file);
        match read(path).await {
            Ok(content) => Ok(Some(content)),
            Err(err) => match err.kind() {
                ErrorKind::NotFound => Ok(None),
                _ => Err(err),
            },
        }
    }

    async fn write_account(
        &self,
        contacts: &[&str],
        contents: &[u8],
    ) -> Result<(), Self::Error> {
        let mut path = self.as_ref().to_path_buf();
        create_dir_all(&path).await?;
        path.push(cached_key_file_name(contacts));
        Ok(write(path, contents).await?)
    }

    async fn write_certificate(
        &self,
        domains: &[String],
        directory_url: &str,
        key_pem: &str,
        certificate_pem: &str,
    ) -> Result<(), Self::Error> {
        let hash = {
            let mut ctx = sha256_hasher();
            for domain in domains {
                ctx.update(domain.as_ref());
                ctx.update(&[0])
            }
            // cache is specific to a particular ACME API URL
            ctx.update(directory_url.as_bytes());
            base64::encode_config(ctx.finish(), base64::URL_SAFE_NO_PAD)
        };
        let file = AsRef::<Path>::as_ref(self).join(&format!("cached_cert_{}", hash));
        let content = format!("{}\n{}", key_pem, certificate_pem);
        write(&file, &content).await?;
        Ok(())
    }
}

It compiles and the fs stuff was not public and just a helper for the default caching. What do you think?

Thank you for the feedback. Good catch on the macro implementations not actually being needed anymore -- they were part of my failed attempt to allow impl AsRef<impl AcmeCache> as the parameter rather than &impl AcmeCache.
I went ahead and did one other thing -- I tend to dislike modules that only have one item inside of them. I originally was writing a comment suggesting pub use cache::AcmeCache at the top-level, but I renamed AnyError to CacheError and moved it into cache. This makes the module contain two items, which seems more reasonable to leave as a pub mod.
What do you think of these changes? Can you think of anything I missed?

Looks good to me.
Just one more thing: Could you add some docstrings to AcmeCache?

I've added some documentation, and I also rebased this branch so that I could verify generating docs works with both async_std_rustls and hyper_rustls.
The docs for async_traits aren't good, but I still prefer using async_traits to requiring users to deal with alternatives.


pdf.js loads forever on a certain page of this PDF

pdf.js loads forever while trying to load page 11 of this PDF: http://www.inf.ufg.br/~hugoribeiro/OSPs/osp-im.pdf
I also noted that my Kindle Paperwhite has problems rendering the same page (especifically, the monospaced text part), while Evince loads it just fine.

Thank you for reporting this. At first sight I do not see any immediate problems with that particular page. I was expecting to see a huge image that might take time to render, but it appears to be just text. We need to triage this.

Based on proposed #6695 solution, marking PDF as corrupted.
The bigger question here to resolve, why the rendering promise is not getting resolved?

With #6697 the infinite rendering issues for all pages are resolved. Now only the monospaced font is not displayed, which should also be resolved when #6695 is merged.

Awesome. Thanks. :)


Fix issue where all types are implicitly exported

Originally reported in this comment: https://github.com/marella/material-design-icons/pull/14#issuecomment-1312796361

Thanks for the fix. Released in @material-design-icons/font 0.14.1. It is working as expected now.


Custom methods on model?

Hi, this project looks great!
Is it possible to add custom methods to a model, something like the following?
userModel.methods.getFullName = function() {
    return this.fname + ' ' + this.lname;
}

+1, would love to know if this is in the future of Obey.js 👍

Just found https://github.com/node-modli/modli created by the same maintainers as Obey 💯

There isn't any built-in way to do this as it stands, however, as @ummjackson shared, Modli (built by our team) is a full CRUD solution which extends on Obey to allow for doing things like this.
Given getFullName is more a function of a data read action, and not so much one of validation, I would see it better placed outside the scope of Obey. You could do something as simple as:
const user = {
  schema: obey.model({
    fname: { type: 'string' },
    lname: { type: 'string' }
  }),
  getFullName: (data) => {
    return data.fname + ' ' + data.lname
  },
  read: () => {
    return db.read({...})
  }
  /* ...other custom methods... */
}

The above is essentially what Modli does, just creating a model object with other methods associated, then on create and update we just run the data through the schema's validate method beforehand.

I'm willing to reopen this if there's a sound argument for including this functionality, or simply to discuss further. However, for now I'm going to close it.


Translating API Reference -> ReactDOM

Translating API Reference -> ReactDOM

@charBap You have a pending PR open at #26
Let's close that first then we can start with the review of this PR.
@saranshkataria has left you a couple of feedbacks for that PR.
Can you resolve those, once that is merged I will start reviewing this PR.

@charBap please let us know if you will be able to complete the other PR so that we can work on this one

Closing due to inactivity


AWS Lambda

Can help, how to use it on AWS Lambda?

We need information deployment another than heroku


[WIP][SQL] Skip Hive tables with invalid metadata while converting to Catalog tables

What changes were proposed in this pull request?

Why are the changes needed?

Does this PR introduce any user-facing change?

How was this patch tested?

Test build #127096 has started for PR 29362 at commit 8e1475f.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31719/
Test PASSed.

Test build #127096 has finished for PR 29362 at commit 8e1475f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/127096/
Test PASSed.


fixing thread-safety issues with single processor handling all partitions

Hi,
As raised before, current implementation is not thread-safe since data gets received by the processor for all partitions. This small fix allows that one processor gets created for each partition.
It was impossible to add unit test.
Cheers
Ali

looks good. ack on untestable which is a known issue with the library sadly
appreciated!

Thanks!


Explicit loops significantly faster than array multiplications (even with SIMD)

The code to try to reproduce this is here (with a Makefile to compile and do the benchmarking with perf): https://bitbucket.org/fluiddyn/fluidfft/src/master/bench/pythran_implicit_loop
The python code:
import numpy as np

# pythran export myfunc(float64[][])
# pythran export myfunc(complex128[][])
# pythran export myfunc(float64[][][])
# pythran export myfunc(complex128[][][])

def myfunc(a):
    return (a**2 + a**3 + 2) / 5.

# pythran export myfunc_loops2d(float64[][])
# pythran export myfunc_loops2d(complex128[][])

def myfunc_loops2d(aa):
    n0, n1 = aa.shape
    result = np.empty_like(aa)
    for i0 in range(n0):
        for i1 in range(n1):
            a = aa[i0, i1]
            result[i0, i1] = myfunc(a)
    return result

# pythran export myfunc_loops3d(float64[][][])
# pythran export myfunc_loops3d(complex128[][][])

def myfunc_loops3d(aa):
    n0, n1, n2 = aa.shape
    result = np.empty_like(aa)
    for i0 in range(n0):
        for i1 in range(n1):
            for i2 in range(n2):
                a = aa[i0, i1, i2]
                result[i0, i1, i2] = myfunc(a)
    return result

On my computers, the implementations with explicit loops are significantly faster than the one with the array multiplications. I try to add the SIMD precompiler flag but it does not change anything.
$ make
[...]
$ make perf2d
## default 2d (no loop)
python -m perf timeit -s \
  'from bench import myfunc_default as func, f2d as arr' 'func(arr)'
.....................
Mean +- std dev: 10.6 ms +- 0.0 ms
# default 2d (explicit loops)
python -m perf timeit -s \
  'from bench import myfunc_loops2d_default as func, f2d as arr' 'func(arr)'
.....................
Mean +- std dev: 5.39 ms +- 0.01 ms
# simd 2d (no loop)
python -m perf timeit -s \
  'from bench import myfunc_simd as func, f2d as arr' 'func(arr)'
.....................
Mean +- std dev: 10.7 ms +- 0.3 ms
# simd 2d (explicit loops)
python -m perf timeit -s \
  'from bench import myfunc_loops2d_simd as func, f2d as arr' 'func(arr)'
.....................
Mean +- std dev: 5.40 ms +- 0.01 ms

The instruction set of the cpu:
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm arat epb xsaveopt pln pts dtherm invpcid_single tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid

@paugier which compiler are you using? Any relevant extra flags in your .pythranrc ? I fail to reproduce such differences...

These results were obtained with gcc (4.9 and today I get something similar with gcc 5.4.0).
The performance differences are smaller with clang, especially with SIMD.
I added comparisons between clang and gcc for the 2d and 3d cases here https://bitbucket.org/fluiddyn/fluidfft/src/master/bench/pythran_implicit_loop (files results*d.txt).
No particular extra flags in my .pythranrc, just complex_hook = True.

No particular extra flags in my .pythranrc, just complex_hook = True.

And if you set it to False ?

Complex computations are slower without complex_hook, and explicit loops are still faster.
You can compare:

https://bitbucket.org/fluiddyn/fluidfft/src/default/bench/pythran_implicit_loop/results2d.txt
https://bitbucket.org/fluiddyn/fluidfft/src/default/bench/pythran_implicit_loop/results2d_complex_hook_False.txt

[pythran]
complex_hook = False

# complex128

## With clang 5.0.0

$ make perf2d  # complex

### default 2d (no loop)
Mean +- std dev: 21.3 ms +- 1.1 ms

### default 2d (explicit loops)
Mean +- std dev: 7.76 ms +- 0.57 ms

### simd 2d (no loop)
Mean +- std dev: 19.4 ms +- 1.3 ms

### simd 2d (explicit loops)
Mean +- std dev: 7.50 ms +- 0.09 ms

## With gcc 5.4.0

$ make perf2d  # complex

### default 2d (no loop)
Mean +- std dev: 23.7 ms +- 1.1 ms

### default 2d (explicit loops)
Mean +- std dev: 14.8 ms +- 1.6 ms

### simd 2d (no loop)
Mean +- std dev: 241 ms +- 5 ms

### simd 2d (explicit loops)
Mean +- std dev: 128 ms +- 14 ms

@paugier : #1030 should definitively close the issue... or so I hope! Can you confirm?

The following are the results, in my laptop after a sudo python -m perf system tune.
branch master (6f2a8f6)
# with gcc 8.2.1 (with an empty `~/.pythranrc`)
## default 2d (no loop)
Mean +- std dev: 18.3 ms +- 0.3 ms
# default 2d (explicit loops)
Mean +- std dev: 11.4 ms +- 0.0 ms
# simd 2d (no loop)
Mean +- std dev: 18.7 ms +- 0.2 ms
# simd 2d (explicit loops)
Mean +- std dev: 11.4 ms +- 0.1 ms

# with gcc 8.2.1 (with `complex_hook=True` inside `~/.pythranrc`)
## default 2d (no loop)
Mean +- std dev: 5.48 ms +- 0.49 ms
# default 2d (explicit loops)
Mean +- std dev: 4.50 ms +- 0.11 ms
# simd 2d (no loop)
Mean +- std dev: 5.20 ms +- 0.03 ms
# simd 2d (explicit loops)
Mean +- std dev: 4.33 ms +- 0.01 ms

branch fix/complex-scalar-broadcast-perf (9d18ec6)
# with gcc 8.2.1 (with an empty `~/.pythranrc`)
$ make perf2d
## default 2d (no loop)
Mean +- std dev: 14.2 ms +- 0.2 ms
# default 2d (explicit loops)
Mean +- std dev: 10.9 ms +- 0.0 ms
# simd 2d (no loop)
Mean +- std dev: 14.2 ms +- 0.3 ms
# simd 2d (explicit loops)
Mean +- std dev: 10.9 ms +- 0.1 ms

# with gcc 8.2.1 (with `complex_hook=True` inside `~/.pythranrc`)
$ make perf2d
## default 2d (no loop)
Mean +- std dev: 6.07 ms +- 0.07 ms
# default 2d (explicit loops)
Mean +- std dev: 4.45 ms +- 0.14 ms
# simd 2d (no loop)
python -m perf timeit -s \
Mean +- std dev: 5.49 ms +- 0.14 ms
# simd 2d (explicit loops)
Mean +- std dev: 4.40 ms +- 0.15 ms

It seems that there is some improvement using the default options and using numpy like broadcasting, from ~18ms to ~14ms. However the benchmarks also suggest it is still ~ 20% to 40% slower with explicit loops. It is maybe too early to close this issue?

Hi @serge-sans-paille
For me with clang 6.0 it is much better now! Impressive! Thank you for your work on this issue and glad that you managed to make the transition towards xsimd.
branch master
# simd 2d (no loop)
.....................
Mean +- std dev: 7.47 ms +- 0.02 ms
# simd 2d (explicit loops)
.....................
Mean +- std dev: 5.72 ms +- 0.03 ms

branch fix/complex-scalar-broadcast-perf
# simd 2d (no loop)
.....................
Mean +- std dev: 5.54 ms +- 0.01 ms
# simd 2d (explicit loops)
.....................
Mean +- std dev: 5.72 ms +- 0.03 ms

@paugier : thanks for the positive feedback. I just pushed an update in the same branch, on my laptop this leads to significant improvments with gcc, can you confirm?

I'm sorry but I cannot confirm. Your last commit does not change anything for me...

On Tue, Oct 02, 2018 at 09:46:53AM -0700, Pierre Augier wrote:

I'm sorry but I cannot confirm. Your last commit does not change anything for
me...

That's surprising, because it does on my laptop. I'll run your benchmark
instead of mine tomorrow. Thanks for the feedback anyway!

Only partially fixed by #1030, keeping this one open.

Unfortunately no. Still the same performance issue with gcc 6.3 on my desktop.
I'm going to try on another computer.
I'm also starting to think it could be an issue with our method of measurement (no idea why but...). @serge-sans-paille which benchmark do you use? How do you run it?

For me the timings look awesome with gcc 8.2.1.

without complex_hook

## default 2d (no loop)
.....................
Mean +- std dev: 8.14 ms +- 0.36 ms
# default 2d (explicit loops)
.....................
Mean +- std dev: 7.48 ms +- 0.29 ms
# simd 2d (no loop)
.....................
Mean +- std dev: 7.41 ms +- 0.29 ms
# simd 2d (explicit loops)
.....................
Mean +- std dev: 7.07 ms +- 0.34 ms

with complex_hook=True

## default 2d (no loop)
.....................
Mean +- std dev: 4.71 ms +- 0.22 ms
# default 2d (explicit loops)
.....................
Mean +- std dev: 4.56 ms +- 0.15 ms
# simd 2d (no loop)
.....................
Mean +- std dev: 5.57 ms +- 0.17 ms
# simd 2d (explicit loops)
.....................
Mean +- std dev: 4.38 ms +- 0.18 ms

compared to what I reported before.
I believe most of the performance gains are from the improvements to the numpy.square function as indicated by the pythran -P output:
import numpy as __pythran_import_numpy
def myfunc(a):
    return (((__pythran_import_numpy.square(a) + (__pythran_import_numpy.square(a) * a)) + 2) / 5.0)

I wonder if our test-case is SIMD-optimizable? Are our flags good enough?
$(name)_simd.so: $(name).py
	pythran -v $(name).py -march=native -DUSE_XSIMD -o $(name)_simd.so

After a quick asm inspection, turns out pythran does not use XSIMD when mixing complex numpers and scalars, which is a performance bug. I'll fix that.

Thanks @paugier and @ashwinvis for the promising timing. I fixed a vectorization issue in fix/more-complex-vectorize branch #1044. And it's blazing fast on my laptop now. Same on your setup? -DXSIMD on.

Yes, finally I confirm! It's fast!
branch fix/more-complex-vectorize
gcc 6.3
## default 2d (no loop)
Mean +- std dev: 10.6 ms +- 0.0 ms
# default 2d (explicit loops)
Mean +- std dev: 5.41 ms +- 0.01 ms

# simd 2d (no loop)
Mean +- std dev: 5.72 ms +- 0.01 ms  <- broadcasting is now (nearly) as fast as explicit loops!
# simd 2d (explicit loops)
Mean +- std dev: 5.46 ms +- 0.01 ms

clang 6.0
Clang is still better for broadcasting, even without SIMD...
Strangely, with my setup, adding XSIMD slightly decreases the performance for clang. But it's a very small effect.
## default 2d (no loop)
Mean +- std dev: 5.56 ms +- 0.03 ms
# default 2d (explicit loops)
Mean +- std dev: 5.56 ms +- 0.02 ms

# simd 2d (no loop)
Mean +- std dev: 5.66 ms +- 0.01 ms
# simd 2d (explicit loops)
Mean +- std dev: 5.73 ms +- 0.04 ms

Noticeable improvement with SIMD here as well, with gcc 8.2.1!

no complex_hook:

## default 2d (no loop)
Mean +- std dev: 8.09 ms +- 0.29 ms
# default 2d (explicit loops)
Mean +- std dev: 7.49 ms +- 0.29 ms
# simd 2d (no loop)
Mean +- std dev: 5.46 ms +- 0.09 ms <-------- BIG WIN!
# simd 2d (explicit loops)
Mean +- std dev: 7.09 ms +- 0.19 ms

with complex_hook

## default 2d (no loop)
Mean +- std dev: 4.68 ms +- 0.14 ms
# default 2d (explicit loops)
Mean +- std dev: 4.58 ms +- 0.28 ms
# simd 2d (no loop)
Mean +- std dev: 5.46 ms +- 0.06 ms <-------- Seems like complex_hook is not applied
# simd 2d (explicit loops)
Mean +- std dev: 4.37 ms +- 0.20 ms

Seems like the original issue is resolved now. :confetti_ball:
As a side note @paugier, it might be worthwhile to compare the actual gcc commands executed. I will share mine for the :
# Compile
C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fstack-protector-strong -fno-plt -flto=4 -fuse-linker-plugin -ffat-lto-objects -flto-partition=none -march=x86-64 -mtune=generic -O3 -pipe -fstack-protector-strong -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fstack-protector-strong -fno-plt -fPIC
extra options: '-std=c++11 -fno-math-errno -w -fvisibility=hidden -fno-wrapv -std=c++11 -fno-math-errno -w -fvisibility=hidden -fno-wrapv -march=native'

# Link
g++ -pthread -shared -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -flto=4 -fuse-linker-plugin -ffat-lto-objects -flto-partition=none -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now /tmp/tmp8oauit2o/tmp/tmpzrr1q89p.o -L/usr/lib64 -L/usr/lib64 -L/usr/lib -lcblas -lblas -lcblas -lblas -lpython3.7m -o /tmp/tmp4hj37o9c/mymod_simd.cpython-37m-x86_64-linux-gnu.so -fvisibility=hidden -Wl,-strip-all -fvisibility=hidden -Wl,-strip-all -march=native

Great, let's close this issue then, now that #1044 is merged.


Sorting Books Fix

This is really cool, thanks for getting this done so quickly! Out of curiosity, were you able to collect datasets for this task without using a while loop?

This is really cool, thanks for getting this done so quickly! Out of curiosity, were you able to collect datasets for this task without using a while loop?

No, but almost we get around 8/10.


Cant use gap tokens in contentContainerStyle of a ScrollView

Description
When trying to set a gap with a token value in contentContainerStyle prop of a ScrollView component, I get a weird type error, like tokens are not allowed there
CodeSandbox/Snack link
No response
Steps to reproduce
No response
gluestack-ui Version
1.1.17
Platform

[X] Expo
[ ] React Native CLI
[ ] Next
[ ] Web
[ ] Android
[ ] iOS

Other Platform
No response
Additional Information

Just got the same for padding, looks like no tokens are available for this container

@lhguerra You can try this solution.
https://github.com/facebook/react-native/issues/36024#issuecomment-1411514404

@lhguerra, typing support for tokens in contentContainer style in not supported yet. We're working on it. Thanks for your patience.


Better way to handle licensing errors

Description of the feature
There needs to be a better way of handling licensing errors when launching mapdl using launch_mapdl().
For example, when running launch_mapdl() with -mpi INTELMPI, it looks like the licensing arguments were swallowed. Here is the traceback:
  Input In [6] in <cell line: 1>
    mapdl = launch_mapdl(additional_switches='-mpi INTELMPI -p mech_1')

  File ~\anaconda3\lib\site-packages\ansys\mapdl\core\launcher.py:1655 in launch_mapdl
    lic_check.check()

  File ~\anaconda3\lib\site-packages\ansys\mapdl\core\licensing.py:452 in check
    raise LicenseServerConnectionError("\n".join(self._license_file_msg))

LicenseServerConnectionError: 2022/12/12 14:29:48    DENIED              mech_1                          22.1 (2021.1108)             1/0/0/0                 1/1/1/1   17260:FEAT_ANSYS:GillaughD@B018L10033128:winx64            6908:<IP_ADDRESS>
		Insufficient Ansys Mechanical Pro licenses available.
		Licensed number of users already reached.
		Feature:       mech_1
		License path:  1055@B018L10033128;
		FlexNet Licensing error:-4,132

2022/12/12 14:29:48    DENIED              FEAT_MECH_1                     22.1 (2021.1108)             1/0/0/0                 1/1/1/1   17260:FEAT_ANSYS:GillaughD@B018L10033128:winx64            6908:<IP_ADDRESS>
		Failover feature 'Ansys Mechanical Pro' is not available.
		Insufficient Ansys Mechanical Pro licenses available.
		Licensed number of users already reached.
		Feature:       mech_1
		License path:  1055@B018L10033128;
		FlexNet Licensing error:-4,132
2022/12/12 14:29:48    CLIENT_EXIT                                                                                0/1/1/1   17260:FEAT_ANSYS:GillaughD@B018L10033128:winx64            6908:<IP_ADDRESS>

Steps for implementing the feature
Someone programs it.
Useful links and references
No response

Hi @Gillaugh
I'm not sure I get the error here. You are using -p mech_1 which is the one which is shown in the traceback.
Could you specify a bit more what do you expect/would like to see?

Hi @Gillaugh
Like @germa89 I too am wondering what you would like the behavior to be as what is shown is standard MAPDL behavior, even not using PyMAPDL.
There is a native launch_mapdl() option "license_type" that you could use instead of the "-p" additional command line flag.  If neither are used then the license server should cycle through the list of available licenses for checkout.  If you only have one increment of one type of license then this would not be very useful...otherwise might be an option to try.
Mike

Thanks for the comments. When using launch_mapdl() or launch_mapdl(additional_switches='-p mech_1'), I get the above error message. I only have a single license of ANSYS on this PC, and i think a potential error could be a license manager issue.
The only way that I am able to use launch_mapdl() successfully is by manually opening the ANSYS Product Launcher, going into Customization/Preferences, using -grpc under additional parameters and running. Once I run this launcher, than launch_mapdl(additional_switches='-p mech_1') runs successfully within python.

@Gillaugh
It seems to me a license issue. What type of license do you have? You can check that by going to the Ansys License Manager app, Reporting > View current license usage. You can look for mechanical there:

Also

Once I run this launcher, than launch_mapdl(additional_switches='-p mech_1') runs successfully within python.

Actually you could avoid the additional switch because the instance is already running.

Closing issue. Feel free to reopen if you want to add something more.


Add ability to set a player to a specific role on a shop without removing and re-adding

Add SetManager/SetMember commands to automatically remove(if they are on the shop) and re-add as the specified role.
Requested by RocketManKian#8769 on Discord

Fixed in #127


No Response when Querying MDNS Cast Devices

Hello,
I'm trying to implement your MDNS library in a project I have that aims to communicate with chromecast devices.
I'm trying to get results for the record _googlecast._tcp.local, but keep getiting a TimeoutException:
  Thu, 18 May 2017 14:37:32 -0500 [ DEBUG ] api.php::testReact - Function fired!
  Thu, 18 May 2017 14:37:37 -0500 [ ERROR ] api.php::{closure} - Error:
  React\Dns\Query\TimeoutException: DNS query for _googlecast._tcp.local timed out in
  /volume1/Webroot/Phlex/vendor/clue/mdns-react/src/MulticastExecutor.php:84
  Stack trace:
  #0 [internal function]: Clue\React\Mdns\MulticastExecutor->Clue\React\Mdns\{closure}
  (Object(React\EventLoop\Timer\Timer))
  #1 /volume1/Webroot/Phlex/vendor/react/event-loop/src/Timer/Timers.php(90):
  call_user_func(Object(Closure), Object(React\EventLoop\Timer\Timer))
  #2 /volume1/Webroot/Phlex/vendor/react/event-loop/src/StreamSelectLoop.php(177):
  React\EventLoop\Timer\Timers->tick()
  #3 /volume1/Webroot/Phlex/api.php(1857): React\EventLoop\StreamSelectLoop->run()
  #4 /volume1/Webroot/Phlex/api.php(1732): testReact()
  #5 /volume1/Webroot/Phlex/api.php(164): scanDevices()
  #6 {main}

I don't see any other glaring errors in my logs that would indicate a systemic error, but I could also be mistaken.
I'm invoking the lookup like so:
  function testReact() {
   write_log("Function fired!");
      $name = '_googlecast._tcp.local';
      $loop = React\EventLoop\Factory::create();
      $factory = new Clue\React\Mdns\Factory($loop);
      $mdns = $factory->createResolver();
      $mdns->resolve($name)->then(function ($value) {
          write_log("Value: ".$value);
      },function ($value) {
          write_log("Error: ".$value,"ERROR");
      });
      $loop->run();
  }

I'm running this on Synology with apache 2.4 and php7.
Thanks!

Thanks for your interesting question!
It looks like what you're trying to achieve is actually DNS-SD instead of mDNS, as mentioned in the readme:

This library implements the mDNS protocol as defined in RFC 6762. Note that this protocol is related to, but independent of, DNS-Based Service Discovery (DNS-SD) as defined in RFC 6763.

In other words: mDNS deals with finding the IP of a given hostname via multicast, while DNS-SD can be used to find a list of devices that offer a certain service.
I hope this helps :+1:


Unable to verify signature error

When i install fresh live app, I am getting unable to verify signature exception. Previously it was working fine. but sudden getting this error.

Package Version: v17.1
Laravel Version: v7.29
PHP Version: v7.4

Closing as no reply. Feel free to reopen if the problem continues.


fix: 修复参数绑定的缺失this.

现状

### 实际

### 预期
点击后直接 getText()  -> this.getText()

 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.

@jiangtao 签一下 CLA


Moving explicit symbol id zero test case from bad to good

Per our discussion, the intent of the spec (which has been clarified) was that one possible encoding of symbol id zero was to set the length to zero and omit the remaining fields. As a result I'm moving this test case from bad to good since it's intended to be supported behavior

I'd actually say the single-byte form is the preferred encoding. We usually prefer to encode the smallest possible forms.
LGTM.


New package: Homebrew.Cortexso version 0.5.0-8

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Manual Validation ended with:

2024-08-02 20:24:24.627 [FAIL] Installer failed security check. Url: https://github.com/janhq/cortex/releases/download/v0.5.0-8/cortex-installer-0.5.0-8-amd64-windows.exe Result: 0x80004005

(Automated response - build 887.)

/azp run

Verify:


updated readme

@sararob -- please review.

@startupandrew two minor comments, otherwise looks good

Tweaks made. Thanks. PTAL.

@startupandrew I updated the link text on line 8, LGTM :+1:


Set flash message when updating org permissions

Context
The provider interface needs to distinguish between the initial setup and post-setup editing of org permissions. If it's the end of initial setup (part of onboarding), we show the 'success' page (as before). If a provider user is just editing org permissions post-setup, we show a flash message saying 'Permissions successfully changed'.
Changes proposed in this pull request
Add a setup query param, set by the start of the setup flow, to distinguish between the two flows. Add conditional redirects every time permissions are saved.
Guidance to review
The basic org permissions flow remains the same, but the following messages appear after permissions are saved:
Setup flow (additional setup needed):

Setup flow (end of setup):

Editing flow:

This PR includes another small bugfix:
Before:

After:

Link to Trello card
https://trello.com/c/kcAVxIch
https://trello.com/c/IVQrVhCy
Things to check

[x] This code doesn't rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] API release notes have been updated if necessary
[x] New environment variables have been added to the Azure config

I'm adopting this PR


[BUG] unexpected behavior of 'isHidden'

Describe the bug
I actually don't understand why isHidden logs an error and return null if the pane if not presented.
I would just expect to return false in case the pane is not present.
The return null is actually not the problem for me, but the logs really blow up the console sometimes.
Expected behavior
isHidden should not log warnings if the pane is not present.

Hey @NLueg good question!
Pane can be in two base statements: Presented and Destroyed
| base state | hidden | isHidden |
| Destroyed | null | null |
| Presented | true | true |
| Presented | false | false |
In other words, isHidden only accessible for presented pane. This way we can move pane out of screen, but persist in DOM.

Hey @roman-rr, thank you for your incredibly fast response!
So I could prevent the warning of being presented by using this condition:
drawer.isPresented() && drawer.isHidden()
Am I right? Then I totally understand the behavior.

@NLueg Right. isPanePresented looking for element with class .cupertino-pane-wrapper.rendered which is available only for rendered (presented pane). isHidden check if pane just out of screen.

Perfect, thank you!
Awesome plugin by the way! 😊


muon compatibility

I think it would make sense to explore compatibility with muon and see how viable that is.
It currently implements Meson 0.64 and has support for most of the features. To get it to work with meson-python, it might just need to export the necessary metadata.
https://muon.build/releases/edge/docs/status.html

Unless I read the linked page in the wrong way, it seems that the only method in the Meson's python module implemented by muon is fint_installation(). This is not really enough for most (all?) meson-python users, which expect to be able to build Python extension modules without too much plumbing on their side.

@dnicolodi muon now has muon meson which is a cli compatibility layer.  It translates meson flags into muon ones:
@kuro > ~/src/c/muon muon meson setup --prefix /asd --debug -Dfoo=bar build1 /path/to/src
args: ['muon', '-C/path/to/src', 'setup', '-Dprefix=/asd', '-Ddebug=true', '-Dfoo=bar', '/home/lattis/src/c/muon/build1']

Sure, but still you need to add one more parameter o the command line.

Or you could set MESON="muon meson".  Also, symlinking muon to meson will make muon automatically use the cli compat layer.

I don't think supporting a $MESON environment variable that contains more that the path to the Meson executable is feasible. It would be impossible to know whether MESON="/path/to the/meson/tool" should be interpreted as the /path/to/ executable run with the/meson/tool as first parameter or as a path /path/to the/meson/tool containing a space character. No, we are not going to sh lex the environment variable value, so no amount of quoting and escaping is going to fix this.
If you symlink muon to meson and the executable provides the exact same interfaces as meson, then we can already close this issue.

I mean, there's already a module for that in the standard library :rofl:
https://docs.python.org/3/library/shlex.html

But I agree, shlex-ing it would be too messy. The easier solution would be to just check if it's Meson or muon and add the meson argument on muon.

shlex'ing the value of a variable that wasn't always defined to contain shell quoting is potentially risky. It also means that to specify a path to meson that contains spaces, you'd have to play with multiple levels of quoting. It also doesn't intuitively work on windows, because shlex will do sh lexing, not cmd lexing.
I think supporting it as either a symlink or detecting when basename is muon and appending meson to it, is the superior approach vs. trying to pass quoting around.

it seems that the only method in the Meson's python module implemented by muon is fint_installation(). This is not really enough for most (all?) meson-python users, which expect to be able to build Python extension modules without too much plumbing on their side.

Well, all really.

I don't think there's such thing as a python extension module that doesn't want to be built with the py.extension_module() support for correctly defining the SO_EXT, so using the generic shared_module() function is unlikely to be something that actually happens.
whether pure or compiled, you want py.get_install_dir() instead of inventing your own custom options (and get_install_dir already has its own module option for free, if the autodetection fails).

Yes, but that's not that difficult to fix.

But indeed, the muon rationale here has been "get find_installation partially working, document the module as partially implemented, to cover a few common use cases of retrieving the installation as a script runner". The rest is up to whether people find it interesting to work on.
(It would be super cool to get additional support here.)
...
There are a couple other issues that may be larger. One is handling installed files without the meson-specific json introspection files (this seems rather complicated to add to muon). The other issue is machine file support. Cross compilation could be left for now to meson.py, I guess...

MESON="muon meson" now works after gh-458. There's no issue with spaces I believe; if the string is not a file then it's interpreted as the name of the executable to call.
The content of this issue is still relevant, especially the last comment above. There is probably nothing left to do inside meson-python though, so perhaps we should close this issue and open one on the muon repo about status and help needed for improving Python support?

MESON="muon meson" now works after gh-458.

I don't think that this works: there is no lexing, so an executable names "muon meson" would be searched in the path.

Oops, indeed - I should have verified first. We do now have the MESON environment variable, so it'd be a two line patch to add this:

The easier solution would be to just check if it's Meson or muon and add the meson argument on muon.

It's not going to help many end users yet because of the limited Python support in muon, but one could also argue that that's a chicken and egg problem. I'd be fine with adding the patch to make MESON=muon work. We can't really test that in the test suite though, so we can also leave it until it becomes actually useful to someone.

meson-python relies on introspection data exported by Meson. Using muon with meson-python would require having muon export introspection data exposing the same information. I don't see this happening any time soon, and the meson-python maintainers definitely do not have resources to dedicate to implement it.

This seems fine to close indeed. If and when muon adds support for all the intro-*.json metadata we need, it's easy enough to revisit this.


Update status

I am not 100% sure this update is correct, probably there is more updates that I missed.

It's a little difficult to say if it's done or not. It's currently in some intermediate testing state. But I'll accept your edit, because for end users it does look like it's there.


Handle reverse move and models.permalink removal

This should handle two of the changes in recent Django versions mentioned in #291 -

The move of reverse() from django.core.urlresovers to django.urls
The removal of models.permalink

Compatibility with all currently supported Django versions should be maintained.  I realize that #320 also has a fix for the first point, but it seems to have gotten bogged down in figuring out how to handle some of the other changes; it might make sense to just merge these simple fixes first.

Codecov Report

Merging #331 into master will increase coverage by 0.03%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #331      +/-   ##
==========================================
+ Coverage   97.63%   97.67%   +0.03%
==========================================
  Files          15       15
  Lines         593      601       +8
  Branches       73       73
==========================================
+ Hits          579      587       +8
  Misses          7        7
  Partials        7        7

Impacted Files
Coverage Δ

simple_history/admin.py
98.09% <100%> (+0.05%)
:arrow_up:

simple_history/models.py
96.98% <100%> (+0.07%)
:arrow_up:

Continue to review full report at Codecov.

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