CORS errors when using ingress - Failed to load entity kinds

Trying Helm charts with ingress and postgresql.enabled: true!
Getting "Failed to load entity kinds".
Access to fetch at 'http://localhost:7007/api/catalog/entity-facets?facet=kind' from origin 'https://backstage.mydomain.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
It's working of I do port forwarding directly to K8S SVC. (http://localhost:7007/)

Tried  adding CORS config in value file-> appConfig, but then POD is not starting.. error:  Backend failed to start up Error: Missing required config value at 'backend.database'

POD log:
Loaded config from app-config-from-configmap.yaml, env
{"level":"info","message":"Found 1 new secrets in config that will be redacted","service":"backstage"}
{"level":"info","message":"Created UrlReader predicateMux{readers=azure{host=dev.azure.com,authed=false},bitbucketCloud{host=bitbucket.org,authed=false},github{host=github.com,authed=false},gitlab{host=gitlab.com,authed=false},awsS3{host=amazonaws.com,authed=false},fetch{}","service":"backstage"}
Backend failed to start up Error: Missing required config value at 'backend.database'
at ConfigReader.getConfig (/app/node_modules/@backstage/config/dist/index.cjs.js:130:13)
at ObservableConfigProxy.select (/app/node_modules/@backstage/backend-app-api/dist/index.cjs.js:105:41)
at ObservableConfigProxy.getString (/app/node_modules/@backstage/backend-app-api/dist/index.cjs.js:158:17)
at DatabaseManager.getClientType (/app/node_modules/@backstage/backend-common/dist/index.cjs.js:971:36)
at DatabaseManager.getConfigForPlugin (/app/node_modules/@backstage/backend-common/dist/index.cjs.js:1043:29)
at /app/node_modules/@backstage/backend-common/dist/index.cjs.js:1083:14

This is expected and is is strictly connected to how app-config works on Backstage. If you provide  appConfig.app.backend, you are overriding the entire backend configuration, that's why the database is missing.
So, either you include the entire configuration under appConfig key or you configure your Backstage instance by using any other method described here.

The method that Pass extra configuration files doesn't seem to work as it should. A kubectl describe of the pod shows:
    Args:
      --config
      /app/app-config.extra.yaml
    State:          Running

which seems to indicate that extraAppConfig values do not overwrite app-config.yaml values because app-config.yaml values are not loaded by the app. The app configuration must pretty much be duplicated for extraAppConfig.

this is most likely happen because you aren't specifying that your Backstage app should load app-config.yaml. You could do that by defining the value backstage.args: ["--config", "app-config.yaml"].
In order to provide all these extra features the chart (unfortunately) override the default command baked into your Backstage Docker image, which usually contains the instructions for loading app-config.yaml.

@vinzscam Thanks. That works. The chart's documentation could be a little clearer about that.

I'm having this issue as well. I tried passing down the configs via extraEnvVars and it didn't work. Here are the chart values I'm using:
postgresql:
  enabled: true
backstage:
  extraEnvVars:
    - name: APP_CONFIG_app_baseUrl
      value: https://backstage.homelab.com
    - name: APP_CONFIG_backend_baseUrl
      value: https://backstage.homelab.com
ingress:
  enabled: true
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-prod
  className: nginx
  host: backstage.homelab.com
  tls:
    enabled: true
    secretName: backstage-tls-certificate

Proof:

Am I missing something here?

If you are seeing that you are hitting "http://localhost:7007/*" and you have the baseUrl set properly in your appconfig, then do a hard refresh of the page.
I was running into so many issues with this and I was very confused because everything was set correctly. It was not until I hard refreshed the page that it stopped trying to connect to localhost:7007.

@emichaf did the suggestions above work for you? Do you need any further assistance?


Stop old builds when a new commit is pushed in a PR

On each new commit, we'll cancel old builds that provide no value. This adds the mandatory BACKPORTER_DRONE_TOKEN environment variable.
Drone API references:

Authentication: https://docs.drone.io/api/overview/
Listing recent builds: https://docs.drone.io/api/builds/build_list/
Stopping builds: https://docs.drone.io/api/builds/build_stop/

I manually tested this.

Seems like this is actually implemented in drone as "Auto Cancel Running", and we don't need the bot to do it.
Came in https://github.com/harness/drone/pull/3126

Let's try the drone setting @techknowlogick, if it does not work, we can let the bot do it.


where is  run_lstm.py?

HI! I'm considering running a hydrid DNN with BLSTM and a couple of feedforward hidden layers. I have been able to run a feedforward DNN with submit.sh run_merlin.py. But I read the following
Deep Feedforward Neural Network
An example config file can be found in the './recipes/dnn' directory. Please use 'submit.sh ./run_lstm.py ./recipes/dnn/feed_foward_dnn.conf' to build the feedforward neural network. Please modify the config file to adapt to your own working environment (e.g., data path).
at this site -
https://github.com/CSTR-Edinburgh/merlin/blob/master/doc/source/index.rst#deep-feedforward-neural-network
So where is the run_lstm.py?

There is no run_lstm.py -- you can use the same script to run LSTM as well. You need to change the configuration file.
Replace TANH to LSTM/BLSTM and set sequential_training to True.


Toolchain download issue

Type: Performance Issue
I have been trying to download a toolchain at all hours of the day. For a while it will go somewhat, but then it will halt.
nRF Connect SDK Toolchain v2.6.0
It will not finish. The most I have seen is about 75%. Usually it halts at 10% to 15%.
What can I do to download this toolchain?
VS Code version: Code 1.88.0 (5c3e652f63e798a5ac2f31ffd0d863669328dc4c, 2024-04-03T13:26:18.741Z)
OS version: Windows_NT x64 10.0.19045
Modes:

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz (4 x 3403)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: unavailable_offvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
15.89GB (12.37GB free)

Process Argv
--crash-reporter-id 5a7bf81f-c974-446e-b996-c125dd625083

Screen Reader
no

VM
0%

Process Info
CPU %	Mem MB	   PID	Process
    0	    98	  9204	code main
    0	    27	   848	   crashpad-handler
    0	    91	  4448	window [2] (Issue Reporter)
    0	   110	  4712	   gpu-process
    0	    40	  7576	   utility-network-service
    0	   153	  8500	window [1] (Welcome - Visual Studio Code)
    0	   172	  8564	extensionHost [1]
    0	    10	  6660	     c:\Users\Guido\.vscode\extensions\nordic-semiconductor.nrf-connect-2024.3.25-win32-x64\platform\nrfutil\bin\nrfutil-toolchain-manager --json install --ncs-version v2.6.0
    0	    10	  5596	       C:\Windows\system32\conhost.exe 0x4
    0	    17	 10612	     c:\Users\Guido\.vscode\extensions\nordic-semiconductor.nrf-connect-2024.3.25-win32-x64\platform\nrfutil\bin\nrfutil-device --json list --hotplug --traits seggerUsb
    0	    10	 10628	       C:\Windows\system32\conhost.exe 0x4
    0	    12	 11128	     c:\Users\Guido\.vscode\extensions\ms-vscode.cpptools-1.19.9-win32-x64\bin\cpptools.exe
    0	     3	 10356	       "c:\Users\Guido\.vscode\extensions\ms-vscode.cpptools-1.19.9-win32-x64\bin\cpptools.exe"
    0	    10	 11244	       C:\Windows\system32\conhost.exe 0x4
    0	   103	  9332	shared-process
    0	    80	  9352	fileWatcher [1]

Workspace Info
;

Extensions (7)

Extension
Author (truncated)
Version

cpptools
ms-
1.19.9

nrf-connect
nor
2024.3.25

nrf-connect-extension-pack
nor
2023.11.3

nrf-devicetree
nor
2024.3.78

nrf-kconfig
nor
2024.3.21

nrf-terminal
nor
2024.3.15

gnu-mapfiles
tro
1.1.0

A/B Experiments
vsliv368cf:30146710
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscorecescf:30445987
vscod805:30301674
binariesv615:30325510
vsaa593:30376534
py29gd2263:30899288
c4g48928:30535728
azure-dev_surveyone:30548225
962ge761:30959799
9b8hh234:30694863
pythongtdpath:30769146
welcomedialogc:30910334
pythonidxpt:30866567
pythonnoceb:30805159
asynctok:30898717
pythontestfixt:30902429
pythonregdiag2:30936856
pyreplss1:30897532
pythonmypyd1:30879173
pythoncet0:30885854
2e7ec940:31000449
pythontbext0:30879054
accentitlementst:30995554
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
cppperfnew:31000557
d34g3935:30971562
fegfb526:30981948
bg6jg535:30979843
ccp2r3:30993541
dsvsc020:30976470
pythonait:31006305
jchc7451:30973076
gee8j676:31009558
dsvsc021:30996838
gd77d436:30999572
f3je6385:31013174

Have you raised this with the authors of the nRF extensions you are using?

I have not. But the issue was resolved as soon as I used a vpn to download the extension. I have no clue as to why that would be required.
Issue resolved. Thanks for responding.

From: John Murray @.>
Sent: Thursday, April 11, 2024 9:31 AM
To: microsoft/vscode @.>
Cc: Guido van Veldhuizen @.>; Author @.>
Subject: Re: [microsoft/vscode] Toolchain download issue (Issue #210160)
Have you raised this with the authors of the nRF extensions you are using?
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/vscode/issues/210160#issuecomment-2049969419, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BHXNPXBEYUFBE7K75HIOTULY42UE3AVCNFSM6AAAAABGCHGZZ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBZHE3DSNBRHE.
You are receiving this because you authored the thread.Message ID: @.***>


added child xPath selector

maybe create a xpath axes can help with cases that the lib doesn't support, like in this cases https://github.com/voku/simple_html_dom/issues/102

This change is

coverage: 65.833% (-0.3%) from 66.091% when pulling d56fe1c0b3b9bed77db5346c29963a8573646111 on scorninpc:master into 9ef90f0280fe16054c117e04ea86617ce0fcdd35 on voku:master.


#110 Add Grafana dashboard visualizing important Poseidon stats.

Closes #110
The open ToDo's of #110 seem to be implemented. What do you think?

I like the dashboard, it is really beautiful 🧑🎨
I just have a few remaining questions (checked with a time range of 24h)

For the idle Runner line chart, hovering with my courses yields 19.5 runners. How could that be or is that just a visualisation issue?
Could we ensure that the coolers per execution environment are unique and equal across all boards? I asked that previously, I know. Today, the "Executions per runner" shows 10 and 28 in green, whereas the "Executions per minute" had yellow for 28 and the "Execution duration" used blue for 28.
Can we fix the color for the two new gauges ("current environment count" and "currently used runners")? As the one with the most has a lighter color, staging had a gray color on the left and production a gray on the right. Not that important, though.
My all-time-favoritue: What about a mapping for the id to a user-friendly name? 🤓

For the idle Runner line chart, hovering with my courses yields 19.5 runners. How could that be or is that just a visualisation issue?

This is because of aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false). If you zoom into a smaller timespan the 19.5 values resolve to multiple events having a value of 20 or 19. We could change it to
  |> aggregateWindow(
    every: v.windowPeriod,
    fn: (tables=<-, column) => tables |> median(method: "exact_selector"),
    createEmpty: false
  )

to avoid the fractional values.
I double checked this with the following query resulting in no data:
import "math"
from(bucket: "poseidon/autogen")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_field"] == "count")
  |> filter(fn: (r) => math.modf(f: float(v: r._value)).frac != 0)

Thanks for checking, your analysis sounds valid and reassures me that everything is fine. I also checked your suggestion, and would prefer something (such as a median) to ensure we are not showing any fraction values here. Besides changing that, could we also change the number of "max data points" (in the query options)? At least for a timespan larger than 6 hours (12 hours and more), the default seems a bit too small and hides some details (i.e. ~1300 on my machine in single view mode, which is not that much for 24 hours).

Hm, I like that the "max data points" value is set dynamically to the width of the panel. Because of that I would rather not change it to a static value. But since the value in combination with the time range generates the windowPeriod I have adjusted this value this way (increased the data points by factor 5):
myWindowPeriod = if int(v: v.windowPeriod) >= int(v: 30s) then duration(v: int(v: v.windowPeriod) * 5) else v.windowPeriod

Could we ensure that the coolers per execution environment are unique and equal across all boards?

Unfortunately I have not found such a functionality within Grafana. Instead, I remembered that in the context of Grafana as Code including Grafanalib and jsonnet this is claimed as one of their advantages.
Because I was interested and had not much motivation to copy paste the color overwrites to the 12 panels that should be synced, I granted myself a timebox to setup grafanalib. You can see the results of this timebox in the WIP commit (that I can revert if we conclude so).
I find it useful. It is just writing the dashboard json in a more structured way with the potential of reusing parts such as our color mapping. It takes effort to translate our dashboard into python but this is way less than the effort for creating the panels and queries. The pros and cons collected here are still valid. My biggest issue was splitting the Python script into several files (which I still couldn't figure out).

Can we fix the color for the two new gauges ("current environment count" and "currently used runners")?

Maybe the gauge type was not that fitting. I have changed it into a "Stat".

My all-time-favoritue: What about a mapping for the id to a user-friendly name? :nerd_face:

As discussed I have done this by joining with the poseidon_environments measurement.

Hm, I like that the "max data points" value is set dynamically to the width of the panel. Because of that I would rather not change it to a static value. But since the value in combination with the time range generates the windowPeriod I have adjusted this value this way (increased the data points by factor 5):
myWindowPeriod = if int(v: v.windowPeriod) >= int(v: 30s) then duration(v: int(v: v.windowPeriod) * 5) else v.windowPeriod

I also agree and prefer the "max data points" value to be set dynamically. Maybe I am just surprised by the visualisation, as it does not align with my expectation:

For the last days, I would expect that the dashboard mostly shows 20 runners for Python:3.8. That's not the case, but rather a long line of 19 (2022-08-14, 24hours).
Also, I would expect to see small changes, e.g., from 20 to 19 if a runner is used. With the current visualisation (incl. your suggestions), those differences are not visible but flatten out. If I dramatically increase the "max data points" to 12.000 points, I see those smaller differences with weird? triangle shapes (90° angle from 19 to 20 and a diagonal line to the next 19 data point).

Does it make sense what I am describing? Maybe, my comment about the "max data points" was not specific enough, and it might not fix my problem, but rather reveal some more questions 😅

Could we ensure that the coolers per execution environment are unique and equal across all boards?

Unfortunately I have not found such a functionality within Grafana. Instead, I remembered that in the context of Grafana as Code including Grafanalib and jsonnet this is claimed as one of their advantages. Because I was interested and had not much motivation to copy paste the color overwrites to the 12 panels that should be synced, I granted myself a timebox to setup grafanalib. You can see the results of this timebox in the WIP commit (that I can revert if we conclude so).
I find it useful. It is just writing the dashboard json in a more structured way with the potential of reusing parts such as our color mapping. It takes effort to translate our dashboard into python but this is way less than the effort for creating the panels and queries. The pros and cons collected here are still valid. My biggest issue was splitting the Python script into several files (which I still couldn't figure out).

Thanks for taking the time and testing that! In general it looks pretty promising -- I would just be interested how to "deploy" it. I see three options:

Drop the requirement
Use the "Grafana as code" approach
Check wether we could provide this data through Poseidon / CodeOcean to influx. Similar to the environment name, we could add an additional attribute to define a color there. This would also allow us to use the same color on the legacy visualisations in CodeOcean.

What do you think, especially about the third option? If we want to continue with the second, I would propose to extract that to a different ticket.

Good questions! It was very interesting and helpful for me gaining an understanding of why this is so.

For the last days, I would expect that the dashboard mostly shows 20 runners for Python:3.8. That's not the case, but rather a long line of 19 (2022-08-14, 24hours).

Often there are exactly as much events having 19 idle runners as there are events with 20 runners. In this case median(method: "exact_selector") returns 19. A side cause may that sometimes there are even less than 19 idle runners - leading the median to be smaller.

I see those smaller differences with weird? triangle shapes (90° angle from 19 to 20 and a diagonal line to the next 19 data point).

Let's first take a look at the 90° angle. When do these angles appear? When we join the graph of idle runners (green) with the events of new started runner (yellow, static arbitrary value) we see that they happen in the moment someone requests a new runner.

In the panel Runner startup duration we see that for this environment a runner needs about 700ms to startup. If we take a closer look at the 90° we can observe that its not exactly 90° - between those events is about one second. This second is matching with the 700ms for the runner startup. So we see that a runner is used (value 19) and it is immediately refilled (value 20).
The "diagonal line to the next 19 data point" is caused by the fact that we do not send events in between - but if we did they would have the value 20.

What do you think, especially about the third option? If we want to continue with the second, I would propose to extract that to a different ticket.

Also the third option sounds good but unfortunately I do not know enough about Grafana to change the color based on some value (nor I found information to it). The only option I know about is to use the overwrites (as we already do at some places)(Also thresholds can change the color). Do you know such a Grafana feature to use a passed value as color?

In the panel Runner startup duration we see that for this environment a runner needs about 700ms to startup. If we take a closer look at the 90° we can observe that its not exactly 90° - between those events is about one second. This second is matching with the 700ms for the runner startup. So we see that a runner is used (value 19) and it is immediately refilled (value 20).

Thanks for explaining and digging into that. What if we send two events each time we use a runner (old value / current value) or start a new runner (before starting / once started)? Based on your previous screenshot, I made a drawing:

There, each runner used has four events (instead of the two we have currently). This would allow us to always connect two events with a straight line that would represent the current value at that time. Maybe, we would also need to redefine the usage of the median value in this case, but I feel we don't have the correct / complete data yet.

What do you think, especially about the third option? If we want to continue with the second, I would propose to extract that to a different ticket.

Also the third option sounds good but unfortunately I do not know enough about Grafana to change the color based on some value (nor I found information to it). The only option I know about is to use the overwrites (as we already do at some places and would also do with the second option)(Also thresholds can change the color). Do you know such a Grafana feature to use a passed value as color?

Unfortunately, I also don't know enough about Grafana to achieve that. Also my web search did not yield any programmatic way, people only refer to the (manual) overrides. It seems that we cannot use this option or would need to change it per graph. Maybe, the grafana-as-code option is the easier and more sustainable one?

Thanks for explaining and digging into that. What if we send two events each time we use a runner (old value / current value) or start a new runner (before starting / once started)? Based on your previous screenshot, I made a drawing:
There, each runner used has four events (instead of the two we have currently). This would allow us to always connect two events with a straight line that would represent the current value at that time. Maybe, we would also need to redefine the usage of the median value in this case, but I feel we don't have the correct / complete data yet.

In our discussion we conclude that we use the Grafana line interpolation "step after" that makes the graph look like in the drawing. Additionally we want to add periodically events (each minute) and use the min aggregator instead of the median.

After the merge we need to adjust some queries due to the new tag "event_type".


Special attack Deffence pure

I have been playing defense pure for many years, every time with pk I have to look at my watch to know when I will have dfs special again .. I would like to add a plugin that shows the time of reuse, thank you and I hope you will do it for me and other deffence pure

The Spec Regen Timer plugin on the Plugin Hub does this.


totalsegmentator changes global torch settings without restoring original state

Hey all,
I noticed that global torch settings are changed when totalsegmentator.python_api.totalsegmentator is called.
They are not restored once the function finishes and can lead to significant performance degradation of follow-up torch functions.
I observed the following settings being changed:
  "torch_settings.num_threads": { # torch.set_num_threads(...)
    "old": 8,
    "new": 1
  },
  "cudnn_settings.benchmark": { # torch.backends.cudnn.benchmark = ...
    "old": false,
    "new": true
  }

Please make sure that totalsegmentator has no such side effects and either restores the global state or is isolated in it's own process.

This is happening somewhere in the nnunet package. I will investigate that but might take some time. A fast solution would be to call TotalSegmentator from within python as a shell command via subprocess.call. Not very elegant but works.


language presenter

after obfuscating, the list of languages to which the text was translated is shown in a seperate text field

this has been added in pull request #8

Closed with #8


doc: add detectors section to readme

Short description of the changes

Add the detectors section to README for discoveribility.

Lint failure is unrelated


Wind Cost Updates

@dguittet did these get updated with the last release?

I don't think so. Looks like the last time the wind costs were updated is https://github.com/NREL/SAM/commit/bfa5bf448c5cccd73a35570c2e88855a8dafc2da from ATB 2019 values.


Waypoint Sandwich

Opening this issue as a place to discuss and iterate on ideas for sandwiching Waypoint with the zTunnel.
The basic idea is: handling HBONE with the zTunnel instead of in the Waypoint. Capture traffic for the Waypoint as we do other apps.
Motivations:

Simplify the Waypoint's implementation
Reduce the work required to bringing alternative Waypoint implementations

Some basic requirements in implementing this:

Propagate metadata for L7 telemetry. We would likely leverage MDS (#43937) if metadata isn't propagated inline.
Propagate the identity validated by the zTunnel. This should be signed in some way that the Wyapoint can validate.
Preserve source/destination IP info.

I have a very work in progress prototype that uses PROXY protocol to inform the Waypoint of:

Source/Destination address (part of PROXY natively)
Identity. Currently very hacky, just send the spiffe:// with a PROXY TLV header.

The zTunnel will see the TCP connection IP of the waypoint while the CONNECT header contains the actual destination. When these are different and the actual destination has a waypoint, we will send PROXY. This should properly validate these two IPs actually have this association, or rely on a signal from the control plane.
A custom Envoy filter uses the TLV to set the peer identity. Instead of sending the identity directly, we need something with a verifiable signature. Metadata for telemetry isn't yet handled.
The control plane changes modify Waypoint xDS to remove the decap listener, and expose what was the internal listener on a port. Eventually we'd like this to be a UNIX socket, and/or secured over (m)TLS.
https://github.com/stevenctl/proxy/tree/sandwich
https://github.com/stevenctl/ztunnel/tree/sandwich
https://github.com/stevenctl/istio/tree/sandwich

Build Envoy (I use the gcr.io/istio-testing/build-tools-proxy image)
Build zTunnel
3.Copy binaries to Istio directory for building images.
Build images:

export HUB=localhost:5000 TAG=sandwich
./tools/docker --targets pilot,proxyv2,ztunnel,install-cni --push

Create cluster with 3 nodes:

export KIND_REGISTRY_NAME=kind-registry # this is the stanard istio testing one
kind create cluster --config=- <<EOF
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
name: ambient
nodes:
- role: control-plane
- role: worker
- role: worker
containerdConfigPatches:
- |-
  [plugins."io.containerd.grpc.v1.cri".registry.mirrors."localhost:5000"]
    endpoint = ["http://${KIND_REGISTRY_NAME}:5000"]
EOF

Install Gateway API CRDs

 curl -L https://github.com/kubernetes-sigs/gateway-api/releases/download/v0.8.1/experimental-install.yaml | kubectl apply -f -

Install Istio

go run ./istioctl/cmd/istioctl install -y -f $ISTIO/ambient-perf/iop.yaml --set hub=$HUB \
--set tag=$TAG --set values.global.imagePullPolicy=Always --manifests=$ISTIO/manifests

Enable ambient, deploy waypoint

go run ./istioctl/cmd/istioctl x waypoint apply
kubectl label ns default istio.io/dataplane-mode=ambient

(Optional) Force waypoint onto a specific node

kubectl patch deployments.apps namespace-istio-waypoint --type=merge -p='{"spec":{"template":{"spec": {"nodeName": "ambient-control-plane"}}}}'

Setup apps (using some perf testing stuff for now.. the charts force things onto specific nodes)

cd ambient-perf
./install.sh nighthawk

Run test traffic (could also just exec pods yourself)

 CONNECTIONS=1 DURATION=1 ./tests/nighthawk/test.sh

Apply authz policy and test again (should fail)

kubectl apply -f authz.yaml
CONNECTIONS=1 DURATION=1 ./tests/nighthawk/test.sh

Hi @stevenctl could you update the issue on what has been done?  I think this has been prototyped:

[x]  Propagate the identity validated by the zTunnel. This should be signed in some way that the Wyapoint can validate.
[x]  Preserve source/destination IP info.

@stevenctl what is the latest on this? I recall the ambient dev team reviewed this 2-3 weeks ago and decided we should go with the proxy protocol approach.

The biggest open questions are:

Secure naming. How can the waypoint use it's outbound zTunnel to ensure the remote presents the expected identity.
Getting metadata from the waypoint ztunnel to the waypoint. WDS is fine, but we might be able to put this into the PROXY headers as well.
Post LB metadata: after the Waypoint picks an upstream, how can we get (preferably signed) metadata from the ztunnel back into the waypoint?

The biggest open questions are:

Secure naming. How can the waypoint use it's outbound zTunnel to ensure the remote presents the expected identity.
Getting metadata from the waypoint ztunnel to the waypoint. WDS is fine, but we might be able to put this into the PROXY headers as well.
Post LB metadata: after the Waypoint picks an upstream, how can we get (preferably signed) metadata from the ztunnel back into the waypoint?

Can you describe the exact network path?   Just in case there is a misunderstanding of the specific realization, thanks .
[ sleep -> ztunnel ]  -> [ ztunnel -> waypoint for httpbin ] -> [ ztunnel -> httpbin] ??

@zengyuxing007 slightly different
[ sleep -> ztunnel ] -> [ ztunnel -> waypoint for httpbin -> **ztunnel again, outbound ** ] -> [ ztunnel inbound -> httpbin]

Current state:

Istiod doesn't have any special requirements for which GatewayClasses can be a waypoint. This means anything that supports HTTP can be a waypoint using basic Host header routing (see TestSimpleHTTPSandwich).
ambient.istio.io/waypoint-inbound-binding on a GatewayClass can override the port that an inbound zTunnel sends to the waypoint it's terminating mTLS on behalf of. (This is how one can enable PROXY protocol to the waypoint.)
zTunnel supports sending PROXY protocol to the waypoint. It will set the original source and destination addresses, and forward the validated source identity as a TLV header (0xD0)
See https://gist.github.com/stevenctl/ec2ddae79734f8f9367400961ca9c48f for a sample of PROXY support.

Whether we add a sandwiched mode to Istio's own Waypoint is yet to be decided.


Fastlane canot automatically sign the app in High Sierra (10.13.1)

New Issue Checklist

[x] I have been tried with the laster version 2.68. and version 2.64.1
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
Branding a new app for the fist time in High Sierr, Fastlane cannot sigh the app.
Complete output when running fastlane, including the stack trace and command used
[[33m▸ Signing /Users/jenkins/Library/Developer/Xcode/DerivedData/JMango360-bmoxcuvzmgnulwbfxrcqcqgjrook/Build/Intermediates.noindex/ArchiveIntermediates/JMango360/InstallationBuildProductsLocation/Applications/JMango360.app
** ARCHIVE FAILED **

[33m▸ Signing /Users/jenkins/Library/Developer/Xcode/DerivedData/360-bmoxcuvzmgnulwbfxrcqcqgjrook/Build/Intermediates.noindex/ArchiveIntermediates/360/InstallationBuildProductsLocation/Applications/360.app
** ARCHIVE FAILED **

The following build commands failed:
CodeSign /Users/jenkins/Library/Developer/Xcode/DerivedData/360-bmoxcuvzmgnulwbfxrcqcqgjrook/Build/Intermediates.noindex/ArchiveIntermediates/360/InstallationBuildProductsLocation/Applications/360.app
(1 failure)
[10:46:51]: Exit status: 65

+---------------+------------------------------------+
|                 Build environment                  |
+---------------+------------------------------------+
| xcode_path    | /Users/jenkins/Documents/Xcode.app |
| gym_version   | 2.64.1                             |
| export_method | app-store                          |
| sdk           | iPhoneOS11.2.sdk                   |
+---------------+------------------------------------+

[10:46:51]: ▸ <PHONE_NUMBER>56-45<PHONE_NUMBER>56-aa15-68)**
[10:46:51]: ▸     /usr/bin/codesign --force --sign 1234qwertyui1234567nbvcf --entitlements /Users/jenkins/Library/Developer/Xcode/DerivedData/360-bmoxcuvzmgnulwbfxrcqcqgjrook/Build/Intermediates.noindex/ArchiveIntermediates/360/IntermediateBuildFilesPath/360.build/Release-iphoneos/360.build/360.app.xcent --timestamp=none /Users/jenkins/Library/Developer/Xcode/DerivedData/360-bmoxcuvzmgnulwbfxrcqcqgjrook/Build/Intermediates.noindex/ArchiveIntermediates/360/InstallationBuildProductsLocation/Applications/360.app
[10:46:51]: ▸ /Users/jenkins/Library/Developer/Xcode/DerivedData/360-bmoxcuvzmgnulwbfxrcqcqgjrook/Build/Intermediates.noindex/ArchiveIntermediates/360/InstallationBuildProductsLocation/Applications/360.app: unknown error -1=ffffffffffffffff
[10:46:51]: ▸ Command /usr/bin/codesign failed with exit code 1]

Then, I run the command in terminal:
/usr/bin/codesign --force --sign 1234qwertyui1234567nbvcf --entitlements /Users/jenkins/Library/Developer/Xcode/DerivedData/360-bmoxcuvzmgnulwbfxrcqcqgjrook/Build/Intermediates.noindex/ArchiveIntermediates/360/IntermediateBuildFilesPath/360.build/Release-iphoneos/360.build/360.app.xcent --timestamp=none /Users/jenkins/Library/Developer/Xcode/DerivedData/360-bmoxcuvzmgnulwbfxrcqcqgjrook/Build/Intermediates.noindex/ArchiveIntermediates/360/InstallationBuildProductsLocation/Applications/360.app

and it popup a box to ask for access the certificate in keychain, I input the password to always allow it. After that, we can brand the app successfully.
After that, Fastlane can sign the app and build the app successfully.
This only happens for the first time app is built.
This error not happened in previous OS.
Environment
🚫 fastlane environment 🚫
Stack

Key
Value

OS
10.13.1

Ruby
2.3.3

Bundler?
false

Git
git version 2.14.3 (Apple Git-98)

Installation Source
~/.rbenv/versions/2.3.3/bin/fastlane

Host
Mac OS X 10.13.1 (17B1003)

Ruby Lib Dir
~/.rbenv/versions/2.3.3/lib

OpenSSL Version
OpenSSL 1.0.2j  26 Sep 2016

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
~/Documents/Xcode.app/Contents/Developer/

Xcode Version
9.2

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE

fastlane files:
No Fastfile found
No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.64.1
🚫 Update available

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.0.0

slack-notifier
1.5.1

CFPropertyList
2.3.4

claide
1.0.2

colored2
3.1.2

nanaimo
0.2.3

xcodeproj
1.5.3

rouge
1.11.1

xcpretty
0.2.4

terminal-notifier
1.7.1

terminal-table
1.4.5

plist
3.2.0

public_suffix
2.0.4

addressable
2.5.1

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.5.0

babosa
1.0.2

colored
1.2

highline
1.7.8

commander-fastlane
4.4.5

excon
0.54.0

faraday
0.10.0

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20161129

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.1.0

gh_inspector
1.0.2

json
1.8.3

mini_magick
4.5.1

multi_json
1.12.1

multi_xml
0.5.5

rubyzip
1.1.7

security
0.1.3

xcpretty-travis-formatter
0.0.4

dotenv
2.1.1

bundler
1.13.6

faraday_middleware
0.10.1

uber
0.0.15

declarative
0.0.9

declarative-option
0.1.0

representable
3.0.4

retriable
2.1.0

mime-types-data
3.2016.0521

mime-types
3.1

little-plugger
1.1.4

logging
2.1.0

jwt
1.5.6

memoist
0.15.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
<IP_ADDRESS>

google-api-client
0.13.4

io-console
0.4.5

generated on: 2017-12-08

Could you share the command that you are using to execute fastlane? Thanks! 🚀

hi @ohayon
this is my fastlane:
desc "Deploy a new version to the App Store using Match"
  lane :appstore_match do
    unlock_keychain(path: "login.keychain", password: KEYCHAIN_PASSWORD)

    sh "fastlane fastlane-credentials add --username '" + FASTLANE_USER +  "' --password '" + KEYCHAIN_PASSWORD + "'"
    #set_google_info_plist_value
    match(type: "appstore")
    increment_build_number(build_number: BUILD_NUMBER)
    xcclean(scheme: "360")

    # clear jmango pods
    sh "pod install"
    sh "sed -i '' 's/ProvisioningStyle = Automatic;/ProvisioningStyle = Manual;/' '#{ENV["PROJECT_DIR"]}'/360.xcodeproj/project.pbxproj"
     sh "/usr/libexec/PlistBuddy -c 'Set :Preview  YES' ../360/Info.plist"
    #set_info_plist_value(path: '360/Info.plist', key: 'Preview', value: "YES")

    gym(scheme: "360", codesigning_identity: CODE_SIGN_IDENTITY,
        xcargs: "DEVELOPMENT_TEAM=" + ENV["TEAM_ID"] +" " "PROVISIONING_PROFILE_SPECIFIER='" + ENV['sigh_' + ENV['BUNDLE_IDENTIFIER'] + '_appstore_profile-name'] +"'" +" " "PRODUCT_BUNDLE_IDENTIFIER=" + ENV["BUNDLE_IDENTIFIER"])
    upload_ipa
    #sh "fastlane pem renew"
    sh "fastlane fastlane-credentials remove --username $FASTLANE_USER"

  end

Please note that: it worked before but after I update my OS into high Sierra, it cannot sign the app for first time without manually allow access key in my keychain

follow the link https://stackoverflow.com/a/40039594/1920536 and it works


unable to use EVP_bf_ecb() with OpenSSL 3.0.5

Following code fails with OpenSSL 3.0.5:
#include <assert.h>
#include <openssl/evp.h>
#include <openssl/err.h>

int main()
{
    unsigned char key[32];

    auto evp = EVP_CIPHER_CTX_new();
    if (evp == NULL) {
        assert(!"EVP_CIPHER_CTX_new");
    }

    assert(EVP_bf_ecb());

    //if (!EVP_EncryptInit_ex(evp, EVP_aes_192_ecb(), NULL, key, NULL)) { -- this works
    if (!EVP_EncryptInit_ex(evp, EVP_bf_ecb(), NULL, key, NULL)) {  // -- this fails
        printf("%s\n", ERR_error_string(ERR_get_error(), NULL));
        assert(!"EVP_EncryptInit_ex");
    }
}

Test output with OpenSSL 3.0.5:
$ g++ test-bf-ecb.cpp ./ad4910fad22d57c6d685b0ca83bdb7b2bf69d8fd/libcrypto.a -ldl -pthread
$ ./a.out
error:0308010C:digital envelope routines::unsupported
a.out: test-bf-ecb.cpp: int main(): Assertion `!"EVP_EncryptInit_ex"' failed.
Aborted

Same code works with 1.1.1:
$ g++ test-bf-ecb.cpp ./c3efe5c96128d699f0884128ce905906bc28ed34/libcrypto.a -ldl -pthread
$ ./a.out
$ echo $?
0

OpenSSL 3.0.5 was built with bf support, build configuration:
openssl/ad4910fad22d57c6d685b0ca83bdb7b2bf69d8fd$ perl configdata.pm --dump

Command line (with current working directory = .):

    /usr/bin/perl ./Configure linux-x86_64 no-ssl3 no-zlib no-md2 no-heartbeats no-rc2 no-rc5 no-weak-ssl-ciphers no-gost no-async no-shared no-unit-test --debug --prefix=[...]/openssl/ad4910fad22d57c6d685b0ca83bdb7b2bf69d8fd/artifacts --openssldir=[...]/openssl/ad4910fad22d57c6d685b0ca83bdb7b2bf69d8fd/artifacts

Perl information:

    /usr/bin/perl
    5.30.0 for x86_64-linux-gnu-thread-multi

Enabled features:

    afalgeng
    aria
    asm
    autoalginit
    autoerrinit
    autoload-config
    bf
    blake2
    bulk
    cached-fetch
    camellia
    capieng
    cast
    chacha
    cmac
    cmp
    cms
    comp
    ct
    deprecated
    des
    dgram
    dh
    dsa
    dso
    dtls
    ec
    ec2m
    ecdh
    ecdsa
    engine
    err
    filenames
    idea
    legacy
    makedepend
    md4
    mdc2
    module
    multiblock
    nextprotoneg
    ocb
    ocsp
    padlockeng
    pic
    pinshared
    poly1305
    posix-io
    psk
    rc4
    rdrand
    rfc3779
    rmd160
    scrypt
    secure-memory
    seed
    siphash
    siv
    sm2
    sm3
    sm4
    sock
    srp
    srtp
    sse2
    ssl
    ssl-trace
    static-engine
    stdio
    tests
    threads
    tls
    ts
    ui-console
    whirlpool
    tls1
    tls1-method
    tls1_1
    tls1_1-method
    tls1_2
    tls1_2-method
    tls1_3
    dtls1
    dtls1-method
    dtls1_2
    dtls1_2-method

Disabled features:

    acvp-tests          [cascade]        OPENSSL_NO_ACVP_TESTS
    asan                [default]        OPENSSL_NO_ASAN
    async               [option]         OPENSSL_NO_ASYNC
    buildtest-c++       [default]
    crypto-mdebug       [default]        OPENSSL_NO_CRYPTO_MDEBUG
    devcryptoeng        [default]        OPENSSL_NO_DEVCRYPTOENG
    dynamic-engine      [cascade]
    ec_nistp_64_gcc_128 [default]        OPENSSL_NO_EC_NISTP_64_GCC_128
    egd                 [default]        OPENSSL_NO_EGD
    external-tests      [default]        OPENSSL_NO_EXTERNAL_TESTS
    fips                [default]
    fips-securitychecks [cascade]        OPENSSL_NO_FIPS_SECURITYCHECKS
    fuzz-afl            [default]        OPENSSL_NO_FUZZ_AFL
    fuzz-libfuzzer      [default]        OPENSSL_NO_FUZZ_LIBFUZZER
    gost                [option]         OPENSSL_NO_GOST
    ktls                [default]        OPENSSL_NO_KTLS
    loadereng           [cascade]        OPENSSL_NO_LOADERENG
    md2                 [option]         OPENSSL_NO_MD2 (skip crypto/md2)
    msan                [default]        OPENSSL_NO_MSAN
    rc2                 [option]         OPENSSL_NO_RC2 (skip crypto/rc2)
    rc5                 [option]         OPENSSL_NO_RC5 (skip crypto/rc5)
    sctp                [default]        OPENSSL_NO_SCTP
    shared              [option]
    trace               [default]        OPENSSL_NO_TRACE
    ubsan               [default]        OPENSSL_NO_UBSAN
    unit-test           [option]         OPENSSL_NO_UNIT_TEST
    uplink              [no uplink_arch] OPENSSL_NO_UPLINK
    weak-ssl-ciphers    [option]         OPENSSL_NO_WEAK_SSL_CIPHERS
    zlib                [option]
    zlib-dynamic        [default]
    ssl3                [option]         OPENSSL_NO_SSL3
    ssl3-method         [default]        OPENSSL_NO_SSL3_METHOD                                                                                [73/300]

Config target attributes:

    AR => "ar",
    ARFLAGS => "qc",
    CC => "gcc",
    CFLAGS => "-Wall -O0 -g",
    CXX => "g++",
    CXXFLAGS => "-Wall -O0 -g",
    HASHBANGPERL => "/usr/bin/env perl",
    RANLIB => "ranlib",
    RC => "windres",
    asm_arch => "x86_64",
    bn_ops => "SIXTY_FOUR_BIT_LONG",
    build_file => "Makefile",
    build_scheme => [ "unified", "unix" ],
    cflags => "-pthread -m64",
    cppflags => "",
    cxxflags => "-std=c++11 -pthread -m64",
    defines => [ "OPENSSL_BUILDING_OPENSSL" ],
    disable => [  ],
    dso_ldflags => "-Wl,-z,defs",
    dso_scheme => "dlfcn",
    enable => [ "afalgeng" ],
    ex_libs => "-ldl -pthread",
    includes => [  ],
    lflags => "",
    lib_cflags => "",
    lib_cppflags => "-DOPENSSL_USE_NODELETE -DL_ENDIAN",
    lib_defines => [  ],
    module_cflags => "-fPIC",
    module_cxxflags => undef,
    module_ldflags => "-Wl,-znodelete -shared -Wl,-Bsymbolic",
    multilib => "64",
    perl_platform => "Unix",
    perlasm_scheme => "elf",
    shared_cflag => "-fPIC",
    shared_defflag => "-Wl,--version-script=",
    shared_defines => [  ],
    shared_ldflag => "-Wl,-znodelete -shared -Wl,-Bsymbolic",
    shared_rcflag => "",
    shared_sonameflag => "-Wl,-soname=",
    shared_target => "linux-shared",
    thread_defines => [  ],
    thread_scheme => "pthreads",
    unistd => "<unistd.h>",

Recorded environment:

    AR =
    ARFLAGS =
    AS =
    ASFLAGS =
    BUILDFILE =
    CC =
    CFLAGS =
    CPP =
    CPPDEFINES =
    CPPFLAGS =
    CPPINCLUDES =
    CROSS_COMPILE =
    CXX =
    CXXFLAGS =
    HASHBANGPERL =
    LD =
    LDFLAGS =
    LDLIBS =
    MT =
    MTFLAGS =
    OPENSSL_LOCAL_CONFIG_DIR =
    PERL =
    RANLIB =
    RC =
    RCFLAGS =
    RM =
    WINDRES =
    __CNF_CFLAGS =
    __CNF_CPPDEFINES =
    __CNF_CPPFLAGS =
    __CNF_CPPINCLUDES =
    __CNF_CXXFLAGS =
    __CNF_LDFLAGS =
    __CNF_LDLIBS =

Makevars:

    AR              = ar
    ARFLAGS         = qc
    CC              = gcc
    CFLAGS          = -Wall -O0 -g
    CPPDEFINES      =
    CPPFLAGS        =
    CPPINCLUDES     =
    CXX             = g++
    CXXFLAGS        = -Wall -O0 -g
    HASHBANGPERL    = /usr/bin/env perl
    LDFLAGS         =
    LDLIBS          =
    PERL            = /usr/bin/perl
    RANLIB          = ranlib
    RC              = windres
    RCFLAGS         =

NOTE: These variables only represent the configuration view.  The build file
template may have processed these variables further, please have a look at the
build file for more exact data:
    Makefile

build file:

    Makefile

build file templates:

    Configurations/common0.tmpl
    Configurations/unix-Makefile.tmpl

Blowfish is a legacy algorithm which means the legacy provider has to be loaded. Use the OSSL_PROVIDER_load() to load it before using the function. You will also need to load the default provider in that case if you want to use other algorithms along with it.

Blowfish is a legacy algorithm which means the legacy provider has to be loaded. Use the OSSL_PROVIDER_load() to load it before using the function. You will also need to load the default provider in that case if you want to use other algorithms along with it.

Thank you.
Just for the reference, I link libcrypto statically -- need to compile openssl with "no-module" so legacy provider is also in the binary.


[HUDI-7226] Fix clean-by-hour policy for race condition

Change Logs
lastVersionBeforeEarliestCommitToRetain is not honored by KEEP_LATEST_BY_HOURS policy. This essentially makes cleaner to remove an eligible file slice when it becomes non-latest. This could fail long-running queries in a race condition:

timeline contains a t0.deltacommit (not cleaned because it's latest)
a snapshot query starts and running
compaction runs and creates t1.commit
cleaner runs and remove t0 (because now t1.commit is the latest)
the query failed due to a log file belongs to t0.deltacommit is not found

Impact
Make cleaner logic more robust when use clean by hour policy.
Risk level
Low.
Documentation Update
NA
Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

This is covered in this PR https://github.com/apache/hudi/pull/10307 which also adds test cases


getSelectedDocument returns undefined when sketch app is not focused

I'm working on a plugin which has an event triggered from outside of the sketch app - the action is not done in sketch.
I'm using getSelectedDocument api and it returns undefined whenever the sketch app is not focused - notice that the document is open.
Any suggestion / workaround to solve this issue?
Thanks!

You can try const document = sketch.Document.fromNative(context.document) as a workaround.
I’ll fix this for the new Sketch version

Even if it’s not an action there is a context

You're right. Now I'm using as you suggested const document = sketch.Document.fromNative(context.document), but unexpectedly it creates and opens a new sketch document(named "Untitled") and document contains the data of the newly created document.

@mathieudutour I see a merged PR, but I'm still experiencing this. Perhaps I'm doing something wrong?
import { Document, Shape, UI, Style, Page } from "sketch";

const generate = () => {
  const document = Document.getSelectedDocument();
};

export default generate;

console> undefined

That's great news, thanks! :)


[Pages] Fix step to configure the web analytics for Pages in web-analytics-setup.mdx

Summary

Screenshots (optional)

Documentation checklist

[x] The documentation style guide has been adhered to.
[ ] If a larger change - such as adding a new page- an issue has been opened in relation to any incorrect or out of date information that this PR fixes.
[ ] Files which have changed name or location have been allocated redirects.

@WalshyDev Closing this PR as it appears that this error had already been fixed.


Logging / Monitoring

Monitoring is not working as expected. It produces way too many false-positives. Need to investigate how to better alert

Maybe use sentry?

Also, we need to make the status page available for public.

Enhanced the logging and fixed most issues. Still should investigate Sentry Workers instead of aws metrics


update with missing fields

Adding this PR against your branch to add in missing fields from https://www.openldap.org/doc/admin24/slapdconfig.html (section <IP_ADDRESS>)

Thanks!  I manually merge this to avoid a merge commit in the end while keeping correct authorship.


Could you provide a complete test code for convert_to_bvh.py?

Could you provide a complete test code for convert_to_bvh.py？Very Thanks.

The CSV file is missing, and there are many unclear places in the conversion from smpl to BVH. If you can provide a test sample, it will be very clear.

Sorry, this function (directly convert to bvh) hasn't been finished. I have been moved on to another function.
You can convert the outputs to .fbx first and then export bvh in Blender.
I will leave this issue open. I will comment on this issue when I complete this.


Replace Tslint with Eslint

TSLint is now deprecated as described in their article about it. For typescript projects I have now been using eslint directly with @typescript-eslint/eslint-plugin and @typescript-eslint/parser (as seen in cypress-firebase). This also makes it easy to integrate tools like prettier.
If you want I can work on switching things over if you would like - If so, do you have a linting preference in mind? Common styles include airbnb linting (semis and trailing commas) and standardjs linting (no unnecessary semis or trailing commas)

Yes, it sounds like the right thing to do.
I don't have some strong opinions about linters :)
I do use prettier with default settings as it makes my coding life a bit easier :)
I notice now I put .prettierrc in the UI repo but missed to put it here. I think I've put its default settings probably with the idea of having it unchanged if they decide to change some default option in the next major version. I'm not sure if it's a good strategy and am totally ok with changing it.
As for the style, though semis create some noice they are good for avoiding some strange js bugs. And trailing commas are good for clearer diffs.  What do you think? Do have preferences or advice?


Add Option for Mobile Code Verification Instead of Challenge Question for CROMMER Signing

Currently the only option for verification for CROMMER Signing is a Challenge Question. An additional option for Mobile Code Verification is to be added

User Story
As an ECMPS User in the Submit Process
I want the option to be able to have a mobile code sent to me
So that I am able to verify myself and complete the signature process
Requirements
Given a User is moving through the Submit Modal window
When the Modal Appears
And the User has verified their Credentials
Then an option will appear to verify themselves using a Challenge Question or a Mobile Code
Dev Notes

Use integrations wiht CDX to implement Mobile Code Functionality

Testing
Test Case:
Tester: Maegan Wood

Need PD Session for this one


NixOS Package

If we have an install guide (#5) I'd be happy to add it to the hyprland nix module

nevermind, it's already been merged into testing (https://github.com/NixOS/nixpkgs/pull/367113)

nevermind, it's already been merged into testing (NixOS/nixpkgs#367113)

Could you explain what this is? What package do I need to install in order to make the error go away on NixOS?

We just need to wait for it to be tested, and merged into unstable. I assume the stable chanel will recieve hypr-qtutils and Hyprland v46 (which needs it) at the same time

We just need to wait for it to be tested, and merged into unstable. I assume the stable chanel will recieve hypr-qtutils and Hyprland v46 (which needs it) at the same time

Oh, I see. Okay. I thought there was something I could do about it right now. Thanks a bunch for the response!


Option to run llvm-lines on particular example or test in the crate

(Feature request) An option that would be equivalent to --example X or --test Y, and show the instantiations for that target.

Yes please! Currently doing somewhat contorted test-embedded-in-a-binary-of-a-subcrate business to accomplish this.

--example is done in #42 :slightly_smiling_face:


Use GitHub releases

Hi @dalehenrich,
Currently, most people simply use the master branch in their .travis.yml which is great, because they always get the latest builderCI. But as we saw, changes like #85 can cause unwanted problems for these users.
How about you tag stable releases after some testing and turn them into GitHub releases?
We should be able to replace https://github.com/dalehenrich/builderCI/zipball/master with a link to the latest release, so that users will always get the latest stable builderCI.
Besides, if builderCI has more tags/releases, people can also use them instead in case they don't want/need updates.
Let me know what you think. I'd be happy to help you with this.
Regards,
Fabio

@fniephaus, that's not a bad idea ... all of my usage will stay with the master branch, but giving folks the option of locking in a tag is a good thing

@fniephaus I'm inclined to tag the current master as v1.0.0, unless you have a different idea ...

Sounds reasonable. And we eventually need to start with v1.0.0 :)

I just thought about it once more and it might be easier to also use a stable tag that we always move to the latest stable release.
So this all would look like this:

Latest (unstable): https://github.com/dalehenrich/builderCI/archive/master.zip
Latest (stable): https://github.com/dalehenrich/builderCI/archive/stable.zip
Specific version: https://github.com/dalehenrich/builderCI/archive/v0.9.0.zip

Unfortunately, GitHub does not seem to provide a direct way to download the latest release. All solutions to this problem require at least one more (API) request.
What do you think?

Yeah, I don't like using stable like this ... of course if you find it really useful, then I wouldn't say no, I'd just say that I don't use it ... Basically by definition the latest version on the master branch is the "latest stable". I don't push anything to the master branch that does not pass the unit tests, so in essence there is no difference between master and stable.
There is value in using tags for semantic versioning style api management ... with the major, minor and patch version numbers. patch version is incremented on bugfixes, minor version is incremented on backwards compatible api changes and major version is incremented on non-backwards compatible api changes ...
I added tag pattern matching to Metacello so that one could say that they wanted to use 1.0.? or 1.? or master ... which combines the best of both worlds ... the master branch is a rolling stable release that passes all tests. tagged versions are checkpoints along the master branch (usually) where documentation is written or the set of bugfixes/api changes is large enough to warrant announcing something

I see your point. And you're right, it's just too much overhead to maintain a stable tag/branch since the master should already be stable.
Besides, I agree ... semantic versioning is definitely the way to go here.
So let's stick to your suggestion then :smiley:

I see you deleted your v0.9.0 tag ... now is as good a time as any to start with v1.0.0:)

Yes, I just wanted to try something out but now I've tagged 8d7e6a255c7d00c7c0079182b6ccfc1e555f2ca7 as v1.0.0.
I hope you don't mind that I also cleaned up the legacy tags since they are still available in the original repository.

Looks good! Love it!

:smile:


Add video controls

What is your opinion on merging the Video and Media Controls examples?

Works for me. I was doing most of these in tunnel-vision mode: Get widget, make example according to guidelines, next.
It's a fair assessment to make that the video-controls and video-player example are going to be highly similar.
The main worry I might have is that the video example demonstrates controlling the mediastream on your own as well and I'm not sure whether that might be "too much stuff" in one widget example to have the media-control widget, video widget and buttons to control the media stream in one thing.
If that is still okay then I'll just merge the examples.


KeyError: 'features' in search.py

Hi, I followed the first piece of your tutorial here exactly, installing the latest versions of intake-stac and sat-search. However, when I try and run get_STAC_items() for the AWS Sentinel-2 collection, I get a traceback error stemming from the satsearch/search.py function.
import intake
from satsearch import Search

def get_STAC_items(url, collection, dates, bbox):
    results = Search(url=url,
                        collections=[collection],
                        datetime=dates,
                        bbox=bbox,
                        sortby=['-properties.datetime'])

    items = results.items()
    print(f'Found {len(items)} Items')

    return intake.open_stac_item_collection(items)

url = 'https://earth-search.aws.element84.com/v0'
collection = 'sentinel-s2-l2a-cogs' # sentinel-2 w/ atmospheric corrections
bbox = [-122.4, 41.3, -122.1, 41.5] # (min lon, min lat, max lon, max lat)
dates = '2020-01-01/2020-12-31'
items = get_STAC_items(url, collection, dates, bbox)

Error Message:
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-6-4ce0732be3cb> in <module>
      3 bbox = [-122.4, 41.3, -122.1, 41.5] # (min lon, min lat, max lon, max lat)
      4 dates = '2020-01-01/2020-12-31'
----> 5 items = get_STAC_items(url, collection, dates, bbox)

<ipython-input-4-7bcb20e0751f> in get_STAC_items(url, collection, dates, bbox)
      6                         sortby=['-properties.datetime'])
      7
----> 8     items = results.items()
      9     print(f'Found {len(items)} Items')
     10

~/opt/anaconda3/lib/python3.8/site-packages/satsearch/search.py in items(self, limit, page_limit, headers)
    114                     _body.update(self.kwargs)
    115                 resp = self.query(url=nextlink['href'], headers=_headers, **_body)
--> 116             items += [Item(i) for i in resp['features']]
    117             links = [l for l in resp['links'] if l['rel'] == 'next']
    118             nextlink = links[0] if len(links) == 1 else None

KeyError: 'features'

I'm on MacOS Catalina 10.15.7 and the sat-search and intake-stac versions are both 0.3.0

@njdepsky your function isn't quite correct. You have results = Search( but need results = Search.search( so I'm guessing you typed it out rather than a copy paste from the blog post.
the syntax is a bit cumbersome currently due to the way this library is setup both as a CLI and library... (satsearch.Search.search)

This error also occurs when using the cli, presumably when no items are returned from a search.

Ok great thank you, silly mistake on my part! It looks to be working now, though now I am getting Request failed with status code 400 errors when trying to load the NASA Sentinel 1 collection shown in the blog. I noticed some other folks have been reporting similar issues in other issue threads here?
My code is as follows:
import intake
from satsearch import Search
import netrc, fsspec, aiohttp

# NASA URS Authentication
(username, account, password) = netrc.netrc().authenticators("urs.earthdata.nasa.gov")
fsspec.config.conf['https'] = dict(client_kwargs={'auth': aiohttp.BasicAuth(username, password)})

def get_STAC_items(url, collection, dates, bbox):
    results = Search.search(url=url,
                        collections=[collection],
                        datetime=dates,
                        bbox=bbox,
                        sortby=['-properties.datetime'])

    items = results.items()
    print(f'Found {len(items)} Items')

    return intake.open_stac_item_collection(items)

# NASA - Sentinel-1 Data
url='https://cmr.earthdata.nasa.gov/stac/ASF'
bbox = [-122.4, 41.3, -122.1, 41.5] # (min lon, min lat, max lon, max lat)
collection = 'C1595422627-ASF' # sentinel-1 beta interferograms
dates = '2020-01-01/2020-12-31'
items_s1 = get_STAC_items(url, collection, dates, bbox)

@njdepsky unfortunately the NASA CMR endpoint is currently incompatible with sat-search, it seems like a fix will be implemented soon according to https://github.com/sat-utils/sat-search/issues/106#issuecomment-784740852 .  Note that the collection naming scheme might will be changing, so the code snippets in the blog post might also need adjusting

Ok great good to know, I'll keep my eye out, thanks!


Disable logging when stopping the registry since logging during atexit can in some cases raise a 'ValueError: I/O operation on closed file'

Ignore RuntimeError when trying to join() a thread that didn't start yet (to prevent the 'cannot join thread before it is started' error when using the library under multiprocessing module)

I have more details about how to reproduce this: It's caused by an incorrect combination of using multi-threading with multi-processing and using the unsafe preexec_fn parameter when starting a subprocess. The resolution in my case was to use the new start_new_session=True instead of preexec_fn=os.setsid which achieve the same results, but in a thread safe way. So now I'm thinking that the RuntimeError should still be raised to indicate to the user that they are doing something unsafe? Or do we want to suppress it to reduce the support burden?

I reverted the RuntimeError ignoring logic. This pull request now handles the logging issue that trigger a ValueError when emitted in Registry.stop().

@copperlight This is ready to review.


Update autodocs.py

You guys may hate me, but i fixed this as ZipFile removed the function you were using so i modified and fixed it to have the same function and kept your credits. This here still makes the zip file and does the same functions as previously.

This does not account for python 3.11, which does have mkdir.

Saying you kept credits isn't something you should expect to be praised for, that's just following copyright...
You didn't talk to me before hand about this, all changes should include a version bump.

I've added a fallback so lower python versions can still use it.


Add skip-lint to Anchor.toml

Implements #2021
I added an optional boolean skip-lint to the provider section in Anchor.toml. I actually have no idea what "provider" means in this context, but I couldn't think of a better place. I added unit tests to verify that parsing works.
The value can be set to true, which has the same effect as including the cli argument. Setting it to false or omitting it results in the same behavior prior to this change. Enabling the flag in the file or the cli will skip linting. I manually tested to verify that linting is:

--skip-lint
no cli flag

skip-lint = true
skipped
skipped

skip-lint = false
skipped
executed

omitted from Anchor.toml
skipped
executed

Note that this means that explicitly adding skip-lint = false to Anchor.toml has no effect, since false is the default, and the cli argument would set it to true. I think this is the most reasonable behavior. CLI arguments typically have precedence over config files. Alternatively, skip-lint = false could block the cli argument. The implementation would be just as simple. But that behavior is unusual in my opinion.

Thanks!


[regression] occurrences highlighting not working correctly

open src/vscode-dts/vscode.proposed.findTextInFiles.d.ts and  to the side src/vscode-dts/vscode.proposed.textSearchProvider.d.ts
select TextSearchQuery in the left
highlights show in the right editor
🐛 no highlights in the left editor

This repos independent of the new X-file occurrences setting
https://github.com/microsoft/vscode/assets/1794099/57a15f65-b03a-47f2-8d0d-79c4962d447b

Investigated this, and after tracing this back to the provider, this appears to be an issue with the Typescript highlight provider. The document and selection are being passed correctly, and semantic highlighting works for a majority of other symbols. However, specifically when selecting symbols such as TextSearchQuery, CancellationToken, and TextSearchComplete. There are likely other symbols that will not highlight as well.
When single clicking on one of these words, there is no occurrence highlighting, though when double clicking and selecting the entire word, highlighting works as intended. This is due to a single click computing via the Typescript Highlight provider, and the double click selection using the textual highlight provider.
assigning @mattbierner for typescript provider issues

Easy repro:

open file src/vscode-dts/vscode.proposed.findTextInFiles.d.ts
add the following line to the bottom of the workspace namespace:

export function findTextInFiles(query: TextSearchQuery, options: FindTextInFilesOptions, callback: (result: TextSearchResult) => void, token?: CancellationToken): Thenable<TextSearchComplete>;

Attempt to select any of TextSearchQuery, CancellationToken, and TextSearchComplete
🐛 Single clicking will not highlight other occurrences within the same file.
Single click on FindTextInFilesOptions to ensure that it highlights the word and the occurrence that should be directly below it.

This issue can be reproduce in previous Stable (before @Yoyokrazy 's change to the word highlighter)

The reason that this works for the secondary editor when the x-doc setting is enabled is because the multi-doc highlighter currently computes purely based on textual occurrences for the auxiliary models,

But can't x-doc highlights check if the "main" provider returned results and not do anything (e.g textual highlights) in case there are no semantic highlights?

Unmarking as important as it doesn't seem like a regression


feat: upgrade dependencies

Codecov Report

Merging #633 (1284c63) into main (4f8ee44) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #633   +/-   ##
=======================================
  Coverage   89.83%   89.83%
=======================================
  Files          19       19
  Lines         472      472
  Branches       75       75
=======================================
  Hits          424      424
  Misses         44       44
  Partials        4        4

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4f8ee44...1284c63. Read the comment docs.


[monitor-opentelemetry] package failed to build

when rush build -t @azure/monitor-opentelemetry at 7b02c7275fb I got the following error.  Not sure if it's because a dependency got upgraded or something else.
> tsc -p . && dev-tool run bundle --browser-test=false

../../../common/temp/node_modules/.pnpm/@microsoft+applicationinsights-web-snippet@1.2.0/node_modules/@microsoft/applicationinsights-web-snippet/types/applicationinsights-web-snippet.d.ts(15,32): error TS2307: Cannot find module '@microsoft/applicationinsights-web' or its corresponding type declarations.

Operations failed.

we need to unpin the version pinned in https://github.com/Azure/azure-sdk-for-js/pull/30233 when the linked issue is fixed

@jeremymeng Yes, that package was updated. We'll need to make changes on our side if there are breaking changes.


Pretrained model

Can you please share the pretrained model?

Here you are :)
Have fun!

@Cibale Thank you so much


Local setup with extensions on Azure fails to recover if the dev shoot hosting the local seed is hibernated.

How to categorize this issue?

/area dev-productivity
/kind bug
What happened:
Symptoms & Observation
When consuming the local setup with extensions for Azure environment, if the shoot hosting the local azure seed is hibernated, and then brought back up, the local-seed fails to recover.
This happens because during hibernation all the pods are removed including the ones from garden, registry, kyverno namespaces.
When the shoot which hosts the local seed is brought up, the gardenlet pod fails to come up as it throws ImagePullErr as it can't fetch the image from registry cache as the service is unable to serve in absence of any endpoints as there are no pods running in this namespace.
Checking the sts in registry namespace reveals that it cannot create pod as it is not able to reach the mutating webhook topology.azure.extensions.gardener.cloud as the service is not reachable.
Checking the extensions namespace, no pods are running and the replica set is failing as it is not able to reach gardener-resource-manager in garden namespace, which is down for the same reason as gardenlet with ImagePullErr as registry svc has no endpoints.
(local seed) --> (gardenlet/grm) --- > (registry) --- (topoogy.aware.extesnsion) ---> (grm)
The seed can not be reconciled due to the above deadlock.
Mitigation
This was fixed by ignoring the namespace registry for the topology.azure.extensions.gardener.cloud mutating webhook. This was done by labelling the namespace  registry with values which qualify the ignore selector for the webhook.
k label ns registry gardener.cloud/role=extension

Additionally we also labelled kyverno namespace as the kyverno-svc has no endpoints for the same reasons and this stops  make gardener-extensions-up to work as well.
k label ns kyverno gardener.cloud/role=extension

Side note
This doesn't happen for dev seeds as:

They are never hibernated.
The registry pod runs in kube-system namespace which is ignored by the azure extensions mutating webhook for topology.

What you expected to happen:
It should be possible to recover the local seed when waking up the hosting shoot in Azure.
An easy fix is to add the labels as used above when creating kyverno and registry namespace in the local-extension based setup.
How to reproduce it (as minimally and precisely as possible):

Create a local setup with extension on Azure with a local seed and local shoot running.
Hibernate the dev shoot hosting the local-seed and cp of local-shoot.
Wake up the dev shoot.

The local-seed will not be become ready as gardenlet and grm are down for the reasons quoted above.
Anything else we need to know?:
Environment:

Gardener version:
Kubernetes version (use kubectl version):
Cloud provider or hardware configuration:
Others:

An easy fix is to add the labels as used above when creating kyverno and registry namespace in the local-extension based setup.

Sounds good to me.


A typo in the solution code analysis report title

See screenshot.

I did a temporary fix for this typo in #332


useFlag breaks server side

Describe the bug
Describe the bug
Our app is both SSR and client side rendered and as such we need to use both @unleash/proxy-client-react, as well as unleash-client unleash-proxy-client
TypeError: Cannot read properties of null (reading 'isEnabled')
To get this working we need to do something along these lines
import { useReactiveVar } from '@apollo/client'
import { useFlag } from '@unleash/proxy-client-react'
import { variables } from 'core/variables'
import { UnleashFlagKey } from 'types/UnleashFlagKey'

const useUnleashFlag = (flag: UnleashFlagKey) => {
  const serverFlag = useReactiveVar(variables.unleashFeatures)[flag]
  const clientFlag = useFlag(flag)
  return serverFlag || clientFlag
}

export default useUnleashFlag

However on initial server render it throws  which would then mean we'd need to change this implement to have conditional hooks.
It would be preferable if it would return undefined rather than throwing
Steps to reproduce the bug
No response
Expected behavior
No response
Logs, error output, etc.
No response
Screenshots
No response
Additional context
No response
Unleash version
No response
Subscription type
No response
Hosting type
No response
SDK information (language and version)
No response

How have you set up the flag provider when using useFlag? The error message suggests that there is no running client defined. Are you using the useFlag function in a component that is outside the render tree of the flag provider?

I managed to get it working by using the notes in https://github.com/Unleash/proxy-client-react/issues/40#issuecomment-1048761755
So i'll close


Error：Must provide radosgw admin access key

ceph version 12.2.2 (cf0baeeeeba3b47f9427c6c97e2144b094b7e5ba) luminous (stable)

EERROR：

you must add admin access for you exist user, or create another and than add to them admin access by next command:
radosgw-admin caps add --uid="<admin_uid>" --caps="users=*"


Formalize and make service integrations publicly supported

Currently, the Functionless service integrations may be usable by external integrators, but not officially so.
In #108, #113, #103 and a few other recent changes, we are starting to see an interface anyone could implement to add additional features to or on top of functionless, while still making use of the core Type Script to service [app sync, api gateway, lambda, step functions, event bridge] and more coming soon.
This issue proposes the effort and change to make service integrations officially public.

[x] Formalize integration - anyone can create a new method which can be called from within a function closure, no integration specific code inside of the compile or runtime core service logic (ex: if(isStepFunction()).

[ ] Event Bridge #159
[x] Step Functions
[x] AppSync #113
[x] Lambda #103

[ ] Create an package outside of functionless that adds 3P service integration which can be used with functionless

ex: new AppSyncResolver(() => faunaDB.putItem())

[ ] Document the effort to extent as an external package or within the core Functionless.

High Level Integration Overview
To add a special function can be called by AppSync as of #113
const MyIntegration = makeIntegration<(payload: string) => string>({
   appSyncVtl: {
      dataSourceId: () => uniqueId,
      dataSource: (api, id) => new AppSyncDataSource(api, id, ...),
      request: (call: CallExpr, context: VTL): string => // ... return valid VTL
   }
})

const resolver = new functionless.AppSyncResolver(() => {
   const stringResponse = MyIntegration("string payload");
});

Documentation Overview:

What is a Resource
What is an Integration
What is an Integration Type
How do they relate
Current Integration Types
Supporting Integration Types
Adding Integration Types
Documenting Integrations


Add png support back to Pic uploading

This commit broke uploads for pngs. We want to keep the jpeg optimization...
https://github.com/sudara/alonetone/commit/560bfcf70bd7e5f4b79ffe5f4f9ec589bc42f0bf#diff-69f153ee97224f59dbe180468524d500

This will be closed by https://github.com/sudara/alonetone/issues/676


WebcamMotionDetector for IP Camera

WebcamMotionDetector is great feature. But it is only working for web cameras , How I can used ths for IP camera

Hi @sandipJava,
Use webcam-capture-driver-ipcam instead of a default one. Examples demonstrating how to use IP camera driver can be found below. I hope you can glimpse the idea.
https://github.com/sarxos/webcam-capture/tree/master/webcam-capture-drivers/driver-ipcam/src/examples/java
The usage of motion detector remains the same.

I am using simple
http://localhost:8090/API/Cam  IP URL so How I can add this into your code


official Portus image docs + blog post

I still have to make the doc page, should I just update the existing docs to point to this blog post?

I made some changes to the blog post, could you please take a look at them?
Please do not merge the code, I want to make some final changes to the image itself based on the feedback we got from the community.

Closing since this is no longer valid (see  #1254)


feat: filter the same question in similar questions

I would like to offer a small suggestion regarding the user experience. Currently, the related questions during a search do not seem to exclude the current issue itself. I'm not sure if this may cause some confusion for other users, but I personally prefer to have the current problem excluded from the "related questions" to enhance the browsing experience.
Before：

After:

@LinkinStars  Yes, you're right. It seems I made a somewhat silly mistake🤦♂. I have now corrected it and tested it.


Adding subpages when "Hide home route in URLs" is enabled

In the admin area, when the setting "Hide home route in URLs" is enabled, there are issues when adding new subpages to the home page.
Click on "Add Page" > Fill out the form > Click "Continue"
That works fine, but when you're there looking at the draft, maybe adding some content or whatever, and then click the "Save" button for the first time, the returned page is missing all frontmatter and page content. The frontmatter and content are displayed again only after revisiting the newly created page from the Pages menu.
Also, when this happens, the draft subpage say has a URL such as:
http://example.com/admin/pages/home/post-1
..but the returned/empty subpage URL attains an extra instance of home/:
http://example.com/admin/pages/home/home/post-1
Again, this behavior occurs only when the setting "Hide home route in URLs" is enabled. Given the duplication of home/ (or whatever the home slug happens to be) in the URL, I suspect a correlation, most likely having something to do with the home-route redirect.

Will look into this.. Thanks.

Same problem here :/

Step 01

Step 02 after click on "continue"

Step 03 after click on "save"

Step 04 after click again on "save"

Hope this help.

Thanks, replicated

Can you test the latest develop of the Admin plugin @ivan-dalmet @JeffStarr ?

@flaviocopes I'm only 7 days into Grav at this point, so don't have a develop version set up yet.

How can i install the latest develop of the Admin plugin easily ?

@flaviocopes I replace my admin folder content by files of grav-plugin-admin develop branch.
Same problem but now url redirection is ok (no more /blog/blog)

@ivan-dalmet I thought the problem was the url redirection.
What's the other issue? Still got an error after the second save?

@flaviocopes Yes exactly same errors

I've added a Hacktoberfest tag to see if we can get some help with this as I'm a bit stretched with other things at the moment.

Closing to due to inactivity


database migration

We must be able to roll database forward and backward on releases with the admin api.

GORM migration docs
GORM-compatible scheme migration tools to investigate:

https://atlasgo.io/
https://github.com/go-gormigrate/gormigrate

Per additional discussions, we've decided not to to ahead with full migration control at this time. For now, we will simplify our database migration strategy to simply be:

[ ] automatically run migrate on startup
[ ] add a flag to disable auto migrate in case we need it

We believe that our migrations for the time being will be simple and we can try to ensure they are non-destructive, backward compatible. In the future, if this becomes impossible and we need a more complex migration strategy, we will address at that time.


New version: CXSparse_jll v4.4.1+1

Autogenerated JLL package registration

Registering JLL package CXSparse_jll.jl
Repository: https://github.com/JuliaBinaryWrappers/CXSparse_jll.jl
Version: v4.4.1+1
Commit: 53a4e468a08b6ca675c2696d72b2addd2c6af9ef
Revision on Yggdrasil: https://github.com/JuliaPackaging/Yggdrasil/commit/3539947e594c3c804495a3ce9d9a0c7cb363f6eb
Created by: @ViralBShah

I deleted this from JuliaBinaryWrappers.


jitclass decorator fails when encountering annotations (numba 0.25)

When using jitclass decorator, if ANY of the methods in the class have annotations, the compilation fails.
This is the code sample sufficient to trigger the error:
spec={
'obj':int32,
}

@jitclass(spec)
class TTT(object):
    def __init__(self, obj:int):
        self.obj = obj

    def add(self, v:int):
        return self.obj + v

This is the traceback:
python3.4 test.py
Traceback (most recent call last):
  File "test.py", line 14, in <module>
    class TTT(object):
  File "/usr/lib64/python3.4/site-packages/numba/jitclass/decorators.py", line 27, in wrap
    return register_class_type(cls, spec, types.ClassType, ClassBuilder)
  File "/usr/lib64/python3.4/site-packages/numba/jitclass/base.py", line 170, in register_class_type
    __doc__=docstring))
  File "/usr/lib64/python3.4/site-packages/numba/jitclass/base.py", line 70, in __new__
    outcls._set_init()
  File "/usr/lib64/python3.4/site-packages/numba/jitclass/base.py", line 76, in _set_init
    argspec = inspect.getargspec(init)
  File "/usr/lib64/python3.4/inspect.py", line 936, in getargspec
    raise ValueError("Function has keyword-only arguments or annotations"
ValueError: Function has keyword-only arguments or annotations, use getfullargspec() API which can support them

This is not really a major issue, but I am certain it is easy to fix.
Thank you!

Wow! So quick! Thank you very much for fixing this!
The next-most-important-thing would probably be support of inheritance for jitclasses, at least some features. It is nice to use jitclasses to store parameters for jitted functions in one place, but duplicating specs every time is rather annoying.


Add an option to exclude a list of packages while exporting to a file

Description of the new feature/enhancement
At it's current state, winget exports "all" packages installed on the local system & the ones which are available on a remote source to a JSON file. And there's no way to control or fine-tune what get's included in the exported JSON file.
If I had installed a software earlier just to try it out, even that get's exported to the JSON file. So, I think it would be a nice feature to have if it was possible to control & fine-tune winget's export command.
Proposed technical implementation details (optional)
Add an optional flag to the export command which would accept a list of already installed packages to exclude from the JSON file.
Of course there could be a better way to deal with it & look forward to how things turn out to be with this feature.

I just found out about a blog on import/export that went live today. I thought I would share since this issue was recently created. Maybe it will help other users understand some of the more in-depth options.

@denelon duplicate/related to https://github.com/microsoft/winget-cli/issues/1439

https://github.com/microsoft/winget-cli/issues/2339

@vedantmgoyal2009 I don't think the tagged issue threads are duplicates of this one. Sure the ideas might share some similarities here & there but the core feature is miles apart. For more context, what I meant in this thread is to have a finer control on what gets included in the generated output of the winget export command.
For example, if I've the following set of software pre-installed:

MS-Teams (should be exported)
MS-Office (should NOT be exported)
Visual Studio Code (should be exported)

I would like to export only MS-Teams & Visual Studio Code into the package.json file. I don't want/need MS-Office to exists in the JSON file.
On that note, I don't think there's any way to export only the necessary packages into the JSON file.
P.S: I have not worked on a Windows machine for months now so I can't verify the latest features winget was distributed with.

@Jarmos-san We've also had asks about having winget "ignore" packages for winget upgrade --all as well. If one were to winget exclude package that could function for both scenarios, but I'm not sure if that matches the behavior you are looking for here.
This ask seems more around winget export packages.json --exclude foo.foo. If the above were implemented, winget upgrade --all wouldn't upgrade "MS-Office", and it wouldn't export "MS-Office".

This ask seems more around winget export packages.json --exclude foo.foo. If the above were implemented, winget upgrade --all wouldn't upgrade "MS-Office", and it wouldn't export "MS-Office".

Indeed! That's what I had in mind as well.
Is this feature viable & is something your team has the resources to implement? If not then I guess winget exclude package works out well too.
I would love to experiment with the user-experience & provide more in-depth feedback but unfortunately, I don't have access to a Windows machine at the moment.

[Policy] Command-Export


Make cors middleware optional + tests

This PR does the following:

Adds unit tests for the CORS middleware
Does not add the fasthttp handler middleware unless needed. Profiling has shown this code consumes a significant amount of memory under load (~1MB).

is there a reason why we make cors middleware ? is this for testing?

is there a reason why we make cors middleware ? is this for testing?

It's a feature we had from the very beginning, presumably to make sure that the Dapr API can only be accessed from certain origins. (helpful in the case where you expose the Dapr API publicly).

is there a reason why we make cors middleware ? is this for testing?

It's a feature we had from the very beginning, presumably to make sure that the Dapr API can only be accessed from certain origins. (helpful in the case where you expose the Dapr API publicly).

From the code I am reading, we only control Access-Control-Allow-Origin header for CORS set by cmd flag. no knobs for the other CORS headers such as Access-Control-Allow-Methods.
New cors package includes only one constant so I was wonder if we need this change.
Also do we plan to support the other CORS headers ?

is there a reason why we make cors middleware ? is this for testing?

It's a feature we had from the very beginning, presumably to make sure that the Dapr API can only be accessed from certain origins. (helpful in the case where you expose the Dapr API publicly).

From the code I am reading, we only control Access-Control-Allow-Origin header for CORS set by cmd flag. no knobs for the other CORS headers such as Access-Control-Allow-Methods.
New cors package includes only one constant so I was wonder if we need this change.
Also do we plan to support the other CORS headers ?

The change just refactored the location of the const, didn't add a new one.

Also do we plan to support the other CORS headers ?

I don't know, maybe. we need to probably make CORS more visible to users and get feedback.


'edges2cats' should be called 'feLines'

Suggestion by @dariusk

Credit where credit is due, I merely quoted Chris Millson!

lawl

Hi
Do we have edges2cats dataset available ?

I too am looking for the data / instructions for edges2cats
I'm running on windows and managed to follow the complex steps to get the GPU version of Tensorflow running on my Windows 10 machine.  Even with a Core i9 processor and 64 GB of RAM, the GPU training run time put to shame the CPU .  It dropped from over 1 day to less than 4 hours.
Now that I've got the basic Pix2Pix running on my machine, I would love to train it using the Edges2Cats data.
My goal in this little project is to create a version that can be fed images directly.  The online demos all require you to draw, using a mouse, the image to process.  I think a version that takes JPGs or PNGs could produce wild effects if fed a line drawing of say one of us :-)  YOU, your face's features, with cat-meat hung from it.  THAT would be something to see!
Or, run a line drawing of your cat through it.  Cat to cat translation 👍
Heck, I may even get it running on a website for everyone to enjoy if I can get some help here with the data.
Any help is
more than greatly appreciated
(pli ol multe estimita) in the Esperanto language
Thank you for your time.


Quick_Quit_Macropad

Ready to submit your project? Nice job! Hopefully you've read the submission guidelines. If not, make sure to read them first.
If you're unsure about the format, make sure to check out the Orpheuspad example and follow the format there.
If this PR isn't a submission, that's okay too! If there's anything about this PR template that seems confusing, let me know in #hackpad on the slack!

All your files in the folders are named "dummy.txt", and you are missing a BOM!


Add KMLB wind run barbs to the figure.

How often to do the wind barbs? Every 3 or 6 hours ... but start with every 6 cuz 3 might be too busy.

ggplot2 doesn't have native wind barb functionality, so I have done vectors for the time being.


Entry.js error

Hi,
With the 4.0.2 version of the app I experienced the following error on Splunk Enterprise 9.0.0 and on 8.2.5:

(Rolling back to 3.2 solves the issue for now...)

What OS is in use?

CentOs 7
I played with it recently on a test server and seems the clean install of the app does not reproduce this error.
But I  keep "lost" the input tab like 2 times from 5. I did the change for pwd import in entry.js but seems it does not help 100%. Splunk restart helps (or sometimes not :) )

Addressed in 4.0.3


fix it error

Signed-off-by: ningmingxiao<EMAIL_ADDRESS>openssl genrsa -out mykey.pem
openssl rsa -in mykey.pem -pubout -out mypubkey.pem
nerdctl image encrypt --recipient=jwe:mypubkey.pem  ghcr.io/stargz-containers/fedora:30-esgz test:encrypted

[root@LIN-FFF47298CDA ~]# nerdctl  inspect  --mode=native --format="{{len .Index.Manifests}}"  test:encrypted
FATA[0000] 1 errors: [Template parsing error: template: :1:12: executing "" at <.Index.Manifests>: map has no entry for key "Index"]

@ningmingxiao is this still an issue?

@AkihiroSuda suggesting we close.


Please add support Lands plugin

https://www.spigotmc.org/resources/lands-claim-land-unique-land-management-easy-titles-economy-gui-much-features-lands-plugin.53313/

I'll look into it since it does seem like a valid plugin to support.  However, since it's closed-source and paid, I'm not sure how soon I could do it.


fix: native query_with_req_id

Codecov Report
Attention: 17 lines in your changes are missing coverage. Please review.

Comparison is base (f83c32f) 60.90% compared to head (59bacc3) 64.11%.
Report is 6 commits behind head on main.

Files
Patch %
Lines

taos-ws-sys/src/lib.rs
67.64%
11 Missing :warning:

taos/src/query.rs
0.00%
6 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #287      +/-   ##
==========================================
+ Coverage   60.90%   64.11%   +3.20%
==========================================
  Files         104      114      +10
  Lines       27200    31588    +4388
==========================================
+ Hits        16566    20252    +3686
- Misses      10634    11336     +702

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


feat(icicle): Add icicle msm support

This PR adds support for Ingonyama's icicle library.
To integrate Icicle with minimal changes the following was done:

An additional trait Icicle that maps the corresponding icicle type to its corresponding arkworks CurveGroup was, this lead to an additional trait bound propagated throughout the codebase.
The arkworks<->Icicle conversion functions were reimplemented as trait functions within jolt-core. This eliminated the need for another trait bound propagating through the codebase that was needed internally by icicle.

2-5 of the e2e tests which fail intermittently. I thought it was weird that the test commit_prove_verify for hyrax passed but the e2e tests failed. I investigated on on my own by comparing the results of the different msm variations done to speed up small msm operations and saw they produce different results. As it stands the results of icicle msm match the results of msm_bigint which is probably why some (hyrax prove, verify) but not all of the tests are passing.
I assume they different msm results between variations is expected behavior. Let me know if you have suggestions on how to address the failing tests.

Great work.
For the traits, let's rebase this on top of #309 after #318 is merged in. We should be able to make Icicle a new backend for Hyrax exclusively without touching other traits.

Currently some of the e2e tests are failing due to failed Hyrax Proof verification. Initially investigating this it seems the msm results of icicle and jolt_core::msm::VariableBase::msm differ. After comparing the results of the msm variants with icicle_msm, it appears the results of icicle_msm and msm_bigint match but differ from the results of msm_u64 and msm_binary.
On Sam Rags advice I compared the results icicle_msm() and msm() for random distribtutions of different scalars as following:

scalars all 0
scalars randomly {0, 1}
scalars randomly {0, ... 2^9}
scalars randomly {0, 2^63}
scalars randomly {0, 2^253}

The results of these tests match my earlier attempts at debugging (the result of icicle matches msm_bigint and is different for the other msm_vairants). However across 10 runs the results of icicle_msm() and msm_bigint() were different 2 times. My suspicion is that is why the e2e tests are inconsistently failing.
Pinging the icicle team for more help: @jeremyfelder @LeonHibnik @DmytroTym for visibility

It's quite possible this is a bug in the custom Jolt MSMs. We use the same function in prove and verify so I don't think it would cause a verification error on the opening proofs.

I've isolated a failing test case where msm_bigint() is different from icicle_msm(). This is for msm_length = 5 on bn254 G1.
scalars: [BigInt([9016117505638758543,<PHONE_NUMBER>75653018,<PHONE_NUMBER>5396285244,<PHONE_NUMBER>42070544]), BigInt([9016117505638758543,<PHONE_NUMBER>75653018,<PHONE_NUMBER>5396285244,<PHONE_NUMBER>42070544]), BigInt([9016117505638758543,<PHONE_NUMBER>75653018,<PHONE_NUMBER>5396285244,<PHONE_NUMBER>42070544])]
bases: [(7688067217989994385175370005327028282099909322677106416431281707406319639423,<PHONE_NUMBER>911294339882576580611551419932980906448618049918745820988988940544),<PHONE_NUMBER>989994385175370005327028282099909322677106416431281707406319639423,<PHONE_NUMBER>911294339882576580611551419932980906448618049918745820988988940544),<PHONE_NUMBER>989994385175370005327028282099909322677106416431281707406319639423,<PHONE_NUMBER>911294339882576580611551419932980906448618049918745820988988940544)]
thread 'msm::icicle::tests::icicle_consistency' panicked at jolt-core/src/msm/icicle.rs:143:9:
assertion left == right failed
Icicle_msm:
left:<PHONE_NUMBER>2308270482805562183149547281394543684140364595320519038506728629176,<PHONE_NUMBER>3978784477210429669140814540120067115296232647704197615652008201018,<PHONE_NUMBER>001428543401937753406256636636087220851808150208156295468450189539)
msm_bigint:
right:<PHONE_NUMBER>380275973248057326757604911678683556554634771911116394938879459999,<PHONE_NUMBER>3783002880062888597910542713450500190866360520934212557253367698086,<PHONE_NUMBER>7088060011064996970370910532825150257638073959401410264268020611093)

For reference we had some conversion logic between ark_ff::PrimeField and ff::PrimeField back when we were using Spartan2 externally: #188

Current perf on an H100 accelerates sha2-chain 40% E2E for {Zeromorph, HyperKZG}. Currently slows down hyrax due to the tiny MSMs and call overhead.
Remaining waste:

max_num_bits check at the beginning of VariableBaseMSM::msm becomes a bottleneck for opening proofs
The GPU scalar conversion could be faster and is done repeatedly to save plumbing, but could be amortized
Zeromorph and HyperKZG opening proofs are unoptimized, particularly w.r.t univariate polynomial math. Theoretically could use icicle here, although feels like a heavy hammer

error: failed to run LLVM passes: unknown pass name 'loweratomic'
I managed to build the PR but have this issue when run the prove, any idea?

hey, I tried this PR and built successfully but I don't see it use any of my GPU

I've isolated a failing test case (below) where msm_bigint() is different from icicle_msm(). This is for msm_length = 3 on bn254 G1. I compared the output of msm_bigint, icicle_msm to arkworks_msm as a baseline. Icicle_msm differs from both msm_bigint and arkworks_msm which match.
scalars: [BigInt([9016117505638758543,<PHONE_NUMBER>75653018,<PHONE_NUMBER>5396285244,<PHONE_NUMBER>42070544]), BigInt([9016117505638758543,<PHONE_NUMBER>75653018,<PHONE_NUMBER>5396285244,<PHONE_NUMBER>42070544]), BigInt([9016117505638758543,<PHONE_NUMBER>75653018,<PHONE_NUMBER>5396285244,<PHONE_NUMBER>42070544])]
bases: [(7688067217989994385175370005327028282099909322677106416431281707406319639423,<PHONE_NUMBER>911294339882576580611551419932980906448618049918745820988988940544),<PHONE_NUMBER>989994385175370005327028282099909322677106416431281707406319639423,<PHONE_NUMBER>911294339882576580611551419932980906448618049918745820988988940544),<PHONE_NUMBER>989994385175370005327028282099909322677106416431281707406319639423,<PHONE_NUMBER>911294339882576580611551419932980906448618049918745820988988940544)]
Icicle_msm: G1Projective {<PHONE_NUMBER>902059470736832095824632961938556720240244842612617999683902078046,<PHONE_NUMBER>8131004888930512565411407719316059820784025059444099681630462320054,<PHONE_NUMBER>4278712267950517896802450080070912830806623791345428292444699192104}
msm_bigint/arkworks_msm: G1Projective{<PHONE_NUMBER>478855084502684745245972997742728399108653613517190125786236661471,<PHONE_NUMBER>617737447598769520885148623820108452568297893643817103436495388203,<PHONE_NUMBER>7871628975120284343765061813104420509947328992138115752583312160988 }

Note: Arkworks and icicle will generate different projective points, but when compared in affine, arkworks and icicle will have correct results.

Current perf on an H100 accelerates sha2-chain 40% E2E for {Zeromorph, HyperKZG}. Currently slows down hyrax due to the tiny MSMs and call overhead.
Remaining waste:
* `max_num_bits` check at the beginning of `VariableBaseMSM::msm` becomes a bottleneck for opening proofs

* The GPU scalar conversion could be faster and is done repeatedly to save plumbing, but could be amortized

* Zeromorph and HyperKZG opening proofs are unoptimized, particularly w.r.t univariate polynomial math. Theoretically could use icicle here, although feels like a heavy hammer

Can we do something about the hyrax slowdown? Perhaps batch the msms to reduce call overhead? What is the difference between the raw calculation of the msm for hyrax on the GPU vs CPU (excl data transmission)?


px4_fmu-v2 enable CONSTRAINED_FLASH and disable mpu9250 driver

This PR saves about 7.6 KB of flash on fmu-v2_default.
There are px4_fmu-v2 variants with an mpu9250, however I believe they're mostly newer boards that could be flashing fmu-v3 (with a bootloader upgrade). Not ideal, but better than deprecating it entirely.


Add documentation about how YAML PR triggers only apply to GitHub

According to this article, the pr trigger in YAML build pipelines only applies to GitHub repos.
Adding that to the documentation because I was confused why it wasn't working for me. If it does in fact apply to ADO repos (or any other git provider) then the other documentation should be updated.

@alancast : Thanks for your contribution! The author, @steved0x, has been notified to review your proposed change.

@alancast : Thanks for your contribution! The author, @steved0x, has been notified to review your proposed change.

@alancast : Thanks for your contribution! The author, @steved0x, has been notified to review your proposed change.

Closing this PR as the PR triggers also work for BitBucket.
I'm unsure if the PR Triggers work for all git providers (in which case this should be updated to reflect that), or all git providers other than azure devops, or just a few. Unfortunately I don't have time to figure out which one is the case, so closing this PR.
Though I do think someone who works with the PR trigger yaml code should update these docs as it's a little unclear how it works


Prepare for new release of Jira

Workflow links: https://github.com/atlassian-labs/atlassian-slack-integration-server/actions/runs/5207334495, https://github.com/atlassian-labs/atlassian-slack-integration-server/actions/runs/5207336264, https://github.com/atlassian-labs/atlassian-slack-integration-server/actions/runs/5207338599.

Integration tests pass, so current version of Jira Server for Slack is marked compatible with Jira 9.9.0.