Bump generic-array to v0.14.2 (MSRV remains the same)

En attendant min_const_generics :)
Fixes the UB reported in https://github.com/fizyk20/generic-array/issues/97.
Thanks to https://github.com/fizyk20/generic-array/pull/102, the MSRV remains the same, 1.36.0.
Closes https://github.com/japaric/heapless/issues/166.

Lets do this until min_const_generics lands


Wrong tag version, semantic versioning

Yesterday you pushed a new version but you went from 2.3.0 to 2.1.2 a bit confusing isn't it?
you can see more here.
Is it possible to follow semantic versioning ?

@danielnieto I recommend using np to publish to NPM and also create proper GH releases.


Offline maps

it is possible to use map without internet?

Hi @aitinsan !
Sure, the API receives the GeoJSON as a String. Just put it in the assets.


[Feature Request] Add support for Stage channels.

Is your feature request related to a problem? Please describe.
Bot cannot join the newly released stage channels.
Describe the solution you'd like
Add support for stage channels.
Additional context
None

https://github.com/jagrosh/MusicBot/discussions/657

The stage channel is for podcast stuff, not music?

The stage channel is for podcast stuff, not music?

Voice Channels are for talking aint they? Also i can think of easier Management with Staged Channels without setting all Roles and Rights.

Support for Stage Channels will come soon.
Probably next update will feature newer versions of fundamental libraries granting support you are asking for.

cool

It's already possible, though with a few bugs. Join a channel, play a song, and use the discord "move to" feature to move it to a Stage Channel. Make sure it has "Stage Moderator" permissions, and click "invite to speak." the bot will play your music. The only bug is that to play a song, you need to join the original channel that you moved the bot from, as the bot still thinks it is in there.

It's already possible, though with a few bugs. Join a channel, play a song, and use the discord "move to" feature to move it to a Stage Channel. Make sure it has "Stage Moderator" permissions, and click "invite to speak." the bot will play your music. The only bug is that to play a song, you need to join the original channel that you moved the bot from, as the bot still thinks it is in there.

This is a workaround, not a feature.

It's already possible, though with a few bugs. Join a channel, play a song, and use the discord "move to" feature to move it to a Stage Channel. Make sure it has "Stage Moderator" permissions, and click "invite to speak." the bot will play your music. The only bug is that to play a song, you need to join the original channel that you moved the bot from, as the bot still thinks it is in there.

This is a workaround, not a feature.
Yes, I never claimed it was a feature. But, until support for it is released, which is not right now, that will work for my server. I keep it in a stage channel 24/7. I wouldn't be using that method if there was support for stage channels lol.

Bump! Is this supported yet? (I’m slow)

bump! with youtube now taking down bots I'm hoping for this feature as my server likes to host public radio-type deals for people to listen to.

Bump! Is this supported yet?

Bump! Is this supported yet?

If it were, this issue would be closed.

i'm currently listening to bot in a stage channel so yeah, but i can't set the channel by default


Update package name

Hi,
First of all thanks for maintaining this, I use it all the time to find good Django resources 👏
Just thought I'd update https://github.com/sondrelg/django-swagger-tester as it has been, moved, rewritten, and renamed 😄 The old link will still take you to the same repo, but the name and description should probably be updated.

@sondrelg  thank you for the update!


IBMi-bob custom build on github

Hello, I build my project with rules which call a custom program on IBMi.
If I run the build locally from VS code, it works perfectly.
Rules.mk
COSANT1.PGM: cosant1.pgm.rpgle
	${BRPG1}$@${BRPG2}$<${BRPG3}
COSANT2.PGM: cosant2.pgm.rpgle
	${BRPG1}$@${BRPG2}$<${BRPG3}

.env:
CURLIB=BOBMIN_C
LIBL=BOBMIN_C BOBMIN QTEMP SMEUP_DAT SMETAB PER_SRVL SMEDEV QGPL
objlib=BOBMIN_C
srclib=BOBMIN
BRPG1=cl "CALL PGM(${srclib}/TEST3CL) PARM(('
BRPG2=' (*CHAR 50)) ('
BRPG3=' (*CHAR 50)) (${srclib} (*CHAR 10)) (${objlib} (*CHAR 10)))"

When I push changes on Github however, IBMi-bob doesn't execute my program but the CRTBNDRPG command.
Why it does not do the same thing? How can I make IBMi-bob call my program from Github?
I attached the project zip file and the copy of the log of the deploy step on github
bob-min.zip
github deploy step.txt
This is the last and the most important step of our POC because we expect to work with github instead of building the project locally.
Thank you

Hello @cosentino-smeup. Taking a look at your project, it looks like you are setting up your project to be built with both bob and gmake? When you are running the build locally, it is running makei build which will use the Rules.mk which is why you see the correct behavior you want. However, in your GitHub workflow, it seems you are using gmake which will use the root makefile.
Since I assume you are going to be using bob, you should first remove the root makefile. Next, to switch to use bob in your GitHub workflow, update:
- name: Deploy to IBM i
  run: |
    ici \
      --cmd "mkdir -p './builds/ics_${GITHUB_HEAD_REF}'" \
      --rcwd "./builds/ics_${GITHUB_HEAD_REF}" \
      --push "." \
      --cmd "/QOpenSys/pkgs/bin/gmake BIN_LIB=CMPSYS"
  env:
    IBMI_HOST: ${{ secrets.IBMI_HOST }}
    IBMI_USER: ${{ secrets.IBMI_USER }}
    IBMI_PASSWORD: ${{ secrets.IBMI_PASSWORD }}
    IBMI_SSH_PORT: ${{ secrets.IBMI_SSH_PORT }}

to:
- name: Deploy to IBM i
  run: |
    ici \
      --cmd "mkdir -p './builds/ics_${GITHUB_HEAD_REF}'" \
      --rcwd "./builds/ics_${GITHUB_HEAD_REF}" \
      --push "." \
      --cmd "/QOpenSys/pkgs/bin/gmake BIN_LIB=BOBMIN_C"
  env:
    IBMI_HOST: ${{ secrets.IBMI_HOST }}
    IBMI_USER: ${{ secrets.IBMI_USER }}
    IBMI_PASSWORD: ${{ secrets.IBMI_PASSWORD }}
    IBMI_SSH_PORT: ${{ secrets.IBMI_SSH_PORT }}
    objlib: BOBMIN_C
    srclib: BOBMIN

In addition, depending on if you decide to continue using environment variables for the issue described here, you will need to also add BUILD1, BUILD2, and BUILD3 in the above step under env:. Thus, it may be better to use the solution I described to have it in your Rules.mk in which case you will not need to add these environment variables.

It looks that it's doing something now on github becaus I receive this message:
objlib must be defined first in the environment variable.
This are my environment variables on github:

What am I doing wrong?
github.log

@cosentino-smeup Can you share here how you specified the deploy step in your yaml file

This is the entire folder:
bob-min.zip

@SanjulaGanepola I didn't have time to look, but make sure the environment variables make it to the target IBM i and not just the Linux vm doing the action

@cosentino-smeup Sorry, just noticed I made a mistake in what I originally suggested. Edmund is correct in that the environment variables need to make it to the target IBM i.
For GitHub actions, there are various ways to store information in variables:

Defining environment variables for a single workflow
Defining configuration variables for multiple workflows

It looks like you are using the second option in which case you can access them and send it to the target IBM i in your workflow using:
- name: Deploy to IBM i
  run: |
    ici \
      --cmd "mkdir -p './builds/ics_${GITHUB_HEAD_REF}'" \
      --rcwd "./builds/ics_${GITHUB_HEAD_REF}" \
      --push "." \
      --cmd "/QOpenSys/pkgs/bin/makei build -e objlib=${{ vars.OBJLIB }} -e srclib=${{ vars.SRCLIB }}"
  env:
    IBMI_HOST: ${{ secrets.IBMI_HOST }}
    IBMI_USER: ${{ secrets.IBMI_USER }}
    IBMI_PASSWORD: ${{ secrets.IBMI_PASSWORD }}
    IBMI_SSH_PORT: ${{ secrets.IBMI_SSH_PORT }}

I attached zip of the working project where I removed all variables. Without variables my program get called. From here, I should find the way to replace the constants of the libraries (objlib=BOBMIN_C and srcmin=BOBMIN) with variables.
I tried adding the variable on IBMi with WRKENVVAR but it didn't change.
bob-min.zip

I attached zip of the working project where I removed all variables.

I would not advise removing all variables form your project as it defeats the purpose of making your project's target libraries customizable. I would take a look at what I suggested above here as it this should work with the setup you had before.

I attached zip of the working project where I removed all variables.

I would not advise removing all variables from your project as it defeats the purpose of making your project's target libraries customizable. I would take a look at what I suggested above here as it this should work with the setup you had before.

EUREKA !!! it works !!! now github calls my program and replace the variables !!
The only problem remained is the syntax because at the moment I am working on a POC with 2 programs, but we have thousands of programs to build and it's not thinkable to modify manually the rules.mk to add a CALL statement for each program.

Yes Irfan @irfanshar  has a solution in an enhancement he is making to BOB here https://github.com/IBM/ibmi-bob/pull/346

Closing as the main issue has been resolved. Further discussion about wildcard support in Bob can be found here: https://github.com/IBM/ibmi-bob/pull/346


Fix scanf reading newline instead of input.

Should correct the issue wherein subsequent scanf's are reading the ENTER key's input instead of getting a second, or third, character from the user.

Thanks man!


[Bug]: cluster stuck following FailedScheduling after scale up

Is there an existing issue already for this bug?

[X] I have searched for an existing issue, and could not find anything. I believe this is a new bug.

I have read the troubleshooting guide

[X] I have read the troubleshooting guide and I think this is a new bug.

I am running a supported version of CloudNativePG

[X] I have read the troubleshooting guide and I think this is a new bug.

Contact Details
No response
Version
trunk (main)
What version of Kubernetes are you using?
1.30 (unsupported)
What is your Kubernetes environment?
Self-managed: kind (evaluation)
How did you install the operator?
YAML manifest
What happened?
I created a new kind environment as follows:
(cat <<EOF
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
name: multi-node-taints-template
nodes:

# Control Plane node
- role: control-plane

# Infrastructure/Application nodes (2)
- role: worker
  labels:
    infra.node.kubernetes.io:
- role: worker
  labels:
    app.node.kubernetes.io:

# PostgreSQL nodes (3)
- role: worker
  labels:
    postgres.node.kubernetes.io:
  kubeadmConfigPatches:
  - |
    kind: JoinConfiguration
    nodeRegistration:
      taints:
      - key: node-role.kubernetes.io/postgres
        effect: NoSchedule
- role: worker
  labels:
    postgres.node.kubernetes.io:
  kubeadmConfigPatches:
  - |
    kind: JoinConfiguration
    nodeRegistration:
      taints:
      - key: node-role.kubernetes.io/postgres
        effect: NoSchedule
- role: worker
  labels:
    postgres.node.kubernetes.io:
  kubeadmConfigPatches:
  - |
    kind: JoinConfiguration
    nodeRegistration:
      taints:
      - key: node-role.kubernetes.io/postgres
        effect: NoSchedule
EOF
)  | kind create cluster --config - --name cnpg

I then ran:
kubectl label node -l postgres.node.kubernetes.io node-role.kubernetes.io/postgres=
kubectl label node -l infra.node.kubernetes.io node-role.kubernetes.io/infra=
kubectl label node -l app.node.kubernetes.io node-role.kubernetes.io/app=

I installed the latest snapshot of the operator.
Then I created a new cluster using the manifest in the next section.
Once it was up, I ran:
kubectl scale cluster --replicas 4 cluster-example

which produced:
NAME                           READY   STATUS    RESTARTS   AGE
cluster-example-1              1/1     Running   0          25m
cluster-example-2              1/1     Running   0          19m
cluster-example-3              1/1     Running   0          18m
cluster-example-4-join-8pds8   0/1     Pending   0          73s

If I run describe on the pod, I get:
Events:
  Type     Reason            Age                    From               Message
  ----     ------            ----                   ----               -------
  Warning  FailedScheduling  2m54s (x2 over 8m19s)  default-scheduler  0/6 nodes are available: 1 node(s) had untolerated taint {node-role.kubernetes.io/control-plane: }, 2 node(s) didn't match Pod's node affinity/selector, 3 node(s) didn't match pod anti-affinity rules. preemption: 0/6 nodes are available: 3 No preemption victims found for incoming pod, 3 Preemption is not helpful for scheduling.

I tried to scale down again to 3, but the cluster hangs. I even tried to delete the job. Nothing.
Cluster resource
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
  name: cluster-example
spec:
  instances: 3

  storage:
    size: 1Gi

  affinity:
    nodeSelector:
      node-role.kubernetes.io/postgres: ""

    # Set the toleration for the taint
    tolerations:
    - key: node-role.kubernetes.io/postgres
      operator: Exists
      effect: NoSchedule

    # Ensure that instances are scheduled and run on different nodes
    enablePodAntiAffinity: true
    topologyKey: kubernetes.io/hostname
    podAntiAffinityType: required

Relevant log output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

This happens because you needed to delete the corresponding PVC groups and the Job too.
I think we can improve our kubectl cnpg destroy <cluster-name> <instance-number> to do that too.

@gbartolini If we want to use kubectl cnpg destroy for that, I filed https://github.com/cloudnative-pg/cloudnative-pg/pull/5298

I was able to repro this exactly locally

And I confirm that @leonardoce 's fix works well (of course) :)

Well ... it makes sense now. My fault, I should have deleted the PVC too. However, I think we need to document this, as the behavior is fine, given that we don't delete PVCs at the moment.
Ultimately in real world we just need to add nodes.

I scaled back to 3 and deleted the job only, didn't have to delete any PVC.
I agree, even if we update the plugin, you'd have to know to use the plugin to delete the instance.

Interesting. Until I deleted the dangling PVC-4, the cluster was in Creating a new replica

So essentially, there are two possible ways to exit this impasse:

You add another node
You rollback, specifically running:

kubectl scale cluster --replicas 3 cluster-example
kubectl delete job cluster-example-4-join
kubectl delete pvc cluster-example-4

Ideally, IMHO, once we scale down to 3, the operator should automate the deletion of the job and the PVC. Thoughts?

I have recapped everything here: https://www.gabrielebartolini.it/articles/2024/08/cloudnativepg-recipe-11-isolating-postgresql-workloads-in-kubernetes-with-kind/


Neo4j 4.0 support

I know there is no documentation, but maybe you can look in to the official Neo4j drivers?

@stefanak-michal would you mind dropping me an email to michael at neo4j.com?

I know there is no documentation, but maybe you can look in to the official Neo4j drivers?

I was thinking about this option. To dig it out from others. Frankly I don't have that required amount of time for that right now. :-/

Did you have contact @jexp ? When i have time i will check if i can help with support for 4.0. Now i use the package of Graphaware.

@tomswinkels @jexp I've sended a contact to email in jexp github profile at 3.3.2020.

Did you have response from @jexp ?

@tomswinkels I got no response.

I also need this

It's hard to fix a driver without docs. Any progress on this?

@stefanak-michal today there is a Neo4j Driver Contributor online meeting. Did you join that? Send a mail to michael at neo4j.com @jexp


Fix Dimensional Threading Link

Noticed this error while looking at this list. I am guessing it wasn't intentional. Here is a quick fix for you all. =)

ty


My first set of changes to add support for MPS3 AN547 TSV targ…

…et the command to build is
west build -p always -b mps3_an547_tsv samples/hello_world
when this target is made the image will be generated as zephyr.bin as well as we have turned on generation of zephyr.lst file to ensure we have debug symbols and disassemble code available
The files changes are
Kconfig.zephyr
boards/arm/mps3/board.yml
boards/arm/mps3/mps3_an547_tsv.dts
boards/arm/mps3/mps3_an547_tsv.yaml
boards/arm/mps3/mps3_an547_tsv_defconfig
boards/deprecated.cmake

Hello, what does TSV stand for?

Converting to Draft as:

the author didn’t respond to previous reviews
the author seems to continue pushing new changes
the PR doesn’t pass CI


Add support for right to left languages

We need to add support for languages that are read right to left.
There are a number of solutions that we can investigate for this:
https://www.npmjs.com/package/flipcss
https://github.com/peduarte/rtl-with-sass
https://github.com/MohammadYounes/rtlcss
One thing that we need to bear in mind is that most of the content on the site is in English (i.e. the actual package information).  This means that any generated page would be a combination of RTL and LTR languages.
Advice/feedback from the RTL-reading Python community would be appreciated.  What is the best way of combining LTR and RTL content?

@nlhkabu, the recommended way is to set the direction property on your CSS classes (and have a specific class, like text-rtl that would change the direction). You can also set the dir attribute on any element:

Left-to-right paragraph

Right-to-left paragraph

It would then produce:
Left-to-right paragraph
Right-to-left paragraph
@Bashar, as a user, can you help us on this issue? Do you have any advice on web pages that include LTR and RTL contents? Is there something that we can do to make things simple/easier to read?

@xavierdutreilh in the past we used inline edits line you mentioned but that wasn't scalable due the matter you need sometimes two set of templates.
eventually we reached to two css files that loads different content and each content has its own style="direction:rtl" directive that helps make the content load correctly.
the only challenge was mixed text and numbers in the same line of RTL text in LTR page which will flip phone numbers for example instead being +965 123 4567 it becomes 123 4567 965+ in a RTL section as numbers as you know doesn't get RTL'ed they stay LTR'ed everywhere :)

Since you require having a combination of both directions in the same page, I may suggest https://github.com/rtsao/postcss-rtlcss-combined
As for the mixed text, you can use Character references for directionality and joining control http://www.w3.org/TR/html4/struct/dirlang.html#h-8.2.5
For example:

 +965 123 4567

Will render the number as LTR even if inside RTL container.

Thank you @MohammadYounes :+1: just new about  much appreciated :)

This was supposed to be closed with #1335.


Issue with CusromerIO.identify() and token registration

SDK version: 2.0.0-beta1
Environment: not relevant
Are logs available?

Describe the bug
If my assumption is correct, registration of device token in CustomerIO happens in call to MessagingPush.shared.messaging(),
below, but only if user is identified (otherwise token is not registered).
   // Register device on receiving a device token (FCM)
   @objc(didReceiveRegistrationToken:fcmToken:)
   public func didReceiveRegistrationToken(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) {
     MessagingPush.shared.messaging(messaging, didReceiveRegistrationToken: fcmToken)
   }

If it is true, that makes a problem, because didReceiveRegistrationToken call from FIRMessaging delegate happens on the very app launch, when obviously user identification happens on a later stage.
So even if later we call CusromerIO.identify() and  even we can call something like firebase.messaging().registerDeviceForRemoteMessages(), device would be registered for notifications, but method didReceiveRegistrationToken will not be triggered again (as FCM and APN tokens were generated on app start)
So device would not be added to user account in customerio.
To Reproduce
Basically any scenario where didReceiveRegistrationToken happens on launch, and CustomerIO.identify( on later stage
Expected behavior
There should be some check on CusromerIO.identify(): if FCM token received & device is registered for remote notification, SDK should detect and add the token to CustomerIO
Screenshots
N/A
Additional context
N/A

Hi @rivaros
Thanks for reaching out.
You are correct with your assumption that in certain scenarios like yours, the device is not get registered as expected. This is happening because of lifecycle differences between react native and native modules, that means that the native methods are called before react native lifecycle starts.
I would like to let you know that our team is working on a similar issue here and we are hopeful to come up with a fix very soon.

Hi @rivaros, while we continue working on the lifecycle differences, we just pushed version 2.0.1 that gives you the flexibility to add a device token directly using the method CustomerIO.registerDeviceToken(token).  Take a look and let us know if this unblocks you in short term.  Thank you!


[BUG] Gradle check shows null result

Describe the bug
The gradle check CI check showed an output of null on a recent run here: https://github.com/opensearch-project/OpenSearch/pull/11170#issuecomment-1850701128
Output from workflow run: https://github.com/opensearch-project/OpenSearch/actions/runs/7169239577/job/19526936304?pr=11170
time pass: 2790
parse error: Invalid numeric literal at line 1, column 10
Complete the run, checking results now......
Please check jenkins url for logs: https://build.ci.opensearch.org/job/gradle-check/31127/
Result: null

The CI check was not able to extract the final result from the gradle check run.

@nknize @peterzhuamazon Do you have any experience in with this issue?

Closing in favor of https://github.com/opensearch-project/opensearch-build/issues/4276 filed earlier today


Sync simple Travis-CI configs

Common CI setting for the latest one Go version.

We might be able to cover all repos now! https://stackoverflow.com/a/54919732 it looks like having to fetch Go just for WASM might not be true (just misconfigured path)
If we can setup a build matrix to do i386 + ARM + x64 for test (but x64 only for lint) I think that should cover everything.

We might not need to split for lint+test! If we can get everything standardized long term I think we will be in a much better spot.
I will see if I can pion/webrtc to not need its customization. It is the only repo I am aware of that does extra stuff.

Sounds great!
A few repos are also excluded temporary.

turn: golang-ci version is 1.19.1 which has some extra linter which fails on some other repos
dtls: trying to test on the latest two Go version: https://github.com/pion/dtls/pull/159

Feel free to add commits to this branch.

turn: golang-ci version is 1.19.1 which has some extra linter which fails on some other repos

It might be better to just move to 1.19 and disable new linters by .golangci.yml per repository until the repository addresses them.

Fixing wasm test at https://github.com/pion/quic/pull/16

webrtc pkg requires wrtc package.
Need to setup hook in go_js_wasm_exec.

I have tried to use wasmbrowsertest and Chrome to remove test dependency to wrtc.
Test works fine, but browser can't output coverage report.
https://github.com/pion/webrtc/pull/973

Running tests for WASM on all repos looks messy as WASM is still in Minimum Viable Product stage.
e.g. IP socket is not yet supported and net_fake.go is used in Go1.13. A lot of the tests using net.Conn fail to be built, deadlock, or cause runtime error due to a bug in net_fake.go.
panic: interface conversion: net.sockaddr is *net.UDPAddr, not *net.TCPAddr

It should be ready after merging WASM fix PRs.

I've gone ahead and approved them all, since they were just a build tag.

commit from github web ui looks using CR+LF.

Merging now. Will try syncing to the repos.


Fails to Load on 64Bit Install

Mod crashes on entry due to file not found for Assembly.load(“Stardew Valley”)
64 Bit installs instead need to run Assembly.load(“StardewValley”)
This is due to different DLL names for 32bit vs 64Bit installs.
Because of this the Mod doesn’t work at all on Mac or Linux.
After cloning your repo and adjusting this locally on my machine everything worked fine.

Any plans to update this? I see you made some unreleased changes 11 days ago @2Retr0 but it looks like this particular issue is still present.

Sorry for the late response--64-bit compatibility has been added with the 1.2.0 update which I've just released! Thanks!


Gen.choose[Int] out of bounds

I'm just getting started with ScalaCheck. I use Gen.choose(1, 1000) to generate input for a function that requires non-negative value (and subtracts it until get less or equal to 0). Supplying 0 to the function led it to infinite loop. And 0 was actually generated by Gen.Choose(1, 1000). At first I was puzzled by sudden hungup, but then added debug output and discovered that 0 value was eventually passed to the function.
This issue is reproducing always. Scalacheck version 1.12.4
I tried Gen.choose(1l, 1000l) and it worked correctly, no values outside bounds was generated. So the only Int should be considered.

I believe if you have shinking enabled (which is the default), then the Shrinking process can produce values which could not have been generated by the generator itself.
Since there is no default Shrink for Long (but there is for Int), you only see this issue when generating integers.

Is it possible to restrict shrinking domain?

I believe you can call the filter or suchThat functions on your generator for this.
e.g. Gen.choose(1, 1000).suchThat(_ > 0).
The condition in the suchThat block will be ensured not only when generating values, but also when shrinking.
Alternatively you can use implications in your testcases (see the scalacheck user guide for some examples)

@scalasolist: As @WellingR mentions, the shrinking is not perfect, it can sometimes generate values that was not originally generated. Using implications is probably the best way to work around this, and it will also make clear what preconditions your method has.
One thing to notice; when the shrinking process starts, that is because ScalaCheck actually has found an error for an original, non-shrinked value. So even if you get this, admittedly confusing, situation there actually is a bug in your method under test (or in your test).


Deployment details page contains pods from another deployment

Setup

Rancher version: 2.10.1
Rancher UI Extensions:
Browser type & version:

Describe the bug

The UI is probably filtering the pods by labels. The pods list should be deployment.spec.template.spec.containers array.
To Reproduce

Create 2 deployments using the same labels/annotations:

# Source: sensors/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: sensors-controller
  labels:
    helm.sh/chart: sensors-0.1.0
    app.kubernetes.io/name: sensors
    app.kubernetes.io/instance: sensors
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: sensors
      app.kubernetes.io/instance: sensors
  template:
    metadata:
      labels:
        helm.sh/chart: sensors-0.1.0
        app.kubernetes.io/name: sensors
        app.kubernetes.io/instance: sensors
        app.kubernetes.io/version: "1.16.0"
        app.kubernetes.io/managed-by: Helm
    spec:
      serviceAccountName: sensors
      securityContext:
        {}
      containers:
        - name: sensors
          securityContext:
            {}
          image: "ghcr.io/torchiaf/sensors/controller:main"
          imagePullPolicy: Always
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
          resources:
            {}
          envFrom:
            - secretRef:
                name: sensors-rabbitmq
                optional: false
      nodeSelector:
        node-role.kubernetes.io/control-plane: "true"
---
# Source: sensors/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: sensors-raspberrypi
  labels:
    helm.sh/chart: sensors-0.1.0
    app.kubernetes.io/name: sensors
    app.kubernetes.io/instance: sensors
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: sensors
      app.kubernetes.io/instance: sensors
  template:
    metadata:
      labels:
        helm.sh/chart: sensors-0.1.0
        app.kubernetes.io/name: sensors
        app.kubernetes.io/instance: sensors
        app.kubernetes.io/version: "1.16.0"
        app.kubernetes.io/managed-by: Helm
    spec:
      serviceAccountName: sensors
      securityContext:
        {}
      containers:
        - name: sensors
          securityContext:
            privileged: true
          image: "ghcr.io/torchiaf/sensors/raspberrypi:main"
          imagePullPolicy: Always
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
          resources:
            {}
          env:
            - name: PYTHONUNBUFFERED
              value: "1"
          envFrom:
            - secretRef:
                name: sensors-rabbitmq
                optional: false
      nodeSelector:
        sensors.role: worker

Result

sensors-raspberry deployment contains a pod from sensors-controller deployment

Additional context

This one needs investigating. The deployment pod label selector may be doing a lot under the hood and be the primary way to associated pods with deployments.
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#deploymentspec-v1-apps
Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment. It must match the pod template's labels.


thread.stop problem

It seems I cannot yet implement thread.stop.
This is implementation of run in DataizingThread.java:
    public Phi dataized() {
        return this.computed;
    }

    @Override
    public void run() {
        this.computed = new Data.ToPhi(new Dataized(this.eothread.attr("slow").get()).take());
    }

And stop in its dataization will do
      final Phi parent = rho.attr("ρ").get();
      final DataizingThread thr = Threads.INSTANCE.get(parent);
      thr.interrupt();
      return new Data.ToPhi(true);

So in DataizingThread.java it must be
    @Override
    public void run() {
        try {
            this.computed = new Data.ToPhi(new Dataized(this.eothread.attr("slow").get()).take());
        } catch (InterruptedException ie){
        }
    }

But compiler does not allow do that because
Exception 'java.lang.InterruptedException' is never thrown in the corresponding try block
So Dataized.get does not throw it. But Thread.sleep that is used in EOsleep.java can do.
@yegor256 @mximp may be we have other ways to stop the thread? I see only bad variants like deprecated Thread.stop and may be JNI. Or we need to mark some nethods in eo throws InterruptedException?

@yegor256 please have a look

@levBagryansky in Java there is not way to stop a thread unless the thread politely reacts to our signal. Read this, btw: https://www.yegor256.com/2015/10/20/interrupted-exception.html
So, I think, "do our best" and send the interrupted signal. If the thread stops -- great. If not, we can't do anything.

@levBagryansky did you read this: https://www.yegor256.com/2015/10/20/interrupted-exception.html
This part:
while (/* You still need to wait */) {
    if (Thread.interrupted()) {
      throw new InterruptedException();
    }
    // Keep waiting
  }

@yegor256 We need to handle InterruptedExeption in get method of Atcompsite.java

@levBagryansky the puzzle #24 is still not solved.

@levBagryansky 2 puzzles #24, #45 are still not solved.

@levBagryansky all 2 puzzles are solved here: #24, #45.


Fix wrong dbmetas

should fix #1383

Codecov Report

Merging #1442 into master will increase coverage by <.01%.
The diff coverage is 94.11%.

@@            Coverage Diff             @@
##           master    #1442      +/-   ##
==========================================
+ Coverage   57.01%   57.01%   +<.01%
==========================================
  Files          48       48
  Lines        8185     8192       +7
==========================================
+ Hits         4667     4671       +4
- Misses       2907     2908       +1
- Partials      611      613       +2

Impacted Files
Coverage Δ

dialect_mssql.go
75.49% <100%> (+0.09%)
:arrow_up:

dialect_sqlite3.go
79.38% <93.33%> (-0.35%)
:arrow_down:

xorm.go
68.18% <0%> (-1.52%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a5702e5...b416afb. Read the comment docs.


Generate a new operationId if there are duplicates [openapi handler]

Our issue
I'm working on a project which uses graphql-mesh with the Netflix conductor API (https://netflix.github.io/conductor/apispec/). Many of our operations have the same operationId which causes some endpoints to be ignored.
For example, the operations with paths:
/tasks/search
/workflow/search
have the operationId 'search'.
Possible solution
For the moment, an error is thrown when an operationId has been used before. A solution that would help us would be to generate a new operationId for the duplicate ones (using the generateOperationId function already defined in the package).
My concerns regarding this solution
I've implemented this solution locally and it's working fine for us, but I'm wondering if it should be applied in all cases, or should be a functionality that the user opts for through the config.

Hi @abrezuica and thank you for the report!
Sorry but I'm not adding a lot here but just labeling it according to our new Contribution Guide and issue flow.
It seems already got into stage 0.
Now in order to advance to stage 1 we'll need a simple reproduction, maybe in code-sandbox?
Later to progress to stage 2, a failing test would be needed, would be great if someone could help progress the issues through the stages.
Thank you and sorry that this comment is not a complete solution.

Hey,
I've seen that you have labeled the issue as a bug, however I was thinking it's more like an incomplete feature. In the current version, you are handling the issue (duplicate operationIds), so everything behaves as expected.
The current handling assumes that the duplicates come from different OASs. In our case, there is only 1 OAS with multiple duplicate operationIds that point to different paths and we would need them not to be ignored by the schema.
Do you think it would be feasible to have an option in the configuration regarding handling operationIds, in order to add more flexibility to the current behavior?

This issue should be fixed in the latest version of @graphql-mesh/openapi


OOBM Sends the Reset Command to DRAC if Hypervisor is in PowerOff State

ISSUE TYPE

Bug Report

COMPONENT NAME

CLOUDSTACK VERSION

CONFIGURATION

OS / ENVIRONMENT

SUMMARY

When a hypervisor with RHEL8/9 running on a Dell PowerEdge Server gets into the power-off state, the ACS management system cannot fence it to recover the VMs on another hypervisor as it keeps sending DRAC a system reset request. Still, Drac has Poweron as the only option while its server is in a power-off state.
I waited for 1-2 hours to conclude.
As soon as I power on the server manually, VMs are restored on different hypervisors immediately.
I think the server's power status should be checked first, and a power-on/reset command should be sent accordingly.
STEPS TO REPRODUCE

Power off the hypervisor.

EXPECTED RESULTS

VMs should be recovered on active hypervisor.

ACTUAL RESULTS

VMs were not able to recover

@rahultolearn59 , I think it pays to send a mail to<EMAIL_ADDRESS>about this. I have no experience with DRAC but I am sure there are plenty of users that do. Not sure if what you say is a matter of configuration and if others have a work around for it.

Thanks, @DaanHoogland! Just for FYI; this is the exception message I see in the logs.
2024-04-16 22:43:30,146 WARN  [o.a.c.h.t.BaseHATask] (pool-4-thread-1:null) (logid:3e5b7727) Exception occurred while running RecoveryTask on a resource: org.apache.cloudstack.ha.provider.HARecoveryException:  OOBM service is not configured or enabled for this host
org.apache.cloudstack.ha.provider.HARecoveryException:  OOBM service is not configured or enabled for this host
at org.apache.cloudstack.kvm.ha.KVMHAProvider.recover(KVMHAProvider.java:83)
at org.apache.cloudstack.kvm.ha.KVMHAProvider.recover(KVMHAProvider.java:42)
at org.apache.cloudstack.ha.task.RecoveryTask.performAction(RecoveryTask.java:43)
at org.apache.cloudstack.ha.task.BaseHATask$1.call(BaseHATask.java:86)
at org.apache.cloudstack.ha.task.BaseHATask$1.call(BaseHATask.java:83)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: org.apache.cloudstack.utils.redfish.RedfishException: Failed to get System power state for host 'GET' with request 'https:///redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset: '. The expected HTTP status code is '2XX' but it got '409'.

Were the VMs using a HA-enabled service offering @rahultolearn59 ?

Yes, @rohityadavcloud; as soon as we manually power on the host, VMs are moved to another KVM host.

Hi team,
same issue on my test case.

In both case host remain in "fancing" ad libitum until i restart the server or idrac will be reachable.
All vm on this host remain on this host in all tests, until i degraded node manually from UI.
OOBM command in a powerd off host, return an exit code 1 (like reset for recovery state).
I read some of your code and i think that error can be on these two pices:
https://github.com/apache/cloudstack/blob/b215abc30a22d6b11f016b8f402981445140f577/server/src/main/java/org/apache/cloudstack/ha/HAManagerImpl.java#L523-L529
and
https://github.com/apache/cloudstack/blob/b215abc30a22d6b11f016b8f402981445140f577/server/src/main/java/org/apache/cloudstack/ha/task/FenceTask.java#L48-L53
because function return always true on fancing state and due to the fact that OOBM go in exception, result will be false and we not going out to the "loop" of fancing.
One workaround could be introduce how may attempts we can wait until host change state to inegilible or disabled, like for recovery, or manage reset and powerOff OOBM error to avoid exception


Remove defer_free and defer_drop

This is a follow-up to the discussion we had in #16.

It's still a bit annoying that we have to write:
scope.defer(move || drop(p.into_owned()));

instead of just:
scope.defer(move || p.into_owned());

But this is easy to fix - we could just redefine defer so that it accepts any FnOnce() -> R and ignores whatever the closure returns:
pub unsafe fn defer<R, F: FnOnce() -> R + Send>(&self, f: F) {
    self.defer_garbage(Garbage::new(|| drop(f())))
}

Thoughts on that?

Weren't we keeping defer_drop?

@arthurprs
Yeah, originally we did. But I thought we could perhaps skip a step and get rid of defer_drop as well.
Some discussion about that was also here.
At this point scope.defer_drop(p) is just a shorter version of scope.defer(move || drop(p.destroy())).
And even less shorter if we we permit scope.defer(move || p.destroy()).

I think defer_drop looks shorter and cleaner at the cost of a public function. It's a very small price to pay considering it's the most useful variant. Also the name is nicely self documenting.
scope.defer_drop(n)
scope.defer(move || drop(n.into_owned()))
scope.defer(move || n.into_owned()))

I prefer defer()-only interface.  defer-dropping an object is 15 bytes longer than before, but I think that's fine: it doesn't add much cognitive load for users.
I also like the proposal to generalize defer() so that scope.defer(move || n.into_owned())) works.  I also would like to ask if we can remove move here.

@jeehoonkang
Yeah, scope.defer(|| n.into_owned())) will work as well because into_owned takes Ptr as self (consumes it rather than borrows), so the closure will be a moving closure.
But note that the compiler can also easily make the closure a borrowing closure because Ptr is Copy. This will happen if you also attempt to access a non-Copy variable from the closure.
For that reason, seeing scope.defer(|| ...) always makes me worried. Someone may in the future add another line of code to the closure, but forget to also write move, and run into nasty UB problems.

@arthurprs
Regarding the interface, I also prefer having only defer.
These two are now equivalent:
scope.defer_drop(n);
scope.defer(move || n.into_owned());

While this indeed is the most common application of defer, it's at the same not a very common thing to type (it appears only 3 times in the whole crate), so the benefits are kinda low.
If you still feel strongly about this issue, upvote this comment and I'll leave defer_drop. No point in too much bikeshedding - we can always revisit this later after gaining some experience. :)

Don't mind me, it's fine.
In that proposal defer() will wrap the input closure into another closure in order to drop it's result type? That's zero overhead right?

Yeah, it wraps into another closure. It's zero overhead because everything gets inlined (I did a few benchmarks to make sure). LLVM is very good at this kind of optimizations.

Awesome :)

@jeehoonkang Can we merge this?

@jeehoonkang
Node destruction in queues
If you think about it, a Node<T> in a queue only temporarily holds a T.
When you push a node into the queue, it holds a value of type T. Then it gets popped and the value is moved out from the node and returned to the user. Finally, this empty node gets added to the collector, where it's converted to an owned value and destructed (drop(p.into_owned())).
During destruction data must not be touched because it's empty at that point. The whole point of ManuallyDrop is to prevent the destruction of data (because in the end it's just an empty slot).
So data: T is not the right type here. A better choice would be Mutex<Option<T>>, but that is slower and consumes more memory. And ManuallyDrop<T> is a compromise - it cannot model optional values, but it's zero cost and at least prevents the unwanted destructor from running.
Before this PR we used defer_free, which would convert the node into a Vec<Node<T>> of length 0 and capacity 1, then drop it to deallocate memory, preventing the destructor from running.
Node destruction in lists
Lists are different from queues. A Node<T> in a list owns the T for the entirerety of its life. At no point does data: T become an empty slot. So this is the right type here.
Moreover, there's an important difference in destruction. When we do scope.defer(move || p.into_owned()), the node will be destructed later, possibly at a very distant point in the future. But, since data is of type T, destruction of the node will also trigger destruction of its data. And since T::drop() might access T's internals, we must make sure that T: 'static because T::drop() must not access its possibly non-'static references.
This is why destruction of node in a list needs T: 'static and in a queue doesn't.


The Master Worker has encountered an error. Illegal Starting Point!

when i click start it says  "The Master Worker has encountered an error. Illegal Starting Poimt!

this means your starting at the end of a combo file, set the counter back to 1 at the top left side of the interface


gradle migration

migrated from ant to gradle.
moved all source from src/ to src/main/java and src/test/java
added 4 test classes which demonstrate how to run this from command line via gradle
updated README with compile and test instructions.
added logback support

May be checks failed, because the new structure is based on gradle


Adding SequenceSummary transforms for transformers

Fixes:

#824

Goals :soccer:
In T4Rec we have a summary_type that can be passed to transformer-blocks. This PR adds the same transforms but integrates it into the post. This allows users to do things like: BertBlock(..., post="sequence_mean").
Testing Details :mag:
Added a test to ensure correct behaviour.

@marcromeyn can we add a test in here to test that GPT2Block and XLNetBlock works with different transformation like post = sequence_mean that's the critical one.

I don't think there's a need for that test. We know that the last_hidden_state is a 3-D tensor (HF has tests to ensure that) & we have a test to make sure all sequence-aggregations work from a 3D tensor.

rerun tests


tslint : The method "" that you're trying to access does not exist in the class declaration

angular-cli: 1.0.0-beta.26
node: 7.4.0
os: linux x64 (Ubuntu 16.04.1 LTS)
@angular/common: 2.4.4
@angular/compiler: 2.4.4
@angular/core: 2.4.4
@angular/forms: 2.4.4
@angular/http: 2.4.4
@angular/platform-browser: 2.4.4
@angular/platform-browser-dynamic: 2.4.4
@angular/router: 3.4.4
@angular/upgrade: 2.4.4
I inherit component like
export class SubComponent extends BaseComponent { ... }
and use method or property of BaseComponent in sub.component.html (sub.component.ts is empty).
when run ng lint show error like

The method/property **** that you're trying to access does not exist in the class declaration

for SubComponent.
But method or property define in BaseComponent.
So program compile and it's OK.

This seems like a bug in the linter itself. Can you open this on https://github.com/mgechev/codelyzer instead?


🤯 Cognitarium: Describe query implementation

Purpose
Implement the Describe query message handling.

:tada: This issue has been resolved in version 2.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Upgrade pymysensors to 0.8

Description:
Upgrades mysensors requirement pymysensors to version 0.8.
https://github.com/theolind/pymysensors/pull/75
Related issue (if applicable): fixes #
Fixes #3544
Checklist:
If the code communicates with devices, web services, or third-party tools:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] New dependencies have been added to the REQUIREMENTS variable (example).
[x] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.

I'm getting a non-related test failure for test_encrypted_payload_libsodium, so local tox hasn't really passed.

I'm curious to know more about the libsodium test failure, since it was me who added the test case. The test is supposed to be skipped If libsodium is missing so I assume it is installed?

I can post a log later today. First I thought I might have a missing dependency that caused the failure. But I tested importing libnacl in a python prompt, which worked, and I could to the following same imports as in the code.
The key error is actually from the device_tracker component when it is setup, and the config is accessed (conf[0]).

The problem might be that the test tries to setup the component a second time with a different config. The component has already been setup in the test class setup method, and a component will never be loaded more than once.
I can try to move the test to the other test class that doesn't include setting up the component in the class setup method, where all the tests that require specific configs are.


Change items returned by the ledges enpoint to descending order

Current:
The order of the items received from the api request https://booksbank.co.uk/api/ledge are in ascending order
Expected
The order of the item is received on descending order

I'd like to contribute to this.

 :)
On Thu, 24 Jun 2021, 3:24 am kalig0, @.***> wrote:

I'd like to contribute to this.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Zelig880/BooksBank/issues/91#issuecomment-867283304,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACE7HAUGDEQS5L4C4SGGL3LTUKJPRANCNFSM47GR6U4Q
.

any news @kalig0 ?


[runwhen-local-feedback] Simplifying auth configuration for templates in cloud providers

Observation
As support for cloud auth providers such as managed identity, workload identity, service principals, service accounts, etc is built into our platforms fetchsecrets keywords, we need a way for authors to simplify template creation. Currently based on jinja, the template would have some conditionals, but for an author creating an azure codebundle, we should try to have some form of {azure_auth | gcp_auth | aws_auth } variable that performs all of the necessary substitution based on the workspaceInfo.
Possible Suggestions
Any other details or context

Additional templates were added - currently supporting azure.
For AZ CLI type codebundles, we can use:
  secretsProvided:
  {% if wb_version %}
    {% include "azure-auth.yaml" ignore missing %}

For Kubernetes, this supports azure as well:
  secretsProvided:
    {% include "kubernetes-auth.yaml" ignore missing %}


Added Gallery_Api Environment variable to AppVeyor - Fixes #385

Pull Request (PR) description
This PR fixes the example publish to PS Gallery by adding the missing environment variable to AppVeyor
This Pull Request (PR) fixes the following issues

Fixes #385

Task list

[x] Added an entry under the Unreleased section of the change log in the CHANGELOG.md.
Entry should say what was changed, and how that affects users (if applicable).
[ ] Resource documentation added/updated in README.md in resource folder.
[ ] Resource parameter descriptions added/updated in schema.mof
and comment-based help.
[ ] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[ ] Examples appropriately added/updated.
[ ] Unit tests added/updated. See DSC Resource Testing Guidelines.
[ ] Integration tests added/updated (where possible). See DSC Resource Testing Guidelines.
[ ] New/changed code adheres to DSC Resource Style Guidelines and Best Practices.

@johlju - one more for you! Thanks Johann!

This change is

Codecov Report

Merging #386 into dev will not change coverage.
The diff coverage is n/a.

@@         Coverage Diff         @@
##            dev   #386   +/-   ##
===================================
  Coverage    95%    95%
===================================
  Files        27     27
  Lines      2144   2144
===================================
  Hits       2053   2053
  Misses       91     91

LGTM


rna-transcription -- weird non-biological thing slipped into this problem

I can't remember what happened but we've ended up with some tracks that do the "transcription" both ways, DNA to RNA and also RNA to DNA. Since, biologically speaking, it only goes from DNA to RNA, we should probably figure out which language tracks have the backwards thing implemented and make a note to fix it.

I assume those implementations do translate it both ways.
rna-transcription/Example.cs, rna-transcription/Example.fs, rna-transcription/example.js, rna-transcription/example.rb, rna-transcription/RnaTranscriptionExample.swift

thanks

So this should just be a matter of simplifying the exercises by taking out backwards transcription? I could start with ruby. I could also open issues in each language track where this occurs.

Yepp, that should be enough. Opening an issue in each track would be great, thanks!

I can grab this issue for the ruby and js implementations and update the test and example files accordingly. I could take a crack at the swift, fsharp and csharp ones but... no promises that they'll be idiomatic :laughing:

Here's the list of languages that have implemented the exercise: http://x.exercism.io/problems/rna-transcription

I checked xecmascript track and it only implements DNA to RNA (rna-transcription exercise).

Sweet! :+1:

should be removed from https://github.com/exercism/x-common/blob/master/rna-transcription.json as well

playing devil's advocate here:
Even though there is no biological process for transcribing RNA to DNA, I would have still considered it acceptable to have a function that asks "So, given this RNA sequence, what DNA sequence would have produced it?". That could have been the intent of the RNA->DNA question.
Nevertheless, I am not invested in either of the two possible outcomes (keep RNA->DNA or remove RNA->DNA), only that we are consistent.
Okay, both tracks that I have observed only have DNA->RNA, so if we decided that we actually wanted RNA->DNA it would actually have caused extra work to add the missing direction, so I actually slightly favor "don't transcript both ways" (What we have already decided), so that's good!

I have to admit to @petertseng, as long as “reverse transcription” is still in the json, I can't see any reasons to remove it from the tracks.
If you want to deprecate something, you should start to deprecate it at the central authority ;)

OK, so the question is: do we want to have the "which DNA sequence would have produced it", or should we remove it from the JSON? I don't have a strong opinion either way. I don't think that the reverse transcription adds much value in terms of design, but I haven't looked at actual solutions to this for a very long time, so I could just be missing context.

At least in the Ruby track I have seen many submissions which do have code duplication by implementing both methods by hand, while one can write one hash, one method which swaps the letters and the methods needed which simply wrap that helper. So from a design point there is value in having both directions.
But I'd prefer to have only one direction, since only one is valid from a biological point of view as far as I've understood the discussion so far.

Yeah. Let's leave it to the conversation on the site to talk about hard-coded values vs other approaches. I'll fix the JSON.

I always thought this made sense from the programming side even if it's nonsense in terms of biology: it makes sure the solution doesn't hard code values but abstracts by e.g. defining source -> target "maps" that can be passed to the algo used.
I would value this more than consistency with reality. Maybe we could rephrase and state that sometimes we find isolated RNA and want to know what DNA strand it resulted from...

@chezwicker You're right that it helps avoid hard-coding. I'm not sure if it's enough to make this part of the discussion. Or perhaps we can add it to the README as an extension or "something to think about".

Sure, that works as well - I guess it goes back to the old discussion about whether comments / documentation are a good thing. My view is that they are as long as what they are saying can't be expressed in code, but aren't otherwise. I would have mapped that to saying that if a requirement can be defined in a test, that's better than in a README ;-)

It's true. I wish I had gotten y'alls point of view before I submitted all those issues!

BTW I may be remembering this wrong, I was a Bio mayor (15 years ago things change) but I think transcription does go both ways. DNA produces RNA in humans, but I think some other organisms inject RNA into DNA by reverse transcribing it, Viruses and possibly Bacteria. I believe that is how gene therapy works: using a virus vector to inject DNA and I think it goes via RNA. But I'll double check.
In any case the exercise from a programming stand point works as a encode/decode and I with chez wicker it is valid even if biologically not right.

Yeah, there are viruses (reverse transcriptase for instance), but it's a bit of an edge case. I would rather stick with the basics and if we introduce the inverse, use the what DNA sequence would produce this argument. (I was a genetics major, but it's also been over a decade since I spent any time thinking about this).

Ha ha I just go confirmation that retro-viruses use it. I forgot you were a genetics major.


Add visibility flag to toMatchElement config

🚀 Feature Proposal
A visibility flag on the toMatchElement config to signal that the matcher should continue to wait until both the selector is on the page and it doesn't have visibility: hidden or display: none set.
Motivation
The puppeteer waitForSelector api has a visibility flag, that, in addition to waiting for the presence of a selector on screen, also ensures that it has neither visibility: hidden or display: none property set. Could we get this behavior on the toMatchElement config? It would be very convenient when, for example, I'm waiting to click on something.
Example
await expect(page).toMatchSelector('card', { visibility: true});

Pitch
Why does this feature belong in the Jest Puppeteer ecosystem? To maintain parody with selector searching in the puppeteer ecosystem.

I think it is a great improvement, I have to think how to handle it correctly.

@xiaoyuhen what do you think?

@neoziro
its very useful feature, I will add this feature on tomorrow


Unable to find entry point named FPDF_AddRef in dll pdfium.dll

Hello, I am trying to make the wpf sample work but I am getting an exception.
I have downloaded the sources and compiled it successfully with visual studio.
Then with nuget I added the pdfium package, which installed the two pdfium.dll files. I made sure the x64 and x86 folders are present in the same folder as pdfiumViewer.dll: https://i.imgur.com/ue0Qydu.png
When I load a pdf in the wpf demo application, I get this error: "unable to find an entry point named FPDF_AddRef in dll pdfium.dll" : https://i.imgur.com/GacxqIu.png
Is this a problem in the pdfium version installed? I have tried 3.11.2 and 3.20.2704. Both give the same problem.
What version should I install?
Thanks for any guidance

Thanks a lot for the help. I did not realize there was another version of pdfium.dll.
I found the nuget packages PdfiumViewer.native.x86.something and PdfiumViewer.native.x86_64.something. They install the correct versions of pdfium.dll, in two subdirectories called respectively x86 and x64.
So my test application works.
Unfortunately, the "x64" directory name is not allowed by the wix installer. Is it possible to tell pdfiumviewer to look for pdfium.dll in another directory, called, for example, "pdfiumx64"? Or tell the x64 nuget package to install in another directory?
Thanks again for your help

I think PdfIumViewer also works if the relevant (in terms of bitness) dll is in the same directory as the PdfiumViewer.dll -- you just need to configure the wix installer to identify if the target OS is 32 or 64 bit and install the correct dll for the OS.
Otherwise have the 64bit dll in a folder of any other name, and have wix rename it after deployment.

thank you very much. (In the end I suppressed the wix error.)


Update test cases for EditOrderCommand

close #165
also fixed a bug i found while testing
close #102
I also created a method called getOrderByIndex in OrderUtil because the raw form looks ugly

Only to merge after ky pr which edit EditOrderTest


TaskCanceledException being thrown when expecting DocumentClientException

Hi,
We are experiencing an issue where we are attempting to detect DocumentClientException 429 "Request rate is large" errors using the Microsoft.Azure.DocumentDB client (currently running latest stable v1.17.0) but we are receiving TaskCanceledExceptions instead.
Our simple test application creates a number of large document insert requests in order to hit the 429 error.
When running the application in the debugger against an Azure hosted Document DB database we see the trace messages:
DocDBTrace` Error: 0 : DocumentClientException with status code: 429, message: Message: {"Errors":["Request rate is large"]}
ActivityId: c3b39cb3-3075-4e92-9fc5-88c805eee8bd, Request URI: ***, and response headers: {
"Transfer-Encoding": "chunked",
"x-ms-retry-after-ms": "500",
"x-ms-schemaversion": "1.3",
"x-ms-quorum-acked-lsn": "513",
"x-ms-substatus": "3200",
"x-ms-current-write-quorum": "3",
"x-ms-current-replica-set-size": "4",
"x-ms-xp-role": "1",
"x-ms-global-Committed-lsn": "513",
"x-ms-number-of-read-regions": "0",
"x-ms-request-charge": "0.38",
"x-ms-serviceversion": "version=<IP_ADDRESS>",
"x-ms-activity-id": "c3b39cb3-3075-4e92-9fc5-88c805eee8bd",
"x-ms-session-token": "0:513",
"Strict-Transport-Security": "max-age=31536000",
"x-ms-gatewayversion": "version=<IP_ADDRESS>",
"Date": "Mon, 11 Sep 2017 05:37:32 GMT",
"Server": "Microsoft-HTTPAPI/2.0",
}

The retry policy appears to work as we see messages like:
DocDBTrace Warning: 0 : Operation will be retried after 500 milliseconds. Current attempt 1, Cumulative delay 00:00:00.5000000 Exception: Microsoft.Azure.Documents.DocumentClientException: Message: {"Errors":["Request rate is large"]}

After some time, once the retries are exhausted we see:
DocDBTrace Error: 0 : Operation will NOT be retried. Current attempt 0, Exception: System.Threading.Tasks.TaskCanceledException: A task was canceled.

If we run the same test application against the Azure Cosmos DB Emulator we get the expected DocumentClientException in our application and the request headers look like:
Exception thrown: 'Microsoft.Azure.Documents.DocumentClientException' in ConsoleApplication1.exe
DocDBTrace Error: 0 : DocumentClientException with status code: 429, message: Message: {"Errors":["Request rate is large"]}
ActivityId: d355c6cf-165e-49c0-98ed-cc4ea94ea6e4, Request URI: ***, and response headers: {
"Transfer-Encoding": "chunked",
"x-ms-retry-after-ms": "2426",
"x-ms-schemaversion": "1.3",
"x-ms-quorum-acked-lsn": "88",
"x-ms-substatus": "3072",
"x-ms-current-write-quorum": "1",
"x-ms-current-replica-set-size": "1",
"x-ms-xp-role": "0",
"x-ms-request-charge": "0.38",
"x-ms-serviceversion": "version=<IP_ADDRESS>",
"x-ms-activity-id": "d355c6cf-165e-49c0-98ed-cc4ea94ea6e4",
"x-ms-session-token": "0:88",
"x-ms-gatewayversion": "version=<IP_ADDRESS>",
"Date": "Mon, 11 Sep 2017 05:33:23 GMT",
"Server": "Microsoft-HTTPAPI/2.0",
}

I notice a difference in x-ms-serviceversion and x-ms-substatus.
Has some behavior changed between <IP_ADDRESS> and <IP_ADDRESS> that could cause this to happen?

@digitalfuller  are you using the benchmark sample https://github.com/Azure/azure-documentdb-dotnet/tree/master/samples/documentdb-benchmark?

@kirankumarkolli No, but I'll give it a go using that and see if I get the same results.

I had some issues running the benchmark sample against my collection.
The connection policy did not work from our corporate network so I'm using ConnectionMode.Gateway and Protocol.Https.
Also, the code assumes that the provisioned RUs are at least > 1000 in order to determine the number of Tasks to run (comment in the code is // set TaskCount = 10 for each 10k RUs. I modified the code to account for smaller collections (we are using 400RUs) and chose 10 as the minimum number of tasks.
The sample also assumes that the collection has a partition key, which ours does not, so I just defaulted to a constant string to allow the code to run.
After getting it up and running I was not able to get the code to hit the 400RU limit of the collection.
Any ideas how to ramp it up so that the calls will be throttled?

I can reproduce the error described with this application:
https://github.com/digitalfuller/Azure-DocumentDb-ThrottleTest


remove key from result filename

This results in shorter filenames (too long file can cause errors).

Thanks for your contribution!


feat: make cli more portable and implement ability to add custom services

The goal of this PR is to explore easy ways to for us to add custom functionality to a celestia-node. It spawned from the dalc's need to access the header.Store. Rather than exporting a header.Store field in node.Node, this PR makes it possible for the dalc to act as a plugin, creating a celestia binary that incorporates the additional services and initialization processes.
it features a new node.Plugin interface, which is passed to functions that create the rootCmd cli command, and is used to add additional services to celestia-node.
the dalc uses this new feature to run optimint specific services in #55

I'll leave this open for further review, but I think its best to wait until the entire team can look at these changes, as they weren't discussed anywhere previously.

I'm inclined to insist for an ADR that a) motivates this change and b) explains the decision, or, at least some light weight docs that empower devs to use this feature. WDYT?

Yep, that makes perfect sense. Ideally that should have been the process all along, but I didn't really realize that this was needed until actually working on it. I should be able write the ADR pretty quick since the code is already mostly completed.

converted to a draft until a decision for #414 is made

IMO: we should merge this unless the node team thinks this introduces too much technical debt. I don't see how this would be the case though. With the removal of fxutils a some of the existing code base has to be overhauled anyways. I don't think this PR would change this massively.

Wasn't able to review it on the weekends, as I was focusing on release. Once is done, I will start working on Public API for celestia-node and this work will be highly relevant, so I'll review it for sure.

@evan-forbes you were a visionary ❤

Closing this in favour of new one.
https://github.com/celestiaorg/celestia-node/issues/1369
Thank you for the visionary PR :giga-chad: ❤


Despite many sessions for a single subject, the reports did not get separated per session

What happened?
I tried running fMRIPrep v23.2.2 on our dataset, which contains 59 sessions for a single subject. Yet, all sessions got aggregated into a single report.
The tests implemented in fmriprep/reports/tests/test_reports.py are still passing, indicating the report separation still works under the circumstances of the test.
I also tried to see whether the BIDSLayout correctly detects that there are many sessions in my dataset, which seems to be the case as indicated by the output below.
>>> from bids.layout import BIDSLayout
>>> l = BIDSLayout("/cprovins/hcph/")
>>> l.get_sessions()
['001', '003', '004', '005', '006', '007', '008', '009', '010', '011', '013', '015', '016', '017', '018', '019', '020', '021', '022', '023', '024', '025', '026', '028', '037', '038', '039', '040', '041', '042', '043', '044', '045', '046', '047', '048', 'excl027', 'excl029', 'pilot001', 'pilot002', 'pilot003', 'pilot004', 'pilot005', 'pilot006', 'pilot007', 'pilot008', 'pilot009', 'pilot010', 'pilot011', 'pilot012', 'pilot013', 'pilot014', 'pilot015', 'pilot016', 'pilot017', 'pilot018', 'pilot019', 'pilot020', 'pilot021']
>>> ses_001 = l.get_sessions(subject='001')
>>> ses_001
['001', '003', '004', '005', '006', '007', '008', '009', '010', '011', '013', '015', '016', '017', '018', '019', '020', '021', '022', '023', '024', '025', '026', '028', '037', '038', '039', '040', '041', '042', '043', '044', '045', '046', '047', '048', 'excl027', 'excl029', 'pilot001', 'pilot002', 'pilot003', 'pilot004', 'pilot005', 'pilot006', 'pilot007', 'pilot008', 'pilot009', 'pilot010', 'pilot011', 'pilot012', 'pilot013', 'pilot014', 'pilot015', 'pilot016', 'pilot017', 'pilot018', 'pilot019', 'pilot020', 'pilot021']
>>> len(ses_001)

Not sure why the report separation is not working on this dataset specifically.
Linked to #3191
What command did you use?
#!/bin/bash

DATADIR="/cprovins/hcph/"
SUB="sub-001"
pushd $DATADIR/$SUB > /dev/null
ALL_SES=(`ls -d ses-*`)
popd > /dev/null

#Remove session with no fMRI
SES=()
for S in "${ALL_SES[@]}"; do
        if [ -d "$DATADIR/$SUB/$S/func" ]; then
                SES+=("$S")
        else
            	echo "Session '$S' has no functional scan."
        fi
done

echo "Submitting `basename $DATADIR` with ${#SES[@]} sessions"
# remove one since we are starting at 0
JOBS=`expr ${#SES[@]} - 1`
sbatch --array=0-$JOBS ss-fmriprep-new.sh $DATADIR ${SES[@]}

where ss-fmriprep-new.sh is:

#!/bin/bash

#SBATCH --partition=russpold
#SBATCH --mem=75GB
#SBATCH --cpus-per-task=16
#SBATCH --time=25:00:00
#SBATCH --job-name=fmriprep
#SBATCH --error="slurm-%A_%a.err"

# Submit a Single Session through fMRIPrep

ARGS=($@)
DATADIR=$1
CODEDIR="/cprovins/code"
DERIVATIVEDIR="/cprovins/hcph-derivatives"
STUDY=`basename $DATADIR`

if [[ -n $SLURM_ARRAY_TASK_ID ]]; then
  SES=${ARGS[`expr ${SLURM_ARRAY_TASK_ID} + 1`]}
else
  SES=$2
fi

echo "Processing: $SES"

IMG="/cprovins/singularity_images/fmriprep-23.2.2.simg"

WORKDIR="${L_SCRATCH}/fmriprep-23.2.2-wp/${STUDY}/${SES}"
mkdir -p ${WORKDIR}
OUTDIR="${DERIVATIVEDIR}"
mkdir -p $OUTDIR

PATCHES=""

BINDINGS="-B $DATADIR:/data:ro \
-B ${WORKDIR}:/work \
-B ${OUTDIR}/fmriprep-23.2.2-wp:/out \
-B $CODEDIR/license.txt:/opt/freesurfer/license.txt \
-B $CODEDIR/filter_file_$SES.json:/filter_file_$SES.json \
-B ${HOME}/.cache/templateflow/tpl-MNI152NLin6Asym/:${HOME}/.cache/templateflow/tpl-MNI152NLin6Asym/
$PATCHES"

FMRIPREP_CMD="/data /out participant --participant-label 001 \
-w /work --bids-filter-file /filter_file_$SES.json --skip_bids_validation \
--fs-subjects-dir /out/sourcedata/freesurfer --ignore fieldmaps \
--derivatives /out --output-spaces T1w fsnative func MNI152NLin2009cAsym  \
--nprocs 4 --mem 63G --omp-nthreads 2 -vv"

#Create json file to filter one session only
echo '{"bold": {"datatype": "func", "session": "'${SES#"ses-"}'", "suffix": "bold"}}' > $CODEDIR/filter_file_${SES}.json

SING_CMD="singularity run -e $BINDINGS $IMG $FMRIPREP_CMD"
echo $SING_CMD
$SING_CMD
echo "Completed with return code: $?"

What version of fMRIPrep are you running?
23.2.2
How are you running fMRIPrep?
Singularity
Is your data BIDS valid?
Yes
Are you reusing any previously computed results?
Anatomical derivatives
Please copy and paste any relevant log output.
No response
Additional information / screenshots
No response

Was this implemented in 23.2? Might need to try unstable.

The nipreps/fmriprep:unstable image. That's a preview of 24.0.0.

Thank you @effigies running nipreps/fmriprep:unstable indeed separates the reports per sessions.


Fix penguins and precipitation examples

Two small fixes to ensure the examples run.

Codecov Report

Merging #416 (98fe92a) into main (eaef7bf) will decrease coverage by 1.03%.
The diff coverage is 82.30%.

@@            Coverage Diff             @@
##             main     #416      +/-   ##
==========================================
- Coverage   68.51%   67.47%   -1.04%
==========================================
  Files          73       73
  Lines        8251     8200      -51
==========================================
- Hits         5653     5533     -120
- Misses       2598     2667      +69

Impacted Files
Coverage Δ

lumen/validation.py
87.50% <ø> (ø)

lumen/rest.py
24.34% <50.00%> (ø)

lumen/sources/intake_dremio.py
57.14% <50.00%> (ø)

lumen/ui/fast.py
72.72% <50.00%> (-4.14%)
:arrow_down:

lumen/schema.py
56.86% <66.66%> (-0.76%)
:arrow_down:

lumen/sources/base.py
62.23% <67.10%> (-1.01%)
:arrow_down:

lumen/ui/state.py
63.15% <69.23%> (-12.46%)
:arrow_down:

lumen/state.py
62.90% <72.54%> (-3.63%)
:arrow_down:

lumen/dashboard.py
75.27% <74.60%> (-2.36%)
:arrow_down:

lumen/ui/views.py
38.97% <75.00%> (-1.53%)
:arrow_down:

... and 83 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


For private workflows running in EU region

Modify reference bucket to: "s3://omics-eu-central-1/reference"

Thank you for the feedback. I have updated the workflows and documentation to address these issues in #9.


Merge inspect case with other container options in name scoping.

@andreyod Who cleans up the original name label and the postfixed tenant ID?

From the response? AuthZ plugin.

@andreyod Only the tenant ID not the naming stuff.
I think we should do in the name-scoping cleanup for
name post fixing
and original name label.


Refactor/cleanup

Thoughts on reorganizing components like this. Yay or nay

So I have a pages/hackerpack/Components for the components local to the page. However, on a different project I had subfolders under components. Both are technically fine, so whatever we want to go with we need to just be consistent. @NickBurnett @abdullah50053 what do y'all think

also uh oh


backend: Dockerfile with Segmentation fault (core dumped) error solution

Should solve #100
Changed both backend (rust) and nginx to debian, these have openssl already which is the reason for changing the RUN line.

#100 fixed so closing this


Fix an incorrect auto-correct for Style/RedundantRegexpCharacterClass due to quantifier

Fix following incorrect behavior.
% cat example.rb
/[a]+/
/[a]{2,10}/

% bundle exec rubocop --only Style/RedundantRegexpCharacterClass -a
(snip)

% cat example.rb
/a]/
/a]{2,10/

The cause of this bug is that Regexp::Expression::CharacterSet#te contains quantifier. Regexp::Expression::CharacterSet has quantifier attribute.
[15] pry(RuboCop)> Regexp::Parser.parse("[a]{2,10}").expressions.first
=> #<Regexp::Expression::CharacterSet:0x00007faa945d8090
 @closed=true,
 @conditional_level=0,
 @expressions=
  [#<Regexp::Expression::Literal:0x00007faa945cfa08
    @conditional_level=0,
    @level=0,
    @nesting_level=2,
    @options={},
    @quantifier=nil,
    @set_level=1,
    @text="a",
    @token=:literal,
    @ts=1,
    @type=:literal>],
 @level=0,
 @negative=false,
 @nesting_level=1,
 @options={},
 @quantifier=
  #<Regexp::Expression::Quantifier:0x00007faa945cf738 @max=10, @min=2, @mode=:greedy, @text="{2,10}", @token=:interval>,
 @set_level=0,
 @text="[",
 @token=:character,
 @ts=0,
 @type=:set>
[16] pry(RuboCop)> _.te
=> 9

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

Nice work @ysakasin - thanks!

Great, thannks!


White line under console area

When resizing the window a white line appears at the bottom of the window.

Moved here https://github.com/processing/processing/issues/3919, sorry for the noise.


Finish implementation of queued send

Implement queued send.
Fixes #4510
This PR implements the queued send API which allows a sender to queue up messages to be sent and then wait on the individual sends to complete.
This introduces a new templated type "QueuedOperation" which represents an operation which has been queued for later completion. There are two methods available on the QueuedOperation: WaitForOperationResult which blocks waiting on the queued operation to complete and Cancel which is used to cancel the queued operation.
In addition, cancellation of the context provided to the WaitForOperationResult will also cancel the outstanding send at the AMQP level.
Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the contributing guide.

[ ] C++ Guidelines
[ ] Doxygen docs
[ ] Unit tests
[ ] No unwanted commits/changes
[ ] Descriptive title/description

[ ] PR is single purpose
[ ] Related issue listed

[ ] Comments in source
[ ] No typos
[ ] Update changelog
[ ] Not work-in-progress
[ ] External references or docs updated
[ ] Self review of PR done
[ ] Any breaking changes?

Ping :).

In addition, cancellation of the context provided to the WaitForOperationResult will also cancel the outstanding send at the AMQP level.

Are we sure we want more than one way of doing cancellation here? I wonder if there are any edge cases around the two mechanisms interfering. Does Go do the same thing (asking about it specifically because it too have context for cancellation).

In addition, cancellation of the context provided to the WaitForOperationResult will also cancel the outstanding send at the AMQP level.

Are we sure we want more than one way of doing cancellation here? I wonder if there are any edge cases around the two mechanisms interfering. Does Go do the same thing (asking about it specifically because it too have context for cancellation).

It's a good question. The thing is, there are two separate mechanisms at work here:
The QueuedOperation::Cancel method directly uses the internal-to-uAMQP cancellation mechanism. That means it can be called at any time the queued operation is live and will cancel it immediately without waiting.
The Azure::Core::Context::Cancel method relies on the fact that the QueuedOperation::WaitForOperationResult hooks into the AsyncOperationQueue::WaitForPolledResult to enable checking the Azure::Core::Context to see if it was cancelled.  That means that it can only be engaged in the context of a call to WaitForOperationResult - in other words, it only takes effect once someone has decided to block waiting on the operation to complete.
The semantics of the two cancellation mechanisms are fairly different and they handle different scenarios - one applies always, the other only applies when the caller has decided it's okto block.
Honestly, if Azure::Core::Operation wasn't tied intimately to the HTTP stack, I think it might be an interesting choice to consider. And honestly, refactoring Operation into OperationBase to remove the HTTP dependency might be a good idea.

Closing this PR to reconsider if this can be done via integration with Azure::Core::Operation so the experience looks similar to the Operation experience. Even though most queued operations aren't specifically "long term", the customer experience is very similar to that of an Operation.


Create Reference interface for new GC classes

Rename Reference to ReferenceFile and make it implement a Reference interface
to be used to stream both files and directories
Create the AllVolumesDirectory class, which extends ReferenceDirectory, to be used
for the new special encoded "agcav" volume.
Comment and clean up GC code

The recently failing ITs are still passing: CloneTestIT,DeleteRowsSplitIT,DeleteRowsIT,ShellServerIT

@keith-turner take a look at these changes. I think they improve on the work you did with the All volume delete markers in https://github.com/apache/accumulo/pull/1389

I saw GarbageCollectorIT fail with these changes. All other tests passed.
org.opentest4j.AssertionFailedError: expected: <true> but was: <false>
	at org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:55)
	at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:40)
	at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:35)
	at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:179)
	at org.apache.accumulo.test.functional.GarbageCollectorIT.gcTest(GarbageCollectorIT.java:143)

The failure in GarbageCollectorIT is interesting because with the close() I added to the TabletsMetadata.builder() when we get the references, it is closing the underlying scanner. This makes me think we need to close the Stream of references, after we are done with removeCandidatesInUse(). It also makes me wonder if there is a bug with the Scanner used here never being closed.

Sunny day tests passing with the latest. Running all ITs now.

All ITs are passing now.

@dlmarion I think this PR is good to go now. I have some ideas discussed with @keith-turner that can be a follow on task.

All ITs are passing.


Update README.md documentation and screenshots

The screenshots on our landing page README.md sorely need updating. The text also deserves a refresh: currently it still talks about things like the "Answer Queue" that have long been deleted, and there's no mention of Discord integration at all!

oh, looks like we still have code for the answer queue still lying around though it's disabled by default


IngestionMode Flag

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[x] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.

adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

/azp run automation - sdk

Can one of the admins verify this patch?

/azp run automation - sdk

/azp run automation - sdk

@MyronFanQiu  - I get failures on validation with the reason of “BreakingChange”
can you please bypass this error and merge this PR?

@akning-ms Hi Arthur. This PR added an optional field into both input and output. It impacts three different api-versions including both preview and stable. Please confirm this breaking change and help merge it. @tofriedl Arthur is the admin. He can help about this validation.


#ifdef/endif colorization matching doesn't work correctly with C/C++

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: Version: 1.72.0-insider (user setup)
Commit: 835ace5796cec0ed19a7eec119b26b57220b0f1a
Date: 2022-09-12T05:16:16.290Z
Electron: 19.0.12
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.22621
Sandboxed: Yes
It doesn't repro with non-Insiders.

Steps to Reproduce:

Use a .c or .cpp file with

#ifdef FOO
#endif

Bug: The matching code doesn't handle this case (possibly others, e.g. #ifndef):

The C/C++ extension is not enabled.

seems only #if was added as brackets
https://media.discordapp.net/attachments/585739600971169809/1018970139850448896/image0.jpg

Closing, as the PR that introduced this got reverted.


As a content editor, I want to batch import new data on books' genre, so that I can update multiple records with annotations made externally

Notes:

Try django-import-export for this one: is it sufficient?
Requirements: log entries documenting change; log entry should match the importer; needs to handle conflicts
Note: django-import-export may make this much easier since it tracks log entries natively and will flag conflicts (need to check this). Estimate may rise if this doesn't work

Update 2/1/24: We have this working now in the admin interface on QA using django-import-export. If you go to /admin/books/work you should see an import and export button. Export should export all Works, with all fields. Import should, for now, import only the fields relevant to the currently annotated data (genre category).
Testing instructions

[x] Confirm import/export buttons are present on Work admin page
[x] Confirm csv export works and that fields are present
[x] Confirm a 'slug' field is in export -- this field is needed for import
[x] Import a csv of 10 new books' info

[x] Confirm a preview of changes is shown
[x] Click "confirm import" button works, check that number of records updated is shown

[x] Import a csv of all new book info

[x] Check that preview of changes is shown
[x] Check "confirm import" works and shows number of records updated
[ ] If more than 1,000 records updated, check that a warning message shows at top of page indicating that a server-side index will be necessary
[x] ~Confirm that new genre categories not in DB now are (Nonfiction)~ [This is working, but certain genres in annotation are multiple (Fiction; Poetry). I mistakenly thought we only wanted one per book. I will refactor if we want to preserve having multiple.]
[x] Confirm that books previously without genre category now have them when seen from the admin interface
[x] Confirm that log entries for updated Works show a change was made from django import export / admin interface

[x] Check for appropriate errors

[ ] Try re-importing the 10 book csv above but first editing it in excel to replace slug in the header with slugxx or another word; then make sure an error is shown
[x] Try re-importing a book CSV after all steps above made. Confirm that all records are skipped because already updated

We have given a "genre" for each item/book in the lending library: drama, fiction, nonfiction, poetry, periodical, N/A. We should discuss/confirm that these are the best labels. We may also consider whether we should create a structure that would allow future work: e.g. dividing nonfiction into philosophy, history, etc. We don't have time to do that kind of dividing now.

Small thing: there's a typo in "genre category"

I received an error message when trying to do the larger import.

Two additional notes:

As you mention, we will want some books to have multiple "genre" categories.
Will we be able to edit the genre category on individual work pages in the database? This is important: in case we make a mistake and need to fix it. For example, we might mis-categorize a book as a novel when its true crime.

I opened the test site this evening to finishing testing. The import went through despite the error message (see above) -- but the import added 23 "empty" works. See this screenshot.

For this test:

Try re-importing the 10 book csv above but first editing it in excel to replace slug in the header with slugxx or another word; then make sure an error is shown

I did as instructed, but didn't see an error message.

When I try to do this:

If more than 1,000 records updated, check that a warning message shows at top of page indicating that a server-side index will be necessary

I get this error message:

Still receiving an error message.

This is the CSV I used.
books-with-category(3).csv

@jkotin I figured out what caused the error: your CSV had the heading 'category' but you and Ryan decided to set the database to allow multiple, so the import was expecting it to be called 'categories'. I've revised the input so it should work with either category or categories. Please confirm.

I'm getting an error again, but I suspect that's because the VPN sometimes gets weird. I can try again from campus on Monday evening.

@jkotin I see log messages indicates data is being imported and then it stops; no error, but I think it may be getting cut off by a timeout on the load balancer. I'll talk to PUL about increasing the timeout and let you know.

@jkotin I've coordinated with PUL to increase the timeout on the load balancer, when you get the chance please test this again and report back on whether it works or if you're still getting the error.

Yay!  It worked.


stream file upload?

Hi, I am trying to stream file upload, however it seems granian/emmett doesn't handle it properly.
I am expecting granian/emmett to stream the body when calling file.stream.read and only keeps a reasonable buffer size.
However it seems granian/emmett does the following instead

wait for the upload to finish before calling get_size, prints only starts after file has been uploaded
memory usage increases, and doesn't get released after upload finished or processed.
the default file.save shares similar behavior

To reproduce, upload file, watch log print and check memory usage:
emmett==2.5.13
granian==1.5.2
def get_size(file):
    size = 0
    while True:
        chunk = file.stream.read(16 * 1024)
        if not chunk:
            break
        print(size)
        size += len(chunk)
    return size

@app.route("upload")
async def upload():
    if request.method == "POST":
        files = await request.files
        file = files.file
        await asyncio.to_thread(get_size, file)
    return {}

btw, it seems emmett is reading the full file into BytesIO?
https://github.com/emmett-framework/emmett/blob/7014464454a7f51d45e0a18c7f1c0160d3adf3fd/emmett/wrappers/request.py#L96-L102

@mayli yes, this is not Granian faults but a poor implementation in Emmett.
In addition to the line you reported, Emmett also loads the full request body via https://github.com/emmett-framework/emmett/blob/master/emmett/rsgi/wrappers.py#L93.
So the only way to fix this is to manually interact with RSGI proto, which is far from being ideal.
Note that this is already re-implemented with streaming capabilities in the new core underlying package, and will be definitely fixed in the upcoming 2.6.
I'll leave this open until that release (ETA in a few weeks).

@mayli FYI here is how it works in 2.6 https://github.com/emmett-framework/emmett/blob/39b7efd0fae78483a6ced8b223a07f30f07a2392/docs/request.md#request-files
In case you'd like to see additional/different documentation on that, just let me know.


which torch and dlg version that you saved the small dataset

I download your small dataset, but I could not managed to load it. I tried different version of torch and dgl.
I somehow think the problem of the version problem. Please can you tell us which version of torch and dgl you used when saving the dataset?

Hi, I used pytorch 1.4.0 and dgl 0.4.3post2. Please have a try and concat me if you have further problems.

Perfect!
It worked, thanks. I strongly recommend you to put your configuration file in the repository.
Thanks indeed.

Thanks for your feedback. I have updated!


add zarr-python v3 spec tests cases

marked as a draft since this is using a branch corresponding to unmerged upstream PRs
Note that the environment file here installs from the branch corresponding to zarr-developers/zarr-python#898

@joshmoore, could you take a look at the first three commits here in terms of the API for writing the files? In the first commit, I was trying the reuse the same high-level open function as for the v2 case, but for v3 it requires specifying a path ('astronaut' was used in that first commit). However, this makes an additional 'astronaut' subfolder within /meta/root and /data/root which is not present in the data generated from zarrita or xtensor-zarr.
The forms in commits 2 and 3 are equivalent, just using zarr.open_array or zarr.array directly.
The main issue is that in the current v3 implementation, one cannot create a Group without some  for the group. i.e. the group cannot be at just /data/root/ but needs to be /data/root/<name>. In zarrita and xtensor-zarr there is a Hierarchy class that represents this top root level. The hierarchy just contains nodes corresponding to either groups or arrays. We can potentially also add this in zarr-python if it is helpful (specifically should zarr.open return a Hierarchy object in some cases where it currently returns a Group?)


Introduce a single heap for per ClusterQueue

To prevent users from hijacking a Capacity by creating multiple Queues, we should have a single heap for a Capacity (spin off from https://github.com/kubernetes-sigs/kueue/pull/80#issuecomment-1057015439)
/kind feature

/assign

/retitle  Introduce a single heap for per ClusterQueue

Maybe I am confused but after this issue is closed, what is left for kueue.queue to hold?
is just a pointer to ClusterQueue , now that the head moved from Queue to Cluster Queue I don't see a point on having a Queue controller

https://github.com/kubernetes-sigs/kueue/pull/80#issuecomment-1055570571


Extremely low gyroscope sensitivity

Hi, I'm using 01/03/2023 drivers over BMI323 and am facing extremely low gyroscope sensitivity.
I'm using the below code on my c# project to catch ReadingChanged events. Right now, I have to make large movements with my device to get any events to raise.
var sensor = Gyrometer.GetDefault();
sensor.ReadingChanged += ReadingChanged;

Hi @Valkirie, Since “Windows.Devices.Sensors” based library been used to fetch sensor data as events and underlaying Microsoft drivers information is required to support your context, please use our Boschsensortec community forum to get full support immediately
BST forum : https://community.bosch-sensortec.com/t5/Bosch-Sensortec-Community/ct-p/bst_community


ffplay

Is your feature request related to a problem? Please describe.
This library is awesome, it's amazing to be able to run ffmpeg via WASM. There are lot of interesting applications of this already.
I'm curious if it would be possible to compile ffplay, potentially as its own package. It would be very interesting if we could see real-time outputs from ffmpeg filter chains, in the browser. But I have no idea if this is feasible.
Describe the solution you'd like
Really just curious. Have you tried it out of curiosity? Or is it perhaps a non-starter, and performance would not be good enough?

I would also like to know about a possible version of ffplay wasm :)

Amazing project 👍
Would love to see FFPLAY. WASM.
Best Wishes.

This feature would advance so many web based applications.


resource/module loop filters

Added support for filtering resource and module loops. This fixes #1667.
Additional changes:

Added for-filtered snippet to simplify authoring of the filtered loops
Updated language spec and grammer to match.

While working on this, I found an issue with the spec'd out filter syntax and made a minor tweak to it. Basically the spec'd out filter syntax was inconsistent with the resource condition syntax. The new syntax puts the condition after the loop : to match a similar placement on resource/module where it follows the = token. This provides the following advantages:

The token order is consistent between the two usages of conditions. Once the user learns one, the other will feel familiar.
It also allows for easier composition. For example, the user can copy/move a resource or module body with the if condition into a loop body without having to reorder anything.

Snippet in action:

Codecov Report

Merging #1884 (a50fa4c) into main (5e22507) will increase coverage by 0.00%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1884   +/-   ##
=======================================
  Coverage   95.28%   95.28%
=======================================
  Files         375      375
  Lines       22283    22331   +48
  Branches       15       15
=======================================
+ Hits        21232    21278   +46
- Misses       1051     1053    +2

Flag
Coverage Δ

dotnet
95.71% <ø> (+<0.01%)
:arrow_up:

typescript
26.61% <ø> (ø)

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

Impacted Files
Coverage Δ

src/Bicep.Core/Diagnostics/DiagnosticBuilder.cs
100.00% <ø> (ø)

src/Bicep.Core/Emit/TemplateWriter.cs
97.97% <ø> (+0.04%)
:arrow_up:

src/Bicep.Core/Parsing/Parser.cs
98.21% <ø> (+0.02%)
:arrow_up:

src/Bicep.Core/PrettyPrint/DocumentBuildVisitor.cs
100.00% <ø> (ø)

src/Bicep.Core/Syntax/ModuleDeclarationSyntax.cs
96.00% <ø> (-1.68%)
:arrow_down:

src/Bicep.Core/Syntax/ResourceDeclarationSyntax.cs
93.50% <ø> (-0.78%)
:arrow_down:

src/Bicep.Core/TypeSystem/DeclaredTypeManager.cs
91.54% <ø> (+0.50%)
:arrow_up:

....LangServer/Completions/BicepCompletionProvider.cs
92.71% <ø> (+0.03%)
:arrow_up:

... and 6 more