[backport v2.8.next1] You can add two vGPUs for RKE2 node on Harvester even though they won't start

This is a backport issue for https://github.com/rancher/dashboard/issues/10947
Original body:

Setup

Rancher version: v2.8-head
Rancher UI Extensions:
Browser type & version: Chrome

Describe the bug

You can add two vGPU devices for a RKE2 Harvester cluster. They won't start due to the need for the YAML ramFB fix.
Also Rancher stays in starting state and doesn’t go into an error state. The fail state will keep looping since it’s not reporting back the error
To Reproduce

Create a new RKE2 cluster with Harvester as the provider
Add two vGPUs to the cluster
Create the cluster
Check the status of the VMs after creation
Result
The VMs won't start
Expected Result

There are few possible fixes

The VMs should start and the second vGPU should have the ramFB fix
The Add button should be disabled after adding a vPGU
We could add a link to the
Screenshots

Additional context

Currently this is allowed in the Harvester UI, but you have to do the YAML fix after creation, or possibly via YAML during creation.

Tests pass with the implementation of "Add button disabled after adding a vPGU" to prevent a second vGPU to be assigned to the same node pool.


go/types: API: rename LookupFieldOrMethod to Select (or something select-y)

LookupFieldOrMethod returns essentially the same information as a types.Selection, given the information present in a typed ast.SelectorExpr.  It would be nice if its type and its name related it to selections.  Perhaps something like this:
// Select resolves a selection whose operand type is T and whose
// selector is (pkg, name).  Addressable indicates that the operand is a variable of type T.
func Select(T Type, addressable bool, pkg *Package, name string) types.Selection

Perhaps also explain that Select(*T, false, ...) is not equivalent to Select(T, true, ...) since the former selects only methods whose receiver is *T but the latter may select a method whose receiver is T or *T.

Unfortunate. API is frozen.

While you were travelling, Russ explicitly exempted API cleanups to go/types from the freeze since they would not break any existing packages, and this one is less disruptive than both the Scope-to-Block renaming I proposed and the MethodSet move you proposed.
Please re-open this ticket.

Even though we can't rename the existing LookupFieldOrMethod, there's still a gap in the API.
Consider (*ssa.Program).MethodValue(sel *types.Selection) *ssa.Function.    It requires a *types.Selection as its argument.  If you have the receiver type T and the selector name (pkg, name), you can obtain a Selection by calling types.NewMethodSet(T).Lookup(pkg, name), but this is asymptotically more expensive than calling types.LookupFieldOrMethod(T, false, pkg, name).
Ideally the client would be able to call LookupFieldOrMethod and then construct a Selection (field or method) from the result, but there is no way for clients to construct a Selection.
Could we expose a NewSelection constructor?

Closed in favor of new issue #12881.


Using Tensorrt inference

Hello,
I have implemented a TensorRT inference project based on the BiRefNet and ONNX model. The goal of this project is to leverage TensorRT’s high-performance capabilities to accelerate the inference process for BiRefNet.
https://github.com/yuanyang1991/birefnet_tensorrt

Based on initial tests, TensorRT inference shows advantages in both time and memory usage compared to PyTorch, and it has significant advantages over ONNX. I will be conducting a detailed performance comparison in my project next.

That's great! It would be even better if detailed values were given in a table for comparison — people could see the acceleration directly and want to use it.

Hello, I have completed the inference time comparison for different methods (Pytorch, ONNX, TensorRT). I haven't had the time to measure the memory usage during inference yet. Additionally, I have completed a Colab example for inference using TensorRT.

Awesome! That's really a good job! I'll mention this comparison to the README. Hope more people can see it and tend to deploy BiRefNet with this TensorRT conversion.

BTW, I'm wondering what role the "foreground estimate" plays in the whole process of inference. Could you give me a few clues? Thanks!

Hi, the "foreground estimate" plays a crucial role in the inference process, particularly in image matting. It helps to accurately separate the foreground from the background, which is essential for creating a clean and realistic composite image. By estimating the foreground, the algorithm can ensure that the extracted foreground object blends seamlessly with a new background, avoiding issues like harsh edges or incorrect transparency. This step is critical for achieving high-quality results in applications like photo editing or background replacement.
For more detailed information, you might find this paper helpful: https://arxiv.org/pdf/2006.14970.

Thank you for the detailed explanation :) Based on this, it helps improve the segmentation performance on the edges, which can be seen as a post-processing/refinement on the predicted maps. Is my understanding correct?

Yes, your understanding is correct! The "foreground estimate" indeed acts as a form of post-processing or refinement, particularly improving the accuracy of the edges in the segmentation process. It fine-tunes the predicted maps to ensure that the foreground object is more precisely defined, which is crucial for achieving a natural blend with the background. This refinement step is key in producing high-quality results in tasks like image matting.

Thanks again for your kindness for explaining!

Based on my observations, the foreground estimate has a noticeable impact on the inference results of BiRefNet. Below is an example showcasing the difference between results without and with the foreground estimate.

Without Foreground Estimate
With Foreground Estimate

That's just awesome! Thanks, man. It really helps. I plan to add it to my default inference pipeline.

Sounds great! Just go for it!


[$1000] bottom border line is missing for the logged-in user in Manage members

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

navigate to settings > workspaces
press new workspace. it will create a new workspace
go to Manage members > check Logged-in user in list

Expected Result:
bottom border should visible under Logged-in user
Actual Result:
bottom border is not visible under Logged-in user
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] iOS / native

Version Number: 1.2.43-1
Reproducible in staging?: y
Reproducible in production?: y
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:

https://user-images.githubusercontent.com/43996225/209562591-cff51d4e-fadb-4f4b-b10b-53616e9fcb48.MP4
Expensify/Expensify Issue URL:
Issue reported by: @jayeshmangwani
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1671897956983559
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01b06179dc7a0779d9
Upwork Job ID:<PHONE_NUMBER>755079680
Last Price Increase: 2022-12-28

Proposal
Root cause: wrong logic is being used here when passing border bottom styles
Solution: use _.isEmpty(item.errors) instead of !item.errors here (https://github.com/Expensify/App/blob/f2a01fdb22c254e6e87dc32013ff9cd72c54e080/src/pages/workspace/WorkspaceMembersPage.js#L260)

Proposal
For the owner it seems errors property exists with empty object like errors: {}, updation to the conditions for bottom border will resolve the issue.
diff --git a/src/pages/workspace/WorkspaceMembersPage.js b/src/pages/workspace/WorkspaceMembersPage.js
index 92ac6559f..65e7d556c 100644
--- a/src/pages/workspace/WorkspaceMembersPage.js
+++ b/src/pages/workspace/WorkspaceMembersPage.js
@@ -257,7 +257,7 @@ class WorkspaceMembersPage extends React.Component {
             <OfflineWithFeedback errorRowStyles={[styles.peopleRowBorderBottom]} onClose={() => this.dismissError(item)} pending
Action={item.pendingAction} errors={item.errors}>
                 <Hoverable onHoverIn={() => this.willTooltipShowForLogin(item.login, true)} onHoverOut={() => this.setState({sho
wTooltipForLogin: ''})}>
                     <TouchableOpacity
-                        style={[styles.peopleRow, !item.errors && styles.peopleRowBorderBottom, !canBeRemoved && styles.cursorDi
sabled]}
+                        style={[styles.peopleRow, (_.isUndefined(item.errors) || _.isEmpty(item.errors)) && styles.peopleRowBorderBottom, !canBeRemoved && styles.cursorDisabled]}
                         onPress={() => this.toggleUser(item.login, item.pendingAction)}
                         activeOpacity={0.7}
                     >

Proposal 2(IMO preferred)
We can avoid setting the empty error object for the user while creating the new workspace.
diff --git a/src/libs/actions/Policy.js b/src/libs/actions/Policy.js
index 0f6784e7d..038d8e941 100644
--- a/src/libs/actions/Policy.js
+++ b/src/libs/actions/Policy.js
@@ -745,7 +745,6 @@ function createWorkspace(ownerEmail = '', makeMeAdmin = false, policyName = '',
             value: {
                 [sessionEmail]: {
                     role: CONST.POLICY.ROLE.ADMIN,
-                    errors: {},
                 },
             },
         },

🟢 for proposal by @daraksha-dk

@tgolen Isn't this makes more sense(as it causes the issue and that property not needed for success onyx object)?

@tgolen - Should I raise the PR or wait for C+ review as well

Just sharing the screenshot of how that error property exist for loggedIn user only after creating new workspace.

To add - it only occurs after creating the new workspace due to that unnecessary error property over there, on re-login it won't persist.

@Pujan92 I don't think that code needs to be changed, no. I think that setting it to an empty object is fine and would ensure that any existing errors would always get cleared out of Onyx.

@tgolen - Should I raise the PR or wait for C+ review as well

You can go ahead and raise the PR.

@Pujan92 I don't think that code needs to be changed, no. I think that setting it to an empty object is fine and would ensure that any existing errors would always get cleared out of Onyx.

I am still not sure how it will help to clear as we are only making it on create workspace and it definitely creates a new object which I believe won't connect/update with the previous object.
I still prefer solution 2 but if it can not be considered anyway then I would like to argue for my 1st proposal.
Logically we need 2 conditions to apply

isUndefined
isEmpty

isEmpty alone will work but this method is not intended to check for undefined values. It should be used when a property exists in the object. https://lodash.com/docs/4.17.15#isEmpty
Hope that is something we can consider for the better approach.

Just to add we are using a SET onyxMethod not merge over there. So to be honest my thought is when we found the RC then why not fix that and go with the workaround.
https://github.com/Expensify/App/blob/f2f68908d84396962f0774e8ceb448b08ea8309a/src/libs/actions/Policy.js#L743

@Pujan92 I missed that it was using Onyx.set(). I think that's a mistake. It was changed from merge to set in https://github.com/Expensify/App/pull/11130 and I have a call with @jasperhuangg later today and I will ask him about this. merge() should always be preferred over set() for this. The guidance for using one vs the other is here: https://github.com/Expensify/react-native-onyx#should-i-use-merge-or-set-or-both
Historically, we've tried to make the view layer of the app as flexible as possible when dealing with Onyx data since there will always be issues with different Onyx schemas and different app versions. We haven't completely solved that yet, so while I could be OK with removing errors: {} if it truly doesn't need to be there, we still have to change the view layer regardless.
I also don't think it's necessary to use _.isUndefined(). We use underscore, not lodash, and _.isEmpty(undefined) works just fine.

@Pujan92 I missed that it was using Onyx.set(). I think that's a mistake. It was changed from merge to set in #11130 and I have a call with @jasperhuangg later today and I will ask him about this. merge() should always be preferred over set() for this. The guidance for using one vs the other is here: https://github.com/Expensify/react-native-onyx#should-i-use-merge-or-set-or-both
Historically, we've tried to make the view layer of the app as flexible as possible when dealing with Onyx data since there will always be issues with different Onyx schemas and different app versions. We haven't completely solved that yet, so while I could be OK with removing errors: {} if it truly doesn't need to be there, we still have to change the view layer regardless.
I also don't think it's necessary to use _.isUndefined(). We use underscore, not lodash, and _.isEmpty(undefined) works just fine.

@tgolen For the Onyx I am fine with your comment but I just checked the underscore and the definition for isEmpty same like the loadash as the name define. I agree it will work for undefined but right approach will be to use isUndefined which I strongly believe .
Sharing the def for ref
Returns true if collection has no elements. For strings and array-like objects _.isEmpty checks if the length property is 0. For other objects, it returns true if the object has no enumerable own-properties. Note that primitive numbers, booleans and symbols are always empty by this definition.

do you think for this particular case are we going to use merge bcoz it's a creation operation and SET is the proper fit

Yes, you can see in the guidance that I linked to says as the first bullet "Use merge() when creating a new object".
Regarding _.isEmpty() We always prefer the most simple solution, not the most complex. Therefore if _.isEmpty(undefined) works, then that is the most simple and it is sufficient.

Ok, Thanks. I made my points already. :)

Sorry but wanted to make last comment, I am arguing much bcoz I thought better approach should be preferred over what works.

Looks like https://github.com/Expensify/App/pull/13885 was deployed to production last week, expecting the automated next steps to populate tomorrow or the day after

Ah, sorry, I tried to reapply the bug label to trigger the next steps. I'm not sure what we need to do to trigger them. I'll ask in Slack

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

[ ] @bfitzexpensify A regression test has been added or updated so that the same bug will not reach production again. Link to the GH issue for creating the test here:
[ ] @tgolen @sobitneupane The PR that introduced the bug has been identified. Link to the PR: https://github.com/Expensify/App/pull/12301
[ ] @tgolen @sobitneupane The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: N/A - @Beamanator the author is aware and part of the discussion when this regression was caught.
[ ] @tgolen @sobitneupane A discussion in #contributor-plus has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
[ ] @bfitzexpensify Payment has been made to the issue reporter (if applicable)
[ ] @bfitzexpensify Payment has been made to the contributor that fixed the issue (if applicable)
[ ] @bfitzexpensify Payment has been made to the contributor+ that helped on the issue (if applicable) - N/A we merged this one immediately as a breaking change before becoming a deploy blocker.

@sobitneupane Would you mind filling those out, please?

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

[ ]  @tgolen @sobitneupane The PR that introduced the bug has been identified. Link to the PR:

https://github.com/Expensify/App/pull/10556

[ ]  @tgolen @sobitneupane The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:

https://github.com/Expensify/App/pull/10556#issuecomment-1402047328

@bfitzexpensify, we've checked off all our items on this one. Looks like there is just one final thing for you.

Thanks for the bump @tgolen - we're all done here!


drop the sessionId from the unleash query

Goal
Some users are assigned to more than one treatment variant.
https://pocket.slack.com/archives/C02JZ4TRF0S/p1686265277754779?thread_ts=1686251034.146639&cid=C02JZ4TRF0S
One of the suspects is the presence of sessionId in the unleash call. We wanted to verify if that is helpful
Todos

[ ] Outstanding todo
[x] Completed todo

Review

[ ] Security @ReviewerA
[ ] Test coverage @ReviewerC
[ ] ...

Have you followed the guidelines in our Contributing document?
Deployment

[ ] Secrets?

Reference
Tickets:

Link to JIRA tickets

Implementation Decisions

Slack thread for future reference: https://pocket.slack.com/archives/C02JZ4TRF0S/p1686265277754779?thread_ts=1686251034.146639&cid=C02JZ4TRF0S

Try removing sessionId from the context that we pass to Unleash. I wouldn't expect this to change anything, but it's worth a try to see if this solves the issue. sessionId is only useful for logged-out experiments, which we don't plan to do anyway.


Libreoffice depends on kdelibs by default.

I think it's a bit too intrusive dependency for people who doesn't use KDE (I use XFCE, for example) and they don't want whole kdelibs (which also pulls a long tail of dependencies into my environment) just for so called "KDE integration" in Libreoffice which is actually useless here.
But it might be good to implement something like this into libreoffice or any other package expression which deserves it:
# pseudocode, it might be too shameful to post my poorly written nix code, while I'm still learning it
if ( services.xserver.kde.enabled == true ) {
  buildInputs =+ [ kdelibs ];
  confgureFlags =+ [ "--enable-kde4" ];
} else {
  configureFlags =+ [ "--disable-kde4" ];
}

That can be opened as second issue (for general talk about configuration-aware dependencies) if you wish.

I think it's a bit too intrusive dependency for people who doesn't use KDE (I use XFCE, for example) and they don't want whole kdelibs (which also pulls a long tail of dependencies into my environment) just for so called "KDE integration" in Libreoffice which is actually useless here.
But it might be good to implement something like this into libreoffice or any other package expression which deserves it:
# pseudocode, it might be too shameful to post my poorly written nix code, while I'm still learning it
if ( services.xserver.kde.enabled == true ) {

Well, technically you could build things from NixPkgs independently on
how (and whether) you use NixOS. It is possible to add an option as an
extra argument, though.
On the other hand, this would mean that Hydra would need to build
2 versions of LibreOffice. @edolstra, is it a good idea?
Is there anyone actually using the KDE integration, by the way?

That should do the trick: https://gist.github.com/Profpatsch/92342764dc3c3d667ec1

IIRC, the "KDE integration" consists mainly in providing a Qt/KDE "File open" dialog, which we can probably live without. In fact, it has been known to malfunction if Libreoffice's KDE version is different from the system KDE version.
So disabling this sounds like a good idea.


[BUG] New pod cannot finshed ContainerCreating pvc error: "is apparently in use by the system; will not make a filesystem here!"

Describe the bug
Pod give Warning Failed Mount repeatedly
Warning  FailedMount             93s (x10 over 5m44s)   kubelet                  MountVolume.MountDevice failed for volume "pvc-5cc18012-3cf2-4462-9724-ed7ed81cf344" : rpc error: code = Internal desc = format of disk "/dev/longhorn/pvc-5cc18012-3cf2-4462-9724-ed7ed81cf344" failed: type:("ext4") target:("/var/lib/kubelet/plugins/kubernetes.io/csi/pv/pvc-5cc18012-3cf2-4462-9724-ed7ed81cf344/globalmount") options:("defaults") errcode:(exit status 1) output:(mke2fs 1.45.5 (07-Jan-2020)
/dev/longhorn/pvc-5cc18012-3cf2-4462-9724-ed7ed81cf344 is apparently in use by the system; will not make a filesystem here!
To Reproduce
Steps to reproduce the behavior:
Follow tutorial https://longhorn.io/docs/1.2.4/volumes-and-nodes/create-volumes/

kubectl create -f https://raw.githubusercontent.com/longhorn/longhorn/v1.2.4/examples/storageclass.yaml
kubectl create -f https://raw.githubusercontent.com/longhorn/longhorn/v1.2.4/examples/pod_with_pvc.yaml
Describte the pod created, see error message including:

MountVolume.MountDevice failed for volume "pvc-5cc18012-3cf2-4462-9724-ed7ed81cf344" : rpc error: code = Internal desc = format of disk "/dev/longhorn/pvc-5cc18012-3cf2-4462-9724-ed7ed81cf344" failed: type:("ext4") target:("/var/lib/kubelet/plugins/kubernetes.io/csi/pv/pvc-5cc18012-3cf2-4462-9724-ed7ed81cf344/globalmount") options:("defaults") errcode:(exit status 1) output:(mke2fs 1.45.5 (07-Jan-2020) /dev/longhorn/pvc-5cc18012-3cf2-4462-9724-ed7ed81cf344 is apparently in use by the system; will not make a filesystem here!
Expected behavior
Pod is created with Read Write access at the /data mount point
Can interact with pod by installing cURL via apt using kubectl interactive and download large file to /data from URI
Log or Support bundle
If applicable, add the Longhorn managers' log or support bundle when the issue happens.
You can generate a Support Bundle using the link at the footer of the Longhorn UI.
Environment

Longhorn version: v1.2.4
Installation method (e.g. Rancher Catalog App/Helm/Kubectl): helm
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version: v1.22.8

Number of management node in the cluster: 1
Number of worker node in the cluster: 2

Node config

OS type and version: DGX / Unbuntu 20.04
CPU per node: 24
Memory per node: 512Gb
Disk type(e.g. SSD/NVMe): NVMe
Network bandwidth between the nodes: 40Gbps

Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal): Baremetal
Number of Longhorn volumes in the cluster: 3

Additional context
Fresh install of v1.2.4 within the last 30 hours
Will attempt killing running pods, issue with stale UI pod was solved by this method this morning

from fdisk -l
Disk /dev/sdb: 6.101 TiB,<PHONE_NUMBER>520 bytes,<PHONE_NUMBER>0 sectors
Disk model: MRROMB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 262144 bytes / 1048576 bytes
Disklabel type: gpt
Disk identifier: XXXXX-XXX-XXXX-XXXX-XXXXXXXXX

Device     Start         End     Sectors Size Type
/dev/sdb1   2048<PHONE_NUMBER>6<PHONE_NUMBER>9   7T Linux filesystem

from /etc/fstab
/dev/sdb1 /var/lib/longhorn ext4 defaults,nofail,discard 0 0
from shell
samh@dgx1:~$ sudo ls -larth /var/lib/longhorn/replicas
total 8.0K
drwxr-xr-x 8 root root 4.0K Mar 24 16:19 ..
drwxr-xr-x 2 root root 4.0K Mar 31 15:11 .

Deleted all longhorn-system running pods and they recreated themselves
Repro:
Follow tutorial https://longhorn.io/docs/1.2.4/volumes-and-nodes/create-volumes/

kubectl create -f https://raw.githubusercontent.com/longhorn/longhorn/v1.2.4/examples/storageclass.yaml
kubectl create -f https://raw.githubusercontent.com/longhorn/longhorn/v1.2.4/examples/pod_with_pvc.yaml
Describe the pod created, see error message including:

 kubectl describe pod volume-test
Name:         volume-test
Namespace:    default
Priority:     0
Node:         dgx1/<IP_ADDRESS>
Start Time:   Thu, 31 Mar 2022 15:40:39 +1030
Labels:       <none>
Annotations:  <none>
Status:       Pending
IP:
IPs:          <none>
Containers:
  volume-test:
    Container ID:
    Image:          nginx:stable-alpine
    Image ID:
    Port:           80/TCP
    Host Port:      0/TCP
    State:          Waiting
      Reason:       ContainerCreating
    Ready:          False
    Restart Count:  0
    Liveness:       exec [ls /data/lost+found] delay=5s timeout=1s period=5s #success=1 #failure=3
    Environment:    <none>
    Mounts:
      /data from volv (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-6pvnx (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  volv:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  longhorn-volv-pvc
    ReadOnly:   false
  kube-api-access-6pvnx:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason                  Age                From                     Message
  ----     ------                  ----               ----                     -------
  Warning  FailedScheduling        21s (x3 over 27s)  default-scheduler        0/3 nodes are available: 3 pod has unbound immediate PersistentVolumeClaims.
  Normal   Scheduled               17s                default-scheduler        Successfully assigned default/volume-test to dgx1
  Normal   SuccessfulAttachVolume  6s                 attachdetach-controller  AttachVolume.Attach succeeded for volume "pvc-5120c652-d382-4bd0-8163-7af73e275e11"
  Warning  FailedMount             2s (x4 over 6s)    kubelet                  MountVolume.MountDevice failed for volume "pvc-5120c652-d382-4bd0-8163-7af73e275e11" : rpc error: code = Internal desc = format of disk "/dev/longhorn/pvc-5120c652-d382-4bd0-8163-7af73e275e11" failed: type:("ext4") target:("/var/lib/kubelet/plugins/kubernetes.io/csi/pv/pvc-5120c652-d382-4bd0-8163-7af73e275e11/globalmount") options:("defaults") errcode:(exit status 1) output:(mke2fs 1.45.5 (07-Jan-2020)
/dev/longhorn/pvc-5120c652-d382-4bd0-8163-7af73e275e11 is apparently in use by the system; will not make a filesystem here!
)

syslog is full of errors like this
Mar 31 15:47:14 dgx1 kubelet[3416]: E0331 15:47:14.870875    3416 kubelet.go:1720] "Unable to attach or mount volumes for pod; skipping pod" err="unmounted volumes=[volv], unattached volumes=[volv kube-api-access-6pvnx]: timed out waiting for the condition" pod="default/volume-test"
Mar 31 15:47:14 dgx1 kubelet[3416]: E0331 15:47:14.870924    3416 pod_workers.go:949] "Error syncing pod, skipping" err="unmounted volumes=[volv], unattached volumes=[volv kube-api-access-6pvnx]: timed out waiting for the condition" pod="default/volume-test" podUID=4f7883b9-b16a-4fcb-a26b-5d6c2508625b
Mar 31 15:47:15 dgx1 kubelet[3416]: E0331 15:47:15.885757    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:17 dgx1 kubelet[3416]: E0331 15:47:17.899980    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:19 dgx1 kubelet[3416]: E0331 15:47:19.898887    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:21 dgx1 kubelet[3416]: E0331 15:47:21.891286    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:23 dgx1 kubelet[3416]: E0331 15:47:23.898501    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:25 dgx1 kubelet[3416]: E0331 15:47:25.887880    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:27 dgx1 kubelet[3416]: E0331 15:47:27.897307    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:29 dgx1 kubelet[3416]: E0331 15:47:29.885445    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:31 dgx1 kubelet[3416]: E0331 15:47:31.897401    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:33 dgx1 kubelet[3416]: E0331 15:47:33.903056    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:35 dgx1 kubelet[3416]: E0331 15:47:35.884253    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:37 dgx1 kubelet[3416]: E0331 15:47:37.895748    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:39 dgx1 kubelet[3416]: E0331 15:47:39.896903    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:41 dgx1 kubelet[3416]: E0331 15:47:41.896952    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:42 dgx1 kubelet[3416]: I0331 15:47:42.399699    3416 container_manager_linux.go:979] "CPUAccounting not enabled for process" pid=3416
Mar 31 15:47:42 dgx1 kubelet[3416]: I0331 15:47:42.399727    3416 container_manager_linux.go:982] "MemoryAccounting not enabled for process" pid=3416
Mar 31 15:47:43 dgx1 kubelet[3416]: E0331 15:47:43.887221    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:45 dgx1 kubelet[3416]: E0331 15:47:45.892216    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:47 dgx1 kubelet[3416]: E0331 15:47:47.898930    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:49 dgx1 kubelet[3416]: E0331 15:47:49.888353    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:51 dgx1 kubelet[3416]: E0331 15:47:51.897315    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:53 dgx1 kubelet[3416]: E0331 15:47:53.882898    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:55 dgx1 kubelet[3416]: E0331 15:47:55.894320    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:57 dgx1 kubelet[3416]: E0331 15:47:57.900472    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:47:59 dgx1 kubelet[3416]: E0331 15:47:59.898188    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:48:01 dgx1 kubelet[3416]: E0331 15:48:01.887641    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:48:02 dgx1 srp_daemon[3472]: SM LID is 0, maybe no SM is running
Mar 31 15:48:02 dgx1 srp_daemon[3466]: SM LID is 0, maybe no SM is running
Mar 31 15:48:03 dgx1 kubelet[3416]: E0331 15:48:03.903357    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:48:04 dgx1 PackageKit: daemon quit
Mar 31 15:48:04 dgx1 systemd[1]: packagekit.service: Succeeded.
Mar 31 15:48:05 dgx1 srp_daemon[3504]: SM LID is 0, maybe no SM is running
Mar 31 15:48:05 dgx1 kubelet[3416]: E0331 15:48:05.886673    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:48:07 dgx1 srp_daemon[3484]: SM LID is 0, maybe no SM is running
Mar 31 15:48:07 dgx1 kubelet[3416]: E0331 15:48:07.906926    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:48:09 dgx1 kubelet[3416]: E0331 15:48:09.887046    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:48:11 dgx1 kubelet[3416]: E0331 15:48:11.897828    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:48:13 dgx1 kubelet[3416]: E0331 15:48:13.896564    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:48:15 dgx1 kubelet[3416]: E0331 15:48:15.885280    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:48:17 dgx1 kubelet[3416]: E0331 15:48:17.899358    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:48:19 dgx1 kubelet[3416]: E0331 15:48:19.882507    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:48:21 dgx1 kubelet[3416]: E0331 15:48:21.896305    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:48:23 dgx1 kubelet[3416]: E0331 15:48:23.893018    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:48:25 dgx1 kubelet[3416]: E0331 15:48:25.904394    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:48:27 dgx1 kubelet[3416]: E0331 15:48:27.886422    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:48:29 dgx1 kubelet[3416]: E0331 15:48:29.896631    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:48:31 dgx1 kubelet[3416]: E0331 15:48:31.897049    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:48:33 dgx1 kubelet[3416]: E0331 15:48:33.885283    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:48:35 dgx1 kubelet[3416]: E0331 15:48:35.905068    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1
Mar 31 15:48:37 dgx1 kubelet[3416]: E0331 15:48:37.885397    3416 kubelet_volumes.go:245] "There were many similar errors. Turn up verbosity to see them." err="orphaned pod \"f11f2260-84b7-4d4f-b541-18d369cd8725\" found, but error not a directory occurred when trying to remove the volumes dir" numErrs=1

Seems similar
https://github.com/longhorn/longhorn/issues/3207

Also looking into
https://longhorn.io/kb/troubleshooting-volume-with-multipath/
ls -l /dev/longhorn/
total 0
brw-rw---- 1 root root 8, 32 Mar 31 15:40 pvc-5120c652-d382-4bd0-8163-7af73e275e11

Then
ls -l /dev
brw-rw----  1 root disk      8,  32 Mar 31 15:40 sdc

Then
lsof | grep sdc
multipath    2887                                  root    8r      BLK               8,32        0t0        831 /dev/sdc
multipath    2887    2888 multipath                root    8r      BLK               8,32        0t0        831 /dev/sdc
multipath    2887    2889 multipath                root    8r      BLK               8,32        0t0        831 /dev/sdc
multipath    2887    2890 multipath                root    8r      BLK               8,32        0t0        831 /dev/sdc
multipath    2887    2891 multipath                root    8r      BLK               8,32        0t0        831 /dev/sdc
multipath    2887    2892 multipath                root    8r      BLK               8,32        0t0        831 /dev/sdc
multipath    2887    2893 multipath                root    8r      BLK               8,32        0t0        831 /dev/sdc

 lsblk
NAME     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
loop0      7:0    0  55.5M  1 loop  /snap/core18/2284
loop1      7:1    0  55.5M  1 loop  /snap/core18/2344
loop3      7:3    0  61.9M  1 loop  /snap/core20/1376
loop4      7:4    0  61.9M  1 loop  /snap/core20/1405
loop5      7:5    0  67.9M  1 loop  /snap/lxd/22526
loop6      7:6    0  43.6M  1 loop  /snap/snapd/14978
loop7      7:7    0  43.6M  1 loop  /snap/snapd/15177
loop8      7:8    0  67.8M  1 loop  /snap/lxd/22753
sda        8:0    0 446.6G  0 disk
├─sda1     8:1    0   487M  0 part  /boot/efi
└─sda2     8:2    0 446.2G  0 part  /
sdb        8:16   0     7T  0 disk
└─sdb1     8:17   0     7T  0 part  /var/lib/longhorn
sdc        8:32   0     2G  0 disk
└─mpathb 253:0    0     2G  0 mpath

then /etc/multipath.conf
WAS:
defaults {
    user_friendly_names yes
}

NOW:
defaults {
    user_friendly_names yes
}
blacklist {
    devnode "^sd[a-z0-9]+"
}

solved
kubectl create -f https://raw.githubusercontent.com/longhorn/longhorn/v1.2.4/examples/storageclass.yaml
result
storageclass.storage.k8s.io/longhorn-test created
kubectl create -f https://raw.githubusercontent.com/longhorn/longhorn/v1.2.4/examples/pod_with_pvc.yaml
result
persistentvolumeclaim/longhorn-volv-pvc created
pod/volume-test created

``kubectl get pod volume-test`
Result
NAME          READY   STATUS              RESTARTS   AGE
volume-test   0/1     ContainerCreating   0          16s

kubectl describe pod volume-test
Result
Name:         volume-test
Namespace:    default
Priority:     0
Node:         dgx1/<IP_ADDRESS>
Start Time:   Thu, 31 Mar 2022 16:26:38 +1030
Labels:       <none>
Annotations:  <none>
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:  <IP_ADDRESS>
Containers:
  volume-test:
    Container ID:   docker://2bdbbf97eaac56d83eb593ffdb0c91bb881ed520a92a9dc300e8aca495b95653
    Image:          nginx:stable-alpine
    Image ID:       docker-pullable://nginx@sha256:ff557e536e5c697c5a28db13ab81bdf9b0c6a20161aa0a46419b9b251872c7df
    Port:           80/TCP
    Host Port:      0/TCP
    State:          Running
      Started:      Thu, 31 Mar 2022 16:26:54 +1030
    Ready:          True
    Restart Count:  0
    Liveness:       exec [ls /data/lost+found] delay=5s timeout=1s period=5s #success=1 #failure=3
    Environment:    <none>
    Mounts:
      /data from volv (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-s9dmh (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  volv:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  longhorn-volv-pvc
    ReadOnly:   false
  kube-api-access-s9dmh:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason                  Age                From                     Message
  ----     ------                  ----               ----                     -------
  Warning  FailedScheduling        22s (x2 over 24s)  default-scheduler        0/3 nodes are available: 3 pod has unbound immediate PersistentVolumeClaims.
  Normal   Scheduled               20s                default-scheduler        Successfully assigned default/volume-test to dgx1
  Normal   SuccessfulAttachVolume  9s                 attachdetach-controller  AttachVolume.Attach succeeded for volume "pvc-f2cff4a7-fb85-4464-8f01-230ccdddfc60"
  Normal   Pulled                  4s                 kubelet                  Container image "nginx:stable-alpine" already present on machine
  Normal   Created                 4s                 kubelet                  Created container volume-test
  Normal   Started                 4s                 kubelet                  Started container volume-test


Added onBackdropPress to documentation.

When will the onBackdropPress be published to NPM?

Hi @tomasreimers!
The onBackdropPress feature is still not working on Android, would you mind helping us on #11 to speed up the feature release? 👍

@mmazzarolo Happy to!
Mind helping me set up the dev environment (https://github.com/react-native-community/react-native-modal/issues/55)? I fiddled with packages and kept getting version conflicts, is it working for you?
Thanks,
Tomas

Thanks a lot for adding this feature...


Retrospective looking back on first 6 sessions (23 March 2020 1300-1500 BST)

Agenda TBC

What worked well code & exercises
What didn't work well
Idea for different ideas

Objective TBC

A set of code exercises with facilitation guidelines
A set of guidelines for finding & choosing code for sessions
Some thinking about how to make this repo more usable for other groups to run clubs on their own

I am not 100% sure that I can join the call at least not from the beginning. so here is some feedback.

clarify the goal/objective - is it to learn a new programming language? is it to be a better programmer? - make it a S.M.A.R.T. one.
whatever the goal, I think it's better to stick to one programming language - learning about design or architecture of different languages can be advantageous but if you are not working with those and every week is a new language I am not sure how this is helpful. I think one language can also be more useful towards measuring to what extent we achieved our goal
to make the repo more usable - consider making it a template and prospective users/clubs can be able to use it immediately to generate new repositories with all of the template repository’s files and folders. See here for details
consider more homogenous groups in terms of experience - not necessarily same level but not sure how useful it is to have newbies with very experienced programmers. At times I felt foreign to the whole experience as the more seasoned participants were stealing the show (my perception so very subjective) and didn't understand what they were discussing.

I'll try to join in but definitely not from the beginning. Hope these help.

@katjam To add some notes from session and post video to Rupert and Felienne

General thoughts/ comments from retrospective session:
Good

the sessions are useful for learning to code
approaching code in this way makes it less intimidating

Neutral

people approach the colouring exercise differently (some scanning code, so reading more deeply etc)

Bad

there is time pressure in the sessions

[ ] Write up Katja's notes
[ ] Write up Dan's notes
[ ] Make clear next step actions in the issues arisen

then close.

Closing as been written up and ding next steps


Operations: ability to pause reconciliation to allow SRE/dev debug

Hypershift operators must allow isolated control plane restarts and scaling. I've been battling operators for the ability to restart and scale select control plane components. Being able to do this is an important operations tool used to debug problems and fix clusters. There will be various cases over time operating a large scale offering where we will need to pause for a period of time to have control over various debugging actions. For example:

Things like potentially needing to scale down components in an outage scenario
Triggering a rolling restart of a specific component as part of a debug operation with a client
Potentially scaling down operators if there's a scenario where too much load is present on the cluster and we need to temporarily scale things down to recover from an "overloaded" situation. Overloaded in this context being aggregated load across all the operators put on the Kube-APIServer. Will provide an example of that with our perf tests here

Tangibly I believe this can be implemented with the ability to pause reconciliation on resources (both the hostedcluster and the hostedcontrolplane). The exact implementation can be discussed.

An example from a recent perf test:
Let's say we get to a point where we have an overloaded situation in the control plane. In a recent example of a perf testing: we tried to scale to 440 clusters and the maximum amount of node pools and it ended up overloading the API Server results shown below.

In this situation: the management cluster's APIServers have just been repeatedly OOMing due to the load. It has been doing this for multiple hours. Using this scenario as an example in production: we would not be able to just leave things status quo: we would need to be able to pause and start scaling down specific components to help alleviate this load (potentially internal test clusters, abandoned clusters with no workers, etc). Currently those changes would just get stomped and then we would be back in this scenario.
We can provide more examples from an operations perspective as well cc @rtheis

Hi folks,
There are times when we need to do an etcd recovery for a cluster that requires the entire control plane to be shutdown during the recovery.  Shutting down the control plane is an easy way to ensure that we stop all requests to etcd during the recovery process.
We've also encountered times when we need to throttle Kubernetes API server requests to protect the cluster from a rogue application so we can recover the control plane.  Throttling requires us to reconfigure the API server for a period of time while we recover the cluster.
And finally, this issue initially surfaced when I was trying to fix the control-plane-operator deployment because it was causing the pods to crash.  I was only able to do this by stopping the Hypershift operator which won't be an option for us without causing a production outage for our service.
I can provide more details if needed.  Please let me know.  Thanks.

/assign @relyt0925

finished!


Digitizer: efficiency improvements

We've got an interface that lets us digitize one regulation at a time, in a scrolling list. We can make digitization more efficient / less arduous with some additional capabilities:
Filter for batch edits
Allow user to filter the data, to perform actions in batch (like adding regulation properties... or later on, buffering a position into a span). Since the only qualitative data entering the digitizer is the span label (e.g. parking, curb paint, curb cut), we can limit the filter to focus just on selecting all features of a specified span label. This means we avoid searching in a list within a list.
A user would use the filter function to do a first-pass on the data to take care of the easiest regulations - things like adding activity=no standing properties to all driveways, turning all fire hydrants into streets segments with a activity=no parking regulation property, etc. Knowing that this is part of the workflow, a user may wish to customize their span labels ahead of time if they really want to be efficient with digitization (ex. adding separate span labels for different colors of curb paint, which could then be processed in batch)
Recall/preset for atomic edits
Once a user has taken care of the low-hanging fruit with batch edits, they'll need to iterate through each individual span to look at the photos and digitize the regulations on that span. Most urban areas only have a small number of unique regulations (~10) that are applied over and over again in different areas. So instead of having a user populate every property of every regulation, we can make this more efficient if we have a way to remember (or specify upfront) those ~10 rules and allow a user to apply them to a new span.
For example, all metered parking in downtown Portland has the same effective dates, rates, and payment info. Maybe I have to enter each of those properties the first time, or the first few times. But after that, it would be great if I could just choose to apply the previous regulations to the next parking sign I encounter in the digitizer, and so on. Maybe this gets triggered when a user selects the activity type (parking brings up a list of frequently-used parking rules). Maybe we remember things automatically, or maybe the user needs to indicate that they want to use that rule in the future (and possibly assign it a name). There are a bunch of different ways we could approach this, but the overall goal is to have a way that the ~10 most common parking rules can be applied to atomic edits so that the user doesn't have to type in time ranges for each one individually.
Testing
To keep this iterating quickly, once one of these (prob filter) is implemented, let's test the functionality and see what we think before moving on to the recall functionality.

What we have acknowledged but are not considering essential:
Complex filters (useful for fine-tuning data)
It would be useful to be able to search by complex terms (e.g. give me all the parking meters that charge $2/hr) to be able to update rates, times, signs, etc... or just to correct a batch of typos. However, this is a more complicated thing to build and it's not essential. I don't consider it part of an MVP. I'm acknowledging it here so we know that we thought about this and tabled it. If there's a way to set up the digitizer so that this type of functionality could be added in the future in a new grant or project, that's great but let's not spend too much time on this.

closed - issue addressed as part of app overhaul


Should the macro __riscv_c and __riscv_compressed defined for Zca?

Should the macro __riscv_c (and __riscv_compressed) defined when only Zca is enabled?
Also, seems GCC and Clang behave differently in this case, e.g., for -march=rv32i_zca,
GCC: undefined __riscv_c, while defined __riscv_compressed
LLVM: undefined both.

Related questions:

https://github.com/riscv-non-isa/riscv-asm-manual/issues/91
https://github.com/riscv/riscv-isa-manual/pull/1121

__riscv_compressed was deprecated, but I guess we should consider redefine that as defined if any extension provided compressed instruction is available? We have C and Zca now, but not guarantee we won't have more independent Zc* extensions .
cc @a4lg

As the Zc spec v1.0.4-2 added the rule that C implies Zca, I think existence of the compressed instructions can be reported by __riscv_zca now.

Thanks for the update and closing the ticket!


Does spacytextblob Support other language like Chinese？

Because spacy 3 Support Chinese，so I wonder if spacytextblob support Chinese？Or how can I make it Support Chinese?

spaCy has support for many languages. Unfortunately TextBlob only has support for English sentiment analysis at this time (https://github.com/sloria/TextBlob/issues/211).  If TextBlob does eventually create a sentiment analysis model for Chinese it could be used by spaCyTextBlob. Until then only English will work unfortunately .


httpBase option might be misleading

I really like the idea of the httpBase option, but I believe that it can be quite misleading and cause some confusion.
My initial expectation was that setting the httpBase option to http://localhost:8000 (for example) would result in all the strings (not only found files) in the src option to be appended with this string and passed on to the PhantomJS browser.
I thought that the following would provide the http://localhost:8000/test.html to the browser if the test.html was located in the www directory:
connect: {
  server: {
    options: {
      base: 'www'
    }
  }
},
qunit: {
  main: {
    options: {
      httpBase: 'http://localhost:8000/'
    },
    src: ['test.html']
  }
}

The previous example does not pass on any tests to the browser.
The only way this option can be useful is if the actual test files are being served by the web server from the root of the project, which I believe is not very often the case.
I also tried the following, which to me seems like the only way that the option could have worked without breaking the (what I suspect to be) Grunt.js convention of only listing source files that are found to actually exist:
connect: {
  server: {
    options: {
      base: 'www'
    }
  }
},
qunit: {
  main: {
    options: {
      httpBase: 'http://localhost:8000/'
    },
    files: [{
      expand: true,
      cwd: 'www',
      src: ['test.html']
    }]
  }
}

The preceding example unfortunately provides the erroneous http://localhost:8000//www/test.html to the browser.
Perhaps I'm missing something here, but I believe that if the httpBase option is not used with a dynamically built files object that it won't be very useful.

I don't know if you still need a help with this or not. But I'll try to answer some of the question for future ref.

My initial expectation was that setting the httpBase option to http://localhost:8000 (for example) would result in all the strings (not only found files) in the src option to be appended with this string and passed on to the PhantomJS browser.

That was made clear in README:
#### httpBase
Type: `String`
Default: `false`

Create URLs for the `src` files, all `src` files are prefixed with that base.

I thought that the following would provide the http://localhost:8000/test.html to the browser if the test.html was located in the www directory:

src: ['test.html'] (first example) will be expanded to an empty object. AFAIK src should be a valid glob pattern, that expand to path/to/file. So it will not work.

I also tried the following, which to me seems like the only way that the option could have worked without breaking the (what I suspect to be) Grunt.js convention of only listing source files that are found to actually exist:

There is an other rule that says httpBase should not be terminated with a / (see source code).
One thing you should now is, your configuration of your local web server (in your case you're using grunt-contrib-connect) doesn't matter to this plugin. So, you have to configure it correctly (adjust the base option) in order to work with this plugin.
Closing this for now, feel free to ask if you have followup questions.


Add support for 8 character hex codes

Copies the latest code from upstream to fix https://github.com/chartjs/Chart.js/issues/6035

Duplicated of #3, which I'm not sure why it hasn't been merged yet. I prefer #3 since it doesn't change the surrounding code, thus easier to review.


mistake made within the english translation

please, change in the file frontend/src/translate/languages/en.js the second line from
  EN: {
to
  en: {
otherwise, English translation won't work.

Correção realizada no commit: https://github.com/rtenorioh/Press-Ticket/commit/7fc2d00aec6485e4222ee9115fa1f4ec129e357f

Sorry to re open this issue, but the same mistake was made in two other places /frontend/src/translate/languages/en.js and /frontend/src/translate/languages/es.js. One must change "Login" to "login" in order for the translations work.


Wrong order of additional model property in case of inheritance

I have three simple models (CompA, CompB and CompC).
CompB inherits all from CompA, CompC inherits from CompB.
For the sake of simplicity CompB and CompC each extend the inherited model by only one property.
Current Behavior
For CompC the property "testC" is rendered first, while e.g. for CompB the property "testB" was added to the end.
Expected Behavior
As CompB simply adds the addtional property to the end, CompC should do the same.
Possible Workaround/Solution
none
Steps to Reproduce
openapi: 3.0.0
info:
title: PolyTest
version: '1.0'
servers:

url: 'http://localhost:3000'
paths:
'/comps/{id}':
parameters:

schema:
type: string
name: id
in: path
required: true
get:
summary: Your GET endpoint
tags: []
responses:
'200':
description: OK
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/CompA'
- $ref: '#/components/schemas/CompB'
- $ref: '#/components/schemas/CompC'
discriminator:
propertyName: name
operationId: get-comps-id
components:
schemas:
CompA:
title: CompA
type: object
discriminator:
propertyName: name
properties:
id:
type: string
name:
type: string
required:

id
name
CompB:
title: CompB
allOf:
$ref: '#/components/schemas/CompA'
type: object
properties:
testB:
type: string
CompC:
title: CompC
allOf:
$ref: '#/components/schemas/CompB'
type: object
properties:
testC:
type: string

CompA

CompB extends CompA by one property "testB" which will be added as last property. IMO this is correct.

CompC extends now CompB by one property "testC", but this property will now be displayed as first property. Why? And the example on the right side does not change as well.

Version used: 7.5.19
Environment name and version (e.g. Chrome 39, node.js 5.4):
Operating System and version (desktop or mobile):
Link to your environment/workspace/project:

so inheritance does work? the Body section is not generate for me when the Body type is a child of inheritance, i worked around it by changing my base type to an interface :(
any idea?

Hello!
Our team recently took over the stewardship of the elements repo.
Due the volume of un-triaged issues that are pretty old and the time it would take us to get caught up on all of them, we kindly ask that you open up a new ticket if this is still an issue you're struggling with.
If you open a new issue please include:

clear steps to reproduce that include example OAS specs, application setup, code, etc.
the error or issue you are experiencing
the expected behavior

We will be triaging any new tickets in a timely manner.
Thank you for understanding!


Really multitenant only?

When upgrading a database I had missed tasks 6 and 12 as they were marked as multitenant only. But it very much seems to me like those are necessary in single-tenant as well (https://github.com/microsoft/AL/issues/5004). Why are they marked as multitenant only?

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

ID: b69c11d2-4915-8e2e-f38c-7bb1a3777bf9
Version Independent ID: 0028111c-4f1a-df24-0d47-48b7f6e6d98a
Content: Upgrade Application Code - Business Central
Content Source: dev-itpro/upgrade/Upgrading-the-Application-Code.md
Service: dynamics365-business-central
GitHub Login: @jswymer
Microsoft Alias: jswymer

Hello, you are correct. The tasks are required for a single-tenant deployment. However, they are covered by Tasks 10 and 14 in the article Upgrading the Data to Business Central: Single-Tenant Deployment. Let me know whether this answers your question and if you have a suggestion for improvement. Thanks for the feedback!

Sorry for the delay. The article has been updated according to your suggestion. Thanks for the feedback!


Add API endpoint properties for cfdot job

These are configurable in the other diego jobs, like auctioneer or rep, so should be configurable in cfdot as well.

Thanks, @jandubois, sounds reasonable.
With BOSH now preferring job-specific properties, we've been avoiding the diego.X prefixes on new properties, and we've also been inclined to make properties as specific and as granular as possible. Consequently, do you think you could change these properties to {bbs,locket}.{hostname,port} instead, along the lines of https://github.com/cloudfoundry/diego-release/blob/v2.6.0/jobs/route_emitter/spec#L133-L138?
Thanks again,
Eric

Consequently, do you think you could change these properties to {bbs,locket}.{hostname,port} instead

Sure, I'll try to update it tomorrow.

Hey @emalm,
I've updated the PR to use the property names you suggested (updated twice because at first I used the locks.locket.* names from route-emitter, but then noticed that you asked for plain locket.*, which also makes more sense to me).
Cheers,
-Jan

Thanks, @jandubois ! Did you push that latest update? I'm still seeing the locks. prefix on those properties.
Best,
Eric

Did you push that latest update?

I thought I did; but it certainly doesn't look like it. Did another force-push right now.

Great, I see them now!


Make cloudflare test use JSR.

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

Project coverage is 91.19%. Comparing base (cf10550) to head (b89fbb6).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #156   +/-   ##
=======================================
  Coverage   91.19%   91.19%
=======================================
  Files           4        4
  Lines         602      602
  Branches       47       47
=======================================
  Hits          549      549
  Misses         53       53

Flag
Coverage Δ

unittests
91.19% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Add most RCT1AA coaster trains

Adds most RCT1AA coaster trains, the only ones that are missing are the classic wooden twister trains & lay-down coaster trains as OpenRCT2 cannot support them yet. A couple of things to note:
1: The virginia reel tubs have the same doubled sprites as mentioned for the rapids boats in the water rides PR, so everything about that applies to the reel tubs too.
2: I've went ahead and included the reversed heartline cars. this feels mildly redundant as we're phasing out reversed vehicle objects but the current import code relies on actual objects right now from what i can tell. If you'd rather me not include them if you'd rather just change the import code to import the non-reversed cars as reversed or something similar to that then let me know and i'll remove them from this.

I’m going to look into the reversed cars issue.

Can you take the reversed Heartline Twister train out for now? I might need a bit more time to properly look into it and I want to merge the rest of it.

Done.


Re-occurence of HiGHs failure when called several times in a row

Hello !
With version of HiGHs >= 0.4.0, there is a re-occurence of the issue https://github.com/lovasoa/highs-js/issues/5 which was fixed in 0.3.0.
This prevents from running HiGHs several times, because it leads to a crash.
This time, though, it seems the error is linked to the input file!
So, after the 4094-th call to HiGHS, the error message is "Error: Unable to read LP model".
Of course, there is no error with the model file itself, but is probably linked - as in the original issue - to an error with the way file descriptors are used either by:

The HiGHs interface with the new version of emscripten
or
The updated HiGHs version which might have introduced a file handler leak in the C code (ex: not closing the input file after reading it)

I'm attaching a reproducer so that you can include this one in the future unit tests to avoid re-re-occurence of the same problem.
Cheers,
Roman
--
Reproducer, as an HTML file, you just need to open it on a computer with Internet access:
<!DOCTYPE html>

  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>QUnit Example</title>
  <link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-2.15.0.css">
  <link rel="prefetch" href="https://lovasoa.github.io/highs-js/highs.wasm">

I've verified that the CPLEX-LP file reader in HiGHS closes the file that is passed to Highs::readModel, so I can't see how this bug can be a consequence of HiGHS at this level. I've created the .lp file corresponding to model = "Minimize \n" + "obj: 6 x0 \n" + "Bounds \n" + "0 <= x0 <= 2 \n" + "End \n"; in our TestCAPI.c file. The C API to Highs::readModel is simply a direct call to it, so there's nothing to go wrong here.

Hello @jajhall !
Browsing HiGHS code, it seems https://github.com/ERGO-Code/HiGHS/issues/586 could be related to the current issue.
At least, it would make sense that since if HiGHS always tries to create a Highs.log file, this would create issues with the pseudo file system of emscripten.
I don't have time yet to investigate this issue, but simply updating the version of HiGHS referenced in high-js to the one containing your fix on HiGHS side should allow to confirm/infirm.
Cheers,
Roman

Indeed, updating to (at least) 2acc46c42f1641e1bdb58ab9cf846560bf408bd0 will pick up the changes to the HiGHS logging


Span not created on SqsListener

Describe the bug
@SqsListener is not creating Span with Spring Boot using aws-otel agent
What did you expect to see?
Created Span
What did you see instead?
Created span like this one
PropagatedSpan{ImmutableSpanContext{traceId=00000000000000000000000000000000, spanId=0000000000000000, traceFlags=00, traceState=ArrayBasedTraceState{entries=[]}, remote=false, valid=false}}
Additional context
spring-cloud-aws-messaging-2.4.2.jar
Spring Boot version 2.7.4

related to https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/4788


Help please

Is it possible to write a short tutorial for absolute layman? I'm not a programmer and just want to play overwatch.
What do you mean with "copy the application to your application folder"? The .zip folder? The unzipped folder? Some file?
When I run the command in Terminal it just says "No such file: Settings.app".

Download Overwatch.Settings_0.3.3_aarch64.dmg. When you open it you will be able to drag the app to your applications folder. The command should then work!


Facial Recognition (Bounding Box) Using CNN

I would like  develop a Facial Recognition System that can recognize the face with bounding boxes .

Hey @Rishi-11-2 , I would like to take upon this issue

i have created the project please allow me to contribute under GSSOC23

i will work on the issue

If possible, could I also contribute to this project.
Just a mild suggestion: We should train is using YOLO (preferably v8) in order to get the highest possible accuracy.


need to run npm install before running the script

Fails with this error if not run.
{ Error: Cannot find module 'command-join'
    at Function.Module._resolveFilename (module.js:455:15)
    at Function.Module._load (module.js:403:25)
    at Module.require (module.js:483:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Users/hobochild/Desktop/resin-preload/lib/preload.js:3:16)
    at Module._compile (module.js:556:32)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3) code: 'MODULE_NOT_FOUND' }

@shaunmulligan this happens only if you clone the repo from github.
If you install it with npm install --global resin-preload (like in the README) you don't need to run npm i.
Do you want me to add instructions for installing from github ?

@zvin ah, that is a fair point. It might be worth putting that step in a "contributing" section for people that want to add to the project and will clone from github


nova-flexible-content: dependsOnNotEmpty() hides the field only when the field it is depended on is filled and cleared

When I use the dependency container inside whitecube's nova-flexible-content layouts, the dependant field is only hidden after the depended field is first filled and then cleared.

Update: Same behaviour even when using the dependency container outside the flexible layouts.


@only_one block is executed by a single iteration (not a single task)

From my understanding of the docstring
  @only_one begin ... end

  This can be used inside a @tasks for ... end block to mark a region of code to be executed by only one
  of the parallel tasks (all other tasks skip over this region).

I was expecting
@tasks for i in 1:8
    @set ntasks = 2

    println(i, ": before")
    @only_one begin
        println(i, ": after")
    end
end

to print after 4 times (since a single task has to run 4 iterations of the loop).  Instead, I get the output
5: before
1: before
5: after
6: before
2: before
7: before
8: before
3: before
4: before

Is this expected? Should the docstring be changed or I just got it wrong? It seems to me that this macro should be called @only_once instead.

This was indeed a bug. I committed a fix (to master). Feel free to try it out.


build error

root@iZ2vcekg07cyl1x2opxonzZ:~/issuer-kit# ./docker/manage start
./docker/manage: line 5: getDockerHost: command not found
The client id and/or secret for the integration of GitHub as IDP for Keycloak were not provided.
Please set the GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET environment variables to use GitHub as your IDP.
To get your  client id/secret combination, please visit: https://github.com/settings/developers
Press Ctrl+C now to stop, or wait to proceed without GitHub integration.
Building tails-server
ERROR: error fetching: fatal: Couldn't find remote ref master
: exit status 128
downloading the latest code,  an error when build tails-server,  how to solve ?

This happens when this command fails. Please make sure you can download the script at the target url and your version of curl (possibly git bash, as it would come embedded with it) is up-to-date. Older versions of git bash seem to cause issues.

ok~


CFund - Allow the network to vote for the release of locked funds back into the CFund pool

Problem:
Currently funds are locked away for accepted proposals, however all sorts of things can go wrong with a project, perhaps the team building it breaks up, or developers can no longer work on it for some reason, or the project turns out to be a sham. This leads to funds being locked away until they are automatically released by their expiry date. However this could take a long time.
Solution:
Allow the network the ability to vote for the release of locked funds back into the CFund pool

Can't anyone create a payment request to the community fund and once funded the fund will be "paid" to the community fund.  This approach would require no change and the vote would be on a payment of funds to the community fund just like any other payment request.

unscheduled creation of supply could be dangerous. unless you meant the funds are funded by cfund, but then you are just paying yourself.

No I am talking about a proposal that has allocated funds and hence locked them up but the payout request has not proceeded.  You then create a payout request to the community fund address releasing funds prior to the expiry date on the proposal that has locked the funds.  The supply already exists in the community fund and is being paid back to the community fund there is no change in supply.


When I convert a CMYK jpeg to jxl, cjxl raises error

Describe the bug
(base) PS C:\temp> cjxl.exe -q 100 .\FELT-002_Fairy_Queen_.jpg 1.jxl
JPEG XL encoder v0.11.0 4df1e9e [AVX2,SSE2]
Note: Implicit-default for JPEG is lossless-transcoding. To silence this message, set --lossless_jpeg=(1|0).
Encoding [JPEG, lossless transcode, effort: 7]
Error while decoding the JPEG image. It may be corrupt (e.g. truncated) or of an unsupported type (e.g. CMYK).
EncodeImageJXL() failed.
To Reproduce
Steps to reproduce the behavior:

Expected behavior
A clear and concise description of what you expected to happen.
Environment

OS: windows
Compiler version: offical releases version
CPU type: 3700x
cjxl/djxl version string: cjxl v0.11.0 4df1e9e [AVX2,SSE2]

Additional context
Add any other context about the problem here.

see also #3540

Gonna write here because this looks like the newest issue. With "CMYK" in the title
See #468  for the original report.
Confusion
So in v0.11.0 it looked like CMYK support was added as per this commit
https://github.com/libjxl/libjxl/commit/cc83237c2f8f1e2e84298f8de7402e5756bf1045 message.
Additional confusion as there is a CMYK image in the test files flower_small.cmyk.jpg
Sadly upon further inspection this is only adding 4 channel support for CMYK <=> YCCK and no conversion support to 3 channels (RGB / YCbCr / etc.)
Workaround
As a potential work around, you can use djpeg
djpeg flower_small.cmyk.jpg | cjxl -d 0.0 -e 10  -  flower_small_lossless.rgb.ppm.jxl

Because cjxl does not know this was a jpeg originally we can't use -j 1 leading to a BIG jxl file.
But if you don't care about lossless, -d 1.0 -e 10 works better
djpeg flower_small.cmyk.jpg | cjxl -d 1.0 -e 10  -  flower_small_lossy.rgb.ppm.jxl

Here are the file sizes
814k  flower_small.rgb.ppm
266k  flower_small.rgb.ppm.d0.jxl
148k  flower_small.cmyk.jpg
45k   flower_small.rgb.ppm.d1.jxl

To me at least, the CMYK -> RGB looks visually identical.

This could be wrong because the original flower image was an RGB png,
should probably check this with a "real" CMYK image

Note
You might want to consider making a general (milestone) "CMYK to RGB" issue and closing all these other ones, this seems to have come up a few times:

#3540
#3474
#2126


Add ZTP sequence diagram

How did you generate this? Did you use Mermaid?

I only use OPI officially approved tools http://draw.io/ 🤣

this is cool. maybe also add a token "report-progress" RPC call into the bootstrap server, to pique the viewer's curiosity?

this is cool. maybe also add a token "report-progress" RPC call into the bootstrap server, to pique the viewer's curiosity?

yep
also working on details on each step as well... will post today


Broken Links on KF Operator -> Installing Kubeflow docs

https://www.kubeflow.org/docs/distributions/operator/install-kubeflow/
First 3 links on the documentation are broken:

Operator -> introduction <-
-> Install the Kubeflow Operator <-
Kubeflow -> manifests <-

@RFMVasconcelos , Can you please assign this to me?

@himanshu9345 I can :)
/assign @himanshu9345
For future reference, you are able to assign issues to yourself by commenting /assign


try release 5.1 fixes

test PR only to see if the SPECTUB FBP2D fix works

conda-forge-admin, please rerender

replaced by #93

this works fine. Now need to replace it with using the release 5.1.2


test: refactor ng-add to make it easier to add moar tests

Issue or need
After starting to add more features to the ng-add schematic, noticed that same test code repeats over and over.
Despite being conscious that WET > DRY in tests, the Twice of WET was definitely not twice.
Some things can be abstracted to avoid repeating the same tests around and around.

Proposed changes
Add an abstraction to allow testing whether providers are added or not to the root file (app config / app module): shouldAddRootProvider.
Also extracts util functions into testing directories

Quick reminders

🤝 I will follow Code of Conduct
✅ No existing pull request already does almost same changes
👁 Contributing docs are something I've taken a look at
📝 Commit messages convention has been followed
💬 TSDoc comments have been added or updated indicating API visibility if API surface has changed.
🧪 Tests have been added if needed. For instance, if adding new features or fixing a bug. Or removed if removing features.
⚙ API Report has been updated if API surface is altered.

#974  👈
main

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

Join @davidlj95 and the rest of your teammates on  Graphite


The toolbar fails when multiple characters are entered in Chinese calligraphy

Is there an existing issue for this?

[X] I have searched the existing issues

Flutter Quill version
9.3.10
Steps to reproduce
1,  Run the Flutter Quill example
2, The input method is switched to Chinese mode
3,  Toolbar selects bold mode
4, Input more than 2 Chinese characters at a time
Expected results
The input is bold text
Actual results
The input is normal text, and the bold check in the toolbar is reset to unchecked
Code sample
Flutter-quill  example
Screenshots or Video
Chinese input method, when more than 2 characters are entered at a time, the bold state will be reset to the unselected state.
https://github.com/singerdmx/flutter-quill/assets/22974077/b8c59209-549e-419a-8b7b-13da3a76505d
QuillController line 276

Logs
No response

This issue has been fixed in #1890.


Strange color issue after adding Windows UI dependence

Windows Terminal version
1.18.2681.0
Windows build number
10.0.19045.0
Other Software
Powershell 7.3.8
oh-my-posh
Steps to reproduce
Configuring Powershell prompt with a segment:
      "segments": [
        {
          "type": "os",
          "style": "diamond",
          "background": "#20649c",
          "foreground": "#fff",
          "leading_diamond": "\ue0c7",
          "trailing_diamond": "\ue0c6",
          "properties": {
            "style": "folder"
          }
        },

Expected Behavior
The cmd prompt is shown correctly -- without those white reverted color.
Actual Behavior
I got the prompt like img below:

The white dots in the prompt is something emerged after I update Windows Terminal with winget, and noticed there is a new dependence called something like Windows XML UI (sorry that I cannot find the package...)
FYI, the key factor is leading_diamond keyword.
Perhaps an issue in calculating the background color?

Hey there! Terminal has always used WinUI ("XAML", "WinUI", "Microsoft.UI.XAML"). It's just that WinGet didn't support installing it.
Can you check out this setting?
Settings -> Defaults -> Appearance -> Automatically Adjust the Appearance of ...

This setting, which is somewhat new, makes it so that low-contrast text gets brightened/darkened so that it is visible.

Hey there! Terminal has always used WinUI ("XAML", "WinUI", "Microsoft.UI.XAML"). It's just that WinGet didn't support installing it.
Can you check out this setting?
Settings -> Defaults -> Appearance -> Automatically Adjust the Appearance of ...

This setting, which is somewhat new, makes it so that low-contrast text gets brightened/darkened so that it is visible.

It was "Never".
If I change it to "always", I got this:

Slightly better, but still have the "white" color at the beginning part.

Oh, thanks! I think I understand what's happening here.
Are you using the "modern rendering engine (AtlasEngine)"? Settings->Rendering.
If so: I bet that this glyph is extending outside of its box, and picking up the color of the Windows logo next to it. This is a very difficult thing for us to get "right" because consensus is split on whether "overhanging" glyphs (those that go outside their boxes) should get the color of the cell they came from or the cell they are currently on top of.
We chose the give them the color of the cell they are on top of, because that is the only way to make ligatures work properly:

(This is one glyph, but it spans four cells!)
 The extended powerline characters are too big for their boxes.
Using a different font, but with roughly the same settings, I get this:

The bounding box for the fading boxes in my character is the size of this green rectangle-

In other words...
If you do this (in PowerShell), I bet you'll see something different from me.
"`u{e0c7}X`u{e0c6}"

I see this - everything is nicely contained because the glyphs don't extend outside their boxes.

I got this.
I see, but even if I disabled the "AtlasEngine", it still looks wired:

These all happens after a recent update of Windows Terminal... Before, everything is fine.
Is there a way to fix the glyph issue? Or I need to use a different char?

You may want to look into Delugia Code. I know that they run their patcher a little differently from the Caskaydia one.
I don't totally understand why they overwrite our Powerline glyphs, though! Cascadia includes metrics-appropriate versions of all of these shapes... just not the rest of the Nerd Font glyphs ☹

You may want to look into Delugia Code. I know that they run their patcher a little differently from the Caskaydia one.
I don't totally understand why they overwrite our Powerline glyphs, though! Cascadia includes metrics-appropriate versions of all of these shapes... just not the rest of the Nerd Font glyphs ☹

OK. Thanks for the detailed explanation above. I'll try to look into different solutions.

I found a solution...
There are two types of Cascadia Nerd Font, the mono version actually works fine (with automatic lightness adjustment OFF).

Fascinating! Thank you. I'll note that down for future reports, and see if we can get it into our docs.


Eigen 3.3.1-p4

Testing:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.1368
https://travis-ci.org/ingenue/hunter/builds/204108686

Uploading:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.1369
https://travis-ci.org/ingenue/hunter/builds/204151597


[5.5] Support for standard object (stdClass)

Support convertion of standard objects to json

Mind adding a test for this?

Just do return (array) $object; from your controller.

Sorry for the delay in responding.
@jhoff I did not know that rule, thanks for that.
@taylorotwell the problem is converting data to JSON, and your solution don't work in many cases, I will try to explain it fast.
Suppose you have one JSON attribute in a model that can get that structure: {"a":"test","b": 5}
This attribute have a getter: return json_decode($value);, that return a standard object (stdClass)
PHP always transform associative arrays in objects. Only empty arrays [] and ordered numeric arrays will be treated as arrays. Numeric arrays with missing numbers will be objects.
So I got 2 problems when I needed the full data to JSON.

First problem: Empty array [] or casting empty objects (array) $object will return array instead of object.
Second problem: Handling nested objects or collections, this could need a lot of mapping or mutations to get the proper results.

With that little fix they could be transformed properly.
In fact, casting (object) $array fix problems with some empty arrays that could be objects.


@imkiva's opinions

@imkiva said we are not using the Stylist interface the right way. So we should listen to and worship @imkiva's opinions.

I NEED IMKIVA'S OPINIONS!!

I NEED IMKIVA'S OPINIONS too!! Can you help help me?

Colors are back


feat: Add add new resource button

This pull request introduces a new feature for adding resources or skills to the application, along with some supporting changes. The most important changes include adding a new page for resource/skill management, updating dependencies, and integrating the new feature into the existing UI.
New Feature: Resource/Skill Management

src/support_sphere/lib/presentation/pages/main_app/manage_resources/new_resource_skill.dart: Added a new page NewResourceSkillPage with a form for adding new resources or skills, including validation and save/cancel buttons. Also added AddNewResourceSkillButton for navigating to this page.

UI Integration

src/support_sphere/lib/presentation/pages/main_app/manage_resources/manage_resources_body.dart: Imported the new resource/skill page and replaced the TODO comment with the actual AddNewResourceSkillButton. [1] [2]

Dependency Updates

src/support_sphere/pubspec.yaml: Added the dropdown_search dependency to support the dropdown functionality in the new resource/skill page.

Configuration Updates

pixi.toml: Added a new task flutter-add for managing Flutter dependencies.

Related Issues
Resolves #161

Closing... superseded by #195


An easy to read version

I asked around for critique for my translation when I got one who found it hard to read the font due to her deteriorating eyesight.
Albeit I realise that it probably won't happen, it would be awesome with a version with A. Larger text/zoomable text and/or B. a more neutral (and less awesome, to be frank) font. Or something.

I think it would be trivial to create a version with a neutral handwriting.
The only thing necessary would be a button to set a class on the body to trigger a css style with a more neutral font.
If @ncase is interested, I'd create a pull request

If I get to dream big, it would be cool with a narrated version for other people with weak eyesight. But that would be a lot more work, and it would not help the original person either (since she does not understand English that well).
A variance of this would be to make sure that it works well with a screen reader, but I have yet to try how well it works currently with one. :)


Constant jQuery errors in console ?

Hey, is anyone else experiencing this?
Seems to happen throughout the site, would love to know a fix or possible workaround
ReferenceError: Can't find variable: jQuery
  at global code(/test/login:2:7)
  at insertBefore([native code])
  at ? (/gtm.js:1432:426)
  at c(/gtm.js:1434:152)
  at Cb(/gtm.js:1285:397)
  at e(/gtm.js:1314:140)
  at ? (/gtm.js:1275:115)
  at ? (/gtm.js:1315:230)
  at ? (/gtm.js:1314:473)
  at nf(/gtm.js:1315:520)
  at pf(/gtm.js:1317:229)
  at hj(/gtm.js:1360:189)
  at gj(/gtm.js:1360:3)
  at ij(/gtm.js:1362:359)
  at push(/gtm.js:1365:97)
  at ? (/gtm.js:1364:153)
  at r(/yaan/_nuxt/96e368a391d3c00e7099.js:2:530466)

Hi @wickedst. I think this issue is not directly with gtm but a snippet that you are injecting to the page and requires jQuery to be in the window. Please read this acticle to know how load jQuery:
https://www.simoahava.com/analytics/google-tag-manager-and-jquery/#load-jquery-using-google-tag-manager

Ahh - I see thanks


[Demo] custom checkbox using rivets

Here is a demo for custom checkbox using rivets -
http://jsfiddle.net/nsisodiya/6q6xL/
I need you to review it and correct if there is any problem in the code !!
Rivets can can useful to create new custom tag/attribute library !!
something like

 will open div in popup or window style,

 will open div in zen style editing popup,

I have one more question !
in my code, this code is working --
adapter.subscribe(this.model[this.key.path], "checked", this.callback);

but when i change it to
adapter.subscribe(this.model, this.key.path + ".checked", this.callback);

this code  is not working !!

In rivets.js, I have see the code like
    read: function(obj, keypath) {
      return obj[keypath];
    },

So, if the value of keypath is "data.status" then it will not give correct property, as OBJ["data"]["status"] is not equal to OBJ["data.status"]

Closing as it's very old and doesn't seem to present an issue with rivets itself


refactor: re-export Logger type

Current dependencies on/for this PR:

main

PR #9

PR #10   👈

This comment was auto-generated by Graphite.


fix: relative path to training data

Closes #3778
Proposed changes:

fix #3778 by making training_data path relative to the model directory

Status (please check what you already did):

[x] made PR ready for code review
[ ] added some tests for the functionality
[ ] updated the documentation
[x] updated the changelog
[x] reformat files using black (please check Readme for instructions)

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

Thanks for submitting this PR, we'll give it a review as soon as possible

Thanks for your contribution @gthb! Your changes will be included in the next release.


looking-glass-client: get source from looking-glass.io

Description of changes
Ensures that the version that's output is what the devs expect to make support easier.

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 174984 run on x86_64-linux 1

2 packages marked as broken and skipped:

linuxKernel.packages.hardkernel_4_14.kvmfr
linuxPackages_hardkernel_latest.kvmfr

22 packages failed to build:

linuxKernel.packages.linux_4_14.kvmfr
linuxPackages_4_14_hardened.kvmfr (linuxKernel.packages.linux_4_14_hardened.kvmfr)
linuxKernel.packages.linux_4_19.kvmfr
linuxPackages_4_19_hardened.kvmfr (linuxKernel.packages.linux_4_19_hardened.kvmfr)
linuxKernel.packages.linux_4_9.kvmfr
linuxKernel.packages.linux_5_10.kvmfr
linuxPackages_5_10_hardened.kvmfr (linuxKernel.packages.linux_5_10_hardened.kvmfr)
linuxPackages.kvmfr (linuxKernel.packages.linux_5_15.kvmfr)
linuxPackages_hardened.kvmfr (linuxPackages_5_15_hardened.kvmfr)
linuxKernel.packages.linux_5_17.kvmfr
linuxPackages_5_17_hardened.kvmfr (linuxKernel.packages.linux_5_17_hardened.kvmfr)
linuxPackages_latest.kvmfr (linuxKernel.packages.linux_5_18.kvmfr)
linuxKernel.packages.linux_5_4.kvmfr
linuxPackages_5_4_hardened.kvmfr (linuxKernel.packages.linux_5_4_hardened.kvmfr)
linuxPackages_latest-libre.kvmfr (linuxKernel.packages.linux_latest_libre.kvmfr)
linuxPackages-libre.kvmfr (linuxKernel.packages.linux_libre.kvmfr)
linuxPackages_lqx.kvmfr (linuxKernel.packages.linux_lqx.kvmfr)
linuxPackages_testing_bcachefs.kvmfr (linuxKernel.packages.linux_testing_bcachefs.kvmfr)
linuxPackages_xanmod.kvmfr (linuxKernel.packages.linux_xanmod.kvmfr)
linuxPackages_xanmod_latest.kvmfr (linuxKernel.packages.linux_xanmod_latest.kvmfr)
linuxPackages_zen.kvmfr (linuxKernel.packages.linux_zen.kvmfr)
obs-studio-plugins.looking-glass-obs

1 package built:

looking-glass-client

I'm not sure I understand the intent of this PR. Generally I'd prefer fetchFromGitHub over fetchurl as it's easier to point to other branches, apply patches etc.
The PR comment is:

Ensures that the version that's output is what the devs expect to make support easier.

... but AFAICS in the old situation the version/tag of the source was used as the VERSION, and the VERSION found in the tar.gz. from looking-glass.io is also that version?
(aside from this, this PR also has various merge conflicts)


Update rules for include paths

Eliminate angled bracket includes of grpc across the src/{core,cpp} trees.
More may follow.
The guidelines for include path syntax were written at a time that we did not have good tooling for moving code around, nor did we expect it to exist. This is most definitely not the case now, and moving to a consistent include style across the src tree means we can leverage more tooling to help us implement that style.
This change will need some edits in the Google import pipeline to adopt.

Closing in preference to #27033 for now


strategy pattern php

I am Googling strategy pattern php and don't see my favourite resource on design patterns (your website).
I suggest looking at adding some important keywords to pages , perhaps some breadcrumbs can help (link juice with important keywords), and maybe adding spaces to DesignPatternsPHP to ensure those keywords are picked up.

Hi @jamielsharief, great to hear that you like it 😃
I am by far no expert in SEO, I added some meta keywords and will be working on each page later on when I've got more time. Hopefully that will improve search engine ranking. Thanks for your input on this!