net: tcp: Restructure the close FIN sequence

When the application closes the connection, it enters the FIN1 state.
Restructure this sequence to RST on data received after the application
has closed the socket.
Next to that deal with packets that contain both data and a FIN flag.

Just linking the problem which was observed by me in Zephyr and which had been documented in RFC long time ago for other clients.
I think it should be fixed by this PR.
https://www.rfc-editor.org/rfc/rfc2525#page-51
(in turn mentioned in https://www.rfc-editor.org/rfc/rfc9293#name-half-closed-connections)
In short, failure to send RST leads to connections staying open and eventually we run out of connections.
Currently (in 3.4.0) Zephyr keeps ack-ing data, mimicking normal Half-Closed connection, so it's eventually closed and thus not leaked. But data are not forwarded to the application.

Apparently I'm no friends with the testing framework. To me it is totally unclear how the scheduling between the test, handler and TCP stack takes place with breaks, returns and goto's. I find in very hard to make reliable tests,
It looks like I'm not the only one as the test_client_closing_ipv6 is not going through the closing state for example.
I'll stop here. @AndreyDodonov-EH  could you give it a spin on the real HW?

No luck with upstream merges

What is the rationale for creating a "combo" state handler for FIN1/FIN2/CLOSING states? To be honest, for me it's a bit hard to follow with all of the ifs within it. Was there a lot of code duplication by having separate state handlers? Could it perhaps be approach some other way, by for example creating helper functions for the overlapping functionality instead?

Initially I thought it would be better this way, as the pattern is pretty similar throughout all 3 states, but adding it all together it becomes pretty messy indeed.
The risk in seperating is that you do not cover one case at one location.
I'll rewrite this to separate cases using helper functions.

Apparently I'm no friends with the testing framework. To me it is totally unclear how the scheduling between the test, handler and TCP stack takes place with breaks, returns and goto's. I find in very hard to make reliable tests, It looks like I'm not the only one, as the test_client_closing_ipv6 is not going through the closing state for example.
I'll stop here. @AndreyDodonov-EH could you give it a spin on the real HW?

Just cherry-picking these changes did not go well.
But I don't have time to update properly at the moment - too much to merge.
In case of cherry-picking first I get
<err> net_tcp: conn: 0x2003a70c, new bytes 31 during FIN states sending reset
Which is expected, I guess, may be shouldn't even be an error.
But then buffers seem to leak.
[00:00:27.110,260] <err> net_pkt: Data buffer (1502) allocation failed. [00:00:27.110,290] <err> sl_wfx_host: Failed to get net buffer [00:00:57.830,413] <err> net_pkt: Data buffer (1502) allocation failed. [00:00:57.830,444] <err> sl_wfx_host: Failed to get net buffer
And then it stays like that.
I'm not sure if it's because of this change or because I just cherry-picked, without properly updating.

Apparently I'm no friends with the testing framework. To me it is totally unclear how the scheduling between the test, handler and TCP stack takes place with breaks, returns and goto's. I find in very hard to make reliable tests, It looks like I'm not the only one, as the test_client_closing_ipv6 is not going through the closing state for example.
I'll stop here. @AndreyDodonov-EH could you give it a spin on the real HW?

Just cherry-picking these changes did not go well. But I don't have time to update properly at the moment - too much to merge.
In case of cherry-picking first I get <err> net_tcp: conn: 0x2003a70c, new bytes 31 during FIN states sending reset
Which is expected, I guess, may be shouldn't even be an error. But then buffers seem to leak. [00:00:27.110,260] <err> net_pkt: Data buffer (1502) allocation failed. [00:00:27.110,290] <err> sl_wfx_host: Failed to get net buffer [00:00:57.830,413] <err> net_pkt: Data buffer (1502) allocation failed. [00:00:57.830,444] <err> sl_wfx_host: Failed to get net buffer And then it stays like that. I'm not sure if it's because of this change or because I just cherry-picked, without properly updating.

Thanks for your feedback I'll at least remove the error message. An look at possible buffer leaks

Apparently I'm no friends with the testing framework. To me it is totally unclear how the scheduling between the test, handler and TCP stack takes place with breaks, returns and goto's. I find in very hard to make reliable tests, It looks like I'm not the only one, as the test_client_closing_ipv6 is not going through the closing state for example.
I'll stop here. @AndreyDodonov-EH could you give it a spin on the real HW?

Just cherry-picking these changes did not go well. But I don't have time to update properly at the moment - too much to merge.
In case of cherry-picking first I get <err> net_tcp: conn: 0x2003a70c, new bytes 31 during FIN states sending reset
Which is expected, I guess, may be shouldn't even be an error. But then buffers seem to leak. [00:00:27.110,260] <err> net_pkt: Data buffer (1502) allocation failed. [00:00:27.110,290] <err> sl_wfx_host: Failed to get net buffer [00:00:57.830,413] <err> net_pkt: Data buffer (1502) allocation failed. [00:00:57.830,444] <err> sl_wfx_host: Failed to get net buffer And then it stays like that. I'm not sure if it's because of this change or because I just cherry-picked, without properly updating.

Thanks for your feedback I'll at least remove the error message. An look at possible buffer leaks

I have had a quick look, but do not see how it could leak buffers quickly. The code in in that respect little different from what it used to be I think.

@rlubos Very thanks for the feedback. If you are deep in the matter, you quickly overlook that your code might not be very readable. Useful suggestions.

@AndreyDodonov-EH : Could you have a check at this revised PR?

I will have a look at the code, but I'm currently on vacations and don't have real hardware near me. @clamattia @kica-z could you give it a spin on the real HW?

I did some additional hands-on testing, when investigating another issue (Zephyr vs Zephyr) and encountered some issues, as stated in the comments - please take a look.
Cherry-picking this PR was already a great improvement compared to what we have on main, but with suggested changes it worked flawlessly (the case was when both ends triggered FIN/ACK sequence independently).

Thanks for the thorough feedback and testing. Nice that you observed major improvement. I took over most of your suggestions.

Rebase to re-trigger CI

Another rebase to trigger the CI. There has been a problem with the CI causing a lot of failures over the weekend.

@AndreyDodonov-EH : Could you have a check at this revised PR?

I will have a look at the code, but I'm currently on vacations and don't have real hardware near me. @clamattia @kica-z could you give it a spin on the real HW?

Did you or your co-workers had the opportunity to validate if your original issue has been resolved?

@AndreyDodonov-EH
Thanks for testing. It is both good and bad news at the same time. Good to hear that the network behavior is as expected.
Spontaneous restarts could be multiple things, but on of them is a stack overflow. This happened to me on multiple occasions and these problems are hard to debug. This change puts in multi NET_ERR statements, of which some could be triggered in bad connectivity conditions. These logging statements do need a significant amount of stack to be handled correctly.
Could you check the CONFIG_NET_TCP_LOG_LEVEL you are using, you can print the stack usage by https://docs.zephyrproject.org/latest/services/debugging/thread-analyzer.html.
Or you could increase the stack size of the TCP work queue to see if that helps using CONFIG_NET_TCP_WORKQ_STACK_SIZE
Another option is to lower the log level of the newly introduced NET_ERR statements, by changing them to a value below your selected log level.

@ssharks
Now that's a very good point about stack overflow, I will try it out tomorrow.
Truth be told, though, I'm still confused as to when Zephyr shows Hard Fault, and when just restarts silently.
Is it depending on what actually is in the memory outside the valid stack?

I'm not so into the details on fault situations. I do know there are devices with hardware stack protection, but to what extend this is integrated into Zephyr and if it is default enabled I don't know.

@ssharks
Isn't it CONFIG_NET_RX_STACK_SIZE that has to be increased?
tcp_in fin states are invoked (at least that's what debugger showed me once) in thread rx_q[0]

I wonder if it is possible to simulate that on QEMU with packet drops...

@AndreyDodonov-EH It looks like there has been found a potential fix for the issue that you have observed see https://github.com/zephyrproject-rtos/zephyr/pull/63601


LIDAR lane markings annotated data

Hello
I would like to use Carla with LIDAR sensor information. Is there annotated road marking data available in pointcloud format. I.e. is it possible to have together with a Lidar frame (xyz data) ground thruth of the road boarder, lanes together in xyz format ?
Thanks

Currently the official version doesn't support this.
There are two ways to realize it.

Use synchronous mode and check if a point is in a bounding box of vehicles(using the location of previous frame). Otherwise it is a ground point. There are some known issues related to this,  like #1647, #1312  . So you may have to do some adaption.

If you are familiar with the source code, you can get the actor id when lidar sensor hit a object. The actor id is available via

auto actor_temp = HitInfo->GetActor();
auto actor_id = GetEpisode().FindActor(actor_temp).GetActorId();
In carla-0.9.5/Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Sensor/RayCastLidar.cpp
Or you may check my forked branch at mul_t

Thank you for your answer. But how would it be possible to get in this way Lane and road border markings. I do not want to have to detect or discover them programmatically. I would need to have the information about them in xyz in order to reason about them.
Thanks

@user025 , i can now obtain a pointwise labelled pointcloud from the source code. However trasmitting the labels through the boost buffer has been creating a havoc. I see that the pointcloud is offset buffered and accessed using the frombuffers method of numpy.
Have you also tried buffering some new information out of the source code?

@rfsch Sorry, seems I don't quite get your question.
If you are seeking for a groundtruth road, check this document.
save_to_disk  provides the whole map in opendrive format.
get_waypoint provides informations about roads. Example of using get_waypoint API could be found in the no_rendering_mode.py.
Hope it helps.

@user025 thank you for your help!
Sorry if I didn't explain it well.
I would need LIDAR recordings of a car (Carla?) driving along a road. For detection of cars that are oncoming to the car I am driving I am using Lane borders. For these I would need to correct xyz coordinates and knowledge that they are lane borders.
Could I record the lidar data captured and know which points are borsers and lanes ?
Thanks!

@rfsch Lidar data provides points only. You can get groundtruth of borders and lanes of lidar data either by bounding box checking, as I mentioned in my previous answers, or by manually labeling.

@user025 So does it mean that by getting the actor id of an object hit by the lidar sensor I am able know it is a lane, border, etc ? I would need this information while driving and would not want to manually label it. Or is manually labeling easier ?

@rfsch  actor id will always return 0 if lidar hit at anything not an carla actor, etc. buildings, grass, road. I believe manually labeling would be easier.

@user025 thanks. That was what I was afraid of. How would I manually label in Carla ?

https://github.com/ZhuangYanDLUT/carla have you checked this ?

@barbierParis Thanks! This looks good.

@rfsch if you use this forked version, would you mind giving some feedback on the results ? I'm currently having issues running CARLA on linux so I haven't been able to try it.


Recommendation for amplification of openai.transcripts.create behavior in documentation, or alternative implementation

When create() is called with the default options (ie: { poll: true ... }) it will not return until either:

The transcription completes
The transcription errors
Neither of the above occur within pollingTimeout ms (default: 180,000 ms or 3 minutes)

As a consequence, if the transcription takes longer than pollingTimeout then the API will throw an error, but the transcription will proceed to completion on the AssemblyAI infrastructure, and the account will be billed for a transcription that cannot be retrieved.
Client code has these not-so-desirable options:

Use the  { poll: false } and hand-code polling itself
Pass { pollingTimeout: Number.MAX_VALUE } (but lose the ability to detect a real timeout)
Try to estimate the duration of the transcription and pass that

Alternatively, could the code be changed to accept { pollingTimeout: -1 } or make that the default, and not timeout? Should the concept of 'timeout' be more properly applied to the low-level fetch code in services/base.ts?
Currently, 'timeout' just means that the transcription is taking 'too long', and the user doesn't have any real knowledge of what 'too long' means.
Many thanks for your consideration of this issue.

I'll bring up the feedback with our team and let you know what we decide, but for now here are my initial thoughts.

We should set the polling timeout to -1 by default.
We should handle the polling timeout -1 value as you propose.
The concept of a global fetch timeout would be useful for any API SDK, but it would be separate from the polling timeout I think.
We could expose the polling function publicly so users can create, get the ID, and then start polling.
We could add the transcript object inside the polling timeout error.

Many thanks @Swimburger -- re exposing the polling function:
What would be super-useful during a poll is to receive some indication of % complete. This is what Google's Speech-to-text API does and why we manually coded our own poll loop, so we can drive a progress bar.
I understand this is an enhancement request that goes beyond the issue I raised, but I thought I'd put it out there.

@mflorence99 We'd love to learn more about your use case for a progress bar. Can we talk about that via email?
You can email me at<EMAIL_ADDRESS>

In 3.1.0, we changed the default to be an infinite timeout, or no timeout, and added a new function client.transcripts.waitUntilReady(...) in case you want to create the transcript first without polling, and then poll.


Line height rendering issue on Chromium 94+ and higher, and Firefox.

Prerequisites

[X] I have searched for duplicate or closed issues
[X] I have validated any HTML to avoid common problems
[X] I have read the contributing guidelines

Describe the issue
Hey guys,
Not sure if you were aware, but starting with Chromium 94.0.4584 and higher, the Chromium got a fix related to the way they were calculating line-heights: https://chromium-review.googlesource.com/c/chromium/src/+/2824938
This change affects all Blink based browsers (Chrome, Edge, Opera, etc), but also Firefox.
Safari is NOT affected by this.
So what happens in recent versions, they're including the subpixels of line-height (when a line height has subpixels) when calculating the container's total height.
This comes with an unexpected behavior, which breaks any pixel perfect designs when using classes that have a line-height set to a ratio based unit, unless the line-height value calculated happens to be a number with no decimals.
I've created 2 simple tests that which can be seen at:
16px base font on the Browser's settings: https://codepen.io/pricop/pen/ExwWZJZ
17px base font on the Browser's settings: test: https://codepen.io/pricop/pen/bGoqgZJ
I've took screenshots of each of them, and measured what the browser has rendered, and the results are as follows:
16px results: https://i.imgur.com/swLGjh4.png
17px results: https://i.imgur.com/h3eOZZi.png
The culprit in this particular case, is the "small" helper class that Boostrap includes. This class has the font-size set to 80%. When a browser has the default font size set to 16px (which is what the vast majority of browsers have), the line-height in newer versions will not be floored, as in previous versions, so rather than the line-height being calculated at 19px, it is now calculated at 19.2px, which causes the issues presented in the results.
The fix would be have the line-height for classes that are using ratio based values (such as small, display-*, etc. classes) to a value with no decimals when the browser's calculates it.
This issue can be followed at: https://bugs.chromium.org/p/chromium/issues/detail?id=1278566 - but by the looks of it, this is something that's here to stay, and I've been instructed to adjust my CSS instead.
Reduced test cases
https://codepen.io/pricop/pen/ExwWZJZ
https://codepen.io/pricop/pen/bGoqgZJ
What operating system(s) are you seeing the problem on?
Windows
What browser(s) are you seeing the problem on?
Chrome, Firefox, Microsoft Edge, Opera
What version of Bootstrap are you using?
4.0.0 but it affects all the others.

Can you please drag and drop the screenshots you linked into a github comment? First of all I have no reason to trust imgur. Secondly, their servers are apparently too busy anyway so I can't see the images.

I see a computed height of 69.2 when hovering over the DOM nodes in Chrome's web inspector (Chrome v100.x). Safari renders it as 69 even.
Do you still see this with the latest Chrome? Is it the computed height shown in inspector tools that's the issue, or a rendered height that's different than that shown value?

I hope you're doing well. Yes, the issue persists with the latest version of Chrome.
Safari still does line-height clamping like Chrome used to do (which was to round down the computer height), but they'll probably eventually switch to the same render method Chromium and Gecko do.
The 69.2 height value that you're seeing, is the correct computed height. However, since the browser can't render .2s of a pixel, it has it rounds the number down when rendering for some of the columns, and the remaining sum of decimals are being added (I presume arbitrary) to other columns so that the final container has the correct height.
In the example provided, the small class from Bootstrap 4 has the height set to 80%. 80% of 16 is 12.8, added with the rest of the heights paddings and borders equals to 69.2.
By setting the $small-font-size to .875rem (for 14px) or .8125rem (13px), the height becomes a round number, which fixes this issue.
Boostrap 5 already uses REM units and is not affected by this. I see no reason why this couldn't be backported to Bootstrap 4.

Want to open a new PR to change the small font-size?

Done.


Tutorial page has wrong link

Bug Description
6th tutorial about how to create custom enviroments is replaced on repository with Networks from OpenStreetMap(7th repo) which led all liks in tutorial page to be broken pages.
https://flow-project.github.io/tutorial.html

Thank you @ugurkanates  for bringing this up. We will fix this. I believe this is due to a recent PR that updated the tutorials.
@kjang96 could you look into this?  A PR to fix the website can be sumitted to the "website Github", to replace the links with the correct ones.


Ansible request for adding GitHub and GitHub Enterprise (IBM) ssh key fingerprints to known_hosts in the docker build images

Request for new playbook addition

Details:
We (IBM Semeru) are running all our Linux compiles in Adopt's centos containers[1][2]. We clone over ssh as it is more reliable than https (curl). We currently have a hack in our fork of the pipeline code to add in the gh/ghe keys on the fly in the build. We are proposing adding these keys to a Playbook so they can be build into the containers (and machines). I see there is a PB for gh.com known hosts entry under the jenkins_user adoptopenjdk tags [3]. But I see it is skipped when the container images are built [4]. I'm not sure why it is skipped but I doubt it would be because of the known_hosts entry piece.
a) Is there a way we can not skip at least that part of the PB?
b) Can we add another key there for our GHE? [5]
More info https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints
Slack conversation with @sxa
https://adoptium.slack.com/archives/C09NW3L2J/p1717421779597569
[1] adoptopenjdk/centos6_build_image
[2] adoptopenjdk/centos7_build_image
[3] https://github.com/adoptium/infrastructure/blob/c96f2d57b511e888cd465e01a7433199b776ab73/ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/Jenkins_User/tasks/main.yml#L87
[4] https://github.com/adoptium/infrastructure/blob/c96f2d57b511e888cd465e01a7433199b776ab73/ansible/docker/Dockerfile.CentOS7#L15
[5]
github.ibm.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1K6pnwsCh8hFCqvzWkb1y3ajXervgfokIdZ/VIURIItVBIINtH5Ynupt2cLLBMYysYjR1I/P4VNZf7bX+HejjJqMf92psXQ1VToyKeNZ+i01CrhZko11157veidnMwVmKoCIdrKpsLgqthJ6kXLrTqaVIQ1sh3lKZ0tFRsqgiwNbstwhRZe/MyUoDuzHZQPooxsiy5dBO+LpkovCShwVfZ3380UyAfScPrUZcX2zY/qmGDz4puXOWj/CQupoe76JoVenfwrjfTw2I+GoPxpZK6R47akoAekCO+Dw8VW4NnTDR6L7eGkclltQSC7HQ9MiFDB4Z49ONWQwotLdttDr5

The reason for skipping the jenkins user role would be because the user does not require the jenkins authorized_keys file as the containers are never accessed directly, although as you've pointed out this does mean that the github entry is skipped.
What we'd want here for your use case is for the jenkins_authorized_key to be skipped instead of the whole jenkins role when adoptopenjdk is skipped - although the reason for having it skipped is primarily because in general end users wanting to make use our our playbooks outside the adoptium infrastructure are encouraged to skip adoptopenjdk which prevents this extra jenkins user ID being added to their system. We'll need to think on a way around that.
I'll raise the GHE key issue with the PMC this week.

This was discussed at the PMC call yesterday and the general feeling was that it would not be appropriate to add vendor-specific SSH host keys into the Temurin scripts.
I'll keep this open if you still want the main GitHub one in though (I guess it depends on whether not having both in the build images means you have to keep your additional process in place, so it's just as easy to add both keys instead of just one)

Ok. That is understandable. We have, and will continue to need, the workaround in place so I'm fine if this does or doesn't go ahead with just the GH key. I'll close it off since I would imagine there is no real value to have it added at this point.


Docs: Update url path of environment variable management

https://docs.rilldata.com/tutorials/administration/project/credential-envvariable-mangement → https://docs.rilldata.com/tutorials/administration/project/credential-env-variable-management

I think I still see mangement in there. It should be management.

oops, btw do you need this done faster or is v51 docs okay


Add a nostr-php cli script

I'm getting questions for PHP examples how to post to the nostr network. My idea is to add a bin which, initially, has the ability to post something to a relay. Should be easy, but let's wait until we settle on https://github.com/swentel/nostr-php/issues/14
Note, have a proof of concept ready, heavily inspired by PHPUnit, will be great!

Done - we have a problem with the response though - checking that in #18


Save value file on start flag

What kind of change does this PR introduce?
Add an --value-file flag to supabase start. This will add the ability to export values from supabase start to an .env.local file as discussed in #451.
What is the new behavior?
The config.toml now has support for the following section
[value_file]
path = "./.env.local"
type = "env"
anon_key = "NEXT_PUBLIC_SUPABASE_ANON_KEY"
service_role_key = "SUPABASE_SERVICE_ROLE_KEY"
api_url = "NEXT_PUBLIC_SUPABASE_URL"

This config is used when you use the --value-file to make a new file. in this case it would output a file like the following
# ./.env.local

NEXT_PUBLIC_SUPABASE_ANON_KEY=some_anon_key
SUPABASE_SERVICE_ROLE_KEY=some_service_role_key
NEXT_PUBLIC_SUPABASE_URL=some_api_url

At the moment I have only added support for env files. Also this is the first time I have used golang so any suggestions for improvements or corrections would be appreciated.

I have synced this pr with main, and have fixed the issue with the logs getting printed to stdout instead of stderr

Thank you very much. Would it work for you if we move this --env-file flag to supabase status command instead?
Something like
supabase start
supabase status --env-file > .env.local

I think it's more flexible and if it works for you, I can update your PR directly.

Yeah that could work.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

43 of 50 (86.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 49.368%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

internal/start/start.go
0
1
0.0%

cmd/status.go
7
13
53.85%

Totals

Change from base Build<PHONE_NUMBER>:
0.3%

Covered Lines:
2695

Relevant Lines:
5459

💛  - Coveralls


Comment here to be added as a collaborator

Comment below - you can say anything
We will all be using this repository today. Even though it's public right now, you will not be able to make changes until you're given the correct permissions. We've automated this process via the GitHub API and some fancy chatops. Once you comment, we will add you as a collaborator.
You'll also start to receive a lot of emails. (:exclamation:) You can slow these down immediately by clicking the 'Unwatch' button and selecting either the 'Not watching' or 'Ignoring' option.

Comment below with the following:
📛 Name
💼 Role
🎒 Experience with Git/ GitHub
🥇 Excited to Learn
📚 What is something you want to learn that is not on the agenda?


Spacing between tilemap tiles on camera movement

This Issue is about

A bug in the API (v3.2.0)

As spotted by PF_Cactus on Discord, there seems to be a rendering bug which causes the tiles in the tilemap to sometimes have single-pixel spacing between them when the camera moves.
The issue seems to be limited to WebGL, and seems to affect both dynamic and static tilemap layers, but possibly not in every case. Does not seem to be a browser issue, as the same happens in Chrome, Firefox, and Safari.
Based on the examples where the issue is reproducible, it is possibly related to how camera smoothing positions the tiles.
The issue is confirmed to exist in at least the following examples:
(Dynamic tilemap layer)
https://labs.phaser.io/view.html?src=src/game objects/tilemap/dynamic/dungeon generator.js&v=dev
(Dynamic tilemap, but still issues when changing to static)
https://labs.phaser.io/view.html?src=src/game objects/tilemap/static/switching tilesets.js

It also appears in this one (static layer):
http://labs.phaser.io/view.html?src=src\game objects\tilemap\collision\csv map arcade physics.js

I had the same problem.
this.camera.roundPixels = true;
Setting this on my camera fixed my issue, might help you as well.

That seems to work pretty good. The examples still needs to be fixed though

Just want to add that I can confirm extruding is a definitive fix for this. I'm brand-new to Phaser 3 (after a year away from Phaser 2, so relearning everything), but this.camera.roundPixels = true didn't solve it for me - I was still getting a gap between some of my tiles.
I'm using a tile atlas, and I built my own tile atlas generator in Flash(!) which creates 1px extrusion bitmaps on the fly of the 4 faces for each tile. I could look at making it into an executable if there's any interest, but at the moment it's super-specific to my requirements (I create all my gfx in Flash because it's the tool I know best, so all my tiles are MovieClips); and I don't know if it would be any better than what's already out there.

This issue has been mentioned on Phaser. There might be relevant details there:
https://phaser.discourse.group/t/bleeding-tileset/6425/1

See this alternative for a different approach:
Render Layer as Texture


Feature request probability version of categorical_crossentropy

As stated in the docs regarding categorical_crossentropy:

Note: when using the categorical_crossentropy loss, your targets should be in categorical format (e.g. if you have 10 classes, the target for each sample should be a 10-dimensional vector that is all-zeros except for a 1 at the index corresponding to the class of the sample). In order to convert integer targets into categorical targets, you can use the Keras utility to_categorical:

This is great most of the time. However, what if I want to use soft-labeling?
e.g. if I have three classes then given my input x_i the target output might be [0.9, 0.05, 0.05]

What would happen if you directly provide target in soft-label form?

@joelthchao could you elaborate on what you mean?


pkg/backup/gcs: initial implementation of Google Cloud Storage API

Tested and confirmed that it works.
For https://github.com/coreos/etcd-operator/issues/1109.
I will try the etcd-operation integration later, and try to finish this pending PR https://github.com/coreos/etcd-operator/pull/1126.

Are there any short-term plans for merging this?

This got outdated due to recent changes in backup operator.

Any plans to resurrect this?

@gyuho Are you available to resume working on this? Otherwise, I can work on this (via another PR).

@crimsonfaith91 Sure. Please, take it.

@gyuho Thanks!

/assign

Update: there is already an existing PR (#2003) by<EMAIL_ADDRESS>Feel free to close this PR if needed. :)


error when trying to call aggregate function

I can query customersConnection via GraphQL playground but I can't access vai code like in the document https://www.prisma.io/docs/prisma-client/basic-data-access/reading-data-JAVASCRIPT-rsc2/#aggregations
await prisma.customersConnection().aggregate().count()

got an error like this
{
  "data": null,
  "errors": [
    {
      "message": "prisma.customersConnection is not a function",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "customers"
      ]
    }
  ]
}

I have the same issue with Prisma-binding

        const bookCount = await prisma.query.usersConnection().aggregate().count();

        console.log(bookCount)

TypeError: prisma.query.usersConnection(...).aggregate is not a function
at _callee3$ (/home/ayman/graphql/docker-postgres/src/resolvers/mutations/Book.js:82:68)
at tryCatch (/home/ayman/graphql/docker-postgres/node_modules/babel-polyfill/node_modules/regenerator-runtime/runtime.js:65:40)
at Generator.invoke [as _invoke] (/home/ayman/graphql/docker-postgres/node_modules/babel-polyfill/node_modules/regenerator-runtime/runtime.js:303:22)
at Generator.prototype.(anonymous function) [as next] (/home/ayman/graphql/docker-postgres/node_modules/babel-polyfill/node_modules/regenerator-runtime/runtime.js:117:21)
at step (/home/ayman/graphql/docker-postgres/src/resolvers/mutations/Book.js:17:191)
at /home/ayman/graphql/docker-postgres/src/resolvers/mutations/Book.js:17:361
at process._tickCallback (internal/process/next_tick.js:68:7)


how to use exceljsin angular 5?

tried following ways, but not working,  any idea how to use this in angular 5?
1.import * as Excel from 'exceljs/dist/exceljs.min.js';
const workbook =  new Excel.workbook();
2.import * as Excel from 'exceljs/dist/exceljs.min.js';
import * as ExcelProper from 'exceljs';
const workbook: ExcelProper.Workbook = new Excel.Workbook();

I have submitted a pull request that allows us to use exceljs in our Angular application. In our case we had to also add the following to the compilerOptions section of our tsconfig.json:
"paths": {
    "*": ["*", "../bower_components/*/index"]
},

If you are not using bower you will need to adapt the above to your environment. Once we did the above we can now do the following in our Angular code:
import * as Excel from 'exceljs';
const workbook = new Excel.Workbook();

Until the PR is merged you can install a fork of the repository with our changes from @gradecam/exceljs.
Cheers!

The PR has now been merged.

@jloveridge can you point the PR you are referring to? I am having difficulties using exceljs with typescript (angular) also.

Angular 5 with types & exceljs 1.4.6:
tsconfig.json in paths property (your path to node_modules may vary depending on the baseUrl property):
...
"exceljs": [
    "../node_modules/exceljs/dist/es5/exceljs.browser"
]
...

Usage:
// Add or remove types from here as needed
import { Borders, FillPattern, Font, Workbook, Worksheet } from 'exceljs';

let workbook: Workbook = new Workbook();

I updated my Angular 5 setup to attempt to follow your example.  VS Code and the compilation was all happy, but when I deployed (we use webpack to build/package and 'ng serve' to deploy), I got these browser console errors when I attempted to access my app's starting page in the browser:
Uncaught TypeError: Cannot read property 'prototype' of undefined
at patch (graceful-fs.js:166)
at Object.eval (graceful-fs.js:27)
at eval (graceful-fs.js:262)
at Object.../../../../graceful-fs/graceful-fs.js (vendor.bundle.js:4618)
at webpack_require (inline.bundle.js:55)
at Object.eval (index.js:8)
at eval (index.js:156)
at Object.../../../../archiver-utils/index.js (vendor.bundle.js:2308)
at webpack_require (inline.bundle.js:55)
at Object.eval (core.js:14)

Those errors mean you're not using the browser version of exceljs in your deployed version. I don't use webpack in my workflow, but I suspect somewhere in your webpack configuration you need to make a change similar to the one in tsconfig.json. Basically, tell webpack when it sees 'exeljs' to grab the browser file.

Reading is Fundamental.  I realized that you said to add it to the "paths" property, which I was not doing.  I have now added that into my tsconfig file and it is working!!  THANKS!!
"paths": {
    "exceljs": [
    "../node_modules/exceljs/dist/es5/exceljs.browser"
    ]
}

Hi @jmac-slash0 , @jgoris ,
I am using Angular 6 and added paths property in tsconfig.json and used the import similar way mentioned above. But I am getting the following compilation errors. Any idea what I was missing?
/*********   Error starts ****************************/
WARNING in ./node_modules/exceljs/node_modules/sax/lib/sax.js
Module not found: Error: Can't resolve 'stream' in 'E:\Projects\test-app\node_modules\exceljs\node_modules\sax\lib'
ERROR in ./node_modules/exceljs/dist/es5/csv/csv.js
Module not found: Error: Can't resolve 'fs' in 'E:\Projects\test-app\node_modules\exceljs\dist\es5\csv'
ERROR in ./node_modules/exceljs/dist/es5/utils/utils.js
Module not found: Error: Can't resolve 'fs' in 'E:\Projects\test-app\node_modules\exceljs\dist\es5\utils'
ERROR in ./node_modules/exceljs/dist/es5/xlsx/xlsx.js
Module not found: Error: Can't resolve 'fs' in 'E:\Projects\test-app\node_modules\exceljs\dist\es5\xlsx'
ERROR in ./node_modules/fast-csv/lib/index.js
Module not found: Error: Can't resolve 'fs' in 'E:\Projects\test-app\node_modules\fast-csv\lib'
ERROR in ./node_modules/fast-csv/lib/formatter/index.js
Module not found: Error: Can't resolve 'fs' in 'E:\Projects\test-app\node_modules\fast-csv\lib\formatter'
ERROR in ./node_modules/fast-csv/lib/formatter/formatter_stream.js
Module not found: Error: Can't resolve 'fs' in 'E:\Projects\test-app\node_modules\fast-csv\lib\formatter'
ERROR in ./node_modules/fast-csv/lib/formatter/formatter.js
Module not found: Error: Can't resolve 'fs' in 'E:\Projects\test-app\node_modules\fast-csv\lib\formatter'
ERROR in ./node_modules/fast-csv/lib/parser/parser_stream.js
Module not found: Error: Can't resolve 'fs' in 'E:\Projects\test-app\node_modules\fast-csv\lib\parser'
ERROR in ./node_modules/fast-csv/lib/parser/index.js
Module not found: Error: Can't resolve 'fs' in 'E:\Projects\test-app\node_modules\fast-csv\lib\parser'
ERROR in ./node_modules/fast-csv/lib/extended.js
Module not found: Error: Can't resolve 'os' in 'E:\Projects\test-app\node_modules\fast-csv\lib'
ERROR in ./node_modules/exceljs/dist/es5/utils/stream-buf.js
Module not found: Error: Can't resolve 'stream' in 'E:\Projects\test-app\node_modules\exceljs\dist\es5\utils'
ERROR in ./node_modules/exceljs/node_modules/jszip/lib/readable-stream-browser.js
Module not found: Error: Can't resolve 'stream' in 'E:\Projects\test-app\node_modules\exceljs\node_modules\jszip\lib'
ERROR in ./node_modules/fast-csv/lib/formatter/formatter.js
Module not found: Error: Can't resolve 'stream' in 'E:\Projects\test-app\node_modules\fast-csv\lib\formatter'
ERROR in ./node_modules/fast-csv/lib/formatter/formatter_stream.js
Module not found: Error: Can't resolve 'stream' in 'E:\Projects\test-app\node_modules\fast-csv\lib\formatter'
ERROR in ./node_modules/fast-csv/lib/formatter/index.js
Module not found: Error: Can't resolve 'stream' in 'E:\Projects\test-app\node_modules\fast-csv\lib\formatter'
ERROR in ./node_modules/fast-csv/lib/parser/index.js
Module not found: Error: Can't resolve 'stream' in 'E:\Projects\test-app\node_modules\fast-csv\lib\parser'
ERROR in ./node_modules/fast-csv/lib/parser/parser_stream.js
Module not found: Error: Can't resolve 'stream' in 'E:\Projects\test-app\node_modules\fast-csv\lib\parser'
/***************** Error Ends ***************************/

Same error as @shridhar-tl, added exceljs.browser to tsconfig paths, it's still trying to import fs, os, stream, ...
My tsconfig.json, which is in the same app root folder as node_modules:
{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ],
    "paths": {
      "exceljs": [
        "./node_modules/exceljs/dist/es5/exceljs.browser"
      ]
    }
  }
}

Component:
import { Workbook, Worksheet } from 'exceljs';
// ...
const workbook = new Workbook();

Back to the workaround until there's a proper way to get it working with Angular 6 (credits: https://github.com/guyonroche/exceljs/issues/348#issuecomment-320690232 ). Remove the path from tsconfig and import exceljs like this:
import * as Excel from "exceljs/dist/exceljs.min.js";
import * as ExcelProper from "exceljs";
let workbook: ExcelProper.Workbook = new Excel.Workbook();

For Angular 6, I swapped exceljs.browser for exceljs.min and it seems to be working. I'm not sure why the browser file doesn't work.
"compilerOptions": {
    "paths": {
        "exceljs": [
            "../node_modules/exceljs/dist/exceljs.min"
        ]
    }
}

https://github.com/angular/angular-cli/issues/9827#issuecomment-369578814 explains why it's not any longer possible to import some node-modules with Angular-CLI 6.


fix: vertical scroll in query history

SUMMARY

Vertical scrolling in the query history in SQL Editor is currently broken. This PR fixes https://github.com/apache/superset/issues/12922.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

Scrolling now works:

TEST PLAN

I tested other tabs (preview, results) and everything works as expected.
ADDITIONAL INFORMATION

[x] Has associated issue: https://github.com/apache/superset/issues/12922
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

Codecov Report

Merging #13042 (641d3eb) into master (2ce7982) will decrease coverage by 0.44%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master   #13042      +/-   ##
==========================================
- Coverage   53.06%   52.61%   -0.45%
==========================================
  Files         489      450      -39
  Lines       17314    14840    -2474
  Branches     4482     3960     -522
==========================================
- Hits         9187     7808    -1379
+ Misses       8127     7032    -1095

Flag
Coverage Δ

cypress
52.61% <100.00%> (-0.45%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...rontend/src/components/ListView/CardSortSelect.tsx
78.94% <ø> (ø)

...perset-frontend/src/views/CRUD/chart/ChartList.tsx
79.81% <ø> (+5.50%)
:arrow_up:

...rontend/src/views/CRUD/dashboard/DashboardCard.tsx
76.00% <ø> (ø)

...rset-frontend/src/components/ListView/ListView.tsx
87.64% <100.00%> (+11.23%)
:arrow_up:

...rontend/src/views/CRUD/dashboard/DashboardList.tsx
72.04% <100.00%> (+5.73%)
:arrow_up:

...ontend/src/dashboard/util/serializeFilterScopes.js
0.00% <0.00%> (-100.00%)
:arrow_down:

...d/src/dashboard/util/updateComponentParentsList.js
0.00% <0.00%> (-87.50%)
:arrow_down:

...c/dashboard/components/gridComponents/Markdown.jsx
5.88% <0.00%> (-81.38%)
:arrow_down:

.../src/dashboard/components/menu/PopoverDropdown.jsx
22.72% <0.00%> (-68.19%)
:arrow_down:

...end/src/views/CRUD/data/database/DatabaseModal.tsx
3.44% <0.00%> (-65.52%)
:arrow_down:

... and 93 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 1a96102...641d3eb. Read the comment docs.

Also, if these ant styles are only used in one or two places, it might make sense to move them into the React components and employ Emotion via styled.div or the css prop. Then we'd have less LESS!

+1 on that, I like the approach of using Superset components that abstract the underlying library.


Syncs guides to web (auto-generated, on 07-Oct-2023)

PR Type: ___

Affiliation: N/A

Ticket: N/A

Checklist:

[ ] I've read Contributing Guidelines
[ ] I agree to follow the Code of Conduct

Hi @ayoni02 - these files are generated automatically by GH actions whenever content is updated. You don't need to manually update them.


Fix compile error in MSQSelectTest.

Midair collision between #13366 and #13398.

Failure in CompactionTest that looks flaky, the change in this PR to make things actually compile shouldn't suddenly cause code that is not even using the changed line to suddenly start a death spiral.
LGTM cannot pass because the base commit cannot compile.  Merging anyway.


Merge FeatureModel into Http.Features. Remove unused FeatureObject.

#60
@muratg @HaoK

nice :shipit:


Fixed typo in Azure Functions deployment slots document

I found a typo in the Azure Functions deployment slots document.  I have corrected the typo in this PR.

@azurementor
Thanks for the typo fix!

Due to the upcoming conference, all merging and publishing are on hold until the morning of 5/23.
This PR is ready for merge on 5/23.
#label: "event-triaged-to-10AM"
#label: "missed-content-complete"


Adding Hyper Schema as Meta Schema

Hello,
I am using<EMAIL_ADDRESS>and Node v6.3.1. The JSON Schema reference recommends that all schemas have a $schema keyword. I want to use hyper schema, and so I have the following code below.
'use strict';

var ajv = require('ajv');

var validator = new ajv({});

var jsonHyperSchema = getHyperSchema();

validator.addMetaSchema(jsonHyperSchema);

function getHyperSchema() {
    return {
        // copy contents of hyper schema here
    }
}

However, I get this error...
Error: no schema with key or ref "http://json-schema.org/draft-04/hyper-schema#"

Am I loading the schema correctly, or is this a bug?

The workaround is to use the third parameter in addMetaSchema to skip its validation:
ajv.addMetaSchema(jsonHyperSchema, undefined, true)

The improvement would be to support validating meta-schema against itself. It's not supported at the moment, ajv expects all schemas used as meta-schemas to be added separately.


Over wan not working tested with ngrok,playit

I tried on local lan and it worked but i tried over wan using ngrok and playit but the connection never come idk why

As you can see i put while generating ipa host name that ngrok gave to me and the port too
And i start listening on <IP_ADDRESS> and 1177 port
Note: ngrok and playit working
with other rats like (AsyncRAT)

@Echtar I am sorry, but this question is not related to SeaShell, please open issue only if you have something related to it.


Verusca : Behavior, Strategy and Implementation, 3 Weeks

Learning Objectives

Priorities: 🥚, 🐣, 🐥, 🐔 (click to learn more)

There is a lot to learn in this repository. If you can't master all the material
at once, that's expected! Anything you don't master now will always be waiting
for you to review when you need it. These 4 emojis will help you prioritize
your study time and to measure your progress:

🥚: Understanding this material is required, it covers the base skills you'll
need to move on. You do not need to finish all of them but should feel
comfortable that you could with enough time.
🐣: You have started all of these exercises and feel you could complete them
all if you just had more time. It may not be easy for you but with effort, you
can make it through.
🐥: You have studied the examples and started some exercises if you had time.
You should have a big-picture understanding of these concepts/skills, but may
not be confident completing the exercises.
🐔: These concepts or skills are not necessary but are related to this module.
If you are finished with 🥚, 🐣 and 🐥 you can use the 🐔 exercises to push
yourself without getting distracted from the module's main objectives.

1. Remix
Practice studying and remixing other people's solutions to coding challenges. Create your own solutions by mixing and matching pieces from other people's code.

🐣 Reconstructing: You can reconstruct a variety of solutions to the same challenge when they are presented as parsons problems.
🐣 Analyzing: You can analyze a function written at your level. This includes:

[ ] Behavior: Write documentation, test cases and use cases to describe the function's behaviour.
[ ] Strategy: Describe the function's strategy using plain English.
[ ] Implementation: List the language features in a function and explain how each is used.
[ ] Small Changes: You can think of 2+ changes to the function's implementation that would not change it's strategy.

🐣 Remixing You can analyze several solutions to the same challenge then ...

[ ] Write: Your own solution by remixing the ones you studied.
[ ] Explain: How the other solutions inspired yours; what ideas did you take from them? what ideas did you not take?
[ ] Analyze: Complete a write-up of your own solution as though someone else wrote it.

2. Write

🐣 Function Design:

[ ] Writing Tests: Given a working function, you can write passing test cases to describe it's behavior.
[ ] Writing Functions: You can design multiple solutions to the same code challenge, keeping notes about different experiments you tried along the way.

[ ] 🐣 Generating Documentation: You can write a JSDoc comment for your solutions and run a script to generate markdown documentation.
[ ] 🐣 Fuzz Testing: You write solutions that pass randomly generated test cases.
🐥 Test Driven Development: You can solve open-ended, ambiguous coding challenges at your level:

[ ] Reading Docs: You can understand what the function is supposed to do by reading it's JSDoc description.
[ ] Writing Tests: You can write test cases before there is a function to test.
[ ] Writing Functions: You can write one function that passes the test cases you have prepared (even if it's just 1 test case!).
[ ] Refactoring: You can improve your function's implementation without failing any test cases that were passing.
[ ] Iterative Development: You can repeat the TDD process until you are satisfied with your test cases and solution.

[ ] 🐔 Code Golf: Write your solutions with the fewest characters possible! This won't help you write readable code, but it will make you think deeply about JS, your strategy and implementation.

3. Review

🐣 Continuous Integration: You can check your code's quality before pushing so your CI checks all pass.

[ ] Formatting
[ ] Linting
[ ] Testing

[ ] 🐣 Code Review: You can use a checklist to give a thorough, positive and constructive review of your classmates' solutions.
[ ] 🐔 Code Coverage: You can explain what code coverage is, why it's important, and can write unit tests with 100% code coverage.

Behavior, Strategy, and Implementation - week 1

[x] I have pushed my progress to my fork of exercises repo - template write-up

I Need Help With:
I solved an exercise but I couldn’t go backward after the final submission on Edabit. I re-wrote the solution on my VS Code but I couldn't check it on Edabit to be sure because it moved to the previous exercise.
After solving an exercise on Edabit, is it possible to go backwards to copy the solution or see previous work done?
General remarks

I'm getting to understand a bit more about JS from this module.

Sunday Prep Work

I am working on the exercises on slack to be completed by Sunday

Have you tried just opening the edabit challenge through the provided link again and going straight to the Code tab? If I do that, I can submit a solution again, even though I finished the challenge before.

Thank you it worked

Behavior, Strategy, and Implementation - week 1

[x] I have pushed my progress to my fork of exercises repo - template write-up

I Need Help With:
Nothing for now
General remarks

I'm getting to understand a bit more about JS from this module.

Sunday Prep Work

I am working on the easy exercises


Fix Action imports

As just done for the analyzers the actions should import the local files (from .basicAction import BasicAction) to prevent issues regarding import loops/conflicts.

This was already fixed by #40


Switch default P4Runtime gRPC port to 9559

TCP port 9559 was assigned to P4Runtime by IANA

Codecov Report

Merging #51 (debf9c2) into master (07ef764) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master      #51   +/-   ##
=======================================
  Coverage   71.77%   71.77%
=======================================
  Files           6        6
  Lines        2002     2002
=======================================
  Hits         1437     1437
  Misses        565      565

Impacted Files
Coverage Δ

p4runtime_sh/shell.py
71.93% <100.00%> (ø)

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 07ef764...debf9c2. Read the comment docs.


scripts: zephyr_module: Add CPE support

This allows the possibility of:

Adding CPE for modules when generating the SBOM (SPDX)
Monitoring CVE by adding a CPE related to modules (e.g a module is a forked of an other repository)

cpe and version fields are extracted from module.yml and included in generated kernel meta file (making it available for SBOM generation).
This PR is related to issue #53479 and follows PR #66182 that aims to improve the SBOM output and better monitoring of vulnerabilities.

@tejlmand I've taken into account your review. I also added the integration of CPE and version in the SBOM since documentation talk about the SBOM.
I wonder if we should have some testing on the output SBOM ? For example we could generate it for each project built in the pipeline and then run pyspdxtools to validate them. That would be a start. What do you think ?
I'm not familiar with zephyr pipeline, could you point me to the correct files if you think testing is a requirement for this.
Thanks

I wonder if I should add remote_purl to the vulnerabilities field ? That would make a lot of sense for project who only have github advisory database support (MCUBoot for example).
Maybe I could rename remote_cpe to external_references and the list could be either purl or cpe. Parsing would detect automatically which one it is.
I would keep cpe field but I don't know if a new purl field is necessary right now, since it would only make sense if someone mirrors modules of the project. Do you think it should be added as well ?
What do you think @tejlmand ?

I've added a new commit with the modification from my previous comment. If it's okay with you, I can squash them at the end.

I tried
version: "3.5"
vulnerabilities:
  external-references:
    - "cpe:2.3:a:arm:mbed_tls:*:*:*:*:*:*:*:*"
    - "pkg:https://github.com/Mbed-TLS/mbedtls/"
build:
  cmake-ext: True
  kconfig-ext: True

in mbedTLS module and I couldn't see the cpe in the output, if I do:
version: "3.5"
cpe: "cpe:2.3:a:arm:mbed_tls:*:*:*:*:*:*:*:*"
build:
  cmake-ext: True
  kconfig-ext: True

I can see the cpe, but my understanding is that we should see cpe for downstream and upstream packages right ? Though we will probably be using (at least, in beginning) the upstream CPE.

@ceolin Were you able to test it ? Does it look good to you ?
Thanks

@ceolin Were you able to test it ? Does it look good to you ?
Thanks

Hi !  It is looking correct the output to me. pyspdxtools parse properly the output, but cve-bin-tool was not able to find vulnerabilities in a packages properly, it seems to ignore external references. I tried one cpe that I know has vulnerabilities associated with ( cpe:2.3:a:arm:mbed_tls:1.3.3:::::::* ). modules-deps.spdx has:
##### Package: mbedtls-deps

PackageName: mbedtls-deps
SPDXID: SPDXRef-mbedtls-deps
PackageLicenseConcluded: NOASSERTION
PackageLicenseDeclared: NOASSERTION
PackageCopyrightText: NOASSERTION
PackageDownloadLocation: NOASSERTION
ExternalRef: SECURITY cpe23Type cpe:2.3:a:arm:mbed_tls:1.3.3:*:*:*:*:*:*:*
ExternalRef: PACKAGE_MANAGER purl pkg:https://github.com/Mbed-TLS/mbedtls/
FilesAnalyzed: false
PackageComment: Utility target; no files

If I try:
cve-bin-tool --sbom spdx --sbom-file build/spdx/modules-deps.spdx

Then, if I changed modules-deps.spdx to
PackageName: mbed_tls
PackageVersion: 1.3.3
SPDXID: SPDXRef-mbedtls-deps
PackageLicenseConcluded: NOASSERTION
PackageLicenseDeclared: NOASSERTION
PackageCopyrightText: NOASSERTION
PackageDownloadLocation: NOASSERTIONy
ExternalRef: SECURITY cpe23Type cpe:2.3:a:arm:mbed_tls:1.3.3:*:*:*:*:*:*:*
ExternalRef: PACKAGE_MANAGER purl pkg:https://github.com/Mbed-TLS/mbedtls/
FilesAnalyzed: false
PackageComment: Utility target; no files

It seems to me that cve-bin-tool should be get values from ExternalRef and the spdx here is correct, but  ...
That's why I mentioned to have packagename and version but it may just be a tool problem.
It is not part of this pr, but we need to relate the package with the source at some point, as you can see the generated output says that no files were analyzed which is not correct, but it is not related with these changes :)

Hi @ceolin,
cve-bin-tool does not parse everything in external refs. For now, only PURL containing a version are taken into account, but CPE are not.
I have created a PR on cve-bin-tool to fix this CPE issue (https://github.com/zephyrproject-rtos/zephyr/pull/66495).
I guess if it's okay with you, @tejlmand @nordicjm, PR is finalized and ready to be reviewed.
Thanks

@tgagneret-embedded just curious, have you started looking at integrating SPDX 3?

Can I have some update on this PR @tejlmand  ?
Thank you :)

@tgagneret-embedded Thanks for this! Although I'm not as familiar with Zephyr modules (or the current SPDX generator code) anymore and I haven't had a chance to test this out, at a high level the changes in this PR make sense and look like a good addition to me.

@tejlmand Does it look good to you ?

@ceolin @kartben It seems the PR is stalled. I think every comments have been taken into account. It's been over a month and there is no new review or comment.
Can you help me with this ?
Thanks

@tgagneret-embedded Thank you for your patience. It's "unfortunate" you just pushed a new commit as this dismissed the existing reviews and will only contribute to merge taking even longer, as this now needs another (hopefully much faster though) round of reviews.
@tejlmand, please try to have a look at this PR again as it's been several months since it's been waiting for your approval as the assignee.

re: @tejlmand's comment below (which I can't reply to as it's "outdated)

I like security_info more.
Broad enough to cover the vex info, while still specific enough to be useful for readers to understand the context.

It's now security, actually, but it looks like the commit that introduced it hasn't been squashed properly so the initial name also shows up in the history.

@tejlmand I don't think there is any remote provided by west for the manifest repository.
If running west init -m https://github.com/zephyrproject-rtos/zephyr.git, west list does not provide any remote for the >manifest. I didn't find anything in west code to have this information (command or function), you can only extract the >manifest directory. The only solution I have is to run git remote in the manifest directory to get it.
So if I have two remotes (for example, zephyr remotes and the forked zephyr to add my feature), I don't have any clue on >which remotes I should use.
What should I do in this case ? No remote ? The first one ?
Thanks.

On top of this question, should we use projects instead of modules in the following code (for the content of zephyr.spdx) ?
https://github.com/zephyrproject-rtos/zephyr/blob/b306e80e00d71196913228cc96cecb717d5357a1/scripts/west_commands/zspdx/walker.py#L292C44-L292C60
Maybe zephyr.spdx should contains only the modules. Thus should we make a new spdx for the projects ?
For example, when we use an external repository for the manifest, this manifest won't appear in any SPDX/SBOM. So where should it appears ? In a broader sense, if someone add new projects in manifest, it's not listed in any SPDX/SBOM.
By the way it seems that all modules are listed as a project. I don't know if it's possible to have a module not listed as a project ?
I think the creation of a new SPDX projects.spdx makes sense, however I'm not sure zephyr.spdx would still be useful.
Does anyone have a suggestion about this ?
Thanks

@tejlmand

I now support the "-off" flag when revision is not the same as the one present in the manifest.
I use the URL from the manifest if I have no remote, more than one or a different remote (and add the "-off" flag to the revision)
Modules now support the "-off" (Since modules provided by west does not provide the URL, I check if the module is not in the project list to get the required information)
I fixed the "normalization of the SPDX field" and move it to writer.py (instead of walker.py). I had to normalize the relationships too, so it's not very pretty in my opinion. It's in a separate commit (https://github.com/zephyrproject-rtos/zephyr/pull/66495/commits/b1452527c55409215c092827f81c253bdfc7b03b) and I will drop it if you are not satisfied.

@tejlmand Can you tell me if there anything missing from my part for you to review this PR ? If so, let me know, I would be happy to fix it. This PR is opened for a long time now 😄.
Thanks

ping @tejlmand

@tgagneret-embedded although it's getting late in the release cycle for doing this, would it make sense to submit updates to some of the manifests of the modules where this new feature would be useful (i.e CPE/PURLs actually exist)? mbedTLS certainly comes to mind. Thanks!

I was thinking of this but I wasn't sure it's the best time. I'm afraid it would break some build. If we add CPE information in mbedTLS module for example and it's used with older version of Zephyr, an error will occurs when parsing the module.yml (because it will find unknown field).
I don't know how modules are handled, and if my use case is possible. If you think it's safe, I can update some module.yml.
What do you think ?

I was thinking of this but I wasn't sure it's the best time. I'm afraid it would break some build. If we add CPE information in mbedTLS module for example and it's used with older version of Zephyr, an error will occurs when parsing the module.yml (because it will find unknown field).
I don't know how modules are handled, and if my use case is possible. If you think it's safe, I can update some module.yml. What do you think ?

@kartben


Pull all 10 variables to AWS

Detailed Description
Currently in AWS there are only 4.
Context
New modesl need 10 variables
I think the order is updated, or is atleast ready to go.
Possible Implementation

not sure, check the correct order is being used.
check that the other variables dont get stripped out somewhere

Update ORDER_IDS secret value to new order id:

[x] [dev](https://eu-west-1.console.aws.amazon.com/secretsmanager/secret?name=development%2Fconsumer%2Fnwp&region=eu-west-1

This done on production too? @devsjc


Improve launchd preflight checks and fix hyperkit startup crash

This makes error reporting a bit better, and makes sure plist files are recreated when their content changed.
For testing, the main change is that the path in ~/Library/LaunchAgents/crc.daemon.plist is updated when the absolute path of crc changes.
You can either check its content after running crc setup with the crc binary being in different directories, or just check ps aux |grep 'crc daemon' after running crc setup

/retest

CI failure is not because of this PR.


cron job added every time the container is started

I noticed that the cronjob are added every time I started the container.
I ended up having 100 of cron job for both the backup and IMAP and a massive slow down on my NAS drive.

Thanks for reporting this issue. New releases have been made with the fix :+1:


Followup: Complaints on Automated Assessments

Checklist

[x] I tested all changes and all related features with different users (student, tutor, editor, instructor, admin) on the test server https://vmbruegge60.in.tum.de/.
[x] Server: I followed the coding and design guidelines.
[x] Server: I implemented the changes with a good performance and prevented too many database calls
[x] Client: I followed the coding and design guidelines.
[x] Client: I translated all newly inserted strings into English and German.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.

Motivation and Context

This PR fixes some small bugs and the UI related to the complaints on automated feedback in programming exercises.
Description

The timeline on the edit page should not more clearly show the options when choosing the assessment type after a deadline has been set
When answering a complaint on an automated assessment the amount of points in the top right should get updated correctly when adding feedback
An exercise with complaints on automated assessments should only be visible in the assessment dashboard of the course when there is an unanswered complaint
In the assessment dashboard of the exercise, only complaints should be shown, but the list of manual assessments should stay empty

Steps for Testing

After each step check points 2, 3 and 4 of the description

Create a programming exercise with where complaints are allowed on the automatic assessment (Check 1 of Description)
Participate as a student
Complaint as the student
Answer the complaint as a tutor
Override the assessment as an instructor

Review Progress

Code Review

[x] Review 1
[ ] Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

I followed the each step, I encountered with some issues, maybe I did something wrong, so I'll try to explain my scenario properly.
I checked the timeline during the creation of the programming exercise. The messages for Assessment Type are clear ✔
I created the programming exercise with this option: "no manual assessment, assessment by tutor, complaint allowed". Then participated as student and complaint for the result. As a tutor I saw the programming exercise in the course dashboard ✔ Go to Exercise dashboard. submission of students list is empty and the complaint is listed properly ✔ Then, I accepted the complaint, gave extra two feedback and score is increased while I was adding the feedback ✔ After overriding the assessment, I was not able to see the feedback I gave as tutor and the score area seems weird. I recorded a screencast. I checked the result as a student. And this student is not able to see the feedback given by tutor. In the second video, the result is 23% with automatic assessment, after giving two extra feedback by tutor the result is 38%.
https://user-images.githubusercontent.com/23650630/130704819-9c2465b0-ffd2-483a-8202-8a1540974383.mp4
https://user-images.githubusercontent.com/23650630/130704835-abe673d0-8614-4f4f-b63a-4874f372b80a.mp4
Another small issue with Assessment Type icon: as you can see in the video, the icons are disappearing while hovering it.
https://user-images.githubusercontent.com/23650630/130704850-6bc4c60f-8ef5-46a9-8d3b-a898cee8a344.mp4


fix: remove -march=native compile option for Darwin os

This PR adds ability to install py_stringsimjoin through pip using mac with Darwin os

@christiemj09 could you take a look at this PR? Seems like a major issue because py_entitymatching relies on py_stringsimjoin, so it's not possible to install py_entitymatching via pip using mac due to the issue above


Compose TextField state is mangled when updating via intent

There is an issue when using orbit with a Samsung device. The device must use the Samsung keyboard and not an alternative one to reproduce this issue.
When using a Textfield that displays a value that is from a state and updates that value in the state by using the onValueChange value with orbits intent and reduce function, the Textfield value will randomly reset if the user is using a Samsung keyboard.
Example:
class MainActivity : ComponentActivity() {
    private val viewModel = ExampleViewModel()

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            MyApplicationTheme {
                // A surface container using the 'background' color from the theme
                Surface(color = MaterialTheme.colors.background) {
                    Screen(viewModel)
                }
            }
        }
    }
}

@Composable
fun Screen(viewModel: ExampleViewModel) {

    val state = viewModel.container.stateFlow.collectAsState().value

    TextField(value = state.text, onValueChange = { it ->
        viewModel.updateText(it)
    })

}

data class ViewState(
    val text: String = ""
)

sealed class SideEffect

class ExampleViewModel : ContainerHost<ViewState, SideEffect>, ViewModel() {

    override val container = container<ViewState, SideEffect>(ViewState())

    fun updateText(text: String) = intent {

        reduce {
            state.copy(text = text)
        }
    }
}

Example project: https://github.com/DarrenMiddleton/orbit-mvi-keyboard-issue

I've observed similar behavior in my project.
It seems that TextField doesn't support asynchronous updates.
Sometimes when the process of reducing the state and emitting it takes too long, TextField starts to behave "weird". In my case, it resets the keyboard (if I had a keyboard in number mode it automatically changes to the default one, during typing).
I'm using the OnePlus phone but I assume that it doesn't matter, the error is connected to Compose and its TextField implementation.
I'm wondering what can be done about it. Maybe flag that would enable to force an immediate state reduction?

One solution I came up with (a bit dirty one - I'd like to have one source of data :/) is to not update field values from the state directly.
For example:
@Composable
fun ExampleTextField(
    initialValue: String = "",
    onValueChange: (String) -> Unit
) {
    val state = remember { mutableStateOf(initialValue) }

    OutlinedTextField(
        value = state.value,
        onValueChange = {
            state.value = it
            onValueChange(it)
        }
    )
}

onValueChange informs the view model that value was changed. This solution works but unfortunately, it makes the data flow unidirectional. TextField informs the view model about changes, but the view model cannot do it. I assume there are many use cases that would require two-way - that's why a better solution is needed.

I wonder if there's a more fundamental issue in Compose with this?
As a reference:
https://issuetracker.google.com/issues/200577798
https://issuetracker.google.com/issues/204522152
https://stackoverflow.com/questions/69703448/compose-text-field-strange-behaviour-when-setting-a-max-length-for-text

I experiment the same issue and not only on samsung devices.
I have opened an issue some time ago (https://issuetracker.google.com/issues/179694566) but it was closed as "Won't Fix (Not reproducible)".
Maybe a hint here : https://github.com/cashapp/molecule/issues/63

So, it seems like sometimes the problem is the delay. Could be "fixed" by using Main or Unconfined dispatcher, like this
container(
  ...
  settings = Container.Settings(intentDispatcher = Dispatchers.Unconfined)
)

Anyway, this should be used with caution as any real job inside the intent{} should be then moved to the withContext block.

So, it seems like sometimes the problem is the delay. Could be "fixed" by using Main or Unconfined dispatcher, like this
container(
  ...
  settings = Container.Settings(intentDispatcher = Dispatchers.Unconfined)
)

Anyway, this should be used with caution as any real job inside the intent{} should be then moved to the withContext block.

Does it "fixed" as well when defining specific intent {} then we use withContext(Unconfined) inside it?

FYI: Effective state management for TextField in Compose

Fixed in #148

Not sure if I'm doing something wrong, but I managed to reproduce this even when using blockingIntent. The difference between the example code and my code is that I'm using actions to trigger text change. Here's an example:
@Composable
private fun ViewState(
  viewModel: LoginViewModel,
) {
  val state by viewModel.collectAsState()
  LoginContent(
    state = state,
    { viewModel.sendAction(LoginUserAction.EmailChanged(it)) },
    { viewModel.sendAction(LoginUserAction.PasswordChanged(it)) },
    { viewModel.sendAction(LoginUserAction.LoginButtonClicked) }
  )
}

@Composable
private fun LoginContent(
  state: LoginViewState,
  onEmailChanged: (String) -> Unit,
  onPasswordChanged: (String) -> Unit,
  onLoginClicked: () -> Unit,
) {

  Column(
    Modifier
      .fillMaxSize()
      .padding(16.dp),
    verticalArrangement = Arrangement.Center,
    horizontalAlignment = Alignment.CenterHorizontally
  ) {
    TextField(
      modifier = Modifier
        .fillMaxWidth()
        .padding(8.dp),
      onValueChange = onEmailChanged,
      value = state.email,
      enabled = true,
      label = { Text("Username") },
      colors = TextFieldDefaults.textFieldColors(containerColor = MaterialTheme.colorScheme.background),
      isError = state.emailError.isNotEmpty()
    )

LoginViewModel
override fun processUserAction(action: LoginUserAction) {
    when (action) {
      is LoginButtonClicked -> login()
      is EmailChanged       -> emailChanged(action.email)
      is PasswordChanged    -> passwordChanged(action.password)
    }
  }

  private fun emailChanged(email: String) = blockingIntent {
    reduce {
      state.copy(email = email)
    }
  }

  private fun passwordChanged(password: String) = blockingIntent {
    reduce {
      state.copy(password = password)
    }
  }

I'm also attaching the video.
https://github.com/orbit-mvi/orbit-mvi/assets/1207004/a0d5d56c-1ca9-484f-9b80-b148f42083ad

Tested the same thing with BasicTextField2, where in onValueChange I called viewModel.sendAction(TextChanged(it)), and I didn't have the above bug. It must be related to the way the new basic text field handles asynchronous changes.


Support raw Zlib Compressed data

Describe the bug
Typically when compressing data with GZip, the data is packaged into an archive format that is easy to detect for AssemblyLine. However, there is also the option to useZlib directly to compress it into a raw data stream without any GZip, or other archive format, container to fingerprint it. AssemblyLine cannot detect the raw Zlib compression and it will not inflate it for further analysis.
To Reproduce
Steps to reproduce the behavior:

Go to CyberChef
Enter the EICAR Test string into the "Input" box.
Drag the "Raw Deflate" operation into the "Recipe" box
Save the output to a file.
Upload the file to AssemblyLine

Expected behavior
AssemblyLine should be able to detect this as "Malicious" due to it being a compressed version of the EICAR string. Currently, the only tool within AL that detects this is Kaspersky. AssemblyLine itself is unable to inflate the file for further analysis, and instead relies solely on Kaspersky.
Screenshots

Environment (please complete the following information if pertinent):

Assemblyline Version: 4.4..0.78  (whatever version is running in prod)

Additional context
Zlib raw compression is used in many places, including in Python and .NET. Unpacking raw compressed data would enable further detection of malicious activity. Given the way AL currently classifies files based upon magic values among other things, maybe the change could involve taking any application/octet-stream that has an unknown
al_type after trying the existing classifiers, and then attempt to raw inflate it with ZLib.

I'm sorry to be bearer of bad news, but I don't think this can be fixed. This is very probably a problem with CyberChef, and more specifically this issue: https://github.com/gchq/CyberChef/issues/671.
If you use the "zip" operation in CyberChef, you will receive a valid zip file, but if you password protect that zip file using CyberChef, no tool that I've tried is able to read it. I'm assuming this is the same zlib.js dependency that is causing issue here.
On the upside, we already have support for zlib stream in Assemblyline. It should be identified as archive/zlib whenever the mimetype is identified as application/zlib. Here is an example from VirusTotal: https://www.virustotal.com/gui/file/3df85e947d6a7f05a4ca9008e44db6c814722378b178531d2bf8b29ebfce3bff where the VirusTotal File Type is zlib. Do you have the sha256 of the zlib'd EICAR string that CyberChef gave you, and if so, are you able to find it in VirusTotal? I would be curious how they would identify that file.
I tried to encode a different string in CyberChef, and use the python zlib library to read it (as I'm doing with that previous sample) and it is erroring out. If you can use any tool other than CyberChef to read the resulting zlib stream, I would be glad to investigate the difference.
I will close this issue for the moment, but we can still discuss about it, and if you do have another tool that reads it, you should completely re-open it!! :)

Sorry, I wasn’t entirely clear, mostly because I was confusing the formats at hand. This StackOverflow post details what I’m talking about nicely:
https://stackoverflow.com/questions/3122145/zlib-error-error-3-while-decompressing-incorrect-header-check
in this case, I’m talking about the “deflate” format, not the Zlib or Gzip formats. I got them all mixed up. AssemblyLine cannot detect the deflate format because it is header-less. You need to actually try to inflate it to detect it properly. There are several libraries that support this format, including .NET’s System.Io.Compression namespace and Python’s zlib (see StackOverflow post).
This issue has nothing to do with CyberChef, I was just using it as a quick example for producing an EICAR case, but you can produce it with the Python library or in .NET no problem.
The output from CyberChef should still be a valid test regardless, as I don’t think that dependency is affecting this case.

It turns out the MIME for this type is ‘ application/x-deflate’

Could you point me toward a sample that have a mimetype of application/x-deflate ?
I generated a sample from CyberChef and it is a application/octet-stream like your first message was saying.

I was able to recover the original content with zlib.decompress(data, -15), but considering that we can get very large random blob of bytes, it would probably be a bad idea to try each application/octet-stream just in case. Having application/x-deflate as the mimetype would be a clear solution for Identification.

application/x-deflate  is something that an application has to declare. So an HTTP server could tell an HTTP client that it is using application/x-deflate . In cases of malicious software, it would not come declared as x-deflate. You would need a way to "fingerprint" like AL already does with ZIP, GZIP and other archive formats. Since there are no headers, there is no way to a-priori know that it is x-deflate without trying to inflate it. Its irrelevant whether a sample is marked as application/x-deflate, as it is purely a friendly way for servers and clients to indicate the format of their communications. zlib.decompress(data, -15) gives you a application/x-deflate output, it just doesn't have the MIME with it. That MIME is the proper way (by spec) to refer to this, but I have seen no instances of it actually being used in the wild.
Maybe instead of inflating all application/octet-streams, maybe there is some form of heuristic that could be applied, maybe there are some entropy-based heuristics that could be applied? Or maybe a size cap placed on the attempts? I'm not sure how frequently AssemblyLine comes across unknown application/octet-stream samples, but this is a huge gap in analysis capability, given that this is a common feature in some malware strains.

Could you point out a sample that does use this? Is this file dropped by a javascript file? Is it contained in a iso image?

We've discussed this offline and figured out that the stream comes out of a base64 encoded blob already extracted by FrankenStrings. FrankenStrings should test to see if the content of the blob is deflated and could decompress it before being re-uploaded.

This is now implemented in FrankenStrings v4.4.0.stable22.


Screenshot at time of crash

Is your feature request related to a problem? Please describe.
Our own implementation currently attempts to take a screenshot, and this can be included with the error. If at the time of the crash app center could get this information that would be useful addition.
Describe the solution you'd like
At the time of the application crashing, a screenshot is taken. It is then an option to include this to be sent up to app center in the log.
Describe alternatives you've considered
Keeping with our own implementation that sends to our support system.
Additional context
Useful to diagnose what is going on at the point of error and allows front line support to be able to deal with the problem as they have a screen to look at rather than just an error message.

As mentioned above, there is the option of providing the screenshot capture by yourself and using a binary attachment in your crash report to upload it.
Is your feature request more geared towards the part of the first party SDK support or anything related to the consumption of the potential screenshot in App Center?

It's more geared for the process to be geared in, i.e. the framework supports the best way to get a snap shot at the point of crashing. We are allowing the application just to crash now. It would be a useful addition as an option without having to manage that ourselves.
Being able to view them in App Center would then be an option as well I guess, which would also be beneficial.


🔬🧪🧬 [Refactor] Automating getting test module paths.

Target

Automating getting test module paths.

Effecting Scope

Almost nothing. But having a breaking change about argument usage of reusable workflow.

Description

Modify the shell script could get test module by automatically scanning all files under one specific path.
Add more test modules to test the feature.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2

Relevant Lines:
3

💛  - Coveralls


MPIExecutor fabric should report heartbeats

There's no mechanism in the MPIExecutor to detect failure of individual instance of the mpi fabric. The fabric could die due to walltime expiration or any MPI failures and the executor should be able to detect such failures so that tasks can be re-launched by the DFK.
For this to work we would need:

Periodic heartbeats from the fabric:rank0 to the executor
Heartbeats to include task_ids currently being processed
Executor to monitor heartbeats to identify status.

In addition to heartbeats, sometimes the MPI executor should receive a unix TERM signal from the scheduler which might allow more active notification back to the submitting side that we're about to die.

I've implemented a very basic heartbeat system on this branch : async_mpi_executor.


Unable to run, what am I missing here?

I had an earlier version working perfectly, upgraded npm and installed the newest version and it's no longer working :(, what am I missing here now ?

Try npm link

Already did, tried again, no luck :(

Try you installed it?

Tried both this npm install --save-dev javascript-obfuscator and git + npm install as well

Try npm link javascript-obfuscator from package.json directory of obfuscator.
Or try to install it globally with npm install -g javascript-obfuscator

That worked :)

Added this to the FAQ


feat(social): add social login buttons

Description [STORY LINK]

This PR adds 2 new exported components

GoogleLoginButton
FacebookLoginButton

Usage:
import React from "react";
import {
  LoginContainer,
  LoginEmail,
  LoginPassword,
  LoginButton,
  Alert,
  GoogleLoginButton,
  FacebookLoginButton
} from "@pelcro/react-pelcro-js";

export const CustomLoginView = () => {
  return (
    <LoginContainer>
      <Alert />
      <LoginEmail label="Email" />
      <LoginPassword label="Password" />
      <LoginButton />

      <GoogleLoginButton />
      <FacebookLoginButton />
    </LoginContainer>
  );
};

Notes:

Both will only render if Google and Facebook are configured in the owner site's settings.
Both can be used without the other. You can use Facebook only and vice versa.
Style should be flexible in both scenarios.

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[x] Added a changelog entry.
[x] Tested changes locally.
[x] Updated documentation.

Screenshots
Both enabled

Google only

Facebook only

The product decided to move this to the 20th release.


[Set Audio Device] Cannot retrieve output devices on macOS 15.0

Extension
https://raycast.com/benvp/audio-device
Raycast Version
1.83.1
macOS Version
15.0
Description
Error:
Error: Command failed with exit code 1: osascript -e
    set devices to {}

    tell application "System Preferences"
      reveal pane id "com.apple.preference.sound"
    end tell
    tell application "System Events"
      tell application process "System Preferences"
        repeat until exists tab group 1 of window "Sound"
        end repeat
        tell tab group 1 of window "Sound"
          click radio button "Output"
          tell table 1 of scroll area 1
            set selected_row to (first UI element whose selected is true)
            set currentOutput to value of text field 1 of selected_row as text

            repeat with r in rows
              try
                set deviceName to value of text field 1 of r as text
                set deviceType to value of text field 2 of r as text
                set end of devices to { deviceName, deviceType }
              end try
            end repeat
          end tell
        end tell
      end tell
    end tell

    if application "System Preferences" is running then
      tell application "System Preferences" to quit
    end if

    return [ devices, "currentOutput", currentOutput ]

64:116: execution error: System Settings got an error: Can’t get pane id "com.apple.preference.sound". (-1728)
    at D9 (/Users/x/.config/raycast/extensions/2158713f-4712-4862-ba9a-3bce3cd07e3a/set-output-device.js:4:57)
    at /Users/x/.config/raycast/extensions/2158713f-4712-4862-ba9a-3bce3cd07e3a/set-output-device.js:4:6400
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async fa (/Users/x/.config/raycast/extensions/2158713f-4712-4862-ba9a-3bce3cd07e3a/set-output-device.js:38:6806)
    at async N0 (/Users/x/.config/raycast/extensions/2158713f-4712-4862-ba9a-3bce3cd07e3a/set-output-device.js:38:6981)

Steps To Reproduce

Invoke command "Set Output Device"
The loading keeps spinning forever
Cancel and invoke the command again

Current Behaviour
An error has been shown and no output devices found
Expected Behaviour
Output devices are listed and can be select

Sorry, it seems to be duplicated with https://github.com/raycast/extensions/issues/12672


Extract the localization out into its own mod

Most of the credit from this implementation goes to @Xilophor.

@Xilophor / @legoandmars, mind reviewing this PR before I push it out? 😀
I was also able to test this successfully using the Subtitles mod (which I will have a follow-up PR afterwards if everything looks good for this)

Also, thanks for adding better documentation in ILocalization! First time using /// so I didn't know much on how to correctly use :P


Next video loads when inside Recyclerview

Hello, first off thanks a lot for this amazing library.
I'm trying to build an application that has a full-screen item of this player something similar to TikTok, cue-ing this video works great, but if I want to play this video the next video (that's not even visible in the screen) of the list keeps playing.
I tried logging my RecyclerView's position, it changes to 1 whenever it's in 0, and then for the remaining views it's always 1.
I tried getting the position from layoutManager.findFirstVisibleItemPosition, position inside ViewHolder, ViewHolder.getAdapterPosition inside the adapter as well. For some weird reason, the RecyclerView keeps setting the next position as the current position for the first video in some methods. Can somebody help me out with this?

Here's the code for reference: https://pastebin.com/FcVhhrZ6
I think the problem is that neither the inbuilt parameter position of onBindViewHolder
or viewHolder.adapterPosition or viewHolder.layoutPosition are returning the correct current recycler item position that's visible.
I'm using a Page Snap helper too and I tried getting the position from mLayoutManager.getPosition(snaphelperview) but that isn't working consistently as well. Wonder what's the work around for this. Glad if someone can help me out here.

I am facing this problem too, if you fixed it, can you show me how?

I am also facing this issue. Can any one help me


Error: ledger nano S: support for ledger devices is not available in this executable

When using Docker container for testnet, I've got the following error when adding the key:
$ fxcored keys add foo --ledger
Error: ledger nano S: support for ledger devices is not available in this executable

I think ledger support should be added to the binary?

We set the ledger to be disabled in the linux os, you can try to install fxcored in your mac or windows os by make install, it is supports ledger


Updates README file

Wrong box name on init vagrant

I apologize for letting this sit so long.   The box name is really whatever you call it when you import a box to your system.  However, it is good practice to refer to these as vEOS-lab so merging.


Not applying configurations at all

The problem i have is the following:
After all the installation of the stable version i create my shortcut, configure my controller and everything seems to be ok.
Then i go to steam to open the app, it opens the overlay layer as it should, it opens the game as it should and i can see how the bindings are not working at all.
I can actually see it because the steam controller led changes to full power, when i have it configured to be at 10% light only to know the controller is on.
The problem is that the game, in this case is called "In Verbis Virtus" doesn't seem to detect the overlay or don't want to. When i change the window with ALT+TAB i can see the light change so i want to ask if this can be a problem of the program itself or just that it will never work for this game. I tried with World Of Final Fantasy and it didn't worked either, as the focus is not on the overlay but in the game one...thanks

Does it switch to desktop config, or lizard mode?
Can you try running steam as admin?

Ok, yes it was the admin thingie. My bad. This is a duplicate, you can erase this as you please. The thing is that i actually readed the issue you mentioned but didn't understood it propperly.  Thanks for all your work ^^


Select query with "=" in where clause gives different results than "in" clause even if the subquery returns exactly one record

OrientDB version 2.1-rc4
I have the following data model:
Device and Rack are Vertices
DevicePlacedInRack is an Edge having a property called OccupiedBayNums EmbeddedList Integer.
Device --> DevicePlacedInRack --> Rack
The following query incorrectly returns zero records:

select from DevicePlacedInRack where in = (select @rid from Rack where ID=404)

0 item(s) found. Query executed in 0.242 sec(s).

If the = is changed to in clause, the correct results are displayed:
select from DevicePlacedInRack where in in (select @rid from Rack where ID=404)
----+--------+------------------+---------------+-----+--------
#   |@RID    |@CLASS            |OccupiedBayNums|in   |out
----+--------+------------------+---------------+-----+--------
0   |#27:19  |DevicePlacedInRack|[1]            |#37:1|#17:30
1   |#27:22  |DevicePlacedInRack|[2]            |#37:1|#17:33
2   |#27:261 |DevicePlacedInRack|[3]            |#37:1|#17:353
3   |#27:301 |DevicePlacedInRack|null           |#37:1|#17:417
4   |#27:4038|DevicePlacedInRack|[1]            |#37:1|#17:6358
5   |#27:4098|DevicePlacedInRack|[2]            |#37:1|#17:6442
----+--------+------------------+---------------+-----+--------

6 item(s) found. Query executed in 0.23 sec(s).

Note that there is only one record of Rack having ID=404:
orientdb {db=SRIMS}> select @rid from Rack where ID=404

----+------+-----
#   |@CLASS|rid
----+------+-----
0   |null  |#37:1
----+------+-----

1 item(s) found. Query executed in 0.005 sec(s).

select in from DevicePlacedInRack where in=#37:1

----+------+-----
#   |@CLASS|in
----+------+-----
0   |null  |#37:1
1   |null  |#37:1
2   |null  |#37:1
3   |null  |#37:1
4   |null  |#37:1
5   |null  |#37:1
----+------+-----

I am using OrientDB version 2.1-rc4

Hi @nagarajasr
this is the expected behavior in OrientDB: the result of a subquery is a collection, so the right operator to use is IN.
The same is for graph traversal functions, like out(), in(), both() and so on, so a query like
SELECT FROM V WHERE out() = #12:0

will return no results; the right query would be
SELECT FROM V WHERE out() IN #12:0

@luigidellaquila see #4542 i think there might be a certain use case where the sub-query should in fact return a record (OIdentifiable?) instead of a record-set (List), when the sub-query is using an aggregate function.
this behaviour causes inserts from sub-queries using an aggregate function to give incorrect results.
WDYT?


Allow specifying an NSArray's protocol type in implementation method

Rather than declaring the contained type of an NSArray property like:
@property (strong) NSArray<MyType>* things;

You can alternatively implement the +protocolForArrayProperty: method:
+ (NSString*)protocolForArrayProperty:(NSString*)propertyName
{
    if ([propertyName isEqualToString:NSStringFromSelector(@selector(things))]) {
        return NSStringFromClass(MyType.class);
    }
    return [super protocolForArrayProperty:propertyName];
}

We use JSONModel to define classes for our public API. I would prefer to not leak JSONModel implementation details through our API's public surface area. Non-standard use of protocols is one of those leaks. By allowing you to alternatively choose the container type for NSArray property in the implementation of your class, we can hide these JSONModel details form our API users.

@icanzilb Any chance we can get this merged in shortly?

Added tests for this new method, Merging in.

This was a great addition, nice work :+1:

I think this will actually work for other collection types like NSDictionary - not just NSArray.

I support the above comment.


AWS2-Lambda Extension: Adding interceptors and align to the other ext…

…ensions
[ ] An issue should be filed for the change unless this is a trivial change (fixing a typo or similar). One issue should ideally be fixed by not more than one commit and the other way round, each commit should fix just one issue, without pulling in other changes.
[ ] Each commit in the pull request should have a meaningful and properly spelled subject line and body. Copying the title of the associated issue is typically enough. Please include the issue number in the commit message prefixed by #.
[ ] The pull request description should explain what the pull request does, how, and why. If the info is available in the associated issue or some other external document, a link is enough.
[ ] Phrases like Fix # or Fixes # will auto-close the named issue upon merging the pull request. Using them is typically a good idea.
[ ] Please run mvn process-resources -Pformat (and amend the changes if necessary) before sending the pull request.
[ ] Contributor guide is your good friend: https://camel.apache.org/camel-quarkus/latest/contributor-guide.html

Locally the test is passing, I think the failing test here is not related


update quick start invalid url

Close #1923

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Updating deployment files to new CSI image

What type of PR is this?
/kind feature

What this PR does / why we need it:
Updates deployment files with the new image
Which issue(s) this PR fixes:

Fixes #
Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

The 0.1.12 image is now live, so this is good to merge in.

/lgtm


Add dtls support

Description
Issue #5359
Checklist

[x] parse client hello
[x] add raw UDP layer
[x] remove test logging
[x] I have updated tests where applicable.
[x] I have added an entry to the CHANGELOG.
[x] Integrate with multi-server mode.

High-level comment: I think we should follow a similar structure as we have for TCP, i.e. we add a raw UDP layer akin to mitmproxy/proxy/layers/tcp.py. DTLS connections then have a Proxy Server -> Server DTLS -> Client DTLS -> Raw UDP layer stack. Does that make sense?

I need to look closer at what that layer does but I think I know what you mean. I'd like to try building it but I will reach out if I need help. Thank you.

Second high-level comment: Given the similarity in the code, I wouldn't be opposed to reusing the existing tls_* hooks instead of adding dtls_* versions. We could probably add an is_dtls flag to TlsData. Either way is perfectly fine with me, feel free to make a call here.

I was on the fence about this so I'll change it as you're suggesting.

I'm not too familiar with DTLS, but if I can help you with any pyOpenSSL stuff please feel free to ask dumb questions here or on Slack.

:+1:

For the current DTLS layer implementation, I've seen that you've basically removed the "we need to parse the clienthello first" logic, which I guess makes sense for a first PoC. That part can be quite essential though, in particular we need the ClientHello info to do ALPN with the server. Can we somehow make this ClientHello peeking/reassembly work for UDP?

You're right. I was having some issues getting it to work when parsing the client hello so that is why I put it off for the moment. I'll add this to the checklist so I can address this.

Per the discussion in #5414,  commits https://github.com/mitmproxy/mitmproxy/pull/5397/commits/9d0ae05888b123913baa253e8d7fee5e77b00a9f and https://github.com/mitmproxy/mitmproxy/pull/5397/commits/ebd2fe082ad9be8e369224987963e0b16e08a79a contain a rough wip idea for the RelayLayer, TCPLayer and UDPLayer. I'll have some bandwidth on Thursday and the weekend so I'll address feedback then and improve the code.

configuring ssl context for cookie verification

I'm starting to think that this feature may not be needed as it would just involve the proxy and server so we don't need to involve the client. Plus, I'm not sure pyOpenSSL supports it atm.

Do we want to add support for this feature for reverse proxies at the moment?

If I understand things correctly this only concerns DoS by clients? I'd be fine with ignoring that. Realistically speaking, it will always be easy to overwhelm a mitmproxy instance with requests. We don't intend to compete with nginx.

Thanks, I'll ignore that feature. Yeah, AFAIK it only concerns DoS by clients.

This is ready for another round of review. I will fix the remaining coverage failures this weekend.

@mhils I fixed the conflicts. The windows build is failing on the command mitmweb --version with ValueError: Fernet key must be 32 url-safe base64-encoded bytes. I'm not sure what that is or if it's a known issue?

@kckeiks: Thanks! The Windows build error is on me, I'll handle it. :)

Awesome! cake Thank you very much for contribution this feature, it's a fantastic addition to mitmproxy. smiley

My pleasure!
I was just in the process of pushing the recompiled (with 0.10) ksy file to this branch but I was too slow :laughing:. Would you like a separate PR for it?