ADoak_without_HMC

@perrydv @paciorek
This new ADoak_without_HMC:

Removes the HMC and langevin samplers from branch ADoak.
Removes all testing of the HMC sampler from ADoak.
Changes the buildMCMC nimbleFunction, so instead of "special treatment" of HMC samplers, there's a new (enhanced) sampler type ("sampler_BASE2"), which in addition to the usual reset() method, also has before_chain() and after_chain() methods.  (I had wanted to call these new methods as initialize() and finalize(), but that caused a conflict with the internal reference class initialize() method, which I could not seem to work around).
Adds a new field to the samplerConf reference class (the reference class which represents configuration information for a single sampler) called "baseClassName", which contains the base class name of the sampler - always either sampler_BASE or sampler_BASE2.  This information is used in buildMCMC.

@perrydv @paciorek , I wanted to update you both about progress with HMC.
There's a new branch (branched off of ADoak) called ADoak_without_HMC.  I'm going to create a PR, for merging this into ADoak.  But we should discuss these changes first.
This new ADoak_without_HMC:

Removes the HMC and langevin samplers from branch ADoak.
Removes all testing of the HMC sampler from ADoak.
Changes the buildMCMC nimbleFunction, so instead of "special treatment" of HMC samplers, there's a new (enhanced) sampler type ("sampler_BASE2"), which in addition to the usual reset() method, also has before_chain() and after_chain() methods.  (I had wanted to call these new methods as initialize() and finalize(), but that caused a conflict with the internal reference class initialize() method, which I could not seem to work around).
Adds a new field to the samplerConf reference class (the reference class which represents configuration information for a single sampler) called "baseClassName", which contains the base class name of the sampler - always either sampler_BASE or sampler_BASE2.  This information is used in buildMCMC.

Furthermore, there's a new package, nimble-dev/nimbleHMC, which:

Works in conjunction with the above branch, ADoak_without_HMC
Contains the HMC and langevin samplers
Contains the testing.
Everything was passing all testing, until I tried getting Github Actions to install nimble from the branch "ADoak_without_HMC", and I can't get that to work.  But otherwise, the packages (really, the ADoak_without_HMC branch of nimble, and the nimbleHMC package) work properly together.

This is for discussion, and I welcome code review on everything.  But from my perspective, it seems to work as desired.

(many moons pass....)
All this sounds reasonable to me. A few reactions for now:

Can we come up with anything more evocative than BASE2, such as BASE_wrapped? I guess that's not any more self-explanatory.

1a) Not advocating for this, just a thought experiment, but perhaps we should just add before_chain and after_chain to all our samplers and make sampler_BASE equal to your sampler_BASE2. But I guess that would affect users who have written user-defined samplers, so maybe that strikes that idea.

How about "init" and "finalize" or "prolog" and "epilog" or simply "before" and "after" instead of "before_chain" and "after_chain"

Regarding printing warnings about tree depth and divergences, I'm not sure we should equate that with nimble's general verbosity. Stan always reports this as a warning message, I believe. So I think we should always report it (or perhaps have a control argument that turns reporting off but defaults to on).

3a) I think the warnings need to say what the target params are because there could be multiple HMC samplers as part of a single MCMC.
3b) Also, could your print formatting match my new [WARNING], [NOTE] syntax, please?
3c) Finally 'numDivergences' and 'numTimesMaxTreeDepth' will be reasonably easily available to users as cMCMC$samplerFunctions[[i]]$numDivergences, right? I think it's important that the user can easily extract them in addition to being printed out as messages.

@paciorek @perrydv
Thanks for the feedback.  Some responses below:

The original sampler base name is sampler_BASE.  I think of this as adding a "next generation" of MCMC sampler type, which I wish I'd started out with, but so it goes.  These "version 2" samplers include a method to execute before each MCMC chain (regardless of the reset argument), and at the conclusion of each MCMC chain.  The best name I came up with for this "second generation" sampler base name is sampler_BASE2.  Respectfully, I don't understand the implication of sampler_ BASE_wrapped.  I'm open to other suggestions for this new base name, but I have nothing better, myself.

1a. I'm quite against adding before_chain and after_chain methods to all existing samplers.  I have no issue with doing it for all of NIMBLE's samplers in the codebase, but the huge problem is breaking all other existing sampler code that's out there.  It would just upset too many people.  So I'm really not ok with modifying the base MCMC algorithm to require every sampler to have these additional methods.  That was a precondition going into the implementation of this.

For the methods names: As noted in my first comment, I originally wanted initialize and finalize, but I cannot get that to work in combination with the standard initialize method of all reference classes.  I'm open for other suggestions, but I thought before_chain and after_chain are the most clear.  Even before and after don't seem to convey the same meaning to me (before and after what?)  That said, again, this is the best I've come up with, and I'm open to discussion.  init and finalize are viable, although I'll suggest that they still aren't quite as clear as before_chain and after_chain.  I welcome other thoughts here.

Good points @paciorek.  I'm happy to make some changes about the errors / warning / informative messages.  In particular:

Make it a property of the HMC sampler (control argument), as you suggested, maybe with default value as the nimbleOption verbose ?  What do you think about that?
I can add the target parameters to the errors.  Or, a truncation of them.  Good idea.
Can follow the [WARNING] and [NOTE] syntax.  Good idea.

@paciorek Noting that printing messages that include target node names I don't believe would get through compilation.
As an alternative, I could say "HMC sampler #x", where x is the number of the HMC sampler in the MCMC configuration.  But otherwise, I don't think I could have a character string of node names pass through compilation.
Am I overlooking something?

@paciorek One final comment on this - about HMC sampler messages also reporting the target node names, or the sampler number.  This would require modifications of the core buildMCMC, to pass the sampler # information along to each buildSampler method, so it's a somewhat deeply rooted change.  I would be ok with this, but I feel this maybe should take place after more discussion, and perhaps after AD, HMC, etc, is actually part of NIMBLE - before we start modifying the core MCMC even more.  I welcome other thoughts or opinions, however.

Hi @danielturek @paciorek .

Note that it is possible to print node names from within compiled code.  The following works:

test <- nimbleFunction(setup = function(nodes) {},
                   run = function(i = integer()) {print("hey ", nodes[i])})
t1 <- test(letters[1:4])
ct1 <- compileNimble(t1)
ct1$run(1)
ct1$run(2)

Note that cMCMC$samplerFunctions[[i]]$numDivergences will not work unless a user turns on a nimbleOption.  By default, interfaces are built only one level in.  So cMCMC$samplerFunctions[[i]] will do something, but the next $ will not.  Turning on the option to build interfaces for at all levels of nimbleFunction nesting weighs down performance substantially.

I was also thinking about if there is a good way to keep everything as sampler_BASE and make it just work.  I agree we shouldn't do that if it breaks user code.  I think we could do it with a small change in compiler behavior possibly coupled with a small extension to nimbleFunctionVirtual.  Say we add before_chains and after_chains to sampler_BASE.  Existing samplers would fail to compile because those methods are inserted in C++ as abstract virtual functions, meaning they are required to be defined by derived classes (samplers).  If we arrange for them to be defined as non-abstract virtual functions, then derived classes will inherit default (do-nothing) behavior as a default, and compilation should "just work" with backward compatibility.  So that could be an option.

I also thought about the name sampler_BASE2.  I'm not thinking of a non-clunky way to do better.

I also thought about the method names.  How about before_sampling and after_sampling or setup and cleanup?

@perrydv @paciorek Thanks to both of you for the feedback.
@perrydv thanks for pointing out about character strings working through compilation.  This is great, I'm sorry I totally missed that enhancement.  I've updated all the HMC messages, to include the nodes names (truncated to 100 characters, maximum).  An example of the  output is:
running chain 1...
  [Note] HMC sampler (nodes: b0, b1, sigma) is using 1000 warmup iterations
|-------------|-------------|-------------|-------------|
|-------------------------------------------------------|
  [Note] HMC sampler (nodes: b0, b1, sigma) encountered 6106 divergent paths
  [Note] HMC sampler (nodes: b0, b1, sigma) reached the maximum search tree depth 53 times

@perrydv If this is a change we could make to the system of "virtual nimble function inheritance", whereby default values of member function could be provided, that would be fantastic.  If it were possible, "virtual" nimble functions could include specifications for mandatory methods, where no default is supplied, and also for optional methods, where the virtual definition would also provide a default implementation of the method.  I would prefer this approach much more than the current addition of sampler_BASE2.
Maybe (using sampler_BASE as an example) something like:
sampler_BASE <- nimbleFunctionVirtual(
    name = 'sampler_BASE',
    methods = list(
        reset = function() { }
    ),
    methods_with_default = list(
        before_chain = function() {},     ## these defaults happen to do nothing
        after_chain = function() {}       ## these defaults happen to do nothing
    )
)

@perrydv If this is an enhancement you'd be willing to make to the virtual nimble function system, then I would happily modify the MCMC and HMC code to work with it.
As for names of these methods.  I'm fine with any of {before_chain, after_chain}, or {setup, cleanup}, or {before_sampling, after_sampling}, although I do feel the first option is the most clear.

@perrydv I updated this PR to remove the sampler_BASE2, and instead to use the new:
methodControl = list( METHODNAME = list(abstract = FALSE) )
way of specifying nimbleFunctionVirtual methods with defaults.
Noting also that this branch (ADoak_without_HMC) doesn't build at present, until we merge in the update to nimbleFunctionVirtual which introduces the methodControl list for virtual nimble functions, and non-abstract nimbleFunction methods.

@perrydv Could I merge this into ADoak?  I'm keen to keep the HMC moving forward.

OK @danielturek LGTM, let's move ahead.

@perrydv Thank you.  Merging.


feat(graphql_codegen): bump gql dependency to ^1.0.0

Bump gql dependency to its latest version

Bump gql dependency to its latest version

https://github.com/heftapp/graphql_codegen/issues/280

Seems like you have some failing tests


ISPN-9353 CacheMgmtInterceptor GetAllCommand exceptions

https://issues.jboss.org/browse/ISPN-9353

Updated.
I should have mentioned this in the description, but I was wondering whether we really need invokeNextAndFinally here, since an exception is neither a hit nor a miss. Maybe a separate counter for errors would be better, WDYT @wburns @tristantarrant @pruivo ?

To me partition handling blocking a request isn't an error, so maybe we may want to add two stats? One for general errors and one for partition handling blocking a request. Could be a sign for them to try to fix their network :)

Integrated into master, thanks @danberindei !

@wburns I've created https://issues.jboss.org/browse/ISPN-9379
IMO there's no difference between getting an AvailabilityException and a TimeoutException, the admin should investigate both, but maybe more information would be helpful here.

I cherry-picked it to 9.3.x as well


[BUG]: Pod filesystem not resized while volume gets succesfully expanded

Bug Description
While expanding a pvc, the pvc gets successfully expanded and the volume is showing the resize in Unisphere on Powermax. When inspecting mounted pvc inside the pod, it is still showing the size from before the resize. When inspecting the block device, inside the pod, the disk is resized correctly.
Logs
Output of volumexpansiontest.sh
user@host:~/csi-powermax/test/helm$ ./volumeexpansiontest.sh -n delltest -s powermax
installing a 1 volume container
NAME: 1vol
LAST DEPLOYED: Tue Dec  3 13:49:31 2024
NAMESPACE: delltest
STATUS: deployed
REVISION: 1
TEST SUITE: None
waiting 60 seconds on pod to initialize
Name:             powermaxtest-0
Namespace:        delltest
Priority:         0
Service Account:  powermaxtest
Node:             ux-test-v-compute0.ocp.example.com/<IP_ADDRESS>
Start Time:       Tue, 03 Dec 2024 13:49:34 +0100
Labels:           app=powermaxtest
                  apps.kubernetes.io/pod-index=0
                  controller-revision-hash=powermaxtest-7f579f6546
                  statefulset.kubernetes.io/pod-name=powermaxtest-0
Annotations:      k8s.ovn.org/pod-networks:
                    {"default":{"ip_addresses":["<IP_ADDRESS>/23"],"mac_address":"0a:58:0a:82:00:37","gateway_ips":["<IP_ADDRESS>"],"routes":[{"dest":"<IP_ADDRESS>...
                  k8s.v1.cni.cncf.io/network-status:
                    [{
                        "name": "ovn-kubernetes",
                        "interface": "eth0",
                        "ips": [
                            "<IP_ADDRESS>"
                        ],
                        "mac": "0a:58:0a:82:00:37",
                        "default": true,
                        "dns": {}
                    }]
                  openshift.io/scc: restricted-v2
                  seccomp.security.alpha.kubernetes.io/pod: runtime/default
Status:           Running
SeccompProfile:   RuntimeDefault
IP:               <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  StatefulSet/powermaxtest
Containers:
  test:
    Container ID:  cri-o://ad86a16347c562d75ef78e40fcb8e9dd4b4f6f4019d1f9381c10271e63d7dc69
    Image:         docker.io/centos:latest
    Image ID:      docker.io/library/centos@sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc
    Port:          <none>
    Host Port:     <none>
    Command:
      /bin/sleep
      3600
    State:          Running
      Started:      Tue, 03 Dec 2024 13:49:42 +0100
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /data0 from pvol0 (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-fcv8h (ro)
Conditions:
  Type                        Status
  PodReadyToStartContainers   True
  Initialized                 True
  Ready                       True
  ContainersReady             True
  PodScheduled                True
Volumes:
  pvol0:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  pvol0
    ReadOnly:   false
  kube-api-access-fcv8h:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
    ConfigMapName:           openshift-service-ca.crt
    ConfigMapOptional:       <nil>
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason                  Age   From                     Message
  ----     ------                  ----  ----                     -------
  Normal   Scheduled               58s   default-scheduler        Successfully assigned delltest/powermaxtest-0 to ux-test-v-compute0.ocp.example.com
  Normal   SuccessfulAttachVolume  55s   attachdetach-controller  AttachVolume.Attach succeeded for volume "pmax-125dadebed"
  Warning  FailedMount             54s   kubelet                  MountVolume.MountDevice failed for volume "pmax-125dadebed" : rpc error: code = Internal desc = failure checking volume (Array:<PHONE_NUMBER>99, Volume: 00161)status csm-authorization: token has expired
  Normal   AddedInterface          52s   multus                   Add eth0 [<IP_ADDRESS>/23] from ovn-kubernetes
  Normal   Pulling                 52s   kubelet                  Pulling image "docker.io/centos:latest"
  Normal   Pulled                  51s   kubelet                  Successfully pulled image "docker.io/centos:latest" in 1.336s (1.336s including waiting)
  Normal   Created                 50s   kubelet                  Created container test
  Normal   Started                 50s   kubelet                  Started container test
Name:             powermaxtest-0
Namespace:        delltest
Priority:         0
Service Account:  powermaxtest
Node:             ux-test-v-compute0.ocp.example.com/<IP_ADDRESS>
Start Time:       Tue, 03 Dec 2024 13:49:34 +0100
Labels:           app=powermaxtest
                  apps.kubernetes.io/pod-index=0
                  controller-revision-hash=powermaxtest-7f579f6546
                  statefulset.kubernetes.io/pod-name=powermaxtest-0
Annotations:      k8s.ovn.org/pod-networks:
                    {"default":{"ip_addresses":["<IP_ADDRESS>/23"],"mac_address":"0a:58:0a:82:00:37","gateway_ips":["<IP_ADDRESS>"],"routes":[{"dest":"<IP_ADDRESS>...
                  k8s.v1.cni.cncf.io/network-status:
                    [{
                        "name": "ovn-kubernetes",
                        "interface": "eth0",
                        "ips": [
                            "<IP_ADDRESS>"
                        ],
                        "mac": "0a:58:0a:82:00:37",
                        "default": true,
                        "dns": {}
                    }]
                  openshift.io/scc: restricted-v2
                  seccomp.security.alpha.kubernetes.io/pod: runtime/default
Status:           Running
SeccompProfile:   RuntimeDefault
IP:               <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  StatefulSet/powermaxtest
Containers:
  test:
    Container ID:  cri-o://ad86a16347c562d75ef78e40fcb8e9dd4b4f6f4019d1f9381c10271e63d7dc69
    Image:         docker.io/centos:latest
    Image ID:      docker.io/library/centos@sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc
    Port:          <none>
    Host Port:     <none>
    Command:
      /bin/sleep
      3600
    State:          Running
      Started:      Tue, 03 Dec 2024 13:49:42 +0100
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /data0 from pvol0 (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-fcv8h (ro)
Conditions:
  Type                        Status
  PodReadyToStartContainers   True
  Initialized                 True
  Ready                       True
  ContainersReady             True
  PodScheduled                True
Volumes:
  pvol0:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  pvol0
    ReadOnly:   false
  kube-api-access-fcv8h:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
    ConfigMapName:           openshift-service-ca.crt
    ConfigMapOptional:       <nil>
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason                  Age   From                     Message
  ----     ------                  ----  ----                     -------
  Normal   Scheduled               58s   default-scheduler        Successfully assigned delltest/powermaxtest-0 to ux-test-v-compute0.ocp.example.com
  Normal   SuccessfulAttachVolume  55s   attachdetach-controller  AttachVolume.Attach succeeded for volume "pmax-125dadebed"
  Warning  FailedMount             54s   kubelet                  MountVolume.MountDevice failed for volume "pmax-125dadebed" : rpc error: code = Internal desc = failure checking volume (Array:<PHONE_NUMBER>99, Volume: 00161)status csm-authorization: token has expired
  Normal   AddedInterface          52s   multus                   Add eth0 [<IP_ADDRESS>/23] from ovn-kubernetes
  Normal   Pulling                 52s   kubelet                  Pulling image "docker.io/centos:latest"
  Normal   Pulled                  51s   kubelet                  Successfully pulled image "docker.io/centos:latest" in 1.336s (1.336s including waiting)
  Normal   Created                 50s   kubelet                  Created container test
  Normal   Started                 50s   kubelet                  Started container test
/dev/mapper/mpathb   8154332       24   7718496   1% /data0
/dev/mapper/mpathb on /data0 type ext4 (rw,relatime,seclabel)
done installing a 1 volume container
marking volume
creating a file on the volume
total 16
drwxrws---. 2 root<PHONE_NUMBER> 16384 Dec  3 12:49 lost+found
-rw-r--r--. 1<PHONE_NUMBER><PHONE_NUMBER>     0 Dec  3 12:50 orig

calculating the initial size of the volume
INITIAL SIZE:  7.8G

calculating checksum of /data0/orig
d41d8cd98f00b204e9800998ecf8427e /data0/orig

expanding the volume
Warning: resource persistentvolumeclaims/pvol0 is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by kubectl apply. kubectl apply should only be used on resources created declaratively by either kubectl create --save-config or kubectl apply. The missing annotation will be patched automatically.
persistentvolumeclaim/pvol0 configured
Processing: ########################################################################################

Output of oc get events
14m         Normal    Pulling                      pod/powermaxtest-0            Pulling image "docker.io/centos:latest"
14m         Normal    AddedInterface               pod/powermaxtest-0            Add eth0 [<IP_ADDRESS>/23] from ovn-kubernetes
14m         Normal    Pulled                       pod/powermaxtest-0            Successfully pulled image "docker.io/centos:latest" in 1.336s (1.336s including waiting)
14m         Normal    Created                      pod/powermaxtest-0            Created container test
14m         Normal    Started                      pod/powermaxtest-0            Started container test
13m         Warning   ExternalExpanding            persistentvolumeclaim/pvol0   waiting for an external controller to expand this PVC
13m         Normal    Resizing                     persistentvolumeclaim/pvol0   External resizer is resizing volume pmax-125dadebed
13m         Normal    FileSystemResizeRequired     persistentvolumeclaim/pvol0   Require file system resize of volume on node
12m         Normal    FileSystemResizeSuccessful   persistentvolumeclaim/pvol0   MountVolume.NodeExpandVolume succeeded for volume "pmax-125dadebed" ux-test-v-compute0.ocp.example.com
12m         Normal    FileSystemResizeSuccessful   pod/powermaxtest-0            MountVolume.NodeExpandVolume succeeded for volume "pmax-125dadebed" ux-test-v-compute0.ocp.example.com

Output of df -h inside pod
user@host:~$ oc rsh pods/powermaxtest-0 df -h
Filesystem          Size  Used Avail Use% Mounted on
overlay             120G   18G  102G  15% /
tmpfs                64M     0   64M   0% /dev
shm                  64M     0   64M   0% /dev/shm
tmpfs                41G   72M   41G   1% /etc/passwd
/dev/mapper/mpathb  7.8G   24K  7.4G   1% /data0
/dev/vda4           120G   18G  102G  15% /etc/hosts
tmpfs               124G   24K  124G   1% /run/secrets/kubernetes.io/serviceaccount
tmpfs                63G     0   63G   0% /proc/acpi
tmpfs                63G     0   63G   0% /proc/scsi
tmpfs                63G     0   63G   0% /sys/firmware

Output of lsblk inside pod
sh-4.4$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0     4G  0 disk
sdb      8:16   0     4G  0 disk
sdc      8:32   0    15G  0 disk
sdd      8:48   0    15G  0 disk
sr0     11:0    1   1.1G  0 rom
vda    252:0    0   120G  0 disk
|-vda1 252:1    0     1M  0 part
|-vda2 252:2    0   127M  0 part
|-vda3 252:3    0   384M  0 part
`-vda4 252:4    0 119.5G  0 part /dev/termination-log

Screenshots
No response
Additional Environment Information
Openshift 4.16.9
Powermax 8000
Unisphere for Powermax <IP_ADDRESS>
Steps to Reproduce
Run volumexpansiontest.sh from https://github.com/dell/csi-powermax/tree/main/test/helm
Expected Behavior
Filesystem inside pod gets successfully expanded to the same size as pvc.
CSM Driver(s)
CSM Operator 1.7.0
CSI v2.12.0 for Powermax
Installation Type
Operator
Container Storage Modules Enabled
CSM for Authorization v2.0.0
Container Orchestrator
Openshift 4.16.9
Operating System
RHEL CoreOS

Hi @petarvranesevic. Could you paste the yaml of the powermax storage class and the description of the PVC? My initial thoughts is that the filesystem may not support online resize and the pod would have to be restarted for the resize to occur.

powermax storageclass yaml
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: powermax
  uid: d6415fb4-17f4-415b-ba6d-03d78e09f9a5
  resourceVersion: '137461910'
  creationTimestamp: '2024-12-03T08:52:08Z'
  annotations:
    description: powermax
  managedFields:
    - manager: Mozilla
      operation: Update
      apiVersion: storage.k8s.io/v1
      time: '2024-12-03T08:52:08Z'
      fieldsType: FieldsV1
      fieldsV1:
        'f:allowVolumeExpansion': {}
        'f:metadata':
          'f:annotations':
            .: {}
            'f:description': {}
        'f:parameters':
          .: {}
          'f:SLA': {}
          'f:SRP': {}
          'f:SYMID': {}
        'f:provisioner': {}
        'f:reclaimPolicy': {}
        'f:volumeBindingMode': {}
provisioner: csi-powermax.dellemc.com
parameters:
  SLA: Gold
  SRP: SRP_1
  SYMID:<PHONE_NUMBER>99
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: WaitForFirstConsumer

PVC description
Name:          pvol0
Namespace:     delltest
StorageClass:  powermax
Status:        Bound
Volume:        pmax-125dadebed
Labels:        app.kubernetes.io/managed-by=Helm
Annotations:   meta.helm.sh/release-name: 1vol
               meta.helm.sh/release-namespace: delltest
               pv.kubernetes.io/bind-completed: yes
               pv.kubernetes.io/bound-by-controller: yes
               volume.beta.kubernetes.io/storage-provisioner: csi-powermax.dellemc.com
               volume.kubernetes.io/selected-node: ux-test-v-compute0.ocp.pva.sozvers.at
               volume.kubernetes.io/storage-provisioner: csi-powermax.dellemc.com
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:      15Gi
Access Modes:  RWO
VolumeMode:    Filesystem
Used By:       powermaxtest-0
Events:        <none>

We also tested it with a storageclass named powermax-xfs with the paramater: csi.storage.k8s.io/fstype: xfs, which also didn't work.

/sync

Hi @petarvranesevic ,
I wanted to provide you with an update on the issue you reported. I tried to reproduce the issue on both a Kubernetes cluster and an OCP cluster with PowerMax, but was unsuccessful. The volume expansion test passed in both environments, and the volume size in the pod expanded to 15G without any problems. I ran the test multiple times, and all attempts were successful.

One difference I noticed is that you have the Authorization module enabled. Could you please confirm if the issue is observed only with the Authorization module enabled, or if it also occurs with just the PowerMax driver?
Please let me know if there are any additional steps or specific conditions under which you observed the issue, so I can try to replicate it more accurately.
Thank you for your patience and cooperation.

Hi @AkshaySainiDell.
Yes we are testing it with the Authorization module enabled. We can't test without the Authorization module.
The issue appears to be a missing filesystem resize inside the pod, as the pvc as well as the volume in PowerMax are showing 15G.
When inspecting with df -h inside of the pod, the filesystem is showing 8G.
Could you try it with the Authorization module enabled?

Thanks @petarvranesevic for sharing the info. I'll try with Authorization enabled.
Additionally, could you please confirm the results of the volume expansion test—pass or fail?

Thank you @AkshaySainiDell . The test stays in the processing state and we had to manually stop it. We let it run for ~30 min.

Hey @AkshaySainiDell  - why do you think this is related to Authorization component? Since the volume is resized successfully on storage, and also visible as the resized disk volume inside container(via lsblk), the only thing missing is the online filesystem resize operation, which iirc should be done by the CSI driver on the node, no?

Installation of powermax driver with authorization enabled installed as expected and then tried volume expand test case using scripts and manually , both ways it works as expected and expanded size increased to 15GB as attached below :

Attached the driver logs and the script logs for the same.
driver_log.txt
log_test1.txt

Since we could not reproduce the issue with both authorization enabled( (though this seems unlikely since the auth module shouldn't affect volume expansion)/disabled and this could be issue related to customers environment.
Could you please capture the driver logs from the customer environment so that we can analyse if any issues from the driver side.
Another approach would be trying volume expansion manually.

We have added the driver logs to the Dell SR: SR#202405925

@petarvranesevic Thanks for sharing the logs.
I reviewed the multipath and system logs but didn't find any errors related to node expansion. However, the driver logs show an inconsistency in the volume identifier.
The expected format is csi-<cluster-prefix>-<vol-name>-<vol-namespace>-<systemid>-<vol-id>, but your logs include an extra ux- prefix (ux-csi-001-pmax-2b10283ccb-delltest-<systemid>-<vol-id>).
As per my analysis, this prefix is not added by the driver. Could you let me know the source of this prefix? Is there any configuration that adds this prefix to the volume identifier/name?


Fetch data from nosql database to serve UI

Python microservice hosted using Flask to get queries from the dashboard and return data to be shown.

As we discussed the restructuring of the architecture, I am dissolving this issue into chunks and closing this specific issue.


Wanted to know that i can add c project

Hey,
@Arsenic-ATG I wanted to add my c language project in this can i add  please see the project link
Link to the project
https://github.com/UG-SEP/Paint-with-UG-The-SEP
https://github.com/UG-SEP/Tic-Tac-Toe-AI-Intergrated
https://github.com/UG-SEP/UG-Typing-Expert
if(You Want to know what is automatic)
{
I can tell you
}

If you like this project then please give a star 😅⭐

Yes, projects that make everyday task easier are always welcome in this repository.
there are 2 ways to add this project in the repository : -

Adding just the link of the project on the Home Readme.md file

Adding the entire project in the repository making the project a part of all the automations. ( read CONTRIBUTING.md for more details on how to create/add a project to the repo )

I would be waiting for your PR.

ok


Add compile caching to the RAPIDS acclerated UDF examples build setup

It would be nice if the RAPIDS accelerated UDF examples used a caching solution like ccache in the build environment setup so it was quicker to handle full rebuilds by caching the result of previous builds.

Closed by PR #345.


Updates HealthDataAiService.Deid with feedback from SDK Review Team

Data Plane API - Pull Request
Updates PR with feedback given by SDK PR Team.

Makes some variables more specific to our service
Utilize Deidentify instead of Deid
Combines interfaces
Attempts to fix a few enum values in python

API Info: The Basics
Most of the information about your service should be captured in the issue that serves as your API Spec engagement record.

Link to API Spec engagement record issue:

Is this review for (select one):

[X] a public preview
[ ] GA release

Change Scope
This section will help us focus on the specific parts of your API that are new or have been modified. Please share a link to the design document for the new APIs, a link to the previous API Spec document (if applicable), and the root paths that have been updated.

Design Document:
Previous API Spec Doc:
Updated paths:

Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.
Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
Swagger-Suppression-Process
to get approval.
❔Got questions? Need additional info?? We are here to help!

 Contact us!
The Azure API Review Board is dedicated to helping you create amazing APIs. You can read about our mission and learn more about our process on our wiki.

💬 Teams Channel
💌 email

Click here for links to tools, specs, guidelines & other good stuff
Tooling

Open API validation tools were run on this PR. Go here to see how to fix errors
Spectral Linting
Open API Hub

Guidelines & Specifications

Azure REST API Guidelines
OpenAPI Style Guidelines
Azure Breaking Change Policy

Helpful Links

Schedule a data plane REST API spec review

Checks stuck in `queued` state?
If the PR CI checks appear to be stuck in `queued` state, please add a comment with contents `/azp run`.
This should result in a new comment denoting a `PR validation pipeline` has started and the checks should be updated after few minutes.

Closing and reopening to reset labels and reviewers


[ALLUXIO-2119] Avoid whitebox in ApplicationMasterTest

https://alluxio.atlassian.net/browse/ALLUXIO-2119
The core logic of container negotiation is moved to a new ContainerAllocator class which is reused for both worker and master container allocations. The ContainerAllocator class is unit tested instead of the ApplicationMaster. For ApplicationMaster it makes more sense to have an integration test. I've created a ticket for this: https://alluxio.atlassian.net/browse/ALLUXIO-2172
I tested that after this PR the documentation for how to run YARN still works.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/11020/
Test PASSed.

one minor comment ... otherwise LGTM


fix problem with bless

This change should fix:
root@rakudo-star-201801:/workdir# perl6 -I lib test/test1.p6
Too many positionals passed; expected 1 argument but got 2
  in method new at /workdir/lib/Web/App/MVC.pm6 (Web::App::MVC) line 62
  in block <unit> at test/test1.p6 line 9

This PR should be tested together with PR#8. Otherwise tests (and therefore Travis-CI) will fail.


validate/parse example_class (and height)

I think it would be good to validate early the config options example_class, and height, mostly to fail early.
I'm thinking that it's easy for someone not knowing css to do thing like include a space, or a dot (.), which will most likely make the ccs wonky. I guess it is also good to protect against ay character that might break the HTML, like slashes/backslashes and angle bracket. I again doubt they would be but there on purpose, but one never know.
Validating classname should be straitforward, but  Validating height is I think a bit more complicated as there are way more valus that can be taken, including things using calc() and expressions: https://developer.mozilla.org/en-US/docs/Web/CSS/height

This could be useful in some cases but I don't think it's that important for TryExamplesDirective.  I think most users should use autodoc with global_enable_try_examples = True, and not bother with adding the directives manually. In any case, I think all of the jupyterlite-sphinx directives have a height option and haven't had this kind of validation. I don't think it's worth going through the trouble honestly.


Pass kwargs through moments & add progressbar

Moments didn't allow progressbars, which resulted in an annoying asymmetry if I wanted to have a progressbar for all expensive operations.
(Depends on #913)

Merging. Test failures are unrelated.


Selectable text

Should this be an RFC?

[X] This is not a substantial change

Description
It seems that the html text is not selectable. It should be possible to use a SelectableText widget instead.
Alternatives and Workarounds
No response

Good question, Let me checked out how to support this feature.


Constructor does not support all signatures defined by the spec.

In the URLSearchParams spec, the constructor supports empty arguments, a string, a sequence (e.g. array), or a record (e.g. object).
This implementation only supports the first two forms.
This should either be implemented or clearly documented as unsupported. Currently the README links to the MDN documentation which also lists all these constructor signatures.
I could take a stab at a PR if it would be accepted.

I'll have a look, thanks

fixed 0.7.0

Wow, that was almost too quick. Thank you!


Editor has become virtually unusuable because of code completion

From<EMAIL_ADDRESS>on 2011-05-19T11:26:38Z
My editor is constantly locking up rendering spyder nearly unusable.
Unsure exactly what's going on.  CPU usage is not spiking when the editor locks up.
What steps will reproduce the problem?

Edit files

I already have pyflakes disabled and performance analysis set to 10000 milliseconds.  I am changing the performance analysis to only when saving file to see if that will help at all. What version of the product are you using? On what operating system? Spyder 2.0.11, Windows XP SP3, python 2.6.1
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=659

From ccordoba12 on 2011-05-27T08:29:31Z
It runs fine for me in my virtual machine with Python(x,y) 2.6.6 and I've never seen a problem like this on Linux.
Maybe it has to do with a problem updating to a newer version of PyQt4, like the problems reported on issue #636 ?
Labels: OpSys-Windows Cat-Editor

From<EMAIL_ADDRESS>on 2011-06-08T14:09:27Z
Okay.  So I've figured out a few things.  The slow downs I'm experiencing are caused by auto completion features.  It's always when I'm typing '(' or '.'.  Usually the editor sit there doing almost nothing and then after a few seconds I'll see the rope pop up or the member box pop up.
I turned off the code completion option for '.' items which caused those associated slow down to go away.  The slow down now only occurs when I hit ctrl+space to attempt to auto complete something.  Once I disable balloon tips, '(' no longer causes slow downs.
So, it's definitely the auto-completion routines.  Spyder is now fast, but without auto completion functionality Spyder has lost one of its most beneficial features.  This is a critical issue for me.  I'm not really sure what changed over time because this was not always an issue.  My functions tend to have very large docstrings because they are doxygen compliant.  I'm not sure if this is a factor or not.  I can't really go through my entire code base.
Additionally, I'd like to see all the items under the code introspection section in the options get tool tips.  It looks like only the last two items currently have tool tips.

From<EMAIL_ADDRESS>on 2011-06-08T14:26:30Z
Also, Ctrl+Clicking is slow.  I'm wagering it uses the same lookup mechanism as the auto-completion stuff.

From<EMAIL_ADDRESS>on 2011-05-27T09:23:23Z
Yeah, I have no idea what's going on.  I'm seeing consistent performance problems with spyder.  The editor becomes locked up and unresponsive for seconds at a time.  Sometimes text I type in the editor doesn't show up until I hit enter or a few seconds later.  Maybe I should try resetting to stock settings and see if that changes anything?

From<EMAIL_ADDRESS>on 2011-06-14T15:56:30Z
Another point of interest: When I open spyder it uses ~90 MB of RAM.  Over time I've seen its RAM usage balloon to over 400 MB!

From pierre.raybaut on 2011-06-15T00:41:54Z
The performance of rope-powered features (code completion, go-to-definition, calltips) are related to the 'rope' version which is installed on your machine.
If this is rope v0.9.2 or v0.9.3, it should be patched by Spyder to improve performances: https://code.google.com/p/spyder/source/browse/spyderlib/rope_patch.py#16 See this post: http://groups.google.com/group/spyderlib/browse_thread/thread/b8f9d4c4565cf199/d9eaa24b3c1d1e00

From<EMAIL_ADDRESS>on 2011-06-16T07:37:08Z
I ran the rope test and got the following output:
D:\Devel\spyderlib\rope_profiling>test.py
completion: 30 ms
False
Testing other rope instrospection features
==========================================
elapsed time: 20 ms
calltip: None
definition location: (None, None)
doc:
*** DOCUMENTATION **************************************************************
*
None

From<EMAIL_ADDRESS>on 2011-06-16T07:29:12Z
I have looked in my site-packages directory and I do have rope 0.9.3 installed.  How can I tell if rope has been properly patched?

From<EMAIL_ADDRESS>on 2011-07-12T08:07:56Z
Has anyone ever had a change to try to take a look at this?  My colleagues and I are forced to turn off some of the best features of Spyder in order the make the editor usable.  I'd really like some assistance looking into this issue.

From pierre.raybaut on 2011-07-12T13:32:10Z
Ok, thanks for the feedback and keep up posted on whatever your conclusions are.
Anyway rope performance issues seem to be cyclic: the patch was supposed to fix this but the other day I found myself wondering why my powerful quad-Xeon machine was taking so much time to popup calltips for Python built-ins like 'sorted'. I didn't have the time to check it out but the fact that it was not instantaneous is quite surprising and made me suspicious regarding the current patch.

From<EMAIL_ADDRESS>on 2011-07-12T10:02:22Z
Actually, I went ahead and re-enabled things to see how they are performing.  Performance seems to be a little better, so I'm going to keep testing and see if issues arise again.

From pierre.raybaut on 2011-08-31T01:46:21Z
There is already a debug mode in spyderlib/widgets/sourcecode/codeeditor.py:
simply replace DEBUG = False by DEBUG = True.
There is also a rope profiling folder in source package.
The best would to compare performances with another editor using rope to provide these features: there is Vim for example.

From<EMAIL_ADDRESS>on 2011-08-30T16:08:04Z
Unfortunately my conclusion is that the majority of the time code completion/call tips performance is very poor for me.  There are occasions where it works fluidly, but most of the time the performance is no good.  Have you considered putting in some kind of monitoring code to watch for performance aberrations?  If I had more time I would do it.  I would definitely provide feedback on the reported data if you were to do so.

From<EMAIL_ADDRESS>on 2011-09-02T10:25:53Z
2.0.12's codeeditor doesn't seem to have that variable defined.  Is this something in the 2.1 beta?

From pierre.raybaut on 2011-09-02T10:37:33Z
Absolutely.

From<EMAIL_ADDRESS>on 2011-12-02T14:18:57Z
I've enabled that flag but not really sure where I should be looking for useful output.  In general, I'm still seeing pretty poor performance when doing code completion lookups.

From<EMAIL_ADDRESS>on 2011-12-02T15:03:34Z
Another thing that may help is http://docs.python.org/library/bisect.html

From<EMAIL_ADDRESS>on 2011-12-02T15:01:46Z
If somebody could figure out an entrypoint for autocompletion magic, it may be possible to check if lookup can be sped up with balanced trees instead of lists (I doubt that rope authors didn't thought about this, but still..).

From ccordoba12 on 2011-12-02T16:44:33Z
Steve, after enabling DEBUG you have to look for the file rope.log in your .spyder2 folder.
I've been working on a similar bug the last couple of weeks (see issue #853 ). What modules are you seeing the autocompletion problems with? Are your own libraries or third party ones?
As you correctly guessed, these problems are related to rope and I think all of them can be solved by adding the necessary modules to ROPE_PREFS['extension_modules'] in spyderlib/widgets/sourcecode/codeeditor.py
By now I'm working on how to correctly generate calltips and extract docstrings after adding modules there.
Summary: Editor has become virtually unusuable because of code completion
Labels: -Cat-Editor Cat-CodeCompletion

From<EMAIL_ADDRESS>on 2011-12-03T00:24:56Z
One more idea for improvement is using probability theory - http://norvig.com/spell-correct.html

From<EMAIL_ADDRESS>on 2011-12-02T18:54:32Z
I've seen the slow behavior on both built in python stuff and third party
modules.

From<EMAIL_ADDRESS>on 2011-12-06T13:29:00Z
======================================
Logging time: Tue Dec 06 15:27:22 2011
======================================
get_definition_location: 10300 ms
IN THE SAME FILE FFS!
P.S. It might be nice if the DEBUG variable could also be set off an environment var so I don't have to edit my spyder codeeditor file.

From<EMAIL_ADDRESS>on 2011-12-06T13:05:52Z
I just thought I'd paste in some info from my rope.log:
======================================
Logging time: Tue Nov 29 11:36:22 2011
======================================
get_definition_location: 8700 ms
Yeah.  8.7 seconds.  Fail worthy right there.
======================================
Logging time: Tue Nov 29 11:38:12 2011
======================================
code_assist/sorted_proposals: 940 ms
I've got a couple of things from the debug log as well that are creating a lot of noise.  Shall I paste them here?

From pierre.raybaut on 2011-12-06T14:13:41Z
Regarding the environment variable toggling the debug mode, I think that's a very good idea. Maybe we could use it to turn on the debug modes of all modules.
The stats you are reporting indeed reflect very poor performance. You definitely proved your point but what we would really need to know is the exact situations where these catastrophic results were obtained. We need to be able to work with the same code sample which reproduces systematically this behavior. That's what I tried to do with the "rope profiling" folder in Spyder's source package: I had performance issues too and I came up with this test to reproduce those bugs and finally solved them. Obviously this is not working for you (and most probably for others), so we need to be able to reproduce this in order to fix it now and to be able to check for regressions in the future.

From<EMAIL_ADDRESS>on 2011-12-07T07:47:35Z
Well, I can't release our source.  Do you have any ideas about how we should go about debugging this?

From ccordoba12 on 2011-12-07T09:29:03Z
Steve, you can do two things:

Send us an script in which you're only using standard library modules and seeing the problem

Add your own module names to ROPE_PREFS['extension_modules'] in spyderlib/widgets/sourcecode/codeeditor.py to see if you got better completion times or not

Labels: -OpSys-Windows

From ccordoba12 on 2013-02-13T09:54:38Z
Status: Duplicate
Mergedinto: 1272


adds anchor links and toc on faq page

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 70.532%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
371

Relevant Lines:
526

💛  - Coveralls


Accommodate upstream changes in TypeTransformerRegistry

Describe the bug
After Upstream changes in 3965 and the subsequent removal of ManagementApiTypeTransformerRegistry, the EdrExtension and other Extensions are no longer functioning.
Possible Implementation
All usages of the ManagementApiTypeTransformerRegistry need to be reworked and made compatible with the new context handling.

Fixed by https://github.com/eclipse-tractusx/tractusx-edc/pull/1115


New device discovered

Since the last update v2.4.3 my device get's discovered as a new device.

I'll have a look.  I just noticed this on my prod system.  It looks like the PR I merged changed around the ids and you really cannot test the zeroconf stuff on the dev platform.  It is turned off for some reason.

I rolled back some of the changes from that PR.   It looks like a mis-understanding as to what is unique from the ESP32 and the embedded chip Id.   I will be pushing a v2.4.4 soon but you can simply not look at it or install the version that is currently in main.  HACS no longer lets me install drafts without them becoming releases.

I just decided to publish v2.4.4 because the main install from HACS no longer works.  HACS devs are removing the dropdown selector for specific versions.  Booooooooh!

I just decided to publish v2.4.4 because the main install from HACS no longer works. HACS devs are removing the dropdown selector for specific versions. Booooooooh!

I still have it :

And with 2.4.4 I see 2 devices:

Delete the one with no entities.   This is tagged to the undecorated chip id.

Delete the one with no entities. This is tagged to the undecorated chip id.

Doing so it will just rediscover a "new" device, and if you confirm it then you are back to the screenshot above wit h2 entries :-(

My log reports:
2024-05-14 19:47:25.822 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up espsomfy_rts.binary_sensor
2024-05-14 19:47:25.823 ERROR (MainThread) [homeassistant.components.binary_sensor] Platform espsomfy_rts does not generate unique IDs. ID wind_espsomfy_B47D1C_1 already exists - ignoring binary_sensor.tenda
2024-05-14 19:47:25.823 INFO (MainThread) [homeassistant.components.cover] Setting up espsomfy_rts.cover
2024-05-14 19:47:25.823 ERROR (MainThread) [homeassistant.components.cover] Platform espsomfy_rts does not generate unique IDs. ID espsomfy_B47D1C_1 already exists - ignoring cover.tenda
2024-05-14 19:47:25.824 INFO (MainThread) [homeassistant.components.switch] Setting up espsomfy_rts.switch
2024-05-14 19:47:25.824 INFO (MainThread) [homeassistant.components.update] Setting up espsomfy_rts.update
2024-05-14 19:47:25.824 ERROR (MainThread) [homeassistant.components.update] Platform espsomfy_rts does not generate unique IDs. ID update_espsomfy_B47D1C already exists - ignoring update.firmware_update
2024-05-14 19:47:25.824 INFO (MainThread) [homeassistant.components.sensor] Setting up espsomfy_rts.sensor
2024-05-14 19:47:25.826 ERROR (MainThread) [homeassistant.components.sensor] Platform espsomfy_rts does not generate unique IDs. ID host_name_espsomfy_B47D1C already exists - ignoring sensor.hostname
2024-05-14 19:47:25.826 ERROR (MainThread) [homeassistant.components.sensor] Platform espsomfy_rts does not generate unique IDs. ID chip_model_espsomfy_B47D1C already exists - ignoring sensor.chip_type
2024-05-14 19:47:25.826 ERROR (MainThread) [homeassistant.components.sensor] Platform espsomfy_rts does not generate unique IDs. ID conn_type_espsomfy_B47D1C already exists - ignoring sensor.connection
2024-05-14 19:47:25.826 ERROR (MainThread) [homeassistant.components.sensor] Platform espsomfy_rts does not generate unique IDs. ID wifi_sensor_espsomfy_B47D1C already exists - ignoring sensor.wifi_strength
2024-05-14 19:47:25.826 ERROR (MainThread) [homeassistant.components.sensor] Platform espsomfy_rts does not generate unique IDs. ID wifi_ssid_espsomfy_B47D1C already exists - ignoring sensor.wifi_ssid
2024-05-14 19:47:25.826 ERROR (MainThread) [homeassistant.components.sensor] Platform espsomfy_rts does not generate unique IDs. ID wifi_channel_espsomfy_B47D1C already exists - ignoring sensor.wifi_channel
2024-05-14 19:47:25.827 ERROR (MainThread) [homeassistant.components.sensor] Platform espsomfy_rts does not generate unique IDs. ID free_memory_espsomfy_B47D1C already exists - ignoring sensor.free_memory
2024-05-14 19:47:25.827 ERROR (MainThread) [homeassistant.components.sensor] Platform espsomfy_rts does not generate unique IDs. ID max_memory_espsomfy_B47D1C already exists - ignoring sensor.max_memory
2024-05-14 19:47:25.827 ERROR (MainThread) [homeassistant.components.sensor] Platform espsomfy_rts does not generate unique IDs. ID min_memory_espsomfy_B47D1C already exists - ignoring sensor.min_memory
2024-05-14 19:47:25.827 ERROR (MainThread) [homeassistant.components.sensor] Platform espsomfy_rts does not generate unique IDs. ID ip_addresss_espsomfy_B47D1C already exists - ignoring sensor.ip_address
2024-05-14 19:47:25.827 INFO (MainThread) [homeassistant.components.button] Setting up espsomfy_rts.button
2024-05-14 19:47:25.827 ERROR (MainThread) [homeassistant.components.button] Platform espsomfy_rts does not generate unique IDs. ID reboot_espsomfy_B47D1C already exists - ignoring button.reboot_esp_device
2024-05-14 19:47:25.828 ERROR (MainThread) [homeassistant.components.button] Platform espsomfy_rts does not generate unique IDs. ID backup_espsomfy_B47D1C already exists - ignoring button.backup_espsomfy_rts

Ah you added this after I merged your PR that set the unique id to the series number generated in the ESP32 chip id.  I had forgotten why the chip id needs a prefix.  If you delete the one with the shades attached and configure the other one it will be in sync.  The entities will be recreated with the original ids.  Hence the does not generate unique ids messages you are seeing in the logs.
Once you do that it will now recognize the existing id and abort appropriately but still update the proper IP address if it changes.

The device was added several weeks ago, with a older version.
Anyway, removed everything, restarted HA and then waited for discovery and added back.
All fine here.
I don't close the issue because I'm not the original author.

I don't close the issue because I'm not the original author.

Thanks.  I'll wait for @011V32 to close this.

It is solved with the latest version 👍
Thx


[FEATURE REQUEST] Extend ActionMapExtManual::add_action_entries for usage with gio::SimpleActionGroup

ActionMapExtManual::add_action_entries is defined like
fn add_action_entries(&self, entries: impl IntoIterator<Item = ActionEntry<Self>>)

This works well when an object implements gio::ActionMap (e.g. gtk::Application) and action handlers receive a reference to an object. But it's problematic to use this function with gio::SimpleActionGroup attached to an arbitrary widget, because it assumes that handlers receive a group and not a widget reference.
Could this function be extended and be generic over handlers' recipients' type?

That is basically the C API. A random widget doesn't necessarily implement GActionMap and it is probably easier to use the install_action helpers in this case


Add new language: Spanish.

@rafaelgomesxyz How to fix this?

Will take a look later.

Finally. @MrMamen When there are more than 1 languages and we want to add a language with the exact name, we use double quotes to surround the language.


Ensure string interpolation segments have `raw' values.

This addresses part of #335, specifically the raw and range properties being missing in the first segment of a string interpolation.

Thanks.


ComponentModifiers should handle attributes explicitly somehow

If you do this:
val ButtonStyle = ComponentStyle("button-style") {
   base { Modifier.tabIndex(0).backgroundColor(...) }
}

right now, the tabIndex attribute gets silently dropped.
At the very least, this should throw an exception, but it's also possible it could store the attribute modifier and then apply it when the user called ButtonStyle.toModifier().

Fixed by 52cdfe3c


Packet Performance

hey,
can the performance of this be improved?

All functions combined it is 4,4% which I feel like is a lot for this, the only other mod which higher then that right now is ender io.

What is this benchmarking exactly? Is this client or server?

Also what were you looking at when you did this?

Server with 36 players.

Changed I:timeout from 200 to 5000 but didn't change the performance it seems.

I will see if there is something that I can do but still 4.4% is not that much really. But I'll investigate

You have to change that 200 to 5000 on the clients btw. Not the server. Because that's the client asking info to the server

I have found a way to optimize it a bit

Next version of The One Probe (1.4.14) should optimize this considerably.

So the players could set it to 10 and cause even more performance issues?
Would be great if it is using the setting from the server and not the client when they are on a server.

yes they technically could. The problem is that this is initiated from the client and the client cannot know the value on the server so there really is no way to do this with a server setting. Anyway, the issue should be a lot better now at least


Content "DeviceMaximumActiveFileUploadLimitExceeded" is get out on another content

While reading the page notice that content "DeviceMaximumActiveFileUploadLimitExceeded", "DeviceMaximumActiveFileUploadLimitExceeded", "ConnectionForcefullyClosedOnNewConnection" is get out on other content in the right bar. I think it could be flexible.
Notebook: HP ZBook Firefly 14 g7

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 57f97213-690d-4d53-dfb6-a191b918c2db
Version Independent ID: 51c96714-4e39-3d56-723c-9036a5c5dccf
Content: Troubleshooting Azure IoT Hub error codes
Content Source: articles/iot-hub/troubleshoot-error-codes.md
Service: iot-hub
GitHub Login: @kgremban
Microsoft Alias: kgremban

Hi @kanilsz Thank you for reporting the issue. We are escalating this to our Content SME team. They will review the feedback and take appropriate action.
Best regards,
Leela Rajesh.

Hello @kanilsz. Could you provide more information about this issue? Do you think that the descriptions of the errors are incorrect?

No, description could be correct. However, content is lay down on the right bar, on my HP laptop. I could provide screen if this is necessary.

Ok I understand now. You're talking about how the titles are too long and aren't wrapping when there's a narrow screen size:

I don't know that there's anything I can do to fix that from a website layout perspective. I'll have to think about how to change the headers to prevent this.

Could this content be flexiable? Or it is not impossible?

I created a pull request that doesn't present the error codes as a single string but rather breaks them up into individual words, which fixes the page layout. Github will close this issue once that pull request is merged.
Thank you for bringing this to our attention.


Fix semantic and punctuation in chinese

I guess some translations was done by machine.

I guess some translations was done by machine.

[you can modify and complete chinese translations at poeditor that manages all translations  . ](https://poeditor.com/projects/po_edit?id_language=31&id=221603)

Thanks for the PR.
Because we manage translations via POEditor, and have imports/exports set up to keep POEditor and the source repository in sync, it is much easier for us if translation fixes are provided by POEditor.
I have transferred these changes to POEditor and will be importing them into Tomcat via that route.

Applied via POEditor


PEAR-1771: Fix for Slide Image Viewer - Selecting an image seems to be loading slower

Description
imageLoaderLimit

The maximum number of image requests to make concurrently. By default it is set to 0 allowing the browser to make the maximum number of image requests in parallel as allowed by the browsers policy.

We might get rid of this feature hence I didn't do a lot. Adding this option helped reduce the number of simultaneous calls when not needed.
Checklist

[ ] Added proper unit tests
[ ] Left proper TODO messages for any remaining tasks
[ ] Scanned for web accessibility with aXe, and mitigated or documented
flagged issues

Screenshots/Screen Recordings (if Appropriate)

works great! 👍


Switch from gofmt to goimports for enforcing go code style

goimports enforces the same style as gofmt but also will check imports. It removes unused imports, adds missing imports, and enforces ordering of imports. We should run goimports on all go code and update the github action to use goimports instead of gofmt
more about goimports

I think I have this working


A data processing problem

Hi @donglee-afar:
I read the answers to the issue areas, but I still don't understand the data processing process. I don't know how to convert "sequece_hdfs.csv" to "hdfs_train" in logdeep project.

Could please you help me with it?😀
Can you provide a reference code and a workflow?
thank you very much.

Did you solve this problem？


Feature Request: Linux version

I LOVE Beeftext. Is there any chance of a Linux version of this in the future? Currently lacking a text expander as easy to use as Beeftext on Linux.

Hi.
Unfortunately, no. There will be no Linux or Mac version. I have little time to develop Beeftext, and I focus on Windows.
If you are looking for a cross platform solution, have a look at Espanso.
On Mac, I use Alfred. If you buy the Powerpack, you get access to the snippets feature.


wanted: openssl/openssl

Module location
openssl
Link to bzlmod issue in the module's repository
No response
Any other context to provide?
It seems like many modules in the registry would benefit from having openssl available directly instead of having to use BoringSSL
Fund our work

[ ] Sponsor our community's open source work by donating a feature bounty

Added in https://github.com/bazelbuild/bazel-central-registry/pull/3304


Carousel View sets selected index to 0 on init even though selected item is not index 0

I am in a situation where I am trying to load a page with the CarouselView at the position that the user was in when they last left the page (or closed the application). I am doing this by binding the SelectedItem to the last selected item in the carousel's bound list. What is happening though is that the CarouselView always starts at index 0 regardless of what the SelectedItem is bound to and then will change the SelectedItem to match the index.
When I put a break point in the property changed event, to observe what is happening, I am noticing that the carousel starts with the correct selected item but with an index of -1, since I am loading a list and the selected item gets bound before the list is done loading. I guess since the Item isnt found in the empty list it sets the index to -1. I am assuming that after the page is done initializing it sets that -1 to 0? and then that updates the SelectedItem as a consequence. I have tried to set the binding of SelectedItem after the ItemSource property changed but this doesnt work either.
I might be wrong in that assessment but I guess my question is: is it possible to drive the carousel from a bound SelectedItem? or do I have to bind to the SelectedIndex to get the kind of behavior I am wanting?

Hey @Jcook65 try next

Set IsAutoNavigatingAnimationEnabled = false
Set SelectedItems
Set IsAutoNavigatingAnimationEnabled = true

@Jcook65 did it help?

hey @AndreiMisiukevich, sorry for the delayed response. I actually ended up just converting the selected item to and index and binding to the SelectedIndex instead of the SelectedItem and it works fine now.  I must've missed that property on the carousel but it sounds like it would help this situation. Thank you for the swift response!

@InquisitorJax I guess it happens because SelectedItem/SelectedIndex binding is performed before ItemsSource binding.

hmm, or maybe even vice versa (because index binding performed earlier)

@InquisitorJax try to reorder bindings in your xaml.
Or even try to bind ItemsSource in xaml and SelectedIndex in code-behind

@InquisitorJax I think we should open a new ticket for this problem, cuz this one is related to SelectedItem.
Unfortunately, SelectedItem cannot be used for setting initial value (because it just sets selected index)
var view = bindable.AsCardsView();
view.SelectedIndex = view.ItemsSource?.FindIndex(newValue) ?? -1;

And if ItemsSource is not set before the selected item, then it will be reset to null.

@InquisitorJax maybe you can create a new issue and attach a sample?
Or maybe you have a chance to debug the lib on your main project to see why it resets to 0?

Also, it can happen if you use "null" items or items with the same value (e.g. items are integers or strings with the same value)

Also, it can happen if you set SelectedIndex (e.g. to 3), bind ItemsSource to ObservableCollection (empty). And start to add elements one by one after that.

I'll open a new ticket, thanks Andrei. So we bind ItemSource to generic List, and Selected Index.
Attaching the project ot debug is a good idea - I'll try that, and report what I find.


Plain-text reference to footnote

Description
Typst allows attaching labels to footnotes, as in #footnote[This is a test]<myfn>, and then referencing: See footnote @myfn. However, this results in the footnote being typeset as a superscript. It would be useful to have the option to show the reference as regular text. This is the default behavior in LaTeX, and may be a stumbling block for people moving over (it is for me).
Use Case
While footnotes should be used sparingly, they are useful to, for instance, elaborate on possible extensions of a result. In this case, sequences of footnotes arise quite naturally. Example:
Main text says: if X, then Y. Footnote 1 says: if X' instead of X, then we still get Y, provided we also assume Z.
Later, main text says: if X and W, then Q. Footnote 2 says: as in Footnote 1, if X' and W instead of X and W, we can still get Q provided we also assume Z.
The point is that it is useful to refer back to an earlier footnote, and it does not make sense for the label to appear as a superscript.

You can use a custom function with a show rule for footnotes:
#let big-footnote(reference) = {
  show footnote: it => [
    footnote #numbering(it.numbering, ..counter(footnote).at(it.location()))
  ]
  reference
}

Hello World #footnote[This is a test]<myfn>

See #big-footnote[@myfn].

Thanks @freundTech. This works, though there is a space right after the footnote number.
In any event, for someone coming from LaTeX, the default typst behavior will come as a surprise. Perhaps a path-of-least-resistance solution is to explicitly mention this difference in the documentation, and offer this workaround for those who need it.

Oh. I didn't notice that space. You can get rid of it by removing the newline after the number:
#let big-footnote(reference) = {
  show footnote: it => [footnote #numbering(it.numbering, ..counter(footnote).at(it.location()))]
  reference
}

In any event, for someone coming from LaTeX, the default typst behavior will come as a surprise.

The motivation behind the behavior isn't so much references to footnotes, but reusing footnotes. This is the same thing you can do in LaTeX by using \footnotemark.

The motivation behind the behavior isn't so much references to footnotes, but reusing footnotes. This is the same thing you can do in LaTeX by using \footnotemark.

Yes, I followed the convos on this on Discord. It's a design decision and I respect it -- just pointing out that LaTeX made a different design decision. And in any case, LaTeX provides both options out of the box, whereas typst requires you to roll your own if you want plain-text references.

(As an aside, I feel that you may be misusing footnotes if you feel the need to reference them.)

My example was admittedly contrived, but different fields, different conventions.
Overall, I think it may be enough to highlight this difference in the documentation, with @freundTech's workaround (which now works beautifully -- and it's wonderful to change code and see its effects on the fly!)

Here's another solution with a show rule, but you then lose the ability to reuse footnotes
#show ref: it => {
  let el = it.element
  if el != none and el.func() == footnote [
    Footnote~#numbering(el.numbering,..counter(footnote).at(el.location()))
  ] else {it}
}

Hello#footnote[world]<first>, and another#footnote[footnote]<second>

See @first or @second

Here's a variation of @Enivex's solution that displays:

"Footnote X" if the footnote is on the same page as the reference; and
"Footnote X on page Y" if the footnote is on a different page.

It also turns the references into links.
#show ref: it => {
  let el = it.element
  if el != none and el.func() == footnote {
    let loc = el.location()
    let f_number = numbering(el.numbering, ..counter(footnote).at(loc))
    let p_counter = counter(page).at(loc)
    if p_counter == counter(page).at(it.location()) {
      link(loc, [Footnote~#f_number])
    } else {
      let p_number = numbering(loc.page-numbering(), ..p_counter)
      link(loc, [Footnote~#f_number on page~#p_number])
    }
  } else {
    it
  }
}

(It capitalizes "Footnote" but not "page", which seems like the right thing to me but I can't tell why.)


Java docking problem

ISSUE_TEMPLATE
DBFlow Version:5.0.0
Bug or Feature Request:
Description:I am currently using java, the document says that the database of the project does not need to inherit, but after I make the project, I will report that I want to inherit the dbflowdatabase, and initialize it in the application. The document has FlowConfig.builder().addDatabaseConfig() method. But there is actually no, do you want to update the docking document?

check out updated docs here https://app.gitbook.com/@dbflow/s/dbflow/v/develop/usage2/usage/databases
Not sure the question here


chore: remove 'vite-plugin-turbosnap' dependency

With Storybook 8.0 they started supporting the generation of preview-stats.json (used by turbosnap) with Vite.
We don't need the external plugin anymore 😄
Ps. Chromatic will fail until we merge this fix

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

:exclamation: No coverage uploaded for pull request base (main@baede50). Click here to learn what that means.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2495   +/-   ##
=======================================
  Coverage        ?   93.65%
=======================================
  Files           ?      298
  Lines           ?    24366
  Branches        ?     2036
=======================================
  Hits            ?    22821
  Misses          ?     1512
  Partials        ?       33

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


CompositeReadonlyKeyValueStore throws NullReferenceException if key does not exist in one of the stores

Description
Line 83 in CompositeReadOnlyKeyValueStore.cs is this:
                return stores.FirstOrDefault(x => x.Get(key) != null).Get(key);

This throws a NullReferenceException in the case where there is no store with the given key.
Changing this line to something like this would correct the issue without running afoul of the type system null-checking (there may be a more elegant solution, but, this would work).
                return stores.Where(x => x.Get(key) != null).Select(x=> x.Get(key)).FirstOrDefault();

How to reproduce
Search a KeyValueStore for a key that does not exist.

Hi @MAOliver,
Thanks for your issue. I checked this one and added this issue to the 1.4.0 milestone.
Best regards


Fixed bug where lexer runs indefinitely due to unterminated strings.

Good that you tackled this.
Although, can you change this to use errorMessageWithPosition():
errorMessageWithPosition(self->fileName, errline, errpos, "Unterminated string");


macOS says that TogglDesktop is using significant energy

I restarted the app, but it still says this.

Any news on that topic? I really like TogglDesktop, but if it drains my battery...

Since this was reported we implemented data cleanup functions to keep less data and make the app lighter. This should have improved this.


Improve error message on key- and truststore location

Some users are confused/don't know about the requirement to put the key- and truststore files (or PEM certs for that matter) in the config folder of ES.
While ES does not allow placing these outside the config directory, we should improve the error message we log, to make the root cause more obvious.

This is an issue for the SSL plugin, lets track it there (https://github.com/floragunncom/search-guard-ssl/issues/58)


CHECK_* macro in logging.h collides with CHECK_* macro from absl

https://buildkite.com/xgboost/xgboost-ci-multi-gpu/builds/5220#018ff0f5-6610-44e5-adac-0b3e9bcf298f/99-444:
/workspace/dmlc-core/include/dmlc/logging.h:211: error: "CHECK" redefined [-Werror]
  211 | #define CHECK(x)                                           \
      |
In file included from /opt/grpc/include/grpcpp/impl/server_callback_handlers.h:21,
                 from /opt/grpc/include/grpcpp/generic/async_generic_service.h:23,
                 from /workspace/build/plugin/federated/federated.grpc.pb.h:13,
                 from /workspace/tests/cpp/plugin/federated/../../../../plugin/federated/federated_comm.h:6,
                 from /workspace/tests/cpp/plugin/federated/test_federated_comm.cc:10:
/opt/grpc/include/absl/log/check.h:57: note: this is the location of the previous definition
   57 | #define CHECK(condition) ABSL_LOG_INTERNAL_CHECK_IMPL((condition), #condition)
      |

gRPC brings in Abseil C++, which defines its own CHECK_* macros. To avoid name collision, XGBoost's logging should use prefixed macros: XGB_CHECK, XGB_CHECK_LT etc.

Took a brief look into this for restoring the warning as error cmake option. It seems we need to build a part of the logger in xgboost to avoid symbols from dmlc.

@trivialfis Let's consider removing DMLC loggers and implementing the whole logger inside XGBoost. And also: use prefixed macros like XGB_CHECK and XGB_LOG.

It's going to be a lot of work, we have to eliminate all dmlc headers that have logging in it. For example, we need to remove the dmlc parameter as well.


Adding wasm feature

Description
Adding wasm support
Due Diligence

[ ] Breaking change
[ ] Requires a documentation update
[ ] Requires a e2e/integration test update

If you agree with this PR, I'll also add CI test for this target.

I don't understand what this PR is for. It's just adding more dependencies

Adding WASM build support enables the library to be compiled to WebAssembly, making it possible to use the library in web environments.
You can build it like this :
 cargo build -p relay_client --features wasm,rustls  --target wasm32-unknown-unknown

getrandom was included due to transitive dependency


(docs) Correct metadata for url, os and versions

Was missing pe and puppet versions
Was missing osfamily windows and versions
Correct license to Apache-2.0
Add tags for searchability

LGTM - the question on uppercase tho.

updated @ferventcoder

Uppercase was copy pasta from dism documentation and didn't lowercase it


Media lesson bugs

There are quite a few bugs in media lesson page where things no longer work as they used to - it looks like some of these issues have been around for at least the last couple of releases. I'm listing them here and will close some other issues where some of these are mentioned:

[ ] Subtitles added to main media do not display (Q - should we remove this as an option as there are better ways of doing captioning?)
[ ] Slideshow & MCQ added to main media panel have a checkbox to overlay media - this doesn't work and they are always shown below the video/audio (Q - should we remove this as an option and recommend interactive video for when content appears over the top of the video?)
[ ] Videos added to secondary panel are not sized correctly (appear very small)
[ ] Adding subtitles to a secondary video causes endless duplication of the rest of the content on that panel (Q - should we just remove this subtitle option as above?)
[ ] Adding MCQ to a secondary video doesn't work - nothing appears
[ ] Adding Google Map doesn't work (Q - should we remove this option as you can just grab iframe embed from Google Maps and put this in a text block to embed rather than having separate option)
[ ] Adding RSS Feed doesn't work
[ ] There's an optional property called 'optional question' on all of the types of content you can add to panels - this doesn't seem to do anything (Q - should this be removed or is there a purpose to it? If needed then it needs to be clearer in editor what it does)

@ronm123 @torinfo tagging you both in as I've added questions above

@FayCross I'll try to push the popcorn changes to develop a.s.a.p. and will check this.

@FayCross @torinfo as I mentioned in a separate email reply I have demos (dating back to 2017) of media lesson used during training sessions where the MC and overlay options were used to demonstrate different methods of creating interactive videos. During the training delegates were supported in creating their own examples of the same thing. In fact Inge had also seen my examples and was going to create Dutch copies although I don't know if that happened or not. I've just checked two of my examples on a 3.11.7 install and sure enough they no longer work because the overlay no longer works so the MC options no longer show. I know we now have the interactive video page for this kind of thing but would prefer it if we can fix this for existing LOs rather than just remove the options. Is this possible to fix? I'm guessing its due to the changes to the way video is handled so is there perhaps some custom code that could be added to the projects where this has been used to revert to the old way video was handled?

All of the above (except video sizing issue) have been 'fixed' by removing/deprecating the options in the editor. So in 3.12 you won't be able to add anything to Media Lesson page that doesn't work as expected. I'm leaving this open though as ideally there would be a fix so that old projects using these options will work again.


[Background Media]: QA: Tooltip of the play button is not getting dismissed with esc key.

Engineering info:

Innovation Team engineer:
Innovation Team JIRA Ticket: https://jsw.ibm.com/browse/HC-2489
DPO consulting engineer: N/A

Description
Page Element:
Tooltip of Play button
Issue Description:
Tooltip of the play button is not getting dismissed with esc key.
Expected:
Tooltip of the play button should get dismissed with esc key.
User Impact:
When the additional content in the page is not getting dismissable by the esc key, user may find discomfort in accessing the web content.
Component(s) impacted
Background Media
Browser
Firefox
Carbon for IBM.com version
v1.35.0-rc.0
Severity
Severity 3 = The problem is visible or noticeable to users but does not impede the usability or functionality. Affects minor functionality, has a workaround.
Application/website
Carbon for IBM.com
Package
@carbon/ibmdotcom-react
CodeSandbox example
https://carbon-design-system.github.io/carbon-for-ibm-dotcom/next/web-components-react
Steps to reproduce the issue (if applicable)
No response
Release date (if applicable)
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[ ] I checked the current issues for duplicate issues

@proeung
I'm not sure if this is actually a bug or not, and if it is, it probably needs fixed upstream.
The carbon-core tooltip documentation does specify that tooltips should be dismissed with esc is pressed, and that is the behavior in the live demo. However, the tooltip in carbon-web-components does not incorporate that behavior

For additional info/context: that tooltip is simply appearing/disappearing based on :hover and :focus selectors in the stylesheets, with no js involved at all, so this would likely require reworking in other locations as well such as the masthead with logo & tooltip

Related to https://github.com/carbon-design-system/carbon-for-ibm-dotcom/issues/9158

Blocked by https://github.com/carbon-design-system/carbon-web-components/issues/980


HUD stays invisible after dialog

When I start a dialogue with an item the HUD with tooltips stays invisible forever.
I also cannot open the inventory with TAB then.
Current workaround: set_hud_visible true in the last line.
:talk
say p1 "Hi there"
?
	- "Option 1"
		say player "Message 1"
		say p1 "Message 2"
set_hud_visible true

After a dialogue the hud should be visible again?
I checked this by output the value in hud.gd, line 40 (function set_visible). At the beginning, visible-value is set to false but never back to true.

https://github.com/godotengine/escoria/blob/master/docs/esc_reference.md
section 'Dialogs':
'Use "!" to signify the dialog is over and the HUD may be restored.'
Just add '!' in new line after: say p1 "Message 2"


add url for buying the game

Expected Behavior
An easy way to tell people where to buy the game
Actual Behavior
Steps to Reproduce
Screenshots

The intention of an awesome list is to focus on awesome things. While I think some people might find it useful to have a link to purchase, should they be interested, it is problematic as I've no intention of opening that can of worms.
It's problematic in that:

it could show favoritism
opens the potential for referral links, and this is an open source project which I expect nothing back from, other than aiding fellow lovers of board games
is likely unnecessary, considering that we live in an age of quality search engines and online vendors

This last point, #3, is the most persuasive in my opinion. There may come a day this changes, but for now I'm going to treat it as not something this repo pursues.


edit_supplier_registration_number view: fix warning log message

https://trello.com/c/qLOqQYy0/226-unable-to-format-log-message-log-messages-not-particularly-useful
Was referring to a parameter errors but providing a parameter rnumber_errors instead, causing a confusing error when this is issued.

Whaddya mean wasn't caught by the except block? It was. But that except block, once its emitted its extra error message, doesn't then abort execution of the function - it continues to the point that it returns log_record. However of course this log_record hasn't had its message entry overwritten by the format()ted version of itself - that statement didn't succeed. So we end up with the message "template" being sent back out as the log message.

Oh right I see. It just looks weird in the logs. Maybe as you said, it would be nice to make the extra error message that gets spat out a bit clearer.

Yes ... although ... if you read dmutils/logging.py a little further up there is a block comment warning about trying to log log failures which I think should be heeded.
However I think it should still be possible to attempt to recover from this particular simple case of formatting entries not existing.


Support CLion

Would it need more than
    <idea-version since-build="139.1659" until-build="142.9999"/>

In https://github.com/Atsky/haskell-idea-plugin/blob/master/plugin/META-INF/plugin.xml#L8 to enable other JetBrains platforms to install this plugin?
I'm using CLion for C/C++ and it'd be handy to be able to edit the Haskell bits in there as well.
P.S. I couldn't get the plugin to build in Intellij 13.1/14.1 ultimate with either JDK 6, 7 or 8, so I couldn't test this myself.

To make plugin installable on CLion you shoiuld remove line.
<depends>com.intellij.modules.platform</depends>

But I think plugin won't work properly, and will crush. CLion has slighly different API.
I support IntelliJ IDEA at first place. Maybe I will add CLion support later.

I'll give it a try and see what breaks. What version of the Kotlin plugin is required to build? I have several Kotlin syntax errors at the moment.

I use last version of plugin (0.12.200). I think you need last version of IDEA to install last Kotlin version. Also you need JDK 1.6 to compile plugin.

Yup that was my bad, created Intellij SDK with 1.8 and then 1.7 twice instead of with 1.6...built and installed. Seems to work so far.
I'll try to fix anything that comes up and report back but spent some time using it in CLion last night and had no issues so far.

I'm not sure how much active this is but I'll just give a note about the current status with CLion on Windows:

Trying to install ghc-mod from inside CLion eventually runs into failure to automatically configure old-time. Solved by manually running cabal install from the (MSYS2) command line.
SDK is not found, and I don't know a way of specifying its location, since CLion has hardcoded the toolchain for C++, and there's no IDEA "Project SDK" setting.
That's pretty much how far I could go.


No sound volume control

When I connect via UPnP I can control volume, but when I connecting via Bluetooth I can't control volume.

Is this a duplicate of https://github.com/balenalabs/balena-sound/issues/300 ?
I fixed mine (S21 Client) with the suggestion there
mount -o remount,rw /
systemctl edit --full bluetooth
edit to add the --plugin in this line
ExecStart=/usr/libexec/bluetooth/bluetoothd --experimental --plugin=a2dp
Save
Reboot

Yup duplicate of #300.


Pasting multiline text from Outlook/Teams adds redundant space lines

Here is an example of text from Outlook:

Copying the same text from browser doesn't allow to repro the issue. Just try to type smth similar.
I created a small repo that could help you reproduce the issue: https://github.com/FreddyMcRay/quill-smart-paste-repro
Pasting text that you could see above results in following:

From investigation I made walking through the dom here wraps everything to  tags (including line breaks that are added by sanitizing) and that causes quill to show as true user content.
To solve that issue I rolled back to 1.4.4

Hi @FreddyMcRay,
thank you for raising this issue. would you please send me the exact markup you're struggling with?
br tags should not be the issue.

Hi @Artem-Schander
It's fairly simple:
Hi,

Test test test,

Test test

Test testttttt
Test test teststststststst

Test test tesssssst

But as I said do not copy it directly from browser trying to reproduce (it won't allow you to see the issue). You'd better try to type smth similar in outlook/teams on windows

I found out that email itself could be downloaded.
Hope it will help you to repro.
repro-email.zip

Nice. Thanks.

This seems to be an issue for me also, pasting any content results in extra breaks? Any chance we could get an update on what the potential solution could be?

Unfortunately I can not reproduce this issue. I have no access to a Windows computer (hence no outlook). I've tried with Apple Mail and I can try on monday with Thunderbird.
For now this is what I see:

And this is what I get after pasting (with and without Quill Paste Smart being enabled).

Everything seems fine to me.
Maybe someone who can reproduce this issue can craft a PR?

I'm closing this issue for now. In case someone can reproduce/tackle this one, feel free to reopen.

Here's an html file I saved from Outlook: outlook.zip that reproduces the extra line breaks issue.
The issue is in the substitute function. Here's some console.log() to show it.
      if (substitution && node.tagName && !DOMPurifyOptions.ALLOWED_TAGS.includes(node.tagName.toLowerCase())) {
        const tagName = node.tagName.toLowerCase();
            console.log('tagName: ' + tagName);
            console.log('substitution: ' + substitution);
            console.log('innerHTML: ' + node.innerHTML);
        if (headings.includes(tagName)) {
          node.innerHTML = `<${substitution}><b>${node.innerHTML}</b></${substitution}>`;
        } else if (blockElements.includes(tagName)) {
            console.log('blockElements.includes: ' + `<${substitution}>${node.innerHTML}</${substitution}>`);
            node.innerHTML = `<${substitution}>${node.innerHTML}</${substitution}>`;
        } else if (newLineElements.includes(tagName)) {
          node.innerHTML = `${node.innerHTML}<br>`;
        }
        console.log('after innerHTML: ' + node.innerHTML);
      }

The output is:
tagName: table
substitution: p
innerHTML:

 Testing 1 2 3<o:p></o:p>

blockElements.includes:

 Testing 1 2 3<o:p></o:p>

after innerHTML:

 Testing 1 2 3<o:p></o:p>

Notice that the last log for after innerHTML has an opening and closing p tag. So, the assignment of innerHTML must fix invalid html. Removing the table and tfoot from blockElements improves the output. But, setting substituteBlockElements to false is still better. If I comment out all 3 lines that set innerHTML, it works like setting substituteBlockElements to false. I'm not sure how to fix it.

I added a removeConsecutiveSubstitutionTags setting to help with this in PR 36


Values to setup cluster

I'm trying to deploy this into my cluster. I have the plugin installed in my grafana, when I go to setup the cluster, I enter https://kubernetes for my connection and choose direct, then what do I put for carbon?
When I try different values, it will say 'successful connection' then immediately error out.
I then downloaded the files and deployed the daemonsets manually, but I still don't think it's working.

@stevesloka setting it up is not all that intuitive but here's how I got it working:
Note: I've got my kubernetes clusters deployed via Azure ACS. It might make a difference in how I set it up vs someone else's setup. All of the info needed is in kubectl's config file.
Name: name of the cluster
Http settings: https://(the same url that you'll find in kubectl's config under cluster server)
Access: proxy
Under Http Auth:
check the checkbox for TLS Client Auth and insert kubectl's client cert and key. (client-certificate-data, client-certificate-key)
check the checkbox for With CA Cert and insert the cluster's CA cert. (certificate-authority-data)
Under Graphite Read select your graphite datasource.
Important - If you don't have a graphite datasource created, create one before setting up the kubernetes plugin.
For graphite write, this is where the snap containers will send their metrics. Set it to YourGraphiteServerDNS or IP and the port its listening on (usually 2003)
Hit save and if everything works with no errors, hitting deploy will send the deployments/configs to your cluster and you'll be good to go.


Add Fibre Channel Support

Assuming there's no problems and this PR is accepted, I have a matching PR for node_exporter.
 I'm just going to re-do everything.

Going to redo this, let's pretend PR 269 never happened.


Add GPIO20 for esp32-pico-mini-02

Adds gpio20 pin to esp32 target for using i2c on esp32-pico-mini-02 (such as in Adafruit ESP32 Feather V2). Fixes an issue referenced in https://github.com/esp-rs/esp-idf-hal/issues/108

Thanks for the PR!
One thing upfront, just blindly adding it will not cut it, we currently differentiate only on a per chip type basis, e.g esp32 ,esp32s2 esp32c3 etc. Just adding it would add it for all esp32, and most of them doesn't have this pin. So this is not a clean option here.

So would the preferred way to do this to be a separate mod chip for esp32picomini02?

I did checkout how micropython and esp-idf handles the issue. Micropython also doesn't have a solution here and esp-idf did just give up... It was a blunder to release a chip with a different pin-out but no config options for it.
Since esp-idf gave up and hopes the user dosn't make the mistake of using the pin if its not on his module we might as well do the same. Its about this module and here is the esp-idf patch adding the pin unconditionally.
So patch LGTM

I have been chasing down why I couldn't get I2C working on my feather + propmaker for a week... Thanks for the fix!

@ivmarkov LGTM


zig: protect from BoundedArray.len overflow

@TypeOf(BoundedArray.len) is the smallest integer that can hold the array length. As such, even something like array.len + 1 can overflow, if (comptime) array len happens to be exactly power of two less one.
Protect against this by explicitly casting to a larger type. I've look for cases by grepping for .len +, \+.*\n.len and looking for BoundedArray
Not sure what's the principled solution here. Make our own bounded array which has a .len() which always returns at least u32?

Not sure what's the principled solution here. Make our own bounded array which has a .len() which always returns at least u32?

This was also my first thought, seeing @sentientwaffle's issue. The less we use stdlib long term, the better, since subtle changes can break determinism or introduce bugs like this, or worse.

I guess what I'll do here rather is introduce stdx.BoundedArray which API wraps the std impl (so, don't copy code, but copy API, because its the API that's a footgun here)

I agree that BoundedArray.len() -> usize is the right solution for this particular issue.

The less we use stdlib long term, the better, since subtle changes can break determinism or introduce bugs like this, or worse.

:thinking: I chalk this up to using a stdlib that has currently has no stability guarantees, which is a hazard of Zig being pre-1.0.
In general though I still like to use stdlib when possible -- it gives us (or will give us, as Zig matures) a great multiplier in terms of "eyes on bugs" and also "eyes on performance".
There is a risk that stdlib changes in surprising ways, but I think we can mitigate that and get the best of both worlds by:

Write a test suite for stdlib data structures + functionality that we use. We could add snapshot tests to verify both results and determinism.
More long-term: Add a test suite to check determinism between TB versions. e.g. "Run a randomly generated workload against version X and version X+1; assert that storage matches" (except when we expect it to mismatch).

I chalk this up to using a stdlib that has currently has no stability guarantees, which is a hazard of Zig being pre-1.0.

My concern is more for things like hash tables. I actually think Zig's hash map implementation is excellent, state of the art, and the API is already one of the best I've seen.
At the same time, we've hit some pretty interesting performance/liveness issues around subtle things like decisions on linear probing, and the effects on tombstones for performance and also for static memory allocation. None of these would break determinism, and they are areas where the std lib would be free to change policy.
We also have stricter demands on our data structures than the typical std lib user, most probably. We also don't use too many from the std lib. For example, I think there's value in eventually having our own hash map which we understand deeply in terms of behavior, and which we test as well as anything, since it's a foundational structure in TigerBeetle.
If we see any interesting bugs patched upstream in a similar structure, there's also nothing stopping us from cherry picking.

To add, we should definitely do the tests you describe as defense-in-depth, whether we vendor or not.

I also concur with @sentientwaffle here --- long term, I do expect HashMap tests in Zig stdlib to be more thorough than what we have here. I guess my model is that we exercise, say, hash map, pretty deep, but we also do it along only our particular current workflow. So, when we refactor code, we could start exercising different code-paths, and leaning on Zig's stdlib.
This issue is actually a cool example of something we couldn't have caught in our data structure with just testing. To trigger this, we need a very specific comptime length of an array. So we could totally have written our own BoundedArray with the same problem, which could have manifested itself as a sleeper bug until one day we tweak our comptime config.
With widely used libraries, I'd actually expect fewer of such sleeper bugs to arise, because they are used in a wider variety of contexts.
But also, this I think is a function of how popular Zig ends up being. At the current level of popularity, given that we fix pretty obvious std bugs fairly often, it does seem that DIY could be more reliable.


Share DAO vote

Which package/s are you suggesting this feature for?
Dashboard
Is your feature request related to a problem? Please describe
Recently, Sabrina asked in the eg_bg chat that anyone who has a farm on the Mainnet needs to cast their votes. She also mentioned the vote title, which is hard to find if there are multiple votes. Instead, we should add a button for sharing a DAO vote. This can be achieved by creating a new modal for the vote itself. When the user shares the link with another user, the vote modal should open, or we can even highlight the vote card for the other user who has the link.
Describe the solution you'd like

added share btn, working on highlighting shared card

Dev
Version: 4e2fc0b
Although the link you mentioned here shows the share button, it is still not visible on the staging

Verified on Dev,
Version: f0f91d9
The share button has been added, and the vote card is highlighted once the recipients click the shared link.

@atefnazmy
where is the testlodge coverage for this one ?


[UNDERTOW-1758] make state field atomic in HttpServerExchange

https://issues.redhat.com/browse/UNDERTOW-1758

@burov4j

Could you please change "state" in updater invocation to "currentState" ? its kind of misleading(though in the end its the same ref).
Could you please rebase and create PRs for main and 2.3.x?

@baranowb looks like the issue was already fixed here: https://github.com/undertow-io/undertow/pull/1661


Optional Ruby Langauge?

I have a question, is it ok if we can use Ruby programming language for our algorithms and data structure commits. I use Ruby programming language as well. Also will it be valid for our hacktoberfest commits?

Yes. For that, someone needs to add configurations for Travis and coala.

Any commit that gets merged in this repo is counted as hacktoberfest commit.


Sort out manifests

You need to update README.md (usage section) and examples/*/create.sh for new manifest locations.

@nebril updated

testing slack integration

lgtm, @nebril ?


[REVIEW]Make docs build possible using optional imports

This PR tries to fix the import errors faced when building cugraph_dgl.

Thanks Vibhu. I've applied these changes in the commit below.

https://github.com/rapidsai/cugraph/pull/3157/commits/31bf9558ef5e56fdae1dee275f45f9a33806e5fe

Thanks, closing the PR here.