CAPK depends on KubeVirt running on the management cluster

Today, CAPK provider will fail to initialize if the management cluster does not have KubeVirt CRDs deployed.
Here's an example (note CAPK provider is failing to initialize):
NAMESPACE                           NAME                                                             READY   STATUS             RESTARTS   AGE
capi-kubeadm-bootstrap-system       capi-kubeadm-bootstrap-controller-manager-5c7c767585-mxfjv       1/1     Running            0          34m
capi-kubeadm-control-plane-system   capi-kubeadm-control-plane-controller-manager-76c769d87c-kjbdp   1/1     Running            0          34m
capi-system                         capi-controller-manager-66fc7b7785-lznb9                         1/1     Running            0          34m
capk-system                         capk-controller-manager-59d88f64fb-fk46z                         1/2     CrashLoopBackOff   7          34m

CAPK manager log shows the following error:
E0222 22:34:33.654495       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}

Full log from CAPK manager:
I0222 22:34:10.170500       1 request.go:665] Waited for 1.041200068s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/coordination.k8s.io/v1?timeout=32s
I0222 22:34:10.673334       1 logr.go:249] controller-runtime/metrics "msg"="Metrics server is starting to listen"  "addr"="<IP_ADDRESS>:8080"
I0222 22:34:10.674078       1 logr.go:249] controller-runtime/builder "msg"="skip registering a mutating webhook, object does not implement admission.Defaulter or WithDefaulter wasn't called"  "GVK"={"Group":"infrastructure.cluster.x-k8s.io","Version":"v1alpha1","Kind":"KubevirtMachineTemplate"}
I0222 22:34:10.674140       1 logr.go:249] controller-runtime/builder "msg"="Registering a validating webhook"  "GVK"={"Group":"infrastructure.cluster.x-k8s.io","Version":"v1alpha1","Kind":"KubevirtMachineTemplate"} "path"="/validate-infrastructure-cluster-x-k8s-io-v1alpha1-kubevirtmachinetemplate"
I0222 22:34:10.674259       1 server.go:146] controller-runtime/webhook "msg"="Registering webhook" "path"="/validate-infrastructure-cluster-x-k8s-io-v1alpha1-kubevirtmachinetemplate"
I0222 22:34:10.674373       1 logr.go:249] setup "msg"="starting manager"
I0222 22:34:10.674461       1 server.go:214] controller-runtime/webhook/webhooks "msg"="Starting webhook server"
I0222 22:34:10.674583       1 internal.go:362]  "msg"="Starting server" "addr"={"IP":"<IP_ADDRESS>","Port":8080,"Zone":""} "kind"="metrics" "path"="/metrics"
I0222 22:34:10.674611       1 leaderelection.go:248] attempting to acquire leader lease capk-system/controller-leader-election-capk...
I0222 22:34:10.674700       1 internal.go:362]  "msg"="Starting server" "addr"={"IP":"::","Port":9440,"Zone":""} "kind"="health probe"
I0222 22:34:10.674734       1 logr.go:249] controller-runtime/certwatcher "msg"="Updated current TLS certificate"
I0222 22:34:10.674863       1 logr.go:249] controller-runtime/webhook "msg"="Serving webhook server"  "host"="" "port"=9443
I0222 22:34:10.674929       1 logr.go:249] controller-runtime/certwatcher "msg"="Starting certificate watcher"
I0222 22:34:29.050812       1 leaderelection.go:258] successfully acquired lease capk-system/controller-leader-election-capk
I0222 22:34:29.051055       1 controller.go:178] controller/kubevirtmachine "msg"="Starting EventSource" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtMachine" "source"="kind source: *v1alpha1.KubevirtMachine"
I0222 22:34:29.051056       1 controller.go:178] controller/kubevirtcluster "msg"="Starting EventSource" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtCluster" "source"="kind source: *v1alpha1.KubevirtCluster"
I0222 22:34:29.051080       1 controller.go:178] controller/kubevirtmachine "msg"="Starting EventSource" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtMachine" "source"="kind source: *v1beta1.Machine"
I0222 22:34:29.051108       1 controller.go:178] controller/kubevirtcluster "msg"="Starting EventSource" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtCluster" "source"="kind source: *v1beta1.Cluster"
I0222 22:34:29.051137       1 controller.go:186] controller/kubevirtcluster "msg"="Starting Controller" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtCluster"
I0222 22:34:29.051117       1 controller.go:178] controller/kubevirtmachine "msg"="Starting EventSource" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtMachine" "source"="kind source: *v1alpha1.KubevirtCluster"
I0222 22:34:29.051195       1 controller.go:178] controller/kubevirtmachine "msg"="Starting EventSource" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtMachine" "source"="kind source: *v1.VirtualMachineInstance"
I0222 22:34:29.051222       1 controller.go:178] controller/kubevirtmachine "msg"="Starting EventSource" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtMachine" "source"="kind source: *v1.VirtualMachine"
I0222 22:34:29.051245       1 controller.go:178] controller/kubevirtmachine "msg"="Starting EventSource" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtMachine" "source"="kind source: *v1beta1.Cluster"
I0222 22:34:29.051279       1 controller.go:186] controller/kubevirtmachine "msg"="Starting Controller" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtMachine"
I0222 22:34:30.102053       1 request.go:665] Waited for 1.04679704s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/cluster.x-k8s.io/v1alpha4?timeout=32s
E0222 22:34:30.605112       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
I0222 22:34:30.605140       1 controller.go:220] controller/kubevirtcluster "msg"="Starting workers" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtCluster" "worker count"=1
E0222 22:34:33.654495       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:34:41.656424       1 request.go:665] Waited for 1.046721061s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/storage.k8s.io/v1?timeout=32s
E0222 22:34:42.158825       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:34:45.208681       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:34:51.706753       1 request.go:665] Waited for 1.09658386s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/clusterctl.cluster.x-k8s.io/v1alpha3?timeout=32s
E0222 22:34:52.158035       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:34:55.208798       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:35:01.756577       1 request.go:665] Waited for 1.147322771s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/certificates.k8s.io/v1?timeout=32s
E0222 22:35:02.158878       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:35:05.208588       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:35:11.757088       1 request.go:665] Waited for 1.1477616s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/networking.k8s.io/v1beta1?timeout=32s
E0222 22:35:12.158267       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:35:15.208665       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:35:21.806808       1 request.go:665] Waited for 1.197688109s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/storage.k8s.io/v1beta1?timeout=32s
E0222 22:35:22.159396       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:35:25.209345       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:35:31.856282       1 request.go:665] Waited for 1.247766642s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/cluster.x-k8s.io/v1alpha4?timeout=32s
E0222 22:35:32.158802       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:35:35.208210       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:35:41.906657       1 request.go:665] Waited for 1.297384124s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/bootstrap.cluster.x-k8s.io/v1beta1?timeout=32s
E0222 22:35:42.158276       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:35:45.208500       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:35:51.907172       1 request.go:665] Waited for 1.297277575s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/authorization.k8s.io/v1?timeout=32s
E0222 22:35:52.159635       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:35:55.209096       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:36:01.956369       1 request.go:665] Waited for 1.347632595s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/scheduling.k8s.io/v1beta1?timeout=32s
E0222 22:36:02.158553       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:36:05.208705       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:36:12.006399       1 request.go:665] Waited for 1.397125003s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/coordination.k8s.io/v1?timeout=32s
E0222 22:36:12.158084       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:36:15.208906       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:36:22.056959       1 request.go:665] Waited for 1.447452524s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/policy/v1beta1?timeout=32s
E0222 22:36:22.159369       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:36:25.208501       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:36:32.105701       1 request.go:665] Waited for 1.49679813s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/authentication.k8s.io/v1beta1?timeout=32s
E0222 22:36:32.158523       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:36:33.756698       1 controller.go:203] controller/kubevirtmachine "msg"="Could not wait for Cache to sync" "error"="failed to wait for kubevirtmachine caches to sync: timed out waiting for cache to be synced" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtMachine"
I0222 22:36:33.756772       1 logr.go:249]  "msg"="Stopping and waiting for non leader election runnables"
I0222 22:36:33.756789       1 logr.go:249]  "msg"="Stopping and waiting for leader election runnables"
I0222 22:36:33.756815       1 controller.go:240] controller/kubevirtcluster "msg"="Shutdown signal received, waiting for all workers to finish" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtCluster"
I0222 22:36:33.756849       1 controller.go:242] controller/kubevirtcluster "msg"="All workers finished" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtCluster"
I0222 22:36:33.756862       1 logr.go:249]  "msg"="Stopping and waiting for caches"
I0222 22:36:33.756940       1 logr.go:249]  "msg"="Stopping and waiting for webhooks"
I0222 22:36:33.756982       1 logr.go:249] controller-runtime/webhook "msg"="shutting down webhook server"
I0222 22:36:33.758960       1 logr.go:249]  "msg"="Wait completed, proceeding to shutdown the manager"
E0222 22:36:33.759092       1 logr.go:265] setup "msg"="problem running manager" "error"="failed to wait for kubevirtmachine caches to sync: timed out waiting for cache to be synced"

Investigate a possibility of eliminating this dependency on KubeVirt in the management cluster. This is relevant for the case when management and infra clusters are decoupled. Then, arguably we should impose KubeVirt deployment requirement only on infra cluster.

Will there be any checks for the external infrastructure cluster and make sure the KubeVirt is installed?

One note, we currently have an informer watching VMIs in the kubevirt machine controller. We'd want to shift that informer to being some sort of dynamic informer that watches the external cluster's vmis

/remove-lifecycle stale

Will there be any checks for the external infrastructure cluster and make sure the KubeVirt is installed?

The VM corresponding to a KubeVirtMachine would fail to create if this occurred.

CAPK provider will fail to initialize if the management cluster does not have KubeVirt CRDs deployed.

I think this is due to the VM and VMI watches. It should be possible to make cli option for capk that causes the VM and VMI watches to not be registered.


Add fct_dbt__critical_path back?

If you would like to see the return of this model in v1.0.0, please drop any feedback or thumbs up on this issue!
fct_dbt__critical_path.sql

This model doesn't really work currently in our existing setup. See #83. Happy for it to be retired for now.


RequirementMachine: Fix handling of unavailable Sendable conformances in concretizeNestedTypesFromConcreteParent() [5.7]

Cherry-pick of https://github.com/apple/swift/pull/59369.
We can't just ignore unavailable conformances because the
generic signature we're computing might itself be attached
to an unavailable declaration.
Until we get a proper fix, only drop unavailable conformances
to Sendable here.
Fixes rdar://problem/94305457.

@swift-ci Please test

@swift-ci Please test

@swift-ci Please test


MTL-1628 Support both runtime and initrd lib loads

Summary and Scope

Fixes MTL-1628
Relates to CASMTRIAGE-3025 (discovered and created as tangental work during this JIRA's investigation).

Issue Type

RFE Pull Request

Previously this was sourcing the dracut-lib.sh file from a specific
location that only exists in the initrd. Now this will smartly
source it from its runtime location or its initrd location
depending on which one exists.
Also tidies up the commented areas, make them consistent.

Some new functions were added:

metal_scand takes an offset and finds disks for resolution by metal_resolve_disk.
_load_dracut_dep runs in metal-lib.sh, even when sourced. Ensures that dracut-lib is loaded whether metal-lib.sh is loaded in Linux runtime or within the initrd context.

Prerequisites

[x] I have included documentation in my PR (or it is not required)
[x] I tested this on internal system (x) (if yes, please include results or a description of the test)

redbull

storage-ceph nodes booted with dracut-metal-mdsquash
ceph deployed from bare-metal

Idempotency

Risks and Mitigations
What is less risky, or more risky now - or if your mod fails is there a new risk?
This enhances the dracut-metal codebase by providing functions and constants in a global library instead of:

3 different lsblk commands; each dracut-metal module had a duplicate or special lsblk command
Redefinitions of /etc/fstab.metal
Redefinitions of the fsopts used for XFS

Example output from metal-disks=2 and the new call to metal_scand:
 Warning: Found the following disks for the main RAID array (qty. [2]): [sda sdb]

Merging after I return from leave.

We should also come back to these in another PR and fixup the shellcheck warnings.

we should probably run shellcheck on native-dracut too.. worthwhile to see if it is worthwhile.


Removing zip, using delta and externalizing the class

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Reviewer - this PR has made changes to one or more package.json files.

Snapshot stored with reference name:
refs/pull/15561/merge
Test environment:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15561/merge/index.html
To test a playground add it to the URL, for example:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15561/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/15561/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/15561/merge
https://gui.babylonjs.com/?snapshot=refs/pull/15561/merge
https://nme.babylonjs.com/?snapshot=refs/pull/15561/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/15561/merge#BCU1XR#0

Visualization tests for WebGPU (Experimental)
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15561/merge/testResults/webgpuplaywright/index.html

WebGL2 visualization test reporter:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15561/merge/testResults/webgl2playwright/index.html

Reviewer - this PR has made changes to one or more package.json files.

@Popov72 had an excellent idea to avoid getting to rebuild always from entry 0 but for now let's merge this version and I'll improve it next week (and after that NRGE and SFE will be able to use it)


[FEAT][compatibility]

Is your feature request related to a problem? Please describe.
This is a great plugin , and i wish to bring to your notice about some issue and feature enhancement possibility.

Compatibility issue with markdown prettifier plugin.

the problem : in multiline flash card "?" operator is placed, and if i run markdown prettifier , the prettifier automatically adds a line above and below "?" operator and thus breaks the flashcard.

possible another enhancement for Q and A use case.

This is how i am taking Q and A right now because i can get toggle functionality in obsidian this way ( which i think very important for Q and A )
The problem : i cannot use the flash card context as the question itself is written as heading, it will also be included in context. And i wish i can get toggle functionality along with flash card using bulleted list ( or any other way ) rather than using  heading as question. ( bulleted list wont work along with multiline operator "?")

line breaks some times need to be included in flashcards
Obsidian has slide functionality , spaced repetition plugin working along with this core plugin will look cool

Describe the solution you'd like
Possible solution for all the problem mentioned above.
Remove the multiline operator and instead bring a Q and A operator ( Ans operator can be bypassed even with a Tab )
add something to end flash card , best possible is "---" as this also work with obsidian core slide plugin.
if below image can be made to work with flash card then it would be great as

it will work with toggle list ( and get toggle functionality for question and answer thus not loosing the big picture of everything we learn )
no problem for markdown prettifier plugin
No problem for obsidian core slide plugin
line breaks wont be an issue as there is flash card end operator "---"

Additional context
this is my first time posting in github and i love this spaced repetition plugin

here is my obsidian page may be you could have a look works ok with both slide plugin and spaced repetiton plugin
Bond Market.md

Hi @ananthuthilakan
It seems that your request is to be able to have blank lines in multi-line cards.
I think you are saying that if that was implemented, then that would solve all the compatibility issues you faced.
Is that correct?
Cheers
Ronny


How to upload files?

Thanks for the great quickstart!
How do I send formdata to upload attachments to events with this library though?
The API docs are also rather unclear on this and there seem to be typos like attatchments:
https://demo.church.tools/api

Which type to use to upload eventFiles/attachments to an event?  attachments? service?
Is service=event?
I now get Nur eine Datei darf für diesen Domain Typ hochgeladen werden.
Responses in German are also fine, just thought I follow good internet etiquette and write understandable for anyone :)

And how do I download a PDF appropriately?
When I get a song arrangement and try to download its fileUrl like this, something messes up the header, maybe an encoding issue?
churchtoolsClient.get(f.fileUrl).then(file => {
│   filename = `${date}/${f.name}`
│   fs.createWriteStream(filename).write(file)
│   return filename
│ })

Wonder what for? This: https://code.ftt.gmbh/janek/carvent

Hallihallo, jemand da?

Hey @xeruf!
Sorry for the delay.

Which type to use to upload eventFiles/attachments to an event? attachments? service?
Is service=event?

You guessed right: If you want to attach files to an event, the corresponding domainType is service (as in "church service" / "Gottesdienst").

I now get Nur eine Datei darf für diesen Domain Typ hochgeladen werden. even though I am posting only one file, for any of the aforementioned types.

I'm not sure if that problem still exists when you use the correct domainType. If so, please reach out again, then I'll take a closer look.

And how do I download a PDF appropriately?

Our client library is not yet capable of downloading files and it's currently not on the roadmap to introduce this feature.
But you can leverage the cookieJar and the http/https modules from the Node.js standard library to make that download work:
const https = require('https');
const fs = require('fs');

const cookieJar = new tough.CookieJar();
churchtoolsClient.setCookieJar(axiosCookieJarSupport.wrapper, cookieJar);

// login, get the event/agenda/song data and finally the url of the file you want to download
const url = 'https://demo.church.tools/?q=public/filedownload&id=12345&filename=abcdef...';

const file = fs.createWriteStream("file.pdf");
https.get(
    url,
    {
        headers: {
            Cookie: await cookieJar.getCookieStringSync()
        }
    },
    (response) => {
        response.pipe(file);

        file.on("finish", () => {
            file.close();
            console.log("Download Completed");
        });
    }
);

I hope I could help you a bit. If anything's missing, don't hesitate to reach out again.
Gesegnete Ostern!
– Andreas
Developer @ ChurchTools

I have tried it exactly as suggested, with cookieJar as a global constant, but I get
/home/janek/data/1-projects/1-personal/carvent/index.js:70
                    Cookie: await cookieJar.getCookieStringSync()
                                  ^^^^^^^^^

SyntaxError: Unexpected identifier 'cookieJar'

Our client library is not yet capable of downloading files and it's currently not on the roadmap to introduce this feature.

What would be the suggested way? I have no problem using another language :)

In a nutshell, it's not intended to download any files via the API. They should only be downloaded via a browser or similar client that has been logged in and has a valid session cookie. If you can "simulate" this in any way (e.g. with my code snippet from above) you can use whatever language you like.

As I said, I tried all domaintypes, the current code is here, not working with service:

I don't think the problem is the domaintype then. I haven't worked with file uploads myself yet, but in our frontend code, it looks like this:
const formData = new FormData();
formData.append('files[]', file);
// some more form data
churchtoolsClient.post(`/files/service/${id}`, formData);

There are two things that could be the problem with your code (just guessing):

formData.append('files[]', file) instead of formDAta.append("files", [file])
In the browser the file is a Blob, in your code the pdf-merger-js gives you a Buffer. Maybe you need to convert it from Buffer to Blob.

I have tried it exactly as suggested, with cookieJar as a global constant, but I get

The problem is here: https://code.ftt.gmbh/janek/carvent/src/branch/main/index.js#L60 If you want to use await inside a function, that function must be marked as async:
).then(async (result) =>

I hope this gets you further!
– Andreas
Developer @ ChurchTools

@xeruf I'm closing this issue for now.
If you need further assistance, feel free to reopen it.

Managed to successfully download, now just failing on the upload, see https://code.ftt.gmbh/janek/carvent/src/branch/main/index.js#L101
[ChurchToolsClient][Error] POST https://MYCHURCH.church.tools/api/files/service/2241
/home/janek/data/1-projects/1-personal/carvent/node_modules/@churchtools/churchtools-client/node_modules/axios/lib/core/createError.js:16
  var error = new Error(message);
              ^

Error: Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream
    at createError (/home/janek/data/1-projects/1-personal/carvent/node_modules/@churchtools/churchtools-client/node_modules/axios/lib/core/createError.js:16:15)
    at dispatchHttpRequest (/home/janek/data/1-projects/1-personal/carvent/node_modules/@churchtools/churchtools-client/node_modules/axios/lib/adapters/http.js:96:23)

I have tried Buffer, Blob and reading from file stream as suggested in https://stackoverflow.com/questions/25344879/uploading-file-using-post-request-in-node-js/25345124#25345124 but I am not getting anywhere...

Have you tried something like that? IMO you don't need to save and read the file again, this should be fine with saving as a blob
const PDFMerger = require('pdf-merger-js');
const merger = new PDFMerger();
return new Promise(async (resolve) => {
  for(const file of result) {
    await merger.add(file.value);
  }

  const merged = `${date}/${date}-songs-akkorde.pdf`
  const mergedPdfBuffer = await merger.saveAsBlob();

  const data = new FormData();
  data.append("files[]", mergedPdfBuffer)

  resolve(await churchtoolsClient.post(`/files/service/${event.id}`, data))
})

that is what I thought as well, but mergeAsBlob is not part of the nodejs version of pdf-merger-js :/


Try to refactor the ImageManager trigger published value, avoiding the View will refreshing when deallocing

This may solve #176
The callstack trace shows that UIHostingView's dealloc method will trigger the View's onDisappear method. And it use the unownded but not weak for the internal storage. If we trigger another body refreshing call from the Publisher (in the #176 is because of the ImageManager.isLoading property), this will cause the crash because the internal storage already been destroyed.
Instead, I try to avoid using isLoading. But this property is previouslly used to supports the delayPlaceholder feature.
delayPlaceholder in SDWebImage means:

If the loading has never started, only show the indicator (if available) but not placeholder.
If first loading failed, show the placeholder and disappear the indicator (if available)

So, instead I use the error to check whether there are loading failure. This can keep this function as well.

Try using the demo code, function works as expected.


add retry for failed fetch of base realm artifacts in test env

This PR is a workaround for the mysterious fetch failed errors that we see in our CI environment for base realm artifacts

This looks like it works! from the CI logs:
ok 20 Chrome 128.0 - [2436 ms] - Integration | card-catalog > realm filters: displays all realms by default
    ---
        browser log: |
            {"type":"error","text":"Encountered fetch failed for https://cardstack.com/base/watched-array retry attempt #1 in 100ms"}
            {"type":"info","text":"Realm http://test-realm/test/ has completed indexing: {\n  \"instancesIndexed\": 5,\n  \"modulesIndexed\": 0,\n  \"instanceErrors\": 0,\n  \"moduleErrors\": 0,\n  \"totalIndexEntries\": 9\n}"}
            {"type":"warn","text":"WARNING: Binding style attributes may introduce cross-site scripting vulnerabilities; please ensure that values being bound are properly escaped. For more information, including how to disable this warning, see https://deprecations.emberjs.com/v1.x/#toc_binding-style-attributes. Style affected: \"false\""}
            {"type":"log","text":"time since app boot: 46150.5 ms"}


Python 3 compatibility

Python 2.7 will be officially deprecated by 2020. We should start making the code compatible with Python 3 to ease the transition in the future. We can make the code run in both Python 2.7 and Python 3.* using the future package. This is already in use in the fatiando.inversion package.
Not too much needs to be changed for this to work. Mainly:

print is now a function. Fix: from __future__ import print_function at the start of all modules and examples.
The / operator no longer performs integer division. Ex: in py2 1/2 == 0 in py3 1/2 == 0.5. Fix: from __future__ import division and all division will behave like py3. To get integer division, use 1//2.
xrange no longer exists and range behaves like xrange (returns a generator, not a list). Fix: from future.builtins import range.

These are the changes that affect most of the code. There are other issues with metaclasses and the super function but these won't affect many modules.
What we need to get this started: test coverage. The only we'll know if our changes break something and that things work in Python 2.7 and 3.4/3.5 is to have extensive unit tests. This way, we can change the code and automatically know if something is broken in any version.
We should try to get started in the compatibility with any new code. The goal is to have Python 3 compatibility by Fatiando v0.5, which should be release in the middle of 2016.
Update: We didn't make the v0.5 goal for Python 3 support. The current plan is to make v0.7 work in Python 2 and 3 (3.5+). This would be our last release that works in Python 2. From then on, we can drop support for Python 2 entirely and stop worrying about this. Read more about why/how we're doing this at http://www.python3statement.org

Looks like Mayavi might finally be moving over to Python3 as well: http://docs.enthought.com/mayavi/mayavi/auto/changes.html?highlight=python3 which I think was out major block, correct?

Yep, that was the only block actually. But from this PR it seems that it still requires a lot of work and the master branch of some other projects.
All other dependencies work in Python 3. Porting Fatiando itself won't be too  much of a problem once I get the tests properly organized and up the coverage a bit. I'm hoping to get this started this year still.

finally got some time to look at this...
I am just using python 3 now so I was wondering ... now I know
nice @leouieda! there we go!

Just FYI, the current plan is to clean up the code base and increase the test coverage first. This will lay the ground work for the Python 3 compatibility, which should be very straight forward.
If Mayavi enables Python 3, I'd even be inclined to drop Python 2 support one release after the Python 2/3 release.

@leouieda thanks
About mayavi it seams it is ready for python3 look at these
http://stackoverflow.com/questions/19138418/get-mayavi-working-with-python-3
(last answer)
and this Issue already closed

Yes, I've seen those. But by ready I mean "conda install mayavi" should work. The way it is now, it requires the user to compile VTK. Imagine the emails we'd get from people trying to do that.

yeah I get understood

@rafaelmds thanks for reporting. These tests are usually a bit sensitive because they were poorly designed. It's not worth spending time on this in the main repo. A lot of this code is completely unnecessary now (like the SparseList in your example).
I started working on the modernized versions of fatiando internals. For now, I'm focusing on the gridding part (https://github.com/fatiando/verde) because that coincides with some of my research. It's Python 3 from the start and the code there is a lot better. Turns out a lot of the stuff I implemented in Fatiando is already there in pandas, scipy, xarray, scikit-learn, etc.
Verde already does most of what fatiando.gridder did but better. If you want to help out, that's where the future is :) I'll start work on the geometric and gravmag parts soon as well. I'm laying out some issues that need to be implemented in https://github.com/fatiando/verde/issues


Text too gray (white) on Android since last alpha upgrade

Today I've updated flutter using the "flutter upgrade" command (alpha channel).
To my surprise, after build, the app didn't feel the same. That's because since the upgrade, some text colors became way too gray (light) and I don't like it. Is it possible to have the same text colors as before? Thank you.
Before

After

I suspect this is https://github.com/flutter/flutter/issues/10655.
My understanding of the issue is that although our new behavior is technically color-correct, we may not want to be using the Material Design values as opacity but rather as brightness.  My understanding is @brianosman and other Skia folks were discussing possible changes here.  @Hixie @sethladd

Have we asked the material team for a call on this? @sethladd?

An alternate set of material values (for alpha blending) might solve this -- one set for legacy blending and one set for color-correct.

Fixed, see https://github.com/flutter/flutter/issues/10655.


Consider Mitigation of OWASP API top 10 vulnerabilities in Backend

Description
It would be good to know what kind of coverage we have against OWASP API top 10 and OWASP top 10 vulnerabilities in backend. https://owasp.org/www-project-api-security/ and  https://owasp.org/Top10/ . Could this be partly automated like Github's dependabot against OWASP top 10 number 6.
Should we have some more automatic testing against known vulnerabilities and should we manually check some known vulnerabilities need to be decided.
DoD (Definition of Done)
There is a task to automate vulnerability testing and we have checked that existing configurations comply mitigation of OWASP API or where more accurate newer OWASP top 10.
Testing
Peer review or group discussion about the task.

can we move it to https://github.com/CSCfi/metadata-submitter ?

Oh, sorry my bad, it should be in backend.


convertor: allow user to specify formats

besides automatic format discovery based on filename extensions, the user should be able to specify in and out formats with command-line options t, --to=, -f, --from
This would allow to call it like:
convert -from=yaml    oldyacmlfile.backup newfile.rdf

Refer to my previous email for more invocation examples.

@zvr pls check the -f/-t use, I've just added in.

also, I need an advice..
How to use from as an argument in a function because it is predefined in python.
in the code, I need to replace frome to from

also, I need an advice..
How to use from as an argument in a function because it is predefined in python.
in the code, I need to replace frome to from

@pombredanne - as a Python Person - could you help out Yash on his question related to reserved words?

@pombredanne the code snippet was something like this:
@click.option("--frome", "-f", type=click.Choice(["tag", "rdf"], case_sensitive=False))
def main(infile, outfile, src, frome, to):

I am using click module but was not able to use the term from.
Thanks for helping and pointing out the axiom 👍

Use the single letter options -f and -t
Use the long options --fromfmt and --tofmt (and therefore the args in the function)
Have both click.option also have a default="undefined" so that you can check when determining formats

Actually I just checked and the click documentation has exactly the way to use --from in the option manual, under the comment

How to use a Python reserved word such as from as a parameter

https://click.palletsprojects.com/en/7.x/options/

thanks @zvr. I think the motive of this issue is achieved, please look out the code.


Fix TextWrapping in TextBlock

What does the pull request do?

fixes textwrapping
What is the current behavior?

it's possible to get a infinity loop using textblock with text Wrap, when width is less than width of a character, thus causing an app to freeze
What is the updated/expected behavior with this PR?

fix Text Wrapping in situation with limited width (less than a character width)
How was the solution implemented (if it's not obvious)?

Text formatter doesn't return empty lines each line is at least one character
Checklist

[x] Added unit tests (if possible)?
[x] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/Avaloniaui.net with user documentation

Breaking changes

Fixed issues

Fixes #4806

@Gillibald pls can you take a look is that fix correct attempt for the #4806, thanks

I have a branch in my fork that should have this fix included.
https://github.com/Gillibald/Avalonia/tree/fixes/TextRendering
Feel free to apply my changes to TextFormatterImpl to your branch.

I have a branch in my fork that should have this fix included.
https://github.com/Gillibald/Avalonia/tree/fixes/TextRendering
Feel free to apply my changes to TextFormatterImpl to your branch.

this fix also works great


Set link bandwidth in multiswitch.p4app

Hello, I am pretty new in p4app and mininet environment. I was wondering if there any way to define the bandwidth of each link, alongside the delay in p4app.json file? I tried the following:
"links": [["h1", "s1"], ["s1", "s2", 20, 10], ["s2", "h2"]],
instead of
"links": [["h1", "s1"], ["s1", "s2", 20], ["s2", "h2"]],
in the p4app.json file of the multiswitch.p4app. But looks like it's not working.
Thanks in advance.

I think you should modify the docker/scripts/apptopo.py and rebuild the docker image to enable the configuration about bandwidth. You can see the code in the file:
self.addLink(host_name, sw, delay=delay,                         addr1=host_mac, addr2=self._host_links[host_name][sw]['sw_mac'])
You can refer to the Python-API of mininet to configure the link bandwidth. The original docker image only supports the configuration of link delay.

Hi Chen, Thanks a lot. I tried the customtopo.p4app, and I can set the bw from there ( info['bw'] = 50) But it looks like they have a limit on that [0-1000]. And the unit is in Mbps. Now a days 1000 Mbps link bandwidth doesn't seem very common. If you know any way to increase this value, that would be really helpful to me.

I am not very familiar with mininet. But from the document, http://mininet.org/overview/, it seems that the bandwidth is limited by the CPU power. I know that ns3 can provide more power for the network simulation, and you can ask the problem from the mail-list of mininet developers.


Inconsistencies

Description
Hey there.
I've been using Nuxt UI for a while now and must say two things: A) It's a big help and B) it could be an even bigger help. So thanks for A) and thanks in advance for B). 😀
Even after this while of using Nuxt UI, I find myself having to look up frequently the config of components. And that's because the components and their configs are inconsistent. Let me give you a few examples:

On some components we use border, on others ring. On checkboxes, we use border, on inputs we use ring. Which of course leads to a different look when focusing one or the other as the offset of the ring is different. In general, I feel ring is misused as border (i.e., for the input or also the card components) but maybe I'm overlooking something.
The required attribute is handled differently, too. On checkboxes it's a separate element while on form groups it's done with after:content. One is styled with ms-0.5 as default, the other not.
The description in a form group is placed below the label, but for checkboxes above the label.

In general, I don't understand the reason for those differences or inconsistencies, let alone remember what approach is used on what component. I feel that the components and the entire UI library would benefit from a more consistent config approach. Right now, it appears a bit "all over the place", if I may exaggerate a bit.
While each component in isolation is a coherent piece, the confusion arises when combining the smaller pieces to a larger component. So it's not really a bug or a specific feature request as it concerns larger parts of the library and the developer experience. But it's still a concern that I have.
Any thoughts?

I think there should be more consistency too, I agree.
Some of the inconsistencies are because proper browser support.
I personally think that a 3.0 version should have these inconsistencies solved by documenting these somewhere, as I don't think it's going to happen in the middle of v2.0.


Yammer with SP 2016

Where is this content for SP 2016?

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

ID: 9a8d833d-52ed-69a0-efa2-d395a1be8839
Version Independent ID: 7f3b837d-61c5-1251-1585-a5df05b1690c
Content: Integrate Yammer with on-premises SharePoint 2013 environments
Content Source: SharePoint/SharePointServer/administration/integrate-yammer-with-on-premises-sharepoint-2013-environments.md
Service: sharepoint-server-itpro
GitHub Login: @MikePlumleyMSFT
Microsoft Alias: mikeplum

SharePoint Server integration with Yammer files have now been updated to include SharePoint Server 2016.


Nodes hierarchy not detected

Hi :)
I am using Godot 4.21
The states hierarchy is not detected for me, I tried reloading the scene and it did not help.
I get these warnings:

Also, I cant seem to have the helper panel as showed in the tutorial:

Please make sure that you have enabled the plugin and also please restart the editor after installing the addon (just reloading the scene usually is not enough).

You are correct, restarting the editor did the job, thank you!

Awesome, glad it worked out! Have fun making your game!

@derkork thank you for making this awesome library!
Is there a community where I can ask questions about it, guides or more extensive documentation for it?

Well there is the manual, and I was hoping it  provides enough depth, so I would be very interested in improving this if you find it to be lacking information. Apart from that you can always ask questions here (just open up a ticket) and I also tend to hang around on the Godot discord.


changelog entry for removed @trusted attributes in etc.c.curl

Follow-up to #4514.

meh, I don't know that such an in-depth description is needed. Just the main list item is fine.

meh, I don't know that such an in-depth description is needed. Just the main list item is fine.

Should at least mention which functions are affected. So, just this directly in the top list, no jump link:
$(LI Wrong
    $(LINK2 $(ROOT_DIR)spec/function.html#trusted-functions, `@trusted`)
    attributes have been
    removed from  $(MREF etc,c,curl) functions
    $(REF_ALTTEXT `curl_easy_escape`, curl_easy_escape, etc,c,curl),
    $(REF_ALTTEXT `curl_escape`, curl_escape, etc,c,curl),
    $(REF_ALTTEXT `curl_easy_unescape`, curl_easy_unescape, etc,c,curl), and
    $(REF_ALTTEXT `curl_unescape`, curl_unescape, etc,c,curl).)

Better?

IMO, we just need to identify that some functions were improperly trusted in curl. If someone is affected, they'll see the changelog note. If they aren't affected, there isn't a large chunk of the changelog dedicated to minor details. If you think we need more, @klickverbot, then I'll leave that up to you. Typically this kind of stuff is in a bug report, and the changelog just references.

Better?

Yes, looks better to me.

Yes, looks better to me.

Ok, changed to the shorter version.


Alien Launchers disappear from inventory when loaded up.

Using the gear calculator V2, making alien rocket launchers then putting them into your backpack makes them disappear when the game is loaded up.

Some relics will be deleted by game as well.
For instance, Allegiance Relic.

It appears that this repo has been abandoned.

The BUG fix branch still not merged...

... waiting on fix


[Bug]mscclpp-tests dont exists after test.

ENV: gcc 10.2 cmake 3.25
System: Centos 7
Hi developers,
I meet some problems when I run mscclpp in single node with 8 cards. I run the following command ./test/mscclpp-test/allreduce_test_perf -b 2m -e 48m -G 1 -n 100 -w 20 -f 2 -k 5. The console prints correct results but fails to exit the program. I kill the host side mpirun process, and the device-side process all hang and can not be killed.

Could you use our docker image? You can find the image at here: https://github.com/microsoft/mscclpp/pkgs/container/mscclpp%2Fmscclpp

Could you use our docker image? You can find the image at here: https://github.com/microsoft/mscclpp/pkgs/container/mscclpp%2Fmscclpp

I tried docker in cuda12.2, the program still hang after print the # Out of bounds values : 0 OK, without exiting.

@TonyWu199 please provide detailed environment information, including the GPU name, GPU driver version, PCIe or NVLink, and any machine configuration info.


Failed on VS code v1.54.1...

After upgrade vs code today, a sad story happens...

Fixed on 3.0.0, please update and test this one. Thank you!

Thanks ... VSCode marketplace page shows 3.0.0 but when I click the install button, it  opens the 2.1.4 version.
Running Check for extention updates reports all extensions are up to date. Guess I have to give some time to replicated out.

Confirmed. Working again 🎉
Oh, and I like the new "right side of the statusbar option". Really nice


sys/linux: video4linux v4l2_jpegcompression APP_len fix

Signed-off-by: Denis Efremov<EMAIL_ADDRESS>
Before sending a pull request, please review Contribution Guidelines:
https://github.com/google/syzkaller/blob/master/docs/contributing.md

Fixed && Rebased. I think that [0:59] range is more correct than [0:60] since it's inclusive and we describe length of COM_data	array[int8, 60] Am I right?

Well, if the array is described as array[int8, 60], then its maximum length is 60, so the maximum value of the length field should be 60, thus the length should be described as [0:60] (the range is inclusive).

Sorry, my bad. We are talking about len, not about indexes. Fixed.

Thanks!


Create an attendance object for users when they are granted an override

This makes giving SUMS access easier/quicker. This is less useful with the shop kiosk pointed at Apiary.

Closing per Slack discussion since attendance objects can easily be created by tapping into the shop or using a remote attendance link if necessary


Fix missing escaping on "Using WireGuard to create a network overlay"

Why:
The example code on https://docs.github.com/en/actions/using-github-hosted-runners/connecting-to-a-private-network/using-wireguard-to-create-a-network-overlay#example-configuring-wireguard is missing escaping of the "${{ secrets.WIREGUARD_PRIVATE_KEY }}" secret.
This causes the example to be a incorrectly rendered.
What's being changed (if available, include any code snippets, screenshots, or gifs):
This PR adds escaping to the example.
Check off the following:

[x] I have reviewed my changes in staging, available via the View deployment link in this PR's timeline (this link will be available after opening the PR).

For content changes, you will also see an automatically generated comment with links directly to pages you've modified. The comment won't appear if your PR only edits files in the data directory.

[x] For content changes, I have completed the self-review checklist.

@n-thumann Thanks so much for opening a PR with this fix! I'll update the branch and get this merged once tests are passing 🍏


Update 04-proof-of-stake.mdx

Link to description of consensus mechanism is broken.

Thanks for your contribution!


Inquiry about nn.Module's get_buffer, register_buffer, and register_parameter equivalents in mlx.

I am looking for functionalities equivalent to PyTorch's nn.Module methods: get_buffer(target), register_buffer(name, tensor, persistent=True), and register_parameter(name, param).
Requested Information

get_buffer(target) Equivalent:

Does MLX provide a method similar to PyTorch's get_buffer(target)? This method is used to retrieve a buffer by its name or type.

register_buffer(name, tensor, persistent=True) Equivalent:

This method is used to register a persistent buffer, typically a non-parameter tensor.

register_parameter(name, param) Equivalent:

This method is used to register a learnable parameter within a module.

If I may point you to #127 for the full reply.
In short, all member arrays are parameters. Arrays can be "frozen" to become buffers. Private members are treated as constants meaning that they are not returned neither by trainable_parameters() nor by parameters().
I will close the issue but feel free to reopen it if you think that my reply above doesn't cover your question.

@angeloskath Thank you for your prompt response, and I appreciate the information provided in #127. Regarding model parameters that need to be saved and restored in the state dict, an illustrative example of a buffer can be found in the _BatchNorm module. In this module, the running_mean, running_var, are registered as buffers and get updated by accumulating statistics from the data forwarded through the layer. this information in the running_mean, running_var are then used when doing inference or when the model in eval mode.  register_buffer(name, tensor) can be used in that case, WDYT?


React template follow-up

Summary

Fixed an issue where autoprefixer was warning about bootstrap's use of color-adjust. Solved by adding an override in package.json until bootstrap adds their own fix.
Fixed nav bar styling issue where the brand and navigation buttons were vertically misaligned.

Validation
Manually tested published builds on Windows and macOS.

I'll create a backport PR to release/6.0 as soon as this is merged.


Using the value field without binding after 2.0.0 doesn't work

After MatBlazor version 2.0.0, not binding to a value doesn't work anymore.
E.g. if you have a MatTextField with the following:
<MatTextField TValue="string" Value="ASDF" Label="Standard"></MatTextField>

this doesn't work anymore. In my case, I want to only provide fixed strings to such text fields in some cases. Is there another way to do this without having to use consts or fake properties with @bind-Value?
Example code in the fiddle: https://blazorfiddle.com/s/jf0oirmu

Hi,
If I understand you correctly (You want a string literal in the MatTextField) then this blazor syntax will help you:
<p>
    <MatTextField TValue="string" Value=@("ASDF") Label="Standard"></MatTextField>
</p>

Closing this one. Please write back if I've misunderstood!

Well okay. This looks like a workaround as well. Is there a way to support simple string values with Value and properties with bind-Value? I believe that this was removed in a prior version but didn't really understand why. Do you have some information on this? :)

@SeppPenner I don't know, but I believe it's just a consequence of overall rework of input components. I guess it's quite rare to use Textfields without a backing property so it was probably not thought of :)

Ah ok. No problem. And I know that most of the time, you do want to bind to values, not to simple texts.


Improve retry logic around flakey registries

Describe the problem/challenge you have

related to https://github.com/google/go-containerregistry/issues/1113

There are scenarios when a registry returns an error and imgpkg does not retry when it should. (since retrying would resolve the issue)
Describe the solution you'd like
imgpkg to retry errors from a registry, even if the actionable error is UNKNOWN.

Vote on this request
This is an invitation to the community to vote on issues, to help us prioritize our backlog. Use the "smiley face" up to the right of this comment to vote.
👍 "I would like to see this addressed as soon as possible"
👎 "There are other more important things to focus on right now"
We are also happy to receive and review Pull Requests if you want to help working on this issue.

With the bump to go-containerregistry to version 0.7.0 this issue is solved.
Present in version 0.23.0 of imgpkg


resource/cloudflare_logpush_job: add support for "access_requests" dataset parameter

Closes #2000

thank you @vcajes 👏 this looks good!


How can I filter these aggregations properly?

I have posted a details summary on stackoverflow here:
http://stackoverflow.com/questions/30291997/how-can-i-filter-these-elasticsearch-aggregations
If you prefer, I can write it up here too?
Thanks in advance for any help you can offer.

I figured this out, and am closing the issue. Thanks.


Wakie script is broken

Only selected uqcsbot as its victims.

Fixed in #338


GEODE-8555: SimpleDiskRegionJunitTest fails on Windows

Co-authored-by: Ray Ingles<EMAIL_ADDRESS>Updating Junit to 4.13, one test failed on Windows due to failure to delete some temporary test files.
https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main/jobs/WindowsCoreIntegrationTestOpenJDK8/builds/455
org.apache.geode.internal.cache.SimpleDiskRegionJUnitTest > testBasicClose FAILED
    java.lang.AssertionError:  Exception in createOverflowOnly due to java.lang.IllegalStateException: The region "/testRegion" has been persisted to disk so it can not be recreated on the same disk store without persistence. Either destroy the persistent region, recreate it as overflow and persistent, or create the overflow only region on a different disk store.
        at org.junit.Assert.fail(Assert.java:89)
        at org.apache.geode.internal.cache.SimpleDiskRegionJUnitTest.testBasicClose(SimpleDiskRegionJUnitTest.java:75)

@onichols-pivotal @kirklund


Wrong sailfish version in provenance/programs.txt

Hello bcbio folks,
I have a minor issue with software version tracking in bcbio. I am running bcbio-nextgen v1.01 locally and after running a RNAseq pipeline I noticed the sailfish version mentionned in provenance/programs.txt [0.10.1] is not the one actually installed and ran by bcbio [0.9.2].
In the manifest file, the version is 0.10.1 but running >bcbio/tools/bin/sailfish --version gives 0.9.2, same goes for  >sailfish --version.
Since I am writing here, I would like to seize this opportunity to adress all of you a very big thank you for all the effort you have put in this: it really is a great tool, it saves bioinformaticians a lot of time and hassle and this repository is a place where one can learn a lot from the community. So really, thanks!

Thanks @tb08, good catch.
It looks like the Sailfish code is stale on github, I pinged Rob about it here: https://github.com/kingsfordgroup/sailfish/issues/100
Practically it shouldn't make much of a difference between 0.9.2 and 0.10.1 since we aren't using the new perfectHash function. Hopefully he'll straighten that out and we can resolve it.

Thanks for the precision @roryk . While I am at it, may I ask what is the status on the matter of two-pass STAR alignment that was referenced in this issue? Is this still planned?


DATAJDBC-559 - Support MariaDB in DialectResolver.

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

Thanks for the PR.
While the actual code is fine, we should also include a change the integration tests for MariaDb.
Currently they seem to use MariaDb in some kind of compatibility mode, which shouldn't be used in the tests.
You can run the integration tests by setting the spring profile to mariadb.
The setup of the test database happens in MariaDBDataSourceConfiguration.

Thanks for the response. I was just looking into where this might be testable.
Unfortunately I don't have time now, but will be able to pick this back up at the end of next week. Someone else can feel free to take this over in the meantime if they are motivated before then.

@schauder would you consider this an "obvious fix", or will I need to sign the CLA?

The PR as it currently stands is an obvious fix. With the change to the test this will likely change.

Thanks that is merged and back ported(with an additional commit triggering the changed behavior in the MariaDB JDBC driver).

Thanks for shepherding this, @schauder.


[Subtask] [spark-connector] support create table like command

Describe the subtask
Spark datasource v2 doesn't support create table like command, we should support it
Parent issue
#1227

datasource v2 still use  CreateTableLikeCommand to represent create table like which  uses session catalog to create table, this is not expected.


Prepare release 0.7.0rc1

Summary
Move all reno to 0.7 folder
Details and comments
Fixes #

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 64.308%

Totals

Change from base Build<PHONE_NUMBER>:
0.3%

Covered Lines:
3144

Relevant Lines:
4889

💛  - Coveralls

Can we wait for https://github.com/Qiskit/qiskit-ibm-runtime/issues/474 before doing the release? Since the fix will be a breaking change (which also means fix should wait for the workshop lol).

Can we wait for #474 before doing the release? Since the fix will be a breaking change (which also means fix should wait for the workshop lol).

Sure, I can work on that - fyi @renier

We can do multiple pre-releases as needed. Prereleases can break the interface still. Do we really need to wait for #474 ?

We can do multiple pre-releases as needed

Sure, but it does take time (even if none significant). I don't see any benefit of doing a pre-release now, but it's up to you.

@kt474 we promised one this week, so let's not hold up.


Log Number of PRs retrieved

It seems that the script sometimes misses PRs. Let's add some logging at the INFO level to find out why.

To see their IDs, then use DEBUG level.


Demo is not responsive..

Am I missing something here?

Yes it is Safari window doesn't resize to 480px.. You can  change 480px in the CSS or try different browser for testing.

This was in chrome. The fact that you get any page overflow really doesn't scream responsive; at best this behaves as adaptive. I am not trying to be pedantic or saying that the project is bad but if this is truly a "responsive smart grid" then the demo is not doing it any justice. Like I said, perhaps I am missing something.

This is how I view the demo in Chrome Version 66.

This is not a browser issue.. it behaves the same in chrome and safari (and probably edge). The problem is this is not a "fluid responsive layout system". Perhaps that is not what you were going for, but it is what you are claiming that this is.

The above gif demonstrates the difference between responsive (on top) and adaptive (on bottom) taken from here. There is another good article here but I feel like I am being pedantic now so I will leave you to it. If this works for people then that is great!

Good idea 👍 that would demonstrate it better!

Hmm - wouldn't simply changing the .main class from width: 960px; to max-width: 960px; suffice for the demo?

@badcat Yes, absolutely. That will work. But I don't want 960px to be the standard I hope people will understand they can change this number into any value or unit. That is the best feature of this project any size or unit will work.


refactor(perp)!: merge x/util with x/perp

Description
Merges the x/util module with x/perp
Purpose
Cleans up the number of modules and code bloat.

This is not semantically a very good refactor, calling perp module to get all the module accounts?


expand anonymous namespaces in calls.cc

Motivation
Slightly cleaner code.  I also removed some misleading // namespace comments in the process.
Test plan

See included automated tests.

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_Jy1AVmW7JfyIpn
→ https://go/builds/bui_Jy1BYccYIigazv


vectral~ noisy

Hi, I'm using vectral~ to take a running average of fft amplitudes.
The resynthesis sounds fine when the patch first starts up, but as soon as I change the slide up/down time of vectral~ from 0, the output becomes glitchy/distorted, almost like a downsampling effect, and stays that way even if I return the up/down time to 0. I'm on macOS Sierra and Pd vanilla 0.48.
MWE attached (just rename .txt to .pd).
vectral-bug.txt

hi, thanks, vectral~ is known to be buggy and is one of the few we haven't fixed yet in the cyclone 0.3 release.

Thanks for the update, Alexandre.

On Nov 24, 2017, at 9:54 PM, Alexandre Torres Porres<EMAIL_ADDRESS>wrote:
hi, thanks, vectral~ is known to be buggy and is one of the few we haven't fixed yet in the cyclone 0.3 release.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

see also: https://github.com/porres/pd-cyclone/issues/250

I'm closing this as I cannot reproduce it. I'm on macOS Mojave, using Pd 0.51-2 and cyclone 0.5-3.
I think it makes sense if you change the ramp values and the sound gets distorted, the problem would be if you went back to 0 and it kept the same, but going back to 0 for me restores the original signal...


[REFACTORING] Remove PyOptiSLang related code

[x] Remove the optislang module following transfer to PyOptiSLang (https://github.com/ansys/pyoptislang/pull/170)
[x] Add the utilities module and transfer all common functions there.
[x] Adjust the problem setup step to call new methods from PyOptiSLang

Its failing at 'start analysis' with this error: 2023-08-30 17:45:54,835 ERROR [root] [method_runner.py:60] [trace_id=9f9ec48d0c692da328c819143c9ff123 span_id=5c2cffd1b808ef7f resource.service.name=Method Runner]- 'Project' object has no attribute '_get_project_tree' - Traceback (most recent call last):
I attached the logs for you to see log_zqbet9uu.log

This development has a dependency with PyOptiSLang. Did you use the latest commit from this branch for PyOptiSLang?


Update names list

@SjxSubham You can reopen this PR. Do you see there is a merge conflict now? Can you try and see if you can resolve it and update your PR?


pls update graphql dependency to latest v14

example error I get on the graphiql:
{
  "errors": [
    {
      "message": "Cannot use GraphQLSchema \"[object Object]\" from another module or realm.\n\nEnsure that there is only one instance of \"graphql\" in the node_modules\ndirectory. If different versions of \"graphql\" are the dependencies of other\nrelied on modules, use \"resolutions\" to ensure only one version is installed.\n\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\n\nDuplicate \"graphql\" modules cannot be used at the same time since different\nversions may have different capabilities and behavior. The data from one\nversion used in the function from another could produce confusing and\nspurious results."
    }
  ]
}

I've solved the problem by writing a run-time patch that override the check:
https://github.com/eram/kiss-ts-starter/blob/master/server/src/graphqlApi/patch.ts


Make config properties optional in TypeScript defs

Purpose (TL;DR)
We make the configuration argument for install and all configuration properties optional in the TypeScript definition. This fixes #352.
Background
As described in #352, the type definitions generated from the JSDoc comments required the config object with all parameters when calling install. All of these parameters are optional however.
Solution
It was necessary to create a JSDoc @typedef section because TypeScript is not able to generate the intended types from
@param [config.now] {number|Date}

This has been published to the npm registry as<EMAIL_ADDRESS>

This has been published to the npm registry as<EMAIL_ADDRESS>


[QUESTION] where is it??

I can't find this anywhere. I have it enabled, I use /editor like the mod page says, and I still can't find it. There's no button for it anywhere, and no command for it either

It's an entity, please, look around more.

okay, thank you, I found it! sorry about that

do you think the docs/readme should be updated to be clearer about this?

Since it's not obvious, I'll do something about it later.
https://mods.factorio.com/mod/useful_book has more features and less annoying issues.


Add Sinusoidal projection

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

Project coverage is 89.31%. Comparing base (d9193f6) to head (63bb300).

:exclamation:  There is a different number of reports uploaded between BASE (d9193f6) and HEAD (63bb300). Click for more details.
HEAD has 5 uploads less than BASE

Flag
BASE (d9193f6)
HEAD (63bb300)

6
1

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #201      +/-   ##
==========================================
- Coverage   96.39%   89.31%   -7.08%
==========================================
  Files          32       32
  Lines        1330     1329       -1
==========================================
- Hits         1282     1187      -95
- Misses         48      142      +94

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


When I wanted to extend props with my own values, there was unwanted …

When I wanted to extend props with my own values, there was unwanted rerendering and reloading of the entire document, which caused flickering. After several days of searching, I found out that the ProxyRenderer.tsx component was causing this. With this modification, rerendering no longer occurs

@hlouzek We also were facing a similar issue, we had a sidebar that could be extended, which was causing unnecessary rerendering and resetting the page number and so on. This fix fixed it, thanks 🥳
@cyntler can you please look into this and consider merging? Thanks.


[WinError 32] The process cannot access the file because it is being used by another process

https://i.imgur.com/uKHpJDn.png
Getting this error when trying to move images+captions to a different folder after updating to latest commit.

Sorry for inconvenience!
I forgot releasing loaded images from memory when replace or delete the file itself…

Sorry for inconvenience! I forgot releasing loaded images from memory when replace or delete the file itself…

no problem thanks for your hard work!


Multiple spaces between words in labels or annotations break image export

See example diagram (with sample file) with three different cases:
example.txt

Exported SVG from such a diagram contains &nbsp characters instead of additional spaces.

Can't reproduce with Camunda Modeler 0.16.0

Was still broken on 1.4 but fixed in 1.5.


how to train the model use ResNet50RNN

when i change the arch to ResNet50RNN, it shows that "expected objetc of backend CPU but got backend CUDA for sequence element 1 in sequence argument at position #1 'tensors'" so can you tell me how to solve it ?i  try to solve it use different server,but  it still didn't work.

In train.py, it'll use gpu if cuda is available. Also, you need to modify the method '_init_cell_state' in your model class, use 'return torch.zeros(hidden_state.size()).cuda(0)' for gpu, and 'return torch.zeros(hidden_state.size())' for cpu.

when i change the arch to ResNet50RNN, it shows that "expected objetc of backend CPU but got backend CUDA for sequence element 1 in sequence argument at position #1 'tensors'" so can you tell me how to solve it ?i try to solve it use different server,but it still didn't work.

In train.py, it'll use gpu if cuda is available. Also, you need to modify the method '_init_cell_state' in your model class, use 'return torch.zeros(hidden_state.size()).cuda(0)' for gpu, and 'return torch.zeros(hidden_state.size())' for cpu.

I solve it by change the 'h0'and 'c0' to gpu ,thanks for your reply.


Keycloak config

hello, so i was trying to setup stuff behind npm and was trying to do it with keycloak and its not working... i have both keycloak and npm running as stacks through portainer... how do i make this work?

I'm not Nginx expert but thought I'd just point out that there is a pull request made recently for NPM that will allow you to configure OpenID (aka Keycloak) through the GUI.
It's also worth noting that you need that latest release of NPM (2.3.0) to work with OpenID. Out of the box Nginx doesn't support OpenID, but 2.30 has migrated from Nginx to OpenResty which does.

I was referring to setting it up behind npm so I could access the gui, but that's also good to know.
For some reason I can't seem to proxy the site at all... Same with pterodactyl-panel in docker... (I only got an openrusty successful install page for ptero)

What is not working exactly ?  What are the errors you are seeing ?

Was this ever incorporated into this image? When I go to edit proxy host, I don't see the option for OpenID configuration.

The OpenID changes have been made in a separate branch, but are not merged yet in the main one.  See https://github.com/jc21/nginx-proxy-manager/pull/753.

The OpenID changes have been made in a separate branch, but are not merged yet in the main one.  See https://github.com/jc21/nginx-proxy-manager/pull/753.


[User] qmt-spgr number of pre-pulses

Email received

We have been working the qMR software and have found it very helpful for the qMT; thanks to all of you!
We are trying to obtain qMT maps of the calf muscle.
I have a question on the input:
For the number of MT pulses, I believe it is the number of pre-pulses used to achieve steady state?  The sequence we are using does not have pre-pulses but we are using a 3D SPGR sequence (128x128x16 partitions):  As the centre of k-space defines the contrast, would it be equivalent to having =128x8=1024 MT pre-pulses (we start .  I am in the process of modifying the sequence to have dummy repeats but wanted to clarify before hand what the number of MT pulses stood for in the qMR GUI.

Yes, that is correct, # of MT pulses is the number of pre-pulses used to achieve steady state. Usually a dummy scan is performed prior to the scanning.
Without dummy scans, you have an unstable image while filling your k-space --> blurring, signal dispersion.
See, for instance, this paper for some illustrations:

I see your point about the center of the kspace being after 1024 pulses. Some clarifications about the # of MT pulses:

The analytical solution DOES NOT handle this parameter. Basically in the fitting; the transient phase is not handle and we assume that you are in steady state for the entire readout.
This parameter is used only for block equations used in the simulations. Since the simulation only support a single voxel (we do not simulate kspace filling), there is no readout. Note that this simulation can be used to test how many dummy scans you need 😃

Some simulation with kspace filling are required to investigate the impact of the transient phase. If you do not see any artefacts and signal in the background, and if the fitting looks good (especially the first volume), you might be right that dummy scans are not necessary. But I cannot advise you to do so...
I would recommend to skip the first volume (assuming that all volumes have been acquired in a row). Or, as you said... redo the experiments.
Best,
Tanguy

@tanguyduval can you let us know who asked this question if it is possible?

New question:

We are trying to derive qMT parameters for lower leg (calf muscle) : we have still not implemented the prep pulses that we discussed before but think that may offer some improvement but not too much.  We are acquiring 14 data points (flip angles and offset frequencies in enclosed screenshot).

we fixed both R1f to acquired R1map and T2f through fixing R1f*T2f (constraining these two parameters makes the fit better and we get less noisy fits and parametric images).  However, the value of F is 2.86% vs the value of 8% found in other studies:  we are not using a B0 map:  this may affect F as well but dont expect that to be too much.

There might be many reasons why you obtain such small values for F. I would say that field maps errors and poor spoiling are the most probable. Their effects on the parameter F could be simulated. @mathieuboudreau is certainly more used to qmt spgr dataset than I am and could help you find the issue in your dataset. @mathieuboudreau What are your thoughts??

Couple of other questions:

Do you have a B1 smoothing software in your qMR ?
The preprocessing is not included in qMRLab. However, you can run the following command in your Matlab Command Window to create the file B1_smooth.nii.gz:

B1 = 'B1.nii.gz';
save_nii_v2(smooth3(load_nii_data(B1)),'B1_smooth.nii.gz',B1);

We are now deriving the T1 map for MP2RAGE from the direct source:  I saw on the GitHub discussions that you may have integrated the T1 map calculations from MP2RAGE

Sorry the MP2rage module is not ready yet... see #255 (still open issue).
Best,
Tanguy

Thanks @tanguyduval !
A few quick thoughts:
1 - To my knowledge, fixing R1f*T2f = constant has only been done in studies using the Yarnykh model, I'm not sure how it will behave with other ones.
2 - The constant that Yarnykh found for that ratio may be tissue dependent, I'm not sure. I would ask the authors to look at the muscle literature to see if this constant is appropriate for them (as they mention other papers that have qMT values, simply multiply their R1f to their T2f from those papers); I'm assuming they did this already though, since their values are different from our default (0.055).. Even then, Yarnykh uses a range of different values for this "constant" in their studies (0.055 in 2004 at 1.5T, 0.022 in 2012 at 3.0T), so it's likely field dependent amongst other things, which is partly why I've never been keen on using this option myself. P.S. We should probably change the default value to the 3.0T Yarnykh one.
3 - Most of my experience has been with the Sled model. However, in that case, I've often seen F being severely biased by T1obs/R1obs (e.g. see my B1 sensitivity paper of qMT paper). I would recommend the authors to check that their T1obs/R1obs are close to values others have seen in that tissue in the literature, and if not, to check how the F values changes if the T1/R1 is recalibrated.
4- At first glance, my gut also tells me that B0 won't affect F too much, but I haven't looked at this before. They could test by creating a fake B0 map that's "flat" (all same values), and adjusting the value to see how it affect F.
5- I think my main advice, since they seem to have access to literature values, would be to use those values and the qMRLab single voxel fit simulation tool to simulate what the signal curves should look like, as there could be pulse sequence issues as well. I've been told by other people that qMT can be sensitive to the filtering of the Gaussian pulse, which is typically Hamming-filtered I believe.
Last notes, MP2RAGE is going to get working on in the coming months, and a B1 filtering module is currently being worked on by @ileppe in #135

I can't see what their R1obs value is from their second image, but assuming that it's very close to R1f, it might be a bit low (1.28 s vs ~1.5 for Sinclair et al 2010), but I don't know how fixing R1f*T2f and/or using the Ramani model impacts the sensitivity of F to R1obs (for me, not fixing it and using Sled, underestimating T1 resulted in overestimating F, which is the opposite that the authors might be experiencing).

I agree with @mathieuboudreau's points. The ratio/product of R1f/T2f that Yarnykh has used was derived for brain, I see no reason for it to be the same in muscle. B0 maps should have only a small impact on F, if it was having an effect you would see variations in F that resembled the B0 map.
However I have an additional theory that MP2RAGE is likely not appropriate to use to measure R1obs for qMT. I have not seen a comparison of MP2RAGE and VFA, but every T1 method disagrees so I strongly suspect that MP2RAGE disagrees with VFA. I have also not seen the MT effect of MP2RAGE investigated or quantified.
Hence I'd recommend sticking with VFA, with similar parameters to the qMT experiment itself, to get the R1obs measurement.

Hi All
It has been a while before I started to look at the problem of underestimated T1 values.
I followed Agah's protocol faithfully and it did give T1 values similar to what he got.  I identified the problem to be in the fat suppression (fatsat by a chemsat pulse).  Keeping everything identical to Agah, but including the fatsat pulse brought the T1 to values in the range of ~800 ms.  In muscle it is important to suppress fat since intramuscular fat infiltration can cause lower MT values (of course lower T1 values as well).  I was testing on young subject where we don't have much fat, so in theory the fat suppression should not have made a big difference to either T1 or MT-- but it lowered T1.  I tried with water excitation (normal) and (fast) and T1 values were closest to no fat sat was   water excitation (normal).  I list the values for the different sequences below (all follow VFA and are measurements in calf muscle)
3DFLASH | Fat Suppression | T1 (Seconds)
                   | No fatsat | 1.3863
  | fatsat .     | 0.8397
                   | water exc. (fast) | 1.1945
                  | water exc. (normal) | 1.3582
It is not clear why fatsat should decrease T1s-- it may saturate water signal but this should be the same for all the flip angles used in the VFA maps-- it will reduce SNR but not clear why T1 is underestimated.

Hello,
The problem here is that a FatSat pulse is also an MT saturation pulse - both are off-resonance saturation pulses. The only difference is the specific offset frequency used - but the MT resonances will overlap with fat. Hence by adding FatSat you are adding extra saturation of the MT pool, which will change your apparent T1.
If you were on a GE scanner I would suggest using Spectral-Spatial pulses, which avoid exciting the fat resonance at the cost of a slightly increased imaging TR. I've used this trick to avoid exciting scalp fat when doing CEST in the brain. However, I do not think these are available on Siemens?

@usinha2 First off, I'm happy you were able to reproduce Agah's VFA T1 mapping sequence/results! 🎉
I second what @spinicist said; adding fat sat pulses to your VFA and MT measurements will add an additional MT-weighting to your signal, which will ultimately impact your parameter quantification efforts.  I don't recall this being discussed a lot in brain qMT research, but I'd have to check again to be sure. Maybe you could contact the authors from the Sinclair 2010 paper and ask if this was a consideration for them; I know that the senior author Prof. Xavier Golay is very active on Twitter.

It is not clear why fatsat should decrease T1s-- it may saturate water signal but this should be the same for all the flip angles used in the VFA maps

This would need to be checked, but my first instinct if that no it won't be the same for all VFA maps. The MT signal equations are non-linear, and the signal saturation from MT is not simply "added on" to the steady-state SPGR signal. The MT pulse (i.e. in your case, fat sat) and excitation pulse do affect the steady-state signal independently. It is likely that if anything, as @spinicist hinted, it would change the apparent T1, meaning that the entire SPGR might be shifted for a constant MT pulse but varying excitation flip angles (i.e. shifted relative to the no MT saturation case). This could be checked with simulations; if I find some time this week or the next, I might explore that in a Jupyter Notebook and share it.

Also, this recent open-access paper on how MT impacts VFA measurements might contain some relevant information, if you want to inform yourself a bit further: https://onlinelibrary.wiley.com/doi/full/10.1002/mrm.27442 . Not that this isn't completely what is happening to you though.

@mathieuboudreau I was going to recommend that exact paper. Rui works at the other KCL campus 👍

PS - As to why FatSat isn't discussed in the brain qMT literature, that's because the brain itself does not contain much "fat". Yes, it contains lipids in myelin, but fat as a separate tissue is not found in the parenchyma (to my knowledge). There is the layer of scalp fat, which most of the time is not an issue but was causing recon artefacts for a collaborator of mine.

Hi all
I was thinking that the fat sat pulse may cause some free water saturation-- which I thought would be the same for all the FA images used for the VFA mapping.  I now agree with you all that it is the MT effect, though my initial thoughts was that the fatsat pulse would not result in significant MT (e.g, the large flip angles like 300-500 used in the MT pulses vs. the 90 flip for the fatsat.)
Further, when I measured MTsat and tried nofatsuppression, fatsat, and water excitation, I found no difference in MTsat (of muscle in a young subject) between nofatsuppression and fatsat (as you would expect as a young subject muscle has a low fat fraction in muscle).  On the other hand, the MTsat water excitation (spectral spatial composite pulses) was actually higher than the other two (if anything, I had anticipated that the fatsat may result in adding to MT contrast due to the off-resonance pulse, but that was not the case).  So when doing qMT, I chose fatsat as my fat suppression method:  our T1 data show that water excitation results in better accuracy in T1.
There is a paper by Li et al (Magn Reson Imaging. 2015 Jul;33(6):709-17. ) that discusses the qMT in muscle in the presence of fat:  since fat does not exhibit MT, its presence will lower f, the macromolecular fraction.  Li et al recommend a spectral-spatial pulse (water excitation) to minimize incidental MT effects: I chose the fatsat primarily based on MTsat experience.  Sinclair et al did not use any fat suppression:  their cohort was a young age group and hence the results are not likely to be affected by fat.  Out intention is to study the aging muscle when infiltrating fat is an issue.

Hi All
Now that the T1 mapping is solved by a water excitation pulse, we still have problems with getting the correct macromolecular fraction for muscle (reported values at 8%).  We are getting around 4.5 %
The MTpulse we are using is 7.7 ms, Gaussian with a BW of 375 Hz-- I calculated this to have a sigma of 6.28 ms which makes this a very truncated pulse.  Can this truncated pulse be an issue when you calculate the CW equivalent pulse or does the algorithm calculate the right RF pulse area?  I feel that our underestimation of 'f' may arise from the MT pulse profile.  We are planning to increase the MT pulse duration but I wanted to check if we are on the right track

Hi,
My instinct is that the CW equivalent will be calculated correctly, but that the wide bandwidth might be leading to unwanted water excitation with low offsets - either from the main lobe, or from a side-lobe. Can you load the pulse into MATLAB and do an FFT to check the spectrum?
(For brain qMT, here we use a 20ms Gaussian pulse that has a bandwidth < 100 Hz, and on a different project with a Hanning pulse I once had very odd off-resonance problems above the sinus due to bad sidelobes on the pulse)

Hi @usinha2 ,
I second what @spinicist said, however it looks like you were already aware that this might have been an issue with your sentence quoted below:

We are planning to increase the MT pulse duration but I wanted to check if we are on the right track

Yes, I think pulse truncation can be an issue (I've heard so from experience of others). The sharp drop from the truncation on both sides of the Gaussian will cause some high frequency components to the MT saturation, and I don't know if these are modelled well in the methods. That's why an apodized Gaussian pulse is often reported in papers; it attenuates these components. If you have access to modify your MT pulse shape on your scanner, you could re-write the pulse shape to contain some appodization (see here for a Gaussian-Hanning example; all our pulse shapes are here). It may be possible for you to simulate these and see the difference between fitting with data simulated with Gaussian and Gaussian-Hann for your parameters (e.g. maybe simulate using the Sled and Pike model, then fit with the Ramani which I think you are using?), however nothing will ever beat the real experiment (particularly in MT). If you have MT phantoms at your disposal, these might help for this debugging too (since those parameters are theoretically calculable).
Hope some of this info help!

This issue was moved to https://forum.qmrlab.org/t/user-qmt-spgr-number-of-pre-pulses/34


dragon rift announcement plays on all maps

Description
should only be played on the map the dragons on
Reproduction

do carp elimination mission
wait for dragon to 50% rift
hear announcement on station

doesnt really matter now that exped dragons cant make rifts + dragon shitcode needs rewriting


Julius server behaviour on disconnect

My Julius socket server seems to behave correctly while it is running, performing decodes and responding to commands pause and so on. However when a client disconnects, the server goes into an unknown state, and on attempt to reconnect to the same socket id the server process shuts down. I can get it to shut down properly if I send a PAUSE and then disconnect with the client. Ideally the server would recognize the disconnect and then reset for a new connection to come later.
Is the intention that the Julius server waits for only one connection, or am I disconnecting improperly?

Thanks for your report, I've fixed it.!  See the latest commit f25fdfec7a67fa8ef90012c3734fba5b2a59235b.
Now Julius will enter pause status when a client disconnects, and waits until another connection comes.  After re-connection, Julius will resume and continues.
Note that when you use both module client (-module) and adinnet input client (-input adinnet) at the same time, the disconnection of the module client will cause Julius to send pause signal to the adinnet client to stop sending audio stream, and after re-connection, Julius sends resume signal to request the adinnet client to start sending audio.
Have fun!

Thanks for the changes. I have cloned the latest git, recompiled and run some tests. In brief what I see is that the Julius server starts correctly, waits for a client, begins serving on connection, then when client disconnects the server exits cleanly, does not pause and wait.
FYI my computer uses openSUSE Linux Leap 42.1 with pulseaudio - PA is detected and works fine - I am not using adinnet. For the socket connection I am using Julia version 5 (latest from git repo). The script loads a set of prompts generated with "generate" and I announce the prompts through the mike, julius detects with about 90% correct. The script ends with a close() request on the socket server connection, and the server stops.
Output seen from socket server is
...
read waveform input
STAT: AD-in thread created
recorded to "failwavs/2015.1210.043152.wav" (67456 bytes, 2.11 sec.)
STAT: 00 _default: 58 generated, 58 pushed, 7 nodes popped in 209
... 9 more recordings ...
colin@linux-tqr4:~/vox/athena>
This is different from previous behaviour, where the server would keep running but become unresponsive, so it is an improvement. If I can add further information let me know.

@nitslp-ri Additional information:

tried issuing a PAUSE before disconnect, no difference
ran Julius with -debug option, mostly the output was related to the speech recognition, ended with:

...
STAT: 00 _default: 44 generated, 44 pushed, 6 nodes popped in 174
DEBUG: live: SR00 _default
[[PAUSE]]
colin@linux-tqr4:~/vox/athena>

OK, I'll check it from now.

I found a bug that socket disconnection from client while pause are not handled correctly.  I fixed it on the master branch, so could you test again?

@nitslp-ri Did a git pull and found the changes to module.c, recompiled, ran my test again and behaviour was the same, socket server exits when client disconnects.

@nitslp-ri I tried accessing the server with the control programme in Julius and the socket server responded correctly. This seems to point at the disconnection by the client as an issue. I should perhaps approach the Julia people to see if anything special happens on disconnect that Julius might not like. Are there any points that might contribute to this error?

@colbec I guess Julius has a problem in detecting socket disconnection in Julius.  Let me check it for a while.

@nitslp-ri When I read that Julius has a TERMINATE command, I thought perhaps that would ask the server to stop serving that client, but I think terminate just indicates stopping the current detection whatever the state. Perhaps if a client sends a write(connectid,"CLOSECONNECTION\n") command followed by the close(connectid) then the server has a positive hint that it should stop polling for requests from that client and end the loop on that socket to open a new listening process. Just an idea...

@colbec I've changed the way it detects a disconnection.  Julius detects a socket to be disconnected when multiple successive errors occur as return value of write() or fgets().  I guess this way works in some situation, but may not in another situation, depending on how the client close the socket.  So I've changed Julius to detect socket disconnection by only a single error of write() or fgets().  I've committed it on master branch, I hope it may help your software.

@nitslp-ri Hmmm... I have updated to the latest master, recompiled a couple of times, but it is still not working for the Julia client. Jcontrol is still fine. I really appreciate the time you have put into examining this issue, Professor Lee, I have posted  a note over at the Voxforge forum to let others know about this issue, perhaps other input would indicate that it is just my system, or just Julia that is the problem. I will try to explore some other clients, or in the last resort make a fork of jcontrol to do what I need. Thanks.


internal/cmd/run: switch to / for filename specifier

Should fix #258

@christian-bromann you can either build from source, or we can put out an RC. What would you prefer? Don't want to do a full release for little changes.


unable to route. Disabled?

Using 0.6.1-beta commit=v0.6.1-beta
I have a simnet setup with about 10 nodes and 20 channels.
A has a channel to B which has a channel to C
The channel between B and C shows this:
{
"channel_id": "1858174651006977",
"chan_point": "a04db9a8b2c294fe933e5ce203b9c36790ad87256f3ab3055ed334440dd0d405:1",
"last_update":<PHONE_NUMBER>,
"node1_pub": "027dbb21be00a4cace0ce73761449f4d329cd400c08d556e2df4c65cf530c4e689",
"node2_pub": "03d2d4cb2e72e1aef1ace7e98f8c6c04e3c5195fbacc6e986db71228ae8d48c89d",
"capacity": "225000000000",
"node1_policy": {
"time_lock_delta": 576,
"min_htlc": "1000",
"fee_base_msat": "1",
"fee_rate_milli_msat": "10",
"disabled": true,
"max_htlc_msat": "222750000000000"
},
"node2_policy": {
"time_lock_delta": 576,
"min_htlc": "1000",
"fee_base_msat": "1000",
"fee_rate_milli_msat": "1",
"disabled": false,
"max_htlc_msat": "222750000000000"
}
}
Questions:

does "disabled": true prevents routing from A to C?
What can be a reason for such disabled:true and how can I reset it?

does "disabled": true prevents routing from A to C?

Yes, it is taken into account during path finding.

What can be a reason for such disabled:true and how can I reset it?

There's a mechanism in lnd that auto disables channels for peers that have been disconnected for more than 20 mins. If peers reconnect, it will take 19 mins until a new graph update is sent enabling the channel. These are just defaults and can be configured through the --chan-enable-timeout, --chan-disable-timeout, and --chan-status-sample-internal flags.

Thank you @wpaulino This worked for me.


Uncaught Error: Incompatibile SockJS!

I am using angular cli the latest build and i have tried expected solution for it but it not working plz help me out and the webpack version is 2.1.0-beta.22
I am getting this error on the console loge .
->sockjs.min.js:2 Uncaught Error: Incompatibile SockJS! Main site uses: "1.1.1", the iframe: "1.0.1".

Heya, I'm going to have to ask you to open a new issue answer the questions on the issue template. If you don't answer those it's very hard for us to help you out.

I have solved it by my self


Datagrid setColModel

Hi,
How can i get date attr string from a DateTime column to be displayed?
I was limiting thrace/datagrid-bundle to v1.1.1 but i noticed that were Added DateTime event subscriber and related stuff so i updated composer to 1.1.*@dev.
I tryed so many diferent ways and still have [object Object] displaying in date column like im showing in the screenshot.

Thank you in advance

This bundle is deprecated!!!


Test operator deployment/update via OLM

OLM repository contains instructions how to test operator deployment and update via OLM https://github.com/operator-framework/community-operators/blob/master/docs/testing-operators.md#testing-operator-deployment-on-kubernetes
The instructions work for plain k8s but also for OCP 4.1. The test requires quay app registry where the operator has to be published.

@kevinearls should this be assigned to you? I think this is a great goal to have, but not sure we can even start that as CI, as OpenShift is too heavyweight to be executed in GitHub CI's machines...

Talking to @kevinearls on IRC, it sounds unlikely that we'll be able to get this done in the near future. The biggest road block is getting OpenShift enabled as part of our CI. If we ever get it working again, we can come up with the extra cases that we want to cover.