Question: Just a few questions.

Hello, new to using github's issues section but I've been occasionally checking in on the progress of this port and I will say I'm impressed with how far it's come. Makes me optimistic for any future adjustments and additions that can be done. I'm simply curious about a few things concerning this port. I hope I'm not stepping on any toes asking these.

Why N64 instead of the remaster/XBLA version? Is there a wall in doing that instead of this? I have no gripes as I mostly prefer N64 anyway but I'm just wondering what made the decision.

Would online functionality be a possibility? Given time I'm sure but I imagine it will take a long time to be feasible for both Co-op and Deathmatch. I'm sure this has been asked before but in a sense it's related to question 1 considering I recall XBLA having its own online multiplayer.

Mod/texture pack support? I know there aren't that many mods for PD compared to other N64 titles but it'd be nice to know stuff could be optional to use on this port. Texture packs would be nice too since 1964 has the HQ text and such, and the XBLA version has HQ assets and textures as well.

I didn't rewrite the game from scratch, this is based on the Perfect Dark N64 decompilation project. There is no source code or  a similar decomp project for the XBLA version, so this kind of port is not possible for it.
Theoretically yes, and in part that's why I started working on the port. But adding it is a lot of work, maybe I'll do it eventually, maybe someone else will beat me to it.
There is partial mod support already, more or less enough to replace assets and levels. HD texture support is planned.

I see, thank you for the swift response! I was just curious about what was possible or planned and what wasn't. Thank you very much, will continue to use and report anything if I find it. Or brainstorm any additions I think are within the scope of this project.


Would love to help develop this again

Wanted to see if this project was still active and contribute, maybe even get Firefox and Safari working, or other streaming services. Otherwise might fork.

Sorry @david-mccoy, this project has been inactive for awhile. I'd be glad to give you any pointers to help you along the way!

Thanks for responding! I'm actually looking into uncovering Netflix Party's API right now, so will be pursuing that instead.


How to Install Metasploitable on Mac with Parallels Desktop?

How to Install Metasploitable on Mac with Parallels Desktop?
I read your article "https://dacuevash.github.io/en/technology/2023/08/01/3rd-party-vm-parallels-en.html", but the image on it is out of work;
just like this:

Can you repair it or give me more guidance?

Hello. Thanks for bringing this to my attention. I think I know why it's happening and I will try to fix it as soon as possible. Sorry for the inconvenience.

It should be fixed now


Refactor repository scaffolding

Closes #104
Move warehouse directory one level down (it was /warehouse/warehouse before)

I used PyCharm's indexing feature to safely move these directories and update references including Python import statements

Rename warehouse to e3sm_warehouse

I used PyCharm's indexing feature to safely rename this directory and update references including Python import statements

Update root level setup.py and remove /e3sm_warehouse/setup.py
Move NewCMIPVariableSetup.md to /docs
Update warehouse string refs to e3sm_warehouse
Update .gitignore with standard list from https://github.com/github/gitignore/blob/main/Python.gitignore

How to view this PR:

Most of the changes in the diff are related to deleting the /esgfpub directory, so you can ignore those

Closing in favor of using the branch directly on the repo for easier collaboration


Yes I know this may sound stupid but my beginner brain does not understand

Hey,
I am just wondering how to specify or know the password to identify as the room operator, this wasn't written in the docs so I am not a 100% sure on what to do, if you have any ideas, please let me know.

Managed rooms are a bit complicated to figure out at first, but once you get it working they can be quite useful for large watch parties.
First off, if you look at the help guidance at https://syncplay.pl/guide/client/ it explains:

Several features are available under the ‘Advanced’ section of the menu bar at the top of the Syncplay window:...
Create managed room / Identify as room operator – In a managed room only those identified as ‘Room Operators’ people can pause, unpause and seek. If you create a controlled room then you will join the ‘managed’ version of that room (e.g. ‘+MyRoom:df908ee00155’) and will be given a password for that controlled room (e.g. ‘QY-907-577’). You and others can use this password to identify yourselves as Room Operators on that specific room in the future. Room Operators are identified in the userlist by an icon of a person holding a key. Room name/password combinations only exist for the server you created the room on, so if you change server you will need to generate a new room suffix.

When you select the option from the advanced portion of the Syncplay menu to create a managed room it will say something like the following in the notification window:

Created managed room '+Foobar:1E11B7F6F62A' with password 'NH-839-939'. Please save this information for future reference!
In managed rooms everyone is kept in sync with the room operator(s) who are the only ones who can pause, unpause, seek, and change the playlist.
You should ask regular viewers to join the room '+Foobar:1E11B7F6F62A' but the room operators can join the room '+Foobar:1E11B7F6F62A:NH-839-939' to automatically authenticate themselves.

So in this example +Foobar:1E11B7F6F62A is the public name of the room and NH-839-939 is the password used to authenticate operators. As explained in the notification, when you combine the two as +Foobar:1E11B7F6F62A:NH-839-939 you can join the public room but auto-authenticate with the password.
There is also a nice little additional feature which I think was introduced in Syncplay 1.6.6 (but has never been properly documented), which is that the managed room feature is made even easier due to the 'room history' / 'favourite rooms' feature. Recent versions of Syncplay will automatically add both +Foobar:1E11B7F6F62A and +Foobar:1E11B7F6F62A:NH-839-939 to your room list which is shown in the dropdown list on the configuration window (the default room option) and in the main Syncplay GUI (next to where it says to join the room). If you join using the latter (longer) room name then it will automatically authenticate you as the room moderator for that room. To backup your list of rooms and passwords you will want to backup the syncplay.ini in the %APPDATA% folder (or equivalent if you are using a non-Windows operating system).

I'll close this as I think I've answered your question adequately, but feel free to re-open it if you have any follow-up queries.


cstr_empty() can return false when size is 0

To cut to the chase, looks like there's logic in cstr_empty() which assumes empty strings will always be represented by small strings, however this invariant is not held when resizing.
For example:
#include <stdio.h>
#include "include/stc/cstr.h"

int main() {
    cstr s = cstr_lit("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
    cstr_resize(&s, 0, '_');
    printf("Size: %zd\n", cstr_size(&s));
    printf("Empty: %s\n", cstr_empty(&s) ? "yes" : "no");
    return 0;
}

When compiled and run with gcc cstr-empty-bug.c src/libstc.c -lm && ./a.out, gives:
Size: 0
Empty: no

The code has to be slightly modified for the v50dev branch, but the results are the same there.

Thanks for reporting.


[Question] Changing alt + key combination

Hello, I am trying to change all my alt + number combinations so that they are subscript numbers. For example H20 would be H, alt + 2, 0. How would I go about doing something along these lines?
Inside the karabiner.json, it looks like I would need to add a json dictionary for each key. Where in the file would this go?
      {
        "type": "basic",
        "conditions": [{
          "type": "variable_if",
          "name": "symbol",
          "value": 1
        }],
        "from": {
          "key_code": "31",
          "modifiers": {
            "mandatory": ["alt"]
          }
        },
        "to": [{
          "key_code": "2080",
          "modifiers": []
        }]
      }

2080 is the unicode for subscript 1 and 31 for 1, is that what I want? Is this correct?

hey, this is supported in the current version, just a bit tricky to get setup..
here is an example
                {
                    "type": "basic",
                    "from": {
                        "key_code": "down_arrow",
                        "modifiers": {
                            "mandatory": [
                                "right_shift"
                            ]
                        }
                    },
                    "to": [
                        {
                            "select_input_source": {
                                "input_source_id": "^com\\.apple\\.keylayout\\.UnicodeHexInput$"
                            }
                        },
                        {
                            "key_code": "2",
                            "modifiers": [
                                "right_option"
                            ]
                        },
                        {
                            "key_code": "1",
                            "modifiers": [
                                "right_option"
                            ]
                        },
                        {
                            "key_code": "9",
                            "modifiers": [
                                "right_option"
                            ]
                        },
                        {
                            "key_code": "3",
                            "modifiers": [
                                "right_option"
                            ]
                        },
                        {
                            "select_input_source": {
                                "input_source_id": "^com\\.apple\\.keylayout\\.ABC$"
                            }
                        }
                    ]
                },

that maps my right shift key + the down arrow key to: ↓


[macOS] Fix CanvasOcclusionShaderRD format error with double precision build.

Fixes 2D shadows in the double precision macOS/iOS build.
MoltenVK can't use 64-bit formats since Metal doesn't support it.
Fixes https://github.com/godotengine/godot/issues/70879
Fixes https://github.com/godotengine/godot/issues/78008

I'm surprised this is only causing issues on macOS, native Vulkan support for this format doesn't look great either:

https://vulkan.gpuinfo.org/listbufferformats.php

Cherry-picked for 4.2.2.


Comparing R Terra and Julia Rasters crop function: alignment y to the geometry of x

Hello!
I have my code written in R using terra package (https://github.com/rspatial/terra), where I get pixel count based on different masks from rasters & polygons.
In a simple experiment, I  cropped a raster with a smaller one. (Pixels are the same resolution and they 100% overlap). And so, due to differences in crop approach, I am getting different results.
In terra's crop function, as a default, there is a parameter snap set as "near" for the alignment y to the geometry of x. I do not care about touches because it is for polygons only. (https://rdrr.io/cran/terra/man/crop.html)
Depending on the settings, I get:
(1) snap="in"
dimensions  : 901, 1760, 1  (nrow, ncol, nlyr)
extent      : -1986126, -1106126, 1312602, 1763102  (xmin, xmax, ymin, ymax)
(2) snap="out"
dimensions  : 903, 1760, 1  (nrow, ncol, nlyr)
extent      : -1986126, -1106126, 1312102, 1763602  (xmin, xmax, ymin, ymax)
(3) snap="near" #This is a default approach I use in my original code, and this I what I would like to have in Julia.
dimensions  : 902, 1760, 1  (nrow, ncol, nlyr)
extent      : -1986126, -1106126, 1312102, 1763102  (xmin, xmax, ymin, ymax)

In Julia Rasters, the control is via touches:
If touches=false:
1760×901 Raster{Float32,2} with dimensions:
  X Projected{Float64} LinRange{Float64}(-1.98613e6, -1.10663e6, 1760) ForwardOrdered Regular Intervals crs: WellKnownText,
  Y Projected{Float64} LinRange{Float64}(1.7626e6, 1.3126e6, 901) ReverseOrdered Regular Intervals crs: WellKnownText
and reference dimensions:
  Band Categorical{String} String["TSen_Slope"] Unordered
extent: Extent(X = (-1.986125753830057e6, -1.1061257538300573e6), Y = (1.3126021807256853e6, 1.7631021807256853e6))
missingval: NaN32

If touches=true:
1762×903 Raster{Float32,2} with dimensions:
  X Projected{Float64} LinRange{Float64}(-1.98663e6, -1.10613e6, 1762) ForwardOrdered Regular Intervals crs: WellKnownText,
  Y Projected{Float64} LinRange{Float64}(1.7631e6, 1.3121e6, 903) ReverseOrdered Regular Intervals crs: WellKnownText
and reference dimensions:
  Band Categorical{String} String["TSen_Slope"] Unordered
extent: Extent(X = (-1.9866257538300573e6, -1.105625753830057e6), Y = (1.3121021807256853e6, 1.7636021807256856e6))
missingval: NaN32

So the comparable result (based on pixel dimension) is when in terra I set snap="in" while in Julia Raster's touches=false. But all my original R scripts are based on default snap="near".
Also, I have seen https://github.com/rafaqz/Rasters.jl/issues/312 for boundary using mask.
Would you consider adding alignment control?
Thank you!

It seems terra does not move the 1760 at all.
Essentially we will never recreate exactly what terra does for all commands in Rasters.jl. stars in R doesnt have snap for crop either.
Maybe explain a lottle more why using near matters to you here.
(The touches argument is to make sure boundary=touches in rasterize would not have any pixels cut off. So yes, usually slighlty larger)

It seems terra does not move the 1760 at all.
Essentially we will never recreate exactly what terra does for all commands in Rasters.jl. stars in R doesnt have snap for crop either.
Maybe explain a little more why using near matters to you here.
(The touches argument is to make sure boundary=touches in rasterize would not have any pixels cut off. So yes, usually slighlty larger).

"It seems terra does not move the 1760 at all?"
Hmm, did you mean 1762 perhaps as in Rasters.jl crop with touches:true?
"Maybe explain a little more why using near matters to you here."
For a very practical reason, which is consistency. For the previous research project, I used R, and I would like to use the same approach in my new investigation. If I now change the way of extracting and then counting pixels, I will introduce some noise and bias, and that may impact my results and comparison. Besides, that is the default option which probably is not very frequently changed when someone uses two rasters to crop.
Moreover, using Julia and your package I can get results in minutes instead of hours when using R terra. That is why I wanted to do my research in Julia using Rasters. But, as it seems crop(), here has a different approach so  I will have to stick to R in that part at least. And that is ok.
In terms of touches, at least in terra, it looks more like your boundary in e.g. extract() "boundary: for polygons, include pixels where the :center is inside the polygon, where the polygon :touches the pixel, or that are completely :inside the polygon. The default is :center"
"Essentially we will never recreate exactly what terra does for all commands in Rasters.jl. stars in R doesnt have snap for crop either, and rasterio in python has all_touched just like we do."
Ok, I think that explains everything and closes the topic:)
Thanks!

I think you are right, it actually makes sense to have the :center option here too, which is essentially what you want. That would make this more consistent. I'm happy to make this change.
But I need to emphasize that there is no guarantee you will always get the same result even after that. Points that are on the line are treated differently per axis in gdal/R but consistently here. So results are not always identical.

That is great! If you need help in e.g. testing I am all in!
"But I need to emphasize that there is no guarantee you will always get the same result as terra even after that. Points that are on the line are treated differently per axis in gdal/R but consistently here. So results are not always identical."
Yes, I know. And that is a general precaution, not only for terra. That is why I am testing each step and exploring!
Thank you very much!

Hello,
Any updates on this maybe?:)

Ahh sorry no. I suggest you make a new issue that writes out exactly what the change should be with every detail specified.
With my workload Im unfirtunately unlikely to read back over a long conversation and I just skim the issue titles as a reminder of what Im meabt to do.

Closed in favor of #593


Microk8s not  starting on ubuntu/odroid

Summary
when installing microk8s on a clean ubuntu-Mate on an odroid N2+ SBC microk8s does not start
ubuntu:
https://wiki.odroid.com/odroid-n2/os_images/ubuntu/20220622
microk8s 1.28
What Should Happen Instead?
microk8s should start
Reproduction Steps

Install Ubuntu/Mate on Odroid N2+
https://wiki.odroid.com/odroid-n2/os_images/ubuntu/20220622

Install Microk8s using snap

Introspection Report
kubectl get pod -n kube-system gives:
coredns-864597b5fd-nqn2p                 0/1     Pending                 0             8m2s
calico-kube-controllers-77bd7c5b-fnzxk   0/1     Pending                 0             8m2s
calico-node-bf62c                        0/1     Init:CrashLoopBackOff   5 (70s ago)   8m2s
kubectl logs calico-node-bf62c -n kube-system gives:
Defaulted container "calico-node" out of: calico-node, upgrade-ipam (init), install-cni (init)
Error from server (BadRequest): container "calico-node" in pod "calico-node-bf62c" is waiting to start: PodInitializing
kubectl describe pod calico-node-bf62c -n kube-system gives:
Name:                 calico-node-bf62c
Namespace:            kube-system
Priority:<PHONE_NUMBER>
Priority Class Name:  system-node-critical
Service Account:      calico-node
Node:                 odroid/<IP_ADDRESS>
Start Time:           Tue, 14 Nov 2023 10:19:08 +0000
Labels:               controller-revision-hash=6fbb45588b
k8s-app=calico-node
pod-template-generation=1
Annotations:
Status:               Pending
IP:                   <IP_ADDRESS>
IPs:
IP:           <IP_ADDRESS>
Controlled By:  DaemonSet/calico-node
Init Containers:
upgrade-ipam:
Container ID:  containerd://6fdad669f5792ea1618ca5ae284d3725f77b59a7d15907cc17ff34c2a14b54ec
Image:         docker.io/calico/cni:v3.25.1
Image ID:      docker.io/calico/cni@sha256:9a2c99f0314053aa11e971bd5d72e17951767bf5c6ff1fd9c38c4582d7cb8a0a
Port:
Host Port:
Command:
/opt/cni/bin/calico-ipam
-upgrade
State:          Terminated
Reason:       Completed
Exit Code:    0
Started:      Tue, 14 Nov 2023 10:19:50 +0000
Finished:     Tue, 14 Nov 2023 10:19:50 +0000
Ready:          True
Restart Count:  0
Environment Variables from:
kubernetes-services-endpoint  ConfigMap  Optional: true
Environment:
KUBERNETES_NODE_NAME:        (v1:spec.nodeName)
CALICO_NETWORKING_BACKEND:  <set to the key 'calico_backend' of config map 'calico-config'>  Optional: false
Mounts:
/host/opt/cni/bin from cni-bin-dir (rw)
/var/lib/cni/networks from host-local-net-dir (rw)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-wlsfs (ro)
install-cni:
Container ID:  containerd://be5e122180d5d88f1765c671d592e62ba0fd33deafc6bdf307d5d8b15d1f22e1
Image:         docker.io/calico/cni:v3.25.1
Image ID:      docker.io/calico/cni@sha256:9a2c99f0314053aa11e971bd5d72e17951767bf5c6ff1fd9c38c4582d7cb8a0a
Port:
Host Port:
Command:
/opt/cni/bin/install
State:          Running
Started:      Tue, 14 Nov 2023 10:34:18 +0000
Last State:     Terminated
Reason:       Error
Exit Code:    1
Started:      Tue, 14 Nov 2023 10:28:45 +0000
Finished:     Tue, 14 Nov 2023 10:29:17 +0000
Ready:          False
Restart Count:  7
Environment Variables from:
kubernetes-services-endpoint  ConfigMap  Optional: true
Environment:
CNI_CONF_NAME:         10-calico.conflist
CNI_NETWORK_CONFIG:    <set to the key 'cni_network_config' of config map 'calico-config'>  Optional: false
KUBERNETES_NODE_NAME:   (v1:spec.nodeName)
CNI_MTU:               <set to the key 'veth_mtu' of config map 'calico-config'>  Optional: false
SLEEP:                 false
CNI_NET_DIR:           /var/snap/microk8s/current/args/cni-network
Mounts:
/host/etc/cni/net.d from cni-net-dir (rw)
/host/opt/cni/bin from cni-bin-dir (rw)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-wlsfs (ro)
Containers:
calico-node:
Container ID:
Image:          docker.io/calico/node:v3.25.1
Image ID:
Port:
Host Port:
State:          Waiting
Reason:       PodInitializing
Ready:          False
Restart Count:  0
Requests:
cpu:      250m
Liveness:   exec [/bin/calico-node -felix-live] delay=10s timeout=10s period=10s #success=1 #failure=6
Readiness:  exec [/bin/calico-node -felix-ready] delay=0s timeout=10s period=10s #success=1 #failure=3
Environment Variables from:
kubernetes-services-endpoint  ConfigMap  Optional: true
Environment:
DATASTORE_TYPE:                     kubernetes
WAIT_FOR_DATASTORE:                 true
NODENAME:                            (v1:spec.nodeName)
CALICO_NETWORKING_BACKEND:          <set to the key 'calico_backend' of config map 'calico-config'>  Optional: false
CLUSTER_TYPE:                       k8s,bgp
IP:                                 autodetect
IP_AUTODETECTION_METHOD:            first-found
CALICO_IPV4POOL_VXLAN:              Always
CALICO_IPV6POOL_VXLAN:              Never
FELIX_IPINIPMTU:                    <set to the key 'veth_mtu' of config map 'calico-config'>  Optional: false
FELIX_VXLANMTU:                     <set to the key 'veth_mtu' of config map 'calico-config'>  Optional: false
FELIX_WIREGUARDMTU:                 <set to the key 'veth_mtu' of config map 'calico-config'>  Optional: false
CALICO_IPV4POOL_CIDR:               <IP_ADDRESS>/16
CALICO_DISABLE_FILE_LOGGING:        true
FELIX_DEFAULTENDPOINTTOHOSTACTION:  ACCEPT
FELIX_IPV6SUPPORT:                  false
FELIX_HEALTHENABLED:                true
FELIX_FEATUREDETECTOVERRIDE:        ChecksumOffloadBroken=true
Mounts:
/host/etc/cni/net.d from cni-net-dir (rw)
/lib/modules from lib-modules (ro)
/run/xtables.lock from xtables-lock (rw)
/var/lib/calico from var-lib-calico (rw)
/var/log/calico/cni from cni-log-dir (ro)
/var/run/calico from var-run-calico (rw)
/var/run/nodeagent from policysync (rw)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-wlsfs (ro)
Conditions:
Type              Status
Initialized       False
Ready             False
ContainersReady   False
PodScheduled      True
Volumes:
lib-modules:
Type:          HostPath (bare host directory volume)
Path:          /lib/modules
HostPathType:
var-run-calico:
Type:          HostPath (bare host directory volume)
Path:          /var/snap/microk8s/current/var/run/calico
HostPathType:
var-lib-calico:
Type:          HostPath (bare host directory volume)
Path:          /var/snap/microk8s/current/var/lib/calico
HostPathType:
xtables-lock:
Type:          HostPath (bare host directory volume)
Path:          /run/xtables.lock
HostPathType:  FileOrCreate
sys-fs:
Type:          HostPath (bare host directory volume)
Path:          /sys/fs/
HostPathType:  DirectoryOrCreate
cni-bin-dir:
Type:          HostPath (bare host directory volume)
Path:          /var/snap/microk8s/current/opt/cni/bin
HostPathType:
cni-net-dir:
Type:          HostPath (bare host directory volume)
Path:          /var/snap/microk8s/current/args/cni-network
HostPathType:
cni-log-dir:
Type:          HostPath (bare host directory volume)
Path:          /var/snap/microk8s/common/var/log/calico/cni
HostPathType:
host-local-net-dir:
Type:          HostPath (bare host directory volume)
Path:          /var/snap/microk8s/current/var/lib/cni/networks
HostPathType:
policysync:
Type:          HostPath (bare host directory volume)
Path:          /var/snap/microk8s/current/var/run/nodeagent
HostPathType:  DirectoryOrCreate
kube-api-access-wlsfs:
Type:                    Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds:  3607
ConfigMapName:           kube-root-ca.crt
ConfigMapOptional:
DownwardAPI:             true
QoS Class:                   Burstable
Node-Selectors:              kubernetes.io/os=linux
Tolerations:                 :NoSchedule op=Exists
:NoExecute op=Exists
CriticalAddonsOnly op=Exists
node.kubernetes.io/disk-pressure:NoSchedule op=Exists
node.kubernetes.io/memory-pressure:NoSchedule op=Exists
node.kubernetes.io/network-unavailable:NoSchedule op=Exists
node.kubernetes.io/not-ready:NoExecute op=Exists
node.kubernetes.io/pid-pressure:NoSchedule op=Exists
node.kubernetes.io/unreachable:NoExecute op=Exists
node.kubernetes.io/unschedulable:NoSchedule op=Exists
Events:
Type    Reason  Age                From     Message

Normal  Pulled  15s (x8 over 14m)  kubelet  Container image "docker.io/calico/cni:v3.25.1" already present on machine

Hi @AllardKrings
Can you share an inspection report from the cluster? Looks like the Calico CNI fails to initialize for some reason

Thanks for your quick reply,
here is the report:
inspection-report-20231114_113118.tar.gz

Thanks, I see the following line in Kubelet logs, which causes the services to continuously restart
Nov 12 13:46:23 odroid microk8s.daemon-kubelite[359263]: E1112 13:46:23.145422  359263 kubelet.go:1480] "Failed to start ContainerManager" err="failed to initialize top level QOS containers: failed to update top level BestEffort QOS cgroup : open /sys/fs/cgroup/kubepods/besteffort/cpu.weight: no such file or directory"

This typically means that cgroups are not configured properly on the system.
As a workaround, can you try appending the following kubelet arguments:
echo '
--cgroups-per-qos=false
--enforce-node-allocatable=""
' | sudo tee -a /var/snap/microk8s/current/args/kubelet

sudo snap restart microk8s.daemon-kubelite

Hello,
I tried this but to no avail.
The sbc refuses to boot now.
I wil flash a fresh image tonight and install microk8s again.
I find it strange that a fresh ubuntu and a fresh microk8s do not work
together.
Any suggestions on another linux-flavour?
Kind regards.
Op di 14 nov 2023 om 12:52 schreef Angelos Kolaitis <
@.***>

Thanks, I see the following line in Kubelet logs, which causes the
services to continuously restart
Nov 12 13:46:23 odroid microk8s.daemon-kubelite[359263]: E1112 13:46:23.145422  359263 kubelet.go:1480] "Failed to start ContainerManager" err="failed to initialize top level QOS containers: failed to update top level BestEffort QOS cgroup : open /sys/fs/cgroup/kubepods/besteffort/cpu.weight: no such file or directory"
This typically means that cgroups are not configured properly on the
system.
As a workaround, can you try appending the following kubelet arguments:
echo '
--cgroups-per-qos=false
--enforce-node-allocatable=""
' | sudo tee -a /var/snap/microk8s/current/args/kubelet
sudo snap restart microk8s.daemon-kubelite
—
Reply to this email directly, view it on GitHub
https://github.com/canonical/microk8s/issues/4301#issuecomment-1810061954,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AET5SGPDPTDKXQI63NRCRT3YENLPTAVCNFSM6AAAAAA7KSQOJWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJQGA3DCOJVGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>


Sieve Of Erasthosnes.

Sieve Of Erasthosnes
Added seive.py in Python. The programme is created to calculate
prime numbers; between two of the user given numbers.
Fixes # None
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented on my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

@yatocodes please create the issue of the same, edit the PR template accordingly and then I will review your code


Bug: Removed Bot Still Showing In HomeKit

Describe The Bug
Removed Bot Is Still Showing In HomeKit
To Reproduce
Remove the Bot from SwitchBot app, remove the bot from the Homebridge config, reboot SwitchBot Hub, reboot Homebridge
Expected behavior
Bot should be removed from HomeKit
Relevant log output
[27/05/2022, 21:09:08] [SwitchBot] Total SwitchBot Devices Found: 3
[27/05/2022, 21:09:08] [SwitchBot] Restoring existing accessory from cache: Exhaust Fan DeviceID: D84B5A4DA639
[27/05/2022, 21:09:08] [SwitchBot] Restoring existing accessory from cache: Bathroom Nightlight DeviceID: ED0BA396296A
[27/05/2022, 21:09:08] [SwitchBot] Bot: Exhaust Fan Config: {"mode":"press","deviceType":"switch"}
[27/05/2022, 21:09:08] [SwitchBot] Bot: Exhaust Fan Displaying as Switch
[27/05/2022, 21:09:08] [SwitchBot] Bot: Bathroom Nightlight Config: {"mode":"press","deviceType":"switch"}
[27/05/2022, 21:09:08] [SwitchBot] Bot: Bathroom Nightlight Displaying as Switch

Config for homebridge-switchbot
{
            "name": "SwitchBot",
            "credentials": {
                "openToken": “XXXX”,
                "notice": "Keep your token a secret!"
            },
            "options": {
                "devices": [
                    {
                        "deviceId": "D8XXXXX",
                        "configDeviceType": "Bot",
                        "bot": {
                            "mode": "press",
                            "deviceType": "switch"
                        }
                    },
                    {
                        "deviceId": "EDXXXXX",
                        "configDeviceType": "Bot",
                        "bot": {
                            "mode": "press",
                            "deviceType": "switch"
                        }
                    }
                ]
           },
            "platform": "SwitchBot"
        },

Screenshots

Device & Model
SwitchBot
Node.js Version
v16.13.1
NPM Version
v8.3.0
Homebridge Version
v1.4.1
Homebridge Switchbot Plugin Version
v1.13.0
Homebridge Config UI X Plugin Version
v4.46.0
Operating System
Raspbian

You will have to clear with Homebridge Settings by clearing accessory cache on that accessory.

You will have to clear with Homebridge Settings by clearing accessory cache on that accessory.

I’m sorry I’ve never had to do that before. How does one accomplish that?

You will have to clear with Homebridge Settings by clearing accessory cache on that accessory.

Figured it out. Worked. Thanks.


CSharp Port

I wasn't able to select a new branch as the merge target, but here is a full port to C# of the project.
It uses as many best practices of the language while keeping variable names and functionality as close as it can be.
One notable change has been a simplification of the Audio queue system, which uses Linq to select unused AudioStreamPlayers without needing to maintain a second array.

Wow, fantastic and so fast! I'm not sure what to do with this though, I'm a git noob... what do I do to make this available to people?

Yeah, I was surprised how fast it was as well!
You could create a new branch and change this PR to point to that branch.
If you want, you can invite me to the project temporarily and I'll switch the branch.

I'll also have a look at the two commits that came in since then and adapt accordingly!

Just cherry-picked the two commits to sync up the branch.

Thanks for porting, really useful for c# devs. :)

One suggestion @LauraWebdev: You can fork the repo and keep it updated with the changes here. Then @KenneyNL add a link to your repo on README.md. If other people want to made alternative versions (eg. using lua, rust, haxe, etc) , this will be aggregated in a single section, and takes the burden of maintaining multiple projects off this repository.

Hi @LauraWebdev,
thanks for your work on porting this project to C#. One suggestion: In the Godot C# style guidelines, it's recommended to use an underscore as a prefix for private fields. Considering this project's potential as a starting point, would you be open to aligning with this convention? Let me know your thoughts.

Hi @LauraWebdev,
thanks for your work on porting this project to C#. One suggestion: In the Godot C# style guidelines, it's recommended to use an underscore as a prefix for private fields. Considering this project's potential as a starting point, would you be open to aligning with this convention? Let me know your thoughts.

Absolutely, I've used the default style hints from Rider so far but I'd be down to change it up.

IMO, making style changes like prefixing underscore should not hold up acceptance of a feature PR like this.  followup with a style PR if that's deemed needed (I don't think it is....)

IMO, making style changes like prefixing underscore should not hold up acceptance of a feature PR like this. followup with a style PR if that's deemed needed (I don't think it is....)

CSharp and gdscript are very different programming languages, and while maintaining code similarity is important, teaching people to use the best practices of the chosen programming language are equally important, especially in a demo project aimed at beginners.


Create test webapp for native / JNI executions

If gcloud deployment allow for native / JNI executions then we should create a test webapp to ensure that works.
This could include a combination of using pre-existing binaries on the docker images, and also using libs included in the webapp.

Would include executing shellscripts from the webapp also under this category of testcases.

Yes, this is a good one, since one of the goals of Flexible runtimes is to allow JNI.


Tien fix UI backend

38a8374

added a glue table for student_engagement dataset
added folder for student_engagement dataset in raw for user upload
added a graphql query for student engagement calculation getStudentEngagement in schema.graphql, updated the related lambda resolver backend/cdk/lambda/faculty-engagement.py (tlef-analytics-faculty-engagement-resolver on the AWS console) for said query
updated api-stack.ts to account for the new update for the query and resolver
updated the frontend to use display the result of the new query in FacultyEngagement.jsx, Snapshot.jsx
updated related markdown documents

38a8374

added a glue table for student_engagement dataset
added folder for student_engagement dataset in raw for user upload
added a graphql query for student engagement calculation getStudentEngagement in schema.graphql, updated the related lambda resolver backend/cdk/lambda/faculty-engagement.py (tlef-analytics-faculty-engagement-resolver on the AWS console) for said query
updated api-stack.ts to account for the new update for the query and resolver
updated the frontend to use display the result of the new query in FacultyEngagement.jsx, Snapshot.jsx
updated related markdown documents


Add lombok support

This code adds support for automatically adding @CalledMethods automatically to the build method in Lombok-generated builders.
It depends on https://github.com/msridhar/returnsrecv-checker/pull/2; the tests will not pass until that PR is merged.
Much of the logic is shared with AutoValue builders; I generalized it to include Lombok builders.
I also changed the Lombok tests so that they use the delombok'd version - this code does not work on non-delombok'd code, due to general issues with the Checker Framework.

@ranmanli I would also appreciate a review from you


[bug]: High Res Optimization turns off after going in to img2img

Is there an existing issue for this?

[X] I have searched the existing issues

OS
Windows
GPU
cuda
VRAM
24gb
What happened?

Screenshots
No response
Additional context
No response
Contact Details
No response

Pretty sure High-Res Fix only works with txt2img, so img2img auto-disables it. Just my theory.


Do we have any idea on the next release

Hey team,
The package includes lots of major changes since the first release. I'm wondering if we could create a new tag for the next release. Since it's a common way to use version management in the Swift Package Manager.
Best,
Hengyu

Hi Hengyu,
Thanks for prompting me - done!
Russell


http-client-java, access/usage on namespace

basic logic is that if there is not access/usage decorator on model, check the decorator on its parent
a cache is put so that one namespace is only checked once (undefined is also included as a result) <-- it is just performance

There is a corner case that
@usage(Usage.input)
namespace L1 {
  @usage(Usage.output)
  namespace L2 {
    model M {}
  }
}

that in some interpretation M may be input+output. But TCGC and the logic in PR both gives output. I guess this be OK.
Local test (as TCGC seems not able to handle my case in cadl-ranch, that models is defined in a sub namespace)
@supportedBy("dpg")
@scenarioService("/client/initialization")
@access(Access.public)
@usage(Usage.output)
namespace Client.AccessTest;

// public output
model OutputModel {
  name: string;
}

// public output
model OutputModel2 {
  name: string;
}

// internal input+output
@access(Access.internal)
@usage(Usage.input | Usage.output)
model Model3 {
  name: string;
}

@access(Access.internal)
namespace InternalOperations {
// internal
  op get(): OutputModel;
}

No changes needing a change description found.

You can try these changes here

🛝 Playground
🌐 Website
📚 Next docs

Local test (as TCGC seems not able to handle my case in cadl-ranch, that models is defined in a sub namespace)

Could you explain more on  what is TCGC not able to handle?

Local test (as TCGC seems not able to handle my case in cadl-ranch, that models is defined in a sub namespace)

Could you explain more on what is TCGC not able to handle?

It's in DPG office hour chat.
https://github.com/Azure/cadl-ranch/pull/726/files, the models under namespace Models won't be in TCGC sdkPackage.models


Race condition when MKLDNN is enabled

When MKLDNN is enabled, the output of any MKLDNN op will have MKL layout. If such ndarray is passed to any operator registered with FComputeEx interface, calling NDArray::data will trigger "Reorder2Default" which may cause race condition since it doesn't prevent others from writing to it at the same time.
The number of non-MKL ops registered with FComputeEx is over 50. This should be fixed and explicitly tested.

This potential race condition is very difficult to produce. It may happen if the output of an MKLDNN operator is used with a sparse array in an operator. The operator has to perform computation on these two arrays (an MKLDNN array and a sparse array) with FComputeEx. However, the current implementation of sparse operators doesn't support this case and fall back using FCompute.

@eric-haibin-lin i think you can close this issue now.

could you reference the PR?


HIVE-27284: Make HMSHandler proxy pluggable

What changes were proposed in this pull request?

make HMSHandler Proxy configurable by new metastore conf "metastore.hmshandler.proxy"
provide AbstractHMSHandlerProxy to extend customized handler
clean some hacked test codes in HMSHandler

Why are the changes needed?

make the handler of metastore flexible to config and extend
improve the code of HMSHandler

Does this PR introduce any user-facing change?
Yes, user can use new conf and api to extend their own handler.
How was this patch tested?
Passing all existing tests.

@deniskuzZ @saihemanth-cloudera @veghlaci05: Could you help review this PR?

@wecharyu, thank you for the contribution! let's wait approx 1 week for the feedback from @nrg4878 and @saihemanth-cloudera.

Thanks for the contribution, @wecharyu!
For me, the AbstractHMSHandlerProxy provides an abstract method for his children to have chances to perform some special work on calling proxy, I would prefer a hook for this case, for example, we can introduce a hook like:
interface RetryingHMSHandlerHook {
  default void preCall(proxy, method, args) throws MetaException {
  }
  default void postCall(proxy, method, args, result) {
  }
 // more interfaces if needed....
}

@dengzhhu653 Thanks for your review. In this patch we want AbstractHMSHandlerProxy become an interface easy to expand other proxy strategies beyond just "retrying", like timing or something else. It may be different from RetryingHMSHandlerHook, WDYT?

Retrying on transient exception is a good way to reduce the network roundtrip client retries, besides there has been a property hive.hmshandler.retry.attempts to control the number of retries, e.g, 0 for disabling the retry mechanism.
Given the template method AbstractHMSHandlerProxy provided:
protected abstract Result invokeInternal(Object proxy, Method method, Object[] args)
      throws Throwable;

Whatever the strategies is, method should is called on the proxy in the child's invokeInternal, that's what RetryingHMSHandler does currently.
So in my view, if there is no special need to introduce complex strategies on method.invoke(proxy, args), then let's keep the codes simple.
Thanks,
Zhihua

Yeah, retrying strategy is highly effective in HMS. Actually we just want to refactor the HMSHandler proxy code to be more clear and improve code extensibility. For example we can combine different proxy strategies into one like:
class TimerAndRetryingHMSHandler extends AbstractHMSHandlerProxy {
  private final IHMSHandler retryingHandler; // replace baseHandler
}

@dengzhhu653, do you have any concerns with the current approach?

@dengzhhu653, do you have any concerns with the current approach?

I'm +1 on the idea of removing test codes from main routine.
Rather than defining a template method, I'd like to introduce a hook for this purpose, unless we would introduce complex strategies around the method.invoke(proxy, args) in the future.

@dengzhhu653, do you have any concerns with the current approach?

I'm +1 on the idea of removing test codes from main routine. Rather than defining a template method, I'd like to introduce a hook for this purpose, unless we would introduce complex strategies around the method.invoke(proxy, args) in the future.

I think, regardless if we introduce new custom strategies, the current patch makes the code more readable and extensible/flexible.

@dengzhhu653, do you have any concerns with the current approach?

I'm +1 on the idea of removing test codes from main routine. Rather than defining a template method, I'd like to introduce a hook for this purpose, unless we would introduce complex strategies around the method.invoke(proxy, args) in the future.

I think, regardless if we introduce new custom strategies, the current patch makes the code more readable and extensible/flexible.

The code itself looks fine to me, though I'm +0 on the factory approach, if we think the benefit wins the complexity and maintenance, I'm fine with the changes.


"dita" command should log verbose output when the "-l" flag is set

In my opinion setting the "-l" flag should also trigger verbose output, it would not make sense for somebody to want an empty log file.
Quote from Leigh White:

If I simply use -l and specify a path and filename:

   C:\dita-ot-2.3.2\bin>dita -i c:\projects\markdowntest\markdowntest.ditamap -o c:\projects\markdowntest\_output -f xhtml -l c:\projects\markdowntest\output.log

a completely empty log is written. If I add -v, I get most of a log

https://groups.yahoo.com/neo/groups/dita-users/conversations/messages/41832

Closing as rejected, because adding feature like this would mean we would also need to add argument for getting "quiet" logging level (as opposed to verbose).


How to add multiple active versions of operator

Type of question
I have operator and currently wanted to have multiple active versions of it.
ex: Previously
bundle versions were 100 -> 110> 200 -> 300 (Here new version replaces the new one when published)
Now I want update on 110 i.e 110->120-> 130 and meanwhile expecting update on 300 like 300 -> 400
How I can achieve this ?

Question
What did you do?

What did you expect to see?

What did you see instead? Under which circumstances?

Environment
Operator type:

Kubernetes cluster type:

$ operator-sdk version

$ go version (if language is Go)

$ kubectl version

Additional context

Hi Nile, I am not quite clear on what you are attempting to achieve. Would you please provide some context?
Based on your current question, it seems you could either be looking to publish multiple versions of your operator in an operator catalog or installing multiple versions of the same operator on a cluster?

Hi @OchiengEd Thanks for reply, Yes I am trying to publish multiple version of operator in an operator catalogue.
currently I have published version sequence as below
100 -> 200 -> 210 -> 300 (latest active one)
And in future expecting to publish 220 (on top of 210, here I will need to active versions) and 400 (on top of 300)

@Nilesh20 would you mind opening this issue in operator-lifecycle-manager org. This seems to be related to how OLM manages upgrades, and that would be the right place where folks can help you out. If this is related to construction of upgrade graphs, please open it in: https://github.com/operator-framework/operator-registry, if not we can have that in https://github.com/operator-framework/operator-lifecycle-manager and the maintainers can point to the right place.
Closing this issue.


Display metadata about an image prior to selection

Overview
When browsing for an test case to analyse, it would be very helpful for the end-user to be able to preview a particular case before proceeding to the next step. This would also provide means to ensure and double-check they are selecting the correct patient.
We should therefore display metadata about an image prior to selection.
Expected Behavior
The image metadata should be displayed in a panel on the right-hand side of the interface. For example:

Technical details
Upon clicking on an image file, the data will have to be loaded. A preview of the image will need to be displayed too, likely in a seperate HTTP call, but it may be possible and cleaner to provide a preview within the same payload by base64-encoding the image data.
Acceptance criteria
A pane on the right-hand side of the open image will reveal all the relevant metadata for an image.
Blocked by
Issues: #9

Do you know what the "mA" (probably milliampere?) information means and how to access it using pydicom?

@lamby friendly ping :)

Fixed in #117!


SwiftUI scenes

We have to decide, whether would we use scenes for LiveViewNative or not
List:
https://developer.apple.com/documentation/swiftui/menubarextra
https://developer.apple.com/documentation/swiftui/settings
https://developer.apple.com/documentation/swiftui/wknotificationscene
https://developer.apple.com/documentation/swiftui/windowgroup
https://developer.apple.com/documentation/swiftui/window
https://developer.apple.com/documentation/swiftui/windowresizability
https://developer.apple.com/documentation/swiftui/documentgroup

Scenes could be represented as elements:
<window-group>
  ...
</window-group>
<settings>
  ...
</settings>

then the Swift package would provide a LiveScene or similar struct that creates those.
A simpler approach would be to direct users to use multiple LiveView Views within the scenes, since scenes are mostly static anyways:
WindowGroup {
  LiveView(session: mainSession)
}
Settings {
  LiveView(session: settingsSession)
}

I don't think we can support scenes at the moment. SceneBuilder doesn't allow conditionals, so there's no way of handling whatever arbitrary elements are provided by the backend.


Atlite v0.2

update to new atlite version:

modify atlite cutout path
remove transposing of pandas dataframe since index and columns are switched in new atlite version

Thanks @lisazeyen. I had already implemented this in the dev branch, but am a bit slow to test it and merge in master.

Would have all been correct :) Closing in favour of dev branch.


Is it possible to add more languages in --task translate

Hello,  I found the generated subtitle cannot be translated into English, is it possible to add more target languages options ?

Duplicate of #18

apologies if this is documented already but I wasn't able to find it.
Is it possible to create/burn in translated subtitles?
example: original audio (English) > to Subtitle (German)


Fixing wrong SubscribeOptions enum values

Sorry that we're not going to merge this -- as explained in #1, we're tracking upstream devel, and these enums have changed there, along with an appropriate ABI bump. If you cannot move along and feel like being brave, you can stick with commit b868a59 -- but note that we're only interested in working against the latest and greatest upstream changes at this point.

I still thinks the versioning here is a bit misleading, but the explanation makes sense..


Merge pull request #23 from vandome/pyflow

Required for pgen: added --reservation keyword for SBATCH pragmas

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


feat: enabling token endpoint to be passed into flow

iOS | Make call to /token endpoint
A hard-coded token endpoint was the only URL available as part of the AppAuth flow in this package. This PR seeks to enable passing in an endpoint to be used as part of the flow.
Checklist
Before raising your pull request:

[x] Update the documentation to reflect your changes
[x] Ran the app locally ensuring it builds
[x] Ran the tests locally ensuring they pass on Build
[x] Pull request has a clear title with ticket ID and a short description about the feature or update
i.e. DCMAW-222: Added ReadID SDK to iOS app
[x] Created a draft pull request if it is not yet ready for review

Before your pull request can be reviewed:

[x] Met all of the acceptance criteria specified in the user story on Jira
[x] Reviewed your own code to ensure you are following the style guidelines
[x] Ran the app and tested the feature on a range of device sizes
Please include iPod Touch, iPhone SE and iPhone 11 as a minimum.
~- [ ] Written Unit and Integration tests if needed~

~- [ ] Met all accessibility requirements?
- [ ] Checked dynamic type sizes are applied
- [ ] Checked VoiceOver can navigate your new code
- [ ] Checked a user can navigate only using a keyboard around your new code~
Before merging your pull request:

[ ] Ensure that the code coverage and SonarCloud checks have passed
[ ] Actioned and resolved all comments, reaching out to reviewers for clarifications if necessary.
[ ] Ran the app to ensure that no regressions have been caused by changes during code review.
[ ] Targeted the correct branch; develop, release or main

Update:
@elishkaflint @Oliver-Binns
Had a chat with @amopatel1234 earlier about underlying problems with this package.

We're using:

OIDAuthorizationService.present(
    _ request: [OIDAuthorizationRequest],
    externalUserAgent: [OIDExternalUserAgent],
    callback: @escaping [OIDAuthorizationCallback]
) -> [OIDExternalUserAgentSession]

in order to start our authentication journey calling the authorize endpoint.
All https://github.com/openid/AppAuth-iOS documentation refers to using the OIDAuthState to manage the authentication flow through
OIDAuthState.authState(
    byPresenting authorizationRequest: [OIDAuthorizationRequest],
    presenting presentingViewController: [UIViewController],
    callback: @escaping [OIDAuthStateAuthorizationCallback]
) -> [OIDExternalUserAgentSession]

Hence the reason for the use of SFAuthenticationSession in the first API example, which is deprecated, and the use of ASWebAuthenticationSession in the latter API example.
When Amish and tested the latter API, the AppAuth package handles calling the token endpoint to retrieve tokens.
However, the build token endpoint currently rejects the token request configuration (OIDTokenRequest) which is sent as part of the flow:
<OIDTokenRequest: 0x60000262e9a0,
request: <URL: https://mobile.build.account.gov.uk/token, HTTPBody: code=ed1ae8e1-85a0-432a-adaf-b3a51189b2ed&code_verifier=kenu392lpNBAY79O8caNEha0CanRIJQS89MvIS76ByQ&redirect_uri=https://mobile.build.account.gov.uk/redirect&client_id=TEST_CLIENT_ID&grant_type=authorization_code>>

How do we want to proceed on the basis of these findings?
Looks as though https://govukverify.atlassian.net/browse/DCMAW-7464 could be covered by a move to the recommended API from AppAuth.

Update: @elishkaflint @Oliver-Binns Had a chat with @amopatel1234 earlier about underlying problems with this package.

We're using:

OIDAuthorizationService.present(
    _ request: [OIDAuthorizationRequest],
    externalUserAgent: [OIDExternalUserAgent],
    callback: @escaping [OIDAuthorizationCallback]
) -> [OIDExternalUserAgentSession]

in order to start our authentication journey calling the authorize endpoint.
All https://github.com/openid/AppAuth-iOS documentation refers to using the OIDAuthState to manage the authentication flow through
OIDAuthState.authState(
    byPresenting authorizationRequest: [OIDAuthorizationRequest],
    presenting presentingViewController: [UIViewController],
    callback: @escaping [OIDAuthStateAuthorizationCallback]
) -> [OIDExternalUserAgentSession]

Hence the reason for the use of SFAuthenticationSession in the first API example, which is deprecated, and the use of ASWebAuthenticationSession in the latter API example.
When Amish and tested the latter API, the AppAuth package handles calling the token endpoint to retrieve tokens. However, the build token endpoint currently rejects the token request configuration (OIDTokenRequest) which is sent as part of the flow:
<OIDTokenRequest: 0x60000262e9a0,
request: <URL: https://mobile.build.account.gov.uk/token, HTTPBody: code=ed1ae8e1-85a0-432a-adaf-b3a51189b2ed&code_verifier=kenu392lpNBAY79O8caNEha0CanRIJQS89MvIS76ByQ&redirect_uri=https://mobile.build.account.gov.uk/redirect&client_id=TEST_CLIENT_ID&grant_type=authorization_code>>

How do we want to proceed on the basis of these findings? Looks as though https://govukverify.atlassian.net/browse/DCMAW-7464 could be covered by a move to the recommended API from AppAuth.

Happy for DCMAW-7464 to be used if it's likely to solve this wider problem anyway - if so, please can we update that ticket to add this as a requirement?


Follow Dotnet foundation requirements

Fixes a few details to better follow Dotnet Foundation guidelines.

@dotnet-policy-service agree


Scratchpad doesn't remember window size when moving to another monitor

How to reproduce:

Send a window to the scratchpad.
Move the cursor to another monitor and bring back the window from scratchpad.
The size of the window changed, and is now super small.

This issue only seem to happen in multi monitor setups. If you always work in the same monitor, it does't happen.
https://x0.at/R4rM.png
https://x0.at/Dls8.png
Any idea about what is causing this?

since we're using just the default sway scratchpad, I would kindly ask you to ask them directly - at least I can confirm this being a problem sometimes. right now I have very similar resolutions on my second monitor, so for me its not a big issue.

Thank you for confirming the issue.
Posted on Sway's GitHub
https://github.com/swaywm/sway/issues/6561

Also please, let me know about any help I can bring to the project. There's something are you struggling with currently?

I actually noticed, the windows change to the same size windows do in float mode. I'm gonna search the way to change the default size for floating windows in manjaro-sway (if you know the answer, will be very appreciated)

for_window [app_id="gedit"] floating enable, resize set 1200 800
That resizes the widow when it opens to that float size, it might help you on your way.

i guess setting this for all floating windows is just:
for_window [floating] resize set 1200 800

Lo luck, seem to be an sway bug actually.
Those sentences do work when the app open for the first time. But after changing screen and restoring from scratchpad, that happen.

I dont have this issue, at least i can't replicate.
In .config/foot/foot.ini I have set:
font = monospace:pixelsize=18
Do this fix your issue?
Do the issue only occur on foot applications?

No response, no support..


MQTT integration with Dutch P1 meter

@nmakel here my integration with the Dutch P1 meter.

So I'm debating whether this is the most effective way of getting P1 readings. The hardware required for this to work is the P1 reader, right? Why not interface with this hardware directly, instead of p1 device -> p1monitor/dsmrreader/whatever -> p1 monitor/dsmrreader/whatever to mqtt -> mqtt device in solaredge_meterproxy.
If it's a TCP device it should support more than a single consumer, right?

I also had a look at your p1-reader project and I suspect I understand the stack a little better. My gut says the mqtt device that you submitted a while ago should be able to accept any source of P1 readings. The number of fields in a P1 telegram is limited, and getting the right value in the correct place should be little more than a quick lookup in a from-to map.

the hardware required are a 10k Ohm resistor & basic transitor to invert the signal.
I use the hardware serial on a  RPI to consume the P1 signal.
I have had various (hardware/software) setups in the past 10 years I had a P1 reader. (separate serial ports, arduino+ethernet, esp32, currently hardware serial on (readonly) RPI) but keeping something stable to run for years without looking is challenging.
But indeed hardware like above in your post could be used as well.
Likewise I could have written a direct input from P1 to this project.
I have chosen not that path for multiple reasons:

I have other equipment also connected to visualise the power details to bring it to my home automation.
Would have needed to rewrite that bit
The calculations were quite specific to the solaredge environment, hence choose to do the specific conversions/calculations ion this side rather than on the 'P1 sending side'

For folks where the P1 meter is close to the inverter and no other integrations required, I would make different choices wrt to the stack (easier with less failure points).
But in my case meter and inverter are not close at all, I want all my raspberry Pi's to have readonly filesystem (as too many sd cards died in the last 10 years...) and some other considerations.
But indeed, the mqtt device I submitted is generic, this is not, so I would fully understand if you don't want to merge it.

the hardware required are a 10k Ohm resistor & basic transitor to invert the signal. I use the hardware serial on a RPI to consume the P1 signal. I have had various (hardware/software) setups in the past 10 years I had a P1 reader. (separate serial ports, arduino+ethernet, esp32, currently hardware serial on (readonly) RPI) but keeping something stable to run for years without looking is challenging.

Cool, nice job.

I have chosen not that path for multiple reasons:

Agree with your reasoning.

But indeed, the mqtt device I submitted is generic, this is not, so I would fully understand if you don't want to merge it.

I think a P1 specific mqtt device with additional calculations and such is useful. If you don't mind I will apply a couple formatting edits and merge the pull request.

I think a P1 specific mqtt device with additional calculations and such is useful. If you don't mind I will apply a couple formatting edits and merge the pull request.

Sure.... I can imagine there are several items/formatting's that can be improved.


State transitions are inconsistent in swapd

Sometimes the transition happens before the event is confirmed, such as a tx is mined and final, others it happens too early for other reasons, such as we changed the msg flow, but havent adjusted the state update

resolved


Toggling Tracking from iOS Settings During Onboarding Causes Infinite Spinner on Phone Number Verification Step

Current behavior
Changing Data tracking toggle in Settings > Privacy > Tracking During Phone Verification produces an infinite spinner during step 4 of the onboarding flow.
Desired behavior
Toggling the App Tracking iOS Settings either 'on' or 'off' should not noticeably impact the onboarding flow.
Steps to Reproduce

Launch the app on the iOS device.
Select 'Ask App Not to Track' or 'Allow'.
Continue Education onboarding and complete steps 1 -3.
Make sure you're on step 4.
Background the app and navigate to Settings > Privacy > Tracking and flip the toggle for Valora.
Attempt to reopen the app - crashes several times.
When does Valora opens user is served step 4 of 5 (phone verification) with an infinite spinner.

Versions
Valora 1.14.0 on iPhone 11 iOS 14.5
Attachments
Video
Logs
Notes
If Komenci is down user is redirected to the verification step from the home section with the same infinite spinner (unless they have previously skipped)
Workaround
Once the user successfully launches to app they can skip phone number verification and navigate to the home screen.

Hi @MuckT We have verified this issue on latest Test Flight build V1.14.0(59) and not able to repro the crash.
Device: iPhone 8 (14.5.1)


Ask for trainning code

Do you have the train code?

I need too,
Can you support us, @huyhoang17 ?
Thank you

me too, I need  the train code


Updated branching strategy according to current practices

The main difference with the previous version of this document is that the release branch is now a permanent branch instead of being tied to a specific release.
This is required in order to allow the definition of branch policies and other rules that will enforce the usage of PRs, the minimum number of code reviewers, ...

Hi Philippe! 👋
I'm not completely sold on having release permanent. It's a little confusing for me.
Can we use the today's MobileQA so you can tell us the rationale behind this? 🙂

Hi Philippe! 👋
I'm not completely sold on having release permanent. It's a little confusing for me.
Can we use the today's MobileQA so you can tell us the rationale behind this? 🙂

Absolutely!

Closing PR following discussion where instead of making the content of this PR the new branching strategy, we'll simply mention that if needed, the release branch can be made permanent.


The option to generate a generic Preview page for GWD and Animate CC ads

Currently our preview page only supports automated generation of an ads preview page with ads directly created from the framework. It would be convenient to have this behaviour of building a preview page, also as a separate option for just generating a preview page for GWD or Animate CC ads. Maybe we could create something like "npm run build --custom ./buildfolder", and that it then start checking a certain folder for .html files and creates a Preview page from that.

This can be done now in the building proces: https://mediamonks.github.io/display-advertising-docs/docs/getting-started/generate-a-build#build-parameters


Issue with mocking?

I've tried to mock the node os module for testing
open Jest;
open Expect;

JestJs.mockWithFactory("os", () =>
  {"userInfo": () => {"username": "jest"}, "platform": () => "darwin"}
);

describe("Util", () =>
  describe("getSublimeTextPackageDir", () =>
    test("should return the macOS path", () =>
      expect(Util.getSublimeTextPackageDir())
      |> toBe(
           "/Users/jest/Library/Application Support/Sublime Text 3/Packages/",
         )
    )
  )
);

When i move the Mock within the test or describe block, It doesn't work at all. Do I need to use spyOn here?

The JestJS and Mock APIs are highly experimental, mostly untested and not really supported due to its highly dynamic nature. But it should map fairly directly over to JS, so I would start by making sure it works in jest using plain JS (you can try just using %raw blocks for example), and then inspect the JS code generated by BuckleScript.
I'll close this issue since it's not supported, but I'd happily accept a PR or just a description of what's wrong if there's an issue with the bindings. Sorry I can't be of more help.


[DO NOT MERGE] Auto PR to update dependencies of istio

This PR will be merged automatically once checks are successful.

@istio-testing: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-suite-rbac-no_auth.sh
f34c4f06574c0f33dbaf552f94d433343b2602a0
link
/test e2e-suite-rbac-no_auth

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-suite-rbac-no_auth.sh
f34c4f06574c0f33dbaf552f94d433343b2602a0
link
/test e2e-suite-rbac-no_auth

prow/e2e-suite-no_rbac-auth.sh
f34c4f06574c0f33dbaf552f94d433343b2602a0
link
/test e2e-suite-no_rbac-auth

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-suite-rbac-no_auth.sh
f34c4f06574c0f33dbaf552f94d433343b2602a0
link
/test e2e-suite-rbac-no_auth

prow/e2e-suite-no_rbac-auth.sh
f34c4f06574c0f33dbaf552f94d433343b2602a0
link
/test e2e-suite-no_rbac-auth

prow/e2e-suite-rbac-auth.sh
f34c4f06574c0f33dbaf552f94d433343b2602a0
link
/test e2e-suite-rbac-auth

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-suite-rbac-no_auth.sh
f34c4f06574c0f33dbaf552f94d433343b2602a0
link
/test e2e-suite-rbac-no_auth

prow/e2e-suite-no_rbac-auth.sh
f34c4f06574c0f33dbaf552f94d433343b2602a0
link
/test e2e-suite-no_rbac-auth

prow/e2e-suite-rbac-auth.sh
f34c4f06574c0f33dbaf552f94d433343b2602a0
link
/test e2e-suite-rbac-auth

prow/e2e-suite-no_rbac-no_auth.sh
f34c4f06574c0f33dbaf552f94d433343b2602a0
link
/test e2e-suite-no_rbac-no_auth

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@chxchx why is this stalled? (there are 2 like this one)

@ldemailly PR to update dependency comes with lgtm and approved label. It will only be merged if all required checks have passed. The fact that it was not merged and was closed is saying the latest versions of pilot, mixer, auth does not work together. (or any other reason that causes presubmit to fail).


fix(hexonet registrar module): patches issue with getRegistrationDate for domains

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


Add copy diff button

What this PR does / why we need it:
Add the copy diff button on application detail page
https://user-images.githubusercontent.com/32532742/193959908-dd415246-a303-40a7-8fad-18913e8ef89f.mp4
Which issue(s) this PR fixes:
Fixes #3934
Does this PR introduce a user-facing change?:

Add copy diff button on application detail page

/cla sign


Add TCP connection adapters setting TCP_NODELAY

For applications of HTTP/2.0 that don't care about HTTP/1.1 compatibility, the default socket options should be tweaked to suppress TCP-level congestion control so that flow control in HTTP/2.0 can work optimally. This is done with explicit code or custom wrappers of tokio::tcp::ConnectFuture and tokio::tcp::TcpListener in a multitude of examples and applications using h2.
It would therefore be useful for h2 to provide batteries-included utilities to easily set up optimized TCP connections. This requires a dependency on tokio-tcp, but I think it's reasonable to assume that the vast majority of HTTP/2.0 applications work over TCP. The added facilities could be enabled conditionally on an optional feature if that is a concern.

Thanks for opening the issue.
The goal is for h2 to remain decoupled from specific transports. The intent is that hyper will provide these helpers. I would recommend checking there.


Finished activesensors and passivesensors API

PR contains changes to sensor system. Created EMS reading and passivesensors readings.
Todo:

warpgates need scansignature
planets need update to scansignature
Some ship parameters need to be initialized
consider degrees vs radians?

Looks good! One comment - I am not so sure about this one line of code in colonyShip.js:
this.solarSystem = args[1].solarSystem;
Parameters probably shouldn't be passed like that, I will merge it for now but if you can fix that in your next merge that would be great.

(discussed this with Kevin already, but wanted to post for visibility) The return value for active & passive sensors should also be encapsulated in a Response object with appropriate status code.


Patch -> SaveChanges -> Load: stale result

When modifying document(s) via patch api, calling SaveChanges and then Load does not work as expected - returns stale result. See tests below.
I know one could manually Eject the document, but then again it'd be required to Load it first.
For me, this breaks the scenario of events projection - in reaction to one event, the documents are patched. Reacting to other events, documents are Loaded first and then some data is copied from one document to another. All of this happens in one session (managed by async daemon)
One fix that came to my mind is to eject all documents matching the Patch'es IWhereFragment when applying it. What do you think of this approach? I think I could try implementing it
tests:
        [Fact]
        public async Task Patch()
        {
            var id = Guid.NewGuid();
            using (var sess = theStore.OpenSession())
            {
                sess.Store(new Model() { Id = id, Name = "foo" });
                sess.Patch<Model>(id).Set(x => x.Name, "bar");
                await sess.SaveChangesAsync();
                sess.Query<Model>().Where(x => x.Id == id).Select(x => x.Name).Single().ShouldBe("bar");
                sess.Load<Model>(id).Name.ShouldBe("bar"); // fails. Name is null.
            }
        }

        [Fact] // this one passes
        public async Task LoadAndChange()
        {
            var id = Guid.NewGuid();
            using (var sess = theStore.OpenSession())
            {
                sess.Store(new Model(){Id = id, Name = "foo"});
                sess.Load<Model>(id).Name = "bar";
                await sess.SaveChangesAsync();
                sess.Query<Model>().Where(x => x.Id == id).Select(x => x.Name).Single().ShouldBe("bar");
                sess.Load<Model>(id).Name.ShouldBe("bar");
            }
        }

Ugh, that's going to be annoying. If there's a patch, I'd vote to just eject all models of that type. Might end up being cheaper at runtime than it would be to do it selectively

ok, this sounds to be even easier. I'll try a PR

Fixed by #926


Add example using GHA cache backend

Raising for info at this stage pending 2.19 release.
Note that no changes are required to run this locally - i.e. it will not fail due to missing GH tokens but fall back to local cache if present.
I think I will also attempt to add an example using the Inline cache backend, publishing to Github packages - this seems a better option when there are many images as the GHA cache limit would be reached.

@riisi this is still a Draft. Should it be?

Initially because this needs pants v2.19. But also will change slightly with some fixes to Docker backend that I’m working on now. Would hold off on merging for now.  On 9 Nov 2023, at 23:30, Benjy Weinberger @.***> wrote:
@riisi this is still a Draft. Should it be?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

2.19 is released. Is this ready to go again?

I think this should be good to go now.


Question: Will copy avoid full-target scans, unlike sync?

Does azcopy cp avoid full-target scans?
We currently use azcopy sync for backup & restore, e.g., "small production vm -> giant backup blobstore" and "giant backup blobstore -> small caching tier vm". sync has some nice as well because it can propagate deletions, though not too critical for us. However, sync is too slow for us nowadays because, even when doing local -> blobstore, it'll do a full scan of the blobstore ( https://github.com/Azure/azure-storage-azcopy/issues/1675 ), which can be too big.
So...

does azcopy cp <local> <blobstore> avoid the full-blobstore scan problem? Or will it also scan?

does --include-before / --include-after factor into this somehow? e.g.,is that acting just on local scan, or helping speed up the blobstore scan too?

For reference, our slow sync version:
azcopy sync \
    /some/local/path  \
    "https://${ARM_STORE_NAME}.blob.core.windows.net/${ARM_CONTAINER_NAME}/data?${SAS_TOKEN}" \
    --exclude-path=some_folder \
    --recursive=true \
    --put-md5

Hi @lmeyerov,

Copy does not scan destination. If you're copying from your local source to blobstore, you can speed this up with flag --overwrite=IfSourceNewer. This would generally be faster than sync. But you would lose the capability to propagate deletions.
Include* flags are acting on local scan.

Let me know more about your usecase, I'll check how to speed up.

Great to hear, will give a whirl :)


Code For Boston Agenda 5/31

Whole group:
Doing the whole-group CFB project update tonight will probably be me. If you want to do it, though, go ahead! Less scary than it looks.
Team flow:
Start off the night with this stuff.

Quick sync up, who's working on what, who doesn't know what they're working on right now?
Process thoughts and possible experiments.

Assign yourselves to issues on Github that you're working on!
reach -- new issue label. (also known as "moonshots"). These are things that aren't top priority right now, but will have big user impact. As opposed to fixing bugs, these types of issues will 1) take longer, 2) carry more ownership, 3) be self-contained, i.e. be easier to jump into because they won't require a lot of context.
Who doesn't have collaborator permissions?

Working on a reach is a good way to have a really visible impact -- you can point to it later and be like, "I did that!". It's also a good way to contribute even if you can't be here every week. (Almost all of the work I get done for CFB is at home).
Lots of people have been working on reach things already (for just a few examples, Margaret with SPED packet, Kevin with editing/deleting notes, Eric with BrowserStack screenshots) -- this is just to formalize the idea so newer folks can get into one of these easily.
Here are all the reach issues: https://github.com/studentinsights/studentinsights/issues?q=is%3Aopen+is%3Aissue+label%3Areach
Coordinating new folks tonight: @erose.

Things I personally would like to get done tonight:

Think about https://github.com/studentinsights/studentinsights/pull/546 with @kbweaver.
Figure out what @jonchar learned re: https://github.com/studentinsights/studentinsights/pull/545, get it merged if possible?
Work on tests for https://github.com/studentinsights/studentinsights/pull/514 with @awalker4, get it merged. (Hi Austin! If you can make it, that is -- no pressure. We could even do that remote pairing thing, just let me know).
Merge https://github.com/studentinsights/studentinsights/pull/507 if @eudaimonious is around.

Technical questions I'd like answered:

how is current_educator set?
when is authorize! called? (e.g. in event_note.rb)

I'd like to get a better understanding of the filtering referenced in #375 so we can document it and easily leverage it for the experimental STAR reading/math pages.

@erose current_educator is set by Devise: https://github.com/plataformatec/devise#controller-filters-and-helpers
It's the same thing as current_user in the Devise docs.

@erose Can you say more about your authorize! question? Not sure I'm understanding what you're asking.

@jonchar Do you mean that you want to dive into the code behind the filtering feature at CFB tonight, or you want a better explanation of the filtering feature in #375?

@alexsoble I'd like to dive into and understand the filtering code.

@jonchar 👍  👍

Review PR #536 and maybe merge.
Make a pull request to remove some deprecated code that's no longer needed now that #528 is deployed.
Talk with @erose about #546.


Encoder: allow change of container from ebml to ogg with _pushEncoded…

I wanted to write a piece of code to change some webm, audio-only file I have to .opus
webm file are EBML file, same as matroska (https://www.matroska.org/technical/specs/index.html)
opus file are ogg file, with a small header OpusHead+OpusTags handled by the Encoder.prototype._writeHeader of node-opus
I only wanted a piece of code to write the small OpusHeah+Tags to my output ogg stream, without having reencoding. So I made extracted a new function, _pushEncodedBuffer, to do this.
Note that it should probably be named as a public funtion as it is used externally in my use-case...
Here is the piece of code I'm using that do the job. I used fixed parameter for vorbis, there is probably a way to find them in the EBML data....
    const ebml = require('ebml')
    const ebmlBlock = require('ebml-block')
    const opus = require('node-opus');
    const ogg = require( 'ogg' );

    const oggEncoder = new ogg.Encoder();
    const opusEncoder = new opus.Encoder(48000, 2);

    const oggStream = oggEncoder.stream();
    const oggPipe = opusEncoder.pipe( oggStream );
    const decoder = new ebml.Decoder();

    webmStream
      .pipe(decoder)
      .pipe(new stream.Transform({
        transform: function(chunk, encoding, callback) {
          if (chunk[0] === 'tag' && (chunk[1].name === 'Block' || chunk[1].name === 'SimpleBlock')) {
            var webmTransform = this;
            var block = ebmlBlock(chunk[1].data)
            var encoded = block.frames[0];
            opusEncoder._pushEncodedBuffer(encoded);
          }
          callback();
        },
        writableObjectMode: true,
      }))

      var p = oggEncoder
      .pipe(fs.createWriteStream('audio.opus'))

Had some other stuff to take care during the Easter holidays. I should get around to looking at this during this week.
Usually I've merged things in with a quick review, but this one needs a bit more in depth one as I can't tell by a glance how it affects the current code paths - ie. whether it has a chance of breaking existing code depending on the public methods.
Furthermore node-opus is primarily about the libopus bindings and this one completely skips those, so it's not on the highest priority for node-opus.
That said, I'm very interested in solving your use case as well and hopefully I'll feel confident enough on this one so that it won't break the existing uses. Even if it seems like there might be a chance for that, I'll see if I can come up with a way to maintain those.
So what I'm trying to say is sorry for the delays, but it's going to take a day or two more (hopefully not more than that!)

Completely understandable :)
I checked where this header  OpusHead+OpusTags is handled officially in C code. It's in the opus-tools package it seems (src/opus_header.h), and this package do not export any library to wrap.
So I think it would still make make sense to keep it here in node-opus. We could create a node-opus-tools but that seems really over complicated...

Hi again,
So I worked on node-opus encoder these last days to make it fit for my project.
I pushed it there, but it's open to talk of course.
Encoder.js: keep former API, split the logic between OpusEncoderStream.js (PCM -> Encoded buffer) and OpusFileWriterStream (Encoded buffer -> ogg packet stream)
StreamConverter : A utility class which take a stream in input, and output a opus file stream. It can do :

a webm/mkv to opus convertion without reencoding.
otherwise, it use ffmpeg program to decode to PCM then reencode & repack

VorbisComments: add meta tag writer on the output opus file. I couldn't find any on npm.js... maybe to merge to npmjs vorbis-parser (I really liked that parser)?
I fixed the end of file encoding (hopefully) : the last pcm data were not encoded

in case of reencode, last pcm data is paded with 0 and encoded (crash encoder if not padded)
in case of webm->opusfile, we pass the DiscardPadding information
we take into account that information in the last ogg packet of the stream

That's quite a lot of things to test.. I tested on a 80+ files library I used (nearly 70% webm), I don't have any important problem when I listen to them.

Hey!
Sorry I managed to forget this again. Good news though! I finally felt guilty for this pending and ended up adding some unit tests to the project.
While these are self tests (ie, they use the implementation itself for validation) they should catch any changes in the outputs and there were none here so I felt confident merging it in. The code also seemed like it shouldn't cause any.
I'll have a look at your branch as well while I'm at it.

I can definitely get behind the idea of splitting Encoder -> OpusEncoderStream, which is a stream for converting PCM into Opus frames and OggWriteStream, which is a stream for converting the audio frames into an ogg file stream. (I'd mention the write-bit in the ogg stream name as in the future we'd also like to mirror this in the Decoder side with OpusDecoderStream and OggReadStream).
Couple of comments on the branch.
Encoder._transform causes massive back pressure on the encoder stream in case the output is slower than input (such as encoding files from local drive and uploading them over the network). The signaling of done() should take into account the encoder stream state. Something such as below - which I typed up based on a quick glance at the documentation - didn't actually test whether it's in any way correct.
var writeMore = this.encoderStream.write( pcmbuf );

// Signal done since we can write more immediately.
if( writeMore )
    return done();

// Stream is full. Signal done only after the stream has drained.
this.encoderStream.once( 'drain', done );

new Encoder() returns non-Encoder instances if type !== 'pcm'. This yields situation where new Encoder() instanceof Encoder is false, which is a bit confusing.
the Encoder constructor should act as a constructor. This means the encoding always ends up going through the Encoder::_transform(). I would prefer if the constructor set the encoder up in the following manner (skipping error checks, etc. for brevity):
// Set up the ogg stream as the output stream always.
var output = new OpusFileOggStream( ... );
output.on( 'data', function( chunk ) { this.push( chunk ); }.bind( this ) );

// Input stream depends on the type.
if( type === 'pcm' ) {

    // pcm uses opus encoder stream piped to output.
    this.input = new OpusEncoderStream( ... );
    this.input.pipe( output );

} else if( type === 'encoded' ) {

    // encoded uses the ogg stream as the input as well.
    this.input = output;
}

Concerning the flush_done state. Given the WritableStream::end() takes a callback parameter - can't the _flush be implemented with...
Encoder.prototype._flush = function( done ) { this.encoderStream.end( done ); }

The StreamConverter.js has various issues and I believe it might be better to separate this to a different module:

Various dependencies that are not present in package.json: ogg, debug, ebml, ebml-block. Also I don't think node-opus - which is a low level library for handling the opus codec should depend on ebml, etc. just for one specific use case. It's worth remembering we're not depending on ogg either even if we are ogg compatible.
const and => are modern Node features. node-opus is compatible with ancient Node.js versions down to 0.10.x which doesn't support these.


Bundler.autoload(*groups)

Hopefully knocks out #137
Allows you to swap out a Bundler.require call with Bundler.autoload and things should work (with maybe some Gemfile tweaking)
Added a gem option of :autoload => 'Symbol' || [:Symbols] to specify which symbols should cause that gem to autoload.  :autoload => false forces the gem to be required and :require => false keeps the gem from being autoloaded or required.
The one caveat is that if someone else overrides Object.const_missing and forgets to proxy the call back, this facility will break.  (Doesn't seem like a huge concern - most libraries seem to be good about aliasing those calls)
I also have it merged into the 1.0 branch over on my fork

Wow, looking at an 18-19 second bundle.require, this makes me so sad. I love the thorough discussion you both went through though. Thank you. :)


Signature verification vulnerability

The HMAC SHA256 signature verification is not done properly. It means signatures are malleable and can be modified, and they will still verify successfully.
The root cause of this problem is the DecodeSegment function, which does some craziness to make base64 padding work properly: https://github.com/dgrijalva/jwt-go/blob/master/token.go#L102
// Decode JWT specific base64url encoding with padding stripped
func DecodeSegment(seg string) ([]byte, error) {
        if l := len(seg) % 4; l > 0 {
                seg += strings.Repeat("=", 4-l)
        }

        return base64.URLEncoding.DecodeString(seg)
}

I've written a test on my fork of jwt-go that shows the problem (with some helpful debugging statements): https://github.com/ejcx/jwt-go/commit/7d644a92ccd1359633c46fce5ca0c14d13888521
The basic idea of my PoC is to change the final character of the signature and see if it successfully verifies. Here is some sample output of my PoC:
➜  jwt-go git:(ejcx/ShowVuln) go test -run SignatureValidation
2017/05/05 09:31:51 Listening...
Real JWT is: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.LqbRI2yRAUqyKamnYFvKta6TTPlOSwGbQ3jK0tZpLRg
We verified this JWT: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.LqbRI2yRAUqyKamnYFvKta6TTPlOSwGbQ3jK0tZpLRg
We verified this JWT: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.LqbRI2yRAUqyKamnYFvKta6TTPlOSwGbQ3jK0tZpLRh
--- FAIL: TestSignatureValidation (0.00s)
        token_test.go:49: We verified this JWT with multiple different final chars: %!s(<nil>)
FAIL
exit status 1
FAIL    github.com/dgrijalva/jwt-go     0.011s

@ejcx Can you please clarify the scope of this? Can JWTs be modified to change the claims and still validate?

@zwass I'm no cryptographer so I don't want to comment, but I don't know of a way to use this to completely forge a new JWT with different claims.

I'm testing with the JWT Debugger and notice that the following all verify using the secret in your test (notagoodsecret):
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.LqbRI2yRAUqyKamnYFvKta6TTPlOSwGbQ3jK0tZpLRg
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.LqbRI2yRAUqyKamnYFvKta6TTPlOSwGbQ3jK0tZpLRh
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJuYmYiOjE0NDQ0Nzg0MDB9.LqbRI2yRAUqyKamnYFvKta6TTPlOSwGbQ3jK0tZpLRi
(Note the only change is the final character)

What's even weirder is these signatures are only 30 bytes...... That's not how HMAC works.

I get 32

http://stackoverflow.com/questions/13449595/can-two-different-base-64-encoded-strings-result-into-same-string-if-decoded/38513081#38513081

I guess that solves that. Unbelievably ugly. TIL that base64 is hard and I will never use it...

Yea, the real trouble is that you can't deeply rely on encoding matching for this stuff, and thus any time you're looking to check a hash of a token from some wonky implementation, you can get false negatives if you don't rely on the actual data...  Ick.


Fix param comment

old fix is not working for each case, see qx.dom.Document.getWitdh

If we strip https://files.gitter.im/cboulanger/Mkf3/Bildschirmfoto-2020-03-24-um-13.28.31.png will not work any longer.
This is not valid jsdoc but valid qooxdoo style and it's used in more then one place.
We should'nt break BC here.

But then we should change the RegEx to not match URLs, maybe with a negative lookbehind:(?<!https|http):\/\/(.+)$.

And I think we should mark it deprecated and remove those comments for v7.

I just changed the apiviewer to use docComment so that the http:// comments will be shown corrrect

That sounds like quite hackish ... wouldn't it be better to just change the Regular expression?

I do not know where this syntax is used in the whole framework. This is the reason why i do not like to deprecate it now because we will get a lot of deprecation messages during compile the framework

Ok, forget the deprecation. But I suggest to update the regular expression and revert the APIViewer change that works around the wrong match for URLs. So we leave everything as it is and just "save" the URLs from being mininterpreted as a comment.

What‘s about doing this code cleanup after releasing?
With the current solution no doc comment is lost.

I don't insist, I just think it would be less work to fix it now, because all you need to change is the Regex - it would not lose any doc comment, it would just not falsely match URLs.

Originally, I envisaged each command as a single line, so @ignore(someword) // blah is easily split into 3 parts: { name: "ignore", body: "someword", docComment: "blah" }.
The underlying issue is that commands can actually be split over multiple lines, and if you're going to parse out the comments the dilemma is that they are positional, ie if you are going to preserve them, the comments are useless unless they remain next to the thing that they are commenting, so you have to leave them intact.  OTOH if you leave them in, then the parser hasn't done a very helpful job, and every single bit of code that implements a JSDOC comment has to parse out the comments.
IMHO this is a simple parser which is used to just get a list of @xxx commands and their parameters, and should be stripping out and discarding the single line comments.
EG this:
/*
 * @ignore(abc,
 *    def,
 *    ghi)
 */

is legitimate and becomes { name: "ignore", body: "abc,\ndef,\nghi" }.
Single line comments are allowed, so this should have the same result:
/*
 * @ignore(abc, // abc comment
 *    def, //def comment
 *    ghi)
 */

(OK, with @ignore you could use 3 @ignore commands, but imagine something a little more complex with positional parameters and it's valid to want to comment)
URLs are valid:
/*
 * @ignore(stuff) // comment about ignore stuff
 * http://abc.com // comment about url
 * http://dev.com
 */

Becomes { name: "ignore", body: "stuff" }.
I'm preparing a PR with this in

https://github.com/qooxdoo/qooxdoo-compiler/pull/637 is the better solution


add environment variables to the spec

Fixes: #20

lgtm, with only one question to others: it looks like other fields in the spec are plurals. Should we also have envs instead of env? I'm fine with any of those, just curious on how others feel about that.

@bart0sh one more thing, that shouldn't be fixing #20 yet, as we need second part of the change to do in ApplyOCIedits in #19

it looks like other fields in the spec are plurals. Should we also have envs instead of env? I'm fine with any of those, just curious on how others feel about that.

It's called env in the OCI runtime spec, so I followed their naming convention.

@bart0sh one more thing, that shouldn't be fixing #20 yet, as we need second part of the change to do in ApplyOCIedits in #19

thanks for pointing out. removed.


Not working

I place 19130-19140 ports
My host is microsoft azure
and it allows me to open port like 19132
i opened all ports but it didnt worked
anyways to fix this?

Did you forward the ports?

yes i did and all ports open

i placed a * to open all ports but 19132 deafult works fine

Where did you place a *?

https://ibb.co/HqhbmG6

Try putting the ports in manually

heres a pic of my networking settings

what do you mean?

got it working
idk why but the config file added a # there
and making me confused it now works.


Visual Studio Crashes during .razor file editing

This issue has been moved from a ticket on Developer Community.

Sometimes, during the edition of a .razor file, the application hangs than crashes. This is often during editing an HTML element class.
In the Windows event log, two errors are logged (see attachments).

Original Comments
Visual Studio Feedback System on 4/14/2020, 08:13 PM:
We have directed your feedback to the appropriate engineering team for further evaluation. The team will review the feedback and notify you about the next steps.
Visual Studio Feedback System on 4/15/2020, 10:46 PM:
Thank you for sharing your feedback! Our teams prioritize action on product issues with broad customer impact. See details at: https://docs.microsoft.com/en-us/visualstudio/ide/report-a-problem?view=vs-2019#faq. In case you need answers to common questions or need assisted support, be sure to use https://visualstudio.microsoft.com/vs/support/. We’ll keep you posted on any updates to this feedback.
Visual Studio Feedback System on 5/21/2020, 06:48 PM:
I have detected that for the last 35 days, this issue didn't have much product team activity and a very small amount of new votes or comments. Based on this, its severity, and affected area, it’s my experience that this issue is very unlikely to be fixed.

Original Solutions
(no solutions)

Thank you for your reported issue. We believe this issue is fixed in the latest Visual Studio 2022. If you'd like to try this tooling out you can download the latest VS 2022 and re-try your scenario.
If this issue has been closed and you're still encountering issues feel free to respond to still communicate via the issue and we'll re-open if needed.


App title included in product title

Version of react-native-iap
Platforms you faced the error (IOS or Android or both?)
Android, I have not yet tested iOS
Expected behavior
title property in products returned from RNIap.getProducts should be the same as the title set in the store.
Actual behavior
title property is set as the title in the store with the addition of the App name in parentheses, like so Some Product Title (App Name).
Tested environment (Emulator? Real Device?)
Test on real Android Device.
Steps to reproduce the behavior
calling RNIap.getProducts will return Some Product Title (App Name).

Getting this same behavior in android, any help or can I do a pr to fix this?
Thanks

@dooboolab This is totally the expected behavior and the same provided by Google's BillingClient if used natively, so nothing you can do about it.

@mradzinski Thank you for your update. Then, I will close this issue for now.

Is there no way to get just the title without the app name in parenthesis? Is everyone else manually removing that part of the string? Seems like an ugly workaround for something that could be included in rn-iap, no?


Implement no-circular-imports

This should probably be implemented outside of the FSD plugin, since it's not exclusive to FSD. I'm not sure if it's best to create another native plugin or have this rule in "Steiger core"
The idea of this rule is simple — prevent circular imports (when A imports from B, but B imports from A, or maybe A -> B -> C -> ... -> A).

We might be able to learn from this project — https://github.com/antoine-coulon/skott


Include function debug name when too large

This is using nameSection(). All the logic here is to extract the function ID from the Java method name, as this exception is thrown when the class is being written, so all we have is the Java method name to know which WASM function is too large.

I was thinking we could extend this to look at the exports to see if there is an export name for the function ID in the case where the debug name is not available.

Yeah, looking at the exports would be an additional improvement.
Maybe move down most of the logic(without the "string extraction" part) to a helper method in WasmModule ?
This way we can re-use the information in more places.


chore: release v0.3.0 (next v0.0.7)

#497  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @hi-ogawa and the rest of your teammates on  Graphite