Error relocating/failing over an application

With multi-namespace-1053 branch, issues are seen in the failover operation with the below error message:
2023-10-20T17:31:45.783Z	ERROR	controllers.VolumeReplicationGroup.vrginstance	controllers/vrg_volrep.go:1746	Failed to update PersistentVolumeClaim annotation	{"VolumeReplicationGroup": "blr-maj/blr-maj", "rid": "5dfe0f02-5483-43f8-a6d8-6c519f883d83", "State": "primary", "pvc": "blr-maj/filebrowser-pvc", "error": "Operation cannot be fulfilled on persistentvolumeclaims \"filebrowser-pvc\": StorageError: invalid object, Code: 4, Key: /kubernetes.io/persistentvolumeclaims/blr-maj/filebrowser-pvc, ResourceVersion: 0, AdditionalErrorMsg: Precondition failed: UID in precondition: 7d5ea473-aeb8-4155-848e-9243ff01534c, UID in object meta: bbfd7c8d-7e4d-4004-9e1c-2697c86ce167"} github.com/ramendr/ramen/controllers.(*VRGInstance).addArchivedAnnotationForPVC 	/workspace/controllers/vrg_volrep.go:1746 github.com/ramendr/ramen/controllers.(*VRGInstance).uploadPVandPVCtoS3Stores 	/workspace/controllers/vrg_volrep.go:570 github.com/ramendr/ramen/controllers.(*VRGInstance).reconcileVolRepsAsPrimary 	/workspace/controllers/vrg_volrep.go:74 github.com/ramendr/ramen/controllers.(*VRGInstance).reconcileAsPrimary 	/workspace/controllers/volumereplicationgroup_controller.go:902 github.com/ramendr/ramen/controllers.(*VRGInstance).processAsPrimary 	/workspace/controllers/volumereplicationgroup_controller.go:879 github.com/ramendr/ramen/controllers.(*VRGInstance).processVRG 	/workspace/controllers/volumereplicationgroup_controller.go:558 github.com/ramendr/ramen/controllers.(*VolumeReplicationGroupReconciler).Reconcile 	/workspace/controllers/volumereplicationgroup_controller.go:455 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile 	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:122 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler 	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:323 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem 	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:274 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2 	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:235
@hatfieldbrian As discussed, can you please check and help us resolve the issue.
Ramen docker image was build by using below details:
UPSTREAM_RAMEN_REPO=https://github.com/hatfieldbrian/ramen.git
GIT_TAG=multi-namespace-1053
COMMMIT_ID=ab681c935abbbc09297f7dc2423d85fb2328d635

Here is the ramen.log that @asn1809 shared with me on Saturday night.

Ramen manager container starts
2023-10-20T11:52:29.058Z	INFO	setup	controllers/ramenconfig.go:62	loading Ramen configuration from 	{"file": "/config/ramen_manager_config.yaml"}
2023-10-20T11:52:29.059Z	INFO	setup	controllers/ramenconfig.go:70	s3 profile	{"key": 0, "value": {"s3ProfileName":"site1","s3Bucket":"isf-minio-site1","s3CompatibleEndpoint":"https://isf-minio-ibm-spectrum-fusion-ns.apps.rackae1.mydomain.com","s3Region":"site1","s3SecretRef":{"name":"isf-minio-site2","namespace":"ibm-spectrum-fusion-ns"}}}
2023-10-20T11:52:29.059Z	INFO	setup	controllers/ramenconfig.go:70	s3 profile	{"key": 1, "value": {"s3ProfileName":"site2","s3Bucket":"isf-minio-site2","s3CompatibleEndpoint":"https://isf-minio-ibm-spectrum-fusion-ns.apps.rackae2.mydomain.com","s3Region":"site2","s3SecretRef":{"name":"isf-minio-site2","namespace":"ibm-spectrum-fusion-ns"}}}
I1020 11:52:30.505189       1 request.go:690] Waited for 1.049368431s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/tuned.openshift.io/v1?timeout=32s
2023-10-20T11:52:33.561Z	INFO	controller-runtime.metrics	metrics/listener.go:44	Metrics server is starting to listen	{"addr": "<IP_ADDRESS>:9289"}
2023-10-20T11:52:33.561Z	INFO	controllers.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:62	Adding VolumeReplicationGroup controller
2023-10-20T11:52:33.561Z	INFO	controllers.VolumeReplicationGroup	controllers/ramenconfig.go:86	loading Ramen config file 	{"name": "/config/ramen_manager_config.yaml"}
2023-10-20T11:52:33.562Z	INFO	controllers.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:101	VolSync disabled; don't own volsync resources
2023-10-20T11:52:33.562Z	INFO	controllers.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:110	Kube object protection disabled; don't watch kube objects requests
2023-10-20T11:52:33.562Z	INFO	setup	workspace/main.go:213	starting manager
2023-10-20T11:52:33.562Z	INFO	manager/internal.go:369	Starting server	{"path": "/metrics", "kind": "metrics", "addr": "<IP_ADDRESS>:9289"}
2023-10-20T11:52:33.562Z	INFO	manager/internal.go:369	Starting server	{"kind": "health probe", "addr": "[::]:8081"}
I1020 11:52:34.663115       1 leaderelection.go:248] attempting to acquire leader lease ibm-spectrum-fusion-ns/dr-cluster.ramendr.openshift.io...
I1020 11:52:56.000645       1 leaderelection.go:258] successfully acquired lease ibm-spectrum-fusion-ns/dr-cluster.ramendr.openshift.io
2023-10-20T11:52:56.000Z	DEBUG	events	recorder/recorder.go:103	ramen-dr-cluster-operator-797c68655f-mcb4l_8456dc4e-a7c0-41cc-8b90-857af0398e42 became leader	{"type": "Normal", "object": {"kind":"Lease","namespace":"ibm-spectrum-fusion-ns","name":"dr-cluster.ramendr.openshift.io","uid":"0c698d55-d2ee-4642-965b-4acbda332155","apiVersion":"coordination.k8s.io/v1","resourceVersion":"14033688"}, "reason": "LeaderElection"}
2023-10-20T11:52:56.000Z	INFO	controller/controller.go:186	Starting EventSource	{"controller": "protectedvolumereplicationgrouplist", "controllerGroup": "ramendr.openshift.io", "controllerKind": "ProtectedVolumeReplicationGroupList", "source": "kind source: *v1alpha1.ProtectedVolumeReplicationGroupList"}
2023-10-20T11:52:56.001Z	INFO	controller/controller.go:194	Starting Controller	{"controller": "protectedvolumereplicationgrouplist", "controllerGroup": "ramendr.openshift.io", "controllerKind": "ProtectedVolumeReplicationGroupList"}
2023-10-20T11:52:56.000Z	INFO	controller/controller.go:186	Starting EventSource	{"controller": "volumereplicationgroup", "controllerGroup": "ramendr.openshift.io", "controllerKind": "VolumeReplicationGroup", "source": "kind source: *v1alpha1.VolumeReplicationGroup"}
2023-10-20T11:52:56.001Z	INFO	controller/controller.go:186	Starting EventSource	{"controller": "volumereplicationgroup", "controllerGroup": "ramendr.openshift.io", "controllerKind": "VolumeReplicationGroup", "source": "kind source: *v1.PersistentVolumeClaim"}
2023-10-20T11:52:56.001Z	INFO	controller/controller.go:186	Starting EventSource	{"controller": "volumereplicationgroup", "controllerGroup": "ramendr.openshift.io", "controllerKind": "VolumeReplicationGroup", "source": "kind source: *v1.PersistentVolumeClaim"}
2023-10-20T11:52:56.001Z	INFO	controller/controller.go:186	Starting EventSource	{"controller": "volumereplicationgroup", "controllerGroup": "ramendr.openshift.io", "controllerKind": "VolumeReplicationGroup", "source": "kind source: *v1.ConfigMap"}
2023-10-20T11:52:56.001Z	INFO	controller/controller.go:186	Starting EventSource	{"controller": "volumereplicationgroup", "controllerGroup": "ramendr.openshift.io", "controllerKind": "VolumeReplicationGroup", "source": "kind source: *v1alpha1.VolumeReplication"}
2023-10-20T11:52:56.001Z	INFO	controller/controller.go:194	Starting Controller	{"controller": "volumereplicationgroup", "controllerGroup": "ramendr.openshift.io", "controllerKind": "VolumeReplicationGroup"}

8 PVCs are created
2023-10-20T11:52:56.103Z	INFO	pvcmap.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:172	Create event for PersistentVolumeClaim
2023-10-20T11:52:56.103Z	INFO	pvcmap.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:172	Create event for PersistentVolumeClaim
2023-10-20T11:52:56.103Z	INFO	pvcmap.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:172	Create event for PersistentVolumeClaim
2023-10-20T11:52:56.103Z	INFO	pvcmap.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:172	Create event for PersistentVolumeClaim
2023-10-20T11:52:56.103Z	INFO	pvcmap.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:172	Create event for PersistentVolumeClaim
2023-10-20T11:52:56.103Z	INFO	pvcmap.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:172	Create event for PersistentVolumeClaim
2023-10-20T11:52:56.103Z	INFO	pvcmap.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:172	Create event for PersistentVolumeClaim
2023-10-20T11:52:56.103Z	INFO	pvcmap.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:172	Create event for PersistentVolumeClaim

More Ramen controllers start and its config is updated
2023-10-20T11:52:58.854Z	INFO	controller/controller.go:228	Starting workers	{"controller": "protectedvolumereplicationgrouplist", "controllerGroup": "ramendr.openshift.io", "controllerKind": "ProtectedVolumeReplicationGroupList", "worker count": 1}
2023-10-20T11:52:58.855Z	INFO	controller/controller.go:228	Starting workers	{"controller": "volumereplicationgroup", "controllerGroup": "ramendr.openshift.io", "controllerKind": "VolumeReplicationGroup", "worker count": 1}
2023-10-20T11:52:58.855Z	INFO	configmap.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:137	Update in ramen-dr-cluster-operator-config configuration map

VRG blr-maj/br-maj reconcile starts
2023-10-20T17:31:45.015Z	INFO	controllers.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:405	Entering reconcile loop	{"VolumeReplicationGroup": "blr-maj/blr-maj", "rid": "5dfe0f02-5483-43f8-a6d8-6c519f883d83"}
2023-10-20T17:31:45.021Z	INFO	controllers.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:537	Recipe	{"VolumeReplicationGroup": "blr-maj/blr-maj", "rid": "5dfe0f02-5483-43f8-a6d8-6c519f883d83", "elements": {"PvcSelector":{"LabelSelector":{},"NamespaceNames":["blr-maj"]},"CaptureWorkflow":null,"RecoverWorkflow":null}}
2023-10-20T17:31:45.021Z	INFO	controllers.VolumeReplicationGroup	util/pvcs_util.go:61	Fetching PersistentVolumeClaims	{"VolumeReplicationGroup": "blr-maj/blr-maj", "rid": "5dfe0f02-5483-43f8-a6d8-6c519f883d83", "pvcSelector": ""}
2023-10-20T17:31:45.021Z	INFO	controllers.VolumeReplicationGroup	util/pvcs_util.go:76	Found 8 PVCs using label selector 	{"VolumeReplicationGroup": "blr-maj/blr-maj", "rid": "5dfe0f02-5483-43f8-a6d8-6c519f883d83"}
2023-10-20T17:31:45.021Z	INFO	controllers.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:666	Found PersistentVolumeClaims	{"VolumeReplicationGroup": "blr-maj/blr-maj", "rid": "5dfe0f02-5483-43f8-a6d8-6c519f883d83", "count": 0}
2023-10-20T17:31:45.025Z	INFO	controllers.VolumeReplicationGroup.vrginstance	controllers/volumereplicationgroup_controller.go:870	Entering processing VolumeReplicationGroup as Primary	{"VolumeReplicationGroup": "blr-maj/blr-maj", "rid": "5dfe0f02-5483-43f8-a6d8-6c519f883d83", "State": "primary"}

ClusterDataReady is false, so PVs and PVCs are restored from S3.  There are 1 of each.  PVC is named blr-maj/filebrowser-pvc.
2023-10-20T17:31:45.025Z	INFO	controllers.VolumeReplicationGroup.vrginstance	controllers/volumereplicationgroup_controller.go:610	ClusterDataReady condition	{"VolumeReplicationGroup": "blr-maj/blr-maj", "rid": "5dfe0f02-5483-43f8-a6d8-6c519f883d83", "State": "primary", "status": "Unknown", "reason": "Initializing", "message": "Initializing VolumeReplicationGroup", "observedGeneration": 1, "generation": 1}
2023-10-20T17:31:45.025Z	INFO	controllers.VolumeReplicationGroup.vrginstance	controllers/vrg_volsync.go:18	VolSync: Restoring VolSync PVs	{"VolumeReplicationGroup": "blr-maj/blr-maj", "rid": "5dfe0f02-5483-43f8-a6d8-6c519f883d83", "State": "primary"}
2023-10-20T17:31:45.025Z	INFO	controllers.VolumeReplicationGroup.vrginstance	controllers/vrg_volsync.go:21	No RDSpec entries. There are no PVCs to restore	{"VolumeReplicationGroup": "blr-maj/blr-maj", "rid": "5dfe0f02-5483-43f8-a6d8-6c519f883d83", "State": "primary"}
2023-10-20T17:31:45.025Z	INFO	controllers.VolumeReplicationGroup.vrginstance	controllers/vrg_volrep.go:1796	Restoring VolRep PVs and PVCs	{"VolumeReplicationGroup": "blr-maj/blr-maj", "rid": "5dfe0f02-5483-43f8-a6d8-6c519f883d83", "State": "primary"}
2023-10-20T17:31:45.025Z	INFO	controllers.VolumeReplicationGroup.vrginstance	controllers/vrg_volrep.go:1806	Restoring PVs and PVCs to this managed cluster. ProfileList: [site1 site2]	{"VolumeReplicationGroup": "blr-maj/blr-maj", "rid": "5dfe0f02-5483-43f8-a6d8-6c519f883d83", "State": "primary"}
2023-10-20T17:31:45.164Z	INFO	controllers.VolumeReplicationGroup.vrginstance	controllers/vrg_volrep.go:1889	Found 1 PVs in s3 store using profile site1	{"VolumeReplicationGroup": "blr-maj/blr-maj", "rid": "5dfe0f02-5483-43f8-a6d8-6c519f883d83", "State": "primary"}
2023-10-20T17:31:45.168Z	INFO	controllers.VolumeReplicationGroup.vrginstance	controllers/vrg_volrep.go:2006	Restored 1 PV for VolRep	{"VolumeReplicationGroup": "blr-maj/blr-maj", "rid": "5dfe0f02-5483-43f8-a6d8-6c519f883d83", "State": "primary"}
2023-10-20T17:31:45.172Z	INFO	controllers.VolumeReplicationGroup.vrginstance	controllers/vrg_volrep.go:1910	Found 1 PVCs in s3 store using profile site1	{"VolumeReplicationGroup": "blr-maj/blr-maj", "rid": "5dfe0f02-5483-43f8-a6d8-6c519f883d83", "State": "primary"}
2023-10-20T17:31:45.179Z	INFO	pvcmap.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:172	Create event for PersistentVolumeClaim
2023-10-20T17:31:45.179Z	INFO	pvcmap.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:297	Found VolumeReplicationGroup with matching labels	{"pvc": "blr-maj/filebrowser-pvc", "vrg": "blr-maj", "labeled": ""}
2023-10-20T17:31:45.179Z	INFO	controllers.VolumeReplicationGroup.vrginstance	controllers/vrg_volrep.go:2006	Restored 1 PVC for VolRep	{"VolumeReplicationGroup": "blr-maj/blr-maj", "rid": "5dfe0f02-5483-43f8-a6d8-6c519f883d83", "State": "primary"}
2023-10-20T17:31:45.179Z	INFO	controllers.VolumeReplicationGroup.vrginstance	controllers/vrg_volrep.go:1867	Restored 1 PVs and 1 PVCs using profile site1	{"VolumeReplicationGroup": "blr-maj/blr-maj", "rid": "5dfe0f02-5483-43f8-a6d8-6c519f883d83", "State": "primary"}

KubeObjectProtection is disabled in config map and VRG.  Some PVC update events enqueue VRG to be reconciled again.
2023-10-20T17:31:45.179Z	INFO	controllers.VolumeReplicationGroup.vrginstance	controllers/vrg_kubeobjects.go:657	Kube object protection	{"VolumeReplicationGroup": "blr-maj/blr-maj", "rid": "5dfe0f02-5483-43f8-a6d8-6c519f883d83", "State": "primary", "disabled": true, "VRG": true, "configMap": true, "for": "recovery"}
2023-10-20T17:31:45.254Z	INFO	pvcmap.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:191	Update event for PersistentVolumeClaim
2023-10-20T17:31:45.254Z	INFO	RDPredicate.RD	controllers/volumereplicationgroup_controller.go:323	Failed to deep copy older MCV
2023-10-20T17:31:45.255Z	INFO	pvcmap.VolumeReplicationGroup	controllers/vrg_volrep.go:368	Skipping handling of VR as PersistentVolumeClaim is not bound	{"pvc": "blr-maj/filebrowser-pvc", "pvcPhase": "Pending"}
2023-10-20T17:31:45.255Z	INFO	pvcmap.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:254	Not Requeuing	{"pvc": "blr-maj/filebrowser-pvc", "oldPVC Phase": "Pending", "newPVC phase": "Pending"}
2023-10-20T17:31:45.255Z	INFO	RDPredicate.RD	controllers/volumereplicationgroup_controller.go:323	Failed to deep copy older MCV
2023-10-20T17:31:45.255Z	INFO	pvcmap.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:191	Update event for PersistentVolumeClaim
2023-10-20T17:31:45.255Z	INFO	pvcmap.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:226	Reconciling due to phase change	{"pvc": "blr-maj/filebrowser-pvc", "oldPhase": "Pending", "newPhase": "Bound"}
2023-10-20T17:31:45.255Z	INFO	pvcmap.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:297	Found VolumeReplicationGroup with matching labels	{"pvc": "blr-maj/filebrowser-pvc", "vrg": "blr-maj", "labeled": ""}
2023-10-20T17:31:45.255Z	INFO	pvcmap.VolumeReplicationGroup	controllers/volumereplicationgroup_controller.go:297	Found VolumeReplicationGroup with matching labels	{"pvc": "blr-maj/filebrowser-pvc", "vrg": "blr-maj", "labeled": ""}

VRG controller tries to annotate the PVC blr-maj/filebrowser-pvc that was just restored with volumereplicationgroups.ramendr.openshift.io/vr-archived: archiveV1-<PVC Generation Number>, but it fails because the provided PVC UID does not matche the expected one.
2023-10-20T17:31:45.783Z	ERROR	controllers.VolumeReplicationGroup.vrginstance	controllers/vrg_volrep.go:1746	Failed to update PersistentVolumeClaim annotation	{"VolumeReplicationGroup": "blr-maj/blr-maj", "rid": "5dfe0f02-5483-43f8-a6d8-6c519f883d83", "State": "primary", "pvc": "blr-maj/filebrowser-pvc", "error": "Operation cannot be fulfilled on persistentvolumeclaims \"filebrowser-pvc\": StorageError: invalid object, Code: 4, Key: /kubernetes.io/persistentvolumeclaims/blr-maj/filebrowser-pvc, ResourceVersion: 0, AdditionalErrorMsg: Precondition failed: UID in precondition: 7d5ea473-aeb8-4155-848e-9243ff01534c, UID in object meta: bbfd7c8d-7e4d-4004-9e1c-2697c86ce167"}
github.com/ramendr/ramen/controllers.(*VRGInstance).addArchivedAnnotationForPVC
	/workspace/controllers/vrg_volrep.go:1746
github.com/ramendr/ramen/controllers.(*VRGInstance).uploadPVandPVCtoS3Stores
	/workspace/controllers/vrg_volrep.go:570
github.com/ramendr/ramen/controllers.(*VRGInstance).reconcileVolRepsAsPrimary
	/workspace/controllers/vrg_volrep.go:74
github.com/ramendr/ramen/controllers.(*VRGInstance).reconcileAsPrimary
	/workspace/controllers/volumereplicationgroup_controller.go:902
github.com/ramendr/ramen/controllers.(*VRGInstance).processAsPrimary
	/workspace/controllers/volumereplicationgroup_controller.go:879
github.com/ramendr/ramen/controllers.(*VRGInstance).processVRG
	/workspace/controllers/volumereplicationgroup_controller.go:558
github.com/ramendr/ramen/controllers.(*VolumeReplicationGroupReconciler).Reconcile
	/workspace/controllers/volumereplicationgroup_controller.go:455
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:122
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:323
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:274
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:235

When a PVC is created it gets a new UID.  The VRG controller gets the PVC from S3 with the UID from the other cluster and stores it in VRGInstance.volRepPVCs:
https://github.com/RamenDR/ramen/blob/f6afc6fed2cfa62c93778f5296a4cf1bb96a1325/controllers/vrg_volrep.go#L1899-L1912
This same PVC is updated with the annotation and then submitted to the API server:
https://github.com/RamenDR/ramen/blob/f6afc6fed2cfa62c93778f5296a4cf1bb96a1325/controllers/vrg_volrep.go#L32-L34
https://github.com/RamenDR/ramen/blob/f6afc6fed2cfa62c93778f5296a4cf1bb96a1325/controllers/vrg_volrep.go#L74
https://github.com/RamenDR/ramen/blob/f6afc6fed2cfa62c93778f5296a4cf1bb96a1325/controllers/vrg_volrep.go#L532
https://github.com/RamenDR/ramen/blob/f6afc6fed2cfa62c93778f5296a4cf1bb96a1325/controllers/vrg_volrep.go#L569
It seems the PVC needs to be read from the API server to get its new UID so it can be updated, or perhaps the UID could be reset.
It is not obvious to me why Fusion is encountering this issue and it has not been discovered previously.
@asn1809 presuming you can reproduce this issue, will you please try to do so with the main branch to determine whether this is an issue with PR #1090 ?

This commit seems to be the issue. This seems to be changing the work on reference to a copy, which in turn does not gain the changes made by cleanupForRestore (which removes the UID and hence does not use the stale one from the s3 store).

This could also be due to the change that ramen restores the PVCs, which was not the case before, and hence causes the UID mismatch. Checking with @raghavendra-talur further on its working with Ceph backends, and why this issue does not crop up.

In the VRG, for the condition ClusterDataProtected, below is the error seen:
failed to add archived annotation for PVC             (blr-trinity/filebrowser-pvc) with error (failed to update             PersistentVolumeClaim (blr-trinity/filebrowser-pvc) annotation             (volumereplicationgroups.ramendr.openshift.io/vr-archived) belonging             toVolumeReplicationGroup (blr-trinity/blr-trinity), Operation cannot             be fulfilled on persistentvolumeclaims "filebrowser-pvc":             StorageError: invalid object, Code: 4, Key:             /kubernetes.io/persistentvolumeclaims/blr-trinity/filebrowser-pvc,             ResourceVersion: 0, AdditionalErrorMsg: Precondition failed: UID in             precondition: 0276d756-4bac-4743-bd80-725eb8114cc8, UID in object             meta: 3e978ee0-3058-46dc-a080-ac25d72a5ec2)

@asn1809 Thank you for discovering and reporting this issue. It should be fixed. However, I wonder what the impact was? From the log it seems to have recovered on the next reconcile. Did the application recover successfully?

The impact to fusion is even though there might be recovery as you mentioned, it is not properly reflected in VRG and there by in the Application CR and UI reading it.

From @pdumbre this morning.  4 protected PVCs with same name, none with namespace, and generation is 1.  One theory is that the unconditional append on restore is doing it.  Maybe restore fails 4 times, each time after adding the PVC from status.
apiVersion: ramendr.openshift.io/v1alpha1
kind: VolumeReplicationGroup
metadata:
  creationTimestamp: '2023-11-01T10:56:17Z'
  finalizers:
    - volumereplicationgroups.ramendr.openshift.io/vrg-protection
  generation: 1
  managedFields:
    - apiVersion: ramendr.openshift.io/v1alpha1
      fieldsType: FieldsV1
      fieldsV1:
        'f:metadata':
          'f:finalizers':
            .: {}
            'v:"volumereplicationgroups.ramendr.openshift.io/vrg-protection"': {}
        'f:spec':
          .: {}
          'f:pvcSelector': {}
          'f:replicationState': {}
          'f:s3Profiles': {}
          'f:sync': {}
          'f:volSync':
            .: {}
            'f:disabled': {}
      manager: Mozilla
      operation: Update
      time: '2023-11-01T10:56:17Z'
    - apiVersion: ramendr.openshift.io/v1alpha1
      fieldsType: FieldsV1
      fieldsV1:
        'f:status':
          .: {}
          'f:conditions': {}
          'f:kubeObjectProtection': {}
          'f:lastUpdateTime': {}
          'f:observedGeneration': {}
          'f:protectedPVCs': {}
          'f:state': {}
      manager: manager
      operation: Update
      subresource: status
      time: '2023-11-02T12:21:43Z'
  name: shio
  namespace: shio
  resourceVersion: '8460539'
  uid: 1e6e2579-80c5-4154-bb6f-5fd4777aecbe
spec:
  pvcSelector: {}
  replicationState: primary
  s3Profiles:
    - site2
    - site1
  sync: {}
  volSync:
    disabled: true
status:
  conditions:
    - lastTransitionTime: '2023-11-01T10:56:18Z'
      message: PVCs in the VolumeReplicationGroup are ready for use
      observedGeneration: 1
      reason: Ready
      status: 'True'
      type: DataReady
    - lastTransitionTime: '2023-11-01T10:56:18Z'
      message: VolumeReplicationGroup is replicating
      observedGeneration: 1
      reason: Replicating
      status: 'False'
      type: DataProtected
    - lastTransitionTime: '2023-11-01T10:56:17Z'
      message: Restored cluster data
      observedGeneration: 1
      reason: Restored
      status: 'True'
      type: ClusterDataReady
    - lastTransitionTime: '2023-11-01T10:56:18Z'
      message: Cluster data of one or more PVs are in the process of being protected
      observedGeneration: 1
      reason: Uploading
      status: 'False'
      type: ClusterDataProtected
  kubeObjectProtection: {}
  lastUpdateTime: '2023-11-02T12:21:43Z'
  observedGeneration: 1
  protectedPVCs:
    - conditions:
        - lastTransitionTime: '2023-11-01T10:56:17Z'
          message: PVC in the VolumeReplicationGroup is ready for use
          observedGeneration: 1
          reason: Ready
          status: 'True'
          type: DataReady
        - lastTransitionTime: '2023-11-01T10:56:17Z'
          message: PVC in the VolumeReplicationGroup is ready for use
          observedGeneration: 1
          reason: Replicating
          status: 'False'
          type: DataProtected
      name: br-pvc
      resources: {}
    - conditions:
        - lastTransitionTime: '2023-11-02T03:05:54Z'
          message: PVC in the VolumeReplicationGroup is ready for use
          observedGeneration: 1
          reason: Ready
          status: 'True'
          type: DataReady
        - lastTransitionTime: '2023-11-02T03:05:54Z'
          message: PVC in the VolumeReplicationGroup is ready for use
          observedGeneration: 1
          reason: Replicating
          status: 'False'
          type: DataProtected
      name: br-pvc
      resources: {}
    - conditions:
        - lastTransitionTime: '2023-11-02T05:05:35Z'
          message: PVC in the VolumeReplicationGroup is ready for use
          observedGeneration: 1
          reason: Ready
          status: 'True'
          type: DataReady
        - lastTransitionTime: '2023-11-02T05:05:35Z'
          message: PVC in the VolumeReplicationGroup is ready for use
          observedGeneration: 1
          reason: Replicating
          status: 'False'
          type: DataProtected
      name: br-pvc
      resources: {}
    - conditions:
        - lastTransitionTime: '2023-11-02T12:21:43Z'
          message: PVC in the VolumeReplicationGroup is ready for use
          observedGeneration: 1
          reason: Ready
          status: 'True'
          type: DataReady
        - lastTransitionTime: '2023-11-02T12:21:43Z'
          message: PVC in the VolumeReplicationGroup is ready for use
          observedGeneration: 1
          reason: Replicating
          status: 'False'
          type: DataProtected
      name: br-pvc
      resources: {}
  state: Primary

@asn1809 Please add these two list type and map lines to the volumereplicationgroups_types.go file directly above the ProtectedPVCs slice definition:
	//+listType=map
	//+listMapKey=name
	// All the protected pvcs
	ProtectedPVCs []ProtectedPVC `json:"protectedPVCs,omitempty"`

Then run make manifests to generate a new CRD yaml file.  This leverages the API server admission control to effectively treat the slice as a map and prevent more than one entry with the same name.  It should get us to the reconcile when the first duplicate entry is attempted to be added.  This patch is not meant to be promoted since the multi-namespace feature allows duplicate PVCs with the same name as long as they are in different namespaces.   It would require the namespace and name fields be joined.


feat: Respect formatting of user environment

It would be nice to format components when adding them into the project. And a step better than that format them before diffing them so that formatting doesn't come up in diffs.
However there are a lot of options for formatting right now. Biome, Prettier, Deno, Eslint just to name a few.
So I am not really sure what the best option is. Especially if we don't just want to format all the files at once at the end (which would be easy but no fun).

Okay so Prettier and Biome both have JS apis. I think maybe we add a config variable formatter which can have the values prettier | biome | undefined then we can use the js api to format each file.
I think those are the big ones we should support right now.


docker: Server running but not receiving any request

1st Terminal Window
ishandutta2007@MacBook-Pro:~/Documents/Projects/blockchain$ docker run --rm -p 80:5000 blockchain

Running on http://<IP_ADDRESS>:5000/ (Press CTRL+C to quit)

2nd Terminal Window
ishandutta2007@MacBook-Pro:~/Documents/Projects$ curl http://127.0.01:5000/chain

curl: (7) Failed to connect to 127.0.01 port 5000: Connection refused

@ishandutta2007
wrong : curl http://127.0.01:5000/chain
correct:curl http://<IP_ADDRESS>:5000/chain
http://<IP_ADDRESS> means localhost, 127.0.01 is not a IP.


Rules for Angular route variables

Hi everybody,
Is there a way to add constraints/rules/check on route variables before loading page ?
For instance, in my case, I have several distinct databases (with same structure) and I want my interface to use one according to user selection.
For example: the routes /db1/search and /db2/search will display the same form page, but the first one will talk to database db1 and the second to db2.
So I created the dynamic route /:db/search and I use the route param db to know which database to use.
However, I don't know how to prevent the user to try /db3/search while db3 does not exist.
I could handle the server error obtained by trying db3 and display a smooth message but that's not what I want. I would prefer an automated check on client-side for every page (not only those with a server request...).
In a way my route verification problem is similar to an authentification verification problem so I looked around $routeChangeStart events, and also $routeProvider resolve function. That's a solution but if I could simply say "The route param db should be 'db1' or 'db2'" it would be perfect.
Thanks in advance for your help!

Wrong place.If you have issue specific to angular.js implementation bugs, then only file it to this forum

Hi, please use StackOverflow or some of the forums about questions. Please read the contributing guidelines; these types of questions are ill-suited for GitHub. Thanks!


Automatically send ‘q’ when exiting terminal

Feature description
Please add a configurable option to automatically send ‘q’ when exiting terminal to exit back to connection list. I never need to reconnect and if I did, I’d simply tap the connection again at the main list.

Hello @jedis00 👋
Already there :

Could give it a try?

@isontheline Thanks, that worked! What is the difference between those settings in the app vs when it opens the Settings in the system settings app? It's odd to have to go in two places.
To make these settings in the app easier to find, can you add a right caret > at the end of the row on the right, to mirror how iOS does additional menu options?

What is the difference between those settings in the app vs when it opens the Settings in the system settings app? It's odd to have to go in two places.

I'm migrating these old settings into the iOS' settings place. These are the last to migrate.
Sorry for the trouble :/

To make these settings in the app easier to find, can you add a right caret > at the end of the row on the right, to mirror how iOS does additional menu options?

I will remove them so them won't hurt anymore


updated Science and Ores

0.17 finally dropped

Thanks a lot for this patch! I merged it along with the other changes from PR #66.


feat(Algebra/Homology): definition of the mapping cone

This PR defines the mapping cone of a morphism between cochain complexes.

Thanks for the review!
bors merge


Remove: Unity.Unity.6000.MacMono version 6000.0.2f1

Microsoft Reviewers: Open in CodeFlow

URL: https://download.unity3d.com/download_unity/c36be92430b9/TargetSupportInstaller/UnitySetup-Mac-Mono-Support-for-Editor-6000.0.2f1.exe
OK
(Automated message - build 923)

https://github.com/microsoft/winget-pkgs/pull/186121#issuecomment-2445759087

[Policy] Needs-Manual-Merge


Install skimage in github actions environment

Warning message
../../../../opt/conda/lib/python3.7/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
test_focus_stacking.py:3: in
import focus_stacking as fs
focus_stacking.py:5: in
from skimage import filters
E   ModuleNotFoundError: No module named 'skimage'

Install "scikit-image" in .github/workflows/focus_stacking.yml. Please check following commit for more detail.
Add missing module "scikit-image"


Verify certificate and application ID

In reference to Issues #21 and #22.
Adds two environment variables for the WSGI handler:

KODI_APPID
KODI_VERIFY_CERT

If KODI_APPID is set and not empty, the skill will verify that the incoming request appid matches before processing the request.
If KODI_VERIFY_CERT==1, the skill will perform various checks on the certificate:

Incoming request is from Amazon,
Certificate URL is from Amazon,
Timestamp of certificate is valid/not expired,
Signature can be verified.

Additionally, this PR adds the ability to store all configuration in a file, 'wsgi.ini', which can look like:
[general]
app_id = amzn1.ask.skill.deadbeef-4e4f-ad61-fe42-aee7d2de083d
verify_cert = yes

[kodi]
address = <IP_ADDRESS>
port = 8080
username = kodi
password = kodi

If we want to extend this to the Lambda handler, I'm happy to do that.  I just wasn't comfortable doing it since I don't know much about it and cannot test it.

Could someone who's using Heroku test with this please?
Specifically, I'd like to make sure it doesn't break existing installations -- that is, try dropping this in with no configuration changes.
Second, migrate to the wsgi.ini configuration, without adding the app_id and verify_cert parameters.
Finally, add your app_id and enable verify_cert.
If any of those make it fail, please report here.

Just from looking at the code, I think it should be fine. I just wonder what's the benefit of the .ini file? Environment vars are great for keeping secret info out of version control. I guess if you are running this locally, you aren't going to be pushing anything to the cloud...

I tried (and think I did) retain the ability to use environment variables.  In fact, the default (no ini file) shouldn't interrupt anyone's existing installations.
I personally keep wsgi.ini 'secret' by adding it to .gitignore (which is included this PR) and an Apache directive to ignore the file.
The primary purpose though is that I host this skill for a few family members, so I have a few copies of it on the same server.  With an ini file, I just clone to a new directory and modify the wsgi.ini in there to suit them.

That makes sense. I saw that you allowed the env vars still, I was just wondering about the .ini purpose, but it sounds perfect for your use case.

I realize it's a very specific use-case that probably won't be so widely-used these days, but at least at the moment it doesn't seem like a terrible burden to maintain both paths.
Your repo and your call, though.  After all, that's why I wanted to consult you on this one first :)

@m0ngr31, if you want to try adding the cert/appid verifier to the Lambda handler it'd be pretty trivial to adapt this to it.  Just add KODI_APP_ID and KODI_VERIFY_CERT environment variables to .env and factor out the verification code from wsgi_main_handler so you can call it from lambda_handler.
I have no idea if it's desirable or necessary to do so, though.
Alternatively, after/if we merge this, I can make another branch that does this for you to test.

@m0ngr31 , is it OK if I merge this tomorrow if we don't get any responses from testers?  I have tested the various conditions here (no wsgi.ini, no environment variables, a mix, etc).
I'll then make a branch with the verifier enabled for Lambda that you can test if you like.

If there is a way to conditionally install the added cert dependencies (ConfigParser, aniso8601, six, OpenSSL) for a self hosted install, that would be peachy.

Do you mean to provide an option to not import those?  Or are you asking for the skill to install the dependencies automatically?

BTW, I'll document this after we decide whether or not to include it in the Lambda handler.  If it works, I'm inclined to do so, as even if it's not totally necessary, it is still optional (and off by default).

AWS Lambda uses PIP and installs everything in the requirements.txt file when you deploy. The   package size goes from 15.7mb to 27mb with these extras. Each time you deploy using the lambda-deploy method, AWS versions the whole thing so the size your "code storage" increases by 27mb. It doesn't take long before you are using hundreds of MB
I am not entirely sure if this is what is supposed to happen or if there is a different way to deploy. The idea of uploading and versioning dependencies when you change a single variable name doesn't seem very efficient. I am looking into it. But currently I am deleting the function from AWS every now and then to keep the code storage used low.
The memory used to import the unused modules should be considered, I am not sure if it affects performance but the advice on the AWS docs say:

Lower costs and improve performance by minimizing the use of startup code not directly related to processing the current event.

Mine currently uses around 50 of the 128 mb allocated when searching.
Though given this Skill isn't prime time it doesn't need to be super efficient, but every little helps :)
Speaking of which, i have just tried not importing pycountry due to the package being 13mb. It reduced my execution times by 1 second, code storage is 1.7mb and memory usage when searching 27mb. I will start another issue but thought I would mention it.

We can talk about potential optimizations when we're a bit further along.
For now, if you've got some limit to consider, I'd just keep deleting old versions from N on, where N is whatever you deem reasonable.
For pycountry, I can wrap the import with a try/except/pass, and do the same in the one spot where it calls it, but I am not sure how to prevent it from installing it.

Could we have a separate file with the requirements for WSGI?
So people on Lambda could have the stripped down version, and people who want the extra security could do a pip install -r wsgi.txt or something?

Sure, I can wrap the cert dependencies in a try/except/pass and move them from requirements.txt to.. say.. requirements_extras.txt?
Should I move the pycountry dependency there too?  I thought it was kind of cool to have Alexa speak the language when you're switching subtitles, but I do agree it's a bit heavy.  I just couldn't find any other way to translate the ISO 3166-1 alpha-3 codes into English names.

I've moved aniso8601, six, and OpenSSL to requirements_verify.txt.
ConfigParser is still there as an unconditional dependency because I'd like to factor it out to support Lambda deployments too, as it simplifies documentation should someone try it.
pycountry is still unconditional as well, but we can revisit that later if it's found to be a problem.
I'll follow this up with two more PRs for Lambda:

wsgi.ini support
cert/appid verifier

After the above are accepted or denied, I'll update the documentation to reflect the changes.


"service" list/show endpoints should return bound applications too

To avoid too many requests against the kube api, consider caching the information on the helmchart CRD (annotation or label?)
We need to keep this updated, e.g. every time an application is bound/unbound/deleted/etc
Investigate if labels or annotations are betters, one of them may trigger controllers and such.

First thoughts. @enrichman @jimmykarily
We currently show bound apps with configurations.
The relevant functions are application.BoundAppsNamesFor() and application.BoundAppsNames() for show and list, respectively.
Both use a single kube call to get the core information, i.e. the config binding resources, either for a single configuration, or for all configurations (in the namespace, or all namespaces). The call is always a List with proper selectors.
In the case for all configs the function returns a map the calling list endpoint can then use to add the information to each configuration in the result.
Now, at heart service bindings are configuration bindings. We should be able to reuse the machinery for them.
The main issue is translating from service name to the associated configuration name.
That is currently done by a search (list) for the secrets of the service and using all of them, in a loop. For each service.
While that loop is small doing it for each listed service ... That could be a source of slowness, if there are many services in a namespace. Caching this information as a label on the service itself might be useful.
Actually, if the service create call would wait for the service to deployed then the information could be added immediately instead of looked up and cached later.
That should simplify a number of other existing places also, i.e. un/binding. These are the places currently doing the search loop to go from service to configuration(s)/secret(s).
I will now go and deploy me some local services to look and refresh my understanding of the existing labels on these.

I just want to point out that labels are not meant to store data, and they're particularly strict about the values:

I just want to point out that labels are not meant to store data, and they're particularly strict about the values (labels/#syntax-and-character-set) :

must be 63 characters or less (can be empty),
unless empty, must begin and end with an alphanumeric character ([a-z0-9A-Z]),
could contain dashes (-), underscores (_), dots (.), and alphanumerics between.

If we have a many-to-many relationship between resources it's not possible to use them.
How would you track for a binding between configurations and apps, since an app could have multiple configurations and a configuration multiple apps?

How would you track for a binding between configurations and apps, since an app could have multiple configurations and a configuration multiple apps?

AFAIK we are already tracking this. See application.BoundAppsNamesFor() and application.BoundAppsNames(). Reusing that information is the point of my thoughts.

@enrichman
Aha ... I found the place where we store the tracking information (again) ...
For each app X it is the X-svc-... secret.
It contains the name of each bound configuration as a data key of the secret.
(It seems I have found a place missed in the service :arrow_right: configuration renaming)
Example:
apiVersion: v1
data:
  x7a3b5458633936bc60aebbf9c27c-redis: ""
metadata:
  labels:
    app.kubernetes.io/component: application
    app.kubernetes.io/managed-by: epinio
    app.kubernetes.io/name: fox
    app.kubernetes.io/part-of: workspace
    epinio.suse.org/area: configuration
...

The application.BoundAppsNames* functions list these binding secrets in a single call and then pull the information about configurations out.
Nothing with labels, nor annotations, except to simplify getting only the relevant secrets (selector epinio.suse.org/area=configuration.
We can use the same schema for services.
Or we could try to cache the service/config mapping (1:n) and then reuse the config information.

Thinking, the first, while duplicating config machinery for services is likely better because speed, the other would have 2 stages to get the information, i.e. likely slower.
I will then fix the -svc- part of the config machinery as part of this.


how to handle multiple requst?

Suppose i have three images to crop. inside onActivityResult() how will i come to know that this result is for which image?

Hmm, I believe you should pass one path for each image right? So you know where they are stored. How is your code now?


ImportError: cannot import name 'rank_zero_only' from 'pytorch_lightning.utilities.distributed'

Describe the bug
(in log path has stable-diffusion-webui because I rename auto-sd-krita to it, when it is auto-sd-krita this modification)
Installing requirements for Web UI
Launching Web UI and Krita server with arguments: --share --gradio-debug --gradio-auth tester:tester123
Traceback (most recent call last):
  File "launch.py", line 233, in <module>
    start_krita_server()
  File "launch.py", line 227, in start_krita_server
    import krita_server
  File "/content/stable-diffusion-webui/krita_server/__init__.py", line 9, in <module>
    from webui import shared, webui
  File "/content/stable-diffusion-webui/webui.py", line 12, in <module>
    from modules import devices, sd_samplers, upscaler
  File "/content/stable-diffusion-webui/modules/sd_samplers.py", line 10, in <module>
    from modules import prompt_parser, devices, processing, images
  File "/content/stable-diffusion-webui/modules/processing.py", line 14, in <module>
    import modules.sd_hijack
  File "/content/stable-diffusion-webui/modules/sd_hijack.py", line 10, in <module>
    import modules.textual_inversion.textual_inversion
  File "/content/stable-diffusion-webui/modules/textual_inversion/textual_inversion.py", line 13, in <module>
    from modules import shared, devices, sd_hijack, processing, sd_models, images
  File "/content/stable-diffusion-webui/modules/shared.py", line 14, in <module>
    import modules.sd_models
  File "/content/stable-diffusion-webui/modules/sd_models.py", line 13, in <module>
    from modules.sd_hijack_inpainting import do_inpainting_hijack, should_hijack_inpainting
  File "/content/stable-diffusion-webui/modules/sd_hijack_inpainting.py", line 6, in <module>
    import ldm.models.diffusion.ddpm
  File "/content/stable-diffusion-webui/repositories/stable-diffusion/ldm/models/diffusion/ddpm.py", line 19, in <module>
    from pytorch_lightning.utilities.distributed import rank_zero_only
ImportError: cannot import name 'rank_zero_only' from 'pytorch_lightning.utilities.distributed' (/usr/local/lib/python3.7/dist-packages/pytorch_lightning/utilities/distributed.py)

To Reproduce
https://stackoverflow.com/questions/74289972/cannot-import-name-rank-zero-only-from-pytorch-lightning-utilities-distribute

pytorch_lightning has recently released a new version which will throw this error (version 1.8.0.post1 released on November 2nd 2022).

Additional context
Happening only on this auto-sd-krita plugin, in AUTOMATIC1111/stable-diffusion-webui not hapening

They probably already fixed it upstream. I am not planning to maintain this version anymore though.

they fixed it by https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/master/requirements.txt#L15
pytorch_lightning==1.7.7
but ye better archive this project then, and redirect everyone to new one

feel free to close this, I do not want do it without your response

This fixed (currently everything works), can be closed.


hang in dict_get()

I don't know how you want to treat this; the Proton documentation mentions dict_get() but not CREATE DICTIONARY. One way or the other, I think either this functionality should be fixed and documented, or disabled.
Describe what's wrong
Following the ip_trie dictionary example in the Clickhouse documentation, dict_get() hangs.
How to reproduce
This is a straightforward translation from Clickhouse to Proton syntax:
CREATE STREAM my_ip_addresses (
    prefix string,
    asn uint32,
    cca2 string
)
PRIMARY KEY prefix;

INSERT INTO my_ip_addresses(prefix,asn,cca2) VALUES
    ('<IP_ADDRESS>/20', 17501, 'NP'),
    ('2620:0:870::/48', 3856, 'US'),
    ('2a02:6b8:1::/48', 13238, 'RU'),
    ('2001:db8::/32', 65536, 'ZZ')
;

CREATE DICTIONARY my_ip_trie_dictionary (
    prefix string,
    asn uint32,
    cca2 string DEFAULT '??'
)
PRIMARY KEY prefix
SOURCE(CLICKHOUSE(TABLE 'my_ip_addresses'))
LAYOUT(IP_TRIE)
LIFETIME(3600);

SELECT dict_get('my_ip_trie_dictionary', 'cca2', to_ipv4('<IP_ADDRESS>')) AS result;

The CREATE DICTIONARY statement is unchanged apart from lowercasing the type names (e.g. String -> string)
Error message and/or stacktrace
After the final SELECT, Proton hangs. Hitting Ctrl-C requests termination of the query, but that also hangs. Pressing Ctrl-C a second time causes the CLI to exit.
brians-macbook-m3-pro.local :) SELECT dict_get('my_ip_trie_dictionary', 'cca2', to_ipv4('<IP_ADDRESS>')) AS result;

SELECT
  dict_get('my_ip_trie_dictionary', 'cca2', to_ipv4('<IP_ADDRESS>')) AS result

Query id: c9340426-98b2-4004-9d60-b2831dfb2722

^CCancelling query.
^C%

(No logs are shown from proton server when this select statement is issue)
Additional context
This is proton 1.5.17 running under macOS 14.6.2 on M3 Pro, installed via homebrew.

Hi @candlerb , thanks for reporting this.
Dictionary is not officially supported in Timeplus Proton yet. But we did fix an issue like this Dec 2023. https://github.com/timeplus-io/proton/pull/382 You may want to create the "base table" with MergeTree engine, as the example in the PR
CREATE stream if not exists geoip_t (
  cidr string,
  latitude float64,
  longitude float64,
  country_code string,
  state string,
  city string
) ENGINE = MergeTree ORDER BY cidr;

In your snippet
CREATE STREAM my_ip_addresses (
    prefix string,
    asn uint32,
    cca2 string
)
PRIMARY KEY prefix;

This is not a mutable stream and will use NativeLog and historical storage. This may not work with Dictionary.
You may try this, not sure whether it works. I probably should put some warning in the docs that Dictionary is not officially supported yet.

This works, thanks:
DROP STREAM IF EXISTS my_ip_addresses;
CREATE STREAM my_ip_addresses (
    prefix string,
    asn uint32,
    cca2 string
)
ENGINE = MergeTree
PRIMARY KEY prefix
ORDER BY prefix;

INSERT INTO my_ip_addresses(prefix,asn,cca2) VALUES
    ('<IP_ADDRESS>/20', 17501, 'NP'),
    ('2620:0:870::/48', 3856, 'US'),
    ('2a02:6b8:1::/48', 13238, 'RU'),
    ('2001:db8::/32', 65536, 'ZZ')
;

DROP DICTIONARY my_ip_trie_dictionary;
CREATE DICTIONARY my_ip_trie_dictionary (
    prefix string,
    asn uint32,
    cca2 string DEFAULT '??'
)
PRIMARY KEY prefix
SOURCE(CLICKHOUSE(TABLE 'my_ip_addresses'))
LAYOUT(IP_TRIE)
LIFETIME(600);

SELECT dict_get('my_ip_trie_dictionary', 'cca2', to_ipv4('<IP_ADDRESS>')) AS result;

This is not a mutable stream and will use NativeLog and historical storage

I don't quite get that. In the architecture doc it says the default is NativeLog plus historical storage, but doesn't really explain what the other alternatives are, and what the benefits and limitations of each are.

I probably should put some warning in the docs that Dictionary is not officially supported yet.

Perhaps simply remove the dict_get() function from the docs. If it wasn't there, I wouldn't have tried it :-)

Hi @candlerb , I have updated the doc to remove dict_get for now. When we officially support dictionary, I can add it back.
At the currently stage, we don't want to expose different engines directly to the end users. All "supported" type of storage are:

append-only stream
mutable stream
versioned_kv and changelog_kv are still available in Timeplus Proton but may be replaced by mutable streams later this year
external stream or external tables are technically different engines too

There are many more table engines in ClickHouse, some of them may work in Timeplus Proton too, such as Null or Memory. We are also looking to other table engines for external system integrations, such as postgres or s3. But we may implement them as external stream or external table to support streaming SQL. We will share more details when we decide the direction.
Again, thanks for trying this function and sharing the feedback. There are some community and commercial users who use Timeplus for DDoS detection and other IP related use cases. Feel free to join https://timeplus.com/slack to discuss more.


Add container auto injection

Q
A

Is bugfix?
❌

New feature?
✔

Breaks BC?
✔

Tests pass?
✔

Added auto-injection of the container for nested groups and routes. Removed the old syntax for adding groups.

New test cases are not relavant for Route. It's for Group only.
I suggest you to split tests for Route and Group and you can see your problem with mocking object.
I think RouteCollectorInterface should have getRoutes() and getGroups() for this case.

I've created this test before implementation. It is very convenient for catching bugs.
I'm still waiting for one-string-mock.

I've created this test before implementation. It is very convenient for catching bugs.
I'm still waiting for one-string-mock.

The main problem is that you use Group as part of the implementation of interface RouterInterface. Such tests are completely "raw" and related not to the interface, but to a specific implementation (Group). It follows that the interface will be unstable.
Rewarding the Group with unnecessary methods from UrlGeneratorInterface and UrlMatcherInterface is not a good idea. In this test, you are testing not Route or Group. You are testing RouteFactory, where you need to verify that the setContainer() method is called and that’s it.
As I wrote right away, it’s better to break these huge tests into many small ones, so it turns out in the end.
If you cannot mock the object, the problem is with the object. Either it doesn’t do something, or it doing too much.
I can't write one-line mock, because class or test is done poorly.

I can't write one-line mock, because class or test is done poorly.
Even you remove RouteCollectorIterface interface you can't do it.

Let's looks if tests could be improved...

Even if you remove RouteCollectorIterface interface you can't do it.

Yes, you are rigth and I've described above the reason about it.

Let's looks if tests could be improved...

I think this PR can be merged. I'm working on this package and it is very inconvenient to merge another change. If @xepozz wants he could create another PR that will improve the tests.

Only one of the three tests relates to the RouterFactory scope .

Going to merge soon.

Thanks!

@xepozz let's made further improvements separately, OK?


What is the relation between glaip and walletconnect?

We are not related at all. I just made this package with some of the things v1 WalletConnect was missing (deeplinks etc). You can always use WalletConnect directly and add your own logic :)
Cheers!


Set values when deploying a chart

As a developer, I want to set values from the UI when deploying a Helm chart.

@prydonius closing?


No SDL_Hint in the SDL wrapper

On Windows it would be handy to call this before creating a window
SDL_SetHint(SDL_HINT_VIDEO_HIGHDPI_DISABLED, "1")
As otherwise it scales the resolution of your window for you. Unfortunately there is no SDL_SetHint in Veldrids wrapper.

An update on this, even calling this SDL_SetHint does not disable the DPI scaling on windows. You either have to set it in a manifest file (which is difficult when dotnet is loading your netcore DLL) or by calling a specific user32.dll function before you create a window.
[DllImport("User32.dll")]
public static extern bool SetProcessDPIAware();
This allows the units given to SDL_CreateWindow to not be scaled.

In 4.4.0, Sdl2.LoadFunction is now public, so you are free to wrap extra functions that aren't directly exposed from Veldrid.SDL2.
[UnmanagedFunctionPointer(CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
public delegate bool SDL_SetHint_t(string name, string value);

// At runtime:
SDL_SetHint_tfuncPtr = Sdl2.LoadFunction<SDL_SetHint_t>("SDL_SetHint");

I didn't test the above, but it should be correct. That said, I don't see this function couldn't be wrapped directly. I'll put it on the list for next release.

Thanks for the suggestion. Yeah it was easy for me to add it to your code directly and given how much coverage you have of SDL I thought it a little weird it wasn't already in there which is why I mentioned it.


enter my landings weight (kg) now or later

As a fisherman I would like the app to allow me to  "enter my landings weight (kg) now or later". If 'later' is selected then the fisherman can go back to an 'incomplete form' and enter all weights once they receive their landings tally from the buyer (*see note below). https://github.com/StAResComp/sifids/issues/8

Must - maority of fishermen wont be able to enter weights on the day they went fishing

App works with the weekly FISH1 Form paradigm - users can go back and edit at any point.


Issues referencing sys.sysprocesses

Hi,
I am having issues resolving sys.sysprocesses, despite referencing the master database. In my solution (SQL Server Project created in VS2019), I have a view which returns the sys.sysprocesses [spid], [blocked], [open_tran] and [cmd] fields, and joins on the [context_info] field. This results in a SQL71561 unresolved reference build error.
I have also created an empty SQL project and have added a single SP that returns all columns from sys.syspresesses. This time the build succeeds but with a SQL71502 unresolved references warning.
Replication Steps

Using Visual Studio 2019, create a new SQL Server project
Add a new Stored Procedure that returns all columns from sys.sysprocesses
Right-click project references and select Add Database Reference... from the context menu
From the Add Database Reference dialog, choose the System database option, and the master database from the drop-down
OK the dialog and the master database should now be listed as a project reference
Build solution and observe warning

Example Stored Procedure
CREATE PROCEDURE [dbo].[GetSysProcesses]
AS
	SELECT *
	FROM [sys].[sysprocesses];

RETURN 0

Further Information
See discussion at bottom of this article
Kaine

Hi,
A little update, this issue appears to be limited to [sys].[sysprocesses] but does not affect [dbo].[sysprocesses].
As mentioned, this was giving me Build Errors, while the replication example only issues a Build Warning.
Thanks,
Kaine


Add recommendation rule controller

What type of PR is this?
Feature
What this PR does / why we need it:
Add recommendation rule controller
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

/LGTM


jsonFromStream doesn't handle symlinks

When package.json is a symlink jsonFromStream will fail to load data, because that entry won't return any. It could in theory check entry.header.linkpath and use that value over filename argument for all following entries, but the needed entry might be already processed, in which case it will end up not finding it.

For security reasons, symlinks in npm packages are not supported -- npm itself should not pack them (and indeed, npm-packlist explicitly ignores them all), and pacote itself filters them out on extraction on the off chance that the package was made with something other than npm.
But maybe I misunderstand: what's causing you to run into this as an error?

I knew npm was hard on that convention, but didn't know the specifics. Makes perfect sense now, thanks!


Refactor CreateCollectionBuilder

This is a suggested way of addressing #129.
This particular builder is the builder in Cosmos with the most required fields. Even then, I think it's still a very reasonable API.
Docs

API Usage

Thoughts?
If we like this, I can update the rest of the builders.

Would it make more sense to swap the parameters of create_collection and execute? Maybe it is just me, but it seems like it makes more sense to have the required params be part of the operation name (e.g. create_collection) and the thing you are actually doing something with be the parameter to execute. Either way, I think this is much cleaner

Would it make more sense to swap the parameters of create_collection and execute? Maybe it is just me, but it seems like it makes more sense to have the required params be part of the operation name (e.g. create_collection) and the thing you are actually doing something with be the parameter to execute. Either way, I think this is much cleaner

I agree with @thomastaylor312. I would go further: why separate the parameters in two places? I'd put them all in the create_collection call. Having to specify the mandatory fields in two different places (with no clear understanding of which goes where) is confusing.
Also, from a documentation point of view, I think it would be best to have all the required fields in one place.

I agree with @thomastaylor312. I would go further: why separate the parameters in two places? I'd put them all in the create_collection call. Having to specify the mandatory fields in two different places (with no clear understanding of which goes where) is confusing.
Also, from a documentation point of view, I think it would be best to have all the required fields in one place.

@MindFlavor I disagree with you on that count. That conflates configuration with data. With a builder, you are building up a client that can act on something. That "something" is the document/blob/VM/etc. So it makes sense for it to be separate from my view

@MindFlavor I disagree with you on that count. That conflates configuration with data. With a builder, you are building up a client that can act on something. That "something" is the document/blob/VM/etc. So it makes sense for it to be separate from my view

@MindFlavor @thomastaylor312 I pushed another commit which switches where the required and the optional arguments are passed.
I also made Offer and IndexingPolicy optional as according to this they are optional. I tried with one of the e2e tests and it seems to work without them.
The only downside of this is that indexing_policy is now an Option on Collection and thus must be unwrapped even tough on response it's never not set.

@MindFlavor @thomastaylor312 I pushed another commit which switches where the required and the optional arguments are passed.
I also made Offer and IndexingPolicy optional as according to this they are optional. I tried with one of the e2e tests and it seems to work without them.
The only downside of this is that indexing_policy is now an Option on Collection and thus must be unwrapped even tough on response it's never not set.

count. That conflates configuration with data. With a builder, you are building up a client that can act on something. That "something" is the document/blob/VM/etc. So it makes sense

Yes, you make a valid point 👍 ! I agree
(sorry for taking so long to answer)

count. That conflates configuration with data. With a builder, you are building up a client that can act on something. That "something" is the document/blob/VM/etc. So it makes sense

Yes, you make a valid point 👍 ! I agree
(sorry for taking so long to answer)


How to get information of transformation from structural to functional space in fmriprep?

Dear all,
I would like to use FSL FIX on the data preprocessed by fmriprep. However, the information of transformation from structural to functional space is necessary. Therefore, I would like to ask if anyone knows how to get the information.
Any help would be appreciated. Thank you a lot!

What do you mean by functional space, in this context?

Sorry for my unclear discription. It needs a file of "FLIRT transfom from structural to functional space".
I understand is as a matrix of Affine transformation that registers T1 image to functional data.
I found a "registration.lta" file in "work/fmriprep_wf/.../func_preproc)task_wf/bold_reg_wf/bbreg_wf/mri_coreg/". If this is the one includes the information:

Shall I inverse the 1st matrix in that file for the information?
Is it the tramsformation into the MNI space?

Please let me know if I do not clearly discribe my question. Thank you for your help.

Sorry, I wasn't clear. What image are you trying to put a structural in alignment with? If it's the preprocessed BOLD series in T1w space, they are already in alignment, and you only need an identity matrix:
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

If you're trying to get back to the boldref file, which will be roughly in alignment with the first couple volumes of the original BOLD series, then we'll need to find that transform in the working directory, as I don't think we currently output it.

Thank you :)


Blurry content (text)

CodePen demo

https://codepen.io/anon/pen/JayXEE
Steps to reproduce the problem

View demo on Chrome 68 (Windows 10).
Hover the refEl.
Observe the blurry tooltip text.
In case the problem doesn't occur, I should further desribe my specs. I'm on a laptop with screen dimensions of 1920x1080 at scale %125.

What is the expected behavior?
Text should look clear, free of distortion (blur).
What went wrong?
Text looks blurry on Chrome 68.
Any other comments?
transform: translate3d(498px, 78px, 0px); seems to cause the problem. Using left and top instead of transform solves the problem. So I'm wondering is there a particular reason behind using transform instead of left and top? If the reason is arbitrary, it'd be nice to have it optional.
PS: This might be a Chrome specific problem. Text looks all right in Firefox.

You can use the disableGpuAcceleration to get the same result...

Hmm. I've just searched for disableGpuAcceleration in both popper.js and tooltip.js and I don't see a prop/switch with that name. What am I missing?

https://popper.js.org/popper-documentation.html#modifiers..computeStyle.gpuAcceleration

Closing because it's a browser bug, and there is an option to fix it already, if needed.

@FezVrasta another solution would be to round or ceil the value of the transform3d. The issue is clearly caused by the subpixels calculated.

We already round/ceil the values

We already round/ceil the values

The values are not rounded in my case (version: 2.2.4):

If I round the values in the dev tools it looks ok:

@FezVrasta then maybe provide an option to opt-out of that at all?

https://popper.js.org/docs/v2/modifiers/compute-styles/#gpuacceleration


coverity 1356981: Uninitialized scalar field

Take 2

[approve ci]

clang format successful! https://ci.trafficserver.apache.org/job/clang-format-github/535/

RAT check successful! https://ci.trafficserver.apache.org/job/RAT-github/548/

AU check successful! https://ci.trafficserver.apache.org/job/autest-github/533/

FreeBSD11 build successful! https://ci.trafficserver.apache.org/job/freebsd-github/2229/

Ship it.

Intel CC build successful! https://ci.trafficserver.apache.org/job/icc-github/662/

Linux build successful! https://ci.trafficserver.apache.org/job/linux-github/2125/

clang-analyzer build successful! https://ci.trafficserver.apache.org/job/clang-analyzer-github/791/


[SPARK-34947][SQL] Streaming write to a V2 table should refresh its associated cache

What changes were proposed in this pull request?

In WriteToMicroBatchDataSource, replace WriteToDataSourceV2 with AppendData, as the former is deprecated. To realize this, this changes several methods to pass DataSourceV2Relation instead of Table.
Why are the changes needed?

Currently WriteToDataSourceV2 doesn't have refresh cache logic, and therefore, when the target table for a micro batch streaming job is cached, the cache won't be refreshed when the table is updated. It is also deprecated and replaced by more specific logical plans like AppendData.
Does this PR introduce any user-facing change?

Yes now when a DSv2 table which supports streaming write is updated by a streaming job, its cache will also be refreshed.
How was this patch tested?

Added a new UT.

Test build #136869 has started for PR 32039 at commit 0891cd1.

Test build #136869 has finished for PR 32039 at commit 0891cd1.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class WriteToMicroBatchDataSource(

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41447/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/41447/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/136869/

Test build #136953 has started for PR 32039 at commit bf8d519.

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41529/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/41529/

Test build #136953 has finished for PR 32039 at commit bf8d519.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class WriteToDataSourceV2(
case class WriteToMicroBatchDataSource(

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/136953/

Test build #136962 has started for PR 32039 at commit 801d35a.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41539/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41539/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/41539/

Test build #136962 has finished for PR 32039 at commit 801d35a.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class WriteToDataSourceV2(
case class WriteToMicroBatchDataSource(

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/136962/

I think the test failures are not related. cc @HeartSaVioR @cloud-fan and @aokolnychyi

Test build #137147 has started for PR 32039 at commit 779a8d2.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41726/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41726/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/41726/

Test build #137151 has started for PR 32039 at commit 239fafd.

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41730/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/41730/

Test build #137147 has finished for PR 32039 at commit 779a8d2.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/137147/

Test build #137151 has finished for PR 32039 at commit 239fafd.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/137151/

Test build #137228 has started for PR 32039 at commit a884b47.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41808/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41808/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/41808/

Test build #137228 has finished for PR 32039 at commit a884b47.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/137228/

thanks, merging to master!


python3Packages.asyncpg: use local patch

Motivation for this change
Hash mismatch from fetchpatch.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @

#70256 also has a fix.


Internal Server Error on endpoint /orgs/{org}/teams - List an organization's teams

Gitea version (or commit ref): 1.14.2
Git version: Not applicable
Operating system: Official Gitea docker container

Database (use [x]):

[x] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[x] Yes - https://gitea.com/api/v1/orgs/gitea/teams
[ ] No

Log gist: https://gist.github.com/anders-larsson/730d73cdc825061a3b5bfe3904cfdadb

Description

Using the List an organization's teams endpoint gives Internal Server Error and prints the error in the included Gist.
Screenshots

Just to add. On the private gitea instance token authentication was used when this error was thrown.

OK looking at your gist it appears that the issue was that the ctx.User was nil. Which would fit with your token being incorrect.
I'll pop up a PR to prevent the NPE though.


POL-197 - AWS EKS

Description
[Describe what this change achieves]
Issues Resolved
[List any existing issues this PR resolves]
Contribution Check List

[ ] All tests pass.
[ ] New functionality includes testing.
[ ] New functionality has been documented in the README if applicable
[ ] New functionality has been documented in CHANGELOG.MD

          4 Errors

:no_entry_sign:
Please add a CHANGELOG.md file

:no_entry_sign:
A README.md is required for new templates

:no_entry_sign:
Add info provider and service. aws/rs_aws_eks/aws_eks_plugin.plugin

:no_entry_sign:
File syntax check failed. aws/rs_aws_eks/eks_test_cat.rb.

          1 Warning

:warning:
Should this include readme changes

  Generated by :no_entry_sign: Danger


Added optional encoding parameter to Media.download

The npm request package defaults to encoding all responses as a string if an encoding parameter is not specified in the request options. When executing a request with contentType image/* file, the encoding should be set to null, as to allow for a buffer to be returned in the response content. Currently this is not an option when calling Media.download, resulting in corrupt data when downloading an image.
This fix provides an optional encoding parameter to Media.download, allowing the user to specify an encoding type, otherwise it is set to null in the request.

@ryanmcclure4
Great catch!
Thanks for opening the PR. I have a few questions/suggestions then we can merge in.

Also missing tests. I can add those back into your branch once we're done reviewing.
Thanks again for pointing this out!

Awesome, sounds good!

Simplified behavior to always send null encoding to force buffer and default to undefined for other situations in 116


Consider feat/fix etc

For larger teams it will be difficult to say whether you want to release as major/minor etc

It can probably be smart and decide based on if these exist or not, with an override setting


Could not resolve io.insert-koin:koin-bom:3.5.3 - BUG

Flutter SDK version: 3.22.0
Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
Could not resolve io.insert-koin:koin-bom:3.5.3.
Required by:
project :app
project :app > project :unity_ads_plugin > com.unity3d.ads:unity-ads:4.11.2
No matching variant of io.insert-koin:koin-bom:3.5.3 was found. The consumer was configured to find a library for use during runtime, preferably optimized for Android, as well as attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'debug', attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '8.3.0', attribute 'org.jetbrains.kotlin.platform.type' with value 'androidJvm' but:
- Variant 'apiElements' capability io.insert-koin:koin-bom:3.5.3:
- Incompatible because this component declares a platform for use during compile-time and the consumer needed a library for use during runtime
- Other compatible attributes:
              - Doesn't say anything about its target Java environment (preferred optimized for Android)
              - Doesn't say anything about org.jetbrains.kotlin.platform.type (required 'androidJvm')
      - Variant 'enforcedRuntimeElements' capability io.insert-koin:koin-annotations-bom-derived-enforced-platform:1.3.0 declares a component for use during runtime:
          - Incompatible because this component declares an enforced platform and the consumer needed a library
          - Other compatible attributes:
              - Doesn't say anything about com.android.build.api.attributes.AgpVersionAttr (required '8.3.0')
              - Doesn't say anything about com.android.build.api.attributes.BuildTypeAttr (required 'debug')
              - Doesn't say anything about its target Java environment (preferred optimized for Android)
              - Doesn't say anything about org.jetbrains.kotlin.platform.type (required 'androidJvm')
      - Variant 'runtimeElements' capability io.insert-koin:koin-annotations-bom:1.3.0 declares a component for use during runtime:
          - Incompatible because this component declares a platform and the consumer needed a library
          - Other compatible attributes:
              - Doesn't say anything about com.android.build.api.attributes.AgpVersionAttr (required '8.3.0')
              - Doesn't say anything about com.android.build.api.attributes.BuildTypeAttr (required 'debug')
              - Doesn't say anything about its target Java environment (preferred optimized for Android)
              - Doesn't say anything about org.jetbrains.kotlin.platform.type (required 'androidJvm')

Same issue

I'm facing the same issue! please fix the issue!

I downgraded Gradle, and the error disappeared.
from:
android/gradle/wrapper/gradle-wrapper.properties:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-all.zip

android/build.gradle:
classpath 'com.android.tools.build:gradle:8.3.2'

to:
android/gradle/wrapper/gradle-wrapper.properties:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip

android/build.gradle:
classpath 'com.android.tools.build:gradle:8.1.3'


Fix #238: Set RootFS ReadOnly False

The gRPC proxy socket created by the ArgoCD API client will fail to be created if the root FS is set to read only. Update the securityContext to set read only to false.
Aha! Link: https://pf9.aha.io/features/ARLON-318

@mattroark I am going to invite you to Arlonproj org as a contributor. Would you mind joining?
A stage in the CI pipeline currently requires that so that all the checks can pass.

@mattroark can you rebase? The failing GitHub action should make it through this time (I am unable to trigger a re-run). The branch protection has been updated.

Merging since only the docs push was failing due to older branch protection


Fix issue causing app to crash on ie9

Copies gitignore to eslintignore and removes --ignore-path from lint task.
Imports IE shims into index.ts and changes shims_for_IE.js to be ES5 friendly.
Connected to rangle/rangle-starter#106

:shipit:


no such table: user

after running chapter 8 -- follower, contacts and friends
doing the tests.py, etc.
I attempt to login and 'follow' but get a "sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: user"
i tried 'sqlite3' on terminal and the only table in sqlite app.db is alembic_version
I attempt 'flask db downgrade' and get "no such table: followers"
I'm going to keep looking, but is possible the tests.py emptied the database?
the beginning of my tests.py file:
class UserModelCase(unittest.TestCase):
    def setUp(self):
        app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite://'
        db.create_all()

    def tearDown(self):
        db.session.remove()
        db.drop_all()

nm on this.
I rebuilt the migrations and it's working as expectd now.

I add this:
with app.app_context():
db.create_all()
Now it can work

@zjscy666 your approach is incorrect, as it bypasses the migration framework. The correct way to generate the database for this project is to run flask db upgrade.


Issue #115: Use main thread for CGBitmapContextCreate operation

to avoid EXC_BAD_ACCESS at UIImage+Haneke.swift line 56.  Issue #115.

@SteveNewhouse Thanks for sending this PR.
This prevents the crash but doesn't solve the bug and would make it harder to find and fix. Leaving it for now as a workaround but will try to find out what's going on.


CLI: pmtiles convert INPUT.mbtiles OUTPUT.pmtiles fails silently for MBTiles v 1.0

Problem
When trying to convert MBTiles created based on the 1.0 spec, such as in this repo, PMTiles are generated but won't display.
Explanation
MBTiles 1.0 spec did not include format among the top-level metadata. PMTiles relies on this field to determine whether the data is vector or raster, since this version only supported raster (jpg/png).
Potential fixes

Can be fixed manually by adding name/value format/png to the metadata table of the MBTiles, convert operation will work as expected.

Raising an error from the CLI and/or JS library to warn users the required metadata is missing to aid debugging

Inferring format from other available metadata or the contents of the MBTiles

Additional Information
Repo that currently contains a bunch of MBTiles 1.0: https://github.com/mizmay/BerkeleyElectionResults
Sample (detailed) metadata for MBTiles 1.0 before adding the required format tag (note there is other non-required metadata available that could be used to resolve the value):
id: ElectionBerkeleyMeasureS
tile_info:
  format: png
  encoding: ''
tilejson:
  tilejson: 3.0.0
  tiles: []
  attribution: Stephanie May ~ mizmay.com
  bounds:
  - -122.3263
  - 37.8448
  - -122.2012
  - 37.9063
  center:
  - -122.2747
  - 37.8731
  - 13
  description: 'MEASURE S: "Shall an ordinance prohibiting sitting on sidewalks in commercial districts from 7:00 am to 10:00 pm, with exceptions for: (a) medical emergencies; (b) wheelchairs and similar mobility devices; (c) bus benches; (d) street events; (e) other furniture placed on the sidewalk pursuant to a permit; requiring the City to ensure that it is applied in a constitutional manner and requiring a warning prior to citation, be approved?" '
  legend: "
\n
Measure S - Berkeley, CA
\n
\n
Yes Votes
\n
\n
7 - 30%
\n
31 - 40%
\n
41 - 50%
\n
51 - 60%
\n
61 - 100%
\n
\n
Source: Alameda County Registrar of Voters
\n
\n\n{{{CPrecinct}}}

    Yes Votes: {{{S_pct}}}%

     {{{S_turnout}}}% of registered voters voted on Measure S.

    {{/__teaser__}}{{#__full__}}Precinct: {{{CPrecinct}}}

    Yes Votes: {{{S_pct}}}%

    Registered Votors: {{{Registrati}}}

    Ballots Cast: {{{t_BallotsC}}}

    Mail-in Votes: {{{m_MSVoted}}}

    Votes at Poll:  {{{p_MSVoted}}}

    Abstained on S: {{{t_MSNoVote}}}

     {{{NoS_pct}}}% of voters skipped Measure S.

    {{/__full__}}
  version: 1.0.0

Added a log message if no format metadata is detected in the MBTiles archive

Updated in 1.19.2


Make protocol used by syslog handler configurable

For backward compatibility reasons, we still default to UDP.

LGTM

Nice! :metal:

+1


Freeform shape primitive

Allow user to pass table of points and draw them freely

Need to also account for different method of finding origin

Ideally the function would pass a table of coordinates, and each coordinate has an optional argument for move, line, or quad that would determine how the shape is being drawn.

Add a helper layer and perhaps support for touch-to-draw?


warning, only once: unhandled finitomata declaration

When I modify the FSM declaration, I get the following warning only once, the first time I compile the code:
warning: unhandled finitomata declaration found in MyApp.FiniteStateMachine,
         but we were unable to analyse the correctness of the FSM.
         Add :finitomata compiler to compilers: in your mix.exs!

I added :finitomata to the compilers in mix.exs.
Am I missing anything?
Thanks!

Hi @aus70, sorry for the late response.

When I modify the FSM declaration, I get the following warning only once, the first time I compile the code:

The :finitomata compiler should print this warning every time the file containing the definition gets recompiled (read: has been changed.) It follows the general principle of how any elixir compiler is supposed to behave, it writes a manifest and if nothing has changed, nothing gets recompiled.
Unlike errors, warnings do not prevent the successful compilation, and hence no warning is expected from this file until it is recompiled.
If you consider this behaviour confusing (I kinda do,) I’d love to see the proposal of how you’d like it to behave. Finitomata compiler writes its own manifest file and therefore we might mark the file as not compiled unless there is no warning from this particular compiler, but I dislike it either.

I added :finitomata to the compilers in mix.exs.

After I gave the second read, I figured out I might have misunderstood your question. If the question is why it ever gets printed even though the compiler is there in mix.exs, there might be one of the following reasons:

wrong order of compilers
it has been compiled without the :finitomata compiler and hence the manifest is somewhat missing

In any case, fresh mix do clean, compile should shut this warning up once and forever.

Hi @am-kantox , thank for your answer. The issue was caused by the compiler being in the wrong position: moving it to the beginning of the list does the trick: no more warnings.
For the records, here is the right way to do it:
def project do
    [
     ...
      compilers: compilers(Mix.env())
    ]
  end

defp compilers(_), do: [:finitomata | Mix.compilers()]
Thank you!


Doesn't recognize CSGO while using GamersClub Anti Cheat

i am facing some problems to run the Aurora and the CSGO while using the GamersClub AntiCheat.

What are you experiencing an issue with?

[ ] Aurora
[ ] Aurora supported game, (Fill in the game)
[ ] Aurora Wrapper
[ ] Aurora Profile
[ ] Aurora supported device, (Fill in problematic devices)
[ ] Aurora Scripts
[ ] Aurora Updater
[ ] Aurora Lighting issue
[x] Other, (Fill in another issue here)

What kind of an issue is it?

[ ] Crash
[x] Performance problems
[ ] Visual bug
[ ] Localization issue
[ ] Enhancement suggestion
[ ] Device issue
[ ] Other, (Fill in another type of issue here)

Expected behavior:
Explain here what should happen.
Should works fine with and without the AntiCheat
Actual behavior:
Explain here what happened instead.
Aurora doesn't recognize the CSGO program
How often does this problem occur?

This problem occurs... (Fill in here)
Everytiime
Please describe the steps to reproduce this issue:
The issue can be reproduced by doing following steps:

Install the GamersClubs Anti Cheat,
Run it
Try to Open the CSGO

What is the version of Aurora you are experiencing this issue with?

My version is... (Fill in here)
Beta V0.6
Does the previous version of Aurora have this issue?
The previous version, (Fill in the version here), did/did not have this issue.
I Don't know
Please include any logs, screenshots, or files that are related to this issue:

For logs, you can use: http://pastebin.com/
For screenshots, you can use: http://imgur.com/
For files, you can use: http://www.tinyupload.com/ , https://www.dropbox.com/ , or attach them to the issue.

It is likely that anti-cheat is interfering with the GSI system that Aurora utilizes for doing lighting. Do you normally have it working without using that Anti-cheat? Because if so I doubt there is much I can do to change anything.

Yes, without using this anti cheat works great.
Maybe if I change the sequence that aurora read the open programs, I could
make it work.
But thanks anyway
Em 3 de out de 2017 11:47, "Simon W"<EMAIL_ADDRESS>escreveu:
It is likely that anti-cheat is interfering with the GSI system that Aurora
utilizes for doing lighting. Do you normally have it working without using
that Anti-cheat? Because if so I doubt there is much I can do to change
anything.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/antonpup/Aurora/issues/822#issuecomment-333865666, or mute
the thread
https://github.com/notifications/unsubscribe-auth/Ae95hmFIBaJXMIngmoYdjTJ2KRyfphSNks5sokjogaJpZM4Prboa
.

The anti-cheat probably disables GSI which is required for the CS:GO functionality to work so I don't know how much I can actually do about this.


Email: add more headers

Resolve https://github.com/opencollective/opencollective/issues/7173
This PR adds:

A List-Unsubscribe header (see this)
A List-Unsubscribe-Post header (see this)
An X-OpenCollective-Account header
The ability to unsubscribe to "New host application"

Examples
New comment on update

Sign in

Collective created

Host application (collective perspective)

Host application (host perspective)
Host application approved

Thank you email
Note: it is not currently possible to unsubscribe from the Thank You email.
This one is not ideal, we would like the OC account to be set on order.toAccount, not order.fromAccount.

Team member invited

Thank you!

@colindean Let us know if you have any feedback! This is not perfect, and we aim to improve emails in the future.


Overridable options in network layer for middleware

Fixes #627
TODO:

[x] If this PR is a new feature, reference an issue where a consensus about the design was reached (not necessary for small changes)
[x] Make sure all of the significant new logic is covered by tests
[x] Rebase your changes on master so that they can be merged easily
[x] Make sure all tests and linter rules pass
[x] Update CHANGELOG.md with your change
[x] Add your name and email to the AUTHORS file (optional)

Looks right to me, thanks!


Senghoung/edit review feature

Description

Added edit review feature in user's review menu/tab.
Added delete confirmation dialog for user's review.
Added user-friendly design of the edit pen icon accommodating dark mode.

Screenshots

Showcase of delete review & pen UI for dark/light mode

Showcase delete review confirmation & dark/light mode UI

Steps to verify/test this change:

[ ] Verify changes work as expected on staging instance

Final Checks:

[ ] Verify successful deployment

(optional)

[ ] Write tests
[ ] Write documentation

Issues

Closes #273

Not going to review the whole PR since I'm not assigned to it, but I do have a few comments on design
I know what you have is the default style for the modal, but I think you should make it look more like the design and/or the one I made in #419. To be more specific, that is:

Making the X bigger to match the size of the heading on the left
not having the borders on bottom and top because that looks cleaner
Modal background color should be one of the overlay colors (I forget which one, but it's in my PR)

Also, the edit button from your GIF appears to not be square, which makes the backdrop an oval instead of a circle. To be honest, I think don't think we should have it as a circle at all. Instead, I think we should keep the UI consistent with other parts of PPC and do the same thing like we do in the roadmap – that is, have a transparent button that is of the variant "light/dark depending on theme".

replaced by #487


Confusion in Random Feature Posterior

https://github.com/zi-w/Max-value-Entropy-Search/blob/885030574233c95891ddbfb23ff0a8cb1790fe5a/utils/sampleMaximumValues.m#L47
What's the use for this line? D itself is already the eigendecomposition of Z^t Z + \sigma^2 I, it looks to me that R=1./D. Can you please clarify this ?

Hi, you can find the detailed explanation of this method at Appendix B.2 of http://www.jmlr.org/papers/volume9/seeger08a/seeger08a.pdf


Enabling biometric lock prevents app from functioning

Device and App information:
S21 Ultra 5g
Android 13 June 1st security patch
App version 1.2.12 Build 22 (Originally build 21 from Izzyondroid, Updated to 22 from github)
Issue
After enabling both biometrics and automatic biometric lock, the app won't open at all. It briefly shows the login prompt but quickly closes. Logs don't reveal much.
https://github.com/Akylas/com.akylas.documentscanner/assets/80724816/8c46a33f-b9e4-4282-b4da-668a861c1923
If I tap on the icon and the cancel button location at the same time, it will occasionally open but no documents are shown and no buttons work.

I can provide any logs if you think they would prove useful, but again not much is shown (app starts, biometrics start, app closes, biometrics cancelled)

@ZenerDeveloper sorry for the trouble will fix that asap. Can you get logcat, can you share it?

I installed that version of the app and I believe it should have sent over logs. I'm wondering if it has to do with the way Samsung implements their fingerprint reader since it is under screen and has to show a dialog over the app. However, I created a simple biometric app from code on the internet and it opens and recognizes just fine.

@ZenerDeveloper sadly I dont see the error report. not sure why. can you get a logcat ? (using adb)

I have attached a log gathered with Logfox (an android app). It should contain everything immediately before and after the app was opened and subsequently closed.
29_12-14-06-51_779.log
I'm curious if it is an issue with your app specifically or if it is an issue with the biometric plugin you're using. I couldn't find any other apps using the plugin so I have no way to test that theory.

@ZenerDeveloper Which version did you try that with? It is weird cause i dont see any log related to the app (i mean logs from the app). Did you use  https://github.com/Akylas/com.akylas.documentscanner/releases/tag/test_android  ?

Sorry, I had reinstalled the other build while messing around with it. Here is another log but with the test build installed.
29_12-15-19-28_581.log

@ZenerDeveloper it seems like the fingerprint recognition is "cancelled". This is the event i receive. And if this happens i need to close the app (for security reason).
Not sure why though.
i will try with more phone once i get back home. I have another samsung device. Hopefully i will be able to reproduce the bug. In the meantime i am sorry but i dont know what to do

@ZenerDeveloper I released a new version which hopefully will fix your issue

The issue is "fixed" as in the app will not self close. However, all thumbnails are visible without unlocking the app, mostly defeating the purpose of the feature.

@ZenerDeveloper I was not sure what to do about this. was not sure blurring or anything was needed. but if you say that then it is necessary ;)

I figured users may be scanning sensitive documents (tax returns perhaps) that they'd want behind a fingerprint lock and having the thumbnail shown when locked could defeat that if say a social security number, credit card number, phone number etc. Were to be present. If a device was left unlocked say on a desk, someone could theoretically view some sensitive information.
Tl;dr, it would be appreciated to leave the homescreen blank / blurred until unlocked to prevent simple attacks against personal info.

@ZenerDeveloper i  just implemented to a full screen view ensuring you dont see the data while requesting biometrics.
Now i need to add an option to prevent screenshots

@ZenerDeveloper should all be implemented in latest version

Yes it all works perfectly now. Thank you I will mark the issue closed.


Update state of accessory without trigger

Is there a way I can update the state of the accesory with out the trigger.
The current API update also triggers the accessory.

This is not possible from the HAP API (the same one the iOS Home app uses) which the UI talks to sorry. You would need to trigger the "update" from inside the plugin itself.


Authentication failure

FA's new "ReCaptcha" authentication is preventing the program from logging in properly to download files.

Options I can think of that could work around that:

Dump cookies from a web browser and reuse those

Extract the captcha from the page and let the user solve it. This is how e.g. Reddit API does things, but decoupling ReCaptcha from the page would be tricky.

Run a specialized browser instance and collect the cookies set for it after the user logs in

I have implemented loading cookies dumped from a web browser - it seemed like the sane option in this case.
It unfortunately requires installing a (tiny) browser extension and is not as straightforward as simply entering your username and password. On the bright side, it no longer requires you to enter your password every time you're downloading a gallery, and it warns you when the login has failed.
I have also updated the README accordingly. If you run into any issues with this, please let me know.


Two bug fixes.

Fixed bug where the wrong type was picked when casting numpy arrays in the f142 serialiser.
Known bad PV updates will no longer be cached for (attempted) re-transmission.

Codecov Report

Merging #143 (f8a42d6) into main (6b14a1b) will decrease coverage by 0.46%.
The diff coverage is 75.00%.

@@            Coverage Diff             @@
##             main     #143      +/-   ##
==========================================
- Coverage   94.37%   93.91%   -0.47%
==========================================
  Files          17       17
  Lines         569      575       +6
  Branches       81       83       +2
==========================================
+ Hits          537      540       +3
- Misses         21       22       +1
- Partials       11       13       +2

Impacted Files
Coverage Δ

forwarder/update_handlers/f142_serialiser.py
95.34% <60.00%> (-4.66%)
:arrow_down:

forwarder/update_handlers/base_update_handler.py
90.62% <80.00%> (+0.30%)
:arrow_up:

forwarder/update_handlers/ca_update_handler.py
92.00% <83.33%> (-1.88%)
:arrow_down:


fix(menu): detach lazily-rendered content when the menu is closed

Currently the lazily-rendered content is maintained in the background while a menu is open. These changes switch to detaching it once the user closes the menu.
Fixes #9915.

@crisbeto We need to fix the test

Fixed @tinayuangao. Looks like I had messed up a rebase.

Changed the label to minor since there're conflicts and e2e test failure


apollo 控制模块使用了 超前滞后 这个控制算法了吗

System information

OS Platform and Distribution (Linux Ubuntu 18.04):
Apollo installed from (source ):
Apollo version (5.5,):
最近在看control模块里面的内容，再commom目录下有超前滞后的控制算法，但是再controller目录下具体的控制算法代码中、并没有发现有使用它的记录。如果要使用，需要怎么配置呢

Do you mean the lead-lag filter ? No in latest master, it is been replaced by MRAC since the later one is more easier to balance agility vs robustness as well as more easier in self parameter adaption. Thus more suitable for Apollo which needs to support different vehicle platforms.