[BUG] FP32 gradient accumulation result in crash.

Describe the bug

Enable BF16 training
Set gradient accumulation types to FP32
Enable ZeRO-1, and CPU offload
Enable overlap_comm
Tune train batch size so that gradient accumulation step is 1

Training crashes with the following log:
Traceback (most recent call last):
  File "/tmp/bug.py", line 49, in <module>
    engine.backward(loss)
  File "/usr/local/lib/python3.10/dist-packages/deepspeed/utils/nvtx.py", line 15, in wrapped_fn
    ret_val = func(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/deepspeed/runtime/engine.py", line 1974, in backward
    self.optimizer.backward(loss, retain_graph=retain_graph)
  File "/usr/local/lib/python3.10/dist-packages/deepspeed/runtime/zero/stage_1_and_2.py", line 2062, in backward
    self.loss_scaler.backward(loss.float(), retain_graph=retain_graph)
  File "/usr/local/lib/python3.10/dist-packages/deepspeed/runtime/fp16/loss_scaler.py", line 63, in backward
    scaled_loss.backward(retain_graph=retain_graph)
  File "/usr/local/lib/python3.10/dist-packages/torch/_tensor.py", line 491, in backward
    torch.autograd.backward(
  File "/usr/local/lib/python3.10/dist-packages/torch/autograd/__init__.py", line 251, in backward
    Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
  File "/usr/local/lib/python3.10/dist-packages/deepspeed/runtime/zero/stage_1_and_2.py", line 899, in reduce_partition_and_remove_grads
    self.reduce_ready_partitions_and_remove_grads(param, i)
  File "/usr/local/lib/python3.10/dist-packages/deepspeed/runtime/zero/stage_1_and_2.py", line 1412, in reduce_ready_partitions_and_remove_grads
    self.reduce_independent_p_g_buckets_and_remove_grads(param, i)
  File "/usr/local/lib/python3.10/dist-packages/deepspeed/runtime/zero/stage_1_and_2.py", line 946, in reduce_independent_p_g_buckets_and_remove_grads
    new_grad_tensor.copy_(grad_reduc.view(-1))
AttributeError: 'NoneType' object has no attribute 'view'

To Reproduce
Source code:
import torch
import deepspeed

ds_config = {
    'bf16': {
        'enabled': True
    },
    'zero_optimization': {
        'stage': 1,
        'overlap_comm': True,
        'offload_param': {
            "device": "cpu",
            "pin_memory": True,
            "max_in_cpu": 4e11
        },
        'offload_optimizer': {
            "device": "cpu",
            "pin_memory": True
        }
    },
    'data_types': {
        'grad_accum_dtype': 'fp32'
    },
    'train_batch_size': 2,
    'train_micro_batch_size_per_gpu': 1
}

class Bug(torch.nn.Module):
    def __init__(self):
        super().__init__()

        self.p = torch.nn.Parameter(torch.tensor(1.0))

    def forward(self, x):
        return torch.sum(x + self.p)

model = Bug()

engine, optimizer, *_ = deepspeed.initialize(
        model=model,
        optimizer=deepspeed.ops.adam.DeepSpeedCPUAdam(model.parameters()),
        config=ds_config)

x = torch.tensor([1.0, 2.0, 3.0], device=model.p.device)
loss = engine(x)
engine.backward(loss)
engine.step()

Startup command:
torchrun --nnode=1 --node-rank=0 --nproc-per-node=2 bug.py

Expected behavior
Nice and smooth training
ds_report output
[2024-02-22 16:44:16,482] [INFO] [real_accelerator.py:191:get_accelerator] Setting ds_accelerator to cuda (auto detect)
--------------------------------------------------
DeepSpeed C++/CUDA extension op report
--------------------------------------------------
NOTE: Ops not installed will be just-in-time (JIT) compiled at
      runtime if needed. Op compatibility means that your system
      meet the required dependencies to JIT install the op.
--------------------------------------------------
JIT compiled ops requires ninja
ninja .................. [OKAY]
--------------------------------------------------
op name ................ installed .. compatible
--------------------------------------------------
async_io ............... [NO] ....... [OKAY]
fused_adam ............. [NO] ....... [OKAY]
cpu_adam ............... [NO] ....... [OKAY]
cpu_adagrad ............ [NO] ....... [OKAY]
cpu_lion ............... [NO] ....... [OKAY]
 [WARNING]  Please specify the CUTLASS repo directory as environment variable $CUTLASS_PATH
evoformer_attn ......... [NO] ....... [NO]
fused_lamb ............. [NO] ....... [OKAY]
fused_lion ............. [NO] ....... [OKAY]
inference_core_ops ..... [NO] ....... [OKAY]
cutlass_ops ............ [NO] ....... [OKAY]
transformer_inference .. [NO] ....... [OKAY]
quantizer .............. [NO] ....... [OKAY]
ragged_device_ops ...... [NO] ....... [OKAY]
ragged_ops ............. [NO] ....... [OKAY]
random_ltd ............. [NO] ....... [OKAY]
 [WARNING]  sparse_attn requires a torch version >= 1.5 and < 2.0 but detected 2.1
 [WARNING]  using untested triton version (2.1.0), only 1.0.0 is known to be compatible
sparse_attn ............ [NO] ....... [NO]
spatial_inference ...... [NO] ....... [OKAY]
transformer ............ [NO] ....... [OKAY]
stochastic_transformer . [NO] ....... [OKAY]
--------------------------------------------------
DeepSpeed general environment info:
torch install path ............... ['/usr/local/lib/python3.10/dist-packages/torch']
torch version .................... 2.1.0a0+32f93b1
deepspeed install path ........... ['/usr/local/lib/python3.10/dist-packages/deepspeed']
deepspeed info ................... 0.13.2, unknown, unknown
torch cuda version ............... 12.2
torch hip version ................ None
nvcc version ..................... 12.2
deepspeed wheel compiled w. ...... torch 2.1, cuda 12.2
shared memory (/dev/shm) size .... 512.00 GB

Launcher context
launch with torchrun

The same happens with FP16. I set gradient_accumulation_steps to 2 as a temporary solution.

@torshie, can you please try with zero stage 2?

@tjruwase Just tested, zero stage 2 is fine.

@torshie, thanks for the update. We have only tested cpu-offload with zero stage 2, but not with stage 1. I hope you zero stage 2 can work for your scenario, as we currently lack bandwidth to support zero stage 1.


AWS deployment link in readme is not working

The link doesn't work for me, the dialog box in AWS doesn't seem to load the example, I manually loaded the zip file in the link, doesn't work either, any one has similar issue?

We've actually had a lot of issues with that button, most of which can only be fixed by Amazon. There is even an open PR to remove all the buttons. I'd recommend avoiding the use of those buttons and either deploying manually, or using a managed Parse service.


Fix bug when server not explicitely defined in configuration but installed

hi @feoh
The  problem was that kickstart initializes all LSP's that are installed and not only the ones explicitly defined in your servers variable. I locally had not done this so I did not realize this at the time.
Here I add a conditional check to see if servers[server_name] is explicitly defined in servers and if not to just set nil on the filetypes variable
This fixes #375

I think you could do something like this:
filetypes = servers[server_name].filetypes, -> filetypes = (servers[server_name] or {}).filetypes,

Abso-freaking-lutely!
One tip I wasn't aware of with forks:
If you're encountering all kinds of crazy pulling down changes from upstream and you're using rebase, try merge, it will do the git auto-resolve magic much more effectively.
I was having a hell of a time maintaining mine but now that I've switched from rebase to merge I only get dinged when there's an ACTUAL conflict.
If you like maybe put a pointer to your refactor here once you're done. Always worth keeping an open mind and seeing how others are doing things!
Thanks everyone for your comments and help with this. I feel like my Neovim Lua education is ongoing :)


C++ callback API: Add support for client-side extra-reaction operations via Holds

Streaming RPCs that will conduct extra-reaction operations must place "Hold"s on the RPC to make sure that they don't get destructured or OnDone'd before the extra-reaction operations are complete.
Review plan: This PR was de-facto pair-programmed as separate commits. I will review the changes in test that were written by @sheenaqotj and I'm asking @sheenaqotj to review the changes in include that were written by me.

Thanks for the review! I'm squashing all commits now.


When creating container (version 14.8) script continue looping

PLEASE DO NOT INCLUDE ANY PASSWORDS OR TOKENS IN YOUR ISSUE!!!
When trying to install a new BCContainer, it continue looping some of the lines in the script and it never stop / finish the script
Script used for creating the container:
$artifacturl = Get-BCArtifactUrl -type OnPrem -version <IP_ADDRESS> -country dk -select Closest
$credential = New-Object pscredential 'admin', (ConvertTo-SecureString -String 'XXXXXXXXX' -AsPlainText -Force)
$containerName = 'pw'
New-BCContainer -accept_eula -containerName $containerName -artifactUrl $artifacturl -auth NavUserPassword -Credential $credential -updateHosts -alwaysPull -includeCSide -shortcuts Desktop -licenseFile "C:\Users\XXXXX\Documents\Business Central licenser\BC 20\7470982.flf" -myscripts @("https://raw.githubusercontent.com/microsoft/nav-docker/master/override/SelfSignedCertificateEx/SetupCertificate.ps1"
Output:
PS C:\WINDOWS\system32> C:\Users\XXXXX\Documents\PowerShell\Opret ny container BC14.8.ps1
WARNING: The names of some imported commands from the module 'BcContainerHelper' include unapproved verbs that might make them less disco
verable. To find the commands with unapproved verbs, run the Import-Module command again with the Verbose parameter. For a list of approv
ed verbs, type Get-Verb.
BcContainerHelper is version 3.0.10
BcContainerHelper is running as administrator
Hyper-V is Enabled
UsePsSession is True
Host is Microsoft Windows 11 Pro - 21H2
Docker Client Version is 20.10.16
Docker Server Version is 20.10.16
Removing Session pw
Removing container pw
Removing entries from hosts
Removing pw from container hosts file
Removing pw-* from container hosts file
Removing Desktop shortcuts
Removing C:\ProgramData\BcContainerHelper\Extensions\pw
Fetching all docker images
Fetching all docker volumes
Pulling image mcr.microsoft.com/businesscentral:10.0.20348.707
10.0.20348.707: Pulling from businesscentral
Digest: sha256:ff37f262dec05d68de5e3169421f6e2d8cd020eaf47fbe0abf7b15af55661595
Status: Image is up to date for mcr.microsoft.com/businesscentral:10.0.20348.707
mcr.microsoft.com/businesscentral:10.0.20348.707
Using image mcr.microsoft.com/businesscentral:10.0.20348.707
Creating Container pw
Style: onprem
Multitenant: No
Version: 14.8.38658.0
Platform: 14.0.38650.0
Generic Tag: <IP_ADDRESS>
Container OS Version: 10.0.20348.707 (ltsc2022)
Host OS Version: 10.0.22000.708 (21H2)
Using process isolation
WARNING: Using process isolation on Windows Desktop OS with generic image version prior to <IP_ADDRESS> or NAV/BC versions prior to 15.0, migh
t require you to use HyperV isolation or disable Windows Defender while creating the container
Using locale da-DK
Disabling the standard eventlog dump to container log every 2 seconds (use -dumpEventLog to enable)
Downloading C:\ProgramData\BcContainerHelper\Extensions\pw\my\SetupCertificate.ps1
Using license file C:\Users\PrebenLindahl\Documents\Business Central licenser\BC 20\7470982.flf
Files in C:\ProgramData\BcContainerHelper\Extensions\pw\my:

AdditionalOutput.ps1
AdditionalSetup.ps1
license.flf
MainLoop.ps1
SetupCertificate.ps1
SetupVariables.ps1
updatehosts.ps1
Creating container pw from image mcr.microsoft.com/businesscentral:10.0.20348.707
d262323b45f039411fa19aa7a8faa02ba0d17ae0125b90e207d496ab551dca27
Waiting for container pw to be ready
Using artifactUrl https://bcartifacts.azureedge.net/onprem/14.8.38658.0/dk
Using installer from C:\Run\130
Copying Platform Artifacts
c:\dl\onprem\14.8.38658.0\platform
Copying Application Artifacts
Copying Database
Copying Installers
c:\dl\onprem\14.8.38658.0\dk\Installers
Copying TestToolKit
c:\dl\onprem\14.8.38658.0\dk\TestToolKit
Copying UpgradeToolKit
c:\dl\onprem\14.8.38658.0\dk\UpgradeToolKit
Copying Extensions
c:\dl\onprem\14.8.38658.0\dk\Extensions
Installing Business Central
Installing Url Rewrite
Installing OpenXML
Installing DotNetCore
Starting Local SQL Server
Starting Internet Information Server
Copying Service Tier Files
Using installer from
Installing Business Central
Installing Url Rewrite
Installing OpenXML
Installing DotNetCore
Starting Local SQL Server
Starting Internet Information Server
Copying Service Tier Files

Screenshots

It seems to continue to loop the lines below, every time I try to create the container:
Installing Business Central
Installing Url Rewrite
Installing OpenXML
Installing DotNetCore
Starting Local SQL Server
Starting Internet Information Server
Hope you have an answer
Thanks in advance
Best regards
Preben Lindahl

Did you see the warning in the output:
WARNING: Using process isolation on Windows Desktop OS with generic image version prior to <IP_ADDRESS> or NAV/BC versions prior to 15.0, might require you to use HyperV isolation or disable Windows Defender while creating the container

Hi Freddy
Thank you
Added the command -isolation hyperv and it worked
Best regards
Preben


Reduce fractions to lowest to minimize $items interaction

http://www.dummies.com/how-to/content/how-to-reduce-a-fraction-to-its-lowest-terms.html

This is some extremely picky stuff which probably won't be implemented anytime soon. Closing.


ActiveSupport::MessageEncryptor::InvalidMessage: while upgrading to kamal 2.0

It seems while upgrading from 1.x there's 2.0 it's not able to read the master key.
ActiveSupport::MessageEncryptor::InvalidMessage:

After you run kamal init with kamal 2.0, make sure that you go under .kamal/secrets and point the variable to the master key. Make sure that you don't put the plain text key in here like you would do the .env file because this secrets file is more of a mapper and will get committed to your version control.

It took me 2 hours to realise I had to use config/credentials/production.key since I am using environment specific credentials.
I also had to add the following:
config/deploy.yml
<% require "dotenv"; Dotenv.load(".env") %>

# Name of your application. Used to uniquely configure containers.
.
.

.kamal/secrets
KAMAL_REGISTRY_PASSWORD=$KAMAL_REGISTRY_PASSWORD
RAILS_MASTER_KEY=$(cat config/credentials/production.key)

It took me 2 hours to realise I had to use config/credentials/production.key since I am using environment specific credentials.
I also had to add the following:
config/deploy.yml
<% require "dotenv"; Dotenv.load(".env") %>

# Name of your application. Used to uniquely configure containers.
.
.

.kamal/secrets
KAMAL_REGISTRY_PASSWORD=$KAMAL_REGISTRY_PASSWORD
RAILS_MASTER_KEY=$(cat config/credentials/production.key)

Bro... thank you thank you thank youuuu


GlobalNetworkPolicy does not apply rules to workload host

I'm trying to protect host as in this howto. Trying to apply GNP on automatic HostEndpoints, it works fine with all K8s nodes except for workload host. Changing defaultEndpointToHostAction to DROP helps, but then all wl->Host traffic is blocked unconditionally, which is not what we need.
Expected Behavior
Rules are applied properly to all nodes, not only non-host nodes.
Current Behavior
Rules are applied correctly on all nodes, except for WL Host.
Possible Solution

Steps to Reproduce (for bugs)

Enable automatic HostEndpoints
Apply some GNPs and try connecting like below:

It looks like this (that's the host for tested workload):
---
apiVersion: projectcalico.org/v3
kind: HostEndpoint
metadata:
  creationTimestamp: "2021-12-03T06:33:16Z"
  labels:
    beta.kubernetes.io/arch: amd64
    beta.kubernetes.io/os: linux
    my.test.label.io/node-role: worker
  ...
  name: worker-0-0-auto-hep
...
spec:
  expectedIPs:
  - <IP_ADDRESS>
  - <IP_ADDRESS>
  interfaceName: '*'
  node: worker-0-0
  profiles:
  - projectcalico-default-allow

Some other node:
---
apiVersion: projectcalico.org/v3
kind: HostEndpoint
metadata:
  creationTimestamp: "2021-12-03T06:33:16Z"
  labels:
    beta.kubernetes.io/arch: amd64
    beta.kubernetes.io/os: linux
    my.test.label.io/node-role: worker
    ...
  name: worker-0-1-auto-hep
...
spec:
  expectedIPs:
  - <IP_ADDRESS>
  - <IP_ADDRESS>
  interfaceName: '*'
  node: worker-0-1
  profiles:
  - projectcalico-default-allow

My GNPs:
apiVersion: projectcalico.org/v3
kind: GlobalNetworkPolicy
metadata:
  name: ingress-k8s-masters
spec:
  selector: has(node-role.kubernetes.io/master)
  ingress:
  - action: Allow
    protocol: TCP
    destination:
      ports:
      - 6443
  - action: Allow
    destination:
      nets:
      - <IP_ADDRESS>/32
  - action: Allow
    protocol: UDP
    destination:
      ports:
      - 53
  - action: Allow
    protocol: TCP
    source:
      selector: has(node-role.kubernetes.io/master)
    destination:
      ports:
      - 2380
      - 10250

---
apiVersion: projectcalico.org/v3
kind: GlobalNetworkPolicy
metadata:
  name: ingress-k8s-workers
spec:
  selector: "my.test.label.io/node-role==\"worker\""
  ingress:
  - action: Allow
    destination:
      nets:
      - <IP_ADDRESS>/32
  - action: Allow
    protocol: TCP
    source:
      selector: has(node-role.kubernetes.io/master)
    destination:
      ports:
      - 10250
  - action: Allow
    protocol: UDP
    destination:
      ports:
      - 53

Access from workload to random non-host node works perfect:
root@debug:~# nc -vzw1 <IP_ADDRESS> 22
Connection to <IP_ADDRESS> 22 port [tcp/ssh] succeeded! # that's fine, failsafe port
root@debug:~# nc -vzw1 <IP_ADDRESS> 23
nc: connect to <IP_ADDRESS> port 23 (tcp) timed out: Operation now in progress # Fine!
root@debug:~# nc -vzw1 <IP_ADDRESS> 10250
nc: connect to <IP_ADDRESS> port 10250 (tcp) timed out: Operation now in progress # Fine

Access from workload to host node:
root@debug:~# nc -vzw1 <IP_ADDRESS> 22
Connection to <IP_ADDRESS> 22 port [tcp/ssh] succeeded! # that's fine, failsafe port
root@debug:~# nc -vzw1 <IP_ADDRESS> 23
nc: connect to <IP_ADDRESS> port 23 (tcp) failed: Connection refused # Open, but should be blocked!
root@debug:~# nc -vzw1 <IP_ADDRESS> 10250
Connection to <IP_ADDRESS> 10250 port [tcp/*] succeeded! # Open, but should be blocked!

Context
I want to protect hosts with consistent policy describing on what ports workload can connect to K8s nodes. All I really wan't accomplish is that when I say "only wl->node port 123 and 124 are allowed" this is applied to all HostEndpoints, including workload Host.
Your Environment
# calicoctl version
Client Version:    v3.19.2
Git commit:        6f3d4900
Cluster Version:   v3.19.2
Cluster Type:      kubespray,kubeadm,kdd,k8s

Kubespray is release-2.17
Ubuntu 20.04.3 LTS
Kubernetes v1.21.6
# kubectl get ds -n kube-system calico-node -oyaml
apiVersion: apps/v1
kind: DaemonSet
...
spec:
  selector:
    matchLabels:
      k8s-app: calico-node
  template:
    metadata:
      creationTimestamp: null
      labels:
        k8s-app: calico-node
    spec:
      containers:
      - env:
        - name: DATASTORE_TYPE
          value: kubernetes
        - name: WAIT_FOR_DATASTORE
          value: "true"
        - name: FELIX_VXLANVNI
          value: "4096"
        - name: FELIX_VXLANPORT
          value: "4789"
        - name: CALICO_NETWORKING_BACKEND
          valueFrom:
            configMapKeyRef:
              key: calico_backend
              name: calico-config
        - name: CLUSTER_TYPE
          valueFrom:
            configMapKeyRef:
              key: cluster_type
              name: calico-config
        - name: CALICO_K8S_NODE_REF
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        - name: CALICO_DISABLE_FILE_LOGGING
          value: "true"
        - name: FELIX_DEFAULTENDPOINTTOHOSTACTION
          value: RETURN
        - name: FELIX_HEALTHHOST
          value: localhost
        - name: FELIX_IPTABLESBACKEND
          value: Legacy
        - name: FELIX_IPTABLESLOCKTIMEOUTSECS
          value: "10"
        - name: CALICO_IPV4POOL_IPIP
          value: "Off"
        - name: FELIX_IPV6SUPPORT
          value: "False"
        - name: FELIX_LOGSEVERITYSCREEN
          value: info
        - name: CALICO_STARTUP_LOGLEVEL
          value: error
        - name: FELIX_USAGEREPORTINGENABLED
          value: "False"
        - name: FELIX_CHAININSERTMODE
          value: Insert
        - name: FELIX_PROMETHEUSMETRICSENABLED
          value: "False"
        - name: FELIX_PROMETHEUSMETRICSPORT
          value: "9091"
        - name: FELIX_PROMETHEUSGOMETRICSENABLED
          value: "True"
        - name: FELIX_PROMETHEUSPROCESSMETRICSENABLED
          value: "True"
        - name: NODEIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: IP_AUTODETECTION_METHOD
          value: can-reach=$(NODEIP)
        - name: IP
          value: autodetect
        - name: NODENAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        - name: FELIX_HEALTHENABLED
          value: "true"
        - name: FELIX_IGNORELOOSERPF
          value: "False"
        - name: CALICO_MANAGE_CNI
          value: "true"
        envFrom:
        - configMapRef:
            name: kubernetes-services-endpoint
            optional: true
        image: quay.io/calico/node:v3.19.2
        imagePullPolicy: IfNotPresent
        livenessProbe:
          exec:
            command:
            - /bin/calico-node
            - -felix-live
          failureThreshold: 6
          initialDelaySeconds: 10
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 10
        name: calico-node
        readinessProbe:
          exec:
            command:
            - /bin/calico-node
            - -felix-ready
          failureThreshold: 6
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 10
        resources:
          limits:
            cpu: 300m
            memory: 500M
          requests:
            cpu: 150m
            memory: 64M
        securityContext:
          privileged: true
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /lib/modules
          name: lib-modules
          readOnly: true
        - mountPath: /var/run/calico
          name: var-run-calico
        - mountPath: /var/lib/calico
          name: var-lib-calico
        - mountPath: /run/xtables.lock
          name: xtables-lock
        - mountPath: /host/etc/cni/net.d
          name: cni-net-dir
        - mountPath: /var/run/nodeagent
          name: policysync
        - mountPath: /var/log/calico/cni
          name: cni-log-dir
          readOnly: true
      dnsPolicy: ClusterFirst
      hostNetwork: true
      initContainers:
      - command:
        - /opt/cni/bin/calico-ipam
        - -upgrade
        env:
        - name: KUBERNETES_NODE_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        - name: CALICO_NETWORKING_BACKEND
          valueFrom:
            configMapKeyRef:
              key: calico_backend
              name: calico-config
        envFrom:
        - configMapRef:
            name: kubernetes-services-endpoint
            optional: true
        image: quay.io/calico/cni:v3.19.2
        imagePullPolicy: IfNotPresent
        name: upgrade-ipam
        resources: {}
        securityContext:
          privileged: true
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /var/lib/cni/networks
          name: host-local-net-dir
        - mountPath: /host/opt/cni/bin
          name: cni-bin-dir
      - command:
        - /opt/cni/bin/install
        env:
        - name: CNI_CONF_NAME
          value: 10-calico.conflist
        - name: UPDATE_CNI_BINARIES
          value: "true"
        - name: CNI_NETWORK_CONFIG_FILE
          value: /host/etc/cni/net.d/calico.conflist.template
        - name: SLEEP
          value: "false"
        - name: KUBERNETES_NODE_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        image: quay.io/calico/cni:v3.19.2
        imagePullPolicy: IfNotPresent
        name: install-cni
        resources: {}
        securityContext:
          privileged: true
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /host/etc/cni/net.d
          name: cni-net-dir
        - mountPath: /host/opt/cni/bin
          name: cni-bin-dir
      - image: quay.io/calico/pod2daemon-flexvol:v3.19.2
        imagePullPolicy: IfNotPresent
        name: flexvol-driver
        resources: {}
        securityContext:
          privileged: true
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /host/driver
          name: flexvol-driver-host
      nodeSelector:
        kubernetes.io/os: linux
      priorityClassName: system-node-critical
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      serviceAccount: calico-node
      serviceAccountName: calico-node
      terminationGracePeriodSeconds: 0
      tolerations:
      - operator: Exists
      volumes:
      - hostPath:
          path: /lib/modules
          type: ""
        name: lib-modules
      - hostPath:
          path: /var/run/calico
          type: ""
        name: var-run-calico
      - hostPath:
          path: /var/lib/calico
          type: ""
        name: var-lib-calico
      - hostPath:
          path: /etc/cni/net.d
          type: ""
        name: cni-net-dir
      - hostPath:
          path: /opt/cni/bin
          type: ""
        name: cni-bin-dir
      - hostPath:
          path: /run/xtables.lock
          type: FileOrCreate
        name: xtables-lock
      - hostPath:
          path: /var/lib/cni/networks
          type: ""
        name: host-local-net-dir
      - hostPath:
          path: /var/log/calico/cni
          type: ""
        name: cni-log-dir
      - hostPath:
          path: /var/run/nodeagent
          type: DirectoryOrCreate
        name: policysync
      - hostPath:
          path: /usr/libexec/kubernetes/kubelet-plugins/volume/exec/nodeagent~uds
          type: DirectoryOrCreate
        name: flexvol-driver-host
...

# calicoctl get felixconfiguration default -oyaml
apiVersion: projectcalico.org/v3
kind: FelixConfiguration
metadata:
...
spec:
  bpfEnabled: false
  bpfExternalServiceMode: Tunnel
  bpfLogLevel: ""
  ipipEnabled: false
  logSeverityScreen: Info
  reportingInterval: 0s
  vxlanEnabled: true
  wireguardEnabled: false

# calicoctl get ippool default-pool -oyaml
apiVersion: projectcalico.org/v3
kind: IPPool
metadata:
...
spec:
  blockSize: 24
  cidr: <IP_ADDRESS>/18
  ipipMode: Never
  natOutgoing: true
  nodeSelector: all()
  vxlanMode: Always

I have been struggling with the same issue for several days already.
No luck so far...

@coutinhop I don't have any working setup with this right now, but I'm aware of this. Moreover, I haven't added these labels to HostEndpoint since they were created automatically by calico and the labels seen there are just ones automatically replicated from the nodes themselves. So basically, they have those labels for sure.

Changing defaultEndpointToHostAction to DROP helps, but then all wl->Host traffic is blocked unconditionally, which is not what we need.

I don't think all wl->host traffic is blocked unconditionally - just that the default is now to drop.
So now you need to add the policies saying which ports they can talk to, no?

have a similar issue while playing with microk8s, even with only one GlobalNetworkPolicy set to allow all, the controller can't access the API. No pods can access any host ports no matter what I specify.
Only solution is to set defaultEndpointToHostAction=Accept
Can be reproduced:
multipass launch --name test-microk8s-0 --cpus 2 --mem 4G --disk 20G
multipass shell test-microk8s-0
sudo snap install --classic microk8s
sudo microk8s kubectl -n kube-system edit ds calico-node
# comment out this part
# - name: FELIX_DEFAULTENDPOINTTOHOSTACTION
#   value: "ACCEPT"

controller will now fail because it can't access the k8s API


add myst-parser header anchor option to sphinx conf to avoid warnings

A lot of our libraries fail running sphinx with warnings that look like this:
Example pipeline
/mnt/vss/_work/1/s/sdk/maps/azure-maps-search/.tox/strict-sphinx/tmp/dist/unzipped/docgen/index.md:102: WARNING: 'myst' cross-reference target not found: 'request-latitude-and-longitude-coordinates-for-an-address' [myst.xref_missing]

These warnings occur on the README where we do anchor links to examples, e.g. [How to upload a blob](#upload-a-blob)
It seems a library we use, myst-parser requires you to specify the depth of header levels for which anchor links should work. Documentation here: https://myst-parser.readthedocs.io/en/latest/syntax/optional.html#syntax-header-anchors and https://github.com/executablebooks/MyST-Parser/issues/519
Since a lot of our libraries use anchor heading for examples in the README and use headers at level h3 or greater, we see the warnings. This adds configuration to specify the header depth we want to allow for links, i.e. h1 - h6
Testing:
Without conf option: https://dev.azure.com/azure-sdk/public/_build/results?buildId=3339909&view=logs&j=4259cd7e-6a4b-5ca5-581a-0ae020cd9d20&t=4d670c9c-5acd-5cc3-aede-d35282ac764a&l=693
With conf option: https://dev.azure.com/azure-sdk/public/_build/results?buildId=3378892&view=logs&j=4259cd7e-6a4b-5ca5-581a-0ae020cd9d20&t=4d670c9c-5acd-5cc3-aede-d35282ac764a&l=696

/check-enforcer override

/check-enforcer override

Thanks @pvaneck!

/check-enforcer override


dbt explorer has replaced the legacy dbt docs for dbt cloud users

Contributions

[x] I have read the contribution docs, and understand what's expected of me.

Link to the page on docs.getdbt.com requiring updates

[Artifacts]https://docs.getdbt.com/docs/deploy/artifacts
[Build and view docs(]https://docs.getdbt.com/docs/collaborate/build-and-view-your-docs#viewing-documentation

What part(s) of the page would you like to see updated?
dbt explorer has replaced the legacy dbt docs for dbt cloud users.
### Tasks
- [ ] Review and update the [Artifacts](https://docs.getdbt.com/docs/deploy/artifacts) page This page refers to selecting the primary job for documentation. With the documentation tab removed from the IDE and Explorer fetching info from the "Prod" environment, this section might need some adjustments. For example: [ ] Update "you should only associate one production job with a given project to produce the project's artifacts" [ ] All screenshots are out of date [ ] Proof the rest of the page for the old UI.
- [ ] Review the [build and view your docs](https://docs.getdbt.com/docs/collaborate/build-and-view-your-docs#viewing-documentation) page. [ ] The viewing documentation section at least needs a note about how legacy docs will be the only available option for dev plans.  [ ] The [generating documentation](https://docs.getdbt.com/docs/collaborate/build-and-view-your-docs#generating-documentation) might also require some tweaks.
- [ ] Review [Discovery API page](https://docs.getdbt.com/docs/dbt-cloud-apis/discovery-api) > Discovery tab. Use screen shots of Explorer instead of legacy docs:![image](https://github.com/dbt-labs/docs.getdbt.com/assets/3880403/f7beb481-2744-499b-80e5-50db5213a7d8)
- [ ] Must coordinate with PM/PMM on when to update the messaging

@migueldichoso from the CS team flagged that a user was confused on where or how to find the legacy docs page. see slack thread

i have taken over this feature now (pod 3) and am going to address this

add'l issue raised in april : https://github.com/dbt-labs/docs.getdbt.com/issues/5304

also raised today here: https://dbt-labs.slack.com/archives/C02NCQ9483C/p1718204765524829


Adding Express.js SparkPost Google App Engine sample app

PR opened here for internal review ahead of opening a PR against the parent Google Cloud Platform repo.

We've used Yarn here. So need to mention about it (install yarn, run yarn install) somewhere

To your question about tests, this is a sample project. I am following the structure of our competitor's Node.js samples, which do not have tests. I don't think we have tests for our example code in the client libs either.
I do have tests in the Python sample but only because others seem to have them (and I wanted to brush up on my pytest knowledge :)

I think I read somewhere that Google requires to have tests. Have to check!
On Thu, Mar 23, 2017, 6:52 AM Ewan Dennis<EMAIL_ADDRESS>wrote:

To your question about tests, this is a sample project. I am following the
structure of our competitor's Node.js samples, which do not have tests. I
don't think we have tests for our example code in the client libs either.
I do have tests in the Python sample but only because others seem to
have them (and I wanted to brush up on my pytest knowledge :)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ewandennis/nodejs-docs-samples/pull/1#issuecomment-288682781,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AOMBl7PA_GB1DSQAmxo0AnEdP_NCbgEQks5rok7sgaJpZM4MlWvg
.

Closing. Will squash commits and open a PR against Google's repo.


Integrate Zksync with Opensea

While zksync is integrated with nftmarketplaces like element, zonic etc i found out that it is not integrated with the largest nft marketplace OPENSEA hence affecting the overall nft market in Zksync ecosystem.

Completely agree , Zksync should be integrated with opensea  for more adaptability and decentralization

Interesting point, but perhaps it would make sense to be more forward looking and consider an up and coming marketplace like Magic Eden. They are the number 1 ordinals marketplace, number 2 for solana (previously number 1) and launching Eth this week.


Fixed: Code sample still uses preview version of REST API

This PR fixes #10679

#sign-off

@juliakm: I'm sorry - only the author of this article, @vijayma, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

@juliakm: I'm sorry - only the author of this article, @vijayma, can sign off on your changes.

@vijayma - please help and approve. :-)


Photosets without a layout param, but have more than one photo don't display correctly

Not sure what the parameters for displaying these are. tumblr seems to do a grid, but the behavior might be more complex than that. As an interim solution if even do rows of 2, if a multiple of 3 do rows of 3, otherwise do rows of 1.


Capitalization issues with table and column names in BigQuery

column names
column names which are defined with capital letters in the model sql are lower cased in the BigQuery table (e.g. OrderId -> orderid) -> expectation: preserve capitalization of column names
table names
table names with capital letters are not detected by the model selector

example

> venv ❯ sqlmesh render fct_SomeFactData
Error: Cannot find model for 'fct_SomeFactData'

example

> sqlmesh plan --restate-model "some_schema.fct_SomeFactData" --start "2024-05-08"
2024-05-10 12:27:41,261 - MainThread - sqlmesh.core.selector - WARNING - Expression 'some_schema.fct_somefactdata' doesn't match any models. (selector.py:209)
2024-05-10 12:27:41,261 - MainThread - sqlmesh.core.selector - WARNING - Expression 'some_schema.fct_SomeFactData' doesn't match any models. (selector.py:171)
Provided restated models do not match any models. No models will be included in plan. Provided: some_schema.Incremental_Model
Error: The start and end dates can't be set for a production plan without restatements.

sqlmesh follows the same rules as the engine. in bigquery's case, table names are only upper cased if they are quoted, so you'd need to define your model as
 model ( name `fct_SomeFactData`)

otherwise it will be lower cased. additionally, bigquery column names are always case insensitive, so they should always be lower cased.
if you model name is indeed capitalized, then in the selector, you'll need to also quote it... sqlmesh render "fct_SomeFactData"
can you show me your model definition?

I don't find any BigQuery documentation which tells that table names are only upper cased if they are quoted.
This is an interesting page: https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical
But there seems to be no rule that doesn't allow capital letters in unquoted identifiers. Maybe I'm missing something.
In any case I find it hard to navigate through the quotation jungle. I get mixed results and some commands cannot be executed, others can.
One simple example which should illustrates this and also the issue with the lower casing of column names:
Model:
MODEL (
  name `sqlmesh_test.stg_Table`,
  kind VIEW,
  start '2024-05-01',
  cron '@daily'
);

SELECT *
FROM `sample-project`.`sample_dataset`.`externalTable`

Create external models
-> works and table description in the schema.yml looks like this
- name: '`sample-project`.`sample_dataset`.`externalTable`'
  columns:
    TableId: INT64
    TableName: STRING

Render the model
-> works, but lower cases the columns, although they have capital letters in the name
> sqlmesh render "sqlmesh_test.stg_Table"
SELECT
  `raw_table`.`tableid` AS `tableid`,
  `raw_table `.`createdat` AS `createdat`
FROM `dg-ub-snowplow-prod.sample_dataset.raw_Table` AS `raw_table`

Creating the model with sqlmesh plan
-> creates a table which preserves upper case characters in table name, but lower cases the column names.
Restate the model
-> results in a warning and nothing happens
> sqlmesh plan --restate-model "sqlmesh_test.stg_Table"
2024-05-16 21:40:40,775 - MainThread - sqlmesh.core.selector - WARNING - Expression 'sqlmesh_test.stg_table' doesn't match any models. (selector.py:209)
2024-05-16 21:40:40,775 - MainThread - sqlmesh.core.selector - WARNING - Expression 'sqlmesh_test.stg_Table' doesn't match any models. (selector.py:171)
Provided restated models do not match any models. No models will be included in plan. Provided: sqlmesh_test.stg_Table
No differences when compared to `prod`

@Mario Zumbühl The detailed feedback was really helpful.
So one thing that Toby mispoke about was the logic applied to BigQuery tables. They are case-sensitive by default which I believe is what you were saying.
Docs: https://cloud.google.com/bigquery/docs/tables#table_naming
Table names are case-sensitive by default. mytable and MyTable can coexist in the same dataset, unless they are part of a dataset with case-sensitivity turned off.

The good news is that this is already understood by SQLGlot and we aren't seeing any bugs related to this.
Column though are case-insensitive regardless of quoting.
Docs: https://cloud.google.com/bigquery/docs/schemas#column_names
For example, a column named Column1 is considered identical to a column named column1. To learn more about column naming rules, see [Column names](https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical#column_names) in the GoogleSQL reference.

Reviewing your examples everything looks correct except the final restate-model . Fix for that is in this PR: https://github.com/TobikoData/sqlmesh/pull/2623
Let me know if that clears things up.


HADOOP-18506. Update build instructions for Windows using VS2019

Description of PR
With HADOOP-18133, we're finally able to build Hadoop on Windows using Visual Studio 2019. This PR updates the documentation with the latest instructions.
How was this patch tested?
N/A
For code changes:

[x] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
[ ] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
1m  4s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

_ trunk Compile Tests _

+1 :green_heart:
shadedclient
34m  7s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
shadedclient
22m 42s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
asflicense
0m 43s

The patch does not generate ASF License warnings.

60m 23s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5066/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/5066

Optional Tests
dupname asflicense codespell detsecrets

uname
Linux 8f2ce564c477 4.15.0-191-generic #202-Ubuntu SMP Thu Aug 4 01:49:29 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 40d79e36e2ffd36ecc563e624483978e599634e4

Max. process+thread count
532 (vs. ulimit of 5500)

modules
C: . U: .

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5066/1/console

versions
git=2.25.1 maven=3.6.3

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
1m  7s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

_ trunk Compile Tests _

+1 :green_heart:
shadedclient
33m 18s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
shadedclient
22m 53s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
asflicense
0m 43s

The patch does not generate ASF License warnings.

59m 39s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5066/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/5066

Optional Tests
dupname asflicense codespell detsecrets

uname
Linux 8ce34e055cbe 4.15.0-191-generic #202-Ubuntu SMP Thu Aug 4 01:49:29 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / ac0ab9058df3c750597c2bcf43f7fa329341d35c

Max. process+thread count
601 (vs. ulimit of 5500)

modules
C: . U: .

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5066/2/console

versions
git=2.25.1 maven=3.6.3

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
1m  4s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

_ trunk Compile Tests _

+1 :green_heart:
shadedclient
34m 13s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
shadedclient
22m 28s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
asflicense
0m 42s

The patch does not generate ASF License warnings.

60m  5s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5066/3/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/5066

Optional Tests
dupname asflicense codespell detsecrets

uname
Linux 57ab863dff40 4.15.0-191-generic #202-Ubuntu SMP Thu Aug 4 01:49:29 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / a02c880898e1894152a70663fe80883daceee43d

Max. process+thread count
530 (vs. ulimit of 5500)

modules
C: . U: .

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5066/3/console

versions
git=2.25.1 maven=3.6.3

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.


Custom to Run Composite

I'm wondering if it's possible to run the composite command? (as specified here: http://www.imagemagick.org/Usage/layers/) with this wrapper.

No, this library does not support the composite command currently.
You could try the Composite Operator of Convert with Mogrify.create/2 which calls convert. (Unlike Mogrify.save/2 which calls mogrify.)

@talklittle would this work if I want to create a new image which is a combination of a few other images?

@shawnbro It sounds like it would work. But I haven't tried it before. If you do try it out, please report back on whether it worked for you.
You can probably do image = Mogrify.custom(image, "composite") to add the -composite operator to the list of operators. Might have to do some extra fussing around with it though, because from ImageMagick documentation it looks like ImageMagick uses slightly different syntax to do convert -composite commands.

I ended up doing this:
image_operator(image, "convert -size:  wid #{image_path} \ #{image_to_combine_path}  -geometry  +0+10  -composite")
|> create(in_place: true)

which merges image_to_combine_path image into image_path image.


2 Future Suggestions. Inferno & Runecrafting

Inferno: Literally same as fightcaves with a few twists
Its obviously lower % chance of success
Requires 10 fire cape sacrifices  to be able to start doing the =inferno or :inferno minigame.

Edit: changed it to just The inferno suggestion

these are two distinctly separate features, can you make a separate issue for each

Come up with dynamic and interesting ways of implementing this in to the bot that would be based on knowledge about current inferno.
Make a new suggestion with title ''Inferno'' and gather ideas and information that would be helpful towards making this a thing in future, take help from wiki, other peoples opinions and so on, and think of it from a global standpoint for both bots and not just BSO.
Close issue and make a new suggestion that got some meat on the bones so to say.


Update main.tf

Needs more compatibility with beginning from Version 1.0.0 upwards.

Adjustment of terraform required_version for bigger support!


fault-proofs: Move fault proofs specs out of experimental

Description
With fault proofs having been approved via governance, move the specs out of experimental.
Adds redirects so links should keep working.

I think strictly we have a single fault proof system.  There are multiple implementations of the FP program, FP VM and in future possibly dispute games, but they ultimately work together as a single fault proof system.


FactoryGirl ignores my spec/factories.rb file

If I create a new Rails app, set up factory_girl_rails and create spec/factories.rb to store my factories then FactoryGirl ignores it.
For example,
$ bin/rails g model User name

will generate a factory for users at spec/factories/users.rb when I want it to prepend/append the factory to my spec/factories.rb file.

@dwayne this is not wise, at some point the factories file will be huge.

@marceloboeira I think at the time it was a small project I was working on and I just wanted to have the factories in one file. But I agree with you, on a larger project there can be a lot of factories.

@dwayne I'm not on the contributors team. @joshuaclayton can you close it?


yet another initiative: haskell-tools

https://github.com/haskell-tools/haskell-tools
on hackage:
http://hackage.haskell.org/package/haskell-tools-demo-<IP_ADDRESS>
http://hackage.haskell.org/package/haskell-tools-refactor-<IP_ADDRESS>
http://hackage.haskell.org/package/haskell-tools-cli-<IP_ADDRESS>
http://hackage.haskell.org/package/haskell-tools-ast-trf-<IP_ADDRESS>
http://hackage.haskell.org/package/haskell-tools-prettyprint-<IP_ADDRESS>
http://hackage.haskell.org/package/haskell-tools-ast-fromghc-<IP_ADDRESS>
http://hackage.haskell.org/package/haskell-tools-ast-gen-<IP_ADDRESS>
http://hackage.haskell.org/package/haskell-tools-ast-<IP_ADDRESS>

Yes, I know about it. Can you add it to the docs, for things to integrate at some point?


Pointer focus dispatch rework

Overview
From @julenka:
This PR fixes a bug in the input system where pointers are dispatching pointer events to all other pointers attached to an input source, which causes a large number of null pointer exceptions and also duplicate events to be sent to the system.
Explanation of the Bug
Currently MixedRealityInputSystem dispatches any event E to all pointers attached to E.InputSource. Therefore, when a Pointer wants to send a PointerDown event to the object it is focusing, instead the following happens when trying to dispatch pointer event E from pointer P:

Initialize E with information about pointer P so that eventData.Pointer returns P
Get the InputSource S attached to pointer P
For all pointers P2 on S...
a. If P2 is focused on some object O
b. Dispatch pointer event E to O, even if P2 ~= P.

This causes two problems when you have multiple pointers on an input source, for example the multiple pointers we have on fully articulated hands:

Each PointerDown event will get sent N times, where N = # pointers attached to a source.
If one pointer is focused on something, but another is not, then in step 1, E.Pointer is set to something that doesn't actually have object focus (E.Pointer.Result.Object == null). Then, if something tried to access E.Pointer.Result.Object it will get null pointer. This violates an assumption that for any PointerEvent E2 being dispatched, E2 is focusing some object.

Explanation of the Fix
When dispatching a pointer event, this event should only be sent to global event listeners and the object being focused by the pointer, NOT all other pointers attached pointer.InputSource.
Create a new method HandlePointerEvent that should be used to dispatch all events for pointers (which are the only things that can provide object focus). This method only dispatched events to global handlers and the object being focused, not to other pointers on the input source.
Also refactor the code a bit to avoid duplicate code.

Isn't this a direct effect of making the GazeProvider re-throw the input event as a pointer event? (Which I heavily disagreed to doing) Shouldn't we address alternative solutions that explore ways to raise the pointer event without having to route the event through the gaze provider?

Isn't this a direct effect of making the GazeProvider re-throw the input event as a pointer event?

Not at all. The GazeProvider only sends a pointer event if the input source actually has it registered as a pointer, which only happens in the case of no other pointers being registered to the input source.
This is result of sources needing to have multiple pointers for different interactions. For example, a controller that has both a far line pointer and a near grab pointer (somewhat like the HTK's Grabbables example). The near pointer's event doesn't need to be routed to the object being focused by the far pointer (which is also fired by the base pointer rethrowing the input event as a pointer event).

I really didn't understand the response. You confirmed that it wasn't a direct effect of being re-thrown, but then showed an example that was directly affected by re-throwing the input down event in the base controller.

I confirmed that events are being re-thrown, yes, but that's not the issue. Regardless of where pointer events are sent from, if they're sent via the existing HandleEvent path, we'll run into issues when multiple pointers are involved on the same input source.
This change makes it so that pointer events are handled more like focus events are currently handled. The only object that needs to know about it is the object the pointer is actually focusing. In the pointer event case, we also dispatch to the global listeners, which we don't do with focus.

Okay that makes more sense to me.

So we're still merging things in with changes requested?


Removed value from secure string conversion exception message

PR Summary
Fixes #19375
Removed value from exception message when [securestring] or ConvertFrom-SecureString fails to convert string to secure string.

PR Context
Current behaviour
Below shows string to convert in exception message which should not be shown in-case it is sensitive data like tokens, passwords etc.
PS C:\> [securestring]"p@ssword"
InvalidArgument: Cannot convert the "p@ssword" value of type "System.String" to type "System.Security.SecureString".

PS C:\> ConvertFrom-SecureString "p@assword"
ConvertFrom-SecureString: Cannot bind parameter 'SecureString'. Cannot convert the "p@assword" value of type "System.String" to type "System.Security.SecureString".

New behaviour
Removes string entirely from exception message.
PS C:\> [securestring]"p@ssword"
InvalidArgument: Cannot convert the value of type "System.String" to type "System.Security.SecureString".

PS C:\> ConvertFrom-SecureString "p@assword"
ConvertFrom-SecureString: Cannot bind parameter 'SecureString'. Cannot convert the value of type "System.String" to type "System.Security.SecureString".

PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[x] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[x] Not Applicable
OR
[ ] Documentation needed

[ ] Issue filed:

Testing - New and feature

[ ] N/A or can only be tested interactively
OR
[x] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[x] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and opened an issue in the relevant tool repository. This may include:

[ ] Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode
(which runs in a different PS Host).

[ ] Issue filed:

[ ] Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.

[ ] Issue filed:

[ ] Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).

[ ] Issue filed:

[ ] Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

[ ] Issue filed:

WG said about PSCredential too.

WG said about PSCredential too.

@iSazonov Thanks for picking up on that. I've made some changes to also not expose the string in message when casting string to PSCredential.


Scrutinizer Auto-Fixes

@MarkusBansky requested this pull request.
It consists of patches automatically generated for this project on Scrutinizer:
https://scrutinizer-ci.com/g/MarkusBansky/afgor-cms/

Merged


Can you make a plugin with support for typecho 1.0?

Im a person who can't write the source code, I don't even understand PHP, just made a website myself, before my website used to use Dplayer, after seeing Plyr I was impressed, but due to technical limitations can not use it, can you help make a plugin? I would appreciate it with or without.

I found it,https://do.sep.cc/plugins/plyr.zip

On May 9, 2023, there were still no new plugins that supported typecho....


Directives

@bilal-fazlani  fyi -> directives

uhmmm...... I got carried away and didn't add tests for this.  It's like i didn't just spend two weeks getting all the tests working.  I must have test fatigue :)
I'll add tests before merging


Create description for Homepage Project

Make homepage great! Make it responsive, accessible, informative, credible, readable, descriptive, compatible, consistent, uncluttered, simple, secure, up-to-date. Alternatively, just give up.

Added description


fix(bodies): visibly mark required

And also hide the optional fields from the body page if they are not filled.

:tada: This PR is included in version 1.28.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Musicplayer

#1254
python project (music player)
Close #1254

[X] I have mentioned the issue number in my Pull Request.
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have created a helpful and easy to understand README.md

@pranjay-poddar added music player and updates the readme.md ,kindly review my PR.

@pranjay-poddar added music player and updated the readme.md rows and added project title to it, kindly review my PR.

Resolve conflicts

Resolve conflicts

Done sir ,add label and gssoc and kindly review it @pranjay-poddar

Resolve conflicts

Please merge sir @pranjay-poddar

@SimranLahrani842 I think you can make new PR for this I closing this as @pranjay-poddar  is busy and for merging his review is needed.

@SimranLahrani842 I think you can make new PR for this I closing this as @pranjay-poddar is busy and for merging his review is needed.

Bro how can u close the pr  it was done 1.5 months ago...I did same in other repos too.. @MohitGupta121 @pranjay-poddar

Resolve conflicts

Resolve conflicts

Done sir🥰


[Bug][Multisig] Can not properly revert multisig account into simple account

WTR:

Create multisig account from 2 separate desktop wallets or it can be child account.
Go to Multisig page and remove multisig account from co-signories
Go to multisig account

Result: the web was not updated despite that accounts were untight

@NikolaiB  should be fixed after this PR gets merged.

fixed.


update main.yml

added libraries

I hope you're not planning to merge something that breaks the CI...

I hope you're not planning to merge something that breaks the CI...

Everything is under control 😄


Implementing support for speakers with multiple speaker_wav files

This is mostly informational; I'm not seeing a Discussion link for this repo, so hopefully it's ok to post this here.
I don't see it mentioned much, but xtts allows one to provide multiple 6-second speaker_wav files, which it then averages together when synthesizing the text. I've found this to be really helpful in getting certain cloned voices closer to the source. I really wanted to try this out in SillyTavern so I decided to take a stab at adding this functionality to xtts_api_server. You can see what I have so far at my fork
Note: this is very incomplete as of this writing and not ready for the masses, but I wanted to at least mention it now in case anyone wants to give it a whirl and let me know if there are any problems.
Existing single-file speakers work just as they have. If you want to add a speaker with multiple speaker_wavs, just create a directory in speakers/ with the name of your speaker and dump all their speaker_wav files in there. If you're previewing a multi-wav speaker in extensions, it'll play whichever wav file it found in that directory first. This doesn't yet work with streaming mode. Likewise, only --model-source local (the default) works.

Hi, good job.
I'll check it out later, thanks for the contribution :)

It now works with Realtime and I fixed a couple other odds and ends.

Cool, if you want to make a PR, I'd be glad to merge it.

Merge your PR, now it's available to everyone. thanks for contibution

I think we can close this issue, if there is anything left to say, you can open new issues


Request: Support wider range of social icons

I appreciate being able to select a background color for the icons, but do not like being limited to white-overlay rounded-box icons. At the very least, I would appreciate a fully-custom icon url setting (not just base). Other more dynamic options could include:

list any other publicly available base url settings you recommend (following the default gives me a "too many redirects" error)
border radius setting
implement font awesome for mark-only icons

Hi @MissFerrety
Appreciate the feedback on it while we working on new mj-social.
For base-url, you have to create your own base url with your own icons. (I think the server doesn't allow file listing that's why you have an error when trying to visit it ;) ).
Border-radius is coming to next release thanks to this pr #556 !
font-awesome isn't really "email-proof" so we don't gonna do anything on this part. I suggest you to do a custom component if you want to do so
I'm closing this one too because I think I've replied to everything, feel free to re-open if needed


World Freeze

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.33.31629\include\vector(270) : Assertion failed: can't dereference out of range vector iterator
World hangs then worldserver.exe crashes
https://i.postimg.cc/mZ9KNxTd/image-2022-10-02-184202623.png
a300a4be12ff+worldserver.exe[2-10_18-12-3].txt
Dump = https://www.mediafire.com/file/q3qpmfr2s4szoxp/a300a4be12ff%252B_worldserver.exe_%255B2-10_18-12-3%255D.dmp/file

Hi! sorry for the late answer.
I made some search about this error (as I'm not a dev, maybe I'm wrong) and some topics talks about BOOST.
As the original AzerothCore Install Tutorial ask to install some prerequisites, did you install all of these programs on your system, and especially BOOST?
https://www.azerothcore.org/wiki/windows-requirements
If yes, maybe an error to be fixed, but in the official AzerothCore because here, it's a fork with a special mod to test playerbots.
Or, maybe to test here too, I don't know :-/

@Xitain please close this issue


refactor how output to stdout and stderr is written

This PR allows us to test all the output that is written to stdout and stderr, both by check-protocol and by its child processes.
This is in preparation for #87, but I think it could be reviewed independently.

[ ] Fix non-deterministic test errors


Use OpenCV for the implementation of module utils

Relates to issue #112 .

completed for classes vcl::utils::Dims....

ok for vcl::utils::Pos.

ok for vcl::utils::Offsets.


[T3A2][T13-A4] KhooDesmond

Accepting this PR without a review because another of your PRs for this tutorial was reviewed in detail.


Provide more examples

Could you provide more examples of how to use this package? A starter boiler plate example for beginners would be helpful!

For example, how to receive and verify the user data from the web app using Telegram.WebApp.sendData or another method and a basic user input example with a form. Do I need webhooks to receive the data or build an API? Is it compatible with Telegrap ?

I figured it out, by looking into the workbench folder and the tests. If it's ok with you I could make  PR  in my spare time
for the docs.

Of course, I will be glad, thank you!


Automatic error report

No substantive information provided. If you can describe in detail the circumstances in which the error occurred, and post the information listed in relevant subsection of the Spyder Troubleshooting Guide as a comment to this issue, then please re-open.


qemu: add upstream patches for qemu-6.0 regressions

first patch fixes crash in 9p code that occasionally happens also in nixos tests
second patch fixes io errors from discards in aio io engine with virtio-scsi

Motivation for this change
Patches that are required for our ci system to run, former also frequently hit nixos tests for me causing segfaults, latter is an obvious bug that is easy to hit almost deterministically on some builds (presumably based on errno state from previous use), when running blkdiscard with aio io engine and virtio-scsi.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

I just noticed that there may be a typo in the patch title. The regressions fixed by the patches were both introduced in the QEMU 6.1.0 release, not 6.0. I agree with @SuperSandro2000 that it would be good to have comments with a short description/justification for applying the patches.


Feature: Source code verification on Sourcify

Overview
Add Sourcify verification to Ape framework, similar to Etherscan.
Sourcify (sourcify.dev) is a decentralized and open-sourced smart contract verification service. Sourcify verifies contracts using the Solidity contract metadata to achieve "full matches" i.e. byte-by-byte matches of the original source code. We then serve these contracts on our repo over IPFS and HTTP for other tools to build on top of, such as block explorers or wallets.
Specification
Initially, the metadata of the compiled contracts needs to be output. If this is not enabled by default, it needs to be enabled in the Solidity standard JSON input's outputSelection:
"outputSelection": {
  "*": {
    "*": [
      "metadata", // <-- Add this
      "evm.bytecode",
      "evm.bytecode.sourceMap"
    ],
    ...
  }
},

This will also help contract authors verify later if they don't deploy with the Ape framework. One of the main issues has been that the metadata file gets lost after compilation and therefore a full match was not possible.
After the user deploys the contract a call to the /verify endpoint can be made with the address and the chainId. See docs
{
    "address": ...,
    "chain": ...,
    "files": {
        "metadata.json": ...,
        "file-name1.sol": ...,
        "file-name2.sol": ...
    },
}

cc: @marcocastignoli

This is a great candidate for a plugin!
Ape has the ExplorerAPI plugin which allows you to do things like contract verification and other tasks that an explorer might have indexed for you. Under the hood, ape should have all of the data necessary in the EIP-2678 ethPM v3 manifest to replicate any deployment task (some reconfiguration might be necessary to conform to a particular tool's non-standard format)
Check out our Etherscan plugin for an example:
https://github.com/ApeWorX/ape-etherscan/blob/main/ape_etherscan/explorer.py#L14
If you have an issues implementing, feel free to respond to this issue or get help from our Discord!


The extensions marketplace is crashed

link: https://marketplace.visualstudio.com/search?term=less&target=VSCode&category=All categories&sortBy=Relevance

Seems to work for me

Seems to work for me

Same problem, I can't search anything on marketplace website. Just open https://marketplace.visualstudio.com/ and search something.


Fix bug with choice slices

Fixes https://github.com/FHIR/GoFSH/issues/122.
When someone has a sliceName specified in the differential on the choice slice, SUSHI doesn't really know how to handle that situation, see this example (pardon my xml):
<element id="Extension.value[x]:valueReference">
      <path value="Extension.valueReference"/>
      <sliceName value="valueReference"/>
      <min value="1"/>
      <type>
        <code value="Reference"/>
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/HealthcareService"/>
      </type>
    </element>

I wasn't sure there was a good way to make this work in SUSHI using contains rules, so in this case I felt like it results in more clear FSH to just not process this as a contains rule. But I may be missing something about how this should be written as FSH, so let me know.

I've pushed a fix for the issue I identified above.  Note that this doesn't address all extension-related issues in the au-base IG.  There are some extensions where they have ids that combine the shortcut syntax and the slicename (e.g., Extension.valueIdentifier:valueIdentifier.  This PR does not fix that case because the id does not have the [x] in it.
I'm not sure that is even a valid id anyway, so I do not plan to address it in this PR.


fix: Fallback to Spark for window expression with range frame

Which issue does this PR close?

Closes #720.
Rationale for this change

What changes are included in this PR?

How are these changes tested?

Thanks @huaxingao


test: Analyse API Edit spec

/ci-test-limit-count run_count=100

/ci-test-limit-count run_count=100

/ci-test-limit-count run_count=100


Convert FAMIX model to a variant of UML class model (Methods to classes, classes to packages)

This mapping would allow to visualize invocations of methods using a class model.

Providing an alternative export format to mse is in the moment not planned as Moose already provides many options to manipulate models.


Mark flaky ConcurrentClassDecorationSpec

See https://github.com/gradle/gradle-private/issues/3534

@bot-gradle test and merge

OK, I've already triggered a build for you.


Add deny_all flag to merge config. Fixes issue with persistent 403 from non-CF clients.

Fixes issues when setting overriding CloudFlareRemoteIPTrustedProxy; Apache always returns a 403 from non-CF IP's even though DenyAllButCloudFlare disabled.

Could you explain the bug you are fixing here in detail and how to reproduce it?

Install on Debian Jessie following https://support.cloudflare.com/hc/en-us/articles/203656534-How-do-I-restore-original-visitor-IP-with-Apache-2-4-
apt-get install apache2-dev libtool git
git clone https://github.com/cloudflare/mod_cloudflare.git && cd mod_cloudflare
apxs -a -i -c mod_cloudflare.c
systemctl restart apache2

/etc/apache2/sites-enabled/**********.conf:
<VirtualHost *:80>
	ServerName *****
	DocumentRoot /srv/http/*******/public
	DirectoryIndex index.php
	ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/run/php5-fpm.sock|fcgi://localhost/public/
	CloudFlareRemoteIPTrustedProxy <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS>
	<Directory /srv/http/******/public>
		Options FollowSymLinks
		AllowOverride All
		Require all granted
	</Directory>
</VirtualHost>

Where the 192.168.22. addresses are load balancers (HAProxy) and Varnish caches.
This will throw a 403 for all requests in my dev environment. Removing the CloudFlareRemoteIPTrustedProxy line restores access. Notice the lack of DenyAllButCloudFlare; mod_cloudflare should not throw a 403 unless this is enabled (it's not enabled globally either - I didn't get a .conf file installed, only the .load so there is no global config)
I can only assume it's due to the config.deny_all not being initialised correctly when merging a null global config with a non-null server config but I've had limited time to test.


Add more properties for Label and Font widgets [Core] [Cocoa]

The Label widget should have a method to change the color of the text and the Font widget should have a method to change the weight of the font, also a method to check what is the current font of a widget.

This was resolves as part of the Travertino refactor.


Dynamic lists of numbers in input data causing rounding errors

This is a bit of an edge case, but a workaround exists, so the issue isn't really pressing.
Basically, we have a service that receives data (in JSON), creates a dynamic from that data, and evaluates rules using that dynamic as input data.
The JSON contains arrays of numbers ... they can be integer or floating-point.
If the first item in an array happens to be an integer (e.g. { 1, 2.1, -4.2, ... etc ... }) then the rules engine treats the rest of the values as integers, and rounds them to the nearest integer, causing the rules evaluations (which may say, for example, data.values.Any(v => v < 3.6)) to return incorrect results.
The problem seems to be in the Utils.CreateAbstractClassType method, where it samples the first element of a list to detect a type.
I can get around it by formatting all values in the JSON as floating point numbers (e.g. { 1.0, 2.1, -4.2, ... etc ...}).
Obviously a dynamic list can contain any mish-mash of types, and there is only so much that can be done to cater for the myriad of scenarios that can arise, but it might be worth checking the whole array to see if all values can be coerced to a compatible type.

I had a go at a "fix" for this. It might be a bit hamfisted.
https://github.com/peeveen/RulesEngine/commit/c7836974a8a891fb0262816424f821dae7e25a0c

Hi @peeveen,
Due to certain limitations around using dynamic objects in c# expressions, we have to enforce a type.
The current logic tries to create an anonymous object based on first value (over simplified)
Now if you are sure of the type of object, you could pass a strongly typed object, which would skip this process.
Checking for more values can help in certain scenarios but we would need to find a balance between performance and accuracy.

Hi,
Yes, I thought this might be a worry for performance. The data I'm passing to the rules engine comes from raw JSON which is being parsed to a pure dynamic ExpandoObject, so I have no idea of any types in advance. I suppose in the JSON->ExpandoObject parsing code, we could perform a similar coercion process.

I can think of 2 approaches:

Check first N values (let us say 3-5), which can guarantee performance irrespective of array length
Allow numbers to be interpreted as decimal (this can be made configurable) which should be good for most use cases.

Let me know your thoughts on this.

Check first N values (let us say 3-5), which can guarantee performance irrespective of array length

Checking for N values will also require handling specially in case of list of objects with changing fields, in these cases we expect users to use strong types as this logic can't support everything

Forcing decimal would probably break any bitwise operators in expressions, though I suppose if it's configurable, you'll know whether you're going to be using anything like that.
The number of values sampled seems like it might be a decent candidate for configuration ... and allow "0" for "all data"?
I discovered another dynamic problem in the interim ... empty arrays (which will be interpreted as "object" arrays by the CreateAbstractClassType code) then cause Dynamic LINQ to fail to parse expressions like testData.myArray.Any(x => x > 10), as it believes the data will be of type object, and complains about the > operator being used. Attempting to cast the value in the expression (testData.myArray.Any(x => Int64(x) > 10)) just generates a different error (Unable to cast object of type 'System.Linq.Expressions.DynamicExpression1' to 'System.Linq.Expressions.ParameterExpression').
Example test code: https://github.com/peeveen/RulesEngine/blob/emptyArrayTest/test/RulesEngine.UnitTest/EmptyCollectionTest.cs
I can't find any way around it. I realise it's probably more of a Dynamic LINQ problem though.

Actually, disregard the empty array thing. I've since discovered the .Cast("typename") method in Dynamic LINQ expression language, which seems to do the trick.

I had another play with this, adding in some Nullable support.

Hi @peeveen, I really appreciate the time and effort you put into this, but this is a solution only works for a corner case with number. Solving this problem in a generic manner for all edge case scenarios (beyond numbers) will open up gates for many more intricacy (This kind of utils might become a library on its own)
We can document this as a known issue as we already have multiple workarounds for this corner case : -

Use a strongly typed object to avoid this fuzzy conversion
Create your own variant of CreateAbstractType and use it before passing to RulesEngine.
Doing some transformations to ensure you data is consistent

We could use your efforts as a sample project on how to create custom abstract type converter. It will allow users to choose which route is more suitable for them and will prevent us from making any assumptions.
I would love to hear your thoughts on this.

Oh, I absolutely acknowledge that this only really improves the "minimum service level" of value type handling. That was the entire scope of my objective.
Your suggested option 2 is probably the only one that could apply to my use case, as the data is purely dynamic. Converting dynamic lists into "known type" lists (using a copy of the Utils code from my PR) before passing them to the rules engine might be an option. I'll carry on using my fork of the engine code until I give that a try.
Thanks.

@peeveen RulesEngine also supports JObject for input types.
It can cover your scenario but might need some explicit casting in expression in some cases.
please refer https://github.com/microsoft/RulesEngine/issues/447


Empty line in IP config file

During parsing of the configuration file, if it encounters an empty line, it fails and exits out.
The better behavior would be to skip that line just like it does for the comments, like comments empty lines can help with file readability.
One possible solution would be:
https://github.com/The-OpenROAD-Project/TritonMacroPlace/blob/9f5f77d5dbeab4784237f39ccc1af7c8fb92fd4e/src/circuit.cpp#L1232
A simple fix would be to look at the length of the buf1 and skip processing if it is 0.
Thanks,
Peter

Thanks for suggestion, but the IP_config.cfg would be removed in the near future.
The other vars like FIN, PITCH, ... are not used at all in TritonMP.
The Tcl flag with "-halo_x" and "-halo_y" would be added in the Tcl command.

Okay, thanks. I'd consider this resolved then if the tcl interface is coming.


gulp-svg-sprite adds random characters to classes

Gulp-svg-sprite is adding random characters to the beginning of symbol group classes. It's not consistent either. The same "color1" class is used on a number of svg symbols, after svg-sprite has concatenated them the classes all have an extra two characters added to the start of the classname like so : "aacolor1", "adcolor1", "ahcolor1" etc. Seems very odd behaviour to me!

Please see here;


Support for prettier plugins

Is your feature request related to a problem? Please describe.
Previously we had to format our liquid files with prettier, but with the v2 of the Shopify Liquid extension, we use theme-check to format our liquid files. This will make it impossible to use prettier-plugin-tailwindcss to automatically order our tailwind classes.
Describe the solution you'd like
Make sure we can use prettier plugins, so we can easily extend the theme-check formatter.
Describe alternatives you've considered
Give the option to either use a prettier plugin or the extension (with plugins).
Checklist

[ x] I have checked and made sure that the proposal adheres to this plugin's principles

I also opened an issue on the repo of the Shopify Liquid extension.

Haa... yeah it seems like we hardcode ours here.
There's probably a clever way to use something from prettier's API to load plugins that are discovered from resolveConfig?
IIRC there's also an issue w.r.t. .prettierignore being ignored, so might lump both those things together.
Unfortunately, we have higher priority stuff to deal with right now. Would accept PRs :)

Hi @charlespwd,
That worked!
Put a couple of hours in it now and figured out that the plugins will indeed be overwritten by the hardcoded plugins provided by this extension.
I tried to spread the option.plugins into the format {plugins}, but can not figure out how to resolve node_modules from the open directory of the user...

IIRC there's also an issue w.r.t. .prettierignore being ignored, so might lump both those things together.

Hi @charlespwd
I came here on the repo searching about .prettierignore as I noted the extension is basically just not using it, and found this message.
So are you guys aware / working on this already, or should I open a dedicated bug?
Thanks

So are you guys aware / working on this already, or should I open a dedicated bug?

We are aware, but not currently working on the .prettierignore issue. Would also accept PRs for this.


Test "KernelModules" failed

It seems the test "KernelModules" failed because in boardfarm/tests/lsmod.py, line 14-16
board.sendline('\nlsmod | wc -l')
board.expect('lsmod ')
board.expect('(\d+)\r\n')
looks like it was verifying the response from "lsmod | wc -l" but the returned string would be a number without "/r/n"?
If changed to board.expect('(\d+)') then the test can pass

Can you share a log?

Is it possible the output is slightly different depending on if a user connects via serial console port vs ethernet port?  Or maybe different versions of commands?
On my router:
$ ssh<EMAIL_ADDRESS>'lsmod | wc -l' > test.txt
$ cat -A test.txt
102$

That last $ I think means just the \n character.  If there was a \r it would display as ^M?

Sure, the log:
==================== Begin KernelModules ====================
root@OpenWrt:/#
root@OpenWrt:/#
| wcroot@OpenWrt:/#
-lroot@OpenWrt:/# lsmod | wc -l
108
root@OpenWrt:/#
root@OpenWrt:/#
TEST_CASE_RESULT =  FAIL
=========== Test failed! Running recovery ===========
File "/home/jenkins/boardfarm/boardfarm/tests/linux_boot.py", line 72, in testWrapper
self.runTest()
File "/home/jenkins/boardfarm/boardfarm/tests/lsmod.py", line 16, in runTest
board.expect('(\d+)\r\n')
File "/home/jenkins/boardfarm/boardfarm/devices/openwrt_router.py", line 436, in expect
return super(OpenWrtRouter, self).expect(*args, **kwargs)
| wc -l
108
root@OpenWrt:/#
root@OpenWrt:/#

thanks, @mbanders , in my case it was connecting via serial port, not sure about the command version, looks like the returned string doesn't have "\n" or "\r"
$ ssh<EMAIL_ADDRESS>'lsmod | wc -l' > test.txt
$ cat test.txt
108

I made it safer and fewer lines of code, please review it: https://github.com/qca/boardfarm/pull/67


Added German for explanation and improved translation

You should update only strings. Status: Rejected

@AndraxDev But without this the explanation isn't German.


broadcast ada tx, phase result return end with f4

broadcast tx code is like following:
https://github.com/vacuumlabs/adalite/blob/master/server/transactionSubmitter.js
then, in the phase result, the response is end with f4, but end with f5 is success, in what case, it return f4?

@guotie  can you tell me where find url  ${process.env.ADALITE_BLOCKCHAIN_EXPLORER_URL}/api/v2/txs/signed
do i need run a full node?


Show-Signals: emojis of length 3 not rendered properly

In the screen-shot below:

... the signals 'PASTE-A' and 'PATTERN'
are of length 3 and causes rendering failure (see the gap).
Actually, there are other length 3 emojis in the signal list, but they occur on the dark lines so this gap is hidden.

I think this is impossible to fix. Because the length of some emojis doesnt actually match its real length eg:
the length of 🛡 is 3, why?
See: http://randomguy32.de/unicode/misc/emoji-length/

https://stackoverflow.com/questions/45624030/display-unicode-emoji-in-powershell

For the shield emoji (🛡, which is defined as length 2 in unicode spec 13.1, but in windows has length 3), the following code is able to return 2:
    $symbol = "🛡";
    $runes = $symbol.EnumerateRunes().ToString();
    $enumerator = $symbol.EnumerateRunes();
    $count = 0;

    while ($enumerator.MoveNext()) {
      $count++;
    }

But we need a much more graceful and succinct way to get the count. This article suggests that:

$symbol.EnumerateRunes().Count()

but running this results in:
 RuntimeException: Method invocation failed because [System.Text.Rune] does not contain a method named 'Count'.
 at <ScriptBlock>, C:\Users\Plastikfan\dev\github\PoSh\Hoopz\Elizium.Loopz\Tests\Public\commands\Show-Signals.tests.ps1:30

Some experimntal code:
  It 'emojis' {

    #    (new System.Globalization.StringInfo("e\u0301")).LengthInTextElements

    $symbol = "🛡"; # U+1F6E1
    # $length = (new System.Globalization.StringInfo($symbol)).LengthInTextElements;

    $utf16codepoints = $symbol.utf16

    $stringInfo = [System.Globalization.StringInfo]::new($symbol);
    $length = $stringInfo.LengthInTextElements;

    # $stringInfo.
    # $bytes = [System.Text.Encoding]::Unicode.GetBytes($symbol);
    # $rune = [System.Text.Rune]::DecodeLastFromUtf16($symbol, )

    $runes = $symbol.EnumerateRunes().ToString();
    $enumerator = $symbol.EnumerateRunes();
    $count = 0;

    while ($enumerator.MoveNext()) {
      $count++;
    }

    # $charCount = [System.Text.Encoding]::Default.GetCharCount($Symbol);

    # Write-Host "--> BYTES: '$bytes'"
    Write-Host "--> Length: $($symbol.Length)"
    Write-Host "--> LengthInTextElements: $($length)"
    Write-Host "--> Grapheme Count: $($count)"
    Write-Host "--> SYMBOL-INFO: '$($stringInfo.String)'"
    Write-Host "--> SYMBOL-INFO length: '$($stringInfo.String.Length)'"
    Write-Host "--> SYMBOL code points: '$($utf16codepoints)'"
    Write-Host "--> SYMBOL runes: '$($runes)'"
    Write-Host "--> FIRST: $($symbol[0])"
    Write-Host "--> SECOND: $($symbol[1])"
    Write-Host "--> THIRD: $($symbol[2])"
    # Write-Host "--> Char Count: '$charCount'"

  }

  It 'question' {
    function get-GraphemeLength {
      [OutputType([int])]
      param(
        [Parameter(Position = 0)]
        [string]$Value
      )
      [System.Text.StringRuneEnumerator]$enumerator = $Value.EnumerateRunes();
      [int]$count = 0;

      while ($enumerator.MoveNext()) {
        $count++;
      }

      return $count;
    }

    function show-Grapheme {
      param(
        [Parameter(Position = 0)]
        [string]$Value
      )
      [int]$graphemeLength = get-GraphemeLength $Value;
      Write-Host "Symbol: '$Value', length: '$($Value.Length)', grapheme length: '$graphemeLength'";
    }

    #                      "--", "---", "---"
    #<PHONE_NUMBER>01234567890123456789
    [string[]]$symbols = @("🛡", "🏷", "🎯");
    [int]$graphemeLength = get-GraphemeLength $symbol;
    Write-Host "Ruler: ->0123456789";

    foreach ($sym in $symbols) {
      show-Grapheme $sym;
    }

    # [string]$format = "Greetings: '{0}'";
    [int]$width = 10;
    foreach ($sym in $symbols) {
      # Write-Host $($format -f $sym);
      [int]$filler = $width - $sym.Length;
      Write-Host "$([string]::new('*', $filler))$sym"
    }
  }

this issue is a FUCKING nightmare


Is there any public visible demo website?

Amazing project! Congratulations!
Is there any public visible demo website?

@frederikhors Hi, sorry for being so late getting back to you.
Two examples
https://cloak.software and https://skytrace.space/

Thanks!


Does TreeExplainer work on DART booster?

Hi all~
I have an ensemble xgboost model, which uses DART booster i think, here is the params defined:
             param_1 = {'booster':'dart',                    'objective': 'binary:logistic',                   'max_depth': depth,                    'eta': 0.02,                    'max_delta_step': 1,                   'subsample': 0.5,                   'colsample_bytree': 0.5,                   'colsample_bylevel': 0.5,                   'sample_type': 'uniform',                   'normalize_type': 'tree',                   'rate_drop': 0.5,                   'skip_drop': 0.5,                   'scale_pos_weight': pwscale*sum(df_train_1[class_col] == 0)/sum(df_train_1[class_col] == 1)                    }
And versions of tools:
xgboost.version: 0.7.post4
sklearn.version: 0.18.2
scipy.version: 0.19.1
And when I try to explain using TreeExplainer, it gives error:
AssertionError: Only the 'gbtree' model type is supported, not 'dart'!
I tried to read the source code, it seems it would not accept any booster other than gbtree. In this case, would it be possible to use SHAP to explain my model? Or is this due to an outdated version of xgboost?
Thankssss in advance!!

Emmm I think probably it is not supported after reading the source code superficially .
So if anyone has to use DART booster and you want to calculate shap_values, I think you can directly use XGBoost's prediction method:
For example, shap_values = bst.predict(x_test, pred_contribs = True)
The key is the pred_contribs parameter or pred_leaf
See in XGBoost document:
pred_contribs (bool) – When this is True the output will be a matrix of size (nsample, nfeats + 1) with each record indicating the feature contributions (SHAP values) for that prediction. The sum of all feature contributions is equal to the raw untransformed margin value of the prediction. Note the final column is the bias term.
I think in TreeExplainer's source code, the shap_value function also calls on this prediction method to calculate SHAP values.
Then you may proceed with SHAP values and may have to draw diagrams yourself.
Big thanks to SHAP developers~ Really nice and convenient package~


Conflict group ancestor with perm group.%s

// Resolve a group's permissions. Ancestor permissions should be overridden
// by each successive descendant.
private void resolveGroup(Map<String, Boolean> permissions, Set<String> regions, String world, String group) {
    List<String> ancestry = getDao().getAncestry(group);

    debug("Ancestry for %s: %s", group, ancestry);
    for (String ancestor : ancestry) {
        applyPermissions(permissions, ancestor, true, regions, world);

            // Add group permissions, if present
           // for (String groupPermissionFormat : getGroupPermissionFormats()) {
           //     permissions.put(String.format(groupPermissionFormat, group), Boolean.TRUE);
          //  }
    }

    // Only this group, ancestor not necessary
    for (String groupPermissionFormat : getGroupPermissionFormats()) {
        permissions.put(String.format(groupPermissionFormat, group), Boolean.TRUE);
    }
}

Because iChat (for example), can not find the right group of players if perm is defined with the use of inheritance

I'll make this an option — maybe a new group permission option — because inherited group permissions are still useful.
For example, I have things set up with WorldGuard where the default group cannot build while all other groups can. Rather than list all other groups as members of _global_, I just have them as descendants of a special builder group. Then WorldGuard only has to test if a player has group.builder, rather than each individual group permission.
It also seems like the applyPermissions() call should come later, to allow manually overriding group permissions.
I'll look into making these changes soon.

A general fix was committed to d471be7.
Added new config option assigned-group-permission which should do what you want.
If you're still using group.%s, you'll probably want to do something like:
group-permission: ''
assigned-group-permission: group.%s

Thanks for the suggestion!


Spec: Pod objects and k8s events

This PR adds Pod objects to the SysFlow specification and k8s events.

testing the installation of the python stuff and testing sysprint with old and new traces - all seem good


CI: Add before_all_suites/after_all_suites functionality to multiverse

Currently, when running the active_record_pg mutliverse suite, in the before_suite.rb, we are dropping and creating the database before each environment run.  This is there to prevent the database from growing too large since the tests don't all clean up after themselves. In the CI this is fine because the CI runs multiverse serialized rather than parallel. However, when running this suite locally this can cause this error to occur when attempting to drop the database while another process is running the suite as well.
PG::ObjectInUse: ERROR:  database "multiverse_activerecord_6_1_6_2_7_4_ruby" is being accessed by other users
DETAIL:  There is 1 other session using the database.
Couldn't drop database 'multiverse_activerecord_6_1_6_2_7_4_ruby'

Also, it looks like this error doesn't seem to happen when running on ruby version 2.5, but does happen on 2.7.
It doesn't look like multiverse has the ability to do a before_all_suites/after_all_suites which is where this type of behavior should be instead to avoid parallelism issues.

Changed the active_record_pg test suite to always run in serial: https://github.com/newrelic/newrelic-ruby-agent/pull/1980
Leaving this ticket open to address the a new todo:
TODO: Devise a way for an individual suite to express that it doesn't support parallel

If we decide in future that we really want "before all" / "after all" or "setup once" / "teardown once" functionality, there's this article from Ruslan that offers 2 good choices:

Use the minitest-hooks gem
Simply put your "before all" code inline (outside of any method definition) at the top of the class before any test definitions and then follow up with an inline Minitest.after_run {} block that contains all of your "after all" code.


fix(project): adds base Provider class which reduces code duplication

Fixes #13

A few questions:

This PR didn't pass my CI tests.  Can you correct any TypeScript problems that came up in Travis CI?
You've submitted a few PR.  Does this PR include everything so far?
Code looks good, but have you personally tested it on Android and iOS?

Should be able to merge this after the three are answered / resolved.
Best,

Fixed
Yes, this is the PR which should be merged and contains the first set of changes
I tested Facebook, LinkedIn, Google in ionic2 app

Thanks for contributing!
I looked at your repo and you have a lot of interesting changes.  We should collaborate more on this library to make it awesome :-)


Add What's the Future Funk? X 4KM (Mashup) by San4ka569

Song Name
What's the Future Funk? X 4KM (Mashup)
Artist Name
San4ka569
Source
Youtube
Youtube Link
EPU2ogKxnH4
Direct File Link
No response
Song ID
701013
Start Offset [ms]
0
Extra
Created from Auto Nong.
Created for level: 44062068
Downloaded: Yes

Принять
вс, 18 авг. 2024 г., 08:34 auto-nong[bot] @.***>:

Thanks for contributing!
Someone will soon review your request.
Here is the JSON result for the reviewer:
{
"name": "What's the Future Funk? X 4KM (Mashup)",
"artist": "San4ka569",
"source": "youtube",
"startOffset": 0,
"yt-id": "EPU2ogKxnH4",
"songs": [
701013
]
}
To accept the request, a reviewer needs to write "accept".
—
Reply to this email directly, view it on GitHub
https://github.com/FlafyDev/auto-nong-indexes/issues/3024#issuecomment-2295120805,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BD3XNNO7REHCUE2KKD3GG2DZSAW5JAVCNFSM6AAAAABMWBNSPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJVGEZDAOBQGU
.
You are receiving this because you authored the thread.Message ID:
@.***>


Native iOS 15 player for Safari with fairplay in web app version

Have you read the FAQ and checked for duplicate open issues?
yes
What version of Shaka Player are you using?
3.1.2
Can you reproduce the issue with our latest release version?
Last version got problem with safari and fairplay #3598
What browser and OS are you using?
Safari IOS 15 (iPhone) with fairplay
What did you expect to happen?
According to this https://github.com/google/shaka-player/issues/3565 I should be able to remove controls from native player in safari. We are using fairplay and as the doc says we got a native player in full screen (which is fine) but we would like to put our custom controls, is that possible?

Yes, it is possible to use custom controls with Fairplay, but only when not playing fullscreen on iOS. In iOS, the Fullscreen API is not enabled, so the native controls would be shown in Fullscreen.


getting to user defined position other than 0

Hello, I am trying to implement this library. The list view is displayed in the android activity when the item in list view is clicked it displays the content related to the clicked list element inside the foldable layout.
For that during i have to get to the list view clicked item's content and not to the first content.
how to make the foldable layout to directly show the 10 or 24th element.
Note scrolltoposition is not fit for me to use

Me too facing the same issue. But did't get solution.

Me too facing the same issue. But did't get solution.

foldablelayout.scrollToPosition(position)


Add missing inputs to NativeEmbedding

Fixes a problem of C++ embedding not rebuilding after modifying its source code.

Thanks!


Look into Alternate Ways to Mount NavX

NavX needs to be on a surface perpendicular to the ground in order to function properly according to the doc.
Done Includes

[ ] Look into Wiring Options off board the Rio
[ ] Discuss with Build on Mounting w/ Respect to Potential Wiring

Thoughts on this... I see two easy (famous last words) options here: mount the Rio horizontally or vertically; or mount the Navx horizontally or vertically while leaving the Rio where it is. I believe the Rio need not move off of the electronics board in either case. We can build Lexan triangle brackets that level the Rio in its current location; or build similar but smaller brackets that level the Navx horizontally immediately above its current location, with a few-inch piece of ribbon cable to wire it to the Rio.


Hello 0.6.x development branch

Once this PR is merged, I will update the default branch to be the new 0.6.x branch. The old 0.5.x branch still stay in place at least until 0.6.0 is released.
Refs reactphp/async#29

Duh, just noticed I've selected the wrong target branch for this PR. To mitigate this, I've just temporarily deleted 0.6.x, renamed 0.5.x to 0.6.x and recreated 0.5.x at the original commit position. All branches should now be in order again: 0.5.x points to the same commit as v0.5.7 and 0.6.x branches off from the same commit and contains the changes from this PR.