go.mod: Update to protobuf v1.3.2

To address CVE-2021-3121
(https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3121)
Signed-off-by: Adrian Moreno<EMAIL_ADDRESS>

@lebauce please confirm there are no more hidden "go get"

Repository is altered after build:
diff --git a/flow/flow.pb.go b/flow/flow.pb.go
index 2b3591ab..f3687e4f 100644
--- a/flow/flow.pb.go
+++ b/flow/flow.pb.go
@@ -3043,10 +3043,7 @@ func (m *FlowLayer) Unmarshal(dAtA []byte) error {
 			if err != nil {
 				return err
 			}
-			if skippy < 0 {
-				return ErrInvalidLengthFlow
-			}
-			if (iNdEx + skippy) < 0 {
+			if (skippy < 0) || (iNdEx+skippy) < 0 {
 				return ErrInvalidLengthFlow
 			}
 			if (iNdEx + skippy) > l {
...

Do I have to regenerate the .pb.go files and commit them?

@amorenoz all "go get" related to protoc are in the  .mk folder. Yes you have to commit the generated files

Thanks for helping @lebauce. I've been unable to build skydive with the new protobuf:
$ make
go mod download
go get<EMAIL_ADDRESS>
go: found github.com/gogo/protobuf/protoc-gen-gogofaster in github.com/gogo/protobuf v1.3.2
go get<EMAIL_ADDRESS>
go: found github.com/golang/protobuf/protoc-gen-go in github.com/golang/protobuf v1.3.2
protoc -I. -Iflow/layers<EMAIL_ADDRESS>--plugin=${GOPATH}/bin/protoc-gen-gogofaster --gogofaster_out $GOPATH/src flow/flow.proto
# always export flow.ParentUUID as we need to store this information to know
# if it's a Outer or Inner packet.
sed -e 's/ParentUUID\(.*\),omitempty\(.*\)/ParentUUID\1\2/' \
        -e 's/Protocol\(.*\),omitempty\(.*\)/Protocol\1\2/' \
        -e 's/ICMPType\(.*\),omitempty\(.*\)/ICMPType\1\2/' \
        -e 's/int64\(.*\),omitempty\(.*\)/int64\1\2/' \
        -i flow/flow.pb.go
sed: can't read flow/flow.pb.go: No such file or directory
make: *** [.mk/proto.mk:16: flow/flow.pb.go] Error 2

run skydive-k8s-tests

@amorenoz No problem, thanks for the patch. It seems the protoc command did not generate the flow.pb.go file. What version of Go and protoc are you using ?


Horsepools GLS

There is an entry for Horsepools in the Gazetteer. This needs to be amended to Horsepools House.
The Genuki reference is just a map. The Historic England reference is https://historicengland.org.uk/listing/the-list/list-entry/1340506
Geoff

Done


Terraria template is showing wrong endpoint port

The new method for ports (Terraria Updates #326) used in the template make that the endpoint port and the one used for the button "connect to server" shows a different port than the one the server is using.

The endpoint URI is sort of irrelevant since the server doesn't have a steam query port and that's what the steam browser would use for connecting. The URI can probably be deleted from the template (it's the default that AMP puts in)

Yes, it's just a minor visual bug since it's not really using the port it's showing, and it's not preventing connection to it.
I just think it could also be happening to other template using the "new method", and the only way to check on the real port it's using is clicking on "edit ports".
Here are screenshots showing what's happening :

Both test1 and test2 are using different ports, but they still show that they are using 27015 unless you go to edit ports.

Whether it happens on other templates depends how they are set up

This is not the place for bug reporting


IPSLA

Would be interested in contributing, but i have no idea where to start. If any one wants to be give me some pointers that would be awesome.
If the below could be done that would be fantastic. Work regularly with upwards of 20 of these per router and having them highlighted would be very handy.
Which Syntax?:
IOS Classic
Expected behavior and actual behavior:
Expected to be highlighed
Actually not being highlighted
Steps to reproduce the problem:
Type in the commands in the example
New Feature Description:
Highlighted in the same fashion as the
Example Syntax
ip sla 1
icmp-echo <IP_ADDRESS> source-interface Tunnel710
tos 184
vrf agr_usi_vpn
threshold 2000
frequency 5
ip sla schedule 1 life forever start-time now
Link to command reference

Oh forgot a link
https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipsla/configuration/15-mt/sla-15-mt-book.html

Hi heyglen
Thank you for working on this. My apologies for not being more specific. Looks like you have gotten the majority of what i was looking for non the less.
3 additional things from seeing it implemented;
timeout - not highlighted
highlighting the tag  appears to not highlight the full length of the name.
udp jitter

udp-jitter detailed - also includes timeout
https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipsla/configuration/15-mt/sla-15-mt-book/sla_udp_jitter.html
Thank you very much in advance
mikk674

Added UDP Jitter & Timeout in 2.37.0.
This Command Reference claims the tag name should be 0-16 characters, can you double check?


Separate outline from MDC Text Field

Notched Outline
The outline is a border around all sides of either a text field or select component. This is used for the Outlined variant of either a Text Field or Select.
spec reference: https://github.com/material-components/material-components-web/tree/master/packages/mdc-notched-outline

Closed. https://github.com/trimox/angular-mdc-web/pull/806


Fix docs for CodeQL query suites

Why: Current docs isn't aligned with MS Learn nor with query suites available in CodeQL CLI.

Closes:

What's being changed (if available, include any code snippets, screenshots, or gifs):

Check off the following:

[ ] I have reviewed my changes in staging, available via the View deployment link in this PR's timeline.

For content changes, you will also see an automatically generated comment with links directly to pages you've modified. The comment won't appear if your PR only edits files in the data directory.

[ ] For content changes, I have completed the self-review checklist.

The 4 built-in query suites are also visibile in this Azure DevOps task.

@garysassano Thanks so much for opening a PR! I'll get this triaged for review ✨

Hi @garysassano - thanks for your contribution! I'm going to double-check with the relevant team and get back to you on this. From looking at this briefly, I think the CodeQL query suites article is focused on the query suites available to choose for code scanning default setup in GitHub (only those two options are available) rather than the query suites available in the CodeQL CLI.  If so, this article may need to be updated to clarify that. I do agree that the reusable you updated should contain the full list of query suites available. But I'll get back to you once confirmed! 👍

This is also very confusing to me as I'm studying for the GitHub Advanced Security exam and one of the items in the study guide is
Describe the default CodeQL query suites
And MSLearn, GitHub Docs and CodeQL CLI have three different/confusing information about this

👋 Thanks so much again for bringing this up @garysassano, and thanks also to @FidelusAleksander for your perspective as well! 💛
We've looked into this further, and the availability of query suites in different scenarios is a bit more complex and will require some wider changes in the docs to clarify. We think this would be best addressed internally, so I have opened an internal issue and noted the details brought up in this PR, and will close this PR out. 🙇♀


[Nominal LCF] associativity is wrong

Here's a dilemma:

We want tactic sequencing to associate to the left: so, t1; t2; t3 should be THEN(THEN(t1;t2); t3).
We want name scoping to associate to the right; so, in a <- t1; b <- t2; c <- t3, the name a should be in scope for the rest of the script.

I think I'm going to solve this by treating tactics like a machine so that I can propagate names in the right direction.


Generate documentation

The source code has some pretty solid documentation. We should consider leveraging that for some better, generated documentation with JSDoc or something of the sorts.

Agreed 💯


feat(publish.go): update invocation image per bundle tag on publish

What does this change

Updates porter publish logic such that the invocation image name is updated when a bundle tag value (via --tag) is provided.  The updated image name inherits the registry and docker tag from the provided bundle tag value.
A bit of refactoring was introduced to consolidate this image naming logic for use by multiple areas (in this case, publish as well as setting defaults on the manifest)

What issue does it fix
Closes https://github.com/deislabs/porter/issues/1123
Notes for the reviewer
Put any questions or notes for the reviewer here.
Checklist

[x] Unit Tests
[ ] Documentation
[ ] Schema (porter.yaml)

If this is your first pull request, please add your name to the bottom of our Contributors list. Thank you for making Porter better! 🙇♀

Originally we let people set the invocation image, but now I don't think it makes sense anymore. What would you think about keeping all of our logic, but removing the field from the yaml for invocation image so that people can't override it anymore. Essentially it would only be defaulted going forward into v1.0?

Originally we let people set the invocation image, but now I don't think it makes sense anymore.

I like this a lot.  We'd definitely be able to remove a good chunk of code if we remove the option to set the invocation image name from the manifest.  What do you think about filing an issue for a follow-up after this is merged?  Or would we rather knock it out in this PR?

Definitely, let's do it in a follow-up issue+PR. I think what you have here is very close. Then we can go in to remove the edge cases around overrides of the invocation image separately.

Great!  Issue here: https://github.com/deislabs/porter/issues/1132
Commit addressing other item of feedback here: https://github.com/deislabs/porter/pull/1127/commits/02b6b46c0a449ed7cc849868de2e60b54f57d18e


Remove dependency on Apache's Commons-Lang

Postman includes the "heavy" commons-lang library, yet uses it only in one specific place. This PR removes this dependency by providing a lighter implementation of Apache's StringUtils.capitalize() method, which should suffice for the use case at hand.
This fixes #12.
This is a re-submit of #13 with fixes applied to both my remote branch name and the commit messages.

Hmm, I think you merged your old branch, so now you have two duplicate commits and an empty merge commit. Try this

Create a new branch off of master (git checkout -b remove-commons-lang master)
Do a squashed merge of issue12 into the new branch (git merge --squash issue12)
Commit and change the commit message to "fixes #12: Remove dependency on Apache's Commons-Lang"
Create a new pull request from remove-commons-lang

That pull request should have a single commit in it.

Got it now, new PR incoming. Sorry for the inconvenience!


Long loading time

My analytics site has incredibly long loading time (over 40 seconds)!
https://www.apianalytics.dev/dashboard/fb1f330ea13b4f4c91a8de83895e56e3
That's the analytics for this website: https://markdown-videos-api.jorgenkh.no/
The source code is available here in case you wanna look at it as a part of the debugging: https://github.com/Snailedlt/Markdown-Videos
Here's the console log before the loading is done:

And after the loading is done (the same error continues below the screenshot:

Here's the file it's pointing at:

Seems like this is an error, but perhaps adding some form of caching could also speed things up?

Thanks for raising this. It really is a problem and it's definitely an issue on the server side, I'm looking into ways to speed up query lookup times.
It looks like those client errors are due to a separate Flagmoji chrome extension. It's failing to convert the location flag emojis on the dashboard into true flag emojis for Windows. I'm not sure why that would be, but it wouldn't be affecting load performance.

Now it doesn't work at all anymore :/
https://www.apianalytics.dev/dashboard/fb1f330ea13b4f4c91a8de83895e56e3
It loads for a good few minutes before it just stops and displays a "server error"

Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist.
fb1f330ea13b4f4c91a8de83895e56e3:1 Access to fetch at 'https://www.apianalytics-server.com/api/requests/fb1f330e-a13b-4f4c-91a8-de83895e56e3' from origin 'https://www.apianalytics.dev' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
www.apianalytics-server.com/api/requests/fb1f330e-a13b-4f4c-91a8-de83895e56e3:1
  Failed to load resource: net::ERR_FAILED

Dashboard.svelte:199 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'requests')
at Dashboard.svelte:199:26

The server is only small and running out of memory on your request. If you try again in a few minutes and wait until it loads, avoid clicking refresh. Does it eventually get through?

Nope, it still doesn't go through due to a server error

I'll update the frontend to stop this from happening, but it will be a few days from now. Thanks for letting me know

Great, thanks tom :)

Should be working much better now, the data will load in chunks. It may take a while for all requests to be pulled into the dashboard. I'll continue to work on improving load times.

Nice!
Now it works!
Takes about 1min to load, but at least it works now! :D
Related to loading though I have another improvement suggestion.
Take a look at this screenshot:

Notice how you can't see what it's loading in. It would be great if the title was showing even though the data is not there yet. This way we can know before the data is loaded if it's a data point we're interested in or not. No use waiting if it's not interesting to us, right? :)
This could also be done for the entire website instead of having the whole website be a big loading icon, make each metric load on their own, and show which stats can be shown before they are shown.

@Snailedlt Thanks, that's a good suggestion. The loading is essentially just waiting for another chunk of logged requests to be fetched from the server. It isn't loading anything in particular like certain metrics or processing a particular set of data, that all happens pretty fast. So there isn't really a 'title' that could be displayed as such that would explain to the user what is currently being loaded, it's just waiting for another chunk of requests. It loads requests from most recent to the least recent, so after a while the additional requests may not be relevant for the timescale you are currently looking at (e.g. the last month), so I could hide the loading icon at that point to inform the user that the current page (i.e. currently selected timescale) they are looking at is now 'complete'. If the user selects a larger time period straight afterwards, the loading icon would reappear again. Does that sound like it would be useful, or do you have any other ideas?

Do the titles need to be dynamic? If they don't, I don't see any reason why there should be a loading icon preventing those titles from loading in before the data itself is available. When I say titles I mean these:

They shouldn't need any data in order to be displayed, right?
If they for some reason do need to be dynamic, or you're limited by the libraries you're using. Perhaps you could hardcode a skeleton interface with titles while it's loading?
Sidenote:
If I change the timescale it looks really weird, and also there's no on-click feedback, so for a few seconds it looks like the website or browser froze, since it's impossible to see if the button was clicked or not :)

I see what you mean! I agree, I've always thought skeletons would be much cleaner. There's no reason why the majority of the dashboard cannot be rendered with titles before the initial data load. I'll try and get that included soon.
I'll also include some kind of feedback response when clicking on a timescale button. Thanks for these suggestions, if you have any more, let me know!

Awesome! I'll probably have more suggestions down the line, but for now I'm very satisfied with the app except for the things I mentioned already 😄

Actually.
Do you have any idea why the data before July-ish this year is not showing for my api? It has been using fastapi analytics since July last year. So there's about 1 year of data missing from the graphs.

There's a limit to how many requests we can store and process per user while still able to keep the service free. I've had to find a balance between decent server infra while avoiding charging users. I'm working on some efficiency improvements that means we can handle more data per user. A self-hosting solution for the backend should be ready within the next 2 weeks, if you wish you take over the processing and storage. In future, I should be able to offer a paid tier that can handle far more data.

That makes sense. A paid tier would be great, as well as being great for your motivation ;)
Perhaps a self-hosting alternative would be good too? :)

@tom-draper any updates on this issue? Seems like it still persists


json schema codegen

I suggest adding --json-schema-out to the codegen. What do you guys think?

This is a neat idea! One challenge, however, is that JSON Schema isn't really a programming language. Which means that most of the infrastructure within jtd-codegen won't work for JSON Schema.
For your use-case, would it be acceptable if there were some separate jtd-to-json-schema tool with this functionality? Do you need or strongly prefer this functionality to exist within jtd-codegen?

Just for triage purposes, I'm closing this ticket. Please feel free to re-open this ticket if you'd like to discuss this further.


Add dismissing dialog when cloning a custom button - [merged]

Merges 40-dismiss-dialog -> main
Closes #40

OOOPS

In GitLab by @albu-razvan on May 14, 2024, 17:03
Commented on terminal/terminal.ino line 21
Comment this back in a commit. We do not want the debugging logs to be present in a release build!

requested review from @albu-razvan

changed this line in version 2 of the diff

added 1 commit
74392b72 - #40 Disable debugging
Compare with previous version

added 1 commit
5f41dd00 - 40 Disable debugging
Compare with previous version

resolved all threads

In GitLab by @albu-razvan on May 14, 2024, 17:06
Commented on app/src/main/java/se/gu/wiomote/network/mqtt/WioMQTTClient.java line 83
What happens if the connection to the MQTT broker is lost? Won't new listeners for the same topic be added again, generating multiple calls?

In GitLab by @albu-razvan on May 14, 2024, 17:06
Commented on app/src/main/java/se/gu/wiomote/application/activities/remote/RemoteRecyclerAdapter.java line 49
Could use a constant for EMIT and CLONE.

requested review from @albu-razvan

Here the callback for receiving messages on the topic TERMINAL_MODE_TOPIC is set. The callback notifies all listeners by calling a method corresponding to current mode. However, listeners are added incorrectly and the irrelevant ones are never removed. Will address soon.

added 1 commit
7f7bcc0a - #40 Move listener attachement to avoid spamming unused listeners
Compare with previous version

In GitLab by @albu-razvan on May 14, 2024, 17:06
Please review the raised issues.

Please re-re-review :))

Addressed in 7f7bcc0a.

changed this line in version 5 of the diff

Please re-review :)

added 1 commit
3b546441 - #40 Use constants for mode names
Compare with previous version

In GitLab by @albu-razvan on May 14, 2024, 18:15
Please address the listener issue.

added 1 commit
b5a6e519 - #40 Add removing listeners when Remote activity is destroyed
Compare with previous version

In GitLab by @albu-razvan on May 14, 2024, 18:15
Commented on app/src/main/java/se/gu/wiomote/network/mqtt/WioMQTTClient.java line 83
Not fixed. If the user recreates Remote activity, a new set of listeners will be added. Example scenario: While Remote activity is in foreground, the app loses connection to the MQTT broker and the user goes to Settings to reconnect the terminal. Doing so, will call finish() on Remote activity and upon a successful connection, it will be recreated, resulting in 2 listeners being called at the same time. To fix this, remove the listener when onDestroy() is called.

In GitLab by @albu-razvan on May 14, 2024, 18:37
resolved all threads

In GitLab by @albu-razvan on May 14, 2024, 18:37
mentioned in commit 34a1e53bbfbdecbb94613d02c166ba2807cf3cae

In GitLab by @albu-razvan on May 14, 2024, 18:37
approved this merge request

In GitLab by @albu-razvan on May 14, 2024, 18:36
Commented on app/src/main/java/se/gu/wiomote/application/activities/remote/Remote.java line 199
Not ideal since if another activity is created and registers a listener, removeTerminalModeListeners() would also clear them, however in this context it is okay since it is used in only one class.


[istio] Istio Plugin

Is your feature request related to a problem? Please describe.
Currently we can view the Istio metrics in kobs via the Prometheus or Kiali plugin. It would be nice to have another view where we can see the success rate, request per seconds and the latency for each application in a table view. This table can be filtered by namespace and when an application is selected, we got the details for this application.
Describe the solution you'd like
Similar to the other plugins a new Istio plugin can be created. Each instance of the plugin can then be configured with the name of a Prometheus instance from which we retrieve the relevant information. It is also possible to add a logging plugin (ClickHouse or Elasticsearch) to also see the access logs from Istio and a Jaeger instance.
With this configuration we can directly call the Prometheus, ClickHouse or Jaeger plugin from the frontend or we can pass the configured instances to the Istio configuration on the backend side and proxy the requests there.
The frontend of the plugin is a simple table with the following columns: Application, Success Rate (SR), Requests per Second (RPS), P50 Latency, P95 Latency, P99 Latency. This table can be filtered by a list of namespaces. When a row from the table is selected the user will be redirected to the corresponding details page, where he can see the same metrics for each Pod of the application.
Besides that it would also be good to have the Kiali graph for the selected application, where we can see the mentioned metrics for all the inbound and outbound requests from/to other services.
In further steps we can also show the access logs for the application and the traces on this page or add them as links for the corresponding plugins.
Describe alternatives you've considered
We can build something similar via Dashboards, but there we are limited in the options. For that an additional plugin for Istio would be really useful.
Additional context
The Linkerd dashboard is very good and sth. similar would be awsome: https://linkerd.io/2.10/features/dashboard/

PRs:

#177: Add Istio plugin and provide a list of all applications which are part of the service mesh and show the success rate, requests per second, P50, P90 and P99 latency.
TODO: Add option to access and tail Istio access logs and provide some useful aggregation based on the request method, path, source, ....
TODO: Add panels for the Istio plugin, so that it can be used within a dashboard. Also adjust the documentation and demo to show how the plugin can be used.


AMD Steamroller is not correctly detected

Public release fail runtime detection and uses Prescott kernels. Overriding via the enviroment var works. Compiling current git fails with
Makefile:123: *** OpenBLAS: Detecting CPU failed. Please set TARGET explicitly, e.g. make TARGET=your_cpu_target. Please read README for the detail..  Stop.
processor       : 3
vendor_id       : AuthenticAMD
cpu family      : 21
model           : 56
model name      : AMD A10-7860K Radeon R7, 12 Compute Cores 4C+8G
stepping        : 1
microcode       : 0x6003106
cpu MHz         : 1400.000
cache size      : 2048 KB
physical id     : 0
siblings        : 4
core id         : 3
cpu cores       : 2
apicid          : 19
initial apicid  : 3
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb bpext ptsc cpb hw_pstate vmmcall fsgsbase bmi1 xsaveopt arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold overflow_recov
bugs            : fxsave_leak sysret_ss_attrs null_seg
bogomips        : 7186.56
TLB size        : 1536 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb eff_freq_ro [13]

Somewhat related to #945 which also still needs the cpuid detection fix but to me AMDs naming scheme seems even more confusing than Intel's.

Thanks for the patch. I wonder if there would be any drawback to making cpuid_x86.c write the (extended) family and model numbers of an unknown cpu to stderr so that running "getarch 1"  would provide a quick way of obtaining them in the form required for the switch cascade in get_cpuname()...
It also seems to me that Carrizo (family 15h model 60h) should be supported since 0.2.15 so perhaps #945 should be closed as well (assuming that user was trying to build an even older version back then).


Too many emotes overwriting real words

I'm not a big emote user but I thought most programs have it set so that emoticons need a to be surrounded by colons to be replaced. However, with better discord it seems anything someone might be normally saying like "double" or "may1" gets replaced by the emote. Can you please fix this to require proper syntax for the emotes.

If this does get fixed, can you leave its current setting as an option? Me and my friends find this hilarious and it's a staple in our chat.

If you find emotes that use common words you can submit a pull request to the blacklist located here: https://github.com/Jiiks/BetterDiscordApp/blob/master/data/emotefilter.json


Cannot set correct value on input field of type number

When not running headless, setting a value in an input field of type "number" does not work as expected. The value being entered gets a character cut off, for example if the value is 2000, the field gets the value 200.

<input class="ng-pristine ng-invalid ng-invalid-required ng-valid-number ng-valid-min" id="transfer_in_amount" min="100" name="transfer_in[amount]" ng-disabled="formstatus" ng-model="transfer.amount" placeholder="£100 minimum" proxyvalidity="" required="required" type="number">

Setting the value like this:
browser.text_field(id: 'transfer_in_amount').set(amount)

However, if I set the amount twice, it sets the correct value the second time.
2.times { browser.text_field(id: 'transfer_in_amount').set(amount) }

Using Firefox 41.0.2 and watir-webdriver 0.9.1.
Related to #272

Firstly, please verify your version of selenium-webdriver gem.
Secondly, Selenium no longer supports Firefox 41 (currently 43, 42, 38 & 31)
Regardless, this is more likely to be a driver bug than a Watir bug. To verify, please run your test while adding $DEBUG = true before the offending line.
post what it puts to stdout so we can see exactly what is getting sent to the driver.

Using selenium-webdriver 2.48.1.
Upgrading to Firefox 43.0.4 made the issue disappear, thanks!


Save the app state ?

Hi Oblomov-Dev,
I would like your feedback on 2 ideas before starting anything:

Can I save the save of the app and reload it later? It seems like it is already been done with the draft table.
Further, could I have an app (a game) with multiple concurrent users? I realize HTTP is not be the protocol of choice.

best regards,
Jacques Nomssi Nzali

Hi nomssi,
yes i played around with these drafts a lot. It is fast getting complicated but it is also a lot of fun!
(1) you can reload every draft, just save the id of your actual app [ client->get()-id ] in a additional db table and load it later with
data(app) = client->get_app( my_id ).
client->nav_app_leave( app ).

added the demo repository with an example: z2ui5_cl_app_demo_62

(2) you can also restart apps several times and navigate the caller to the same draft, that they are in a way working in the "same" app
check out the exapmple:  z2ui5_cl_app_demo_63
(coding not cleaned up but good for the start to see the idea)

you have to press the button refresh all the time (amc/apc or event mesh could replace this)

with some creativity there are a lot of other possibilities now, for example sending the app state between different systems and so on and so on 😉
have fun and let me know if you run into problems.

i close this one, just reopen it if you further questions. later in the year i plan to do more examples with this approach.


skew + OutlineFilter not work if pivot set to 0 ?!

if we leave pivot to 0 and add skew  + OutlineFilter the Sprite disappear !
will work only if assign a pivot ? ex: pivot.x = 0.01
it's very embarrassing as a bug, especially in my context where my element disappears when I select them.
Any idea ?
my current version

pixi.js - v4.7.0
pixi-filters - v2.5.1
thank

try 4.7.1

@ivanpopelyshev
Am sorry it not seem to fix!
i made you a fast 1 min video to show you the bug.
When mouse hover , the sprite get the filter OutlineFilter.
When pivot assigned, and i use skew, it work fine.
But if i remove pivot , the obj sprite disappear literally when mouse hover, and i get also after a strange black screen from the filter ColorMatrixFilter.desaturate for the map!
https://youtu.be/Dj2xPgIVO28
I do not know if the video will help visualize the problem.

I guess I'm the only one, I'll try to investigate on my side.

are you sure pivot is (0,0) if you dont set it? please make a fiddle if you can , I want to squash that bug

@ok am making a jsfiddle for reproduce the bug.
Can you just tell me what the CDN for pixi OutlineFilter  ?

i don't know how load filter https://jsfiddle.net/jonforum/L4mg1kht/13/
i get error !

@ivanpopelyshev ho i find it.
iT so stupide, i add line for draw the distance pivot in children of sprite.
And pixi don't like line with 0,0 distance!
line.moveTo(0,0).lineTo(sprite.pivot.x, sprite.pivot.y).endFill();
Strangely pixi does not return an error!, but it gives INFINY to the bound when a filter is added.
I fix it for now with a minimum
line.moveTo(0,0).lineTo(sprite.pivot.x||0.1, sprite.pivot.y).endFill();
sprite.addChild(line,text);


⚠ SSH 🇫🇷 France FRO 2 has degraded performance

In 6f46d90, SSH 🇫🇷 France FRO 2 (http://frs-2.opensvr.net:8080/) experienced degraded performance:

HTTP code: 400
Response time: 10431 ms

Resolved: SSH 🇫🇷 France FRO 2 performance has improved in 2e70d23.


unable execute collectd due to FATAL:psql error

Hi Darold,
Need you help, I'm unable execute collectd due to FATAL:psql error
pgcluu_collectd  -i 10 /tmp/stat_db1/ -d tpch
*** pgcluu_collectd v2.3 (pid:5527) started at Thu Apr  2 14:11:23 2015
Type Ctrl+c to quit.
FATAL: psql error.
Checked all the queries from script which could lead to above error:
postgres=# SELECT version();
version
PostgreSQL 9.3.4 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-52), 64-bit
(1 row)
postgres=# SELECT extname||'-'||extversion FROM pg_extension;
?column?
plpgsql-1.0
(1 row)
postgres=# SELECT datname FROM pg_database WHERE NOT datistemplate AND datallowconn;
datname
postgres
rodb
cidb
tedb
ratdb
gerandb
trandb
acdb
(8 rows)
postgres=# SELECT nspname FROM pg_namespace WHERE nspname !~ '^pg_' AND nspname <> 'information_schema' ORDER BY 1;
nspname
public
(1 row)
postgres=# SELECT proname FROM pg_proc WHERE proname = 'pg_buffercache_pages';
proname
(0 rows)
postgres=# SELECT n.nspname||'.'||p.proname FROM pg_proc p, pg_namespace n WHERE p.proname='pg_stat_statements' AND p.pronamespace=n.oid;
?column?
(0 rows)
postgres=# SELECT n.nspname||'.'||p.proname FROM pg_proc p, pg_namespace n WHERE p.pronamespace=n.oid AND n.nspname NOT IN ('pg_catalog', 'information_schema');
?column?
(0 rows)
postgres=# SELECT count(tgname) FROM pg_trigger WHERE NOT tgisinternal;
count
 0

(1 row)
postgres=# SELECT setting FROM pg_settings WHERE name IN ('config_file','hba_file','ident_file','data_directory') ORDER BY name;
setting
/opt/ood/db/data/postgresql.conf
/opt/ood/db/data
/opt/ood/db/data/pg_hba.conf
/opt/ood/db/data/pg_ident.conf
(4 rows)

Hi,
Please download latest code from github and post here the error message returned, there has been a patch to make this error message more verbose. We will be able to see what error psql is facing.
This error is related to the execution of the psql command, perhaps it is not in the path or the user running pgcluu_collected doesn't have the right to connect to PG, or some other psql connection reason.
Regards,

Noticed that psql path is not picked up by pgcluu_collectd script and I downloaded latest code(master.zip) to be sure, then manually updated the path.

my $PSQL_PROG   = '/opt/oodee/pgsql/bin/psql';

Couldn't complete run as root or postgres user, due to prompt of password:
pgcluu_collectd  -i 10 /tmp/stat_db1/ -U postgres
*** pgcluu_collectd v2.3 (pid:11695) started at Thu Apr  2 15:14:43 2015
Type Ctrl+c to quit.
Password for user postgres:
Password for user postgres:
Password for user postgres:
Password for user postgres:
Postgres user:
$ pgcluu_collectd  -i 10 /home/postgres/ -U postgres
*** pgcluu_collectd v2.3 (pid:11598) started at Thu Apr  2 15:13:26 2015
Type Ctrl+c to quit.
Password for user postgres:
Password for user postgres:
Password for user postgres:
Password for user postgres:
*** pgcluu_collectd v2.3 (pid:11238) started at Thu Apr  2 15:09:33 2015
Type Ctrl+c to quit.
Password:
FATAL: psql error. psql.bin: FATAL:  password authentication failed for user "root"

Thanks Darold for this exceptional tool.
updated DBUSER and DBPASS with postgres, then the script works just fine.


Add auto_insert_empty_system_msg config flag

Currently there is functionality to automatically insert an empty system message if system occur in the Jinja template.
https://github.com/huggingface/alignment-handbook/blob/87cc800498b17432cfb7f5acb5e9a79f15c867fc/src/alignment/data.py#L27-L38
This is not  foolproof method: GEMMA (SFT) for instance has an explicit part in its chat template that says that if the role is "system" that an error must be raised. So this leads to a conflict with the alignment handbook. Therefore I suggest giving all control to the user but doing so in a backwards-compatible manner: by adding a flag that, if True, adds the system message with the same behavior as before, and when False no system message will be added. To this end, auto_insert_empty_system_msg is added as a DataArguments argument (defaulting to True).
Note that there is one small breaking change: the maybe_insert_system_message is currently implemented only for sft, generation and rm, but it was not used for dpo. There, a system message was ALWAYS added if the first message was not system, even if the Jinja template did not mention system. I changed that to be in line with the other tasks so the default behavior will be a litttle bit different when a tokenizer's chat template does not contain 'system' in DPO.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

A small bug solution, if you encounter AttributeError: 'DataArguments' object has no attribute 'auto_insert_empty_system_msg'
when running dpo , you can commit line 99 in run_dpo.py do disable this flag
#"auto_insert_empty_system_msg": data_args.auto_insert_empty_system_msg,

A small bug solution, if you encounter AttributeError: 'DataArguments' object has no attribute 'auto_insert_empty_system_msg' when running dpo , you can commit line 99 in run_dpo.py to disable this flag #"auto_insert_empty_system_msg": data_args.auto_insert_empty_system_msg,

If you get the attribute error you'll likely just need to update the repo to the newer version.


Add Plausible Analytics docs to showcase page

Motivation
One of the Docusaurus maintainers mentioned the showcase on Twitter so wanted to add Plausible to the list as we're using Docusaurus v2 for our docs
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Run yarn run start:v2 and check that the page http://localhost:3000/showcase is rendered properly.
Related PRs
None

thanks 👍

thank you @slorber!

@metmarkosaric Such a shame that you seem to use docusaurus for the Plausible documentation, but there is no official support for plausible in docusaurus.
I guess you must be using it already, did you create a custom docusaurus plugin?

@svrooij! Hey! We have instructions here https://plausible.io/docs/docusaurus-integration

@metmarkosaric I could not find it in the documentation, so I opened the source of your own docs and found this code, which helped 🎉


DOI by March 20

doi:10.15485/1960313

This DOI will not function until the data package has been published on ESS-DIVE. The package is currently on Hold. When you’re ready for publication and would like our team to review, reply to this email chain or send an email to<EMAIL_ADDRESS>and we’ll start the review process.


Use SafeConstructor() instead of Constructor()

@ryanbogan @saratvemulapalli Can you verify if this okay? For reference, a similar change was made here: https://github.com/opensearch-project/security-analytics/pull/198
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@andrross There is a test in ExtensionsManagerTests.java called testDiscover() that tests reading in from extensions.yml.  As long as that test passes, the change should be fine.


chore(deps): update uportal to v5.7.0

This PR contains the following updates:

Package
Update
Change

org.jasig.portal:uPortal-groups-filesystem (source)
minor
5.6.0 -> 5.7.0

org.jasig.portal:uPortal-groups-grouper (source)
minor
5.6.0 -> 5.7.0

org.jasig.portal:uPortal-groups-ldap (source)
minor
5.6.0 -> 5.7.0

org.jasig.portal:uPortal-groups-local (source)
minor
5.6.0 -> 5.7.0

org.jasig.portal:uPortal-groups-smartldap (source)
minor
5.6.0 -> 5.7.0

org.jasig.portal:uPortal-hibernate3-dialects (source)
minor
5.6.0 -> 5.7.0

org.jasig.portal:uPortal-hibernate4-dialects (source)
minor
5.6.0 -> 5.7.0

org.jasig.portal:uPortal-portlets (source)
minor
5.6.0 -> 5.7.0

org.jasig.portal:uPortal-security-authn (source)
minor
5.6.0 -> 5.7.0

org.jasig.portal:uPortal-security-xslt (source)
minor
5.6.0 -> 5.7.0

org.jasig.portal:uPortal-soffit-connector (source)
minor
5.6.0 -> 5.7.0

org.jasig.portal:uPortal-utils-jmx (source)
minor
5.6.0 -> 5.7.0

org.jasig.portal:uPortal-webapp (source)
minor
5.6.0 -> 5.7.0

Release Notes

Jasig/uPortal
v5.7.0
Compare Source
This is a new minor release of uPortal. It includes several enhancements around Soffit / OIDC JWTs (JavaScript Web Tokens), and login/authentication hooks.
List of Changes
Features

Add option to turn off JWT encryption ( #1759 )
Add support to overwrite properties based on a UP_CLUSTER system var ( #1763 )
Add a warning to the logs when an attempt to use local login occurs ( #1761 )
Add hooks into LoginController.java and Authentication.java ( #1762 )
Allow property to configure JWT Signature Algorithm ( #1755 )
Use Trusty for Oracle Java 8 ( #1750 )

Fixes

Unescape portlet and tab names in sitemap ( #1767 )
Fix typo that breaks layout imports for Oracle > 12 ( #1765 )
Rolling back the change to make the parameter maps read-only ( #1752 )
Turn off escaping XML on action url to fix & breaking URL ( #1751 )

Documentation Changes

Add Chris Beach as a committer ( #1769 )

Chores

Update dependency JJWT to v0.10.6 -- new Maven coordinates ( #1754 )
Update numerous dependencies ( #1711, #1712, #1714, #1715, #1716, #1717, #1718, #1720, #1721, #1722, #1734, #1735, #1736, #1737, #1738, #1740, #1741, #1748, #1749, #1753, #1756, #1757, #1758, #1768, #1770, #1771 , #1772, #1773  )

v5.6.1
Compare Source
This is a new patch release of uPortal 5.6.x line. It addressed a a race condition during build.
List of Changes
Features

None

Fixes

Fix a race condition with XmlUtilitiesImpl that has become a problem lately ( #1710 )

Documentation Changes

None

Chores

Increase allowed memory and heap
Update dependency gradle to v5 ( #1501 )
update dependency com.amazonaws:aws-java-sdk-s3 to v1.11.556 ( #1707 )

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR is stale, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about these updates again.

[ ] If you want to rebase/retry this PR, check this box

Available now for Enterprise: Renovate Pro with real-time webhook handling and priority job queue.

Renovate Ignore Notification
As this PR has been closed unmerged, Renovate will now ignore this update (5.7.0). You will still receive a PR once a newer version is released, so if you wish to permanently ignore this dependency, please add it to the ignoreDeps array of your renovate config.
If this PR was closed by mistake or you changed your mind, you can simply rename this PR and you will soon get a fresh replacement PR opened.


Feature: Favourite Page

Is your feature request related to a problem? Please describe.
Couldn't find the blog in which I have  added heart sign. So, a favourite page will be good for this feature.
Describe the solution you'd like
Want to add a page for favourites(added heart sign) blog to see user their favourite blogs later.
Screenshot

we already have bookmarks , we dont need a favourite page , it solves the same purpose


Change promises to use async/await syntax

Might be better to use async/await over promises in the API to enhance readability. This could be especially useful in the tests, where were are currently using chainPromises() to make the code easier to read. Do we think this could be useful?

Is this something we can actually do? I'd assumed the public API had to be promises, because an async/await API can't be consumed by regular JavaScript..?

Hmm yeah you could be right. We could still use this for tests though instead of chainPromises.


low vram model request

could you please make a model for low VRAM like flux gguf model that give us high quality image with less vram usage thank u

I found this comfyui_echomimic will fix Vram issue by load it on CPU its slow but beter than VRAM ERROR


How to implement image upload and thumbnail preview

We have to research how to properly upload images from the user.
Apparently the way to best store images is not to save them in the database but save a pointer (i.e. URL) in the database and store the image itself on a hoster. Since we're on the Azure platform, this article might prove useful.
The following points also need to be researched:

How to create a low-res thumbnail from the uploaded images
How to enforce a 5:3 aspect ratio (do we need to actually crop images and save the cropped images or is it maybe better to only crop via css with object-fit or other?)

The results should be documented as a comment here and a ticket should be created (unless it already exists).
Timeboxed: 1/2 Day

Image storage and Backend services
As stated in the description of the task, since the MP (Market Place) project already makes use of Azure to host the application, it would be most convenient to make use of the Azure Blob Storage feature, which is specifically designed to store documents, images and media files.
In order to do this an storage account has to be set in Azure, followed by creating a container with public access level set to Blob. After set up, there are several quickstarts, tutorials and examples that can be used to create the service to manage Blobs, connect to the storage container, upload/download. Since this will be independent of the main API, there is no reason why it must be done in java, nevertheless if chosen to implement in java the following guide can be used.
Along with a wide set of samples to do all operations that will be needed.
The processing of the uploaded images won't be necessary for the purpose of MP, if ever needed see section for creating the computer vision service
Frontend
From the frontend side  can be used ng2-file-upload, which provides functionality to perform the images upload and manage them with things like drag and drop area, list of uploads to be performed with option to cancel and such.

Otherwise it can be implemented without further libraries as for example shown in this tutorial
Also a tutorial for doing the same Vue3 image upload with drag and drop included in Vue3
In either case Styles will have to be implemented, or used from external libraries, in order to present the images to be uploaded and later same component to be used to display images in the detail view. There is a great amount of samples available to use, it's a matter of deciding how we want to present the images. A suggestion for the detail view, and adaptable to the creation view, would be to use a carousel showing the active image (without cycling) and flexible horizontal list of all the images in small thumbnails. See link for example with bootstrap

How to create a low-res thumbnail from the uploaded images

Can be achieved using one of the examples provided in the previous comment

How to enforce a 5:3 aspect ratio (do we need to actually crop images and save the cropped images or is it maybe better to only crop via css with object-fit or other?)

I don't think we need to crop images ourselves, object-fit with "cover" should do the trick, and the user can see how it will look in the thumbnails thought the application and there decide if use or not that image.
object-fit


The Swift UI custom payment flow sample does not run in Xcode 14

Attempting to run the custom-payment-flow/client/ios-swiftui sample in Xcode 14 throws two instances of the following error:
Stored properties cannot be marked potentially unavailable with '@available'

There's also the following warning:
'IndexDistance' is deprecated: All index distances are now of type Int

This should be fixed now, @justinmichael-stripe. Let us know if there's any other hang ups.


Avoid the env file baked into the image

Problem
The env file is baked into the image. It’s an arguable topic, but here’s my other opinion: such an approach is ok when a configuration file changes the app’s logic, and the config itself is changed rarely. For example PostgreSQL config file. But the feed aggregator’s config is just URLs, IDs, credentials, and other dynamic data, which do not change app logic, and are changed pretty often. With the current approach, we have to build a new image on every change in configuration, which complicates the delivery workflow.

Thanks, @ABGEO! Currently, I'm using viper. I mean that the ENV vars should be changed during the runtime and this ganna be happened completely randomly by the admin tool or maybe from any of the cloud provider's secret management tools. This depends on the decision we'll make and develop. Personally, I'd prefer a cloud-agnostic approach which should be the admin UI developed by me or probably someone from the community. I'd love to go with a highly flexible solution while preferring to minimize third-party dependencies.

@dsha256 you can use viper's  AutomaticEnv() method and pass the values via ENV variables on runtime. e.g for docker it would be:
version: "3"
services:
  app:
    image: dsha256/plfa
    environment:
        PRAGMATIC_FEED_WS_URL: "The vendor WS URL"
        CASINO_ID: "Casino's ID"
        TABLE_IDS: "Comma-seperated tables IDs"
        CURRENCY_IDS: "Comma-seperated Currency IDs"
        REDIS_PORT: "Port to run and connect to Redis DB"
        SERVER_PORT: "Port to run the HTTP server on"
        PUSHER_CHANNEL_ID: "Pusher.com's channel ID"
        PUSHER_PERIOD_MINUTES: "Period to push data into the pusher channel"
        PUSHER_APP_ID: "Pusher.com's app ID"
        PUSHER_KEY: "Pusher.com's app key"
        PUSHER_SECRET: "Pusher.com's app secret"
        PUSHER_CLUSTER: "Pusher.com's app cluster"

It would by same for other orchestrators like k8s

@ABGEO so I guess it should require to listening on a specific signal or something which can fire viper.Get(). Firing this function on every socket API request might not be the best approach. The trigger can be varied and I consider an additional protected endpoint as one of them. Anyways, this hits the flexibility. On the other hand protected endpoint hits the delivery workflow again. I think a Slack or Discord integration might fit this need efficiently. This also avoids us to develop the custom UI and reduces the maintenance cost of the security. What do you think?
P.S. Just to make sure that I fully describe the need: When the service starts with the default ENVs (If there are any) and let's say after an hour if the user wants to aggregate data for different currencies, the service should do that with a zero downtime in the case of a single instance.

Oh, now I got your point. So in this case, some performant key-value storage is the right solution, I think.  What about KeyDB or etcd?
The flow is following:

The app gets initial variables from .env file
The app stores variables in  the key-value database
The app reads variables from the key-value DB on each request
The user updates variables from the UI directly in the key-value DB

I can provide some Time chart, but currently, I really do not have time :d


Tutorial-reset

Hey, just wanted to make you aware that when you transfer the tutorial resets for each user. Great Work keep it up!

ahh thank you for mentioning! I really appreciate bug reports like this. I'll mark it as a bug and come back to it when we're able to parse all the byte data correctly. Should make going through all these little bugs a lot easier.


ITEX quantization run on the device user specified

Type of Change
bug fix
API not changed
Description
detail description
JIRA ticket: ILITV-2517
Expected Behavior & Potential Risk
The ITEX quantization can run the device user specidied.
How has this PR been tested?
UT, Pre-CI and extension test.
Dependency Change?
No.

extension test


Yesterday: OK, Today: Error and then "unexpected error" and in log "unexpected exception when adding integration" when re-adding integration

Please check Services, Known Bug / Issues and Troubleshooting over here first: https://github.com/fuatakgun/kia_uvo/blob/master/README.md
Region and Brand of car
EU, Kia, Soul EV, MY 2020
Version of the integration
2.10.2
Describe the bug
A clear and concise description of what the bug is.
Yesterday the integration worked. Today the integration stopped working and car-device was unavailable. Then I tried to re-add the integration in HA. This is not possible.
Debug logs if an error occurred
2023-06-29 09:36:44.964 DEBUG (SyncWorker_10) [hyundai_kia_connect_api.KiaUvoApiEU] hyundai_kia_connect_api - get_stamp 2023-06-29 05:02:58.607000+00:00 120000 76 998 76.88631513333333
2023-06-29 09:37:00.123 ERROR (MainThread) [custom_components.kia_uvo.config_flow] Unexpected exception
Traceback (most recent call last):
File "/config/custom_components/kia_uvo/config_flow.py", line 159, in async_step_user
await validate_input(self.hass, user_input)
File "/config/custom_components/kia_uvo/config_flow.py", line 63, in validate_input
token: Token = await hass.async_add_executor_job(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/hyundai_kia_connect_api/KiaUvoApiEU.py", line 198, in login
device_id = self._get_device_id(stamp)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/hyundai_kia_connect_api/KiaUvoApiEU.py", line 1104, in _get_device_id
_check_response_for_errors(response)
File "/usr/local/lib/python3.11/site-packages/hyundai_kia_connect_api/KiaUvoApiEU.py", line 108, in _check_response_for_errors
raise error_code_mappingresponse["resCode"]
hyundai_kia_connect_api.exceptions.RequestTimeoutError: Undefined Error - notNull Violation: devices.device_id cannot be null
To Reproduce
YES, just go to "add integration" and enter the credentials. These error again occurs.
Expected behavior
Just install integration

Same problem here...

Same problem, thanks for opening an issue and the description

Having the same issue today also

Same here, suddenly stopped working overnight with same error.

Same here, stopped working @ 4 am West-European time zone

With the integration previously configured and working I now see all sensors as unavailable and get the following logged error:
Logger: homeassistant.components.websocket_api.http.connection
Source: custom_components/kia_uvo/coordinator.py:166
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 14:01:01 (1 occurrences)
Last logged: 14:01:01

[140240714115600] Server returned: 'Invalid request body - Invalid parameter.'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 205, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1910, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1950, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/config/custom_components/kia_uvo/services.py", line 49, in async_handle_force_update
    await coordinator.async_force_update_all()
  File "/config/custom_components/kia_uvo/coordinator.py", line 158, in async_force_update_all
    await self.async_check_and_refresh_token()
  File "/config/custom_components/kia_uvo/coordinator.py", line 166, in async_check_and_refresh_token
    await self.hass.async_add_executor_job(
  File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/hyundai_kia_connect_api/VehicleManager.py", line 123, in check_and_refresh_token
    self.token: Token = self.api.login(self.username, self.password)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/hyundai_kia_connect_api/KiaUvoApiEU.py", line 198, in login
    device_id = self._get_device_id(stamp)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/hyundai_kia_connect_api/KiaUvoApiEU.py", line 1104, in _get_device_id
    _check_response_for_errors(response)
  File "/usr/local/lib/python3.11/site-packages/hyundai_kia_connect_api/KiaUvoApiEU.py", line 110, in _check_response_for_errors
    raise APIError(f"Server returned: '{response['resMsg']}'")
hyundai_kia_connect_api.exceptions.APIError: Server returned: 'Invalid request body - Invalid parameter.'

@TazUk Yes, that was also my conclusion responding to @mjmeierhoefer :)

Kia probably had changed or added a new security layer on their servers and we need to work it backwards.

 My UVO app is not working however the Kia Connect app is working? Don't know if that is relevant?

same here

Same problem here.

'Unexpected Error' problem here too .. removed and tried to re-add integration

Same, tried removing and restarting and now can't re-add the add on

resolving here, check open issues first.
https://github.com/Hyundai-Kia-Connect/kia_uvo/issues/660

Please let's keep the comment stream clean as much as possible so in case something important pops up, we don't miss it.
I am working on this and trying to figure out what has changed in the login flow.
Also checking other repositories if they have a solution in place.
Me too style comments are not helpful, while i understand the frustration here, let's be patient.

same problem here since 2 days


Toogle Spelling Error

In the settings pane, the word "Toggle" is spelled twice as "toogle"
I tried to make a pull request, but I don't think I had the correct permissions

You should be able to open a PR.
I can make the fix myself if you like. thanks


Linux (Beta) can not be installed in the new Chromium r89r1

Describe the bug or issue
A clear and concise description of what the bug is.
Describe your setup

Your Raspberry Pi model and spec variant, e.g. 4B with 2GB RAM
Your Chromium OS for Raspberry Pi release version, e.g. Chromium OS r77 r3
Your hardware configuration and setup, e.g. how you have wired the Pi board with any other peripheral connected to it

To Reproduce
Steps to reproduce the behavior:

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

Expected behaviour
A clear and concise description of what you expected to happen.
Screenshots and/or hardware setup photos
If applicable, add screenshots to help explain your problem. If your problem is hardware related, it's much easier to include a photo of how your setup looks like.
Additional context
Add any other context about the problem here.

I have repeated the installation of Chromium r89r1 and the Linux (beta) cannot be installed. It ends with an error. I use an Raspberry 4B with 8 GB RAM an a 32 GB sd-Card. I have made same pictures showing the disk space an the other windows during the installation of the Linux environement.

I have the same issue, with an 8G ram RPI and a 16G SD card, I have internet, but it will always fail on creating a disk. I tried this many times by re-writing the image to the sd card. It will not word. It did work on the last version though, so it's probable only this version that's affected.

This actually has nothing to do with the build itself. This is an issue with chromium os itself. Just wait until the next full dev build and it should be fixed.

Ok. Thank you. The Linux environment in the r86r2 version is a very good feature, I like it.

I am also having this. I have 8 GB of RAM & 425 GB of free disk space. I will wait for the next update. Thank you!

Is there some plan on when the next release that will fix this will be? (October-ish?)

@sindelar-fr  working on that right now, stay tuned

Unfortunately we don't have plan to fix this for r89. It'll be fixed in r92 which is our next major release. For the time being, you guys can try FydeOS for You - Raspberry Pi 400 which has a working Crostini.


feat(vite-plugin): Adds vite v4 to peer dependencies

Adds vite v4 to peer dependencies.

Hi and Happy New Year @mattcompiles!
Any issues with merging this into main since we're already at vite v4.0.3 in related projects? It "seems simple" on the surface and would cleanup the yellow warnings.
:-)

Fixes: #945


Should the mask option to AttentionLayers(boolean) increase memory?

Should the mask option in AttentionLayers be using up so much memory?
Behavior:
When I use the mask variant, the memory consumption is 6326MiB, without the mask, the memory consumption is 1364MiB.
6326MiB with the mask, 1364MiB without the mask.
import torch
from x_transformers.x_transformers import AttentionLayers
attn_config = {
"dim": 128,
"depth": 4,
"heads": 6,
"ff_mult": 8,
"attn_flash": True
}
encoder = AttentionLayers(**attn_config)
encoder.cuda()
x = torch.randn(10, 4000, 128)
mask = torch.ones(10, 4000).bool()
x = x.to('cuda')
mask = mask.to('cuda')
while 1:
with torch.no_grad():
#output = encoder(x, mask=mask)
output = encoder(x)

I followed the memory consumption through to the call to scaled_dot_product_attention in "flash_attn" function. I saw that the memory increases in that function. I verified that the dtype of mask, if initially bool remained so throughout, and that there weren't significant copies being made.
The memory consumption will scale like the sequence length squared, times the number of heads. And so can become quite large. Interestingly casting from bool to float on line 238 of attend.py resulted in only a modest increase in memory consumption, which was unexpected.


Github homepage

When I go to https://github.com/JimBobSquarePants/ImageProcessor it takes me to "Core" branch which has readme which talks about this lib being in alpha/pre-release. This confused me for a while because I came from nuget.org where the package is already at 2.x.y
I'm assuming master is the main branch here: https://github.com/JimBobSquarePants/ImageProcessor/tree/master
Which has a much more up to date README.
Any way to fix the main repo page?

The Core branch is for the rewrite that makes it possible to use this library in .NET Core. That part is still in alpha/pre-release. The master branch is indeed the code for the current NuGet package but as you can read under the roadmap (https://github.com/JimBobSquarePants/ImageProcessor/tree/master#roadmap) the focus will be on ImageProcessorCore and that is why this is not the primary branch.


Add epoch to KerbalAircraftExpansion

Closes https://github.com/KSP-CKAN/NetKAN/pull/2863

This really needs to be pushed through. CKAN is currently presenting an outdated version of KAX.

Merging with my thanks


new logo is currently being worked on, when that is done, stick it in

New logo already done & implemented


Readable getting called multiple times

Description
I am using CSV-Parse from quite a long time and amazed by it performance. Also I am publishing individual row to RabbitMQ queues. On readable I am trying to call another API to update total rows in DB. I could see that there are multiple calls to the function that executes after readable.
I am unable to understand why is there multiple calls to readable event.
STR
My code -

async processFile(filename) {
    let cnt = 0;
    let index = null;
    let rowCounter = 0;
    const handler = (resolve, reject) => {
      const parser = CsvParser({
          delimiter: ',',
        })
        .on('readable', () => {
          let row;
          this.meta.totalRows = (parser.info.records - 1);
          //update imports metdata first then proceed for row publishing
          this.updateRows(filename)
            .then((response) => {
              while (row = parser.read()) {
                if (cnt++ === 0) {
                  index = row;
                  continue;
                }
                let messageObject = {
                  customFieldsMap: this.customFieldsMap,
                  importAttributes: this.jc.attrs,
                  importColumnData: row,
                  rowCount: cnt,
                  importColumnList: index,
                  authToken: this.token
                }
                console.log("Publishing row no. " + messageObject.rowCount);
                this.rowPublishChannel.sendToQueue(RowPublishQueue, new Buffer.from(JSON.stringify(messageObject)))
              }
            })
        })
        .on('end', () => {
          console.log("File consumed!");
          this.rowPublishChannel.close().then((response) => {
            console.log("Closed RabbitMQ  publish channel.");
          });
        })
        .on('error', reject);
      fs.createReadStream(filename).pipe(parser);
    };
    await new Promise(handler);
  }

  async updateRows(filename) {
    return await this.setStatus("queued");
  }

  async setStatus(status) {
    const dto = await this.apiService.imports.get(this.data.orgId, this.data.importId);
    dto.status = status;
    dto.metadata = this.meta;
    return this.apiService.imports.update(this.data.orgId, dto);
  }

processFile is called when I receive a message then I download a file and stat reading it. I wanted to execute the setStatus before I start reading it. But with above code my setStatus function is being called 3 times.
For a larger file it comes up even more time. Am I missing something? or a bug?

Here's my understanding. You complain that setStatus is called multiple times. Since only updateRows call setStatus, it means that updateRows is called multiple time. Since it is called from inside the on('readable') events, it means that on('readable') is called multiple times.
From the Node.js stream documentation:

the 'readable' event indicates that the stream has new information: either new data is available or the end of the stream has been reached

It is perfectly normal to have readable called multiple times, when the buffer has been processed and new data is coming afterward.


mysql scan rows to map[string]interface,type DECIMAL is string #4466

GORM Other Playground Link
https://github.com/go-gorm/playground/pull/337
mysql: scan rows to map[string]interface,type DECIMAL is string and is wrong
If you know the table structure and define the structure, the data will be printed correctly. But if the table structure is unknown,then the data will be printed incorrectly.
defer rows.Close()
columns, err := rows.Columns()
if err != nil {
return nil, err
}
numColumns := len(columns)
values := make([]interface{}, numColumns)
for i := range values {
values[i] = new(interface{})
}
var results []map[string]interface{}
for rows.Next() {
	if err := rows.Scan(values...); err != nil {
		return nil, err
	}

	dest := make(map[string]interface{}, numColumns)
	for i, column := range columns {
		fmt.Println(reflect.TypeOf(values[i]))
		fmt.Println(values[i].(*interface{}))
		fmt.Println(*values[i].(*interface{}))
		dest[column] = values[i]
	}
	//fmt.Println("=====")
	//fmt.Println(dest)
                 //print: 1234.5677 right
                 //print: NzMxLjI= wrong
	results = append(results, dest) //ps: NzMxLjI=
}

if err := rows.Err(); err != nil {
	return nil, err
}
return results, nil

gorm.io/gorm v1.24.0

@a631807682 I am not sure if this helps. See the comments.
https://github.com/go-sql-driver/mysql/issues/1401

@a631807682 I am not sure if this helps. See the comments.
go-sql-driver/mysql#1401

When we specialize the scan method for one type of a driver, it means that we start to specify the scan method for all types of all drivers, because each databasetype is handled differently by different drivers, and they may even use Scanner to dynamically allocate the type (e.g. clickhouse).
It's not that we can't do it, it's just that we pay enough for it and not enough of the benefit.

AFAIK, only the mysql driver that we are using has this issue. I am the author of the following packages. I work with all kinds of drivers, and found no other drivers having such problem.
https://github.com/elgs/gosqljson
https://github.com/elgs/gosqlapi


Update Cargo.lock

The latest main contains an out-of-sync Cargo.lock, which is making the newly introduced cargo metadata invocation fail in CI

[x] I've updated the relevant CHANGELOG files if necessary. Changes to javy-cli and javy-core do not require updating CHANGELOG files.
[x] I've updated the relevant crate versions if necessary. Versioning policy for library crates
[x] I've updated documentation including crate documentation if necessary.

The reason behind the failure is that I added publish = false to the test-macros and config crates, and that needed to be reflected in the lock file.


Orchard.MediaLibrary - Transparent Gif Previews Not Correctly Handled

Site is based off recent pull of 1.9.x branch.
I've added an image via the MediaLibrary which is a gif with a transparent background.
Within the media library it comes out like this:

The black background should be transparent.
It was uploaded via the My Computer option of the media library.
It only seems to be something to do with the internal preview images that the media library creates - when I insert the image into a layout element it is displaying correctly.

Probably from the Profile module.


i18n(ru): update some guides

Update:

ru/guides/components.mdx
ru/guides/customization.mdx
ru/guides/pages.mdx
ru/guides/sidebar.mdx
ru/guides/site-search.mdx

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

ru
guides/components.mdx
Localization changed, will be marked as complete.

ru
guides/customization.mdx
Localization changed, will be marked as complete.

ru
guides/pages.mdx
Localization changed, will be marked as complete.

ru
guides/sidebar.mdx
Localization changed, will be marked as complete.

ru
guides/site-search.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


create DAX measures and visualizations

This is to start creating DAX measures and visualizations in Power BI desktop file.
These steps are for creating a proof of concept (POC) version, and the next update will contain charts.

Great work @jihwankimdata


Problem with connection closure on MQ queues

mq-jms-spring-boot-starter:3.0.0
Java17
Description of the problem
Our company has found a problem related to termination of connection to MQ queues.  The problem appears when we try to connect to existing queue and there are temporary problems with network infrastructure and application can`t connect to queue manager. We can also reproduce that problem during connection to non-existent queue.
We try to attach JMS Listener to MQ queue using @JmsListener annotation in order to receive messages. The library throws an Exception that queue is not found and closes the connection. Then application try once again to establish a connection to the queue. The situation is repeated many times. Majority of the connections is successfully closed but some of them not.
In our opinion this is a few percent of connections that are not closed.
The big problem for us is when connection pool to MQServer is exhausted because the only way to correct application operation is to restart it.
Code example of JmsListener
@Component
public class QueueMessageListener {
    static final String TESTQUEUE2 = "TESTQ2";
    private final static Logger LOGGER =
            Logger.getLogger(Logger.GLOBAL_LOGGER_NAME);

    @JmsListener(id = "listener2", destination = TESTQUEUE2, concurrency = "10-20")
    void receive(String textMessage) throws Exception {
        LOGGER.log(Level.INFO, "Queue: " + TESTQUEUE2 + " received
    }
}

In order to check the quantity of connections established from our application to queue manager we prepared batch file:
@echo off
SET  MQSERVER=CHANNEL/TCP/SERVER_IP(PORT)
echo MQ connections count:
:here
echo DISPLAY CHSTATUS(CHANNEL) CONNAME | runmqsc QUEUEMANAGER | find /c "CONNAME(IP_ADDRESS)"
goto here

CHANNEL,  SERVER_IP, PORT, CHANNEL, QUEUEMANAGER are replaced by real values of course.
Testing the problem
We have test application using JmsListener as above. TESTQUEUE2 is the queue which does not exist on MQ SERVER. The number of connections shown by batch file should be constant but after some minutes it grows slowly. In about one hour number of connections exceeds limit in queue manager and application terminates  because of inability of queue connection creation.

I don't think this is anything to do with this particular package as it doesn't get involved in destroying objects.
When I ran a test, I did confirm the problem of apparent connection leakage. However it was only if I set any lower-bound in the concurrency attribute. If I just had "concurrency=10", then the application behaved as expected - there was still an exception and a retried connection, but the actual number stayed constantly low.
So I think this is something odd in the CachingConnectionFactory implementation. And therefore something to be raised in the base Spring Framework repo. They might be able to suggest additional diagnostics as well.

Thank you for your reply.
I have tested it on our test application with concurrency="10" and concurrency="50" parameters.
In both cases it turned out that number of not closed connections decreased by ~70%.
When we had concurrency = "10-20" number of not closed connections was about 20 per hour and
now we have  about 6-7 per hour. Unfortunately there is still growth.

I don't think this is anything to do with this particular package as it doesn't get involved in destroying objects.
When I ran a test, I did confirm the problem of apparent connection leakage. However it was only if I set any lower-bound in the concurrency attribute. If I just had "concurrency=10", then the application behaved as expected - there was still an exception and a retried connection, but the actual number stayed constantly low.
So I think this is something odd in the CachingConnectionFactory implementation. And therefore something to be raised in the base Spring Framework repo. They might be able to suggest additional diagnostics as well.

According to javadoc when you set concurrency "10" it is actually 1-10. So, there is always a range. It could be that setting it implicitly to 1-10 makes the issue less visible.
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/jms/annotation/JmsListener.html
Are you sure that it is related to CachingConnectionFactory? It is observed only with IBM MQ provider. Could it be that closing the connection is just too slow for IBM MQ?

Again, I can see no way that this particular module is involved here as it only deals with creation of objects, not destruction.
Looking at the CachingConnection implementation would be my first suggestion as this is clearly something to do with creating and not successfully closing objects. Whether that's because of a problem in the caching component, or in the MQ JMS client code, I can't tell. If the latter, then that would have to be dealt with via an IBM support case. One thing I noticed is that switching from the spring.cache to the pooled connection support did not appear to result in uncontrolled growth in connections.
One thing that is important to realise, is that both JMS Connections and Sessions result in an MQCONN showing up in the queue manager. So there might be, for example, dangling sessions lying around when a Connection is closed. And that might be part of the problem. Although I'd hope/expect sessions are then cleaned up, that might be one area for investigation.

@jkoguciuk did you manage to find the root cause here?
We seem to be facing similar issues.

@Jenson3210 We did not managed the problem using MQ queues.
@ibmmqmet We prepared test application, but using ActiveMQ from Artemis.
Structure of application and method of operation are the same. We used two listeners: one is attached to existing queue and second tries to attach to non-existent queue. After a few hours of tests application has opened only one connection to Artemis Broker. So it looks like there is no problem in Spring Framework, but problem is related to mq-jms-spring library.
All test were prepared using org.springframework.boot version 3.3.1. We also tested mg-jms-spring once again on the newest SpringBoot (3.3.1) and results are the same as previously - a lot of connections remain not closed.


Bypassing ATP Safe Links

We know we can set up black list domains we always want to block, we also know we can exempt domains from being rewritten. Our problem is we have domains that are being picked up as "phish" and "ZapPhish" in AIR that are legitimate. We can of course choose not to act on the AIR investigations that are triggered, but these false positives are clogging up the investigation panel and making it difficult to use. How do we whitelist certain domains from being identified as phishing for our tenant in AIR? Better yet, is there a header we can add in a transport rule that allows all links in an email to bypass phishing and ZapPhish detection in AIR?

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

ID: de70c835-f408-83a6-3cc7-885756bd7152
Version Independent ID: 076708dd-80e4-39d7-7e23-42730c106900
Content: Automated investigation and response (AIR) overview - Office 365
Content Source: microsoft-365/security/office-365-security/automated-investigation-response-office.md
Service: o365-seccomp
GitHub Login: @denisebmsft
Microsoft Alias: deniseb

Hello @arourke, and thank you for posting this question. I am looking into this, and I'll post an update here as soon as I have an answer for you.

No updates yet but i am working on this.

Still waiting on some input from our product team. Stay tuned.

Didn't forget about this issue. Stay tuned.

@arourke, do you think it's the sender's email address/domain that's triggering the alert? If so, the usual suspects are available for safe listing as described in Create safe sender lists in EOP.
If you think the URLs themselves are triggering the alerts, there's a new feature that allows you to allow specific URLs: Manage URLs in the Tenant Allow/Block List. Note that this feature is currently in Preview. It's coming to everyone eventually, but it might not be available to you yet.

@chrisda Thank you very much for sharing this explanation. @arourke Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Draft: Add release helper script

Fixes #1
There are still some TODOs in this script:

[x] Automatically create a GitHub PR via the API
[ ] Integrate the osbuild/osbuild-composer specific NEWS routines
[x] Consider to add a "skip step" option so the playbook can be restarted at any stage

This is super cool! Thanks so much for doing that!
The whole file could use some love from autopep8 (it is two spaces between functions).
We could also import the pylint config from osbuild and run that in CI to check we have the same style as in osbuild.

Thanks a lot for the review - you're totally right with all your comments :-)
I'll get to work!

I have integrated all the functionality I wanted to up to this point and I have tried to accommodate most of the reviews (I'd personally like to add the CI stuff in the next PR just to get something merged, but I can also add it now).
I'm not super-happy with the conditionals around "osbuild" and "osbuild-composer" as I feel they make the release playbook much less fun to read (although autopep8 splitting up the step command to several lines probably also doesn't reflect my personal preference ;)).
If any of you have better ideas I'd be more than happy to hear/implement them!

I'm not super-happy with the conditionals around "osbuild" and "osbuild-composer" as I feel they make the release playbook much less fun to read (although autopep8 splitting up the step command to several lines probably also doesn't reflect my personal preference ;)).

If you add the pylintrc file from osbuild, which has some tweaks about line length, does that make a difference?

I'm not super-happy with the conditionals around "osbuild" and "osbuild-composer" as I feel they make the release playbook much less fun to read (although autopep8 splitting up the step command to several lines probably also doesn't reflect my personal preference ;)).

If you add the pylintrc file from osbuild, which has some tweaks about line length, does that make a difference?

Thanks, that helped quite a bit! (force-pushed over the previous version)

This should be ready now for some real-world testing.
TODOs for the future:

line length checking in the NEWS.md file.
pylint in GitHub Actions
package pr_summaries as egg so it can be invoked in a nicer way (currently it presumes a certain directory structure) and dependencies can be installed easily


Modal OnClose event not called when Modal closed with ESC key (when closed for the first time).

Describe the bug
When a Modal is closed for the very first time using the ESC key, the OnClose handler is not invoked. If it is opened again and then closed the ESC the OnClose handler is then invoked.
To Reproduce
A single file component is shown below.

Click the button to open the Modal.
Press the ESC key on keyboard.
Note that below the text "Step 3: Verify modal close events below." nothing is logged, suggesting the OnClose handler was not invoked.
Click the button again to open the Modal.
Press the ESC key on keyboard.
Note that below the text "Step 3: Verify modal close events below.", a close event is now logged.

    <Modal @ref="Modal">
        <ModalDialog Title="Test Modal" OnClose="ModalOnClose" Size="Size.Large">
            <BodyTemplate>
                Step 2. Press ESC to close.
                The first time you do this, the Close is not registered
            </BodyTemplate>
        </ModalDialog>
    </Modal>
    <button class="btn btn-primary" @onclick="() => Modal?.Show()">Step 1. Click to Show Modal</button>

Step 3: Verify modal close events below.

    @foreach (var modalEvent in ModalEvents)
    {

@modalEvent

    }

@code
{

    public List<string> ModalEvents { get; } = new();
    public Modal? Modal { get; set; }

    public Task ModalOnClose()
    {
        ModalEvents.Add($"Modal Closed: {DateTimeOffset.Now:O}");
        StateHasChanged();
        return Task.CompletedTask;
    }
}

Further technical details

BootstrapBlazor version: Tried with 6.12.0 and 7.0.0
Include the output of dotnet --info

.NET SDK:
 Version:   7.0.100
 Commit:    e12b7af219

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.22621
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\7.0.100\

Host:
  Version:      7.0.0
  Architecture: x64
  Commit:       d099f075e4

.NET SDKs installed:
  5.0.302 [C:\Program Files\dotnet\sdk]
  5.0.408 [C:\Program Files\dotnet\sdk]
  6.0.111 [C:\Program Files\dotnet\sdk]
  6.0.202 [C:\Program Files\dotnet\sdk]
  6.0.203 [C:\Program Files\dotnet\sdk]
  6.0.306 [C:\Program Files\dotnet\sdk]
  7.0.100 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.All 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 6.0.4 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 6.0.5 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 7.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Other architectures found:
  x86   [C:\Program Files (x86)\dotnet]
    registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]

Environment variables:
  Not set

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

The IDE (VS / VS Code/ VS4Mac) you're running on, and its version: VS Code

@m-chandler sorry for the delayed reply. I will repro this and fix it.

@m-chandler this is a bug. will fix it next release

@m-chandler I had redesign Modal component

    <Modal @ref="Modal111" OnCloseAsync="ModalOnClose">
        <ModalDialog Title="Test Modal" Size="Size.Large">
            <BodyTemplate>
                Step 2. Press ESC to close.
                The first time you do this, the Close is not registered
            </BodyTemplate>
        </ModalDialog>
    </Modal>
    <button class="btn btn-primary" @onclick="() => Modal111?.Show()">Step 1. Click to Show Modal</button>

Step 3: Verify modal close events below.

    @foreach (var modalEvent in ModalEvents)
    {

@modalEvent

    }

@code
{

    public List<string> ModalEvents { get; } = new();
    public Modal? Modal111 { get; set; }

    public Task ModalOnClose()
    {
        ModalEvents.Add($"Modal Closed: {DateTimeOffset.Now:O}");
        StateHasChanged();
        return Task.CompletedTask;
    }
}

move the OnClose of ModalDialog to OnCloseAsync of Modal

@ArgoZhang tested, looks good thanks. I'll wait for the next stable release, I'll leave it for you to close when you're ready ✔ .

@m-chandler hi, I have released version 7.0.3`. thank you for submitting the issue. now closed it