[4.0.0-beta.12] Change detection with ion-list and AlertController

Bug Report
Ionic Info
Run ionic info from a terminal/cmd prompt and paste the output below.
Ionic:

   ionic (Ionic CLI)          : 4.2.0 (C:\Users\Stephan\AppData\Roaming\npm\node_modules\ionic)
   Ionic Framework            : @ionic/angular 4.0.0-beta.12
   @angular-devkit/core       : 0.7.5
   @angular-devkit/schematics : 0.7.5
   @angular/cli               : 6.1.5
   @ionic/ng-toolkit          : 1.1.0
   @ionic/schematics-angular  : 1.0.7

System:

   NodeJS : v10.11.0 (C:\Program Files\nodejs\node.exe)
   npm    : 6.4.1
   OS     : Windows 10

Describe the Bug
Change detection doesn't fire when adding items to an <ion-list> using an Alert component.
Steps to Reproduce
Create a dynamically generated  and use an overlay component (i.e. Alert) to add an <ion-item> to the list. The item doesn't display but after clicking on any other UI element.
See my github example (below):
The left button directly adds an item to the list (using a service), and the item is immediately shown.
The right button triggers an Alert Component to show up for the input and adds the item too, but the new item is only shown after clicking one of either buttons again.
For debugging purposes the service logs the actual item list to the console after adding an item.
Related Code
https://github.com/szerner/ionic4-change-detection.git
Expected Behavior
The list should reflect changes to the <ion-list> immediately after adding new items.
Additional Context
Perhaps it is related to issue #15855.

Hi @bkarv,
thank you for your workaround, though I will wait for a 'official' bug fix (if there ever will be one...).
As I want to have a loose coupling between my components, they shouldn't be dependent on some sort of event exchange for the mere purpose of sharing the same data (I would have to call this.changeRef.detectChanges() explicitly when the service or modal component changes the data).
That's we have Observables for.
But thanks again, it's good to know a work around if there is no other long term solution.

This issue should be fixed in next release!


Quaternion get_axis() proving unreliable...?

Godot version
4.0.dev
System information
Should not matter?
Issue description
I have been waffling on whether this is something I'm doing wrong, or an actual problem, but I am tentatively leaving it here. I have been digging deeply into the docs and source code but have yet to find anything that tells me of something I can do.
I am doing some manipulation of rigidbodies by way of altering the angular velocity, similar to what's being done here: https://docs.godotengine.org/en/latest/tutorials/physics/rigid_body.html#the-look-at-method
In my case, the code looks like this:
var cur_rot := global_transform.basis.get_rotation_quaternion()
var tgt_rot := new_basis.get_rotation_quaternion()

var rot_delta := tgt_rot * cur_rot.inverse()

var rot_angle := rot_delta.get_angle()
var rot_axis := rot_delta.get_axis()

state.angular_velocity = rot_axis * (rot_angle / state.step)

I have seen this same approach done elsewhere nearly verbatim, but it seems to be unreliable here. I found, though, that the get_axis() is not returning a proper normalized vector unless the two rotations differ sufficiently. You have to adjust the rotation beyond quite a noticeable threshold, leading to a significant amount of "aliasing":
https://user-images.githubusercontent.com/3247833/177184496-5a8b3834-07a6-496c-94a7-9d9868c248d5.mp4
(mind the programmer art...)
I've tried it with multiple physics ticks and solver iterations, by the way, but it's pretty much the same behaviour on all of them (within reason, of course). So it's not really the delta per-tick but rather the absolute difference between the rotations.
I can normalize the axis variable, which does improve it, but it still leads to problems and occasional errors as things get fed a non-normalized vector. I looked into the source for the engine and noticed this:
Vector3 Quaternion::get_axis() const {
	if (Math::abs(w) > 1 - CMP_EPSILON) {
		return Vector3(x, y, z);
	}
	real_t r = ((real_t)1) / Math::sqrt(1 - w * w);
	return Vector3(x * r, y * r, z * r);
}

CMP_EPSILON is set to 0.00001, so compare this to the sorts of values I am getting from the quaternion's w value when near the center (the "dead zone"):
0.99999612569809
0.99999618530273

So.. something just seems funny here. Is this arising from a 32/64 bit floating point issue somewhere? It feels like something is not working as it should.
I admit - I barely understand quaternions. I can kind of conceptualize them being constructed and deconstructed from and to an axis vector and angle value, but beyond that they are a black box to me.
So I have no idea. Maybe I'm missing something horrifically obvious and wasting everyone's time. If that's the case, then sorry. I am losing my mind just a little bit.
update:
I tried a 64-bit build to see if it made any difference but it didn't. Oh well.
Steps to reproduce
Described above
Minimal reproduction project
No response

Incidentally while looking through this, I noticed get_angle() returns a float, shouldn't it instead return real_t ?
float Quaternion::get_angle() const {
	return 2 * Math::acos(w);
}

Floats have about seven digits precision.
Quaternion xyz is the rotation axis premultiplied with the sine of the rotation half-angle and w is the cosine of the half-angle. It is a more elegant way to handle rotations than using axis angle or euler angles.

just going to assume I was doing something wrong I think


BI-1651 - Allow programs to choose/create breeding methods

Description
Story: https://breedinginsight.atlassian.net/browse/BI-1651
Created a new interface under program administration to allow a breeding program to control what system breeding methods are allowed, and to create/edit/delete their own custom breeding methods.
Dependencies
bi-api/feature/BI-1651
Testing

Verify that only the breeder role can see the Breeding Method configuration screen
Verify that when first creating a program, and then navigating to the Breeding Method config screen, that all of the system breeding methods are visible
Verify that system breeding methods can be enabled/disabled
Verify that a new breeding method can be created, and that it only shows up for the program it was created in
Verify that germplasm can be created with program defined breeding methods
Verify that germplasm cannot be created with system breeding methods not enabled by the program
Verify that a program breeding method cannot be deleted if there is a germplasm record utilizing that method
Verify that a system breeding method cannot be disabled if there is a germplasm record utilizing that method

Checklist:

[x] I have performed a self-review of my own code
[x] I have tested my code and ensured it meets the acceptance criteria of the story
[x] I have create/modified unit tests to cover this change
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to documentation
[ ] I have run TAF: https://github.com/Breeding-Insight/taf/actions/runs/3887368051

Passed all test in the Acceptance Criteria.


[CHAD-8788]

Updated zwave sensor's temperaturemeasurement to have a range of -20C to 100C.

 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.Bhavik Thati seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@bflorian how does this work for a capability that has units?

@greens temperature ranges in Canvas should alway be in Celsius. There's special handling in the plugin to scale properly depending on the current units specified in the attribute value.

@greens @bflorian updated capability configurations

Hello @ctowns Please change   "configuration:" to "config:" thank you!


Remove pillow-simd in favor of pillow

Signed-off-by: guillemdb<EMAIL_ADDRESS>

Codecov Report

Merging #40 (2fdbef7) into main (7532b2d) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##             main      #40   +/-   ##
=======================================
  Coverage   55.86%   55.86%
=======================================
  Files          22       22
  Lines        1305     1305
  Branches      205      226   +21
=======================================
  Hits          729      729
  Misses        537      537
  Partials       39       39

Impacted Files
Coverage Δ

judo/version.py
0.00% <0.00%> (ø)

setup.py
0.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 2ca3997...2fdbef7. Read the comment docs.


Group Permissions Do Not Flow to Aspire Dashboard (Container App Environment)

Please provide us with the following information:

This issue is a: (mark with an x)

[x] bug report -> please search issues before submitting
[ ] documentation issue or request
[ ] regression (a behavior that used to work and stopped in a new release)

Issue description
When applying role assignments to the Container App Environment hosting the Aspire Dashboard, role assignments applied to users work whereas role assignments applied to Groups do not.
Steps to reproduce

Create Entry ID Group
Add user to group
Assign Contributor Role Assignment to group
Access Aspire Dashboard
Observe Could not authenticate user with requested resource.
Assign Contributor Role Assignment to user
Access Aspire Dashboard
Observe expected loading of dashboard without error

Expected behavior [What you expected to happen.]
Aspire Dashboard loads when member is part of a Group that has Contributor Role Assignment
Actual behavior [What actually happened.]
Member that is part of a group with Contributor Role Assignment cannot access Aspire Dashboard and is presented with Could not authenticate user with requested resource. error.
Screenshots
NA
Additional context
Thank you for all your efforts out there. 🙏

Closing as a duplicate of #1280

Reopening, these are related but not duplicates.

We've identified this issue and are working on a fix.

Any ETA on this fix?


[feat]: Select all for command group

Feature description
The command group is used for commands as the name implies but is also useful as a multi-select component, one of the things I would appreciate is the ability to select all command items in the command group
Affected component/components
Command
Additional Context
Additional details here...
Before submitting

[X] I've made research efforts and searched the documentation
[X] I've searched for existing issues and PRs

This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you.


Enable scatter fusion with index operand.

This drops a pessimistic check during analysis of the indexing maps of
the fused OpOperand in the producer and consumer that was preventing
fusion of the scatter operation with its index operand producer.
Signed-off-by: MaheshRavishankar<EMAIL_ADDRESS>

This drops number of LLaMa dispatch invocations from 714 -> 650.


Kerbal Academy new versions not listed

Background
CKAN Version:
1.26.0
KSP Version:
1.4.5
Operating System:
W7 x64
Have you made any manual changes to your GameData folder (i.e., not via CKAN)?
Yup!
Affected mods and mod versions:
Contract Pack: Kerbal Academy
Problem
What steps did you take in CKAN?
auto-updated to the current mod versions
What did you expect to happen?
to be updated to the current mod versions
What happened instead?
an out of date mod version was installed - 1.1.10 (<IP_ADDRESS> is available)
Notes:
The newer versions are by a new author - https://github.com/Mark-Kerbin/Kerbal-Academy-Contract-Pack/releases
I guess the NetKAN is looking at the old author still?

1.2.1 has a syntax error in its .version file that's preventing it from being indexed.
http://status.ksp-ckan.space/

After parsing a value an unexpected character was encountered: ". Path 'GITHUB.USERNAME', line 8, position 8.

Mark-Kerbin/Kerbal-Academy-Contract-Pack#16 fixed that, but those changes haven't been included in a new release yet.


AboutUs page - Add IDs for e2e tests

AboutUs page - Add IDs for e2e tests

[x] I have checked that no one else is working on similar changes.
[x] I have read the latest README and understand the development workflow.
[x] The name of this branch is: feature/<branch_name>, or hotfix/<branch_name> if this is a hotfix, where <branch_name> briefly describes the issue(s) resolved and is prefixed with the issue number(s) (e.g. 1127-1130-update-git-branching-model). The branch is created in a cloned version of this repo, not a forked repo.
[x] This branch is rebased/merged with the latest staging (or the latest production if it is a hotfix).
[x] There are no merge conflicts.
[x] There are no console warnings and errors.
[x] On the right hand side of this PR, I have linked the appropriate issue(s) under "Issues" and added a project progress under "Projects".
[x] The title describes the issue(s) being addressed using format: <issue_numbers> - <brief_issue_description> (e.g. #1127/#1130 - Update Git Branching Model)

@Zaydme
Please check if I added IDs correctly.
Our goal is to have IDs for supporters containers and Press button.


Question: Does this SDK work with V3 of the API?

Does this SDK work with V3 of the API?

As of 1.0.9, it appears to use a mixture of version 2 and version 3 of walmart's API.  For example, the 'order' functions use v3, while the 'item' functions use v2.

Yeah, I abandoned trying to use this.  I ended up using any Array to XML library that let me do everything I needed to do.

Plus Walmart Marketplace just changed Lag Time in the inventory feed to it's own feed, so that won't be accounted for in this package since it is no longer maintained.


Load Cordova plugins

Hi
Im using the online build in your servers, so i need to configure the config and the package files.
I was able to use the calendar plugin using
<gap:plugin name="nl.x-services.plugins.calendar" />

This plugin is registered in http://registry.cordova.io/nl.x-services.plugins.calendar
But there are other plugins i would like to use : cordova-plugin-directions and cordova-plugin-file.
Those are not registered or at least i cant find them. So i must try to load them from a git url.
Using the PhoneGap structure of config file didn't help me either.
I also tried to use the dependency feature from package.json
    "cordova-plugin-directions": "git://github.com/leecrossley/cordova-plugin-directions.git",
    "cordova-plugin-file": "git://github.com/apache/cordova-plugin-file.git"

That build ok, but i can't use the modules in my code
require('cordova-plugin-directions');
directions.navigateTo("51.50722", "-0.12750"); // latitude, longitude

No problem with require, but there is no directions object
Also
<gap:plugin name="SplashScreen" value="org.apache.cordova.core.SplashScreen" />

Should work, but it doesn't (this is not my main problem)
build.log:
Fetching plugin "SplashScreen" via plugin registry
npm http GET http://registry.cordova.io/SplashScreen
npm http 404 http://registry.cordova.io/SplashScreen

hmm, this seems related to #473
The build service is not yet CLI 5.x ready. The plugins you want to use cordova-plugin-directions and cordova-plugin-file indicate that they are already npm modules. THey have changed the IDs from org.apache.* to cordova-* with 5.x

Following the update to Cordova 5.1.1 in Tabris.js 1.1, I'm now able to build an app with the current versions of these plugins:
<plugin name="nl.x-services.plugins.calendar" version="4.3.4" />
<plugin name="cordova-plugin-directions" version="0.4.1" />
<plugin name="cordova-plugin-file" version="2.1.0" />
<plugin name="cordova-plugin-splashscreen" version="2.1.0" />

@adenaman Could you check if that solves the issues you encountered?

is there a way to reference a github repo directly from the plugin tag?

@bFlood Yes. Just do something like in your Cordova project:
$ cordova plugin add https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin --save

When you take a look into your project's config.xml afterwards, you will find this line in there:
<plugin name="nl.x-services.plugins.toast" spec="https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin" />

and this will work from your build service?
thank you @jonek

fwiw, this does work from the tabris build service
also, the sqllite plugin seems work as well. didn't do much testing but the database was created, added tables and rows and then able to query/populate CollectionView. Closing the app and restarting uses the previous database.
<plugin name="io.litehelpers.cordova.sqlite" spec="https://github.com/litehelpers/Cordova-sqlite-storage" />


3.11.0 installation failure: EACCES linux-x64-11_binding.node

When reporting an bug, you must provide this information:

NPM version (npm -v): v3.10.8
Node version (node -v): v0.10.25
Node Process (node -p process.versions):

{ http_parser: '1.0',
  node: '0.10.25',
  v8: '<IP_ADDRESS>',
  ares: '1.9.0-DEV',
  uv: '0.10.23',
  zlib: '1.2.3',
  modules: '11',
  openssl: '1.0.1e' }

Node Platform (node -p process.platform): linux
Node architecture (node -p process.arch): x64
node-sass version (node -p "require('node-sass').info"):

libsass        	3.3.6  	(Sass Compiler)	[C/C++]```
- npm node-sass versions (`npm ls node-sass`):

/
`--<EMAIL_ADDRESS>
Hi, after 3.11.0 was tagged this morning we noticed CI errors in our application. Pinning to 3.10.1 worked fine as a workaround. The error log is as follows:

><EMAIL_ADDRESS>install /node_modules/node-sass
> node scripts/install.js

Start downloading binary at https://github.com/sass/node-sass/releases/download/v3.11.0/linux-x64-11_binding.node

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: EACCES, open '/root/.npm/node-sass/3.11.0/linux-x64-11_binding.node'
/
`--<EMAIL_ADDRESS>  `--<EMAIL_ADDRESS>    +--<EMAIL_ADDRESS>    `--<EMAIL_ADDRESS>
npm WARN enoent ENOENT, open '/package.json'
npm WARN !invalid#1 No description
npm WARN !invalid#1 No repository field.
npm WARN !invalid#1 No README data
npm WARN !invalid#1 No license field.
npm ERR! Linux 4.4.27-moby
npm ERR! argv "node" "/usr/bin/npm" "install" "node-sass"
npm ERR! node v0.10.25
npm ERR! npm  v3.10.8
npm ERR! code ELIFECYCLE

npm ERR<EMAIL_ADDRESS>install: `node scripts/install.js`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node scripts/install.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the node-sass package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node scripts/install.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs node-sass
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls node-sass
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /npm-debug.log

we ran npm install node-sass as root. The directory permissions seem fine:
root@07b46a37acfc:~/.npm/node-sass/3.11.0# ls -la
total 356
drwxr-xr-x 3 root root   4096 Nov  3 14:40 .
drwxr-xr-x 4 root root   4096 Nov  3 14:43 ..
drwxr-xr-x 2 root root   4096 Nov  3 14:40 package
-rw-r--r-- 1 root root 349383 Nov  3 14:40 package.tgz

The OS is Ubuntu 14.04 (running in Docker), fully updated. Node is from https://deb.nodesource.com/node_6.x.

Thanks for the report. @nschonni this is due to recent caching change. Since npm scripts run a restricted it's not guaranteed that it's going to have access to the npm cache dir (which defaults to the users' home dir).

getCachePath() needs to be updated to also check for access and fallback to the local vendor directory as a last resort. This issue will be common for CI environments that run as root.

It looks like there is also a version conflict going on here.

Node is from https://deb.nodesource.com/node_6.x.

But your output says you're running 0.10

Yeah it's common to do an install and rebuild in these environments. They're not getting that far because the initial install is failing.

Good catch @nschonni -- that looks like a rabbit hole I don't want to dive into so will ignore your comment 🙈

Not a solution, and we do need a fault tollarant fallback

Try seeing if sudo npm install works
Try uninstalling the 0.10 version and following the official install guide https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions to see if that creates a usable set. Probably need the nodejs-legacy for the symlink if i remember right

I have a patch in progress #1782. The cache directory needs to be determined lazily.

This is completely blocking !

You can work around this issue by setting your cache path to something writable
npm config set cache /tmp/.npm

@xzyfer This is not working for me

I've released v3.11.1 until we have a workaround for these systems.


Notebook Kernel not used

In IpyWidgets branch

Open Workspace with PythonA
Open python file so Jupyter is auto started
Open notebook with saved kernel information pointing to PythonB
When notebook is opened, you'll see that it is using kernel PythonA
Run import sys;sys.executable and it points to PythonA

I'm not reproing this.

The worst I get is that a kernel change does not mark the notebook as dirty, but if I run a cell I can save the other kernel. Reopening the notebook uses the new kernel.

Going to submit a change to make the notebook dirty on kernel change


Remove attribute on null.

To mimic scala-xml behavior, if an attribute value is null, then the
attribute should be removed. The previous behavior was a null pointer
exception.

Not a fan of putting semantics into nulls, but at the same time, I see how this could be useful... LGTM!

I agree with you on the null, but I think it's best to mimic scala-xml semantics here. It seems you can get the same effect with Option[T], so that would be much much better alternative.

I was able to achieve the same effect like this:
    def conditionalAttribute(cond: Boolean): Option[Seq[Node]] =
      if (cond) Some(new Atom("")) else None
<input checked={conditionalAttribute(false)}/>


Up/Down Badge works when site is up - not when down

Are you experiencing an issue with...
shields.io
🐞 Description
Trying to use the website/up down badge.  It works fine when the website is up:

But if the server is shutdown: after the timeout it does not show the website down image.

If I put in fake info - the down image does load correctly.

Any suggestions?  Thanks.  I did try and find a reeference somewhere to the issue, I am sure it is something rather simple - just cannot determien what it is.
🔗 Link to the badge
https://imagelessthought.github.io/mainroad/status/
This page has some that I threw on there for testing.   It is the secnd one that shows the failure:

💡 Possible Solution
No response

OK, so it looks like if the website instantly responds with an invalid code (e.g: 500) or we get a connection error or whatever, we'll show the down image. If the upstream website fails in a way that just holds the connection open, we'll also just hang.
I think we need to add a timeout to https://github.com/badges/shields/blob/master/services/website/website.service.js (and update the docs).
I'm inclined to make the timeout something like 3.5 seconds to try and keep the whole badge request/response inside the 4 second camo limit.

@chris48s Thanks.  I will try and setup a local instance play around with it.  Much appreciated.

Yes - feel free. This should hopefully be a one line change :crossed_fingers:  I just lost sight of it because someone else said they would submit the PR

Sorry, I should have followed up but I assumed someone got to it before me as it stopped generating a an error.
In the description I posted, the button after,
"But if the server is shutdown: after the timeout it does not show the website down image",
was generating an error when I posted it. It was reporting an error when @chris48s responded as well.
But when I went back to check on it and take a shot at resolving the issue, it was no longer generating the error.

When I took a look at the code (website.service.js), I was suddenly enlightened thinking "If a server is shut down, it should not respond at all, why would it keep the connection open?". Your comment makes kinda sense.
But again, in any case server takes a significant amount of time responding, I could still implement some kind of a timeout for it. So, I leave the final decision to @chris48s.
@chris48s, should I go on?

I think it still makes sense to put a timeout on this 👍

After completing #9954, will go back to this.


Createruby.yml

Re formatted back to 2.6 test - rerun all jobs

Merge pull request into main

Merge pull request into main


Protoc-jar works localy but fails in Docker

Helo, I'm using jmeter-grpc-request plugin for JMeter, which uses protoc-jar lib
Since this plugin uses Protoc.runProtoc, which I identified as root of my issues I'm writing here.
Protoc does not produce same result while working locally (OSX) and while working in Docker (linux-x86_64, Ubuntu image).
While running everything locally there are no issues, but when trying to move everything to Docker I get lots of errors that I don't understand:

#14 60.72 2021-08-06 13:48:36,319 WARN v.z.b.c.p.ProtocInvoker: Protoc invocation failed with status: 1
#14 60.72 2021-08-06 13:48:36,319 WARN v.z.b.c.p.ProtocInvoker: [Protoc log] protoc-jar: protoc version: 3.10.1, detected platform: linux-x86_64 (linux/amd64)
#14 60.72 2021-08-06 13:48:36,319 WARN v.z.b.c.p.ProtocInvoker: [Protoc log] protoc-jar: embedded: bin/3.10.1/protoc-3.10.1-linux-x86_64.exe
#14 60.72 2021-08-06 13:48:36,319 WARN v.z.b.c.p.ProtocInvoker: [Protoc log] protoc-jar: executing: [/tmp/protocjar6843259621352728925/bin/protoc.exe, /root/.bzt/api/src/main/proto/query.proto, /root/.bzt/api/src/main/proto/control.proto, /root/.bzt/api/src/main/proto/event.proto, /root/.bzt/api/src/main/proto/common.proto, /root/.bzt/api/src/main/proto/command.proto, -I/root/.bzt, -I/tmp/polyglot-well-known-types2403617750231761169, -I/root/.bzt/api/src/main/proto, --descriptor_set_out=/tmp/descriptor4844292755077694259.pb.bin, --include_imports]

and lots of errors like:
#14 60.72 axon-server-api/src/main/proto/common.proto:132:5: Note that enum values use C++ scoping rules, meaning that enum values are siblings of their type, not children of it.  Therefore, "FAILED" must be unique within "io.axoniq.axonserver.grpc", not just within "TaskStatus".
#14 60.72 api/src/main/proto/common.proto:134:5: "io.axoniq.axonserver.grpc.RUNNING" is already defined in file "common.proto".
#14 60.72 api/src/main/proto/common.proto:134:5: Note that enum values use C++ scoping rules, meaning that enum values are siblings of their type, not children of it.  Therefore, "RUNNING" must be unique within "io.axoniq.axonserver.grpc", not just within "TaskStatus".
#14 60.72 api/src/main/proto/common.proto:136:5: "io.axoniq.axonserver.grpc.CANCELLED" is already defined in file "common.proto".
#14 60.72 api/src/main/proto/common.proto:136:5: Note that enum values use C++ scoping rules, meaning that enum values are siblings of their type, not children of it.  Therefore, "CANCELLED" must be unique within "io.axoniq.axonserver.grpc", not just within "TaskStatus".
#14 60.72 api/src/main/proto/common.proto:126:6: "io.axoniq.axonserver.grpc.TaskStatus" is already defined in file "common.proto".
#14 60.72 api/src/main/proto/common.proto:38:9: "io.axoniq.axonserver.grpc.SerializedObject" seems to be defined in "common.proto", which is not imported by "api/src/main/proto/common.proto".  To use it here, please add the necessary import.
#14 60.72 api/src/main/proto/common.proto:46:5: "io.axoniq.axonserver.grpc.ProcessingKey" seems to be defined in "common.proto", which is not imported by "api/src/main/proto/common.proto".  To use it here, please add the necessary import.
#14 60.72 api/src/main/proto/common.proto:49:5: "io.axoniq.axonserver.grpc.MetaDataValue" seems to be defined in "common.proto", which is not imported by "api/src/main/proto/common.proto".  To use it here, please add the necessary import.

My proto files starts with:
syntax = "proto3";
package mypackage.grpc.command;
import "common.proto";
option java_multiple_files = true;

The wierd thing that I can't understand, is why it's producing these errors while running inside Docker?
Hope someone can help as I reached a dead end with this.

Those errors seem to be generated by protoc itself?

I got the same failure when I try to run gRPC request from docker running on aarch64


Consider putting Open Graph metadata on more gallery/blog pages

We can google at Google Analytics to see what hits are coming from Twitter.
@karann-msft said we can just use the NuGet logo (like https://github.com/NuGet/NuGetGallery/pull/6708) for everything but the packages pages (which use the icon URL).

Consider blog, and download pages, recommended by @anangaur.

From @scottbommarito

This is good for the front page, but should we consider adding fallback OG metadata, so that if someone links a random page, it will still have a card?


refactor(telemetry): add semantic conventions for varlog

Current dependencies on/for this PR:

main

PR #493

PR #494

PR #503

PR #505   👈

This comment was auto-generated by Graphite.

Codecov Report
Patch coverage: 32.43% and project coverage change: +0.08 :tada:

Comparison is base (36b044b) 62.16% compared to head (195107d) 62.25%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@                            Coverage Diff                             @@
##           mr_dedup_build_commit_results_duration     #505      +/-   ##
==========================================================================
+ Coverage                                   62.16%   62.25%   +0.08%
==========================================================================
  Files                                         133      133
  Lines                                       18442    18446       +4
==========================================================================
+ Hits                                        11465    11484      +19
+ Misses                                       6405     6394      -11
+ Partials                                      572      568       -4

Impacted Files
Coverage Δ

internal/storagenode/telemetry/metrics.go
57.14% <28.57%> (+1.31%)
:arrow_up:

internal/storagenode/storagenode.go
73.14% <100.00%> (ø)

... and 8 files with indirect coverage changes

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

@ijsong started a stack merge that includes this pull request via Graphite.

@ijsong merged this pull request with Graphite.


[aarch64-darwin] niv fails to build

Describe the bug
I wanted to use niv to manage the dependencies of my project, I'm not entirely sure what's the cause of the failure.  Just before the error message there is a mention of cyclic dependency. Not sure how I can address that.
Steps To Reproduce
Steps to reproduce the behavior:

Run nix-shell -p nix on a M1 machine.

Expected behavior
niv is correctly built, and invokable from the nix-shell
Additional context
The relevant part of the build log:
Linking dist/build/unit/unit ...
running tests
Running 1 test suites...
Test suite unit: RUNNING...
Test suite unit: PASS
Test suite logged to: dist/test/niv-0.2.19-unit.log
1 of 1 test suites (1 of 1 test cases) passed.
haddockPhase
installing
Installing library in /nix/store/njlg1h6f80fvs7brbxzajcv2y6jyk2w2-niv-0.2.19/lib/ghc-8.10.7/aarch64-osx-ghc-8.10.7/niv-0.2.19-Ab4AhfOgbWKE9LPVEs35u0
Installing executable niv in /nix/store/8yarqpfzbswh29jqv83d6kmzzqbjp727-niv-0.2.19-bin/bin
Warning: The directory
/nix/store/8yarqpfzbswh29jqv83d6kmzzqbjp727-niv-0.2.19-bin/bin is not in the
system search path.
/nix/store/7lfjbip2dvhvnhvdj0kx4d63apqlz83v-cctools-binutils-darwin-949.0.1/bin/strip: changes being made to the file will invalidate the code signature in: /nix/store/8yarqpfzbswh29jqv83d6kmzzqbjp727-niv-0.2.19-bin/bin/niv
Registering library for niv-0.2.19..
post-installation fixup
strip is /nix/store/jgaarpq3rdfk7gbm0gm3xlh8hhbw15ay-clang-wrapper-11.1.0/bin/strip
stripping (with command strip and flags -S) in /nix/store/njlg1h6f80fvs7brbxzajcv2y6jyk2w2-niv-0.2.19/lib
patching script interpreter paths in /nix/store/njlg1h6f80fvs7brbxzajcv2y6jyk2w2-niv-0.2.19
strip is /nix/store/jgaarpq3rdfk7gbm0gm3xlh8hhbw15ay-clang-wrapper-11.1.0/bin/strip
patching script interpreter paths in /nix/store/1s0sp3w4xdkcv2j3300j8mxs8fnp33dy-niv-0.2.19-data
strip is /nix/store/jgaarpq3rdfk7gbm0gm3xlh8hhbw15ay-clang-wrapper-11.1.0/bin/strip
stripping (with command strip and flags -S) in /nix/store/8yarqpfzbswh29jqv83d6kmzzqbjp727-niv-0.2.19-bin/bin
patching script interpreter paths in /nix/store/8yarqpfzbswh29jqv83d6kmzzqbjp727-niv-0.2.19-bin
cycle detected in the references of '/nix/store/8yarqpfzbswh29jqv83d6kmzzqbjp727-niv-0.2.19-bin' from '/nix/store/njlg1h6f80fvs7brbxzajcv2y6jyk2w2-niv-0.2.19'
error: build of '/nix/store/n0ixxkly3qsv93qmail0hcwpdmiiqx6m-niv-0.2.19.drv' failed

Metadata
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"aarch64-darwin"`
 - host os: `Darwin 20.6.0, macOS 11.6`
 - multi-user?: `no`
 - sandbox: `no`
 - version: `nix-env (Nix) 2.3.15`
 - channels(damienbiasotto): `"home-manager, nixpkgs-21.11pre317666.1a56d76d718"`
 - nixpkgs: `/Users/damienbiasotto/.nix-defexpr/channels/nixpkgs`

duplicate of #140774

duplicate of #140774

Oh my bad, I was looking for a similar issue and somehow didn’t find it.
Closing this one then.


Java GUI

when a local Java runtime is implemented, will it support jframes or other methods of generating a GUI?

Unlikely.


upgrade cqrs-es peerDependencies of @matechs/logger

The problem was during compilation (even on fresh repo):
lerna ERR! yarn run build exited 1 in '@matechs/cqrs-es'
lerna ERR! yarn run build stdout:
yarn run v1.21.0
$ rimraf lib && tsc --build tsconfig.build.json
src/index.ts(35,14): error TS2742: The inferred type of 'aggregate' cannot be named without a reference to '@matechs/cqrs/node_modules/@matechs/logger/lib/logger'. This is likely not portable. A type annotation is necessary.
src/index.ts(35,14): error TS2742: The inferred type of 'aggregate' cannot be named without a reference to '@matechs/cqrs/node_modules/@matechs/orm'. This is likely not portable. A type annotation is necessary.
src/offset.ts(26,14): error TS2742: The inferred type of 'ormOffsetStore' cannot be named without a reference to '@matechs/cqrs/node_modules/@matechs/orm'. This is likely not portable. A type annotation is necessary.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Arguably this doesn't change anything as the version updated is on the same range as the latest. Also it is building fine in ci, do you have a repro?

Yes the repro was local compilation (even on a fresh project).
With that change, no more compilation error.
I can understand why there was a failure, I don't understand why it was only happening locally.

Hyp: The signature was exporting a version of a lib (from deps) that was not matching it's peerdeps and needed to name it differently.
By converging those versions it solves the issue.

@mikearnaldi ok to merge?

Without a repro no. The change will be useless as version update will break it again

No Repro on Fresh Install.
lerna success run Ran npm script 'build' in 22 packages in 78.3s:
lerna success - @matechs/apollo
lerna success - @matechs/browser
lerna success - @matechs/console
lerna success - @matechs/cqrs-es
lerna success - @matechs/cqrs
lerna success - @matechs/effect
lerna success - @matechs/epics
lerna success - @matechs/express
lerna success - @matechs/fancy
lerna success - @matechs/graceful
lerna success - @matechs/http-client-fetch
lerna success - @matechs/http-client-libcurl
lerna success - @matechs/http-client
lerna success - @matechs/logger-winston
lerna success - @matechs/logger
lerna success - @matechs/orm
lerna success - @matechs/rpc-client
lerna success - @matechs/rpc
lerna success - @matechs/rxjs
lerna success - @matechs/tracing
lerna success - @matechs/uuid
lerna success - @matechs/zoo
Done in 78.91s.

for the record, was a problem with my way to use lerna;
was calling lerna link which should not be called in a monorepo setting


BE-8033: TestResult helpers

Helpers for assembling Slack messages. Merge base is #7

actually I'm going to write some tests for these, so going to move to draft


[Enhancement] Synchronization means through attribute like [SyncedMapping] etc.

Right now we have perfect means to create mappings. I'd would be useful too to resync the changes as entities/DTOs evolve over time (cliche, I know).
What about marking types/methods with attributes from e.g. MappingGenerator.Annotations (a dedicated NuGet) [SyncedMapping] to indicate the engine to look for changes and update mappings on the fly? It'd be particularly useful in scenarios when some entity-DTO pairs appear in multiple mappings as aggregate children.
I expect that one'd want some exclusion rules then too, e.g. custom mapping method discovery for not to loose custom changes:
dto.Accounts = MapAccountsInCustomWay(entity)
// ...

void MapAccountsInCustomWay(MyEntity entity)

It can be developed incrementally: 1) diagnostics only (i.e warnings) 2) code fixes (auto-sync updates on the fly).

Hi
There is a discussion about this topic #12
The main idea behind the MappingGenerator was to provide a mechanism that scaffold the mapping code and allows to easily adjust it to custom needs. I've never started to implement it because of two reasons:

Not sure how to handle and preserve "custom adjustment". How to detect if a given mapping is missing or it was intentionally removed?
Probably this kind of analyzer could have a significant impact on the Visual Studio performance

I see this feature has aroused a lot of interest, but I'm not sure if this is doable. In order to make any attempt to implement it, I need more specific requirements. Especially, what are the expectations towards the  "custom adjustment". How should they be handled?
For complete automated mappings I would be nice to use https://github.com/dotnet/roslyn/blob/master/docs/features/generators.md but they are still WIP

Thanks for elaborating on this. Custom adjustments can be marked like explicit method extracts as I showed in the example and for omissions one could mark such with an attribute like:
public class MyDto
{
    [NoMap]
    public int MyProp {get; set;}
}

I know, a bit intrusive. When it comes to performance, we can start with sth as simple as resync button (keyboard shortcut) to resync them all.
The source generators look promising, indeed.

I prefer to keep all the mapping information closed to the context as possible. I mean, your proposal has a few flaws:

There is no option for controlling mapping if your are not a owner of the sources (for example it's generated or it's shipped as a library)
You cannot reuse class with attributes for different mappings.

What about placing attributes in classes you have control over (i.e. for which you generate code for)?
Can you provide an example? If you really want your entities/DTOs clean and devoid of special markers, then you can put sth like this at the assembly level:

[assembly:MappingSync(typeof(...), typeof(...))]

or any convention you want.
I understand that syncing all up automatically may be problematic but at least some analyzer utility would be helpful to cover entities evolution over time. This could be especially valuable for having the compiler detect entity modifications by 3rd parties that are not reflected in the mapping code yet. For this, a set of reasonable markers would do.

I will make attempt to create such analyzer, but this is not gonna happen in this month (quite busy season)

I know, I wish I could attend your WG.NET talk on Roslyn this month. If you need any help developing such analyzer, I offer my help (well, I'm in TOP 2 of this repo Contributors list 😄).

 If you need a mapping code that is continuously synchronized with models, please take a look at OnBuild plugin (#79) that generates mapping code during the build.


Localhost links marked as invalid

+1 on this issue. Downgrading to 3.9 fixes it

This still seems to be an issue.
It won't even tell you why the script exists with status 1.
But after hunting down the file causing it, I found out it was due to localhost links


Rename config properties so that they're similarly named as in other Splunk distros

e.g. splunk-otel-python, splunk-otel-js
README will be updated after release

Since this will break existing users, should we support both for at least a little while?

Since this will break existing users, should we support both for at least a little while?

Good point - I'll do that for the auth token, since it seems to be the only one that's actually used by our users. Thanks!

Since this will break existing users, should we support both for at least a little while?

Good point - I'll do that for the auth token, since it seems to be the only one that's actually used by our users. Thanks!

It might be interesting to log a warning about the deprecated name at startup time if we see it being used.

We have agreed on SPLUNK_ prefix.


fix: Inner box in loading modal

PR Type

[x] Bugfix
[ ] Feature
[ ] Refactoring

Context

[x] Closes #9137

Needs Design check

@exezbcz please review

Did your issue had any of the "$" label on it?

[x] Fill up your DOT address: Payout

Screenshot 📸

[x] My fix has changed something on UI;

already fixed by #9002


1/03 PM Publish

OPS Build status updates of commit 9b9a2b0:
:clock10: Full build: average full build time is 29 min(s) 22 sec(s) [calculated from last 122 build(s)]

Note: A full build takes more time than an incremental build.  This is the expected behavior of the build system.

OPS Build status updates of commit 9b9a2b0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-conceptual/azps-1.0.0/new-azureps-module-az.md
:white_check_mark:Succeeded
View (azps-1.0.0)

docs-conceptual/includes/az-replacing-azurerm.md
:white_check_mark:Succeeded
View (azurermps-4.4.1) View (azurermps-5.7.0) View (azurermps-6.13.0)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


TypeScript watcher consumes large amount of CPU when idle.

TypeScript Version:  2.4.2
Expected behavior:
When I am not touching any files in my project, TSC with watch: true configured will not consume much (if any) CPU.
Actual behavior:
When I am not touching any files in my project, TSC with watch: true configured consumes a notable amount of CPU on my laptop, enough to keep the fan on consistently.
This blog post suggests that the culprit is a recent change to polling for changes.
Notes:
I am using VSCode with the built-in TypeScript support, the default TypeScript build task and a tsconfig.json like:
{
	"compilerOptions": {
		"target": "es2017",
		"module": "commonjs",
		"sourceMap": true,
		"outDir": "output",
		"rootDir": "source",
		"paths": {
			"*": [
				"./typings/*"
			]
		},
		"emitDecoratorMetadata": true,
		"experimentalDecorators": true,
		"strictNullChecks": true,
		"alwaysStrict": true,
		"allowJs": true,
		"watch": true
	}
}

I'm seeing something similar with tsc 2.3.4.
With polling enabled, tsc -w -p  takes up 10-15% CPU on our project files.
With polling disabled, the same command uses virtually no CPU if no files are changing.
Windows 10, Core i5.

Should be fixed in #17269. Please give typescript@next a try and let us know if you are still running into issues.


Download Assets!

Where can I download the assets for running CARLA through UE editor? It is said in the documentation:
"Only the assets package is yet to be downloaded. \Util\ContentVersions.txt contains the links to the assets for CARLA releases. These must be extracted in Unreal\CarlaUE4\Content\Carla. If the path doesn't exist, create it"
However, this link doesn't work! Thanks!

Running Update.sh should download and extract them for you.

Hi, @KasraMokhtari2112!
Were you eventually able to download the assets?

Running Update.sh should download and extract them for you.

Hi, @KasraMokhtari2112!
Were you eventually able to download the assets?

Yes, I was. Thanks.


Preprocessing solutions have extraneous closing parentheses

There's a few closing parentheses leftover in the preprocessing solutions (from old here functions)

Closed by #23.


libdnf: 0.61.1 -> 0.62.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/libdnf/versions.
meta.description for libdnf is: "Package management library."
meta.homepage for libdnf is: "https://github.com/rpm-software-management/libdnf"
meta.changelog for libdnf is: ""
Updates performed

Version update

To inspect upstream changes

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 0.62.0 with grep in /nix/store/88z9xnp30k6a9hr4c3prnkmnqr1ba72n-libdnf-0.62.0

found 0.62.0 in filename of file in /nix/store/88z9xnp30k6a9hr4c3prnkmnqr1ba72n-libdnf-0.62.0

directory tree listing: https://gist.github.com/c8ab73302329e12978f692806b6ac691

du listing: https://gist.github.com/a64e5f5a30296e4c9f8e07ab031988c4

Rebuild report (if merged into master) (click to expand)

8 total rebuild path(s)

2 package rebuild(s)

2 x86_64-linux rebuild(s)
2 i686-linux rebuild(s)
2 x86_64-darwin rebuild(s)
2 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
libdnf
microdnf

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/88z9xnp30k6a9hr4c3prnkmnqr1ba72n-libdnf-0.62.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A libdnf https://github.com/r-ryantm/nixpkgs/archive/f4491b28aea4a26439d44930aade11d64f4ecbf8.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/88z9xnp30k6a9hr4c3prnkmnqr1ba72n-libdnf-0.62.0
ls -la /nix/store/88z9xnp30k6a9hr4c3prnkmnqr1ba72n-libdnf-0.62.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package failed to build:

microdnf

1 package built:

libdnf

Maintainer pings
cc @rb2k for testing.

Result of nixpkgs-review pr 121747 at f4491b28 run on x86_64-linux 1

2 packages built successfully:

libdnf
microdnf

1 suggestion:

warning: unused-argument
Unused argument: stdenv.
Near pkgs/tools/package-management/libdnf/default.nix:1:20:
  |
1 | { gcc9Stdenv, lib, stdenv, fetchFromGitHub, cmake, gettext, pkg-config, gpgme, libsolv, openssl, check
  |                    ^

Result of nixpkgs-review pr 121747 run on x86_64-darwin 1

2 packages failed to build:

libdnf
microdnf

Huh, wait a second. I manually applied the diff and
[...]
post-installation fixup
strip is /nix/store/pvms38jd72iqdrn3j376yfwcik0wvsiv-cctools-binutils-darwin-949.0.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/7a4h0fygvzzlnjamivxy57kg5cdld400-libdnf-0.62.0/lib
patching script interpreter paths in /nix/store/7a4h0fygvzzlnjamivxy57kg5cdld400-libdnf-0.62.0
/nix/store/7a4h0fygvzzlnjamivxy57kg5cdld400-libdnf-0.62.0

Maybe something is wrong with my review environment

Result of nixpkgs-review pr 121747 run on x86_64-darwin 1

1 package failed to build:

microdnf

1 package built:

libdnf

Uhm... better I guess?

Result of nixpkgs-review pr 121747 run on x86_64-darwin 1

2 packages built:

libdnf
microdnf


Calls to LinkedHashModel#contains(...) will throw ConcurrentModificationException because it is backed by an iterator

The MultithreadedNativeStoreTest for the ShaclSail has unearthed another race condition in the Changeset.
Changesets are shared among threads, which means that they need to be thread safe. Changesets use models, which are inherently not thread safe. Models will now apparently also throw ConcurrentModificationExceptions on concurrent reads with single writers.
This bug is hard to trace down because of a number of issues.

It almost never happens
Changeset#setChangeset does not clone models, so we don't know if the same model is used between Changesets
Changeset#getApproved returns the actual model to an outside scope, which means we loose any synchronization ability

Thanks for analyzing this. Changeset itself looks to be thread-safe. Would a fix be as simple as making sure the private Models in Changeset are never directly shared, but always cloned? I imagine this will cost performance, but it seems a relatively simple thing to do.

I think we should do two things. One is to remove the ability to retrieve the models. Instead introduce methods for the required interaction. Second is to make all interaction with the models synchronized.
We also have to figure out why you can instantiate a changeset from another changeset and how that affects thread safety.


Artemis: cb: Support to parse VR alert event

Description

Support to parse VR alert event according to different rail/type.

Temperature fault/under-voltage/over-current/over-voltage event

Motivation

Support to parse VR alert event according to different rail/type.

Test Plan

Build code: Pass
Send Vr alert event to BMC: Pass

Log

Get VR alert event based on test firmware (Both P0V8_VDD_1 and P0V8_VDD_2 trigger alert events) root@bmc-oob:~# log-util all --print
2018 Mar 09 06:43:07 log-util: User cleared all logs
0    all      2018-03-09 06:43:27    pldmd            Device type: CB_P0V8_VDD_1 (0x1), board info: MAIN_SOURCE (0x0), event type: OVER_TEMPERATURE (0x5) Assert event
0    all      2018-03-09 06:43:27    pldmd            Device type: CB_P0V8_VDD_1 (0x1), board info: MAIN_SOURCE (0x0), event type: UNDER_VOLTAGE (0x4) Assert event
0    all      2018-03-09 06:43:27    pldmd            Device type: CB_P0V8_VDD_2 (0x2), board info: MAIN_SOURCE (0x0), event type: OVER_CURRENT (0x3) Assert event
0    all      2018-03-09 06:43:27    pldmd            Device type: CB_P0V8_VDD_2 (0x2), board info: MAIN_SOURCE (0x0), event type: OVER_VOLTAGE (0x2) Assert event
0    all      2018-03-09 06:43:30    pldmd            Device type: CB_P0V8_VDD_1 (0x1), board info: MAIN_SOURCE (0x0), event type: OVER_TEMPERATURE (0x5) Deassert event
0    all      2018-03-09 06:43:30    pldmd            Device type: CB_P0V8_VDD_1 (0x1), board info: MAIN_SOURCE (0x0), event type: UNDER_VOLTAGE (0x4) Deassert event
0    all      2018-03-09 06:43:30    pldmd            Device type: CB_P0V8_VDD_2 (0x2), board info: MAIN_SOURCE (0x0), event type: OVER_CURRENT (0x3) Deassert event
0    all      2018-03-09 06:43:30    pldmd            Device type: CB_P0V8_VDD_2 (0x2), board info: MAIN_SOURCE (0x0), event type: OVER_VOLTAGE (0x2) Deassert event

Get VR alert event based on test firmware (Only P0V8_VDD_1 trigger alert events) root@bmc-oob:~# log-util all --print
2018 Mar 09 05:14:21 log-util: User cleared all logs
0    all      2018-03-09 05:14:25    pldmd            Device type: CB_P0V8_VDD_1 (0x1), board info: MAIN_SOURCE (0x0), event type: OVER_CURRENT (0x3) Assert event
0    all      2018-03-09 05:14:25    pldmd            Device type: CB_P0V8_VDD_1 (0x1), board info: MAIN_SOURCE (0x0), event type: OVER_VOLTAGE (0x2) Assert event
0    all      2018-03-09 05:14:30    pldmd            Device type: CB_P0V8_VDD_1 (0x1), board info: MAIN_SOURCE (0x0), event type: OVER_CURRENT (0x3) Deassert event
0    all      2018-03-09 05:14:30    pldmd            Device type: CB_P0V8_VDD_1 (0x1), board info: MAIN_SOURCE (0x0), event type: OVER_VOLTAGE (0x2) Deassert event

Get VR alert event based on test firmware (Only P0V8_VDD_2 trigger alert events) root@bmc-oob:~# log-util all --print
2018 Mar 09 05:16:01 log-util: User cleared all logs
0    all      2018-03-09 05:16:08    pldmd            Device type: CB_P0V8_VDD_2 (0x2), board info: MAIN_SOURCE (0x0), event type: OVER_TEMPERATURE (0x5) Assert event
0    all      2018-03-09 05:16:11    pldmd            Device type: CB_P0V8_VDD_2 (0x2), board info: MAIN_SOURCE (0x0), event type: OVER_TEMPERATURE (0x5) Deassert event

close this pr because merge to another commit


Bug: sope of asyncpg DI in sse route

Description
I would have expect this code to be ok, however it seems like whe inside the generator I try to access the db the connection has already been released to the pool.
So I'm not sure if this classifies as a bug, ie shoul the db conneciton last the time of the stream response or not, If it is not then it looks like to me it's kind of impossible to fetch db inside a generator that will be streamed, and I have not been able to find a way so far.
the trace fro the mvce below:
❯ uvicorn test_apps.sse_asyncpg:app --reload
INFO:     Will watch for changes in these directories: ['/home/lotso/PycharmProjects/litestar']
INFO:     Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [75842] using WatchFiles
INFO:     Started server process [75844]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     <IP_ADDRESS>:37394 - "GET /stream HTTP/1.1" 200 OK
ERROR - &���,-472531846 - litestar - middleware - exception raised on http connection to route /stream

Traceback (most recent call last):
    | Traceback (most recent call last):
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 78, in _call_next
    |     return next(self.iterator)
    |            ^^^^^^^^^^^^^^^^^^^
    | StopIteration
    |
    | The above exception was the direct cause of the following exception:
    |
    | Traceback (most recent call last):
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 85, in _async_generator
    |     yield await sync_to_thread(self._call_next)
    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/litestar/concurrency.py", line 62, in sync_to_thread
    |     return await _run_sync_asyncio(fn, *args, **kwargs)
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/litestar/concurrency.py", line 38, in _run_sync_asyncio
    |     return await asyncio.get_running_loop().run_in_executor(get_asyncio_executor(), bound_fn)  # pyright: ignore
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/.asdf/installs/python/3.11.7/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    |     result = self.fn(*self.args, **self.kwargs)
    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 80, in _call_next
    |     raise ValueError from e
    | ValueError
    |
    | During handling of the above exception, another exception occurred:
    |
    | Traceback (most recent call last):
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 111, in _stream
    |     async for chunk in self.iterator:
    |   File "/home/lotso/PycharmProjects/litestar/litestar/utils/sync.py", line 79, in __anext__
    |     return await self.generator.__anext__()
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 87, in _async_generator
    |     async for value in self.content_async_iterator:
    |   File "/home/lotso/PycharmProjects/litestar/test_apps/sse_asyncpg.py", line 36, in stream_generator
    |     r = await conn.execute("select randon()")
    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/asyncpg/pool.py", line 50, in call_con_method
    |     raise exceptions.InterfaceError(
    | asyncpg.exceptions._base.InterfaceError: cannot call Connection.execute(): connection has been released back to the pool
    +------------------------------------
Traceback (most recent call last):
  File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 134, in send_body
    await self._listen_for_disconnect(cancel_scope=task_group.cancel_scope, receive=receive)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 100, in _listen_for_disconnect
    await self._listen_for_disconnect(cancel_scope=cancel_scope, receive=receive)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 94, in _listen_for_disconnect
    message = await receive()
              ^^^^^^^^^^^^^^^
  File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 587, in receive
    await self.message_event.wait()
  File "/home/lotso/.asdf/installs/python/3.11.7/lib/python3.11/asyncio/locks.py", line 213, in wait
    await fut
asyncio.exceptions.CancelledError: Cancelled by cancel scope 7f0e1fd5bf50

During handling of the above exception, another exception occurred:

  + Exception Group Traceback (most recent call last):
  |   File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 192, in __call__
  |     await self.app(scope, receive, send)
  |   File "/home/lotso/PycharmProjects/litestar/litestar/routes/http.py", line 86, in handle
  |     await response(scope, receive, send)
  |   File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 197, in __call__
  |     await self.send_body(send=send, receive=receive)
  |   File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 132, in send_body
  |     async with create_task_group() as task_group:
  |   File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 678, in __aexit__
  |     raise BaseExceptionGroup(
  | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
  +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 78, in _call_next
    |     return next(self.iterator)
    |            ^^^^^^^^^^^^^^^^^^^
    | StopIteration
    |
    | The above exception was the direct cause of the following exception:
    |
    | Traceback (most recent call last):
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 85, in _async_generator
    |     yield await sync_to_thread(self._call_next)
    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/litestar/concurrency.py", line 62, in sync_to_thread
    |     return await _run_sync_asyncio(fn, *args, **kwargs)
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/litestar/concurrency.py", line 38, in _run_sync_asyncio
    |     return await asyncio.get_running_loop().run_in_executor(get_asyncio_executor(), bound_fn)  # pyright: ignore
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/.asdf/installs/python/3.11.7/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    |     result = self.fn(*self.args, **self.kwargs)
    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 80, in _call_next
    |     raise ValueError from e
    | ValueError
    |
    | During handling of the above exception, another exception occurred:
    |
    | Traceback (most recent call last):
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 111, in _stream
    |     async for chunk in self.iterator:
    |   File "/home/lotso/PycharmProjects/litestar/litestar/utils/sync.py", line 79, in __anext__
    |     return await self.generator.__anext__()
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 87, in _async_generator
    |     async for value in self.content_async_iterator:
    |   File "/home/lotso/PycharmProjects/litestar/test_apps/sse_asyncpg.py", line 36, in stream_generator
    |     r = await conn.execute("select randon()")
    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/asyncpg/pool.py", line 50, in call_con_method
    |     raise exceptions.InterfaceError(
    | asyncpg.exceptions._base.InterfaceError: cannot call Connection.execute(): connection has been released back to the pool
    +------------------------------------
ERROR - ,-472531813 - litestar - middleware - exception raised on http connection to route /stream

Traceback (most recent call last):
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 80, in _call_next
    |     raise ValueError from e
    | ValueError
    |
    | During handling of the above exception, another exception occurred:
    |
    | Traceback (most recent call last):
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 111, in _stream
    |     async for chunk in self.iterator:
    |   File "/home/lotso/PycharmProjects/litestar/litestar/utils/sync.py", line 79, in __anext__
    |     return await self.generator.__anext__()
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 87, in _async_generator
    |     async for value in self.content_async_iterator:
    |   File "/home/lotso/PycharmProjects/litestar/test_apps/sse_asyncpg.py", line 36, in stream_generator
    |     r = await conn.execute("select randon()")
    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/asyncpg/pool.py", line 50, in call_con_method
    |     raise exceptions.InterfaceError(
    | asyncpg.exceptions._base.InterfaceError: cannot call Connection.execute(): connection has been released back to the pool
    +------------------------------------

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 192, in __call__
    await self.app(scope, receive, send)
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 206, in __call__
    await self.handle_request_exception(
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 236, in handle_request_exception
    await response.to_asgi_response(app=None, request=request)(scope=scope, receive=receive, send=send)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 191, in __call__
    await self.start_response(send=send)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 162, in start_response
    await send(event)
  File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 541, in send
    raise RuntimeError(msg % message_type)
RuntimeError: Expected ASGI message 'http.response.body', but got 'http.response.start'.
Traceback (most recent call last):
  File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 134, in send_body
    await self._listen_for_disconnect(cancel_scope=task_group.cancel_scope, receive=receive)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 100, in _listen_for_disconnect
    await self._listen_for_disconnect(cancel_scope=cancel_scope, receive=receive)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 94, in _listen_for_disconnect
    message = await receive()
              ^^^^^^^^^^^^^^^
  File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 587, in receive
    await self.message_event.wait()
  File "/home/lotso/.asdf/installs/python/3.11.7/lib/python3.11/asyncio/locks.py", line 213, in wait
    await fut
asyncio.exceptions.CancelledError: Cancelled by cancel scope 7f0e1fd5bf50

During handling of the above exception, another exception occurred:

  + Exception Group Traceback (most recent call last):
  |   File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 192, in __call__
  |     await self.app(scope, receive, send)
  |   File "/home/lotso/PycharmProjects/litestar/litestar/routes/http.py", line 86, in handle
  |     await response(scope, receive, send)
  |   File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 197, in __call__
  |     await self.send_body(send=send, receive=receive)
  |   File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 132, in send_body
  |     async with create_task_group() as task_group:
  |   File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 678, in __aexit__
  |     raise BaseExceptionGroup(
  | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
  +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 78, in _call_next
    |     return next(self.iterator)
    |            ^^^^^^^^^^^^^^^^^^^
    | StopIteration
    |
    | The above exception was the direct cause of the following exception:
    |
    | Traceback (most recent call last):
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 85, in _async_generator
    |     yield await sync_to_thread(self._call_next)
    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/litestar/concurrency.py", line 62, in sync_to_thread
    |     return await _run_sync_asyncio(fn, *args, **kwargs)
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/litestar/concurrency.py", line 38, in _run_sync_asyncio
    |     return await asyncio.get_running_loop().run_in_executor(get_asyncio_executor(), bound_fn)  # pyright: ignore
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/.asdf/installs/python/3.11.7/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    |     result = self.fn(*self.args, **self.kwargs)
    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 80, in _call_next
    |     raise ValueError from e
    | ValueError
    |
    | During handling of the above exception, another exception occurred:
    |
    | Traceback (most recent call last):
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 111, in _stream
    |     async for chunk in self.iterator:
    |   File "/home/lotso/PycharmProjects/litestar/litestar/utils/sync.py", line 79, in __anext__
    |     return await self.generator.__anext__()
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 87, in _async_generator
    |     async for value in self.content_async_iterator:
    |   File "/home/lotso/PycharmProjects/litestar/test_apps/sse_asyncpg.py", line 36, in stream_generator
    |     r = await conn.execute("select randon()")
    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/asyncpg/pool.py", line 50, in call_con_method
    |     raise exceptions.InterfaceError(
    | asyncpg.exceptions._base.InterfaceError: cannot call Connection.execute(): connection has been released back to the pool
    +------------------------------------

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 192, in __call__
    await self.app(scope, receive, send)
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 206, in __call__
    await self.handle_request_exception(
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 236, in handle_request_exception
    await response.to_asgi_response(app=None, request=request)(scope=scope, receive=receive, send=send)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 191, in __call__
    await self.start_response(send=send)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 162, in start_response
    await send(event)
  File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 541, in send
    raise RuntimeError(msg % message_type)
RuntimeError: Expected ASGI message 'http.response.body', but got 'http.response.start'.
ERROR - ,-472531810 - litestar - middleware - exception raised on http connection to route /stream

Traceback (most recent call last):
    +------------------------------------

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 192, in __call__
    await self.app(scope, receive, send)
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 206, in __call__
    await self.handle_request_exception(
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 236, in handle_request_exception
    await response.to_asgi_response(app=None, request=request)(scope=scope, receive=receive, send=send)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 191, in __call__
    await self.start_response(send=send)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 162, in start_response
    await send(event)
  File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 541, in send
    raise RuntimeError(msg % message_type)
RuntimeError: Expected ASGI message 'http.response.body', but got 'http.response.start'.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 192, in __call__
    await self.app(scope, receive, send)
  File "/home/lotso/PycharmProjects/litestar/litestar/_asgi/asgi_router.py", line 84, in __call__
    await asgi_app(scope, receive, send)
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 206, in __call__
    await self.handle_request_exception(
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 236, in handle_request_exception
    await response.to_asgi_response(app=None, request=request)(scope=scope, receive=receive, send=send)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 191, in __call__
    await self.start_response(send=send)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 162, in start_response
    await send(event)
  File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 541, in send
    raise RuntimeError(msg % message_type)
RuntimeError: Expected ASGI message 'http.response.body', but got 'http.response.start'.
Traceback (most recent call last):
  File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 134, in send_body
    await self._listen_for_disconnect(cancel_scope=task_group.cancel_scope, receive=receive)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 100, in _listen_for_disconnect
    await self._listen_for_disconnect(cancel_scope=cancel_scope, receive=receive)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 94, in _listen_for_disconnect
    message = await receive()
              ^^^^^^^^^^^^^^^
  File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 587, in receive
    await self.message_event.wait()
  File "/home/lotso/.asdf/installs/python/3.11.7/lib/python3.11/asyncio/locks.py", line 213, in wait
    await fut
asyncio.exceptions.CancelledError: Cancelled by cancel scope 7f0e1fd5bf50

During handling of the above exception, another exception occurred:

  + Exception Group Traceback (most recent call last):
  |   File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 192, in __call__
  |     await self.app(scope, receive, send)
  |   File "/home/lotso/PycharmProjects/litestar/litestar/routes/http.py", line 86, in handle
  |     await response(scope, receive, send)
  |   File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 197, in __call__
  |     await self.send_body(send=send, receive=receive)
  |   File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 132, in send_body
  |     async with create_task_group() as task_group:
  |   File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 678, in __aexit__
  |     raise BaseExceptionGroup(
  | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
  +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 78, in _call_next
    |     return next(self.iterator)
    |            ^^^^^^^^^^^^^^^^^^^
    | StopIteration
    |
    | The above exception was the direct cause of the following exception:
    |
    | Traceback (most recent call last):
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 85, in _async_generator
    |     yield await sync_to_thread(self._call_next)
    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/litestar/concurrency.py", line 62, in sync_to_thread
    |     return await _run_sync_asyncio(fn, *args, **kwargs)
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/litestar/concurrency.py", line 38, in _run_sync_asyncio
    |     return await asyncio.get_running_loop().run_in_executor(get_asyncio_executor(), bound_fn)  # pyright: ignore
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/.asdf/installs/python/3.11.7/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    |     result = self.fn(*self.args, **self.kwargs)
    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 80, in _call_next
    |     raise ValueError from e
    | ValueError
    |
    | During handling of the above exception, another exception occurred:
    |
    | Traceback (most recent call last):
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 111, in _stream
    |     async for chunk in self.iterator:
    |   File "/home/lotso/PycharmProjects/litestar/litestar/utils/sync.py", line 79, in __anext__
    |     return await self.generator.__anext__()
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 87, in _async_generator
    |     async for value in self.content_async_iterator:
    |   File "/home/lotso/PycharmProjects/litestar/test_apps/sse_asyncpg.py", line 36, in stream_generator
    |     r = await conn.execute("select randon()")
    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/asyncpg/pool.py", line 50, in call_con_method
    |     raise exceptions.InterfaceError(
    | asyncpg.exceptions._base.InterfaceError: cannot call Connection.execute(): connection has been released back to the pool
    +------------------------------------

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 192, in __call__
    await self.app(scope, receive, send)
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 206, in __call__
    await self.handle_request_exception(
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 236, in handle_request_exception
    await response.to_asgi_response(app=None, request=request)(scope=scope, receive=receive, send=send)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 191, in __call__
    await self.start_response(send=send)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 162, in start_response
    await send(event)
  File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 541, in send
    raise RuntimeError(msg % message_type)
RuntimeError: Expected ASGI message 'http.response.body', but got 'http.response.start'.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 192, in __call__
    await self.app(scope, receive, send)
  File "/home/lotso/PycharmProjects/litestar/litestar/_asgi/asgi_router.py", line 84, in __call__
    await asgi_app(scope, receive, send)
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 206, in __call__
    await self.handle_request_exception(
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 236, in handle_request_exception
    await response.to_asgi_response(app=None, request=request)(scope=scope, receive=receive, send=send)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 191, in __call__
    await self.start_response(send=send)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 162, in start_response
    await send(event)
  File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 541, in send
    raise RuntimeError(msg % message_type)
RuntimeError: Expected ASGI message 'http.response.body', but got 'http.response.start'.
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 134, in send_body
    await self._listen_for_disconnect(cancel_scope=task_group.cancel_scope, receive=receive)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 100, in _listen_for_disconnect
    await self._listen_for_disconnect(cancel_scope=cancel_scope, receive=receive)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 94, in _listen_for_disconnect
    message = await receive()
              ^^^^^^^^^^^^^^^
  File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 587, in receive
    await self.message_event.wait()
  File "/home/lotso/.asdf/installs/python/3.11.7/lib/python3.11/asyncio/locks.py", line 213, in wait
    await fut
asyncio.exceptions.CancelledError: Cancelled by cancel scope 7f0e1fd5bf50

During handling of the above exception, another exception occurred:

  + Exception Group Traceback (most recent call last):
  |   File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 192, in __call__
  |     await self.app(scope, receive, send)
  |   File "/home/lotso/PycharmProjects/litestar/litestar/routes/http.py", line 86, in handle
  |     await response(scope, receive, send)
  |   File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 197, in __call__
  |     await self.send_body(send=send, receive=receive)
  |   File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 132, in send_body
  |     async with create_task_group() as task_group:
  |   File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 678, in __aexit__
  |     raise BaseExceptionGroup(
  | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
  +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 78, in _call_next
    |     return next(self.iterator)
    |            ^^^^^^^^^^^^^^^^^^^
    | StopIteration
    |
    | The above exception was the direct cause of the following exception:
    |
    | Traceback (most recent call last):
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 85, in _async_generator
    |     yield await sync_to_thread(self._call_next)
    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/litestar/concurrency.py", line 62, in sync_to_thread
    |     return await _run_sync_asyncio(fn, *args, **kwargs)
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/litestar/concurrency.py", line 38, in _run_sync_asyncio
    |     return await asyncio.get_running_loop().run_in_executor(get_asyncio_executor(), bound_fn)  # pyright: ignore
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/.asdf/installs/python/3.11.7/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    |     result = self.fn(*self.args, **self.kwargs)
    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 80, in _call_next
    |     raise ValueError from e
    | ValueError
    |
    | During handling of the above exception, another exception occurred:
    |
    | Traceback (most recent call last):
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/streaming.py", line 111, in _stream
    |     async for chunk in self.iterator:
    |   File "/home/lotso/PycharmProjects/litestar/litestar/utils/sync.py", line 79, in __anext__
    |     return await self.generator.__anext__()
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/litestar/response/sse.py", line 87, in _async_generator
    |     async for value in self.content_async_iterator:
    |   File "/home/lotso/PycharmProjects/litestar/test_apps/sse_asyncpg.py", line 36, in stream_generator
    |     r = await conn.execute("select randon()")
    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/asyncpg/pool.py", line 50, in call_con_method
    |     raise exceptions.InterfaceError(
    | asyncpg.exceptions._base.InterfaceError: cannot call Connection.execute(): connection has been released back to the pool
    +------------------------------------

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 192, in __call__
    await self.app(scope, receive, send)
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 206, in __call__
    await self.handle_request_exception(
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 236, in handle_request_exception
    await response.to_asgi_response(app=None, request=request)(scope=scope, receive=receive, send=send)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 191, in __call__
    await self.start_response(send=send)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 162, in start_response
    await send(event)
  File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 541, in send
    raise RuntimeError(msg % message_type)
RuntimeError: Expected ASGI message 'http.response.body', but got 'http.response.start'.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 192, in __call__
    await self.app(scope, receive, send)
  File "/home/lotso/PycharmProjects/litestar/litestar/_asgi/asgi_router.py", line 84, in __call__
    await asgi_app(scope, receive, send)
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 206, in __call__
    await self.handle_request_exception(
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 236, in handle_request_exception
    await response.to_asgi_response(app=None, request=request)(scope=scope, receive=receive, send=send)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 191, in __call__
    await self.start_response(send=send)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 162, in start_response
    await send(event)
  File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 541, in send
    raise RuntimeError(msg % message_type)
RuntimeError: Expected ASGI message 'http.response.body', but got 'http.response.start'.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 426, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/lotso/PycharmProjects/litestar/litestar/app.py", line 541, in __call__
    await self.asgi_handler(scope, receive, self._wrap_send(send=send, scope=scope))  # type: ignore[arg-type]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 206, in __call__
    await self.handle_request_exception(
  File "/home/lotso/PycharmProjects/litestar/litestar/middleware/exceptions/middleware.py", line 236, in handle_request_exception
    await response.to_asgi_response(app=None, request=request)(scope=scope, receive=receive, send=send)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 191, in __call__
    await self.start_response(send=send)
  File "/home/lotso/PycharmProjects/litestar/litestar/response/base.py", line 162, in start_response
    await send(event)
  File "/home/lotso/PycharmProjects/litestar/.venv/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 541, in send
    raise RuntimeError(msg % message_type)
RuntimeError: Expected ASGI message 'http.response.body', but got 'http.response.start'.

URL to code causing the issue
No response
MCVE
import asyncio
from contextlib import asynccontextmanager
from typing import AsyncGenerator

from asyncpg import Connection, Pool, create_pool

from litestar import Litestar, get
from litestar.datastructures import State
from litestar.di import Provide
from litestar.response.sse import ServerSentEventMessage, ServerSentEvent

@asynccontextmanager
async def lifespan(
        _app: Litestar,
) -> AsyncGenerator[None, None]:
    dbpool = await create_pool("postgresql://postgres:postgres@localhost:5432/postgres")
    _app.state.dbpool = dbpool
    try:
        yield
    finally:
        dbpool.terminate()
        await dbpool.close()

async def get_connection(state: State) -> AsyncGenerator[Connection, None]:
    pool: Pool = state.dbpool
    async with pool.acquire() as conn:
        yield conn

@get("/stream", name="stream")
async def stream(conn: Connection) -> ServerSentEvent:
    async def stream_generator(conn: Connection) -> None:
        await asyncio.sleep(1)
        r = await conn.execute("select randon()")
        yield ServerSentEventMessage(data=r)

    return ServerSentEvent(stream_generator(conn))

app = Litestar(debug=True, route_handlers=[stream], lifespan=[lifespan], dependencies={"conn": Provide(get_connection)})

Steps to reproduce
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

Screenshots
"![SCREENSHOT_DESCRIPTION](SCREENSHOT_LINK.png)"

Logs
No response
Litestar Version
2.5.0
Platform

[X] Linux
[ ] Mac
[ ] Windows
[ ] Other (Please specify in the description above)

[!NOTE]
While we are open for sponsoring on GitHub Sponsors and
OpenCollective, we also utilize Polar.sh to engage in pledge-based sponsorship.
Check out all issues funded or available for funding on our Polar.sh dashboard

If you would like to see an issue prioritized, make a pledge towards it!
We receive the pledge once the issue is completed & verified
This, along with engagement in the community, helps us know which features are a priority to our users.

This is not a bug and is actually mentioned in the docs, but I can see how it might be unexpected.
The reason for this is that the scope of the dependencies is tied to the handler function and not the response being sent.

The cleanup stage is executed after the handler function returns, but before the response is sent (in case of HTTP requests)

https://docs.litestar.dev/latest/usage/dependency-injection.html#dependencies-with-yield-cleanup-step

While this is in line with how other frameworks (FastAPI and Sanic as well afaik) handle it, I think ideally, you'd be able to define this scope yourself and change the default behaviour. We could revisit this when we do the DI overhaul.

Currently, the only proper solution would be to manage the connection inside the generator yourself, something like:

async def get_connection(state: State) -> AsyncGenerator[Connection, None]:
    pool: Pool = state.dbpool
    async with pool.acquire() as conn:
        yield conn

@get("/stream", name="stream")
async def stream(state: State) -> ServerSentEvent:
    async def stream_generator(pool: Pool) -> None:
        async with pool.acquire() as conn:
            await asyncio.sleep(1)
            r = await conn.execute("select randon()")
            yield ServerSentEventMessage(data=r)

    return ServerSentEvent(stream_generator(state.pool))

ok got it, I didn't think about getting the connection that way but this is exactly how I do it in guards :man_facepalming:
I'm fine doing it this way, I just dont know given the stream can last a while if there wont be timeout issues but I guess testing it will probably be the best answer


docs: fix typo for options used in querycache

Fixing typo for the type of defaultConfig

:tada: This PR is included in version 2.26.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 3.2.0-beta.27 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Cleanup primitive structures

This seems to be a performance degradation somewhat, I am investigating options

This actually broke silveroak-opentitan/aes/; the CI didn't catch it because of the issue mentioned in https://github.com/project-oak/oak-hardware/pull/328#issuecomment-720485345
CI should be able to catch the issue now.


Backup File Format Error

Could not load backup files
To Reproduce
Steps to reproduce the behavior:

Go to Download files
Click on UserdataBackup_07-15-2023_XXXXDESKTOP.jwlibrary
Drag and drop in JWLMerge (latest version)
See error Wrong database version found (13) in

Expected behavior
A backup file to drop into merging app to compare and merge.
Screenshots

Desktop (please complete the following information):

Windows version 22H2 (OS Build 22621.1992)
Same behavior with my iPad and iPhone files.
Happened after loading JW library version 14.0 (307859)

@ronaaronallen Note that this project is no longer compatible with the latest version of the JW Library. In July 2023 the database schema was changed from v8 to v13 and I will not be updating JWLMerge to support the new version. In Jan 2023, the JW Library licence agreement was strengthened, but it also gave opportunity for 3rd party developers to apply for official permission to do the sort of work that is present in JWLMerge. I made an application in January but have not received permission, and in these circumstances feel it best to archive the project at this juncture. Thank you for your understanding, and for your valuable input and feedback on the project over the last 6 years.

Question - Does this mean that we will no longer be able to merge with JW Library?  Is it possible to retrieve an older version of the app to merge?  thoughts

This is indeed breaking news.
I use JW Library on PC, tablet and smartphone.
Then I would have to make sure I always have the latest file transferred to the other device before doing anything there, right?
Or are there alternatives to having notes on one device about a particular publication, but a more recent data set on the other device?

@mur-dock please refer to JWL FAQ “Can I synchronize my personal data across my devices?”. In the response, “At this time” might suggest that it’s in the pipeline. It’s surely on the list of desirable features but the implementation and maintenance of the feature may not be trivial.


Evaluation of Serverless Solutions

User Story
As a DevOps
I want to use a serverless solution as execution environment
In order to take advantage of benefits such as the better scalability.
Acceptance Criteria

[ ] Create or reuse requirements for the serverless jailing solution.
[ ] Evaluate suitable jailing solutions

Implementation Note

[ ] Evaluate suitable jailing solutions

[ ] List existing Cloud Services that may provide a suitable solution.
[ ] Evaluate and filter the found solutions on a theoretical level.
[ ] Create PoC for the remaining solutions.
[ ] Evaluate the remaining solutions.

We could also think of serverless container-based solutions, such as AWS Fargate. This would also allow us to re-use the Docker images we already have for the on-premise Nomad installation.

What do you think of those Serverless Solutions to be evaluated?

AWS Fargate (Container-based)
Scaleway Functions (Function-based)
Scaleway Container (Container-based)
Azure Functions (Function-based)
Azure Container (Container-based)
Google Functions (Function-based)
Google Cloud Run (Container-based)

We already have a functioning Serverless Executor for Poseidon based on AWS Lambda Functions.
However, if I remember correctly, the AWS Functions are not fully isolated. AWS prewarms and reuses functions and, therefore, allows breaching the isolation e.g. on the filesystem layer and the process layer.
This reevaluation of Serverless Solutions should be used to identify a provider allowing such isolation and still keeping the advantages identified with the AWS solution.


feat: add clones and reduce check period for local cache

local-cache has a checkPeriod variable which is approximately how many seconds it wait before checking and deleting all expired keys, lower the amount of that and enable useClones which is to store/retrieve cache variable references instead of copies for perfomance

local-cache has a checkPeriod variable which is approximately how many seconds it wait before checking and deleting all expired keys, lower the amount of that and enable useClones which is to store/retrieve cache variable references instead of copies for perfomance

I think you meant disable useClones?

local-cache has a checkPeriod variable which is approximately how many seconds it wait before checking and deleting all expired keys, lower the amount of that and enable useClones which is to store/retrieve cache variable references instead of copies for perfomance

I think you meant disable useClones?

yeah that