Reverse mode: auto-generate BDD scenarios

In Playwright there is a codegen feature that generates test-code while you perform actions in browser. What I'm thinking about is to generate BDD code in some similar way.
Imagine the following scenario:

open todo app
create two todos
mark the first todo as completed
filter only completed todos

In codegen mode Playwright will generate the test:
import { test, expect } from '@playwright/test';

test('test', async ({ page }) => {
  await page.goto('https://demo.playwright.dev/todomvc/#/');
  await page.getByPlaceholder('What needs to be done?').fill('todo 1');
  await page.getByPlaceholder('What needs to be done?').press('Enter');
  await page.getByPlaceholder('What needs to be done?').fill('todo 2');
  await page.getByPlaceholder('What needs to be done?').press('Enter');
  await expect(page.getByTestId('todo-title')).toHaveCount(2); // <- added manually
  await page.getByRole('listitem').filter({ hasText: 'todo 1' }).getByRole('checkbox', { name: 'Toggle Todo' }).check();
  await page.getByRole('link', { name: 'Completed' }).click();
  await expect(page.getByTestId('todo-title')).toHaveCount(1); // <- added manually
});

The code looks rather structured and it would be possible to convert it into BDD scenario:
Scenario: Scenario 1
    Given I am on page "https://demo.playwright.dev/todomvc/#/"
    When I fill "todo 1" and press Enter
    And I fill "todo 2" and press Enter
    Then Count of "todo-title" equals to 2
    When I enable checkbox for "todo 1"
    And I click on "Completed"
    Then Count of "todo-title" equals to 1

Necessary step definitions can be generated as well:
Given('I am on page {string}', async ({ page }, url: string) => {
  await page.goto(url);
});

When('I fill {string} and press Enter', async ({ page }, text: string) => {
  await page.getByPlaceholder('What needs to be done?').fill(text);
  await page.getByPlaceholder('What needs to be done?').press('Enter');
});

Then('Count of {string} equals to {int}', async ({ page }, testId: string, count: number) => {
  await expect(page.getByTestId(testId)).toHaveCount(count);
});

When('I enable checkbox for {string}', async ({ page }, hasText: string) => {
  await page.getByRole('listitem').filter({ hasText }).getByRole('checkbox', { name: 'Toggle Todo' }).check();
});

When('I click on {string}', async ({ page }, name: string) => {
  await page.getByRole('link', { name }).click();
});

If I record second scenario existing step definitions can be reused.
I feel that there can be edge cases, but developer can always fix it manually.
In general having such easy way to generate BDD scenarios looks useful to define project requirements and behavior.
Would appreciate your thoughts on that :)

I've also found that there is jsonl output for Playwright's codegen, that can be turned into BDD steps with less effort.
for the scenario above jsonl output is the following:
{"browserName":"chromium","launchOptions":{"headless":false},"contextOptions":{}}
{"name":"openPage","url":"about:blank","signals":[],"pageAlias":"page"}
{"name":"navigate","url":"https://demo.playwright.dev/todomvc/","signals":[],"pageAlias":"page"}
{"name":"navigate","url":"https://demo.playwright.dev/todomvc/#/","signals":[],"pageAlias":"page"}
{"name":"fill","selector":"internal:attr=[placeholder=\"What needs to be done?\"i]","signals":[],"text":"todo 1","pageAlias":"page","locator":{"kind":"placeholder","body":"What needs to be done?","options":{"exact":false}}}
{"name":"press","selector":"internal:attr=[placeholder=\"What needs to be done?\"i]","signals":[],"key":"Enter","modifiers":0,"pageAlias":"page","locator":{"kind":"placeholder","body":"What needs to be done?","options":{"exact":false}}}
{"name":"fill","selector":"internal:attr=[placeholder=\"What needs to be done?\"i]","signals":[],"text":"todo 2","pageAlias":"page","locator":{"kind":"placeholder","body":"What needs to be done?","options":{"exact":false}}}
{"name":"press","selector":"internal:attr=[placeholder=\"What needs to be done?\"i]","signals":[],"key":"Enter","modifiers":0,"pageAlias":"page","locator":{"kind":"placeholder","body":"What needs to be done?","options":{"exact":false}}}
{"name":"check","selector":"internal:role=listitem >> internal:has-text=\"todo 1\"i >> internal:role=checkbox[name=\"Toggle Todo\"i]","signals":[],"pageAlias":"page","locator":{"kind":"role","body":"listitem","options":{"attrs":[]},"next":{"kind":"has-text","body":"todo 1","options":{"exact":false},"next":{"kind":"role","body":"checkbox","options":{"attrs":[],"exact":false,"name":"Toggle Todo"}}}}}
{"name":"click","selector":"internal:role=link[name=\"Completed\"i]","signals":[{"name":"navigation","url":"https://demo.playwright.dev/todomvc/#/completed"}],"button":"left","modifiers":0,"clickCount":1,"pageAlias":"page","locator":{"kind":"role","body":"link","options":{"attrs":[],"exact":false,"name":"Completed"}}}

This feature looks really nice, unfortunatelly not every project/webpage have good locators, so could be tricky for implementation.

Really awesome idea but could be tough to develop


MM-16385 - Fixing LHS more buttons  readout

Summary
MM-16385 - Fixing LHS readout
MM-17139 - Fixing LHS add button size
Ticket Link
https://mattermost.atlassian.net/browse/MM-16385
https://mattermost.atlassian.net/browse/MM-17139

@asaadmahmood
Error trying doing the automated Cherry picking. Please do this manually
+++ Updating remotes...
Fetching upstream
Fetching origin
+++ Updating remotes done...
+++ Creating local branch automated-cherry-pick-of-#3211-upstream-release-5.14-1563981042
Branch 'automated-cherry-pick-of-#3211-upstream-release-5.14-1563981042' set up to track remote branch 'release-5.14' from 'upstream'.
+++ Downloading patch to /tmp/3211.patch (in case you need to do this again)

+++ About to attempt cherry pick of PR. To reattempt:
  $ git am -3 /tmp/3211.patch

Applying: MM-16385 - Fixing LHS readout
Using index info to reconstruct a base tree...
M	components/sidebar/channel_more.jsx
M	i18n/en.json
Falling back to patching base and 3-way merge...
Auto-merging i18n/en.json
Auto-merging components/sidebar/channel_more.jsx
CONFLICT (content): Merge conflict in components/sidebar/channel_more.jsx
Patch failed at 0001 MM-16385 - Fixing LHS readout
Use 'git am --show-current-patch' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

+++ Conflicts detected:

UU components/sidebar/channel_more.jsx

+++ Aborting in-progress git am.

+++ Returning you to the master branch and cleaning up.

QA Notes:
Testcase added for MM-17139 and was tested and found to be working fine.


Multiple Video Clips

First a big THANK YOU to Tom and Bryan for putting this out.  I successfully built a VSMP and really enjoyed it.  Rather than a movie, I use mine to play video clips from my daughter's wedding.  I switched to a portrait orientation by swapping the width and height values on lines 150 and 151.  With this change, portrait video clips fill the display.
My challenge is the VSMP plays only one clip over and over, when there are two clips in the Videos folder.  Both file names are displayed at startup via line 120 ('print (movielist)') and both files have a corresponding '<progress' log file in the logs folder, so the program appears to be registering both clips.
I looked at the code on lines 188-192, which seems like it should increment currentVideo.  But my novice skills can't see the problem.  In my case, the program only plays the first of the two videos in a loop.  Any help would be appreciated!

More troubleshooting...
a) Either video clip plays when placed in the Videos folder alone, so both video files/filenames appear to be ok.
b) Testing with two files, I monitored the console when it reached the end of the first file.  The attached screenshot shows that it changes to the second filename starting at frame 0, however, the first video file starts again from the beginning and the second file never plays.

Just a complete guess because I haven't tried running any of this code, but I think the while loop that starts on line 159 might need to start at 152 because inputVid which is passed to the generate frame method does not get updated within the loop.
My apologies if I'm wrong and just adding noise to this issue.

Thank you so much, that was just the steer I needed.
Rather than changing the start of the while loop, I copied the inputVid definition from line 153 into the loop at 194 (after currentVideo is updated).  Now the videos cycle as expected at the end of each.
Attached is the revised python file.  Note this is also set up for portrait orientation with the width/height parameters swapped at lines 150 & 151.
slowmoviePORT.zip

👍  Glad to hear you got it working!
Looking at your revisions I'm afraid you may still have a small issue - though it could easily go unnoticed or not occur for your inputs. The script detects the end of the video by comparing the current position to the total number of frames (line 182) but like inputVid, the frameCount variable is only set (line 156) before entering the while loop and not updated when switching inputs.
I could see this leading to three possible scenarios:

If all videos are the same number of frames everything is miraculously fine.
If the starting video has the fewest number of frames it will play that number of frames for all videos, possibly skipping the end of longer videos.
If the starting video has more frames than at least one other video then it will depend on what ffmpeg does when asked for a frame beyond the end of the file. It might just grab the last frame or do nothing which should repeat the last frame for the difference in frame counts, or it might throw an exception.

I've done the easy thing and just copied those lines into the block that changes inputs but it is completely untested and there's room for improvement.
slowmoviePORT-frameCount.zip
Thanks for letting me live vicariously through your work on this until I get around to building my own! 😉

Good catch on that.  Thank you.
My first two video clips were approximately the same length, so I didn't notice the potential problem.  Your revision works great and displays the frame count when each video starts.
Here are a couple pics of the finished product.  I used the RIBBA picture frame from IKEA and an Argon POLY+ case for the Pi.  The case needs a little sanding to provide a clean exit for the ribbon cable and double-sided tape holds it in place.

That turned out really nice looking - great job!
Now you're probably gonna have to make another as an anniversary gift!

Anyone know what causes a screen to do this?![Uploading 99008839...]

Anyone know what causes a screen to do this?


Export to CSV How to define Col header name

Hi,
I'm using the export to csv function which is working great in my case but I can't figure how to set the col header name. I would like it to be different from the table cell name.
Thanks for you advice and help
regards

I'm afraid that's currently not possible, if you just want to change the heading for a column or two you could always add a new hidden column with name you want that's only exported. Note the nicest solution but it should work:)
I haven't heard anyone request this feature before but it would be pretty simple to implement so I'll mark this as a feature request.


PLEASE FIX THIS! "Something went wrong while trying to deserialize a response from the server."

Description of the bug:
Currently reporting requests to Gemini which I'm being billed for even though I'm getting errors from the library, no fault of mine.
Please tell me what to do? This library has a serialization error. I repeatedly repeat the request until I get a response that is not an error and thus incur insanely large amounts of money.
Is there a way to not charge these errors?

dump.txt
Actual vs expected behavior:
I expect not to be charged for a library error!
Any other information you'd like to share?
When I do a prompt, even though I get an error, it gets charged. Since errors are not handled well, I repeat the prompt until it returns a non-error result. This is done every 15 seconds. After all, for about 20 replies, I can have 2000 inquiries charged. I don't know how to avoid this problem. I use functional calling and prompts for in Bulgarian.

Closing as duplicate of #160


Cassandra 19086/4.1

(j8) https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1137/workflows/934e7f82-6555-4a26-94ef-eada11a96f81
(j11) https://app.circleci.com/pipelines/github/jacek-lewandowski/cassandra/1137/workflows/02072c77-88b6-4e40-8fe8-fa371d002b84

https://github.com/apache/cassandra/commit/e1b0b44f9e97caf720c84d79541ee1a146560aaa


Upgrade cert-manager to v1.12.13

cert-manager 1.12 is a LTS release, EOL until May 2025

cert-manager 1.12 requires at least k8s 1.22 so this change is blocked until we lift the minimum k8s version requirement.


[8.x] Change EncryptCookies::serialized behaviour

Currently, the serialize method returns a bool value no matter what is in the $name parameter. I changed it to work as in_array check just like the isDisabled method for the encryption. Now you can add the cookie's names to the $serialize static property which you want to serialize.

We unfortunately can't do this on a stable release as changing the property type is a breaking change.

I see. Should I make a pull request to another branch?

Yeah, try master. Thanks


[windspeed] lut format and resolutions for cmod and gmfs

Currently, lut are loaded from sarwing lut files, or dynamically generated from gmfs.
It will be a good thing to have a xsarsea format (like netcdf) ti store luts.
A question that we want to study is the stepping of the luts.
Currently, luts are stored and generated with

inc_step=0.1
wspd_step=0.1
phi_step=1.

Those tiny steps produce huge luts, inducing IO issue and cpu time.
Can we try to reduce the lut size ? For example, CMOD7 lut have the following steps:

wspd_step = 0.2
inc_step = 1
phi_step = 2.5

( so the official cmod7 size is 3.6Mb, and the sarwing cmod7 lut size is 346Mb)

Using  same step as CMOD7:

inc_step = 1
wspd_step = 0.2
phi_step = 2.5

And interpolate the lut with:

inc_step = 0.2
wspd_step = 0.2
phi_step = 2

Give good results in copol:

In dual pol, the result is improved, because the crosspol lut is small enough to be used at full resolution:

When saving the lut to netcdf file, the file size is 100x smaller than sarwing (2.5Mb vs 250Mb)


Inverting text colors

Hi, I'm trying to switch between day & night views; so toggling between a light color scheme and a dark color scheme. I like how Semantic UI makes this really easy with the Menu using the "inverted" class.
To illustrate what I'm trying to do, go here and click Chat:
http://www.sessionlessons.com/8
You can see the Comment view with the default styling. Now click Config and turn on night view. The "Night view" text color css is changed manually via javascript. Now click back to Chat and you can see its colors are unchanged. Is there a way to change it using the inverted class or does it just need to be styled manually? Also, is there a list of which elements/collections/views/modules that the inverted class can be used on? Thanks

Comments is definitely missing an inverted variation. I'll add that as an enhancement.
In general, variations like inverted are only defined in the context of UI components.  Inversion is often more complex than just flipping a single text color, and other element variations may need to be adjusted as well.  For example inverted menu has to define inversion in the context of all other types & variations, pointing, secondary, text, etc.

Ok great, thanks for the explanation.

So inverted text menu is coming as well?

Opening again, 3 years later. How's the progress?


Use of keycode depreciated per Vue docs

Behind the scenes, this plugin uses keycodes.
While reading the vue docs, I discovered that key codes are actually being depreciated from browsers. See: https://vuejs.org/v2/guide/events.html#Key-Codes
Should this plugin be updated for the new implementation, which appears to use built in labels for each key type? E.g., left and right arrow are ArrowLeft and ArrowRight respectively.
Is this on the radar for the plugin creator/maintainers? Are there any thoughts about this depreciation?

@hackerESQ we will look into it.
cc @vladimyr @Dafrok

I wouldn't mind taking this on in the Vue 3 branch once the PR  for that is merged.

I ended up implementing this change in my fork, and updated my PR.


Viewer w/Multi URI's In Info Column

If there are too many URI's to be displayed in the Info column in viewer and you click the down arrow to see the rest of them, all the URI's disappear.

Now when you expand the URI list the + sign to expand the payloads of the session disappears.

seems to be working now


Fix for Swift 5.2

The latest version of this library threw two errors when compiling against the latest version of Swift. It required two changes:

The pointer to the path in the add method was changed to outlive the call to init()
The Diff class was throwing an error about rawValue: 0 creating an empty set. I changed it directly to that to avoid the error.

I am pretty new to Swift so let me know if this is incorrect!

@BilalReffas I was planning on pushing the change you pointed out later today. Would you like me to still do that?

Sorry, because of inactivity I closed this one 😓..I have a PR for that right know. Please feel free to still contribute, great that you are active 🙌 😇


Added support for Deferred Enabled events

The signal module wouldn't work properly and just error when events were deferred. This commit fixes this all properly.

Hm, you said it was completely broken? Are you sure? I can get it to work just fine on Deferred Events without this commit? At least it didn't error at all for me. What code were you using?

@LucasMZReal The signal module is in fact broken, it will error for you once you start using Knit and have some communication between services / controllers. Even if you don't use Knit or have some communication, it will still have a lot of edge cases to handle without this commit and and when those are left unhandled, it will be completely broken.

Also the connection:IsConnected() part when a event is fired seems wrong to use, that should be something that should be changed on the script someone is using; and not changed on the Signal library as that would make it inconsistent to actual RBXScriptSignal behaviour;

This is not wrong to use. Bindable events will be deferred, and that means that the handler will be queued to resume at a later time under a specific invocation point. So if you fire a event and at the same, disconnect the event, the handler will still be called. This is also mentioned in the thread it self:


Kreait\Firebase\Exception\Database\ApiConnectionFailed

I am getting this error. previously it's working fine. I am using a firebase realtime database
Kreait\Firebase\Exception\Database\ApiConnectionFailed Unable to connect to the API: Connection refused for URI https://oauth2.googleapis.com/token
what is the possible problem?

Duplicate of https://github.com/kreait/firebase-php/issues/466


[WIP] Kendo demos

There's more to come, and I'll update this PR as appropriate. Don't merge.

Removing WIP as in https://github.com/mqasim23/jswc-web/pull/234. There's more work to do, but I don't see the harm in merging working components in this state, and doing more PRs. KendoGrids and KendoCharts demos are not in the default DEMOS list.


[reggen] Further changes, replacing loaded data with a proper class

This finishes up the campaign to replace OrderedDicts in reggen with actual classes. The four commits:

Define a nice params interface
Represent interrupts and alerts with a "Signal" type
Define a type for inter-module signals
(Finally) wrap the whole block up in a class, replacing the top-level dict.

This PR is going for a prize for "most rebased" because it touches the checked-in autogenerated code and conflicts with pretty much any change to the top-level. Eugh. Anyway, rebased again...


Split api cleanup

little cleanup things.

seeing deamon in the image router was personally irritating.
using the interface{} return value matches ContainerInspect, and was in the original #19133, but I'm not sure why it was dropped from #19772

With this, the only reference to the daemon is in api/server/server.go
Still some references to builder, but mainly involving the calculation of context and context handling. Maybe that functionality should become a pkg for reuse.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "split-api-cleanup" git@github.com:MHBauer/docker.git somewhere
$ cd somewhere
$ git rebase -i HEAD~2
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

ping @MHBauer you forgot to sign-off one commit. Also needs a rebase now :cry:

superseded by the much better #20205.

oh, that works, problem solved :smile: Thanks @MHBauer!


Update SampleApp.kt

add preferenceCategory() to example
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

I don't think this is necessary since preference category is straight forward to use.


feat(autoware_auto_msgs_adapter): add perception adapter

Description
Add msg adapter for autocore_perception_msgs and autocore_auto_perception_msgs
Tests performed

Not applicable.
Effects on system behavior

Not applicable.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[x] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@xmfcx please help our review this PR, thanks.
Only this PR is pass, can we propose more PR related to autoware_auto_msgs_adapter .

hi mits-san @mitsudome-r , please help us with reviewing this pr. Once it is merged we can create more.
Thanks Lucas.


adding runtime to specify python version.

Binder is officially running at commit bde2e29017ac48b1164e602e260dfd24394bf26a.
See site here https://hub.gke.mybinder.org/user/timothyb0912-check-yourself-zn4uwxst/tree

Note total time on the task was about 4.5 hours.


Update hyperlink in author-global-parameters.md

There is a new (improved) version of the page that the current link points to and that newer page links to the old one that I am replacing with this PR. Old page is https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/data-factory/continuous-integration-delivery.md and new page is https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/data-factory/continuous-integration-delivery-improvements.md

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

#label:"aq-pr-triaged"

#sign-off


Fix DoD checklist

This PR contains:

[x] bugfix
[ ] feature
[ ] refactor
[ ] documentation
[ ] other

Are tests included?

[x] no
[ ] yes (bugfixes and features will not be merged without tests)

Breaking Changes?

[x] no
[ ] yes (breaking changes will not be merged unless absolutely necessary – please provide motivation)

List any relevant issue numbers:
Resolves #17
Description
The checkboxes for the DoD in the task template were not formatted correctly.

Hi @skymandr ,
Thanks for the check/fix!
Given that this file comes from the https://github.com/RISC-OS-Community/StandardRepoTemplate wouldn't it be better  to fix the original one in that repo? - Every Friday all the depending repos gets automatically updated from the changes in the main branch for the StandardRepoTemplate, so we do not need to fix them all one by one.
Thanks a lot for your help :)


[Proposal] App::abort() should throw exception with HTTP status as exception code

When testing code that calls App::abort(), it's tough to test what HTTP status code was used if the status was not a 404. All non-404 App::abort()s result in a \Symfony\Component\HttpKernel\Exception\HttpException, so just @expectedException is insufficient to distinguish which HTTP status was used. (404's are easy because they're always \Symfony\Component\HttpKernel\Exception\NotFoundHttpException.)
It would be convenient to be able to use the PHPUnit @expectedExceptionCode annotation to check that the correct HTTP status code was used. App::abort() doesn't send an exception code to the exception constructors, so the exceptions default them to 0. Would it be acceptable to modify Illuminate\Foundation\Application::abort to pass $code to the exception constructors as both the status and exception code? If so, I have this mod written with a few tests.
It's possible to catch the exception inside the test and examine the status code, but it's a real pain compared to using the annotation, especially if you need to test it a lot. You have to make sure to check for and re-throw PHPUnit_Framework_ExpectationFailedExceptions, which feels like a hack. I suppose I could make a helper method in my TestCase parent class though.

$this->assertFalse(true, "An HttpException should have been thrown by the provided Closure.");

just doesn't work:


some keywords are added and changes in variable name

Summary
1-2 line summary of changes
Issue ID
Please mention the GIT Issue corresponding to the change
Changes
Please enter each change as a new bullet point
Checklist

[ ] This PR represents a single feature, fix, or change
[ ] These changes have been tested locally
[ ] Unit tests have been added for this change
[ ] Updated relevant documentation (docs, README)

Please don't PR bomb projects in order to get a free t-shirt.


Incompatible with the ToolbarAndroid using the onIconClicked event

Hi there!
I've been trying to add the ToolbarAndroid component and handling the onIconClicked event. However I've seen this line of code does not allow the Drawer to be opened:
https://github.com/root-two/react-native-drawer/blob/master/index.js#L304
The open event is fired but the Drawer never gets opened. If I try the same with a TouchableHighlight component and associating it to the onPress event it works prety well.
So, I've logged the object before exiting the open method:
I/ReactNativeJS( 2445): { _rafLoop: [Function],
I/ReactNativeJS( 2445):   terminate: [Function],
I/ReactNativeJS( 2445):   _t0:<PHONE_NUMBER>299,
I/ReactNativeJS( 2445):   _config:
I/ReactNativeJS( 2445):    { start: 0,
I/ReactNativeJS( 2445):      end: 0,
I/ReactNativeJS( 2445):      easingType: 'linear',
I/ReactNativeJS( 2445):      duration: 350,
I/ReactNativeJS( 2445):      onFrame: [Function],
I/ReactNativeJS( 2445):      onEnd: [Function] } }

By removing that problematic line of code the drawer seems to work as expected. I've checked and the whole component works good as well. My question for you guys is: it is possible to get rid of that condition or do we need to add an additional conditional check in order to not exit the open method call and get the Drawer to be compatible with the ToolbarAndroid component? Thank you!
This is an idea of my code:
  iconClicked = () => {
    this.refs['DRAWER'].open();
  }
  ...
        <Drawer
            ref={'DRAWER'}
            ...
                <ToolbarAndroid
                    navIcon={require('./logo.png')}
                    title="My app name"
                    onIconClicked={this.iconClicked}
                    style={{height:56, backgroundColor: '#e9eaed'}}/>

The problem is in handlePanResponderEnd() and/or close() functions:

User click to menu icon
handlePanResponderEnd() try to close drawer for some reason although it's already closed
tween animation run and set this._activeTween != null
ToolbarAndroid call drawer open()
open() check this._activeTween and exit without any actions (b6d57cf)
close() animation ended

sounds like the best option is to check the delta between https://github.com/root-two/react-native-drawer/blob/master/index.js#L330-L331 and only trigger the tween if the delta > 0.

@rt2zz I've tested what you proposed but the drawer has an animation lag when opening from the menu icon. I've ended with the app blocked too. Is there a better idea to handle that?

Can you clarify what you mean by "I've ended with the app blocked too"?
I just release v2.0.0-alpha (npm i react-native-drawer@next) with the check for delta. I also changed a few other things about the way gestures are processed. While I have not tested your exact set up, I have a similar setup on my project and it is working much more consistent now. Let me know how that goes for you.

Well, I meant the drawer was keeping opened and didn't respond to any gestures after certain use, so I had to close the app. I'll give it a try to the new version and I'll tell you how was it going.

Could not get the latest version:
npm i react-native-drawer@next
<EMAIL_ADDRESS>invalid

I was able to updated it by changing the version number to npm i react-native-drawer@next in my package.json and I've tested it again: It works pretty well now when I click the androidtoolbar. Thank you guys! The new version rocks. It's really smooth!

@rwngallego awesome! I think there are still some bugs that need ironing out, but in general the new version should be smoother.

I believe this is resolved now, if not please reopen


spelling mistake | et -> set

There was a small spelling mistake (et instead of set) which didn't really have any consequences since selection-notification seems to be enabled by default. Fixed it nevertheless. Seems to be wrong for the other colorschemes as well (only checked mountain and moonfly).

Thanks for the catch!


NetInfo is null

In a TMPE.log:
[Warning] @<PHONE_NUMBER> SpeedLimitManager.OnBeforeLoadData: NetInfo @ 68 is null!
   at CSUtil.Commons.Log.LogToFile(System.String log, LogLevel level)
   at CSUtil.Commons.Log.Warning(System.String s)
   at TrafficManager.Manager.Impl.SpeedLimitManager.OnBeforeLoadData()
   at TrafficManager.State.SerializableDataExtension.OnLoadData()
   at SerializableDataWrapper.OnLoadData()
   at SimulationManager.LateUpdateData(UpdateMode mode, Single minProgress, Single maxProgress)
   at SimulationManager.Managers_LateUpdateData(UpdateMode mode, Single minProgress, Single maxProgress)
   at LoadingManager+<LoadSimulationData>c__IteratorB.MoveNext()
   at AsyncTask.Execute()
   at SimulationManager.SimulationStep()
   at SimulationManager.SimulationThread()

[Warning] @<PHONE_NUMBER> SpeedLimitManager.OnBeforeLoadData: NetInfo @ 69 is null!
   at CSUtil.Commons.Log.LogToFile(System.String log, LogLevel level)
   at CSUtil.Commons.Log.Warning(System.String s)
   at TrafficManager.Manager.Impl.SpeedLimitManager.OnBeforeLoadData()
   at TrafficManager.State.SerializableDataExtension.OnLoadData()
   at SerializableDataWrapper.OnLoadData()
   at SimulationManager.LateUpdateData(UpdateMode mode, Single minProgress, Single maxProgress)
   at SimulationManager.Managers_LateUpdateData(UpdateMode mode, Single minProgress, Single maxProgress)
   at LoadingManager+<LoadSimulationData>c__IteratorB.MoveNext()
   at AsyncTask.Execute()
   at SimulationManager.SimulationStep()
   at SimulationManager.SimulationThread()

Does this cause any problems in-game? Is there a way to track down the source of the issue?

Looks like some network prefabs are missing/broken - check output.log, there must be something

For the null netinfo message, would it be possible to output the name of non-null adjacent netinfos?
It might give some indication as to the root of the problem. For example, if it's something in NEXT or MOM mods, we'd see from name of non-null adjacent netinfos something recognisable to those mods.

Found the code, will try and output some details.
Will also try and fix #510 while in there.


Keep original stack trace when rethrowing exceptions

When calling Container.Dispose() if a single object throws an exception it gets rethrown in a way that replaces the original stacktrace with one that only includes Container.Dispose()
This makes it impossible to log what fails in a released app. All you get is Container.Dispose threw an exception.
If multiple objects throw exceptions they're wrapped in an AggregateException keeping their original stacktraces intact.
A better way would be to rethrow using ExceptionDispatchInfo.Capture(exceptions[0]).Throw();
This would keep the original stacktrace.
ExceptionDispatchInfo is available in NET45 and NETStandard10 so NET40 would need to keep throwing as it does today.
LifeTimecontainer.Dispose has the exact same issue
ConstructorResolution.ResolveDelegate and DynamicBuildPlanGenerationContext.GetBuildMethod may also have the issue but I'm not entirely sure what the consequence would be here

Would you like to send a PR for this?

I would love to send a PR but I'm unsure how that works with your project structure (submodules). Do I make a pull request against unitycontainer/container or unitycontainer/unity or both?

The dispose implementation is in Container project

@ENikS It looks like the PR tests are run only within the context of the container project and therefore not finding the rest of the needed classes making them fail with stuff completely unrelated to my changes.
How do I get them to run in the context of the full project?


 Also a .gitignore is something u should always make rofl

ah thank you. .gitignore is essential i know that, but i didnt add it cuz of a reason. i appreciate it tho!
Also mb for the late reply, busy with school lol

aight


Review initial CODEOWNERS and MAINTAINERS.md

Problem description

The PRs #1 and #2 are created based on the existing email communication in context of API Backlog.
Expected action

PRs got reviewed, potentially extended and merged after approvals.
Additional context

@hdamker can this issue be closed?

@hdamker can this issue be closed?

Yes, both PRs are merged already.


Update android sdk version to 29 for all mobile plugins.

Description
This PR updates the android sdk version to 29 for all the plugins. Each plugin has a patch version bump.
Related Issues
Fixes https://github.com/flutter/flutter/issues/64396
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[x] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (flutter analyze) does not report any problems on my PR.
[x] I read and followed the Flutter Style Guide.
[x] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[x] I updated CHANGELOG.md to add a description of the change.
[x] I signed the CLA.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
[x] No, this is not a breaking change.

I didn't double check every file but LGTM!

@cyanglaz could this be bumped to 30 since it has already been released as stable?


Let teachers change hero/language for CCJ from curriculum guide

Previously, they would be prompted to subscribe if it were a premium hero, and selecting anything would go back to teacher dashboard instead of reloading the level with new hero, code format, or code language.
This was one of the bugs:

(and if you did pick anything, it didn't include ?course= so redirected to teacher dashboard)
Now that works, and you can pick premium heroes in teacher or student mode in CCJ.

Premium heroes are a home subscription thing; in classroom mode, all warriors are the same and non-warriors don't show up.


Remove extra quote in bash invokation

Currently, we use the following bash invokation to run the linter:
ament_<linter> $(colcon list --packages-select 'a b c')
The use of "colcon list" is to convert the list of package names into
packages paths that the linter expects.
I.e. we can run ament_copyright /path/to/pkg/a /path/to/pkg/b, but not
ament_copyright a b.
This fails because colcon list is looking for a single package called 'a b c'.
As there is no package called 'a b c'. What we want is instead selecting
package, "a", "b", and "c". This can be done by removing the single quotes
around the package list:
ament_<linter> $(colcon list --packages-select a b c)
Unfortunately, "colcon list" returns 0 (success), even if it fails to
match anything. Therefore, there is no easy way to detect this issue
with the current implementation. An alternative solution could be to
parse stderr, which is cumbersome, and brittle. For now, we chose to
only fix the issue, without introducing a test or a safety mechanism to
prevent regressions from happening.

The test is actually doing something now (from the GH Action logs):
bash -c source /opt/ros/eloquent/setup.sh && ament_flake8 $(colcon list --packages-select ament_copyright ament_lint -p)

17 files checked
No problems found

Checked files:

* /home/runner/work/action-ros2-lint/action-ros2-lint/ament_lint/ament_copyright/setup.py
* /home/runner/work/action-ros2-lint/action-ros2-lint/ament_lint/ament_copyright/ament_copyright/__init__.py
* /home/runner/work/action-ros2-lint/action-ros2-lint/ament_lint/ament_copyright/ament_copyright/parser.py
* /home/runner/work/action-ros2-lint/action-ros2-lint/ament_lint/ament_copyright/ament_copyright/crawler.py
* /home/runner/work/action-ros2-lint/action-ros2-lint/ament_lint/ament_copyright/ament_copyright/main.py
* /home/runner/work/action-ros2-lint/action-ros2-lint/ament_lint/ament_copyright/ament_copyright/pytest_marker.py
* /home/runner/work/action-ros2-lint/action-ros2-lint/ament_lint/ament_copyright/ament_copyright/licenses.py
* /home/runner/work/action-ros2-lint/action-ros2-lint/ament_lint/ament_copyright/ament_copyright/copyright_names.py
* /home/runner/work/action-ros2-lint/action-ros2-lint/ament_lint/ament_copyright/test/test_copyright.py
* /home/runner/work/action-ros2-lint/action-ros2-lint/ament_lint/ament_copyright/test/test_pep257.py
* /home/runner/work/action-ros2-lint/action-ros2-lint/ament_lint/ament_copyright/test/test_flake8.py
* /home/runner/work/action-ros2-lint/action-ros2-lint/ament_lint/ament_copyright/test/cases/bsd_license_indented/case.py
* /home/runner/work/action-ros2-lint/action-ros2-lint/ament_lint/ament_copyright/test/cases/bsd_license_tabs/case.py
* /home/runner/work/action-ros2-lint/action-ros2-lint/ament_lint/ament_copyright/test/cases/bsd_license/case.py
* /home/runner/work/action-ros2-lint/action-ros2-lint/ament_lint/ament_lint/setup.py
* /home/runner/work/action-ros2-lint/action-ros2-lint/ament_lint/ament_lint/ament_lint/__init__.py
* /home/runner/work/action-ros2-lint/action-ros2-lint/ament_lint/ament_lint/ament_lint/pytest_marker.py


Add Anaconda 3 version 4.4.0.

This adds the full Anaconda 3 distribution.

For the sake of my servers traffic, I added hash extraction 😀

May add uninstaller property into the manifest.
https://github.com/h404bi/dorado/blob/master/anaconda3.json


robustness of optimization

Optimization using the standard numpy optimizers seems rather fragile. e.g.
N = 40
X = np.reshape(np.random.uniform(0, 1, N), (N, 1))
Y = np.sin(3*X) + np.reshape(np.random.randn(np.size(X)), X.shape)*0.001

model_GPy = GPy.models.GPRegression(X, Y, GPy.kern.RBF(1))
model_GPy.optimize() # works fine

model_GPflow = GPflow.gpr.GPR(X, Y, GPflow.kernels.RBF(1))
model_GPflow.optimize(method='L-BFGS-B') # fails on 6/10 attempts
model_GPflow.optimize(method='CG') #  fails on 9/10 attempts
model_GPflow.optimize(method='BFGS') # fails on 10/10 attempts

However, using  another optimizer:
step = 0.5
model_GPflow.optimize(method=tf.train.AdagradOptimizer(step), max_iters=1000) # works

But if step is less than 0.1 it doesn't get there after 1000 iterations, and if step is greater than about 1 it doesn't seem to find the right answer.
Clearly setting the initial likelihood variance to something smaller solves this particular example, but in general it seems problematic if the out-the-box optimizer fails with misspecified hyperparameters, even in simple cases. Could GPflow be made more robust to these numerical issues?

@alexisboukouvalas does this help at all with your numerical issues?

This is fixed in #120


Your link to the deployed version is HTTP not HTTPS

SW doesn't get installed on HTTP so the link should go to your HTTPS site (or you should redirect on the server side)

You are correct, I have only used it in presentations running locally, and definitely missed that. Have updated the link accordingly.
Thanks for the report!


Odd random Multiple Lines in transcription.  🤔

Hello, and good day!
When Stable-Ts has trouble predicting a word it fills in more words.  I am guessing.
In the video example, at 1:31 a long sentence was added when she did not say these words.
https://files.deyson.com/mcYRuIiN
Here is the script I am using. In the 10-word version, it also throws in the random sentence.
https://files.deyson.com/QWHXf8Ha
Please let me know what you think. 🤔
Thank you and have an Outstanding Day. 🙂

This is the model hallucinating. You can try to use beam search by specifying a beam size (e.g. model.transcribe(beam_size=5)). You can also run the audio through a denoiser with (e.g. denoiser="demucs").

@jianfch  That did the trick. I tested the Beam_Size=5 first and it fixed it.  Thank you, you are awesome! 🙂
For the denoiser="demucs" would I place that next to beam_size?
I am curious in case I need it later for future projects.
In this project the speech is isolated, I mix in the music after the transcription.
Thank you and have an Incredible Day. 🙂

For the denoiser="demucs" would I place that next to beam_size?

Yes, it is equivalent to demucs=True, but demucs is deprecated.


Updates new endpoints sample for env flex

see #236

I think the point of having two different ports for ESP and the App container is to be able to easily distinguish and reason between them in the docs. So in container-engine.yaml I'd like to see two different ports, and not 8080 for both. The issue is not whether having the same port "works", the issue is teaching the user how the different containers will interact with the docs and these samples.
I'm also concerned about having different ports in this sample compared to the other languages. That will make writing the documentation for these samples trickier and more error prone.
I'd ask that we take a pragmatic approach and

submit this PR with the sub-optimal PHP built-in web server so that the documentation work / review can be unblocked.
follow up with a second PR to work on making the gcr.io/google_appengine/php runtime port generic and configurable in order to replace the existing PHP built-in web server with it.

I think the point of having two different ports for ESP and the App container is to be able to easily distinguish and reason between them in the docs. So in container-engine.yaml I'd like to see two different ports, and not 8080 for both. The issue is not whether having the same port "works", the issue is teaching the user how the different containers will interact with the docs and these samples.

Correct, this was just fixed. ESP will be on 8081 and the app on 8080. We had to do this for Java as well for similar reasons.

I'm also concerned about having different ports in this sample compared to the other languages. That will make writing the documentation for these samples trickier and more error prone.

The docs will be the same as the service still listens on port 80, so the curl commands will be consistent. Also the gke config will be git-included from the appropriate repo, so when the user selects 'php' they will see this php version.

Correct, this was just fixed. ESP will be on 8081 and the app on 8080.
We had to do this for Java as well for similar reasons.

Will you be updating all the other languages also? (Python, Ruby, Node, Go)
If not, we should revert the Java port change and keep Java/PHP consistent
with the other languages.

The docs will be the same as the service still listens on port 80, so
the curl commands will be consistent. Also the gke config will be
git-included from the appropriate repo, so when the user selects 'php' they
will see this php version.

I know the external port 80/443 is consistent. But we will have docs (if we
don't already) that explain the interaction between the ESP and App
containers and the product architecture so those ports should ideally be
consistent in our docs as well.
On Wed, Nov 16, 2016 at 11:49 AM, Jeff Mendoza<EMAIL_ADDRESS>wrote:

I think the point of having two different ports for ESP and the App
container is to be able to easily distinguish and reason between them in
the docs. So in container-engine.yaml I'd like to see two different ports,
and not 8080 for both. The issue is not whether having the same port
"works", the issue is teaching the user how the different containers will
interact with the docs and these samples.
Correct, this was just fixed. ESP will be on 8081 and the app on 8080. We
had to do this for Java as well for similar reasons.
I'm also concerned about having different ports in this sample compared to
the other languages. That will make writing the documentation for these
samples trickier and more error prone.
The docs will be the same as the service still listens on port 80, so the
curl commands will be consistent. Also the gke config will be git-included
from the appropriate repo, so when the user selects 'php' they will see
this php version.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/php-docs-samples/pull/243#issuecomment-261052029,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATtgpTNCBUCfJZPK6ocVYESnzDt3bM9Zks5q-15egaJpZM4KxxNf
.

Jeff, Brad Friedman, Brent and I discussed this over email, and decided to
update all samples to use port 8080 for the app container, and 8081 for the
ESP container.
Jeff will send the PRs for the Python,Node,Go,Ruby repos.
Thanks!
On Wed, Nov 16, 2016 at 11:59 AM, Sepehr Ebrahimzadeh<EMAIL_ADDRESS>wrote:

Correct, this was just fixed. ESP will be on 8081 and the app on 8080.
We had to do this for Java as well for similar reasons.

Will you be updating all the other languages also? (Python, Ruby, Node, Go)
If not, we should revert the Java port change and keep Java/PHP consistent
with the other languages.

The docs will be the same as the service still listens on port 80, so
the curl commands will be consistent. Also the gke config will be
git-included from the appropriate repo, so when the user selects 'php' they
will see this php version.

I know the external port 80/443 is consistent. But we will have docs (if
we don't already) that explain the interaction between the ESP and App
containers and the product architecture so those ports should ideally be
consistent in our docs as well.
On Wed, Nov 16, 2016 at 11:49 AM, Jeff Mendoza<EMAIL_ADDRESS>wrote:

I think the point of having two different ports for ESP and the App
container is to be able to easily distinguish and reason between them in
the docs. So in container-engine.yaml I'd like to see two different ports,
and not 8080 for both. The issue is not whether having the same port
"works", the issue is teaching the user how the different containers will
interact with the docs and these samples.
Correct, this was just fixed. ESP will be on 8081 and the app on 8080. We
had to do this for Java as well for similar reasons.
I'm also concerned about having different ports in this sample compared
to the other languages. That will make writing the documentation for these
samples trickier and more error prone.
The docs will be the same as the service still listens on port 80, so the
curl commands will be consistent. Also the gke config will be git-included
from the appropriate repo, so when the user selects 'php' they will see
this php version.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/php-docs-samples/pull/243#issuecomment-261052029,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATtgpTNCBUCfJZPK6ocVYESnzDt3bM9Zks5q-15egaJpZM4KxxNf
.


Correction for raw affiliation UNB MRI Centre, Department of Physics, PO Box 4400, Fredericton, NB E3B 5A3, Canada

Correction needed for raw affiliation UNB MRI Centre, Department of Physics, PO Box 4400, Fredericton, NB E3B 5A3, Canada
raw_affiliation_name: UNB MRI Centre, Department of Physics, PO Box 4400, Fredericton, NB E3B 5A3, Canada
new_rors: 05nkf0n29
previous_rors:
works_examples: W4308955133
contact: 671176e2edc3babb2c2c6bd150c69e4c:ccb8ec20 @ ourresearch.org

This issue was accepted and ingested by the OpenAlex team on 2024-10-10. The new affiliations should be visible within the next 7 days.


Question: Why not drop vendor prefixes in favor of using Autoprefixer?

I searched the past issues and didn't see anything about this so I figured i'd post it as a question. It seems like removing all of the vendor prefix code would be a big win. It would be a lot less code and would stabilize some of the churn on removing prefixes that no longer need to be there. Autoprefixer already handles all that nicely, is easy to target browsers and integrates nicely into all the major build tools.
Has the been any internal discussion about this already?

@mattmcmanus Yes! There have been discussions on this and Bourbon 5.0 will be exactly this. You can follow along on the bourbon-v5.0.0 branch.

Is there a list of things in store for 5.0 besides the two issues in the milestone. I'd love to help if I'm able

@mattmcmanus Along with removing prefixes and a few general code improvements, we are also porting all documentation over SassDoc. It’s a bit of a laborious process, but we have made a lot of headway. Feel free to add any documentation to features that are missing them in the 5.0 branch.
We’re also writing feature tests and hope that Bourbon will be fully tested in 5.0.
Once we release an alpha (hoping to soon), any testing then will be very helpful!

Awesome. Looking forward. I'm about to start a large project and I'm excited to be able to really lean into bourbon and the fam.


[#5001] Reflect the switching agent event on the chart

Codecov Report

Merging #5033 into master will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #5033      +/-   ##
==========================================
+ Coverage   40.77%   40.79%   +0.01%
==========================================
  Files        2649     2649
  Lines       79284    79284
  Branches    10717    10717
==========================================
+ Hits        32332    32347      +15
+ Misses      44022    44006      -16
- Partials     2930     2931       +1

Impacted Files
Coverage Δ

...pc/server/LoggingServerMessageListenerFactory.java
90% <0%> (-10%)
:arrow_down:

...rc/main/java/com/navercorp/pinpoint/test/Item.java
65.51% <0%> (-3.45%)
:arrow_down:

...tor/metric/datasource/DefaultDataSourceMetric.java
75% <0%> (-3.13%)
:arrow_down:

...corp/pinpoint/rpc/stream/StreamChannelManager.java
70.68% <0%> (-1.73%)
:arrow_down:

...point/rpc/client/DefaultPinpointClientHandler.java
73.56% <0%> (+1.27%)
:arrow_up:

...java/com/navercorp/pinpoint/rpc/DefaultFuture.java
74.16% <0%> (+1.66%)
:arrow_up:

...rver/cluster/zookeeper/CuratorZookeeperClient.java
87.85% <0%> (+1.86%)
:arrow_up:

...om/navercorp/pinpoint/rpc/codec/PacketDecoder.java
63.82% <0%> (+2.12%)
:arrow_up:

...cluster/zookeeper/ZookeeperClusterDataManager.java
68.38% <0%> (+3.67%)
:arrow_up:

...r/zookeeper/ZookeeperClusterDataManagerHelper.java
80.85% <0%> (+4.25%)
:arrow_up:

... and 3 more

Continue to review full report at Codecov.

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


add adityagarde

resolve #630

Thanks for your contribution 🚀 and thanks @deephunt3r for reviewing

Thanks for your contribution 🚀 and thanks @deephunt3r for reviewing


Add OIDC Support Package for Policy-Mapper and Policy-Orchestrator

This enables web interface servers to establish user logins with OIDC.
Anticipated use by:

Hexa Industries Demo
Hexa Admin UI

Going to add configurable endpoint to make using with other apps easier (eg. HexaIndustriesDemo)


New data keep saving in old format after changing schema

Hey there!
I am researching schema evolution in pinot.
I use pinot, kafka and avro schema registry.
Messages in kafka are sending in avro format.
I have created a pinot realtime table that based on avro schema:
{"namespace": "some.domen",  "type": "record",  "name": "Product",  "fields": [      {"type": "double", "name": "productID"},      {"name": "name", "type": "string"},      {"name": "published_date",  "type": ["string", "null"]},      {"name": "cost", "type": "double"},      {"name": "timestamp", "type": "long"}  ] }
First I converted avro schema into pinot schema and then created a pinot table using this config file:
{   "tableName": "product",   "tableType": "REALTIME",   "segmentsConfig": {     "timeColumnName": "timestamp",     "timeType": "MILLISECONDS",     "schemaName": "product",     "replicasPerPartition": "1"   },   "tenants": {},   "tableIndexConfig": {     "loadMode": "MMAP",     "streamConfigs": {       "streamType": "kafka",       "stream.kafka.consumer.type": "lowlevel",       "stream.kafka.topic.name": "product-topic",       "stream.kafka.decoder.class.name": "org.apache.pinot.plugin.inputformat.avro.confluent.KafkaConfluentSchemaRegistryAvroMessageDecoder",       "stream.kafka.consumer.factory.class.name": "org.apache.pinot.plugin.stream.kafka20.KafkaConsumerFactory",       "stream.kafka.zk.broker.url": "localhost:2181/kafka",       "stream.kafka.broker.list": "localhost:9092",       "realtime.segment.flush.threshold.time": "3600000",       "realtime.segment.flush.threshold.size": "50000",       "stream.kafka.consumer.prop.auto.offset.reset": "smallest",       "stream.kafka.decoder.prop.schema.registry.rest.url": "http://localhost:8081"     }   },   "metadata": {     "customConfigs": {}   } }
After that I added a new column 'country' to avro schema. Converted into pinot schema too and updated the existing schema:
./bin/pinot-admin.sh UpdateSchema -schemaFile /tmp/schemas/product.json -exec
Then I executed:
curl -X POST "http://localhost:9000/segments/product/reload?type=REALTIME" -H "accept: application/json"
New column successfully added, I see null values in country column.
But new data that have not empty country column are importing with null values into pinot table too.
Is it a bug? Is it possible to import new data from kafka with new schema format without reloading pinot?

Please this this doc: https://docs.pinot.apache.org/users/tutorials/schema-evolution#update-the-schema
Real-Time Pinot table: In case of real-time tables, make sure the "pinot.server.instance.reload.consumingSegment" config is set to true inside Server config. Without this, the current consuming segment(s) will not reflect the default null value for newly added columns.

@xiangfu0 I set this property and everything the same:

In kafka topic you can see Product_823 and Product_973 have country = USA:

But in pinot table country field is imported as null:

There are 2 ways of handling the schema change with new columns within consuming segment:

(Supported) Keep the already consumed records and add new columns as default values. The next consuming segment will pick up the new schema and consume the actual data. With this approach, the consumed records are kept, but we have to wait for the next consuming segment to ingest the actual data for the new columns (we might be able to build an api to force commit the current consuming segments and create new consuming segments)
(Not supported yet) Drop the already consumed records and re-consume from the start offset with the new columns with actual data. This approach can load data for new columns immediately, but the already consumed records are dropped and re-consumed which can cause temporary data inconsistency.

@Jackie-Jiang first approach is more preferable. Is it supported in the last version of pinot?

@RuslanTM Yes it is already supported. As mentioned above, you need to wait until the current consuming segment committed, then the next consuming segment will consume the actual data for the new added columns. The current consuming segment will be filled with default value for the new added columns, which is "null" for new column country.


error occurred: fork/exec ./redeploy.sh

Hi,
when I use webhook version 2.6.5, I got error:error occurred: fork/exec ./redeploy.sh: not a directory.
full environment info:
$ cat hooks.json
[
  {
    "id": "redeploy-webhook",
    "execute-command": "./redeploy.sh",
    "command-working-directory": "./webhook"
  }
]
$ cat redeploy.sh
#!/bin/sh
echo 'success'
$ ll redeploy.sh
-rwxr-xr-x 1 root root 25 Sep 23 15:10 redeploy.sh

then start webhook use  ./webhook -hooks hooks.json -verbose,and request by curl http://<IP_ADDRESS>:9000/hooks/redeploy-webhook.
full consoles:
[webhook-linux-amd64]$ ./webhook -hooks hooks.json -verbose
[webhook] 2017/09/23 15:18:34 version 2.6.5 starting
[webhook] 2017/09/23 15:18:34 setting up os signal watcher
[webhook] 2017/09/23 15:18:34 attempting to load hooks from hooks.json
[webhook] 2017/09/23 15:18:34 found 1 hook(s) in file
[webhook] 2017/09/23 15:18:34   loaded: redeploy-webhook
[webhook] 2017/09/23 15:18:34 serving hooks on http://<IP_ADDRESS>:9000/hooks/{id}
[webhook] 2017/09/23 15:18:34 os signal watcher ready
[webhook] 2017/09/23 15:18:38 incoming HTTP request from <IP_ADDRESS>:42324
[webhook] 2017/09/23 15:18:38 redeploy-webhook got matched
[webhook] 2017/09/23 15:18:38 redeploy-webhook hook triggered successfully
[webhook] 2017/09/23 15:18:38 200 | 113.147µs | <IP_ADDRESS>:9000 | GET /hooks/redeploy-webhook
[webhook] 2017/09/23 15:18:38 executing ./redeploy.sh (./redeploy.sh) with arguments ["./redeploy.sh"] and environment [] using ./webhook as cwd
[webhook] 2017/09/23 15:18:38 command output:
[webhook] 2017/09/23 15:18:38 error occurred: fork/exec ./redeploy.sh: not a directory
[webhook] 2017/09/23 15:18:38 finished handling redeploy-webhook
^C

How can I solve this problem?

I change hooks.json like this:
$ cat hooks.json
[
  {
    "id": "redeploy-webhook",
    "execute-command": "./redeploy.sh",
    "command-working-directory": "./"
  }
]


Checking old passwords in UserActions collection when changing password

Query the UserActions collection and check for old passwords that were used.
How old is too old?
Check for occurrences of certain parts of the password string?

Going to query for passwords that are at least 30 days old.

This is complete. This was a perfect use case for https://github.com/mtmulch/mulchronedigital/issues/77.


wg-ui-and-a11y Status Update 2020-07-31

What was accomplished
Becca
Worked on documents (I2I and I2D) for amp-youtube and amp-img
Kevin
Bento implemented a new way of handling children, how to style the individual social share components
Caroline
Working on inline gallery features for amp-base-carousel, amp-base-carousel extension is live
Allowlisted amp accordion actions in email, fixed template rendering bug for ssr code
Wassim
Merged a PR to allowlist select menus
Has a PR in review for supporting icon fonts in amp-next-page
Lessons learned
Becca
Learned about the flow required for creating new major features in amp
Kevin
How shadow group works and how children function in bento
Caroline
Did a WFH physical health checkup, and learned you should take a standing break every hour
What's next
Becca
Design review for Amp-img and amp-youtube
Kevin
Working on tests for amp-social-share
Caroline
Amp-base-carousel, amp-inline-gallery, accessibility changes
Wassim
Fixing as many amp-next-page issues as possible
Completing transition elements

We've also had a bunch of a11y issues and documentation PRs come in!


Advance swift apis

Moves swift-apis commit to https://github.com/tensorflow/swift-apis/commit/3629ddc49b706df89f89fa3e92e495e6e3f42332, which contains some fixes for https://github.com/fastai/fastai_dev/pull/150

@swift-ci please clean test tensorflow


Fix building shared libraries for Windows environments

This pull request makes some changes to src/CMakeLists.txt that ensure shared libraries build and install correctly on Windows environments.
The changes I made are:

set(CMAKE_SHARED_LIBRARY_PREFIX ) - Prevent DLL files from having a prefix added to their name (i.e. libSDL_gpu.dll when it should be SDL_gpu.dll) when building with MinGW.
target_compile_definitions(SDL_gpu_shared PUBLIC DLL_EXPORT) - Ensure DLL files export symbols and import libraries are generated when compiled with Visual Studio/Microsoft C++.
install(TARGETS SDL_gpu_shared EXPORT SDL_gpu-targets LIBRARY DESTINATION lib) - Install DLL files in the bin directory and *.lib/*.a files in the lib directory.

The .dll and .a files are still not being properly created by Mingw. The only way to obtain .dll and .a files from a Mingw compilation currently in my attempts is through MSYS2. I have done so here. If you require 0.12 librairies for Windows, use this build it should work: https://github.com/l-t-m-f/SDL2_gpu-0.12.0-mingw64.zip


Question about D^3 Fields' Semantic Representation Capabilities

I want to express my appreciation for this impressive work!
I have a specific question regarding the semantic representation capabilities of D^3 fields:
Can D^3 fields represent multiple semantic attributes at a single position? I'm particularly interested in scenarios involving multiple object properties, such as physical attributes and visual attributes.
To illustrate my question with a concrete example "shoe alignment task with three shoes":

Two black shoes that form a pair
One white shoe
All shoes placed randomly

In this scenario:

Can the D^3 fields simultaneously encode both color information (black vs. white) and structural information (matching pair properties)?
Would it be possible to selectively organize only the matching black pair while ignoring the white shoe?

I would greatly appreciate any insights from you!

Hi Qineng, thank you for your questions and interest in our work! For your first question - yes it can encode both color and semantic features. For your second question, yes you can do that. However, you may need to modify the correspondence rule yourself.


Trying to install functions python runtime on Windows resuslts in OSError

[REQUIRED] Environment info

firebase-tools: 12.3.0

Platform: Windows 11
[REQUIRED] Test case

Run firebase init on Windows.
[REQUIRED] Steps to reproduce

Run firebase init
Select Functions
Select Python
Select Yes on install dependencies

[REQUIRED] Expected behavior
It should install.

[REQUIRED] Actual behavior

[2023-06-02T04:49:57.687Z] Running command with virtualenv: command="C:\src\maiker\functions\venv\Scripts\activate.bat", args=["","&&","pip3","install","--upgrade","pip"]
Requirement already satisfied: pip in c:\src\maiker\functions\venv\lib\site-packages (22.0.4)
Collecting pip
  Using cached pip-23.1.2-py3-none-any.whl (2.1 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 22.0.4
    Uninstalling pip-22.0.4:
      Successfully uninstalled pip-22.0.4
ERROR: Could not install packages due to an OSError: [WinError 5] Access is denied: 'C:\\Users\\muddi\\AppData\\Local\\Temp\\pip-uninstall-0as7cbwm\\pip3.exe'
Check the permissions.

[2023-06-02T04:50:10.281Z] Error: spawn "C:\src\maiker\functions\venv\Scripts\activate.bat" ENOENT
    at notFoundError (C:\Users\muddi\AppData\Roaming\nvm\v16.17.1\node_modules\firebase-tools\node_modules\cross-spawn\lib\enoent.js:6:26)
    at verifyENOENT (C:\Users\muddi\AppData\Roaming\nvm\v16.17.1\node_modules\firebase-tools\node_modules\cross-spawn\lib\enoent.js:40:16)
    at ChildProcess.cp.emit (C:\Users\muddi\AppData\Roaming\nvm\v16.17.1\node_modules\firebase-tools\node_modules\cross-spawn\lib\enoent.js:27:25)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12)

Error: An unexpected error has occurred.

Powershell is running as admin

I ran into the same problem. I used python 3.9, but the firebase package requires python >3.10. Upgrading and updating the path variables solved the issue.
If it still doesn't work:
The problem comes from the "python.js" file, located under
AppData\Roaming\npm\node_modules\firebase-tools\lib\functions
Line 29 onwards:
    const install = await (0, prompt_1.promptOnce)({
        name: "install",
        type: "confirm",
        message: "Do you want to install dependencies now?",
        default: true,
    });
    if (install) {
        const upgradeProcess = (0, python_2.runWithVirtualEnv)(["pip3", "install", "--upgrade", "pip"], config.path(setup.functions.source), {}, { stdio: ["inherit", "inherit", "inherit"] });
        await new Promise((resolve, reject) => {
            upgradeProcess.on("exit", resolve);
            upgradeProcess.on("error", reject);
        });
        const installProcess = (0, python_2.runWithVirtualEnv)([(0, python_1.getPythonBinary)(python_1.LATEST_VERSION), "-m", "pip", "install", "-r", "requirements.txt"], config.path(setup.functions.source), {}, { stdio: ["inherit", "inherit", "inherit"] });
        await new Promise((resolve, reject) => {
            installProcess.on("exit", resolve);
            installProcess.on("error", reject);
        });
    }
}

It seems that after you hit "yes" to installing dependencies, the script tries to upgrade pip, and then install the packages specified under "requirements.txt". It is the upgrade pip command that fails.
If you simply hit "no", the setup completes. You can then go ahead and pip install requirements.txt on your own. (This is how I found out my python version was too old - it gave me a more helpful error message when I did it manually. After upgrading python I tried to go through the setup again and this time it completed.)

My environment is 3.10 on Windows.
Thank you
On Wed, Jun 14, 2023 at 2:42 PM Jackilion @.***> wrote:

I ran into the same problem. I used python 3.9, but the firebase package
requires python >3.10. Upgrading and updating the path variables solved the
issue.
If it still doesn't work:
The problem comes from the "python.js" file, located under
AppData\Roaming\npm\node_modules\firebase-tools\lib\functions
Line 29 onwards:
const install = await (0, prompt_1.promptOnce)({
    name: "install",
    type: "confirm",
    message: "Do you want to install dependencies now?",
    default: true,
});
if (install) {
    const upgradeProcess = (0, python_2.runWithVirtualEnv)(["pip3", "install", "--upgrade", "pip"], config.path(setup.functions.source), {}, { stdio: ["inherit", "inherit", "inherit"] });
    await new Promise((resolve, reject) => {
        upgradeProcess.on("exit", resolve);
        upgradeProcess.on("error", reject);
    });
    const installProcess = (0, python_2.runWithVirtualEnv)([(0, python_1.getPythonBinary)(python_1.LATEST_VERSION), "-m", "pip", "install", "-r", "requirements.txt"], config.path(setup.functions.source), {}, { stdio: ["inherit", "inherit", "inherit"] });
    await new Promise((resolve, reject) => {
        installProcess.on("exit", resolve);
        installProcess.on("error", reject);
    });
}

}
It seems that after you hit "yes" to installing dependencies, the script
tries to upgrade pip, and then install the packages specified under
"requirements.txt". It is the upgrade pip command that fails.
If you simply hit "no", the setup completes. You can then go ahead and pip
install requirements.txt on your own. (This is how I found out my python
version was too old - it gave me a more helpful error message when I did it
manually. After upgrading python I tried to go through the setup again and
this time it completed.)
—
Reply to this email directly, view it on GitHub
https://github.com/firebase/firebase-functions-python/issues/99#issuecomment-1591873049,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AI2VVZW7TFPADEQ7KDF3JUTXLIHZFANCNFSM6AAAAAAZFLHTII
.
You are receiving this because you authored the thread.Message ID:
@.***>

Same issue.  I have tried numerous times, here are some logs from the firebase-debug.log file.
[info] i  Skipping write of functions/requirements.txt
[info] i  Skipping write of functions/.gitignore
[info] i  Skipping write of functions/main.py
[debug] [2023-06-15T02:14:56.546Z] Running command with virtualenv: command="C:\Users\stacho\Documents\custominstallations\action_items_ai\functions\venv\Scripts\activate.bat", args=["","&&","pip3","install","--upgrade","pip"]
[debug] [2023-06-15T02:14:57.427Z] Error: spawn "C:\Users\stacho\Documents\custominstallations\action_items_ai\functions\venv\Scripts\activate.bat" ENOENT
    at notFoundError (C:\Users\stacho\AppData\Roaming\nvm\v18.13.0\node_modules\firebase-tools\node_modules\cross-spawn\lib\enoent.js:6:26)
    at verifyENOENT (C:\Users\stacho\AppData\Roaming\nvm\v18.13.0\node_modules\firebase-tools\node_modules\cross-spawn\lib\enoent.js:40:16)
    at cp.emit (C:\Users\stacho\AppData\Roaming\nvm\v18.13.0\node_modules\firebase-tools\node_modules\cross-spawn\lib\enoent.js:27:25)
    at ChildProcess._handle.onexit (node:internal/child_process:291:12)
[error]
[error] Error: An unexpected error has occurred.

^^ the above fails just to activate the environment
Then when I actually activate the environment by just doing source venv/Scripts/activate
I get the below
[info] i  Skipping write of functions/requirements.txt
[info] i  Skipping write of functions/.gitignore
[info] i  Skipping write of functions/main.py
[debug] [2023-06-15T02:19:23.096Z] Error: spawn python.exe ENOENT
    at notFoundError (C:\Users\stacho\AppData\Roaming\nvm\v18.13.0\node_modules\firebase-tools\node_modules\cross-spawn\lib\enoent.js:6:26)
    at verifyENOENT (C:\Users\stacho\AppData\Roaming\nvm\v18.13.0\node_modules\firebase-tools\node_modules\cross-spawn\lib\enoent.js:40:16)
    at cp.emit (C:\Users\stacho\AppData\Roaming\nvm\v18.13.0\node_modules\firebase-tools\node_modules\cross-spawn\lib\enoent.js:27:25)
    at ChildProcess._handle.onexit (node:internal/child_process:291:12)
[error]
[error] Error: An unexpected error has occurred.

Here is some other info, hopefully it helps
[debug] [2023-06-15T02:19:12.209Z] ----------------------------------------------------------------------
[debug] [2023-06-15T02:19:12.210Z] Command:       C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\firebase-tools\lib\bin\firebase.js init
[debug] [2023-06-15T02:19:12.211Z] CLI Version:   12.3.1
[debug] [2023-06-15T02:19:12.211Z] Platform:      win32
[debug] [2023-06-15T02:19:12.211Z] Node Version:  v18.13.0
[debug] [2023-06-15T02:19:12.212Z] Time:          Wed Jun 14 2023 21:19:12 GMT-0500 (Central Daylight Time)
[debug] [2023-06-15T02:19:12.212Z] ----------------------------------------------------------------------
[debug]
[debug] [2023-06-15T02:19:12.269Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]

A fresh install of python fixed it for me.

open powershel as admin
Set-ExecutionPolicy RemoteSigned
go back to terminal in project
firebase init -> select functions -> language = python -> (go through until Do you want to install dependencies now?)
Do you want to install dependencies now? Yes

activiate.bat should now be in /functions/venv/Scripts

Same spawn "C:\src\maiker\functions\venv\Scripts\activate.bat" ENOENT issue. Fix was to reinit the Firebase project. I suspect this worked because Firebase then created the venv directory as it wanted.
Odd part was that I had a working environment as of a week or two ago and had previously deployed the functions.

I got the same error , any solution for that?

@Anquuni a workaround is to reinstall the Python that fixed for me.

Instal python >3.10 , and restart system

I faced that problem and the solution was kind of easy. I installed the request pip version and retry with firebase init.
I made a video on youtube may help you
https://www.youtube.com/watch?v=q_sayYt50oM

I manually installed the packages using Python on my machine, instead of the binaries that Firebase downloads:
 python -m pip install -r requirements.txt -t ./venv/Lib/site-packages/
This command must be run within the directory where the requirements.txt


Using with Virtualbox

So I have used this tool before but never with a virtual box.  I tried doing my normal installs and tweeks and as far as the installs go, I don't think anything actually installed.  Couldn't find Tor or Librewolf, so sublime text, no OBS studio.  Is there something  I am missing here.  Thanks.

Any other details you can share?
Windows Version
Terminal used (Windows Terminal, cmd, Alacritty, etc)
PowerShell Version
Program(s) you attempted to install
Check your C:\Users\AppData\Local\Temp folder for any references to Winutil.log, and a Winget folder (Should show the program(s) installed if successful.


Fix swipe docs

Description
See discussion on https://github.com/zurb/foundation-sites/issues/11490

Closes See discussion on https://github.com/zurb/foundation-sites/issues/11490

Types of changes

[X] Documentation
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (anything that would change an existing functionality)
[ ] Maintenance (refactor, code cleaning, development tools...)

Checklist

[X] I have read and follow the CONTRIBUTING.md document.
[X] The pull request title and template are correctly filled.
[] The pull request targets the right branch (develop or develop-v...).
[X] My commits are correctly titled and contain all relevant information.
[ ] I have updated the documentation accordingly to my changes (if relevant).
[ ] I have added tests to cover my changes (if relevant).

Should this be targeting develop or develop-v6.5 branch? :thinking:

Hi @gforcada 👋
Thank you for your pull request. I took at look at https://github.com/zurb/foundation-sites/issues/11490 and it looks good to me.
It correctly targets develop because it is compatible with the latest version of the code (with breaking changes). Only target develop-v6.5 if your fix is NOT compatible with newer version.


fast canvas interactions

run /sandbox/

WebGL VS context2D

WebGL is fast but one little problem it has is that it requires anti-aliasing. and anti-aliasing methods.
It really has bad effect on lines and specially thick lines as you zoom out they appear dashed.
I would say this is not much a big deal for a game or 3D app but for a 2D Graph app is not acceptable ...

it really needs re-engineering ...

Google Maps uses WebGL but does not have this problem ...


[Webportal] Update new issue template

Change label to title in a new template for feedback.
Closes #2100.

Coverage increased (+0.01%) to 52.659% when pulling d18abb47967f1c4e89fea240cf8e419803693fe3 on xiongyf/fix-issue-template into 43269e7e5c95bea21d0ffae2e16f3e87de4b29b9 on master.

Coverage increased (+0.01%) to 52.659% when pulling d18abb47967f1c4e89fea240cf8e419803693fe3 on xiongyf/fix-issue-template into 43269e7e5c95bea21d0ffae2e16f3e87de4b29b9 on master.


Review and revise updated documentation

Git pull
Build documentation
Use web browser to view local documentation
Read through everything, fix any issues
Propose revisions that help us meet the JOSS criteria

Please make a branch for any changes, and use a pull request to get changes reviewed. Assign @blthayer to the pull request.

@mzy2240 @SmartJingJing123 - I recommend pulling the latest from develop and building the documentation locally for this task so that you have the most up-to-date docs.

@SmartJingJing123 - it looks like you may have accidentally committed to the master branch instead of the develop branch. I'll go ahead and try my hand using git cherry-pick to move those three commits you made over to the develop branch.

@SmartJingJing123 - I was able to easily get your three commits "cherry-picked" over to develop. Please do future work in the develop branch. Thank you!

@blthayer When I was trying to commit, I saw the other snippets are on the master branch. But maybe we need to commit to develop branch at first. Sorry for the misunderstanding and thanks for your help!

@SmartJingJing123 - no worries. In general, we do work in the develop branch, and then when we've done enough work for a public release we then merge the work from develop into master and prepare a PyPi release (and increment the version number, rebuild the documentation, etc.).
I was looking at your snippet - I think it'll be a great addition to the documentation! There are a few clean-up items that are needed:

If you could please ensure that all text stays within the 72 character column? This matches PEP-8, but more importantly, makes it so that we don't have to scroll sideways when we have multiple documents up side-by-side
Ensure white space is correct. ReStructredText is like Python in that whitespace is really important. Right now, on line 27 it says Solve the power flow:, however, it's lacking a space/newline character from the code block above it.
Please run tests/test_snippets.py and ensure that the snippet passes testing.
It might be useful to save your plot to a .png file and then include it in your example. I would save the .png file right in the snippets directory, and add a note about the file to docs/rst/snippets/README.rst in the appropriate location. Then, in your file (line_loading_matplotlib_2000.rst) you can simply use the rst include directive to include the image. I haven't included an image myself yet, so you might need to do some googling to figure out how to make it work. Note that PyCharm has a preview functionality which will automatically render the .rst document. There are some buttons toward the top-right of PyCharm that can be used to toggle your view between "Editor only," "Editor and Preview," and "Preview only."

@SmartJingJing123 - I thought of one more thing that needs done for this task: please add matplotlib to the testing requirements in the top-level setup.py file. You'll notice networkx is also listed there. This way, when others want to run all the ESA tests they have all the prerequisites installed from the get-go.

@blthayer You're correct! Have done that and hopefully, this is the final commit for this task.

@SmartJingJing123 - I've made some tweaks to your example in the following commits:

e4ffcf165e8be25dfa4fb7a60375dbf0c8f7ca88
58aa57f323fd83f9ca60ad3dda619f8a32e91343
f5f1ee9ed6019a31c73ed9dc5e58e1e535ec01bf

I wrote an excessively detailed commit message on the first one for you. The other two commits are quick and simple. If you could please review them, that would be great.
Please let me know if you have any questions or want to discuss anything.

@blthayer - Thanks for the commits. I think they are pretty good!


Update project library dependencies

Task/Issue URL: https://app.asana.com/0/0/1201852462006433/f
Description
Updated some library dependencies

Glide
AppCompat
localbroadcastmanager
androidx.fragment
androidx.lifecycle
room
glide
LeakCanary
Mockito

Steps to test this PR
General smoke test to ensure no regressions

Did a quick sanity test with the main features both on samsung and pixel. I think everything looks good 👍


Generics for intra-function analysis passes

All intra-function passes should have a similar structure to allow us to view them as passes. This has the following benefits:

Code reuse through generic inter-function analysis
LLVM like pass manager that automatically schedules and orders passes.

Additionally, individual passes could also be developed by other users and still work within the eco-system.
Points of discussion:

Traits / Structs needed to accomplish this goal.
Declaring dependencies of the pass (such as depends on and clobbers list)

It was our initial idea years ago after all. But there should be an ability to change the sequence of those passes manually (or repeat some if needed).

I think there should be two dependency types - if some "source" is present, like external radare2 or radeco plugin, and if some passes ran before.
Differentiate those passes that change the graph and those who not.

Differentiate those passes that change the graph and those who not.

@XVilka Do you mean the graph structure of SSA, like removing a dead block?
Btw, do you have some basic idea about Trait or Structs? I think it would benefit if we could build a basic structure and work on this.

@ZhangZhuoSJTU yes, like your example.


lib.cortex.CortexApiException: {"error":{"code":-32019,"message":"Session limit on this device has been reached."},"id":8,"jsonrpc":"2.0"}

Got error in createSession with params {'cortexToken': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBJZCI6ImNvbS5oX2Fsamlib3J5LmhqYXBwIiwiYXBwVmVyc2lvbiI6IjEuMCIsImV4cCI6MTU2OTU3OTMxMywibGljZW5zZUlkIjoiMzEwMDk0ZDItYjUzNi00YzJjLWJhNzYtM2Q3YWI2NTk2YmEyIiwibmJmIjoxNTY5MzIwMTEzLCJ1c2VySWQiOiI4MGE4ZTM1NS1hMWQ1LTRhMGMtYjIxYy0yMjVjN2Q2ZTU0OTciLCJ1c2VybmFtZSI6ImhfYWxqaWJvcnkiLCJ2ZXJzaW9uIjoiMi4wIn0=.DxnhnzUS4R7k+35ar3qlF6/+QJ6NUO+gP1af7uFuX1A=', 'headset': 'EPOCPLUS-4A2C045C', 'status': 'active'}:
{"error":{"code":-32019,"message":"Session limit on this device has been reached."},"id":8,"jsonrpc":"2.0"}
Traceback (most recent call last):
File "C:\Users\Hammody\Desktop\BCI\pyemotivcortexv2\demo.py", line 53, in
test()
File "C:\Users\Hammody\Desktop\BCI\pyemotivcortexv2\demo.py", line 44, in test
asyncio.run(do_stuff(cortex))
File "C:\Users\Hammody\AppData\Local\Programs\Python\Python37-32\lib\asyncio\runners.py", line 43, in run
return loop.run_until_complete(main)
File "C:\Users\Hammody\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 579, in run_until_complete
return future.result()
File "C:\Users\Hammody\Desktop\BCI\pyemotivcortexv2\demo.py", line 25, in do_stuff
headset_id=cortex.headsets[0])
File "C:\Users\Hammody\Desktop\BCI\pyemotivcortexv2\lib\cortex.py", line 258, in create_session
resp = await self.send_command('createSession', **params)
File "C:\Users\Hammody\Desktop\BCI\pyemotivcortexv2\lib\cortex.py", line 133, in send_command
raise CortexApiException(resp)
lib.cortex.CortexApiException: {"error":{"code":-32019,"message":"Session limit on this device has been reached."},"id":8,"jsonrpc":"2.0"}

Possibly duplicated with  #42

#42 sol. didn't work with me


⚠ Taitopia Cloud Rendering Service Status has degraded performance

In a49e5fd, Taitopia Cloud Rendering Service Status (https://status-api.taitopia.design/health/taco) experienced degraded performance:

HTTP code: 200
Response time: 8 ms

Resolved: Taitopia Cloud Rendering Service Status performance has improved in cb17b80 after 5 hours, 53 minutes.


Apicast OAuth docs

OAuth docs for APIcast

As for the writing style, I think we mostly use "you" instead of "we" in the documentation. But I guess it doesn't matter too much :)


TileMap random mine placement refactor

Moves random number objects from global to function local. These are used once per map generation.

@ldicker83, you might find this one interesting. It contains some of the changes were discussed.


NetSocket.Close fix NRE when IPv6 bind failed

We have and error in Unity "System.Net.Sockets.SocketException (0x80004005): Only one usage of each socket address (protocol/network address/port) is normally permitted" for IPv6 binding. Then the Socket.Close() fails with NRE.
I have moved the thread joins after the socket close, it's better pattern for multiple thread stopping - first trigger stop conditions for all threads, then wait all threads.
Finally, have marked _running at least as volatile. I do not like volatile since it's for real experts, safer is to use Interlocked. I may change the code if you like.

Thanks)


fix: fixed openInEditor file suffix

when you try to open files that has number in it extention(e.g. mp4) it couldn't found the file.

Thanks! Pushed another solution to fix the regex instead


esp-config

Thank you for your contribution!
We appreciate the time and effort you've put into this pull request.
To help us review it efficiently, please ensure you've gone through the following checklist:
Submission Checklist 📝

[x] I have updated existing examples or added new ones (if applicable).
[x] I have used cargo xtask fmt-packages command to ensure that all changed code is formatted correctly.
[x] My changes were added to the CHANGELOG.md in the proper section.
[x] I have added necessary changes to user code to the Migration Guide.
[x] My changes are in accordance to the esp-rs API guidelines

Extra:

[x] I have read the CONTRIBUTING.md guide and followed its instructions.

Pull Request Details 📖
So this PoC ended up going much better than I'd originally anticipated. I implemented the PoC defined in the RFC quite quickly, before stumbling across https://github.com/rust-lang/rust/pull/124941 which will be stable next release. Using this it was possible to completely replace toml_cfg in esp-wifi.
Usage
For HAL authors
Pass an array of tuples with the key, the default value and a description of the config option
generate_config(
    "esp_hal",
    &[(
        "place-spi-driver-in-ram",
        Value::Bool(false),
        "Places the SPI driver in RAM for better performance",
    )],
);

For end users
As part of the generation process, a md table of the config options can be included in the lib level docs:

From here, users are able to override the default values by setting the environment variable, this can be done in a number of ways but most common would be to add an entry to cargo's [env] section.
Caveats
const from_str_radix is not stable till 1.82
Which would be quite the MSRV bump. One option to avoid this would be to roll our own const int parser, something like
let mut bytes = s.as_bytes();
let mut val = 0;
while let [byte, rest @ ..] = bytes {
    assert!(b'0' <= *byte && *byte <= b'9', "invalid digit");
    val = val * 10 + (*byte - b'0') as usize;
    bytes = rest;
}

would work.
edit: the above work around has been implemented.
cargo env changes are not detected
This is really annoying and requires a clean build to detect new changes in the environment. There is hope however, https://github.com/rust-lang/cargo/pull/14058 should fix this. Unfortunately the author of the PR has run out of steam, hopefully someone else picks it up, but it may be worth one of us taking a look if we go with this approach.
What's left?
I'm opening this now to get some feedback before spending too much time on it if it's not the right path, but IMO this works quite well. I'd like to add:

Tests
Resolve the TODOs

How to test
Playing around with it locally, and building and looking at the docs also.

Is it possible to set these from a library crate?
esp_hal -> my library (set an env for the application) -> an application using my library

Is it possible to set these from a library crate?

By these, you mean could a 3rd party library set esp-hal configs? Maybe, but also more than likely no. It would depend on the build order I think - I think we should discourage doing anything like this.
Did you have a use case in mind for doing so?

Is it possible to set these from a library crate?

By these, you mean could a 3rd party library set esp-hal configs? Maybe, but also more than likely no. It would depend on the build order I think - I think we should discourage doing anything like this.
Did you have a use case in mind for doing so?

I'm not sure which features are going to be moved over to environment variables so it's hard to give a concrete use case.
Take the psram feature for example, I'd like to be able to set this in a library in case I want to statically allocate something in the library.
If I'm calling the spi driver from an interrupt in my library (because I have a nice queuing implementation), I'd like to be able to enforce that the driver methods live in ram, so I know the handler is IRAM-safe.

If I'm calling the spi driver from an interrupt in my library (because I have a nice queuing implementation), I'd like to be able to enforce that the driver methods live in ram, so I know the handler is IRAM-safe.

What if two libs have competing asks of the config, which would win? It may be better just to document what's needed....

Generally, the dependency is built first, so I don't think you can define env vars from the dependent crate and hope that a prior step will pick it up.

If I'm calling the spi driver from an interrupt in my library (because I have a nice queuing implementation), I'd like to be able to enforce that the driver methods live in ram, so I know the handler is IRAM-safe.

What if two libs have competing asks of the config, which would win? It may be better just to document what's needed....

Yeah that seems like the sane option

I guess we'll have to bump MSRV to 1.79 because of inline const but I think it's well worth it.

Generally, I like the simplicity of this approach! Initially I was obsessed by the idea of having a menuconfig like TUI and all rules encoded in a machine-readable format but - t.b.h. I don't think we need that

Generally, I like the simplicity of this approach! Initially I was obsessed by the idea of having a menuconfig like TUI and all rules encoded in a machine-readable format but - t.b.h. I don't think we need that

I still like and value the work you did with rconfig, a TUI is still a good idea, but not required for the MVP at the very least. In the future we could make things more user-friendly by offering a tui that sets the value in .cargo/config.toml directly.
This approach still doesn't yet address validation either, but I think we could extend what we have here to put some limits on values etc.

Any guidance on when to use a feature vs when to use a config value? Particularly for the feature-like/boolean things.  If something needs to enable a dependency, use a cargo feature. Otherwise, prefer a config variable.

Yes exactly that, use cargo for what it's good at: dep management. Use the config for anything else. Most crates blur the lines because it's easy to add a quick feature and get some make-shift conditional compilation going which works well enough for most use cases.

@Dirbaio do you think a configuration solution like this could be useful for embassy, instead of the infinite amount of embassy-time-driver features, for example?

fwiw, cargo features were also intended for conditional compilation, and have better support for auto-complete and documentation in IDEs.
With regards to dependencies, after #2070 landed, dependencies will now be hard included, does this mean there's no longer a use case for features in this repo?

With regards to dependencies, after https://github.com/esp-rs/esp-hal/pull/2070 landed, dependencies will now be hard included

There are still exclusive choices, mainly defmt vs log, where we need to keep the cargo feature.

fwiw, cargo features were also intended for conditional compilation, and have better support for auto-complete and documentation in IDEs.

You're right, but it's fair to say a limited form of condition compilation in the sense that all features must be additive... but that doesn't stop folks like us from abusing that and making them non-additive anyways :D. I think the line is a little blurry and we'll just use our judgement at the time as to what is appropriate.

The embassy-time-driver tick rate is the perfect example for why this matters: nRF's RTC can only do 32768hz, so we want embassy-nrf to set that tick rate in embassy-time automatically.

Oh, that's a great additional metric to decide if something should be a "config-option" or a feature - e.g. no library author should decide on "place_spi_driver_in_iram" 😄

fwiw, cargo features were also intended for conditional compilation, and have better support for auto-complete and documentation in IDEs.

Also - without an exception for esp-hal - we are limited to < 300 features on crates.io - not saying we should pile up 300+ config-options but who knows 😄

The issue about the [ENV] section is actually more annoying than I expected - I could think of hacky workarounds (untested) but we shouldn't try that unless users run into this problem a lot

Too bad we can't just watch .cargo/config.toml and rebuild if it changes 🤣

The issue about the [ENV] section is actually more annoying than I expected - I could think of hacky workarounds (untested) but we shouldn't try that unless users run into this problem a lot

Too bad we can't just watch .cargo/config.toml and rebuild if it changes 🤣

We could by "guessing" the location of it and emit rerun-if-changed - similar to what toml-cfg does https://github.com/jamesmunns/toml-cfg/blob/2f92bff394657bebffd6233e04d57c5282d561ed/src/lib.rs#L230-L254 - but the way Cargo merges upper-level configs and workspaces would make it somewhat unreliable

I added a version of the workaround, it seems to help quite a bit. I don't think it will help in workspaces, and obviously setting env via any other method still won't work, but I think this is the common path.


Fix checkbox boolean return breaking radio button value.

Maxim's commit #985a3f3214 Returning boolean values from checkboxes was
breaking radio buttons serialization/deserialization when value="true"
(string). This fixes that regression.

To further clarify, here is where the previous behaviour is problematic:

When serialized, if no radio is selected, we get {"radiotest": false}, if true is selected, we get {"radiotest": true}, and if false is selected, we get {"radiotest": "false"}.