Mysql unstable in minikube cluster

Describe the bug
When I install kubevious into an empty cluster (e.g. with minikube), not all the components become ready together.
To Reproduce
Steps to reproduce the behavior:
minikube start
# Copy-pasted from https://github.com/kubevious/kubevious#running-kubevious
kubectl create namespace kubevious
helm repo add kubevious https://helm.kubevious.io
helm upgrade --atomic -i kubevious kubevious/kubevious --version 1.0.7 -n kubevious
kubectl port-forward $(kubectl get pods -n kubevious -l "app.kubernetes.io/component=kubevious-ui" -o jsonpath="{.items[0].metadata.name}") 8080:80 -n kubevious
# Visit localhost:8080

Multiple problems play together at this point:

The UI is rendered in the browser, but it's basically empty (see Screenshots).
On almost every request (e.g. reloading the UI), the mysql Pod becomes shortly un-Ready (red in k9s) because the Readiness Probe fails. I am not sure if this warning log message is related:34 [Warning] [MY-010055] [Server] IP address '<IP_ADDRESS>' could not be resolved: Name or service not known

Expected behavior
I expected all Pods to become Ready and for the UI to not be empty.
Screenshots

Environment Details:

Kubernetes Distribution/Version: k8s v1.23.3 on minikube v1.25.2
Browser: Brave/Chromium
Version: 1.39.111 (Chromium v102.0.5005.61)

Hi @jscheytt, could you provide some more details? What is the state of pods in the kubevious namespace. Are the PVCs properly bound? Can you check MySQL pod logs? Most of the issues in minikube are caused by PVCs not properly bound to the Pods

Hi @rubenhak, all the pods in the kubevious namespace are Ready apart from the kubevious-mysql-0 Pod - it always switches back and forth between Ready and not Ready:

I will try adding more details:
A kubectl describe on the PV and the PVC gives the following:
# PersistentVolume
Name:            pvc-3873578d-ef73-4f17-a649-a8ed7e96db32
Labels:          <none>
Annotations:     hostPathProvisionerIdentity: 9d3cb57a-6214-44f3-9a93-7348d21f205e
                 pv.kubernetes.io/provisioned-by: k8s.io/minikube-hostpath
Finalizers:      [kubernetes.io/pv-protection]
StorageClass:    standard
Status:          Bound
Claim:           kubevious/data-kubevious-mysql-0
Reclaim Policy:  Delete
Access Modes:    RWO
VolumeMode:      Filesystem
Capacity:        10Gi
Node Affinity:   <none>
Message:
Source:
    Type:          HostPath (bare host directory volume)
    Path:          /tmp/hostpath-provisioner/kubevious/data-kubevious-mysql-0
    HostPathType:
Events:            <none>
---
# PersistentVolumeClaim
Name:          data-kubevious-mysql-0
Namespace:     kubevious
StorageClass:  standard
Status:        Bound
Volume:        pvc-3873578d-ef73-4f17-a649-a8ed7e96db32
Labels:        app.kubernetes.io/component=kubevious-mysql
               app.kubernetes.io/instance=kubevious
               app.kubernetes.io/managed-by=Helm
               app.kubernetes.io/name=kubevious
Annotations:   pv.kubernetes.io/bind-completed: yes
               pv.kubernetes.io/bound-by-controller: yes
               volume.beta.kubernetes.io/storage-provisioner: k8s.io/minikube-hostpath
               volume.kubernetes.io/storage-provisioner: k8s.io/minikube-hostpath
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:      10Gi
Access Modes:  RWO
VolumeMode:    Filesystem
Used By:       kubevious-mysql-0
Events:
  Type    Reason                 Age   From                                                                     Message
  ----    ------                 ----  ----                                                                     -------
  Normal  ExternalProvisioning   12m   persistentvolume-controller                                              waiting for a volume to be created, either by external provisioner "k8s.io/minikube-hostpath" or manually created by system administrator
  Normal  Provisioning           12m   k8s.io/minikube-hostpath_kubevious_7b2f0844-3852-4111-822c-1d5daeeb21c7  External provisioner is provisioning volume for claim "kubevious/data-kubevious-mysql-0"
  Normal  ProvisioningSucceeded  12m   k8s.io/minikube-hostpath_kubevious_7b2f0844-3852-4111-822c-1d5daeeb21c7  Successfully provisioned volume pvc-3873578d-ef73-4f17-a649-a8ed7e96db32

-> ✅ That looks good to me.
Logs of the mysql Pod:
```
init-mysql + echo '[mysqld]'
init-mysql + echo server-id=1
init-mysql + echo '[mysqld]'
init-mysql + echo binlog_expire_logs_seconds=259200
init-mysql + cp /mnt/config-map/master.cnf /mnt/conf.d/
mysql 2022-06-01 13:13:54+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.22-1debian10 started.
mysql 2022-06-01 13:13:54+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
mysql 2022-06-01 13:13:54+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.22-1debian10 started.
mysql 2022-06-01 13:13:54+00:00 [Note] [Entrypoint]: Initializing database files
mysql 2022-06-01T13:13:55.008267Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.22) initializing of server in progress as process 45
mysql 2022-06-01T13:13:55.017832Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
mysql 2022-06-01T13:13:56.847295Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
mysql 2022-06-01T13:14:18.114743Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
mysql 2022-06-01 13:15:12+00:00 [Note] [Entrypoint]: Database files initialized
mysql 2022-06-01 13:15:12+00:00 [Note] [Entrypoint]: Starting temporary server
mysql 2022-06-01T13:15:15.121229Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.22) starting as process 327
mysql 2022-06-01T13:15:15.419841Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
mysql 2022-06-01T13:15:18.859697Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
mysql 2022-06-01T13:15:21.236415Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: /var/run/mysqld/mysqlx.sock
mysql 2022-06-01T13:15:24.838631Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
mysql 2022-06-01T13:15:24.842370Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
mysql 2022-06-01T13:15:24.925587Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
mysql 2022-06-01T13:15:25.337569Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.22'  socket: '/var/run/mysqld/mysqld.sock'  port: 0  MySQL Community Server - GPL.
mysql 2022-06-01 13:15:25+00:00 [Note] [Entrypoint]: Temporary server started.
mysql Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.
mysql Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.
mysql Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
mysql Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.
mysql 2022-06-01 13:16:50+00:00 [Note] [Entrypoint]: Creating database kubevious
mysql 2022-06-01 13:16:50+00:00 [Note] [Entrypoint]: Creating user kubevious
mysql 2022-06-01 13:16:50+00:00 [Note] [Entrypoint]: Giving user kubevious access to schema kubevious
mysql
mysql 2022-06-01 13:16:51+00:00 [Note] [Entrypoint]: /usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/initdb.sql
mysql
mysql
mysql 2022-06-01 13:16:51+00:00 [Note] [Entrypoint]: Stopping temporary server
mysql 2022-06-01T13:16:51.428183Z 20 [System] [MY-013172] [Server] Received SHUTDOWN from user root. Shutting down mysqld (Version: 8.0.22).
mysql 2022-06-01T13:16:54.723601Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.22)  MySQL Community Server - GPL.
mysql 2022-06-01 13:16:55+00:00 [Note] [Entrypoint]: Temporary server stopped
mysql
mysql 2022-06-01 13:16:55+00:00 [Note] [Entrypoint]: MySQL init process done. Ready for start up.
mysql
mysql 2022-06-01T13:16:56.247614Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.22) starting as process 1
mysql 2022-06-01T13:16:56.327104Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
mysql 2022-06-01T13:16:57.636105Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
mysql 2022-06-01T13:16:57.892566Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
mysql 2022-06-01T13:16:58.646333Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
mysql 2022-06-01T13:16:58.646584Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
mysql 2022-06-01T13:16:58.722203Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
mysql 2022-06-01T13:16:59.123262Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.22'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.
mysql 2022-06-01T13:17:01.534681Z 9 [Warning] [MY-010055] [Server] IP address '<IP_ADDRESS>' could not be resolved: Name or service not known
```

@jscheytt, seems to be something off with the dns resolver. Which pod has IP: <IP_ADDRESS> ?
Also, could you show the output of the init container?
$ kubectl logs kubevious-mysql-0 -n kubevious -c init-mysql

The output of the initContainer of the mysql pod is included at the beginning of 2) (the lines beginning with "init-mysql").
I tried reproducing the same setup again this morning, and I somewhat failed: Again, all Pods become Ready, but this time the mysql Pod never becomes Ready. (The describe output is basically the same though.) The output of the logs currently is this:
init-mysql + echo '[mysqld]'
init-mysql + echo server-id=1
init-mysql + echo '[mysqld]'
init-mysql + echo binlog_expire_logs_seconds=259200
init-mysql + cp /mnt/config-map/master.cnf /mnt/conf.d/
mysql 2022-06-02 07:07:38+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.22-1debian10 started.
mysql 2022-06-02 07:07:38+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
mysql 2022-06-02 07:07:38+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.22-1debian10 started.
mysql 2022-06-02T07:07:39.712802Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.22) starting as process 1
mysql 2022-06-02T07:07:39.796780Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
mysql 2022-06-02T07:07:40.431911Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
mysql 2022-06-02T07:07:40.564173Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
mysql 2022-06-02T07:07:40.799791Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
mysql 2022-06-02T07:07:40.800768Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
mysql 2022-06-02T07:07:40.883960Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
mysql 2022-06-02T07:07:41.391912Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.22'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.

This time the error log about the IP address does not appear.
Btw I should have mentioned I am running Docker via colima on MacOS - this may add to the problem.


Make gotohelm capable for generating subcharts

https://github.com/redpanda-data/helm-charts/pull/1546/commits/ffdf94c3874112729a045a620b8cfd6eec7984ac
To leverage gotothelm capability to transpile multiple package the Taskfile will change to call not only Redpanda helm chart, but it's dependencies too console and connectors.
All templated files will have package prefix in the file name. The +gotohelm:namespace single package comment could be used to overwrite the go package name.
This commit does not have code to use transpiled imports. That's why console and connectors translation template files are still in use.
For some reason operator chart had old auto generated files. This commit removes them.
https://github.com/redpanda-data/helm-charts/pull/1546/commits/7812d4937dcaa26606118485fd94281a06328f65
Add mutability test case in transpiler unit test.

@chrisseto I change approach. My initial desire was to load one package and deduce all information from it. When I failed, then the next thing that comes to my mind was to introduce --deps flag. With your thoughtful comment about transpiler mutability I changed whole approach and gotohelm is now orchestrator and transpiler, if instructed allows to call different packages if the namespace is filled correctly.

Agree with @chrisseto this approach is more complicated as Release and Values for subchart would need to be generated and we don't want to do that right now.


Ability to stage single lines

SourceTree has the ability to stage single lines.
I think this is not possible to do with the git cli, also don't know how they implemented it, but it works perfectly.
Currently SublimeGit supports the staging of hunks which many times are impossible to reduce to the desired size.
This request is for the implementation of the ability to stage just the selected lines.
Thanks!

+1
I currently use git -c core.editor="subl -w" add -e (keybound) for this, having a shortcut directly in the status would be awesome.

+1

Could we get an update on this issue? It's been open for over 2 years and is one of the oldest in the project. This is one of the few tasks that I have to use external git tools for (git rebase -i is another), and I'd love to keep my workflow inside the tool whenever possible.

GitSavvy also supports this

@aristidesfl any reason to use SublimeGit over GitSavvy?

@cvogt the interface is different, you might prefer SublimeGit? other then that I don't know.

@aristidesfl :+1: thanks for the heads up about GitSavvy, looks great (and is actually open source :dancer: :dancer:)

Amazing. Thanks for the GitSavvy tip. Switched to it last night, great stuff.

+1 for this feature


Gemfile.base, Gemfile{.on_prem}.lock: update puma to 4.3.9

Upgrade Puma to 4.3.9
CVE-2021-29509 system: rubygem-puma: incomplete fix for CVE-2019-16770 allows Denial of Service (DoS)
https://issues.redhat.com/browse/THREESCALE-7887
Required to update 3scale puma's fork in the 3scale-4.3.9 branch

bors r+


Merge 'ThreeMammals:develop' into 'develop'

Let's update your repo with latest top-commits from head repository.
That will allow to perform rebase-operation for feature branches without merge-commits.
Please use Rebase and merge option.

@fku- Freddy,
Don't forget to Sync fork please? So, develop branch will be updated with top commits!
This operation is technically the same as merging this PR with Rebase option.


p2p sync attempt with rejecting peer.

Scenario: node A has last irreversible block(LIB) number 100. node B has an LIB of 1000.
Node B connects to node A, and snds a handshake message. Node A sees it is behind and starts to sync. Node A also sends a handshake message to node B.
Node B evaluates handshake and detects a fork. Node B sends a go away message and closes the connection. Node A detects the closure and attempts to find a new block source.
Failure: Node A cannot find another peer but fails to reset the sync state.
For ATC on this one, we need the utility described in #2404
then we need a script which initializes three nodes, one short (node S), and 2 long (nodes L, L'). The two long nodes are initialized from separate chain sources, node L from the same source as S, and L' from a different source.
configure each node so that S knows of L, and L' knows of S, then start each node in this order: S, L', L, waiting a second or two between each. The two long chain nodes, L & L', should be started with enable-stale-production set.
Observe that S will initially fail to connect to L, then accept a connection from L' but not sync, lose the connection to L', then eventually (30 seconds later), connect to L and sync up.
Variation 1: configure node L to know about S, so that when it starts, it actively connects to S. S should sync from node L.

I tested this manually. The script will be added separately later on to solve #2405.
During the manual testing,
Variant 1 - behave as expected (Pass)
Start S, L' - behaves as expected (Pass)
Start S, L - behaves as expected (Pass)
Start L, S - behaves as expected (Pass)
Start S, L', L or Start S, L, L' - It initially behaves as expected. However, at the later time, L' tries to connect with S again, after this S fails to sync with L (Fail). The following screenshot of S explains the error:

In the above screenshot (S port is 9876, L port is 9877, L' port is 9878), we can see that:

S that S is able to sync with L up to block 4792
Immediately after that, S receives a connection request from L'
Then the next block S receives is 4794 which won't link since S haven't received 4793 yet
S then receives 4795 which also fails since 4794 is not linked yet
Then S's second attempt to retrieve 4793 fails and it just receives 'Bad file descriptor error' from L
S closed connection with L (can be seen in L's log)
After this S never tries to reconnect with L and the sync never continues

Another separate problem, if S starts from block 0. Then we try to start the nodes in the following order: S, L', L. We will get the following error and S never syncs:

2390-config.zip
This is the config file that I used to start S, L, and L' (I didn't share the shared_mem/ block log since they are too large)
To start S
programs/nodeos/nodeos --config-dir data-dirs --data-dir data-dirs
To start L
programs/nodeos/nodeos --config-dir data-dirl --data-dir data-dirl
To start L'
programs/nodeos/nodeos --config-dir data-dirl2 --data-dir data-dirl2
In order to simulate the wanted length of them, I did the following things:

Start L and L' at the same time
After quite some time (roughly 3 mins), start S with --resync option and then immediately kill it, so S will have the shorter version of L
Kill both L and L'
Do the test


Manufacturer data truncated on RPi3

Hi - apologies in advance if this is a duplicate.
Advertisement-discovery.js returns a shortened version of my expected advertisement's manufacturer data. I noticed the different when I enabled DEBUG on the console:
Debug info (which is what I expect to see):
gap advertisement ** = {"manufacturerData":{"type":"Buffer","data":[170,187,0,11,87,126,242,121,151,108,2,94,220,111,225,93,183,4,100,0,0,108,246,148,1,31]},"serviceData":[],"serviceUuids":[],"solicitationServiceUuids":[],"serviceSolicitationUuids":[]} +2ms
what advertisement-discovery.js returns:
here is my manufacturer data: 		"aabb6cf69401"
How do I obtain the correct manufacturer's data through noble in this instance?
Below is a more complete debug extract
hci onSocketData: 043e2b0201000079f27e570b001f0201061bffaabb000b577ef279976c025edc6fe15db7046400006cf694011fc4 +1s   hci 	event type = 4 +1ms   hci 	sub event type = 62 +0ms   hci 		LE meta event type = 2 +0ms   hci 		LE meta event status = 1 +0ms   hci 		LE meta event data = 000079f27e570b001f0201061bffaabb000b577ef279976c025edc6fe15db7046400006cf694011fc4 +0ms   hci 			type = 0 +1ms   hci 			address = 00:0b:57:7e:f2:79 +0ms   hci 			address type = public +0ms   hci 			eir = 0201061bffaabb000b577ef279976c025edc6fe15db7046400006cf694011f +0ms   hci 			rssi = -60 +0ms   gap advertisement ** = {"manufacturerData":{"type":"Buffer","data":[170,187,0,11,87,126,242,121,151,108,2,94,220,111,225,93,183,4,100,0,0,108,246,148,1,31]},"serviceData":[],"serviceUuids":[],"solicitationServiceUuids":[],"serviceSolicitationUuids":[]} +2ms   hci onSocketData: 043e2b0201040079f27e570b001f07ffaabb6cf6940115096d6d79206c6f676765720000000000000000000000c3 +1ms   hci 	event type = 4 +0ms   hci 	sub event type = 62 +0ms   hci 		LE meta event type = 2 +0ms   hci 		LE meta event status = 1 +0ms   hci 		LE meta event data = 040079f27e570b001f07ffaabb6cf6940115096d6d79206c6f676765720000000000000000000000c3 +1ms   hci 			type = 4 +0ms   hci 			address = 00:0b:57:7e:f2:79 +0ms   hci 			address type = public +0ms   hci 			eir = 07ffaabb6cf6940115096d6d79206c6f676765720000000000000000000000 +0ms   hci 			rssi = -61 +0ms   gap advertisement ** = {"localName":"mmy logger\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","manufacturerData":{"type":"Buffer","data":[170,187,108,246,148,1]},"serviceData":[],"serviceUuids":[],"solicitationServiceUuids":[],"serviceSolicitationUuids":[]} +1ms peripheral discovered (000b577ef279 with address <00:0b:57:7e:f2:79, public>, connectable true, RSSI -61: 	hello my local name is: 		mmy logger 	can I interest you in any of the following advertised services: 		[] 	here is my manufacturer data: 		"aabb6cf69401"

It would be much appreciated if someone can provide some insight/advice/solution to this ...

In the output above, your peripheral 00:0b:57:7e:f2:79 lists the manufacturer data as [170,187,108,246,148,1] in the advertisement and "aabb6cf69401" in the output. This is the same data displayed in 2 different formats. This is working as expected.
$ node
> b = new Buffer([170,187,108,246,148,1])
<Buffer aa bb 6c f6 94 01>
>

The other buffer contains different manufacturer data, so I'm guessing that the scan and scan response are returning different manufacturer data. Closing as a duplicate of https://github.com/noble/noble/issues/305.


Ensure QGIS opens maximized on starting up

The QGIS app should open full-screen and not require the user to resize the window.

To add some colour here:
With https://github.com/2i2c-org/nasa-qgis-image/pull/4, QGIS will now automatically start when the Desktop session is started. The problem is that the window that QGIS starts in covers only a small part of the screen, and we want it to start full-screen.
Steps to Reproduce:

Build and run image following docs in README
Open URL and navigate to Desktop in Jupyter Lab
You should see an Ubuntu desktop and QGIS starting up

Expected behaviour:

QGIS should open full-screen / maximized

Actual behaviour:

QGIS opens in a small window and the user needs to click maximize to maximize the window.

I was looking for a flag we could add to the qgis start command here: https://github.com/2i2c-org/nasa-qgis-image/blob/main/qgis.desktop#L8 - some programs accept a --maximize flag or so, but this did not seem to work and looking at qgis --help did not seem to have anything to force opening maximized.
I think there's two possible routes here:

Look if we can specify this in user profile configuration or so in QGIS to ensure it opens full-screen
Look if we can modify default window size settings in Ubuntu to get programs to open in full-screen by default

Just putting this out there because my initial naive attempts don't seem to work, so seeing if someone has a good idea here before diving deeper.
cc @geohacker @Rub21

here a posible solution: https://github.com/2i2c-org/nasa-qgis-image/pull/9


[Event Hubs] Try catch handling

PR to update try catch handling as desired.
Refer to https://github.com/Azure/azure-sdk-for-js/pull/4322#discussion_r308479568 for more context.

/azp run js - eventhubs-client - tests


Using : covers whole window (windows 10)

Using : commands while using vim in the command prompt console covers the whole screen and renders the content needed to be edited invisible.
For example :

This isn't something I can reproduce. Most likely, it's related to your Vim installation.


Revert the state of operational key pair, NOC and ICAC on fail-safe expiration

Problem
<what's wrong or missing, please include any applicable:
If an UpdateNOC command had been successfully invoked, revert the state of operational key pair, NOC and ICAC for that Fabric to the state prior to the Fail-Safe timer being armed, for the Fabric Index that was the subject of the UpdateNOC command.
if (event->CommissioningComplete.UpdateNocCommandHasBeenInvoked)
{
    // TODO: Revert the state of operational key pair, NOC and ICAC
}

Proposed Solution
<suggested fix, suggested enhancement>

Spec Review: Assigning to @tcarmelveilleux


setup.py, README: Generate proper Project Description for PyPi

setup.py: Include README in pypi upload
This allows for more information by embedding the README at https://pypi.org/project/isso/ as a "Project Description".
README: Point LICENSE to current GH master, shuffle sections a bit
Reasoning: Use absolute link to allow embedding the rendered README on pypi (where the relative-path LICENSE is not available).

On Wed, Feb 23, 2022 at 01:45:26PM -0800, ix5 wrote:

@ix5 commented on this pull request.

@@ -9,7 +9,7 @@ Python and JavaScript. It aims to be a drop-in replacement for
See posativ.org/isso for more details.

License
-MIT, see LICENSE.
+MIT, see LICENSE.
You cannot link to package resources inside PyPi, even if you include them in MANIFEST.in.
(I tested via https://test.pypi.org/project/isso-testpypi/ and the link goes to a 404, as you'd expect: https://test.pypi.org/project/isso-testpypi/LICENSE )

I don't think we should bother fixing it then; ideally we'd just filter out the entire license section since the license is already shown on the left hand side on Pypi.

ideally we'd just filter out the entire license section

Done.
Personally, I think this is the ugliest code I've ever committed, but I agree with your sentiment. Unless someone comes up with a better/cleaner/more beautiful solution, I'm merging this within 2 days.


Adjusted a few naming conventions and normalized some styles

Just touched up some code to match some of @sccolbert 's recommendations.

Is this meant to replace #127?

looks to be a replacement

Yeah it is supposed to be a replacement. Is there a way to specify that?

No way to specify. Just close the old issue with a comment, like I did.

LGTM modulo my two most recent comments

:shipit:


Make mppingpong example mutlipath-capable

At the moment, we have an example called mppingpong that sends ping and pong packets between to sockets, using one path. The next step would be to apply sending those packets over multiple paths. To do so, please consider the following things:
Target of mppingpong
The main point that mppingpong should visualize is the communication over multiple paths. Each socket (client or server) will send a packet containing the its path as payload (although the path is already in the SCION header, this information is normally not accessible from applications, so we add it again here for simplicity). Mppingpong logs over what paths it sends ping and over what paths it receives pongs, so that it's clearly visible that multipath is going on here.
Example:
Send ping over Path xxx
Send ping over Path yyy
Receive pong over Path zzz
...
Using the underlying connections instead of mp.read/write
Since writing the path in the packets is an application specific task, it would be not recommended to implement it in the packet scheduler. Therefor, please use the connections that the MPPeerSock opens for all paths to send an receive data. How to get them is already part of the example:
	go func() {
		for {
			log.Info("Waiting for new connections")
			conns := <-mpSock.OnConnectionsChange
			log.Infof("New Connections available, got %d", len(conns))
			for i, v := range conns {
				log.Infof("Connection %d is %s", i, packets.ConnTypeToString(v.GetType()))
			}
		}
	}()

Each connection is either incoming our outgoing. Please call read on the incoming connection (it's always one for the moment) and write on all outgoing connections. Connections can be filtered by calling GetType().
How to get the path and serialize/deserialize it
Each outgoing connection has a GetPath function that returns it's current path. This should be used to write the path of each connection to the remote socket. Serializing it can be done in a way like this:
               var network bytes.Buffer
		enc := gob.NewEncoder(&network) // Will write to network.
		err := enc.Encode(conn.GetPath())
		conn.Write(network.Bytes())

Deserializing a path from a packet would look like this:
        _, err := s.connections[0].Read(bts)
	p := snet.Path{}
	network := bytes.NewBuffer(bts) // Stand-in for a network connection
	dec := gob.NewDecoder(network)
	err = dec.Decode(&p)

Why incoming and outgoing connections
Please consider the following image describing how two sockets connect each other via multiple paths.

Since UDP does not provide connection-oriented communication, the connection that a socket listens on will not be able to send packets, because there is no remote known. Similar connections that were created using dial: Since the port is chosen randomly, no remote socket will send data to this port, meaning that there will be no incoming traffic  for this connection.

One thing to serialize/deserialize paths: register path.Path (from snet/path) type to gob gob.Register(path.Path{})


Support Upwards Data Flow & Control Flow in init Blocks

Support for data flow that occurs up blocks.
void test(boolean condition) {
    String n;
    String o;
    try {
        n = /*~~>*/"42";
    } catch (Exception e) {
        // No-op
    } finally {
        o = /*~~>*/"42";
    }
    System.out.println(/*~~>*/n);
    System.out.println(/*~~>*/o);
}

Also supports Control Flow in init blocks:
class Test {
    /*~~(BB: 2 CN: 1 EX: 2 | L)~~>*/{
        if (compute()) /*~~(L)~~>*/{
            System.out.println("Hello!");
        }
    }
    static Boolean compute() {
        return null;
    }
}

Closes #1938


Search for multiple environmental variables

Users can search for up to 3 environmental variables (Fix for #86 )
Also fixed #223

I hope this doesn't conflict with (or break) #224 .

Current coverage is 69.73%

Merging #226 into master will not affect coverage as of d80c272

@@            master    #226   diff @@
======================================
  Files           38      38
  Stmts         1804    1804
  Branches         0       0
  Methods          0       0
======================================
  Hit           1258    1258
  Partial          0       0
  Missed         546     546

Review entire Coverage Diff as of d80c272

Powered by Codecov. Updated on successful CI builds.

There are only changes in client-side code, so I don't think this will conflict with PR #224


Need Powershell help files

The module needs help files for cmdlet and parameter descriptions and examples.

Fixed by #102 and #106.


USB keyboard via PS/2 initialised incorrectly when inserted before boot (cpu)

Expected behavior
I have a USB keyboard, connected via a PS/2 adaptor.  It has with no keypad.  The keypad buttons overlap with the right hand side of the letters (e.g. 456 = UIO).  These keys can be used if the 'fn' toggle button is toggled on.  This behaviour should be off by default.
Actual behavior
If I remote boot cpu on real hardware with this keyboard connected via PS/2, the numeric keypad is enabled.  The toggle key doesn't toggle - I need to hold it down to use the default letter keys.
However, if I unplug and plug the keyboard in again, it behaves better, with the letters on by default, the numeric keys working if the fn button is pressed.
Given the keyboard is really a USB keyboard, I'm not sure the toggle button behaviour (press once to turn on, again to turn off) can be achieved (it doesn't work this way in Fedora or Mac, it needs to be held - still need to try on Windows), but the initial default should be consistent regardless of when the keyboard was inserted.
Steps to reproduce
Boot cpu with keyboard inserted.  Type.  Plug then unplug.  Type again.

Does it work without ps/2 adaptor? in afirmative case, does it produce the same effect?

It works in fedora or Mac without the adapter. I haven't been able to test
without the adapter on Harvey.
On Wed, 1 Mar 2017, 12:29 Álvaro Jurado<EMAIL_ADDRESS>wrote:

Does it work without ps/2 adaptor? in afirmative case, does it produce the
same effect?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Harvey-OS/harvey/issues/454#issuecomment-283327528,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAqnS1ZzT4TcmEnr9olCzT6-ItnRsM6Tks5rhWSUgaJpZM4MPZ1X
.


Crashlytics halted compilation because it can't extract Crashlytics build info from the APK:

I am getting the below error when trying to build my cordova/ionic app for android. No issue with iOS build.
ERROR [2018-03-14 12:44:35.77]: Shell command exited with exit status 1 instead of 0.
WARN [2018-03-14 12:44:35.77]: Lane Context:
INFO [2018-03-14 12:44:35.77]: {:PLATFORM_NAME=>:android, :LANE_NAME=>"android beta", :GIT_REPO_WAS_CLEAN_ON_START=>true}
ERROR [2018-03-14 12:44:35.77]:  WARN - Crashlytics halted compilation because it can't extract Crashlytics build info from the APK: /Users/Brad/Documents/apparent/platforms/android/build/outputs/apk/android-debug.apk
Exception in thread "main" com.crashlytics.tools.android.exception.PluginException: Distribution upload failed.
    at com.crashlytics.tools.android.DeveloperTools.processProperties(DeveloperTools.java:667)
    at com.crashlytics.tools.android.DeveloperTools.processArgsInternal(DeveloperTools.java:348)
    at com.crashlytics.tools.android.DeveloperTools.main(DeveloperTools.java:273)
Caused by: com.crashlytics.tools.android.exception.DistributionException: Crashlytics halted compilation because it can't extract Crashlytics build info from the APK: /Users/Brad/Documents/apparent/platforms/android/build/outputs/apk/android-debug.apk
    at com.crashlytics.tools.android.DistributionTasks.uploadDistribution(DistributionTasks.java:64)
    at com.crashlytics.tools.android.DeveloperTools.processProperties(DeveloperTools.java:665)
    ... 2 more

INFO [2018-03-14 12:44:35.77]: Successfully generated documentation at path '/Users/Brad/Documents/apparent/fastlane/README.md'

+------+-------------------------+-------------+
|               fastlane summary               |
+------+-------------------------+-------------+
| Step | Action                  | Time (in s) |
+------+-------------------------+-------------+
| 1    | update_fastlane         | 2           |
| 2    | ensure_git_status_clean | 0           |
| 3    | patch                   | 0           |
| 4    | cordova                 | 8           |
| 💥   | crashlytics             | 2           |
+------+-------------------------+-------------+

DEBUG [2018-03-14 12:44:35.78]: All plugins are up to date
ERROR [2018-03-14 12:44:35.78]: fastlane finished with errors
DEBUG [2018-03-14 12:44:35.78]: All plugins are up to date
bundler: failed to load command: fastlane (/usr/local/bin/fastlane)
FastlaneCore::Interface::FastlaneError: [!]  WARN - Crashlytics halted compilation because it can't extract Crashlytics build info from the APK: /Users/Brad/Documents/apparent/platforms/android/build/outputs/apk/android-debug.apk
Exception in thread "main" com.crashlytics.tools.android.exception.PluginException: Distribution upload failed.
    at com.crashlytics.tools.android.DeveloperTools.processProperties(DeveloperTools.java:667)
    at com.crashlytics.tools.android.DeveloperTools.processArgsInternal(DeveloperTools.java:348)
    at com.crashlytics.tools.android.DeveloperTools.main(DeveloperTools.java:273)
Caused by: com.crashlytics.tools.android.exception.DistributionException: Crashlytics halted compilation because it can't extract Crashlytics build info from the APK: /Users/Brad/Documents/apparent/platforms/android/build/outputs/apk/android-debug.apk
    at com.crashlytics.tools.android.DistributionTasks.uploadDistribution(DistributionTasks.java:64)
    at com.crashlytics.tools.android.DeveloperTools.processProperties(DeveloperTools.java:665)
    ... 2 more

i got the same error
`Crashlytics halted compilation because it can't extract Crashlytics build info from the APK: /Users/hienngo/Workspace/Android/taus-reel-android/app/build/outputs/apk/sit/debug/app-sit-debug.apk (FastlaneCore::Interface::FastlaneError)
Exception in thread "main" com.crashlytics.tools.android.exception.PluginException: Distribution upload failed.
at com.crashlytics.tools.android.DeveloperTools.processProperties(DeveloperTools.java:667)
at com.crashlytics.tools.android.DeveloperTools.processArgsInternal(DeveloperTools.java:348)
at com.crashlytics.tools.android.DeveloperTools.main(DeveloperTools.java:273)
Caused by: com.crashlytics.tools.android.exception.DistributionException: Crashlytics halted compilation because it can't extract Crashlytics build info from the APK: /Users/hienngo/Workspace/Android/taus-reel-android/app/build/outputs/apk/sit/debug/app-sit-debug.apk
at com.crashlytics.tools.android.DistributionTasks.uploadDistribution(DistributionTasks.java:64)
at com.crashlytics.tools.android.DeveloperTools.processProperties(DeveloperTools.java:665)
... 2 more
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane_core/lib/fastlane_core/ui/ui.rb:17:in `method_missing'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/actions/crashlytics.rb:42:in `block in run'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/helper/sh_helper.rb:78:in `call'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/helper/sh_helper.rb:78:in `sh_control_output'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/actions/crashlytics.rb:45:in `run'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/runner.rb:257:in `block (2 levels) in execute_action'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/actions/actions_helper.rb:50:in `execute_action'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/runner.rb:236:in `block in execute_action'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/runner.rb:231:in `chdir'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/runner.rb:231:in `execute_action'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/fast_file.rb:149:in `method_missing'
from Fastfile:34:in `block in parsing_binding'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/lane.rb:33:in `call'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/lane.rb:33:in `call'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/runner.rb:49:in `block in execute'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/runner.rb:45:in `chdir'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/runner.rb:45:in `execute'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/lane_manager.rb:59:in `cruise_lane'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/commands_generator.rb:107:in `block (2 levels) in run'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in `call'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in `call'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in `run'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in `run_active_command'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:75:in `run!'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in `run!'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/commands_generator.rb:332:in `run'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/commands_generator.rb:41:in `start'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/cli_tools_distributor.rb:108:in `take_off'
from /Users/hienngo/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.95.0/bin/fastlane:20:in `<top (required)>'
from /Users/hienngo/.fastlane/bin/bundle/bin/fastlane:22:in `load'
from /Users/hienngo/.fastlane/bin/bundle/bin/fastlane:22:in `<main>'`

The same.

Same here. Any help?

bump

It worked when I tried building release apk instead of debug apk. Don't know why it is giving error on debug build.

Same error here using Flutter. I think you need Crashlytics plugin for each platform according to https://github.com/fastlane/fastlane/issues/9355#issuecomment-305999448


Maximum duration supported during inference?

The training duration is 3 seconds. Without a significant drop in performance, what is the maximum duration supported during inference?

The training duration is 3 seconds. Without a significant drop in performance, what is the maximum duration supported during inference?

It's long, you can try 30 seconds of audio for inference.


Feature wren get argument bool

Getting bool arguments for methods defined with wrenDefineMethod.

I've also noticed, in regards to this pull request, that there may be a problem with either the current API or the comments.
Retrieves the argument at [index] // which ranges from 0 to the number of parameters the method expects - 1.
As far as I can see when I've been using this, the range begins at 1 as appose to 0. Ideally it would start at 0, but then that's changing the API. So, I'm not sure what's best to do here.
Just thought I'd point that out.

Awesome, thanks!

As far as I can see when I've been using this, the range begins at 1 as appose to 0.

It does begin at zero. The zeroth argument is actually the receiver of the method call. So in something like:
"string".someMethod("arg")

If someMethod is a foreign method, when it calls wrenGetArgumentString(vm, 0) it will return "string" and wrenGetArgumentString(vm, 1) will return "arg".

Ahhhh! I see, sorry I didn't take that into account. Well that's good news then. :)


Recommendation to check in proptest regressions seems off

My experience with JS's fastcheck which is where I had more experience with applying property testing in production, I found myself adding explicit test cases when encountering a bug. That way I can explicitly document the specific conditions that leads to the bug and have an explicitly documented test case for the regression while leaving the property testing to continue randomly exploring potential other bugs. The other advantage is that even if something subtle about the property generation changes, the regression test remains durably in the code whereas the old regressed seed is now testing an irrelevant case & not providing the protection intended.
The other problem is that with every regression you add, you remove 1 random fuzz attempt from your test run. At the limit, if you have 250 issues in your crate found through property testing, you won't notice that your property test is now just rerunning those regressions on each run only instead of trying to find new issues. Yes you can increase the number of cases, but you have to remember to do this & the value of running regressions through proptest may not be as good (proptest will be slower at running those regressions + the ability to catch that regression depends on the strategies never changing & the property test remaining static).
Of course, maybe I'm misusing proptest & it's expected to be used differently.
This might be related to https://github.com/proptest-rs/proptest/issues/439 in that if proptest only recorded the last seed attempted at the start of the program and removed it on success (thus rerunning if the proptest aborted for any reason), things would work a bit more smoothly.

I see a few related but different topics here:

explicit test cases

we're looking at adding first-class support for these so you can share test code between arbitrary cases and well-known edge cases. i think longer term this will be an ergonomic approach to dealing with this and you can disable persistence and just list our your explicit cases

validity of a seed against changing properties

i don't have a perfect answer for this one. its definitely an issue, especially for areas that have some churn on the underlying data that gets generated. i don't think this makes it fundamentally useless but there are definitely cases where it becomes borderline useless against its original goal. the few alternative/complementary approaches I can think of off the top of my head aren't foolproof either:

we could add some type of fingerprint/signature/hash of the data generated via Arbitrary and persist this alongside the seed and when a mismatch is found between the hash on-disk and the hash generated in memory, we could print a warning informing the user that their seed is no longer generating the same data. this might be pretty invasive in terms of implementation -- haven't thought about it too deeply, and it still leaves effort on the end-user to go clean up stale seed
we could attempt to serialize the actual values generated, rather than/in addition to the original seed and then re-use the values verbatim. this also seems a bit invasive as we'd need to be able to serialize/deserialize generated values. it would also lead to variable sizes of the persisted file and since the generated data is... Arbitrary, i'm not a big fan of this one

persisted cases decrease from the number of fuzzed cases

this one isn't quite right. we don't count the persisted cases in our total number of runs so if you say 10 cases and you have 5 persisted seeds, we'll run the 5 persisted seeds and then our count is still at 0 and then run the 10 cases with new generated data. now this comes with the downside of increased execution time but if we assume the fidelity of the persisted seeds is good, then it's effectively the same run time as if you had manually written out the 5 explicit cases

explicit cases vs seed, "misusing proptest", etc

i'd like to think there are almost no "misuses" of proptest out there -- if you're getting some value out of testing with it then that's a pretty good use. that said there are definitely different ways to use proptest and we probably don't have the best ergonomics for all of them. the ones i'm most familiar with in my own projects fall in to two rough categories:

narrow tests that have relatively simple inputs that can be easily constructed
wide tests that are testing entire systems and using proptest to generate sequences of inputs to the system -- the type of testing we've been adding first class support for via proptest-state-machine

for the first category, its fair to say that a workflow to write the manual test case without the indirection of persisting rng seeds may work better for you. for the second category it's a bit less straight forward where the data generated interacts with a stateful system and its not as trivial to stage an explicit test that can elicit the exact behavior of a bug.


UpdateFromQuery for PostgerSQL LTree datatype is throwing exception.

Description
Hi,
I have problems with the postgresql ltree data type.
I would like to use UpdateFromQueryAsync to change the 'LTree' path, but that doesn't work
BulkInsertAsync when adding entities with  LTree property  doesn't work as well.
What can I do with that?
Exception
Npgsql.PostgresException: '42883: operator does not exist: ltree <@ text
Code
This is my Entity:
public class Item
{
    public Guid ItemId { get; set; }
    public LTree Path { get; set; }

    public int OrderNumber { get; set; }
    public double SortValue { get; set; }

}

And on this line it throws exception:
await _context.Items
     .Where(i => i.Path.IsDescendantOf(item.Path))
     .UpdateFromQueryAsync(i => new Item
     {
         Path = newParent.Path + i.Path.Subpath(currentParentNLevel),
     }, cancellationToken);

Further technical details
NugetPackage Versions

Microsoft.EntityFrameworkCore: 6.0.7
Npgsql.EntityFrameworkCore.PostgreSQL: 6.0.5
Z.EntityFramework.Extensions.EFCore: 6.14.3
Z.EntityFramework.Plus.EFCore: 6.14.3

Database version

PostgreSQL: 14.1
ltree extension: 1.2

Hello @prozyckiFP ,
We will look at why the ltree does't work with BulkInsert.
I do not believe we will be able to make compatible this syntax for UpdateFromQuery.
Best Regards,
Jon

Hello @prozyckiFP ,
The v6.14.4 has been released.
The support for LTree has been added for BulkInsert and other bulk operations but as said, there is currently no plan for UpdateFromQuery at this moment.
Best Regards,
Jon


coq: allow static linking by moving wrapGAppsHook to nativeBuildInputs

Motivation for this change
I want to build  LIGO statically but kept hitting this error: error: attribute 'runtimeShell' missing.
When moving wrapGAppsHook to nativeBuildInputs I at least got past that error.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

I’m not sure how a change in Coq can help you for building ligo. But the proposed change looks OK.

Since ligo depends on coq I had to build it in the static closure which failed with error: attribute 'runtimeShell' missing while evaluating. This change fixes it.

Commited your suggestion and squashed @vbgl, thank you for reviewing!


Download quality options

Question
Is there a way of specifying the quality option for download so that it grabs the best quality video but not higher than 1080p?
Today I am using this but that can give me really large videos:
    const stream = await yt.download(id, {
      format: 'mp4',
      quality: 'bestefficiency',
      type: 'video',
    })

Using this gives me error if the youtube video doesn't have a 1080p stream:
    const stream = await yt.download(id, {
      format: 'mp4',
      quality: '1080',
      type: 'video',
    })

Other details
No response
Checklist

[X] I am running the latest version.
[X] I checked the documentation and found no answer.
[X] I have searched the existing issues and made sure this is not a duplicate.
[X] I have provided sufficient information.

I think Youtube itself does also not support that natively, so you'd probably have to resort to a process where you try the 1080p first, then try 720p, and so on until there is a stream that works?

Also, you can check the available formats upfront, using the information from the .getInfo() call.

Thanks for the response @willemmulder
Yea, that's the approach I decided to go with.
(I think I have seen some fancy syntax in other youtube download libraries where you can set a limit, so I thought that was something that was provided from somewhere).
You are welcome to close the issue if you don't think it make sense to include in the library.


Exclude tests dir from build

Also, I think test dir is not necessary in build. So I excluded.

thanks for the pr! a few comments/questions

Thank you for your review!
I'm checking until Wednesday. Sorry for late💦

To avoid this eslint error. I need to extract eslint.build.json.
3e27a98

@softboyjimbo
Thank you for your review!
I've fixed your pointing and few tweaks.


How to train 360 lidar annotation?

I am training with custom KITTI data that has 360 degree lidar annotations. (i.e. Not only for front, but also left/right/back).
By default, your toolkit trims outside of FoV and makes velodyne-reduced. And even lidar-only models (e.g. SECOND) perform train/test/val with only front part data (i.e. trimmed data excluding left/right/back annotations).
Is there a way to train/val/test 360 degree lidar annotations?
I know that there were related issues, but I couldn't find the detailed way.

https://github.com/open-mmlab/mmdetection3d/issues/1023#issuecomment-957262996
https://github.com/open-mmlab/mmdetection3d/issues/76#issue-684231702

More information
Sensor setup

360-degree lidar
Single RGB camera

Example of the 360-lidar annotations in KITTI format
Car 0.00 0 -1.37 0 0 0 0 1.60 1.88 5.28 -6.45 1.16 1.28 -0.04  <-- Outside of FoV
Car 0.00 1 0.26 1048.20 561.57 1593.11 767.63 2.10 3.26 5.73 3.42 1.88 12.82 -0.24
Car 0.00 0 0.65 0 0 0 0 1.87 1.81 5.31 4.48 1.57 5.91 -0.04   <-- Not fusioned

I think there must be more details should be changed:

the point_cloud_range  in config should be changed to cover the whole scene, not only the front view ( x>0 ).
the convert_valid_bboxes function should be changed or discarded, to keep all the annotations while training.
the pkl file generated during data conversion should be should be changed to save all the annotations for training. It seems that now it only saves the fov box labels.
Since the point_cloud_range is much larger than now, considering the memory consumption, you may need to enlarge the voxel_size.

Maybe more details could be revised for whole scene training and inference. I recommend you can first try to test on the 360 degree point cloud data with our provided well-trained model. If it works, you can further go on training.

I think there must be more details should be changed:

the point_cloud_range  in config should be changed to cover the whole scene, not only the front view ( x>0 ).
the convert_valid_bboxes function should be changed or discarded, to keep all the annotations while training.
the pkl label file generated during data conversion should have saved all the annotations for training. You can recheck it.
Since the point_cloud_range is much larger than now, considering the memory consumption, you may need to enlarge the voxel_size.

Maybe more details could be revised for whole scene training and inference. I recommend you can first try to test on the 360 degree point cloud data with our provided well-trained model. If it works, you can further go on training.

I will try to follow your advice with small sample data, soon.
Before that, I want to check right label method for the two cases of Outside of FoV and Not fusioned. I currently fill the bbox labels with 0 0 0 0. Is it right value for this?
For example, which of the following is the best way?
(1) Car 0.00 0 -1.37 0 0 0 0 1.60 1.88 5.28 -6.45 1.16 1.28 -0.04
(2) Car 0.00 0 -1.37 0 0 1920 1080 1.60 1.88 5.28 -6.45 1.16 1.28 -0.04
(3) Car 0.00 0 -1.37 1920 1080 1920 1080 1.60 1.88 5.28 -6.45 1.16 1.28 -0.04
(4) Car 0.00 0 -1.37 0 0 1 1 1.60 1.88 5.28 -6.45 1.16 1.28 -0.04

It doesn't seem to predict the back.

What i have done.

Changed point_cloud_range to [-70, -70, -3, 70, 70, 3]
Changed convert_valid_bboxes

valid_inds = valid_pcd_inds.all(-1)  # [original] valid_inds = valid_cam_inds & valid_pcd_inds.all(-1)

Changed pts_prefix='velodyne_reduced' to pts_prefix='velodyne' in https://github.com/open-mmlab/mmdetection3d/blob/99ad831a8b04a7f5622c366d8e60745f92a62008/configs/base/datasets/kitti-3d-car.py

You need also modify the anchor_range to 360-degree. If you have done this, please add breakpoints in the forward process to observe:

Is the input point cloud 360-degree as expected? Is it still correct after preprocessing pipelines and voxelization?
Is the feature map and predicted results located in 360-degree?

Close due to inactivity.


Add ExecutionMode enum to EntryPointExecutionContext.

This change is

crates/blockifier/src/execution/syscalls/hint_processor.rs line 177 at r1 (raw file):

            secp256r1_hint_processor: SecpHintProcessor::default(),
            execution_mode,
        }

Suggestion:
        SyscallHintProcessor {
            state,
            resources,
            context,
            call,
            inner_calls: vec![],
            events: vec![],
            l2_to_l1_messages: vec![],
            read_only_segments,
            syscall_ptr: initial_syscall_ptr,
            read_values: vec![],
            accessed_keys: HashSet::new(),
            hints,
            execution_info_ptr: None,
            secp256k1_hint_processor: SecpHintProcessor::default(),
            secp256r1_hint_processor: SecpHintProcessor::default(),
            context.execution_mode,
        }

crates/native_blockifier/src/papyrus_state_test.rs line 0 at r1 (raw file):
Can we make changes to this file like this?

crates/blockifier/src/execution/syscalls/hint_processor.rs line 177 at r1 (raw file):

            secp256r1_hint_processor: SecpHintProcessor::default(),
            execution_mode,
        }

Is this better?
Otherwise, it complaints about context being borrowed.
Suggestion:
        SyscallHintProcessor {
            state,
            resources,
            execution_mode: context.execution_mode,
            context,
            call,
            inner_calls: vec![],
            events: vec![],
            l2_to_l1_messages: vec![],
            read_only_segments,
            syscall_ptr: initial_syscall_ptr,
            read_values: vec![],
            accessed_keys: HashSet::new(),
            hints,
            execution_info_ptr: None,
            secp256k1_hint_processor: SecpHintProcessor::default(),
            secp256r1_hint_processor: SecpHintProcessor::default(),
        }


Microsoft.ApplicationInsights.DependencyCollector	2.8.0

Type: Missing
Summary:
Microsoft.ApplicationInsights.DependencyCollector	2.8.0
Details:
License link on Nuget site indicates license is MIT
Resolution:
License file in repository also indicates license is MIT
Affected definitions:

Microsoft.ApplicationInsights.DependencyCollector 2.8.0

@mihouc This was curated as NOASSERTION. Please resubmit.


add function to gaf_reader.py - how to get complete gaf files annotations?

Hi,
I am not sure if there is a different way to do this but I am interested in getting all the annotations from gaf file and not just the mappings from geneids to goids (or vice versa).
I added the following function toe the gaf_reader.py file
def read_associations(self, **kws):
return self.associations #return all the associations
To get the complete annotations I then use -
gafreader = GafReader(gaf_filename, hdr_only = false, prt=sys.stdout)
associations = gafreader.read_associations()
Is there another way to do this?  If not can this function be added to gaf_reader.py?
Thanks,
Ruth

Ruth,
Thank you so much for your interest in GOATOOLS and taking the time to write us.
Do you have a preferred GAF file that you are working with?
Your idea is a great one. We might already have what you need. The gaf file is read by the GafReader instance and stored in a data member called, associations, which is a list of namedtuples. Each namedtuple contains one line of information from the gaf file
Would this work for you? The last two lines show printing of all gaf data in all gaf lines:
import os
import sys
from goatools.anno.gaf_reader import GafReader

REPO = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..")

def test_gaf(prt=sys.stdout):
    """Test finding and reporting illegal GAF lines seen in the field."""
    fin_gaf = os.path.join(REPO, 'goa_human.gaf')
    gafobj = GafReader(fin_gaf, hdr_only=False, prt=prt)
    id2gos = gafobj.read_gaf()  # Read associations
    for ntd in gafobj.associations:
        print(ntd)

Perfect.  Thanks!  That is exactly what I was looking for.  Sorry, I am a python newbie.
One other question, I want to get the GO ontology using is_a and part_of and I have figured out how to get is_a (default) and I have also used get_all_upper() to get all the parents using all relationships but is there a way to return the go tree with just is_a and part_of excluding the regulation type terms?
Thanks,
Ruth

Welcome to Python! It is a great language.
I added documentation so if other researchers want to access the GAF lines that are stored in the list of namedtuples, they will know that they exist and are easily accessible.
Check out the new Jupyter notebook:
https://github.com/tanghaibao/goatools/blob/master/notebooks/annotations_gaf_file.ipynb
Can you open a new issue to ask about the GO ontology is_a and part_of?
Thank you again for your interest in GOATOOLS and taking the time to write us.


unable to resolve modules 'react-native-tab-view/types'?

When i imported NavigationState from react-native-tab-view/types, I get path not found error.
Kindly assist.

Sorry guys. Issue with my Linter showing error for '-' in method call.
I rectified it by simply running the code without any change.


Configurable indent string

Do you have any use case of this ?

Formatting is the only use case here.
It is a pain when you stick to spaces everywhere in the project, but end up having tabs generated in the i18n files. The worst part is the mess in git repo, when you do a small change in the code, but end up with tons of lines with changed indenting by accident.

thanks!.


Game skips last voting round and goes straight to final leaderboard

Not sure if this is a frontend or backend issue, but game seems to skip the last round's voting phase either completely or after a couple of seconds before showing final leaderboard.

quickly investigated it: backend bug
=> in the final round the following data is sent almost immediately:
{... gameState : "GAME_RESULTS" ...}


Enhancement for metricsConfig redesign

xref: https://issues.redhat.com/browse/HIVE-2344
/assign @2uasimojo

With a read through the design doc, I do not think there would be any issue from SREP side.

@2uasimojo Implemented all your suggestions and rebased, this is ready for a broader review.
@bmeng, @tzvatot  and @hongkailiu Can you please review this again? We made some changes, the biggest one is that we have decided to make all metrics optional (aka hive will not report any metric by default post the deprecation period).
@berenss Is it okay to assume ACM doesn't use Hive metrics, hence it won't be affected by these changes?
@maorfr Would you be able to help find an appropriate reviewer from AppSRE?

Thanks @suhanime! This lgtm to open for broader review.

@dustman9000 @patjlm @janboll Added you to the Reviewers. Please review at your earlier convenience.
@berenss and @tzvatot confirmed no impact to ACM and OCM
Waiting for the go-ahead from SREP, App-SRE and @hongkailiu

/lgtm
We may find little things to tweak/add as we implement, but I think this is ready to land. Nice work!


libadm 0.14.0 not via brew tap irt-open-source/homebrew-nga

Latest libadm 0.14.0 seems not to be brewable by 'brew tap irt-open-source/homebrew-nga'. 0.12.0 is the latest available.
So instruction in README is misleading.

True. We've been trying to get that moved to the EBU organisation so that we  can update it (only ex-IRT people have access), but it's taking a while for some reason.
In the mean-time you can use https://github.com/rsjbailey/homebrew-nga ; see the instructions in this issue: https://github.com/ebu/libadm/issues/159

No issue with me. Just built it😉

Why do you want to move the repository to the EBU org account? I would just create a fork in the EBU org account and keep the old irt repository as it is. Additionally you could add a message in the readme that this is now further maintained by the EBU. I have access to the irt repo and could merge a PR which adds such a message.

Sorry i misspoke -- i meant making a copy/fork on the EBU account, rather than moving it.


Es plugin Idempotency issue

Codecov Report

Merging #555 into release-2.2.0 will not change coverage.
The diff coverage is n/a.

@@               Coverage Diff                @@
##             release-2.2.0     #555   +/-   ##
================================================
  Coverage            32.58%   32.58%
  Complexity            1244     1244
================================================
  Files                  170      170
  Lines                15077    15077
  Branches              2393     2393
================================================
  Hits                  4913     4913
  Misses                9425     9425
  Partials               739      739

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 9fc5c6a...78850f3. Read the comment docs.


update jkanban.js, add dragItems option.

dragItems: true, default
dragItems: false, to freeze cards, and stop drag-drop

Hi, just added this feature, since we have a requirement to disable drag-drop if no editable permission

Thanks @upzone


Code for Numeric Pattern 287

#638 #639
Numeric Pattern 287
Numeric Pattern 288

please give the correct naming convention for the program files:
numericpattern287.cpp is the format

@aryashah2k done.


Training Problem

Hi, thanks for your great work. However, when I run the code

The GPU usage is strange:

Normally, it should be one process per GPU. However, each GPU has 8 processes.
Besides, I face the following problem:

How do I fix these issue? I believe it is hydra setting problem...

Then, I try to utilize the following code, it still fails:
(zecheng) amax@amax:~/zecheng/gfn-lm-tuning/next_sentence$ torchrun --nnodes=1 --nproc_per_node=1 train.py task=openwebtext_gpt2 device=gpu
[rank: 0] Seed set to 27
[2024-02-20 13:54:15,022][sentence_transformers.SentenceTransformer][INFO] - Load pretrained SentenceTransformer: sentence-transformers/all-mpnet-base-v2
[2024-02-20 13:54:19,179][sentence_transformers.SentenceTransformer][INFO] - Use pytorch device_name: cuda
GPU available: True (cuda), used: True
TPU available: False, using: 0 TPU cores
IPU available: False, using: 0 IPUs
HPU available: False, using: 0 HPUs
Error executing job with overrides: ['task=openwebtext_gpt2', 'device=gpu']
Traceback (most recent call last):
  File "/home/amax/zecheng/gfn-lm-tuning/next_sentence/train.py", line 103, in train
    trainer.fit(model=task, datamodule=data)
  File "/home/amax/anaconda3/envs/zecheng/lib/python3.10/site-packages/pytorch_lightning/trainer/trainer.py", line 543, in fit
    call._call_and_handle_interrupt(
  File "/home/amax/anaconda3/envs/zecheng/lib/python3.10/site-packages/pytorch_lightning/trainer/call.py", line 43, in _call_and_handle_interrupt
    return trainer.strategy.launcher.launch(trainer_fn, *args, trainer=trainer, **kwargs)
  File "/home/amax/anaconda3/envs/zecheng/lib/python3.10/site-packages/pytorch_lightning/strategies/launchers/subprocess_script.py", line 99, in launch
    self.cluster_environment.validate_settings(num_devices=self.num_processes, num_nodes=self.num_nodes)
  File "/home/amax/anaconda3/envs/zecheng/lib/python3.10/site-packages/lightning_fabric/plugins/environments/torchelastic.py", line 90, in validate_settings
    raise ValueError(
ValueError: You set `devices=8` and `num_nodes=1` in Lightning, but the product (8 * 1) does not match the world size (1).

Hi @ZetangForward. I've only designed and tested the code for single-gpu use at the moment, and I have no guarantee that the code will easily work or run at all for multiple GPUs. I think you'll have to play around with both hydra and lightning settings to get it to work correctly, and may potentially have to change some python code as well. Here's some lightning docs I found that could help: https://lightning.ai/docs/pytorch/stable/clouds/cluster_advanced.html

Hi @ZetangForward. I've only designed and tested the code for single-gpu use at the moment, and I have no guarantee that the code will easily work or run at all for multiple GPUs. I think you'll have to play around with both hydra and lightning settings to get it to work correctly, and may potentially have to change some python code as well. Here's some lightning docs I found that could help: https://lightning.ai/docs/pytorch/stable/clouds/cluster_advanced.html

ok, thx for your suggestion. I will try it


Make removing abandoned files optional

Build logic can now implement a RemoveAbandonedFiles, and the bootstrap
logic will only remove abandoned files if that method returns true.
Leaving the method unimplemented will result in the existing behavior of
always removing abandoned files.

LGTM


Why not able change automatically dropdown into dropup ?

There is not enough information here. Please don't just open an issue with no description. Give us more information on what you mean.

What @mylastof probably means is:
When there is not enough space in the view port, to display the select dropdown items (without scrolling), the items should drop up.

Any answer?

Dropdown does this now. Closing deprecated issue


test(robot-server): Snapshot-test the SQL statements that we use to create tables

This work is part of RSS-98.
Overview
We use SQLAlchemy to define our database schema in Python.
When robot-server boots for the first time, SQLAlchemy automatically compiles these Python definitions into raw CREATE TABLE SQL statements and sends them to our database.
For example, SQLAlchemy turns this:
protocol_table = sqlalchemy.Table(
    "protocol",
    _metadata,
    sqlalchemy.Column("id", sqlalchemy.String, primary_key=True),
    sqlalchemy.Column("created_at", UTCDateTime, nullable=False),
    sqlalchemy.Column("protocol_key", sqlalchemy.String, nullable=True),
)

Into this:
CREATE TABLE protocol (
    id VARCHAR NOT NULL,
    created_at DATETIME NOT NULL,
    protocol_key VARCHAR,
    PRIMARY KEY (id)
)

This PR adds a snapshot test for these raw CREATE TABLE SQL statements. Effectively, this is a snapshot test for our database schema at the raw SQL level. The initial snapshot is from release v6.0.0.
Motivation
Sometimes, we want to refactor our Python-side table definitions without changing the SQL-level database schema. For example, PR #11006 made a new Python type to access the raw SQL data in a more convenient way.
Without a test like this, accidental schema changes are hard to detect, because they don't always cause immediate problems. For example, a column's type affinity might change, or a constraint might be renamed.
Review requests

Is the purpose of this test understandable from the in-code comments?
Does this seem maintainable?

Risk assessment
No risk to production code. Changes are only to our test suite.

How did you generate the SQL create statements?

The ones in EXPECTED_STATEMENTS, you mean?
There's a few ways to get them, but I think I ran a v6.0.0 dev server and copy-pasted them from the SQLAlchemy logs when the server booted up.

I am just trying to make sure I understand your intention. we are comparing raw SQL statements to the created tables to make sure we created the table as intended?

Basically yes. We're comparing the raw SQL statements we're using now to the raw SQL statements that we used in v6.0.0, tot make sure we're creating the table the same way we were in v6.0.0.


Channel IDs are mucked up for Weather (WX) radio channels

The logic to generate a channel ID from the frequency is all kinds of wrong since the implementation of Weather (WX) radio.  WX channels allow for three digits of the Kilohertz portion, the current channel ID only accommodates one digit here.  This needs to be fixed for both Matrix and Leia.

This has been addressed for both baselines; closing


Merge refs/heads/feature/find-as-cursor into alpha

Merge refs/heads/feature/find-as-cursor into alpha

This PR has been merged into alpha and tagged as 1.6.0-alpha-202304131459. Thanks for your contribution!


feat: custom Vite server, index.html, Slidev integration example

This adds two new configuration options to @fastify/vite:

server: allows providing a custom Vite dev server instance
prepareHtml: allows providing custom string to serve as  index.html file

And a usage example demonstrating how to serve a slidev presentation.

Closing for the time being as this gets deprecated by the new Vite environment API.


Added maven support

Sources moved to maven specific folder (src/main/java and src/main/test).
Added very simple test case - just to learn how the library works.
Removed Idea files (sorry I don’t have InteliJ so I’m not able to check it).
Added ISessionClosedListener - enabling to monitor if the session was closed.

Thanks for the submission, will get back to you in a day.

Thanks for submission and the test :) :+1:
I have a few suggestions that I have mentioned in other comments. But as these are minor changes, I will go ahead and merge your pull request and make those changes myself to master.
Sorry about the .idea files, I didn't expect anyone to actually use this code :)

Hi, I'm happy to hear that you merged changes.
I will update the code follow your suggestions. Sure you're right that I forgot to remove the local variable.
Anyway, I found your library very helpful so I think it's not only good for me at the end of the day :smile:

What I think is not necessary is the null-check in setCloseListener. So I changed it like this. This way one can pass null - that means remove the listener:
public void setCloseListener(ISessionClosedListener l) {
      _handshaker.setSessionClosedListener(l);
  }

With this approach we have the same convention as in the setSSLListener method:
public void setSSLListener(ISSLListener l) {
    _worker.setSSLListener(l);
}


Undo 712c3ac zsh>sh + shellcheck

It isn't a superset of sh, it is a different shell
Also shellcheck does not have a --shell=zsh (anymore? since 2015 https://github.com/koalaman/shellcheck/blob/102683ab04bcb8a0a6f5d492e70fc8d3703edcc1/ShellCheck/Parser.hs#L2800-L2809)
https://github.com/koalaman/shellcheck/issues/809
being a superset enables shellcheck by default
todo:

[ ] update wiki entry

Nice, thanks!

Please update the wiki.
btw: I think we should move the wiki back to doc in the long run.  What do you think=

The wiki's all set since I only removed the superset and not the configuration
In the long run, yes, it is especially nice to have docs as part of the codebase when you use a plugin manager or git and review the plugin updates.


Is it possible to access the stick management interface from PON side?

Can other users on the same OLT access management interface of my stack?
If that's possible, Is there a way to block it or change the telnet password?
stick is ODI DFP-34X-2C3

No, all connection must be on VLAN, meanwhile management is untag, thus cannot be viewed from ISP side


Font metrics not found for font

KaTeX is designed to provide the benefits of LaTeX's math mode.  KaTeX is not a all-purpose text editor. It certainly is not an HTML parser. Your example is not well-formed LaTeX.
Some editing environments support KaTeX between math delimiters, perhaps $…$. Then a person could write your example as:

if $α, β$ are the zeros of polynomial $2y^2 + 7 + 5$, write the value of $(α + β)+α β$

KaTex would render the math between the $…$ delimiters. What happens outside the delimiters is not KaTeX.

Not totally related but I got this same issue viewing a Jupyter Notebook on VS Code, and found what was causing the issue was having the 𝛼 symbol directly, replacing it with the corresponding \alpha and \beta solved the problem

@MatiasLGonzalez If you're having trouble rendering α, β directly, please open a new issue, and paste the actual α, β symbols you're using.

Sure, but the issue seems to be related to the character been in itallic (U+1D6FC) (just like op),

whereas if the character is in its "normal" (U+03B1) form it renders fine

I can open the issue if this is something that concerns KaTeX

@MatiasLGonzalez Yes, please open a new issue. In addition to screen shots, please include the actual characters in your post (as text).

@edemaine Issue is now open as #3212


Can vim-clap be lenient with input order of words like fzf does?

For example, in the screenshot below from fzf, it is possible to type "api" after "docs". Vim-clap requires me to type "docs" and "api", in that order, at least with default settings.

So, is this feature supported?

Try #652, you have to compile the Rust binary locally.

Woah, that's pretty a quick PR. I checked out #652, unfortunately it does not work yet.

@Congee Forget to mention that you need to compile the Python dynamic module too and force using that as the pure Python substring matcher does not support this.
let g:clap_force_python = v:true

If it still doesn't work for you, please post the minimal vimrc and steps to reproduce.

Hi, I built against the latest commit with the following minimum nvimrc, and it still is not working for me.
call plug#begin(stdpath('data') . '/plugged')
Plug 'liuchengxu/vim-clap', { 'do': ':Clap install-binary' }
call plug#end()

let g:clap_force_python = v:true

" vim: ts=2 sw=2

I'm using:
nvim 0.4.3
vim-clap @ 6ca4c58cd1d3e53486d62ad692375672412a19b3 built by cargo build --release
Am I missing anything :thinking: ?

Can not reproduce with this vimrc, works well for me. cargo build --release does not build the Python dynamic module, just running make is fine.

make was what's missing. It works. Thank you!


Develop migration plan strategy for exported results

Right now we simply delete/discard exported results that don't match current result specification (shipped with a certain build of the app).
We should think about handling this gracefully.

I can think of the following cases:

Add a new field:
Adding new fields is a very common scenario. All DB system will do it without any issue. I don't think we need a migration plan for adding a new field. Making all fields nullable with a default value would work for me.
Delete an existing field:
The same as adding a new field. Should work without migration.
Rename an existing field:
This one needs a migration.

My thoughts on this:
Reasoning to have migration

When user updates the app, old data should still be available.
When user downgrades the app, it would be nice, but not really necessary to read data from newer version of the app

It's not really common for users to downgrade the app. Downgrade cases are mostly relevant for developers.
This also applies to switching between branches.
Data should never be deleted. Unreadable data must just be marked as invalid.

Online results from old app version should be available in newer versions.
¿ Should online results from newer versions be available in older versions?

Effort for migration support

Migration is a burden. We should try to minimize changes that require explicit migration.
We should also try to minimize implicit migrations, such as nullable fields.

If we make every field nullable and say that we can freely remove/add anything without migrations, it would be very hard to support. In the best case scenario we would get N migrations that we would have to support indefinitely, which would certainly lead to bugs in result handling.

Rules for migration must be as simple as possible, even if the resulting JSON will be suboptimal.

Possible changes in result structure

Adding/removing required field
Adding/removing important field
Adding/removing optional field
Renaming a field
Changing field content format/semantic
Global structure changes

Handling different types of changes

Adding/removing required field

Examples of required fields: uuid, benchmark_id
Changes to such fields should be strictly avoided.
Such change means that the old structure was not really thought through, and probably wasn't even valid.
Adding a new required field may be needed if we change something important in the app. We would need to discuss such special changes separately.

Adding/removing important field

Examples of important fields: build_info, environment_info, upload_date, loadgen_scenario.
Important fields may be required for UI display, sorting, filtering (either local or online), result validation.
Removal of such fields should be generally avoided. We should deprecate these fields instead of removing them.
When adding such field we should determine some Unknown/default value.

Adding/removing optional field

Examples of optional fields: backend_settings.extra_settings, accuracy_run.
The difference from important fields is that optional fields are expected to be missing in some results.
Adding and removing such fields doesn't require any special handling, just make them nullable.

Renaming a field

Should be generally avoided.
It does no functional changes. The app will continue to work even if the old name is somehow inconvenient or confusing. JSON data isn't meant to be readable either way.
We can rename Dart object field without renaming JSON field.
Moving a field into some different place in the result data tree is the same as renaming.

Changing field content format

Example: changing accuracy value from formatted string to { normalized: float, formatted: string }
Example: splitting model_name into model_code and model_name.
Should be generally avoided.
Old field should stay the same. We should create a new field, and possibly deprecate the old field.
We should create a function to rescue data from the old field and put it into the new field, if it's possible.

Global structure changes

Renaming fields, moving fields, removing deprecated fields.
Basically, refactoring.
We should generally avoid this.
But I think it's OK to do this just before each major release.
We should create a function that would take data in the old format and return data in the new format.
Result structure for migration
Most of the rules for migration are actually about things we must not do, to make migration easier.
But at least "6. Global structure changes" requires us to know which exact version of the result we have.
At the very least we need to add some result version field, to know what we are dealing with when reading results.

Migration is a burden. We should try to minimize changes that require explicit migration.
We should also try to minimize implicit migrations, such as nullable fields.

I would like to add an additional comment here.
I think we shouldn't rush proper migration rules.
We should first check and refactor current result spec, because I have a feeling we would need to deprecate a lot of fields, because we didn't take the rules into account when creating current spec.

Also all enums should have a default unknown value, since we may want to extend the list of supported values.


Fix for #296

#296
I altered the if check on insert.item to allow inserting in first location on buffer.

This PR seems to be obsolete. Moreover UI.Utils modules was split in individuals repositories. If still valid, please consider re-submitting on the dedicated repository.
See the README for details.


Fix Android Service being inconsistent between runs

Changes for Android:

Fix Android Service inconsistency, i.e., sometimes it's running, sometimes it isn't.
Code refactors to achieve the fix, plus added some screen recording tweaks.
Update Notification icon (maybe this is unnecessary)
Handle cancellation of screen recording request

Changes for iOS:

Handling of screen recording when an error occurs

Whoop this is amazing, thank you so much! I'll look at it asap :)


Add content to sponsors page

We need to add a page that recognises the contributions each sponsor has made to the project - we already have this page, we just need to add content to it :)
We are still waiting on some information for this (see #1238), however, we can certainly still publish this without having all the information at hand.

May I give this a shot -- around a couple of weeks from now?

I'm not sure that there is anything for you to do here @pradyunsg - we are still in the process of collecting content for this page.

I was thinking of leaving the space empty for the remaining sponsors until
they respond and filling in the rest of the details. I don't know if that's
already done though.
On Mon, 2 Oct 2017 at 11:05 Nicole Harris<EMAIL_ADDRESS>wrote:

I'm not sure that there is anything for you to do here @pradyunsg
https://github.com/pradyunsg - we are still in the process of
collecting content for this page.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/pypa/warehouse/issues/1314#issuecomment-333444658,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADH7SZvEC5ACmwfN8-IF-N-PHOc00mKRks5soHYSgaJpZM4JB11K
.

I think the main issue here is that this content lives in a private repository, so it's difficult for anyone but myself or Nicole to touch it. It's not part of Warehouse itself.

Oh, that's fine then. No issues.


Jolt tutorial

This PR adds the Jolt tutorial code to the public sindri-resources repo. This tutorial will be referenced in the documentation for the Jolt "how-to" guide.  The documentation PR will follow approval of this PR (Note that links that reference that "how-to" guide are included but will not work right now.  Both PRs will be merged at the same time, but this PR will need to be reviewed first).
To test the circuit, navigate to sindri-resources/circuit_tutorials/jolt/sha3_chain
Change sample.env to .env and enter your Sindri API key.
Run:
cargo run --release

Please note that the following link that is included in the README in circuit_tutorials/jolt/ https://sindri.app/docs/how-to-guides/frameworks/jolt/ will NOT work.  The documentation PR will be reviewed after this PR.


Load jolokia properties from OSGi ConfigurationAdmin service

Hi Roland,
I was configuring the jolokia osgi agent, trying to get it to read properties from a config admin .cfg file with no success.  Pulled up the source and found a TODO for this feature.
I took a stab at adding this functionality, modified the current activator unit tests and added a couple tests for the config admin functionality.
Also verified working in my karaf 3.0.2 environment.
This is my first github pull request, so hoping that I'm doing this correctly!
Please let me know what you think!
Thanks,
Ed

Hi Ed,
thanks a lot for the PR (and sorry for the vacation-induced delay ;-), it looks perfectly fine. I will apply it for the next Jolokia version (assuming, that your contribution is provided under Apache license as well)
Could you please do me a favor and

add a short explanation of this feature in src/docbkx/agents/osgi.xml
mention the feature in src/changes/changes.xml

Thanks again ...
... roland

Hope you enjoyed your vacation!
I will make those changes, is there a way to attach them to this pull request, or should I make a separate request?

And yes, the contribution is provided under the Apache license, do I need to provide anything more formal than this acknowledgment?

You can simply checkin on your changes (on your master in your case) and push it. It will be automatically added to this PR.
BTW, I would recommend to use a dedicated branch for each PR you want to create. That way is easier for you to integrate back upstream changes happening on master. Also only the changes you want to appear will show up in this PR. But that's up to you, of course.
Thanks for contributing your code under the APL. No other formal requirement is required for me.

Documentation updated, feel free to revise or let me know if you would like changes and I can make the revisions.
Thank you for the PR tip also, that is good advice! I wasn't sure if I had to make my changes in master to do a PR back to you, so thank you for clarifying.

Thanks a lot ! The feature will be available in the next release (although I don't know yet when it will happen).

Ah, just saw that I switched recently to some signing off for contributions. It's not necessary for this contributions but for some later PRs it would be nice if could sign of the PR as described there.

Ok, I will make sure to sign-off anything in the future.
And it was my pleasure! happy to be able to give back.  Jolokia is fantastic, thanks so much for all your hard work!!


Increase number of listening ports in Juice-Shop

I really need to make some changes in the code for a competition. I need to put the code up in a single machine. I need to adapt the listening ports of the software in order to listen in different ports. For instance, if there are 5 participants, I need 5 different ports where every single player can be connected by using VPN or something like that. Could someone help me to do that modification? or can someone tell me if it is feasible making those changes? and how?
I already know that the app is only for using individually.
Thanks in advance.

You can just start the application multiple times on the same machine passing in a different port each time via the PORT environment variable, like PORT=3001 npm start and so forth.

From https://bkimminich.gitbooks.io/pwning-owasp-juice-shop/content/appendix/trainers.html#classroom-hints here's how you could launch 10 instances as Docker containers with ports from 4010 to 4019:
for i in {10..19}; do docker run -d -p 40$i:3000 bkimminich/juice-shop; done

How can the juice-shop be opened in 127.0.01 ??


Add referral code to YAT integration

Overview
We want to get credit for our referrals to YAT, whenever users click on the Get a YAT banner.
We will need to add a referral code (once we have it).
References and additional details
Will update once we have the details
Acceptance Criteria
When a user clicks through the YAT callout, the URL should contain a referral code so that YAT can attribute any sales made by that user back to ShapeShift, for rev share.
Need By Date
No response
Screenshots/Mockups
No response
Estimated effort
No response

https://www.y03btrk.com/DFBHL/7XDN2/


License info question

Hi everyone,
I'm wondering what's the license for this library. Is it the same MIT license as for dalmatinerdb or a separate one?

It is MIT, I will update repo shortly. Sorry for late reply.

Thanks! :) no problem.


Autosize of column-width seems to work invalid

Using Excel 2010, auto-column-width seems to work invalid. There is a column-resize, but it is always about 30% too small.
Furthermore, is there a way to set a default column width?
Thanks a lot,
Joachim

Having same issue. Is there a way to get auto-width working?

Still having this issue.

Have similar issue. I've set each width to zero and its not very like i want. Seems like it do autosize instead

I don't think that Excel supports column auto-width, thus making the formula simply a best guess.

@toncid I don't think that's true, because double-clicking a cell divider sets the width to be the correct value so it must be able to do it.

@jaspertandy My understanding is that, on double-click, Excel does the column width calculation and saves the width (in pixels or points) in the document. I'm not aware of the "auto" width value that is supported by the XSLX format.


Update documentation with v3 changes

Some specific tasks:

[ ] Update all documentation to refer to FHIRPath 2.0.0
[ ] Update the configuration section to reflect the changes, and use the application.yml file itself to document the possible values

These changes should also address #84 and #86.

Resolved by #223.


+mobile() not working

Up until today the breakpoint for +mobile() isn't working. +tablet() and +desktop() are fine.. Any ideas? I am also using jeet stack() as well as a transition ease on each element, all are working fine except on +mobile()

We have a test in place verifying that +mobile() works, and it is still passing. It might be something else conflicting. Have you looked into the output code? Have you tried stripping down some extra styles and libraries and replicating it with a very simple example? Dig a little deeper here 😁

I have stripped it right back to base template and only added jeet, for edit() and stack() still nothing for +mobile() Browser in the attached image is down to mobile breakpoint.

And here it is using +tablet() and it works all good????

Did you check the output in public? Did you try removing jeet? Strip it down all the way. It works, it's just a question of what's causing the issue in your case.

I am experiencing the same problem. +tablet() works fine, and even affects widths under 400px but +mobile() wont work properly. I'm using jeet as well.
otherwise love this project! thanks

Not sure why it dosen't work tith use-device-width: false but it dosent, turning it on fixes the issue for me at least.
rupture = {   rasterise-media-queries: rasterise-media-queries   mobile-cutoff: 400px   desktop-cutoff: 1050px   hd-cutoff: 1800px   enable-em-breakpoints: false   base-font-size: base-font-size   anti-overlap: false   density-queries: 'dppx' 'webkit' 'moz' 'dpi'   retina-density: 1.5   use-device-width: **true** }

👍


fix: update formatting for fixed bytes

Motivation
ref https://github.com/foundry-rs/foundry/issues/8682#issuecomment-2294890970
Updates formatting for fixed bytes to remove padding with zero bytes
Solution

also removed alloy-node-bindings from workspace deps as we're not using it anywhere and cargo complains about an unused patch


Allow passing a root certificate via server URL

Make parse_grpc_uri() docs more extensible
Improve error when unkown options are passed
Split query params parsing to a separate function
Allow passing a root certificate path via URL

Need some tests, but other than that it is ready for review.

Looks like it should work. I'll try to use it and will report

Works well in my test!

OK, this PR was reworked a lot, and now we allow client implementors to set defaults for creating gRPC channels much more flexibly. For example, a default root certificates option can be passed both as a file path or bytes. The users also have the option to override these options via the URL.
Marking as ready to review.

@Marenz can you re-test and give this a (final?) review?

Tests are failing because some breaking change in griffe when generating docs, will look at it ASAP but the review can be done anyways

Fixed the CI failure.


Add version command by cmake replacement

The existing packager.py will run as usual.  The only difference will be that when invoked from the source tree (i.e., python ./tools/packager/packager.py version) it prints:
Intel OPAE FPGA Packager: version @INTEL_FPGA_API_VERSION@
After a cmake, the installed version will print:
Intel OPAE FPGA Packager: version 0.13.0
I hope this satisfies all the concerns brought up in the last 2 pull requests.  Once we decide the final solution, we can change this (if necessary).
Thanks.

“git” not “fit”. Autocorrect failure.