breaking change on rxjs upgrade

Hi, we notice the rxjs upgrade in version 3.8.3, this could leading to some reference error if other modules import rxjs@6.  A breaking change is recommended if you guys need to upgrade rxjs to 7.

Hello @CastileMan ,
I do not get why this is a concern, it is an internal dependency and if you explicitly list rxjs as project dependency it will just install another version inside the folder of the listr2. I am planning to drop rxjs in upcoming major release anyways.
Can you explain why this can cause a problem for you?

Hello @CastileMan ,
I do not get why this is a concern, it is an internal dependency and if you explicitly list rxjs as project dependency it will just install another version inside the folder of the listr2. I am planning to drop rxjs in upcoming major release anyways.
Can you explain why this can cause a problem for you?

First, my project didn't rely on rxjs directly but though a third party vendor. So it doesn't make mense to explicitly list it as project dependency.
Second, rxjs-compat has imported rxjs, but rxjs-compat has not explicitly listed rxjs as project dependency eithor, so it will import the rxjs@7 installed by listr2.
For these reasons, i think it might be a better decision to release a breaking change if you must upgrade rxjs@6 to rxjs@7

Okay. Thank you for the heads up, I just will roll it back to rxjs6 for now, since I am not really using rxjs for its features at the moment. The plan is to get rid of it completely.

:tada: This issue has been resolved in version 3.8.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Secret annotations passthrough

We should probably add some docs for this :)

@Flydiverny @silasbw Docs added and feedback resolved.


⚠ ClamAV has degraded performance

In d89894b, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 427 ms

Resolved: ClamAV performance has improved in 61589a4.


Support socks5 proxy in proxy_url

since go1.9 supports socks5 by default the first prometheus release compiled w. 1.9 will support this..
related issue: https://github.com/QubitProducts/exporter_exporter/issues/9

prometheus 1.8 is compiled with go 1.9, right? If so this is fixed now.

@thomasf 1.9.1 even. Cool, can you confirm?

I tested the linux/amd64 binary download and proxy_url: "socks5://localhost:3000" worked fine.

Thanks!


fix(stages): only add sandbox SA when sandbox feature is enabled

If you have the project_factory feature enabled, but not the sandbox feature (as it's not a requirement on your org), when doing a terraform apply on 1-resman it raises this errors as it's expecting the wrong feature when creating the sandbox SA
│ Error: Invalid index
│
│   on branch-sandbox.tf line 68, in resource "google_organization_iam_member" "org_policy_admin_sandbox":
│   68:   member = module.branch-sandbox-sa.0.iam_email
│     ├────────────────
│     │ module.branch-sandbox-sa is empty tuple
│
│ The given key does not identify an element in this collection value: the collection has no elements.

CLA signed


Re add "group" alias for the parent command

/lp user {username} group set {group} was an easy to understand addition. With its removal comes unnecessary confusion. If I were to give access to a staff member and said, "change this users group" they would look through 2 routes:
/lp group {groupname} add {player} - not a thing.
/lp user {username} group set {group} - not a thing anymore.

With the first obviously being the easiest to understand and the second being very self explanatory.
They are referred to as "groups". When you create it, you create a group (/lp creategroup, /lp group).
Using the term parent in parent set {group} to refer to group modification causes unnecessary confusion and isn't congruent(probably not the term im lookin for xD) with the actual term "group".
It would be nice if parent could be swapped out for group, or even group be added as an alias of parent to avoid confusion.

Agree with this. Not having a single letter alias is annoying (Ex: lp u kmecpp g set test)


node service:  make the socket path spec work in single-service mode as well

The Nix definition of cardano-node service had its socket path spec suffering from the recent adaptation, which was made with only the chairman test in mind.
This makes the socket path work for both the chairman CI test and the normal deploy.
checklist

[x] This PR contains all the work required to resolve the linked issue.

[] This PR results in breaking changes to upstream dependencies.

[] The work contained has sufficient documentation to describe what it does and how to do it.

[] The work has sufficient tests and/or testing.

[x] I have committed clear and descriptive commits. Be considerate as somebody else will have to read these.

[x] I have added the appropriate labels to this PR.

bors r+


access: TryBots to trigger to run tests

Use TryBots to trigger to run tests for the PR: https://github.com/golang/go/pull/66918

It looks like #66918 is your first contribution to the Go project. Welcome! :)
However, we only grant access if you’ve already been an active member of the community for some time. From the top of  https://go.dev/wiki/GerritAccess#requesting-access: "New contributors should participate in the Gerrit code review process for some time before requesting access."
Closing this issue for now as denying your request. Please feel free to try again in a few months.
(If I'm wrong and you do have a history of contributions under some other email address (I searched for xzhang39 -at- tesla.com based on the email you're using in Gerrit), please comment.)
Thanks for understanding.

@mknyszek , understood. Thanks for the details!


ANN pragma and OverloadedStrings

I'm not sure if this is really HLints problem or not, but if I try to add an ANN pragma such as
{-# ANN module "HLint: ignore Use camelCase" #-}

to a module where OverloadedStrings is enabled, then GHC complains with:
No instance for (Data.Data.Data a0) arising from an annotation
The type variable ‘a0’ is ambiguous
...

No instance for (IsString a0)
arising from the literal ‘"HLint: ignore Use camelCase"’
The type variable ‘a0’ is ambiguous

If you add :: String to the string in the ignore does it still ignore properly? If not, that is an hlint bug. If yes, you have a solution.

Using this seems to work:
{-# ANN module ("HLint: ignore Use camelCase" :: String) #-}

It's a bit clunky but will suffice, ta :)


update Dockerfile to mount volume. Configure vite to run within docker

docker-compose.yml - update docker compose so that volume is generated correctly. This mounts the codebase to docker container so that changes to the code base will not require rebuild each time.
Added vite client service back into docker-compose
vite.config - updated so that it works with Docker

This PR resolves #24


c198c67e-198c-4af7-995d-e1d583b50e92

this is for automated testing

ce68ce91-f6f7-4d3c-a481-08e13d204dc3


Versioned artifacts

Adds additional scripts to upload versioned bootstrap.zip and executor.zip as part of the release process. These artifacts are meant to be consumed by frameworks, especially, the ones that reside outside the monorepo.

retest this please

retest this please (looks like host resolv flake)


[release/1.6] update test box to fedora 37

update vagrant box to fedora 37 as fedora 36 went EOL on 16-05-2023

Looks like that worked; is this ready for review?

Yep. I was waiting for the tests to go green.

@estesp I think I have got the reason for the failure

Runner version 20230606.1 uses<EMAIL_ADDRESS>Ref
Runner version 20230517.1 uses<EMAIL_ADDRESS>Ref

<EMAIL_ADDRESS>had a breaking change,  https://github.com/chocolatey/choco/issues/2788 around removal of side-by-side install of packages. I think in our case this was the mingw32-make.exe binary installation.  Since this feature was removed the binary was not getting installed, (may be because some other version was already available. Not sure about this.)
If we downgrade the version of chocolatey to v1.4.0, this binary will be installed and the test will pass. Ref action run.
The reason of flakiness: github runners are undergoing a maintenance till June 12, so the runner version of the same runner image will change randomly. Ref: https://github.com/actions/runner-images/issues/7660. So whenever the runner version is at 20230606.1 it will fail. (I assume after the maintenance window , all the windows tests will start failing). Eg: windows-2022 failing when using 20230606.1
I have a branch with the downgrade choclatey changes. But not sure, if that is something that we should be doing.

Let's definitely drop the downgrade if we are at the Go version that has the fix; I assume we are since we're on the latest 1.19.x, and you got a pass in your test branch.

/ok-to-test

/assign @estesp for merge.


using post request

how can i add a schema for the data on an incoming post request?
it doesnt seem to just accept a z.object()
e.g.
registry.registerPath({
  method: "post",
  path: "/whatever",
  description: "Do something.",
  requestBody: {
    // what goes here?
  },
  responses: {
    200: {
      description: "Object with user data.",
      content: {
        "application/json": {
          schema: $MySchema,
        },
      },
    },

  },
})

@colinricardo the correct place to use this would be inside the request.body property instead. Iti s mentioned in this section https://nextjs.org/docs/app/building-your-application/routing/route-handlers

Please reopen this. Ran into this problem lately. How to use registerPath with post request? Got undefined data from body

Are you using request.body and not the requestBody field as suggested above? Can you give an example. Only then can I reopen it


Feature/tech 484 add support for normal secrets

📕 TECH-484 Add support for normal secrets
🏗 Build 5 ✅ Successful, started by Daniel Koves
🚀 cloudfront-service, job, kong-sync, nodeservice, sbtservice, sparkJob

Not sure if the current approach works..
I tried it with my project (https://github.com/Vandebron/Vandebron/blob/c8908294830ae0eaac13b0047b5e63a9c5339c41/energy-trading/cbp/cbp-bids-manager/deployment/project.yml#L67-L72) and it's outputting
- name: POSTGRES_PASSWORD
              valueFrom:
                secretKeyRef:
                  key: POSTGRES_PASSWORD
                  name: cbpbidsmanager
                  optional: false

instead of
- name: POSTGRES_PASSWORD
              valueFrom:
                secretKeyRef:
                  key: password
                  name: trading-cbp-manager-postgres-vdb-user
                  optional: false

It's because we use self.release_name in src/mpyl/steps/deploy/k8s/chart.py:496

Not sure if the current approach works..
I tried it with my project (https://github.com/Vandebron/Vandebron/blob/c8908294830ae0eaac13b0047b5e63a9c5339c41/energy-trading/cbp/cbp-bids-manager/deployment/project.yml#L67-L72) and it's outputting
- name: POSTGRES_PASSWORD
              valueFrom:
                secretKeyRef:
                  key: POSTGRES_PASSWORD
                  name: cbpbidsmanager
                  optional: false

instead of
- name: POSTGRES_PASSWORD
              valueFrom:
                secretKeyRef:
                  key: password
                  name: trading-cbp-manager-postgres-vdb-user
                  optional: false

It's because we use self.release_name in src/mpyl/steps/deploy/k8s/chart.py:496
We should probably use something other than KeyValueProperty for this

This code isn't new though, it's already being used for sealed secrets as well. In the end, these things give the same result in the container, which is a normal secret. Are you saying that logic is also wrong? If so - I can change it, but it would be weird we didn't find issues yet with running containers. If not - I don't understand what is happening 😬

We need to parse correctly the kubernetes part of the yaml, based on the schema:
          kubernetes:
            type: array
            items:
              type: object
              additionalProperties: false
              required:
                - key
                - valueFrom
              properties:
                key:
                  type: string
                valueFrom:
                  oneOf:
                    - $ref: '#/definitions/fieldRef'
                    - $ref: '#/definitions/secretKeyRef'
                    - $ref: '#/definitions/resourceFieldRef'

That's the input right, we already are doing so?

Sealed secrets have the same structure as the environment variables in the project yaml:
      - key: SOME_ENV
        pr: "PullRequest"
        test: "Test"
        acceptance: "Acceptance"
        production: "Production"

this is what the KeyValuePropertiy parses
whereas these secrets have this form:
      - key: SOME_SECRET_ENV
        valueFrom:
          secretKeyRef:
            name: SOME_SECRET_ENV
            key: sbt-job
            optional: false

so we need to parse a different data type, starting with valueFrom then secretKeyRef etc.
I'll push what I'm thinking of

Also tetsted it with this PR
https://github.com/Vandebron/Vandebron/pull/10997
https://jenkins.k8s-serv-backend.vdbinfra.nl/view/MPyL/job/MPyL Pipeline/view/change-requests/job/PR-10997/
and we have:
- name: POSTGRES_PASSWORD
              valueFrom:
                secretKeyRef:
                  key: password
                  name: trading-cbp-manager-postgres-vdb-user
                  optional: false

in the deployment yaml

Maybe we want to put this ticket on hold until we've discussed https://vandebron.atlassian.net/browse/TECH-486 ?

Maybe we want to put this ticket on hold until we've discussed https://vandebron.atlassian.net/browse/TECH-486 ?

I'd merge this, that ticket is just a usability improvement on this one. If we do find that platform should go with sealed secrets, it will still take some time until that is realised. Until that point, we cannot use mpyl for all projects that mount normal secrets. And even so, it's a feature of mpl/mpyl that I think is useful (mounting secrets), even if it's misused here


🐛(lti_consumer)  Add missing language parameter in LTI requests

Purpose
The LTI consumer was not transmitting the language when making an LTI launch request. As a result, marsha was serving the english language on our french sites.
Proposal
Add missing language parameter in LTI requests and set it with the current language.

Shouldn't we have a test with another language than the default one ?

Good idea! I'll do it later. Gotta move.


Serialization of Cache Line Transmission

Serialize Cache line transfers through network
Question: The network as a whole uses up 67% of the area and 28% of the total area of the memory end. This is because the cache lines in the system are transferred all at once using massive, almost 600 bit wide, busses. Spread throughout the network are also many fifos used for the routing of the caches lines through the network. All of these giant busses take up a ton of area just in wires to connect all of the LCEs and CCEs together, not to mention the area used up by the fifos. This causes a great deal of congestion in the design of the network, which forces us to use a sparseness value in placement of standard cells of .33 or lower in order for routing to be successful, as determined above. A previous attempt to fix some of this congestion involved limiting the size of the fifos in the network, which helped limit the power used as well as removing some of the offending wiring that was required, but it was really just a bandaid over the actual problem, the movement of 512bit cache lines in a single cycle congesting the entire design.
Hypothesis: Serializing the transfer of the cache lines through the network should alleviate many of the congestion issues in the design. Limiting the bus widths for the cache line transfers to ~64bits will dramatically limit the amount of connecting wires throughout the network. This will incur a multi-cycle overhead to the transfer of cache lines, but the regained improvements to routing speed as well as cell density should be worth it.
Notes: Many ideas were considered to “fix” the network and serialize the transfers. The solutions we considered were to freeze a path through the network until all packets from a single cache line were transferred, using either the network or updates to the micro-code, or to let the network remain “free” and reassemble the packets on the receiving end. This problem arises because while the network guarantees that individual packets from any given source will arrive at the destination in the order they were sent, it does not guarantee that they will arrive consecutively at the receiver. The packets can become interspersed with packets from other sources, and you must have a way to reassemble the original cache lines being sent in order to give them to the final destination. The idea of constricting the network in order to make that above guarantee, seems to lack efficiency and would create too much of a bottleneck in the system. Letting the network route the packets as it seems fit will give rise to the more efficient behavior, but then the packets must be reassembled into the original cache lines. To do this a small scratchpad RAM will be used. It will be cache line width, and contain as many entries as we have sources for a given destination. This is to guarantee a lack of deadlock incase packets from every source were to be in flight to the destination at the same time. I’m sure there would be a statistical likelihood that a smaller number of entries would work the vast majority of the time, but we need to guarantee correct operation of the network in all situations.
Experiment: Design a serializer and de-serializer module to be placed at every entrance and exit to the network in order to limit the bitwidth of the busses, and therefore the area being taken up by all of the FIFOs and wires within the network. These modules will be designed to interface with the existing modules in Black Parrot seamlessly. This will provide a proof of concept of the idea of serializing the network as well as remove the burden of redesigning significant portions of the processor to facilitate the serialization.
Results: Our first attempt at the serialization involved packetizing all of the data busses down to 64bits which seemed like a solid first attempt at a compromise between area/power and performance.
Post Synth |   |
-- | -- | --
Power p(J/I) | Performance M(I/s) | Area (cell only) (mm^2)
2,601.69 | 60.2 | 2.323
-9.07 | -2.54 | -5.94
Only post synthesis numbers are provided. These numbers are a bit of a letdown to the goals we had for power and are improvements. It turned out that the area we used for all of the scratch pads nearly balanced out the area that was previously used by the FIFOs inside the network.
There are several reasons we see for this behavior. One could be the location we have available to us to put the serializers. The optimal location for them would be within the sources themselves to limit the places the massive ~600bit wires have to go. For us, in this project, we are limited to working on the Memory End of the processor, so even if we put them on the inputs, we still have multiple ~600bit busses coming in as ports on the design. Another is that because we are only instantiating a few cores, there are not enough sources in order to facilitate hardening the scratchpad RAMs, they remain synthesized memories, which causes quite a bit of wiring congestions on their own.
While I was a little let down by the small improvements to power and cell area of the synthesized design, I was sure we would still be able to makeup even more by being able to vastly increase the placement density of the design now with the dramatically smaller wiring footprint. This turned out to be not the case, even .35 density does not pass without DRCs, so we saw no improvement to density versus the baseline design.
Results 2: Our second attempt was to use 16bit packets over the network to first see what gains would be seen, and also to see if the 16bit busses would alleviate the routing problems that continued to exist with the 64bit versions above.
Post Synth |   |
-- | -- | --
Power p(J/I) | Performance M(I/s) | Area (cell only) (mm^2)
2,517.15 | 59.2 | 2.278
-12.03 | -4.09 | -7.75
The power and area improvements do not seem to be worth it with the 16bit packets, versus the even further drop in performance that resulted.
Another downside to the 16bit design is that the place and route problems we saw above were not alleviated. Further effort was put into finding the density required to actually place and route at 16bits, but even at .33, which was determined to be the max density supported by the baseline in this flow, the backend took ~9hrs and there were 17k DRCs in the finished chip, which is worse than the baseline as well.
Takeaways: The idea that we wanted to change the network to alleviate the routing issues in the baseline is a good one. This implementation has several flaws though. We underestimated the impact of the scratchpad memories on the size of the design. I also believe that the scratchpad memories are what is causing the routing problems in the “fixed” network. If the design were to be scaled up to 4 or more cores, the memories could be hardened, rather than synthesized from standard cells, which would help alleviate much of the routing congestion.
Another consideration is the PPA of the overall design. Power and are improvements are considerable, but as anticipated the performance dropped by serializing the data transfers of cache lines over the network. Another thing to consider is that many improvements were made to the front end throughout the final project. The baseline performance of the front end limits the mIPC to around 150, so our performance downgrade is small. The improvements to the front end increased the mIPC to somewhere around 800. I think the performance degradation of the serialized network could increase, even as a percentage, if the mIPC baseline were improved to that degree.
This implementation was also plagued because we were restricted to working within the Memory End module. It would be more efficient to place the serialization at the sources, to limit the number of locations that need the massive ~600bit wide busses. We still had the large busses as top level ports in our design requiring a great deal of routing just from there to the serializers.

A change is also required on bsg_mem_1r1w_sync_mask_write_var to get this to work. I edited the input mask port to only be as wide as there are masking regions, rather than being as wide as the data input was. It is in the fixed-mask-var-mem branch of the bsg_ip_cores repo we are using for the lab


rename seismic.offset to seismic.stacking_offset

Subtask of #212

stacking offset is better than offset. However, to...

Yes, there is a bigger discussion here - but that should probably be taken in the main issue (#212). This PR is only renaming seismic.offset to seismic.stacking_offset, ref action from our discussion the other day.

Thinking about keeping the old as an alias with a depreciation warning in case, in case this is actually being used.

I estimate that the probability for this being already used is 0.0001 % so I don't hink that you need to bother with keeping it as an alias:-)

Ok, but what I actually meant was that this is the probability for a client app using this metadata for something

Ah, OK. Yes, agree, that is extremely unlikely. But the issue I suddenly got a bit worried about, and possibly have confirmed now, is that seismic.offset is given as input argument in existing scripts. When we rename it to seismic.stacking_offset dataio will crash due to illegal argument.


Fixed the Failed workflows for checking the outdated packages

Fixed the Failed workflows for checking the outdated packages.
Issue Number: Fixes #207

Automated the workflow for the outdated packages and updated them , push the changes
Create a new Pull request for the updated dependencies.

Your trivy checks have been failed ,kindly fix them @sudheer0071


Raakmo 2 0

I made a ton of changes and essentially started over. I uploaded all of my stuff and didn't delete any of yours. There's a lot of room for improvement, but I wanted to get something out there before Spencer's show on Saturday.

Sounds good. I'll take a look once I get home and make the merge.


[demo] Add a way to crash the application

Not sure where to put it, but could be nice to have a menu item or a button on a fragment in the shop activity that causes the app to crash. This allows us to manually test the crash detection instrumentation.
For starters, we can just pick whatever crash mechanism we like and if we want to try other ways in the future we can do that.

shake to break it :D

hi @breedx-splk assign this to me

It would be nice to track both JVM crashes and process terminations caused by the native layer - or something that simulates OS termination

@bidetofevil this got auto-closed when #584 was merged. If you feel strongly about the native bits, can you open a new issue for that? I'd also appreciate some clever ideas on how to simulate that. 😁

Will do!


Rename "Copy Public Gateway URL"

TL;DR
When user wants to share link, they usually copy URL from address bar.
This brings UX issue when resource was loaded from local IPFS node running on user's machine.
Problem
Sharing http:// link to the canonical gateway and then upgrading it to IPFS if User Agent supports it would be ideal, but we don't have API for manipulating the URL copied from address bar and probably won't see one due to the potential abuse such API could bring.
Existing solution
The best we can do right now is to provide menu item for copying a shareable link to the IPFS resource at a public gateway.
The goal is to make it easier to share links to IPFS resources, however I don't believe the currently used label is descriptive enough:
https://github.com/ipfs-shipyard/ipfs-companion/blob/7575d09ee68d0d22f5da70711a267e8f8281fca5/add-on/_locales/en/messages.json#L91

How to improve it?
Multiple folks seemed to be surprised this exists.  We will redesign Companions UI in the future, but perhaps we could make a small  change  sooner?
I imagine changing label + adding some icon could help in discovery.
Would something like Copy link for sharing be better?
Other suggestions are welcome. Please comment below.

"Copy shareable link"?


Minor cleanup

Looks good. Do you want to rename SqlAggregation to SqlAggregationFunction too?

Yes, I just added another commit to do that rename

Looks good


Icons does not show in iOS

Hello,
I am using the v2 of the plugin and in android it works perfectly but in iOS it doesn't show the marker (because it doesn't find the path of the icon)
If I import the icon from an external url or as a base64 it works fine. It doesn't work when I want to load an image from my project folder.
I am using ionic v1
my code is:
data.push({
    title: 'title',
    snippet: 'description',
    styles: {
        maxWidth: "80%"
    },
    position: new plugin.google.maps.LatLng(latitude, longitude),
    icon:  "./img/markers/blue.png"
});

My folder structure is:
www
-- css
-- img
-- -- markers
-- -- -- blue.png
-- js
-- -- controllers
-- -- -- mapController.js
-- lib
-- templates
-- -- map.html
-- index.html

Any ideas on why this is happening?
Thank you in advance.

Try this code:
'icon': {
'url': 'relative path to image from index.html, check platforms/ios/www'
}
Sometimes it does not work for me too, next rebuild with ionic build ios fix it.

Unfortunately it didn't work.

@marioshtika OK, strange issue, quit the app and load it again in the phone. After install from XCode the image is not loaded, every next start in the iPhone it works.

If your icon file is not on the specified file path,
the error log message (error)There is no file at ... in the Xcode log.
Please check the error log.
And did you execute $> cordova prepare before execute your app on your phone?

And also, iOS (UIImage class) does not work with regular png file.
In that case, please try two possible solutions:

Png optimization for iOS
https://tinypng.com/

Use gif or jpeg image instead of png

Hi, I have the same issue on android device.
Here is the log:
java.io.FileNotFoundException: ../assets/images/blueflagpin.png
I also tried with .gif and did run cordova prepare as u suggested, but nothing!
Any advice?

Still not working.
In Xcode log I see this error
(error)There is no file at '/Users/_________/Library/Developer/CoreSimulator/Devices/EDC06BD7-DC40-4977-8856-B14A013D0BFC/data/Containers/Bundle/Application/34C8BA60-7B00-49F8-A248-641D934F8879/myapp.app/www/index.html#/app/../../img/image-default.jpg'.
Any idea?
Thank you in advance.

As the error log says, there is no image file that you specified.

The image does exists, I checked it. It just does not recognise the path

ls -l Users/_________/Library/Developer/CoreSimulator/Devices/EDC06BD7-DC40-4977-8856-B14A013D0BFC/data/Containers/Bundle/Application/34C8BA60-7B00-49F8-A248-641D934F8879/myapp.app/www/index.html#/app/../../img/image-default.jpg

Until your project files are provided, there is no way to help your problem.

Hi, I have the same issue.
<img src="assets/images/marker-red.png"/> This works
defaultMarkerIcon: any = {url: 'assets/images/marker-red.png', size: {width: 20, height: 32}}; This works on android, doesn't on ios.
It IS in the resoruces tab and the path is the same. It looks like the plugin can't find it somehow.

I think there is a problem in the path
Library/Developer/CoreSimulator/Devices/EDC06BD7-DC40-4977-8856-B14A013D0BFC/data/Containers/Bundle/Application/34C8BA60-7B00-49F8-A248-641D934F8879/myapp.app/www/index.html#/app/../../img/image-default.jpg
the "index.html#/app/" is a url path not a folder path.
I don't know if I helped you with this information.
Does it help to send you my project? How can I send it to you?
Thank you in advance.

BitBucket provide free private git repository.
So you can send your project files without discover your code to public.
If you don't know how to use git repository? Google it.
https://www.google.com/search?q=how+to+upload+code+bit+bucket&oq=how+to+upload+code+bit+bucket

ping

If you don't share your project files, I can not help you guys. (In that case, I close this issue)

One update
I figured out a problem when you install the cordova-plugin-wkwebview-engine plugin and you specify relative path to icon.
Please reinstall the plugin. The latest plugin version is cordova-plugin-googlemaps 2.0.0-beta2-20170615-1407
$> cordova plugin rm cordova-plugin-googlemaps

$> cordova plugin add https://github.com/mapsplugin/cordova-plugin-googlemaps#multiple_maps --variable API_KEY_FOR_...... --no-fetch

$> cordova plugin list
...
cordova-plugin-googlemaps 2.0.0-beta2-20170615-1407
...

I have been having a similar problem but the icon shows up on ios but not android.
I was able to make it work on Android by using
{url: this.platform.is("android") ? `file:///android_asset/www/${path}` : path}

but this shouldn't be necessary and it took a long time to figure this out.

@jaufgang As I commented above, please share your project files on github or bitbucket when you face a problem.

After update to 2.0.0-beta2-20170615-1407 version my icons do not work anymore. With or without wkwebview. I was using base64 icons as a workaround to the relative paths bug, but now this is not working either.

Please share your project files on github or bitbacket.
How and why?
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/1479

@jlcarvalho ping

Since there is no update, I close this issue.


reset should set "now" to the same value clock was installed

Lolex version : 2.6.0
Environment   : NodeJS

What did you expect to happen?
const lolex = require('lolex');
const clock = lolex.install({now: 10000})
clock.reset();
console.log(clock.now) // 10000

What actually happens
const lolex = require('lolex');
const clock = lolex.install({now: 10000})
clock.reset();
console.log(clock.now) // 0

The current behavior of reset is killing the sense of "now" parameter because it's getting lost after the first reset call

On it

Thanks for the report! Can you please verify the fix in https://github.com/sinonjs/lolex/pull/184 works for you?

For now, I have only one test case but this fix fork for it. Nice!

#184 is merged so I'm going to go ahead and close this. Feel free to reopen if you think there is still pending work to be done here.


Dataview breaks subsequent codeblocks inside blockquotes

What happened?
(This is not a feature request... the following general setup was operating fine in my vault just a few weeks ago)
When trying to render an inline button (using the Buttons plugin) within a bockquote (or callout) after a Dataview querry the button is not rendered. From a quick test, it seems any codeblock is problematic in this scenario, including subsequent dataview queries. Inline JS queries, along with buttons and other code blocks inside the blockquote seem not to fix themselves after refreshing, unlike in the mentioned issued.
Edit: removed two mentions to issues which are not relevant.
DQL
'''button
name ExampleButton
'''
^button-examplebutton
button-examplebutton

'''dataview
TASK FROM #example
'''
This is text
As a buffer in-between
The query and the button
button-examplebutton

button-examplebutton

[ ] This is the result from a dataview query #example

The preview:

JS
No response
Dataview Version
0.5.34
Obsidian Version
0.14.15
OS
Linux

I'm not able to reproduce this on Obsidian v0.15.1 / Dataview 0.5.34 - at least, when I try to put multiple buttons + dataviews inside of a blockquote it appears to work without any issue.
Do you have any plugins that affect blockquote rendering?

Ok, so the problematic plugin was Embedded Code Title, an update to that plugin, v1.2.8 was enough to fix the issue with using Buttons. However, the issue where the entire page was sometimes not rendered required that I remove it entirely. I may get around to opening an issue over on that project's GitHub page.

No problem, thanks for the update.


Update to Metanorma IETF

@strogonoff I need your help here -- I can't add _software/metanorma-ietf/assets/symbol.svg from my macOS git, it keeps saying this:
$ git add metanorma-ietf/assets/symbol.svg
fatal: Pathspec 'metanorma-ietf/assets/symbol.svg' is in submodule '_software/metanorma-ietf'

Can you please help? Thanks!

@strogonoff could we get this resolved ASAP? Want to officially get this done soon. Thanks!

@ronaldtse sorry missed the notice, yeah you just drop it into a directory. It’s in the docs at https://github.com/riboseinc/jekyll-theme-open-project/#describing-a-project-shared-data-structure (I think theme docs become overcrowded with info and should be split up a bit in terms of quickstart and reference, maybe once theme has proper shared domain support we can put it up under a subpath on open.ribose.com/open-project-theme and with the new documentation navigation)


Document that SceneTree.call_group() is deferred

This also updates the method description to match the one in 3.x.
This closes #36100.

Thanks!

Cherry-picked for 3.4.

Cherry-picked for 3.3.1.


bug([MatCheckbox]): MatCheckbox doesn't check on mobile in certain conditions

Reproduction
Resubmitting  #17146, as noted on that issue.
I am not able to reproduce this on stackblitz, only in my current project.
When the viewing the page in mobile, clicking on the checkboxes causes the ripple effect on the background but does not check the checkbox. The regular html checkbox below it is able to be checked just fine.
Inspection of the event is showing that the event.isTrusted = false. I think that is the issue, but have no idea how it is happening.
To see the issue on a mobile device:

Open https://test.aryv.com/checkbox-test or https://aryv.com/checkbox-test (US only)
Click on the checkbox

To see the issue on Windows Chrome:

Open dev tools and set the tab to a mobile device.
Open https://test.aryv.com/checkbox-test or https://aryv.com/checkbox-test (US only) The tab must be in a mobile view before loading the page to see the issue or you can reload the page after setting it to mobile view.
Click the checkbox

Expected Behavior
The checkbox should be checked.
Actual Behavior
The ripple effect displays but the checkbox is not checked.
Environment
Since the last report, our project has been upgraded to v9.

Angular: 7.2.8, 8.2.7, 9.1.0
CDK/Material: 7.2, 8.2, 9.2
Browser(s): Chrome, iOS Safari
Operating System (e.g. Windows, macOS, Ubuntu): Windows, Android, iOS

@KyleAlanDavis Thanks for resubmitting. The reproduction does not work for me. I always get a 403 forbidden status response. It sounds slightly surprising that the problem you're describing only surfaces in your project, but not in a StackBlitz.

@devversion Apologies, the site was only accessible to USA ipaddresses. I've gotten them to open up the test site, so https://test.aryv.com/checkbox-test should work everywhere.

@KyleAlanDavis Thanks for figuring that out. I can now load the page, but it keeps loading and there are some errors in my browser (e.g. when loading the bundles). Looks like those are served from a CDN that blocks my country (GER)
It would be great to have this in a standalone StackBlitz, but you mentioned that you weren't able to see this there. This makes me wonder if it is something specific in your application that is not necessarily related to our checkbox.

I have the exact same problem in my code.

I have the exact same problem in my code.

Are you using AngularJS? That is what was causing our issue (@KyleAlanDavis and myself), details here: https://github.com/angular/components/issues/20725


Fix IFrames  Initialization Code for Chrome 76

[ ] Fix the <iframe> re-initialization code in the TestCafe code:

https://github.com/DevExpress/testcafe/blob/7177efe484bfb7ff57d42964ecf988d331b47f76/src/client/ui/index.js#L73
https://github.com/DevExpress/testcafe/blob/7177efe484bfb7ff57d42964ecf988d331b47f76/src/client/core/index.js#L72
https://github.com/DevExpress/testcafe/blob/7177efe484bfb7ff57d42964ecf988d331b47f76/src/client/automation/index.js#L60
https://github.com/DevExpress/testcafe/blob/8c6e72128636389d884d9f07f9185749f4dddceb/src/client/driver/index.js#L20

[ ] Fix the initializaton code for <iframe src="javascript:'<html></html>'"> in Hammerhead:

https://github.com/DevExpress/testcafe-hammerhead/blob/master/src/client/sandbox/iframe.ts#L116

[ ] Enable back the test/functional/fixtures/regression/gh-1999/test.js test.

Is it related with this Issue: https://support.google.com/chrome/thread/11089651?msgid=11328844?
Cause in Chrome 76+ my tests fail until I switch off chrome://flags/#out-of-blink-cors flag.  More precisely, drag'n'drop operations with offsetX/offsetY become wrong (offsetY is more by 6px in test).
Or my bug is different and I must create new Issue?

Hi @gooddaytoday
This issue is not related to the  https://support.google.com/chrome/thread/11089651?msgid=11328844 thread. Please create a separate issue and provide a simple example with which we can reproduce the problem on our side.

@miherlosev
Sorry, investigated a little my problem and it is not because of TestCafe. Its just Chrome, that renders HTML blocks with different sizes for personal user and default new user. Also, Firefox renders HTML differently, than Chrome (sizes from .getBoundingRectangleBox())


Remove Style Dictionary from project

General Support Request
Style dictionary is no longer needed as there is not enough of a reason to support it any longer. Styles have been reduced to a standard list.

:tada: This issue has been resolved in version 2.1.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


SyntaxError: expected 'except' or 'finally' block

I'm not sure if it comes from codegen or minimize, but when fuzzing (on Python 3.11) I get a lot of SyntaxError: expected 'except' or 'finally' block. Example traceback:
Traceback (most recent call last):
  File "/media/data/dev/griffe/__pypackages__/3.11/lib/failprint/runners.py", line 214, in run_function_get_code
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "/media/data/dev/griffe/duties.py", line 335, in test_seed
    new_code = minimize(code, fails)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/media/data/dev/griffe/__pypackages__/3.11/lib/pysource_minimize/_minimize.py", line 69, in minimize
    original_ast = parse(source)
                   ^^^^^^^^^^^^^
  File "/media/data/dev/griffe/__pypackages__/3.11/lib/pysource_minimize/_utils.py", line 14, in parse
    return ast.parse(source, type_comments=True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/ast.py", line 50, in parse
    return compile(source, filename, mode, flags,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<unknown>", line 220
    def name_1(*name_0: name_5, **name_3: name_1) -> name_2: # type: ignore
    ^^^
SyntaxError: expected 'except' or 'finally' block

With the corresponding generated code:
Click to expand
while name_5.name_2 if {name_3 if name_3 else name_0, -name_0, [name_4 for name_5 in name_0], name_4 and name_0, []} else ({}, 14.142679894817503):
    (name_3 if name_2 else name_4)()
    del name_5
    assert (name_1 := name_0)[+name_5]
    {{*()}: name_5[name_3] for name_5 in name_1 if name_2 if name_4 if name_5 if name_5 if name_4 for name_0 in name_1 if name_1 if name_1 if name_0 for name_5 in name_3 if name_0 if name_4 if name_1}
    {{} for name_1 in name_0 if name_3 if name_2 if name_0 if name_0 if name_3 for name_2 in name_0 for name_2 in name_0 if name_2 for name_1 in name_3}
    (name_2 async for name_2 in name_5) <= {*()}
assert b'some bytes', [[name_3 for name_5 in name_0 for name_1 in name_0 if name_1 if name_5 if name_4 for name_5 in name_1 for name_1 in name_0 if name_4 if name_2 if name_3 if name_3 for name_1 in name_4 if name_5 if name_5 if name_5 if name_1 if name_3], name_0[name_5][name_5], name_4]
([name_1 and name_4, {name_4 for name_5 in name_1}, name_4(), [name_4 for name_3 in name_3]], (name_3.name_4 async for name_4 in name_2 if name_4 if name_4 if name_2 if name_3 for name_5 in name_0 if name_0 async for name_1 in name_5 if name_5 if name_5 async for name_0 in name_1), name_1.name_4.name_5)

@lambda name_4, name_0, /, name_1, *, name_2=(name_1 := name_4): {[name_4 for name_3 in name_2]: [name_4 for name_5 in name_2]}
@{{(name_2 async for name_1 in name_4): not name_2, {}: (name_3 async for name_2 in name_2)}: not [] for name_1.name_0 in {name_0: name_5} if f'TrueNone{name_1!a:}{name_4:}' for name_5 in {name_1: name_0 for name_1 in name_0 for name_3 in name_2} if {name_3: name_3, name_1: name_2, name_1: name_1} if not name_1 if [name_4, name_4, name_1] if name_1.name_5 if name_5 for name_3, in name_1(name_5, name_4, name_1, name_3, name_4, name_4=name_2, **name_1) for [name_5, name_1] in name_0[name_1] if name_1[name_1] if name_4 and name_1 and name_4 and name_3 and name_3 if name_4(name_3, name_4, name_0, name_1, name_1, name_1=name_4, name_0=name_3, name_3=name_3) if (name_5 if name_3 else name_2) for name_0 in name_2(**name_4, **name_3, name_5=name_4) if name_2 or name_2 or name_1 or name_2 or name_3 or name_2 if 8 if ~name_2 for name_4.name_4 in ~name_5 if name_1 != name_3 != name_2 in name_0 != name_5 is name_3 if f'{name_2!s:}True{name_2!a}{name_4}None' if name_1.name_5 if name_3 @ name_0}
@{{4.484960824690574, name_5 < name_2, name_4()}: {name_3(): {name_4: name_4 for name_0 in name_2} for name_4 in name_3 if name_0 if name_3 if name_2} for name_1.name_0 in name_3 and name_0 and name_3 and name_3 and name_0 and name_1 if {name_5 for name_2 in name_0 for name_3 in name_2 for name_0 in name_4} for [name_0, name_2, name_5, name_5, name_2] in name_3(name_4, name_4) if name_5 if name_4(name_1, name_3, name_4, name_5, name_0, **name_1, **name_3, name_4=name_4, name_3=name_5) if name_2 if (lambda: name_4) for [name_5, name_3] in name_1(name_4, name_3, name_2, **name_0, name_3=name_5, **name_1) if name_4[name_5] if (name_4,) if +name_1 if {} for name_2 in (name_1, name_3, name_5, name_5) if name_0 & name_5 if name_0[name_0] for name_3.name_1 in {name_2, name_4, name_4, name_0, name_1} if name_1 or name_1 if name_3 and name_0 and name_2 for name_5.name_2 in (name_0, name_3) if (lambda *name_3, **name_2: name_3) if (lambda *name_0, **name_1: name_0) if not name_4 if name_1 ^ name_1}
@((name_4 := [name_4 for name_1 in name_2]), name_2, [lambda *name_1: name_1, lambda *name_2, **name_0: name_3, ~name_5, (name_1 := name_0)], f'' - 'some const text')
@[[(), {*()}, f'', {*()}, name_5 <= name_0], {}, name_4() == (lambda *name_2: name_2) > '']
async def name_0(name_1, name_2: {name_2.name_2, name_2, {name_4: name_2 for name_2 in name_5}}, /, name_4, name_0, *, name_3: f"{name_4}{name_4!a}b'some bytes'14False"=name_2[name_0] << (name_5 async for name_0 in name_5 async for name_2 in name_3)): # type: ignore
    for f''.name_0 in f"b'some bytes'{name_5!r:}": # type: ignore
        name_4()
    else:
        lambda: name_2
        await name_2
        f''
        try:

            async def name_0(): # type: ignore
                pass
            name_5: name_5 = name_5
            pass
            from . import name_2
            name_4
            name_4
        except name_2:
            pass
        except name_4 as name_0:
            pass
        except:
            pass
        else:
            return
        finally:
            assert name_4, name_4
            name_2
        name_3 >= name_4
match f'{(name_5 := name_0)!s:}{ {name_0: name_4 for name_4 in name_0}!a}':
    case b'':
        None
        with 'some const text', {*()}, -name_1 as (), {name_2: name_2 for name_2 in name_4} as name_5[name_5], [], name_4 or name_0 as (): # type: ignore
            name_3
            pass
            name_4
            try:
                pass
                pass
                pass
                pass
                pass
                pass
            except name_1:
                pass
            except name_3:
                pass
            except:
                pass
            finally:
                pass
                pass
                pass
                pass
            name_4
            for name_1 in name_1: # type: ignore
                pass
                pass
                pass
            else:
                pass
        {}
        from .... import name_0 as name_2
    case b'' | _ if [(name_3,) for [] in name_0 if name_5 if {name_4 for name_4 in name_1}]:
        from .name_1 import name_4, name_0 as name_0, name_5, name_4 as name_3, name_2 as name_3, name_0
        (name_3 := name_5)
        {name_4, name_3}
    case []:
        with [] as (), (name_1 async for name_2 in name_4), name_3() as [], (name_3 async for name_0 in name_4) as name_2, [name_1 for name_3 in name_3]: # type: ignore

            @name_2
            @name_2
            @name_1
            @name_5
            async def name_2(*name_4, **name_5) -> name_3: # type: ignore
                pass
                pass
            pass
            name_1
            name_2
            name_5
            name_5
    case 3:
        name_1[name_3]
        {name_4 for name_2 in name_1 for name_2 in name_1 for name_3 in name_2 for name_2 in name_2}
        +name_0
        name_0

        @name_2.name_4
        @[name_3, name_4, name_0, name_1, name_1]
        def name_1(name_5, /, name_2, name_0, name_1, *, name_3=name_3, name_4=f''): # type: ignore
            return
            name_1 = name_1 = name_1 = name_2 # type: ignore
            name_1
            name_2 %= name_0
            name_0
            del name_5, name_1, name_1, name_1, name_2
    case {4.471161340246487: name_4.name_1 | name_2.name_3 | name_2.name_0 | b'' | b'' | -5, 'some const text': _, False: name_0} if None:
        name_1[name_5]: [name_1 for name_0 in name_0 for name_1 in name_1 for name_3 in name_2 for name_3 in name_4]
-[]
with [[name_4, name_1] for name_3.name_4 in None if (lambda *name_2: name_1) if name_1 and name_5 if name_0 << name_1 for () in [] if () for name_3.name_3 in {name_3 for name_1 in name_1} if name_4[name_3] if [] if name_4.name_5 if f'' if {name_3 for name_0 in name_3} for name_3.name_5 in (name_2 async for name_0 in name_3) if (name_2 async for name_1 in name_4) if name_1 not in name_5], {{name_1: name_2, name_4: name_0, name_5: name_2} for [] in {} if name_2.name_4 for name_2.name_5 in name_3 <= name_4 if {} if {*()} if not name_2 for name_3.name_4 in [] if [name_0 for name_5 in name_3] for [] in [] if [] if name_5 for name_3.name_4 in ~name_5 if name_3 != name_5 if (lambda: name_2) if {*()} if name_4 and name_2 for name_0 in () if (lambda *name_5, **name_1: name_5) if name_2.name_3 if not name_0 if (name_4 if name_4 else name_3)}, f'', (f"b''{name_0:}" async for name_4[name_0] in (name_3 if name_1 else name_5) if name_5[name_4] if (name_3 if name_2 else name_4) async for name_3[name_5] in name_0 == name_4 if (name_4 async for name_5 in name_0) if name_2[name_3] if (name_1 if name_4 else name_4) async for name_4[name_2] in [] if [] if name_5 or name_4) as name_4(name_4, name_4, name_5=name_3, **name_0, **name_1, **name_1, name_2=name_5)[{name_2 for name_3 in name_4 for name_0 in name_4 for name_5 in name_1 for name_1 in name_2 for name_4 in name_0}]: # type: ignore
    with f'None', {name_2: name_1}, {}: # type: ignore
        try:
            name_3
            name_3
            raise name_5
        except* name_2 as name_4:
            pass
        except* name_4:
            pass
        else:
            name_3
            name_4
            name_1
            import name_5 as name_2
        finally:
            name_5
            name_1

            class name_2:
                pass
            from . import name_2
            match name_0:
                case -9:
                    pass
        [name_3 for name_1 in name_2]
        if name_3 if name_3 else name_3:
            import name_5 as name_1
            name_3
            with name_3: # type: ignore
                pass
            name_1

            class name_1:
                pass
        name_2 > name_1
        with name_5, name_3 as name_3: # type: ignore
            pass
            name_4
            name_3
pass
[True for name_5[name_2] in f"b'some bytes'{name_2}False{name_2!s:}" if {name_0: name_0} if [name_3 for name_4 in name_0 for name_2 in name_2] if name_4 or name_2 or name_2 or name_1 or name_3 or name_1 if name_0 + name_4 for () in (name_3 if name_2 else name_5) if b'some bytes' for name_3 in [name_1, name_3, name_3, name_4, name_3] for name_4.name_3 in 16 if name_0 != name_4 in name_0 > name_3 >= name_3 if (name_2 if name_3 else name_5) if {name_5, name_4} for name_1 in name_2 >> name_2 if name_2(name_4, **name_4, **name_1, name_0=name_3, **name_1, name_4=name_3) for name_1[name_3] in (lambda *name_1, **name_2: name_3) if +name_3 if f'{name_2}{name_2:}' if f"b''some const textTrue" if name_5[name_1] if name_0.name_1]
name_0 = [None for name_2 in name_2 for name_4 in name_2 if name_4 if name_2 if name_0 for name_2 in name_3 if name_0 if name_0 if name_3][f"{name_5:}b''b''some const text5.514677530196881"] = {{name_3 in name_4, -name_0, {}} for name_1 in {name_2: name_1, name_1: name_5, name_4: name_0, name_0: name_1} if name_2 - name_3 if {name_2, name_4, name_5} if name_3 for [name_5] in [] if {name_3 for name_4 in name_3 for name_2 in name_0 for name_5 in name_5 for name_3 in name_5 for name_3 in name_5} for name_3 in [name_3 for name_1 in name_2] if {name_4 for name_2 in name_1 for name_0 in name_0 for name_0 in name_0 for name_4 in name_4} if (name_3 if name_0 else name_5)} # type: ignore
-{name_2 is name_3: [name_1 for name_1 in name_5] for name_5 in name_2 if name_3 if name_1 if name_5 if name_0 for name_5 in name_4 if name_1 if name_5 if name_5 if name_5 if name_1 for name_2 in name_1 if name_5 if name_1 if name_2 for name_0 in name_1 if name_3 if name_3 if name_4 if name_2 if name_1 for name_4 in name_5 if name_4 for name_1 in name_3 if name_5 if name_5 if name_5}
{15: name_5 < name_3 for name_0 in name_5 if name_1 if name_3 if name_5 if name_3 if name_3 for name_1 in name_1 for name_4 in name_5 if name_3 for name_2 in name_1 if name_5 if name_5 if name_1 if name_5 if name_5} + {lambda **name_1: name_2 for name_4 in name_1 if name_5 for name_2 in name_4 if name_0 if name_4 if name_3 if name_2 if name_5 for name_3 in name_0 if name_1 if name_2 for name_3 in name_1 if name_2}
False if {name_2: name_2 for name_3 in name_0}[name_2()] else ((), {name_3 for name_3 in name_5}, name_4 < name_4)
if {{name_0 for name_1 in name_0}: f'', name_3 ** name_2: name_2()}.name_0:
    if []:
        for name_0 in {name_1: name_4 for name_2 in name_5}: # type: ignore
            name_0
            name_0
            for name_0 in name_2: # type: ignore
                pass
            raise name_1
            name_4
            name_2
        else:
            name_0

            class name_2:
                pass
            name_0
            name_1
            name_4
    else:
        {name_5 for name_0 in name_5}
    (name_4 and name_5).name_0

    @True and name_3() and (name_1 async for name_5 in name_0) and (name_3 in name_1) and name_2()
    @name_0().name_5
    @~name_3[name_4]
    async def name_4(name_5, name_3, /, name_0: {}, name_2: name_5[name_5], name_4): # type: ignore
        try:
            name_1
            name_5 # type: ignore
            raise
            assert name_5
            while name_0:
                pass
            from . import name_0 as name_5
        except name_2 as name_1:
            pass
        except name_3 as name_3:
            pass
        except:
            pass
        else:
            pass
            name_2
            import name_0 as name_2
            return
        finally:
            assert name_5, name_3
            for name_0 in name_0: # type: ignore
                pass
            name_5
            name_2
            name_2
        pass
    import name_1 as name_0
    try:
        for [] in name_3 // name_1: # type: ignore
            try:
                pass

            def name_1(*name_0: name_5, **name_3: name_1) -> name_2: # type: ignore
                pass
            break
        else:
            name_4
    finally:
        with name_2 as name_1, name_2, name_1, name_1: # type: ignore
            raise name_0 from name_3
            try:
                pass
            except* name_5:
                pass
            name_5
            if name_1:
                pass
        if [name_5 for name_0 in name_4]:
            name_4
            name_3
            name_2

            async def name_5(**name_1: name_0): # type: ignore
                pass
            name_2
            name_1
        else:
            while name_2:
                pass
            pass
            name_0

            class name_0:
                pass
            name_0: name_0 = name_3
        import name_2
else:
    try:
        while name_5[name_3]:

            class name_4:
                pass
            name_2
            del name_3
            name_4 /= name_2
            name_5
        else:
            name_3
        name_3: []
        {name_1 for name_2 in name_5}
        ()
    except lambda **name_4: name_4 as name_5:
        name_1
        name_3
    except False as name_0:
        name_4
        name_0
        name_0
        import name_2
    except name_5 if name_4 else name_1 as name_0:
        name_0
        name_4
        name_5
        while name_1:
            pass

        async def name_0(**name_0) -> name_3: # type: ignore
            pass
        name_5
    else:
        assert name_1 or name_3
        name_1[name_3]: ()
    finally:
        name_0 if name_4 else name_5
        +name_4
    assert {} is {*()} is name_3 ^ name_1 < (name_4 and name_1) != (), lambda name_1, name_0, name_5, /, name_3, name_4=name_1, name_2=name_4: []
    from . import name_3 as name_3, name_2 as name_5, name_5 as name_3, name_0, name_5, name_0 as name_4
[({name_5 for name_1 in name_3} for name_5 in name_3 if name_3 if name_2 if name_2 if name_3 if name_2) for name_1, name_5, name_2 in [] if b'' if (name_1 async for name_2 in name_2 async for name_0 in name_5 async for name_3 in name_4) if {name_2 for name_3 in name_4} if (name_0,) for name_5[name_1] in {name_1: name_5 for name_2 in name_1} if (lambda *name_3: name_4) if name_1 if {} for name_2 in [name_0] if {name_5: name_1 for name_4 in name_4} if (name_0, name_2, name_4, name_1) for name_1[name_0] in name_3 or name_1 or name_3 or name_0 if {name_1 for name_2 in name_5 for name_2 in name_0 for name_0 in name_3} if (name_3 async for name_2 in name_2 for name_3 in name_3 async for name_1 in name_0) if name_5(name_0, name_4, name_3, name_1, name_2) for () in []]
while {f'' if {} else name_5 & name_3: {} if name_5.name_2 else name_3 - name_3 for name_5 in name_5 if name_4 if (name_5 async for name_3 in name_0 async for name_1 in name_5) if name_3(**name_4, name_0=name_2, name_4=name_5, **name_2) if name_2[name_3] if name_4(name_0, name_0, name_2, name_5, name_2, **name_4) for [name_3, name_2, name_3, name_1] in (name_1,) if (name_1 async for name_2 in name_4) if (lambda **name_5: name_1) if (name_5 if name_5 else name_4)}:
    (-name_0 async for name_4 in name_3 if name_2 if name_0 if name_3 if name_4 async for name_3 in name_1 if name_4 if name_2 if name_5 if name_2 if name_1 async for name_3 in name_0 if name_1 if name_3 async for name_0 in name_3 if name_0 if name_4 if name_4 if name_0 if name_3 async for name_1 in name_0 if name_4 if name_4)
    name_2
    try:
        match {name_1 for name_0 in name_1}:
            case name_3.name_2 if name_1:
                pass
                pass
                pass
                pass
                pass
                pass
            case name_5.name_5:
                pass
                pass
                pass
                pass
                pass
            case True:
                pass
                pass
                pass
                pass
        {name_1 for name_4 in name_2}
        name_2
        (name_4 := name_5)
    except:
        match name_1:
            case name_2.name_5 if name_2:
                pass
        name_5
        name_0
        name_3

        class name_3:
            pass
    else:
        []
        {*()}
    finally:
        (name_3 async for name_4 in name_1)
        from ..name_1 import name_5, name_2, name_0, name_0
        for name_2[name_0] in {name_3 for name_4 in name_3}: # type: ignore
            name_3
        else:
            name_0
            pass
            import name_5 as name_4
        raise f'' from name_5[name_3]

        @name_1 + name_4
        @name_1[name_4]
        @f''
        @[]
        class name_1(**name_3, **name_4, **name_0, name_0=name_4):
            name_2
            with name_4 as name_1: # type: ignore
                pass
            name_2
            name_4
            name_3
    ([name_1 for name_3 in name_3] async for name_4 in name_0 if name_0 if name_2 if name_2 if name_4 async for name_5 in name_0 if name_4 if name_3 if name_2 async for name_4 in name_0 async for name_5 in name_4 if name_5)
    {(name_0 for name_5 in name_0)}
else:
    try:
        name_5
        raise
        [name_0 for name_2 in name_2]
    except* ():
        name_4 //= name_0
        name_3
    except* {name_3 for name_3 in name_2} as name_3:
        if name_3:
            pass
    except* [name_0 for name_3 in name_1]:

        class name_2:
            pass
        name_1
        name_4
        for name_3 in name_5: # type: ignore
            pass
        name_4
    else:
        name_4[name_1] //= name_0[name_3]
        b'some bytes'
        (name_5 async for name_5 in name_3)
        [name_4 for name_1 in name_0]
    finally:
        import name_1 as name_0
        name_1.name_4
        ()
        name_2: name_2 - name_2
    {{name_0 for name_4 in name_4}: name_0 is not name_1 for name_4 in name_1 if name_1 if name_2 if name_2 for name_2 in name_0}
    match {f'': name_3 for name_0 in name_3 if name_5 if name_4 if name_3 if name_3 if name_4 for name_2 in name_5 if name_2 for name_1 in name_1 if name_1 if name_5 if name_4 if name_2 if name_4 for name_2 in name_5 if name_3 if name_5}:
        case 16 if name_1 if name_0 else name_0:
            name_3
            name_0
            from .... import name_3
            name_2

            def name_5(**name_1: name_0): # type: ignore
                pass
                pass
                pass
                pass
            while name_1:
                pass
                pass
                pass
            else:
                pass
                pass
        case True:

            @name_3
            @name_2
            @name_4
            def name_0(*name_3): # type: ignore
                pass
                pass
                pass
                pass
                pass
                pass
            raise name_5 from name_2
        case 3.064613024842777 | b'' | False | '' | True if name_4:
            name_3
            with name_4, name_3 as name_4, name_1 as name_5, name_0: # type: ignore
                pass
                pass
                pass
                pass
            name_1
            name_4 = name_4 = name_5 # type: ignore

            @name_2
            @name_3
            @name_1
            @name_2
            @name_3
            class name_0(name_5, name_2, name_5=name_4, **name_2, **name_5, **name_0, **name_5):
                pass
                pass
                pass
                pass
                pass
                pass
        case name_4(name_0.name_4) if lambda: name_4:
            name_2: name_5 = name_2
            while name_5:
                pass
                pass
                pass
                pass
            else:
                pass
                pass
            with name_5, name_5 as name_3, name_2 as name_0: # type: ignore
                pass
                pass
                pass
                pass
    {lambda *name_1: name_4: (name_4 async for name_3 in name_2)}
    {name_4: name_2 for name_4 in name_2}[name_1.name_2]
True not in [name_4 for name_5 in name_5].name_3 not in {}({name_5 for name_5 in name_1}, f'') > 6.550637363294188 is {b'': {name_5: name_5 for name_5 in name_5} for name_5 in name_1 if name_3 if name_4 if name_2 if name_5 if name_5 for name_2 in name_4 if name_4 if name_1 if name_0 for name_3 in name_5 if name_2 if name_2}
lambda name_5, name_1, /: (name_0 := name_2)[f'']

@{True: name_5}
@f'10'
@{{[]: name_2.name_5} for [name_4, name_3, name_2] in name_5 or name_5 or name_3 for name_4 in (name_1 if name_4 else name_3) if (name_0 async for name_5 in name_4 for name_3 in name_1 async for name_3 in name_4 async for name_4 in name_4) if {*()} if {name_0: name_3 for name_5 in name_4 for name_4 in name_5 for name_2 in name_3 for name_3 in name_5} if (name_0 async for name_0 in name_3 async for name_5 in name_1 async for name_0 in name_3 async for name_3 in name_0) if {} for name_0.name_5 in (lambda: name_3) if {name_2, name_1, name_0, name_3} if name_3[name_1] if {name_1 for name_1 in name_2} if name_2 or name_0 if b'some bytes' for name_5.name_0 in (name_1 if name_3 else name_5) if {name_2 for name_2 in name_2 for name_1 in name_5 for name_2 in name_3 for name_1 in name_2 for name_5 in name_3} if (name_1 if name_5 else name_0)}
@not (lambda name_4, name_1, name_5, /, name_0: {*()})
@(lambda name_0, name_2, name_4, name_1, /: {name_4 for name_0 in name_1})[name_5(), ()]
async def name_0(name_0: name_2()[{}], name_2: (name_4 if name_0 else name_3) or (name_1 for name_3 in name_4) or -name_3, name_5: (name_0 or name_4)(name_3 <= name_4, name_3=name_5, name_5=name_3), /, name_1=name_0, name_3: {name_4 and name_5 for name_3 in name_0 if name_2 if name_1 if name_4 if name_5 if name_2}=f'None' < (name_2 := name_4) not in {name_3: name_4, name_3: name_5, name_3: name_1}, *name_4) -> {(name_2 := name_2), {*()}, True, *name_1}[[*name_0, f'', name_5[name_0]]]: # type: ignore
    with {}, [name_1] as (name_3, name_5), name_1 if name_3 else name_3, (yield name_4), name_4 if name_3 else name_0, (yield) as name_4: # type: ignore
        name_1 if name_5 else name_5

    @[] // {name_5: name_0 for name_2 in name_0}
    @name_1[name_2](name_1=name_5)
    class name_2(await name_0.name_5, {*()}, (yield name_0)[name_1()], 'some const text'(name_3=name_3, **name_5, **name_0)):
        name_4[name_0]
        del []

        @[name_1 for name_2 in name_5]
        @{name_2 for name_0 in name_0}
        class name_2({name_5: name_0 for name_5 in name_2}, name_3=name_3, name_4=name_5, **name_1, name_0=name_1):
            try:
                pass
            except name_5:
                pass
        {}

        @name_3 if name_2 else name_3
        @{name_0: name_5 for name_1 in name_5}
        @()
        def name_2(name_4, name_5: name_3, name_2: name_3, name_1, /, name_0: name_1=name_1, name_3=name_4) -> {name_4: name_0 for name_0 in name_1}: # type: ignore
            match name_1:
                case b'some bytes' if name_5:
                    pass
            for name_0 in name_5: # type: ignore
                pass
            name_2
    [()] = [*name_4, (), [], name_0.name_0] = name_3, name_2.name_1, name_3.name_3 = *name_2, name_4.name_3, name_1.name_1, name_3[name_0], () = name_4 = name_0.name_0 # type: ignore

    @(yield)
    @(name_5 % name_3)[name_1 if name_5 else name_1]
    async def name_3(name_3: name_4[name_2], /, name_4=name_2 ** name_2, name_5: {}=8, name_2=await name_1): # type: ignore
        import name_3
        while ():
            if name_3:
                pass
            return
            name_4 # type: ignore
        else:
            name_0
        [name_0 async for name_4 in name_5]

        @name_4
        def name_4(name_1, name_2: name_3, name_3: name_0, /, name_0=name_1, name_5=name_3): # type: ignore
            try:
                pass
            except* name_3:
                pass

            def name_0(**name_2: name_1) -> name_3: # type: ignore
                pass
            from name_0 import name_4 as name_0
            name_3
            name_5

        @name_2 is not name_4
        @{*()}
        @(name_2 async for name_4 in name_1)
        @name_0[name_2]
        class name_1((yield name_0)):
            name_0
            name_4
            name_1 # type: ignore
            match name_3:
                case name_5.name_0 if name_1:
                    pass
    (name_4 for name_3 in name_5 if name_0 if name_2 if name_5 if name_3 if name_0)
    (name_4 async for name_5 in name_5) not in -name_3
try:
    match {name_1 or name_4 for name_5 in name_4 if name_5 if name_2 if name_3 if name_2 for name_4 in name_0 if name_0 if name_0 if name_5 for name_4 in name_3 if name_2 if name_3 if name_5 if name_3 for name_3 in name_3}:
        case [b'some bytes']:
            name_3

            @name_5
            @name_0
            async def name_4(*name_3: name_0) -> name_5: # type: ignore
                pass
                pass
                pass
                pass
            name_2: name_5 = name_4
            name_0
            name_4
        case name_3(name_5.name_1, b'', name_2=b'some bytes', name_5=name_2.name_5) if {name_4, name_2, name_5, name_5, name_4}:
            while name_4:
                pass
                pass
                pass
            else:
                pass
                pass
                pass
                pass
                pass
        case [name_2.name_1]:
            try:
                pass
            finally:
                pass
            name_2
    pass
    [name_4 for name_4 in name_5](name_1 if name_4 else name_3, -name_4, name_0=name_4, **name_1, **name_0, **name_2, **name_5)
    if name_0 or name_3 or {} or name_4 | name_5 or name_3 or (name_3 if name_1 else name_4) or name_4:
        for [] in {*()}: # type: ignore
            name_1: name_2 = name_0
            name_0
            name_3
            name_3
            pass
            name_0
        else:
            name_0: name_4 = name_2
            for name_3 in name_5: # type: ignore
                pass
            del name_0
            name_5
            pass
        name_3 >> name_3
        {*()}

        @{name_0 for name_0 in name_5}
        @name_4 * name_3
        @(name_4 async for name_4 in name_3)
        @name_0 * name_1
        @{name_2 for name_4 in name_2}
        class name_1:
            name_4
        {name_3 for name_5 in name_4}
        name_0.name_2
    else:
        {}
        pass
        name_3
        {name_3: name_2 for name_3 in name_3}
    7[:name_4]
except f''(f'', (name_4 := name_2), (name_3 async for name_0 in name_0), {*()}, **name_2):
    name_2 not in name_2
    raise
    name_2 < name_1
except () & []:
    (name_4 := name_3)
    raise
    name_2 if name_3 else name_4
    raise
except:
    []
    name_4: name_1

    @(name_2 async for name_3 in name_5)
    @name_1 * name_2
    @name_3[name_2]
    @name_2[name_0]
    @{}
    async def name_5(name_1: name_3, name_3, name_0, /, *, name_5=name_5): # type: ignore
        name_0
        pass
    name_3[name_2] = name_5() # type: ignore
else:
    match name_2.name_0 is not name_5 / name_5 != {name_4: name_4 for name_1 in name_5} == name_1:
        case b'' | name_0.name_3 | 10.614422907609729 | True if name_3:
            name_5
            name_1
            name_3
            name_1
            try:
                pass
            except name_0 as name_2:
                pass
            except name_5 as name_4:
                pass
            finally:
                pass
                pass
                pass
                pass
            name_4: name_5
        case ['some const text', name_3.name_2, name_4.name_4, name_1.name_5, 'some const text'] if name_3(name_3, name_2, name_2, name_5, **name_0, **name_1, name_2=name_1):
            pass
            name_1
            name_5
            match name_1:
                case b'':
                    pass
                case name_4.name_0:
                    pass
                case name_3.name_5:
                    pass
                case b'':
                    pass
                case False if name_5:
                    pass
                case None:
                    pass
            name_0 ^= name_5
            name_0
        case [name_2.name_4, name_2.name_0, name_1.name_5, 3.1961920675943833, ''] if name_5 and name_2 and name_4 and name_5:
            name_2: name_5 = name_3
            if name_4:
                pass
            else:
                pass
                pass
                pass
                pass

            @name_0
            @name_5
            @name_5
            @name_5
            @name_5
            async def name_1(**name_1) -> name_1: # type: ignore
                pass
            name_5
            name_1: name_5
            name_0
        case None:
            del name_2, name_4, name_0, name_3, name_2, name_5
            name_5
            from . import name_0 as name_0, name_3 as name_4, name_2, name_4 as name_5, name_5
            name_1
            name_1
        case b'some bytes' | name_5.name_3 | name_2.name_4 if {name_4: name_1 for name_1 in name_3 for name_1 in name_0 for name_3 in name_0 for name_2 in name_5 for name_1 in name_4}:
            import name_2 as name_0, name_3, name_0, name_4, name_5 as name_2
            name_3 <<= name_2
            name_3
            name_5
        case name_3:
            name_3
            name_0
            name_2
            name_2
            for name_2 in name_1: # type: ignore
                pass
                pass
                pass
                pass
            else:
                pass
                pass
    name_4 &= lambda name_5, /, *name_1, **name_0: b'some bytes'
    ({},)
    (*name_0, {name_2: name_3 for name_3 in name_0}, {name_5: name_5 for name_5 in name_1})
    (name_2 := (~name_2))
finally:
    from ... import name_3, name_3, name_1 as name_2, name_5 as name_0, name_1 as name_5, name_4
    {True for name_5 in name_1 if name_5 if name_3 for name_3 in name_1 if name_5 if name_4}

Indeed I can see try: pass in some places without any except, else or finally. I suppose this issue should be transferred to codegen then.
pysource-codegen==0.5.0
pysource-minimize==0.6.1

Thank you for the report.
I looked into griffe and saw that you have a revisit option, which checks files which have been generated in previous runs.
I need some more information:

can you give me the griffe branch/commit where you have this problem.
Is your example a file which has been stored in a previous run and is revisited?
Is the problem reproducible with a fresh run (without revisit)?

Thanks for the quick answer.

You can try it on main branch, or latest commit at this time, d604282932641e3e8285da83403131ba984006c9.
Yes and no. I tried with new seeds, I tried with already visited seeds: the behavior is consistent. This particular file didn't exist at first, it was generated yesterday. I revisited it, and obviously it triggered the same error again, since the file didn't change (the single try: pass is still there).
As implicated by point 2, yes.

An IMO unexpected thing is that compilation to an AST and execution do not return the same syntax errors:

while fuzzing (at compile): SyntaxError: invalid syntax, line 66
with python3.11 /tmp/fuzz_551384_11.py: SyntaxError: expected 'except' or 'finally' block, line 79

Tracebacks
% python3.11 -m duty fuzz seeds=551384
✗ Visiting code generated with seed 551384 (1)
  > test_seed(551384, False)
  Traceback (most recent call last):
    File "/media/data/dev/griffe/__pypackages__/3.11/lib/failprint/runners.py", line 214, in run_function_get_code
      result = func(*args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^
    File "/media/data/dev/griffe/duties.py", line 335, in test_seed
      new_code = minimize(code, fails)
                 ^^^^^^^^^^^^^^^^^^^^^
    File "/media/data/dev/griffe/__pypackages__/3.11/lib/pysource_minimize/_minimize.py", line 69, in minimize
      original_ast = parse(source)
                     ^^^^^^^^^^^^^
    File "/media/data/dev/griffe/__pypackages__/3.11/lib/pysource_minimize/_utils.py", line 14, in parse
      return ast.parse(source, type_comments=True)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/ast.py", line 50, in parse
      return compile(source, filename, mode, flags,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "<unknown>", line 66
      name_4 # type: ignoresome text
                     ^^^^^^^^^^^^^^^
  SyntaxError: invalid syntax

% python3.11 /tmp/fuzz_551384_11.py
  File "/tmp/fuzz_551384_11.py", line 79
    name_1
    ^^^^^^
SyntaxError: expected 'except' or 'finally' block

File generated with seed 551384
f'{name_4!s:}'
{{() for name_0 in name_1 if name_0}: (name_0, name_5 if name_5 else name_4) for name_3 in name_3.name_1 if name_1 and name_2 and name_2 and name_4 for name_4 in {name_1: name_5 for name_5 in name_4 for name_5 in name_2 for name_5 in name_2 for name_2 in name_0 for name_0 in name_2 for name_2 in name_0} if not name_5 if name_2[name_4] if name_0 & name_3 for [] in name_2[name_4] if name_5 and name_3 and name_4 and name_1 if name_1(name_0=name_2, **name_5, **name_4) if False if f'12.220847232605411{name_4!s}' for name_2 in f"Falseb'some bytes'False{name_2!a:}" if [name_4, name_4, name_2] for [] in (lambda *name_3, **name_0: name_0) if {name_3 for name_5 in name_2 for name_5 in name_0 for name_4 in name_0 for name_5 in name_5} if name_1 ** name_5 for name_2, name_5, name_0, name_0 in (name_1, name_0) if name_4 & name_2 if name_2[name_1]}
del [name_0 or name_2 for name_2 in name_0 if name_1 if name_2 if name_1 for name_1 in name_1][[f'' for name_5 in name_3 for name_1 in name_1 if name_4 if name_5 if name_4 if name_0 if name_5 for name_3 in name_5 for name_1 in name_1]], [name_5.name_4, [name_1 for name_4 in name_3][()], (name_4[name_0], name_4[name_4], name_1, name_4), name_3()[{*()}]], (((), [], name_1.name_4), name_2.name_0.name_3), ({*()}, *name_4, 4).name_2
None
name_3 > (name_1 < name_3).name_3 is name_3[name_1 if name_4 else name_2] == [name_2 and name_4 for name_5 in name_0] >= (lambda name_2, name_0, name_5, name_4, /, name_3, *, name_1=name_2: []) != (name_0 := name_2) >> []
(() is not {name_0 for name_4 in name_1} != f'' not in (name_2 := name_3) != (name_4 and name_4) not in name_1 << name_4) ^ [name_5(), name_5 ^ name_3, (name_4 := name_0), name_0[name_1]]
[]

@[name_2 or name_0 if name_0 in name_2 else name_5 >> name_5, name_4]
@b''
@{{name_4() for name_5 in name_4 for name_2 in name_0 if name_0 if name_2 if name_5 if name_5 if name_1 for name_2 in name_0 if name_2 for name_5 in name_5 if name_4 if name_5 if name_5}, name_1, (name_5 if name_0 else name_5, {name_4 for name_4 in name_2}, name_1(), {*()}, lambda *name_1: name_0)}
@[name_4[name_0] not in 'some const text' > () is [] > {name_1 for name_0 in name_4} for [] in {name_5 for name_3 in name_5 for name_0 in name_0 for name_3 in name_1 for name_0 in name_3} if (lambda: name_2) if name_5 if {name_5 for name_5 in name_2} if f"Falseb'some bytes'{name_1}{name_5!s}" for name_0 in name_2 ^ name_5 if name_3 if name_2 % name_5 if {name_3: name_4 for name_4 in name_1 for name_5 in name_1 for name_0 in name_5 for name_5 in name_4} if (name_3 if name_3 else name_1) for name_3 in name_5 ** name_0 for name_3, in (lambda **name_3: name_2) if name_3 and name_0 and name_1 and name_3 if name_3 is not name_4 <= name_2 if name_0 if not name_4 if name_2 or name_1 or name_0 or name_4 or name_5 or name_1 or name_1 for name_1, name_4, name_0, name_2 in f"b'some bytes'{name_4}{name_0!s:}" if f'' if name_3.name_4 if {name_0 for name_2 in name_2 for name_2 in name_1} if name_4 not in name_0 == name_4 <= name_4 != name_2 != name_3]
@5
def name_2(name_5: {{name_1 for name_3 in name_4}: (name_0 := name_5), b'': (name_0 for name_5 in name_0), (name_1 := name_1): name_3 if name_2 else name_0, lambda **name_0: name_0: {name_0: name_5 for name_4 in name_3}}, name_4: ~(name_3 async for name_1 in name_1), *, name_2=(~name_1 async for name_2.name_2 in {*()} async for name_1[name_0] in [name_2 for name_0 in name_4] if name_1.name_1 if (name_3 if name_4 else name_2) if name_5 async for [] in (name_2 if name_5 else name_3) if (name_2 async for name_2 in name_2) if () if name_3 if {name_2 for name_0 in name_4}), name_3=name_3) -> {f'6.95685806595439316{name_2!a:}': False for name_0.name_3 in f'{name_5!r}{name_4:}{name_1!s:}' if name_3[name_1] if name_1 or name_1 for [name_3] in {name_2} if 3.0859013764430165 if f'{name_3}{name_4!s:}11.476842850267445{name_1:}' if f'{name_3!s}{name_4!s}' if '' for name_2[name_4] in [name_5, name_0, name_2, name_0, name_2] if [name_5 for name_2 in name_4 for name_4 in name_3 for name_1 in name_2] if [name_0, name_5, name_5, name_3]}: # type: ignoresome text
    pass

    @name_3[name_4]([name_0 for name_3 in name_0], f'', (), {name_4 for name_3 in name_3}, [name_2 for name_5 in name_1], name_1=name_3, name_2=name_2, **name_5, name_5=name_1)
    @[lambda *name_5, **name_4: name_4 for name_0 in name_0 if name_5 if name_4 if name_3]
    def name_2(name_1: +name_5, name_5: [], name_2, /, *, name_4=name_0 < name_4 is not name_1 != name_2 != name_0, **name_3) -> ({*()}, name_1()): # type: ignoresome text
        pass
        name_2()
        from name_1 import name_4 as name_2
        {name_2: name_5 for name_4 in name_5}
        yield

async def name_3(name_3, name_0: '', name_1: name_2.name_1 or name_2 @ name_2 or {} or name_3.name_3 or (name_2 in name_4) or name_1() or name_3.name_0, name_5, /, name_2, name_4: [name_3[name_4], (name_5 async for name_2 in name_2), {*()}]): # type: ignoresome text
    {{}: name_1}
    name_5
    lambda name_5, name_3, name_0, name_2=name_2, name_4=name_1, /, name_1=name_1: []
    lambda name_5, name_3, *, name_1=name_5, **name_0: not name_4
(name_1 ^ name_3 async for name_3 in b'some bytes' if False async for name_5[name_0] in name_3 and name_4 and name_3 async for name_5, name_5, name_2, name_0 in name_2(name_1, name_5, name_0, name_4, name_2, **name_5, name_5=name_5, name_1=name_5, **name_2) if name_4 >= name_4 if {name_0: name_5, name_2: name_4} if {})
(name_4 and name_5 if f'' else name_5.name_4) not in {f'' for name_4 in name_2 if name_4 for name_2 in name_5 if name_0 if name_2 if name_0 for name_0 in name_0 if name_1 if name_0 if name_4 if name_2 for name_2 in name_0 for name_5 in name_1 if name_5 if name_2 for name_3 in name_2} >= name_5 in {{}: [name_5 for name_0 in name_2] for name_0 in name_5 if name_4 if name_5 if name_5 for name_1 in name_1 if name_2 if name_2 if name_3 for name_3 in name_1 for name_5 in name_3 if name_0 if name_3 if name_2 for name_3 in name_5 if name_0 if name_4} == {{name_0: name_5 for name_0 in name_5}: [] for name_4 in name_2 if name_4 if name_3 if name_3 if name_0 if name_5 for name_5 in name_1 if name_5 if name_3 for name_0 in name_1 if name_0 if name_3 if name_4 if name_5 if name_1 for name_2 in name_4 if name_2 if name_2 if name_5 if name_4 if name_4}

@{*()} // +name_4 if name_0[name_1]['some const text'] else (name_4 + name_3, [name_5 for name_2 in name_5], name_3[name_1])
@()
@[{name_3, {name_1: name_4 for name_5 in name_0}, name_2[name_4], *name_4, name_0 and name_1} for name_0[name_3] in [name_4, name_5, name_4, name_2, name_3] if '' if (name_1 if name_1 else name_3) if {name_1: name_4, name_1: name_2, name_0: name_5, name_3: name_2} if [name_5 for name_3 in name_3 for name_4 in name_5 for name_1 in name_3 for name_5 in name_2 for name_5 in name_3] for name_2 in (name_3 if name_3 else name_1)]
def name_5(name_3: [{}, (name_5 async for name_4 in name_2)], name_0, /, name_5, name_2: (name_2 := name_0) / +name_4, *name_4: (lambda *name_4, **name_2: name_1) >= [name_4 for name_2 in name_0] >= name_1[name_0], name_1: {name_5[name_2] for name_0 in name_3 if name_0}=[{name_2 for name_1 in name_5} for () in (lambda: name_0) if name_5() if {*()} if name_3 // name_3 if {*()} if name_5 and name_4 for () in f'' if f'' if [] for name_2 in {} for name_4[name_2] in {} if f'' if ~name_0 if -name_5 if {}]) -> +(f'' in {name_2 for name_0 in name_0} > {name_2: name_0 for name_4 in name_1}): # type: ignoresome text
    try:
        name_0.name_4
        try:
            name_1
            for name_1 in name_1: # type: ignoresome text
                pass
            name_3
        except name_2:
            pass
        except name_0:
            pass
        except:
            pass
        else:
            assert name_2, name_0
            raise name_3
            match name_3:
                case False:
                    pass
            name_4
            name_5
        finally:
            del name_0
            name_4
            name_3

            class name_2:
                pass
            name_4 # type: ignoresome text
        name_2[name_5] -= name_0 + name_5
        yield from name_3
    except* (yield from name_1):
        name_1
        with name_1: # type: ignoresome text
            pass
        for name_2 in name_1: # type: ignoresome text
            pass
    except* name_4() as name_2:
        name_1
        try:
            pass
        name_1
    else:
        {name_5: name_4 for name_1 in name_4}
    finally:
        [name_4 for name_5 in name_1]
        {*()}
        yield from name_1
    try:
        []
        yield name_1
        pass
        {}
    except* 'some const text':
        raise name_5
        pass
    except* name_5[name_2] as name_3:

        class name_1:
            pass
        name_0
    else:
        pass
    finally:
        lambda *name_1, **name_5: name_4
        pass
        while name_0 == name_4:
            for name_4 in name_0: # type: ignoresome text
                pass
            try:
                pass
            except* name_5 as name_2:
                pass
        else:
            name_0

            def name_2(**name_4: name_5): # type: ignoresome text
                pass
            return
    pass
    [b'some bytes', (name_1 := name_0), None, [name_5 for name_1 in name_1], name_4 if name_3 else name_3]
    return
    {[name_4 for name_1 in name_0], [name_2 for name_1 in name_3], {}}
assert (not (name_5 := name_2)) != (name_2 := [name_3 for name_1 in name_5]), name_4.name_5
for {name_0: name_3 for name_0 in name_5}[not name_4][f''(name_5, ~name_2, **name_1, **name_1, **name_0, **name_5)] in (lambda name_4, name_3, name_2, name_0, /, name_1, *, name_5=name_4: [])[(name_2 == name_4)(name_5, name_3(), name_1 is name_3, ())]: # type: ignoresome text
    del [[], name_0.name_4, [], name_4.name_1], name_1[name_3][name_1()], name_1, name_5
    pass
    name_0[name_3].name_0
    if -name_3 <= name_1 ^ name_2 < name_3[name_2]:
        b'some bytes'
        break
    else:
        name_4.name_0

        @[name_1 for name_4 in name_3]
        @{name_4: name_3 for name_1 in name_0}
        class name_1({*()}, name_2 if name_4 else name_5, {*()}, (name_0 async for name_1 in name_4), name_2=name_5, name_5=name_2, name_0=name_2, name_4=name_3):
            name_5
        name_3 != name_4
    {[name_1 for name_2 in name_2]: name_0 if name_0 else name_0}
else:
    (name_2 or name_4)[lambda: name_2]
    (name_2 := name_5).name_5
    if {name_1.name_1 for name_4 in name_5 if name_2 if name_4 if name_0 for name_1 in name_5 for name_4 in name_5 if name_2 if name_0 if name_3 if name_3 if name_5 for name_5 in name_1 if name_1 if name_4 if name_0 for name_3 in name_3 if name_2 if name_4 if name_2 if name_2 for name_3 in name_3 if name_2 if name_3 if name_4 if name_2 if name_1}:
        ~name_0
        name_5
        raise {name_4 for name_1 in name_4}
    else:
        name_4[name_5]
        del name_2, (), name_5
        name_3.name_2
    (-name_4)[f'']: (name_2 not in name_4) / f''
lambda name_2: {not name_4, name_0 > name_3}
(name_5 % name_5,)(8, [name_0 for name_2 in name_2].name_3, name_5=b'')
(lambda name_1, name_3, name_5, /, name_4, name_2, *name_0: not name_2)[None]
assert [{name_0[name_2] for name_2 in name_4 if name_2 if name_3 if name_2 for name_0 in name_4} for [name_2] in (lambda: name_0) if (lambda *name_2, **name_3: name_2)]
16
{(name_1.name_0, *name_2) for name_5 in (lambda *name_5: name_2) if [name_3, name_3, name_1, name_1, name_2] if name_5(name_2, name_5, name_3, name_4=name_4, **name_2, **name_0, name_3=name_4) for [name_2, name_1, name_0, name_3] in [name_5 for name_0 in name_3 for name_1 in name_2] if (name_1 if name_1 else name_4) if [name_2 for name_2 in name_5 for name_4 in name_2 for name_3 in name_1 for name_0 in name_4] if name_1(name_5, name_4=name_3) if [name_0] if {name_0 for name_4 in name_0} for name_0[name_1] in 9 if [name_1 for name_5 in name_3 for name_5 in name_5 for name_2 in name_2] if name_2 % name_1 if [name_5, name_5, name_2, name_1] if [name_3 for name_0 in name_3 for name_4 in name_4] if {name_3, name_0, name_4, name_5} for name_5.name_5 in name_2 not in name_2 if (name_1 if name_3 else name_3) for name_0[name_5] in name_2 @ name_1 if [name_1 for name_2 in name_2 for name_2 in name_1 for name_0 in name_5 for name_4 in name_0 for name_4 in name_2]}

I found the issue in pysource-codegen and have a fix for it.
I have some long running test which I want to run before I publish a new release.
But you can use the bugfix branch if you want to try the fix now.

Sure, take your time, I'll let you know if I try the branch :)

fixed with https://github.com/15r10nk/pysource-codegen/issues/17


tdjsonlib document

Hello, I'm looking for tdjsonlib documentation. I'm not sure what json data should be passed to tdjsonlib.
I saw a lot of simple cases, like this one
{
  "@type": "setTdlibParameters",
  "parameters": {
    "api_hash": "qqwertyu123456yu",
    "api_id": 1234567,
    "application_version": "0.4",
    "database_directory": "/home/nemo/.local/share/harbour-depecher",
    "device_model": "Sailfish OS <IP_ADDRESS> (Mouhijoki)",
    "enable_storage_optimizer": false,
    "files_directory": "/tmp/",
    "system_language_code": "C",
    "system_version": "<IP_ADDRESS>",
    "use_chat_info_database": false,
    "use_file_database": false,
    "use_message_database": false,
    "use_secret_chats": false
  }
}

Where should I find this document, I have already looked but not found.

Readme has a lot of useful links to documentation of all available methods. You can also read Getting Started for a general introduction.


Fix typo

As in title

thx, I'll wait to tmr to merge this...

By the way, in my setup workbox-* files are built inside /dist/assets directory.
This means that whole code block is not needed as caching for workbox files is already covered
https://github.com/vite-pwa/docs/blob/3d29d10c2ab5b3f5154fe00568d1edf705ec7729/deployment/nginx.md?plain=1#L68-L80

we should cover default Vite options: if someone using a custom setup should deal with it, we cannot cover all cases (i.e your case)

Actually there is only workbox-window file which is created within the /assets directory,
It's not specific to my setup, it's the default state.


[android] some additional android build fixes

this is a draft for @compnerd to review and to work off, feel free to take over or incorporate it into another PR :)


Fix Commands Viewmodel-Entity Mapping for Undo/Redo

Create Caching for AutoMapper

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

66 of 182 (36.26%)  changed or added relevant lines in 15 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-2.4%) to 91.323%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

Presentation/PresentationLogic/LearningSpace/LearningSpacePresenter.cs
3
5
60.0%

Presentation/PresentationLogic/LearningWorld/LearningWorldPresenter.cs
4
6
66.67%

BusinessLogic/API/BusinessLogic.cs
1
9
11.11%

Presentation/PresentationLogic/API/PresentationLogic.cs
23
32
71.88%

BusinessLogic/Commands/CommandStateManager.cs
3
26
11.54%

AuthoringTool/CachingMapper.cs
6
78
7.69%

Files with Coverage Reduction
New Missed Lines
%

BusinessLogic/API/BusinessLogic.cs
1
70.83%

Totals

Change from base Build<PHONE_NUMBER>:
-2.4%

Covered Lines:
5665

Relevant Lines:
6014

💛  - Coveralls


fix: typo in leap-metamask-cosmos-snap detection

Proposed changes

Fix typo in Metamask detection (#398)

Hello, @liujun93. Could you please take a look at this PR?


Gives warning filename should be matched with class name on migration files

for the migration files  class name is not same as filename because filename is prefixed with time stamp or number.

Apologies for the late reply, thanks for the report, I'll look into it asap this week.

@jaynarayan89
I've been very busy with other work so haven't had a chance to take a look at this yet, could you please post a small example of a migrations file with the filename. I need to look for a consistency that will allow me to exclude that rule for migration files.

@louisl  Please check this Gist

This has been fixed in release v1.0.0-beta0012.


Citations - enable linking to studies

Currently the citations are added to the project, which makes it unclear which citation belongs to which study. We need a way to map them.

Currently

Project - Citation (one to many)
Study (sample) - Citation (many to many)

citation_study table

citation_id
study_id

Add any other pivot columns?? if necessary
UI: Add a dropdown (shows the study names) to the add/edit citation views. User should be able to select the study the citation is referring to.

Closing this for now.


Use subcommands for example/cli

It is very odd to have infrakit/foo everywhere. No need to have all the different packages. Just use cobra subcommands.

It does appear overly-complicated at first glance, but the separate commands are an artifact of the plugin-oriented nature of InfraKit.  Since plugins are daemons that communicate via sockets, they are built and executed independently.  Without language-level support for dynamic library loading, i'm not sure there's a better way.  Any ideas?

@wfarner You could use git-style sub-command resolution.

@stevvooe not a good fit here, since plugins will be coming from different build sources, and can't be expected to be placed in the same directory.

@wfarner Git doesn't require this. It just does a search through a path variable. They don't need to be in the same directory. exec.LookPath actually searches all paths. So, if you're using two projects, you just do PATH=$PROJ_ONE_PATH:$PROJ_TWO_PATH.

Capturing offline discussion with @stevvooe, a CLI-oriented flow won't work well across plugin boundaries as it would require CLI-specific APIs for plugin communication (e.g. surfacing help text, arguments, output, etc).  The long-term goal is to delegate plugin management to the environment InfraKit is used in.  For example, in Docker Engine we will provide scaffolding to run them as Docker plugins.


[Bug]: File picker Widget - Exit/Close button of the Modal is cut/attached to the bookmark bar

Is there an existing issue for this?

[X] I have searched the existing issues

Description
When we click on "Select files" in File picker widget, a Modal will pop up, the close /Exit button of the Modal will either be attached or cut by Bookmarks bar
https://user-images.githubusercontent.com/104895602/182768206-1262ae40-747d-476e-82ae-27fa5434145d.mp4
Steps To Reproduce

Drag and drop a File picker widget
Click on "Select files" button of the file picker widget
Observe the close/exit button of the Modal pop up is cut/attached to the bookmarks bar

Public Sample App
No response
Version
Release

Don't think this has anything to do with bookmark bar. It's pretty much a height issue on smaller desktops. Will repurpose this to call it "Responsiveness in the filepicker"