Declare a variable dynamically in one file that is available in next file

Hello,
I'm working at the moment on a big backend repository which contains many applications manifests (app1.yml ... appN.yml).
They have their config externalized in a common config.yml.
I want to add various labels/annotations on all apps, and to be sure they are all set correctly I use an overlay.yml to set them.
My problem is that I don't want to split config.yml files into several config files per application but I need the overlay.yml to be aware of which app the ytt is invoked. I come up with the idea below but I would prefer to be able to declare the app var directly in app1.yml ... appN.yml to avoid to add an extra var to the command lines and those ugly if in overlay.yml. Do you have any ideas how/if this is possible? I tried add a new variable in appN.yml files with and without "data" values unsuccessful.
Here is my working workaround (with files shorten and simplified):
generation with:
ytt -f config.yml -f app1.yml -f overlay.yml -v app=app1
ytt -f config.yml -f app2.yml -f overlay.yml -v app=app2
config.yml
#@data/values
---
common:
  env: "12345" #! filled dynamically via preliminar envsubst envvar substitution
  #! etc.

app1:
  name: app1_name
  #! etc.

app2:
  name: app2_name
  #! etc.

#! appN:
#! etc.

app1.yml
#@ load("@ytt:data", "data")
---
kind: Deployment
metadata:
  name: #@ data.values.app1.name
spec:
#! etc.

app2.yml
#@ load("@ytt:data", "data")
---
kind: Deployment
metadata:
  name: #@ data.values.app2.name
spec:
#! etc.

overlay.yml
#@ load("@ytt:data", "data")
#@ load("@ytt:overlay", "overlay")
#@ load("@ytt:regexp", "regexp")

#@ def metadata(app):
labels:
  #@ if app == "app1":
  app.kubernetes.io/component: app1
  #@ name=data.values.app1.name

  #@ elif app == "app2":
  app.kubernetes.io/component: app2
  #@ name=data.values.app2.name
  #@ end

  app: #@ name
  app.kubernetes.io/name: #@ name
  app.kubernetes.io/instance: #@ name

  #@ if regexp.match("[0-9]+", data.values.common.env):
  #@ env="feature-"+data.values.common.env
  #@ else:
  #@ env=data.values.common.env
  #@ end
  env: #@ env
  app.kubernetes.io/part-of: company-backend

annotations:
  a8r.io/repository: "https://bitbucket.org/company/company_backend/"
#@ end

#@overlay/match by=overlay.all, expects="0+"
---
#@overlay/match-child-defaults missing_ok=True
metadata: #@ metadata(data.values.app)
...

#!overlay/match by=overlay.map_key("kind"), expects="0+"
#@overlay/match by=lambda _, l, r: l["kind"] in ('Deployment', 'Job'), expects="0+"
---
#@overlay/match-child-defaults missing_ok=True
spec:
  template:
    metadata: #@ metadata(data.values.app)
...

which result in:
$ ytt -f config.yml -f app1.yml -f overlay.yml -v app=app1
kind: Deployment
metadata:
  name: app1_name
  labels:
    app.kubernetes.io/component: app1
    app: app1_name
    app.kubernetes.io/name: app1_name
    app.kubernetes.io/instance: app1_name
    env: feature-12345
    app.kubernetes.io/part-of: company-backend
  annotations:
    a8r.io/repository: https://bitbucket.org/company/company_backend/
spec:
  template:
    metadata:
      labels:
        app.kubernetes.io/component: app1
        app: app1_name
        app.kubernetes.io/name: app1_name
        app.kubernetes.io/instance: app1_name
        env: feature-12345
        app.kubernetes.io/part-of: company-backend
      annotations:
        a8r.io/repository: https://bitbucket.org/company/company_backend/

$ ytt -f config.yml -f app2.yml -f overlay.yml -v app=app2
kind: Deployment
metadata:
  name: app2_name
  labels:
    app.kubernetes.io/component: app2
    app: app2_name
    app.kubernetes.io/name: app2_name
    app.kubernetes.io/instance: app2_name
    env: feature-12345
    app.kubernetes.io/part-of: company-backend
  annotations:
    a8r.io/repository: https://bitbucket.org/company/company_backend/
spec:
  template:
    metadata:
      labels:
        app.kubernetes.io/component: app2
        app: app2_name
        app.kubernetes.io/name: app2_name
        app.kubernetes.io/instance: app2_name
        env: feature-12345
        app.kubernetes.io/part-of: company-backend
      annotations:
        a8r.io/repository: https://bitbucket.org/company/company_backend/

As a first iteration, we can absorb the if statement but using the bracket notation for accessing the app's data values:
#@ load("@ytt:data", "data")
#@ load("@ytt:overlay", "overlay")
#@ load("@ytt:regexp", "regexp")

#@ def metadata(app):
labels:
  app.kubernetes.io/component: #@ app
  #@ name=data.values[app].name

  app: #@ name
  app.kubernetes.io/name: #@ name
  app.kubernetes.io/instance: #@ name

  #@ if regexp.match("[0-9]+", data.values.common.env):
  #@ env="feature-"+data.values.common.env
  #@ else:
  #@ env=data.values.common.env
  #@ end
  env: #@ env
  app.kubernetes.io/part-of: company-backend

annotations:
  a8r.io/repository: "https://bitbucket.org/company/company_backend/"
#@ end

#@overlay/match by=overlay.all, expects="0+"
---
#@overlay/match-child-defaults missing_ok=True
metadata: #@ metadata(data.values.app)
...

#!overlay/match by=overlay.map_key("kind"), expects="0+"
#@overlay/match by=lambda _, l, r: l["kind"] in ('Deployment', 'Job'), expects="0+"
---
#@overlay/match-child-defaults missing_ok=True
spec:
  template:
    metadata: #@ metadata(data.values.app)
...

But, I presume you might want to generate all manifests for all your applications in one ytt invocation.
Further, I presume that you might have a different set of manifests for each application. And even different content for the Deployment for each application.
If that's true, ...
One approach would be to:

capture each application as a ytt library.
capture the metadata overlays as a function, so that we can a) apply it multiple times, b) configure it with the specific values we want it to use each time we apply it, c) control which files are affected.
loop over the set of libraries, one at a time, applying a customized version of the overlay on each (i.e. with their individual data values.

I could look something like this:
├── _ytt_lib
│   ├── app1
│   │   └── deployment.yml
│   └── app2
│       └── deployment.yml
├── apps.yml
├── config.yml
└── overlay.lib.yml

where:

config.yml is unchanged
app1.yml got renamed to _ytt_lib/app1/deployment.yml and slightly adjusted
app2.yml got renamed to _ytt_lib/app2/deployment.yml with the same edit
overlay.yml got renamed to overlay.lib.yml and wrapped in a function
apps.yml pulls it all together

By creating this structure underneath a _ytt_lib directory, we are declaring a pair of libraries.
When we declare a library, it gets its own data values. So, when we look at the app1 and app2 libraries, they reference data values they expect for themselves:
#! _ytt_lib/app1/deployment.yml

#@ load("@ytt:data", "data")
---
kind: Deployment
metadata:
  name: #@ data.values.name
spec:
#! etc.

app1 library does not need to know about any other data values other than data.values.app1.
so when when we write templates inside the app1 library, we'll assume the data values for that library has the same shape as they appear in the root library's data values (i.e. config.yml).
so, instead of data.values.app1.name, the app1 library will assume it's own data values will be the section underneath data.values.app1... and it can then just simply refer to data.values.name.

#! _ytt_lib/app2/deployment.yml

#@ load("@ytt:data", "data")
---
kind: Deployment
metadata:
  name: #@ data.values.name
spec:
#! etc.

app2 library makes the same assumption about its data values.
I suspect that _ytt_lib/app1/deployment.yml and _ytt_lib/app2/deployment.yml are identical only because we've reduced this example to the bare minimum... that likely these two files have lots of differences.

#! overlay.lib.yml

#@ load("@ytt:overlay", "overlay")
#@ load("@ytt:regexp", "regexp")
#@ load("@ytt:data", "data")

#@ def metadata(app):
labels:
  app.kubernetes.io/component: #@ app
  #@ name=data.values[app].name

  app: #@ name
  app.kubernetes.io/name: #@ name
  app.kubernetes.io/instance: #@ name

  #@ if regexp.match("[0-9]+", data.values.common.env):
  #@ env="feature-"+data.values.common.env
  #@ else:
  #@ env=data.values.common.env
  #@ end
  env: #@ env
  app.kubernetes.io/part-of: company-backend

annotations:
  a8r.io/repository: "https://bitbucket.org/company/company_backend/"
#@ end

#@ def metadata_overlay(app):
#@overlay/match by=overlay.all, expects="0+"
---
#@overlay/match-child-defaults missing_ok=True
metadata: #@ metadata(app)
...

#!overlay/match by=overlay.map_key("kind"), expects="0+"
#@overlay/match by=lambda _, l, r: l["kind"] in ('Deployment', 'Job'), expects="0+"
---
#@overlay/match-child-defaults missing_ok=True
spec:
  template:
    metadata: #@ metadata(app)
#@ end
...

a file that has the .lib.yml extension is called a "loadable module". It does not contribute to the output. Rather, it defines one or more variables/functions that can be load()ed and used in templates. See load() for details.
we've wrapped both the overlays in the function metadata_overlay().
this function takes the name of the application and customizes the overlay based on that argument rather than a data value.

#! apps.yml

#@ load("@ytt:data", "data")
#@ load("@ytt:library", "library")
#@ load("@ytt:overlay", "overlay")
#@ load("overlay.lib.yml", "metadata_overlay")
#@ load("@ytt:template", "template")

#@ for app_id in ["app1", "app2"]:
#@   app = library.get(app_id)
#@   app_with_dvs = app.with_data_values(data.values[app_id])
#@   app_raw_output = app_with_dvs.eval()
#@   app_with_metadata = overlay.apply(app_raw_output, metadata_overlay(app_id))
--- #@ template.replace(app_with_metadata)
#@ end

this new file loads and integrates the output of all the ytt libraries we've defined above (one for each app)

load a library of the same id as the app
we set data values for that library to be just the application's section (e.g. app1:...) of the root library's data values (config.yml)
we evaluate that library which means rendering all of its templates, given its data values into a document set.
we create a copy of the metadata overlay, customized for this app, and overlay that document set with it.
we render that result into our root library's output, by first creating a document (that's what the --- literal is: an empty document), and then replacing that with the document set we just created (see template.replace())

...
Please let us know whether this works for you (or not). We'd love to hear more details about what you're up to: please share as much as you can. This way we can offer advice that's fitting for your situation.
In case you don't know, we do have a Slack channel on the Kubernetes workspace.  Find us a #carvel.

Hello @pivotaljohn, sorry for the lack of news. I was experimenting with an easier repo before going back to work on that one. I haven't finished yet but I've fixed all my blockers. Thanks a lot for that detailed answer that make me consider lib.
During implementation I discovered new blockers:

labels on resources and on selector aren't the same (e.g. on a Service/Deployment, selector must be immutable so version label must be removed on those ones)
some labels aren't needed for k8s resources shared (e.g. serviceAccount, roleBinding)
I had Cronjob/Ingress generated by looping on array, so to label each resource separately inside this loop from external overlay like my first idea was a headache
Common labels and specifics annotations on some resources (e.g. annotations for cert-manager on Ingress, annotations for datadog open-metric scraping on Pod)

I found a nice approach imo and rather easy to read by using:

lib with an overlay function that took many parameters (solve the ugly "if" problem, and the variable scope problem)
overlay.apply() to call the overlay inside my k8s resources and to merge common labels with built labels from above overlay function
template.replace() to add annotations after existing ones in the yml doc

Here is an extract that illustrate my solution.
To run with ytt -f config.yml -f ytt.lib.yml -f app1.yml
config.yml (envvar replaced via envsubst call prior to ytt call)
#@data/values
---
acme:
  dnsMode: true #! if false = httpMode

config:
  namespace: ${NAMESPACE}
  appName: company-frontend-app-${ENV_ID}
  component: frontend
  labels:
    env: "${ENV_ID_LONG}"
    app: "company-frontend"
    app.kubernetes.io/version: "${IMAGE_NAME}"

ytt.lib.yml
#@ load("@ytt:data", "data")

#@ def labels(name, component, instance, env_specific=True, selector=False):
#@overlay/match missing_ok=True
app.kubernetes.io/component: #@ component
#@overlay/match missing_ok=True
app: #@ name
#@overlay/match missing_ok=True
app.kubernetes.io/name: #@ name

#@ if env_specific:
#@overlay/match missing_ok=True
app.kubernetes.io/instance: #@ instance
#@ else:
#@overlay/remove
env:
#@ end

#@ if (not env_specific) or selector:
#@overlay/remove
app.kubernetes.io/version:
#@ end

#@overlay/match missing_ok=True
app.kubernetes.io/part-of: company-frontend
#@ end

#@ def annotations():
#@overlay/match missing_ok=True
a8r.io/repository: "https://bitbucket.org/company/company_frontend_web/"
#@ end

app1.yml
#@ load("@ytt:data", "data")
#@ load("@ytt:struct", "struct")
#@ load("ytt.lib.yml", "labels", "annotations")
#@ load("@ytt:overlay", "overlay")
#@ load("@ytt:template", "template")

#@ def ingressName(appName):
#@   return appName+"-ingress"
#@ end

#@ name=data.values.config.labels.app
#@ component=data.values.config.component
#@ instance=data.values.config.appName

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: #@ instance
  namespace: #@ data.values.config.namespace
  labels: #@ overlay.apply(data.values.config.labels, labels(name, component, instance))
  annotations: #@ annotations()
spec:
  selector:
    matchLabels: #@ overlay.apply(data.values.config.labels, labels(name, component, instance, selector=True))
#! truncated

---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: #@ ingressName(instance)
  namespace: #@ data.values.config.namespace
  labels: #@ overlay.apply(data.values.config.labels, labels(name, component, instance))
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
    nginx.ingress.kubernetes.io/proxy-body-size: 256m
    #@ if data.values.acme.dnsMode:
    cert-manager.io/cluster-issuer: letsencrypt-production-dns
    #@ else:
    acme.cert-manager.io/http01-edit-in-place: "true"
    cert-manager.io/cluster-issuer: letsencrypt-production
    #@ end
    _: #@ template.replace(annotations())
#! truncated

I think this combination of (overlay library + overlay.apply + template.replace) should really need to be showed on the documentation somehow. This "yml anchor" on steroid approach will solve 90% of my templating needs. For the 10% others, ie. the yml I don't own (e.g. ingress controller, cert-manager) I prefer keep the original yml manifest and add an extra overlay.yml to patch it (keeping the original yml manifest ease the upgrade process).

Oh, yeah, lookin' sweet. 👍🏻
Great use of overlay.apply() for focused edits... alongside the simpler template.replace() when needed.

This "yml anchor" on steroid approach will solve 90% of my templating needs.

That's great to hear.
I agree, this all seems rather readable/maintainable by my eye.

I think this combination of (overlay library + overlay.apply + template.replace) should really need to be showed on the documentation somehow

Couldn't agree more. One of the very next tracks of development we're taking on as a team is developing guides for how to use all this stuff. Heads-up: you're likely to find a section in there that's eerily "inspired" by your example, here. ;)

I prefer keep the original yml manifest and add an extra overlay.yml to patch it (keeping the original yml manifest ease the upgrade process).

Yes, we recommend this approach for exactly the reasons you give.
...
Really enjoying seeing this all come together for you, @damienleger.  🎉
Also we really appreciate the feedback as well. Keep that coming as you run into limits/awkwardness/inspiration.
I'm going to leave this open for now; a space to either decide you're done with this thread or continue the conversation — whichever makes more sense to you.


dist: add binary download for cross compilation

A recent post to the mailing list:
https://groups.google.com/d/msg/golang-nuts/oFIs6Puj0_Q/0_seVYRtOyYJ
suggests we include binary downloads of a cross-compiled toolchain.

It's relatively easy to do, and would benefit people who run build farms. Probably we
should only offer it for the most popular platforms (darwin/linux/windows amd64 only).

Is this still relevant, now that Go cross compilation works without having to do anything special?

Probably not relevant. Most of this bug has been discussing os/user not working without cgo, but that was fixed in #14626 too.
Closing.


chore: Bump Sipi to 3.8.12

Pull Request Checklist
Task Description/Number

related to DEV-3271
PR Type

[x] build/chore: maintenance tasks (no production code change)
[ ] docs: documentation changes (no production code change)
[ ] feat: represents new features
[ ] fix: represents bug fixes
[ ] perf: performance improvements
[ ] refactor: represents production code refactoring
[ ] test: adding or refactoring tests (no production code change)

Basic requirements for bug fixes and features

[ ] Tests for the changes have been added
[ ] Docs have been added / updated

Does this PR introduce a breaking change?

[ ] Yes

Does this PR change client-test-data?

[ ] Yes

thanks!


OPTIONS method is blocked by CORS.

If you make a get request for users information to mock-api from the front end such as React, the request will be sandwiched by the OPTIONS method. However, this request is blocked from the mock-api server side, so I cannot get the user information with 405.
Access to XMLHttpRequest at 'http://localhost:8000/mock/users' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.
※The Get request from Postman does not reproduce the behavior of OPTIONS, so I was able to get the user information normally.
I changed the CORS settings, changed the request method, etc., but these did not allow OPTIONS. I would like to contribute to a server that can tolerate OPTIONS requests.
If you have any further questions for me, feel free to ask!

I was able to resolve these issues. It was caused by flaws in the OPTIONS method and CORS implementation. Therefore, I confirmed that it was solved by adding the following code.
server.go
func loggerMiddleware(next http.Handler) http.Handler {
	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		log.Printf("%v %v", r.Method, r.URL.Path)

		w.Header().Set("Access-Control-Allow-Headers", "*") <- Add
		w.Header().Set("Content-Type", "application/json")
		w.Header().Set("Access-Control-Allow-Origin", "*")

		if r.Method == "OPTIONS" {  <- Add
			w.WriteHeader(200)
			return
		}

		next.ServeHTTP(w, r)
	})
}

users.go
var userMethodsSupported = map[string]bool{
	"OPTIONS": true, <- Add
}

var userScopesByMethod = map[string][]string{
	"OPTIONS": {}, <- Add
}

func (e UsersEndpoint) ServeHTTP(w http.ResponseWriter, r *http.Request) {
	db = r.Context().Value("db").(database.CLIDatabase)

	switch r.Method {
	case http.MethodGet:
		getUsers(w, r)
	case "OPTIONS": <- Add
		getUsers(w, r)
	case http.MethodPut:
		putUsers(w, r)
	default:
		w.WriteHeader(http.StatusMethodNotAllowed)
	}
}

The key was to handle pull-flight requests that couldn't be reproduced with Postman or similar.👍


Function to convert oracle prices

This PR adds functions that help with using different oracles(https://www.stork.network/, https://empiric.network/, etc). These oracles return prices multiplied by 10**18 and converting these prices to the Math64x61 format can sometimes be quite tricky due to errors in overflow etc.
Functions proposed here address this problem and can convert such prices to the desired Match64x61 format. Tests are provided as well.

I see you've decided to rewrite the package to adhere to the OZ extensibility standards. I guess I'll close this PR and open a new one when I'll have made this branch mergeable.


Add support for ordering by nested fields #171

Rebasing @Incanus3's commit from #171.
https://github.com/AltSchool/dynamic-rest/compare/master...Incanus3:feature/ordering-by-related-fields
https://github.com/AltSchool/dynamic-rest/compare/d564cd10437cbd136db68a514481da29fd2a5ae7...master#diff-fbc210b7daea111dceb4ac7cec923baf

@joshvillbrandt - Thanks for putting this PR together. Would you be able to add a quick test as well? It could be added alongside existing sort-related tests in tests/test_api.py.

Hey @ryochiji, thanks for the review! Yeah, I'll respond to the feedback and create a test tomorrow!

Okay @ryochiji, feedback has been addressed and two tests have been added. Let me know what you think!

Ping @ryochiji !


Error running in Kubernetes based on Kops AMI

Running as daemonset in Kubernetes v1.9.6 based on Kops debian stretch AMI.
~$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Pods crashing. Logs:
* Setting up /usr/src links from host
* Unloading falco-probe, if present
rmmod: ERROR: Module falco_probe is not currently loaded
* Running dkms install for falco

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
make -j4 KERNELRELEASE=4.9.0-5-amd64 -C /lib/modules/4.9.0-5-amd64/build M=/var/lib/dkms/falco/0.10.0/build...(bad exit status: 2)
Error! Bad return status for module build on kernel: 4.9.0-5-amd64 (x86_64)
Consult /var/lib/dkms/falco/0.10.0/build/make.log for more information.
* Running dkms build failed, dumping /var/lib/dkms/falco/0.10.0/build/make.log
DKMS make.log for falco-0.10.0 for kernel 4.9.0-5-amd64 (x86_64)
Wed May 30 06:07:29 UTC 2018
make: Entering directory '/host/usr/src/linux-headers-4.9.0-5-amd64'
arch/x86/Makefile:140: CONFIG_X86_X32 enabled but no binutils support
/host/usr/src/linux-headers-4.9.0-5-common/scripts/gcc-version.sh: line 25: gcc-6: command not found
/host/usr/src/linux-headers-4.9.0-5-common/scripts/gcc-version.sh: line 26: gcc-6: command not found
make[2]: gcc-6: Command not found
make[2]: gcc-6: Command not found
make[2]: gcc-6: Command not found
make[2]: gcc-6: Command not found
make[2]: gcc-6: Command not found
make[2]: gcc-6: Command not found
make[2]: gcc-6: Command not found
make[2]: gcc-6: Command not found
make[2]: gcc-6: Command not found
make[2]: gcc-6: Command not found
make[2]: gcc-6: Command not found
make[2]: gcc-6: Command not found
make[2]: gcc-6: Command not found
make[2]: gcc-6: Command not found
  LD      /var/lib/dkms/falco/0.10.0/build/built-in.o
  CC [M]  /var/lib/dkms/falco/0.10.0/build/main.o
/bin/sh: 1: gcc-6: not found
make[3]: *** [/host/usr/src/linux-headers-4.9.0-5-common/scripts/Makefile.build:298: /var/lib/dkms/falco/0.10.0/build/main.o] Error 127
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [/host/usr/src/linux-headers-4.9.0-5-common/Makefile:1510: _module_/var/lib/dkms/falco/0.10.0/build] Error 2
make[1]: *** [Makefile:150: sub-make] Error 2
make: *** [Makefile:8: all] Error 2
make: Leaving directory '/host/usr/src/linux-headers-4.9.0-5-amd64'
* Trying to load a system falco-probe, if present
* Trying to find precompiled falco-probe for 4.9.0-5-amd64
Found kernel config at /host/boot/config-4.9.0-5-amd64
* Trying to download precompiled module from https://s3.amazonaws.com/download.draios.com/stable/sysdig-probe-binaries/falco-probe-0.10.0-x86_64-4.9.0-5-amd64-ee001c6bfb0cedce69a9bb978ba15926.ko
Download failed, consider compiling your own falco-probe and loading it or getting in touch with the sysdig community
Wed May 30 06:07:30 2018: Falco initialized with configuration file /etc/falco/falco.yaml
Wed May 30 06:07:30 2018: Loading rules from file /etc/falco/falco_rules.yaml:
Wed May 30 06:07:30 2018: Loading rules from file /etc/falco/falco_rules.local.yaml:
Wed May 30 06:07:30 2018: Unable to load the driver. Exiting.
Wed May 30 06:07:30 2018: Runtime error: error opening device /host/dev/falco0. Make sure you have root credentials and that the falco-probe module is loaded.. Exiting.

Tried both stable and dev falco image.

Looks like you don't have gcc installed. Can you install it?

@mstemm Shouldn't gcc already be instead in the falco docker image? 🤔


Improve README

A lot of people had troubles with using this HAL because the Cargo features were not set up properly. For example:

https://github.com/stm32-rs/stm32l0xx-hal/issues/118
https://github.com/stm32-rs/stm32l0xx-hal/issues/103

These features were inadequately documented. The first commit of this PR attempts to fix that by documenting how to properly specify a dependency on stm32l0xx-hal (and the available Cargo features).
Additionally, I simplified the toolchain setup docs. The repo still contains helper scripts for flashing and debugging. These scripts are highly dependent on your debug probe (JLink? STLink? Something else?), your toolchain (OpenOCD? JLinkExe? The STLink tool? Cargo Flash?), your OS and your MCU. I do not think they should belong in this repo. Documentation on different setups should probably be moved to the Embedded Rust book. My suggestion would be to remove the helper scripts and the corresponding sections in the README (the README updated by this PR already contains a link to the Embedded Rust book).
If there's a toolchain we should recommend, then in my opinion it should be cargo-flash or cargo-embed (as soon as GDB debugging works reliably). Shoutout to @yatekii @Tiwalun @adamgreig and many others that are working on the probe-rs project.
What do you think, @arkorobotics?

The Readme is long overdue for an update. The improvements you've made in this PR look good. I just want to make sure we capture the issues with flashing the L0 family MCU's with OpenOCD v.0.10.0. I'll look into adding the instructions (removed in this PR) to the Embedded Rust book as the flashing issue can be frustratingly difficult to track down (and it doesn't seem OpenOCD is planning to release the fixed version any time soon).
That said, I'm going to merge this PR. Thanks!

Great, thanks for the quick review @arkorobotics :slightly_smiling_face:


trivial: Replace fatalError() with XCTFail()

This PR replaces fatalError() with XCTFail() in unit tests for Swift.
Very trivial.

Sweet, thanks!


$ anchor in commit_preprocessors not works

Is there an existing issue for this?

[X] I have searched the existing issues

Description of the bug
$ anchor in commit_preprocessors not works
Steps To Reproduce

commit_preprocessors: [{ pattern = ' #\d+$', replace = ""}]
Commit: fix: bug 3. #123

Expected behavior

Expected: - Bug 3.
Got - Bug 3. #123

Screenshots / Logs
No response
Software information

Operating system: macOS 14.5
Rust version: 1.79.0
Project version: 2.4.0

Additional context
No response

Hey, thanks for reporting!
Should be fixed in #872
See #554 for some context (TL;DR: you can use '#\d+\n')


Update epinioteam/epinio-ui-qa:latest on commit/daily basis

Found out that during testing of epinio-ui we are using outdated image epinioteam/epinio-ui-qa:latest which was built a month ago.
Ideally we would need to rebuilt and push the image on every new commit to UI.
Eventally we should be able to build the image directly in our n2n workflows and use it directly for testing - it seems it was prepared for that as CI does checkout of dashboard and ui repos for some reason but the build step is missing there.
Related code.
https://github.com/epinio/epinio-end-to-end-tests/blob/c2b2833a427781ecd7ca0eb58b4088c11e36d254/.github/workflows/master_std_ui.yml#L115
https://github.com/epinio/epinio-end-to-end-tests/blob/main/scripts/patch_epinio-ui.sh

Thanks @thehejik ,
so as we commented offline, probably it is best to use the very latest released version 1.2.0 so we can run the tests with latest additions and disable latest qa image pull until it is fixed

Actually we have this workflow here for building and pushing the image - we just need to fix it.


Create default link and image render hooks

Fixes #11933

To avoid HTML5 validation "info" messages, we would need to remove the slash before the closing >.

To avoid HTML5 validation "info" messages, we would need to remove the slash before the closing >.

That was inserted by the Prettier formatter ... But I'll fix it.

@jmooring this should work;

The templates are almost identical to your proposed versions, I just dropped the "trim trailing slash" variant in GetPage and added that trim to the GetPage implementation.

I just dropped the "trim trailing slash" variant in GetPage and added that trim to the GetPage implementation.

Thanks. That's great.

For the record, I am quite pleased that we can now do this for every site, as needed:
[markup.goldmark.renderhooks.image]
enableDefault = true

[markup.goldmark.renderhooks.link]
enableDefault = true

For those serving sites from a subdirectory (e.g., most GitHub Pages sites) this will be a big help. And if they have images in static, just add:
[[module.mounts]]
source = 'assets'
target = 'assets'

[[module.mounts]]
source = 'static'
target = 'assets'

Thanks!


Hi, can you log in to Discord?

Description of the bug
Hi, can you log in to Discord?
Steps To Reproduce
Hi, can you log in to Discord?

You mean log the nodejs terminal console output to discord? Sorry I don't know.


DRILL-7357: Expose Drill Metastore data through information_schema

Add additional columns to TABLES and COLUMNS tables.
Add PARTITIONS table.
General refactoring to adjust information_schema data retrieval from multiple sources.

Jira - DRILL-7357.

@vvysotskyi please review.

Hello All,
This looks really great.  QQ:  Is there any README or other documentation that would help users understand the capabilities here?  I'd volunteer to put one together if I could get some help.

@cgivre there is no readme in this PR since it's just a part of Drill Metastore work and has no effect until core Metastore work will be committed. I believe once @vvysotskyi opens final PR for Metastore it will include all necessary documentation.

@vvysotskyi thanks for the code review, addressed comments.


Check scipy version on installation

Figure out the oldest version of scipy that's compatible with py-earth and edit setup.py accordingly so that installation requires a sufficiently recent version.  See issue #137.

Fixed by @mehdidc in #144.


SB-555: Create generic CRUD implementation for working with OrientDB

Initial changes. Waiting for review comments.

I finished with SB-555, you could start review process. I will be pleased to receive all review comments in a single message here or by email.

Thanks for your help! :)


Fix styles not being applied to close button in SingleDatePicker

Before this change, the styles defined with react-with-styles weren't properly applied to the close button, which resulted in close button not being displayed for SingleDatePicker.
This change fixes that, by passing the styles as needed (just as done in DateRangePicker, where close button is displayed fine).
To see the problem this PR is fixing, compare the close buttons for DRP (works fine):
http://airbnb.io/react-dates/?selectedKind=DRP - Calendar Props&selectedStory=vertical with full screen portal&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel
...and SDP (close button not showing):
http://airbnb.io/react-dates/?selectedKind=SDP - Calendar Props&selectedStory=vertical with full screen portal&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel

Thanks! Not familiar with your process - do I need to do anything to get it merged? :)

Coverage remained the same at 86.513% when pulling 32d5b354cfd74c8644ffd654fae7da97170490b5 on Cardero-X:fix-close-button-styles-for-single-date-picker into 4b5f557eae4787adaa509c0f37fce80ba3341967 on airbnb:master.

Nope! I'll just do a release later today.


Correct project example of Tuple

Coverage remained the same at 100.0% when pulling 16355e2829e42e6b31373c10be93e16653c93ecc on JacopKane:patch-1 into 098a1d2b36b9a2e758899af7817ed63e28586154 on evilsoft:master.

@evilsoft Sure I would be flattered, thanks. Just pushed that as well. Hopefully, I can add more solid contributions in future.


go/lint: fix govulncheck install

Seeing failures: https://github.com/moov-io/wire/actions/runs/3004051492/attempts/1

Codecov Report
Base: 78.37% // Head: 78.37% // No change to project coverage :thumbsup:

Coverage data is based on head (4696a17) compared to base (d0bce92).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #263   +/-   ##
=======================================
  Coverage   78.37%   78.37%
=======================================
  Files           1        1
  Lines          37       37
=======================================
  Hits           29       29
  Misses          4        4
  Partials        4        4

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

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


error, "[error] 33#33: *92500 connect() failed (111: Connection refused) while connecting to upstream, client: <IP_ADDRESS>, server:

Trying to host an API on App Engine using FastAPI, was originally using Flask which was working but very slow. I'm now getting the following error: error, "[error] 33#33: *92500 connect() failed (111: Connection refused) while connecting to upstream, client: <IP_ADDRESS>, server:
This is the app.yaml file:
runtime: python
env: flex

entrypoint: uvicorn --host <IP_ADDRESS> --port 8080 --timeout-keep-alive 500 main:app
service: default

instance_class: F4_1G

# Instance Class: F4_1G
# Memory Limit: 2048 MB
# CPU Limit: 2.4 GHz
# Supported Scaling Types: Automatic

runtime_config:
    python_version: 3

handlers:
- url: /.*
  script: auto

network:
  forwarded_ports:
   - 8080

This is the main script, the majority of the code has had to be removed:
import uvicorn
from fastapi import FastAPI, Request
app = FastAPI()

@app.get('/')
async def nlp_email(return_method : str,
                    user_email    : str,
                    filename      : str)

    return {'html': html}

Uvicorn strongly suggests to use gunicorn via the UvicornWorker if your deploying to production, while you might still be testing it is good if you make this change right now since the behaviour can differ
The order of arguments is slightly different

uvicorn main:app --port 8080 --timeout-keep-alive 500
gunicorn -b :8088 --timeout 480 main:app

I would (personally) avoid setting the 'host' option, it had some weird results for me (after setting it you couldn't reach the api and stuff like that)

Hi, @ArcLightSlavik thanks for your comment, when I try this I get:
Error: no such option: -b

@JoshBello how are you running it?
right now your running:
uvicorn --host <IP_ADDRESS> --port 8080 --timeout-keep-alive 500 main:app
at minimum it should be:
uvicorn main:app --host <IP_ADDRESS> --port 8080 --timeout-keep-alive 500
optimal would be:
gunicorn -b :8088 -k uvicorn.workers.UvicornWorker --timeout 500 main:app

@ArcLightSlavik Thanks for getting back to me.
When I use FastAPI and Gunicorn I get this error:
__call__() missing 1 required positional argument: 'send'

Apparently it's due to Gunicorn not being ASGI

Gunicorn by itself can't run FastAPI, for FastAPI to work on gunicorn you need to provide it with the uvicorn worker which is ASGI. You do this via: -k uvicorn.workers.UvicornWorker

Hmm, when I use:
gunicorn -b :8088 -k uvicorn.workers.UvicornWorker --timeout 500 main:app

I get this error:
[error] 33#33: *218 connect() failed (111: Connection refused)

If it works locally then it's a configuration error somewhere in your deployment. From a quick google the error seems to be nginx related, possibly it's not listening to the correct port.

Thanks for the help @ArcLightSlavik ! :bow:
I assume you solved it, thanks for closing the issue :+1:


Meteor - Font Awesome 4.7

Are Semantic-UI-Meteor-Data and Semantic-UI-Meteor repositories still maintained?
I use Semantic-UI-Meteor in my project and I miss some of the latest icons added in Font Awesome 4.7.

Hi @rereradu, unfortunately, I can’t answer the question, but we’re already tracking it here: #5675. I was going to mention it to the maintainer before the next release, not sure when it’s going to happen, though.


How to get response body in format function

Can i get response body inside format function to log it?

Given that the format function is being called by the internals of winston (not express-winston) and that we call log on the winston instance only once all the log meta has been put together, I believe you should be able to just use info.meta.res to get at the response object in your format function.
You may also need to add body to your responseWhitelist (and perhaps add a responseFilter if you're worried about logging sensitive information).

Hi @rosston
Probles is that i tried to add body into response whitelist (responseWhitelist: [...expressWinston.responseWhitelist, 'body']), but info.meta.res still contains only { statusCode: 200 }

Hm, @hotrush, I'm unable to replicate the issue you're seeing. Here's my code:
const express = require('express');
const winston = require('winston');
const expressWinston = require('express-winston');

const app = express();

app.use(expressWinston.logger({
  transports: [
    new winston.transports.Console()
  ],
  format: winston.format.combine(
    winston.format.timestamp(),
    winston.format.printf((info) => {
      console.log('res', info.meta.res);
      return `${info.meta.res.body}`;
    })
  ),
  responseWhitelist: [...expressWinston.responseWhitelist, 'body']
}));

app.use('/', (req, res, next) => {
  res.status(200).send('this is the response body');
});

app.listen('9999');

console.log('listening on 9999');

When it runs, I get the following output:
res { statusCode: 200, body: 'this is the response body' }
this is the response body

It only works if the body is a string, doesn't work with json.


is this faster or af_xdp faster?

have u compared with this?
https://github.com/asavie/xdp

yeah, its my question too !


fetching public keys from keyserver

On Linux gpgsm will use its dirmngr to fetch certificates from LDAP. In most cooperate setups that is going to be the Active Directory LDAP. That is also where Email clients get it from. Not sure whether that is a direct call to LDAP or a call to the OS's trust/cert store.
What i do see on Windows is that i can verify my own signatures but verification of other signatures fails. And i assume the reason is that the certificates are not yet known and need to be fetched from the keyserver. I could not really verify that yet.
Maybe someone can explain how i browse the trust-store on Windows, and how i would manually import a cert into it.
But if the asumtion is correct smimesign needs to import the certs when encountered. I would hope that there are libraries that can just be called on MacOS and Windows. Something like OS.smime.find_and_import_according_to_global_config(email)

My understanding is that the Windows CrytpoAPI should be searching remote servers when asked to build a certificate chain. That is the API used by the certstore library that smimesign is built on top of. I am not a Windows user though and I have only performed minimal testing on how these APIs work in practice. Similarly, certstore uses the Security framework to build chains on macOS. This framework claims to try fetching missing intermediates, though it isn't clear whether this can work with LDAP or just making HTTP requests based on the AIA extension.
I'm happy to keep discussing this, but I am closing this issue for now since it doesn't represent a bug.

Ok. I would not be surprised if the failed verifications i am seeing are a configuration issue of the managed Windows i experimented on. Let us see if this pops up for anyone else.
I did investigate a bit and could not find my co-workers in the certstore. Manually importing the certs from LDAP did not resolve the issue. However i.e. Outlook does somehow finds those certs while smimesign does not. But again that could be a wrongly configured certstore + an outlook hack.

I'd give equal odds of it being an issue with certstore. I don't have access to a production environment where certs are distributed by LDAP, so all of my development efforts have been based on contrived setups.


⚠ Documentation has degraded performance

In 6876d02, Documentation (https://docs.tonicpow.com) experienced degraded performance:

HTTP code: 200
Response time: 10282 ms

Resolved: Documentation performance has improved in b445f20 after 26 minutes.


js helper inserts an additional parameter

There's an additional line in the output: <script src="/[object Object].js" type="text/javascript"></script>

Oreolek,
please try latest version. Had the same problems; seems to be fixed now.


ActiveRecord adapter for Datastore?

Has anyone hacked together an ActiveRecord adapter for Datastore? If not, is there an ORM designed to work with Datastore? I'm pretty sure I could hack something together myself by overriding some active record methods, but I was wondering if anyone else has done the same or there is a standard way of working with Datastore using rails-esque models?

That's a great thought -- thanks for bringing it up. It'd be a bit tricky, but not impossible. I suspect the primary challenges will pop up due to many Datastore queries requiring indexes to work and the consistency model depending on how you structure your data (strongly consistent within a single entity group).
To be more specific:
Simple-ish queries should work just fine:
SELECT * FROM Employees WHERE nickname = 'Jimmy'`

Fancier stuff requires that you add indexes could be frustrating:
SELECT * FROM Employees WHERE salary > 50000 ORDER BY nickname ASC, salary DESC

Hierarchical keys might be weird to both create entities and query over your data:
SELECT * FROM Employees WHERE __key__ HAS ANCESTOR Key('Company', 1234) AND
  nickname = 'Jimmy'

I'm not an expert on ActiveRecord, but I think the attempts at doing this in Django world technically worked, but were a bit frustrating. Unfortunately the way you manage data in something like Datastore (or Mongo, etc) isn't quite the same as a SQL database, but most ORMs are designed with SQL in mind.

Oh, I'm prepared for the limitations. Actually, I recall seeing an issue on one of the Mongo repositories where they were talking about adapting the mongo gem to connect to Datastore, maybe this would be the easiest route? Otherwise, what I was picturing was just adding support for getting and setting attributes, .find, and then only allow passing through Datastore SQL for .where

@samkelly I asked @blowmage this question once offline (I should have opened an issue here; I'm glad you did), and I believe his answer was that this is a great idea, but that it should be done in a separate project, both because of the considerable scope of the work, and because the level of abstraction is different. Do I remember this correctly @blowmage?

I worked on an ActiveModel layer that would bridge the gap between gcloud's Datastore implementation and what most ORMs provide. I'll dig it out and see what I can publish soon.

I agree with @jgeewax, our initial approach was to try and adapt ActiveRecord but we use mostly ancestor queries and it didn't work very well. However, what is working very well for us is using a layer over ActiveModel. We created a lib similar to the work Google did here (doc, repo) but added support for ancestor queries. We created instance methods such as save, update, destroy and class methods such as all, find_in_batches and find.

Yeah, I'd probably take the route of writing an abstraction layer over ActiveRecord rather than merely writing an adapter.

@blowmage we can provide what we have written so far as well. Let me know if interested.

@bmclean that would be great! Send to<EMAIL_ADDRESS>if you don't want to make something public.

@blowmage we can make it public. I will clean it up this morning and publish it.

@bmclean that would be great would love to look at that code

@bmclean That is so awesome!!

We created a simple Rails app showing how we are using Gcloud::Datastore with ActiveModel.
The Gcloud::Datastore::Dataset is implemented in config/initializers/cloud_datastore.rb.
The local environment variables are implemented in config/initializers/development.rb.
The ActiveModel wrapper is implemented as a model concern, located in app/models/concerns.
The database.yml contains the dataset_ids.
The local datastore credentials monkey patch is in lib/local_datastore_no_auth.rb.
Let me know if you have any questions!

@bmclean That's really cool. I'll try it out soon.

@bmclean would you be OK with me using this as the basis for a gem that does this + with some additional utility methods?

Sure, feel free to fork it. We released it with the MIT license so just follow that.

will do -- thanks!

It seems everyone agrees that this won't happen in gcloud-ruby (at least not for now), so closing. But please continue to post progress and links on this issue!
Again:
Agrimatics/active-model-cloud-datastore - ActiveModel Google Cloud Datastore example Rails app

We have released Agrimatics/activemodel-datastore as a gem.

Thanks for the update @bmclean!


ability to upload and resume work on project

upload .t2wmlz file and recreate the table and annotation state from that to keep working from where you left off

This is restoring a project state using a .t2wmlz file sent to the same upload endpoint as the csv/xlsx data files.
Returns the original data and the annotations/layers.


@conda-forge-admin, please update circle

@conda-forge-admin, please update circle

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I updated the circle-ci deploy key and followed the project.


Implement in two browsers

In order to progress to stage 4, this proposal must be implemented in two stable browsers, not behind any flags.
Implemented:

[x] Firefox / SpiderMonkey [bug]
[x] Chrome / V8 [patch]
[x] Safari + Webkit / JavaScriptCore [patch]
[x] Edge / Chakra [issue / PR]

At least behind a flag:

[x] Firefox / SpiderMonkey
[x] Chrome / V8
[x] Safari + Webkit / JavaScriptCore
[x] Edge / Chakra

Shipped stable:

[ ] Firefox / SpiderMonkey
[ ] Chrome / V8
[ ] Safari + Webkit / JavaScriptCore
[ ] Edge / Chakra

I think the Chromium patch covers the "Behind a flag" check too.

Sure, I'll just check that off once it lands in Canary.

Nit: It’s V8, not “v8”.

For record sake, I've filed a Firefox bug/request: https://bugzilla.mozilla.org/show_bug.cgi?id=1245024

@mathiasbynens fixed (altho that's sad, i really prefer the lowercase v aesthetically)

landed in WebKit last night: https://webkit.org/b/153799 / https://webkit.org/b/153814

thanks @caitp is it behind a flag or enabled by default?

It's on by default

:+1:

@caitp Awesome!!

Linking to https://github.com/tc39/ecma262/pull/593#issuecomment-235414459 since this feature's spec changed slightly in July 2016.

anything the polyfill should consider? I'm not sure I understand undefined descriptors ... are those neither data nor accessors ?

@WebReflection EG, if Object.getOwnPropertyDescriptor returns undefined for a name, it is not added to the result object

I've got the idea behind, yet I don't know how that would be possible. Can you define a property without a descriptor? Any example in order to reproduce with a test and eventually update my code?
Thanks

You can (under some conditions) lie about the properties a Proxy has.
var p = new Proxy({}, { ownKeys() { return ["fakeProperty"]; } });
Object.getOwnPropertyDescriptors(p);

// Let ownKeys be ? obj.[[OwnPropertyKeys]]() -> ["fakeProperty"]
// Let desc be ? obj.[[GetOwnProperty]]("fakeProperty") -> undefined
// Let descriptor be ! FromPropertyDescriptor(desc). -> undefined
// ...

We don't throw an exception for lying about property keys in this case, because invariants are not violated, so it's possible to get an undefined descriptor into the algorithm.

or in a polyfill this might look like
let names = Reflect.ownKeys(p); // ["fakeProperty"]
for (let key of names) {
  // desc = p.[[GetOwnProperty]]("fakeProperty") -> undefined
  let desc = Reflect.getOwnPropertyDescriptor(p, key);
  // ...
}

got it, thanks

@WebReflection the polyfill is updated in https://github.com/ljharb/Object.getOwnPropertyDescriptors/commit/fc060fc3bc6ef545a4715d022059d079bdd4e51e - i updated the reference implementation in c13d24ec1e1bfee80cbb4edc1f2f92e7e1ab3340 as well (thanks for the reminder).


Invoke a function when a watch literal is assigned to false

Is it possible to call propagate() (or any other function like propagate()) when a watch literal is assigned to false? As I know, propagate() is called when any watch literal is assigned to true.
I have an idea to do this. For each watch literal a,

add a new atom b
add a rule b <- not a
finally add a watch for atom b

so that when a = False then b = True, Thus the propagate() is called for b.
Is there any other idea easier than this?

I am not sure if I understand but you can watch a literal in any phase. If l is a solver literal, you can call add_watch with l and -l.

Thanks for your information.


scalastyle fixes

With the exception of the first two files (in library-aux and library), all of the files touched in this PR are copied and adapted from other sources. Those should not be changed, and not submitted to Scalastyle checks. Keeping the source as close as possible to the original is paramount, and overrides any considerations about our own coding style.

What about partest?

partest is also a copy paste for the most part, IIRC.

partest is also a copy paste for the most part, IIRC.

ok, just removed those too, just the two small libs


There is no AstRenderer in Mistune v3

https://github.com/lepture/mistune/blob/fdeeb25dded212bf23e683e0f8a52c4d2165e2de/docs/upgrade.rst#astrenderer

Replaced by #8.


Module has no exported member 'FastifyPluginAsyncZod'

I got this error when try to import this type. I am using version ^1.1.9

Problem is that the maintainer hasn't published the new release yet. :( In the meantime you can use the forked package: https://github.com/turkerdev/fastify-type-provider-zod/issues/75

@turkerdev can we please get a release with this?

Sorry for the delay. 1.2.0 is out now, please let me know if it works now!

@kibertoad it worked, thanks.


Update documentation

@bjornandre thanks, yes I think it makes a lot of sense to have all the relevant scripts and commands co-located with the rest of the project setup rather than using an external tool like make. I'll update the explanation in the README and then merge.


Provide pure floss build flavor

Crashlytics is a proprietary, non-free build dependency. Could you provide a build flavor that does not require it?

Yep, we certainly will. There were some weird crash reports from people with odd phones and we really needed an easier way to figure out how to help those people. Anyway, the developers will definitely remove crashlytics asap. Probably in the next version release. Sorry for any inconvenience.


[Event Request] Codeunit 427 ICInboxOutboxMgt - procedure CreatePurchDocument - OnCreatePurchDocumentOnBeforeValidatePmtDiscountDate

Please add an Event OnCreatePurchDocumentOnBeforeValidatePmtDiscountDate in procedure CreatePurchDocument in Codeunit 427 ICInboxOutboxMgt
[Event Request] Codeunit 427 - ICInboxOutboxMgt - procedure CreatePurchDocument
var
    ICInboxPurchLine: Record "IC Inbox Purchase Line";
    PurchHeader: Record "Purchase Header";
    ICDocDim: Record "IC Document Dimension";
    ICDocDim2: Record "IC Document Dimension";
    HandledICInboxPurchHeader: Record "Handled IC Inbox Purch. Header";
    HandledICInboxPurchLine: Record "Handled IC Inbox Purch. Line";
    DimensionSetIDArr: array[10] of Integer;
    IsHandled: Boolean;
begin
    IsHandled := false;
    OnBeforeCreatePurchDocument(ICInboxPurchHeader, ReplacePostingDate, PostingDate, IsHandled, PurchHeader, HandledICInboxPurchHeader);
    if IsHandled then
        exit;

    with ICInboxPurchHeader do begin
        PurchHeader.Init();
        ...
        PurchHeader.Validate("Payment Discount %", "Payment Discount %");

        IsHandled := false; // <-- ADDED
        OnCreatePurchDocumentOnBeforeValidatePmtDiscountDate(IsHandled); // <-- NEW EVENT
        if not IsHandled then // <-- ADDED

            PurchHeader.Validate("Pmt. Discount Date", "Pmt. Discount Date");

        PurchHeader."Shortcut Dimension 1 Code" := '';
        PurchHeader."Shortcut Dimension 2 Code" := '';
    ...

[IntegrationEvent(false, false)]
local procedure OnCreatePurchDocumentOnBeforeValidatePmtDiscountDate(var IsHandled: Boolean)
begin
end;

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: 47021.


Add warning about mixed content issues

Closes https://github.com/ipfs-shipyard/ipfs-companion/issues/648

This PR checks if URL would trigger mixed content error and if check is positive displays an inline warning message:

@olizilla does the copy look ok?

Sorry, but I forgot about IPv6 in #648. It’s one more valid address that is whitelisted as secure by browsers. The inclusion of a third address does make the warning message messy, though. Not sure how to improve it without reformatting it as a list or maybe even linking to a wiki page with valid addresses and more information?

Good catch @da2x! I've added it and it's not that bad actually (a technical person will know what's up, a non-technical won't need to touch this field anyway).


add open from remote url feature

Hi!
Thank you for the pull request. I have started a cursory review of your code. There are a number of things that will need to be addressed before I can merge it.

I don't see a reason for including AFNetworking. AFNetworking is a powerful library, but it looks like you are just using it to download a file with a GET request from a user-provided URL. This should be possible without 3rd party frameworks. Please remove AFNetworking.

Is there any error checking? What happens when the download fails? What happens when the host does not exist? What happens when the file can not be read?
I can offer to help you with this part once the other points are addressed.

There are a lot of unnecessary changes in this commit, eg. formatting changes, NIB files you opened in Xcode, but made no changes, etc. Please remove all unnecessary changes from the commit. (Have a look at http://gitup.co if you are new to Git). Please make sure that the pull request only contains necessary changes.

You removed the file-read entitlement -- this will break normal file opening!

Okay, I see, I'll fix  them soon, Thank you for you advice, I was too busy so don't have time to check my code... So sorry :) @jakob

Thank you very much! I am looking forward to a new pull request!

Thank you very much! I am looking forward to a new pull request!


Add Tensorflow

Hi,
Tensorflow is an awesome framework for deep learning.
https://github.com/tensorflow/tensorflow
Makefile (cross-platform ios, osx, android and linux):
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/makefile
CMake:
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/cmake
iOS examples:
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/ios_examples
Regards

Please fork TensorFlow in hunter-packages.
Requires SWIG
#768

Please fork TensorFlow in hunter-packages.

Done: https://github.com/hunter-packages/tensorflow

External dependencies (currently managed w/ ExternalProject_Add())

[ ] boringssl.cmake
[ ] eigen.cmake
[ ] farmhash.cmake
[ ] gemmlowp.cmake
[ ] gif.cmake
[ ] googletest.cmake
[ ] grpc.cmake
[ ] highwayhash.cmake
[ ] jpeg.cmake
[ ] jsoncpp.cmake
[ ] png.cmake
[ ] protobuf.cmake
[ ] tensorboard.cmake
[ ] zlib.cmake

eigen
tensorboard
boringssl_URL https://boringssl.googlesource.com/boringssl
farmhash_URL https://github.com/google/farmhash/archive/34c13ddfab0e35422f4c3979f360635a8c050260.zip
gemmlowp_URL http://github.com/google/gemmlowp/archive/a6f29d8ac48d63293f845f2253eccbf86bc28321.tar.gz
gif_URL http://ufpr.dl.sourceforge.net/project/giflib/giflib-5.1.4.tar.gz
googletest_URL https://github.com/google/googletest.git
GRPC_URL https://github.com/grpc/grpc.git
highwayhash_URL https://github.com/google/highwayhash.git
jpeg_URL http://www.ijg.org/files/jpegsrc.v9a.tar.gz
jsoncpp_URL https://github.com/open-source-parsers/jsoncpp.git
png_URL https://storage.googleapis.com/libpng-public-archive/libpng-1.2.53.tar.gz
PROTOBUF_URL https://github.com/mrry/protobuf.git
ZLIB_URL https://github.com/madler/zlib

Would be nice to get Tensorflow 1.4 in here.
What is still needed other than BoringSSL?

I was trying to capture the required packages here based on a quick scan of the build system.
I believe we need: boringssl, farmhash, gemmlowp, gif, grpc and highwayhash

BoringSSL is annoying because it is a moving target and requires Go.

I spent part of a Saturday looking at it and hit the boringssl issue immediately.  I expect some of this stuff could be done lazily/optionally with a little more analysis.
Divide and conquer?  I can spend some time on it this weekend.

BTW, ruslo has already created the hunter-packages forks (anticipating the need for the usual cmake and/or hunter tweaks):
https://github.com/hunter-packages/boringssl
https://github.com/hunter-packages/farmhash
https://github.com/hunter-packages/gemmlowp
https://github.com/hunter-packages/gif
https://github.com/hunter-packages/grpc
https://github.com/hunter-packages/highwayhash

[ ] option(tensorflow_ENABLE_GPU "Enable GPU support" OFF)
[ ] option(tensorflow_ENABLE_SSL_SUPPORT "Enable boringssl support" OFF)
[ ] option(tensorflow_ENABLE_GRPC_SUPPORT "Enable gRPC support" ON)
[ ] option(tensorflow_ENABLE_HDFS_SUPPORT "Enable HDFS support" OFF)
[ ] option(tensorflow_ENABLE_JEMALLOC_SUPPORT "Enable jemalloc support" OFF)
[ ] option(tensorflow_BUILD_CC_EXAMPLE "Build the C++ tutorial example" ON)
[ ] option(tensorflow_BUILD_PYTHON_BINDINGS "Build the Python bindings" OFF) # NEED SWIG
[ ] option(tensorflow_BUILD_ALL_KERNELS "Build all OpKernels" ON)
[ ] option(tensorflow_BUILD_CONTRIB_KERNELS "Build OpKernels from tensorflow/contrib/..." ON)
[ ] option(tensorflow_BUILD_CC_TESTS "Build cc unit tests " OFF)
[ ] option(tensorflow_BUILD_PYTHON_TESTS "Build python unit tests " OFF)
[ ] option(tensorflow_BUILD_MORE_PYTHON_TESTS "Build more python unit tests for contrib packages" OFF)
[ ] option(tensorflow_BUILD_SHARED_LIB "Build TensorFlow as a shared library" ON)
[ ] option(tensorflow_OPTIMIZE_FOR_NATIVE_ARCH "Enable compiler optimizations for the native processor architecture (if available)" ON)
[ ] option(tensorflow_WIN_CPU_SIMD_OPTIONS "Enables CPU SIMD instructions")
[ ] option(tensorflow_ENABLE_SNAPPY_SUPPORT "Enable SNAPPY compression support" ON)


JetPack 6 and L4T v36.3 support for Jetson Orin AGX dev kit

NVIDIA recently released the production version of JetPack 6 and L4T v36.3. This includes moving to Ubuntu 22.04 root file system and CUDA 12.
Currently, Ubuntu 20.04 LTS is needed on the host device to flash JetPack 5. Ubuntu 20.04 is end-of-support or end-of-life at the end of 2024.
I would like to request support for flashing Jetson Orin AGX development kits with JetPack 6 and L4T v36.3.

@acostach Thank you for the status update. This is greatly appreciated. @etohana created the original DTB for Jetpack v5. I have notified him that a new DTB will be needed for Jetpack v6. We will work on getting you a DTB file.
Just yesterday, July 2nd, 2024, I went through and updated balenaOS on our development fleet Orins to v5.3.21+rev3. Many of them were on v5.2.0 or v5.3.21 (no rev). Should I have upgraded to v5.3.21+rev2 first before v5.3.21+rev3? Basically, I skipped straight to v5.3.21+rev3 for all of the Orins in our development fleet.
I cannot downgrade. Do I have to reflash all of the Orins with v5.3.21+rev2?

@volks73 if they are development fleets and not production units, this means that if a device would fail to boot after the update, at most it would need to be re-flashed. But if the update works fine, there would be no need for re-flashing.
In my tests on the AGX Orin 32GB, Orin Nano 8GB and Orin NX SD, updating from 35.4.1 to 35.5.0 (on which your development devices are now) and then directly to 36.3 worked. The problem is that if the device didn't have both boot chains updated to 35.5.0 and if the update capsule failed to apply for any reason during this transition (i.e power cut, firmware didn't want to apply the capsule, etc), the device would not be able to rollback and would need to be re-flashed. The failure was somewhere in the MB2 firmware in this case. But if the capsule update went trough ok, or if both chains were running the latest L4T 35.5.0, the device did rollback successfully to v5.3.21+rev3 in case of any problem with the new OS.
So my suggestion would be to leave them as they are for now, and once the PR is merged and we have a draft release, I will provide you with the instructions for triggering the test update.

Hi @volks73 the draft release v5.3.22 is now available for all the Orin device-types we support. You can test HUP on your lab devices using balena cli:
balena device os-update <device_uuid> --include-draft
? Target OS version 5.3.22-1720444904211 <-- this is the first draft release for Jetpack 6
? Host OS updates require a device restart when they complete. Are you sure you want to proceed? Yes
Updating the OS of wandering-tree to v5.3.22-1720444904211 [============            ] 50%
The device wandering-tree has been updated to v5.3.22-1720444904211 and will restart shortly!

Also, if you wish to download and flash the draft release you can use the following line:
curl 'https://api.balena-cloud.com/download?appId=<APP_ID>&deviceType=jetson-agx-orin-devkit&version=5.3.22&fileType=.zip'     -G     -H "Authorization: Bearer <TOKEN>"     --output ~/Downloads/balena-cloud-myapp-draft-jetson-agx-orin-devkit-v5.3.22.zip

Please note that the above curl may change when draft OS releases will be made available in the dashboard.
You can use the latest commit from the master branch of jetson-flash for provisioning the draft release, and also please make sure to check the notes in the device-repository README with regards to updating from L4T 35.5.0 to L4T 36.3.
Let me know how the update works for you and if you encounter any issue

@acostach Great! Thank you working on this and the information. I test it out and get back to you, but it will be a couple of weeks before I get a chance to fully test due to travel obligations.


chore(paeckchen): do not send travis success mails

Coverage remained the same at 100.0% when pulling 8d4e246ea2bea768459d418bedf4f72daa57a1e5 on travis into 1e2743e26bf7a158314f3c10664f8b99e13129cd on master.


Allow syntax errors to pass up since users should never see any.

This will help with debugging.  Right now it just tells you that pywal needs python 3.5 or newer.

There's a lint error, otherwise LGTM :+1:

Fixed


Drop the cerbos prefix from FQNs

The FQN functions in the namer package add a cerbos. prefix to every name generated. This is a holdover from the early versions of Cerbos where policies were converted to Rego packages in the background and had to be namespaced to prevent clashes.
When we output policy names, we use the PolicyKey function which strips the prefix. It would be less confusing if the FQN functions simply dropped the prefix. As far as I can tell, we no longer rely on the prefixed names anywhere [needs to be verified]. For simplicity, we should modify the FQN functions to just drop the prefix and remove the PolicyKey function completely.

I think this is probably not going to work because the module ID is generated from the FQN. If we change it, the IDs of policies stored on databases will change.


scorecard: 4.6.0 -> 4.8.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/ossf/scorecard/releases.
meta.description for scorecard is: "Security health metrics for Open Source"
meta.homepage for scorecard is: "https://github.com/ossf/scorecard"
meta.changelog for scorecard is: "https://github.com/ossf/scorecard/releases/tag/v4.7.0"
Updates performed

Golang update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 4.7.0 with grep in /nix/store/7zs3f88cmabif95zg2g268pvzb28m4xr-scorecard-4.7.0
found 4.7.0 in filename of file in /nix/store/7zs3f88cmabif95zg2g268pvzb28m4xr-scorecard-4.7.0

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
scorecard

Instructions to test this update (click to expand)

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

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/7zs3f88cmabif95zg2g268pvzb28m4xr-scorecard-4.7.0
ls -la /nix/store/7zs3f88cmabif95zg2g268pvzb28m4xr-scorecard-4.7.0/bin

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

1 package built:

scorecard

Maintainer pings
cc @06kellyjac for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/ossf/scorecard/releases.
meta.description for scorecard is: "Security health metrics for Open Source"
meta.homepage for scorecard is: "https://github.com/ossf/scorecard"
meta.changelog for scorecard is: "https://github.com/ossf/scorecard/releases/tag/v4.8.0"
Updates performed

Golang update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 4.8.0 with grep in /nix/store/lyjnjwyiv6yg6lf65rkxx44rgq6ggm21-scorecard-4.8.0
found 4.8.0 in filename of file in /nix/store/lyjnjwyiv6yg6lf65rkxx44rgq6ggm21-scorecard-4.8.0

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
scorecard

Instructions to test this update (click to expand)

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

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

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

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

1 package built:

scorecard

Maintainer pings
cc @06kellyjac for testing.


Continued issues with this bot:

Why?

@NiklasBr have you tried to remove the stale label and add a pinned label?

I don't have permissions to do that.

I don't have permissions to do that.

@NiklasBr I see perhaps you can ask a maintainer to do it

From my perspective it's an issue with this bot that keeps failing to detect activity. Which is why I ask the bot maintainers to fix it.

@NiklasBr I have not yet encountered this when you properly remove the staleLabel and add a label from exemptLabels which are defined in the config file. Can you share the config file?

I don't have permission to add or remove these labels, only the bot can do that


[UI] Add dark mode on "Contribution to Open Source"

Category

[ ] Resource Addition
[ ] Documentation
[ ] Codebase
[x] User Interface
[ ] Feature Addition

Description
Currently, the page "Contribution to Open Source" is only avaible in light mode. Add styles for dark mode.

Let's do this. I'm assigning this to you.

@Sriparno08 Thank you, I just created a pull request :)


allow user to override logical ID

This would help migrating to this plugin where you had previously provisioned the resources through custom CloudFormation resources, since we can ensure the logical IDs remain the same before and after switching to the plugin.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Setup RTD and add link to Documentation Site

Is your feature request related to a problem? Please describe.
We should enable a documentation build process (rtd) and then add:

[ ] badge to README
[ ] link to GitHub

@AakashGfude do you still have access issues to rtd? It would be great to get this setup if we can.


dockerAll is not returning expected data in latest version

Describe the bug
dockerAll is not returning expected data in latest version
To Reproduce
Use latest version 4.11.4 of systeminformation instead of version 3.54.0
Use endpoint dockerAll
Get unexpected undefined values
Current Output
   id: '92ba2c1abe08e06466c1af87c825ee2f7decabaa6752b84acc81939b6265ba10',
  name: 'fervent_bassi',
  image: 'hello-world',
  imageID: 'sha256:fce289e99eb9bca977dae136fbe2a82b6b7d4c372474c9235adc1741675f587e',
  command: '/hello',
  created:<PHONE_NUMBER>,
  started:<PHONE_NUMBER>,
  finished:<PHONE_NUMBER>,
  createdAt: '2019-06-18T14:01:52.962035775Z',
  startedAt: '2019-06-18T14:01:53.29490287Z',
  finishedAt: '2019-06-18T14:01:53.332951027Z',
  state: 'exited',
  restartCount: 0,
  platform: '',
  driver: 'aufs',
  ports: [],
  mounts: [],
  mem_usage: undefined,
  mem_limit: undefined,
  mem_percent: undefined,
  cpu_percent: undefined,
  pids: undefined,
  netIO: undefined,
  blockIO: undefined,
  cpu_stats: undefined,
  precpu_stats: undefined,
  memory_stats: undefined,
  networks: undefined,
  processes: []

Expected behavior
    id: '92ba2c1abe08e06466c1af87c825ee2f7decabaa6752b84acc81939b6265ba10',
    name: 'fervent_bassi',
    image: 'hello-world',
    imageID: 'sha256:fce289e99eb9bca977dae136fbe2a82b6b7d4c372474c9235adc1741675f587e',
    command: '/hello',
    created:<PHONE_NUMBER>,
    state: 'exited',
    ports: [],
    mounts: [],
    mem_usage: 0,
    mem_limit: 0,
    mem_percent: 0,
    cpu_percent: 0,
    pids: 0,
    netIO: { rx: 0, wx: 0 },
    blockIO: { r: 0, w: 0 },
    cpu_stats: { cpu_usage: [Object], throttling_data: [Object] },
    precpu_stats: { cpu_usage: [Object], throttling_data: [Object] },
    memory_stats: {},
    networks: {},
    processes: []

Environment (please complete the following information):

OS: Linux work 3.16.0-5-amd64 #1 SMP Debian 3.16.51-3+deb8u1 (2018-01-08) x86_64 GNU/Linux
Hardware

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 60
Model name:            Intel(R) Core(TM) i5-4670 CPU @ 3.40GHz
Stepping:              3
CPU MHz:               3460.960
CPU max MHz:           3800.0000
CPU min MHz:           800.0000
BogoMIPS:              6784.64
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              6144K
NUMA node0 CPU(s):     0-3

@superhero
OK, I will try to fix that as soon as possible.

@superhero : fixed! Version 4.11.5 just released


sqldb: reset out of scope containers on potential ExecTx retry

As SQL serializaton errors can lead to transaction retries we need to ensure that we reset any out of scope containers where we accumulate results. Otherwise partial data from a previously executed transacton retry may be returned along with the latest result.
This is a potential fix for the flake reported in https://github.com/lightningnetwork/lnd/issues/8583

I wonder how we can make this behaviour clear in our documentation so that we don't run into this situation again ?

Yeah I liked the reset func() that were part of the kvdb View and Update function signatures. Perhaps ExecTx could be extended with a similar parameter?

I wonder how we can make this behaviour clear in our documentation so that we don't run into this situation again ?

Yeah I liked the reset func() that were part of the kvdb View and Update function signatures. Perhaps ExecTx could be extended with a similar parameter?

Yes, agree with both comments.
I'm currently working on some more changes affecting sqldb, will also add reset() to ExecTx along with those.


Image-Scaling Attacks: Discuss threat and mention secure scaling options to prevent attacks

URL(s) with the issue:
https://www.tensorflow.org/api_docs/python/tf/image/resize
Description of issue:
TensorFlow is vulnerable to image-scaling attacks if specific scaling algorithms and parameters are used. These attacks
allow an adversary to arbitrarily change the output image of a downscaling operation. It is a threat for machine learning applications, similar to adversarial examples.
The resize documentation should therefore at least mention the risk of scaling attacks with specific resize settings, and motivate the usage of secure algorithms/parameters.
Clear description
Downscaling is an important step in machine learning, as deep neural networks usually expect small fixed-sized inputs. An adversary can control the output of the downscaling step by slightly manipulating the input image. We see another image what the ML system uses for learning. This allows an attack, similar to adversarial examples. The attack is easy to deploy with a considerable impact on the security of machine learning. It is relevant whenever TF scales images that users did not create themselves.
We verified that TensorFlow provides vulnerable scaling algorithms, such as nearest, bilinear or bicubic scaling. In the default settings, many pixels are hardly or not at all included in the reduction. Attacks can thus only change those pixels that are relevant to the scaling. The remaining pixels are not changed, so that the attack is rather unnoticeable. A secure scaling algorithm should thus consider all pixels (equally).
To prevent the attack in TensorFlow, a user can either choose area scaling or set antialias = True with TensorFlow 2.x. This parameter was introduced in TF 2.x, but it is set to False by default (probably for compatibility to older version). Nearest neighbor scaling is still vulnerable if antialias = True (antialias is here ignored as documented). For older TensorFlow versions, only area scaling prevents the attack without changing the code base.
Our project website (https://scaling-attacks.net) shows some examples and gives more information. In our research paper on scaling attacks [1], presented at the USENIX Security Symposium, we provide a detailed root-cause analysis and discuss possible defenses.
All in all, the resize documentation should raise the awareness for the risk of scaling attacks in machine learning.
In the long run, scaling algorithms with secure parameters should be used as default (e.g. antialias = True as default).
[1] Adversarial Preprocessing: Understanding and Preventing Image-Scaling Attacks in Machine Learning, Erwin Quiring et al., USENIX Security Symposium 2020. Paper-Link

I volunteer to contribute to this issue

@KartikeyBartwal Thanks for joining.
I'd suggest an easier solution. As TensorFlow 2.x has already the antialias parameter, TensorFlow has secure scaling. So it would be enough to just change the documentation to raise awareness.

@KartikeyBartwal Thanks for joining. I'd suggest an easier solution. As TensorFlow 2.x has already the antialias parameter, TensorFlow has secure scaling. So it would be enough to just change the documentation to raise awareness.

May I make another PR?

Sure, please create PR

Hi,
Thank you for opening this issue. Since this issue has been open for a long time, the code/debug information for this issue may not be relevant with the current state of the code base.
The Tensorflow team is constantly improving the framework by fixing bugs and adding new features. We suggest you try the latest TensorFlow version with the latest compatible hardware configuration which could potentially resolve the issue. If you are still facing the issue, please create a new GitHub issue with your latest findings, with all the debugging information which could help us investigate.
Please follow the release notes to stay up to date with the latest developments which are happening in the Tensorflow space.

There has been no change in code to fix this.
This is a nice project for the security team, now that the risk model has been changed, fuzzing TF is downprioritized and the team was looking for stuff to do.


Requesting Athena query for Rate based rule analysis with aggregation keys ?

RBR with custom agg key IP/URI is a feature that customers use. In general customers can add these in with a limit of 100, while this needs checking and they are highly effective at blocking DDoS-like behavior from clients.

In addition to URI, would be great to include a sample that shows a key pointed to a named header as well. That is one of the trickier queries since you have to unpack the header array.

We are uploading new queries this week as requested.

We added the following new queries:
https://github.com/aws-samples/waf-log-sample-athena-queries/blob/main/sql/trafficByRBRURI.sql
https://github.com/aws-samples/waf-log-sample-athena-queries/blob/main/sql/trafficByRBRheader.sql
https://github.com/aws-samples/waf-log-sample-athena-queries/blob/main/sql/rbrheaderhthreshold.sql
https://github.com/aws-samples/waf-log-sample-athena-queries/blob/main/sql/rbrclientipurithreshold.sql
https://github.com/aws-samples/waf-log-sample-athena-queries/blob/main/sql/rbrheaderthreshold.sql


Issue about data type casting in ANXPRO python code

Hello~
When I was using python fetch ticket from ANXPRO, I faced a problem
In [31]: anxpro.fetch_ticker('BTC/USD')
TypeError                                 Traceback (most recent call last)
 in ()
----> 1 anxpro.fetch_ticker('BTC/USD')
C:\Users***\Desktop\ccxt\ccxt_init_.pyc in fetch_ticker(self, product)
811         ticker = response['data']
*812        timestamp = int (ticker['dataUpdateTime'] / 1000)
813         return {
814             'timestamp': timestamp,

TypeError: unsupported operand type(s) for /: 'unicode' and 'int'
There was an error in line 812
It seemed like there's some problem in casting. Therefore, I had checked the source code init.py
and I think I found the bug.
*original version
812    timestamp = int (ticker['dataUpdateTime'] / 1000)
*modified version
812     timestamp = int (ticker['dataUpdateTime']) / 1000
Besides, there's still a bug in line 819
817             'low': float (ticker['low']['value']),
818             'bid': float (ticker['buy']['value']),
*819             'ask': float (ticker['sell'])['value'],
820             'vwap': float (ticker['vwap']['value']),
821             'open': None,

Original version
'ask': float (ticker['sell'])['value']
modified version
'ask': float (ticker['sell']['value'])
The problem wave solved after I remove these two bugs.
Thank you very much :)

Thank you for reporting that! I fixed it with your help!


[cert_manager] Use oc commands to check the status of csv

In crc reproducer job, cert_manager role fails at cmctl check api command stating that cert-manager CRDs are installed on the k8s.
After further investigation, we found that Ansible k8s role always passes at cert-manager csv installation.
By switching to oc commands to check csv status, we get the cmctl caught error. Let's switch to oc commands to get the correct status.
As a pull request owner and reviewers, I checked that:

[ ] Appropriate testing is done and actually running

/approve
/lgtm


Biome pipeline reimplementation

Pull Request
Brief description.
A rewrite of the biome pipeline back-end, that utilizes a single backing arrays for the construction of each biome chunk (formerly BiomeHolders.
What Issues Does This Fix?
This PR fixes #264, and removes the initial-size config key in place of automatically scaling 'initial size' according to an internally defined optimal final array size.
Licensing

[x] I am the original author of this code, and I am willing to release it
under GPLv3.
[ ] I am not the original author of this code, but it is in public domain or
released under GPLv3 or a
compatible license.

Goal of the PR
The primary goal of the PR is to solve #264, but also happens to include other changes and optimizations that have been made easier as a result of the fix.
Affects of the PR
Biomes distributed via the pipeline will different, as the coordinate space(s) passed to source & stage samplers will now match that of the world coordinate space. Config developers will need to adjust the frequencies of samplers defined in the pipeline as expansion and resolution no longer affect said frequencies.
Types of changes

[x] Bug Fix
[ ] Build system
[ ] Documentation
[ ] New Feature
[x] Performance
[x] Refactoring
[ ] Repository
[ ] Revert
[ ] Style
[ ] Tests
[ ] Translation

Compatiblity

[x] Breaking
change
[ ] Non-Breaking change.

Contribution Guidelines.

[x] I have read
the CONTRIBUTING.md
document in the root of the git repository.
[ ] My code follows the code style for this
project.

Documentation

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Testing

[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Rebased on to 6.2.1 here https://github.com/PolyhedralDev/Terra/compare/9b75410ea7c4...02d3445dd9c3


Sending User Data to Backend

Description
To send the user credentials to the backend.

@PiotrBlachnio what data would you need right now. Email, Username, location, etc?


🐞 - AnalogJS - Failed to import @tinkoff/ng-dompurify when starting the server

Playground Link
https://github.com/Rafaelz2516/pitaya
Description
What i am using?
Analogjs
Steps:

npx create-nx-workspace@latest --preset=@analogjs/platform - Integration
npm i taiga-ui
nx g taiga-ui:ng-add
nx serve pitaya (or the name of the project)

Error after opening the localhost?

Angular version
16.1.0
Taiga UI version
3.37.0
Which browsers have you used?

[X] Chrome
[ ] Firefox
[ ] Safari
[ ] Edge

Which operating systems have you used?

[ ] macOS
[X] Windows
[ ] Linux
[ ] iOS
[ ] Android

@waterplea need to build all libraries with ng-packagr 13+

@waterplea need to build all libraries with ng-packagr 13+

Ok, this will have to wait for Taiga 4.0 and a bump to Angular 14.

Fixed by @taiga-ui/dompurify


deployment error on web component

Hi,
Tried 6x to deploy the solution but it always ends with an (conflict) error on cfxldrfa/web (Microsoft.Web/sites/sourcecontrols).
The error is generic, it doesn't give any further details besides that it failed.
I've made sure that the prefix was unique, and all prerequisites are in place, any other advice you could share?

found some more details, seems to be related to exceeding throttling values:
statusCode     : 429
serviceRequestId:
statusMessage  : {"error":{"code":"TooManyRequests","message":"The request is being throttled as the limit has been reached for operat
ion type - Write_ObservationWindow_00:00:01. For more information, see - https://aka.ms/srpthrottlinglimits"}}
eventCategory  : Administrative
entity         : /subscriptions/f9678313-0196-4542-be99-408cdc868ea6/resourcegroups/VSE-AHDS-WS/providers/Microsoft.Storage/storageAcc
ounts/itsme5t3audexpsa/tableServices/default
message        : Microsoft.Storage/storageAccounts/tableServices/write
hierarchy      : 0c1116a3-be87-45fe-87f3-2b46d590e6d9/f9678313-0196-4542-be99-408cdc868ea6
Level                : Error
SubmissionTimestamp  : 16/10/2022 9:47:01
EventTimestamp       : 16/10/2022 9:45:11
EventName            : End request
Category             : Administrative
ResourceProviderName : Microsoft.Storage
OperationName        :
Status               : Failed
SubStatus            : 429

I received the same error, but the resource (*ldrfa function app) is created.


sidebar: display 'Sizes' properly [+]

fix to display Sizes (wasn't displaying in v12)
simplify formats as well

I will backport this to maint-v12.x when merged.

the logic changes look simple enough, but i have no idea about what it looked like before – could i ask you for before/after screenshots?

Yes no problem!
before

after

It's indeed because the list_string_values wasn't given the additional parameter, but in this scenario that whole logic was unnecessary as far as I can tell.

thanks!
looks like it previously was just plain broken :skull:
much better now!


add Realign as step

As a step it would make more sense to begin from Realign instead of Recalibrate when having bam files

Recalibration is not enough, since there is a sort of random decision step where to align indels
if we are realigning together the two files, the indels will be aligned to the same side in both files
For already recalibrated bam files:
have to be written in the README that use T/N BAMs that were realigned together

will be fixed by next PR

Remove MarkDuplicates from Realign step

will be fixed by PR #113


Not compatible with KeePass 2.46

Not compatible with KeePass 2.46 says KeePass 2.46

Works without problems for me. Does it work with 2.45 for you?

Doesn't work for me on KeePass 2.46, importing from Firefox.
"Error while importing credentials from browser. Some credentials may have been imported. One or more errors occurred"
Nothing was imported.
I tried downloading a dummy signons.sqlite file as noted here, which didn't seem to make any difference: https://github.com/JanisEst/KeePassBrowserImporter/issues/22

Doesn't work for me on KeePass 2.46, importing from Firefox.
"Error while importing credentials from browser. Some credentials may have been imported. One or more errors occurred"
Nothing was imported.
I tried downloading a dummy signons.sqlite file as noted here, which didn't seem to make any difference: https://github.com/JanisEst/KeePassBrowserImporter/issues/22


OAuth Provider doesn't update user

Describe the bug
If I login using the genericOAuth plugin, custom attributes from the provider are not updated in the DB if a user exist.
I'm using keycloak, with groups attributes. Each group has the same attribute key, only the value differ.
If I'm in the group1 with an attribute like foo: bar, user is created in the DB with the value.
If I logout, switch to group2 with the same attribute key but with a different value foo: xyz, login again, the user in the DB is not updated
To Reproduce
Steps to reproduce the behavior:
With empty DB

Login for the first time using genericOAuth plugin
User is created with correct keycloak group attribute in DB : foo: bar
Logout
Change user group in keycloak (group attribute become : foo: xyz)
Login
DB user is not updated (attribute is still : foo: bar)

Output from mapProfileToUser :
{
  ...,
  foo: xyz
}

Output from session :
{
  session: {
    ...,
  },
  user: {
    ...,
    foo: bar,
  }
}

bug is still here. user is not updated on oauth login
better-auth: 1.0.22

@skip-pp we've actually removed it altogether after reconsideration. Since user info is managed by the app after registration for example, if the user updates their name in your app, it shouldn't be overridden on the next re-login cause they also updated their with the provider.


chore: bdd-spring-1580744544 to 0.0.1

chore: Promote bdd-spring-1580744544 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Roll engine dac86eb7fbf7..81f695fc954a (5 commits)

git@github.com:flutter/engine.git/compare/dac86eb7fbf7...81f695fc954a
git log dac86eb7fbf7..81f695fc954a --no-merges --oneline
2019-08-07<EMAIL_ADDRESS>Roll src/third_party/dart f3139f57b4..f29f41f1a5 (3 commits) (flutter/engine#10693)
2019-08-07<EMAIL_ADDRESS>Roll buildroot forward to unbreak ToT (flutter/engine#10694)
2019-08-07<EMAIL_ADDRESS>Rolls engine to Android SDK 29 and its corresponding tools (flutter/engine#10692)
2019-08-07<EMAIL_ADDRESS>Fix empty composing range on iOS (flutter/engine#10381)
2019-08-07<EMAIL_ADDRESS>Roll src/third_party/skia ed19e97294f6..593290ed75fd (2 commits) (flutter/engine#10691)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (jimgraham@google.com), and stop
the roller if necessary.

Auto-roller completed checks. About to merge.


Revert "XdsClient: remove resource-type-specific methods from XdsClient API"

Reverts grpc/grpc#28231 due to internal TSAN failure.

/easycla


Preprocessor Incomplete

To force a new and more elegant standard it is debatable whether to support preprocessor directives like the header guards:

if
ifdef
ifndef

However, sticking to one of Lotus's goals of it being multi-paradigm it will be implemented. It is not yet complete however.

This issue is extensive and requires much effort. If this issue is still relevant then split it into multiple smaller issues. If the issues are smaller they can also easier be linked with different pull requests.


Currency Exchange Calculator

Enter calculator name -
Currency Exchange Calculator
Describe calculator functionality -
Create a calculator that allows users to convert one currency to another based on the current exchange rate. The calculator should provide a convenient way for users to input the amount of the source currency and select the source and target currencies for the conversion. The calculator should then display the converted amount in the target currency.By creating this currency exchange calculator, users can easily convert currencies based on the current exchange rate, providing them with a convenient tool for managing their international transactions and financial planning.
Input Parameters:
Source Currency: The currency to be converted from.
Target Currency: The currency to be converted to.
Amount: The amount of the source currency to be converted.
Output Result:
Converted Amount: The equivalent amount in the target currency based on the current exchange rate.
Under which category you wish to place it -

[ ] Computer Science
[ ] Mathematics
[ ] Physics
[ ] Chemistry
[ ] Biology
[ ] Art
[x] Finance
[ ] Scientific
[ ] Health
[ ] Sports
[x] Let project owner decide
[ ] Suggest a new category - (Answer here)

Kindly assign this issue to me @SarthakKeshari

Hey @1520229462,
Glad to see your eagerness for contributing 🤩.  This issue has already been addressed under #171.
Hope to see you come up with more innovative issues.
Happy contributing!! 🎉