[BUG]: App Archival is not getting deleted

Describe the bug
I am an admin and I received approval for an app that the owner does not exist, so I approved the request for archival. The record was created on 12/7/2020 on the Archival Approval table on Governance Components solution. Today I was checking few records and I came accord the record which was still Active on the PowerApp Apps table. If you can explain to me how this data get sync.
Based on my understanding is that if App status is active in the PowerApps App table that means the app still exists and it is not deleted.
Component (please tell us which flow or app you are experiencing issues with):

Solution - Core & Governance
Version - Core = 1.71.7 & Governance = 1.25
App or Flow [e.g. Sync Template (v2)]

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
IF application/flow is marched for approval for archival approval then it should delete the app/flow from the environment and update the record as deleted.
Screenshots
Archival Approval Table

PowerApps App Table

Additional context
Add any other context about the problem here.

Did you set the Auto Delete On Archive environment variable to delete? We have added it as a fail proof to ensure admins are ready to start deleting from the environment.
See Approval Clean Up
or setup instructions

Did you set the Auto Delete On Archive environment variable to delete? We have added it as a fail proof to ensure admins are ready to start deleting from the environment.
See Approval Clean Up
or setup instructions

Auto Delete On Archive Environment Variable is set to Yes

Auto Delete On Archive Environment Variable is set to Yes

What identity is the action under?
So if you go to edit the flow and see what identity has the connection reference

If not yours, go and edit the Connection Reference from the flow details page

What identity is the action under?
So if you go to edit the flow and see what identity has the connection reference

If not yours, go and edit the Connection Reference from the flow details page

It is using my credentials for the connection reference

It is using my credentials for the connection reference

What error message is being thrown from Check for Perms, and what is being thrown for Modify Flow Owners as Admin?

What error message is being thrown from Check for Perms, and what is being thrown for Modify Flow Owners as Admin?

I did find an issue locally where, if there is a broken connection in a flow, then the "Check for Perms" is failing with this error:

I have added another catch for this to delete anyway.
Let me know if that is the error you were seeing, or if something else.

I did find an issue locally where, if there is a broken connection in a flow, then the "Check for Perms" is failing with this error:

I have added another catch for this to delete anyway.
Let me know if that is the error you were seeing, or if something else.

i have a different error message

i have a different error message

OK. That is an expected error when you arent an owner of a flow.
Basically, the connector only allows you to check permissions if you own the flow, doesnt matter if you are a tenant admin. That is why we catch and do the call to Modify Flow Owners as Admin.
Can you please see what error you get for this action: Modify Flow Owners as Admin

OK. That is an expected error when you arent an owner of a flow.
Basically, the connector only allows you to check permissions if you own the flow, doesnt matter if you are a tenant admin. That is why we catch and do the call to Modify Flow Owners as Admin.
Can you please see what error you get for this action: Modify Flow Owners as Admin

alright well I dont know why you would have that as forbidden if you have the permissions you state.
The new version I have releasing in the future will try to delete in this case anyway. Can you see if you are able to delete this flow manually? If not, then you have an issue with your permissions.
In order to get access, use the Set Flow Permissions app from the Core Solution

alright well I dont know why you would have that as forbidden if you have the permissions you state.
The new version I have releasing in the future will try to delete in this case anyway. Can you see if you are able to delete this flow manually? If not, then you have an issue with your permissions.
In order to get access, use the Set Flow Permissions app from the Core Solution

when I tried to delete the below flow it throws an error message.

{
"error": {
"code": "ConnectionAuthorizationFailed",
"message": "The caller with object id '532eb18a-aee0-41be-a6e3-722ba72e481a' does not have permission for connection 'a14e98ee-e93d-439a-8f47-2e43aa0f9342' under Api 'shared_logicflows'."
}
}

when I tried to delete the below flow it throws an error message.

{
"error": {
"code": "ConnectionAuthorizationFailed",
"message": "The caller with object id '532eb18a-aee0-41be-a6e3-722ba72e481a' does not have permission for connection 'a14e98ee-e93d-439a-8f47-2e43aa0f9342' under Api 'shared_logicflows'."
}
}

After my start approval flow is being successful I tried to run the clean-up flow but it still fails.

After my start approval flow is being successful I tried to run the clean-up flow but it still fails.

I'm afraid the issue you are seeing is about your permissions then and not our tooling.
One last thing to try, would be to grant yourself permission to the flow using the Set Flow Permissions app from Core, then go to the Flow Settings and Delete

I'm afraid the issue you are seeing is about your permissions then and not our tooling.
One last thing to try, would be to grant yourself permission to the flow using the Set Flow Permissions app from Core, then go to the Flow Settings and Delete

I can do that but the concern for me is that I have 142 flows and for each, I have to do that and probably in the future also until a new version of COE does not come out.

I can do that but the concern for me is that I have 142 flows and for each, I have to do that and probably in the future also until a new version of COE does not come out.

Yes, the ability to augment permissions is something that is needed.
If you are able to augment them using that app, that will be interesting.
It appears as though you do not have correct permissions right now. This flow works for most people to add permissions to the flow and delete

Yes, the ability to augment permissions is something that is needed.
If you are able to augment them using that app, that will be interesting.
It appears as though you do not have correct permissions right now. This flow works for most people to add permissions to the flow and delete

What I found out is interesting that in the below images I created a flow that gets flow details from my default environment. In Get Flow as Admin action where it gave me an option to chose an environment from my tenant and I selected my default environment and it worked for me, but instead of selecting the environment if I just enter environment ID it throws the error message.
The issue I found is that my default environment ID is Default-68a7ff20-812f-4738-90ea-0b1051846f74 and in COE it says my default environment ID is 68a7ff20-812f-4738-90ea-0b1051846f74. so I am thinking it is looking for Default- at the beginning of environment ID which is stored in COE.
I did show this to @topness-msft today and he also thinks this is a really interesting issue.

Did not work this

Did work

What I found out is interesting that in the below images I created a flow that gets flow details from my default environment. In Get Flow as Admin action where it gave me an option to chose an environment from my tenant and I selected my default environment and it worked for me, but instead of selecting the environment if I just enter environment ID it throws the error message.
The issue I found is that my default environment ID is Default-68a7ff20-812f-4738-90ea-0b1051846f74 and in COE it says my default environment ID is 68a7ff20-812f-4738-90ea-0b1051846f74. so I am thinking it is looking for Default- at the beginning of environment ID which is stored in COE.
I did show this to @topness-msft today and he also thinks this is a really interesting issue.

Did not work this

Did work

Phil's awesome! Thanks for investigating this deeper, we often fall into bugs with the default environment for this very reason, some connectors expect it with the "Default-" and others without.
In this case though, we do already send as Default-, as shown here:

I'm not sure what's happening on your side, but I think that the final catch I put in place will still work for you to get around it, as long as you do have sufficient permissions to modify and delete.
Let me try to get you a PR of that here to test

Phil's awesome! Thanks for investigating this deeper, we often fall into bugs with the default environment for this very reason, some connectors expect it with the "Default-" and others without.
In this case though, we do already send as Default-, as shown here:

I'm not sure what's happening on your side, but I think that the final catch I put in place will still work for you to get around it, as long as you do have sufficient permissions to modify and delete.
Let me try to get you a PR of that here to test

CenterofExcellenceAuditComponents_1_26_managed.zip

CenterofExcellenceAuditComponents_1_26_managed.zip

I want to leave this case open until next week and I will update based on the flow runs next week.

I want to leave this case open until next week and I will update based on the flow runs next week.

Yes of course. I would like to leave it open until we ship the fix actually so that others can find it.

Yes of course. I would like to leave it open until we ship the fix actually so that others can find it.

@JeneferM-MSFT, can you show which changes you made in the flow?
I cannot import the whole new solution again just as a test because we adapted the texts of all the emails/approval mails to fit better to our organization. There were also some spelling mistakes in it.
I would like to add the fix manually to the flow.
Thanks

@JeneferM-MSFT, can you show which changes you made in the flow?
I cannot import the whole new solution again just as a test because we adapted the texts of all the emails/approval mails to fit better to our organization. There were also some spelling mistakes in it.
I would like to add the fix manually to the flow.
Thanks

I'm not 100% sure I remember unfortunately as I made several changes in my attempt to fix.
But I believe all I did in the end was change the Configure Run After of "Delete Flow"

I'm not 100% sure I remember unfortunately as I made several changes in my attempt to fix.
But I believe all I did in the end was change the Configure Run After of "Delete Flow"

Hi @JeneferM-MSFT
I am having the same issue for the other flows where my Default Environment cannot be found because it does not start with Default- is there anywhere in the flow I can change this so it so it will store as a Default-65........... like that?

Hi @JeneferM-MSFT
I am having the same issue for the other flows where my Default Environment cannot be found because it does not start with Default- is there anywhere in the flow I can change this so it so it will store as a Default-65........... like that?

Hi Akesh, Default-was not the cause for this case, as far as I can tell. Can you confirm that my fix above fixed this particular issue please?
Then if you have other instances of the CoE flows failing for default, please post them separately, and I'll need to know which flow and which call is failing. To our knowledge we have caught all these so happy to fix more individual cases if you find them.

Hi Akesh, Default-was not the cause for this case, as far as I can tell. Can you confirm that my fix above fixed this particular issue please?
Then if you have other instances of the CoE flows failing for default, please post them separately, and I'll need to know which flow and which call is failing. To our knowledge we have caught all these so happy to fix more individual cases if you find them.

Hi @JeneferM-MSFT, I tried the fix above by changing the run-after condition, but the flows keeps returning the same error because there is no "Default-" in front of the environment id.
Is there already a new version of the CoE governance solution that has this issue fixed?
Don't understand me wrong, I'm very happy that the CoE exists, but is it maybe possible to mark versions of the CoE with beta/stable. I would prefer to wait for a month or longer to upgrade the CoE, if I'm sure that the version is stable.
Until now, every time I upgrade the CoE, I have new unexpected issues.
However, thanks for the time and effort you all put in all of this, because it is not easy. But if possible I would be very happy with CoE versions marked as stable so I can install them without a lot of issues.
Thanks

Hi @JeneferM-MSFT, I tried the fix above by changing the run-after condition, but the flows keeps returning the same error because there is no "Default-" in front of the environment id.
Is there already a new version of the CoE governance solution that has this issue fixed?
Don't understand me wrong, I'm very happy that the CoE exists, but is it maybe possible to mark versions of the CoE with beta/stable. I would prefer to wait for a month or longer to upgrade the CoE, if I'm sure that the version is stable.
Until now, every time I upgrade the CoE, I have new unexpected issues.
However, thanks for the time and effort you all put in all of this, because it is not easy. But if possible I would be very happy with CoE versions marked as stable so I can install them without a lot of issues.
Thanks

The CoE is a starter kit intended to help people understand how to monitor their tenants. It isn't officially supported by Microsoft, and it isn't for everyone.
This flow is old and this issue is new, and I dont repro locally.  Might be a product bug or something.
When you say its not working because you dont have default-, can you sahre what you mean? My repros work for the default environment.

The CoE is a starter kit intended to help people understand how to monitor their tenants. It isn't officially supported by Microsoft, and it isn't for everyone.
This flow is old and this issue is new, and I dont repro locally.  Might be a product bug or something.
When you say its not working because you dont have default-, can you sahre what you mean? My repros work for the default environment.

Hi @JeneferM-MSFT, thanks for the fast response.
I updated the flow as indicated: Changing the run-after conditions:

However, I still get the same error message:

Thanks

Hi @JeneferM-MSFT, thanks for the fast response.
I updated the flow as indicated: Changing the run-after conditions:

However, I still get the same error message:

Thanks

Let me explain the flow and see if you can let me know where we are differing.
I added some questions inline, if you can please answer them that might help figure out what you are seeing.

We pull the list of flows from our custom archive table instead of the product in order to reduce API calls.

In the ArchiveApproval Table, the envt name column is stored with the default- prefix for default envt. Can you confirm this is the case for you?

We next do a call to Get Flow, we do this because we want to check to see if you already have permissions as a user.

We expect this call to fail if you are not listed as an editor or user for that flow, even if you are all the levels of admin.
Can you please confirm what error message you see for this call?
Here is the expected failure if you just dont have permissions

This GitHub issue helped surface other reasons Get Flow might fail though. For example a current product bug (fix on the way) which causes it to fail for flows with certain connectors like the CDS Native (Current) connector will fail due to a product bug
Here's what that failure looks like

The expected forbidden error is why we catch this call at the next step and add your user
Can you please validate that the values in this call make sense for your user?

Now there may be other reasons that Get Flow fails.
The example from above, where we fail for some connectors due to product bug, if you already had permissions to the flow then the call to modify them will fail.
Can you please let me know what failure you see for this call? Please include downloaded output

Which is why we now also run the delete call even if the above call failed

Let me explain the flow and see if you can let me know where we are differing.
I added some questions inline, if you can please answer them that might help figure out what you are seeing.

We pull the list of flows from our custom archive table instead of the product in order to reduce API calls.

In the ArchiveApproval Table, the envt name column is stored with the default- prefix for default envt. Can you confirm this is the case for you?

We next do a call to Get Flow, we do this because we want to check to see if you already have permissions as a user.

We expect this call to fail if you are not listed as an editor or user for that flow, even if you are all the levels of admin.
Can you please confirm what error message you see for this call?
Here is the expected failure if you just dont have permissions

This GitHub issue helped surface other reasons Get Flow might fail though. For example a current product bug (fix on the way) which causes it to fail for flows with certain connectors like the CDS Native (Current) connector will fail due to a product bug
Here's what that failure looks like

The expected forbidden error is why we catch this call at the next step and add your user
Can you please validate that the values in this call make sense for your user?

Now there may be other reasons that Get Flow fails.
The example from above, where we fail for some connectors due to product bug, if you already had permissions to the flow then the call to modify them will fail.
Can you please let me know what failure you see for this call? Please include downloaded output

Which is why we now also run the delete call even if the above call failed

Hi @JeneferM-MSFT,
Please find below the answers to your questions:
In the ArchiveApproval Table, the envt name column is stored with the default- prefix for default envt. Can you confirm this is the case for you?
This is not the case. The default- prefix is not here, all without this prefix.

We expect this call to fail if you are not listed as an editor or user for that flow, even if you are all the levels of admin.
Can you please confirm what error message you see for this call?
Same error as you.

The expected forbidden error is why we catch this call at the next step and add your user
Can you please validate that the values in this call make sense for your user?

Now there may be other reasons that Get Flow fails.
The example from above, where we fail for some connectors due to product bug, if you already had permissions to the flow then the call to modify them will fail.
Can you please let me know what failure you see for this call? Please include downloaded output

Thanks for the help. If you need more info, please let me know.

Hi @JeneferM-MSFT,
Please find below the answers to your questions:
In the ArchiveApproval Table, the envt name column is stored with the default- prefix for default envt. Can you confirm this is the case for you?
This is not the case. The default- prefix is not here, all without this prefix.

We expect this call to fail if you are not listed as an editor or user for that flow, even if you are all the levels of admin.
Can you please confirm what error message you see for this call?
Same error as you.

The expected forbidden error is why we catch this call at the next step and add your user
Can you please validate that the values in this call make sense for your user?

Now there may be other reasons that Get Flow fails.
The example from above, where we fail for some connectors due to product bug, if you already had permissions to the flow then the call to modify them will fail.
Can you please let me know what failure you see for this call? Please include downloaded output

Thanks for the help. If you need more info, please let me know.

Your image for the archive table did not come through, but I presume you looked for your default envt's GUID and found it to not have the Default-prefix?

Your image for the archive table did not come through, but I presume you looked for your default envt's GUID and found it to not have the Default-prefix?

@JeneferM-MSFT, indeed the default environment does not have the default-prefix. In all of the records in the "Archive Approval" table, there is the same format of environment id's without prefix.
This is probably the reason why this flow fails, a product change.
I guess that the product team started removing the default prefix because it is too complex? Or am I wrong?

@JeneferM-MSFT, indeed the default environment does not have the default-prefix. In all of the records in the "Archive Approval" table, there is the same format of environment id's without prefix.
This is probably the reason why this flow fails, a product change.
I guess that the product team started removing the default prefix because it is too complex? Or am I wrong?

Thank you Wouter. I would not have predicted that was the spot of error so this was very useful. I will investigate.

Thank you Wouter. I would not have predicted that was the spot of error so this was very useful. I will investigate.

The fix is in testing, expect to ship this week.
Thanks

The fix is in testing, expect to ship this week.
Thanks

Hello. this fix for this was released today. The fix is in the "start approval" flows in that we fetch the proper name (including pre-fix) to put in the archival table.

Please be sure to remove any unmanaged layers before updating as described in installing upates.
And thanks for helping make CoE great!

@JeneferM-MSFT , the flow is still failing.
Should I clean the "Archive Approvals" table because it contains the old records?

Yes thats correct. This will not go back and fix old entries, it will just correct new entries.
Thank you for asking, I hadnt thought to mention that in this fix.


Booleans?

Say I want to pass a boolean property about a user, like {$unsubscribed: true} (from here).
Would I Do:
a) {$unsubscribed: true} // boolean in JS
b) {$unsubscribed: 'true'} // string 'true'
C) {$unsubscribed: 'True'} // string 'True', as noted in the linked docs
C) {$unsubscribed: 'TRUE'} // string 'TRUE', as this is the only way to get the profile of the user to match the screen shot in the docs

I'm guessing you figured this out already since you closed the issue, but just to help anyone who lands here looking for the same info:

in general cases, using a JS boolean is what you want
specifically regarding the $unsubscribed field, you can set it to anything. From the doc you linked to: "PRO TIP: When Mixpanel disqualifies unsubscribed users from the notification pool, we specifically look for the key '$unsubscribed'. The value of '$unsubscribed' has no bearing. This means you're welcome to alter this value with confidence that the user will remain unsubscribed. One clever example might be the set the value as the date the user unsubscribed."

Yup, I found it a few hours later.  Thanks for the recap!
SEO FTW :smile:


Change docs for new optional Spark service in Watson Studio

Watson Studio notebooks now require adding the Spark service on a project basis.
These docs need to be changed for this.
see:
https://github.ibm.com/IBMCode/howtos/pull/311

@ScrapCodes Can you take a look at this issue?

@ScrapCodes we checked a few weeks ago and it was not added by default, we had to create a spark service after creating the project and then associate it with the project. We documented the steps for a general use case here: https://developer.ibm.com/code/howtos/create-a-spark-service-for-ibm-watson-studio but ask that the code patterns be maintained and also document the steps. They don't need to match the link exactly, but some indication to the user would be very helpful.

Ahh, looks like this is true when we create a new project.


Simple Weather seems to be down

Hi, I just started using Simple Weather on a site I'm developing, and it was working great for a day, then I noticed it wasn't showing up today. I checked your site and the codepen demo, and those don't seem to be showing up.
Thanks!

Hi,
Even i am using simply weather plugin and it seems to be down. The issue is in the line data.query.results.channel in simpleweather.js file and the error message thrown by browser is " Unable to get property 'channel' of undefined or null reference".
Because of the above issue, the demo site is even down.
Thanks

+1

Hi, I am also having issue with simple weather , I'm  getting error "Cannot read property 'channel' of null", Don't know why? :(

There's a solution. from @ctrlaltdylan
https://github.com/ctrlaltdylan/jquery.simpleWeather/commit/be92402ff36f7fdf0b669530a9e38776be963f4e

I was having the same issue and solution from @ctrlaltdylan worked for me.
My suggestion to keep the original functionality is to remove the and gflags="R" limit 1"  and also replace the geo.placefinder by geo.places(1)
This way the api will just return one object

With @joaoferreira 's suggestion I now get
 Uncaught TypeError: Cannot read property 'channel' of null

+1 Thanks @Khano but this solution does not work

try
weatherUrl += 'select * from weather.forecast where woeid in (select woeid from geo.places(1) where text="'+options.location+'") and u="'+options.unit+'"';

@BonnieDoug this is the code that I changed in the original script to fix the issue. Starting on line 24.
if(options.location !== '') {
        weatherUrl += 'select * from weather.forecast where woeid in (select woeid from geo.places(1) where text="'+options.location+'") and u="'+options.unit+'"';
      } else if(options.woeid !== '') {
        weatherUrl += 'select * from weather.forecast where woeid='+options.woeid+' and u="'+options.unit+'"';
      } else {
        options.error({message: "Could not retrieve weather due to an invalid location."});
        return false;
      }

To test this you can use the weatherUrl variable in the browser and check what is returned.

Anyone else getting today's high and low for the forecasted high and low?
I'm using weather.forecast[i].high and weather.forecast[i].low where but it seems to return today's high and low. The forecast for code and text work fine.

@joaoferreira I tested your soulution, but it doesn't solve the problem.
The same situation than the first try.
Uncaught TypeError: Cannot read property 'channel' of null
So I write the weatherURL with console.log and downloaded the txt file.
/**/yql_invalid_callback({"error":{"lang":"en-US","diagnostics":null,"description":"Invalid JSON callback parameter yql_invalid_callback"}});

Than I deleted the &callback=? from the line 24. Console.log again:
,"http-status-code":"503","http-status-message":"Service Unavailable",

link for the forecast

+1
I am experiencing the same issue and the solution offered here https://github.com/ctrlaltdylan/jquery.simpleWeather/commit/be92402ff36f7fdf0b669530a9e38776be963f4e did not work.  I believe this issue should still be considered a problem.

@balazsegyed you are using lat/long and according with @ascott23 that's what causing the issue and there is no workaround for your scenario because Yahoo service it not working properly.
Consider to change the lat/long to an address and it might work, you can find more information here:
https://github.com/monkeecreate/jquery.simpleWeather/issues/174

Thanks, it's works for me.

Thx it works for me too.@joaoferreira

Closing this in favor of #174.

i fixed by link new library
https://cdnjs.cloudflare.com/ajax/libs/jquery.simpleWeather/3.1.0/jquery.simpleWeather.min.js


Update deployment.md to add unzip package installation

Install unzip package before using it.

Thank you @rnjailamba for opening this pull request. Before we can accept your contribution please make sure to read our contribution and developer guidelines. In particular, please ensure that you install the pre-commit hooks and that your commits are signed-off properly.

Thanks for the feedback @strieflin. I'll make the changes as you mentioned along with pre-commit hooks and having the commit signed-off properly.


dbt on BigQuery requiring dataset creation permissions when dataset in question is already created for custom schemas

Describe the bug
The service account that we are running with (intentionally) does not have the permission bigquery.datasets.create in our project. We manually pre-create the datasets that we want dbt to work with. This has been fine in dealing with sources, we’ve been able to successfully point dbt to other datasets in the same project for sources and then use a dataset called sandbox for our staging activities. However, now we are testing moving our user-facing models to another dataset called analytics that we just created. When trying to configure the schema/dataset override in dbt_project.yml or whether doing it directly at the model level, we’re now receiving this error message: Database Error Access Denied: Project X: User does not have bigquery.datasets.create permission in project X.
Steps To Reproduce

Use BigQuery with dbt
Create a custom dataset to hold some particular models that you don't want in the default dataset. For this issue, we will call this custom dataset "analytics".
Override dataset for a model either in dbt_project.yml or in the model itself like {{ config(schema='analytics') }}
Have the service account for dbt NOT have bigquery.datasets.create permission - it can only read/write/do DDL within the datasets that already exist and to which it has been granted permission.
Run dbt, it produces the error message

Expected behavior
dbt should run and create the models in question in the dataset in question. It should not attempt to create/recreate custom datasets that already exist and it should not throw a permissions error if it doesn't have bigquery.datasets.create if it doesn't need to create another dataset.
System information
Which database are you using dbt with?

[ ] postgres
[ ] redshift
[X] bigquery
[ ] snowflake
[ ] other (specify: ____________)

The output of dbt --version:
installed version: 0.16.0
   latest version: 0.16.0

The operating system you're using:
Mac OS X 10.14.6
The output of python --version:
Python 2.7.10

Turns out that I hadn't gone back and read the documentation closely enough about how custom schema names are generated. Once wrote a custom version of the generate_schema_names macro to force the usage of the analytics dataset then it worked. User error here, sorry for the false bug report!


Prerequisites section is redundant

Looks like two versions of the prerequisites content are showing in the public view, should be cleaned up.

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

ID: e1a0ff03-4368-38c8-70e6-b41b6f79051c
Version Independent ID: 31491ee3-751f-ccf7-8d54-049065bfba20
Content: Manage user access with Azure AD access reviews
Content Source: articles/active-directory/active-directory-azure-ad-controls-manage-user-access-with-access-reviews.md
Service: active-directory
Product: unspecified
GitHub Login: @markwahl-msft
Microsoft Alias: billmath

@cshalda Thanks for your feedback! We will investigate and update as appropriate.

@cshalda The PR for the fix has been created and it will be merged soon. Thanks again for pointing this out, I am closing the issue based on this update, please let us know if there is something else that we can help you with.


Some issues with calltips and hovers

@goanpeca, I noted the following issues the last couple of days:

Press Ctrl+I for additional help is misleading right now because calltips are shown after writing a left parenthesis, and pressing Ctrl+I does nothing at that point (as you already noticed). So please remove that message. We'll restore it once you solve issue #9279.

There's no documentation shown for calltips while it's shown for hovers. Please take a look at what's happening with that. Screenshots:

The results of pressing Ctrl+I next to an object and pressing a hover to get documentation are different. Screenshots attached:

Ctrl+I

Pressing on hover

The placement of hovers is covering the object name a little bit, so I think they should be placed a little bit below. For example, you can't  correctly read vectorize in the screenshot below

Press Ctrl+I for additional help is misleading right now because calltips are shown after writing a left parenthesis, and pressing Ctrl+I does nothing at that point (as you already noticed). So please remove that message. We'll restore it once you solve issue #9279.

Yes indeed, makes sense

There's no documentation shown for calltips while it's shown for hovers. Please take a look at what's happening with that. Screenshots:

We/you agreed that for the calltips we should not display anything beyond the signature, maybe I should get rid of the No documentation available message, cause that is indeed misleading

The results of pressing Ctrl+I next to an object and pressing a hover to get documentation are different. Screenshots attached:

Yes, I could reproduce it

The placement of hovers is covering the object name a little bit, so I think they should be placed a little bit below. For example, you can't correctly read vectorize in the screenshot below

Yes I have seen this on windows and linux (not OSX). Hmmm I wonder why is that :-|

We/you agreed that for the calltips we should not display anything beyond the signature

That was to keep PR #9140 in scope. But now that hovers are in place, I like the idea of seeing a sneak peek of the docstring. So please add the same amount of docstring text that's shown in hovers, instead of No documentation available

Yes I have seen this on windows and linux (not OSX).

Maybe you need to define different placement rules per OS?

Maybe you need to define different placement rules per OS?

It might have to do with the windows flags also, not sure. If I cannot find a reliable metric, you suggest I use fontmetrics, until it fits, so that zoom in and out are taken into account?

Is it not possible to use the same vertical placement rule than for calltips? That's working fine.


Add ability to configure Hystrix command name in Feign (@FeignClient interface) like in @HystrixCommand(commandKey="...")

The case:
I have @FeignCommand interface like this:
@FeignClient("adjective-generator")
public interface AdjectiveClient extends WordClient {
    @RequestMapping(method = RequestMethod.GET, value = "/")
    Word getWord();
}

It registers in HystrixDashboard with getWord name. But I would like to change and that's why:
Suppose that near AdjectiveClient inteface (above) I have another interface (or even 4 more similar interfaces (5 in total) which will be needed in further explanation of problem):
@FeignClient("noun-generator")
public interface NounClient extends WordClient {
    @RequestMapping(method = RequestMethod.GET, value = "/")
    Word getWord();
}

Now as you see all of them inherits common WordClient inteface with the method getWord.
So and here is the problem: Hystrix think that this is the same command with name getWord (even if not to inherit from common interface). Actually we have 5 commands but Hystrix think that it is only 1 getWord.
Now suppose that 4 services are down and just one of them is working. Percentage of failure will be ~80% in case if we calling all 5 services in one request. So Hystrix will think that command is dead and will open "circuit breaker".
What we have now: we have 1 live service and 4 dead. But Hystrix think that all of them are dead!

Already working on it upstream https://github.com/OpenFeign/feign/issues/434

@spencergibb @ryanjbaxter https://github.com/OpenFeign/feign/issues/434 is now closed. What's the group key and command key used by default by Feign now? I suppose it would be a good thing to add to the docs, which I'll be happy to do.

To add to @asarkar comment - if the method takes parameters, then the key will include the parameters types. For example, for a method that takes two String parameters, the key would be SimpleClassName#methodName(String,String)


Implement MongoDB ConfigStore in Node.js SDK

Description

Plan a Config accommodation in the MongoDB storage.
Add MongoDBConfigStore class to the Node.js SDK stores.
We can use the native mongodb driver library during implementation.
Or we can leverage the ORMConfigStore implemented with typeorm that add a mongodb support.

Motivation

Extending Configu's available stores collection.
This ConfigStore will be made available in the Configu CLI since the Node.js SDK is used internally.
Additional context

https://www.mongodb.com/
https://configu.com/docs/config-store/
https://github.com/configu/configu/blob/main/types/ConfigStore.ts
https://github.com/configu/configu/tree/main/ts/packages/node/src/stores

Imma take look here

Is the issue still open? Can I work on it?

@Rohxn16 , @SanjanaSogimatt still open, feel free to go for it <3

Hi @rannn505 i want to give this issue a shot. Just wanted to confirm my understanding

we need to Create a class called MongoDBConfigStore that extends the base ConfigStore class and
implement the get and set methods to interact with MongoDB for retrieving and storing key-value pairs.

@Tushar-4781 Indeed, you can spin up Configu with other DB based ConfigStore and see the results.

Hi @Tushar-4781,
You've nailed the understanding perfectly! Your task is indeed to create a MongoDBConfigStore class that extends our base ConfigStore class and to implement the get and set methods for MongoDB interactions.
Feel free to draw inspiration from the other DB stores within the Node SDK. Additionally, you have the freedom to opt for either the native MongoDB driver or the TypeORM based store - choose whichever aligns best with your implementation strategy.
We’re here to assist you throughout your contribution journey. Eagerly awaiting to review your work!

@Tushar-4781 @Rohxn16 @SanjanaSogimatt just wanna to make sure you don't work on it individually, you are more than welcome to join forces in Discord and donate the pr together or help realize other stores.

configu-mongo.txt
Okay so I'm a complete beginner so this is what I came up with do suggest me improvements with respect to anything

Thanks for sharing your input, @SanjanaSogimatt. It's great to see new contributors like you getting involved! I wanted to let you know that @Sadaf-A  has already opened a PR and is actively addressing this issue. If you have any further questions or ideas, please don't hesitate to ask. Your involvement and ideas are always welcome!

Hi @Tushar-4781 @Rohxn16 @SanjanaSogimatt, the issue is now available due to Sadaf being unavailable to continue work on his PR. Let me know which one of you wants to take it up or even work on it together!

All yours @Nupoor10

Hi @Nupoor10,
Since we haven’t seen a pull request since this issue was assigned and Hacktoberfest is underway, we will make this issue available to other contributors. Thank you for your interest in contributing!


Azure Blob Storage rewrite

This PR tries to make Azure Storage modules more similar to CosmosDB.
The proposed changes are:

Change
Reason

Removal of generics in clients
Right now the storage client "embeds" a generic that must be propagated everywhere. While transparent for the SDK user is annoying to keep around for the SDK maintainers. @rylev's approach to the CosmosDB module shows that the benefits are worthwhile.

Decoupling from Hyper
CosmosDB SDK allows you to choose the HTTP client. Right now the Storage SDK is tightly coupled with Hyper. This is now desirable because, for example, reqwest paves the way for WebAssembly support. This PR addresses this.

Structs instead of traits for clients
Right now the client is a trait that abstracts upon the authentication type (key, sas or bearer token). This is not strictly necessary and in this proposed PR it has been replaced by a sum type (enum). This minimizes the code involved to support the three different scenarios.

Simplification of the builder pattern
The builder pattern poses a huge burden on the maintainer's shoulders. It will be simplified whenever makes sense by using constructors (ie new) for mandatory fields.

Removal of needless traits in request builders
Request builders no longer enforce name compliance by traits. This will be soft-enforced by the maintainers by blocking non compliant PRs . This saves a lot of boilerplate.

Hierarchical client approach
Right now each function takes too many parameters: container, blob, etc... over and over. This is not ideal and an anti-pattern in Rust (which favors composition). CosmosDB allows to "specialize" the client by supplying the field only once. So, instead of having a single client that does everything (but requires a lot of repeated parameters) we should have a "blob storage client", "container client" etc... Each client will only support methods pertaining to it: for example ListBlobs will go in the container client. The new ListBlobs will no longer require you to specify the container name because it will be implicit. The final API, as you can see in the example, is backwards incompatible but much cleaner. The proposed API makes the clients Arc and Box so they are very cheap to clone (and it happens automagically). This way no pesky lifetime issues will arise.

No useless references
As @rylev has rightly pointed out, borrowing for the sake of doing so complicate things without a clear advantage. For this reason most structs now hold owned data (but not the request builders as they are expected to be short-lived). Owned data saves a lifetime so the type definition becomes easier to handle as well.

This PR will also include the changes proposed by #110 and #111 as soon as they become available. This has been done (setters! alone saves hundreds of lines of code).
This is now a draft opened to show the direction I propose and have an open discussion. Treat it as such (for instance, the new client sits along the old one for the time being). It will also fluctuate wildly.
ToDos before declaring the PR ready:

[x] Migrate Azure storage container methods
[x] Migrate Azure storage blob methods
[x] Fix examples
[x] Fix E2E tests

The remaining features (such as queue and table) will be migrated in a following PR. Also, the leftover code will be migrated in a following PR as well.

The example code https://github.com/Azure/azure-sdk-for-rust/blob/23d86d108c0e39c2cc630ad7d338d19c30d582ef/sdk/storage/examples/list_containers2.rs shows:

The usage of reqwest instead of hyper.
The hierarchy:

    // this holds the credential
    let storage_account_client =
        StorageAccountClient::new_access_key(http_client.clone(), &account, &master_key);

    // this exposes the storage functions (like list containers, etc...)
    let storage_client = storage_account_client
            .as_storage_client();

    // this exposes container functions for the specific container name
    let container_client = storage_client
        .as_container_client("azuresdkforrust");

The more elegant syntax (without having to specify container name and blob name over and over):

     let response = container_client
        .list_blobs()
        .execute()
        .await?;

The fact that converting one client to the other does not consume the initial client.

Sorry the last commit name, I had a new machine and forgot to config git properly 🤷♂. It will be squashed anyway.

Sorry the last commit name, I had a new machine and forgot to config git properly 🤷♂. It will be squashed anyway.


do not invoke test method(#13589)

What is the purpose of the change
there is a test method but execute by org.apache.dubbo.common.extension.ExtensionLoader#injectExtension
org.apache.dubbo.rpc.filter.ExceptionFilter#setLogger

Brief changelog
ignore test method when  extensionLoader inject instance.
Verifying this change
Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x ] Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[x] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[x] Add some description to dubbo-website project if you are requesting to add a feature.
[x] GitHub Actions works fine on your own branch.
[x] If this contribution is large, please follow the Software Donation Guide.

Please fix on 3.2.x branch

Please fix on 3.2.x branch
enen 🙆🏻


ownpytest for micropython and repo licence.

Hi, thanks for your PyCon talk and for sharing this code, I really enjoyed it.
I'm interested in reusing this (with appropriate source attribution to you) for a minimal pytest implementation for micropython and micropython-lib as we've had a number of requests over years now for pytest support (as opposed to just unittest).
It's standard practice on micropython to have minimal reimplementations of cpython standard libraries that aim to generally match a portion of the original library api but with a minimal code size; in light of this your implementation is perfect to build from!
I would only proceed with this with your approval however; would you mind licencing this repo as MIT (preferred licence for micropython) ? If so, when I eventually get the (micropython) dependencies for this sorted and a micropython-lib PR ready, would you like the pytest code commit made with you as the author (with minimal edits by me to match micropython-lib formatting etc)?

Absolutely would love to. Will add them in right away
On Wed, 30 Aug 2023, 5:23 am Andrew Leech, @.***> wrote:

Hi, thanks for your PyCon talk and for sharing this code, I really enjoyed
it.
I'm interested in reusing this (with appropriate source attribution to
you) for a minimal pytest implementation for micropython
https://github.com/micropython/micropython and micropython-lib
https://github.com/micropython/micropython-lib as we've had a number of
requests over years now for pytest support (as opposed to just unittest).
It's standard practice on micropython to have minimal reimplementations of
cpython standard libraries that aim to generally match a portion of the
original library api but with a minimal code size; in light of this your
implementation is perfect to build from!
I would only proceed with this with your approval however; would you mind
licencing this repo as MIT (preferred licence for micropython) ? If so,
when I eventually get the (micropython) dependencies for this sorted and a
micropython-lib PR ready, would you like the pytest code commit made with
you as the author (with minimal edits by me to match micropython-lib
formatting etc)?
—
Reply to this email directly, view it on GitHub
https://github.com/bhavaniravi/ownpytest/issues/2, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACNFXICDCPHC4TKIA4RNC4TXXZ6GBANCNFSM6AAAAAA4DVWXNU
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

License started, will start the PR now for micropython

Great thanks! There's a couple of dependencies in planning on submitting first; importlib and inspect aren't currently supported but I've written working implementations of what's needed here already so will push them in separate pr's.
It's worth noting these will all go in the micropython-lib repo, pytest would make sense in the python-ecosys subdirectory. I'm happy to help out in any way, including the package metadata etc if you'd like, just let me know!


[Notifier] mercure add  body, icon, tag ,renotify

Q
A

Bug fix?
no

New feature?
yes

License
MIT

Added body, icon, tag ,renotify for desktop notifications
This pull-request are need changes in src/Symfony/Component/Notifier/Bridge/Mercure/MercureOptions.php. I have made a pull request there too.

this PR connected to this PR https://github.com/symfony/symfony/pull/54961


v0.15.1 windows & vlc

Describe the bug
Need to put vlc path
C:\VLC\vlc.exe
for mpv & vlc
if you don't it will not start
Default vlc path  C:\Program Files\VideoLAN\VLC\ not working
Installation -> Advanced -> C:\VLC\  or  C:\VideoLAN\VLC\

OS: Windows 10/11 x64
Version 0.15.1

Additional context
Already reported in v0.15.0
THANK YOU now series are working with xtreme code & vlc

Ubuntu Mate 20.04 (appimage) & 22.04 (deb)
nothing to report about that they're working without it.
What's the result of
which mpv vlc

Thanks for your quick response.
I have installed Ubuntu 22.04.4 LTS (gnome).
Here is my which. I have also specified at IPTVnator

Did you found a solution ? Not working with /snap/bin/vlc ?
Uninstall snap version and try the classic ppa deb.
(-: Another example with chromium snap and an add-on where
NodeJS or BUN wasn't detected no problem with the other one ;-)

The work around for windows still doesnt work. Moved the installation to C:\VLC\vlc.exe still no go. Where are the logs located?

Not working for me as well.

Just in case it wasn't clear in first post you need to put vlc path twice one time in mpv path and another time for vlc
if you don't do that sure it will not work.

(-: Well done exactly first screenshot mpv was the selected player instead of VLC.
Windows is for family/friends or like it's name in a window I'm using iptvnator with linux .and xtrem code..
My provider mpv will work nicely but only with TV for VOD VLC is the only one who's accepted without any problem.
Now there is also a webplayer involved with a well done nav interface but need chromium with all codecs.
Possible to add one extension/plugin for opening VOD with VLC who need native-client/NodeJS  because
webplayer can't manage mkv multi audio or sub same thing for AC3 not supported by web navigators ;-)


Add instruction for a C++ fuzz target includes a C file from a C++ project

Example:
In file included from /src/libvpx/examples/vpx_dec_fuzzer.cc:28:
/src/libvpx/vp9/decoder/vp9_decodeframe.c:69:11: error: cannot initialize a variable of type 'TX_MODE' with an rvalue of type 'int'
   69 |   TX_MODE tx_mode = vpx_read_literal(r, 2);

In the long term, we probably should not be required to include source code files.

/gcbrun exp -n dg

/gcbrun exp -f -n dg

@jonathanmetzman Do you happen to know if there is a solution to this error?
This error is caused by including a C file in the C++ fuzz target.
C allows type casting, but C++ does not, hence the error happened on the #include statement.
The original fuzz target is in C++ and so is the project-under-test (openssl).
But that specific file vp9_decodeframe.c is in C:
In file included from /src/libvpx/examples/vpx_dec_fuzzer.cc:28:
/src/libvpx/vp9/decoder/vp9_decodeframe.c:69:11: error: cannot initialize a variable of type 'TX_MODE' with an rvalue of type 'int'
   69 |   TX_MODE tx_mode = vpx_read_literal(r, 2);

I tried adding extern "C" around the #include statement, but it does not work:
extern "C" {
    #include "/src/libvpx/vp9/decoder/vp9_decodeframe.c"
}


Update abandoned-cart-sample-app.md

Update abandoned-cart-sample-app source code obtain.
This sample is in the process of being added to Dynamics365Commerce.Solutions repository and will be published as soon as this happens.

These changes were made and published from the private repo.


Finish correcting ioctl(2) interfaces on musl/ppc64

Last commit fixed the function definition but not the constants.  Oops.

r? @alexcrichton
(rust_highfive has picked a reviewer for you, use r? to override)

@bors: r+

:pushpin: Commit 914eba137b25ece7ade3986f1e34df9cf439af22 has been approved by alexcrichton

:hourglass: Testing commit 914eba137b25ece7ade3986f1e34df9cf439af22 with merge 72cdbf9095071e2e0ec152fad22bef9e9b39d9e5...


Make unification (optionally) memory aware?

Should unification be memory-aware? It mixes up loads and stores from AVX memory when doing replace_all.

Specifically, it seems like it would be less surprising if replace_all defaulted to respecting memory types, and optionally disabled that with a flag something like ignore_memories=True.

Also, it may be worth noting in documentation why this exists: it is fundamentally necessary to pass through intermediate states which are invalid wrt. memory assignment constraints (but equivalent otherwise).

Possible method of addressing this: allow for memories to optionally matter for the front-end pattern matching, but not for unification itself.
— Gilbert

On Nov 14, 2021, at 6:07 PM, Jonathan Ragan-Kelley @.***> wrote:
Also, it may be worth noting in documentation why this exists: it is fundamentally necessary to pass through intermediate states which are invalid wrt. memory assignment constraints (but equivalent otherwise).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/ChezJrk/SYS_ATL/issues/92#issuecomment-968382099, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKZHLCEHTJBJI2EAOWXD53UMA6LHANCNFSM5IAMABKQ.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


fix call the same method twice

Fixes #2670 .
Motivation
Explain the content here.
Explain why you want to make the changes and what problem you're trying to solve.
Modifications
Describe the modifications you've done.
Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

fix for isse #2670

Pls add Motivation and Modifications description,and solve the build error.  @joaovitoras


Fix linking against libraries from Meson project on macOS

This PR fixes linking against libraries created during the Meson build on macOS. It uses otool and install_name_tool to update the LC_RPATH load command in the dylib. (This is identical to how the library is patched on Linux.)

This looks promising, thanks for tackling this topic @pastewka!
The fix-pip step seems on the Cirrus CI Debian jobs seems to be failing consistently, probably because https://github.com/pypa/pip/pull/11623 was merged a few days ago. @dnicolodi would you mind having a look?

@rgommers Yes, upgrading pip to a version that fixes a known issue we are hitting on Debian fails because the merge branch has been deleted. Fixing that is on my todo list. I'll do that as soon as a find a little bit of time.

@rgommers @dnicolodi Happy to contribute, meson-python is a fantastic project that has made my life a whole lot easier. It looks like all tests pass now, except the Debian tests which as discussed seem unrelated to this PR.

Please squash the commits

Done

I've also updated the README to reflect status on macOS.

Is there anything else here that I should change? What is the process for getting this into a release?

Awesome, great to see this land - thanks @pastewka and @FFY00!

Thanks for merging this, happy to contribute!


Fix unterminated code block in README

Summary
Fix unterminated code block in README
Description
The code block related to the proxy at the end of the README isn't terminated so encompasses all the subsequent headings, text etc

Motivation and Context
Self explanatory
Todos

[x] Make a cup of tea
[ ] Get pull request accepted

Screenshots (if appropriate):
N/A

Thank you and enjoy your cup of tea.


Swift 3.1 Version?

Could this be re-compiled in Xcode 8.3 for Swift 3.1?

It works fine with Xcode 8.3 and Swift 3.1. What is your issue?


Update luis-container-howto.md

Fixing a few mistakes

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

Hi @v-kydela, Thank you for submitting this pull request. I'm adding @nebadr to this as she is the one who originally instructed that these routes be added. Hopefully, we will hear back soon.

#sign-off

Hi @v-kydela,
Thank you for these corrections, much appreciated. There was a bug just reported as a result of this being brought to our attention - where the container was supposed to have updated routes to include this. That will be fixed, but in the meantime - the docs need to accurately reflect what is present.

@diberry @nitinme @erhopf - Would you review the proposed changes?
If the submission is approved for merge, add the #sign-off comment. Thanks

#sign-off

@erhopf: I'm sorry - only the author of this article, @IEvangelist, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


Feedback on the Waffle board

If you allow me, I have some ideas how to improve the blog pipeline structuring on ipfs/blog Waffle. I'm writing this on the move and hope that tone is not too blunt or harsh. I'm writing this because I <3 you.
The current pipeline has a lot of steps atm that are not necessarily descriptive and purposeful. Think of a pipeline as something where items flow from step to step. Instead of "pushing" items to the next step, as to indicate "you need to work on these", the next step "pulls" the item from it's previous step to indicate "I'm working on this". And instead of indicating the status of each item with the steps, use labels to say "this item is ready to be pulled to the next step". I know this is hard to grasp initially, so allow me to give an example:
First, each blog post should be its own issue including ideas for new posts (eg. "Introducing Libp2p" should be one issue). All new items will go to the first step in the pipeline and thus (I think) an appropriate label gets assigned (eg. adding a new issues gets a label "Ideas" in the current setup) and if not, you can mark each new item with an appropriate label. This helps to keep all "need to check this" in one step and you don't need to separate "Ideas" from "meta" and also gives the needed information swiftly: "I see, this is an idea for a blog post whereas that one is bug" or "Ok, I need to pull this as it says it's ready to be reviewed".
Second, I would encourage to re-think the pipeline steps to be more generic, so that you can handle all issues in the repo as part of the pipeline, not just the writing tasks. Using common terminology from Agile process and Kanban boards, it could be something like this:
Backlog - All items that haven't been worked on yet and are not planned to be worked on yet. This is the default and entry step for every item/issue in the repo. We can label the items approriately to describe what they are: "bug", "idea", "meta", etc. Once items get approved, or to indicate that we should work on them, they should be bumped to the top of the column. The top items are the ones we should work on next, the ones at the bottom are ones that either haven't been reviewed yet or are low on priority. The prioritization can be done by whoever is the "owner" of the blog.
Current/TODO - Items here are the ones that will be worked on in the current sprint. The pull to this step can happen at the beginning of each sprint by the person who intends to work on it. By pulling an item to the next step, you commit to it: "I will work on this in the next n weeks". Ideally, we pull items that are on top of the list in the Backlog.
In Progress/WIP - Items that are currently and actively being worked on. When you start working on an item, you pull it from the "TODO" step to this step and by doing that, you say "I'm working on this now". Once an item is finished (or "done" according to the person who worked on it), the assignee can label it as "needs review" to indicate that the item can be pulled to the next column (and perhaps place it at the top of the column to indicate the urgency to pull it).
Review - Items that are currently in review. As soon as an item is marked as "need review" in the WIP step, the reviewer can pull it to this step to indicate that they are reviewing it now (don't pull it to indicate "I will review this when I have time"). The outcome from this step can be either of two: the item needs more work or it's ready to be published. If an item needs re-work, the reviewer can pull it to the "Blocked" step and label it as "need rewrite" to indicate that this item can't move further down the pipeline until review feedback has been addressed. If the item is ready to be published, the reviewer can label it as "ready for publishing" and whoever is responsible for the publishing backlog/pressing "publish" button, can pull it to the approriate step.
Blocked - Items that are blocked to move down the pipeline in any way. This is to indicate everyone that there's a problem with this item and it needs urgent attention. Eg. if an item is blocked and has a label "need rewrite", one can tell that it has been reviewed but changes are needed before it can be published. Whoever was the assignee for the item, can then pull it back to "In Progress/WIP" as soon as they start working on the re-write.
To Be Published - Backlog of blog posts to be published. Items here are waiting to get pulled to the very last step in the pipeline. I reckon this could be optional and we can keep the to-be-published items in the "Review" step with a label "to be published" and bump them on top of the list to indicate the order of publishing.
Done - Items that have been fully completed: published blog posts, fixed bugs, etc. Items that end up here can never go backwards in the pipeline (ideally, exceptions might happen). End of the line.
To recap: simplify and generalize the pipeline steps to indicate active work vs. to-be-worked-on vs. blocked, use label to describe the item "types" and status.
Let me know if you have any questions or need clarification on any of this.

I'll respond more fully later, but the point of the blog pipeline is to be very explicit about the steps needed to produce a blog post, to see where they get stuck and to get much better at estimating the time it takes to move them through the stages. it's about accurately and precisely capturing the blog writing process and the stages through it.
That's for the feedback, but there is missing context here, and we're talking about different things. this waffle board is an experiment to capture "the blog pipeline" and how to work with items moving through it. The goal is to be explicit about where a post is in its development lifetime, how it can move forward, and to give a very clear view on what's getting stuck towards publishing (explicitly what stage). The board's goal is not for dealing with arbitrary things on this repo, nor for capturing a sprint oriented process (working on this this week / blocked / etc) . It's a very different use case.

It's capturing this: https://github.com/ipfs/blog/blob/master/PIPELINE.md
And to be clear: I agree with the "pull to be explicit that I'm working on this this week" but that's a different process, and it's meta to this pipeline. This is not aiming to capture agile/kanban workflow, it's aiming to capture work product information.

We can have another board linked to the former. This is so that we can have two different label sets per pipeline, so we can do BOTH what @haad and @jbenet had in mind,

one board for the STATE of the blog post
one board for who's working on what when

@haadcode What do you think about this? You're the expert on this process; would you like to set it up?

Pipeline.md is the current process. It's not perfect, but works reasonably well.
Rather than redesign process right now, let's start by shipping blog posts every month as discussed in #101. We can revisit process if needed.


Add initial atomic::fence support

This only adds support for atomic::fence(Acquire) applying to previous loads in the same thread.

Relevant change is here: https://github.com/carllerche/loom/pull/57/files#diff-69c88ce9c3d4efcec2bbd77a0380b1deR113-R137
Everything else is refactoring.


PermissionError: [Errno 13] Permission denied

What is your issue?
This was raised about a year ago but still seems to be unresolved, so I'm hoping this will bring attention back to the issue. (https://github.com/pydata/xarray/issues/5488)
Data: dropbox sharing link
Description: This folder contains 2 files each containing 1 day's worth of 1kmx1km gridded precipitation rate data from the National Severe Storms Laboratory. Each is about a gig (sorry they're so big, but it's what I'm working with!)
Code:
import xarray as xr

f_in_ncs = "data/"
f_in_nc = "data/20190520.nc"

#%% works
ds = xr.open_dataset(f_in_nc,
                    chunks={'outlat':3500, 'outlon':7000, 'time':50})
#%% doesn't work
mf_ds = xr.open_mfdataset(f_in_ncs,  concat_dim = "time",
            chunks={'outlat':3500, 'outlon':7000, 'time':50},
            combine = "nested", engine = 'netcdf4')

Error:
Output exceeds the [size limit](command:workbench.action.openSettings?[). Open the full output data [in a text editor](command:workbench.action.openLargeOutput?1f03b506-1f93-46ca-ad53-ff5a1ca1a767)
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
File c:\Users\Daniel\anaconda3\envs\mrms\lib\site-packages\xarray\backends\file_manager.py:199, in CachingFileManager._acquire_with_cache_info(self, needs_lock)
    [198](file:///c%3A/Users/Daniel/anaconda3/envs/mrms/lib/site-packages/xarray/backends/file_manager.py?line=197) try:
--> [199](file:///c%3A/Users/Daniel/anaconda3/envs/mrms/lib/site-packages/xarray/backends/file_manager.py?line=198)     file = self._cache[self._key]
    [200](file:///c%3A/Users/Daniel/anaconda3/envs/mrms/lib/site-packages/xarray/backends/file_manager.py?line=199) except KeyError:

File c:\Users\Daniel\anaconda3\envs\mrms\lib\site-packages\xarray\backends\lru_cache.py:53, in LRUCache.__getitem__(self, key)
     [52](file:///c%3A/Users/Daniel/anaconda3/envs/mrms/lib/site-packages/xarray/backends/lru_cache.py?line=51) with self._lock:
---> [53](file:///c%3A/Users/Daniel/anaconda3/envs/mrms/lib/site-packages/xarray/backends/lru_cache.py?line=52)     value = self._cache[key]
     [54](file:///c%3A/Users/Daniel/anaconda3/envs/mrms/lib/site-packages/xarray/backends/lru_cache.py?line=53)     self._cache.move_to_end(key)

KeyError: [<class 'netCDF4._netCDF4.Dataset'>, ('d:\\mrms_processing\\_reprex\\2022-7-18_open_mfdataset\\data',), 'r', (('clobber', True), ('diskless', False), ('format', 'NETCDF4'), ('persist', False))]

During handling of the above exception, another exception occurred:

PermissionError                           Traceback (most recent call last)
Input In [4], in <cell line: 5>()
      1 import xarray as xr
      3 f_in_ncs = "data/"
----> 5 ds = xr.open_mfdataset(f_in_ncs,  concat_dim = "time",
      6             chunks={'outlat':3500, 'outlon':7000, 'time':50},
      7             combine = "nested", engine = 'netcdf4')

File c:\Users\Daniel\anaconda3\envs\mrms\lib\site-packages\xarray\backends\api.py:908, in open_mfdataset(paths, chunks, concat_dim, compat, preprocess, engine, data_vars, coords, combine, parallel, join, attrs_file, combine_attrs, **kwargs)
...
File src\netCDF4\_netCDF4.pyx:2307, in netCDF4._netCDF4.Dataset.__init__()

File src\netCDF4\_netCDF4.pyx:1925, in netCDF4._netCDF4._ensure_nc_success()

PermissionError: [Errno 13] Permission denied: b'd:\\mrms_processing\\_reprex\\2022-7-18_open_mfdataset\\data'

Can you try opening it directly with netcdf4.Dataset please? If that does not work, then please raise an issue with that package.

@lassiterdc, in your example above, f_in_ncs is just a string and you are passing this string to xr.open_mfdataset() which i don't think knows what to do with it.
f_in_ncs = "data/"

have you tried retrieving the list of all files under "data/" via the glob module?
import glob
f_in_ncs = sorted(glob.glob("data/*.nc"))

mf_ds = xr.open_mfdataset(f_in_ncs,  concat_dim = "time",
            chunks={'outlat':3500, 'outlon':7000, 'time':50},
            combine = "nested", engine = 'netcdf4')

Ah you should be able to pass "data/*" too directly to open_mfdataset


DNN-7066: use text not localized to get editor info.

This is not the proper fix - the error is in creating the type in "Type.GetType(systemType);"

Added enhanced checking.

Code review done


prepublish addition. remove extra build from CI

no longer need npm run build in CI as we do it as part of prepublish.
added npm run svg to prepublishOnly. npm run svg does NOT run when you execute npm run build. This was probably a big point of confusion in the manual release last night.
removed svg from setup:ci since we now run it in prepublishOnly

Projects won't successfully build without the SVGs, right? If that's the case, does that suggest not running gulp svg at setup could mean new projects won't successfully build?

Projects won't successfully build without the SVGs, right? If that's the case, does that suggest not running gulp svg at setup could mean new projects won't successfully build?
I'm thinking about this from the perspective of a product engineer who's cloned the project and set it up for the first time so they can contribute. Does this work for them?

there's a npm run setup command that is meant to be run when you initially set up the project. I still don't really like this because it goes outside the standard process most developers are used to which is "npm install" and then "npm run build" or "npm run watch".
Personally I think it may be best to include the svg as part of the build. Guessing this was set up as an independent script originally for performance reasons. I'll do some build time comparisons so we can make a decision.

Projects won't successfully build without the SVGs, right? If that's the case, does that suggest not running gulp svg at setup could mean new projects won't successfully build?
I'm thinking about this from the perspective of a product engineer who's cloned the project and set it up for the first time so they can contribute. Does this work for them?

there's a npm run setup command that is meant to be run when you initially set up the project. I still don't really like this because it goes outside the standard process most developers are used to which is "npm install" and then "npm run build" or "npm run watch". Not to mention you have to KNOW to run npm run setup again whenever there's any changes to SVGs.
Personally I think it may be best to include the svg as part of the build. Guessing this was set up as an independent script originally for performance reasons. I'll do some build time comparisons so we can make a decision.

Dang, I just noticed you removed the SVG task from setup:ci, not setup entirely. In that case, I think my question is actually moot because the situation I described shouldn't occur if someone is following the install directions. 🤦

Dang, I just noticed you removed the SVG task from setup:ci, not setup entirely. In that case, I think my question is actually moot because the situation I described shouldn't occur if someone is following the install directions. 🤦

Yeah the same install docs should still be valid

Personally I think it may be best to include the svg as part of the build. Guessing this was set up as an independent script originally for performance reasons. I'll do some build time comparisons so we can make a decision.

Okay so after testing this the build time of npm run svg is completely negligable (like 1 second), so I've just included it as part of the default gulp build. Makes things MUCH simpler. Updated docs/ci/netlify as well.


feat: addresables selection for platforms

Purpose of this PR
Added ability to disable addressable per platforms group.
Testing status

No tests have been added.

Manual testing status
Tested in the editor using sample scene.

Closed because of new PR that refactored to be merged into master.
Thanks for a great update to @anastasiia-sotnykova!


[BUG] Missing types

There are many missing types in the library, with many functions having Unknown parameter or return types:

I think it would be a great improvement to have full typing information across the MLX API.

I will make this a feature and leave it open. I think it's a good idea to have useful type hints for the stable Python API.

I ran a quick Python script to see which files are missing type annotations, does this look right?
Report: https://pastebin.com/raw/PepZW2jM

I would only consider files in the subdirectory python/mlx for now. We don't need to add strict type hints to benchmarks and tests.

That makes sense - I've modified this here.
https://github.com/AbhinavMir/mlx/blob/typeAnno/type_annotation_report.md

I have added some type hints for few functions given in above file by @AbhinavMir
Please let me know if they're right

One of my friends @catplotlib wants to try Open Source, tagging her here so she can pick up a few type hints!

I second the motion to add typings.
The pip dist of mlx.core does not appear to offer type hints.

I added https://github.com/ml-explore/mlx/issues/1345 for missing type hints in pip.

The issue is partially solved through #1243. Since the PR is inactive for more than a month, I will be continuing the work and create a new pr for updated changes.

Description
✨ Hi @awni, I'm very appreciative of the MLX community. As an Apple enthusiast, I believe I can contribute to it. I've made contributions to open-source communities before, and I've identified this good first issue.
I consider adding typing annotations to Python code necessary and valuable. After reviewing the issue's history, I noticed it hasn't been fully resolved. I also hope to familiarize myself with the MLX framework's implementation/functionality during this process.
Change Proposal
As a student with an AI background, I'm initially focusing on the implementations under python/mlx/nn/layers. I'll use Dropout as an example (code link):
class Dropout(Module):
    r"""Randomly zero a portion of the elements during training.

    The remaining elements are multiplied with :math:`\frac{1}{1-p}` where
    :math:`p` is the probability of zeroing an element. This is done so the
    expected value of a given element will remain the same.

    Args:
        p (float): The probability to zero an element
    """

    def __init__(self, p: float = 0.5):
        super().__init__()

        if p < 0 or p >= 1:
            raise ValueError(f"The dropout probability {p} is not in [0, 1)")

        self._p_1 = 1 - p

    def _extra_repr(self):
        return f"p={1-self._p_1}"

    def __call__(self, x):
        if self._p_1 == 1 or not self.training:
            return x

        mask = mx.random.bernoulli(self._p_1, x.shape)

        return (mask * x) * (1 / self._p_1)

To add typing annotations, a straightforward approach would be to reference PyTorch's implementation (code link):
from torch import Tensor

class Dropout(_DropoutNd):
    ...

    def forward(self, input: Tensor) -> Tensor:
        return F.dropout(input, self.p, self.training, self.inplace)

Aligning with PyTorch, we might do something like this:
class Dropout(Module):
    r"""Randomly zero a portion of the elements during training.

    The remaining elements are multiplied with :math:`\frac{1}{1-p}` where
    :math:`p` is the probability of zeroing an element. This is done so the
    expected value of a given element will remain the same.

    Args:
        p (float): The probability to zero an element
    """

    def __init__(self, p: float = 0.5):
        super().__init__()

        if p < 0 or p >= 1:
            raise ValueError(f"The dropout probability {p} is not in [0, 1)")

        self._p_1 = 1 - p

-   def _extra_repr(self):
+   def _extra_repr(self) -> str:
        return f"p={1-self._p_1}"

-   def __call__(self, x):
+   def __call__(self, x: mx.array) -> mx.array:
        if self._p_1 == 1 or not self.training:
            return x

        mask = mx.random.bernoulli(self._p_1, x.shape)

        return (mask * x) * (1 / self._p_1)

Issue Encountered

[!NOTE]
This conclusion represents only my personal understanding. It may be incorrect.

Although this appears to complete the task, I've noticed that PyTorch wraps a Tensor Python implementation on top of C++, while MLX doesn't. Consequently, despite these changes, in IDEs (like VSCode), it's equivalent to def __call__(self, x: Any) -> Any:.
Regarding this issue, I'd like to ask: how can we improve the readability and type hinting experience for MLX?

We have stubs in Python MLX distribution which should tell the IDEs what the types are.
If you look in the path python -c "import os; import mlx.core as mx; print(os.path.dirname(mx.__file__))" you should see the file core/__init__.pyi.

We have stubs in Python MLX distribution which should tell the IDEs what the types are.
If you look in the path python -c "import os; import mlx.core as mx; print(os.path.dirname(mx.__file__))" you should see the file core/__init__.pyi.

Since I build from source, I noticed I was missing the following command:
python setup.py generate_stubs

After running the command, the core/__init__.pyi file was generated. However, I encountered an issue: in random/__init__.pyi, certain types such as Union, array, and scalar were not imported.
import mlx.core

def bernoulli(p: Union[scalar, array] = 0.5, shape: Optional[Sequence[int]] = None, key: Optional[array] = None, stream: Union[None, Stream, Device] = None) -> array:
    ...

Although I can navigate to the function definition, the type hints aren't showing up properly. For example (in vscode):
(function) def bernoulli(
    p: Any = 0.5,
    shape: Any = None,
    key: Any = None,
    stream: Any = None
) -> Any

Does this indicate an issue with nanobind.stubgen, or should I create a new issue to discuss it further?
$ python --version
Python 3.10.14

It could be a bug with the type hints.

This should be fixed in the latest MLX. Please let us know if you still see a problem in the stubs.


It says error when trying to bypass

Link
https://direct-link.net/414421/acds
Version
Manifest-v3
What browser(s) are you seeing the problem on?
Chrome browsers (includes brave, edge, opera, etc)
What platform are you seeing the problem on?
Phone (Android)
Anything else?
It says error

Same to me, LinkVertise bypass its not working
https://linkvertise.com/984673/correoelectronic/1

linvertise is known to be broken


report: NotRun filter not working

Setting the test filter to NotRun does not display any results.

Quick fix: Filter is missing Skipped-option. This is defined here:
https://github.com/maester365/maester/blob/6119f6a542a4dfde84cd7189fa3a1173265994ad/report/src/components/TestResultsTable.jsx#L16
The use of Not Tested, Skipped and NotRun is a little inconsistent in general.
Reminder that MT.1033 and MT.1034 will usually be NotRun after they were excluded by default in  https://github.com/maester365/maester/commit/d548a5af03e89ecb179708c6ffab4c1c075a3d37.

Location
Skipped
NotRun

Invoke-Maester -PassThru summary
Included
Nissing

"Not Tested" in report summary
Included
Included

Donut Chart
Explicitly missing
Missing

By Category graph
Included
Missing

Test details filter
Missing
Included

Should Skipped and NotRun always be combined as a generic Not Tested, or shown?
Do we want them in the graphs, or not?

Also interested to learn the outcome to this, I was very confused by the fact that I skipped some out of the box tests that were not shown as "Not Run" in the test results.

Sorry about the delay on this.
What would be the preference?
I'm thinking including Skipped and NotRun as 'Not Tested' in the final report. This way it would be consistent within that page.
The raw Pester results will continue to work as they are.

I'm thinking including Skipped and NotRun as 'Not Tested' in the final report. This way it would be consistent within that page.

As long as charts and tables are consistent, I'm fine either way. Was hoping for feedback from other users to decide 🙂
An alternative is to ignore filter-excluded (NotRun) completely and just show Skipped as that can be dynamic per test-case (e.g. only run for admin-users). NotRun tests are intentionally excluded/filtered through parameters, so less of a surprise when they're not tested. The downside is that it might be harder for users to discover unintentionally excluded tests, like the CAWhatIf tests that's excluded by default.

Thanks @fflaten
I've added the skipped to test details now and included the skipped by default now


Error in the function validate in class mclc.js

Hi, I'm creating my own launcher and I'm creating a login system using your library. When I trying to validate if the token is valid, using the getMCLC().validate(), I doesn't work. I checked the function validate of the code mclc.js, and I found a error in this part of the code:
const FETCH = BE.getFetch();
if (profile._msmc) {
return msmc.validate(his.toProfile(profile)); -> This part
}
In the part that I marked, I changed his.profile to this.profile and it's work great.
Thanks, I wait to your response.

I'll check it out. The msmc module did get refactored a while back and mistakes like that have unfortunately slipped through.

Don't worry, is normal why creating a library with a lot of code

I'll be pushing a fix asap

If you're on the project's discord server. Just give me your username and tag and I'll give you the role for the bug finder role. Other than that the bug should be fixed and pushed to npm

I entered the Discord. My username is GamesX50#1762

👍You should now have the role

Thanks :D


[Bugfix] [Relay] Insertion of "device_copy" CallNode to Resolve Device Conflict on Unconstrained Nodes

This PR addresses an issue #15019 I opened previously, regarding the PlanDevices pass's failure in cases where two operators share the same input but are intended to be assigned to different target devices. This scenario can often occur in the context of a neural network, where multiple layers can process the same input.
In the specific case of an operation (a+b)*(b+c), where the first add operator is assigned to the CPU and the second one to the GPU, PlanDevices pass would fail as it had difficulty determining the correct device for b.
The problematic behavior seemed to be due to PlanDevices pass marking b for the CPU (when it first visits a+b), and then throwing an error when it attempts to place b on the GPU while visiting b+c.
The solution I've implemented in this PR is the automatic addition of a device_copy. This means that if b is assigned to CPU after visiting a+b , the PlanDevices pass will append a device_copy to copy b to GPU when visiting b+c.

@mbs-octoml @Lunderberg  Hi, all the test cases passed. Can you help me review the patch?


Use stddev from benchmark to do a statistical test

We currently get some random test failures, because the benchmarks are hardcoded to be "within 1.2 times the time from Distributed". I found that:

@belapsed is the minimum time, not mean time. That's still an interesting measure (which gets more accurate with more samples) but I believe it has a higher spread? In any case, my intention is to test mean time.
seconds=1 makes our tests fast but not worth the high random failure rate
By doing actual stats, we can control the "admissible false positive" rate, which I set to 2.5% right now. It should be pretty low because we have so many CI runners.

Right now the PR changes our goal to be "97% sure that we are not slower".
This should probably be: "97% sure that we are not more than 20% slower". EDIT no its fine

leaving the windows failure for another day :)


README: add troubleshooting about running quorum-dev-quickstart

add troubleshooting about failing to run npx quorum-dev-quickstart on linux.

 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.


add floats to postgres example

Looks good to me but i paired on this with you so let's get a 👍 from someone else!


ESP32-S3 BLE cannot be scanned by IOS provisioning app (IDFGH-7093)

Environment

Development Kit:      ESP32-S3 Devkit C + ESP32-C3devKitC02
IDF version v4.4 c29343eb94d2f2ca17b3a5b38c82452e556147f2

Problem Description
ios provisioning app is not able to scan S3 but successfully scans C3.
Using ios 15.4 on Iphone SE + Galaxy S21
I picked C3 as comparisong because they  both are BLE 5.0 chipsets.
Also, both examples are using the same BLE settings, with
Bluedroid - Dual mode selected, the rest is default.
Steps to reproduce
simply compile from
esp-idf\examples\provisioning\wifi_prov_mgr
for both C3 and S3, then flash devices.
C3 will popup in the BLE app for ios, S3 will not.
Both are visible in android BLE app.

Generated an app-related issue on the proper repo since it's unknown if issue is coming from chipset or app.

@KonssnoK  Do you mean that the IOS app can't scan the adv packets of S3?

@Weijian-Espressif  exactly.
Sadly i don't own a swift dev environment so i cannot test what is going on the provisioning app side.
But trying to check the ScanResult of the android app i couldn't find any difference between C3 and S3.

Please test gatt_server example with your phone SE ,  check whether S3 BLE can be scaned and connect

I managed to see it (that's new) once,
but after i tried to connect with the provisioning app it gave a "pop" error.
Then I reset the board,
tried to scan with the Bluetooth of IOS -> no success
Android still visible tho.
Reflash with same file
Still not visible on IOS.

If i try with android it just tells me "an app is needed to pair with this device"

More info:

i restarted the iphone
device visible in the IOS provisioning app
device NOT visible in the IOS bluetooth section
log when failing to connect to the ios provisioning
`I (628) GATTS_DEMO: ADD_CHAR_EVT, status 0,  attr_handle 46, service_handle 44

I (638) GATTS_DEMO: ADD_DESCR_EVT, status 0, attr_handle 47, service_handle 44
I (96208) GATTS_DEMO: ESP_GATTS_CONNECT_EVT, conn_id 0, remote 7e:dc:3d:5f:56:8e:
I (96208) GATTS_DEMO: CONNECT_EVT, conn_id 0, remote 7e:dc:3d:5f:56:8e:
I (96238) GATTS_DEMO: ESP_GATTS_MTU_EVT, MTU 185
I (96238) GATTS_DEMO: ESP_GATTS_MTU_EVT, MTU 185
I (96458) GATTS_DEMO: update connection params status = 0, min_int = 16, max_int = 32,conn_int = 30,latency = 0, timeout = 400
I (96868) GATTS_DEMO: GATT_READ_EVT, conn_id 0, trans_id 2, handle 43
I (116068) GATTS_DEMO: ESP_GATTS_DISCONNECT_EVT, disconnect reason 0x13
`

Log when connecting with android
`
I (234568) GATTS_DEMO: ESP_GATTS_CONNECT_EVT, conn_id 0, remote 5b:1f:5d:f4:18:06:
I (234568) GATTS_DEMO: CONNECT_EVT, conn_id 0, remote 5b:1f:5d:f4:18:06:
I (235748) GATTS_DEMO: update connection params status = 0, min_int = 16, max_int = 32,conn_int = 6,latency = 0, timeout = 500
I (236798) GATTS_DEMO: GATT_READ_EVT, conn_id 0, trans_id 1, handle 47

I (237008) GATTS_DEMO: update connection params status = 0, min_int = 0, max_int = 0,conn_int = 32,latency = 0, timeout = 400
`

Via the provisioning app now i'm able too see it if i reset the board

More info:

I put back the provisioning FW on the S3.
I removed the prefix from the provisioning app
Android sees PROV_*
IOS sees ESP_GATTS_DEMO

This is same issue as
#7647

@Weijian-Espressif do you have any idea on this?
i tried to dig a bit in the BLE stack, but it's not that easy.
i reached btu_hcif_send_cmd which is called at BLE setup to set the Scan response raw.
However these are the initial settings, I'm still trying to find the function that is called when the actual scan response is sent.

@KonssnoK  You can download the NRF Connect app, Test connect and pairing. Check if provisioning App is OK

Or you can test the gatt_security_server example on your iPhone

@Weijian-Espressif
Using the gatt_security_server  app I'm always able to scan and connect to the device via IOS nRF Connect, even by changing the device name and reflashing.
If i move to  gatt_server   the device is not visible anymore for some minutes, then appears with the new name.
Also in this case i can change the device name, reflash, and see it with the correct name in the scan.
Finally i move to  wifi_prov_mgr. In the iOS nRF Connect the device is still seen with the old name, in Android it's seen with the correct name.
So,
this is an issue of the BLE implementation of the provisioning system, which affects only iOS.
What can we do as next steps?

his is not a bug, iPhone has a cache, it shows the old name, you connect and then disconnect, iPhone will update the cache, it will show your new name, you can try it

this is not a bug, iPhone has a cache, it shows the old name, you connect and then disconnect, iPhone will update the cache, it will show your new name, you can try it

if this is true then why with gatt_security_server  and  gatt_server the name gets updated instantly (without connecting) and with  wifi_prov_mgr is not?
All this started because my FrontEnd colleague didn't manage to see a device that he never seen before with its own Iphone, therefore he couldn't have any cache of the BLE device.

You can do a test with your iPhone, send adv, see the adv name, connect and disconnect, change the adv name and restart the adv, and then check the  adv name with your iphone

please refer https://developer.apple.com/forums/thread/19381

@Weijian-Espressif , as expected, the issue is related to the protocomm component.
By comparing code of simple_ble.c and example_ble_sec_gatts_demo.c i was able to find which is the discrepancy which is causing this issue.
In example_ble_sec_gatts_demo.c the code relies on esp_ble_gap_config_adv_data  for configuring the scan response.
Instead, in protocomm_ble.c your colleagues used raw_adv_data for both advertising and scan response.
The raw data is then set in simple_ble.c using esp_ble_gap_config_scan_rsp_data_raw.
Apparently, something in the raw data is missing -> bug.
Please check out these changes:
https://github.com/KonssnoK/esp-idf/commit/a9e06bc7d88b42c07eab16b54d5ec08e1d3ff364
In this code, instead of using a raw data, function esp_ble_gap_config_adv_data is used. In this way the name of the device gets updated immediately also with provisioning app.
Please forward to your colleagues for fixing.
Thanks!

Thanks for reporting, and sorry for slow turnaround, fix on master branch is available at https://github.com/espressif/esp-idf/commit/f7f6a929f2608cbcb67eafa240369ec4987971d1, we are back porting the fix to release/4.4 and release/4.3. Thanks.

Thanks for reporting, and sorry for slow turnaround. Fix on release/4.4 branch is available at https://github.com/espressif/esp-idf/commit/74dd39d8b07fc64abc69a4094af5745d4d846096 and fix on release/4.3 branch is available at https://github.com/espressif/esp-idf/commit/fab70ef3262ce70b5cc79f024ca966abe6fb9fcd, feel free to reopen.


This repo got hit by the crypto mining on action

Right now all our CI is queued behind a pr from a (by now banned) user that mines crypto on github actions:
https://github.com/uutils/coreutils/actions/runs/719170957
Someone with permissions to do so should stop the runs
some context:
https://www.bleepingcomputer.com/news/security/github-actions-being-actively-abused-to-mine-cryptocurrency-on-github-servers/
So far I am not aware of how to prevent this other than detecting it manually

Thanks
" You have successfully requested the workflow to be canceled. "

the account seems to be disabled
https://github.com/brianbarnatt7/

I am curious, where did you see the queue?

You can always view the queue under https://github.com/uutils/coreutils/actions


MM-39580 Switch admin-related modals to onExited

I'm renaming onHide to onExited so that it mirrors how it's supposed to be used with React-Bootstrap. GenericModal is one of those modals.
There shouldn't be any functional changes from this PR.
Ticket Link
https://mattermost.atlassian.net/browse/MM-39580
Related Pull Requests
https://github.com/mattermost/mattermost-webapp/pull/9280
https://github.com/mattermost/mattermost-webapp/pull/9281
https://github.com/mattermost/mattermost-webapp/pull/9282
https://github.com/mattermost/mattermost-webapp/pull/9283
https://github.com/mattermost/mattermost-webapp/pull/9291
https://github.com/mattermost/mattermost-webapp/pull/9292
Release Note
NONE

@hmhealey Not sure who to assign QA so I'll leave this up to you.


Correct type for boolean value (one bit for 0/1)

https://github.com/laravel/framework/issues/28646
#28646

I am closing this pull request because it lacks sufficient explanation, tests, or both. It is difficult for us to merge pull requests without these things because the change may introduce breaking changes to the framework.
Feel free to re-submit your change with a thorough explanation of the feature and tests - integration tests are preferred over unit tests. Please include it's benefit to end users; the reasons it does not break any existing features; how it makes building web applications easier, etc.
Thanks!


Improve slider handle border and position calculations

I have noticed that the slider has a few issues:

Handle shifts towards the middle when hovered or dragged, especially close to the edges of the rail. This is due to the outer border not being taken into account during the position calculation.
The handle squishes when hovered or dragged, again due to the external border not being accounted for, this time in the height calculation.
The the handle position does not match well with the cursor position, layout bounds for the "draggable" area is wider than the path the center of the handle takes, causing a mismatch in position.

The fix for the latter issue is a bit of a hack, and I am not sure what the best solution would be long term, since the update model would depend on the style/theme of the handle, specifically its radius. For now I have just hard-coded "saturation zones" at each end of the slider, each with the default radius of the slider handle
Top slider is the current implementation, the bottom is with this PR.
https://github.com/user-attachments/assets/cfa44ffb-4ac0-4af2-857c-8fee5d5d1d47
I asked @maria-komarova about these changes, and she said they look like a great improvement.

About the last bullet point point: This is also an issue with iced generally, so ideally it should be fixed upstream. I have another video to showcase the issue a bit more clearly:
https://github.com/user-attachments/assets/e9552503-fe22-47d4-b800-3422472c10c8
The fix in this PR is only valid as long as the handle has a radius of 10, which it is currently.


Android: Overriding default actions

Description
Using the accessibilityActions prop you can override the default usage hints for the actions "activate" and "longpress" on Android by giving them a new label.  While this works on most components, on <Button>, <Text>, <TextInput>, and <Picker> this has no effect.
React Native version:
v0.63
Expected Behavior
If the label for "activate" or "longpress" is overridden via the accessibilityActions prop, screen readers should announce the hint of "Double-tap to " or "Double-tap and hold to " rather than "Double-tap to activate" or "Double-tap and hold to longpress".
Android Details
Since this properly works on most components, this is likely an issue on the Javascript side of these props simply not being passed along.

While this works on most components, on , , , and this has no effect.

Which components is this needed for? Are there separate issues for these? cc @blavalla @amarlette

Oops, my component names without markdown formatting were being interpreted as HTML that github was trying to render!  I updated the description to call out the specific components with issues.

This is the result of my quick research on #1
accessibilityActions prop
Javascript
https://github.com/facebook/react-native/blob/83e5cdd369de637bbf9ea20d93cebc9984efaabb/Libraries/Components/View/ViewPropTypes.js#L433
https://github.com/facebook/react-native/blob/83e5cdd369de637bbf9ea20d93cebc9984efaabb/Libraries/Components/View/ViewPropTypes.js#L46
Java
https://github.com/facebook/react-native/blob/83e5cdd369de637bbf9ea20d93cebc9984efaabb/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java#L259
https://github.com/facebook/react-native/blob/83e5cdd369de637bbf9ea20d93cebc9984efaabb/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java#L205
The accessibilityActions seems to be mapped on the Java side depending on the type of components and the actions available. This actions should be available to all components that implement ReactAccessibilityDelegate.
https://github.com/facebook/react-native/blob/83e5cdd369de637bbf9ea20d93cebc9984efaabb/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java#L54-L59
for example in the case of the Slider, the ReactSliderManager includes the following type of actions
https://github.com/facebook/react-native/blob/83e5cdd369de637bbf9ea20d93cebc9984efaabb/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java#L281-L286
The callback will trigger the following methods mapped in ReactSliderManager
https://github.com/facebook/react-native/blob/83e5cdd369de637bbf9ea20d93cebc9984efaabb/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java#L289-L298
the method triggers the following announcement
https://github.com/facebook/react-native/blob/83e5cdd369de637bbf9ea20d93cebc9984efaabb/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java#L94-L107
This is what I found for onAccessibilityAction callback in java
https://github.com/facebook/react-native/blob/83e5cdd369de637bbf9ea20d93cebc9984efaabb/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java#L431-L435
I'll keep researching. Thanks :pray:

@amarlette #31532 fixes this issue.