WSO2 device agent gives authentication failure notification in some time gap.

I'm using WSO2 IOT open source version. The mobile device agent automatically gives authentication failure notification and asks to re-enter login credentials.
I've started WSO2 IOT server on my system and installed WSO2 IOT device agent from QR code URL, the mobile device and WSO2 IOT server both are on LAN so there is no delay in network calls and also there is no firewall or anything which may disturb the communication.
Am I missing something or Its a bug ?

Same problem here.

Same problem here, after a while Android device gives authentication error, please sign in again.

i have the same issue, hot can i fix

I have the same issue with 3.3.0

I have the same issue on 3.3.0,
on investigating the mobile device agent i found that the call to refresh the token returns 400

same problem always send notification which i must put username and password how can i regester my username and password for ever

Same problem always send notification which i must put username and password.
You have found the solution for this problem?
Thanks

Yes I found a solution
Le lun. 3 juin 2019 à 12:19, osmaney<EMAIL_ADDRESS>a écrit :

Same problem always send notification which i must put username and
password.
You have found the solution for this problem?
Thanks
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/wso2/product-iots/issues/1848?email_source=notifications&email_token=AKLOM43X3X7IAPJTCRTPPYTPYTV3XA5CNFSM4FML2ORKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWY62NA#issuecomment-498199860,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKLOM4YPWIVVZMXR4DFWEFTPYTV3XANCNFSM4FML2ORA
.

Good.. And can tell me how do you do?
Thanks

You work with http or https
Le lun. 3 juin 2019 à 14:44, osmaney<EMAIL_ADDRESS>a écrit :

Good.. And can tell me how do you do?
Thanks
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/wso2/product-iots/issues/1848?email_source=notifications&email_token=AKLOM42B25RP4W7474AZAN3PYUG3XA5CNFSM4FML2ORKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWZI3HI#issuecomment-498240925,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKLOM463O6LONOV43R45UDDPYUG3XANCNFSM4FML2ORA
.

i work with https: 9443 port

No I mean when you enroll a device with what port number you use 8243 or
8280
Le lun. 3 juin 2019 à 15:32, osmaney<EMAIL_ADDRESS>a écrit :

i work with https: 9443 port
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/wso2/product-iots/issues/1848?email_source=notifications&email_token=AKLOM44MMS5VQQ7JB2QQMY3PYUMOXA5CNFSM4FML2ORKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWZNA2A#issuecomment-498258024,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKLOM47PQQTNK7TAOAKXPRLPYUMOXANCNFSM4FML2ORA
.

I use 8280 port

For more questions I can explain to you by what's up
Le lun. 3 juin 2019 à 16:00, boukrain montassar <
<EMAIL_ADDRESS>a écrit :

That's the problem you must use a certificate to ensure a https
communication. With https you will use 8243 port number and then it's done
Le lun. 3 juin 2019 à 15:51, osmaney<EMAIL_ADDRESS>a écrit :

I use 8280 port
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/wso2/product-iots/issues/1848?email_source=notifications&email_token=AKLOM45ZGFB7YGXMJGPRJ6TPYUOXLA5CNFSM4FML2ORKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWZO3EI#issuecomment-498265489,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKLOM436TVXTSEHLN6EBLPLPYUOXLANCNFSM4FML2ORA
.


add the 'Ocean State Estimation Packages' chapter as converted from tex

Please check that the PR fulfils our requirements

[y ] The commit message follows our guidelines
[n] Tests for the changes have been added (for bug fixes / features)
[y] Docs have been added / updated (for bug fixes / features)

What changes does this PR introduce?
(Bug fix, feature, docs update, ...)
docs -> add the 'Ocean State Estimation Packages' chapter as converted from tex
What is the current behaviour?
(You can also link to an open issue here)
N/A
What is the new behaviour
(if this is a feature change)?
N/A
Does this PR introduce a breaking change?
(What changes might users need to make in their application due to this PR?)
N
Other information:
N/A

LGTM


370 manage tournaments permission

Resolves #370

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

7 of 7 (100.0%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.002%) to 91.646%

Totals

Change from base Build<PHONE_NUMBER>:
0.002%

Covered Lines:
5523

Relevant Lines:
5790

💛  - Coveralls


AppArmor profiles not loading on worker nodes in K8S cluster

What happened:
We are using using AppArmor in our project.
In K8S cluster, After installing the SPO and enabing the AppArmor feature, i am creating the AppArmor profiles ,profiles are created successfully however those profiles are not getting loaded in the worker nodes.
What you expected to happen:
Once i create the AppArmor profiles, the profiles should get loaded in all the worker nodes so that whenever i launch any application pod on worker nodes , application should get validated by the profiles before doing any system operations.
How to reproduce it (as minimally and precisely as possible):
Configuration: VMs, 1 master and 1 worker
Enbled AppArmor on both the VM's
kmaster@kmaster:~$ kubectl get nodes -o=jsonpath='{range<EMAIL_ADDRESS>{.status.conditions[?(@.reason=="KubeletReady")].message}{"\n"}{end}'
kmaster: kubelet is posting ready status. AppArmor enabled
kworker1: kubelet is posting ready status. AppArmor enabled

Installed SPO:
SPO : v10.4.3
$ kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.9.1/cert-manager.yaml
$ kubectl --namespace cert-manager wait --for condition=ready pod -l app.kubernetes.io/instance=cert-manager
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/security-profiles-operator/main/deploy/operator.yaml

Enabled AppArmor:
kmaster@kmaster:~/testProfiles/installFiles/UsingSPO$ cat config.yaml
---
apiVersion: security-profiles-operator.x-k8s.io/v1alpha1
kind: SecurityProfilesOperatorDaemon
metadata:
  name: spod
  namespace: security-profiles-operator
spec:
  selinuxTypeTag: ""
  enableSelinux: false
  enableLogEnricher: false
  verbosity: 1
  enableAppArmor: true

Profile creation:
---
apiVersion: security-profiles-operator.x-k8s.io/v1alpha1
kind: AppArmorProfile
metadata:
  name: apparmorprofile-test100
  annotations:
    description: Block writing to any files in the disk.
spec:
  policy: |
    #include <tunables/global>

    profile test-profile flags=(attach_disconnected) {
      #include <abstractions/base>

      file,

      # Deny all file writes.
      deny /** w,
    }

Once i apply the profile, follwoign errors are coming in the SPOD and Security profile Operator pod logs:
spod log message:
I0928 20:36:35.539155   45582 apparmorprofile.go:112] apparmor-spod "msg"="Reconciling AppArmorProfile" "apparmorprofile"="apparmorprofile-test100" "namespace"="security-profiles-operator"
E0928 20:36:35.539312   45582 apparmorprofile.go:180] apparmor-spod "msg"="cannot load profile into node" "error"="open /etc/apparmor.d/spo-apparmorprofile-test100: no such file or directory" "apparmorprofile"="apparmorprofile-test100" "namespace"="security-profiles-operator"
E0928 20:36:35.539351   45582 controller.go:326]  "msg"="Reconciler error" "error"="cannot load profile into node: open /etc/apparmor.d/spo-apparmorprofile-test100: no such file or directory" "appArmorProfile"={"name":"apparmorprofile-test100","namespace":"security-profiles-operator"} "controller"="apparmorprofile" "controllerGroup"="security-profiles-operator.x-k8s.io" "controllerKind"="AppArmorProfile" "name"="apparmorprofile-test100" "namespace"="security-profiles-operator" "reconcileID"="5a0bd06a-4274-4b15-8f47-fe92b09f354d"

security-profiles-operator pod message:
E0928 20:40:06.667191       1 controller.go:326]  "msg"="Reconciler error" "error"="getting owner profile: the node status owner is of an unknown kind" "controller"="nodestatus" "controllerGroup"="security-profiles-operator.x-k8s.io" "controllerKind"="SecurityProfileNodeStatus" "name"="apparmorprofile-test100-kworker1" "namespace"="security-profiles-operator" "reconcileID"="b316d16e-52a0-4857-870f-a0fc78c079c1" "securityProfileNodeStatus"={"name":"apparmorprofile-test100-kworker1","namespace":"security-profiles-operator"}
I0928 20:40:13.569728       1 ca.go:62] spod-config "msg"="Using cert-manager as certificate provider"

Anything else we need to know?:
Also, i wanted to know how to unload a AppArmor profiles , once the loading is successful.
Environment:

Cloud provider or hardware configuration:
Using VBOX VM's on my local laptop

OS (e.g: cat /etc/os-release):
kmaster@kmaster:~/testProfiles/installFiles/UsingSPO$ cat /etc/os-release

PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

Kernel (e.g. uname -a):
kmaster@kmaster:~/testProfiles/installFiles/UsingSPO$ uname -a
Linux kmaster 5.15.0-48-generic #54-Ubuntu SMP Fri Aug 26 13:26:29 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Others:

Analysis so far:
Once i apply the profile, follwoign errors are coming in the SPOD and Security profile Operator pod logs:
spod log message:
I0928 20:36:35.539155   45582 apparmorprofile.go:112] apparmor-spod "msg"="Reconciling AppArmorProfile" "apparmorprofile"="apparmorprofile-test100" "namespace"="security-profiles-operator"
E0928 20:36:35.539312   45582 apparmorprofile.go:180] apparmor-spod "msg"="cannot load profile into node" "error"="open /etc/apparmor.d/spo-apparmorprofile-test100: no such file or directory" "apparmorprofile"="apparmorprofile-test100" "namespace"="security-profiles-operator"
E0928 20:36:35.539351   45582 controller.go:326]  "msg"="Reconciler error" "error"="cannot load profile into node: open /etc/apparmor.d/spo-apparmorprofile-test100: no such file or directory" "appArmorProfile"={"name":"apparmorprofile-test100","namespace":"security-profiles-operator"} "controller"="apparmorprofile" "controllerGroup"="security-profiles-operator.x-k8s.io" "controllerKind"="AppArmorProfile" "name"="apparmorprofile-test100" "namespace"="security-profiles-operator" "reconcileID"="5a0bd06a-4274-4b15-8f47-fe92b09f354d"

security-profiles-operator pod message:
E0928 20:40:06.667191       1 controller.go:326]  "msg"="Reconciler error" "**error"="getting owner profile: the node status owner is of an unknown kind"** "controller"="nodestatus" "controllerGroup"="security-profiles-operator.x-k8s.io" "controllerKind"="SecurityProfileNodeStatus" "name"="apparmorprofile-test100-kworker1" "namespace"="security-profiles-operator" "reconcileID"="b316d16e-52a0-4857-870f-a0fc78c079c1" "securityProfileNodeStatus"={"name":"apparmorprofile-test100-kworker1","namespace":"security-profiles-operator"}
I0928 20:40:13.569728       1 ca.go:62] spod-config "msg"="Using cert-manager as certificate provider"

After tracing the error, i found the follwing file where there is no AppArmor case in nodestatus.go
File Name : SecurityProfileOperator\security-profiles-operator-main\security-profiles-operator-main\internal\pkg\manager\nodestatus\nodestatus.go.
Let me know, if the finding is correct or not.
func (r *StatusReconciler) getProfileFromStatus(
    ctx context.Context,
    s *statusv1alpha1.SecurityProfileNodeStatus,
) (pbv1alpha1.StatusBaseUser, error) {
    ctrl := metav1.GetControllerOf(s)
    if ctrl == nil

{         return nil, fmt.Errorf("getting owner profile: %w", ErrNoOwnerProfile)     }

    key := types.NamespacedName

{         Name:      ctrl.Name,         Namespace: s.GetNamespace(),     }
    var prof pbv1alpha1.StatusBaseUser
    switch ctrl.Kind {
    case "SeccompProfile":
        prof = &seccompprofileapi.SeccompProfile{}
    case "SelinuxProfile":
        prof = &selxv1alpha2.SelinuxProfile{}
  // No case for AppArmor exist
    default:
        return nil, fmt.Errorf("getting owner profile: %w", ErrUnkownOwnerKind)
    }
    if err := r.client.Get(ctx, key, prof); err != nil

{         return nil, fmt.Errorf("getting owner profile: %s/%s: %w", s.GetNamespace(), ctrl.Name, err)     }
    return prof, nil
}

@All : Anybody help me with this info whether AppArmor profiles loading/unloading working on worker nodes in K8S cluster ?

@juggarnautss thanks for reporting this. AppArmor is indeed WIP and should have documentation and reliability improvements soon - once https://github.com/kubernetes-sigs/security-profiles-operator/pull/1063 is merged.
Can you please confirm if you are getting the messages below in the logs from your spod?
I1103 22:29:05.349882    9680 apparmorprofile.go:277] apparmor-spod "msg"="detecting apparmor support..."
I1103 22:29:05.350128    9680 apparmorprofile.go:284] apparmor-spod "msg"="apparmor enabled: OK"
I1103 22:29:05.350167    9680 apparmorprofile.go:287] apparmor-spod "msg"="apparmor enforceable: OK"

That should confirm that the SPO can detect apparmor capabilities.
Can you also share the output when executing the commands below directly into one of your nodes:
cat /sys/module/apparmor/parameters/enabled
ls -la /etc/apparmor.d
aa-status

@juggarnautss thanks for reporting this. AppArmor is indeed WIP and should have documentation and reliability improvements soon - once #1063 is merged.
Can you please confirm if you are getting the messages below in the logs from your spod?
I1103 22:29:05.349882    9680 apparmorprofile.go:277] apparmor-spod "msg"="detecting apparmor support..."
I1103 22:29:05.350128    9680 apparmorprofile.go:284] apparmor-spod "msg"="apparmor enabled: OK"
I1103 22:29:05.350167    9680 apparmorprofile.go:287] apparmor-spod "msg"="apparmor enforceable: OK"

That should confirm that the SPO can detect apparmor capabilities.
Can you also share the output when executing the commands below directly into one of your nodes:
cat /sys/module/apparmor/parameters/enabled
ls -la /etc/apparmor.d
aa-status

@pjbgf : Thank you for reverting on this.
Please clarify which version of operator.yaml shall i use for testing with image quay.io/paulinhu/security-profiles-operator:aa-fix .
I have tried with v0.5.0 operator.yaml but its breaking. please help me on this.

You should be able to use that image with the operator.yaml for v0.5.0. Did you confirm that your SecurityProfilesOperatorDaemon was created and enableAppArmor was enabled?
Is there any other errors you observed you could share?

@pjbgf
Hi Paulo,
Took the latest SPO release where the app-armor fix is merged. Also, found that SPO installation manual is updated with AppArmor related data.
Therefore have done one round of testing with latest code and patch the spod with enabling apparmor.
FINDING:
After enabling apparmor,  found that the apparmor is enabled by SPO by checking the logs but SPODS are still restarting and ultimately CrashLoopBackOff is happening.
Please help us in stabilizing the SPOD restart and crashes. Also let me know if any addtional data is required for RCA.
Logs for AppArmor enable in SPOD: $kubectl logs spod-vk79p -n security-profiles-operator
I1114 16:33:00.739913   59021 profilerecorder.go:141] recorder-spod "msg"="Setting up profile recorder" "Node"="<IP_ADDRESS>"
**I1114 16:33:00.740421   59021 apparmorprofile.go:277] apparmor-spod "msg"="detecting apparmor support..."
I1114 16:33:00.741436   59021 apparmorprofile.go:284] apparmor-spod "msg"="apparmor enabled: OK"
I1114 16:33:00.741596   59021 apparmorprofile.go:287] apparmor-spod "msg"="apparmor enforceable: OK"**
I1114 16:33:00.742566   59021 main.go:451] setup "msg"="starting daemon"
I1114 16:33:00.743334   59021 internal.go:366]  "msg"="Starting server" "addr"={"IP":"::","Port":8085,"Zone":""} "kind"="health probe"
I1114 16:33:00.743536   59021 internal.go:366]  "msg"="Starting server" "addr"={"IP":"::","Port":8080,"Zone":""} "kind"="metrics" "path"="/metrics"
I1114 16:33:00.744434   59021 controller.go:185]  "msg"="Starting EventSource" "controller"="apparmorprofile" "controllerGroup"="security-profiles-operator.x-k8s.io" "controllerKind"="AppArmorProfile" "source"="kind source: *v1alpha1.AppArmorProfile"
I1114 16:33:00.744589   59021 controller.go:193]  "msg"="Starting Controller" "controller"="apparmorprofile" "controllerGroup"="security-profiles-operator.x-k8s.io" "controllerKind"="AppArmorProfile"

Logs for CrashLoopBackOff :  $kubectl logs spod-vk79p -n security-profiles-operator
E1114 16:28:10.164918   56286 source.go:139] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"SeccompProfile\" in version \"security-profiles-operator.x-k8s.io/v1beta1\"" "kind"={"Group":"security-profiles-operator.x-k8s.io","Kind":"SeccompProfile"}
I1114 16:28:10.164952   56286 controller.go:227]  "msg"="Starting workers" "controller"="profilerecorder" "controllerGroup"="" "controllerKind"="Pod" "worker count"=1
I1114 16:28:10.164974   56286 controller.go:227]  "msg"="Starting workers" "controller"="apparmorprofile" "controllerGroup"="security-profiles-operator.x-k8s.io" "controllerKind"="AppArmorProfile" "worker count"=1
E1114 16:28:20.540268   56286 source.go:139] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"SeccompProfile\" in version \"security-profiles-operator.x-k8s.io/v1beta1\"" "kind"={"Group":"security-profiles-operator.x-k8s.io","Kind":"SeccompProfile"}
E1114 16:28:30.523650   56286 source.go:139] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"SeccompProfile\" in version \"security-profiles-operator.x-k8s.io/v1beta1\"" "kind"={"Group":"security-profiles-operator.x-k8s.io","Kind":"SeccompProfile"}
E1114 16:35:00.748138   59021 controller.go:210]  "msg"="Could not wait for Cache to sync" "error"="failed to wait for profile caches to sync: timed out waiting for cache to be synced" "controller"="profile" "controllerGroup"="security-profiles-operator.x-k8s.io" "controllerKind"="SeccompProfile"
I1114 16:35:00.748266   59021 internal.go:571]  "msg"="Stopping and waiting for non leader election runnables"
I1114 16:35:00.748292   59021 internal.go:575]  "msg"="Stopping and waiting for leader election runnables"
I1114 16:35:00.748352   59021 controller.go:247]  "msg"="Shutdown signal received, waiting for all workers to finish" "controller"="apparmorprofile" "controllerGroup"="security-profiles-operator.x-k8s.io" "controllerKind"="AppArmorProfile"
I1114 16:35:00.748427   59021 controller.go:247]  "msg"="Shutdown signal received, waiting for all workers to finish" "controller"="profilerecorder" "controllerGroup"="" "controllerKind"="Pod"
I1114 16:35:00.748481   59021 controller.go:249]  "msg"="All workers finished" "controller"="apparmorprofile" "controllerGroup"="security-profiles-operator.x-k8s.io" "controllerKind"="AppArmorProfile"
I1114 16:35:00.748514   59021 controller.go:249]  "msg"="All workers finished" "controller"="profilerecorder" "controllerGroup"="" "controllerKind"="Pod"
I1114 16:35:00.748533   59021 internal.go:581]  "msg"="Stopping and waiting for caches"
I1114 16:35:00.748933   59021 internal.go:585]  "msg"="Stopping and waiting for webhooks"
I1114 16:35:00.748954   59021 internal.go:589]  "msg"="Wait completed, proceeding to shutdown the manager"
**E1114 16:35:00.748985   59021 main.go:229] setup "msg"="running security-profiles-operator" "error"="SPOd error: failed to wait for profile caches to sync: timed out waiting for cache to be synced"Some text with a title**

Alos, please find below command output from worker nodes as suggested:
kworker1@kworker1:~$ cat /sys/module/apparmor/parameters/enabledcat /sys/module/apparmor/parameters/enabled
cat: /sys/module/apparmor/parameters/enabledcat: No such file or directory
Y
kworker1@kworker1:~$ cat /sys/module/apparmor/parameters/enabled
Y
kworker1@kworker1:~$ ls -la /etc/apparmor.d
total 104
drwxr-xr-x   8 root root  4096 Oct 17 20:01 .
drwxr-xr-x 104 root root  4096 Nov 12 06:28 ..
drwxr-xr-x   2 root root  4096 Aug  9 11:57 abi
drwxr-xr-x   4 root root  4096 Oct 17 20:01 abstractions
drwxr-xr-x   2 root root  4096 Oct 17 19:45 disable
drwxr-xr-x   2 root root  4096 Jun 21 04:46 force-complain
drwxr-xr-x   2 root root  4096 Oct 17 20:01 local
-rw-r--r--   1 root root  1339 Jun 21 04:46 lsb_release
-rw-r--r--   1 root root  1189 Jun 21 04:46 nvidia_modprobe
-rw-r--r--   1 root root  3461 Jun 21 10:38 sbin.dhclient
drwxr-xr-x   5 root root  4096 Aug  9 11:57 tunables
-rw-r--r--   1 root root  1446 Jun  9  2021 usr.bin.irssi
-rw-r--r--   1 root root  3448 Mar 17  2022 usr.bin.man
-rw-r--r--   1 root root  2561 Jun  9  2021 usr.bin.pidgin
-rw-r--r--   1 root root  1421 Jun 20  2021 usr.bin.tcpdump
-rw-r--r--   1 root root  1820 Jun  9  2021 usr.bin.totem
-rw-r--r--   1 root root  1220 Jun  9  2021 usr.bin.totem-previewers
-rw-r--r--   1 root root 28376 Aug  8 09:17 usr.lib.snapd.snap-confine.real
-rw-r--r--   1 root root  1060 Jun  9  2021 usr.sbin.apt-cacher-ng
-rw-r--r--   1 root root  1592 Nov 16  2021 usr.sbin.rsyslogd
kworker1@kworker1:~$ sudo aa-status
apparmor module is loaded.
40 profiles are loaded.
39 profiles are in enforce mode.
/snap/snapd/17029/usr/lib/snapd/snap-confine
/snap/snapd/17029/usr/lib/snapd/snap-confine//mount-namespace-capture-helper
/snap/snapd/17336/usr/lib/snapd/snap-confine
/snap/snapd/17336/usr/lib/snapd/snap-confine//mount-namespace-capture-helper
/usr/bin/man
/usr/bin/pidgin
/usr/bin/pidgin//sanitized_helper
/usr/bin/totem
/usr/bin/totem-audio-preview
/usr/bin/totem-video-thumbnailer
/usr/bin/totem//sanitized_helper
/usr/lib/NetworkManager/nm-dhcp-client.action
/usr/lib/NetworkManager/nm-dhcp-helper
/usr/lib/connman/scripts/dhclient-script
/usr/lib/snapd/snap-confine
/usr/lib/snapd/snap-confine//mount-namespace-capture-helper
/{,usr/}sbin/dhclient
apt-cacher-ng
cri-containerd.apparmor.d
lsb_release
man_filter
man_groff
nvidia_modprobe
nvidia_modprobe//kmod
snap-update-ns.lxd
snap.lxd.activate
snap.lxd.benchmark
snap.lxd.buginfo
snap.lxd.check-kernel
snap.lxd.daemon
snap.lxd.hook.configure
snap.lxd.hook.install
snap.lxd.hook.remove
snap.lxd.lxc
snap.lxd.lxc-to-lxd
snap.lxd.lxd
snap.lxd.migrate
snap.lxd.user-daemon
tcpdump
1 profiles are in complain mode.
/usr/bin/irssi
0 profiles are in kill mode.
0 profiles are in unconfined mode.
15 processes have profiles defined.
15 processes are in enforce mode.
/usr/sbin/nginx (1007) cri-containerd.apparmor.d
/usr/sbin/nginx (1035) cri-containerd.apparmor.d
/usr/sbin/nginx (1036) cri-containerd.apparmor.d
/app/cmd/controller/controller (2387) cri-containerd.apparmor.d
/app/cmd/webhook/webhook (2544) cri-containerd.apparmor.d
/coredns (2668) cri-containerd.apparmor.d
/cluster-proportional-autoscaler (2861) cri-containerd.apparmor.d
/app/cmd/cainjector/cainjector (2909) cri-containerd.apparmor.d
/security-profiles-operator (50423) cri-containerd.apparmor.d
/security-profiles-operator (50464) cri-containerd.apparmor.d
/security-profiles-operator (50583) cri-containerd.apparmor.d
/security-profiles-operator (51169) cri-containerd.apparmor.d
/security-profiles-operator (51292) cri-containerd.apparmor.d
/security-profiles-operator (51393) cri-containerd.apparmor.d
/usr/local/bin/kube-rbac-proxy (55064) cri-containerd.apparmor.d
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.
0 processes are in mixed mode.
0 processes are in kill mode.

I have noticed some issues due to the default spod settings.
Can you please try again with the below after removing all the operator objects from the cluster (operator, namespace, CRDs, etc)?
Here I deploy latest from main, delete spod, create a new one and deploy the sample profile:
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/security-profiles-operator/main/deploy/operator.yaml

kubectl -n security-profiles-operator delete spod spod

kubectl apply -f - <<EOF
apiVersion: security-profiles-operator.x-k8s.io/v1alpha1
kind: SecurityProfilesOperatorDaemon
metadata:
  labels:
    app: security-profiles-operator
  name: spod
  namespace: security-profiles-operator
spec:
  enableAppArmor: true
EOF

kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/security-profiles-operator/main/examples/apparmorprofile.yaml

In a few seconds you should be able to see:
$ kubectl logs -n security-profiles-operator -l name=spod -c security-profiles-operator | grep test-profile
I1115 23:41:50.824401   30631 apparmorprofile.go:108] apparmor-spod "msg"="Reconciling AppArmorProfile" "apparmorprofile"="test-profile" "namespace"="default"
I1115 23:41:50.851329   30631 apparmorprofile.go:192] apparmor-spod "msg"="Already in the expected Installed state" "apparmorprofile"="test-profile" "namespace"="default"

@juggarnautss we have released a version Today which means the official operator image is out with the necessary fixes for AppArmor to work.
I will try to invest some time on the settings later on this week. That isn't a fix as such, but rather a sensible default that would not give users the impression of the operator not working.
As for the chart, it is based in dir /deploy/helm of this repo. At the moment, we don't expose an enableAppArmor attribute. So feel free to propose a PR for it, otherwise I will try to get around to it at some point this week.

Thanks!
@pjbgf does that mean that release 0.6 solve this issue even if not officially mentioned in the release notes?

@pjbgf
Thank you Paulo for addressing my queries.
I will raise the required PR on enabling apparmor by default via helm.

@pjbgf
Hi Paulo,
I have raised the feature required to enable apparmor by default.
https://github.com/kubernetes-sigs/security-profiles-operator/issues/1320
Thanks and regards,
Sirin

Hi Paulo,
Tried deploying SPO using helm chart from 0.6.0 release.
Observed SPO image version tagged to latest. Are we going to keep it to latest or change it to 0.6.0?

@tuxerrante that's correct, I have now rectified the release notes to include the PR that fixes this.

@rahulroshank I created an issue (https://github.com/kubernetes-sigs/security-profiles-operator/issues/1334) to track making that configurable.
Given that we are always patching and evolving the operator, you may want to still use the latest tag, however I understand that for hermetic deployments (and also in highly regulated environment), you may want to stick to immutable tags instead.

SPO is currently stable with AppArmor enabled. Also the profiles are getting loaded and unloaded properly across worker nodes.
Hence, marking this issue as closed.


[BUG] generated js test file with template name instead of custom smart contract name

Description
After generating new smart contract environment with smart contract based on flipper template but with different name , the generated js test file is still named flipper.test.ts instead of <my-contract-name>.test.js
Expected vs. Actual Behavior
To have js test filed named as generated smart contract, ex: <my-contract-name>.test.js
Environment

Operating system: macos
Project version/tag: @astar-network/swanky-cli/1.0.10 darwin-x64 node-v18.2.0

Logs, Errors or Screenshots
kziemianek@Kaspers-MBP foobar % pwd
/Users/kziemianek/projects/astar/foobar/test/foobar
kziemianek@Kaspers-MBP foobar % ls -ltr
total 8
-rw-r--r--  1 kziemianek  staff  1525 Feb  2 09:57 flipper.test.ts

@codespool, @shunsukew what do you think about just renaming all templates containing tests to index.test.ts.hbs so no renaming during templates processing will be needed ? These test files are already in smart contract context (/test/<my-contract-name>/index.ts)

Actually, a great idea!
(sorry, for the late reply btw)
Since template only holds a sample, and all the test command picks up everything ending in .test.ts, this will simplify the init process.


Fix Install for windows users

I found a solution that by not passing "-Wno-deprecated" allowed me to install the library without any problems. By doing so, Cython was able to compile the code for me.

I made a better solution


[Bug]: tilling with padim  collapse

Describe the bug
here is code for training
from pathlib import Path
import numpy as np
from lightning.pytorch.callbacks import EarlyStopping, ModelCheckpoint
from PIL import Image
from torchvision import transforms
import torch

from anomalib.data import  Folder
from anomalib.engine import Engine
from anomalib.models import Padim
from anomalib import TaskType
from anomalib.callbacks import TilerConfigurationCallback

dataset_root = Path.cwd() / "ad-half-data" / "up"
task = TaskType.SEGMENTATION

datamodule = Folder(
    root=dataset_root,
    name="phone-half",
    normal_dir="good-1024-s",
    abnormal_dir="flaw-1024",
    mask_dir="mask/flaw-1024",
    train_batch_size=1,
    eval_batch_size=1,
    num_workers=30,
    image_size=(1024, 1024),
    task=task,
)

model = Padim(backbone="wide_resnet50_2", pre_trained=True, n_features=550)

callbacks = [
    ModelCheckpoint(
        mode="max",
        monitor="pixel_F1Score",
    ),
    EarlyStopping(
        monitor="pixel_F1Score",
        mode="max",
        patience=3,
    ),
    TilerConfigurationCallback(enable=True,
                               tile_size=256,
                               stride=256)
]

engine = Engine(
    callbacks=callbacks,
    pixel_metrics=["F1Score", "AUROC"],
    accelerator="auto",  # \<"cpu", "gpu", "tpu", "ipu", "hpu", "auto">,
    devices=1,
    logger=False,
)

engine.train(datamodule=datamodule, model=model)

I got 150 good pictures in good-1024-s for training, and after I run this script the ssh just lost and seems collapse for some reason without tips.

Dataset
Folder
Model
PADiM
Steps to reproduce the behavior
run the code with same 150 1024*1024 imgs
OS information
OS information:

OS: [e.g. Ubuntu 20.04]
Python version: [e.g. 3.10.0]
Anomalib version: [e.g. 0.3.6]
PyTorch version: [e.g. 2.3.0]
CUDA/cuDNN version: [e.g. 11.8]
GPU models and configuration: [ GeForce RTX 4090]
Any other relevant information: [ I'm using a custom dataset with 1024 size]

Expected behavior
expected to train
Screenshots
No response
Pip/GitHub
GitHub
What version/branch did you use?
No response
Configuration YAML
None

Logs

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Can you try it with a lower resolution or fewer images? It can be an out-of-memory error.

Can you try it with a lower resolution or fewer images? It can be an out-of-memory error.

Yeah, I try to use 30 imgs(1024*1024) to do the training, and the ssh doesn't crash and I got the following logs
Traceback (most recent call last):
  File "/home/lzd/patchcore-inspection/anomalib/train-padim.py", line 56, in <module>
    engine.train(datamodule=datamodule, model=model)
  File "/home/lzd/patchcore-inspection/anomalib/anomalib-src/src/anomalib/engine/engine.py", line 863, in train
    self.trainer.fit(model, train_dataloaders, val_dataloaders, datamodule, ckpt_path)
  File "/home/lzd/miniconda3/envs/anomalib/lib/python3.10/site-packages/lightning/pytorch/trainer/trainer.py", line 544, in fit
    call._call_and_handle_interrupt(
  File "/home/lzd/miniconda3/envs/anomalib/lib/python3.10/site-packages/lightning/pytorch/trainer/call.py", line 44, in _call_and_handle_interrupt
    return trainer_fn(*args, **kwargs)
  File "/home/lzd/miniconda3/envs/anomalib/lib/python3.10/site-packages/lightning/pytorch/trainer/trainer.py", line 580, in _fit_impl
    self._run(model, ckpt_path=ckpt_path)
  File "/home/lzd/miniconda3/envs/anomalib/lib/python3.10/site-packages/lightning/pytorch/trainer/trainer.py", line 987, in _run
    results = self._run_stage()
  File "/home/lzd/miniconda3/envs/anomalib/lib/python3.10/site-packages/lightning/pytorch/trainer/trainer.py", line 1033, in _run_stage
    self.fit_loop.run()
  File "/home/lzd/miniconda3/envs/anomalib/lib/python3.10/site-packages/lightning/pytorch/loops/fit_loop.py", line 205, in run
    self.advance()
  File "/home/lzd/miniconda3/envs/anomalib/lib/python3.10/site-packages/lightning/pytorch/loops/fit_loop.py", line 363, in advance
    self.epoch_loop.run(self._data_fetcher)
  File "/home/lzd/miniconda3/envs/anomalib/lib/python3.10/site-packages/lightning/pytorch/loops/training_epoch_loop.py", line 141, in run
    self.on_advance_end(data_fetcher)
  File "/home/lzd/miniconda3/envs/anomalib/lib/python3.10/site-packages/lightning/pytorch/loops/training_epoch_loop.py", line 295, in on_advance_end
    self.val_loop.run()
  File "/home/lzd/miniconda3/envs/anomalib/lib/python3.10/site-packages/lightning/pytorch/loops/utilities.py", line 182, in _decorator
    return loop_run(self, *args, **kwargs)
  File "/home/lzd/miniconda3/envs/anomalib/lib/python3.10/site-packages/lightning/pytorch/loops/evaluation_loop.py", line 114, in run
    self.on_run_start()
  File "/home/lzd/miniconda3/envs/anomalib/lib/python3.10/site-packages/lightning/pytorch/loops/evaluation_loop.py", line 244, in on_run_start
    self._on_evaluation_start()
  File "/home/lzd/miniconda3/envs/anomalib/lib/python3.10/site-packages/lightning/pytorch/loops/evaluation_loop.py", line 290, in _on_evaluation_start
    call._call_lightning_module_hook(trainer, hook_name, *args, **kwargs)
  File "/home/lzd/miniconda3/envs/anomalib/lib/python3.10/site-packages/lightning/pytorch/trainer/call.py", line 157, in _call_lightning_module_hook
    output = fn(*args, **kwargs)
  File "/home/lzd/patchcore-inspection/anomalib/anomalib-src/src/anomalib/models/components/base/memory_bank_module.py", line 37, in on_validation_start
    self.fit()
  File "/home/lzd/patchcore-inspection/anomalib/anomalib-src/src/anomalib/models/image/padim/lightning_model.py", line 86, in fit
    self.stats = self.model.gaussian.fit(embeddings)
  File "/home/lzd/patchcore-inspection/anomalib/anomalib-src/src/anomalib/models/components/stats/multi_variate_gaussian.py", line 136, in fit
    return self.forward(embedding)
  File "/home/lzd/patchcore-inspection/anomalib/anomalib-src/src/anomalib/models/components/stats/multi_variate_gaussian.py", line 117, in forward
    covariance = torch.zeros(size=(channel, channel, height * width), device=device)
RuntimeError: [enforce fail at alloc_cpu.cpp:117] err == 0. DefaultCPUAllocator: can't allocate memory: you tried to allocate<PHONE_NUMBER>0 bytes. Error code 12 (Cannot allocate memory)

Does Padim work if you use it without tiling? It could be just different memory requirements for Padim and PatchCore.

I think this indeed is an out of memory issue, but it's rather unusual that PatchCore works and Padim doesn't.


Fix multipart request regex pattern

This fix remove required \1 in boundary name. May be related to #1411
We can read in RFC (https://tools.ietf.org/html/rfc2046#section-5.1.1)
The only mandatory global parameter for the "multipart" media type is
   the boundary parameter, which consists of 1 to 70 characters from a
   set of characters known to be very robust through mail gateways, and
   NOT ending with white space.

     boundary := 0*69<bchars> bcharsnospace

     bchars := bcharsnospace / " "

     bcharsnospace := DIGIT / ALPHA / "'" / "(" / ")" /
                      "+" / "_" / "," / "-" / "." /
                      "/" / ":" / "=" / "?"

@akondas Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@akondas Thank you for signing the Contributor License Agreement!

One more fix: need to add ? to \r to enable linux support :wink:

Ok, I can officially confirm that this fix works in our env. Thanks for this project :beers:


Cannot get UID/GID

I'm getting the following error using node-alpine:10.9.0.
It seems like lots of other people are also having similar issues on a variety of different node versions, but there is currently not an open issue (that I am aware of) representing this issue with recent examples.
For reference, please also see: https://github.com/npm/uid-number/issues/3
Here is the error I'm getting:
Error: could not get uid/gid
[ 'nobody', 0 ]

    at /usr/local/lib/node_modules/npm/node_modules/uid-number/uid-number.js:37:16
    at ChildProcess.exithandler (child_process.js:296:5)
    at ChildProcess.emit (events.js:182:13)
    at maybeClose (internal/child_process.js:961:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:250:5)
TypeError: Cannot read property 'get' of undefined
    at errorHandler (/usr/local/lib/node_modules/npm/lib/utils/error-handler.js:205:18)
    at /usr/local/lib/node_modules/npm/bin/npm-cli.js:76:20
    at cb (/usr/local/lib/node_modules/npm/lib/npm.js:228:22)
    at /usr/local/lib/node_modules/npm/lib/npm.js:266:24
    at /usr/local/lib/node_modules/npm/lib/config/core.js:83:7
    at Array.forEach (<anonymous>)
    at /usr/local/lib/node_modules/npm/lib/config/core.js:82:13
    at f (/usr/local/lib/node_modules/npm/node_modules/once/once.js:25:25)
    at afterExtras (/usr/local/lib/node_modules/npm/lib/config/core.js:173:20)
    at Conf.<anonymous> (/usr/local/lib/node_modules/npm/lib/config/core.js:231:22)
/usr/local/lib/node_modules/npm/lib/utils/error-handler.js:205
  if (npm.config.get('json')) {
                 ^

TypeError: Cannot read property 'get' of undefined
    at process.errorHandler (/usr/local/lib/node_modules/npm/lib/utils/error-handler.js:205:18)
    at process.emit (events.js:182:13)
    at process._fatalException (internal/bootstrap/node.js:472:27)

Here is my docker file for reference:
FROM node:10.9.0-alpine

WORKDIR /usr/src/app

# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./

# Install a bunch of junk I need
RUN apk --no-cache add --virtual native-deps g++ gcc libgcc libstdc++ linux-headers make python
# This is the line that fails
RUN npm install --quiet node-gyp -g
# I never make it to here
RUN npm install
RUN apk del native-deps

# If you are building your code for production
# RUN npm install --only=production

# Bundle app source
COPY . .

# Setup the app
RUN npm run build

EXPOSE 1337

CMD [ "npm", "start" ]

Hi !
A workaround, you can add this line to your dockerfile, before invoke npm :
RUN npm config set unsafe-perm true
More details here :
https://github.com/npm/uid-number/issues/3

Which OS are you running this code under?: Windows or Linux?

@knoxcard That would be Linux plain ol' SH (!# /bin/sh)
We're using Alpine Linux :)

the issue is still happening.
And apparently it's somehow related to types of instances or their sizes, or location...
running from node:8.4.0-alpine
same exact docker file runs just fine on staging cluster in Taiwan.
but is failing with this error on prod cluster in another asian region.

npm depending on uid-number requiring using unsafe mode as a workaround for 4+ years, maintainers don't care to even explain. Don't wanna blame anyone (should probably try to fix it myself), but for an open source eco-system this is not a good sign.

I am experiencing the same problem:
Depending on the docker host it works or it fails.

See here for more reference on the issue if you're using the M5 instance types in AWS: https://bitbucket.org/site/master/issues/16846/npm-error-eacces-permission-denied

This will be addressed in the next release (6.11.0) with better error handling and a more useful error message.
npm version 7 will abandon the "run scripts as nobody" approach entirely.  It doesn't provide much security against realistic threat models, and just makes a lot of difficulty for folks.
From the 6.11.0 changelog:

8b43c9624
nodejs/node#28987
npm.community#6032
npm.community#6658
npm.community#6069
npm.community#9323
Fix the regression where random config values in a .npmrc file are not
passed to lifecycle scripts, breaking build processes which rely on them.
(@isaacs)

Er, whoops!  Wrong changelog entry.  I mean this one:

769d2e057
Better error on invalid --user/--group This addresses the issue when
people fail to install binary packages on Docker and other environments
where there is no 'nobody' user.  (@isaacs)


MINIOR: Remove accidentally logs

This logs was added during the troubleshooting for some flaky tests and was pushed by mistake in #15354
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

cc: @jolshan can you merge this when you have a moment please?

this is backported to 3.7 https://github.com/apache/kafka/commit/c5b524f0d73ba80c576585299cc3cf9ae0a7fcab


[bug] Hard to drag when dom hierarchy is complex

Maybe this should be used as a feat? idk

Describe the bug
https://github.com/tauri-apps/tauri/blob/45d427e44c0e06194079426c2690019643e03277/core/tauri/scripts/core.js#L136
here is my dom hierarchy:
import React from "react";
import classes from "./index.module.scss";
import clsx from "clsx";
import { Icon } from "@rsuite/icons";
import {
  VscChromeClose,
  VscChromeMinimize,
  VscChromeMaximize,
  VscChromeRestore,
} from "react-icons/vsc";
import { appWindow } from "@tauri-apps/api/window";
import { IoLogoChrome } from "react-icons/io5";

const AppBar: React.FC = () => {
  const [isMaxsize, setIsMaxsize] = React.useState(false);

  React.useEffect(() => {
    appWindow.isMaximized().then(setIsMaxsize);
  }, []);

  return (

          <Icon as={IoLogoChrome} />
          {appWindow.label}

 {
              appWindow.minimize();
            }}
          >
            <Icon as={VscChromeMinimize} />

 {
              appWindow
                .toggleMaximize()
                .then(() => appWindow.isMaximized())
                .then(setIsMaxsize);
            }}
          >
            <Icon as={isMaxsize ? VscChromeRestore : VscChromeMaximize} />

 {
              appWindow.close();
            }}
          >
            <Icon as={VscChromeClose} />

  );
};

export default AppBar;

It renders like this:

I can't properly trigger the window's drag unless I add data-tauri-drag-region to every element.
Perhapes
Customize an event and allow tauri users to bind it themselves
Reproduction
No response
Expected behavior
No response
Platform and versions
> tauri "info"

Operating System - Windows, version 10.0.19044 X64
Webview2 - 99.0.1150.55
Visual Studio Build Tools:
   - Visual Studio Community 2019

Node.js environment
  Node.js - 14.17.6
  @tauri-apps/cli - 1.0.0-rc.5 (outdated, latest: 1.0.0-rc.8)
  @tauri-apps/api - 1.0.0-rc.3

Global packages
  npm - 6.14.11
  pnpm - 6.23.6
  yarn - 1.22.17

Rust environment
  rustup - 1.24.3
  rustc - 1.59.0
  cargo - 1.59.0
  toolchain - stable-x86_64-pc-windows-msvc

App directory structure
/.git
/.parcel-cache
/client
/dist
/node_modules
/server

App
  tauri - 1.0.0-rc.6
  tauri-build - 1.0.0-rc.5
  tao - 0.7.0
  wry - 0.14.0
  build-type - bundle
  CSP - default-src 'self'
  distDir - ../dist
  devPath - http://localhost:3000/
  framework - React

Stack trace
No response
Additional context
No response

A less elegant solution from before
https://github.com/tauri-apps/tauri/pull/3031
Customize an event and allow tauri users to bind it themselves may better

See here for the reasons why we can't change it: https://github.com/tauri-apps/tauri/pull/3031.
So yes you need to add the attribute to the actual click target (which generally should be the innermost element)

See here for the reasons why we can't change it: #3031. So yes you need to add the attribute to the actual click target (which generally should be the innermost element)

I saw. So I suggest using a custom event to let the user bind himself

Customize an event and allow tauri users to bind it themselves may better

You can already do that by using startDragging yourself.

Customize an event and allow tauri users to bind it themselves may better

You can already do that by using startDragging yourself.

It would be better to implement in tauri to avoid other potential bugs.
Or give a hint in the documentation?

It is documented here https://tauri.studio/docs/api/js/classes/window.WindowManager#startdragging

I mean here: https://tauri.studio/docs/guides/window-customization

Yeah that guide needs to highlight data-tauri-drag-region more and also include a manual implementation of it using window.startDragging and mousedown event.


Auto Update

How to auto update Thorium Browser in order to not miss new build?
I do not want constantly checking github for updates.

Do you have telegram channel or matrix/element to get notified about updates?
Browser is amazing, but I want to avoid checking github for new builds.


Unable to stretch md-tab-nav-bar tabs using md-stretch-tabs

Bug, feature request, or proposal:
Bug - md-stretch-tabs is not working with md-tab-nav-bar
What is the expected behavior?
The Tab Navation should stretch to fit the width of the screen
md-stretch-tabs should work with md-tab-nav-bar
What is the current behavior?
It does not stretch for md-tab-nav-bar, however it is working for md-tab-group.
Please view plunker provided below
What are the steps to reproduce?
Plunker template: http://plnkr.co/edit/7IaUPhjpLNDcAREb61jN?p=preview
What is the use-case or motivation for changing an existing behavior?
NA
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular 4
Material 2.0.0-beta.3
Is there anything else we should know?
NA

Also this feature is totally undocumented

does is there any work around for this feature ?

Related with https://github.com/angular/material2/issues/2177?

I would like to individually size tab labels.  For instance, when using chrome there is an extra tab to 'add new'.  I'm going for basically the same thing, but can't find a way to size only the 'add new' tab label.

any update/workaround?

my workaround
`.mat-tab-links {
display: table;
width: 100%;
.mat-tab-link {
    display: table-cell;
}

}`

I've put:
.mat-tab-label {
  flex: 1 1 auto;
}

in my global css file.

Seems to be supported now in 6.0.0

I have used the following code:
`.mat-tab-labels > div:last-child {
min-width: 58px !important;
background-color: #c2f975;
float: left;
border: none;
outline: none;
cursor: pointer;
transition: 0.3s;
font-size: 17px;
cursor: default;
}`
to style my final tab and make it n "add" button just like in chrome.

<mat-tab-group mat-align-tabs="stretch">

.mat-tab-group[mat-align-tabs='stretch'] {
  .mat-tab-label {
    flex: 1;
  }
}


Issue on Windows

Hello, I've tried your extension on Windows and when I want to open the viewer I get this error msg :
Une erreur système s'est produite (ENOENT: no such file or directory, open '/c:/Users/Romain/.vscode/extensions/roipoussiere.cadquery-0.1.2/static/cq-viewer.html')
The problem is due to the first slash before the c:/, the file is actually in the right location, the path is just corrupted due to the linux slash used here.

Fixed in new release 0.1.3 (874f705798deb28393a2e23aaa97547646ec7382)


Make Back GesturableArea larger. Clicking Back is currently difficult.

Wrapped Icon and text into a SizedBox with height: 16.


[GHSA-34jh-p97f-mpxf] urllib3's Proxy-Authorization request header isn't stripped during cross-origin redirects

Updates

Affected products
Summary

Comments
Removed trailing whitespace

Hi there @sethmlarson! A community member has suggested an improvement to your security advisory. If approved, this change will affect the global advisory listed at github.com/advisories. It will not affect the version listed in your project repository.
This change will be reviewed by our Security Curation Team. If you have thoughts or feedback, please share them in a comment here! If this PR has already been closed, you can start a new community contribution for this advisory


After using wsl2, VMware cannot access the Internet, and VMware uses bridge mode

Windows Version
Microsoft Windows [版本 10.0.22621.1848]
WSL Version
WSL 版本： <IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[ ] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>-microsoft-standard-WSL2
Distro Version
Ubuntu 20.04
Other Software
VMware version: 17.0.0 build-20800274
Repro Steps

run wsl2
run VMware
VMware's ubuntu cannot connect to the network

Expected Behavior
VMware's ubuntu can connect to the network
Actual Behavior
No output
Diagnostic Logs
No response
### Tasks

/logs


Make keys to each side of the 0 customizable

Currently the delete key is hard-coded in. It might be nice to allow each button to be customized.

[ ] Support custom image
[ ] Support callback function

Example:

Possibly add support for decimals once a decimal key could be added: https://github.com/jorgeyeah/angular-keypad/commit/8c67c5d2b91982d49d9fd80b0349d2a67afb4047


:memo: A bit of homepage stuff, but mostly redo the getting-started into a guide

The tests are failing due to a previous commit. It is being fixed in https://github.com/rigdev/rig/pull/1174.


STEP for transformer refactor

This is a STEP for the transformer refactor, which will in turn rely on preparations in sktime PR 1125.
FYI @mloning, @TonyBagnall, @aiwalter, @chrisholder, @guzalbulatova, @sveameyer13

I'm not aware of a way of writing a general rowwise applications of a transformation without looping in Python which would be very inefficient.

numpy.apply_over_axes, numpy.apply_along_axis, pandas.DataFrame.apply, and - in case of many transformations - making used of vectorized operations in numpy or pandas.
Many algorithms can be implemented, and in many cases of the interfaced algorithms, are already implemented in vectorized fashion.

The proposed change in fit(X: Panel or Series, y=None) -> self is a big interface change

It is, but we can make it so it is fully downwards compatible - it would just add to the series transformers the capability to run on panels. Currently, you have to iterate over rows, so the current way of doing this is very inefficient.

numpy.apply_over_axes, numpy.apply_along_axis, pandas.DataFrame.apply, and - in case of many transformations - making use of vectorized operations in numpy or pandas.

As far as I'm aware, in many cases, they're not much more efficient than for loops and you don't get fitted parameters back from them when applying fit_transform.

you don't get fitted parameters back from them when applying fit_transform.

What do you mean by that? Why would you even expect to get fitted parameters when applying numpy.apply_etc? Or, what are you comparing to?

What I'm thinking about is this: When you apply a transformer to each row via fit_transform, you may not only want to transform the data but also keep the fitted parameters for each row-wise application. I'm not sure how this can be achieved in an efficient way.
With the refactoring, is it still possible to write different implementations for series-to-series and panel-to-panel transformers?
I haven't had much more time to look at the proposal in more depth. My general feeling is that we're moving a bit too quickly at the moment, we're introducing many API changes without giving them much time to trickle through to all modules. Not sure if I'm the only one who thinks that?


QObject::~QObject: Timers cannot be stopped from another thread

CUDA Error: invalid device symbol
CUDA Error: invalid device symbol: 成功
QObject::~QObject: Timers cannot be stopped from another thread
[darknet_ros-1] process has died [pid 13909, exit code 255, cmd /home/hello/catkin_lll/devel/lib/darknet_ros/darknet_ros camera/rgb/image_raw:=/camera/rgb/image_raw __name:=darknet_ros __log:=/home/hello/.ros/log/ed63706a-d30f-11ea-9003-b068e699d999/darknet_ros-1.log].
log file: /home/hello/.ros/log/ed63706a-d30f-11ea-9003-b068e699d999/darknet_ros-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
I run the realsense camera node, and I get an error while running this node, how can I solve it?

Check if You have all the necessary files related to YOLO models. So for example: yolo_v4.weights, yolo_v4.cfg and yolo_v4.yaml.

I hope you were able to resolve the issue. If not, feel free to reopen.


[WIP] Embed shard chain explorer into cql command

Use command cql -web ":8546" to serve a shard chain explorer at http://localhost:8546, open it in your favorite browser.

See #260


Remove Visit.previous_visit

Resolves Notion ticket

@vkluzner Previous visits will still exist as we're not nuking the Visit table but just Visit.previous_visit. So, yes, while we won't be tracking explicitly which visit came prior to another (via this linking), the info is still there.
We discussed this with the PI and decided to nuke this field since in most cases it's probably not going to get buy-in from the hospitals contributing the data.


docs: add cover image to v3 announcement post

Description
A detail to avoid having a wall of text when people start reading

What is the purpose of this pull request?

[ ] Bug fix
[ ] New Feature
[x] Documentation update
[ ] Other

Redirect for https://main.vitejs.dev -> https://vitejs.dev ?

@web2033 main.vitejs.dev will continue to be keep track of main as a way for people to check out the docs at the state of the main branch


User local script causes SIGILL and crash

Steps to reproduce

Compile vim with Clang12 + UBSan
echo "LSaw" | base64 -d > /tmp/script.fuzz
vim -u NONE -X -Z -e -s -S /tmp/script.fuzz -c ":qa!"

Expected behaviour
No crash.
Operating system
Ubuntu 20.04.3 LTS
Version of Vim
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Dec  4 2021 14:54:54) Included patches: 1-3719
Logs and stack traces
#0  0x0000000000501658 in get_address (eap=<optimized out>, ptr=0x7fffffffa620,
    addr_type=ADDR_LINES, skip=<optimized out>, silent=<optimized out>,
    to_other_file=<optimized out>, address_count=<optimized out>) at ex_docmd.c:4447
#1  0x00000000004f481d in parse_cmd_address (eap=0x7fffffffa610,
    errormsg=0x7fffffffa5f8, silent=0) at ex_docmd.c:3241
#2  0x00000000004e0399 in do_one_cmd (cmdlinep=<optimized out>,
    flags=<optimized out>, cstack=<optimized out>, fgetline=<optimized out>,
    cookie=<optimized out>) at ex_docmd.c:1951
#3  0x00000000004dad00 in do_cmdline (cmdline=<optimized out>,
    fgetline=<optimized out>, cookie=<optimized out>, flags=7) at ex_docmd.c:1000
#4  0x00000000009ee774 in do_source (fname=<optimized out>,
    check_other=<optimized out>, is_vimrc=0, ret_sid=<optimized out>)
    at scriptfile.c:1420
#5  0x00000000009f77a1 in ex_source (eap=<optimized out>) at scriptfile.c:985
#6  0x00000000004e5fce in do_one_cmd (cmdlinep=<optimized out>,
    flags=<optimized out>, cstack=<optimized out>, fgetline=<optimized out>,
    cookie=<optimized out>) at ex_docmd.c:2578
#7  0x00000000004dad00 in do_cmdline (cmdline=<optimized out>,
    fgetline=<optimized out>, cookie=<optimized out>, flags=11) at ex_docmd.c:1000
#8  0x0000000000da3996 in do_cmdline_cmd (cmd=0x1155e73 "") at ex_docmd.c:594
#9  exe_commands (parmp=<optimized out>) at main.c:3080
#10 vim_main2 () at main.c:774
#11 0x0000000000d9459b in main (argc=<optimized out>, argv=<optimized out>)
    at main.c:426

I cannot reproduce the problem...

I also cannot reproduce it with 8.2.3738 on xubuntu-18.04.6.
To @geeknik :  how did you configure vim?  Consider posting the output  of :version and try with the latest (your version is quite recent though).

I can't reproduce either.  Neither on master, nor on the reported version (v8.2.3719).  Same OS as the OP: Ubuntu 20.04.

Since we haven't received more information in a week I'm closing this.


1119 - Confirm password in registration field is now required

Now when someone want to register and they dont fill up confirmation password, it will throw error message for users.

Closes #1119
Screenshots:
Before:

After:
![image](http

Screenshots:
Before:

After:

http://localhost:3040/en/register
Testing
Steps to test
Get on registration page: http://localhost:3040/en/register.
Try to fill up form without confirm password field.
Click on register button.
Affected urls
http://localhost:3040/en/register

@jozef-drabik The build seems to be failling in the CI since there's one more register form that needs to be adjusted:
https://github.com/podkrepi-bg/frontend/blob/a19a6c6db21a25bb4c47242d0224fe3db2818f89/src/components/one-time-donation/RegisterDialog.tsx#L22-L29
Looks like we need to add the confirmPassword validation there as well.
We also need to add one additional field:
<PasswordField name="registerPassword" autoComplete="new-password" />
<PasswordField name="confirmPassword" autoComplete="confirm-password" />

@kachar I am sorry, it should work now. I ran build to see if there are more errors.


TopoJSON

Add the ability to drag and drop TopoJSON, import it from a URL, and export to TopoJSON. This will obviously require the addition of one dependency (TopoJSON), but definitely increases interoperability.
UI-wise I don't think anything should change - it should be very easy to figure out if a file is Geo or TopoJSON, i.e. something like
if (data.type === "FeatureCollection") {
  // GeoJSON
} else if (data.type === "Topology") {
  // Topojson, convert to GeoJSON
} else {
  // Hmmm...
}

Great idea. Adding a dependency for this is totally acceptable!

In order to export as TopoJSON, a UI change of some sort will be required. I see two options:

Add another button
Collapse Save as GeoJSON and Save as Shapefile down into a single button/menu/modal and add TopoJSON export there.

I'm partial to the latter option. Perhaps a general Save button with a submenu that pops out with the three options?

Agreed on the submenu! Seems like a super useful UI component to incorporate as we add new options.

Export as TopoJSON can be added once #208 is merged

Merged. Ready to roll.

Turns out saving as topojson isn't as easy as I expected https://github.com/mbostock/topojson/issues/208

Bummer :frowning: - what about at least getting TopoJSON to import? leaflet-omnivore would be a solid addition IMO.

See #212 ;-)

:clap:


Remove non-Emissary executors

[ ] #7795
[ ] #7802
[ ] #7803
[ ] #7804

This would depend on resolving any limitations of the Emissary executor.

Sounds good. I can start with those.

I'd hold off for a few months. I don't think we want this until maybe v3.5.

Wouldn't the removing part need to be done in a 4.0 release? We can add deprecation warnings in the logs and UI in the meantime though.

I actually think we can and should do this without going v4.0. The executor you use really should be an implementation detail. The emissary should have feature parity with other executors.

Just add a note here that we will also need to remove the functionality that allows using different executors.

Some learnings from @alexec's POC: https://github.com/argoproj/argo-workflows/pull/7930#issuecomment-1047371627

Bump

Is there a transion guide? All my workflows are affected

https://github.com/argoproj/argo-workflows/blob/master/docs/upgrading.md

Okay, but how to fix the Workflows depending on another executor ;)

It's a breaking change. Follow the two items related to emissary in https://github.com/argoproj/argo-workflows/blob/master/docs/upgrading.md#upgrading-to-v34

I'm having some issues with the default executor image, so I've git clone'd, added some debug lines to help me narrow down the problem and built a local container. How can I request that a workflow use my debug-enhanced container?


Serokell: finish interning strings

Note: Code for this is currently on the intern-ids branch (commit 2574d0d287dfab77ef3e5350ee6ef1d51ad5fa82).
Identifiers are isolated in the Kore.Syntax.Id module. The existing work uses Edward Kmett's intern package; I did not explore alternatives. Some work was needed to handle interning the identifiers without affecting the module API, which I've already completed.^1 The Eq Id instance has been modified to take advantage of interning, and I measured approximately an 8% speedup on our integration test suite.
The remaining work I wanted to do was to get the Ord instance to take advantage of interning as well. I do not believe that our algorithm requires alphabetically sorted Ids anywhere. However our tests do assume this, so I'm not certain. Also, sorting by intern unique is not obviously sound - some data persists between invocations of the backend via serialization, and the ordering of Ids may change between runs if they are interned in a different order. In the meeting it was suggested that maybe interning can be done entirely at parse-time, which I think may make this a non-issue :)
Finally, Kmett's intern package is somewhat old and he only maintains it because it has users; I imagine that his InternedText works quite well, but it may be good to compare with a custom implementation.

^1: During the meeting, it was suggested to make interning contextual (passing a map around to different functions); I think this would require the Id API to change as field @getId could no longer be a well-typed lens. I also think it would be slower than the global map used by the intern package.

Issue: serialization is not compatible with the way interned ids are generated
Ideas:

pass table of ids explicitly throughout codebase -> not exactly feasible, I think it would require changes throughout the whole codebase
don't generate new interned ids when reading serialized definition; when serializing definition, serialize hashmap of interned ids as well; ~we'd probably have to build our own intern library~ we can use the functions in Data.Interned.Internal to serialize/deserialize the hashmap; the question is, can we supply the hashmap to the intern library? looks like we have access to the IORef

Definition serialization happens in: https://github.com/runtimeverification/haskell-backend/blob/e39ec77530f3c032d56c50a4d298f02c3ea28b18/kore/app/exec/Main.hs#L730
Definition deserialization happens in: https://github.com/runtimeverification/haskell-backend/blob/e39ec77530f3c032d56c50a4d298f02c3ea28b18/kore/app/exec/Main.hs#L700


Update fingerprints.py

Make sure you fill out the pull request form.

Feel free to re-open once you can provide the necessary info.


Nested for and if throws error

What version of CUE are you using (cue version)?

$ cue version
cue version 0.3.0-alpha4 darwin/amd64

Does this issue reproduce with the latest release?
Yes
What did you do?

$ cat sample.cue
import "list"

DeleteThis: ["this", "that"]
useful_infra: {
	gcp: cluters:   10
	aws: clusters:  20
	this: clusters: 1
	that: clusters: 2
}
New_infra: {
    for k,v in useful_infra {
        if !list.Contains(DeleteThis, k) {
            "\(k)": v
        }
    }
}
$ cue eval sample.cue -i -e New_infra

What did you expect to see?
gcp: {
    cluters: 10
}
aws: {
    clusters: 20
}

What did you see instead?
$ cue eval sample.cue -i -e New_infra
incomplete

However, with the following for loop it's working:
New_infra: {
    for k,v in useful_infra  if !list.Contains(DeleteThis, k) {
            "\(k)": v
    }
}

This issue has been migrated to https://github.com/cue-lang/cue/issues/556.
For more details about CUE's migration to a new home, please see https://github.com/cue-lang/cue/issues/1078.


add package lists for 3.4.13 release notes

Oops, I accidentally pushed a9b6c89c02dc4 onto opensciencegrid:itb.sw-release, but I think the changes are what @timtheisen wanted, as we looked them over together in person.

Yes, they look good


When max_releases is not set, all releases are saved permanently

This commit adds a default value to max_releases (if not set). 6b30a4de9f836d71cc8fa7e6c216534f70f50977


Modernizing a bit

Made zip code optional (app:include_zip="false")
added callback when data entry is complete and card is valid
optionally specify helper text color in XML attrs
Always return CreditCard object when requested even when invalid
Made helper optional (app:include_helper="false")
Fixed a ton of lint warnings
Fixed vertical alignment of form fields
Fixed over excited animation scroll
Last 4 of card now tappable to enter edit mode
updated image assets

@jgrana not sure if you're interested in maintaining this project... but I have found it quite useful and I've added a bunch of tweaks that update it a bit.... I'm happy to take over maintenance if you don't have the time.

@dbachelder would be great for you to take over maintenance! As you can tell I haven't really touched it. Glad you've found it useful!

Awesome, thanks!


Redis broker update

Hey! I was playing around a bit more to see how to implement other features. I hope this helps! I added additional queue and map for saving pending tasks on redis, but i wasnt thinking much about multiple distributed workers (maybe some redis locking is needed). Also im unsure about how prefetch should be controlled, or what exactly is expected. I was under impresion that broker should delete task after ack is called, but we are using tokio runtime so it feels weird that you can have hundreds of tasks acknowledged and still running event tho you prefetch number is low (Although i guess this would be resolved with late acknowledgement, or concurency limit like on python worker)

Also there's a conflict because I moved message serialization and de-serialization to protocol.rs

Hey! Thanks for the review! I have updated the PR.
So this should be ok for the prefetch now? Maybe it would be useful to have max concurrent tasks flag in TaskOptions.


Mistake in release changelog

@tillkruss there is mistake in release changelog:
You wrote:
Added TestReponse::assertUri() method (#24267)
But method was renamed lately to assertLocation: (https://github.com/laravel/framework/commit/6ceca14d25783733cd3755996df86de1019ca91e)

I've made PR which fixes changelog file, but need to fix it in GitHub releases too.

thanks :)


add test coverage for search

preventing #2101
example failed case for LLVM before the fix commit:
self = <test.test_search.TestTimeLinearizer testMethod=test_reasonable_time>

    def test_reasonable_time(self):
      si = [si for si in Tensor([1,2,3,4]).add(1).lazydata.schedule() if si.ast.op not in LoadOps][0]
      rawbufs = [Device[Device.DEFAULT].buffer(si.out.st.size(), si.out.dtype)] + [Device[Device.DEFAULT].buffer(x.st.size(), x.dtype) for x in si.inputs]
      tm = time_linearizer(Linearizer(si.ast), rawbufs, allow_test_size=False, cnt=10, should_copy=False)
>     assert tm > 0 and tm != float('inf')
E     AssertionError: assert (inf > 0 and inf != inf)
E      +  where inf = float('inf')

test/test_search.py:13: AssertionError

will try to find time to fix triton and cuda

yeah the negative time in CI is weird. I get positive numbers for both CUDA=1 TRITON=0 and CUDA=1 TRITON=1 on google colab's gpu runtime, it's more likely to be something specific to the CI env than the implementation itself.
gonna have to debug this live on gh actions


New note & Note to-do buttons are inconsistent

Environment:

OS: macOS 11.3
Joplin version: 2.10.6
ReMoods theme version: 4.1.1

Describe the bug:

Joplin 2.10.6 updates the design of New note & Note to-do buttons: https://github.com/laurent22/joplin/pull/7780

To Reproduce:

Update Joplin to 2.10.6
Expected behavior:

Screenshots:

Additional context:

The ReMoods Theme v4.1.4 updates have solved this issue, thank you!


Fix send_file's attachment_filename to work with non-ascii filenames

This commit implements https://tools.ietf.org/html/rfc2231#section-4 in
order to support sending unicode characters. Tested on both Firefox and
Chromium under Linux.
This adds unidecode as a dependency, which might be relaxed by using
.encode('latin-1', 'ignore') but wouldn't be as useful. This pull request no longer adds any new dependency.
Also, added a test for the correct headers to be added.
Previously, using a filename parameter to send_file with unicode characters, it
failed with the next error since HTTP headers don't allow non latin-1 characters.
Error on request:
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/werkzeug/serving.py", line 193, in run_wsgi
execute(self.server.app)
File "/usr/lib/python3.6/site-packages/werkzeug/serving.py", line 186, in execute
write(b'')
File "/usr/lib/python3.6/site-packages/werkzeug/serving.py", line 152, in write
self.send_header(key, value)
File "/usr/lib64/python3.6/http/server.py", line 509, in send_header
("%s: %s\r\n" % (keyword, value)).encode('latin-1', 'strict'))
UnicodeEncodeError: 'latin-1' codec can't encode character '\uff0f' in position 58: ordinal not in range(256)
Fixes #1286

Btw, this would also fix https://github.com/pallets/werkzeug/issues/742

Can this be done without adding a dependency? I think that adding a dependency for just one use case is unnecessary. Maybe using Python 2 u"Unicode strings" works?

I removed the Unidecode dependency as requested. By using unicodedata which is part of the standard library, no functionality is lost (at least, I couldn't find a case where it works differently to Unidecode) and I didn't even have to change the test.

See also #2115

#2115 just adds a warning if non-ascii characters are used. This PR adds support to send unicode filenames on send_file, so I think #2115 can be just closed once this one is accepted (assuming it will be accepted :) )

I know it's just a warning, I was just linking the two PRs. I think it should still warn.

This PR seems OK, but I would like to know how this header is handled by older browsers. Don't really care about IE6 old, but don't want to break anything that might reasonably be in use.

Just for the records, the relevant tests in that page you linked (great resource, btw) are https://greenbytes.de/tech/tc2231/#attfnboth and https://greenbytes.de/tech/tc2231/#attfnboth2

Moving this out of the review since it was getting a little crowded. Check if the name is only ascii before including the utf8 version.
from werkzeug._compat import to_native

normalized = unicodedata.normalize('NFKD', text_type(attachment_filename))

try:
    normalized.encode('ascii')
except UnicodeEncodeError:
    filenames = {
        'filename': normalized.encode('ascii', 'ignore'),
        'filename*': "UTF-8''%s" % url_quote(attachment_filename),
    }
else:
    filenames = {
        'filename': attachment_filename,
    }

Looks like _option_header_piece_re.match(value) in parse_options_header with filename*=UTF-8''... results in the option name "filename", which is already present for the ASCII filename. So only one option gets returned, instead of two. However, not sure if there's a reason it omits the *, so not sure if we should change the re to parse filename* differently. @mitsuhiko @untitaker

Then there's an issue that recwarn picks up an unclosed resource warning, even though the test is calling rv.close(). Not sure what's going on there.

I don't see a resource warning, but that's secondary. filename* doesn't exist because parse_options_header has properly decoded it (use tox -epy -- --pdb to look at options, see that it is decoded as UTF-8).
If you want to make an assertion that both or only one of filename/filename* is given I guess you'll have to use string operations (assert "filename*" in rv.headers['Content-Disposition'] e.g.)

Then again, that parsing relies on the order of the options. ;-) It could just as easily have seen the ASCII version second.

Based on #932, it looks like a browser sending the Content-Disposition header only sends one value for the key, so I'll drop the parsing question until an actual issue comes up.


merge package from arlac77/npm-package-template

.travis.yml

chore(travis): remove node versions 10.11
chore(travis): add node versions 10.12

:tada: This PR is included in version 1.0.18 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add custom Stock Status Fields

Please verify that this feature request has NOT been suggested before.

[X] I checked and didn't find a similar feature request

Problem statement
Hi Team,
currently its possible to change stock status for stock items. the statuss are avileble from a dropdown list

but i'd like to add custom stock statusses to the list like 'In test' in repair ...
Suggested solution
i think that if we would be possible to add additional status via the admin panel that could solve this and does not sound to difficult.
Describe alternatives you've considered
change location but its still availeble for sales in that way.
Examples of other systems
No response
Do you want to develop this?

[ ] I want to develop this.

Duplicate of #4289

Hello @mabroens , this is already planned and there is already an issue for it and a started implementation in https://github.com/inventree/InvenTree/pull/4969 which I think is currently paused due to the frontend refactor.


Correct unit test case for teams

🗣 Description
Closes #612
Correct report details match on teams unit test case.
💭 Motivation and context
Expect unit test case to all pass
🧪 Testing
Executed unit test for teams

✅ Pre-approval checklist

[X] This PR has an informative and human-readable title.
[X] Changes are limited to a single goal - eschew scope creep!
[X] All future TODOs are captured in issues, which are referenced
in code comments.
[X] All relevant type-of-change labels have been added.
[X] I have read the CONTRIBUTING document.
[X] These code changes follow cisagov code standards.
[X] All relevant repo and/or project documentation has been updated
to reflect the changes in this PR.
[X] Tests have been added and/or modified to cover the changes in this PR.
[X] All new and existing tests pass.

✅ Pre-merge checklist

[ ] Revert dependencies to default branches.
[ ] Finalize version.

✅ Post-merge checklist

[ ] Create a release.

@rgbrow1949 - this is a simple 1 line change for a unit test - appreciate a quick review (the unit test will fail all other pr's).


Update ClojureScript dependency

User plugins can't use many modern libraries since Light Table depends on ClojureScript 0.0-2138, which is 10 month old.

This issue has been superseded by #1973


[stable/grafana] Adds imagePullSecrets to test pod

What this PR does / why we need it:
Test pod lacks imagePullSecrets, makes it fail in closed environments.
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] title of the PR contains starts with chart name e.g. [stable/chart]

/assign maofr

/assign maorfr

/ok-to-test

/lgtm
Thanks for contributing!


How to disable blur?

How can I unblur a PySide6 window?

You can just set a non-transparent background.
Let's say:
to enable blur:
ApplyMica(...)
window.setStyleSheet("background-color: transparent;")

to disable blur:
window.setStyleSheet("background-color: #fafafa;")

to re-enable blur:
window.setStyleSheet("background-color: transparent;")

Did this help?


calibre fails to build (QT incompatibility?)

I think this happened in the last couple of days.  It's not clear to me how to address it, though.

####### Building headless QPA plugin #######
Project MESSAGE: This project is using private headers and will therefore be tied to this specific Qt module build version.
Project MESSAGE: Running this project against other versions of the Qt modules may crash at any arbitrary point.
Project MESSAGE: This is not a bug, but a result of using Qt internals. You have been warned!
make: *** No rule to make target '/tmp/nix-build-calibre-2.28.0.drv-0/qmake-calibre-2.28.0/lib/libQt5PlatformSupport.a', needed by '/tmp/nix-build-calibre-2.28.0.drv-0/calibre-2.28.0/src/calibre/plugins/libheadless.so'.  Stop.
Error while executing: make -j4
Traceback (most recent call last):
File "setup.py", line 99, in
sys.exit(main())
File "setup.py", line 85, in main
command.run_all(opts)
File "/tmp/nix-build-calibre-2.28.0.drv-0/calibre-2.28.0/setup/init.py", line 181, in run_all
self.run_cmd(self, opts)
File "/tmp/nix-build-calibre-2.28.0.drv-0/calibre-2.28.0/setup/init.py", line 175, in run_cmd
self.run_cmd(scmd, opts)
File "/tmp/nix-build-calibre-2.28.0.drv-0/calibre-2.28.0/setup/init.py", line 178, in run_cmd
cmd.run(opts)
File "/tmp/nix-build-calibre-2.28.0.drv-0/calibre-2.28.0/setup/extensions.py", line 414, in run
self.build_headless()
File "/tmp/nix-build-calibre-2.28.0.drv-0/calibre-2.28.0/setup/extensions.py", line 550, in build_headless
self.check_call([make] + ['-j%d'%(cpu_count or 1)])
File "/tmp/nix-build-calibre-2.28.0.drv-0/calibre-2.28.0/setup/extensions.py", line 486, in check_call
subprocess.check_call(*args, **kwargs)
File "/nix/store/fzsbv209kna7bz6c89g9h1b2q3hmkaaz-python-2.7.9/lib/python2.7/subprocess.py", line 540, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['make', '-j4']' returned non-zero exit status 2
builder for ‘/nix/store/2rfhnx9d63d313j5hi2cxz25z5c1ri9a-calibre-2.28.0.drv’ failed with exit code 1
error: build of ‘/nix/store/2rfhnx9d63d313j5hi2cxz25z5c1ri9a-calibre-2.28.0.drv’ failed

Yes, somehow libQt5PlatformSupport.a seems to be missing. I have looked into this yesterday, but without luck so far, but I'll look into this tomorrow again.

There is a releated bug in the Arch Linux tracker: https://bugs.archlinux.org/task/38819 and a comment  in extensions.py https://fossies.org/diffs/calibre/2.16.0_vs_2.17.0/setup/extensions.py-diff.html

cc @ttuegel

I fixed the build temporarily by using qt53, see commit 3ac31fe04135fe8aa2cbe23a19066c8a1ec37b8c.

Calibre 2.31 fails to build for me again. Could this be related?
/tmp/nix-build-calibre-2.31.0.drv-0/calibre-2.31.0/src/calibre/headless/fontconfig_database.cpp:554:1: error: 'SubpixelAntialiasingType' in 'class QFontEngine' does not name a type
 QFontEngine::SubpixelAntialiasingType subpixelTypeFromMatch(FcPattern *match, bool useXftConf)
 ^
/tmp/nix-build-calibre-2.31.0.drv-0/calibre-2.31.0/src/calibre/headless/fontconfig_database.cpp: In member function 'void QFontconfigDatabase::setupFontEngine(QFontEngineFT*, const QFontDef&) const':
/tmp/nix-build-calibre-2.31.0.drv-0/calibre-2.31.0/src/calibre/headless/fontconfig_database.cpp:864:21: error: 'class QFontEngineFT' has no member named 'forceAutoHint'
             engine->forceAutoHint = fc_autohint;
                     ^
/tmp/nix-build-calibre-2.31.0.drv-0/calibre-2.31.0/src/calibre/headless/fontconfig_database.cpp:879:13: error: 'SubpixelAntialiasingType' is not a member of 'QFontEngine'
             QFontEngine::SubpixelAntialiasingType subpixelType = QFontEngine::Subpixel_None;
             ^
/tmp/nix-build-calibre-2.31.0.drv-0/calibre-2.31.0/src/calibre/headless/fontconfig_database.cpp:879:51: error: expected ';' before 'subpixelType'
             QFontEngine::SubpixelAntialiasingType subpixelType = QFontEngine::Subpixel_None;
                                                   ^
/tmp/nix-build-calibre-2.31.0.drv-0/calibre-2.31.0/src/calibre/headless/fontconfig_database.cpp:880:43: error: 'NoSubpixelAntialias' is not a member of 'QFont'
             if (!(fontDef.styleStrategy & QFont::NoSubpixelAntialias))
                                           ^
/tmp/nix-build-calibre-2.31.0.drv-0/calibre-2.31.0/src/calibre/headless/fontconfig_database.cpp:881:17: error: 'subpixelType' was not declared in this scope
                 subpixelType = subpixelTypeFromMatch(match, useXftConf);
                 ^
/tmp/nix-build-calibre-2.31.0.drv-0/calibre-2.31.0/src/calibre/headless/fontconfig_database.cpp:881:71: error: 'subpixelTypeFromMatch' was not declared in this scope
                 subpixelType = subpixelTypeFromMatch(match, useXftConf);
                                                                       ^
/tmp/nix-build-calibre-2.31.0.drv-0/calibre-2.31.0/src/calibre/headless/fontconfig_database.cpp:882:36: error: 'subpixelType' was not declared in this scope
             engine->subpixelType = subpixelType;
                                    ^
/tmp/nix-build-calibre-2.31.0.drv-0/calibre-2.31.0/src/calibre/headless/fontconfig_database.cpp:884:39: error: 'Subpixel_None' is not a member of 'QFontEngine'
             format = (subpixelType == QFontEngine::Subpixel_None)
                                       ^
Makefile:1153: recipe for target 'fontconfig_database.o' failed
make: *** [fontconfig_database.o] Error 1
Error while executing: make -j4

Traceback (most recent call last):
  File "setup.py", line 99, in <module>
    sys.exit(main())
  File "setup.py", line 85, in main
    command.run_all(opts)
  File "/tmp/nix-build-calibre-2.31.0.drv-0/calibre-2.31.0/setup/__init__.py", line 181, in run_all
    self.run_cmd(self, opts)
  File "/tmp/nix-build-calibre-2.31.0.drv-0/calibre-2.31.0/setup/__init__.py", line 175, in run_cmd
    self.run_cmd(scmd, opts)
  File "/tmp/nix-build-calibre-2.31.0.drv-0/calibre-2.31.0/setup/__init__.py", line 178, in run_cmd
    cmd.run(opts)
  File "/tmp/nix-build-calibre-2.31.0.drv-0/calibre-2.31.0/setup/extensions.py", line 430, in run
    self.build_headless()
  File "/tmp/nix-build-calibre-2.31.0.drv-0/calibre-2.31.0/setup/extensions.py", line 566, in build_headless
    self.check_call([make] + ['-j%d'%(cpu_count or 1)])
  File "/tmp/nix-build-calibre-2.31.0.drv-0/calibre-2.31.0/setup/extensions.py", line 502, in check_call
    subprocess.check_call(*args, **kwargs)
  File "/nix/store/z6vp5aix4ks1zdjdry7v7dahg8dd02sy-python-2.7.10/lib/python2.7/subprocess.py", line 540, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['make', '-j4']' returned non-zero exit status 2
builder for ‘/nix/store/psxfwzd3w8f3h7jiyg2f5ibdknd4csq6-calibre-2.31.0.drv’ failed with exit code 1

This does not look related to this particular bug, which is already fixed in staging. I will try to reproduce your problem tonight or tomorrow.

@retrry I can reproduce your problem, but I have currently no idea how to fix it.

Both problems are fixed in staging. Now we just need to wait for staging to be merged.

Thanks :)

Now a python dependency is failing. http://hydra.nixos.org/job/nixos/trunk-combined/nixpkgs.calibre.x86_64-linux

Looking at the clientform failure, I'm going to venture to guess---I know nothing about python infrastructure---that maybe pypi has changed to an https-only model, and the build system is (quite sensibly) unwilling to pull from anywhere other than the listed URL (which is http:, not https:)?
I'm going to try tweaking the URL locally and see if that allows it to build, and if so, I'll send a PR.

The error is because it tries to access network during build, which we disallow. Downloads in nix need to be separate in a fetchurl or similar fixed-output derivation.

I actually figured that out not long after I left the comment.  Oh, well, I don't understand why the propagatedBuildInput for clientform doesn't seem to produce the desired result.

Calibre builds and runs fine for me now. Closing.


Validate review returns the right content type

Review
This PR closes #257

[x] Rebase from master
[ ] Add Changelog entry.

Looking ok, although, please:

You must rebase your PR from master,
And then, you'll be able to add an entry to the Changelog.

this branch is on hold, and will be merged targetting the 1.0.1 release

You're clear to rebase (again, sorry), now that the 1.0.0 has been released

You still need to add an item to the changelog, please.

Done


How to import this in our file?

'DateRangePicker' is not defined  react/jsx-no-undef
This was the error when i used in my react js.
I installed it correctly though.

Ok I'll check that soon


[WEB-1147-124] ci: pin yearn meta to the Crust Network(decentralized IPFS)

To fix #144, I suggest the code change in this PR to include ipfs-crust-action. It will distribute yearn meta over Crust Network and get 100+ IPFS replicas.
Crust Network (https://crust.network/) is a decentralized storage network based on IPFS and Substrate, and it basically provides decentralized IPFS Pin service. Right now Crust is running and got 6000+ nodes joined in to provide IPFS storage (https://medium.com/crustnetwork/a-new-breakthrough-in-distributed-storage-powered-by-intel-sgx-c1b9de773076). Crust is open source(https://github.com/crustio/crust).
If you need help with the account secret about the Crust Account, I'm happy to help. You can also prepare the account by yourself.

@milkyklim Hi. Nice to meet you. Could you please take a look and provide some comments?

It's not something we are actively looking for – simply happy with our current setup.


Code organisation can be improved

Description
Currently the code in the repository is organised in directories on the basis of the GitHub Actions workflow they enable, each with its own Python environment and each independent of the other. This however does not take into account that multiple workflows may share code, utility functions and constants with each other.
For example in #58, a number of constants and functions were duplicated from push_data_to_ccos/ to sync_community_team/ because the way the repos are organised prohibits sharing. I believe the code can be better organised to be more DRY, all the while maintaining a reasonable amount of separation between the different workflows.
Reproduction

Write a new workflow
Observe inability to reuse existing code
Feel dread as you copy code, verbatim, from one folder to another.

Expectation
Even when concerns are separated, constants and common functions like setting up a client to GitHub or Asana should be placed in a central location and shared.
Resolution

[ ] I would be interested in resolving this bug.

@dhruvkb i would like to work on this

I am thinking of implementing it as follows . set_up_github_clientand get_cc_organization are used in a lot of files so i would create a common file utils which can be used for all the workflows .It would also contain constants like GITHUB_ORGANIZATION and GITHUB_TOKEN. Also in push_data_to_ccos Setting up asana could be placed at a single place. @dhruvkb  Please tell if I am missing anything.

@tushar912 the idea of containing duplicated code in a single location is a good idea. But putting the file in a different folder might present some complications in terms of how Python resolves packages so you should check how that works.

Yes

@tushar912 the idea of containing duplicated code in a single location is a good idea. But putting the file in a different folder might present some complications in terms of how Python resolves packages so you should check how that works.

yeah, relative imports could be a trouble! I tried them while fixing logging. @tushar912 if you get to know a better way, ping me back as I also need to implement this for improved logging. Thanks :+1:

concerned with #63

I think here we can use sys.path.append to add the path of folder to sys.pathand then we can easily import files by their name rather than using relative imports.

@tushar912 yes we can use sys.path but that might be a dangerous step as it changes the system path and may abrupt the script's working. That's why I haven't used it yet, and thought about relative imports. Let's see what @aldenstpage has to say.


Rename variable OQS_ALGS_ENABLED to DOQS_ALGS_ENABLED in fullbuild.sh

This pull request includes a minor modification to the fullbuild.sh script. The variable OQS_ALGS_ENABLED has been renamed to DOQS_ALGS_ENABLED. This change also affects the export statement, which now reflects the new variable name.

This modification doesn’t seem to resolve any specific issue, but appears to be a part of a larger refactoring or renaming process within the codebase.

Hi @vkosuri !
Thank you for your PR.
Although CMake variables are passed using the prefix D (-DOPT=VALUE), I'm not sure to understand why you want the shell/env variable to be prefixed with D too. But I may be missing something.

The reason I am trying to use https://github.com/open-quantum-safe/oqs-provider/blob/main/CONFIGURE.md#oqs_algs_enabled to compile with STD, is due to missing D prefix it's failed to use this option while building the fullbuild.sh
 ~/github.com/oqs-provider/ [main*] export DOQS_ALGS_ENABLED="STD"; ./scripts/fullbuild.sh -F
+ [[ linux-gnu == \d\a\r\w\i\n* ]]
+ SHLIBEXT=so
+ STATLIBEXT=a
+ '[' 1 -gt 0 ']'
+ '[' -F == -f ']'
+ '[' -F == -F ']'
+ rm -rf _build openssl liboqs .local
+ '[' -z '' ']'
+ export LIBOQS_BRANCH=main
+ LIBOQS_BRANCH=main
+ '[' -z '' ']'
+ export DOQS_ALGS_ENABLED=
+ DOQS_ALGS_ENABLED=

The reason I am trying to use https://github.com/open-quantum-safe/oqs-provider/blob/main/CONFIGURE.md#oqs_algs_enabled to compile with STD, is due to missing D prefix it's failed to use this option while building the fullbuild.sh
 ~/github.com/oqs-provider/ [main*] export DOQS_ALGS_ENABLED="STD"; ./scripts/fullbuild.sh -F

Then why don't you use the command OQS_ALGS_ENABLED="STD" ./scripts/fullbuild.sh? Why the extra "D" both in your invocation and in the PR? It should work as-is (without the extra D).

Yes it will work. I don't think this MR isn't required.


Feature Request: Custom Styling of Select

Hello there! I chanced upon this library while looking for react-select alternatives because of the problem of tailwindcss styles not applying correctly over there (which you also mentioned in this project's README 😆)
I would like a way to style the option component, like how react-select provides a formatGroupLabel and formatOptionLabel.

Thank you for your remark and also for the proposal you ask.
It's very nice to know that other people have the same problem and that this library could help them.
Your remark will be taken into account very soon.

Hey @onesine, were the docs updated with the key that refers to the "Select..." box itself? I've gone through the keys section, but can't seem to find which one controls the box.

Co ask, I'm trying to make the input field match my dark mode styles.

@mkandan did you found out? Going through the same thing


Props passed are not reactive

I am seeing a behavior that I did not expect. I am calling a modal, passing props into the component. My call to open the modal looks like this:
this.$vuedals.open({
    title: 'Deliver List',
    component: 'modals-dnf-delivery-list',
    props: {
        deliveries: this.deliveries
    },
    escapable: true
});

In the scope of this caller, the local this.deliveries is working as expected, I can see values behind the modal update when I trigger changes to the underlying data via the UI the modal offers.
Is this expected, or am I perhaps passing this incorrectly?

The props values rely on v-bind directives and i don't think those are reactive (haven't try it to be honest though),  maybe you could handle any need to update by using events bus? or maybe Vuex?


Use native .env implementation

Can be merged after we drop support for Node 18 (After Node 20 is LTS)

Superseded by https://github.com/lokalise/node-service-template/pull/536


Make sure the installed caniuse-db is up-to-date

We're checking for data on css-rrggbbaa usage, which was only added in recent updates to the db. If users have previously installed older versions of caniuse-db (not unlikely), then that would still be installed and there'd be an error because the data on css-rrggbbaa wasn't available yet.
I think specifying this as a peerDependency should force package managers to at least have a version of caniuse-db that includes the required data.
Fixes #357.

Superseded by #369, which included the same fix.


feat: add support of multiple objects delete by id

Make Device, Interval and Profile able to delete
multiple objects at once by providing list of Ids
Exmplae:
./edgex-cli device rm [id1] [id2] [id3]
Signed-off-by: Diana Atanasova<EMAIL_ADDRESS>PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

If your build fails due to your commit message not passing the build checks, please review the guidelines here: https://github.com/edgexfoundry/edgex-examples/blob/master/.github/CONTRIBUTING.md.
What is the current behavior?

Issue Number:
https://github.com/edgexfoundry/edgex-cli/issues/304
What is the new behavior?
Does this PR introduce a breaking change?

[ ] Yes
[X] No

New Imports
Are there any new imports or modules? If so, what are they used for and why?
Specific Instructions
Are there any specific instructions or things that should be known prior to reviewing?
Other information

Codecov Report

Merging #305 into master will decrease coverage by 5.93%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #305      +/-   ##
==========================================
- Coverage   20.45%   14.51%   -5.94%
==========================================
  Files           3        3
  Lines          44       62      +18
==========================================
  Hits            9        9
- Misses         35       53      +18

Impacted Files
Coverage Δ

pkg/request.go
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


fix:[CX-1968] Hide clear filters button if no filter set in artworks

The type of this PR is: FIX

This PR resolves CX-1968
Description
Currently we are displaying a 'Clear Filters' button on Artist page, where artworks are listed. This button is displayed even if there's no filter set by the user. This PR simply hides the button if there are no filters set.
Screenshots
IOS

Android

PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have tested my changes on iOS and Android.
[ ] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[x] I have added a feature flag, or my changes don't require a feature flag. (How do I add one?)
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a changelog entry below or my changes do not require one.

Changelog updates
Changelog updates

Cross-platform user-facing changes
This PR makes an update to Artist's Artworks page, both on IOS and Android.
iOS user-facing changes

Android user-facing changes

Dev changes

This PR contains the following changes:

Cross-platform user-facing changes (This PR makes an update to Artist's Artworks page, both on IOS and Android.)

  Generated by :no_entry_sign: dangerJS against d752f88114c595ab2e15345ec7c8f839d254e38e


Public key for datadog isn't valid

remote: -----> Heroku Datadog Buildpack app detected
remote: -----> Adding GPG key
remote: gpg: keyring `/tmp/build_1c5c892c09296dd010a839e3042846de/.gnupg/secring.gpg' created
remote: gpg: keyring `/tmp/build_1c5c892c09296dd010a839e3042846de/.apt/trusted.gpg' created
remote: gpg: /tmp/build_1c5c892c09296dd010a839e3042846de/.gnupg/trustdb.gpg: trustdb created
remote: gpg: key C7A7DA52: public key "Datadog Packages<EMAIL_ADDRESS>imported
remote: gpg: Total number processed: 1
remote: gpg:               imported: 1  (RSA: 1)
remote: gpg: no ultimately trusted keys found
remote: -----> Updating apt caches
remote:        Ign:1 http://apt.datadoghq.com stable InRelease
remote:        Hit:2 http://apt.datadoghq.com stable Release
remote:        Get:3 http://apt.datadoghq.com stable Release.gpg [819 B]
remote:        Ign:3 http://apt.datadoghq.com stable Release.gpg
remote:        Fetched 819 B in 0s (3,988 B/s)
remote:        Reading package lists...
remote: W: GPG error: http://apt.datadoghq.com stable Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4B4593018387EEAF
remote: W: The repository 'http://apt.datadoghq.com stable Release' is not signed.
remote: -----> Fetching datadog-agent
remote:        Reading package lists...
remote:        Building dependency tree...
remote:        The following NEW packages will be installed:
remote:          datadog-agent
remote:        0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
remote: W: --force-yes is deprecated, use one of the options starting with --allow instead.
remote: W: --force-yes is deprecated, use one of the options starting with --allow instead.
remote:        Need to get 0 B/66.9 MB of archives.
remote:        After this operation, 219 MB of additional disk space will be used.
remote:        WARNING: The following packages cannot be authenticated!
remote:          datadog-agent
remote:        Download complete and in download only mode
remote: -----> Fetching deb packages
remote: -----> Installing datadog-agent_1%3a5.11.2-1_amd64.deb
remote: -----> Datadog Agent package installed

Solved by #77


Initial WebSockets implementation.

Create a WebSockets transport implementation for Azure Core.
The Cognitive Services team requires support for WebSockets to complete their move to Azure Core.
This pull request has two sets of changes

A complete implementation of the WebSockets protocol
A set of changes required to pass the CI gates with the WebSockets protocol changes.

The WebSocket protocol is implemented in the Azure::Core::Http::WebSockets::_internal::WebSocket class. It depends on a WebSocketTransport class and the existing HttpTransport class and uses our existing Http Pipeline technology for the initial WebSocket protocol exchange.

Ping. At this point, I think I've done everything I can with this code.

Given the size of this change, maybe it would be worth a word or two in the description as to what ? why? how? et.c

I have NO IDEA why syncing this fork with main suddenly added all the changes to main to the PR.


Change Databricks 14.3 shim name to spark350db143 [skip ci]

To fix:  https://github.com/NVIDIA/spark-rapids/issues/11726
Append "143" to the DB14.3 shim name because both Databricks 14.3.x and 15.4.x are based on Spark version 3.5.0

DB_RUNTIME=14.3
SPARK_VERSION_STR=350
if [[ "$DB_RUNTIME" == "14.3"* ]]; then
     DB_SHIM_NAME="${SPARK_VERSION_STR}db143";
else     DB_SHIM_NAME="${SPARK_VERSION_STR}db";
fi
echo "Databricks shim name: $DB_SHIM_NAME"
>>Databricks shim name: spark350db143

DB_RUNTIME=13.3
SPARK_VERSION_STR=341
if [[ "$DB_RUNTIME" == "14.3"* ]]; then
     DB_SHIM_NAME="${SPARK_VERSION_STR}db143";
else     DB_SHIM_NAME="${SPARK_VERSION_STR}db";
fi
echo "Databricks shim name: $DB_SHIM_NAME"
>>Databricks shim name: spark341db

build