BGP Control Plane

This PR implements a new BGP control plane.
The PR has self-contained documentation here located at /pkg/bgpv1/README.md and is worth reading through before an initial review.
The initial implementation moves over the existing PodCIDR advertisements feature with the feature-adds of dual stack and IPv6 single stack support.
This support encompasses both IPv6 peering and IPv6 MP BGP advertisements.
This PR also implements a new event handling pattern outlined here by this CFP
The large file count is due to vendoring new depdencies. The vendoring changes are isolated to their own commits and can be jumped over while reviewing.
Implementation of a GoBGP backed BGP control plane.

@kaworu for context, we will be phasing out the bgp helm values in favor of bgp-control-plane. Right now they exist in parallel but will not moving forward.

Made some comments about the shutdown procedure + nits.

Nit: Multiple places use the term ASN numbers. ASN stands for Autonomous System Number, so they should be like ASNs.

I think this doesn't have to be a part of this PR, but I think we should make it possible to check the current operational states of the virtual routers (peer states, advertised prefixes, peer uptimes, etc...) from the CiliumBGPPeeringPolicy's status fields or somewhere. We still can check it from the log, but those will be buried in the massive log of other components and easily lost by log rotating.

I think this doesn't have to be a part of this PR, but I think we should make it possible to check the current operational states of the virtual routers (peer states, advertised prefixes, peer uptimes, etc...) from the CiliumBGPPeeringPolicy's status fields or somewhere. We still can check it from the log, but those will be buried in the massive log of other components and easily lost by log rotating.

Agreed, will add this to rc2 followups.

Nit: Multiple places use the term ASN numbers. ASN stands for Autonomous System Number, so they should be ASNs.

@YutaroHayakawa this was addressed and all prose with the previous phrase have been updated.

/test

I looked rather quickly at the code change, and focused more on the docs. The contents looks good overall, although I have a bunch of remarks, below. Nothing blocking, but I would like to see the main points addressed here or as follow-ups.
My main concern (about the doc) is that you add twice the same content, as Markdown and as RST, at two different locations. It will never remain in sync, it looks unnecessary, and it's not always appropriate. For example, the section on the Architecture has little to do in a Getting Started guide, in my opinion. Conversely, if we already have documentation for the options and CRD in Cilium's doc, the README.md located in the sources could just point to it. Also, we don't have a lot of READMEs under pkg/ as far as I know, and maybe we should keep it like this. Have you considered moving the architecture bits (as RST) under Documentaion/internals/?
Side note: Commit  bgp: implement gobgp router manager has a typo in its description (implmenetation).

@qmonnet some of your points contradict with some others have made, mostly around "diagrams as code" cc @brb
Keeping diagrams up to date which are not written in code is a on-going issue.
IMO - software archictecture and development bits belong in pkg level readme, they should be viewable and readable by developers browsing the source code.
Usage docs should be in the upstream docs, where more user facing interactions happen.

@qmonnet some of your points contradict with some others have made, mostly around "diagrams as code" cc @brb
Keeping diagrams up to date which are not written in code is a on-going issue.

What diagrams are we talking about? I've only commented on documentation files, not code?

IMO - software archictecture and development bits belong in pkg level readme, they should be viewable and readable by developers browsing the source code.

I'm not strongly opposed to that. My concern is that we already have some documentation on the internals in Cilium documentation. Having it in packages, or in Cilium's doc, I'm fine either way; what I find confusing is having a mix of both, because if I'm looking for documentation on a specific component, where should I be looking in that case?

Usage docs should be in the upstream docs, where more user facing interactions happen.

Agreed, but this is not what your PR contains, right? You have two mostly identical versions of the same file, one in pkg/, and one in the docs, or am I missing something?

The bgpv1/README.md has embedded mermaid diagrams, which are an effort to "codify" our diagrams so they can be updated like any other pieces of code. You can see it rendered out here: https://github.com/cilium/cilium/blob/35ffa8d5b75581b6eee3790d2ff88fab49866d56/pkg/bgpv1/README.md

I know of Mermaid, but unless I'm still missing a piece, even these diagrams are not generated from Cilium's code, they're just portions of the documentation that are converted into visual diagrams. I mean, it's pretty awesome to have them, but if you change the code in the package, they're not updated. So in that regard, what's the difference between having them directly in the package vs. in Cilium's docs? If rendering them is the main blocking point, we could have a look at something like this?

@qmonnet believe I addressed your major concerns. I'll deferr the re-organization of the documentation to another PR for RC timing purposes.

@ldelossa Are you tracking follow up items in an issue somewhere?

@christarazi not yet but have plans to

Not quite. “My main concern (about the doc) is that you add twice the same content, as Markdown and as RST, at two different locations. It will never remain in sync, it looks unnecessary, and it's not always appropriate.”

Also disappointed to see some suggestions for trivial fixes being ignored and marked as resolved cry.
@qmonnet sorry that wasn't my intention.
I noted that you said these were non blocking, so I handled most of the topical low hangling fruit, and the larger concerns which involve restructing the documents I will mark as follow up items in my next BGP related PR. Splitting the documentation which belongs in the .rst file and what belongs in the .md file will take a bit of thinking and as of today both docs are usable for an RC build.
I had thought I hit all the low hanging fruit changes you listed, if I missed any feel free to add another comment on the thread to bring them to my attention.

@qmonnet sorry that wasn't my intention.

OK no problem in that case, thank you.

I noted that you said these were non blocking, so I handled most of the topical low hangling fruits, and the larger concerns which involve restructing the documents I will mark as follow up items in my next BGP related PR. Splitting the documentation which belongs in the .rst file and what belongs in the .md file will take a bit of thinking and as of today both docs are usable for an RC build.

I understand and I'm fine with that :+1: .

I had thought I hit all the low hanging fruit changes you listed, if I missed any feel free to add another comment on the thread to bring them to my attention.

There are a few that have not been addressed, so I marked the threads as “unresolved” above. Some are more involved than others, e.g. fixing the indent of the diagram and text to make it fit inside the list: it does require some validation of the output to make sure indent is correct, so OK if you prefer to defer. But I was rather surprised to see you discard fixes like the typo Its -> It is :).
Thanks again for your work!

oh but things like

typo Its -> It is

When I have a lot of comments I click resolve while I'm literally editing the file so I remember that I did it. Maybe I missed some!

/test

/test test-1.22-4.19

/test-1.22-4.19

had to force push to deal with module.txt merge conflict. Will re-run tests.

/test

/test

@ldelossa travis ci failure => https://app.travis-ci.com/github/cilium/cilium/jobs/566155290#L9792

HINT: to fix this, run 'make -C Documentation update-helm-values'

Thanks!  Do you run anything locally to check that this is required?

/tests

/test

/test

ci-l4lb => https://github.com/cilium/cilium/actions/runs/2106008869 looks like a cluster creation failure. re-triggering.

/ci-l4lb

/ci-nat46x64

https://jenkins.cilium.io/job/Cilium-PR-K8s-1.23-kernel-net-next/957/ failed to provision VMs. restarting...

/test-1.23-net-next

/test-1.23-net-next


VectorStore -> BasePydanticVectorStore, also get/delete_nodes, clear()

Migrates all remaining vector stores to pydantic base class
Updates typing
Add new get/delete_nodes() and clear() methods
Implement new methods some simple, qdrant, and chroma
add tests for simple, qdrant, and chroma

Nice! I'm just getting caught up with #13352 which I think needs this, right?

@nerdai yea, in order to make that less janky, the new methods here will be very helpful

@nerdai yes -- every vector store should use the pydantic base class yet. I kept the old one in the code in case anyone was importing and subclassing it though


syscalls: add missing verifications handlers

add verification handler for uart_mux_find
Several fixes in application_development sample to fix the declared syscall

Add verification handler
Declare the subsystem to the driver API
CONFIG_APPLICATION_DEFINE_SYSCALL to allow the build system create syscall boilerplate and kernel object

@ceolin please rebase

@ca

@ceolin please rebase

done


Build errors

Seems like there are errors with the build commands you mention on the usage section of your README.
Notion link: https://www.notion.so/alejandroakbal/Rule-34-App-6911f3301a2e47268b09d95f3cd4f8ac
Vercel log
09:30:22.668  	Cloning github.com/AlejandroAkbal/docs.r34.app (Branch: main, Commit: 1943a7f)
09:30:23.768  	Cloning completed in 1099ms
09:30:23.771  	Analyzing source code...
09:30:24.193  	Installing build runtime...
09:30:24.715  	Build runtime installed: 521.766ms
09:30:25.323  	Installing build runtime...
09:30:25.816  	Build runtime installed: 492.375ms
09:30:26.425  	Installing build runtime...
09:30:26.915  	Build runtime installed: 490.056ms
09:30:27.522  	Installing build runtime...
09:30:28.017  	Build runtime installed: 495.611ms
09:30:28.620  	Installing build runtime...
09:30:29.111  	Build runtime installed: 490.188ms
09:30:29.713  	Installing build runtime...
09:30:31.776  	Build runtime installed: 2062.269ms
09:30:34.093  	Looking up build cache...
09:30:34.164  	Build cache not found
09:30:34.301  	Looking up build cache...
09:30:34.408  	Build cache not found
09:30:34.667  	Looking up build cache...
09:30:34.720  	Build cache not found
09:30:34.805  	Looking up build cache...
09:30:34.850  	Looking up build cache...
09:30:34.854  	Build cache not found
09:30:34.888  	Build cache not found
09:30:35.312  	Warning: Due to `engines` existing in your `package.json` file, the Node.js Version defined in your Project Settings will not apply. Learn More: http://vercel.link/node-version
09:30:35.323  	Installing dependencies...
09:30:35.542  	Warning: Due to `engines` existing in your `package.json` file, the Node.js Version defined in your Project Settings will not apply. Learn More: http://vercel.link/node-version
09:30:35.545  	Installing dependencies...
09:30:35.863  	Warning: Due to `engines` existing in your `package.json` file, the Node.js Version defined in your Project Settings will not apply. Learn More: http://vercel.link/node-version
09:30:35.866  	Installing dependencies...
09:30:36.008  	yarn install v1.22.10
09:30:36.078  	Warning: Due to `engines` existing in your `package.json` file, the Node.js Version defined in your Project Settings will not apply. Learn More: http://vercel.link/node-version
09:30:36.082  	Installing dependencies...
09:30:36.119  	[1/5] Validating package.json...
09:30:36.123  	[2/5] Resolving packages...
09:30:36.135  	Warning: Due to `engines` existing in your `package.json` file, the Node.js Version defined in your Project Settings will not apply. Learn More: http://vercel.link/node-version
09:30:36.137  	Installing dependencies...
09:30:36.422  	[3/5] Fetching packages...
09:30:50.905  	info<EMAIL_ADDRESS>The platform "linux" is incompatible with this module.
09:30:50.905  	info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
09:30:50.913  	[4/5] Linking dependencies...
09:30:50.914  	warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>09:30:50.915  	warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^16.0.0".
09:30:50.915  	warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^16.0.0".
09:30:50.916  	warning " ><EMAIL_ADDRESS>has incorrect peer dependency "puppeteer@^2".
09:30:50.917  	warning "react-notion-x ><EMAIL_ADDRESS>has unmet peer dependency "@babel/runtime@>=7".
09:30:50.917  	warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency "react@^15 || ^16".
09:30:50.917  	warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency "react-dom@^15 || ^16".
09:30:50.919  	warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>09:30:50.919  	warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>09:30:50.920  	warning "react-notion-x > react-pdf ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^4.0.0-alpha.0 || ^4.0.0".
09:30:50.920  	warning "react-notion-x > react-pdf > pdfjs-dist ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^4.0.0-alpha.0 || ^4.0.0".
09:30:50.920  	warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>09:30:50.920  	warning "use-dark-mode ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>09:31:01.239  	[5/5] Building fresh packages...
09:31:06.999  	Done in 31.00s.
09:31:07.207  	yarn install v1.22.10
09:31:07.261  	Using TypeScript 4.1.3 (local user-provided)
09:31:07.316  	[1/5] Validating package.json...
09:31:07.319  	[2/5] Resolving packages...
09:31:07.719  	[3/5] Fetching packages...
09:31:08.261  	info<EMAIL_ADDRESS>The platform "linux" is incompatible with this module.
09:31:08.262  	info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
09:31:08.273  	[4/5] Linking dependencies...
09:31:08.275  	warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>09:31:08.275  	warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^16.0.0".
09:31:08.275  	warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^16.0.0".
09:31:08.276  	warning " ><EMAIL_ADDRESS>has incorrect peer dependency "puppeteer@^2".
09:31:08.277  	warning "react-notion-x ><EMAIL_ADDRESS>has unmet peer dependency "@babel/runtime@>=7".
09:31:08.277  	warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency "react@^15 || ^16".
09:31:08.277  	warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency "react-dom@^15 || ^16".
09:31:08.278  	warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>09:31:08.278  	warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>09:31:08.279  	warning "react-notion-x > react-pdf ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^4.0.0-alpha.0 || ^4.0.0".
09:31:08.279  	warning "react-notion-x > react-pdf > pdfjs-dist ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^4.0.0-alpha.0 || ^4.0.0".
09:31:08.280  	warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>09:31:08.280  	warning "use-dark-mode ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>09:31:17.781  	Uploading build outputs...
09:31:22.345  	Looking up build cache...
09:31:22.390  	Build cache not found
09:31:23.179  	Warning: Due to `engines` existing in your `package.json` file, the Node.js Version defined in your Project Settings will not apply. Learn More: http://vercel.link/node-version
09:31:23.189  	Running "install" command: `npm install`...
09:31:23.264  	[5/5] Building fresh packages...
09:31:29.023  	Done in 21.82s.
09:31:29.211  	yarn install v1.22.10
09:31:29.239  	Using TypeScript 4.1.3 (local user-provided)
09:31:29.310  	[1/5] Validating package.json...
09:31:29.314  	[2/5] Resolving packages...
09:31:29.669  	[3/5] Fetching packages...
09:31:30.202  	info<EMAIL_ADDRESS>The platform "linux" is incompatible with this module.
09:31:30.202  	info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
09:31:30.216  	[4/5] Linking dependencies...
09:31:30.218  	warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>09:31:30.219  	warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^16.0.0".
09:31:30.219  	warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^16.0.0".
09:31:30.221  	warning " ><EMAIL_ADDRESS>has incorrect peer dependency "puppeteer@^2".
09:31:30.222  	warning "react-notion-x ><EMAIL_ADDRESS>has unmet peer dependency "@babel/runtime@>=7".
09:31:30.222  	warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency "react@^15 || ^16".
09:31:30.222  	warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency "react-dom@^15 || ^16".
09:31:30.223  	warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>09:31:30.223  	warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>09:31:30.224  	warning "react-notion-x > react-pdf ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^4.0.0-alpha.0 || ^4.0.0".
09:31:30.224  	warning "react-notion-x > react-pdf > pdfjs-dist ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^4.0.0-alpha.0 || ^4.0.0".
09:31:30.225  	warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>09:31:30.225  	warning "use-dark-mode ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>09:31:41.662  	[5/5] Building fresh packages...
09:31:41.729  	Uploading build outputs...
09:31:47.264  	Done with "api/render-social-image/[pageId].ts"
09:31:48.550  	Done in 19.34s.
09:31:48.732  	yarn install v1.22.10
09:31:48.767  	Using TypeScript 4.1.3 (local user-provided)
09:31:48.832  	[1/5] Validating package.json...
09:31:48.834  	[2/5] Resolving packages...
09:31:49.224  	[3/5] Fetching packages...
09:31:49.704  	info<EMAIL_ADDRESS>The platform "linux" is incompatible with this module.
09:31:49.704  	info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
09:31:49.743  	[4/5] Linking dependencies...
09:31:49.743  	warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>09:31:49.743  	warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^16.0.0".
09:31:49.743  	warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^16.0.0".
09:31:49.743  	warning " ><EMAIL_ADDRESS>has incorrect peer dependency "puppeteer@^2".
09:31:49.743  	warning "react-notion-x ><EMAIL_ADDRESS>has unmet peer dependency "@babel/runtime@>=7".
09:31:49.743  	warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency "react@^15 || ^16".
09:31:49.743  	warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency "react-dom@^15 || ^16".
09:31:49.744  	warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>09:31:49.744  	warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>09:31:49.744  	warning "react-notion-x > react-pdf ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^4.0.0-alpha.0 || ^4.0.0".
09:31:49.744  	warning "react-notion-x > react-pdf > pdfjs-dist ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^4.0.0-alpha.0 || ^4.0.0".
09:31:49.744  	warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>09:31:49.744  	warning "use-dark-mode ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>09:31:56.909  	Uploading build outputs...
09:31:59.022  	Done with "api/search-notion.ts"
09:32:01.228  	[5/5] Building fresh packages...
09:32:06.850  	Done in 18.12s.
09:32:07.067  	Using TypeScript 4.1.3 (local user-provided)
09:32:10.943  	Uploading build outputs...
09:32:12.624  	Done with "api/robots.txt.ts"
09:32:21.181  	npm WARN deprecated<EMAIL_ADDRESS>🚨 This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information.
09:32:21.300  	npm WARN deprecated<EMAIL_ADDRESS>core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
09:32:24.249  	npm WARN deprecated<EMAIL_ADDRESS>babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
09:32:35.300  	npm WARN rm not removing /vercel/workpath0/node_modules/.bin/semver as it wasn't installed by /vercel/workpath0/node_modules/semver
09:32:39.778  	><EMAIL_ADDRESS>install /vercel/workpath0/node_modules/next/node_modules/sharp
09:32:39.778  	> (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
09:32:39.991  	info sharp Using cached /vercel/.npm/_libvips/libvips-8.10.0-linux-x64.tar.br
09:32:40.923  	><EMAIL_ADDRESS>install /vercel/workpath0/node_modules/sharp
09:32:40.924  	> (node install/libvips && node install/dll-copy && prebuild-install --runtime=napi) || (node-gyp rebuild && node install/dll-copy)
09:32:41.128  	info sharp Using cached /vercel/.npm/_libvips/libvips-8.9.1-linux-x64.tar.gz
09:32:41.744  	><EMAIL_ADDRESS>install /vercel/workpath0/node_modules/puppeteer
09:32:41.744  	> node install.js
09:32:46.927  	Chromium (818858) downloaded to /vercel/workpath0/node_modules/puppeteer/.local-chromium/linux-818858
09:32:46.979  	><EMAIL_ADDRESS>postinstall /vercel/workpath0/node_modules/core-js
09:32:46.979  	> node -e "try{require('./postinstall')}catch(e){}"
09:32:47.089  	><EMAIL_ADDRESS>postinstall /vercel/workpath0/node_modules/protobufjs
09:32:47.089  	> node scripts/postinstall
09:32:47.209  	><EMAIL_ADDRESS>postinstall /vercel/workpath0/node_modules/@ampproject/toolbox-optimizer
09:32:47.209  	> node lib/warmup.js
09:32:47.540  	Browserslist: caniuse-lite is outdated. Please run:
09:32:47.540  	npx browserslist@latest --update-db
09:32:47.733  	AMP OPTIMIZER Downloaded latest AMP runtime data.
09:32:48.029  	npm notice created a lockfile as package-lock.json. You should commit this file.
09:32:48.034  	npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/chokidar/node_modules/fsevents):
09:32:48.034  	npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
09:32:48.040  	npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^16.0.0 but none is installed. You must install peer dependencies yourself.
09:32:48.047  	npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^16.0.0 but none is installed. You must install peer dependencies yourself.
09:32:48.051  	npm WARN<EMAIL_ADDRESS>requires a peer of puppeteer@^2 but none is installed. You must install peer dependencies yourself.
09:32:48.057  	npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
09:32:48.062  	npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
09:32:48.069  	npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
09:32:48.074  	npm WARN<EMAIL_ADDRESS>requires a peer of react@^15 || ^16 but none is installed. You must install peer dependencies yourself.
09:32:48.081  	npm WARN<EMAIL_ADDRESS>requires a peer of react-dom@^15 || ^16 but none is installed. You must install peer dependencies yourself.
09:32:48.087  	npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^4.0.0-alpha.0 || ^4.0.0 but none is installed. You must install peer dependencies yourself.
09:32:48.093  	npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^4.0.0-alpha.0 || ^4.0.0 but none is installed. You must install peer dependencies yourself.
09:32:48.098  	npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
09:32:48.100  	added 38 packages from 82 contributors, removed 45 packages, updated 732 packages and audited 794 packages in 40.816s
09:32:48.295  	93 packages are looking for funding
09:32:48.295  	  run `npm fund` for details
09:32:48.296  	found 0 vulnerabilities
09:32:48.534  	yarn install v1.22.10
09:32:48.561  	Running "npm run deploy"
09:32:48.644  	[1/5] Validating package.json...
09:32:48.647  	[2/5] Resolving packages...
09:32:48.807  	><EMAIL_ADDRESS>deploy /vercel/workpath0
09:32:48.807  	> vercel --prod
09:32:48.812  	sh: vercel: command not found
09:32:48.815  	npm ERR! code ELIFECYCLE
09:32:48.815  	npm ERR! syscall spawn
09:32:48.815  	npm ERR! file sh
09:32:48.815  	npm ERR! errno ENOENT
09:32:48.817  	npm ERR<EMAIL_ADDRESS>deploy: `vercel --prod`
09:32:48.817  	npm ERR! spawn ENOENT
09:32:48.817  	npm ERR!
09:32:48.818  	npm ERR! Failed at the<EMAIL_ADDRESS>deploy script.
09:32:48.818  	npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
09:32:48.823  	npm ERR!  Excluding it from installation.
09:32:49.280  	[4/5] Linking dependencies...
09:32:49.282  	warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>09:32:49.282  	warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^16.0.0".
09:32:49.282  	warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^16.0.0".
09:32:49.283  	warning " ><EMAIL_ADDRESS>has incorrect peer dependency "puppeteer@^2".
09:32:49.284  	warning "react-notion-x ><EMAIL_ADDRESS>has unmet peer dependency "@babel/runtime@>=7".
09:32:49.284  	warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency "react@^15 || ^16".
09:32:49.284  	warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency "react-dom@^15 || ^16".
09:32:49.285  	warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>09:32:49.285  	warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>09:32:49.288  	warning "react-notion-x > react-pdf ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^4.0.0-alpha.0 || ^4.0.0".
09:32:49.288  	warning "react-notion-x > react-pdf > pdfjs-dist ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^4.0.0-alpha.0 || ^4.0.0".
09:32:49.288  	warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>09:32:49.288  	warning "use-dark-mode ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>09:32:59.948  	[5/5] Building fresh packages...
09:33:05.591  	Done in 17.06s.
09:33:05.805  	Using TypeScript 4.1.3 (local user-provided)

It seems that this is trying to deploy from within your deploy.
What are you running locally in order to get this output from your local dev machine?
What version of node.js and vercel and you running locally?
I added a small comment to one of the commits in your fork.

Sorry for being late, it is already fixed thanks to your comment.
Local

Node: 12.x.x
Vercel: not installed as global

The error was happening when replacing vercel's default commands with the commands mentioned on your README.md.

@AlejandroAkbal @transitive-bullshit what was the comment that fixed this? I'm running into the same issue.

I'm sorry, I cannot find the comment.
But from what I remember, the README was wrong at the time.


Add WPF target project

Proposal
I think it would be great if a WPF project would be added too, so that cover all most relevant Windows UI APIs.

Why was this closed?

It would have been interesting for a project I had supervised. But it's true, I could have just left it open. Now the proposal is open again.


Revert "[FSDE-6414] Adding auto prs (#239)"

This reverts commit 9f2925aeb49f2ab6c605b97ef34ad5a7d602ac63.

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-313/1/. :x:

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-313/2/. :x:

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-313/5/. :white_check_mark:

You can check this PRs instance in https://5bdcbdfa1647b20c1f05b04b32a4d5eaadbadf80-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-313-ux-chi.kubeodc-test.corp.intranet/ (internal)


Windows gets stuck on starting watcher

The ready event never gets fired and the process silently exits.
In this case the entry point is a single file in %HOME%, I'll assume it tries to recursively watch everything and just flat out crashes while attempting it.
Watching the actual script files instead works, but when watching the files directly on Linux the change event only gets fired once (at-least with watchify as the compiler).

@mattdesl Might want to track this issue.

hmm.. I'm thinking of switching to watchify API instead of relying on the CLI. This would avoid the second chokidar instance on the bundle.js itself.  see budo#20


alt tabbing does not work well when using d9vk in kde plasma

i can use alt tab and select another program but it just does not switch to it i had this issue with few games like deus ex the fall or borderlands 2
while all of them were fine with alt tabbing using wined3d

Can you try using this please?
d3d9.zip

Can you try this please?
EDIT: Updated link
d3d9.zip

Can you try this please?
EDIT: Updated link
d3d9.zip

sorry i'm noob how can i use it? i replaced it with d3d9.dll in version 0.20 installer and now game does not launch

Can you try this please?
EDIT: Updated link
d3d9.zip

I'm also on KDE Plasma, and that build didn't work for me. You can see it happening on GTA:SA as well (video):
2019-09-27 00-18-23.zip

@barfin @guihkx
I have this issue with DXVK as well, disabling the compositor works around this issue.

@elovin Well, at least for me, the kwin compositor is automatically disabled when you launch any Steam game

This issue doesn't just affect KDE Plasma. I am experiencing the same issue on Gnome 3.32. This issue has affected me for a long while so it isn't related to any new builds. It is happening for me with League of Legends. Switching to Windowed mode is a workaround for the time being. If I remember correctly it was setting always on top to be enabled for some reason preventing alt-tabbing out of the game.

I have the same issue, the only games alt + tab works for are games created on Source Engine and Wolfenstein 2009.

Alt+Tab in any D9VK enabled fullscreen game doesn't work on KDE Plasma 5 despite enabling the disable desktop effects (compositor) in Lutris runner options.
Also worth mentioning that in native fullscreen games (eg. CS:GO) Alt+Tab does work properly.

@Joshua-Ashton
I did some testing, and I’ve identified two separate issues: one is KDE-specific, and one affects both KDE and Gnome.
KDE-specific: Many games stay on top when using alt+tab in fullscreen mode. I was able to reproduce this issue on A Hat in Time, Downwell, S.T.A.L.K.E.R.: Shadow of Chernobyl, Aftergrinder, Grand Theft Auto San Andreas and Mount & Blade: With Fire and Sword. I did not see this issue on Gnome or with wined3d.
Both KDE and Gnome: For some games, the window stays on top when using alt+tab in windowed mode only if fullscreen mode had previously been toggled. If the game is started in windowed mode and fullscreen is never used, alt+tab works correctly. I was able to reproduce this issue on Downwell and Aftergrinder. I did not see this issue with wined3d.
Of course, there could be other alt+tab issues; these are just the two I’ve narrowed down :)

I'm not on KDE anymore, but apparently Proton 5.0-8 fixed this?

On KDE, games being fullscreen should no longer prevent alt-tabbing out of the game.

Can someone test and confirm this?

Tested it myself on KDE and, at least on GTA:SA, I can alt tab out of the game normally.


Mouse window resizing/moving stopped working

previous working version: hyprland-git-r1666.abb6db9 (AUR)
version: hyprland-git-r1681.2dd1661 (AUR)
config: unchanged
Steps to reproduce:
Install Hyprland version hyprland-git-r1681.2dd1661
Open a window and press the main_mod key and right click to resize or left click to move the window

https://github.com/hyprwm/Hyprland/issues/688

oh ok thanks @Dickby


Prediction for Indian data, only Infection part

Hi,
I am a newcomer to STAN. I tried to predict the spread in India using the code. I modified the code accordingly. But it is still not working. I am interested in the prediction of infections only.
Any help in this regard will be highly appreciated.
Stay safe.
with best wishes,
Arindom
Code_India.zip

Hi @arindomchakraborty ,
Without death data and interventions data this model won't work for you. Also we need estimates of IFR for India


Include Custom Authentication URL length limitation

[Enter feedback here]
Hi Team,
There appears to be a limitation to the length of a callback URL when using custom authentication with Static Web Apps (about 4096) but this is not stated anywhere in the documentation, can you please include this limitation clearly in the documentation
Thanks

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

ID: 623901d6-2ff5-930f-a597-50aadc08b00b
Version Independent ID: 22464fe8-5e55-0d8d-0894-ee58e7310f55
Content: Custom authentication in Azure Static Web Apps
Content Source: articles/static-web-apps/authentication-custom.md
Service: static-web-apps
GitHub Login: @aaronpowell
Microsoft Alias: aapowell

Thank you for reaching out. At this time we are reviewing the ask and will provide an update as appropriate

Hi @SethBonser,
Just to clarify, are you referring to the callback URL generated by Static Web Apps, such as https://<YOUR_SITE>/.auth/login/<PROVIDER_NAME_IN_CONFIG>/callback?

@SethBonser,  Just checking if you had got a chance to see the previous response from aaronpowell.
Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, kindly let us know we will gladly continue the discussion.


Change to uppercase then reproduce #30

Try reproduce #30 (Btw change some letters to uppercase)

Codecov Report

Merging #31 (1dca205) into main (ec9a482) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #31   +/-   ##
=======================================
  Coverage   93.57%   93.57%
=======================================
  Files           4        4
  Lines         140      140
=======================================
  Hits          131      131
  Misses          9        9

Impacted Files
Coverage Δ

clang_tools/install.py
91.78% <ø> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

This is a small change, I want to merge without review to see if this merge can trigger python-test.yml


fix: interactivity for components within tooltip body [INS-4773]

Note: I'm creating this as a draft PR while I review the testing norms in this repo. I'll convert this to a PR later today.
Attempting to click on links within tooltips would lead to the tooltip being dismissed. This PR fixes the issue by moving the tooltip to be a sibling of the tooltip trigger, which is the correct structure for react-aria tooltips. Ref: https://react-spectrum.adobe.com/react-aria/useTooltipTrigger.html

Before
After

The Tooltip component is used in 45 locations throughout the codebase, and in 23 additional locations via the HelpTooltip component.

 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.


QueryIterator should be a proper iterator

ES2015 provides a standard for implementing iterators in JavaScript, and it's rather misleading that something called QueryIterator doesn't actually support this.

A true ES2015 iterator would be impossible to implement, because data is fetched asynchronously (in chunks). The iterator has to return something synchronously from the next() call though, and so it would never be able to set .done until the data is loaded (not synchronously, i.e. not right away so a synchronous for loop would either quit early or loop forever).
However, there is in fact also an upcoming spec for async iterators, where the next() call returns a Promise for the done/value object. At the moment this hasn't really been implemented yet in Node though (we need Symbol.asyncIterator for this to work fully).
The good news is that the next version of TypeScript (2.3) will include a shim for this. See this issue. Once that lands I'll add it to my project documentdb-typescript, and you'll be able to write a loop in TypeScript as if everything was synchronous for await (const myResult of coll.queryDocuments(...)) { ... }.

I like this idea for query.forEach() in the v2 SDK. I was thinking the same thing before seeing this issue.

We have recently announced deprecation version 1.x of the Azure Cosmos JavaScript SDK. We will end support for the documentdb package and this repo on August 30, 2020. Please update to our new package @azure/cosmos as soon as possible. If you encounter any issues, you can raise them in the Azure central JS SDK repo. If something is preventing you from upgrading to the latest version of the SDK, you can always email me directly<EMAIL_ADDRESS>


proposal：Improve for or foreach performance，

Replacing for  with Parallel.For to improve performance.

It's unlikely to be of any practical benefit once thread safety is taken into account.
Feel free to experiment and submit a patch if there's some improvements to be had!

It's unlikely to be of any practical benefit once thread safety is taken into account.
Feel free to experiment and submit a patch if there's some improvements to be had!

I'll close this for now as I don't intend to explore this option myself :)

I'll close this for now as I don't intend to explore this option myself :)


choose past dates

Hi
Good time
How to choose past dates?

Hi @majidmohamadisamani
I'm not sure if I have understood your question precisely. The default setting prevents the user from selecting a date before today (making past dates gray and unselectable in the picker). We can change that by an option provided in the component. Just use MinDateSetOnToday="false" on datepicker declaration (default is true).

Hi @farshaddavoudi
Yes, exactly

Hi @farshaddavoudi
Yes, exactly
Thanks


say function is not working while message to direct messages

Description
Describe your issue here.
What type of issue is this? (place an x in one of the [ ])

[ ] bug
[ ] enhancement (feature request)
[ ] question
[ ] documentation related
[ ] example code related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[ ] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[ ] I've read and agree to the Code of Conduct.
[ ] I've searched for any related issues and avoided creating a duplicate issue.

Bug Report
Filling out the following details about bugs will help us solve your issue sooner.
Reproducible in:
package version:
node version:
OS version(s):
Steps to reproduce:

Expected result:
What you expected to happen
Actual result:
What actually happened
Attachments:
Logs, screenshots, screencast, sample project, funny gif, etc.

Hi @KoladiyaChintan,
If you are following the Getting Started tutorial, you will need to subscribe to the Bot Event message.im to receive events for direct messages. After subscribing to the event, you may need to re-install your bot to the workspace for the changes to take effect.
The Getting Started tutorials' section on Setting Up Events lists a few other events that you may want to subscribe to as well:

message.channels listens for messages in public channels that your app is added to
message.groups listens for messages in 🔒 private channels that your app is added to
message.im listens for messages in your app’s DMs with users
message.mpim listens for messages in multi-person DMs that your app is added to

Let me know how that goes!
Michael


Make API more flexible

Why?

We require an "event name", but we actually only have a single event and likely won't add more.
The effectiveType property name does not really communicate what the value means (cellular generation).
The effectiveType property only makes sense when type: "cellular". Additionally, the shape of the object makes it hard to add new properties which are only applicable for one of the connection types such as "SSID" for Wifi connections. Related to issues #37 and #52.
There is a mismatch between the name of NetInfo.getCurrentInfo() and NetInfo.isConnected.fetch() even though they serve the same purpose of fetching the current information once.
It is not clear enough that the NetInfo.isConnected methods only say that we have an active connection, not that the internet is reachable. Related to issue #12.
NetInfo.isConnectionExpensive() is only available on Android. This is useful information to know for when you want to make large API calls.

What?
// Methods
NetInfo.fetch(): Promise<NetInfoState>;
NetInfo.addEventListener(listener: (state: NetInfoState) => void): void;

// Types
type NetInfoState =
  | NetInfoUnknownState
  | NetInfoNoConnectionState
  | NetInfoCellularState
  | NetInfoWifiState
  | NetInfoBluetoothState
  | NetInfoEthernetState
  | NetInfoWimaxState;

type NetInfoConnectedDetails = {
  isConnectionExpensive: boolean,
  externalIp: string | null,
  externalIpv6: string | null,
};

type NetInfoUnknownState = {
  type: 'unknown',
  isConnected: false,
  isInternetReachable: false,
  details: null,
};

type NetInfoNoConnectionState = {
  type: 'none',
  isConnected: false,
  isInternetReachable: false,
  details: null,
};

type NetInfoCellularState = {
  type: 'cellular',
  isConnected: true,
  isInternetReachable: boolean,
  details: NetInfoConnectedDetails & {
    cellularGeneration: '2g' | '3g' | '4g' | null,
  },
};

type NetInfoWifiState = {
  type: 'wifi',
  isConnected: true,
  isInternetReachable: boolean,
  details: NetInfoConnectedDetails & {
    ssid: string | null,
  },
};

type NetInfoBluetoothState = {
  type: 'bluetooth',
  isConnected: true,
  isInternetReachable: boolean,
  details: NetInfoConnectedDetails,
};

type NetInfoEthernetState = {
  type: 'ethernet',
  isConnected: true,
  isInternetReachable: boolean,
  details: NetInfoConnectedDetails,
};

type NetInfoWimaxState = {
  type: 'wimax',
  isConnected: true,
  isInternetReachable: boolean,
  details: NetInfoConnectedDetails,
};

For the shape of the NetInfoState type:

Top level properties (type, isConnected, isInternetReachable) are properties which make sense across all states, including type: "none"`.
Properties in details are one which are only applicable for a subset of states, including those which are only applicable when connected. To tidy up the types these are defined once in the NetInfoConnectedDetails type.

Example usage:
NetInfo.addEventListener((state: NetInfoState) => {
  if (state.isConnected) {
    console.log(`Connected!`);
    console.log(`Is internet reachable: ${state.isInternetReachable}`);

    // Get the connection type and cellular generation and SSID if we have the correct types
    console.log(`Type: ${state.type}`);
    if (state.type === 'cellular') {
      console.log(`Cellular generation: ${state.details.cellularGeneration}`);
    } else if (state.type === 'wifi') {
      console.log(`Cellular generation: ${state.details.ssid}`);
    }

    // Type systems should allow this as details always has "externalIpv6" when connected, but it might be "null"
    console.log(`External IP: ${state.details.externalIpv6}`);
  } else {
    console.log('No connection');
  }
});

How does this API change solve the issues?

Removes the first parameter from the NetInfo.addEventListener() method.
Changes the effectiveType property to state.details.cellularGeneration.
Moves the connection specific details into the state.details property. The types make it clear when these properties are available and will throw errors on both Flow and TypeScript if misused.
Removes the need for the NetInfo.isConnected methods as the connected flag is now included in NetInfoState. This encourages developer to make full use of the information we fetch and is no less efficient because we always fetch all of the data anyway and transform is to a boolean in Javascript.
Adds the isInternetReachable flag which makes it clearer that isConnected is not the one to use.
Moving the isConnectionExpensive into state.details for all connected states makes the flag useable on both platforms and much easier to get access to.

Note that the implementation of this is likely to be different as Android has a way to ask the system if the connection is "metered" which has the possibility, for example, of classifying certain Wifi connections as "expensive". iOS does not have this functionality so we will likely just need to say that cellular is expensive and wifi is not. This is why the property is a boolean rather than having a fixed true or false value for each connection type.

Backward compatibility
We should not introduce such big breaking changes lightly. I believe with this API we can actually provide full backward compatibility with the current API.

Because we are changing the current NetInfo.getCurrentInfo() method to NetInfo.fetch() we can keep the previous one around and transform the new state shape into the current one. This was the reason for changing the method name to fetch.
If the user calls the NetInfo.addEventListener() method with a string as the first parameter, we can assume they want to use the current API and transform the new state shape into the current one.
We can keep the current NetInfo.isConnected methods is the API and simply return the isConnected boolean from the new state shape.

All of these cases can be handled in a backward compatible way and we can include Yellow Box warnings to encourage upgrading to the newer APIs.

Advantages:

Much easier upgrade path for existing developers.
We can gently nudge towards upgrading with yellow box warnings (likely with a "warnOnce` to avoid spamming developers).
The new features will only be available with the new API, so it will encourage upgrading.

Disadvantages:

We need to have some code in the library to provide backward compatibility which slightly increases the bundle size and surface areas of the library.

Discussion points

Is this a good idea?
Does this API look good and be something which is flexible enough to add new properties and connection types in the future as technology changes?
How do we handle deprecating the current API? Do we just remove it and release a new major version or do we provide backward compatible methods which produce warnings when used?

I think this looks good, as a typescript consumer of the "expensive or not" information, and isConnected etc, and also someone thinking about a breaking change in @rnc/device-info.
It seems like a fair change with useful API on first glance. The only thinking-out-loud idea I had while reading it was that if you wanted to make sure you were future proof at the API level you might want to make sure you modeled after the underlying network stack (note that isconnected and isinternetreachable are sort of like different layers in the ISO stack right? so maybe have a kind of yes/no lookup on those layers, but I'm not advocating that - it sounds terrible as I type it, just thinking out loud about what the info means as it comes through this module as maybe a criteria for correct thinking on API produced)
As a consumer I love a model where you introduce new API and deprecate/yellow-box (with docs to suppress) in one major rev, then purge deprecated API in second major rev. As a maintainer I feel the load of extra code but I don't mind personally. So I would do that if possible, if it were me.

just as an aside on the term "future proof" as a ripoff of the joke about making things idiot-proof, the world is always inventing a worse future, so dunno about "future proof" but obviously we all (maintainers) try

I completely hear you on the "future proof" title 😉 I originally had it as "update" but changed it at the last minute.
It sounds like there's a desire to go ahead with something like this. I think the steps for this are:

Start a next branch which will include the next version of the API.
Add the new API structure but keep the feature set the same.
Add backward compatibility. If I can do this in a nice way then it can live in the library for a while before we remove it.
Add in hooks support. We may as well do this at the same time as we'll require a higher version of React Native, which I believe is classed as a breaking change. Plus it's a good reason for people to update if they want to use the "new shiny".
Merge into master as a breaking change.
Work on adding the new features where possible (eg. Adding the isInternetReachable flags). Release these as minor versions when ready.

This has been released in v3.0.0 🎉


Fix triggered execution, fixes #186

Fixes #186.

We need twirl to be compatible with sbt 1 and 0.13.

Is there any major reason why that's still the case?

Is there any major reason why that's still the case?

Play supporting both versions is the main reason. It means users can have Play 2.6.x applications using sbt 0.13, and then twirl must follow. And we are not dropping sbt 0.13 for Play 2.7.0.

This needs backporting, for Play 2.6.


[Event Request] Report 7305 "Whse.-Source - Create Document" - OnAfterSetJob and OnAfterSetAssemblyOrder

Hello everyone,
it would be nice to have in the method "SetJob" the onafter method, just to do some custom validations.
EVENT LOCATION
 procedure SetJob(var Job2: Record Job)
    begin
        JobHeader.Copy(Job2);
        WhseDoc := WhseDoc::Job;
        SourceTableCaption := JobHeader.TableCaption();
         //NEW CODE
        SortingMethod := SortActivity.AsInteger();
        OnAfterSetJob(JobHeader, SortingMethod);
        SortActivity := "Whse. Activity Sorting Method".FromInteger(SortingMethod);
        //NEW CODE
    end;

EVENT DECLARATION
[IntegrationEvent(false, false)]
    local procedure OnAfterSetJob(Job: Record "Job"; var SortActivity: Option)
    begin
    end;

It should be taken into consideration the assembly case to do the same event:
EVENT LOCATION
 procedure SetAssemblyOrder(var AssemblyHeader2: Record "Assembly Header")
    begin
        AssemblyHeader.Copy(AssemblyHeader2);
        WhseDoc := WhseDoc::Assembly;
        SourceTableCaption := AssemblyHeader.TableCaption();
        //NEW CODE
        SortingMethod := SortActivity.AsInteger();
        OnAfterSetAssemblyOrder(AssemblyHeader, SortingMethod);
        SortActivity := "Whse. Activity Sorting Method".FromInteger(SortingMethod);
         //NEW CODE
    end;

EVENT DECLARATION
[IntegrationEvent(false, false)]
    local procedure OnAfterSetAssemblyOrder(AssemblyHeader: Record "Assembly Header"; var SortActivity: Option)
    begin
    end;

Kind regards.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 48699.


PDF annotations not showing

Thanks for this great IOS-PDF-Reader. Your code works well in my App, however when the pdf document
contains some annotations, these do not display. Could you point me to
the area in the code where I could add modifications to display annotations as well.

You should use Apple's PDFKit, which is a native way to display PDFs including those that contain annotations. Its really easy to setup and use.
For this codebase, you would need to modify the model layer PDFDocument to extract the annotations from the raw PDF file, and you would then modify the views to add and display the images/buttons corresponding to each annotation to the views.


Support user defined global functions

See Feature suggestion: support user-provided functions as well as filters

added tests for filters and globals for app and plugins

https://github.com/alphagov/govuk-prototype-kit/issues/808#issuecomment-1448525930
Personally I would not want to call this file 'globals' as it is only for the view, not routes, and it's specifically for functions, not other data types. So I'd suggest functions.js

I've caught up with @joelanman about this.  We've had on-and-off discussions about how to support globals (variables/constants that are available everywhere, not just nunjucks) and he's raised a concern that this change might limit our options further down the line.
Please can we do the following in this PR:

Change the interface from addGlobal to addFunction
Check the type of the input to make sure it's a function

This means that we're providing the same behaviour to our users but leaving room to deal with something like addGlobalValue later without risking interface conflicts.

I've caught up with @joelanman about this. We've had on-and-off discussions about how to support globals (variables/constants that are available everywhere, not just nunjucks) and he's raised a concern that this change might limit our options further down the line.
Please can we do the following in this PR:

Change the interface from addGlobal to addFunction
Check the type of the input to make sure it's a function

This means that we're providing the same behaviour to our users but leaving room to deal with something like addGlobalValue later without risking interface conflicts.

Done

will discuss naming of globals with @nataliecarey
changed as requested


[Feature Request] add adjusted coefficient of determination

Coefficient of Determination
The CoD is a statistical measure of how well the regression approximates the real data points.
To avoid the excessive use of variables in order to reduce the resulting sum of squares (kitchen sink regression) the adjusted coefficient of determination was proposed.
The R²adj is defined as:
1-(1-R²)((n-1)/(n-p-1)) with n: number of observations, p: number of variables
It should be added to: Fitting.GoodnessOfFit
Related Information
Adjusted R²

closed by 78ffe3d540478c1814eacaff5079a3ff43259fb4


Read :fs_inotify config instead of :fs_mac in inotify backend

Thanks a lot!
a new version released for this change.


kubevirt: allow-two-primaries must be set to perform live-migration

To reproduce:
Install KubeVirt and enable featureGates: LiveMigration and HotplugVolumes
apiVersion: kubevirt.io/v1
kind: KubeVirt
metadata:
  annotations:
    kubevirt.io/latest-observed-api-version: v1
    kubevirt.io/storage-observed-api-version: v1alpha3
  name: kubevirt
  namespace: kubevirt
spec:
  configuration:
    developerConfiguration:
      featureGates:
      - LiveMigration
      - HotplugVolumes
  imagePullPolicy: IfNotPresent

Create VM:
apiVersion: kubevirt.io/v1
kind: VirtualMachine
metadata:
  annotations:
    kubevirt.io/latest-observed-api-version: v1
    kubevirt.io/storage-observed-api-version: v1alpha3
  name: testvm1
  namespace: default
spec:
  running: true
  template:
    metadata:
      creationTimestamp: null
    spec:
      domain:
        devices:
          disks:
          - disk:
              bus: virtio
            name: containerdisk
          - disk:
              bus: virtio
            name: cloudinitdisk
          interfaces:
          - masquerade: {}
            name: default
        machine:
          type: q35
        resources:
          requests:
            memory: 1024M
      networks:
      - name: default
        pod: {}
      terminationGracePeriodSeconds: 30
      volumes:
      - containerDisk:
          image: kubevirt/fedora-cloud-container-disk-demo:latest
        name: containerdisk
      - cloudInitNoCloud:
          userData: |-
            #cloud-config
            password: fedora
            chpasswd: { expire: False }
        name: cloudinitdisk

Create volume:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-pvc
spec:
  accessModes:
    - ReadWriteMany
  volumeMode: Block
  storageClassName: linstor-data-r2
  resources:
    requests:
      storage: 100Gi

attach volume to the vm:
virtctl addvolume testvm --volume-name my-pvc

run live-migration:
virtctl migrate testvm1

You'll see that hotplug-volume pod will be failed to run on second node:
hp-volume-29d84               1/1     Running             0          2m4s
hp-volume-6lvvm               0/1     ContainerCreating   0          77s

Due to:
Events:
  Type     Reason                  Age               From                     Message
  ----     ------                  ----              ----                     -------
  Normal   Scheduled               86s               default-scheduler        Successfully assigned default/hp-volume-6lvvm to hf-kubevirt-01
  Normal   SuccessfulAttachVolume  85s               attachdetach-controller  AttachVolume.Attach succeeded for volume "pvc-2a81bf2c-65dd-4782-b011-3c37af658575"
  Warning  FailedMapVolume         5s (x8 over 70s)  kubelet                  MapVolume.MapPodDevice failed for volume "pvc-2a81bf2c-65dd-4782-b011-3c37af658575" : rpc error: code = Internal desc = NodePublishVolume failed for pvc-2a81bf2c-65dd-4782-b011-3c37af658575: failed to set source device readwrite: exit status 1

If you'd go on csi-node pod and run this command, you'll see the error:
# blockdev --setrw /dev/drbd1000
blockdev: cannot open /dev/drbd1000: Wrong medium type

But after adding this option:
linstor rd sp pvc-2a81bf2c-65dd-4782-b011-3c37af658575 DrbdOptions/Net/allow-two-primaries yes

everything is starting working as it should.
Thus I think that we need to set allow-two-primaries automatically for any volume with accessMode: ReadWriteMany and  type: Block.
We have two options how we can do that:

Set it on volume creation
Set it on volume attachment

Which option do you prefer more?

This is like 100 years ago, but back then I just set it on the storage class. This does not work any more? Not for you? https://github.com/piraeusdatastore/linstor-csi/tree/master/examples/kubevirt

First thing: I'm surprised it even lets you have a ReadWriteMany resource at all...
Secondly: I'd prefer it if the user had to explicitly opt-in (maybe through a new enable-live-migration parameter on the storage class?). Then, on volume attach, if CSI can reasonably think it is in a live-migration situation: enable allow-two-primaries. And on detach on the old node: set it back to false.

@rck sorry, I didn't see that doc, but any way this is not working in my case:
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: linstor-data-r2
parameters:
  linstor.csi.linbit.com/placementCount: "2"
  linstor.csi.linbit.com/storagePool: data
  DrbdOptions/Net/allow-two-primaries: "yes"
provisioner: linstor.csi.linbit.com
reclaimPolicy: Delete
volumeBindingMode: Immediate

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-pvc
spec:
  accessModes:
    - ReadWriteMany
  volumeMode: Block
  storageClassName: linstor-data-r2
  resources:
    requests:
      storage: 100Gi

# linstor rd lp pvc-e9e280d1-b648-40d5-a4bf-35bd976fa24a
╭─────────────────────────────────────────────────────────╮
┊ Key                               ┊ Value               ┊
╞═════════════════════════════════════════════════════════╡
┊ Aux/csi-provisioning-completed-by ┊ linstor-csi/v0.18.0 ┊
┊ DrbdOptions/Resource/on-no-quorum ┊ io-error            ┊
┊ DrbdOptions/Resource/quorum       ┊ majority            ┊
┊ DrbdOptions/auto-verify-alg       ┊ crct10dif-pclmul    ┊
┊ DrbdPrimarySetOn                  ┊ HF-KUBEVIRT-01      ┊
╰─────────────────────────────────────────────────────────╯

Have you checked the actual drbd resource (drbdsetup show --show-defaults)? Because whatever you set in the storage class is put on the resource group and inherited by the resource definition

I'd prefer it if the user had to explicitly opt-in (maybe through a new enable-live-migration parameter on the storage class?). Then, on volume attach, if CSI can reasonably think it is in a live-migration situation: enable allow-two-primaries. And on detach on the old node: set it back to false.

@WanzenBug thus, I think it's better to implement the next way:

nodePublishVolume: add check if volume has type: Block and accessMode: ReadWriteMany and already InUse at one other node, then enable allow-two-primaries
nodeUnpublishVolume: if allow-two-primaries is set, then remove allow-two-primaries flag

Have you checked the actual drbd resource (drbdsetup show --show-defaults)? Because whatever you set in the storage class is put on the resource group and inherited by the resource definition

Yeah, my bad, it's there:
linstor rg lp sc-5c7dc25c-6740-5d79-b635-df965659aa11
╭─────────────────────────────────────────────╮
┊ Key                                 ┊ Value ┊
╞═════════════════════════════════════════════╡
┊ DrbdOptions/Net/allow-two-primaries ┊ yes   ┊
┊ StorPoolName                        ┊ data  ┊
╰─────────────────────────────────────────────╯

drbdsetup show --show-defaults pvc-e9e280d1-b648-40d5-a4bf-35bd976fa24a

resource "pvc-e9e280d1-b648-40d5-a4bf-35bd976fa24a" {
    options {
        cpu-mask        	""; # default
        on-no-data-accessible	io-error; # default
        auto-promote    	yes; # default
        peer-ack-window 	4096s; # bytes, default
        peer-ack-delay  	100; # milliseconds, default
        twopc-timeout   	300; # 1/10 seconds, default
        twopc-retry-timeout	1; # 1/10 seconds, default
        auto-promote-timeout	20; # 1/10 seconds, default
        max-io-depth    	8000; # default
        quorum          	majority;
        on-no-quorum    	io-error;
        quorum-minimum-redundancy	off; # default
    }
    _this_host {
        node-id			0;
        volume 0 {
            device			minor 1000;
            disk			"/dev/linstor_data/pvc-e9e280d1-b648-40d5-a4bf-35bd976fa24a_00000";
            meta-disk			internal;
            disk {
                size            	0s; # bytes, default
                on-io-error     	detach; # default
                disk-barrier    	no; # default
                disk-flushes    	yes; # default
                disk-drain      	yes; # default
                md-flushes      	yes; # default
                resync-after    	-1; # default
                al-extents      	1237; # default
                al-updates      	yes; # default
                discard-zeroes-if-aligned	yes; # default
                disable-write-same	no; # default
                disk-timeout    	0; # 1/10 seconds, default
                read-balancing  	prefer-local; # default
                rs-discard-granularity	0; # bytes, default
            }
        }
    }
    connection {
        _peer_node_id 1;
        path {
            _this_host ipv4 <IP_ADDRESS>:7004;
            _remote_host ipv4 <IP_ADDRESS>:7004;
        }
        net {
            transport       	""; # default
            protocol        	C; # default
            timeout         	60; # 1/10 seconds, default
            max-epoch-size  	2048; # default
            connect-int     	10; # seconds, default
            ping-int        	10; # seconds, default
            sndbuf-size     	0; # bytes, default
            rcvbuf-size     	0; # bytes, default
            ko-count        	7; # default
            allow-two-primaries	yes;
            cram-hmac-alg   	"sha1";
            shared-secret   	"2qySzH5tKuuFF65JoUdY";
            after-sb-0pri   	disconnect; # default
            after-sb-1pri   	disconnect; # default
            after-sb-2pri   	disconnect; # default
            always-asbp     	no; # default
            rr-conflict     	disconnect; # default
            ping-timeout    	5; # 1/10 seconds, default
            data-integrity-alg	""; # default
            tcp-cork        	yes; # default
            on-congestion   	block; # default
            congestion-fill 	0s; # bytes, default
            congestion-extents	1237; # default
            csums-alg       	""; # default
            csums-after-crash-only	no; # default
            verify-alg      	"crct10dif-pclmul";
            use-rle         	yes; # default
            socket-check-timeout	0; # default
            fencing         	dont-care; # default
            max-buffers     	2048; # default
            allow-remote-read	yes; # default
            _name           	"hf-kubevirt-02";
        }
        volume 0 {
            disk {
                resync-rate     	250k; # bytes/second, default
                c-plan-ahead    	20; # 1/10 seconds, default
                c-delay-target  	10; # 1/10 seconds, default
                c-fill-target   	100s; # bytes, default
                c-max-rate      	102400k; # bytes/second, default
                c-min-rate      	250k; # bytes/second, default
                bitmap          	yes; # default
            }
        }
    }
    connection {
        _peer_node_id 2;
        path {
            _this_host ipv4 <IP_ADDRESS>:7004;
            _remote_host ipv4 <IP_ADDRESS>:7004;
        }
        net {
            transport       	""; # default
            protocol        	C; # default
            timeout         	60; # 1/10 seconds, default
            max-epoch-size  	2048; # default
            connect-int     	10; # seconds, default
            ping-int        	10; # seconds, default
            sndbuf-size     	0; # bytes, default
            rcvbuf-size     	0; # bytes, default
            ko-count        	7; # default
            allow-two-primaries	yes;
            cram-hmac-alg   	"sha1";
            shared-secret   	"2qySzH5tKuuFF65JoUdY";
            after-sb-0pri   	disconnect; # default
            after-sb-1pri   	disconnect; # default
            after-sb-2pri   	disconnect; # default
            always-asbp     	no; # default
            rr-conflict     	disconnect; # default
            ping-timeout    	5; # 1/10 seconds, default
            data-integrity-alg	""; # default
            tcp-cork        	yes; # default
            on-congestion   	block; # default
            congestion-fill 	0s; # bytes, default
            congestion-extents	1237; # default
            csums-alg       	""; # default
            csums-after-crash-only	no; # default
            verify-alg      	"crct10dif-pclmul";
            use-rle         	yes; # default
            socket-check-timeout	0; # default
            fencing         	dont-care; # default
            max-buffers     	2048; # default
            allow-remote-read	yes; # default
            _name           	"hf-kubevirt-03";
        }
        volume 0 {
            disk {
                resync-rate     	250k; # bytes/second, default
                c-plan-ahead    	20; # 1/10 seconds, default
                c-delay-target  	10; # 1/10 seconds, default
                c-fill-target   	100s; # bytes, default
                c-max-rate      	102400k; # bytes/second, default
                c-min-rate      	250k; # bytes/second, default
                bitmap          	no;
            }
        }
    }
}

nodePublishVolume: add check:
if volume has type: Block and accessMode: ReadWriteMany;
if it is already InUse at one other node;
then enable allow-two-primaries flag

nodeUnpublishVolume:
if allow-two-primaries is set;
then remove allow-two-primaries flag

I'd probably put it in controllerPublishVolume/controllerUnpublishVolume. Reason being that I don't want to make any unnecessary API requests from the node agents (ideally, they wouldn't need to talk to linstor at all, but we are not there yet, I think)


[WIP] Migrate to Hardhat

This pull request was created to migrate a het-escrow repository from Ganache to Hardhat. Tests were rewritten and config files changed.
Todo

[ ] Job launcher server should use the compiled contract interfaces from the parent repository.
[ ] Job launcher server should use hardhen along with ganache.
[ ] Job launcher client must have an eslint implementation.

TODO
-[ ] Remove WIP marker
-[ ] restore python tests
-[ ] remove checked in json files
-[ ] Redeploy testing escrowfactories

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.2 out of 3 committers have signed the CLA.:white_check_mark: eugenvoronov:white_check_mark: m00n620:x: leric7You have signed the CLA already but the status is still pending? Let us recheck it.


Update system requirements of CONTRIBUTING documents

Pull Request Description
Older versions of Powershell (5.x) do not support running the run command, so you need to replace it with a higher version of Powershell (7.x) or use cmd
Important Notes

Checklist
Please include the following checklist in your PR:

[x] The documentation has been updated if necessary.
[ ] All code conforms to the
Scala,
Java,
and
Rust
style guides.
All code has been tested:

[ ] Unit tests have been written where possible.
[ ] If GUI codebase was changed: Enso GUI was tested when built using BOTH
./run ide build and ./run ide watch.

 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.


Limit number of array items in BlobsBundleV1 to MAX_BLOBS_PER_BLOCK

See consensus specs :

https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/beacon-chain.md

This might be a bit redundant given that the MAX_DATA_GAS_PER_BLOCK block validity condition already asserts this.

There may be at most MAX_DATA_GAS_PER_BLOCK // DATA_GAS_PER_BLOB total blob commitments in a valid block.

yes you are right @Inphi ! may be we also remove MAX_BLOBS_PER_BLOCK from consensus specs and not have independent variables lying around. (so consensus-specs (and configs/presets) also use the same reference MAX_DATA_GAS_PER_BLOCK // DATA_GAS_PER_BLOB)

It does seem to me that we should increase MAX_BLOBS_PER_BLOCK up to a sane but large enough number that would allow us to effectively limit a number of blobs on EL side without any changes to CL configuration.

yes you are right @Inphi ! may be we also remove MAX_BLOBS_PER_BLOCK from consensus specs and not have independent variables lying around. (so consensus-specs (and configs/presets) also use the same reference MAX_DATA_GAS_PER_BLOCK // DATA_GAS_PER_BLOB)

It does seem to me that we should increase MAX_BLOBS_PER_BLOCK up to a sane but large enough number that would allow us to effectively limit a number of blobs on EL side without any changes to CL configuration.

makes sense to me if we plan to keep raising the data gas limit which we will, fixed high static limit is good for the CLs as well as for making EL checks
How about 128? or 1024, effectively sharding limit

@mkalinin @Inphi
do you think this clarification still makes sense for number of items to be <= MAX_BLOBS_PER_BLOCK or should this PR be closed?

It's confusing to note that the limit here should be 1024 whereas in reality it'll always be MAX_BLOBS_PER_BLOCK. Setting this to 1024 also makes execution-apis kinda dependent on the CL. Maybe that's fine given that execution APIs is sorta inbetween. But overall I'm weakly for closing this PR.

Specifying this limitation in the terms used by EL, i.e. MAX_DATA_GAS_PER_BLOCK / DATA_GAS_PER_BLOB makes more sense to me in this case.
The question is whether we want to specify it at all? I can find it useful if we plan to check this in Hive, having a statement in the spec helps to avoid missing a check for it. cc @marioevz

the reason i find it useful is for the EL: it has to be technically min of (MAX_DATA_GAS_PER_BLOCK / DATA_GAS_PER_BLOB,MAX_BLOBS_PER_BLOCK)
since MAX_DATA_GAS_PER_BLOCK / DATA_GAS_PER_BLOB is already well defined check for the EL, but MAX_BLOBS_PER_BLOCK doesn't find a mention in any EL related docs
And we actually do not mention a value for it just a reminder for the api to be aware of this, will remove it from description

used

I think it will work, but EL will anyway need to track: MAX_BLOBS_PER_BLOCK as a hardfork param (like how it tracks MAX_DATA_GAS_PER_BLOCK etc) and asset while validating the block
So then here we wouldn't need to refer to MAX_BLOBS_PER_BLOCK but this constant should then find reference in the EIP itself in the block validity section

@ppopth @g11tech what's the status of this PR? There are two checks proposed:
i. Arrays are of the same length.
ii. The length is limited by MAX_BLOBS_PER_BLOCK .
From my perspective we should keep (i) and remove (ii) as EL limits a number of blobs by the data gas limitation and CL enforces this check on block processing and before sending a block and blobs to the wire.

@ppopth @g11tech what's the status of this PR? There are two checks proposed: i. Arrays are of the same length. ii. The length is limited by MAX_BLOBS_PER_BLOCK .
From my perspective we should keep (i) and remove (ii) as EL limits a number of blobs by the data gas limitation and CL enforces this check on block processing and before sending a block and blobs to the wire.

ok sounds good to me to retain i) and let CL handle MAX_BLOBS_PER_BLOCK


Logfile not created. Ubuntu 18.04

Hi,
the logfile is never created on a clean Ubuntu 18.04 system.
I did set the loglevel even to vvv but nothing...
I have tried creating the file myself and set owner to memcache but still no log..
Installation is done via repository. (apt install memcache)
I have no clue where to look. See no error in syslog and service is running (as in listening on the port given)
here is my conf
# 2003 - Jay Bonci<EMAIL_ADDRESS># This configuration file is read by the start-memcached script provided as
# part of the Debian GNU/Linux distribution.

# Run memcached as a daemon. This command is implied, and is not needed for the
# daemon to run. See the README.Debian that comes with this package for more
# information.
-d

# Log memcached's output to /var/log/memcached
logfile /var/log/memcached.log

# Be verbose
# -v

# Be even more verbose (print client commands as well)
-vvv

# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default
# Note that the daemon will grow to this size, but does not start out holding this much
# memory
-m 1024

# Default connection port is 11211
-p 11211

# Run the daemon as root. The start-memcached will default to running as root if no
# -u command is present in this config file
-u memcache

# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
-l <IP_ADDRESS>

# Disable UDP
 -U 0

# Limit the number of simultaneous incoming connections. The daemon default is 1024
# -c 1024

# Lock down all paged memory. Consult with the README and homepage before you do this
# -k

# Return error when memory is exhausted (rather than removing items)
# -M

# Maximize core file limit
# -r

# Use a pidfile
-P /var/run/memcached/memcached.pid

Sorry, I'm not sure. There's no actual logfile in memcached, so the init system would have to redirect it to that file. I'd guess the user doesn't have permissions to create it or something.
You should try the mailing list since more people see it.

Hey @Dragao75 ,
I am facing the same issue. Were you able to figure out this.
Thanks!

+1

Alright, I looked into this. The answer is:
journalctl -u memcached.service has your logs and will display them. upping the verbosity to -vvv will show them as well.
Please file a bug with ubuntu asking them to update the comments in memcached.conf and/or remove the logfile statement.
Further discussion:
Under 18.04, memcached service is handled via systemd. In previous versions of ubuntu an init script was used, which uses a start script wrapper located in /usr/share/memcached/scripts/start-memcached
This wrapper parses the conf file for a "logfile=" entry and redirects STDOUT/STDERR to the file as requested.
Under systemd the wrapper has been replaced with: /usr/share/memcached/scripts/systemd-memcached-wrapper which is a cut down version of the original start wrapper. This wrapper completely ignores the logfile entry:
# systemd capture stdout by default
my $ignore_directives = ("logfile");

... because systemd is god now, I guess.

Thanks @dormando

I use https://code.google.com/archive/p/memcache-top/downloads along with journalctl -u memcached.service. Give me a better understanding of whats going on in the server.

Same problem here. Very annoying.
In the meanwhile I can use:
journalctl -f -u memcached.service

Same problem here. Very annoying.
In the meanwhile I can use:
journalctl -f -u memcached.service


production build including all js and multiple file , but in production build , it should have minimum file and minified files.  and also ng build -prod not working .. it very big issue with production ..  this should be first priority

Please provide us with the following information:

OS?  Windows 7, 8 or 10. Linux (which distribution). Mac OSX (Yosemite? El Capitan?)

Versions. Please run ng --version. If there's nothing outputted, please
run in a Terminal:
node --version
And paste the result here.

Repro steps. Was this an app that wasn't created using the CLI? What change did you
do on your code? etc.

The log given by the failure. Normally this include a stack trace and some
more information.

Mention any other details that might be useful.

Thanks! We'll be in touch soon.

You should consider changing the title to something shorter.
My sugestion:

ng build -prod not working or generating unnecessary files

@kamleshKumarVerma I'm not really sure what you mean. Currently prod mode will bundle and minify files, as of beta.5. Is that not what you are experiencing?
If it is not working for you, can you provide me with reproduction steps so I can try and debug the issue?

in package.json
change dependency systemjs from
"systemjs": "0.19.26"
to
"systemjs": "0.19.29"
and then npm install
Angular cli should release a new version and change the dependencies in package.json to the latest or just tell users to do this in README.md or more issues like this will pop up.

@thunderrun what is that change meant to fix?

having the same issue, and tried the fix as posted by @thunderrun, but unfortunately it didn't work.
Any time I add -prod to either ng build or ng serve, nothing loads in the app. There are no errors in console either. Here is a look at the network screen: https://gyazo.com/91eb02e1c84a9580fc8e1d0af8fc12e3
without the prod flag, everything works fine.

@filipesilva
systemjs in angular-cli beta.5 packages.json is still 0.19.26
which cause production builds fail when i add 3rd part libs  #839
so i changed systemjs to the latest version and seems it just works for me...

@thunderrun systemjs-builder has a dependency on a later version of systemjs so I don't think it changes much. I'll investigate though, maybe something got fixed there.
@hellsan631 see https://github.com/angular/angular-cli/issues/951 for that problem.

Closing as I can't get an answer back from the original poster. @kamleshKumarVerma if you're still having trouble reply here so I can reopen the issue.


Add check version for of requester message

Fix: #237
For any received command (except GET_VERSION),
the responder should check if the command uses the negotiated version.
Signed-off-by: Wenxing Hou<EMAIL_ADDRESS>

Please read my comment in issue carefully.
Special cases:
spdm_get_response_version: 1.0 should be used.
spdm_get_response_capabilities(): the spdm_version should be set to spdm_context->connection_info.version.

I think it should fail with this patch, because the patch checks version in spdm_get_response_capabilities(), which is wrong.

looks good now.


$path() is not a function

I tried to use as the example -which is Event example-
shows but i got the error

$path() is not a function

any ideas ?

Can you share the code you are using as well as the version of the tree control?


refactor(Picasso): update Picasso for supporting MUIv4 and v5 providers

FX-2744
Description

To be able to migrate gradually, we decided to keep both MUIv4 and MUIv5 style and theme providers at the same time.
I created a separate configs folder for theming of MUIv5.

How to test

there shouldn't be any differences except package size for Picasso clients

Screenshots
there shouldn't be any visual changes
Development checks

[ ] Add changeset according to guidelines (if needed)
Read CONTRIBUTING.md and Component API principles
Annotate all props in component with documentation
Create examples for component
[ ] Ensure that deployed demo has expected results and good examples
Ensure the changed/created components have not caused accessibility issues. How to use accessibility plugin in storybook.
[ ] Self reviewed
Covered with tests

Breaking change

codemod is created and showcased in the changeset
test alpha package of Picasso in StaffPortal

PR commands

List of available commands:

@toptal-bot run all - Run whole pipeline
@toptal-bot run build - Check build
@toptal-bot run deploy:documentation - Deploy documentation
@toptal-bot run package:alpha-release - Release alpha version

PR Review Guidelines

When to approve? ✅
You are OK with merging this PR and

You have no extra requests.
You have optional requests.

Add nit: to your comment. (ex. nit: I'd rename this variable from makeCircle to getCircle)

When to request changes? ❌
You are not OK with merging this PR because

Something is broken after the changes.
Acceptance criteria is not reached.
Code is dirty.

When to comment (neither ✅ nor ❌)
You want your comments to be addressed before merging this PR in cases like:

There are leftovers like unnecessary logs, comments, etc.
You have an opinionated comment regarding the code that requires a discussion.
You have questions.

How to handle the comments?

An owner of a comment is the only one who can resolve it.
An owner of a comment must resolve it when it's addressed.
A PR owner must reply with ✅ when a comment is addressed.

@toptal-bot run package:alpha-release


openshift documentation - securitycontextcontraints

When deploying cilium on openshift, the docs only mention SCC's for the cilium test but can't seem to find requirements for the operator and cilium workloads themselves.
https://docs.cilium.io/en/stable/gettingstarted/k8s-install-openshift-okd/
When deploying hubble, the relay throws this error on startup which I assume is due to elevated privileges required on the node. I've already granted the hostaccess scc to the hubble relay service account which at least allowed the pods to startup (does not out of box) but the container still exits with this message. I am using CNI chaining with openshift-sdn (generic veth).
Error: failed to start gops agent: open /1: permission denied

Thanks in advance!

PR #18620 has been merged and backported to the v1.10 and v1.11 branches of Cilium and available with Cilium v1.10.11+ and v1.11.5+ as well as the upcoming v1.12 release.


Total balance is not correct.

Description
Sats balance in the Android app doesn't match what is actually in my node.  It is showing almost 2,000,000 sats higher.

Expected Behavior
Total sats should match.
Actual Behavior
Doesn't match.
Possible Fix

Steps to Reproduce

Context

Your Environment

Zap version: 0.4.0-beta
Android version: 11
Device: Samsung Note 10 Plus
LND Version: 0.11.1-beta

This was my mistake.  RTL doesn't count offline channels in the Balances section.  Had to add those channel balances manually and it does match Zap.


Unable to select Microsoft Azure Directory ID

I created the service as outlined in "Set up a QnA Maker Service". When I login to qnamaker.ai, choose "create new kb", the dropdown for "Microsoft Azure Directory ID" is blank. No matter what I do I cannot get it to populate.
What am I missing?

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

ID: e1e4b8ec-6a23-bd20-b511-9c9861259a72
Version Independent ID: d9b5ffa8-1dc1-07d5-954a-05c1b99946f1
Content: Quickstart on creating a KB - QnA Maker - Azure Cognitive Services - Azure
Content Source: articles/cognitive-services/QnAMaker/Quickstarts/create-publish-knowledge-base.md
Service: cognitive-services
Product: unspecified
GitHub Login: @nstulasi
Microsoft Alias: saneppal

@SeaDude Thanks for your feedback! We will investigate and update as appropriate.

Had to login and logout of qnamaker.ai to get a tenant option to display.


SWARM-1359 - Handle YAML-based artifact deployments.

Motivation
If we don't have a main(), how do you deploy a random dependency
via GAV, such as xadisk.rar?
Modifications
Support:
swarm:
  deployment:
    some.groupId:artifactId.ext:

Additionally, if one of those things happens to be a .rar,
go ahead and include it in the dependencies (via jboss-modules)
for any non-.rar deployment that follows.
Result
Supports more use-cases without main().

[X] Have you followed the guidelines in our Contributing document?
[X] Have you created a JIRA and used it in the commit message?
[X] Have you checked to ensure there aren't other open Pull Requests for the same issue?
[X] Have you built the project locally prior to submission with mvn clean install?

retest this please

retest this please

retest this please


thread-start

the threads of the servers have to be started manually, but this should be part of the init-methods.

When a client is only to send and not to receive messages, the socket should be allowed without thread.

When a client is only to send and not to receive messages, the socket should be allowed without thread.


Check if preprocessor and parser are identical

Resolves https://github.com/syberia/director/issues/49

Coverage increased (+0.09%) to 95.628% when pulling cc17d208f6f2c81fd146ba06a6a2a7b284ff1901 on check_if_preprocessor_and_parser_are_identical into 8a5d2a88757cbeb8cd9165e58f64858100167d5f on master.

👍


Missing @types/node

After running yarn create capri my-app -e react, vite.config.ts will use process yet @types/node is not installed, making TypeScript unhappy. It should be added as dev dependency to the package.json to fix this issue.
I couldn't figure how to send a PR for that though because I didn't find where the template projects are defined?

Oh yes, thanks for reporting it! I went a different route and removed the base setting (and process.env) from vite.config.ts altogether, as it was only used for the GitHub pages deployment of the examples. BTW, the code for the examples that is used by create-capri lives in https://github.com/capri-js/capri/tree/next/examples


Feature: set goals

Add the possibility to set goals like "work during 25 minutes/day"

Worked on #25


Format files command in Helm

Hi,
I would like to ask if there are any plans to add some format command to helm.
It would be great if there would be possibility to format yaml or tpl files by executing single helm command for a specific chart.
I think it could be similar to a Terraform fmt command.
Please let me know if there are some plans or maybe there is some plugin to helm to do that.
ps.
Thanks for great work with Helm tool :)

I do not believe there is a specification that describes how a text/template should be formatted. Given that text/template substitutes variables as input, whitespace and indentation is important, so any re-formatting of a template could cause a change in the output.


Test use gifs and stickers review

Hi Jorge,
I added a h3 (test).
Thanks!
Fabio Morais

[TEST] Hey Fabio, looks good to me. Could you please merge the changes into develop? Thanks.


Code style adjustment

Changed setAmount and getAmount to use a variable
Removed unused functions
Simplified maskHandler init

@willwfsp

@willwfsp Changes requested are done.


Adding New Project

Addresses #1721

@Vishwanath26 Looks like your branch is not upto date with the upstream, please rebase and resolve the conflict :)

@Vishwanath26 you need not close this PR

Thank You @sara-02 for helping me,Thanks A Lot !


Fix OwnerReferences for Init Objects

The move from having init objects created by StorageClusterInitialization to StorageCluster #244 caused a regression in the ownership references.
Because of a error in how the owner references were being set, that #244 change resulted no owner references actually being set on those objects at all.
The error was a result of how golang renders objects while iterating over a slice.
Performing something like this doesn't actually work because the obj in this case is a copy instead of the actual object from the slice.  Basically we're setting an owner reference on an object that immediately get's thrown away.
objs := []somestruct{}
for _, obj := range objs {
    setOwnerRef(&obj)
}

The solution is convert these slices to a slice of pointers. The pseudo code below will actually result in the owner references being applied to the entries in the slice.
objs := []*somestruct{}
for _, obj := range objs {
    setOwnerRef(obj)
}

This is a tricky thing to catch during review. I added unit tests to make sure owner references get applied to these objects now.

/cc @jarrpa @obnoxxx
Owner references weren't being applied after my StorageClusterInit change got merged. I made a logic mistake that was super tricky to catch without validation.  We weren't validating owner references exist in our unit/functional tests, so it went unnoticed :(
The cluster should still come online without this fix, but the init objects lack ownership.


feat: Update the about page to include a brief history of the project.

Description
I included a brief history of the project in the /about section of the website.
Screenshot showcasing this:

Issues Resolved
Addresses a point mentioned in https://github.com/valkey-io/valkey-website/issues/13.

Content: About Page (/about/) MVP: 1 paragraph that describes the history of the project

Check List

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the BSD-3-Clause License.

 Sorry it took me so long - was swamped with homework.

Congrats @Laphatize! Glad to have you as a contributor.


⚠ Spryr has degraded performance

In 481effc, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 503
Response time: 3860 ms

Resolved: Spryr performance has improved in 63052d0 after 7 minutes.


IRC and voice

Hi,
Some IRC channels use the "voice" feature. When users join the channel, Chanserv gives them voice. For instance:

perberos<EMAIL_ADDRESS>has joined #pimpmymint
ChanServ gives voice to perberos

This happens automatically and for everybody (whether their nickname is registered with Nickserv or not).
When somebody spams or behave badly, rather than kicking/banning him, the operators can simply devoice him. When that happens, the user can continue to speak normally but nobody sees what he writes.
The Github IRC bot connects successfully, but immediately outputs its message.
As a result, it hasn't been voiced yet by Chanserv and nobody sees the message.
From a human perception, the voice is given almost "immediately" so that's not an issue with human users. For a bot though, it's just not immediate enough.
This is what happens:

GitHub82<EMAIL_ADDRESS>has joined #pimpmymint
GitHub82<EMAIL_ADDRESS>has left #pimpmymint

I would recommend to add a new option, to implement a number of number of seconds or milliseconds that the bot waits after the join and prior to sending the message to the channel.
I hope this will be implemented. Thanks for your attention.
You can use our own channel for this if you want, we're on irc.spotchat.org and our channel is #pimpmymint. Our ops are aware that tests are ongoing with github.
Thanks.
Clement Lefebvre
Linux Mint.

I could be mistaken, but this only matters if the channel mode +m is set?
Otherwise you would need no voice to be able to send a message to the channel.
If it's possible to check the channel modes, then in the case of +m simply wait till you get +v (or quit after a timeout).


Blog Pages

There are any plans to add blog pages ? For example, a section of last 5 most recent blog posts in the home page, an additional page for all blog posts and blog post detail page?

At the moment no, but it's something we could look into for a future version.

how can i change the css code ??? when im updatind it in styles.css it's not working

how can i change the css code ??? when im updatind it in styles.css it's not working

You need to change the scss code , not the css code. css is regenerated an every build from the scss.

I don't think we are going to move into multi-page layouts for this theme at the moment, so I am closing this for now.


TextEdit line number affects materials with 'Use As Albedo' option

Godot version:
0b555fc70af3c717665934c95070aa6aa481679f
also works with the Godot_v3.1-stable_win64
OS/device including version:
Windows 7 x64
Issue description:
A TextEdit node being rendered to a texture from a Viewport will affect the colour of ALL materials in the scene that have enabled 'Use as Albedo' option, if that TextEdit node has the 'Show Line Numbers' option enabled.

Steps to reproduce:
Add a TextEdit node that enables 'Syntax Highlighting' and 'Show Line Numbers', then render to a texture.
Add another object with a material that has 'Use As Albedo' enabled.
Minimal reproduction project:
materrortest.zip

Another small but relevant observation:
The color of the cube in this example is always the color of the last character rendered in the TextEdit.
For example in the current example with text
Foo = 0
Bar = 1

the numbers are rendered in orange. However, when I change the text to
Foo = 0
Bar = "test"

the string is rendered in gray and the cube is likewise rendered in gray.

the bug seems to actually happen based on the font colour. setting 'Font Colour' under 'Custom Colors' seems to be what it's tied to.
the bug always happens. it's just that by default the text is a grey that subtley affects the materials. gah!


CurlStringFile: Object of class CURLStringFile could not be converted to string

What is the expected behavior?
No errors when uploading a CurlStringFile
What is the actual behavior?
Errors are triggerred unless a normal file is added to the upload as wel
What steps will reproduce the problem?
Code:

$curl->post('/endpoint', [
'a' => new CurlStringFile('data','name','mime');
]);

Fixed. Thanks!


[Android] Randomize the downloaded bundle filename

This PR randomizes the cached filename for JS bundle downloads. It's necessary to avoid collisions if multiple bundles are in use by the same app.
I've been working to productionize an implementation of the WebWorkers API for React Native and I've found these changes necessary to prevent a race condition in the local bundle cache.
Test Plan
This code is working in my local, WebWorker-enabled apps, and does not regress the ability to start and remotely debug the react-native init boilerplate app on Android.

Thanks for the PR, looks good.
@shergin Do you think this could break anything internally at fb?

@janicduplessis @shergin — is there anything preventing you from merging this PR?

Actually this change only affects dev mode so it should be safe.
@facebook-github-bot shipit

Can this cause a polltion the app's data directory by many outdated files?

@shergin Good point, I think it will.
@jamesreggio Would it work if we add mJSAppBundleName instead of a random number?


Pylance

Type: Feature Request
Não consigo usar bibliotecas que instalo porque o pylance não deixa, não consigo resolver
VS Code version: Code 1.77.3 (704ed70d4fd1c6bd6342c436f1ede30d1cff4710, 2023-04-12T09:16:02.548Z)
OS version: Windows_NT x64 10.0.22621
Modes:
Sandboxed: No

@Helder-Velez
It appears that this issue might be best addressed by Pylance owners. You can open an issue here to engage with that team https://github.com/microsoft/pylance-release/issues


Add missing checks to tests

https://github.com/firecow/gitlab-ci-local/pull/448 changed what written to stderr, and so removed the following line from all of the tests expect(writeStreams.stderrLines).toEqual([]);. But, some tests had this line as the only check. So, now there are some tests which basically test nothing.
For example, if you do the following change and you will see that artifacts-exclude still pass:
--- a/tests/test-cases/artifacts-exclude/.gitlab-ci.yml
+++ b/tests/test-cases/artifacts-exclude/.gitlab-ci.yml
@@ -30,8 +30,4 @@ consume-artifacts:
   dependencies: [produce-artifacts]
   script:
     - ls -laR .
-    - '[ -e "ux" ]'
-    - '[ -e "foo/qux/qu" ]'
-    - '[ -e "foo/qux/qu ux" ]'
-    - '[ ! -e foo/bar ]'
-    - '[ ! -e foo/d ]'
+    - '[ ! -e "ux" ]'
+    - '[ ! -e "foo/qux/qu" ]'
+    - '[ ! -e "foo/qux/qu ux" ]'
+    - '[ -e foo/bar ]'
+    - '[ -e foo/d ]'

BTW, I did not seem to get your invite