JoinConferenceButton

Hi there,
I just have a clarifying question about the the JoinConferenceButton.
The onSuccess callback prop of this component indicates that this action is creating a conference which I can confirm by the resulting API request made by clicking the button.
Is there a solution in the UIkit to handle joining an already existing conference since the docs suggest creating via a backend API  call?
The [Create](https://docs.dolby.io/communications-apis/reference/create-conference) REST API allows creating a conference from your backend. We recommend using this method as it allows you to control conferences from a single location. This way, you can update only your backend, instead of updating all applications using different platforms and SDKs. The Create REST API returns information about the created conference, such as the conference ID.

Thanks!

Hi @griffithcaleb ,
We are currently relying on using the same meetingName as the source of truth - if you use the same meetingName, the create will join the existing created conference. As such, if you can share the existing name with your frontend app and provide it to the joinConference button this will work.
Hope that clarifies for you!


possible bug in remove

On this line:
https://github.com/bmeurer/ocaml-rbtrees/blob/master/src/rbmap.ml#L166
The variable s is bound but ignored.  Especially when compared against the similar code in rbset.ml, this looks like a bug.

Indeed, this is a bug. Thanks for spotting.


Check the cell_type information with the ontology description term

Should we (programmatically) check (and perhaps uniformize in some cases) if the cell_type information matches with the ontology description term?

We decided that we need a script for this to identify the problematic fields which need to be resolved by hand.

f7eab35d79b9101e1ae1991c260b8737a9681785


There doesn't seem to be a way to set serverTrustPolicyManager on the manager used for the uiimageview extension.

Is there a way to set the trust policy on the a download manager? I can't think go a way to add it.

There is in the master branch. You would need to create your own manager and use the following initializer:
public class ImageDownloader {
    public init(
        sessionManager: Manager,
        downloadPrioritization: DownloadPrioritization = .FIFO,
        maximumActiveDownloads: Int = 4,
        imageCache: ImageRequestCache? = AutoPurgingImageCache())
    {
        self.sessionManager = sessionManager
        self.sessionManager.startRequestsImmediately = false

        self.downloadPrioritization = downloadPrioritization
        self.maximumActiveDownloads = maximumActiveDownloads
        self.imageCache = imageCache
    }
}

I'm going to be cutting AlamofireImage 2.0.0-beta.2 here shortly that will include these changes.


Fix typos for stepup no token

Some typos were on the no token feedback page. The typos should be
fixed and the missing link to the registration support page should be
added.
https://www.pivotaltracker.com/n/projects/1425900/stories/169087364

The build breaks on: https://github.com/OpenConext/OpenConext-engineblock/pull/808 and is getting fixed there.


Fix issue #133

Cannot deselect checks if multiple=false.
https://github.com/sgasser/ember-cli-materialize/issues/133

Thanks for this fix! Please add a test

I included the test in md-checks, md-radios and md-switches tests.

LGTM


Invalid memory writes

I am trying to integrate these tests in my emulator, but I keep having to make changes that I would rather not have to in order to accommodate these.
The main problem is writing to invalid memory addresses.
At first, I noticed a few writes to the fixed ROM bank sections. My emulator throws an exception if attempting to write to these other than in the initial ROM loading phase.
I said fine - I guess these tests should test the ROM bank areas so I changed my emulator accordingly.
However, I am at test "02 0093" and here it is trying to write to the prohibited section - address 65216 = 0xFEC0.
What's worse, is the test expects now to read the value it wrote - 252 at that address 0xFEC0.
Not only is this a prohibited read - but according to pandocs, there would be no way to read '252' on the official hardware:
"Nintendo indicates use of this area is prohibited. This area returns $FF when OAM is blocked, and otherwise the behavior depends on the hardware revision.
On DMG, MGB, SGB, and SGB2, reads during OAM block trigger OAM corruption. Reads otherwise return $00."
Am I missing something here? I would expect the read to be $FF or $00.
If not, is there any way to update these to be pseudo-random as to not hit restricted memory areas?
I will for now temporarily consider these areas as regular RAM for the sake of running the tests, but the code is getting ugly having to support all these cases!

From the readme:

These tests assume 64K of flat RAM, no registers or memory mapping.

From the readme:

These tests assume 64K of flat RAM, no registers or memory mapping.

I did see that in the readme and ultimately how I ended up using these tests.
But flat RAM or not, I don't believe you should be able to write to areas where the original hardware disallowed. And if you do end up doing that anyways, reads should at least return what the original hardware returned.


Update dated flexbox properties to current syntax

Ref: https://css-tricks.com/snippets/css/a-guide-to-flexbox/

@teddybradford, hi! Would you mind reopening this PR for dev branch please?

Closing since there is no activity


Compose: Do not map client roles to access token

See the commit messages for details.

I can verify that this resolves the issue #1058.
Verification steps:

As the PR only touches master-realm.json, I checked out the PR but used existing Docker images: docker compose pull && docker compose up -d.

I verified in Keycloak that the userinfo roles are not added to the access token:

I created a new user in Keycloak and attached it to all 11 organizations in my seeded local db as a reader:

This created a whopping number of ~1600 different roles to the user:

I verified that the authorization header is still sent, and the UI works:

As a side note, this does seem to slow down the UI a bit: the request for all organizations in the main index page takes about 1.5 seconds - earlier on, it was very fast. It must be noted however that my seeded local db is quite large, as it includes 11 organizations, (randomly chosen) 0-15 products per organization, (randomly chosen) 0-15 repositories per product, and (randomly chosen) 0-15 secrets per entity. As we are using efficient query caching in front-end, this initial delay in fetching the items is quite acceptable.


Add Cree.py 1.4.1

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


Versions prior to v13 on PyPI

Hello,
Our project has a dependency on "lambdarest==12.0.0" (which I do realize is old now) but was wondering if you were planning on publishing the previous versions of lambdarest on PyPI?
Thanks

hi, i am not gonna reup all old versions.
I have tried for years to get a new maintainer for this project and lost my interest in maintaining it, but thought it was too risky to leave unmaintained so i reached out and told i was gonna take it down, noone replied so i took it down. Now today i got a donation to take it up again and further maintain it.
for old versions the closest you are gonna get is https://web.archive.org/web/20210922065429/https://pypi.org/project/lambdarest/#history it has up until 11.1
going onwards i am planning to commit 2 years to maintain it and try to find a co maintainer
For you specifically: from version 12 to 13 is nearly no code change, only reorg/reup of package plus some dep bumps

Thank you, I appreciate the detailed reply


linkedlist addition of number

Python implementation of adding 2 numbers using linked lists. Carry generation handled. GeeksForGeeks problem statement.

@akzare Please review


Use sequences obtained from termcap(5), not hardcoded ones.

From what I see in the code, ESC-sequences are hardcoded which in general is not correct, as they should be obtained from the system configuration instead -- see termcap(5).

Thanks for the issue report.
This gem powers pretty much all of the tty components, which are tested on few operating systems(Windows, macOS and Debian Linux). I have never seen any reports about these sequences not working correctly. In my experience pretty much all modern terminal emulators support these escape codes. Have you found a case when this is not true? I'm not keen on making specific system calls to gather any information about what are POSIX standard codes. This seems heavy-handed and unnecessary.

"I have never seen..." is a poor argument; I have never seen a penguin with my own eyes, but that doesn't mean they do not exist. Standards are out there for a specific reason: so they are followed, and nobody is left behind. For one example, PuTTY supports five different terminals.
I do understand that you don't want to be bothered with things that are unimportant to you, and that is fine. When I get around to it, I will submit a PR.


ConsumerConfig now expects "bootstrap.servers" in config.

Small typo to have the documentation in line with KafkaProducer.java.
Kudos on the awesome documentation work!

Submitted on reviewboard as: https://reviews.apache.org/r/32290/diff/

Small typo to have the documentation in line with KafkaProducer.java.
Kudos on the awesome documentation work!


Update to Xcode 10.2 and Swift 5.0

Run the migration assistant on framework and test apps, tests are green and 0 warnings.

Will update CI script as soon as Xcode 10.2 is available.

Thanks a bunch @taher-mosbah

Hey @taher-mosbah CI still seems to have issues here. Do you want to continue looking at it or should I pick it up?

Hey @k0nserv I won't have much time coming days, feel free to pick it up, really sorry for that.

Any updates on this?

Any plans to merge it?

Hey, I don't have time to work on this, but I am happy to merge it if someone can create a PR that passes CI, specifically that still works for Swift 3.1 which seems broken in this PR

I've released version 3.7.0 which specifies the swift_versions attribute in the podspec. This should mean that you can use SkyFloatingLabelTextField in your Swift 5 projects before someone gets the time to look at and finish this PR

Closed in favour of #290


the html files dont validate for index.html

href on element a: Illegal character in path segment: space is not allowed.

I'll make an update replace all space by -


<EMAIL_ADDRESS>

I installed<EMAIL_ADDRESS>After that I ran command: npm list. And the result is :
npm ERR! peer dep missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>Currently in my package.json I have "@angular/core": "5.0.3",
How to fix it so that it could support @angular/core": "5.0.3

i've the same problem

angular5.0.0.  Same problem.


Installing Node OS on Raspberry Pi

It's really complex at this time to install Docker on RaspberryPi, is it possible to install Node OS on the Raspberry Pi without Docker ?

@groundwater, What is the current picture on this view... I am eager to know.

Cross-compile needs some improvements, but it should work. Unluckily I was not able to test it because I don't have a RPI 2 or RPi 3. Latests changes in QEmu seem now it would be possible to test it too, but didn't have time. Alternatively, it would be a nice addition to add support for other toolchains...


Add support for Mailgun tags

See https://documentation.mailgun.com/en/latest/user_manual.html#tagging

Code looks good.

A single message may be marked with up to 3 tags.

Should we have a check on this, possibly throw a warning?
@stevedomin or do we just let the user to figure it out?

I'm fine with leaving it as is. If we had checks I'd rather have them in an helper function but we don't really do this at all at the moment (provider-specific helper functions).


XML Translation Removal

This PR is to remove the conversion that OpenDebugAD7 does to pass the configuration used to launch/attach processes for GDB.
This will now parse the necessary fields on the json and pass it to MIEngine.
Testing Matrix

Scenario
Host OS
Remote OS
Debugger
Status

Local Launch
Windows
N/A
MinGW GDB
:white_check_mark:

Local Attach
Windows
N/A
MinGW GDB
:white_check_mark:

Pipe Launch
Windows
Linux
GDB 7.12-6
:white_check_mark:

Pipe Attach
Windows
Linux
GDB 7.12-6
:white_check_mark:

Local Launch
Linux
N/A
GDB 9.1 + GDBServer
:white_check_mark:

Integration Tests w/ C++ Extension

OS
Status
Notes

Windows
:white_check_mark:
TestOptimizedSharedLib is failing to disconnect but it passes in other runs

Linux
:white_check_mark:

            {

Any idea why this only fails if we are debugging a core dump?

Refers to: src/OpenDebugAD7/AD7DebugSession.cs:1124 in d095814. [](commit_id = d095814296127fcaff83668d2e4cc5dc1a67644d, deletion_comment = False)


Format the object dates with the correct timezone. Fixes #203

Description
Use the thread-safe java.time.format.DateTimeFormatter with the correct timezone to format the S3-object related times.
Related Issue
#203

[x] I have signed the CLA.
[x] I have written tests and verified that they fail without my change.

Thanks gor the PR!
Would you clean up the commits to not include your forking instructions and the pom changes, please? We won’t be able to merge it that way.
Also feel free to squash the remaining commits into one 🙂


"variables" does not work

<Ditto textId={textId} variables={{ itemName: "apples" }} />
output = "The cart contains {{itemName}}."
Anything that I miss?

Hi @int001024, thanks for opening!
I just ran the example project, and it looks like things are working there:

It would be helpful if you could share the following:

are you using the example project, or is this a project of your own?
if this is a project of your own:

what does the contents of your ditto folder look like?
do you have the itemName variable configured in Ditto for this text item?

The current behavior is such that variable placeholders will not be interpolated unless corresponding variable values exist in the output generated by the CLI.
Feel free to respond with the above, and hopefully we can get this resolved for you shortly!

Thanks for the reply. Sorry, with componentId instead of textId it does not work. Did not notice I copied the wrong thing.
<Ditto componentId="existing.component.id" variables={{ itemName: "apples" }} />,
and the component id exists in the json file from the cli, like this "existing.component.id": "Fruit {{itemName}}".
The output would be "Fruit {{itemName}}", expected output should be Fruit apples
Btw, using hook approach also does not work useDittoComponent({ componentId: 'existing.component.id' })

Thanks for the reply. Sorry, with componentId instead of textId it does not work. Did not notice I copied the wrong thing.

No problem!
Running the example app again, it appears that componentId is working for me as well, whether using the hook or using the React component:

This is the corresponding JSON from the CLI output:

This is what the corresponding component looks like configured in Ditto:

A few things to make sure of:

your component in Ditto is configured with a variable named itemName (like the Ditto screenshots above)
your CLI output contains the variables property like in the screenshot above, which includes a nested property named itemName (like JSON screenshot above)
extending the last bullet, you're using either the default or the structured formats for your CLI configuration; the flat format doesn't include variable information (we could do a better job at explicitly documenting this!) and won't properly interpolate

Let me know if you've double checked all of the above. Sharing your broader app code, your CLI configuration, and the name of your Ditto workspace would all enable me to debug further!

Alright, I am using the flat format. I guess that is the reason. but why it cannot be supported? seems easy to support, I even made a workaround in just a few lines.
export function useDittoWrapper(args: Args) {
    let text = useDittoComponent(args);
    if (args.variables !== undefined) {
        Object.entries(args.variables).forEach(([k, v]) => {
            text = text?.replace(`{{${k}}}`, v.toString()) || null;
        });
    }
    return text || args.componentId;
}

Glad we discovered the issue!
Since variable data from Ditto includes information about fallback text etc, an explicit design decision was originally made to not interpolate variable values unless there is corresponding variable data from Ditto to pull from. This guarantees to the user that when interpolation occurs, the interpolation is being done using the linked Ditto data.
We're very open to feedback! I'd love to hear more about your use case. Is there a particular reason you prefer the flat format over the structured format for integrating Ditto into your React app?

Thanks for the explanation! The reason is: it is shorter and easier to read.

@int001024 Thanks, that makes sense!
Are you planning on using the metadata for variables (fallback text, example text, link types) in any meaningful way (in your React app or otherwise), or do you intend to always treat them as generic placeholders for runtime values?

So far just a placeholder for runtime values. I think a default value is more of the job of the application side.

Got it, thanks for all of the feedback!
I'm going to mark this issue as closed, but feel free to re-open it or open another issue if you run into any further problems or have additional questions :)

One last update here @int001024: I just opened a PR that updates the documentation to specifically mention this. Thanks so again for surfacing!

Perfect! Thank you very much for the quick resolving! @azjgard

Hi @int001024, after some internal discussion, we decided to implement support for using variables with the flat format -- if you upgrade to 1.3.0, it should now be supported.
Let me know if you run into any issues!

Thank you for letting me know. We switched to default format after some internal discussions, the plural feature was also not working on flat format.


Cookie blocked when accessing application site deployed in different domain from Parent site in different domain

We have a first party site (https://company.net/) and it has an embedded application site (https://app.com/cognos) both are owned by us but deployed on different domains.
When we launch the application site first time as an iframe url, with response header we add a sso cookie to the browser.
Issue1 - If we set Block third-party cookies from chrome://settings/cookies, we are unable to register the application cookies with parent site.
Issue2 - If we use partitioned tag, we are able to register cookie with parent site. But we have a use case where we will open the application site urls https://app.com/cognos directly in new tab. In this case the SSO cookies are not shared and authentication failed.
Could you please let us know how to fix this scenario?
Another thing, with new chrome browser  we are seeing one warning message for our application cookies as  - Cookie is blocked because it path (for example /cognos/bi/v1) was not same for or match with its superdirectory of request URL's path. How to fix this?

Hi Team,
Could you please update on this?

Since you own both of these domains, its possible related website sites (RWS) and storage access API (SAA) might be a solution.  See references to these here:
https://developers.google.com/privacy-sandbox/3pcd

Regarding related website sets , can we add just the domains for promary and releated parties. For example,

We will have a Primary domain in mutiple regions as regionname1.primarydomain.com , regionname2.primarydomain.com
we have app deployment for customer url as 1. servernameofCus1.appdomain.com 2. servernameodCust2.appdomain.com

in this case , shall we define RWS as
{
"contact": "",
"primary": "https://primaryDomain.com",
"associatedSites": [
"https://appDomain.com"
],
"rationaleBySite": {
"https://appDomain.com": "Application portal"
}
}
Another thing, after updating in RWS also, we still need to use Storage Access API for allowing cookies?
One more thing on testing, When i test our application with just the Flag enabled Test Third Party Cookie Phaseout everything is working. But when i test with Chrome/setting/Block third party cookies it is not allowing to add cookies. What is the right way of testing? Why the app is able to set the cookie with out any issue with  Flag enabled Test Third Party Cookie Phaseout ?

Storage access API is necessary even with RWS, but the RWS entry should make it auto-grant without any user prompt.
Regarding the cookie phaseout flag and the older "block 3P cookies" setting in chrome, see this documentation:
https://developers.google.com/privacy-sandbox/3pcd/prepare/test-for-breakage#flags_and_settings
Essentially, block 3P cookies is a more strict control which prevents a number of newer mechanisms that allow 3P cookies.
I will have to defer to my colleagues on the RWS question.

in this case , shall we define RWS as ...

That looks reasonable to me (assuming you supply a real contact email address), from the RWS perspective. There are still some technical requirements that will be checked when you open a pull request on the RWS repository, though.

Another thing, after updating in RWS also, we still need to use Storage Access API for allowing cookies?

Yes, either document.requestStorageAccess() or document.requestStorageAccessFor(). Note that neither of those APIs will show a permission prompt for RWS usage. Please see this troubleshooting section for some more info.

Hi Team,
Thanks for the details.
I want to understand more on RWS,
Since this is public REPO, all our domains are visible to everyone right? what are the security measures around this? is there a way to hide these for other users?
Also is this the go forward for all organizations, who wants to share cookies to their internal subdomains launching as top-level site?

Since this is public REPO, all our domains are visible to everyone right?

Yes, if you want all Chrome clients to be aware of your RWS, then it has to be public information. Re: security, RWS is designed to uphold existing security boundaries on the web (e.g. the Same Origin Policy). If you find a way that RWS regresses security, please let us know.

is there a way to hide these for other users?

If you only need to make your RWS available to your organization, you can use a Chrome Enterprise Policy to do so, specifically RelatedWebsiteSetsOverrides. This allows your enterprise to avoid exposing the domains within its intranet.

Also is this the go forward for all organizations, who wants to share cookies to their internal subdomains launching as top-level site?

This is one option, which may or may not work for your use case. You may also use the Storage Access API (without RWS), or try adopting other technologies like CHIPS, Private State Tokens,  Shared Storage, Fenced Frames, Federated Credentials Management API, etc. Please see https://privacysandbox.com/intl/en_us/open-web/#proposals-for-the-web for more information.

share cookies to their internal subdomains

Note that it's possible to share cookies between subdomains of a given site already, without adopting any of the Privacy Sandbox proposals. You can use the Domain attribute to accomplish this.

our cookie is more of SSO token for single sign on when users launch our app domain url's in new tab.

Got it, thanks for that detail. In this case, yes, I believe something like RWS or FedCM is your easiest option.
What you are looking for is a way to (unobtrusively) convey the user's identity as they navigate from one site to another, which unfortunately is exactly what pervasive tracking tries to do. This is why the options available to you are limited: RWS only allows a limited number of top-level sites; FedCM and SAA require asking the user for permission.

Hi Fedric,
I have tried using the storage access API and got popup to allow and i have clicked on allow. Post that tried launching one of the embedded site requests (app domain) which should register the unpartitioned cookie, so that it will be shared when we launch site in top level site. But still i am unable to register the cookie. Could you please help us how to fix this?

I unfortunately don't have enough information in this thread to know what isn't working. I recommend opening Chrome DevTools and checking the Network tab to see why those unpartitioned cookies are being blocked. (If you are seeing and accepting the Storage Access API prompt, and the cookies are still blocked, then the cookies must be blocked by something else.)

Hi Chris,
From Network tab, it is showing attempting to set cookie blocked because of user preferences - same message as before storage access API

Can you confirm that when you launch the embedded site, the embedded site also calls document.requestStorageAccess() in the iframe, before the Set-Cookie header is received? Cross-site iframes do not get cookie access until they call document.requestStorageAccess(), even after permission has already been granted. See one of the key notes here. I think this is the most likely explanation for what you're seeing.
If the iframe is already calling requestStorageAccess() before it tries to set cookies, then one of the following must be happening:

You have a setting that explicitly blocks cookies for that site. Check on chrome://settings/cookies to find out.
Your Chrome profile is managed by an enterprise, and the enterprise blocks cookies from being set by that site. Check chrome://settings/cookies or chrome://policy to find out.

Hi Chris,
I have included the code to call document.requestStorageAccess() in the child iframe  , but still we are unable to set the cookie or access the cookie.
We dont have any settings or policy under chrome://settings/cookies , except third party cookie clocked.

Can you provide a reproduction case so I can debug this myself?

Hi Chris,
Here is our case.

We have main company portal url as - azureedge.net.
Within this portal, we launch our application url - appdomain.com as an iframe source
Iframe has a links to launch application pages (user requests)
When user clicks on any particular link, while processing the http request/loading the page, we will add a session cookie as part of http response.
This session cookie we are unable to set to browser when third party cookies disabled.
We need this cookie set to the browser without partitioned tag. Why because we have window.open in next tab with appdomain.com url and this cookie needs to be shared for new tab for authentication.

Thanks for the details, but you don't mention calling document.requestStorageAccess() anywhere. In order for me to debug this for you, I need to know exactly what's going on in your code. I can't see what's going wrong from just a description/diagram; I need to be able to run and debug your application myself.
Alternatively, you can check out https://storage-access-api-demo.glitch.me/ and try to see what those pages do differently from your app.

I have called document.requestStorageAccess() when first time Iframe launching with user interaction to allow.
After that called again, when user launching an application page frame.

Hi Chris,
Let us know if we can have a meeting tomorrow to debug the issues.

Unfortunately not. I'd recommend looking at https://storage-access-api-demo.glitch.me/ or https://rws-member-1.glitch.me/request-storage-access.html to see how document.requestStorageAccess() is used.

Hi Chris,
We have already looked at above links, but still cookie is not sending through the request.
Also, https://github.com/privacycg/CHIPS/issues/82 is the issue what we are facing exactly.

Hi @cfredric
Could you please clarify on the below issues related to Storage access API's?

When we implemented the SAA, the very first time we launch a site, we are seeing below error message and prompt to allow cookies is not coming.

OVR:1 requestStorageAccess: Request denied because the embedded site has never been interacted with as a top-level context
We have clicked on the window open link which opens the embedded site in new tab since there is no cookie share it will fail. Then we have refreshed the site again, the prompt came to allow cookies or not.
How the browser tracks whether user interacted or not? is this expected behavior with SAA? If yes, this will break user experience and how do we make the prompt to allow cookies always comes.

What if user by mistake rejected the prompt? Is there a way to prompt again?
Once user accepted prompt how long the access is given, I see it is 30 days, after 30 days does it prompt again?
The allow cookies prompt is coming only when user click on button. Is there a way to make this prompt during page load? without user interaction?

Hey @srilakshmi-devarapalli-by,
I think most of the info you're looking for is explained on https://github.com/cfredric/chrome-storage-access-api?tab=readme-ov-file#chrome-specific-behavior. Briefly:

How the browser tracks whether user interacted or not?

It uses "User activation" as defined in the HTML spec, here.

Is this expected behavior with SAA?

In Chrome, yes.

How do we make the prompt to allow cookies always comes

Ensure that the user has visited your site directly, before your site is embedded and asks for storage access. This maximizes the chance that the user will understand why they should accept the prompt, and minimizes the chance that the user will consider it to be spam/abuse. (Chrome blocks prompts from sites that the user has never interacted with, because it's highly likely that the user has never interacted with spammy/abusive sites.)

What if user by mistake rejected the prompt? Is there a way to prompt again?

This depends on which browser the user is using. In Chrome, the user can easily change their mind and grant permission via the PageInfo bubble (at the left of the omnibox) or by managing the permissions on chrome://settings/content/storageAccess.

Once user accepted prompt how long the access is given, I see it is 30 days, after 30 days does it prompt again?

Yes, the access lasts for (at least) 30 days.
The permission lifetime can be "renewed" (reset to 30 days) by certain user interactions. (Reference)

The allow cookies prompt is coming only when user click on button. Is there a way to make this prompt during page load? without user interaction?

No, there is no way to avoid that requirement. (Reference)

Hi @cfredric
Regarding
The allow cookies prompt is coming only when user click on button. Is there a way to make this prompt during page load? without user interaction?
No, there is no way to avoid that requirement
Today many public sites when we just lunch itself, we are getting prompt to accept cookies or not.
Why we need again user action here (to click on some button to get prompt)? This breaks the regular user flows as we need to add the call to storage access Api for all IFrames.

Today many public sites when we just lunch itself, we are getting prompt to accept cookies or not.
Why we need again user action here (to click on some button to get prompt)?

Are you asking why the prompt requires a user gesture first? That is a standard requirement for most permission prompts.
If you're asking why you need to show both a permission prompt and a cookie consent banner -- I'm not a lawyer, but my understanding is that some cookie consent banners satisfy legal requirements placed on websites in some jurisdictions. The browser's permission prompt is not related to that.

Why we need again user action here (to click on some button to get prompt)? This breaks the regular user flows as we need to add the call to storage access Api for all IFrames.

To be clear:

Yes, all iframes that want access to cross-site cookies must call the Storage Access API. This is a security protection against CSRF attacks. See here for more info.
Not every iframe needs to get a user gesture before calling the Storage Access API. If the permission has already been granted, then no user gesture is required.

No further replies in nearly two months so I'll close this, but feel free to reopen if necessary.


Taker to accept domain for maker

At the moment the taker has an argument maker which is a SocketAddr. For usability it would be good to support domains. Same applies if this is not a commandline argument but configurable through the UI.

Going to close this in favor of #229.

Re-opening because https://github.com/itchysats/itchysats/issues/229 missed to implement this.


Compatibility

I saw can-custom-element uses new JavaScript features like the Reflect API or the Shadow DOM.
To make can-custom-element compatible with IE we need some polyfills.
For the Reflect API we need babel's polyfill http://babeljs.io/learn-es2015/#ecmascript-2015-features-reflect-api
To use the Shadow DOM we need the Webcomponents polyfill https://www.webcomponents.org/polyfills
Today can-custom-element will only work on chrome and Safari.
Is there a need to support other browsers or do we limit can-custom-element to these few working  browsers?

I created #10 to document this.  It will go back to IE11 for shadow dom or IE8 if you just use custom elements.  can-custom-elements is only 4 days old so compat hasn't been a priority yet 😜

Closing since #10 is the same issue.


WASM: Handle global simd correctly.

Add explicit checks for handing global simd correctly.

@Cellule
Hi, Michael:
This is the initial PR for WASM: Global SIMD incorrectly handled #5078 , As Arun is on vacation, I sent it out to you guys directly.
Please help to review it if you are available, thanks!
--zhengxing

By looking at this PR I realized that I had a few concerns with the proposal of how to handle simd in javascript in the proposal.
We should wait until we resolve that in the proposal before moving on with this PR I think

@Cellule Has this been addressed through your commit https://github.com/Microsoft/ChakraCore/commit/ad1f74e17a1f5f5735f53f10add309e745729bae ? If so shall we close this PR?

The handling I have done is not complete however. I made sure that we don't crash by refusing simd globals.
There should be more work done to make simd globals available and behave like int64.
I might look into it when I'll work on WebAssembly.Global (aka mutable global) feature.
As for this particular PR, it probably can be closed as its content doesn't reflect what we want for simd globals

Closing this for now as it will need some rework to correctly support wasm.simd globals


Added documentation for OR Operator and NOR Operator

Issue Id you have worked upon -
#299
Briefly explain your program logic -
Documentation of OR Operator and NOR Operator
Screenshots(Attach 2 screenshots of your own input and output) -

By raising this PR I affirm that -

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

[x] I have performed a self-review of my own code.

[x] I have commented my code.

[x] My code gives the correct output.

[x] I affirm that I strictly follow contributing guidelines and code of conduct.

Congratulations 🎉 @Rida-Nuha on your contribution.
Thanks for adding value to this repository. 😊
Let's celebrate this fest 😃 by providing more developers 👨💻👩💻 an opportunity to contribute. Help us make this repository reach far and more by sharing this to your friends and colleagues.
Your efforts can make difference.


Python 3 shebang guessed for SourcesListLexer

(Original issue 707 created by aklhfex on 2011-10-18T19:26:13.659223+00:00)
Running the following with Pygments 1.4 and Python 2.7.2:
{{{
#!python
from pygments.lexers import guess_lexer
lines = ("#!/usr/bin/python", "#!/usr/bin/python2", "#!/usr/bin/python2.7", "#!/usr/bin/python3", "#!/usr/bin/python3.2" )
for line in lines:
print(line)
print(guess_lexer(line))
}}}
outputs:
{{{
#!/usr/bin/python
<pygments.lexers.PythonLexer>
#!/usr/bin/python2
<pygments.lexers.SourcesListLexer>
#!/usr/bin/python2.7
<pygments.lexers.PythonLexer>
#!/usr/bin/python3
<pygments.lexers.SourcesListLexer>
#!/usr/bin/python3.2
<pygments.lexers.SourcesListLexer>
}}}
With the attached patch plus the fix for Python 2 shebang <<issue 650>>:
{{{
#!/usr/bin/python
<pygments.lexers.NumPyLexer>
#!/usr/bin/python2
<pygments.lexers.NumPyLexer>
#!/usr/bin/python2.7
<pygments.lexers.NumPyLexer>
#!/usr/bin/python3
<pygments.lexers.Python3Lexer>
#!/usr/bin/python3.2
<pygments.lexers.Python3Lexer>
}}}
_iter_lexerclasses() does not return items in the order in LEXERS in _mapping.py.
CPython implementation detail: Keys and values are listed in an arbitrary order which is non-random, varies across Python implementations, and depends on the dictionary’s history of insertions and deletions.
http://docs.python.org/library/stdtypes.html#dict.items
grepping for Python in the output of this:
{{{
#!python
from pygments.lexers import _iter_lexerclasses
i = 0
for a in _iter_lexerclasses():
print(i, a)
i += 1
}}}
gives:
{{{
(23, <class 'pygments.lexers.agile.PythonLexer'>)
(44, <class 'pygments.lexers.agile.PythonTracebackLexer'>)
(63, <class 'pygments.lexers.agile.PythonConsoleLexer'>)
(143, <class 'pygments.lexers.agile.Python3TracebackLexer'>)
(160, <class 'pygments.lexers.parsers.AntlrPythonLexer'>)
(163, <class 'pygments.lexers.agile.Python3Lexer'>)
}}}
and with the attached patch:
{{{
(11, <class 'pygments.lexers.parsers.AntlrPythonLexer'>)
(143, <class 'pygments.lexers.agile.Python3Lexer'>)
(144, <class 'pygments.lexers.agile.Python3TracebackLexer'>)
(145, <class 'pygments.lexers.agile.PythonConsoleLexer'>)
(146, <class 'pygments.lexers.agile.PythonLexer'>)
(147, <class 'pygments.lexers.agile.PythonTracebackLexer'>)
}}}

(Original issue 707 last updated on 2012-02-05T07:37:00.854539+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by birkenfeld on 2012-02-05T07:37:00.851880+00:00)
Closes #707: iterate lexer classes in sorted order.
→ <<cset 2c43e9f12489>>


closing bracket missing

The closing bracket on the toolbarOptions for the directive example is missing.

 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.


The Codespace is frequently getting disconnected.

ADD ISSUE DESCRIPTION HERE
Version: 1.64.0-insider
Commit: 00f1ca47ada2fda8ee1437e17b27af5b4002cecb
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.48 Safari/537.36 Edg/98.0.1108.23
Embedder: codespaces

The issue was resolved by removing the codespace from my account and then relinking it. It was a problem related to disconnection of remote server to the main repository.


fix: update version in implementation deployment constants

:notebook: Overview
update version in implementation deployment constants

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1311

Relevant Lines:
1319

💛  - Coveralls


perf: add type definition cache

Closes #3

Codecov Report
Base: 91.84% // Head: 91.96% // Increases project coverage by +0.11% :tada:

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

Additional details and impacted files
@@             Coverage Diff              @@
##               main       #7      +/-   ##
============================================
+ Coverage     91.84%   91.96%   +0.11%
- Complexity      151      152       +1
============================================
  Files            16       16
  Lines           417      423       +6
  Branches         40       41       +1
============================================
+ Hits            383      389       +6
  Misses           23       23
  Partials         11       11

Impacted Files
Coverage Δ

src/main/java/net/jailgens/mirror/MirrorImpl.java
100.00% <100.00%> (ø)

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

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


Using a channel of named symbols doesn't work with tips

Plot.dot(
  penguins,
  Plot.dodgeY({
    x: "culmen_length_mm",
    symbol: (d) => (d.sex === "FEMALE" ? "square" : "star"),
    tip: true
  })
).plot({ height: 220 })

The [Object object] is the {draw: function}  that corresponds to the symbol. Maybe it should just have a toString?

This is similar to a literal color channel. Perhaps the tip should ignore literal symbol channels too, since showing it again in the tip won’t help interpretation. The more idiomatic approach would be to define the channel as “sex” and then specify the domain and range of the symbol scale.


Bug Report

(NOBRIDGE) ERROR  Warning: Error: crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported
This error is located at:
in GooglePlacesAutocomplete (created by BookNowFillDetailsScreen)
in RCTView (created by View)
in View (created by BookNowFillDetailsScreen)
in RCTView (created by View)
in View (created by BookNowFillDetailsScreen)
in RCTView (created by View)
in View (created by BookNowFillDetailsScreen)
in RCTView (created by View)
in View (created by KeyboardAvoidingView)
in KeyboardAvoidingView (created by BookNowFillDetailsScreen)
in BookNowFillDetailsScreen (created by SceneView)
in StaticContainer
in EnsureSingleNavigator (created by SceneView)
in SceneView (created by SceneView)
in RCTView (created by View)
in View (created by DebugContainer)
in DebugContainer (created by MaybeNestedStack)
in MaybeNestedStack (created by SceneView)
in RCTView (created by View)
in View (created by SceneView)
in RNSScreen (created by Animated(Anonymous))
in Animated(Anonymous)
in Suspender (created by Freeze)
in Suspense (created by Freeze)
in Freeze (created by DelayedFreeze)
in DelayedFreeze
in InnerScreen (created by Screen)
in Screen (created by SceneView)
in SceneView (created by NativeStackViewInner)
in Suspender (created by Freeze)
in Suspense (created by Freeze)
in Freeze (created by DelayedFreeze)
in DelayedFreeze (created by ScreenStack)
in RNSScreenStack (created by ScreenStack)
in ScreenStack (created by NativeStackViewInner)
in NativeStackViewInner (created by NativeStackView)
in RNCSafeAreaProvider (created by SafeAreaProvider)
in SafeAreaProvider (created by SafeAreaProviderCompat)
in SafeAreaProviderCompat (created by NativeStackView)
in NativeStackView (created by NativeStackNavigator)
in PreventRemoveProvider (created by NavigationContent)
in NavigationContent
in Unknown (created by NativeStackNavigator)
in NativeStackNavigator (created by AppStackNavigator)
in AppStackNavigator (created by Router)
in EnsureSingleNavigator
in BaseNavigationContainer
in ThemeProvider
in NavigationContainerInner (created by Router)
in Router (created by App)
in SocketProvider (created by App)
in Provider (created by App)
in App
in RCTView (created by View)
in View (created by AppContainer)
in RCTView (created by View)
in View (created by AppContainer)
in AppContainer

Same Issue

I got same issue.

I got same issue.

this

I got same issue. But it was solved after trying followings:
I installed manually these 2 packages, uuid react-native-get-random-values. And edited it like this in node_modules/react-native-google-places-autocomplete/GooglePlacesAutocomplete.js.
import 'react-native-get-random-values';
import { v4 as uuidv4 } from 'uuid';

I followed these guide: https://github.com/uuidjs/uuid#getrandomvalues-not-supported Please check at the bottom of the ReadMe:

this steps did not solve the issue for me

Just install the package
npm I react-native-get-random-values
and import it in the main file as App.js
import 'react-native-get-random-values'

Just install the package
npm i react-native-get-random-values
and import it in the main file as App.js
import 'react-native-get-random-values'

It has resolved my issue.

2.5.1.
You can add also in index.js

Hi, @parveenkumar94123, I got same error. I followed @hdoublin 's solutions at first. That worked at that time. But I got error in the next time. That's why I downgrade the package "react-native-google-placecs-autocomplete" to 2.5.1.
Finally it worked.

I need for crash solution when user search in multiple field then going to crash ...if you have solution you can give it kindle


stdEnumerator - Other constructors

implement

[ ] CreateFromICallable 'Only half implemented
[ ] CreateFromArray

To manage IEnumVARIANT use this approach
Public Function ForEach(Optional ByVal cb As stdICallable, Optional ByVal WithIndex as boolean = false) As stdEnumerator
    Dim bLoopInitialised as boolean: bLoopInitialised = false
    Dim ExitLoop as Boolean: ExitLoop = false
    Dim v as variant, i as long: i=0
    Do while true
        'Increment index
        i=i+1

        'Obtain loop var from mode
        select case mode
            case EnumeratorType.FromCallable
                if bLoopInitialised then
                    v = pCallback.run(v,i)
                else
                    v = pCallback.Run(null,i)
                    bLoopInitialised=true
                end if
                if isNull(v) then ExitLoop = true
            case EnumeratorType.FromIEnumVariant
                if bLoopInitialised then
                    GoSub NextItem
                else
                    GoSub InitIEnumVARIANT
                    bLoopInitialised = True
                end if
            case EnumeratorType.FromIEnumVariant
                if bLoopInitialised then
                    if lb+i-1 <= ub then
                        v = vArr(lb+i-1)
                    else
                        ExitLoop = true
                    end if
                else
                    Dim lb as long: lb = lbound(vArr,1)
                    Dim ub as long: ub = ubound(vArr,1)
                    if ub-lb+1 > 0 then
                        v = vArr(lb+i-1)
                    else
                        v = null
                    end if
                end if
        end select
        if ExitLoop then Exit Do

        if withIndex then
            Call cb.Run(i,v)
        else
            Call cb.Run(v)
        end if
    Loop

    set ForEach = me
    Exit Function

'=========================================================================================================================
' IEnumVARIANT Iterator - Don't change the code below
'=========================================================================================================================
InitIEnumVARIANT:
    For Each v In pEnumObject
        Return
NextItem:
    Next
    ExitLoop = true
    Return
End Function

The above code is ludicrously complicated and messy. The reason for this is due to the VB team going to great lengths to hide the IEnumVARIANT interface from Visual Basic... We can revisit this later when we have completed stdCOM and have an easy to use interface to query interfaces and execute expressions, but for now I think it's better to convert all IEnumVARIANT objects to Arrays, and then treat them as an ordinary array. This will make most code a lot simpler
Public Sub protInitFromIEnumVariant(oEnum)
  Set pObject = oEnum
  Dim i as long: i = 0
  Dim vArr(1 to oEnum.count) as variant
  Dim v as variant
  For each v in oEnum
    i=i+1
    Call CopyVariant(vArr(i), v)
  next
  Call protInitFromArray(vArr)
End Sub
Public Sub protInitFromArray(vArr)
  pBoundArray = vArr
End Sub
Public Sub protInitFromCallback(vCB)
  set pCallback = vCB
End Sub

Public Sub ForEach(ByVal callable as stdICallable, optional withIndex as boolean = false)
  Dim i as variant: i = 0
  Dim v as variant: v = null

  While NextItem(v,i)
    if withIndex then
      callable.run(v,i)
    else
      callable.run(v)
    end if
  Wend
End Function

Private Function NextItem(ByRef vNextItem as Variant, ByRef iCurrentIndex as long) as Boolean
  iCurrentIndex = iCurrentIndex+1
  select case mode
    case FromIEnumVariant, FromArray
      Dim lb as long: lb = LBound(pBoundArray,1)
      Dim ub as long: ub = Ubound(pBoundArray,1)
      Dim l as long: l = ub-lb+1
      if l > 0 then
        Dim iIndex as long: iIndex = lb + iCurrentIndex - 1
        if iIndex <= ub then
          Call CopyVariant(vNextItem,pBoundArray(iIndex))
          NextItem = true
        else
          NextItem = false
        end if
      else
        NextItem = false
      end if
    case FromCallable
      Call CopyVariant(vNextItem,pCallback.Run(vNextItem, i))
      if isNull(vNextItem) then
        NextItem = false
      else
        NextItem = true
      end if
  end select
End Function


inconsistent form validation for login and signup

@Donika1999
The errors after invalid input in these forms are shown differently.

@mann27  i would like to work on this issue.

@rohan2734 this issue is already resolved earlier. I am closing the issue.


How to pass parameter to selector?

I want to get channel with channelId prop
My code
const mapStateToProps = (state, ownProps) => {
  return {
    channelId: ownProps.params.channelId,
    channel: selectChannel()
  }
};

selectors
const selectHome = () => (state) => state.get('home');

const selectChannels = () => createSelector(
  selectHome(),
  (homeState) => homeState.get('channels')
);

const selectChannelId = () => (state, ownProps) => ownProps.params.channelId;

const selectChannel = () => createSelector(
  selectChannels(),
  selectChannelId(),
  (channels, channelId) => channels.find((channel) => channel.channel_id == channelId)
);

I console the channel
  componentDidMount() {
    console.log(this.props.channel);
    this.props.fetchMessages(this.props.channel);
  }

but i get below, non value, non derived data

Am I doing wrong?

I found below is work
const mapStateToProps = createStructuredSelector({
  channelId: selectChannelId(),
  channel: selectChannel()
});

What's the difference between the two?
const mapStateToProps = (state, ownProps) => {
  return {
    channelId: ownProps.params.channelId,
    channel: selectChannel()
  }
};

I must use createStructuredSelector function when i use reselect?

I believe you need to pass the selectors you are composing from as an array, like this:
const selectChannel = () => createSelector(
  [ selectChannels, selectChannelId ],
  (channels, channelId) => channels.find((channel) => channel.channel_id == channelId)
);

Check out this link for more info on using ownProps with Reselect: https://stackoverflow.com/questions/36392048/how-can-i-get-ownprops-using-reselect-on-redux/37404975#37404975

Check out this link
https://github.com/reactjs/reselect#createselectorinputselectors--inputselectors-resultfunc
const mySelector = createSelector(
  state => state.values.value1,
  state => state.values.value2,
  (value1, value2) => value1 + value2
)

// You can also pass an array of selectors
const totalSelector = createSelector(
  [
    state => state.values.value1,
    state => state.values.value2
  ],
  (value1, value2) => value1 + value2
)

they are the some

You can also pass parameters right from mapStateToProps:
const mapStateToProps = createStructuredSelector({
  channel: selectChannelById(id)
});

Selector:
const selectChannelById = (id) => createSelector(
  selectChannels(),
  (channels) => channels.find((channel) => channel.channel_id == id)
);

Since this question has been answered quite thoroughly I'll close this issue, but feel free to continue the conversation!

@igorbarbashin , thanks
but the id is in route params, I can get id using this.props.params.channelId
How can I pass it to selectChannelById ?

@jk2K Yeah, I wrote it and then understood that there's no access to that variable from mapStateToProps. As I then mentioned in the last line this selector could be used in redux-saga.
Your solution is what I actually use:
const mapStateToProps = createStructuredSelector({
  channelId: selectChannelId(), // Gets channel id from ownProps
  channel: selectChannel() // Gets stuff from store
});

@jk2K and @igorbarbashin
Not sure if this is still active, but here's how I got around it for something not based on ownProps
Selectors
export const selectFileTypeIsUploading = () => createSelector(
  selectYourStateHere(),
  state => fileType => state.getIn(['uploading', fileType])
);

Component
MapStateToProps
createStructuredSelector({
  fileTypeIsUploading: selectFileTypeIsUploading()
});

propTypes
static propTypes = {
    fileTypeIsUploading: React.PropTypes.func,
  }

Usage
<FileUpload
  title={uploadType}
  uploading={this.props.fileTypeIsUploading(uploadType)}
/>

@arjshiv But how do I access ownProps in this way ??

@arjshiv  How to modify your code  to support ownProps ?

@eromoe I think it's like this:
const mapStateToProps = createStructuredSelector({
  something: (state, ownProps) => selectSomethingById(ownProps.id)(state, ownProps)
});

@eromoe I use it this way and it works:
const mapStateToProps = (state, ownProps) => createStructuredSelector({
  selectOptions: selectOptions({ selectId: ownProps.name, formKey: ownProps.form }),
});

@eromoe here is my solution and it works:
component/container
static propTypes = {
  match: PropTypes.object, // route parameter
};

const mapStateToProps = createStructuredSelector({
  member: makeSelectMemberById(),
});

selector
const selectMembers = (state) => state.get('members');

const makeSelectMemberById = () => createSelector(
  selectMembers,
  // state: redux store
  // props: connected component's props
  (state, props) => props.match.params.memberId,
  (members, memberId) => members.find((member) => member.id === memberId)
);

selector will recompute when the memberId  changes


Add tests and coverage for fmt::Debug impls of slice internals

Addresses reduction in coverage when adding PinBox type for Slice internals in #236.

Miri is failing as expected due to #235. This fix unblocks #236 which resolves #235, so I'll merge without Miri being green.


hardcoded region?

Hi, when deploying with terraform, I am getting this error message
Not found: Dataset gemini_insights was not found in location US

which is likely due to this hardcoded reference (clashing with the rest of the deployment being EU-multiregion)
Thanks for your help
/Matteo

Hi @MatteoEgmont , nice catch, I'm going to use the same region as defined for the dataset.
Thanks!


Regression: Const constructors don't work for widgets on master

The title says it all:
On master, const constructors simply do not work anymore for widgets.
Consider the following snippet:
// test/my_test.dart
import 'package:flutter/cupertino.dart';

void main() {
  print(identical(const SizedBox(), const SizedBox()));
  print(identical(const A(), const A()));
}

class A  {
  const A();
}

executed using flutter test test/my_test.dart
This will print:
false
true

when the expected result is:
true
true

This issue happens on the master branch, but not on stable.
Flutter doctor:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel unknown, v1.11.1-pre.39, on Mac OS X 10.14.5 18F132, locale en-FR)

[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[!] Xcode - develop for iOS and macOS (Xcode 11.2.1)
    ✗ CocoaPods not installed.
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To install:
        sudo gem install cocoapods
[✓] Android Studio (version 3.1)
[✓] VS Code (version 1.39.2)
[!] Connected device
    ! No devices available

! Doctor found issues in 3 categories.

@HansMuller @a-siva

@jacob314
This only happens when track-widget-creation is enabled

This has always been a side effect of the --track-widget-creation.
There isn't a way around it unless we modified the implementation of identical to lie which could have other unintended side effects.
You still get the const canonicalization that matters most for widgets just not full const canonicalization.
For example:
void main() {
  Widget buildWidget() {
    return const SizedBox()
  }
  var w1 = buildWidget();
  var w2 = buildWidget();
  print(identical(w1, w2));
}

will print true.

This is only a debug mode feature so it wont effect running applications (and it was previously the default for IDEs).
It sounds like  it has some confusing behavior for tests though, so perhaps we should turn it off there?

It's not just confusing, it's a behavior change, which can generate false negative or false positives.
I noticed this issue because I have a test that looks like:
await tester.pump(
  MyInheritedWidget(
    value: 0,
    child: const MyConsumer(),
  ),
);

expect(find.text('0'), findsOneWidget);

await tester.pump(
  MyInheritedWidget(
    value: 1,
    child: const MyConsumer(),
  ),
);

expect(find.text('1'), findsOneWidget);

And the test failed on stable but succeeded on master.

I would instead encourage people to fix any tests that fail with --track-widget-creation and pass without it. Having --track-widget-creation on for tests will let us do a better job showing errors reported as part of tests.
Something seems a bit odd about your code if you can't find the text '1' in that case but you could with --track-widget-creation off.
My isn't the slightly different MyConsumer widget getting the updated inherited value?
Btw to work around the error you can write:
const consumer = MyConsumer();
await tester.pump(
  MyInheritedWidget(
    value: 0,
    child: consumer,
  ),
);

expect(find.text('0'), findsOneWidget);

await tester.pump(
  MyInheritedWidget(
    value: 1,
    child: consumer,
  ),
);

expect(find.text('1'), findsOneWidget);

Of course, this can be worked around by caching the instance manually and not using const.
But that's not the point.
This issue means that const behaves differently in debug vs release mode, which is heavily unexpected.
If I didn't have a CI that runs tests on both stable and master, I would have missed that fact and deployed the code in production with a critical bug.
Also, I wouldn't expect people to naturally write the workaround when they can use the const variant.
It's unlikely that people will find this issue naturally, and therefore likely that they'll have an unexpected weakness in their tests.

Outside of tests, this behavior will also confuse debug tools like:

Android Studio's spinner that show which widgets are rebuilding
devtools' timeline

perhaps the best practice is to generally run tests in both debug and release mode to ensure that code will work in release and debug mode.
You could also easily write code that depends on some other debug only functionality in Flutter. For example, all getters in Flutter that start with the word debug will behave differently in debug and release mode.

Based on the very small number of tests in package:flutter that had to be tweaked to work with both --track-widget-creation and without it, I expect this may not actually be a large issue in practice.
Had you previously exclusively run your tests from the command line rather than from an IDE?

perhaps the best practice is to generally run tests in both debug and release mode to ensure that code will work in release and debug mode.

As far as I'm aware, there's no way to run widget tests in release mode.

Had you previously exclusively run your tests from the command line rather than from an IDE?

I only use the command line to run tests

I wrote the Android Studio spinners that show which widgets are rebuilding. That requires --track-widget-creation. That feature is disabled any time this feature is disabled as the data it relies on is unavailable.
Because const widgets created on the same exact source code location have the same const object, that feature works just fine with --track-widget-creation for all common cases.
The impact on the DevTools timeline is minimal. We have benchmarked running the flutter tests with and without --track-widget-creation and there is not a significant performance delta.

Less advanced users who run tests from the IDE have been seeing the behavior that caused your test to fail for about a year.

Because const widgets created on the same exact source code location have the same const object, that feature works just fine with --track-widget-creation for all common cases.

You mean, it's based on the line the const is invoked?

I suppose that if it's based on the line used, it's not too bad, due to how build works.
Alright, I'll update my CI to also run tests with --no-track-widget-creation. But that's still very surprising.

Correct, the performance impact in practice is negligible given how build works.
Circling back on the original example. I think there is a bug in MyConsumer or MyInheritedWidget that this test running with --track-widget-creation has exposed so I would really encourage tracking that down rather than ignoring the error. Perhaps there is a missing lifecycle check in your code. As written, I expect you will see failing hot reloads when you change 'value' any time MyConsumer is not const or if  you added a little bit of whitespace to the code. You should not write widgets that only work properly if their children are const but it is fine to write widgets that run faster if their children are const.
Here is another way you can write the code so it
could do that
Widget buildTree(int value) {
  return MyInheritedWidget(
    value: value,
    child: const MyConsumer(),
  );
}

await tester.pump(buildTree(0));

expect(find.text('0'), findsOneWidget);

await tester.pump(buildTree(1));

expect(find.text('1'), findsOneWidget);

Circling back on the original example.

That's actually the opposite. There was indeed a bug, but "tack-widget-creation" hid it instead of revealing it – hence the danger.
Because this made const widgets rebuild all the time, even when they shouldn't. And that test was asserting that the const widget was indeed rebuilding.
But in reality, in release mode, the widget wasn't rebuilding. The thing is, --track-widget-creation forced it to rebuild.

Maybe --track-widget-creation should be disabled by default in a CI environment?

Alternatively, maybe we need a lint rule for tests, like "avoid_const_widgets_in_test".

If you need to write a regression test for a bug that is only exposed due to const then you should write your test like
Widget buildTree(int value) {
  return MyInheritedWidget(
    value: value,
    child: const MyConsumer(),
  );
}

await tester.pump(buildTree(0));

expect(find.text('0'), findsOneWidget);

await tester.pump(buildTree(1));

expect(find.text('1'), findsOneWidget);

That will match the behavior in a typical app with and without --track-widget-creation for that example.
In the more typical cases, writing const widgets in tests is generally harmless so the lint would be a bit heavy handed and would conflict with other lints telling you to use const when possible.

the lint would be a bit heavy handed and would conflict with other lints telling you to use const when possible.

That's already a problem because of another issue related to consts anyway: https://github.com/dart-lang/sdk/issues/38934
This coverage issue already conflicts with "prefer_const".
So maybe "prefer_const" should just ignore widgets in the test folder. Then a "avoid_const_widgets_in_test" wouldn't conflict with "prefer_const"

More broadly, my main concern about this issue is that provider recommends to use const MyWidget quite heavily.
So quite like:
await tester.pump(
  MyProvider(
    value: 0,
    child: const MyConsumer(),
  ),
);

can be used quite often.
I'll mention it on the readme of provider just in case. But it's likely that users of provider will fall for this too.

@pq Ok I have an idea for a lint that won't false positive too much.
The lint will just warn about defining exactly the same widget as a constant expression at two locations in the same test. That will fix the mystery failures but not false positive on the other more harmless cases where adding an const in a test will behave as expected.

i don't think the label "severe-regression" is accurate given this has been enabled for a year in IDEs without a bug report.

Just thinking about it:
Would it be possible to wrap these constructor calls in a fake function instead?
Such that:
await tester.pump(
  MyInheritedWidget(
    value: 0,
    child: const MyConsumer(),
  ),
);

expect(find.text('0'), findsOneWidget);

await tester.pump(
  MyInheritedWidget(
    value: 1,
    child: const MyConsumer(),
  ),
);

expect(find.text('1'), findsOneWidget);

is replaced by:
MyConsumer _myConsumer() => const MyConsumer();

await tester.pump(
  MyInheritedWidget(
    value: 0,
    child: _myConsumer(),
  ),
);

expect(find.text('0'), findsOneWidget);

await tester.pump(
  MyInheritedWidget(
    value: 1,
    child: _myConsumer(),
  ),
);

expect(find.text('1'), findsOneWidget);

This would still give the location of where the widget was instantiated, but it wouldn't have such an unexpected impact.

yes that is an equally fine way to ensure that the MyConsumer widget used in the test is identical.

I think there's a misunderstanding.
I'm suggesting that the "track-widgets" flag induce such transformation automatically, not that we'd write that manually.
Something similar to a Babel script for example

You don't want to introduce that transformation automatically as you have defeated the purpose of track-widget-creation in that you no longer know where the MyConsumer widget was created.
Now both MyConsumer widget show up as being created on line 1 of the snippet instead of at lines 4 and 12.

We would still know that they are created on line 4 and 12 instead of 1 using the stacktrace.
The location of where they were created would be the second entry on the stacktrace instead of the first entry, which points to line 4 & 12.

We should document how the kernel transformer works so people have a better mental model of what is going on. The kernel transformer is not relying on the stacktrace at all to add that information. That is a great thing as using the stacktrace would be far too slow to enable this by default in debug mode and wouldn't solve the const issue anyway as even if you captured the stack traces you would have no way of dealing with conflicts where the same const widget is created at multiple locations because both const widgets would correspond to identical objects.
What is really happening is the kernel transformer (similar to a Java bytecode transformer) is directly injecting the creation locations as an extra hidden named argument to the widget constructors. The result of running the kernel transformer is that your source code is conceptually rewritten as:
await tester.pump(
  MyInheritedWidget(
    value: 0,
    child: const MyConsumer(location: 4),
  ),
);

expect(find.text('0'), findsOneWidget);

await tester.pump(
  MyInheritedWidget(
    value: 1,
    child: const MyConsumer(location: 11),
  ),
);

expect(find.text('1'), findsOneWidget);

That refactor to use a helper function will result in the following code which clarifies why the creation locations no longer match the locations in the build methods.
MyConsumer _myConsumer() => const MyConsumer(location: 1);

await tester.pump(
  MyInheritedWidget(
    value: 0,
    child: _myConsumer(),
  ),
);

expect(find.text('0'), findsOneWidget);

await tester.pump(
  MyInheritedWidget(
    value: 1,
    child: _myConsumer(),
  ),
);

expect(find.text('1'), findsOneWidget);

Some more background: if we using stacktraces that still would work as we can't associate the stack traces correctly to the constant object as both constant objects would be identical so the best we could say is the locatio is one of a list of values.
What we could do would be intentionally leave the creation locations ambiguous for cases where there are multiple widgets in the same file with the same const expression. This would mean that we would generate the code:
await tester.pump(
  MyInheritedWidget(
    value: 0,
    child: const MyConsumer(location: [4,11]),
    location: 2,
  ),
);

expect(find.text('0'), findsOneWidget);

await tester.pump(
  MyInheritedWidget(
    value: 1,
    child: const MyConsumer(location: [4,11]),
    location: 9,
  )
);

expect(find.text('1'), findsOneWidget);

Here we would now know that we don't know the exact location of the MyConsumer constructors but we could guess it by disambiguating based on the location of the parent (MyInheritedWidget). This would make the const canonicalization of const objects within a single library work robustly but would still break const cannonicalization across files. The main cost is we would need extra heuristics to disambiguate the creation locations based on the locations of their parents which might have some confusing false positives in debugging tools like the inspector.

We should document how the kernel transformer works so people have a better mental model of what is going on.

@jacob314 Where should we put that documentation?

Here's the issue tracking adding documentation for this.
https://github.com/flutter/website/issues/3247

Thanks! I'll go ahead and close this one, and interested folks can track the documentation issue.


Update transcoding CF template to work with multi deployemnts

Issue #, if available:
https://github.com/aws-samples/amazon-chime-live-events/issues/19
Description of changes:
Updated transcoding deployment table to use dynamic variable for deployment instead default to hardcoded.
Tested with multiple deployments back to back: 3 instances deployed on the same account.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Do we need any readme/documentation updates or should this all be the same as the end-user?


Never-ending LOOKUP for node_modules and bower_components

🚨 The issue tracker is not for questions 🚨
If you have a question, please ask it on https://stackoverflow.com/questions/tagged/visual-studio-code.
I have a remote server that I mount to my local machine using sshfs. Every time I open a .js file to edit, VS Code does a LOOKUP for node_modules and bower_components. I've tried excluding these search rules in the setting, but it doesn't stop the issue.

The JS/TS language service is analyzing  your js files when you open them. It's doing so using its understanding of the project. You can use jsconf files to define the project's structure, i.e. to define what files/directories are included and which ones aren't. See https://www.typescriptlang.org/docs/handbook/tsconfig-json.html.
However, when working on remote ssh machines, using https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh is a better choice then sshfs.

@kieferrm, thanks for your reply. Is there any way to disable vscode from analyzing the files/directories completely without use of a jsconf file?


Popup window

I did the following activities:

Created a comments popup only with the top section.
Styled Popup window and made it responsive

Hey, @johnie261 I also wanted to recommend that before requesting another review please solve the conflict files most of the time you can accept both changes and you can do it easily with the Merge editor, just in case you don't know how to use it I'll let you the instructions:

Make sure that you are on the branch that you want to solve the conflicts

The file on the development branch
The file on your current branch
The result of accepting any change
Most of the time that option is the best but sometimes you need to decide to accept just one change, don't accept the current branch change unless that branch fixes a problem with that specific line, otherwise you can accept the development branch or accept both changes

When you already solve the conflict you can click on the complete merge button and then commit your changes.
If you have any questions about the process you can contact me and I'll help you


[FR] add document classifier to operation details

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-ai-formrecognizer


feat(data-table): ai updates

Related Ticket(s)
Closes #11499
Description
Update data table to new gradient updates with AI slug
Changelog
New

updated styles to align with gradient updates

Changed

now table.ts checks if the headers have a slug and if so applies appropriate attributes to the cells in that column

Removed

there was a border that seemed unnessary causing visual differences from wc and react

@aagonzales the deploy preview is updated with the changes!


Add deletion prevention flag to file share

GARM is a stateful system, backed by a sqlite file on a file share. The file share infra is managed by terraform, As we don't want to drop the file share when iterating on an existing terraform deployment, a deletion prevention annotation has been added. Also a stale variable has been removed.

lgtm, thanks @mkulke!
@wainersm, I also want your review here. :-)

and I want to pretend it never happend @fidencio :D


"i is not defined" when using js-obj

js-obj gives error "i is not defined' when called.
I think this is caused by a typo in js_interface.js where the variable i is not properly declared in the for loop.
define_libfunc("js-obj", 0, null, function(ar){
  if(ar.length % 2 != 0){
    throw new Error("js-obj: number of arguments must be even");
  }

  var obj = {};
  for(i=0; i<ar.length/2; i++){
    assert_string(ar[i*2]);
    obj[ar[i*2]] = ar[i*2+1];
  }
  return obj;
});

I think the loop should instead be:
 for(var i=0; i<ar.length/2; i++){
    assert_string(ar[i*2]);
    obj[ar[i*2]] = ar[i*2+1];
  }

That's right, thank you!


etl command broken: missing positional argument steps

$ etl
Traceback (most recent call last):
  File "/Users/lars/Documents/owid/etl/.venv/bin/etl", line 5, in <module>
    main()
TypeError: main() missing 1 required positional argument: 'steps'

It disappeared after doing a fresh poetry install in my local environment, I think it's just because the command aliases changed and my local environment was out of date.


Remove CLIENT_TYPE_WEB_SERVER

This is here for legacy internal reasons. See the SecretMake PR on the monorepo.

CLIENT_TYPE_WEB_SERVER is used in audit logs to indicate that a request originated from the web UI (cc @irfansharif). Are we replacing this with something else?

Ah I thought it was just used for service_client(). That's my bad then.

Note that the IP address that we're listing is an AWS IP address though, it just comes from the EC2 address of modal-web.


[Refactor]: remove deprecated context.report calls

This commit removes the deprecated context.report(node, message, data, ...others) calls with the  name parameter style api calls.
You can check that there is no omission by a project-wise search of context.report\([^{].


GoodMigrations breaks rake db:migrate db:seed in one process

GoodMigrations (#9348) is cool :clap:
I run into a corner case today running rake evm:db:reset db:seed in one command:
....
-- add_index(:configured_systems, [:counterpart_id, :counterpart_type])
   -> 0.0130s
==<PHONE_NUMBER>4232 FixCounterpartIndexOnConfiguredSystems: migrated (0.0180s) ==

rake aborted!
GoodMigrations::LoadError: Rails attempted to auto-load:

/home/bpaskinc/miq/events/app/models/miq_database.rb

...[LONG EXPLANATION]...
https://github.com/testdouble/good-migrations

/home/bpaskinc/miq/events/lib/evm_database.rb:64:in `seed'
/home/bpaskinc/miq/events/db/seeds.rb:8:in `<top (required)>'
Tasks: TOP => db:seed

At first I thought the migration above the explanation is to blame, but it doesn't load any models,
then noticed the stack trace below is from db:seed...
Can we somehow unload/disable GoodMigrations after migrations are done, so it doesn't false-positive on other actions?
cc @lpichler @jrafanie

@cben, yes there is, when you attach parameter GOOD_MIGRATIONS=skip
is it working for you ?
as we have for example here:
https://github.com/ManageIQ/manageiq/commit/2c4a16a87f4fc99335dae933df915d259618051b#diff-02b49c97a1c0f2b019fdbba32b895c81R47
basically rake task 'db:seed' need to skip good-migration gem
maybe we should look how include skipping of good-migration for standalone rake db:seed task

@cben, yes there is, when you attach parameter GOOD_MIGRATIONS=skip
is it working for you ?
as we have for example here:
2c4a16a#diff-02b49c97a1c0f2b019fdbba32b895c81R47
basically rake task 'db:seed' need to skip good-migration gem
maybe we should look how include skipping of good-migration for standalone rake db:seed task

@lpichler I think it's too late, in the same process we've run the migrations with good migrations so it's been monkey patched... and then try to run seed with this monkey patched autoload code.

Actually separate rake db:seed works without GOOD_MIGRATIONS=skip.

Actually separate rake db:seed works without GOOD_MIGRATIONS=skip.

Yes, this should be isolated to only when you run db:migrate and db:seed in the same process like:
rake evm:db:reset db:seed
# or
rake db:migrate db:seed

We used to do that in bin/update and bin/setup until 2c4a16a87f4fc99335dae933df915d259618051b split out the migrate from the seed into separate processes.

Obsolete.
(We no longer use good_migrations, model use is prevented by manageiq-schema repo running migrations without access to app repo: http://talk.manageiq.org/t/new-split-repo-manageiq-schema/2478/6)


Fix search/_helpers.tpl and document TLS step

The redis.tplValue helper is referenced by pvc.yaml and seed_db_job.yaml, but not defined. Without this helper, installing the chart gives the following error:
$ helm upgrade helx helx/ --values values.yaml
Error: UPGRADE FAILED: template: helx/charts/search/templates/seed_db_job.yaml:33:26: executing "helx/charts/search/templates/seed_db_job.yaml" at <include "redis.tplValue" (dict "value" .Values.redis.persistence.existingClaim "context" $)>: error calling include: template: no template "redis.tplValue" associated with template "gotpl"

I added that helper, copying it from another helm chart.
Also documented that the TLS certificate does not get created by default.

@pj-linebaugh have your changes been addressed?


Add a 'no-format' option for some endpoints such domain/zone/{domainName}/export

Example:
$ ./ovh-eu domain zone fretlink.com export
<truncated>
google._domainkey                            in txt    "v=dkim1; k=rsa; p=mi gf ma0 gc sq gs ib3 dqebaquaa4 gnadc bi qk bg qc ux8f ao gd30 t cy ht zu9 oz m9p/xrzas2uk w cf f8 k hbif oei a ujku zj fg9 kn sw ig wk9e b pv o xu yi hz4 s7 l0g w ot zh cl1gy1wv1m+ dj tyf gb ovku0 h+u hk kz8 aaqr sd sq6y3 aw ygy1ad1r ai ua5 b tem vp lhsgvq n tf hh bi5 he z yt cpqidaqab"
<truncated>

Expected value:
"v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCUx8fAOGd30TCyHtZU9OzM9p/XRZAS2ukWCfF8KHbifOeiAUjkuZjFg9KNSwIGWk9eBPvOXuYIHz4S7L0gWOtZhCL1gy1wv1m+DjTYFGbOvku0H+uHKKz8AaqrSdSq6y3AWYgy1ad1rAiUA5BTemVPLhsgvqNTfHhBi5HeZYtCPQIDAQAB"

Not sure if it's a bug in the CLI or in the API itself.

Not sure if it's a bug in the CLI or in the API itself.

It's ok in the --debug output.
All the output of the export command is downcased, which looks wrong :/

OK so the default (pretty) formatter doens't work well for that kind of endpoint :)
I've tried the bash but :
$ ./ovh-eu --format bash domain zone fretlink.com export
local variable 'value' referenced before assignment

JSON formatter is ok but I then need an extra step to reformat it to a clear text file.

I've renamed the title to reflect my remarks.

Hmm, calling camel_to_human https://github.com/yadutaf/ovh-cli/blob/master/ovhcli/utils.py#L40 on values is a non-sense anyway. It should only be called for labels, as most of them are... well. I need to fix this.

I pushed a fix on branch fix-11. Can you confirm this fixes this issue ?

Yes, thanks a lot !


Double clicking a file should pin the tab

In the explorer a single click will open a preview tab, a double click will "pin" the tab. It would make sense for the PR viewlet to work like this for file diffs too

This is something we are trying to solve for files: https://github.com/microsoft/vscode/issues/85636


Add flux-conserving interpolation

I leave this here just so I don't forget.

Looking forward to this implementation.


Update array-operators.md

fix a better match in meaning

@drvoss : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@drvoss : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Hi @drvoss - Could you review the feedback and respond as we review your PR? Thanks.


None-Intent needs a better example

The None-Intent is very useful but not for the reason given here. If you entered, "schedule an appointment on Friday", then yes it would provide either On/Off but crucially the score would be low and the client should reject it. The real benefit of a None-Intent is to train away false positives. I.e. "Milk has gone off" might result in Lights-Off 60% confidence score. By training "Milk has gone off" to "None" you can protect the quality of the matches.

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

ID: 8b9de9f8-0d16-eaa5-7287-0a713278fc01
Version Independent ID: 5a19dadd-5b1c-13d1-2a3c-1e389d2b4725
Content: Language Understanding for bots - Bot Service
Content Source: articles/v4sdk/bot-builder-concept-luis.md
Product: bot-framework
GitHub Login: @DeniseMak
Microsoft Alias: v-demak

@paulio , I've clarified and added an example. Please reopen this if there is still an issue in the article.


Add pwned password validation

This is authored by a Django security team member, @ubernostrum: https://github.com/ubernostrum/pwned-passwords-django

I am okay to work on this.

This should be configurable and off by default with a clear documentation of what it does.

Agreed. Perhaps this should not be in cookiecutter.json, but instead as a documented feature?

I think, it's better to have this as a native feature for added security; if none needed, let the user set use_pwned: n and he/she's good to go without one.

While I like this idea, I don't want to add yet another option for it, and it's clearly not unanimous to be included by default. The installation is very simple, folks can do it post-generation if they want to.


Unable to use default zoom on custom html attachments

Allure: 1.4.24.RC3
Steps:

Attach the following html to any valid testcase:

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="../styles.css">
</head>
<body>
    <div class="pane__section attachment__media-container">
        <video class="attachment__media" controls>
            <source src="{{link}}" type="video/mp4">
            Your browser does not support video tag
        </video>
    </div>
</body>
</html>

Where {{link}} is any valid mp4 video url.

Generate html report and open attachment.
Hover over video recording, until zoom icon appeared.

Click video.

Expected result: video has been resized.
Actual result: nothing happened.
Note that zoom works fine for any common attachment (screenshots / video) or if we click the following icon:

First of all, our stylesheet is not a part of public API.
You can include it on your custom page, but it is not guaranteed that there will be no breaking changes.
Video resize in Allure happens with Javascript. Add our CSS will be not enough to make this work.

@just-boris so what would you suggest to make zoom working for custom html attachments?

So far, Allure UI just adds an extra class on click to block and removes it on click again. This extra class enlarges the size of wrapping block.
But this is a very common question how to do it with CSS, you can find more answers somewhere else. Allure doesn't have any constraints for your attachment, html is displayed to fill all available place on the screen.


Add "View Signatures" button to bottom of signatures sidebar

connect to #158

connect to #158


[MM-53249] Allow server to hide or customize the Forgot Password link

Summary
Mobile app changes for allowing servers to customize the Forgot Password link.
Related server/web app PR: https://github.com/mattermost/mattermost/pull/23831
Ticket Link
https://mattermost.atlassian.net/browse/MM-53249
NONE

Building app in separate branch.

@devinbinnie eslint is going to fail, the imports must be sorted

@devinbinnie eslint is going to fail, the imports must be sorted

Sorry, done.

Building app in separate branch.


How to pass on the APIGEE OAuthScopes to the Upstream backend after authorization

I'm wondering, how can we make apigee-mixer to forward Scopes to Upstream backend so that backend can have some logic to allow certain scopes to do certain operations?

You could add your scopes as a header. See: https://istio.io/docs/reference/config/istio.networking.v1alpha3/#HTTPRoute


Add max and ttl for reponse maps

Add in ability to expire and limit number of response map entries for accounts mapping request/reply where the response is not sent.
Signed-off-by: Derek Collison<EMAIL_ADDRESS>/cc @nats-io/core

Coverage decreased (-0.03%) to 91.957% when pulling 069732c7680cad47233386d8c8f2696cc26dd262 on expire into fd3e5fdcc98d62fcc19cf21222e7c1990bd9a526 on master.

@derekcollison Can always iterate later. LGTM.

ok will change prunning to pruning on master.


Broken CI, Update deps

It looks like CI is not running correctly anymore and therefore the dependabot PR's are not passing. Would you be interested in a PR changing to GH ci?

The CI is failing because it's linting with a rustc version < the MSRV of the bitflags crate, as far as I can tell. I'm bumping it here #48 which should fix CI.
I would love however if it could be switched to GitHub Actions. The only requirement is that I'd like to to test most or all of the permutations that are currently tested here against stable and nightly:
https://github.com/alecmocatta/palaver/blob/60f5e88882fc7f0e4f1427cce6cef57ac291ee88/azure-pipelines.yml#L24-L35

* Correction. CI passes tests on mac and windows, but fails running them under miri. CI fails to install miri on linux.
To fix current CI:

#[cfg_attr(miri, ignore)] tests that fail under miri
Bump the CI rustc lint version, which should fix CI on Linux

Looks great, anything i can lend a hand with for deps update?

Absolutely, a PR that updates all deps would be much appreciated. On Azure azure pipelines as long as it passes "Run tests" (under "test windows", "test mac" and "test linux") then I'm very happy to merge.


wsl -l -q, removes header and default mark

This PR fixes #120321

Duplicate of #120321

This isn't available in a release yet, right?
How can I make the WSL 2 terminals usable in VSCode, is there a workaround?


Requesting a custom dimension for "run target" so we know where people are developing (emulator, simulator, device)

I can't seem to identify the "run target" for flutter tool. We'd like to know "how many people are running on emulators, simulators, or hardware" ?
I can see the "screens" for Run and HotRun, but not where the app is run.

@xster and @devoncarew have both done some analytics work.  This may be straightforward to wire up, I don't know.
It's also possible we should just record the CPU type, GPU and device model number.

I won't paste the link here but it's in analytics -> behavior -> app speed -> flutter -> run.
A bit unfortunate that the data for screens, events and timings are stored in different 'tables' instead of being just different metrics for the same dimensions.

Thanks!
I also noticed that we report target platform in the "screen" for run, when it's a hot reload run.
This line from run.dart in tools:
return '$command/${getNameForTargetPlatform(await devices[0].targetPlatform)}';
We don't clearly mark "emulator/simulator or real device", but we have this:
    case TargetPlatform.android_arm:
      return 'android-arm';
    case TargetPlatform.android_x64:
      return 'android-x64';
    case TargetPlatform.android_x86:
      return 'android-x86';
    case TargetPlatform.ios:
      return 'ios';
    case TargetPlatform.darwin_x64:
      return 'darwin-x64';
    case TargetPlatform.linux_x64:
      return 'linux-x64';
    case TargetPlatform.windows_x64:
      return 'windows-x64';
    case TargetPlatform.fuchsia:
      return 'fuchsia';

Are any of these the Simulator?

Looking at the 'app speed' section is probably more accurate than the 'screen' section.
Arm android can still be an emulator and x86 can be a physical device as well. The 'app speed' section will point them out specifically.

Ah, I see you have "-emulator" in there. Perfect, that means we know if we're targeting emulator. I'll like to peel that out and make it a custom dimension.

Chatted with @xster , reopening so we can send a custom dimension for run target.

I'll take a crack at this.

Thanks Seth!


New release of Unity GLTF

I was wondering if there is a date set for a new release of Unity GLTF. The last release is from April 2019 and I was curious if there will come a new version with additional features and bug fixes.

I am also wondering this, as the most recent version does not seem to work for .glb files using Unity 2019.2.17f1

@robertlong @blgrossMS @AdamMitchell-ms @stevenvergenz @mhochk Do you know something more about a potential new release of UnityGLTF (bug fixes and improvements) or is the development of UnityGLTF dead?

Does anyone else know if there are developers working on fixing issues/releasing new UnityGLTF versions?

The prefrontal-cortex fork seems like its the best maintained: https://github.com/prefrontalcortex/UnityGLTF

Does someone know if there is another repo of this Unity GLTF feature where there is official support and development?

Does Khronosgroup have another repo or something where they do active support on a GLTF importer for Unity?

I've heard there's recent development ramping up in glTFast: https://github.com/atteneder/glTFast

Many new updates are available :)


Outline auto_refresh does not work with Java core API files

Describe the bug
auto_refresh does not update the outline if the target buffer contains a Java source file.
Steps to reproduce

Use "goto definition" with a Java API import like:

import java.util.Comparator;

the source class file for Comparator.class is opened in a new buffer.

Open the outline with :Lspsaga outline. The outline is correctly opened for Comparator.class
Switch to another buffer.  The outline will refresh.
Switch back to Comparator.class. The outline will not refresh.

Expected behavior
Java API source files on Linux are kept in a .zip file (i.e. /usr/lib/jvm/openjdk-17/lib/src.zip). I think extraction of this file is handled by the LSP server automatically. The unpacked file is not a real file. The file path for the Comparator.class looks like
 jdt://contents/java.base/java.util/Comparator.class?=app/%5C/usr%5C/lib%5C/jvm%5C/java-17-openjdk-amd64%5C/lib%5C/jrt-fs.jar%60java.base=/javadoc_location=/https:%5C/%5C/docs.oracle.com%5C/en%5C/java%5C/javase%5C/17%5C/docs%5C/api%5C/=/%3Cjava.util(Comparator.class.
The buffer with Comparator.class therefore has the nofile flag set. And this is excluded in the outline.lua:
https://github.com/glepnir/lspsaga.nvim/blob/1d56a915d42a79242ef1237dba63836fcf3c7307/lua/lspsaga/outline.lua#L301-L308
I'm not sure, how this could be fixed without breaking other nofile buffers that should be ignored. Maybe check the file path for jdt://?
Neovim version (nvim -v)
0.8.3
lspsaga commit
1d56a91
Terminal name/version
Gnome Terminal 3.44.0

the class file buftype and filetype output is what.

filetype: java
buftype: nofile

so there need a double check ?

Yes, that should work I think. Or maybe only check for filetype=='java' and then skip ignore?

just thinking auto refresh should be work inside lspattach. then no need these check.

I don't understand. Is this something I should test? Where/how?

Hmm, the fix doesn't work. Now auto_refresh does not work at all anymore.

damn it  only work  when first open . .. wait

Better - but not perfect yet:

Open file 1
Open :Lspsage outline
Open file 2

File 2 is visible in the active buffer but outline is not updated.
It only works if the order is reversed:

Open file 1
Open file 2
Open :Lspsage outline

works for lua file  i had test this way before update

also tested in c c++ go rust.

I added a print:
function ot:auto_refresh()
  api.nvim_create_autocmd('BufEnter', {
    group = self.group,
    callback = function(opt)
      print('bufenter', api.nvim_get_current_buf())

Open file 1
Open :Lspsage outline
Open file 2

[Lspsaga.nvim] there is no server attatched this buffer
bufenter 1
bufenter 12
bufenter 1
bufenter 13
[lspsaga.nvim] there is already a request for outline please wait

Outline is only updated if i switch to file 1 then back to file 2.

I tested also with PHP: Does not work there either.

Wait, it only happens if I open the file via nvim-fzf. It works with :e file2.php.

Yes, it only fails with https://github.com/junegunn/fzf.vim. I use this in a custom function to fuzzy search files.
I will investigate further.

it use the actually buffer number in that window ? not sure .

Hmm, when a file is openen with my fzf plugin it first goes back to the initial buffer, then switches to the new buffer:
So what happens is this:
[Lspsaga.nvim] there is no server attatched this buffer
bufenter 1
<--- fzf is opened here
bufenter 12  <-- buffer for fzf select
<--- file is selected in fzf here
bufenter 1 <-- triggers outline request
bufenter 13 <-- ... request for 1 is still active
[lspsaga.nvim] there is already a request for outline please wait

I don't know, why it first goes back to buffer 1 before going to the new buffer 13. Hmm.

buffer 1 has outline ?

Yes.
After 2nd file is opened I'm in buffer 13 and see outline of buffer 1. Then I do :bp and :bn. Now the outline for buffer 13 works.

i had update some patch for outline. you can test it.

It almost works now, thank you! 👍🏻
Minor issue:

:e file1
:Lspsaga outline
:e file2
:bd

I'm in an empty buffer now and have to :bp to get back to file1.
Note: I use nvim-dap which seems to create a couple of hidden buffers, even if inactive. Here's the output of :buffers1 after :bd:
:buffers!
  1 #h   "models/EventParticipant.php"  Zeile 30
  2u h   "[Notizen]"                    Zeile 0
  3u%a-  "DAP Breakpoints"              Zeile 1
  4u h-  "DAP Scopes"                   Zeile 0
  5u h-  "DAP Stacks"                   Zeile 0
  6u h   "DAP Watches"                  Zeile 0
  7u h-  "DAP Hover"                    Zeile 0
  8u h   "[dap-repl]"                   Zeile 0
 14u     "models/Event.php"             Zeile 1
 15u h   "[Notizen]"                    Zeile 0

So active buffer is 3 which is unlisted.

when you use bd the outline will close ? and I don't use that plugin.

Yes, outline closes. Only the wrong buffer is active (3 in the list above instead of 1). Shouldn't it ignore unlisted buffers?


JS Mangle private properties => reduce minified JS by 11.9% (4.8% gzipped)

All the private attribute (variables or function) in Bootstrap JS modules starts with _ so we can easily configure Uglify to mandle them and produce a small minified JS file.

Minified size
Minified gain
Minified + zip size
Minified + zip gain

Before
46,653b
-
12,648b
-

After
41,059b
11.9%
12,063b
4.8%

In addition, this size reductions cumulate with #21711

I'm all for this in principle, but there's a problem, which is that --mangle-props does not exist in UglifyJS v2.4.10 (the latest version on npm). I've asked the UglifyJS team why they aren't publishing new versions to npm, and I'll update this issue when I hear back.

This needs review and conflicts resolved before we could merge it now. @Johann-S @XhmikosR can you take a look and let me know if we should proceed with this PR or something else?

@vanduynslagerp: how safe is that?

BTW @vanduynslagerp you would need to move the change in build/uglifyjs.config.json

@vanduynslagerp: how safe is that?

It's safe as long as you don't prefix your public class methods and properties with _.
And it provides a benefit as long as you do prefix your private class methods and properties with _.
It was the case when I opened this PR.
I didn't contribute to Bootstrap for a while and I didn't follow the recent updates, so I can't tell about the current safety/efficiency of this modification with the current code base.
Feel free to re-use or adapt the modification or close the PR if the code has changed and doesn't follow the convention of prefixing private methods and properties with _.

@Johann-S: what do you think about this? If you agree we should make a new branch and test this ourselves.

Yes sure, our minified file size will grow with the removal off jQuery from our dependencies so optimizations are welcome here 👍


Application logging service Consumption charge

Hello Team,
After implementing the application log service, we noticed that we are getting heavily charged for Application Log monitoring service on daily basis and for monthly basis it will be in thousands USD. Can we configure the BTP resource consumption monitoring without application log monitoring service and how we can reduce the billing?
Regards
Gagan

Hi Gagan,
The application logging service is an optional service you can choose to disable if you like. However, the charges you are referring to is probably just an inflated Forecast due to a missing Forecast Configuration for this service (see: https://github.com/SAP-samples/btp-resource-consumption-monitor?tab=readme-ov-file#forecasting-configuration).
The Application Logging Service in standard plan would roughly be charged at 260 euros per month. (see here: https://www.sap.com/products/technology-platform/price-list/list.cpea.europe.html). Not per day.
Given that the usage of this service is rather stable in time, you can configure the Forecast Configuration for this line as 'Excluded'.
Opening the tool on a 1st of the month can always be a bit scary as it will multiply all your service charges by 31 if the Forecast Configuration has not been changed from the default.

Thank you, Willem, for your quick response. I am able to update "exclude" for forecast configuration.