Feature/yarn3 - migrate to the new version of yarn

oh boy...
I got carried away while playing around:)
This PR introduces Yarn3 to @thi.ng. Lerna is obsolete in the new setting and therefore gone.
Every commit is well documented (I hope). I am happy to answer every question.

Thanks @ja0nz, this is quite a lift!
I'm just an observer, but I had a couple of questions (as someone else who would like less Lerna in his life).
Why yarn and not npm workspaces?  I think yarn was used here already, but I'm curious if there are other considerations.
Just glancing, I noticed that @types/node was being added to dependencies, when I believe it could be added to devDependencies, since it is not needed at runtime.
Again, I'm just a bystander & mainly asking out of curiosity.  Thanks again for your work on this!

Hey @gavinpc-mindgrub
thanks for the quick feedback! Speaking of Lerna this was actually the starting point of this unplanned port. Lerna is at around 660 open issues and shows lack of maintenance https://github.com/lerna/lerna/issues/2703. While this project uses yarn1 indeed, the workspaces features matured a lot in yarn2 and yarn3! For example, it is impossible to build a workspace solely with yarn1 - yarn3 supports topologic build order and parallel build process. There are far more improvements of course
See https://dev.to/arcanis/yarn-3-0-performances-esbuild-better-patches-e07
I don't know much about npm workspaces but I suppose they are similar to yarn:)
Thank you for pointing me towards @types/node. I just took the installation instruction from https://www.npmjs.com/package/@types/node and didn't thought about it a lot. I may shift them to dependencies after the first review.

OH BOY, INDEED @ja0nz! 😅
Firstly, welcome & thank you so much for this mega lift! I've just checked it out locally and it really all seems to work - BRAVO! This switch is something I've been scared of and deferring so many times myself, so I'm super glad you picked this up and showed the way...
Since I don't know yet much myself about yarn3, can you please summarize the overall new behavior/repo setup? I've seen your updated script aliases in the main pkg.json and it's working beautifully. I was under the impression though, that the default now is that new PnP resolution logic, yet I'm still also seeing a node_modules folder (which I thought would not be used anymore). I guess, I'll have a lot of reading to do over the coming days... :) Any further pointers are highly appreciated!
Re: GH actions - the current test workflow config seems to be incompatible with the new repo. Maybe you could overwrite that file with this updated version (plus maybe any other changes I still don't know of?):
name: test-all
on:
    push:
        branches:
            - feature/*
            - develop
            - main
        paths:
            - "packages/**"
            - ".github/workflows/**"
            - "package.json"
            - "!**.md"
    pull_request:
        branches:
            - develop
jobs:
    test:
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v2
            - uses: actions/setup-node@v2
              with:
                  node-version: ">=16.9.0"
                  cache: "yarn"
            - run: yarn test

Other questions: Where are those .cjs files (plugins & releases) in the new .yarn come from? Are they configured artefacts? Where are they listed?
Thanks again so much! +1 for leaving lerna behind - well aware it's been dead in the water for a while now...

So after reading more about the yarn3 release workflow, I'm not sure anymore if this PR is sufficient enough to fully replace lerna. For day-to-day stuff yes, very likely. However, my number one important feature of lerna is that it automatically figures out which packages have been updated and in which way (major/minor/patch) AND that it auto-generates changelogs from the conventional commit messages. For this repo, I cannot live without these features and any (even minor) manual approaches like having to explicitly call yarn version minor --deferred is not gonna work for me... I tend to work on several packages at the same time and not having to spend cognitive bandwidth on keeping track which parts I changed (or sometimes defer for later) in which capacity is a huge help... Do you know of anything comparable for yarn3?

Hello @postspectacular and thank you for the warm welcome! Glad this PR is received so well. I will go over the mentioned topics one by one.

Re: nodeLinker: pnp vs node-modules  (vs pnpm)
I tried the new PnP linking initially on this project and was greeted with errors:) Its a nice idea to follow up but for the moment it generates too much friction and needs certainly more feedback loops. One big issue is certainly tooling/IDE which resolves a lot around node_modules. See https://yarnpkg.com/getting-started/editor-sdks
I played around with the other two available linkers - pnpm and node-modules - and ended up committed settings. Some stats if you don't mind:

nodeLinker
nmMode
time - yarn build
size -  node_modules

node-modules
hardlinks-global
1:04 min
264 M

pnpm
hardlinks-global / -local
1:02 min
286 M

node-modules
hardlinks-local
1:04 min
287 M

pnpm
classic
1:02 min
294 M

node-modules
classic
1:04 min
304 M

Re: error in GH actions
I am pretty sure it's just because I excluded the yarn.lock from this PR (to reduce noise). I will include it again in one of the following commits.

Re: .cjs files
Yep, those are artifacts hosted here https://github.com/yarnpkg/berry/tree/master/packages.
You probably already got across the official documentation https://yarnpkg.com/features/plugins

Re: yarn release workflow
Aw, I wasn't aware of this workflow feature. Unfortunately I am not aware of an adequate replacement just yet. Can you probably elaborate a bit more on this? Is this a feature done automatically by lerna when running lerna publish or is there some custom scripting involved? I will follow up on this topic.

I may pull in lerna back again temporary for this use case so we can get this PR on track quickly. Is this something you would agree upon?

Just out of curiosity I fixed some minor build related bugs in https://github.com/thi-ng/umbrella/pull/326/commits/22a1e46a21b6f173842b642c58bf0b1852709942
And now the build zero-install build runs smoothly. Have a look:
https://github.com/ja0nz/umbrella/tree/feature/yarnPnP
But the examples won't work with the new method. I will need to have a another look.

Thanks so much for the new detailed info! Personally I've got no issue with continue using "nodeLinker"/node_modules, especially if the alternative (aka PnP) causes more issues/friction with the examples and existing tooling and (to me) still offers no discernible real gains/benefits... I was mainly asking, because I (wrongly) thought yarn v2 onwards completely phased out node_modules and considering my negative experience with most JS tooling, this seemed a rather harsh decision and made me feel to rather wait a while/year longer for things to mature... So please do not worry about the PnP further (for now)...
The Lerna issue, however, is much more pressing to explore and I'm 110% happy to keep using Lerna for the foreseeable future! None of you will need to though, after your PR has been merged. But for releases I'm not aware of any other comparable solution - Lerna's (builtin, no extra plugins!) release handling of all these package is the no.1 killer feature I just cannot miss!

Aww, I think we'll get stuck here for a while:) Seems like yarn2 and lerna simply don't fit together. There's a 2 year open PR https://github.com/lerna/lerna/pull/2450 for adding the workspace: resolution protocol which yarn workspaces rely upon. It does not even help to scope lerna towards packages/* (<- as they don't embody any workspace references yet).
In search of a more atomic publishing solution I got across two other big projects which tried/got rid of lerna (https://github.com/storybookjs/storybook/pull/15413, https://github.com/ianstormtaylor/slate/pull/4417). Most promising solutions resolves around atlassian's changesets. But sure enough finding a replacement will take a bit longer.

Thank you - again - for further probing/research! Really, much appreciated! I'm thinking (already did so a few times in the past) it might be easier & more worthwhile to write a custom publish script, rather than trying to wait or shoehorn some overblown/semi-incompatible solutions to work together and make everything super brittle as a result. It probably will take me a few days to look into that, but IMHO all the key ingredients are already provided by various umbrella packages. Another potential side effect would be that I can also improve the changelog files - and we could really say good bye to lerna rather sooner than later...

Btw. @ja0nz - congrats on getting the CI working again! :)

I'm glad you still wanna follow this change (without lerna)! Happily awaiting the kind of publishing workflow you will come up:)
Just my two cents: After looking around a bit I kinda like the workflow around GH actions laid out here: https://github.com/azu/monorepo-release-changesets#an-example-of-work-flow
Mainly because changes are pretty descriptive for consumers (https://github.com/azu/monorepo-release-changesets/pulls?q=is%3Apr+is%3Aclosed)
But most likely you will come up with a lean solution based on @thi.ng. If there's something I may help out I will just let me know. Otherwise the last commit will be the last so far from my side.

@ja0nz great news - I started working on the release tool this evening and very quickly made a lot of progress already: https://github.com/thi-ng/monopub - so far this new tool is also way more faster than what I've been used to from Lerna. I.e. On my MacBook Air M1 it takes just 1.062 secs to analyze all 7600+ commits, compute a new version for each package (figure out if needed) and generate & write categorized Markdown changelog files for 160 packages (full history, with more detail included than previously)! With Lerna I sometimes have to wait 20-30 secs for the getting that far... Also, the code so far is just around ~425 lines and I don't see this growing to more than 800-1000...
I've decided to create a new repo for this tool and added a little status section (if you want to follow along) to the readme. I will do some more work on this over coming days, but leaving this/your PR open for now, just in case I run into any unexpected show stoppers along the way... Thank you for all the great work on this so far though!
Re: your proposal re: changesets - I dunno, all of these solutions seem a lot more effort (and/or duplication of such). I actually do put quite a bit of effort into most/many commit messages and together with the Conventional Commits, all important information and details are already there... So thank you for looking into alternatives, but apologies, I can't see these working for me... 😇

Happy to see your progress with monopub🚀 I never thought this would mature so fast.
Well, I announced "the last commit" earlier but as time passed I accumulated some more commits I would like to add. Mostly some non functional cleanups like removing obsolete .gitignores... Nothing spectacular.
But there is one particular commit which I would like to address a bit more: https://github.com/thi-ng/umbrella/pull/326/commits/bf7a4042d21544767aec039894a75ac3d6f4c103
This commit introduces a new tools module in the workspace which just exposes some binaries to the whole monorepo.
I prefixed those binaries with the tools: prefix just to make its usage more obvious.
So basically this line:
"doc:stats": "../../scripts/node-esm ../../tools/src/module-stats.ts"
can now be expressed as:
"doc:stats": "tools:module-stats"
Or this:
../../scripts/node-esm -> tools:node-esm
The naming and location might be debatable but overall the package.jsons looks somewhat cleaner now.

Yes, @ja0nz - this is all amazing (your updates/improvements) and the tools module is a great idea too! Will merge it all in a moment... Thank you SO much!
re: https://thi.ng/monopub - I'm too v. surprised how quickly this came together and it's actually already pretty flexible & nice to use. The CLI framework came from another tool I've been working on, but will eventually be finding its way back into umbrella (in parts, at least).
I'm now pretty much done for the first pass and have done some test releases with a dummy monorepo. So once your PR is merged I will do some further testing and then hopefully release new versions ASAP...

@ja0nz - one more thing/question: I've just notices the CI test workflow for the yarn3 version takes now 32-33 minutes to complete, whereas it previously was only ~17-20 mins... Can you think of a reason for this slowdown?

@ja0nz - one more thing/question: I've just noticed the CI test workflow for the yarn3 version takes now 32-33 minutes to complete, whereas it previously was only ~17-20 mins... Can you think of a reason for this slowdown?

I noticed that as well. It seems to me that on GH actions yarn falls back to single threaded only. Others observed this as well https://github.com/yarnpkg/berry/issues/3512
I am not an expert in GH actions but I think I can cobble a solution together where only changed packages will be tested.

@postspectacular - quick question. I am running on linux and with every yarn install I get a plethora of info logs
➤ YN0076: │ esbuild-android-arm64@npm:0.13.13 The linux-x64 architecture is incompatible with this module, link skipped.
➤ YN0076: │ esbuild-darwin-64@npm:0.13.13 The linux-x64 architecture is incompatible with this module, link skipped.

Is that the same on Mac? Just curious

@ja0nz - that's what I thought (single threaded on CI). Not to worry for now. I just pulled your latest changes locally and it's all working just fine! As for the esbuild warnings - getting these too on the Mac, believe that's just how esbuild (or it's binary installer) is configured. I always ignore them :)
Going to merge now, wish us luck! :)

So it all almost went 100% according to plan and all packages have been updated/released, yay!
Since this was my first publish using yarn3, the only thing which threw a spanner in the works was not having a valid NPM auth token (it's seemingly stored somewhere else now...) But all is good & thanks again!
One more (quite important) favor to ask for the future:
When you're using the conventional commits format and specify a "context" inside the parentheses, then please only use valid package names, not "yarn3", "snowpack" or other random stuff. If the commit is not primarily to do with an actual package, then please only use the more general format, i.e. build: yada instead of build(whatever-random): yada The reason for this is a whole bunch of other tooling is depending on this format (incl. the thi.ng website generator and the new monopub release tool), all of which are expecting these names inside the parentheses to be package names and they're now messing up... not a big deal (yet), but I will have to emphasize this a bit more in the contributing.md guide. Thanks for understanding! :)

Thanks for the valuable feedback. I will work on my commit message discipline🙏
Glad you "late night solved" the NPM thing! Either way allow me to quickly share how I solved it declarative just for the sake of exchanging knowledge😬

I use a plain gitignored .env file:

# .env
NPM_TOKEN=npm_XXX

I put the env straight into the yarnrc.yml:

# .yarnrc.yml

# Ensure (scoped) packages are published public; get rid of '--access public'
# https://yarnpkg.com/cli/npm/publish
npmPublishAccess: public

npmRegistries:
  //registry.npmjs.org:
    npmAuthToken: "${NPM_TOKEN}"

This approach works beautiful in conjunction with https://direnv.net/
3. My NOT gitignored .envrc file which pulls everything into place:
# .envrc
dotenv_if_exists .env
# add the ./scripts on PATH
PATH_add scripts
export ROOT=$(pwd)


❓ [Question]: API access

Your Question
Is there an API of this project because I'd like to create my own frontend for it?

There is an api here for a similar tool https://github.com/SamurAIGPT/Text-To-Video-API


Correct test target file path in iOS CI

There exists target file like x86_64-apple-ios/debug/test-b4dc53cf1da916aa, instead of target/x86_64-apple-ios/debug/test-b4dc53cf1da916aa.

hmm, different TARGET (=aarch64-linux-android) from what I changed failed.

It was a spurious fail, thanks for the fix.


Release 1.1.5

Diff since release 1.1.4: https://github.com/ngokevin/react-file-reader-input/compare/c4274aadc7bc45183259853ed3a7adf4b2f03594...release-1.1.5

@ngokevin The goal here is to publish v1.1.5 with the latest changes (React 16 compat + updated dependencies). As the npm package owner, I believe you're the only one able to publish a new version. Thanks in advance!


Update Figma file with updated DePaul designs

Either before or after we have aligned Figma & Bootstrap libraries, we should update the CDS accordingly with some of this feedback:
https://www.figma.com/file/Rvq92XBBm4lyMM9dtd0TGI/EXP480-Chicago-Design-System-Library-Suggestions-and-Add-ons?node-id=0%3A1

When we consider the card design in particular, check out this writeup from Abby Lammers.


Is this command deprecated?

The output when using this command warns that it's been superseded by 'az deployment group'. I found this from an ADO Azure CLI release task that executed this command and started failing because of that warning -- changing it to 'az deployment group' fixed it.
It would be worth mentioning on this page if it's been deprecated.

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

ID: de233487-a2e5-00ab-30e9-f68866735957
Version Independent ID: 2cd3ed9f-113f-a6c2-6a36-2925a044edf8
Content: az group deployment
Content Source: src/azure-cli/azure/cli/command_modules/resource/_help.py
Service: azure-resource-manager
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

hi @zhoxing-ms could  you pls have a look

add to S168

@itrelouis Yes, az deployment group will be used instead of az group deployment.
And there are prompts when executing the command or using az group deployment -h:

This command is implicitly deprecated because command group 'group deployment' is deprecated and will be removed in a future release. Use 'deployment group' instead.

Do you have any other questions?

@zhoxing-ms Ok that makes sense -- the reason I posted my question though was that this page:
https://docs.microsoft.com/en-us/cli/azure/group/deployment?view=azure-cli-latest
does not seem to indicate that the command is deprecated. I think the documentation should make that clear and point users to use the az deployment group command instead.

same request as https://github.com/Azure/azure-cli/issues/12549

@itrelouis This is a known issue and we have a long-term plan with the document related team.

Understood, thanks @zhoxing-ms !

Hi @zhoxing-ms,
I'm confused. I've seen a number of reports like this one that az group deployment is being deprecated for az deployment group, but I've just updated to the latest version of az CLI and I don't get the deprecation warning, and the az group deployment docs pages don't mention it either:

Has the decision to deprecate that command been reversed or is it still going ahead?
I have an A Cloud Guru course that has references to the old command so I need to know if I need to update that.
Thanks

@robdmoore Sorry, I cannot reproduce your question, and the prompt message of deprecate on my side is as follows:
(env) PS C:\Users\zhoxing.FAREAST\Desktop\project> az group deployment -h

Group
    az group deployment : Manage Azure Resource Manager deployments.
        This command group has been deprecated and will be removed in a future release. Use
        'deployment group' instead.

May I ask how you install CLI and what is the specific environment you use?
The document does not mention the deprecate information which is a known issue, and we have a long-term plan to improve it in the future
This command az group deployment is still be deprecated, so please use the recommended command az deployment group instead of it~


Visualization with named map even though layers are public

https://trainings.cartodb.com/api/v2/viz/a3435d52-e38b-11e4-be06-0e4fddd5de28/viz.json
Account: trainings
Source table: recuento

maybe related to #2407

Only duplicating the visualization removed the named map, we struggled (kartones + santana + me) some minutes changing the privacy of the table

Fixed in https://github.com/CartoDB/cartodb/commit/9c90b874202e3e0d6b99a02378dc17f4e74de281
That corrects invalidation of cache when changing privacy.


Make it possible to disable mouseover tooltips

When I mouseover a variable or something in the code there's a tooltip that pops up that displays some information about the variable. I'd like to disable this but there's no property in the settings for doing so. The closest was editor.disableParameterHints but that doesn't work for variables and object properties for example.

Solution here https://github.com/Microsoft/vscode/issues/19988#issuecomment-277693532


Clip artifacts at low zoom

You could try math.ceil and math.floor instead of round here:
https://github.com/kylebarron/usgs-topo-tiler/blob/b41a4f0134d3b1af2ae341481ef674e2932d4781/usgs_topo_tiler/usgs_topo.py#L49-L52
That would slightly overcompensate, but then the gaps would be white, instead of whatever the background color is.

Helped with https://github.com/kylebarron/usgs-topo-tiler/commit/8cc581d854de81a6c78b4fac429a9998e5f877dd, which removed the rounding. But there's still some artifacts. I'm not sure I want to round up, since that could add white borders where the tile junction is even. For now this is fine.


update returned file path

Update each file's 'path' attribute with the output folder, so that if the returned files are used down the pipe (like in gulp-decompress) they have the correct final path

Needs tests and docs.


Add TailwindCSS plugin for Prettier

Something broke recently with the plugin. https://github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/202


Allow ignoring enum variants from "from_str"

Sometimes it is desirable to not necessarily have complete symmetry in whether something can be constructed from a string even though it can be printed.
#[from_str(ignore)] on a variant would be basically what I'd want.
To be clear, the difference from current functionality is that the variant doesn't need to have default or anything in order to work.

Good idea.
I just implemented it with ee521d821390f27bd92dbd89d1bc79a5b29c0aa8.


[kube-up][scale-out][mizar]: kube-scheduler keep restart about 30 minutes after cluster started

What happened:
when start kube-up with scale-out mizar, kube-scheduler will keep restart around 30 minutes after cluster started.
2TP x 2RP x 1WORKERNODES
$ kubectl --kubeconfig=/home/sonyali/go/src/k8s.io/arktos/cluster/kubeconfig.tp-1 get pods -n kube-system | grep kube-scheduler
kube-scheduler-sonyaperf2-030122-tp-1-master<PHONE_NUMBER>021630177   1/1     Running            9          3h49m

2TP x 2RP x 2WORKERNODES
$ kubectl --kubeconfig=/home/sonyali/go/src/k8s.io/arktos/cluster/kubeconfig.tp-1 get pods -AT | grep kube-scheduler
system   kube-system   kube-scheduler-sonyaperf1-022822-tp-1-master<PHONE_NUMBER>021630177   1/1     Running            12         46m

What you expected to happen:
kubescheduler should be ready very soon after cluster started
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

Arktos version (use kubectl version):
Cloud provider or hardware configuration:
OS (e.g: cat /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Network plugin and version (if this is a network-related bug):
Others:

Double checked and found this issue only happened on tp1 master, tp2 master only has one restarts, which is expected.
Error on tp1 master, kube-scheduler.log
E0302 19:24:03.658231       1 cache.go:540] Pod e59b6b5b1571a88fc3ddb4488f0f73df updated on a different node than previously added to.
F0302 19:24:03.658286       1 cache.go:541] Schedulercache is corrupted and can badly affect scheduling decisions

Error on tp1 master, kubelet log
Mar 02 19:27:15 sonyaperf2-030222-tp-1-master kubelet[7534]: E0302 19:27:15.703949    7534 pod_workers.go:196] Error syncing pod 8b8ae4120193c5dd8ad661a99241b285 ("kube-scheduler-sonyaperf2-030222-tp-1-master_kube-system_system(8b8ae4120193c5dd8ad661a99241b285)"), skipping: failed to "StartContainer" for "kube-scheduler" with CrashLoopBackOff: "Back-off 5m0s restarting failed container=kube-scheduler pod=kube-scheduler-sonyaperf2-030222-tp-1-master_kube-system_system(8b8ae4120193c5dd8ad661a99241b285)"

kube-scheduler.log has following error messges:
...
I0302 19:03:12.179069       1 factory.go:470] Unable to schedule system/kube-system/fluentd-gcp-scaler-74b46b8776-nqllg: no fit: 0/1 nodes are available: 1 node(s) were unschedulable.; waiting
E0302 19:03:20.498064       1 eventhandlers.go:242] scheduler cache AddPod failed: pod 4d168e1764159d062359d371b784e645 was already in added state
E0302 19:03:21.498262       1 eventhandlers.go:242] scheduler cache AddPod failed: pod e59b6b5b1571a88fc3ddb4488f0f73df was already in added state
E0302 19:03:21.892509       1 cache.go:540] Pod 4d168e1764159d062359d371b784e645 updated on a different node than previously added to.
F0302 19:03:21.892941       1 cache.go:541] Schedulercache is corrupted and can badly affect scheduling decisions

after that, scheduler wold be restarted.

Source code:
https://github.com/CentaurusInfra/arktos/blob/master/pkg/scheduler/internal/cache/cache.go
		if currState.pod.Spec.NodeName != newPod.Spec.NodeName && newPod.Spec.VirtualMachine == nil {
			klog.Errorf("Pod %v updated on a different node than previously added to.", key)
			klog.Fatalf("Schedulercache is corrupted and can badly affect scheduling decisions")
		}

sindica2000@ying-scaleout-tp-1-master:/var/log$ sudo cat kube-scheduler.log | grep "updated on a different node than previously added to"
E0302 23:52:16.839111       1 cache.go:540] Pod 4d168e1764159d062359d371b784e645 updated on a different node than previously added to.
E0302 23:52:36.824617       1 cache.go:540] Pod e59b6b5b1571a88fc3ddb4488f0f73df updated on a different node than previously added to.
E0302 23:52:58.411830       1 cache.go:540] Pod e59b6b5b1571a88fc3ddb4488f0f73df updated on a different node than previously added to.
E0302 23:53:37.333831       1 cache.go:540] Pod 4d168e1764159d062359d371b784e645 updated on a different node than previously added to.
E0302 23:54:26.247679       1 cache.go:540] Pod d65d8fc2e4ab155a951169a2b2cc9887 updated on a different node than previously added to.
E0302 23:55:57.896452       1 cache.go:540] Pod 4d168e1764159d062359d371b784e645 updated on a different node than previously added to.
E0302 23:58:43.966452       1 cache.go:540] Pod e59b6b5b1571a88fc3ddb4488f0f73df updated on a different node than previously added to.
E0303 00:50:42.145435       1 cache.go:540] Pod 4d168e1764159d062359d371b784e645 updated on a different node than previously added to.
E0303 00:53:40.682646       1 cache.go:540] Pod 4d168e1764159d062359d371b784e645 updated on a different node than previously added to.
E0303 00:57:37.662961       1 cache.go:540] Pod 4d168e1764159d062359d371b784e645 updated on a different node than previously added to.
E0303 00:58:40.016752       1 cache.go:540] Pod 4d168e1764159d062359d371b784e645 updated on a different node than previously added to.
E0303 01:00:36.250646       1 cache.go:540] Pod 4d168e1764159d062359d371b784e645 updated on a different node than previously added to.
E0303 01:03:06.601765       1 cache.go:540] Pod 4d168e1764159d062359d371b784e645 updated on a different node than previously added to.
E0303 01:06:10.561964       1 cache.go:540] Pod 4d168e1764159d062359d371b784e645 updated on a different node than previously added to.
E0303 01:13:05.533942       1 cache.go:540] Pod 4d168e1764159d062359d371b784e645 updated on a different node than previously added to.
E0303 01:19:20.540877       1 cache.go:540] Pod 4d168e1764159d062359d371b784e645 updated on a different node than previously added to.
E0303 01:24:39.945833       1 cache.go:540] Pod 4d168e1764159d062359d371b784e645 updated on a different node than previously added to.
E0303 01:31:35.845038       1 cache.go:540] Pod 4d168e1764159d062359d371b784e645 updated on a different node than previously added to.
E0303 01:36:39.347341       1 cache.go:540] Pod 4d168e1764159d062359d371b784e645 updated on a different node than previously added to.
E0303 01:42:06.135400       1 cache.go:540] Pod 4d168e1764159d062359d371b784e645 updated on a different node than previously added to.
E0303 01:50:06.146675       1 cache.go:540] Pod 4d168e1764159d062359d371b784e645 updated on a different node than previously added to.
E0303 01:56:10.246365       1 cache.go:540] Pod 4d168e1764159d062359d371b784e645 updated on a different node than previously added to.
E0303 02:03:05.696031       1 cache.go:540] Pod 4d168e1764159d062359d371b784e645 updated on a different node than previously added to.
E0303 02:11:05.787268       1 cache.go:540] Pod 4d168e1764159d062359d371b784e645 updated on a different node than previously added to.

sindica2000@ying-dev1:~/go/src/sindica-arktos$ kubectl --kubeconfig cluster/kubeconfig.tp-2 get pod l7-lb-controller-v1.2.3-ying-scaleout-tp-2-master -n kube-system -o yaml | grep uid
  uid: 4d168e1764159d062359d371b784e645

Note this pod is in TP2.  Will provide a fix shortly.


cmd/compile: function argument value escapes no matter the run-time condition

What version of Go are you using (go version)?

$ go version
go version go1.15.5 linux/amd64

What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/julio/.cache/go-build"
GOENV="/home/julio/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/julio/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/julio/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/lib/go-1.15"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go-1.15/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build392370816=/tmp/go-build -gno-record-gcc-switches"

What did you do?
While benchmarking a time histogram implementation, I found an unexpected allocation in a IncrementOrStore() method implementation, happening directly in the prolog code the compiler generated, where the return value is allocated regardless of whether it's needed or not.
I could reproduce the issue with the following dummy function:
func foo(cond bool, v int) *int {
    if cond {
        return &v
    }
    return nil
}

The compiled function of the previous example will allocate the int value in its function prolog rather than in the true-condition path:
TEXT    "".foo(SB), ABIInternal, $24-24
MOVQ    (TLS), CX
CMPQ    SP, 16(CX)
PCDATA  $0, $-2
JLS     102
PCDATA  $0, $-1
SUBQ    $24, SP
MOVQ    BP, 16(SP)
LEAQ    16(SP), BP
FUNCDATA        $0, gclocals·54241e171da8af6ae173d69da0236748(SB)
FUNCDATA        $1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
LEAQ    type.int(SB), AX
MOVQ    AX, (SP)
PCDATA  $1, $0
CALL    runtime.newobject(SB) // <--- The int value is allocated in the function prolog, no matter the condition
MOVQ    8(SP), AX
MOVQ    "".v+40(SP), CX
MOVQ    CX, (AX)
MOVBLZX "".cond+32(SP), CX
NOP
TESTB   CL, CL
JEQ     83
MOVQ    AX, "".~r2+48(SP)
MOVQ    16(SP), BP
ADDQ    $24, SP
RET
MOVQ    $0, "".~r2+48(SP)
MOVQ    16(SP), BP
ADDQ    $24, SP
RET
NOP
PCDATA  $1, $-1
PCDATA  $0, $-2
CALL    runtime.morestack_noctxt(SB)
PCDATA  $0, $-1
JMP     0

The workaround I use for now is to rather return the value from the condition block scope:
func foo(cond bool, v int) *int {
    if cond {
+       v := v // new declaration in this scope to avoid using function scope
        return &v
    }
    return nil
}

Resulting in:
TEXT    "".foo(SB), ABIInternal, $24-24
MOVQ    (TLS), CX
CMPQ    SP, 16(CX)
PCDATA  $0, $-2
JLS     101
PCDATA  $0, $-1
SUBQ    $24, SP
MOVQ    BP, 16(SP)
LEAQ    16(SP), BP
FUNCDATA        $0, gclocals·54241e171da8af6ae173d69da0236748(SB)
FUNCDATA        $1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
MOVBLZX "".cond+32(SP), AX
TESTB   AL, AL
JEQ     82
LEAQ    type.int(SB), AX
MOVQ    AX, (SP)
PCDATA  $1, $0
CALL    runtime.newobject(SB)  // <--- The int value is no longer allocated by the function prolog, and according to the condition
MOVQ    8(SP), AX
MOVQ    "".v+40(SP), CX
MOVQ    CX, (AX)
MOVQ    AX, "".~r2+48(SP)
MOVQ    16(SP), BP
ADDQ    $24, SP
RET
MOVQ    $0, "".~r2+48(SP)
MOVQ    16(SP), BP
ADDQ    $24, SP
RET
NOP
PCDATA  $1, $-1
PCDATA  $0, $-2
CALL    runtime.morestack_noctxt(SB)
PCDATA  $0, $-1
JMP     0

Would you mind elaborating more details? Both your programs above will be heap allocated the v parameter.

Would you mind elaborating more details? Both your programs above will be heap allocated the v parameter.

I update the issue with the generated asm, and highlighting the change in the allocation position.

Yes, the escape analysis is per-variable and is not flow-sensitive.  Making it flow sensitive would require identifying when a variable can safely be split--basically, automatically inserting the v := v that you use in your second example.  This seems doable in principle, but it doesn't seem easy.  I'm not sure that it would help many real programs.

CC @dr2chase

This is one case where if we do escape analysis in SSA it probably can be done fairly easily. (We've been thinking about it for a while. But it needs a lot of work.)

I'd prefer you didn't call it "wrong".
Lots of code is slower than it could be if we focused our attention on that one single piece of code.

I'm not sure that it would help many real programs.

I found this issue (or at least a related issue) when looking at a real-world scenario that might be quite common.
It's common to have tracing functions that only need to record occasionally. When tracing isn't
enabled, we'd prefer a low overhead and no allocations.
Here's an example, derived from some real-world code:
https://play.golang.org/p/z4O9gg8UOkp
func f(t *Tracer) {
	t.Trace(1, 2, 3, 4)
}

type ExternalTracer interface {
	Trace(...int)
}

type Tracer struct {
	enabled bool
	tracer  ExternalTracer
}

func (t *Tracer) Trace(args ...int) {
	if !t.enabled {
		return
	}
	t.tracer.Trace(args...)
}

When I run the above in a benchmark, I see this:
BenchmarkArgs-8         	57396238	        22.91 ns/op	      32 B/op	       1 allocs/op
BenchmarkArgsWithIf-8<PHONE_NUMBER>	         0.2498 ns/op	       0 B/op	       0 allocs/op

That is, the argument slice is always being allocated, even when tracing is not enabled.
Currently the only way of working around this issue a bit tedious: put an explicit if statement around
each call.

Currently the only way of working around this issue a bit tedious: put an explicit if statement around
each call.

Actually, I've just realised that's not the case. We can work around it by adding an explicit allocation:
func (t *Tracer) Trace(args ...int) {
	if !t.enabled {
		return
	}
	args1 := append([]int(nil), args...)
	t.tracer.Trace(args1...)
}

It's not totally ideal (if Trace is itself called via an interface, then we'll be copying an already-copied arg list), but it's a nice workaround for now.


Move legend to the top right

The legends are hard to read at the moment - let's move them to the top right of the chart, stacked. A bit like here:
https://observablehq.com/@d3/stacked-bar-chart

@IsaackMwenda isn't this done?


Lower-Case Node Name for Openstack

Apparently, the cloud-provider in v1.10 became case-sensitive when it comes to node names. It infers the node's name via the hostname provided through the metadata service. A hostname is always lowercase.  Not so much the node names in Nova.
It was possible to create node pools with uppercase letters, which in turn creates nodes like kluster-Pool-xyz123 their hostname is then kluster-pool-xyz123. The Kubelet can't register that node anymore.

anyone?


FAB-17840 Ch.Part.API: Join channel REST handler

Implement a handler for a POST request to join a channel.
Here we support requests carrying application/json, support
for additional Content-Type will be added later.
Signed-off-by: Yoav Tock<EMAIL_ADDRESS>Change-Id: I8d09e3cba09842f2adc47fb60161eee814e33d31
Type of change

New feature

Related issues
Task: FAB-17840
Story: FAB-15710
Epic: FAB-17712

/run_ci

/ci-run


add CITATION file

add plaintext file with some bibtex pointing to zenodo
add a Xenon.citation() that returns said plaintext

See also here.
One of the commenters there also brought up the point that researchers like to be cited, so we could make a list "See who uses this software". Could encourage people to notify us when they use Xenon.

done. closing


Self return on fit()

Scikit learn models always return self on methods like fit()
It would be good to replace theta return with self for easy model replacing

Thank you for your comments.
We corrected.
Sincerely,
Mitsuaki Tsukamoto & Kei Majima


Import support for glTF's doubleSided flag

Can we add import support for doubleSided for Blender 2.80?
I think this is a one-line change, around line 51 in imp/gltf2_blender_material.py
        mat.use_backface_culling = (pymaterial.double_sided != True)

This only works in 2.80, of course.  I don't much care about adding support to 2.79, since 2.79 did not have a per-material backface culling flag.
I tried this, but apparently it's not valid Python:
        if bpy.app.version < (2, 80, 0):
            # Blender 2.79 did not have a per-material double-sided flag.
        else:
            mat.use_backface_culling = (pymaterial.double_sided != True)

Maybe we need a new construct for code that only runs on 2.80?

Here is the syntax:

if bpy.app.version < (2, 80, 0):
            pass # Blender 2.79 did not have a per-material double-sided flag.
        else:
            mat.use_backface_culling = (pymaterial.double_sided

Thanks!  I'll open a PR with some associated tests when I get a chance.


[Feature Request] Add convenience function to access the text value of a CompositeCell

Is your feature request related to a problem? Please describe.
See https://github.com/nfdi4plants/ARCtrl/pull/189/files#r1323416055 , just tracking here so it is not forgotten.

Is this what you want?
override this.ToString() =
        match this with
        | Term oa -> $"{oa.NameText}"
        | FreeText s -> s
        | Unitized (v,oa) -> $"{v} {oa.NameText}"

just the value in the cell

What do you mean by this. Can you give some examples?

What is linked in above comment thread, the result of
cell.ToFreeTextCell().AsFreeText

The only difference between both approaches is for the unitized case where you will also get the actual value.

yes, and this string $"{v} {oa.NameText}" cannot be used in my function.
I think it is even worse though, because the current code does return a wrong result for units, where i actually would need the value instead of NameText(although not really a problem as i do nit think paths usually have a unit).
A bit more detail:

FreeText is easy as it models a single cell right?  so there it is just  | FreeText s -> s
Term is the triple of this right?

cellHeader
TSR
TAN

then gimme this
not this
not this

Unitized is this?

cellHeader
unit header
unit TSR
unit TAN

then gimme this
not this
not this
not this

So you are interested and what you would see in the old Excel version in the main column. Then i wold recommend the ToString() function as this replicates this behaviour. If you need just the main column we can add a function. 👍

So you are interested and what you would see in the old Excel version in the main column. Then i wold recommend the ToString() function as this replicates this behaviour. If you need just the main column we can add a function. 👍

I cannot use ToString as i pointedf out this combines value and unit, i just need value.

        match this with
        | Term oa -> $"{oa.NameText}"
        | FreeText s -> s
        | Unitized (v,oa) -> $"{v}"

i think this would be it, but would need to test

Ah okay I have probably weighted that too much: "i think (although not really a problem as i do not think paths usually have a unit)."

As this was not perfect to design, i chose a generally useful function:
member this.GetContent() =
        match this with
        | FreeText s -> [|s|]
        | Term oa -> [| oa.NameText; defaultArg oa.TermSourceREF ""; defaultArg oa.TermAccessionNumber ""|]
        | Unitized (v,oa) -> [| v; oa.NameText; defaultArg oa.TermSourceREF ""; defaultArg oa.TermAccessionNumber ""|]

In you case you can run cell.GetContent().[0] and it is possible to match on arrays for cell specific workflows. In addition the return values are exactly what you would need to create the cells from strings.
Closed with #200


changes in ajaxPost, renaming TextField (because it can represents other tpyes of fields),SplitButtonDropdown

ajaxPost
TextField -> InputField
Bootstrap SplitButtonDropdown

TextField -> InputField and ajaxPost are ok.
Though I have committed dropdown just an hour before you :( It is almost the same as yours. Just the name is different.
Would you mind removing it from this pull request?
We will have to probably create Issue prior to each bigger development and assign it to yourself. Then we would avoid working on the same components at the same time, ok?

Would you mind removing it from this pull request?

Ok, no problem
We will have to probably create Issue prior to each bigger development and assign it to yourself

Totally understand.

Though I have committed dropdown just an hour before you :( It is almost the same as yours. Just the name is different.

I implemented split button dropdown. It's different from simple dropdown, and it's based on your dropdown implementation.
I created a demo for it on the bootstrap page, please check it.
Split button dropdown differs from simple dropdown in that it has a separate button and a down-arrow button next to it.


Shared Model: Optional type property on Set children

Updated the shared model so that columns don't require a type property (since their type is implicit) and images inside ImageSet don't require a type property. Facts and ChoiceInputs already didn't require the type property.
Also refactored fact/choicesetinput code to use the new shared method for parsing an array of single type.
Tested/verified all changes in UWP Visualizer app for ChoiceSet, ColumnSet, FactSet, ImageSet, and normal inline images both with and without types specified, all worked correctly.

@anbare,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

Fixes #330


how to set min-width, min-height each widget?

I want to set minWidth and minHeight each widget and not overlap each widget when browser resizes.
what should i do?

+1
Yes have minHeight on some widget who has a variable content that push the following widgets down


Improve error messages for type mismatch

type City record {
    string cityName;
    int postcode;
};
var cities = warehouseDB->select("SELECT city_name, postcode FROM cities", City);
    if (cities is table<City>) {
        foreach City c in cities {
            io:println(c.cityName);
        }
    }
Error:
error: {ballerinax/java.jdbc}ApplicationError message=trying to assign to a mismatching type.
	at ballerina.lang_table.TableIterator:next(internal.bal:26)
	   chathura.etldemo:main(main.bal:72)

The error messages can be improved to give which field has mismatch type

Tried to recreate the issue using swan Lake alpha4 by replacing remote method select with remote method query and got bellow error.
var cities = warehouseDB -> query("SELECT city_name, postcode FROM cities", City);
Error:
incompatible types: expected 'other', found 'City'

@lahirusamith This error message is given since the column name is different. In the Swanlake column names have to match with fields in the record.
Create the record matching with the DB columns but with different datatypes and check if the field name is returned in the error message

I change the datatype and run this sample code.
import ballerina/io;
import ballerinax/java.jdbc;
import ballerina/sql;

type City record {
    string postCode;
    int city_name;
};

function readTable(jdbc:Client jdbcClient) returns sql:Error? {
    var cities = jdbcClient -> query("Select * from cities", City);
    stream<City, sql:Error> cityStream = <stream<City, sql:Error>>cities;
    error? e = cityStream.forEach(function(City city) {
        io:println(city);
    });
    if (e is error) {
        io:println(e);
    }
}

function initializeTable(jdbc:Client jdbcClient) returns sql:Error? {
    sql:ExecutionResult result = check jdbcClient->execute("DROP TABLE IF EXISTS cities");
    result = check jdbcClient->execute("CREATE TABLE IF NOT EXISTS cities(" +
        "postCode INTEGER NOT NULL IDENTITY, city_name  VARCHAR(300))");
    result = check jdbcClient->execute("INSERT INTO cities (city_name, postCode) VALUES ('Colombo',1)");
    result = check jdbcClient->execute("INSERT INTO cities (city_name, postCode) VALUES ('Negombo',2)");
}

public function main() {
    // Initialize the JDBC client.
    jdbc:Client|sql:Error jdbcClient = new ("jdbc:h2:file:./target/cities",
        "rootUser", "rootPass");
    if (jdbcClient is jdbc:Client) {
        sql:Error? err = initializeTable(jdbcClient);
        if (err is sql:Error) {
            io:println("Cities table initialization failed!", err);
        } else {
            sql:Error? errs = readTable(jdbcClient);
            io:println("Queried the database successfully!");
        }
        // Close the JDBC client.
        sql:Error? e = jdbcClient.close();
    } else {
        io:println("Initialization failed!!");
        io:println(jdbcClient);
    }
}

and got this error.
error ApplicationError ("int cannot be mapped to SQL type 'VARCHAR'")

then need to add the field name to the error message as well.


On-Premises Agent with Proxy (Application Insights)

Agent Version and Platform
Version of your agent? 2.165.0
OS of the machine running the agent? Windows
Azure DevOps Type and Version
on-premises TFS/Azure DevOps Server
If on-premises, which release? 2019.1
What's not working?
We are running the agent behind a proxy, which is working ok.
But we noticed that the used "Application Insights" doesn't use the otherwise configured proxy.
It would be great if you could:

either make the "Application Insights" use the proxy as well
or even better provide a config-entry to disable "Application Insights" altogether

Many Thanks + Kind Regards
Marco

Hi @fafinsch this sounds like a feature for Azure DevOps Server itself - could you please create ticket on https://developercommunity.visualstudio.com/spaces/21/index.html to get right eyes on it?
Let me close this one since it's not related to the agent.


RuntimeError: CUDA error: invalid device ordinal CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1.

Hi,
I got another error:
RuntimeError: CUDA error: invalid device ordinal
CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.

This is my installation code:
conda create -y -n stDiff python=3.6
conda activate stDiff
pip install stDiff-sc
#  I got the error you mentioned in your github, so I run the following line as you suggested.
pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html

This is my GPU  information

Could you please provide guidance on how to resolve this issue?
Thank you!

Hi，you could try with python 3.8, and the newer torch. It might work.

Thank you for your reply! However, even I tried python 3.8 and with newer torch, it still got the same error.

Same issue here, tried pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html but didn't resolve the issue? Did you find a way to fix? Thanks!


Export grid data to CSV file

We need functionality to export the data in grid to csv file with additional parameters we may need to pass like column separator, etc

This is kinda duplicated by:
https://support.servoy.com/browse/SVY-14058
We are looking into it. Question of what to do when data set is very large because the exporting through the grid is challenging


remove include_ifaddrs from Envoy Mobile build config

Remove include_ifaddrs from Envoy Mobile build config
The code which uses INCUDE_IFADDRS is android specific so we can just key off of Android instead of adding a layer of indirection which must be true on Android and false elsewhere.
Signed-off-by: Ryan Hamilton<EMAIL_ADDRESS>

/assign @Augustyniak

/wait on other PR


macOS Brew Install issues

Hello having a similar looking issue to #19. I have Ghidra installed with Homebrew on macOS. Not sure where the application.properties file should be stored.
Traceback (most recent call last):
  File "/Users/Ethan/Developer/Tools/ghidra-dark/install.py", line 270, in <module>
    main(parser.parse_args())
  File "/Users/Ethan/Developer/Tools/ghidra-dark/install.py", line 240, in main
    ghidra_version = get_ghidra_version(ghidra_install_path)
  File "/Users/Ethan/Developer/Tools/ghidra-dark/install.py", line 96, in get_ghidra_version
    with open(properties_path, "r") as fp:
FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/bin/Ghidra/application.properties'

Thanks for pointing this out! brew made a symlink for ghidraRun which caused the script to look in the wrong place for Ghidra files. If you pull the most recent commit, it will now resolve that symlink and it should work.

Thanks so much this fixed the issue, and the install worked!


change all local never mutated vars to consts

the compiler doesn't allow local vars to never be mutated, so after changing them to consts the library compiles and tests pass

Somehow this one slipped by my radar. Thanks for the pull request!


Live site link not correct

In readme the live site link not redirecting to site

Yaa actually this project is not hosted so there is no link.


Getting information about an SBOM returns an excessive amount of data

The UI seems to call the "get SBOM (information)" endpoint (not download). That times out frequently, leading to missing information.
For one, I am not sure why that's a dedicated, additional call. If we're missing an API here, I think that should be raised as an issue @carlosthe19916
Digging a bit deeper, I noticed that the backend returns an enormous amount of data:

Request: https://trustify.dentrassi.de/api/v1/sbom/urn:uuid:0191b3bd-07a2-7641-990e-11689b200af8
Response: 98.13 kB (79.03 MB size)

I'll try to figure what data is being reported here.

It looks like as if most of the information is made up by advisories. I am not sure it makes sense stuffing that into the same request.
My proposal would be to create two endpoints:

http://locahost/api/v1/sbom/urn:uuid:0191b3bd-07a2-7641-990e-11689b200af8 reporting everything except the advisories section
http://locahost/api/v1/sbom/urn:uuid:0191b3bd-07a2-7641-990e-11689b200af8/advisories reporting the advisories section only

cc @bobmcwhirter @carlosthe19916

I agree, we could avoid mixing things and separate them. My two cents:

Yes, it is the advisories field what is the heaviest.
A similar problem exists in the Vulnerability endpoint. Perhaps we could apply the same strategy suggested also in the other endpoints.

One option is to go for what @ctron suggested.
The other option is to use:

http://locahost/api/v1/sbom/urn:uuid:0191b3bd-07a2-7641-990e-11689b200af8 reporting everything except the advisories section
http://locahost/api/v1/advisory?sbom_id=urn:uuid:0191b3bd-07a2-7641-990e-11689b200af8 reporting the advisories section only - note that we are enhancing the already existing advisory endpoint without creating a new endpoint to the already existing list of endpoints. This way we could have a single point where to retrieve advisories and not multiple ones.

Ah, I wasn't aware of this. Yes, that makes sense. I'll take a look.

Ok, it looks like the information is actually different. So I'd to with the initial idea.


superset-init-db job on 1.5.0rc4 image fails with no error messages

I'm using helm chart 0.6.0 with 1.5.0rc4, however superset-init-db fails with no obvious errors:
Upgrading DB schema...
logging was configured successfully
2022-04-25 13:32:15,777:INFO:superset.utils.logging_configurator:logging was configured successfully
2022-04-25 13:32:15,781:INFO:root:Configured event logger of type <class 'superset.utils.log.DBEventLogger'>
INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Will assume transactional DDL.
Loaded your LOCAL configuration at [/app/pythonpath/superset_config.py]

Here is my superset config:
import os
from cachelib.redis import RedisCache

def env(key, default=None):
    return os.getenv(key, default)

MAPBOX_API_KEY = env('MAPBOX_API_KEY', '')
CACHE_CONFIG = {
      'CACHE_TYPE': 'redis',
      'CACHE_DEFAULT_TIMEOUT': 300,
      'CACHE_KEY_PREFIX': 'superset_',
      'CACHE_REDIS_HOST': env('REDIS_HOST'),
      'CACHE_REDIS_PORT': env('REDIS_PORT'),
      'CACHE_REDIS_PASSWORD': env('REDIS_PASSWORD'),
      'CACHE_REDIS_DB': env('REDIS_DB', 1),
}
DATA_CACHE_CONFIG = CACHE_CONFIG

SQLALCHEMY_DATABASE_URI = f"postgresql+psycopg2://{env('DB_USER')}:{env('DB_PASS')}@{env('DB_HOST')}:{env('DB_PORT')}/{env('DB_NAME')}"
SQLALCHEMY_TRACK_MODIFICATIONS = True
SECRET_KEY = env('SECRET_KEY', 'thisISaSECRET_1234')

# Flask-WTF flag for CSRF
WTF_CSRF_ENABLED = True
# Add endpoints that need to be exempt from CSRF protection
WTF_CSRF_EXEMPT_LIST = []
# A CSRF token that expires in 1 year
WTF_CSRF_TIME_LIMIT = 60 * 60 * 24 * 365
class CeleryConfig(object):
  CELERY_IMPORTS = ('superset.sql_lab', )
  CELERY_ANNOTATIONS = {'tasks.add': {'rate_limit': '10/s'}}
  BROKER_URL = f"redis://:{env('REDIS_PASSWORD')}@{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
  CELERY_RESULT_BACKEND = f"redis://:{env('REDIS_PASSWORD')}@{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"

CELERY_CONFIG = CeleryConfig
RESULTS_BACKEND = RedisCache(
      host=env('REDIS_HOST'),
      password=env('REDIS_PASSWORD'),
      port=env('REDIS_PORT'),
      key_prefix='superset_results'
)

# Overrides
# cache_config
FILTER_STATE_CACHE_CONFIG = {
    'CACHE_TYPE': 'redis',
    'CACHE_DEFAULT_TIMEOUT': 600,
    'CACHE_KEY_PREFIX': 'superset_filter_state_',
    'CACHE_REDIS_HOST': env('REDIS_HOST'),
    'CACHE_REDIS_PORT': env('REDIS_PORT'),
    'CACHE_REDIS_PASSWORD': env('REDIS_PASSWORD'),
    'CACHE_REDIS_DB': env('REDIS_DB', 1),
}
EXPLORE_FORM_DATA_CACHE_CONFIG = {
      'CACHE_TYPE': 'redis',
      'CACHE_DEFAULT_TIMEOUT': 600,
      'CACHE_KEY_PREFIX': 'superset_explore_form_data_',
      'CACHE_REDIS_HOST': env('REDIS_HOST'),
      'CACHE_REDIS_PORT': env('REDIS_PORT'),
      'CACHE_REDIS_PASSWORD': env('REDIS_PASSWORD'),
      'CACHE_REDIS_DB': env('REDIS_DB', 1),
  }

I realized superset fab create-admin is the part that is failing [returning exit code 1]
My superset installation is already in place [older version 1.4.2] and I can login to superset. I can see all dashboards, create databases, datasets, ...
Essentially everything works, except this init job.

in 0.6.0 helm we are changing the postgresql version from 10 to 14. Can you try with helm 0.5.10 and check, whether still getting the same issue.

I'm using my own postgresql installation (14.2.0).

Can you try with helm chart 0.5.10 once

Still fails. The script fails with no error messages so I can't provide you with more info for debugging. Is there any flag to enable and get deeper insight on this?

Can you take the complete pod log and check, also you can check the
pods events

I have the same error, superset-init-db never starts
38;5;6mpostgresql 14:50:25.43  postgresql 14:50:25.44 INFO  ==> ** Starting PostgreSQL setup ** postgresql 14:50:25.47 INFO  ==> Validating settings in POSTGRESQL_* env vars.. postgresql 14:50:25.47 INFO  ==> Loading custom pre-init scripts... postgresql 14:50:25.48 INFO  ==> Initializing PostgreSQL database... postgresql 14:50:25.49 INFO  ==> pg_hba.conf file not detected. Generating it... postgresql 14:50:25.49 INFO  ==> Generating local authentication configuration postgresql 14:50:25.50 INFO  ==> Deploying PostgreSQL with persisted data... postgresql 14:50:25.52 INFO  ==> Configuring replication parameters postgresql 14:50:25.54 INFO  ==> Configuring fsync postgresql 14:50:25.55 INFO  ==> Configuring synchronous_replication postgresql 14:50:25.58 INFO  ==> Loading custom scripts... postgresql 14:50:25.58 INFO  ==> Enabling remote connections postgresql 14:50:25.59 INFO  ==> ** PostgreSQL setup finished! ** postgresql 14:50:25.61 INFO  ==> ** Starting PostgreSQL ** 2022-05-04 14:50:25.628 GMT [1] FATAL:  database files are incompatible with server 2022-05-04 14:50:25.628 GMT [1] DETAIL:  The data directory was initialized by PostgreSQL version 11, which is not compatible with this version 14.2.

@Jap8nted In your case , seems you are already having PostgreSQL 11 version database files and on on you current installation it's asking for 14.2 version. Are you using master branch for the installation or any specific version of superset.

Having the same issue with 1.5.0 or 1.5.1rc1 tags. The superset-init-job fails but nothing seems wrong in the logs. Deleting the pod, deployment, restarting, nothing helps.
Here's a full log:
Requirement already satisfied: psycopg2-binary==2.9.1 in /usr/local/lib/python3.8/site-packages (2.9.1) Collecting pybigquery==0.10.2   Downloading pybigquery-0.10.2-py2.py3-none-any.whl (23 kB) Requirement already satisfied: redis==3.5.3 in /usr/local/lib/python3.8/site-packages (3.5.3) Collecting google-auth<3.0.0dev,>=1.25.0   Downloading google_auth-2.6.6-py2.py3-none-any.whl (156 kB) Requirement already satisfied: future in /usr/local/lib/python3.8/site-packages (from pybigquery==0.10.2) (0.18.2) Collecting google-cloud-bigquery>=2.19.0   Downloading google_cloud_bigquery-3.1.0-py2.py3-none-any.whl (211 kB) Collecting google-api-core>=1.30.0   Downloading google_api_core-2.8.1-py3-none-any.whl (114 kB) Requirement already satisfied: sqlalchemy<1.5.0dev,>=1.2.0 in /usr/local/lib/python3.8/site-packages (from pybigquery==0.10.2) (1.3.24) Requirement already satisfied: requests<3.0.0dev,>=2.18.0 in /usr/local/lib/python3.8/site-packages (from google-api-core>=1.30.0->pybigquery==0.10.2) (2.26.0) Collecting protobuf<4.0.0dev,>=3.15.0   Downloading protobuf-3.20.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.0 MB) Collecting googleapis-common-protos<2.0dev,>=1.56.2   Downloading googleapis_common_protos-1.56.2-py2.py3-none-any.whl (211 kB) Collecting pyasn1-modules>=0.2.1   Downloading pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB) Collecting rsa<5,>=3.1.4   Downloading rsa-4.8-py3-none-any.whl (39 kB) Requirement already satisfied: six>=1.9.0 in /usr/local/lib/python3.8/site-packages (from google-auth<3.0.0dev,>=1.25.0->pybigquery==0.10.2) (1.16.0) Collecting cachetools<6.0,>=2.0.0   Downloading cachetools-5.2.0-py3-none-any.whl (9.3 kB) Requirement already satisfied: python-dateutil<3.0dev,>=2.7.2 in /usr/local/lib/python3.8/site-packages (from google-cloud-bigquery>=2.19.0->pybigquery==0.10.2) (2.8.2) Collecting google-cloud-core<3.0.0dev,>=1.4.1   Downloading google_cloud_core-2.3.0-py2.py3-none-any.whl (29 kB) Collecting google-resumable-media<3.0dev,>=0.6.0   Downloading google_resumable_media-2.3.3-py2.py3-none-any.whl (76 kB) Collecting grpcio<2.0dev,>=1.38.1   Downloading grpcio-1.46.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.4 MB) Requirement already satisfied: packaging>=14.3 in /usr/local/lib/python3.8/site-packages (from google-cloud-bigquery>=2.19.0->pybigquery==0.10.2) (21.3) Collecting proto-plus>=1.15.0   Downloading proto_plus-1.20.5-py3-none-any.whl (46 kB) Collecting google-cloud-bigquery-storage<3.0.0dev,>=2.0.0   Downloading google_cloud_bigquery_storage-2.13.1-py2.py3-none-any.whl (180 kB) Requirement already satisfied: pyarrow<9.0dev,>=3.0.0 in /usr/local/lib/python3.8/site-packages (from google-cloud-bigquery>=2.19.0->pybigquery==0.10.2) (5.0.0) Collecting grpcio-status<2.0dev,>=1.33.2   Downloading grpcio_status-1.46.3-py3-none-any.whl (10.0 kB) Collecting google-crc32c<2.0dev,>=1.0   Downloading google_crc32c-1.3.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (37 kB) Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /usr/local/lib/python3.8/site-packages (from packaging>=14.3->google-cloud-bigquery>=2.19.0->pybigquery==0.10.2) (3.0.6) Requirement already satisfied: numpy>=1.16.6 in /usr/local/lib/python3.8/site-packages (from pyarrow<9.0dev,>=3.0.0->google-cloud-bigquery>=2.19.0->pybigquery==0.10.2) (1.21.1) Collecting pyasn1<0.5.0,>=0.4.6   Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB) Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/site-packages (from requests<3.0.0dev,>=2.18.0->google-api-core>=1.30.0->pybigquery==0.10.2) (2021.5.30) Requirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.8/site-packages (from requests<3.0.0dev,>=2.18.0->google-api-core>=1.30.0->pybigquery==0.10.2) (2.0.4) Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/site-packages (from requests<3.0.0dev,>=2.18.0->google-api-core>=1.30.0->pybigquery==0.10.2) (1.26.6) Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.8/site-packages (from requests<3.0.0dev,>=2.18.0->google-api-core>=1.30.0->pybigquery==0.10.2) (3.2) Installing collected packages: pyasn1, rsa, pyasn1-modules, protobuf, cachetools, grpcio, googleapis-common-protos, google-auth, grpcio-status, google-api-core, proto-plus, google-crc32c, google-resumable-media, google-cloud-core, google-cloud-bigquery-storage, google-cloud-bigquery, pybigquery Successfully installed cachetools-5.2.0 google-api-core-2.8.1 google-auth-2.6.6 google-cloud-bigquery-3.1.0 google-cloud-bigquery-storage-2.13.1 google-cloud-core-2.3.0 google-crc32c-1.3.0 google-resumable-media-2.3.3 googleapis-common-protos-1.56.2 grpcio-1.46.3 grpcio-status-1.46.3 proto-plus-1.20.5 protobuf-3.20.1 pyasn1-0.4.8 pyasn1-modules-0.2.8 pybigquery-0.10.2 rsa-4.8 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv WARNING: You are using pip version 21.2.4; however, version 22.1.2 is available. You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command. Upgrading DB schema... logging was configured successfully 2022-06-03 09:06:52,220:INFO:superset.utils.logging_configurator:logging was configured successfully 2022-06-03 09:06:52,229:INFO:root:Configured event logger of type <class 'superset.utils.log.DBEventLogger'> Falling back to the built-in cache, that stores data in the metadata database, for the followinng cache: FILTER_STATE_CACHE_CONFIG. It is recommended to use RedisCache, MemcachedCacheor another dedicated caching backend for production deployments 2022-06-03 09:06:52,233:WARNING:superset.utils.cache_manager:Falling back to the built-in cache, that stores data in the metadata database, for the followinng cache:FILTER_STATE_CACHE_CONFIG. It is recommended to use RedisCache, MemcachedCacheor another dedicated caching backend for production deployments Falling back to the built-in cache, that stores data in the metadata database, for the followinng cache:EXPLORE_FORM_DATA_CACHE_CONFIG. It is recommended to use RedisCache, MemcachedCacheor another dedicated caching backend for production deployments 2022-06-03 09:06:52,240:WARNING:superset.utils.cache_manager:Falling back to the built-in cache, that stores data in the metadata database, for the followinng cache:EXPLORE_FORM_DATA_CACHE_CONFIG. It is recommended to use RedisCache, MemcachedCache or another dedicated caching backend for production deployments INFO  [alembic.runtime.migration] Context impl PostgresqlImpl. INFO  [alembic.runtime.migration] Will assume transactional DDL. Loaded your LOCAL configuration at [/app/pythonpath/superset_config.py]

@john-bodley wondering if you have any insight here, or know someone good to redirect this to :)

Same thing happens on 1.5.2 image :
Upgrading DB schema...
logging was configured successfully
2022-10-03 11:04:19,607:INFO:superset.utils.logging_configurator:logging was configured successfully
2022-10-03 11:04:19,617:INFO:root:Configured event logger of type <class 'superset.utils.log.DBEventLogger'>
INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Will assume transactional DDL.
Loaded your LOCAL configuration at [/app/pythonpath/superset_config.py]

Chart version: 0.7.1

Same thing happens on 1.5.2 image :
Upgrading DB schema...
logging was configured successfully
2022-10-03 11:04:19,607:INFO:superset.utils.logging_configurator:logging was configured successfully
2022-10-03 11:04:19,617:INFO:root:Configured event logger of type <class 'superset.utils.log.DBEventLogger'>
INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Will assume transactional DDL.
Loaded your LOCAL configuration at [/app/pythonpath/superset_config.py]

Chart version: 0.7.1

Same with me for 2.0.1rc2, there's no error message and init failed completely.

Could somebody help with that?
Checked with helm chart 0.7.6 and 2.0.1rc2. Still have this problem.

I am having the same issue issue using the Superset image 1.5.2 and HELM chart version 0.7.6. Any idea why this happens? The application itself runs, I can access the UI and the superset-, superset-worker-, and superset-celerybeat- pods are running. I can also see that tables are generated by Superset in my Postgres database. Does this failing actually effect the application in any way?

I've resolved this issue with removing all deployments and re-deploy after that. Looks like when you migrate from one version to another sometimes there are some problems with DB initialisation

After manually applying changes from https://github.com/apache/superset/pull/22991 I can see the following:
Loaded your LOCAL configuration at [/app/pythonpath/superset_config.py]
logging was configured successfully
2023-02-08 12:45:19,384:INFO:superset.utils.logging_configurator:logging was configured successfully
INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Will assume transactional DDL.
ERROR [flask_migrate] Error: Can't locate revision identified by '9d8a8d575284'

superset 1.5.3
postgres 12.12
chart 0.7.6 (also tested with 0.5.10 and 0.8.2)

Upgrading the chart version from 0.8.4 to 0.8.10 fails with the same no error
Requirement already satisfied: psycopg2-binary==2.9.1 in /usr/local/lib/python3.8/site-packages (2.9.1)
Collecting Authlib==1.2.0
  Downloading Authlib-1.2.0-py2.py3-none-any.whl (214 kB)
Requirement already satisfied: redis==3.5.3 in /usr/local/lib/python3.8/site-packages (3.5.3)
Requirement already satisfied: cryptography>=3.2 in /usr/local/lib/python3.8/site-packages (from Authlib==1.2.0) (3.4.7)
Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.8/site-packages (from cryptography>=3.2->Authlib==1.2.0) (1.14.6)
Requirement already satisfied: pycparser in /usr/local/lib/python3.8/site-packages (from cffi>=1.12->cryptography>=3.2->Authlib==1.2.0) (2.20)
Installing collected packages: Authlib
Successfully installed Authlib-1.2.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
WARNING: You are using pip version 21.2.4; however, version 23.0.1 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
Upgrading DB schema...
logging was configured successfully
2023-03-27 05:22:03,958:INFO:superset.utils.logging_configurator:logging was configured successfully
2023-03-27 05:22:03,965:INFO:root:Configured event logger of type <class 'superset.utils.log.DBEventLogger'>
We haven't found any Content Security Policy (CSP) defined in the configurations. Please make sure to configure CSP using the TALISMAN_CONFIG key or any other external software. Failing to configure CSP have serious security implications. Check https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP for more information. You can disable this warning using the CONTENT_SECURITY_POLICY_WARNING key.
2023-03-27 05:22:03,966:WARNING:superset.initialization:We haven't found any Content Security Policy (CSP) defined in the configurations. Please make sure to configure CSP using the TALISMAN_CONFIG key or any other external software. Failing to configure CSP have serious security implications. Check https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP for more information. You can disable this warning using the CONTENT_SECURITY_POLICY_WARNING key.
Falling back to the built-in cache, that stores data in the metadata database, for the following cache: `FILTER_STATE_CACHE_CONFIG`. It is recommended to use `RedisCache`, `MemcachedCache` or another dedicated caching backend for production deployments
2023-03-27 05:22:03,970:WARNING:superset.utils.cache_manager:Falling back to the built-in cache, that stores data in the metadata database, for the following cache: `FILTER_STATE_CACHE_CONFIG`. It is recommended to use `RedisCache`, `MemcachedCache` or another dedicated caching backend for production deployments
Falling back to the built-in cache, that stores data in the metadata database, for the following cache: `EXPLORE_FORM_DATA_CACHE_CONFIG`. It is recommended to use `RedisCache`, `MemcachedCache` or another dedicated caching backend for production deployments
2023-03-27 05:22:03,977:WARNING:superset.utils.cache_manager:Falling back to the built-in cache, that stores data in the metadata database, for the following cache: `EXPLORE_FORM_DATA_CACHE_CONFIG`. It is recommended to use `RedisCache`, `MemcachedCache` or another dedicated caching backend for production deployments
INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Will assume transactional DDL.
Loaded your LOCAL configuration at [/app/pythonpath/superset_config.py]

I'm struggling here with the same error, tried many versions of the chart, no success so far. Is there any workaround?

@frafful I finally figured out the issue. The default helm chart uses the latest image, which is the dev build. I believe the random changeset gets introduced and removed into the dev docker image.
Note: following these steps may corrupt the database structure, so make a database backup before proceeding
The solution is to use the stable version of the superset docker image in the helm chart and then fix the version id in the alembic_version table of superset database.

Add/Update the helm values
e.g:

image:
  repository: apache/superset
  tag: 2.1.0
  pullPolicy: IfNotPresent

I had to jump through a couple of hoops to fix the init job. Initially, getting access to the Postgres database.

kubectl port-forward svc/superset-postgresql 5432:5432 -n <namespace>

With this now, you can use pgsql cli to access the database. Default username and password are superset and superset, I think.

Next, find the latest migration file version.
kubectl exec <superset-pod-name> ls superset/migrations/versions

for me, it was 4ce1d9b25135 - 2022-11-28_17-51_4ce1d9b25135_remove_filter_bar_orientation.py

find the current version value in the alembic_version using a select query and update the version for this file version in the database

UPDATE alembic_version
SET version_num = '4ce1d9b25135'
WHERE version_num = '<current version>';

run the superset_init.sh, this will fail with an error saying the table/column exists in the database. That error message shows the next migration version the init is applying. You can copy that version and update the version table again. You will have to repeat this until you find the right version.

kubectl exec -it <superset-pod-name> bash

bash -c ". pythonpath/superset_init.sh"

The final version id worked for me is this f3c2d8ec8595 for v2.1.0,
UPDATE alembic_version
SET version_num = 'f3c2d8ec8595'
WHERE version_num = '4ce1d9b25135';

Thanks @gamunu for sorting out the issue.  As of https://github.com/apache/superset/pull/25373 the Helm chart is currently at pointing at 3.0.0, which should address the underlying issue here.
As that has been fixed, and most of this thread is about the no-longer-supported 1.5.x version, I am going to close this issue.  If folks find this issue reappearing on the latest version of the helm chart, please feel free to open a new issue.


Feat/conditional fields for change action

Alters the change action to display only the attributes we want to change with a multi dropdown.
Currently, this sends a lot of request's over the websocket, when a user decides to edit multiple values, which is not ideal. So we may not want to merge this. That's why this is a draft until we elaborate further.

@alex-Arc @cpvalente would you take a look at this. (I can't request reviews here)

Super nice 🚀
if we want this as part of v2 we should probably only do single property
and then add it back in v3 when we can do it as 1 patch call

Closing this as the change has been made with v3


Colourbar ui

Changes to the colourbar settings

improved labels
toggle boxes replaced with tick boxes
added functionality to set data below / above user threshold to transparent

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

@andrewgryan Directives added, as suggested.


Update Spring Boot to 2.6.2

Motivation:

Micrometer 1.7.6 -> 1.8.2
Spring 5.3.13 -> 5.3.15
Spring Boot 2.5.7 -> 2.6.2

Modifications:

Add WebServerNamespace OperationArgumentResolver.

Bind additional health group to server.

Inject WebProperties directly instead of WebProperties.Resources.

https://github.com/spring-projects/spring-boot/issues/28762

Use ApiVersion.LATEST instead of ActuatorMediaType.V3_JSON.

Result:

You can now use Armeria with Spring Boot 2.6.

JFYI 2.6.3 was released this night: https://spring.io/blog/2022/01/20/spring-boot-2-6-3-is-now-available

JFYI 2.6.3 was released this night:

Thanks! Updated. 😄

Thanks, reviewers. 😉


enables cloning private repos in 0.5

This pull request enables cloning private repositories in 0.5 which was previously unavailable due to lack of credentials. The change sends the netrc credentials to the plugin when the repository is private. This re-uses the new secret implementation which provides added security.


Fix issue with unvoting delegate

Fixes an issue where you were unable to unvote for a delegate.
Steps to reproduce the issue:

When you have already voted for a delegate and want to vote for another, you can click on the new delegate and press 'Vote'.
A modal will pop up stating that you have already voted for a delegate, and if you want to unvote the delegate.
You can then press 'Unvote', fill in your PIN and a transaction will come up.
When you send this transaction, you will receive the error that you can only vote for 1 delegate

This PR solves the issue by making use of the data returned by the modal created in delegate-details.ts. That modal returns the actual delegate that we want to vote / unvote in its dismiss() function. By using that value in the delegates.ts file, we can correctly set the VoteType. Previously this value was ignored, meaning that if you clicked on a different delegate, that would erroneously be seen as the "selected delegate", which would result in a transaction to vote for this delegate, instead of unvoting the current one.
Tested all kinds of use cases on devnet and it seems to work as expected. Nevertheless, I encourage somebody else to also take a look into this before merging!

Good catch! 👍🏻


Creating docker image encounters issues

Hi
I did a git clone and tried out the docker image via "docker build -t snickers ."
The Docker image creation process encountered these issues:
~/snickers$ docker build -t snickers .
Sending build context to Docker daemon 26.44 MB
Step 1 : FROM flavioribeiro/snickers-docker:v3
v3: Pulling from flavioribeiro/snickers-docker
96c6a1f3c3b0: Pull complete
ed40d4bcb313: Pull complete
b171f9dbc13b: Pull complete
ccfc4df4fbba: Pull complete
f25c32d403b2: Pull complete
6d1d0da2ceae: Pull complete
caaade6bda3c: Pull complete
c1a9335abfc7: Pull complete
29a8f3f4b281: Pull complete
e44f83bada2b: Pull complete
f8366cb1d5e7: Pull complete
Digest: sha256:31e8bccb9c0721713c5decb1f1a6c6deded04e5cabf0b8d3af55185ae7db546c
Status: Downloaded newer image for flavioribeiro/snickers-docker:v3
 ---> 58f1d4a8c557
Step 2 : RUN go get -u github.com/snickers/snickers
 ---> Running in a8a5417d8a0b
# github.com/3d0c/gmf
go/src/github.com/3d0c/gmf/frame.go: In function '_cgo_87b2ca8c47aa_Cfunc_avcodec_encode_audio2':
go/src/github.com/3d0c/gmf/frame.go:180:2: warning: 'avcodec_encode_audio2' is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:5239) [-Wdeprecated-declarations]
  //the codec gives us the frame size, in samples,
  ^
go/src/github.com/3d0c/gmf/frame.go: In function '_cgo_87b2ca8c47aa_Cfunc_avcodec_encode_video2':
go/src/github.com/3d0c/gmf/frame.go:197:2: warning: 'avcodec_encode_video2' is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:5278) [-Wdeprecated-declarations]
  }
  ^
# github.com/3d0c/gmf
go/src/github.com/3d0c/gmf/packet.go: In function '_cgo_87b2ca8c47aa_Cfunc_avcodec_decode_audio4':
go/src/github.com/3d0c/gmf/packet.go:87:2: warning: 'avcodec_decode_audio4' is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:4721) [-Wdeprecated-declarations]
  var ret int = 0
  ^
go/src/github.com/3d0c/gmf/packet.go: In function '_cgo_87b2ca8c47aa_Cfunc_avcodec_decode_video2':
go/src/github.com/3d0c/gmf/packet.go:104:2: warning: 'avcodec_decode_video2' is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:4770) [-Wdeprecated-declarations]
   break
  ^
# github.com/3d0c/gmf
go/src/github.com/3d0c/gmf/stream.go: In function '_cgo_87b2ca8c47aa_Cfunc_avcodec_copy_context':
go/src/github.com/3d0c/gmf/stream.go:45:2: warning: 'avcodec_copy_context' is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:4199) [-Wdeprecated-declarations]
  // If the codec context wasn't set, it means that it's called from InputCtx
  ^
# github.com/snickers/hls/segmenter
/usr/bin/ld: cannot find -lsegmenter
collect2: error: ld returned 1 exit status
The command '/bin/sh -c go get -u github.com/snickers/snickers' returned a non-zero code: 2

Any tips on how to proceed?
Thanks!

same here

same to me.  any Idea ?


Adding option, if one if OFF the other is ON

Adding option, if one is OFF the other is ON.

I know it's programmable with jQuery but it will be great to have this option.
I want 2 ON OFF inline buttons, When one is ON the other become OFF

Sorry, i just find out with the api

Did you get this to work?

I managed to get it working by utilizing HTML5's localStorage and javascript time offsets.
$("input[type='checkbox']").on("change", function() {
	var tog = $(this);
  var d = new Date();
  var now = d.getTime();
  var storedTime = localStorage.getItem('togTime');

  if (!storedTime) {
  	localStorage.setItem('togTime', now);
  }

  if (localStorage.getItem('togTime') == now) {
  	if (tog.is("#option1")) {
    	// jsFiddle addition.  Clicks aren't tracked well in the render window:
      $(tog).bootstrapToggle("on");
    	$("#option2").bootstrapToggle("off");
    } else if (tog.is("#option2")) {
    	// jsFiddle addition.  Clicks aren't tracked well in the render window:
    	$(tog).bootstrapToggle("on");
    	$("#option1").bootstrapToggle("off");
    }
  }

  // Release the localStorage 1ms later.  This is the key.
  setTimeout(function() {
		localStorage.removeItem('togTime');
  }, 1);
});

Fiddle: https://jsfiddle.net/jd6cten2/1/


Error while running uatg

Traceback (most recent call last):
File "/home/sneha/.local/bin/uatg", line 11, in
load_entry_point('uatg', 'console_scripts', 'uatg')()
File "/usr/lib/python3/dist-packages/click/core.py", line 764, in call
return self.main(*args, **kwargs)
File "/usr/lib/python3/dist-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/usr/lib/python3/dist-packages/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/lib/python3/dist-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/lib/python3/dist-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/home/sneha/uatg/uatg/main.py", line 246, in from_config
generate_sv(work_dir=config['uatg']['work_dir'],
File "/home/sneha/uatg/uatg/test_generator.py", line 227, in generate_sv
_sv = plugin.plugin_object.generate_covergroups(alias_dict)
File "/home/sneha/myquickstart/chromite_uatg_tests/modules/branch_predictor/uatg_gshare_fa_mispredict_loop_01.py", line 109, in generate_covergroups
mispredict_flag = config['branch_predictor']['wire']['bpu_mispredict_flag']
KeyError: 'branch_predictor'
I get the following bug while running uatg, the aliasing.yaml created during "uatg setup" should have the node as "branch_predictor" not "bpu" https://github.com/incoresemi/uatg/blob/main/uatg/utils.py#L427

what are the steps to replicate the bug ?

Cloned the https://github.com/incoresemi/chromite_uatg_tests repo in /myquickstart directory
Ran the 'uatg setup' after installing the package
Consequently ran the 'from-config' command where I got the bug
Basically followed this https://uatg.readthedocs.io/en/latest/installation.html#running-uatg step-by-step

@snehashri04

I am fixing this issue in utils.py now and will be merged to master.
On a side note, The aliasing.yaml as well as the dut_config.yaml are just template files for the user to get started with creating those YAML files which are required for UATG. It is better if you use this YAML file, as it is the one that will be updated with every new test we write.

Thanks.

Okay thanks @Alenkruth

The issue has been fixed in this merge. I am closing the issue.


no effect

I would like to ask, the yellow box inside the code, it seems no effect?

It generates unique url for item's avatar. For example, if you change it to faker.avatar.image(), you will have same image for all items.
https://github.com/stympy/faker/blob/master/doc/avatar.md


Add a command line CoffeeScript compiler

It would be useful to have a command line replacement for the CoffeeScript compiler provided by Node.JS's coffee-script module (coffee --compile). I've written one, but I don't know how to integrate it into your pip package.

We can add __main__.py to priovide command line interface.
After adding them, please create a pull-request.


Mcs 699 prune reqs

Removing packages from requirements.txt that were likely capture early in the project with a pip freeze > requirements.txt.
Destroyed my current virtual environment and remade a new one with these reqs. Unit tests and integration tests all passed still.
https://nextcenturycorporation.github.io/MCS/dev.html#package-installation
(mcs) MCS $ deactivate
MCS $ rm -rf venv
MCS $ python3.6 -m venv --prompt mcs venv
MCS $ source venv/bin/activate
(mcs) MCS $ python -m pip install --upgrade pip setuptools wheel
(mcs) MCS $ python -m pip install -r requirements.txt
(mcs) MCS $ python -m pip install -e .

I found two packages that helped with this analysis:

https://pypi.org/project/pip-check-reqs/
https://pypi.org/project/pipdeptree/

pipdeptree was better IMHO
(mcs) docs $ pipdeptree
autopep8==1.5.4
  - pycodestyle [required: >=2.6.0, installed: 2.6.0]
  - toml [required: Any, installed: 0.10.2]
flake8==3.8.3
  - importlib-metadata [required: Any, installed: 4.6.1]
    - typing-extensions [required: >=3.6.4, installed: <IP_ADDRESS>]
    - zipp [required: >=0.5, installed: 3.5.0]
  - mccabe [required: >=0.6.0,<0.7.0, installed: 0.6.1]
  - pycodestyle [required: >=2.6.0a1,<2.7.0, installed: 2.6.0]
  - pyflakes [required: >=2.2.0,<2.3.0, installed: 2.2.0]
isort==5.8.0
machine-common-sense==0.4.3
  - ai2thor [required: ==2.5.0, installed: 2.5.0]
    - aws-requests-auth [required: Any, installed: 0.4.3]
      - requests [required: >=0.14.0, installed: 2.24.0]
        - certifi [required: >=2017.4.17, installed: 2021.5.30]
        - chardet [required: >=3.0.2,<4, installed: 3.0.4]
        - idna [required: >=2.5,<3, installed: 2.10]
        - urllib3 [required: >=1.21.1,<1.26,!=1.25.1,!=1.25.0, installed: 1.25.11]
    - botocore [required: Any, installed: 1.18.18]
      - jmespath [required: >=0.7.1,<1.0.0, installed: 0.10.0]
      - python-dateutil [required: >=2.1,<3.0.0, installed: 2.8.1]
        - six [required: >=1.5, installed: 1.16.0]
      - urllib3 [required: >=1.20,<1.26, installed: 1.25.11]
    - flask [required: Any, installed: 2.0.1]
      - click [required: >=7.1.2, installed: 8.0.1]
        - importlib-metadata [required: Any, installed: 4.6.1]
          - typing-extensions [required: >=3.6.4, installed: <IP_ADDRESS>]
          - zipp [required: >=0.5, installed: 3.5.0]
      - itsdangerous [required: >=2.0, installed: 2.0.1]
      - Jinja2 [required: >=3.0, installed: 3.0.1]
        - MarkupSafe [required: >=2.0, installed: 2.0.1]
      - Werkzeug [required: >=2.0, installed: 2.0.1]
        - dataclasses [required: Any, installed: 0.8]
    - msgpack [required: Any, installed: 1.0.0]
    - numpy [required: Any, installed: 1.19.4]
    - opencv-python [required: Any, installed: <IP_ADDRESS>]
      - numpy [required: >=1.13.3, installed: 1.19.4]
    - Pillow [required: Any, installed: 8.3.1]
    - progressbar2 [required: Any, installed: 3.53.1]
      - python-utils [required: >=2.3.0, installed: 2.5.6]
        - six [required: Any, installed: 1.16.0]
      - six [required: Any, installed: 1.16.0]
    - pyyaml [required: Any, installed: 5.4.1]
    - requests [required: Any, installed: 2.24.0]
      - certifi [required: >=2017.4.17, installed: 2021.5.30]
      - chardet [required: >=3.0.2,<4, installed: 3.0.4]
      - idna [required: >=2.5,<3, installed: 2.10]
      - urllib3 [required: >=1.21.1,<1.26,!=1.25.1,!=1.25.0, installed: 1.25.11]
    - werkzeug [required: >=0.15.0, installed: 2.0.1]
      - dataclasses [required: Any, installed: 0.8]
  - boto3 [required: >=1.15, installed: 1.15.2]
    - botocore [required: >=1.18.2,<1.19.0, installed: 1.18.18]
      - jmespath [required: >=0.7.1,<1.0.0, installed: 0.10.0]
      - python-dateutil [required: >=2.1,<3.0.0, installed: 2.8.1]
        - six [required: >=1.5, installed: 1.16.0]
      - urllib3 [required: >=1.20,<1.26, installed: 1.25.11]
    - jmespath [required: >=0.7.1,<1.0.0, installed: 0.10.0]
    - s3transfer [required: >=0.3.0,<0.4.0, installed: 0.3.7]
      - botocore [required: >=1.12.36,<2.0a.0, installed: 1.18.18]
        - jmespath [required: >=0.7.1,<1.0.0, installed: 0.10.0]
        - python-dateutil [required: >=2.1,<3.0.0, installed: 2.8.1]
          - six [required: >=1.5, installed: 1.16.0]
        - urllib3 [required: >=1.20,<1.26, installed: 1.25.11]
  - dataclasses [required: ==0.8, installed: 0.8]
  - marshmallow [required: ==3.12.1, installed: 3.12.1]
  - matplotlib [required: >=3.3, installed: 3.3.2]
    - certifi [required: >=2020.06.20, installed: 2021.5.30]
    - cycler [required: >=0.10, installed: 0.10.0]
      - six [required: Any, installed: 1.16.0]
    - kiwisolver [required: >=1.0.1, installed: 1.3.1]
    - numpy [required: >=1.15, installed: 1.19.4]
    - pillow [required: >=6.2.0, installed: 8.3.1]
    - pyparsing [required: >=2.0.3,!=2.1.6,!=2.1.2,!=2.0.4, installed: 2.4.7]
    - python-dateutil [required: >=2.1, installed: 2.8.1]
      - six [required: >=1.5, installed: 1.16.0]
  - msgpack [required: >=1.0.0, installed: 1.0.0]
  - opencv-python [required: >=4.0, installed: <IP_ADDRESS>]
    - numpy [required: >=1.13.3, installed: 1.19.4]
  - shapely [required: >=1.7.0, installed: 1.7.1]
pipdeptree==2.0.0
  - pip [required: >=6.0.0, installed: 21.1.3]
pre-commit==2.12.1
  - cfgv [required: >=2.0.0, installed: 3.3.0]
  - identify [required: >=1.0.0, installed: 2.2.11]
  - importlib-metadata [required: Any, installed: 4.6.1]
    - typing-extensions [required: >=3.6.4, installed: <IP_ADDRESS>]
    - zipp [required: >=0.5, installed: 3.5.0]
  - importlib-resources [required: Any, installed: 5.2.0]
    - zipp [required: >=3.1.0, installed: 3.5.0]
  - nodeenv [required: >=0.11.1, installed: 1.6.0]
  - pyyaml [required: >=5.1, installed: 5.4.1]
  - toml [required: Any, installed: 0.10.2]
  - virtualenv [required: >=20.0.8, installed: 20.5.0]
    - backports.entry-points-selectable [required: >=1.0.4, installed: 1.1.0]
      - importlib-metadata [required: Any, installed: 4.6.1]
        - typing-extensions [required: >=3.6.4, installed: <IP_ADDRESS>]
        - zipp [required: >=0.5, installed: 3.5.0]
    - distlib [required: >=0.3.1,<1, installed: 0.3.2]
    - filelock [required: >=3.0.0,<4, installed: 3.0.12]
    - importlib-metadata [required: >=0.12, installed: 4.6.1]
      - typing-extensions [required: >=3.6.4, installed: <IP_ADDRESS>]
      - zipp [required: >=0.5, installed: 3.5.0]
    - importlib-resources [required: >=1.0, installed: 5.2.0]
      - zipp [required: >=3.1.0, installed: 3.5.0]
    - platformdirs [required: >=2,<3, installed: 2.0.2]
    - six [required: >=1.9.0,<2, installed: 1.16.0]
recommonmark==0.6.0
  - commonmark [required: >=0.8.1, installed: 0.9.1]
  - docutils [required: >=0.11, installed: 0.17.1]
  - sphinx [required: >=1.3.1, installed: 3.2.1]
    - alabaster [required: >=0.7,<0.8, installed: 0.7.12]
    - babel [required: >=1.3, installed: 2.9.1]
      - pytz [required: >=2015.7, installed: 2021.1]
    - docutils [required: >=0.12, installed: 0.17.1]
    - imagesize [required: Any, installed: 1.2.0]
    - Jinja2 [required: >=2.3, installed: 3.0.1]
      - MarkupSafe [required: >=2.0, installed: 2.0.1]
    - packaging [required: Any, installed: 21.0]
      - pyparsing [required: >=2.0.2, installed: 2.4.7]
    - Pygments [required: >=2.0, installed: 2.9.0]
    - requests [required: >=2.5.0, installed: 2.24.0]
      - certifi [required: >=2017.4.17, installed: 2021.5.30]
      - chardet [required: >=3.0.2,<4, installed: 3.0.4]
      - idna [required: >=2.5,<3, installed: 2.10]
      - urllib3 [required: >=1.21.1,<1.26,!=1.25.1,!=1.25.0, installed: 1.25.11]
    - setuptools [required: Any, installed: 57.1.0]
    - snowballstemmer [required: >=1.1, installed: 2.1.0]
    - sphinxcontrib-applehelp [required: Any, installed: 1.0.2]
    - sphinxcontrib-devhelp [required: Any, installed: 1.0.2]
    - sphinxcontrib-htmlhelp [required: Any, installed: 2.0.0]
    - sphinxcontrib-jsmath [required: Any, installed: 1.0.1]
    - sphinxcontrib-qthelp [required: Any, installed: 1.0.3]
    - sphinxcontrib-serializinghtml [required: Any, installed: 1.1.5]
sphinx-markdown-builder==0.5.4
  - html2text [required: Any, installed: 2020.1.16]
  - pydash [required: Any, installed: 5.0.1]
  - sphinx [required: Any, installed: 3.2.1]
    - alabaster [required: >=0.7,<0.8, installed: 0.7.12]
    - babel [required: >=1.3, installed: 2.9.1]
      - pytz [required: >=2015.7, installed: 2021.1]
    - docutils [required: >=0.12, installed: 0.17.1]
    - imagesize [required: Any, installed: 1.2.0]
    - Jinja2 [required: >=2.3, installed: 3.0.1]
      - MarkupSafe [required: >=2.0, installed: 2.0.1]
    - packaging [required: Any, installed: 21.0]
      - pyparsing [required: >=2.0.2, installed: 2.4.7]
    - Pygments [required: >=2.0, installed: 2.9.0]
    - requests [required: >=2.5.0, installed: 2.24.0]
      - certifi [required: >=2017.4.17, installed: 2021.5.30]
      - chardet [required: >=3.0.2,<4, installed: 3.0.4]
      - idna [required: >=2.5,<3, installed: 2.10]
      - urllib3 [required: >=1.21.1,<1.26,!=1.25.1,!=1.25.0, installed: 1.25.11]
    - setuptools [required: Any, installed: 57.1.0]
    - snowballstemmer [required: >=1.1, installed: 2.1.0]
    - sphinxcontrib-applehelp [required: Any, installed: 1.0.2]
    - sphinxcontrib-devhelp [required: Any, installed: 1.0.2]
    - sphinxcontrib-htmlhelp [required: Any, installed: 2.0.0]
    - sphinxcontrib-jsmath [required: Any, installed: 1.0.1]
    - sphinxcontrib-qthelp [required: Any, installed: 1.0.3]
    - sphinxcontrib-serializinghtml [required: Any, installed: 1.1.5]
  - unify [required: Any, installed: 0.5]
    - untokenize [required: Any, installed: 0.1.1]
  - yapf [required: Any, installed: 0.31.0]
sphinxcontrib-websupport==1.2.4
  - sphinxcontrib-serializinghtml [required: Any, installed: 1.1.5]
wheel==0.36.2


feat(forms-web-app): adds kick out page for householder planning permission

adds kick out page for householder planning permission
Ticket Number

UCD-1635
Description of change

Checklist

[ ] Requires infrastructure changes
[ ] If adding or remove environment variables (e.g. in docker-compose.yaml) then I have updated the appropriate Helm chart
[ ] I have updated the documentation accordingly
[x] My commit history in this PR is linear
[x] New features have tests
[ ] Breaking change (team conversation required)

Important
Please do not merge from master (please only rebase). This keeps the history linear and easier to debug.

If this is the final implementation PR then I think it should include removing the @wip tag from the feature file.

I have removed the WIP tag and tagged the tests as per the other approach from 998.
FF & unit tests passing.
Pending discussion with @marcfielding1


Sync voicemail plugin with forked repo

Sync voicemail plugin with forked repo

The upgrade allow to delete the new/saved messages.

Jira Story: https://jira.grasshopper.com/browse/UNG-1435

The PR was raised by mistake. So im closing the PR.


API override error

Before opening, please confirm:

[X] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

How did you install the Amplify CLI?
npm
If applicable, what version of Node.js are you using?
v14.19.0
Amplify CLI Version
7.6.21
What operating system are you using?
Windows 10
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
No manual changes made
Amplify Categories
api
Amplify Commands
override, push
Describe the bug
After editing the override.ts file (generated from amplify override api) to add a custom resolver when I try to push the changes I see the following error in the output
🛑 Error: Skipping override due to VMError: Cannot find module 'fs'
If I confirm the push operation I don't see my changes.
Expected behavior
See my changes
Reproduction steps

amplify override api
Edit the override.ts file as follow

import { AmplifyApiGraphQlResourceStackTemplate } from "@aws-amplify/cli-extensibility-helper";
import * as appsync from "@aws-cdk/aws-appsync";

export function override(resources: AmplifyApiGraphQlResourceStackTemplate) {
  const createGroupMessageResolver = new appsync.CfnResolver(resources.api.rootstack, "PromotePost", {
    apiId: resources.api.GraphQLAPI.attrApiId,
    fieldName: "promotePost",
    typeName: "Mutation",
    requestMappingTemplate: appsync.MappingTemplate.fromFile(`${__dirname}/resolvers/Mutation.promotePost.req.vtl`).renderTemplate(),
    responseMappingTemplate: appsync.MappingTemplate.fromFile(`${__dirname}/resolvers/Mutation.promotePost.res.vtl`).renderTemplate(),
    dataSourceName: "PostTable"
  });
}

amplify push

GraphQL schema(s)

type Post @model {
  title: String
}

type Mutations {
  promotePost(): Post
}

Log output

# Put your logs below this line
⠙ Building resource api/myapiBe careful when using @auth directives on a field in a root type. @auth directives on field definitions use the source object to perform authorization logic and the source will be an empty object for fields on root types. Static group authorization should perform as expected.
🛑 Error: Skipping override due to VMError: Cannot find module 'fs'

✔ Successfully pulled backend environment dev from the cloud.
⠙ Building resource api/myapiBe careful when using @auth directives on a field in a root type. @auth directives on field definitions use the source object to perform authorization logic and the source will be an empty object for fields on root types. Static group authorization should perform as expected.
🛑 Error: Skipping override due to VMError: Cannot find module 'fs'

Additional information
No response

Hey @nikname :wave: thanks for raising this! I was able to successfully reproduce this behavior using the provided reproduction steps. Thank you for providing those details! The root cause here is similar to https://github.com/aws-amplify/amplify-cli/issues/9063, however I'll mark this as a non-duplicate bug due to the different workflow.
As mentioned in the docs, it should be possible to write our VTL templates in a separate file. As a workaround, please try defining the VTL templates as strings inside the overrides.ts file.
Marking as a bug 🙂

Hey @nikname :wave: there was a bit of confusion on my part with this docs link I provided. Under the "VTL Resolvers" section it walks us through creating a custom CDK resource rather than _overriding` the GraphQL Resource. In a custom CDK resource these fs ops are permitted and we should be able to add VTL templates using the example you provided. Can you try those steps and see if that mitigates this issue?

Hello, I have the same problem but trying override OpenDomainName, I have Windows 10
import {
  AmplifyApiGraphQlResourceStackTemplate,
  getProjectInfo,
} from "@aws-amplify/cli-extensibility-helper";

export function override(resources: AmplifyApiGraphQlResourceStackTemplate) {
  const { projectName, envName } = getProjectInfo();

  // Override OpenSearch Resource Configuration
  resources.opensearch.OpenSearchDomain.domainName = `${projectName}-op-${envName}`;
}

Same issue overriding storage.