TypeError: Cannot read property 'prototype' of undefined when test with ts-jest

Describe the bug
TypeError: Cannot read property 'prototype' of undefined
Stack trace
$ yarn test
yarn run v1.22.4
$ jest
 FAIL  src/tests/sample.test.ts (7.963 s)
  × sample (702 ms)

  ● sample

    TypeError: Cannot read property 'prototype' of undefined

       8 |
       9 | test("sample", async () => {
    > 10 |    await MikroORM.init({
         |                   ^
      11 |     dbName: DB_NAME,
      12 |     password: DB_PASSWORD,
      13 |     user: DB_USER,

      at PostgreSqlConnection.patchKnexClient (node_modules/@mikro-orm/knex/AbstractSqlConnection.js:155:37)
      at new AbstractSqlConnection (node_modules/@mikro-orm/knex/AbstractSqlConnection.js:33:14)
      at new PostgreSqlConnection (node_modules/@mikro-orm/postgresql/PostgreSqlConnection.js:6:1)
      at new AbstractSqlDriver (node_modules/@mikro-orm/knex/AbstractSqlDriver.js:11:27)
      at new PostgreSqlDriver (node_modules/@mikro-orm/postgresql/PostgreSqlDriver.js:9:9)
      at Configuration.initDriver (node_modules/@mikro-orm/core/utils/Configuration.js:160:16)
      at new Configuration (node_modules/@mikro-orm/core/utils/Configuration.js:25:28)
      at new MikroORM (node_modules/@mikro-orm/core/MikroORM.js:20:27)
      at Function.init (node_modules/@mikro-orm/core/MikroORM.js:40:21)
      at src/tests/sample.test.ts:10:19

Test Suites: 1 failed, 1 total
Tests:       1 failed, 1 total
Snapshots:   0 total
Time:        8.085 s
Ran all test suites.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

To Reproduce
Steps to reproduce the behavior:
sample.test.ts
import 'reflect-metadata'
import dotenv from 'dotenv';
dotenv.config()
import { MikroORM } from "@mikro-orm/core";
import path from "path";

const { DB_HOST, DB_NAME, DB_USER, DB_PASSWORD } = process.env;

test("sample", async () => {
   await MikroORM.init({
    dbName: DB_NAME,
    password: DB_PASSWORD,
    user: DB_USER,
    host: DB_HOST,
    port: 5050,
    debug: true,
    migrations: {
      path: path.join(__dirname, "../migrations"),
      pattern: /^[\w-]+\d+\.[tj]s$/,
    },
    entities: ["./dist/entities/**/*.js", "./dist/modules/**/*.entity.js"], // path to your JS entities (dist), relative to `baseDir`
    entitiesTs: ["./src/entities/**/*.ts", "./src/modules/**/*.entity.ts"], //path to your TS entities (source), relative to `baseDir`,
    tsNode: true,
    type: "postgresql",
  });
  expect(4 + 5).toBe(9);
});

jest.config.js
module.exports = {
  preset: "ts-jest",
  testEnvironment: "node",
  setupFilesAfterEnv: ["<rootDir>/src/config/tests.ts"],
  moduleDirectories: ["node_modules", "."],
  testPathIgnorePatterns: ["dist/", "build/"],
  moduleNameMapper: {
    "@root/(.*)": "<rootDir>/src/$1",
  },
};

dependencies
 "@mikro-orm/cli": "4.5.4",
    "@mikro-orm/core": "4.5.4",
    "@mikro-orm/migrations": "4.5.4",
    "@mikro-orm/postgresql": "4.5.4",

Expected behavior
No Errrors
Additional context
Versions

Dependency
Version

node
14.15.1

typescript
4.2.3

mikro-orm
4.5.4

your-driver
postgresql

Do you really think that there would be error reproducible just by initializing the ORM, and you would be the only one reporting it? Nope...
Closing, as this is obviously not reproducible like that. Check the example apps if you need help with setting things up. Or provide full reproduction.
Btw for folder based discovery you need to setup both entities and entitiesTs, otherwise things will break during development (when ts-node is used).
But that would not produce such error most probably, it points rather to you having some dependency problems, how does your package.json look like? You need to have the ORM packages aligned (e.g. core package needs to use the very same version as driver package and cli package).

I still can't setup test mikro-orm with ts-jest, please give me example of ts-jest setup

As I said, check the example apps, e.g. https://github.com/mikro-orm/nestjs-realworld-example-app has jest set up.
If you want more help, provide full repro, you are clearly trying more advanced setup, seeing the moduleNameMapper setting and moduleDirectories, you usually don't need that - do you have a monorepo? What is your full package.json? Do you have knex there? Because you should not, just a guess but I can imagine this happening if you somehow installed knex 0.95+ (MikroORM v4 is not compatible with that version).
If you haven't tried already, try wiping node_modules as well as the lockfile and reinstal. Also try npx mikro-orm debug and ensure the installed ORM packages really are on the same version.

As I said, check the example apps, e.g. https://github.com/mikro-orm/nestjs-realworld-example-app has jest set up.
If you want more help, provide full repro, you are clearly trying more advanced setup, seeing the moduleNameMapper setting and moduleDirectories, you usually don't need that - do you have a monorepo? What is your full package.json? Do you have knex there? Because you should not, just a guess but I can imagine this happening if you somehow installed knex 0.95+ (MikroORM v4 is not compatible with that version).
If you haven't tried already, try wiping node_modules as well as the lockfile and reinstal. Also try npx mikro-orm debug and ensure the installed ORM packages really are on the same version.

Yes, I run in monorepo, mikro-orm work ok when develope, but not when test.
Here is repo, please help me https://github.com/CANHBK/debug-mikro-orm.
My test file at packages/server/src/tests/sample.test.ts

I can't even install the dependencies in that repo.
error An unexpected error occurred: "https://registry.yarnpkg.com/@cvs%2fcommon: Not found".

As I already said, that jest config looked suspicious. Tried removing the moduleDirectories: ["node_modules", "."] part and tests are passing. That dot there seems weird, not sure why you had it there.

Thank you so much! That is the cause. But can you explain to me why?

As I already said, that jest config looked suspicious. Tried removing the moduleDirectories: ["node_modules", "."] part and tests are passing. That dot there seems weird, not sure why you had it there.

Thank you so much! That is the cause. But can you explain to me why?


Egg race condition

Summary of changes
This PR is an approach to #1412 that adds a test to induce this race condition. The test relies on implementation details, but that is made explicit in the text of the test, I have done it this way because there isn't another great way to deterministically induce the problem.
cc: @JonKohler
Closes #1256
Pull Request Checklist

[x] Changes have tests
[x] News fragment added in changelog.d. See documentation for details

Thanks for tackling this, I appreciate it! +1 from me

Yes this should replace your original PR since it solves the same problem in a different way. I've seen no objections since I opened this PR so I'm going to merge it.


bug(chatbar): chatbar is initially too large

pressing  "enter" will return it to its normal size.
tested on Linux.

also happens here
macOS, m1


Redundant 'v' in version string

Reproduce
$ md-proofer version

Expected Output
Markdown Proofer v0.3.0

Actual Output
Markdown Proofer vv0.3.0

Notes
It seems that Viper inserts the v for you. I'm issuing a PR to resolve this.

Fixed in #32.


2570 adding to class assert

Check List:

Fixes #2570
Unit tests : YES
Javadoc with a code example (on API only) : YES
PR meets the contributing guidelines

Following the contributing guidelines will make it easier for us to review and accept your PR.

Any updates for this? Just wanted to check in

Hi @nith2001, thank you for your patience. We are now focusing on releasing 3.23.0 and we will come back to new features once done with that.

Any updates on this PR? Last I remembered, the tests were failing for alternate reasons.

@nith2001 once more, thanks for your patience!
The PR looks good and the failures are due to some flaky tests, nothing you need to worry about.
There are a few cosmetic changes I'd do like tests following the GIVEN/WHEN/THEN and # # the use of expectAssertionError, I'll take care of them during the merge which I try to get it done during the week.

Thanks, @jessicant and @nith2001!
A few changes I've applied:

GIVEN/WHEN/THEN structure for tests.
Assertion implementation moved to AbstractClassAssert as a private method, since it's unlikely it'll ever be shared with other internal parts of AssertJ. This simplifies the overall maintenance.


Extracting an image profile is not straightforward

Currently, DataLab supports two profile extraction features:

Horizontal/vertical line profile extraction
Horizontal/vertical average profile extraction (average on a user-defined rectangular area)

Accessing those features is not straightforward:

Select the image in the plot view
Select the profile tool ("Cross section" or "Average cross section", on the vertical toolbar):

Select the area of interest
Click on the "Process signal" button to send the profile to the "Signals" panel for further processing:

Is it user friendly? (probably not)
Should we implement a more straightforward approach based on a new "Extract profile..." feature in "Operations" menu?
This feature would open a modal dialog allowing to select the profile extraction tools more easily.

Since commit 9b793be, added two entries in "Operations" menu for profile extraction:

For now, parameters have to be manually entered (no graphical selection available):

Problem solved with 684aa40da3b22095c9587b13dff10252caf198e1:


Response channel for stream X not found error after cancelling HTTP request context

It seems quic-go's internal state gets broken when one or more HTTP requests are cancelled mid-stream. When this happens, a significant part of any existing and future HTTP requests over the same connection will fail with InvalidHeadersStreamData: response channel for stream X not found
To reproduce:

Create N http clients through:

httpClients = make([]http.Client, N)
for i := 0; i < N; i++ {
  transport := &h2quic.RoundTripper{
				QuicConfig: &quic.Config{
					KeepAlive:                   true,
					RequestConnectionIDOmission: false,
				},
				DisableCompression: true,
			}
  httpClients[i] = http.Client{Transport: transport}
}

Schedule M HTTP requests on the N http clients (where M > N). Use http.NewRequest("GET", url, nil).WithContext(ctx) to allow cancellation of the HTTP requests.
Randomly cancel a few HTTP requests by calling ctx.Cancel()

A very significant percentage of the HTTP requests will fail with the following error: InvalidHeadersStreamData: response channel for stream X not found

Note that after analysing lots of logs, I noticed that irrespective of how many http requests I performed over the same connection, the InvalidHeadersStreamData error always reported the same stream IDs to not be found. In other words, it seems the stream counter no longer counts up after this error happens for the first time.

Thanks for reporting! 👍
You don't even need N clients, using one client is enough to reproduce that error. All requests after the canceled request fail.
The problem seems to be that if the request was already sent out, we need to read the header frame of the response, and discard it.

Yes, you're absolutely right. Thanks!

Hello @rayvbr, I already have a fix for a couple of weeks, but I'm struggling with the test cases. I hope I'll find the time to fix everything soon.

Thanks @marten-seemann! If there's anything I can do to help, let me know

Closed by #1852.


Outwatch.renderInto() uses a common magic value

I had difficulty using Outwatch.renderInto so I eventually hacked a solution using renderReplace.  It turns out I was using an element id "app" and renderInto was creating one with the same id.
Perhaps the magic value "app" should get changed to something less likely to collide in the wild?
  def renderInto(element: dom.Element, vNode: VNode)(implicit s: Scheduler): IO[Unit] = for {
    node <- vNode
    _ <- IO {
      val elem = dom.document.createElement("app")
      element.appendChild(elem)
      patch(elem, node.toSnabbdom)
    }
  } yield ()

Good catch! Thanks for reporting, I have made a PR using a hopefully uncommon name _outwatch_app_ (https://github.com/OutWatch/outwatch/pull/224).

Hmm, after talking with @fdietze, document.createElement(tagName) does not set the element id, but the tagName of the created element. It results in <app></app> (not sure whether this is a good tag-choice). So the problem is maybe somewhere else?
@marklister can you give an example where it breaks?

Here's working code:
private lazy val renderFunc = (pg: Future[VNode]) => {
    pg map { p =>
      OutWatch.renderReplace("#app", div(id := "app", p)).unsafeRunSync()
    }
  }

if I render like this : OutWatch.renderInto("#app",p).unsafeRunSync()
I get dom elements concated on a second render.
If I do this:
OutWatch.renderReplace("#app",  p).unsafeRunSync()
Only the first render succeeds.  Subsequent renders lack the 'app' target.  My intuition of renderInto or renderReplace was that one would be would simply repeatable.
my template contains a <div id="app">
When I spotted the magic value, sometime after I wrote this code I had an "Ahah!" moment without interrogating it too deeply.

The app element appears to have been removed from the current html spec.  Perhaps you might consider another?

I think there is a misunderstanding in the usage of the OutWatch.render* methods. The render-function is supposed to be called only once at the end of your program.
The VNodes are constructed to to only describe the data-flow of the user interface (with Observables).  Rerendering happens automatically when the observables trigger. Outwatch automatically handles the patching of the dom for you.

Bear in mind the code I posted was the render func of my router on a multi page app. And it's a bit of a hybrid having been ported from a scalatags dom thunking monstrosity. It works well like this, I'm very happy.


Getting language along with NFC message

On iOS, While scan NDEF, getting language along with data.
nfc.scanNdef().then(
(data) => {
console.log(window.nfc.bytesToString(data.ndefMessage[0].payload));
});
It return text : enHI
Here en indicating Language.
How to get only message.

You should probably check the NFC Data Exchange Format specifications.
If I remember correctly the first byte indicates the length of the language identifier (or it is just a unique ID), so this will be 0x02 followed by e and n. So probably, you are good to go by just skipping the first three bytes.


SQL Server Schema To Store Session Data

I want to create a table in my SQL Server to store session data. What would be the schema for that?

The schema is usually created by SQLAlchemy. Have a look at the simplekv documentation: http://pythonhosted.org/simplekv/db.html
If you are using SQLAlchemy in your application, just pass the Metadata of your application as the metadata parameter to the constructor, the necessary tables will be created on it.
If you need raw SQL, have a look at this: http://stackoverflow.com/questions/2128717/sqlalchemy-printing-raw-sql-from-create
You will need to create an empty Metadata object and pass it to the constructor. Afterwards you can print it out.


After Fritz OS Upgrade fritzcollectd stopped working

Hi,
after an Fritz OS Upgrade to 7.12 fritzcollectd stopped working. How to resolve?

Generally FritzOS 7.12 and 7.19 Beta show no problem. What is your log saying.

I resolved it: it was a problem with collectd. I had to restart it. I don't know why this happened during Upgrade to 7.12. Strange.


Clean and homogenize src/*/.gitignore

Q
A

Bug fix?
no

New feature?
no

Issues
Fix #...

License
MIT

Following @smnandre 's comment (https://github.com/symfony/ux/pull/1937#discussion_r1667323358), it looks like src/*/.gitignore files reference files that does not exist in the context of a Package.
For example, ignoring .php_cs.cache from a package does not make sense, since this file is created by PHP-CS-Fixer at the repository root.
Now, all the src/*/.gitignore contain at least this list:
/assets/node_modules/
/vendor/
/composer.lock
/phpunit.xml
/.phpunit.result.cache

To me, i think this should be something like
.gitignore
/vendor
/composer.lock
/.phpunit.result.cache

.gitattributes
/.git* export-ignore
/.symfony.bundle.yaml export-ignore
/assets/src export-ignore
/assets/test export-ignore
/phpunit.xml.dist export-ignore
/tests export-ignore

(without the assets line when/if not needed)
Probably also add when necessary

vitesst.config (ex: turbo)
docker-compose (ex: turbo)
phpstan (ex: turbo)

Be careful Turbo has some custom CI ;)

I didn't take a look since, maybe tonight!

I don't like adding generated files (phpunit/phpcs/.. cache) ... but  if we use CI actions that commit (auto-CS ?) this makes sense.
But i also realised all of those are already ignored in the root .gitignore
.doctor-rst.cache
.php-cs-fixer.cache
node_modules
yarn-error.log
/composer.lock
/vendor

(we may add phpunit.result.cache here)

So, after your explanations, the package folders could contain:
.gitignore
# not sure if here .. maybe in the global gitignore
/.php-cs-fixer.cache
/.phpunit.result.cache

# is the root one not enough ?
/assets/node_modules/

/vendor/
/composer.lock
/phpunit.xml

(with aditional files depending on the package content)
.gitattributes
/.gitattributes export-ignore
/.gitignore export-ignore
/.symfony.bundle.yaml export-ignore
/assets/src export-ignore
/assets/test export-ignore
/phpunit.xml.dist export-ignore
/tests export-ignore

(with aditional files depending on the package content)
# And soon
/doc/ export-ignore # as no one want to read raw RST file in their vendor folder
/phpstan.dist.neon export-ignore # if not in the root repo

Side question @Kocal :
Would it be something complicated / with consequences to put the node_module in the root directory of each package ? Or maybe "not advised" ?

So we may only need to update the root .gitignore one for now :)

Would it be something complicated / with consequences to put the node_module in the root directory of each package ? Or maybe "not advised" ?

Not complicated, but really not wanted. With this kind of project structure you want to use Yarn workspaces (added in #9 :D)

Rebased / clean in #https://github.com/symfony/ux/pull/2243 .. LGTM !


ActiveSupport::TimeWithZone inherits Time

According to documentation, ActiveSupport::TimeWithZone implements all Time methods. Is this the best way to do this?
https://api.rubyonrails.org/classes/ActiveSupport/TimeWithZone.html

Change to a mixin, fixed the build ◡̈

@tonybruess let's identify the methods missing between Time and TimeWithZone and manually define them please. I was under incorrect assumption that inheritance would be viable but we don't want exactly what it entails. I've added an explanation on the tapioca PR too https://github.com/Shopify/tapioca/pull/1352#issuecomment-1379548571. Sorry about the incorrect back and forth ❤


✨ Split notifications into two tabs: General and Requests

Fixes issue #249 by splitting the notification page into two tabs, one for general notifications and one for requests (currently connection requests and community invites).

This requires Okuna API PR #305 to function properly (without it all notifications are shown in both tabs).

Hmmmmm this won't work with the notificationsType enum change...

Correction, is this up to date with all notifications?
Also, with the enum change, could we do the same for any other types we have to convert?
Looks like a better solution than storing static strings

Correction, is this up to date with all notifications?

I believe so.

Also, with the enum change, could we do the same for any other types we have to convert?

What other types are you thinking of?


Docs:  maybe there has an error with the section of function members merging of interface

Page URL: declaration merging
Issue: the error is at the section of function members merging of interface, about the string literal type.
here is the desc of doc, which said the canvas param had the highest order at its merged overload list.
interface Document {
  createElement(tagName: any): Element;
}
interface Document {
  createElement(tagName: "div"): HTMLDivElement;
  createElement(tagName: "span"): HTMLSpanElement;
}
interface Document {
  createElement(tagName: string): HTMLElement;
  createElement(tagName: "canvas"): HTMLCanvasElement;
}

// after merged

interface Document {
  createElement(tagName: "canvas"): HTMLCanvasElement;
  createElement(tagName: "div"): HTMLDivElement;
  createElement(tagName: "span"): HTMLSpanElement;
  createElement(tagName: string): HTMLElement;
  createElement(tagName: any): Element;
}

here is the result that i run in playground:

obviously, the first param is div and second is span.
i want to know which is right, if the article has fault, i hope can be updated soon.
Recommended Fix:  when a function has a parameter whose type is a single string literal type ,  it will bubbled the top of its merged overload list. and the first declaration is ahead of the second. like the below example:
interface Document {
  createElement(tagName: any): Element;
}
interface Document {
  createElement(tagName: "div"): HTMLDivElement;
  createElement(tagName: "span"): HTMLSpanElement;
}
interface Document {
  createElement(tagName: string): HTMLElement;
  createElement(tagName: "canvas"): HTMLCanvasElement;
}

// after merged

interface Document {
  createElement(tagName: "div"): HTMLDivElement;
  createElement(tagName: "span"): HTMLSpanElement;
  createElement(tagName: "canvas"): HTMLCanvasElement;
  createElement(tagName: string): HTMLElement;
  createElement(tagName: any): Element;
}

sorry，i forgot to list the typescript version.


LS is used if jedi enabled is ticked

Environment data

VS Code version: 1.38.1
Extension version (available under the Extensions sidebar): 2019.9.34911
OS and version: Windows 10
Python version (& distribution if applicable, e.g. Anaconda): 3.7.3
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A
Relevant/affected Python packages and their versions: N/A
Jedi or Language Server? (i.e. what is "python.jediEnabled" set to; more info #3977): Trying to set Jedi

Expected behaviour
Jedi should be used
Actual behaviour
LS is used
Steps to reproduce:

Enable Jedi from the settings UI

@karrtikr Please could you look into this ASAP. Assigning to you as you've been working on LS activation related items (along with changes for LS experiment).

@luabud We might want to bring this into the current sprint as an unplanned item, once the bug has been identified.

@karthiknadig It just occurred to me that you may be in the LS experiment. Can you check the first lines in the Python output channel?

Yep, looks like it:
User belongs to experiment group 'ShowPlayIcon - runFile'
User belongs to experiment group 'LS - enabled'
Starting Microsoft Python language server.

Just for info, as long as you don't have python.jediEnabled setting present in User, workspace, or workspace folder settings.json, it's okay to fall in LS experiment. That must be the case for you, so closing this.

Note that changing the user settings in the UI removes that line from the json.

Is that expected behavior as well?

Yes, that's because it's the default value (either way, this behavior is controlled by VSCode, not us).

We had a discussion but couldn't think of an appropriate solution on how to handle this. Asking VSCode to remove this behavior is also not right, as they are just removing redundant entries in launch.json when possible.
Incorporating python.languageServer setting would seem to solve this problem. (but it has its own problems)

Looks like this has been discussed for a while: https://github.com/microsoft/vscode/issues/58038

Closing in favour of https://github.com/microsoft/vscode/issues/58038.


extend these iterators to other collections - like hypotheses, evars, etc.

I like the interface to this tactic (although the "run" keyword doesn't do much) - would it be hard to extend this interface to iterate over other useful lists, such as the list of hypotheses in the current goal (in both forward and reverse order), and the list of evars?
I have my own Ltac library of iterators over hypotheses, and it has been very useful - but I would not mind at all if it was replaced by an extension of this plugin.
Perhaps using some symbols to fill in for the "pseudo" hint db name of the hypotheses and evars.  One obvious one would be to use "?" as the name for the evars, so that:
foreach [ ? ] run f.
would invoke f once for each evar.  Perhaps "*|-" would work as the name for hypotheses?
foreach [ *|- ] run f.
And of course a way to reverse the order - perhaps by putting the word "reverse" in somewhere.
Another collection that would be useful to iterate over: constructors of an inductive type.  Maybe this syntax:
forach [ typename: ] run f.
Other collections: names in a module (so as to do a Search via Ltac), section vars, etc.
-- Jonathan

These all seem like very good ideas. Some of them I have a sense of how to implement. I'll see if I can look a bit more into this in the coming week.
Hint databases are probably actually the most complex because there are many things inside of a database, e.g. extern tactics.

I added the premises iterator (15ac7f5) and coded up some hooks to other iterators, but they are not implemented yet.
I also dropped the 'run'.


Bug in Carla example: No module named 'agents'

Running examples/carla/pid_control_simulator.py throws  ModuleNotFoundError: No module named 'agents'

@WhoAmI-kai  Did you get any solution to this?

Is it because carla/agents no longer exists? did it exist at some point?


chore: sync algebra.monoid algebra.basic

<EMAIL_ADDRESS>

Is this not #3059?

Is this not #3059?

My bad, missed that PR when the #port-dashport was stuck


[Enhancement]: "Complete" to cache

What happened?
Today, in-memory caching is enabled globally and at the entity level.
{
  "runtime": {
    "caching": {
        "enabled": true,
        "ttl-seconds": 10
    }
  }
}

and then in the entity:
{
  "entities": [
    "Book": {
      "caching": {
          "enabled": true,
          "ttl-seconds": 10
      }
    }
  ]
}

Proposal 0: Support Stored Procedures
There's no technical reason to omit procs.

In a recent Dab community poll, 25% of exposed objects were stored procs.
Proposal 1: CLI enhancement

Add caching to the add and update verbs.
When enabled for an entity, auto-enable globally.

This is not a breaking chance, caching was not in the CLI before this.
Proposal 2: HTTP headers
Add support for Request Header:

Cache-Control: no-cache: Forces to submit a query to the database.
Cache-Control: no-store: Instructs the cache not to cache the response.
Cache-Control: only-if-cached: Otherwise 504 Gateway Timeout status.

⚠ These request headers are always echoed back in the response headers.
Add support for Response Header:

When caching is involved, always add Cache-Control: public/private, max-age: {ttl-seconds}.

Which would introduce the following configuration:
{
  "entities": [
    "Book": {
      "caching": {
          "enabled": true,
          "ttl-seconds": 10,
          "response-directive": "public|private (default: public)" // new
      }
    }
  ]
}

The private response directive indicates that the response can be stored only in a private cache (e.g. local caches in browsers).
The public response directive indicates that the response can be stored in a shared cache. Responses for requests with Authorization header fields must not be stored in a shared cache; however, the public directive will cause such responses to be stored in a shared cache.

Proposal 3: Always return no-cache when not caching.

When caching is not involved in a call, always add Cache-Control: no-cache.

fyi for cache https://github.com/Azure/data-api-builder/blob/main/docs/design/query-caching.md#disclaimer-about-applicability-to-this-design-doc


I got # AIDL not found, please install it.

I got this error, but I don't know how to instal aidl, can anyone help me?
Traceback:
Aidl not found, please install it.
Traceback (most recent call last):
File "/action/entrypoint.py", line 159, in
main()
File "/action/entrypoint.py", line 27, in main
run_command(env["INPUT_COMMAND"])
File "/action/entrypoint.py", line 135, in run_command
retcode = subprocess.check_call(command, shell=True)
File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'buildozer android debug' returned non-zero exit status 1.
##[debug]Docker Action run completed with exit code 1
##[debug]Finishing: Build with Buildozer

Same

@Thimphu123 @JVProdc
add this in your spec file :
android.accept_sdk_license = True
let me know, if this fix your problem

@manatlan I switch to use python-for-android directly and it works

Ok, thank you

if anyone still searching for a solution, adding yes |  in front of the command worked for me. Also used the latest version so not sure if it's relevant, I had the accept_sdk_license flag previously set to true and it didn't help
      - name: Build with Buildozer
        uses<EMAIL_ADDRESS>        id: buildozerBuild
        with:
          command: yes | buildozer -v android debug
          buildozer_version: master

Problems solved!
@everyone
🎉 Exciting News! 🎉
I'm thrilled to announce that my APK build process for the SAMPLE-KIVYMD-APP repository has been successfully completed on GitHub! 🚀
It took some frustrating build failures but still I managed to succeed.
After resolving several challenges, my GitHub Actions workflow now reliably builds the APK for my KivyMD application, thanks to the latest updates and optimizations. This achievement marks a significant milestone for my project, bringing us one step closer to delivering an enhanced mobile experience.
🔧 Key Highlights:

Automated APK Building: Our workflow now efficiently handles the APK build process without manual intervention.
Optimized Dependencies: We’ve integrated all necessary dependencies, ensuring a smooth build environment.
Seamless Deployment: The build process is fully automated, making it easier to deploy updates and improvements.

For more details, you can check out the repository here. I am looking forward to your feedback.
Stay tuned for more updates and happy coding!


WinUI3 RuntimeComponent with BlankPage(WinUI3) cannot import to WinUI3 Desktop application development project

Describe the bug

Created WinUi3 Runtime Component.
Create the Functions , import .winmd file from WinUI3 Desktop application and calling the created functions is working fine.
Add new BlankPage (WinUI3) to the WinUi3 Runtime Component project.
Import .winmd file from  WinUI3 Desktop application recompile encounter  error C2039: 'RuntimeComponent1WinUI3': is not a member of 'winrt'
Please kindly advise as i am stacking here, thanks in advance.

Steps to reproduce the bug

Created WinUi3 Runtime Component.
Create the Functions , import .winmd file from WinUI3 Desktop application and calling the created functions is working fine.
Add new BlankPage (WinUI3) to the WinUi3 Runtime Component project.
Import .winmd file from  WinUI3 Desktop application recompile encounter  error C2039: 'RuntimeComponent1WinUI3': is not a member of 'winrt'
Please kindly advise as i am stacking here, thanks in advance.

Expected behavior
No response
Screenshots
No response
NuGet package version
No response
Windows app type

[ ] UWP
[ ] Win32

Device form factor
No response
Windows version
No response
Additional context
No response

After looking into this, I noticed that the full error message is along the lines of:
2>C:\Users\Darran\source\repos\Meh\Meh\Generated Files\XamlTypeInfo.g.cpp(318,44): error C2039: 'Test': is not a member of 'winrt'

This is quite interesting since this shows that the issue is in the generated metadata that the Xaml compiler generates. In particular, it is in the code that the application's metadata provider looks for other providers.
std::vector<::winrt::Microsoft::UI::Xaml::Markup::IXamlMetadataProvider> const& XamlTypeInfoProvider::OtherProviders()
{
    if (_otherProviders.empty())
    {
        _otherProviders.push_back(::winrt::Microsoft::UI::Xaml::XamlTypeInfo::XamlControlsXamlMetaDataProvider());
        _otherProviders.push_back(::winrt::Test::XamlMetaDataProvider()); //Here
    }
    return _otherProviders;
}

Having a bit of a look through this generated source file, while it generates the code to get the metadata provider from another component, it doesn't add any headers to define the provider types. My thought is that the Xaml compiler can't know what header it needs to include, so it expects you to provide this.
So after seeing this, I did one simple thing. In the application's precompiled header, I added the include for the added component.
//pch.h
#pragma once
#include <windows.h>
#include <unknwn.h>
#include <restrictederrorinfo.h>
#include <hstring.h>

// Undefine GetCurrentTime macro to prevent
// conflict with Storyboard::GetCurrentTime
#undef GetCurrentTime

#include <winrt/Windows.Foundation.h>
#include <winrt/Windows.Foundation.Collections.h>
#include <winrt/Windows.ApplicationModel.Activation.h>
#include <winrt/Microsoft.UI.Composition.h>
#include <winrt/Microsoft.UI.Xaml.h>
#include <winrt/Microsoft.UI.Xaml.Controls.h>
#include <winrt/Microsoft.UI.Xaml.Controls.Primitives.h>
#include <winrt/Microsoft.UI.Xaml.Data.h>
#include <winrt/Microsoft.UI.Xaml.Interop.h>
#include <winrt/Microsoft.UI.Xaml.Markup.h>
#include <winrt/Microsoft.UI.Xaml.Media.h>
#include <winrt/Microsoft.UI.Xaml.Navigation.h>
#include <winrt/Microsoft.UI.Xaml.Shapes.h>
#include <winrt/Microsoft.UI.Dispatching.h>
#include <winrt/Test.h> //<-Here
#include <wil/cppwinrt_helpers.h>

Since XamlTypeInfo.g.xpp includes pch.h, then it provides the type information for the external metadata provider and allows the application to compile successfully.
So try adding the header that defines RuntimeComponent1WinUI3 in your application's precompiled header and see if that helps.


'Incorrect Page' Opening When Clicking on Labels Card

Describe the bug
the bug is related to the labels card functionality, where clicking on it opens the wrong page (avatar_page) instead of the expected page. The wrong function is being passed, and the labels has not been implemented.
To Reproduce
Steps to reproduce the behavior:

Launch the Android app.
Navigate to the Labels.
Click on the card, associated with the incorrect page (avatar_page).

Expected behavior
Upon clicking on the card in the Labels, the app should open the corresponding expected page.
Screenshots

Wrong function has been passed here.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone :
Device: Samsung A14
OS: Android 13

I'm looking for ideas on implementing labels. When you mention labels, are you referring to chip widgets or something different? Could you please provide more information or even a screenshot as an example?

do you mean these Labels? or something else?

There is a bug in the labels card feature, causing it to redirect to the wrong page (avatar_page) instead of the intended page when clicked. The incorrect function is being passed, and the labels themselves have not been implemented yet , because there is no Label folder in ui_components  folder , thus needed to be created.
In Flutter, there is no specific widget called "Label." The term "label" is often used generically to refer to any widget that displays text or provides a descriptive caption.
On the other hand, the Chip widget in Flutter is specifically designed to represent a complex piece of information or attribute, typically in the form of a rounded rectangular shape. It usually includes an icon, label, or avatar and can have various states and interactivity.
I am interested to work on this issue please assign me this task as a GSSoC23 contributor @Rhishikesh12

@Disha152 Let's collaborate on this project. I also want to contribute, and I believe we can resolve this issue within a day. We can take ideas for what to build from the project admin, and then divide the work between us. To discuss the task, you can connect with me on LinkedIn or Instagram. Are you open to working together in collaboration?

@Rhishikesh12 assigning you

Thank you for assigning this issue to me. Could you please provide me with an idea of what labels are? Are they chip widgets or something else?

I'm looking for ideas on implementing labels. When you mention labels, are you referring to chip widgets or something different? Could you please provide more information or even a screenshot as an example?
 do you mean these Labels? or something else?

@Debajyoti14

@Rhishikesh12 Congrats on being assigning the issue . I would love to collaborate if you want . Also you can contact me through gmail<EMAIL_ADDRESS>

@Rhishikesh12 Don't use any third party library here for adding these chips and labels

@Debajyoti14  I request you to assign this issue to me as I have a clear idea about labels to implement , and after in conversation with @Rhishikesh12 we both agree that this particular issue should be assigned to me as early as possible so that I can start my work

@Rhishikesh12 Don't use any third party library here for adding these chips and labels

Yes, Sir....👍


[Release] Wheel verification fails due to detecting wrong version

Obtaining file:///tmp/arrow-adbc-<IP_ADDRESS>rBtR/apache-arrow-adbc-0.1.0/python/adbc_driver_postgresql
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Checking if build backend supports build_editable: started
  Checking if build backend supports build_editable: finished with status 'done'
  Getting requirements to build editable: started
  Getting requirements to build editable: finished with status 'done'
  Installing backend dependencies: started
  Installing backend dependencies: finished with status 'done'
  Preparing editable metadata (pyproject.toml): started
  Preparing editable metadata (pyproject.toml): finished with status 'done'
Building wheels for collected packages: adbc-driver-postgresql
  Building editable for adbc-driver-postgresql (pyproject.toml): started
  Building editable for adbc-driver-postgresql (pyproject.toml): finished with status 'done'
  Created wheel for adbc-driver-postgresql: filename=adbc_driver_postgresql-unknown-0.editable-py3-none-any.whl size=8283 sha256=244dfe34e5b81fb4db12b2f50299eb1f363e8c4e8d4fc29846c38e1d8a1f4854
  Stored in directory: /tmp/pip-ephem-wheel-cache-36audswf/wheels/e6/25/09/337e9d3a7fcdf2a09e25110e0bee2d8137fabb251c73751e6f
  WARNING: Built editable for adbc-driver-postgresql is invalid: Metadata 1.2 mandates PEP 440 version, but 'unknown' is not
Failed to build adbc-driver-postgresql
ERROR: Could not build wheels for adbc-driver-postgresql, which is required to install pyproject.toml-based projects

Perhaps utils-prepare.sh should embed the version during release...

Ah, .gitattributes wasn't updated.


rename master branch to main

in line with the updated git & GitHub defaults the master branch should be renamed to main
(also applies to other weldx repositories)

Here is some guidance: click me

we can also rename it soon (e.g. tomorrow) and see what fails since currently there is no near term release or similar in the pipeline
what do you think @marscher ?

It should be renamed due to political reasons, right? Honestly I think it would make a difference for repositories like NumPy or so, which is used by thousands of users. In case of weldx, which is being cloned by less than 10 people, I do not believe it is worth the effort.
In practice I've noticed, that all working copies need to be updated too, so the rename takes full effect.

I think using main is now the de-factor default git branch nomenclature so it would make sense to follow that just to avoid confusion

This is for no reason a technical debate. For new repos it is now the default name. But default branches can be named arbitrarily. The default branch is being checked out after a clone.
The confusion arises from renaming a long standing de-facto standard (the unspeakable branch) to something new. I have a large mixture of repos with different patterns now, confusing me every time. But I guess this is a small price to pay for more equality rights, right?

The reason I am bringing this up is that I would like to have a consistent naming/branching schema for weldx related repos, which I do consider a technical issue. Most of them have main as the default branch name as of now and I expect the same for future repositories. This is unrelated to other projects or political issues, I simply would like to have consistency in this namespace and think that using main here is the easier way to achieve this


How to fight!

I want to fight!
Where should I fight?

Haha,
Are you from NJU?
You can just install a Unity. Then open the SampleScene and press the play button.


[WIP] Use raft orderer

Solo orderer has been deprecated and is being removed in Fabric v3
Signed-off-by: James Taylor<EMAIL_ADDRESS>

We've merged Matthew's version of this - https://github.com/hyperledger-labs/microfab/pull/146


Withdrawn candidate removal

Add a "withdrawn" attribute to candidates to allow discarding (subsetting) votes cast for them, plus a converter (or a modification to InvalidVoteEliminator) to do that.

Withdrawn candidate attribute was added by #42, removal remains to be implemented.


Make emoji reaction an environment variable

This PR makes the emoji reaction an environment variable according to https://github.com/hackclub/scrappy/pull/226#pullrequestreview-738119568. (I've added it to Heroku)

Hmm, the only catch with this is that only Heroku admins will be able to change the emoji (versus community members being able to make a PR)

That's a good point @cjdenio! Maybe we could make it programmatically change based on the date?

I think that's a good idea! How do I run scrappy locally?


Pasting HTML along with Markdown in Rich Text Editor breaks markdown syntax

Describe the bug
Like the title reads, when you paste HTML along with your markdown content in the Rich Text editor, you end up with a broken markdown syntax.
The same doesn't happen when pasting in Markdown mode.
And saving the changes doesn't affect this behaviour, so it's an editor thing.
To Reproduce
Content example:

Hi

Oh, hello world! Take [this](https://github.com/netlify/netlify-cms/) with you.

Copy the content above
Paste it in the rich text editor
Notice the link isn't actually transformed as a link
Switch to the markdown mode
Notice the \ before the link (which breaks the link syntax):
Hi

Oh, hello world! Take \[this](https://github.com/netlify/netlify-cms/) with you.

You can repeat the steps above but on step 2 instead of pasting in rich text, do it in markdown.
The issue is gone, \ isn't there.
Expected behavior
I would expect the editor to be able to deal with both HTML and markdown, and especially not break my markdown syntax.
Applicable Versions:

Netlify CMS version: [e.g. 2.10.124]
Git provider: GitHub
OS: macOS 11.2.3
Browser version: Brave v1.21.77

CMS configuration

The file is too big, and I'm not sure which parts, if any, can be related to this issue. Let me know if this is needed.
Additional context

Closing as stale.


Cluster autoscaling with a more AWS-native way?

I created my node pools with the following configuration:
worker:
  nodePools:
    - name: nodepool1
      count: 1
      subnet:
      - name: ManagedPrivateSubnet1
      autoScalingGroup:
        minSize: 1
        maxSize: 3
        rollingUpdateMinInstancesInService: 2
    - name: nodepool2
      count: 1
      subnet:
      - name: ManagedPrivateSubnet2
      autoScalingGroup:
        minSize: 1
        maxSize: 3
        rollingUpdateMinInstancesInService: 2

The two ASGs and Launch Configuration are created for each of the two pools but there is no scaling policy created.
So when kubernetes autoscale kicks in and starts to fill up the instances, the ASG wont initiate new instances.

Hi @pettair!
AFAIK, we usually use cluster-autoscaler for cluster autoscaling a.k.a automatically adding/removing kubernetes worker nodes according to workload.
May I ask you what's your intention of having scaling policies which would be used only for more AWS-native autoscaling rather than cluster-autoscaler?

Hi @mumoshu,
I was not aware of that, it seems to be a complete solution.
My intention was only to achieve the needed functionality, but as you mentioned IMO the scaling policies would be more convenient way, at leat for those who are have some AWS background. Also it may be a more bulletproof solution since it not relies on a container, since it is implemented in the system.
However the cluster autoscaler is  solution for me, so we can close this issue. Or open a feature request this :)

Hi @pettair, thanks for the info!
I agree with you in general but I'm just not yet sure how exactly AWS-native autoscaling can be utilized in a k8s cluster.
AFAIK, an AWS-native auto-scaling can be triggered only by CPU-utilization alarm by default. We can probably extend it with custom metrics like e.g. cluster-wide memory utilization rather than the default CPU-utilization, if we had a container to send the custom metrics in the first place. However, if we can rely on additional containers like this, we'd better just stick with cluster-autoscaler?
IMHO, even CPU-utilization-based autoscaling, which can be achieved by default with AWS-native autoscaling, is not very useful for a k8s cluster. Adding more worker nodes according to high cpu utilization doesn't prevent the cluster from being unable to schedule pods due to insufficient memory, by its nature.
What are your thoughts?

You got the point, there is no native way to get a memory utilisation metric, also AWS metrics are instance bound, but its better to have a cluster wide utilisation and scale based on that or when there is not enough resource to run a new pod. So I'll close this down :)
Thanks for the help @mumoshu !!


int overflow in 3.4.1

in version 3.4.1 (But not 3.4.0) I get the following warning
Warning 1: Integer overflow occured when trying to return 64bit integer. Use GetFieldAsInteger64() instead

when I have JavaScript dates like<PHONE_NUMBER>000 represented as integers causing them to be truncated (and all the dates in my map be in the year 1970).

That looks like a bug in our code associated with GDAL 2.0 and our gdal plugin, is that what you are using?

it's reading a geojson file so maybe?

I am sorry this would be the OGR plugin.

This has been fixed in https://github.com/mapnik/mapnik/commit/161469ed638f2feabe8534983b20f51d3e5370aa as the bug was in mapnik-core rather then in the node bindings this will take a little while to filter its way up stream. It will be a part of the next mapnik-core release however.


Guide for how to running detect_event ???!!!!!!

@AdrienGuille
Hi,
Based on your read me link in your pyMABED, I've been creating a csv file and fed it as an input file but I have a big problem nothing happen. I've been attached my csv file and the screen shot of my output.
Please help me more.

 Thus, you have more time-slices (14689) than tweets. By definition, MABED can't operate on these extremely sparse data. You need to configure a larger window, like a week, instead of 30 minutes.
Everything you need to know to configure pyMABED correctly is in the README.md.


Update docs

This contains a big update to the Spectrum docs, and bunch of small fixes to the rest of the docs for things that have broken over time.

Thanks @kboone! I'm appreciative that someone found time to work on the documentation.
Two related questions: 1) Once this is merged, should we start a release with SALT3 and these changes? 2) Is there something we can do to ensure future model additions don't break the "List of Built-in Sources"?

To avoid this in the future, we should add a test to make sure that the docs compile without errors. There were errors in that build, but they weren't flagged when we were merging PRs.
Yes, I'll put out a new release when this is merged.


crypto/x509: ensure CreateCertificate won't generate unparsable certificates

CreateCertificate should return an error instead of generating a certificate that will fail ParseCertificate. We should check that's the case and maybe test or enforce this.
See #23995.

@jlhawn oh, sorry to hear that and that we haven't addressed your comment, yet Go1.11 is coming up fast. Would you mind producing a repro here that demonstrates the incompatibility between Go1.10 can't load certificates from previous versions? If so, that's a breaking change, which I'd suspect would perhaps violate the compatibility promise.

Moving to Go 1.12.

@FiloSottile Sorry for the (very) late reply. It looks like my concerns are already addressed in the latest go 1.10 release with this patch which ignores invalid email address subject names in certificates.

To be clear, it would be nice to fuzz CreateCertificate with various template values, and check that if CreateCertificate succeeds, ParseCertificate does as well, ideally with matching fields.
This is up for anyone who wants to take it.


Fix crash and refactoring when reselecting tab

Overview (Required)

Fix crash when reselecting a tab.
Refactoring (OnTabReselectedListener -> OnTabReselectedDispatcher)

Please review 🙇


Add jaeger thrift-http exporter

Adds the Jaeger Thrift over HTTP exporter.
Fixes #36
Opportunistically fixes #227 by removing remaining related code.

Codecov Report

Merging #228 into master will increase coverage by 0.53%.
The diff coverage is 67.5%.

@@            Coverage Diff             @@
##           master     #228      +/-   ##
==========================================
+ Coverage   72.79%   73.33%   +0.53%
==========================================
  Files         110      110
  Lines        6338     6365      +27
==========================================
+ Hits         4614     4668      +54
+ Misses       1491     1458      -33
- Partials      233      239       +6

Impacted Files
Coverage Δ

defaults/defaults.go
80% <100%> (+0.68%)
:arrow_up:

...porter/jaeger/jaegerthrifthttpexporter/exporter.go
63.04% <63.04%> (ø)

...xporter/jaeger/jaegerthrifthttpexporter/factory.go
72.72% <72.72%> (ø)

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 b39842b...ae71f8b. Read the comment docs.


[solarized] change inactive window bar color from light to dark

Before:

After:

If you want me to add a configuration variable for this, let me know

please add a configuration variable, thanks.

Done!

thanks.


Move Sage 10 to Laravel Mix

Changelog
Enhancements

Change to Laravel Mix.
Clean up and refactor starter styles.
Rename main.css and main.js to app.css and app.js.
Remove autoload from styles/scripts.
Remove $ import on customizer.js as Mix autoload will handle that.
Bump PHP version to 7.1.3 on Travis.
Remove unnecessary fields in package.json as it will never be published.
Automatically remove Blade cache when theme is activated, changed, or removed.

Bugfixes

Fix conditional on comments.blade.php.

Todo

Change Acorn's manifest/asset class to handle leading slashes. (Str::start($path, '/') ?)

Have to go out for a few, will fix conflicts when I return. (Sorry)


Angular 1.3.13 - IE8 - error- identifier expected

When using Angular 1.3.13 - IE8 - error- "identifier expected" error occurs.
Line 16048 symbol 10.
I suppose, it happens because of using keyword "finally" as property of object.

IE8 is not supported starting with 1.3.x. You'll have to stick with 1.2.x


Document how to use tbloader

scoop install trenchbroom
install alpha 14 https://godotengine.org/article/dev-snapshot-godot-4-0-alpha-14
Place the  tb-gameconfig folder in a folder called Godot inside the games folder of your TrenchBroom installation, so you would have games/Godot/.
???
Loaded map in editor

True, there should be better documentation for this. I would probably primarily point to installing through AssetLib.

I cannot find the AssetLib entry for tbloader.
https://godotengine.org/asset-library/asset?category=&godot_version=&sort=updated&filter=tbloader

It's actually listed as "TrenchBroom Loader" there. Not sure if it can show up as "TBLoader" too.

Additionally, I kinda want an easier install method for TrenchBroom itself, perhaps something based on #4 that automatically generates the entire game configuration with a little wizard inside of Godot.

Add the "TBLoader" keyword to the text.

I'm not sure that works. "Qodot" is also a term in the asset description, but it doesn't show up when you search "Qodot". Perhaps this is something that will be improved once the new version of asset lib is deployed?

Any update on this? It looks like a working qodot alternative for 4.0 but I have no idea what I'm supposed to be doing. A 3 minute video, some screenshots, or even a few sentences would go a long way

I have updated the readme with some basic usage instructions. Hopefully this is sufficient for the basic usage.

Yay! Open a new ticket if there are more questions.


[Fix] Prevent sending a timestamp-updating PUT if anonymous

Purpose
https://trello.com/c/4B1JZCYG/39-anonymous-vol-non-contributor-is-unable-to-view-comments-on-add-ons
Changes
Check window.contextVars.node.anonymous before making request
Side effects
None

Cherry-picked into release/0.66.0.


Add Homebrew installation option to documentation for CLI

Following the successful merge of Homebrew/homebrew-core#26208, it is now possible to install hapi-fhir-cli on a Mac using the following command:
brew install hapi-fhir-cli

We should add this to the documentation, so that people know about it.

Thanks John, this is awesome!

BTW- The CLI docs have been added, and will be deployed in the next week or so when we release the new version of HAPI FHIR.


Add perf test for non-UTC operators

closes #10076

Add perf test framework for non-UTC operators
Add an example perf test for from_utc_timestamp

Signed-off-by: Chong Gao<EMAIL_ADDRESS>

This is for micro-benchmark only, right?

No, it's a end to end benchmark testing:
For example, test from_utc_timestamp
createDF(spark).select(f.from_utc_timestamp(f.col("c_timestamp"), zone))

build

build


Implements bundle check ensuring CSV related images are schema version 2

Fixes #35
Context
This check ensures that all related images found in a ClusterServiceVersion reflect the image manifest schema version 2.
In effect, we need to:

Grab the bundle from the image
Grab the CSV from the bundle
Grab the related images section
Inspect the image manifest for each related image
Pass the check if all images are schema version 2

PR #123 added the required functionality in the skopeo and podman engines which enable this check.
Change Notes

First, we create the container image so that it exists as a stopped container in our container engine. This is required in order to copy data outside of the running container
With the stopped container created, we copy /, which is where our bundle contents are expected to be, to our runtime directory (Note that this isn't great if someone puts their controller image, but I'm not sure we have an alternate course).
Next, we use a library (from operator-sdk) to parse the bundle on disk and store it into a struct. With that struct in hand, we have an easy reference to the ClusterServiceVersion
We grab the CSV's related images; if they have no related images, they auto pass the check.
We iterate over each related image with skopeo inspect --raw, which returns the raw manifest for the image. This returns a json blob that should have schemaVersion as a top-level key.
We store the images with their schema versions in a map
We evaluate the map, and ensure that all images have the desired schema version.

Regarding tests: the functions were written modularly to try to offload the amount of tests that need to rely on our fake engines. With that said, I'm seeing two calls which don't have explicit tests. The reason they do not is because they both make calls out to the library from operator-sdk that reads the bundles on disks. I think we could look at storing fixtures like these at some point in the future.
Signed-off-by: Jose R. Gonzalez<EMAIL_ADDRESS>

Most recent force-push rebases to resolve conflicts.

/lgtm

Originally, I intended to refactor this commit using the Unshare changes in #126, but those changes don't account for images and only account for cases where we want to mount a container. For now, I'll merge this as it is working without those changes, and when we add the image mount functionality, mirroring that of the container mounting functionality that was merged, we'll refactor this.
I'll create an issue associated with this work.


[BUG] adding in SAPLaunchpad entitlement loops infinitely when configuring.

Is there an existing issue for this?

[X] I have searched the existing issues

Are you using the latest docker image for BTPSA?

[X] I'm using the latest docker image for BTPSA.

Which area is mainly impacted
Cloud Foundry setups
Current Behavior
When attempting to add the SAP Launchpad service with btpsa, the process will loop infinitely until aborted, with no success
Expected Behavior
Entitlement addition should complete.
Steps To Reproduce
Using the following in the json parameters,
"services": [
{
            "name": "SAPLaunchpad",
            "plan": "standard",
            "category": "APPLICATION",
            "entitleonly": true
        }

This was generated from the type-ahead functionality.
Logs and configuration files available?
No response
Anything else?
Output that repeats until manually halted.
####################################################################################################
# Track creation of service instances and app subscriptions
####################################################################################################
[2022-10-13 15:48:36] INFO       : check status of app subscriptions
[2022-10-13 15:48:36] RUN COMMAND: btp --format json list accounts/subscription --subaccount '07f9e26d-ed9d-44e8-bcb4-8d19c9da3aaa'
[2022-10-13 15:48:43] INFO       : check status of app subscriptions
[2022-10-13 15:48:43] RUN COMMAND: btp --format json list accounts/subscription --subaccount '07f9e26d-ed9d-44e8-bcb4-8d19c9da3aaa'
[2022-10-13 15:48:50] INFO       : check status of app subscriptions
[2022-10-13 15:48:50] RUN COMMAND: btp --format json list accounts/subscription --subaccount '07f9e26d-ed9d-44e8-bcb4-8d19c9da3aaa'
[2022-10-13 15:48:56] INFO       : check status of app subscriptions
[2022-10-13 15:48:56] RUN COMMAND: btp --format json list accounts/subscription --subaccount '07f9e26d-ed9d-44e8-bcb4-8d19c9da3aaa'
[2022-10-13 15:49:03] INFO       : check status of app subscriptions
[2022-10-13 15:49:03] RUN COMMAND: btp --format json list accounts/subscription --subaccount '07f9e26d-ed9d-44e8-bcb4-8d19c9da3aaa'
[2022-10-13 15:49:09] INFO       : check status of app subscriptions
[2022-10-13 15:49:09] RUN COMMAND: btp --format json list accounts/subscription --subaccount '07f9e26d-ed9d-44e8-bcb4-8d19c9da3aaa'
[2022-10-13 15:49:16] INFO       : check status of app subscriptions
[2022-10-13 15:49:16] RUN COMMAND: btp --format json list accounts/subscription --subaccount '07f9e26d-ed9d-44e8-bcb4-8d19c9da3aaa'
[2022-10-13 15:49:22] INFO       : check status of app subscriptions
[2022-10-13 15:49:22] RUN COMMAND: btp --format json list accounts/subscription --subaccount '07f9e26d-ed9d-44e8-bcb4-8d19c9da3aaa'
[2022-10-13 15:49:29] INFO       : check status of app subscriptions
[2022-10-13 15:49:29] RUN COMMAND: btp --format json list accounts/subscription --subaccount '07f9e26d-ed9d-44e8-bcb4-8d19c9da3aaa'
[2022-10-13 15:49:35] INFO       : check status of app subscriptions
[2022-10-13 15:49:35] RUN COMMAND: btp --format json list accounts/subscription --subaccount '07f9e26d-ed9d-44e8-bcb4-8d19c9da3aaa'
[2022-10-13 15:49:42] INFO       : check status of app subscriptions
[2022-10-13 15:49:42] RUN COMMAND: btp --format json list accounts/subscription --subaccount '07f9e26d-ed9d-44e8-bcb4-8d19c9da3aaa'

Update on status:

Error is located in file btpcli.py, function track_creation_of_subscriptions_and_services.
The services called in the subsequent check methods do not respect the setting entitleonly. The check must be executed only for services and supscriptions that should be created.

This bug is fixed with PR #258 . A new Docker image is available in GitHub packages that contains the fix


scripts: twister: Fix NOTRUN in test_only

When using the --build-only into --test-only Twister setup, NOTRUN statuses were not properly rerun.
Now they are properly run again if runnable.
Fixes incorrect test statistics in the --test-only summary.
Adds status and reason fields for all testsuites of the JSON report.  (This seems to break footprint tests. WIP.)

The issue was raised in #80120

The issue was raised in #80120
@LukaszMrugala
I revert the changes that introduce isues, and revert to my original version which does not introduce new problem and resolves https://github.com/zephyrproject-rtos/zephyr/issues/80119, so do you plan to provide a full solution? I can close my PR if you can catch up the freeze window.

@golowanow this is a must have fix for board testing, please check.

@golowanow this is a must have fix for board testing, please check.

@hakehuang could you please look at  my question - is it a problem on your setup ?

Previously, the second instance would be read and included in the report as a NOTRUN. This is inconsistent with the --test-only's behaviour when it comes to SKIP suites - those are discarded at the start and not included.
Now, the unrunnable NOTRUN suite will be discarded as well.  This is good, because the suite will not be processed either way, so including it in the report is erroneous.

I'm not sure it is good. In build-only -> test-only mode the twister.json is overwritten, so skipped non-runnable will disappear with their built status. Also, with --detailed-skipped-report option the 'SKIP'-ed should be included, whereas NOTRUN-ed now omitted.

could you please look at my note - is it a problem on your setup ?

I did not make any special setup, my point is we need make at least board testing flow works, for v4.0.0-rc1. my steps are simple

generate test package

scripts/twister -p frdm_k64f --prep-artifacts-for-testing --package-artifacts frdm_k64f.tar.gz

unzip the package and run test

scripts/twister  --device-testing --hardware-map /home/ubuntu/nxp/frdm_k64f/map.yaml

my point is we need make at least board testing flow works, for v4.0.0-rc1.

I agree. IMO this PR should be just a fix to make --test-only work again, other 'NOTRUN' related changes/follow-ups/improvements etc. should be in some other PR.

@LukaszMrugala will you keep working on this? it is a blocker for board testing for my side. Thanks in advance.

There is a request to have this merged in for the 4.0 release.  @hakehuang can you resolve the convos if you are happy with the answers.   I see you have approved the PR, but your last comment confuses me if this is needed or not.

There is a request to have this merged in for the 4.0 release. @hakehuang can you resolve the convos if you are happy with the answers. I see you have approved the PR, but your last comment confuses me if this is needed or not.

we are expecting that @LukaszMrugala  can help to remove the questioned lines, which may introduce report confused, but he does not reply, can we merge this as is @dkalowsk for now? as this fix is important for board testing.

@dkalowsk can we merge this fix?

@hakehuang , waiting from @nashif before we merge this fix.


document element does not exist

https://github.com/travis-g/LozenJS/blob/master/Lozen.js#L5
Should be window.document, as document is null

jk lol
Strict comparison in https://github.com/travis-g/LozenJS/blob/master/Lozen.js#L4 doesn't treat selector===null as true when $() isn't passed args


feat(jstz_node): implement openapi for logs service

Context
Implements OpenAPI for LogsService

Description
We probably want a single client gen binding that supports all node endpoints. With that in mind, the persistent log endpoints have been removed from conditional compilation and instead return a Bad Request if it is called on a node that was not compiled with persistent logging.
(Note: We should change enabling/disabling persistent logging enable from conditional compilation to runtime configuration)
Removed the QueryResponse which is a wrapper over LogRecord.
Removed QueryParams which acts as a function dispatch over the db api. Instead, just called the db api directly because they are 1 to 1 with their handlers.
Manually testing the PR
cargo test -p jstz_node api_doc_regression
cargo test --features persisitent-logging -p jstz_node api_doc_regression

Will need to squash fix up before commit


Housekeeping

basically some chores to use the correct name in different areas of the program.

the ci issue is fixed in #5


One-off modifications to page layout don't work as described in the docs

Hi, I'm trying to insert e.g. a landscape page into a document that is mostly in portrait orientation. The page setup documentation suggests that I can do the following
#page(flipped: true)[
  = Multiplication table

  #table(
    columns: 5 * (1fr,),
    ..for x in range(1, 10) {
      for y in range(1, 6) {
        (str(x*y),)
      }
    }
  )
]

This works in a blank document (e.g. here), but not in e.g. a document using the IEEE template (here). Is there a more general / applicable strategy for moving between page orientations and e.g. column layouts (from 2 to 1 cols, for example)?

The problem with the IEEE template is that it wraps everything in two columns which forbids pagebreaks and page modifications. set page(columns: 2) prevents that but doesn't allow you do switch between one-column and two-column on one page. To do that, you'd need to wrap only parts of your documents in columns (which is obviously quite inconvenient). We'll have to find a better solution in the future.

Closing in favor of https://github.com/typst/typst/issues/1278


Game Freezes when playing Squads

Mid-Game the game would freeze but the fps and lat would stay and work fine. Please fix in the new update.

It's changed back now so it should work fine


Update to go 1.14

Hi,
What command exactly did you run in order to make this change, and why is it useful?
Thanks!

@posener I have go 1.14 installed. I changed go.mod from go 1.12 to go 1.14 and ran go build which then updated the go.mod and go.sum for me. Pretty easy to me :D

Strange... why did it update all the dependencies? I can't reproduce it...
$ go version
go version go1.14 linux/amd64
$ git diff
diff --git a/go.mod b/go.mod
index 68b8d0c..25cb015 100644
--- a/go.mod
+++ b/go.mod
@@ -1,5 +1,5 @@
 module github.com/posener/ctxutil

-go 1.12
+go 1.14

 require github.com/stretchr/testify v1.3.0
$ go build ./...
$ go test ./...
PASS
ok  	github.com/posener/ctxutil	0.505s

Diff remains the same.

Hmmm... to be 100% honest I'm not sure. What I think may have happened is that I have "update go build" or something turned on in my "vim-go" profile, and maybe internal to that the go.mod file was updated?
If you'd prefer we can not merge this PR. It's a precursor to some work I'm doing on my branch here. Which I'll submit sometime this week.


APPX1111: Payload contains two or more files with the same destination path 'App.xbf'

Hi there, I followed this tutorial on creating out-of-process background tasks for packaged WPF projects and I am getting the following error message:
APPX1111: Payload contains two or more files with the same destination path 'App.xbf', but they are different sizes. Source files:
error APPX1111: C:\Users\bruno\source\repos\BrunoBlanes\Gamepedia-LOL\Gamepedia.Lol\Gamepedia.Lol\bin\x86\Debug\net5.0-windows10.0.19041.0\App.xbf
error APPX1111: C:\Users\bruno\source\repos\BrunoBlanes\Gamepedia-LOL\Gamepedia.Background\bin\x86\Debug\App.xbf

By my guess, both the WPF and the UWP projects are conflicting with one another. Did I do something wrong?

I changed the UWP App.xaml to Main.xaml and it fixed it.


refactor: Use algo_key from orc instead of algo

Requires https://github.com/Substra/orchestrator/pull/32
Description
Remove the embedded algo in the orchestrator.
This will align the compute task gRPC resource to the global philosophy of depdendent resources, where we only pass references to the resources instead of embedding them.
How has this been tested?
substra-backend and local substratest has been run locally and full e2e test suite has been run in CI.
Checklist

[x] changelog was updated with notable changes

E2E tests passed: https://github.com/owkin/connect-ci/actions/runs/3141953827/jobs/5104985186


Server Manager Application to redirect to ArcGIS Enterprise Sign-in page

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request

Module Version

4.3.0

Affected Resource(s)

ArcGIS_Server

Configuration Files

{
    "AllNodes":  [
                     {
                         "NodeName":  "EC2AMAZ-9393J4V",
                         "Role":  [
                                      "Server",
                                      "WebAdaptor",
                                      "DataStore",
                                      "Portal"
                                  ],
                         "WebAdaptorConfig":  [
                                                  {
                                                      "Role":  "Server",
                                                      "ServerContext":  "server"
                                                  },
                                                  {
                                                      "Role":  "Portal",
                                                      "ServerContext":  "portal"
                                                  }
                                              ],
                         "DataStoreTypes":  "Relational"
                     }
                 ],
    "ConfigData":  {
                       "Version":  "11.1",
                       "ServerRole":  "GeneralPurposeServer",
                       "ServerContext":  "server",
                       "PortalContext":  "portal",
                       "Credentials":  {
                                           "ServiceAccount":  {
                                                                  "Password":  "coigisProd2024",
                                                                  "UserName":  "admin",
                                                                  "IsDomainAccount":  false,
                                                                  "IsMSAAccount":  false
                                                              }
                                       },
                       "Server":  {
                                      "LicenseFilePath":  "C:\\s3\\ArcGISGISServerAdvanced_ArcGISServer_1464359.prvc",
                                      "Installer":  {
                                                        "Path":  "C:\\s3\\ArcGIS_Server_Windows_111_185208.exe",
                                                        "InstallDir":  "C:\\ArcGIS\\Server",
                                                        "InstallDirPython":  "C:\\Python3",
                                                        "EnableArcMapRuntime":  true,
                                                        "EnableDotnetSupport":  true,
                                                        "IsSelfExtracting":  true
                                                    },
                                      "ServerDirectoriesRootLocation":  "C:\\arcgisserver\\directories",
                                      "ConfigStoreLocation":  "C:\\arcgisserver\\config-store",
                                      "PrimarySiteAdmin":  {
                                                               "UserName":  "SiteAdmin",
                                                               "Password":  "Password456!"
                                                           }
                                  },
                       "WebAdaptor":  {
                                          "AdminAccessEnabled":  true,
                                          "Installer":  {
                                                            "Path":  "C:\\s3\\ArcGIS_Web_Adaptor_for_Microsoft_IIS_111_185222.exe",
                                                            "DotnetHostingBundlePath":  "C:\\s3\\dotnet-hosting-6.0.32-win.exe",
                                                            "WebDeployPath":  "C:\\s3\\WebDeploy_amd64_en-US.msi",
                                                            "IsSelfExtracting":  true
                                                        }
                                      },
                       "DataStore":  {
                                         "ContentDirectoryLocation":  "C:\\arcgisdatastore",
                                         "EnableFailoverOnPrimaryStop":  false,
                                         "EnablePointInTimeRecovery":  false,
                                         "Installer":  {
                                                           "Path":  "C:\\s3\\ArcGIS_DataStore_Windows_111_185221.exe",
                                                           "IsSelfExtracting":  true,
                                                           "InstallDir":  "C:\\ArcGIS\\DataStore",
                                                           "InstallAllFeatures":  true
                                                       }
                                     },
                       "Portal":  {
                                      "LicenseFilePath":  "C:\\s3\\ArcGIS_Enterprise_Portal_111_465583_20240701.json",
                                      "PortalLicenseUserTypeId":  "creatorUT",
                                      "Installer":  {
                                                        "Path":  "C:\\s3\\Portal_for_ArcGIS_Windows_111_185219.exe",
                                                        "IsSelfExtracting":  true,
                                                        "InstallDir":  "C:\\ArcGIS\\Portal",
                                                        "ContentDir":  "C:\\arcgisportal"
                                                    },
                                      "ContentDirectoryLocation":  "C:\\arcgisportal\\content",
                                      "DefaultRoleForUser":  "org_user",
                                      "DefaultUserLicenseTypeIdForUser":  "creatorUT",
                                      "PortalAdministrator":  {
                                                                  "UserName":  "portaladmin",
                                                                  "Email"<EMAIL_ADDRESS>                                                                  "Password":  "portalpassword",
                                                                  "SecurityQuestionIndex":  1,
                                                                  "SecurityAnswer":  "vanilla"
                                                              },
                                      "EnableHSTS":  false,
                                      "WebGISDR":  {
                                                       "PropertiesFilePath":  "C:\\arcgisportaldir",
                                                       "TimeoutInMinutes":  3600,
                                                       "RunAsAccount":  {
                                                                            "UserName":  "webgisdraccount",
                                                                            "Password":  "webgisdrpassword"
                                                                        }
                                                   }
                                  }
                   }
}

Expected Behavior
When Server Manager Application is opened, it should redirect to the login page below

Actual Behavior
Only opens Server Manager login
Steps to Reproduce
Simply just click ArcGIS Server Manager App
Important Factoids
We were able to achieve the redirect by configuring directly via Windows RDP
References

Hello @cameronkroeker ,
Any take on this?

Hello @cameronkroeker ,
Thanks for giving attention to this.
It is more of additional configuration.
Right now after installing with our template. then opening the Server Manager Application, the photo below is the result.

But we actually wanted the photo below to show instead.

Our ArcGIS Engineer did something manually to do this.
Am I clear now?

It is like, we want it to be federated. @cameronkroeker

@ae-daenchrisarmada In your web browser instead of https://EC2AMAZ-9393J4V/server/manager can you try https://EC2AMAZ-9393J4V.local/server/manager?

It redirected to the link below when I tried https://EC2AMAZ-9393J4V.local/server/manager..  Which looks correct..
https://EC2AMAZ-9393J4V.local/portal/sharing/oauth2/authorize?client_id=arcgisonline&response_type=token&state={"portalUrl"%3A"https%3A%2F%2FEC2AMAZ-PSN2EBE.local%2Fportal"}&expiration=20160&redirect_uri=https%3A%2F%2Fec2amaz-psn2ebe.local%2Fserver%2Fmanager%2F&hideCancel=true�
I guess my question is.. How will https://EC2AMAZ-9393J4V.local/server/manager be opened in the browser when I open ArcGIS Server Manager?

Hi @ae-daenchrisarmada, my understanding is when you browse to https://ec2amaz-9393j4v.local/server/manager it should redirect you to the portal login (since its federated with portal), then once credentials are passed in it should redirect you back to the ArcGIS Server Manager page.

I think my main concern right now is.. Is it possible that when you click ArcGIS Server Manager Windows Application, it will open  https://ec2amaz-9393j4v.local/server/manager instead of  https://ec2amaz-9393j4v/server/manager?
And is it possible to set that using a configuration file only?

I think my main concern right now is.. Is it possible that when you click ArcGIS Server Manager Windows Application, it will open https://ec2amaz-9393j4v.local/server/manager instead of https://ec2amaz-9393j4v/server/manager?
And is it possible to set that using a configuration file only?

Oh I think I am tracking now. You are talking about the Shortcut that is created in the Start Menu:

This is created by the ArcGIS Server installation setup, and the ArcGIS Module does not have any way to modify it. However, it does look like it can be manually modified here:

Yes! So, we can only change manually like you showed above?
No way it can be automated using configuration file

Yes! So, we can only change manually like you showed above? No way it can be automated using configuration file?

I am not entirely sure how that file is populated to be honest. It cannot be modified directly by the configuration json file, but perhaps it can be indirectly.
Maybe it is influenced by certain settings such as the Web Adapator URL, or WebContextURL property.

Okay @cameronkroeker. Thanks for all your assistannce as a contributor!

Let's check to see what the web adaptor url was set as in the ArcGIS Server admin endpoint.
Browse to https://EC2AMAZ-9393J4V.local:6443/admin/system/webadaptors, and select the web adaptor id. It should have a list of properties. Does it show https://EC2AMAZ-9393J4V.local/server or https://EC2AMAZ-9393J4V/server ?

https://EC2AMAZ-9393J4V.local:6443/admin/system/webadaptors returns 404

https://EC2AMAZ-9393J4V.local:6443/admin/system/webadaptors returns 404

Whoops I forgot to include the arcgis web context in the url after port 6443. It should be https://EC2AMAZ-9393J4V.local:6443/arcgis/admin/system/webadaptors

Sign into https://EC2AMAZ-9393J4V.local:6443/arcgis/admin
Select system
Select webadaptors
Select the web adaptor ID

Hello, this is what I am seeing after selecting the web adaptor ID
Regards,

Hello, this is what I am seeing after selecting the web adaptor ID
Regards,

Thanks, that looks correct. It doesn't appear that the Server Manager application shortcut is determined by that. I've checked a couple different installs and in all cases it was set to http://localhost:6080/arcgis/manager.

So in short @cameronkroeker , we can not automate on the changing of Shortcut?

So in short @cameronkroeker , we can not automate on the changing of Shortcut?

That is correct. I am curious though for you is the shortcut also pointing to http://localhost:6080/arcgis/manager and when it is clicked it is redirecting to https://ec2amaz-9393j4v/server/manager instead of  https://ec2amaz-9393j4v.local/server/manager which is then causing it to not redirect to the portal login page?

I really have no idea. I just created the ArcGIS applications using the configuration files

What does it show for you here?


Add certified kubernetes badges

We're mentioned as certified here: https://www.cncf.io/announcement/2017/11/13/cloud-native-computing-foundation-launches-certified-kubernetes-program-32-conformant-distributions-platforms/
Add the badges we have earned, and link to the instructions people can use to reproduce the conformance results on their own with kraken
ref: samsung-cnct/kraken#223

CI failed due to etcd discovery failure. Restarting.

Should we
Can we
Drop the label on the Kraken repo README too?
It is my face of the Kraken.


Issue with type members

trait Foo {
  case class In()
  case class Out(in: In)
  object Out {
    def layer: ZLayer[Has[In], Nothing, Has[Out]] =
      ZIO.service[In].map(Out(_)).toLayer
  }
}

import zio.magic._

object MyFoo extends Foo

val in = ZIO.succeed(MyFoo.In()).toLayer

val layer = ZLayer.wire[Has[MyFoo.Out]](
  in,
  MyFoo.Out.layer
)

val io = layer.build.useNow

zio.Runtime.default.unsafeRunSync(io)

This explodes with
java.lang.Error: Defect in zio.Has: Could not find Foo::In inside Map(MyFoo::In -> In())

Hm. It's not even about zio-magic.
Plain wiring also fails
val layer = ZIO.succeed(MyFoo.In()).toLayer >>> MyFoo.Out.layer

Superseded by https://github.com/zio/zio/issues/7184


How to use rowClass

please wright hot to use rowclass function (i want to change row background color in jsgrid)

rowClass is a function that should return a css class to be attached to the row.
For example:
rowClass: function(item, itemIndex) {
    return item.IsRetired ? "is-retired" : "";
}


can't identify hlktech firmware image signatures in upgrade file

It seems this device is using some sort of custom packing method for stock upgrade images, it has an upload.cgi binary that is similar to this from what I can tell. I was able to dump the mtd partitions from a running device and mtd5 extracts just fine as far as I can tell as squashfs-root.

Looks like it's DES encrypted, I was able to decrypt it with this and then extract it with binwalk.

Nice! The latest version of binwalk in the master branch can now identify and extract these encrypted Hilink firmware images (requires the pycrypto Python library).

This extracts the stock image in my origional post but doesn't appear to extract other images with the same encryption.

Those encrypted bytes seem to correspond to the "HLK-" portion of the description field in the uImage header, maybe? If so, provided the firmware uses that same naming convention, that should be a reliable signature. I've updated the master branch accordingly.

Yeah, that's what it looks like to me at least, wonder if it would be better to target the bytes after since they appear to be all 0's when decrypted in case the HLK field changes. It seems quite strange that a no-name Chinese company would actually encrypt their firmware images like this, have you seen any other companies do that before?


cvx demos

cvx_scripts comparison:
Includes: TV, TV2, ICTV, TGV regularisers for denoising, inpainting and tomography

can this be closed @epapoutsellis ?


[Bug] Elegy crash on GPU

Describe the bug
Running mnist_cnn.py in the example dir crash the instance at the end of the first epoch.
This was previously reported on Colab GPU instance. But I can reproduce this on CLI too.
Running on CPU does not have this problem.
Running on eager mode with GPU does not have this problem.
Minimal code to reproduce
python mnist_cnn.py

Expected behavior
Not stuck.
Library Info
CentOS Linux release 7.6.1810
elegy 0.8.6
Additional context
absl-py==1.2.0
aiohttp==3.8.1
aiosignal==1.2.0
async-timeout==4.0.2
attrs==22.1.0
certifi==2021.10.8
charset-normalizer==2.1.1
chex==0.1.4
click==8.1.3
cloudpickle==1.6.0
colorama==0.4.5
commonmark==0.9.1
cycler==0.11.0
datasets==2.4.0
dill==<IP_ADDRESS>
dm-tree==0.1.7
docker-pycreds==0.4.0
einops==0.4.1
elegy==0.8.6
etils==0.7.1
filelock==3.8.0
flax==0.4.2
fonttools==4.36.0
frozenlist==1.3.1
fsspec==2022.7.1
gitdb==4.0.9
GitPython==3.1.27
h5py==3.6.0
huggingface-hub==0.8.1
idna==3.3
importlib-resources==5.9.0
jax==0.3.16
jaxlib==0.3.15+cuda11.cudnn82
kiwisolver==1.4.4
matplotlib==3.5.3
msgpack==1.0.4
multidict==6.0.2
multiprocess==0.70.13
numpy==1.22.3
opt-einsum==3.3.0
optax==0.1.3
packaging==21.3
pandas==1.4.3
pathtools==0.1.2
Pillow==9.2.0
promise==2.3
protobuf==3.20.1
psutil==5.9.1
pyarrow==9.0.0
Pygments==2.13.0
pyparsing==3.0.9
python-dateutil==2.8.2
pytz==2022.2.1
PyYAML==6.0
requests==2.28.1
responses==0.18.0
rich==11.2.0
scipy==1.8.0
sentry-sdk==1.9.5
setproctitle==1.3.2
shortuuid==1.0.9
six==1.16.0
smmap==5.0.0
tensorboardX==2.5.1
toolz==0.12.0
tqdm==4.64.0
treeo==0.0.10
treex==0.6.10
typing_extensions==4.3.0
urllib3==1.26.11
wandb==0.12.21
xxhash==3.0.0
yarl==1.8.1
zipp==3.8.1

Related to #234 and #238

The cause seems to be #226


Surprising FIFO behaviour of lifecycle hooks

Describe the (maybe) Bug
I'm surprised that various lifecycle hooks (on_operation, on_parse, on_validate, on_execute) are completed in a FIFO fashion, rather than LIFO.
I would expect that if we're wrapping an operation with on_operation with 2 extension the following will happen (LIFO):

First extension starts (before yield part)
Second extension starts (before yield part)
Second extension completes (after yield part)
First extension completes (after yield part)

However, the order I'm actually seeing is the following (FIFO):

First extension starts (before yield part)
Second extension starts (before yield part)
First extension completes (after yield part)
Second extension completes (after yield part)

I'm concerned about it because extension can mutate state, so it would be good for them to act like a context manager does. Example of state mutation.
In fact, I do find it surprising that this is how things work out. Notably, overriding resolve doesn't have the same problem – but it also happens in a slightly different way.
Repro details
Here's an example couple of 2 Extensions I built to investigate things:
class MyCustomExtension(SchemaExtension):
    id = "?"

    @override
    async def on_validate(self) -> AsyncGenerator[None, None]:
        print(f"GraphQL validation start ({self.id})")
        yield
        print(f"GraphQL validation end ({self.id})")

    @override
    def on_parse(self) -> Generator[None, None, None]:
        print(f"GraphQL parsing start ({self.id})")
        yield
        print(f"GraphQL parsing end ({self.id})")

    @override
    def on_execute(self) -> Generator[None, None, None]:
        print(f"GraphQL execution start ({self.id})")
        yield
        print(f"GraphQL execution end ({self.id})")

    @override
    def on_operation(self) -> Generator[None, None, None]:
        print(f"GraphQL operation start ({self.id})")
        yield
        print(f"GraphQL operation end ({self.id})")

    @override
    async def resolve(
        self,
        _next: Callable[..., object],
        root: object,
        info: GraphQLResolveInfo,
        *args,
        **kwargs,
    ) -> AwaitableOrValue[object]:
        random_id = randint(0, 1000)

        print(f"GraphQL resolver {random_id} start ({self.id})")
        result = await await_maybe(_next(root, info, *args, **kwargs))
        print(f"GraphQL resolver {random_id} end ({self.id})")
        return result

class MyCustomExtensionA(MyCustomExtension):
    id = "A"

class MyCustomExtensionB(MyCustomExtension):
    id = "B"

I'm testing it by running a simple query against a GraphQL Schema:
@strawberry.type
class Me:
    id: str

@strawberry.type
class Query:
    @strawberry.field
    @staticmethod
    async def me() -> Me:
        return Me(id="foo")

schema = MySchema(
    query=Query,
    extensions=[MyCustomExtensionA, MyCustomExtensionB],
)

When running a simple GraphQL query against this schema:
query {
  me { id }
}

I see the following lines being printed:
GraphQL operation start (A)
GraphQL operation start (B)
GraphQL parsing start (A)
GraphQL parsing start (B)
GraphQL parsing end (A)
GraphQL parsing end (B)
GraphQL validation start (A)
GraphQL validation start (B)
GraphQL validation end (A)
GraphQL validation end (B)
GraphQL execution start (A)
GraphQL execution start (B)
GraphQL resolver 598 start (B)
GraphQL resolver 975 start (A)
GraphQL resolver 975 end (A)
GraphQL resolver 598 end (B)
GraphQL resolver 196 start (B)
GraphQL resolver 638 start (A)
GraphQL resolver 638 end (A)
GraphQL resolver 196 end (B)
GraphQL execution end (A)
GraphQL execution end (B)
GraphQL operation end (A)
GraphQL operation end (B)

System Information

Strawberry version (if applicable): 0.220.0

Upvote & Fund

We're using Polar.sh so you can upvote and help fund this issue.
We receive the funding once the issue is completed & confirmed by you.
Thank you in advance for helping prioritize & fund our backlog.

I'm not sure if this is actually a bug... Perhaps this is a natural consequence of the Python pattern Strawberry is leveraging?
However, it would be nice to get a second pair of eyes and opinion on this!

It is actually tested as the wanted behaviour for some reason
on_operation


fixed links

Description
Please describe your pull request in detail.
Related Issue
This project only accepts pull requests related to open issues.

If suggesting a new feature or change, please discuss it in an issue first.
If fixing a bug, there should be an issue describing it with steps to reproduce

Please link to the issue here
Motivation and Context
Why is this change required? What problem does it solve?

Solved by PR #4