text:
Feature request: Support for "Next January"...

I tried "@next January" but it returned January 1st of the current year instead of January 1st of next year.
It would be great if you could add this type of dates.

hm I just tried this and it worked as expected - returns 1 Jan 2023.

I just tried it as well and I also get the right answer.
Could it be related to date math ? I posted my previous message on June 11th which is closer to January 2022 than January 2023.

Hi, I have the same issue. Today on june 1, if i input "dec 1", i get december 22. If i input "nov 1" i get november 23. If i input jan-jun 1 i also get current year. even if i put "next january" i get jan 22. I am in germany with correct time set on windows. i have tried changing the start of the week and reinstalling the plugin.
I get that some people need to refer to dates in the past but i only want it to output dates in the future. is there something that i can do?

authors: Kobuster S-Wil jaffall

repo: argenos/nldates-obsidian


text:
Feat: Change whole navbar and add new same like flipkart

Describe the feature
Change and navbar and add new that is same like flipkart.
Please assign me this issue with label
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

I would like to work on this issue. Please assign this task to me.

@arghadipmanna101 I would like to work on this issue. Please assign this to me. I will add logo designs and modify the navigation bar, similar to the Flipkart website.
Please assign a label to this issue.

source: gharchive/issue

license: MIT

license_type: permissive

license_source: github-api


text:
The login button in the navbar is made functional

Related Issue
#1412
Description
The login button opens a dropdown now succesfully. Moreover added a login button which disappears after a while with a jerk animation
Type of PR

[x] Bug fix
[ ] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
https://github.com/user-attachments/assets/4c6d7572-1e65-438d-b18c-bf3f8b4d9007
Checklist:

[x] I have performed a self-review of my code
[x] I have read and followed the Contribution Guidelines.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[x] I have commented my code, particularly in hard-to-understand areas.

Additional context:
[Include any additional information or context that might be helpful for reviewers.]

Please review my pull request @arghadipmanna101

Please review my pull request @arghadipmanna101

PTAL @arghadipmanna101

source: gharchive/pull-request


text:
Feature: add allowed roles to metadata properties

This is only a draft to show the idea of allowed_roles for metadata properties to the team.
This has the potential to affect additional endpoints associated with metadata properties which are still not merged on the feature branch.
If you think this change will affect anything please say something to me and we can discuss about the possible/necessary refactors.
I have updated the draft with the following changes:

The endpoint /api/v1/datasets/{dataset.id}/metadata-properties has been changed to /api/v1/me/datasets/{dataset.id}/metadata-properties. (this change should be reflected on the SDK if we are finally accepting the draft @alvarobartt).
We are internally using allowed_roles as a JSON column to store a list of allowed roles to access one specific metadata property.

allowed_roles is right now an internal column and is not exposed in the API.

A new visible_for_annotators boolean value is accepted to create metadata properties from the API.

When visible_for_annotators is set as True we store [UserRole.admin, UserRole.annotator] on allowed_roles.
When visible_for_annotators is set as False we store [UserRole.admin] on allowed_roles.
If not specified, visible_for_annotators is True so admins and annotators has access to the metadata property. (@frascuchon tell me if this is not the expected behavior).
visible_for_annotators is exposed in the API as a calculated value using allowed_roles (as a property on the database model).

@jfcalvo I've already updated the endpoint calls in Python SDK and frontend.

authors: frascuchon jfcalvo

repo: argilla-io/argilla


text:
Cannot use parameters in container resource limits

Summary
What happened/what you expected to happen?
When creating a Workflow that uses workflow parameters for setting resource limits of a container, the Workflow fails after submitting with message:
cannot unmarshall spec: quantities must match the regular expression '^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$'

Btw. using the same expression in an env variable works fine (see below).
What version of Argo Workflows are you running?
3.1.8, 3.2.0
Diagnostics
Either a workflow that reproduces the bug, or paste you whole workflow YAML, including status, something like:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  name: test
spec:
  arguments:
    parameters:
      - name: resources
        value: '{"limits":{"cpu":"100m"}}'
  entrypoint: main
  templates:
    - name: main
      container:
        env:
          - name: TEST
            value: '{{= jsonpath(workflow.parameters.resources, "$.limits.cpu") }}'
        image: alpine:latest
        command: ["sh", "-c", "echo TEST"]
        resources:
          limits:
            cpu: '{{= jsonpath(workflow.parameters.resources, "$.limits.cpu") }}'

What Kubernetes provider are you using?
K3S, AKS
What executor are you running? Docker/K8SAPI/Kubelet/PNS/Emissary
PNS

Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.

for people confused by containerSet type see https://github.com/argoproj/argo-workflows/issues/8103 , it should still work fine with podSpecPatch

authors: butzist nazarewk

repo: argoproj/argo-workflows


text:
Anytime I try to access pod logs through /artifacts I get a 500 Internal Server Error

Summary
What happened/what you expected to happen?
Accessing logs from an individual task is showing a 500 internal server error. Accessing logs from /api is fine
https://argoworkflow.com/api/v1/workflows/argo-workflows/workflow-name/log?logOptions.container=init&grep=&logOptions.follow=true&podName=workflow-1270963702
That url works and I can view logs when I'm hitting that endpoint.
However when I try to view an individual task's logs, it goes to a /artifacts/* endpoint and then I get a 500 internal server error. I currently set a aws s3 bucket as the artifact repository:
https://argoworkflow.com/artifacts/argo-workflows/workflow-name/workflow-1228576108/main-logs (This link does not work)
The pods are writing the log files to the s3 bucket just fine it looks like:
Logs look good, don't see anything alarming in there? Could it possibly something misconfigured on the s3 backend? I cross checked the settings of this s3 bucket with our dev cluster (which works) and the settings are completely the same, so I'm stumped here.
Would love any input on this.
What version of Argo Workflows are you running?
Latest at time of writing: v3.2.6
LOGS:
time="2022-01-28T17:52:42.165Z" level=info msg="Main container completed"
time="2022-01-28T17:52:42.165Z" level=info msg="No Script output reference in workflow. Capturing script output ignored"
time="2022-01-28T17:52:42.165Z" level=info msg="Saving logs"
time="2022-01-28T17:52:42.166Z" level=info msg="[docker logs a61ce1e34f3224a5a97ec97871069ac5ca9f535a0ac79a941ecdb8760e87c247]"
time="2022-01-28T17:52:42.213Z" level=info msg="docker ps --all --no-trunc --format={{.Status}}|{{.Label \"io.kubernetes.container.na
me\"}}|{{.ID}}|{{.CreatedAt}} --filter=label=io.kubernetes.pod.namespace=argo-workflows --filter=label=io.kubernetes.pod.name=custome
r-poc-deployment-1228576108"
time="2022-01-28T17:52:42.243Z" level=info msg="S3 Save path: /tmp/argo/outputs/logs/main.log, key: workflow-artifacts/s3key/main.log"
time="2022-01-28T17:52:42.243Z" level=info msg="Creating minio client using AWS SDK credentials"
time="2022-01-28T17:52:42.265Z" level=info msg="listed containers" containers="map[init:{14809101d44b0b098b3bcc458b78457009ffe832d6c7
cbed57d45602d0447bbe Exited {0 63778989158 <nil>}} main:{a61ce1e34f3224a5a97ec97871069ac5ca9f535a0ac79a941ecdb8760e87c247 Exited {0 6
3778989160 <nil>}} wait:{36f6023498d1e9a9694f5010d788283f33a00fa13e878d4f4f094ea64395e6de Up {0 63778989159 <nil>}}]"
time="2022-01-28T17:52:43.215Z" level=info msg="Saving file to s3" bucket=s3bucket endpoint=s3.amazonaws.co
m key=workflow-artifacts/s3key/main.log path=
/tmp/argo/outputs/logs/main.log
time="2022-01-28T17:52:43.265Z" level=info msg="docker ps --all --no-trunc --format={{.Status}}|{{.Label \"io.kubernetes.container.na
me\"}}|{{.ID}}|{{.CreatedAt}} --filter=label=io.kubernetes.pod.namespace=argo-workflows --filter=label=io.kubernetes.pod.name=custome
r-poc-deployment-1228576108"
time="2022-01-28T17:52:43.265Z" level=info msg="not deleting local artifact" localArtPath=/tmp/argo/outputs/logs/main.log
time="2022-01-28T17:52:43.266Z" level=info msg="Successfully saved file: /tmp/argo/outputs/logs/main.log"
time="2022-01-28T17:52:43.266Z" level=info msg="Saving output parameters"
time="2022-01-28T17:52:43.266Z" level=info msg="Saving path output parameter: contextData"

What do argo-server logs say?

Hello @alexec. Here are the argo logs. Looks like there's definitely something up with the artifact repository on the server.
time="2022-01-28T17:50:07.633Z" level=info msg="finished unary call with code Unauthenticated" error="rpc error: code = Unauthenticated desc = token not valid for running mode" grpc.code=Unauthenticated grpc.method=GetInfo grpc.service=info.InfoService grpc.start_time="2022-01-28T17:50:07Z" grpc.time_ms=0.069 span.kind=server system=grpc
time="2022-01-28T17:52:31.768Z" level=warning msg="Non-transient error: configmaps \"artifact-repositories\" not found"
time="2022-01-28T17:52:55.477Z" level=warning msg="Non-transient error: configmaps \"artifact-repositories\" not found"
time="2022-01-28T17:53:02.883Z" level=warning msg="Non-transient error: configmaps \"artifact-repositories\" not found"
time="2022-01-28T17:53:08.676Z" level=warning msg="Non-transient error: configmaps \"artifact-repositories\" not found"
time="2022-01-28T17:54:01.033Z" level=warning msg="Non-transient error: configmaps \"artifact-repositories\" not found"
time="2022-01-28T17:55:04.319Z" level=warning msg="Non-transient error: configmaps \"artifact-repositories\" not found"
2022/01/28 18:03:44 http: panic serving 10.110.84.172:39578: runtime error: index out of range [3] with length 3
2022/01/28 18:03:44 http: panic serving 10.110.84.172:39580: runtime error: index out of range [3] with length 3
2022/01/28 18:03:44 http: panic serving 10.110.84.172:39582: runtime error: index out of range [3] with length 3
time="2022-01-28T18:06:11.946Z" level=warning msg="Non-transient error: configmaps \"artifact-repositories\" not found"
time="2022-01-28T18:06:28.182Z" level=warning msg="Non-transient error: configmaps \"artifact-repositories\" not found"
time="2022-01-28T18:06:38.418Z" level=warning msg="Non-transient error: configmaps \"artifact-repositories\" not found"
2022/01/28 18:09:49 http: panic serving 10.110.84.172:42578: runtime error: index out of range [3] with length 3
2022/01/28 18:09:49 http: panic serving 10.110.84.172:42580: runtime error: index out of range [3] with length 3
2022/01/28 18:09:49 http: panic serving 10.110.84.172:42582: runtime error: index out of range [3] with length 3
time="2022-01-28T18:11:07.873Z" level=warning msg="finished unary call with code PermissionDenied" error="rpc error: code = PermissionDenied desc = pipelines.dataflow.argoproj.io is forbidden: User \"system:serviceaccount:argo-workflows:argo-server\" cannot list resource \"pipelines\" in API group \"dataflow.argoproj.io\" in the namespace \"argo-workflows\"" grpc.code=PermissionDenied grpc.method=ListPipelines grpc.service=pipeline.PipelineService grpc.start_time="2022-01-28T18:11:07Z" grpc.time_ms=13.29 span.kind=server system=grpc
time="2022-01-28T18:11:10.961Z" level=warning msg="finished unary call with code PermissionDenied" error="rpc error: code = PermissionDenied desc = pipelines.dataflow.argoproj.io is forbidden: User \"system:serviceaccount:argo-workflows:argo-server\" cannot list resource \"pipelines\" in API group \"dataflow.argoproj.io\" in the namespace \"argo-workflows\"" grpc.code=PermissionDenied grpc.method=ListPipelines grpc.service=pipeline.PipelineService grpc.start_time="2022-01-28T18:11:10Z" grpc.time_ms=6.574 span.kind=server system=grpc
time="2022-01-28T18:11:14.046Z" level=warning msg="finished unary call with code PermissionDenied" error="rpc error: code = PermissionDenied desc = pipelines.dataflow.argoproj.io is forbidden: User \"system:serviceaccount:argo-workflows:argo-server\" cannot list resource \"pipelines\" in API group \"dataflow.argoproj.io\" in the namespace \"argo-workflows\"" grpc.code=PermissionDenied grpc.method=ListPipelines grpc.service=pipeline.PipelineService grpc.start_time="2022-01-28T18:11:14Z" grpc.time_ms=8.183 span.kind=server system=grpc
time="2022-01-28T18:11:17.137Z" level=warning msg="finished unary call with code PermissionDenied" error="rpc error: code = PermissionDenied desc = pipelines.dataflow.argoproj.io is forbidden: User \"system:serviceaccount:argo-workflows:argo-server\" cannot list resource \"pipelines\" in API group \"dataflow.argoproj.io\" in the namespace \"argo-workflows\"" grpc.code=PermissionDenied grpc.method=ListPipelines grpc.service=pipeline.PipelineService grpc.start_time="2022-01-28T18:11:17Z" grpc.time_ms=13.005 span.kind=server system=grpc
time="2022-01-28T18:11:20.266Z" level=warning msg="finished unary call with code PermissionDenied" error="rpc error: code = PermissionDenied desc = pipelines.dataflow.argoproj.io is forbidden: User \"system:serviceaccount:argo-workflows:argo-server\" cannot list resource \"pipelines\" in API group \"dataflow.argoproj.io\" in the namespace \"argo-workflows\"" grpc.code=PermissionDenied grpc.method=ListPipelines grpc.service=pipeline.PipelineService grpc.start_time="2022-01-28T18:11:20Z" grpc.time_ms=9.158 span.kind=server system=grpc
time="2022-01-28T18:11:23.352Z" level=warning msg="finished unary call with code PermissionDenied" error="rpc error: code = PermissionDenied desc = pipelines.dataflow.argoproj.io is forbidden: User \"system:serviceaccount:argo-workflows:argo-server\" cannot list resource \"pipelines\" in API group \"dataflow.argoproj.io\" in the namespace \"argo-workflows\"" grpc.code=PermissionDenied grpc.method=ListPipelines grpc.service=pipeline.PipelineService grpc.start_time="2022-01-28T18:11:23Z" grpc.time_ms=5.911 span.kind=server system=grpc
time="2022-01-28T18:21:38.353Z" level=warning msg="Non-transient error: configmaps \"artifact-repositories\" not found"
time="2022-01-28T18:27:18.843Z" level=error msg="finished streaming call with code Unknown" error=EOF grpc.code=Unknown grpc.method=WatchWorkflows grpc.service=workflow.WorkflowService grpc.start_time="2022-01-28T17:50:16Z" grpc.time_ms=2.2219245e+06 span.kind=server system=grpc
time="2022-01-28T18:27:36.258Z" level=error msg="finished streaming call with code Unknown" error=EOF grpc.code=Unknown grpc.method=WatchWorkflows grpc.service=workflow.WorkflowService grpc.start_time="2022-01-28T17:50:11Z" grpc.time_ms=2.244579e+06 span.kind=server system=grpc
time="2022-01-28T18:42:20.662Z" level=error msg="finished streaming call with code Unknown" error=EOF grpc.code=Unknown grpc.method=WatchWorkflows grpc.service=workflow.WorkflowService grpc.start_time="2022-01-28T17:51:58Z" grpc.time_ms=3.0226495e+06 span.kind=server system=grpc
time="2022-01-28T18:47:11.407Z" level=error msg="finished streaming call with code Unknown" error=EOF grpc.code=Unknown grpc.method=WatchWorkflows grpc.service=workflow.WorkflowService grpc.start_time="2022-01-28T18:06:27Z" grpc.time_ms=2.443837e+06 span.kind=server system=grpc
time="2022-01-28T18:51:58.712Z" level=error msg="finished streaming call with code Unknown" error=EOF grpc.code=Unknown grpc.method=WatchWorkflows grpc.service=workflow.WorkflowService grpc.start_time="2022-01-28T18:11:00Z" grpc.time_ms=2.458204e+06 span.kind=server system=grpc
time="2022-01-28T18:53:40.234Z" level=error msg="finished streaming call with code Unknown" error=EOF grpc.code=Unknown grpc.method=WatchWorkflows grpc.service=workflow.WorkflowService grpc.start_time="2022-01-28T18:11:05Z" grpc.time_ms=2.5547322e+06 span.kind=server system=grpc
time="2022-01-28T19:25:46.041Z" level=error msg="finished streaming call with code Unknown" error=EOF grpc.code=Unknown grpc.method=WatchWorkflows grpc.service=workflow.WorkflowService grpc.start_time="2022-01-28T18:47:17Z" grpc.time_ms=2.308437e+06 span.kind=server system=grpc
time="2022-01-28T20:04:48.563Z" level=error msg="finished streaming call with code Unknown" error=EOF grpc.code=Unknown grpc.method=WatchWorkflows grpc.service=workflow.WorkflowService grpc.start_time="2022-01-28T19:25:51Z" grpc.time_ms=2.3370732e+06 span.kind=server system=grpc
time="2022-01-28T20:37:13.188Z" level=error msg="finished streaming call with code Unknown" error=EOF grpc.code=Unknown grpc.method=WatchWorkflows grpc.service=workflow.WorkflowService grpc.start_time="2022-01-28T20:04:54Z" grpc.time_ms=1.9385209e+06 span.kind=server system=grpc
time="2022-01-28T21:34:51.814Z" level=error msg="finished streaming call with code Unknown" error=EOF grpc.code=Unknown grpc.method=WatchWorkflows grpc.service=workflow.WorkflowService grpc.start_time="2022-01-28T20:37:19Z" grpc.time_ms=3.4524468e+06 span.kind=server system=grpc
time="2022-01-28T22:19:42.296Z" level=error msg="finished streaming call with code Unknown" error=EOF grpc.code=Unknown grpc.method=WatchWorkflows grpc.service=workflow.WorkflowService grpc.start_time="2022-01-28T21:34:57Z" grpc.time_ms=2.684519e+06 span.kind=server system=grpc
time="2022-01-28T23:06:32.881Z" level=error msg="finished streaming call with code Unknown" error=EOF grpc.code=Unknown grpc.method=WatchWorkflows grpc.service=workflow.WorkflowService grpc.start_time="2022-01-28T22:19:48Z" grpc.time_ms=2.804028e+06 span.kind=server system=grpc

Any ideas what could be wrong here?

For more context, I've set up the artifact repository in the workflow controller configmap as opposed to making my own configmap as per:
https://argoproj.github.io/argo-workflows/artifact-repository-ref/

@alexec @terrytangyuan
Let me know if there's anything I can try here. I plan on completely deleting the rds database and s3 bucket used for artifact and persistence sometime this week and redoing it as I'm out of ideas what could be wrong

The argo server is panicking. This is because the URL is incorrect. Can you please show screenshot of error in UI?

When you say url is incorrect what do you mean by that? I took out our s3 repository and now I am able to view logs for each task, but that is because it's no longer trying to reach /artifacts.
The funny thing is the s3 bucket was writing the log files just fine. Here is a screenshot

@alexec
Hi Alex,
So today I tried completely blowing out the postgres for persistance, and the s3 bucket I recreated and added by adding a configmap called artifact-repositories per:
https://argoproj.github.io/argo-workflows/artifact-repository-ref/
time="2022-02-07T19:24:51.107Z" level=info msg="Download artifact" artifactName=main-logs isInput=false namespace=argo-workflows nodeId=customer-poc-deployment-2612166409 workflowName=customer-poc-deployment
time="2022-02-07T19:24:51.121Z" level=info msg="resolved artifact repository" artifactRepositoryRef="argo-workflows/#"
time="2022-02-07T19:24:51.121Z" level=info msg="S3 Load path: /tmp/artifact046493740, key: customer-poc-deployment/customer-poc-deployment-2612166409/main.log"
time="2022-02-07T19:24:51.121Z" level=info msg="Creating minio client using AWS SDK credentials"
time="2022-02-07T19:24:54.263Z" level=info msg="Getting file from s3" bucket=test-bucket endpoint=s3.amazonaws.com key=customer-poc-deployment/customer-poc-deployment-2612166409/main.log path=/tmp/artifact046493740
time="2022-02-07T19:25:22.419Z" level=info msg="Alloc=24565 TotalAlloc=3263310 Sys=74833 NumGC=2779 Goroutines=230"

I am now getting a 504 GATEWAY_TIMEOUT error. I want to see if I am understanding the flow properly:

workflow controller writes the logs to s3 (This part is fine I am getting the logs in the s3 bucket)
If we want to view the logs:
a minio client is created with the aws creds
Logs are downloaded and saved to /tmp
/tmp is served through the node ip port 443 to view the logs?

.

@alexec
And anyone else facing this issue. It was pretty obvious, just wish the error logs showed more to help lead me in the right direction.
So we set a serviceAccountName in the workflow that has full S3 access. I was under the assumption that this was all that was needed.
What happens is that when a workflow is created, it will write the log files using whatever is set to serviceAccountName, however on the way back, a local minio client is created with the aws credentials OF THE NODE (unless provided an access key and secret key in the config for the artifact repository). Since my node IAM role did not have the proper s3 permissions this did not work.
@alexec
I'd like to add to the documentation this tidbit to prevent anyone else getting the same issue. Although the better fix would be for argo-server to spit out an error when it uses minio to initialize the s3 bucket locally to say that there isn't enough permissions or something like that. Let me know your thoughts

If you are using MinIO, you need to grant the SA access to the namespace where MinIO secrets are stored.

authors: abdelwahhab-s ado120 alexec


text:
when: condition on outputs.artifact is false

when: "'{{steps.parse-messages-split.outputs.artifacts.dag-name}}' == snow"
this never gets matched
but
when: "{{steps.parse-messages-split.outputs.result}} == snow"
does get matched (even though the value in the artifact and echoed in the step result are same.
argowf version 3.2.9

could you add the smallest possible workflow to reproduce the bug?

crispy

crispy

@tooptoop4  you can't reference the Artifacts content in when condition. The workflow controller doesn't have permission to access the artifact content. There is a workaround you can add one more step in between to stdout the artifact content and reference intermediate steps.output.result

crunchy

@sarabala1979 @alexec can this be added to the docs?


text:
v2.7.0 CLI argo logs for workflows are broken

Checklist:

[x] I've included the version.
[x] I've included reproduction steps.
[x] I've included the workflow YAML.
[x] I've included the logs.

What happened:
argo logs in v2.7.0 for workflows are broken in many ways.

Some pods' logs are dropped, seemingly at random.
The logs from each pod are arranged in random order, not chronological.
Run with the -f flag, argo logs misses logs from pods that are started after the command is issued.
The -w flag is deprecated but also rejected, another breaking change.
The logs are labeled with the pod names, making the color scheme useless (they all get the same color).

How to reproduce it (as minimally and precisely as possible):
Just run a simple script with multiple steps with logs.
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: logs-problems-
spec:
  entrypoint: plan
  templates:
  - name: plan
    steps:

    - - name: report-1
        template: report
        arguments:
          parameters:
          - name: message
            value: one

    - - name: report-2
        template: report
        arguments:
          parameters:
          - name: message
            value: two

    - - name: report-3
        template: report
        arguments:
          parameters:
          - name: message
            value: three

    - - name: report-4
        template: report
        arguments:
          parameters:
          - name: message
            value: four

    - - name: report-5
        template: report
        arguments:
          parameters:
          - name: message
            value: five

  - name: report
    inputs:
      parameters:
      - name: message
    container:
      image: alpine:3.11
      command: [sh, -c]
      args: ["echo {{inputs.parameters.message}}"]

Here's literally the output I see on the command line:
$ argo logs -n virtual logs-problems-jfcrs -f
logs-problems-jfcrs-1210664: two
logs-problems-jfcrs-1959331710: three
logs-problems-jfcrs-1789405150: one
$ argo logs -n virtual logs-problems-jfcrs
logs-problems-jfcrs-1210664: two
logs-problems-jfcrs-1959331710: three
$ argo logs -n virtual logs-problems-jfcrs
logs-problems-jfcrs-1959331710: three
logs-problems-jfcrs-1043726436: four
logs-problems-jfcrs-1210664: two
logs-problems-jfcrs-3944066254: five
$ argo logs -n virtual logs-problems-jfcrs
logs-problems-jfcrs-3944066254: five
logs-problems-jfcrs-1789405150: one
logs-problems-jfcrs-1210664: two
logs-problems-jfcrs-1043726436: four

You can see that I ran the -f command before the fourth and fifth pods had started, so it ignores those. (I've been able to reproduce this pattern over multiple attempts.) The later calls without that flag grab a random subset of the logs and paste them in a random order. Moreover, all of those logs were printed in red, a useless color scheme.
Needless to say, this makes argo logs on the CLI completely unusable in v2.7.0.

Message from the maintainers:
If you are impacted by this bug please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.

@alexec Could you take a look at this?

Monday. In the meantime you could use ‘kubectl logs’. Thank you for a clear set of issues and the YAML to repro.

@samath117 is this a regression from previous behaviour do you think?

**Some pods' logs are dropped, seemingly at random. **
We either (a) need me information to diagnose this or (b) time-box analysis.
The logs from each pod are arranged in random order, not chronological.
Do you mean the log entries themselves? Or just the logs.
Run with the -f flag, argo logs misses logs from pods that are started after the command is issued.
This is a bug.
The -w flag is deprecated but also rejected, another breaking change.
I'm not sure what to do about this. This is a breaking change, but sometimes it is better not to fix a breaking change.
In this case, if you want to get the logs of a single pod, you can use kubectl logs PODNAME. This will always be a better way to do this task. There is an edge-case where you might not have been able to do this, when you running v2.5+ with Argo Server and you removed RBAC for pod logs from the user. I don't see this as likely.
That's not to say we should not fix this breaking change, just some fuel for discussion.
The logs are labeled with the pod names, making the color scheme useless (they all get the same color).
This is a bug is logs.go#L103. Easy fix.

There is a bug where if a pod in the workflow finishes, it stop listening for new pods 🤦♂

is this a regression from previous behaviour do you think?

Yes. Here is what I see for the logs when I run this in Argo v2.6.3:
report-1:       one
report-2:       two
report-3:       three
report-4:       four
report-5:       five

logs-problems-jfcrs-1789405150: one
logs-problems-jfcrs-1210664: two
logs-problems-jfcrs-1959331710: three
logs-problems-jfcrs-1043726436: four
logs-problems-jfcrs-3944066254: five
(But even more colorful!)
Note also that they are annotated based on the lowest-level step name, not the pod name. Personally, I find the step names more readable, but the pod names are less ambiguous. Could we have both? Something like:
logs-problems-jfcrs-1789405150 (report-1): one
logs-problems-jfcrs-1210664 (report-2): two
logs-problems-jfcrs-1959331710 (report-3): three
logs-problems-jfcrs-1043726436 (report-4): four
logs-problems-jfcrs-3944066254 (report-5): five

The logs from each pod are arranged in random order, not chronological.

Do you mean the log entries themselves? Or just the logs.

Both. In previous versions, if the workflow had multiple pods that were running simultaneously, the workflow logs would interleave each of the log entries based on when they came in. This was very helpful for debugging complicated workflows. In this example, there is just one entry for each pod and they still show up in a random order, but I would also like to retain the previous functionality of interspersed log entries, all ordered by timestamp. I'll come up with a new example in another comment to make this clear.

The -w flag is deprecated but also rejected, another breaking change.

I'm not sure what to do about this. This is a breaking change, but sometimes it is better not to fix a breaking change.

Can you just make the -w flag have no effect? That way any old code using -w to get workflow logs will still work.

In this case, if you want to get the logs of a single pod, you can use kubectl logs PODNAME. This will always be a better way to do this task.

Again, this doesn't get all logs from a workflow, or order them by timestamp.

Here is a more complicated example to make sure the timing and interweaving looks right:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: logs-problems-
spec:
  entrypoint: plan
  templates:
  - name: plan
    steps:

    - - name: report-1
        template: report
        arguments:
          parameters:
          - name: before-delay
            value: 0
          - name: message
            value: one

      - name: report-2
        template: report
        arguments:
          parameters:
          - name: before-delay
            value: 10
          - name: message
            value: two

      - name: report-3
        template: report
        arguments:
          parameters:
          - name: before-delay
            value: 20
          - name: message
            value: three

      - name: report-4
        template: report
        arguments:
          parameters:
          - name: before-delay
            value: 30
          - name: message
            value: four

      - name: report-5
        template: report
        arguments:
          parameters:
          - name: before-delay
            value: 40
          - name: message
            value: five

  - name: report
    inputs:
      parameters:
      - name: message
      - name: before-delay
      - name: between-delay
        value: 15
    container:
      image: alpine:3.11
      command: [sh, -c]
      args: ["sleep {{inputs.parameters.before-delay}}s; \
              echo {{inputs.parameters.message}}; \
              sleep {{inputs.parameters.between-delay}}s; \
              echo {{inputs.parameters.message}}-again"]

Running this in v2.6.3, here are the workflow logs:
report-1:       one
report-2:       two
report-1:       one-again
report-3:       three
report-2:       two-again
report-4:       four
report-3:       three-again
report-5:       five
report-4:       four-again
report-5:       five-again

Notice how the numbers are nicely interwoven exactly as you would expect based on those sleep commands. (Total delays are, respectively, 0, 10, 15, 20, 25, 30, 35, 40, 45, 55.)
In Argo v2.7.0, here's what I get (showing a few attempts)
logs-problems-6q9v9-2155440197: five
logs-problems-6q9v9-2155440197: five-again
logs-problems-6q9v9-2138662578: four
logs-problems-6q9v9-2138662578: four-again
logs-problems-6q9v9-2088329721: one

logs-problems-6q9v9-2155440197: five
logs-problems-6q9v9-2155440197: five-again
logs-problems-6q9v9-2088329721: one
logs-problems-6q9v9-2088329721: one-again

logs-problems-6q9v9-2054774483: three
logs-problems-6q9v9-2054774483: three-again
logs-problems-6q9v9-2037996864: two
logs-problems-6q9v9-2037996864: two-again
logs-problems-6q9v9-2138662578: four
logs-problems-6q9v9-2138662578: four-again
logs-problems-6q9v9-2155440197: five

Among the dropped lines, I do notice that (as you can see in these examples) the again part is only dropped if it's the last pod listed, which suggests that something is prematurely exiting.
Beyond the dropping issue, I would really like to see the same sorting of log lines by timestamp that v2.6.3 and prior versions had. It seems that the new logs makes no attempt to do this, and just reports all of the pods in a jumbled-up order.

@samath117 there is a a linked PR for this, that should fix some of the issues. There is an ordering issue that affects pods that are running when the logging starts that is related to Go routine scheduling. I'll need to investigate further.

All items are now fixed with the exception of the -w flag which I personally don't think we should fix. I'm open to a good argument to fix it - one beyond it is a breaking change.

Closing as fixed in #2595 and #2639

repo: argoproj/argo


text:
Create workflow-controller deployment if it doesn't exist.

This commit creates the workflow-controller deployment only if it doesn't
already exist. The deployment gets updated if it exists.
Testing Done:

Created new deployment on a new cluster. Worked as expected.

Ran installer on existing deployment. Verified that the deployment was updated.

Closes #506.

Currently, argo install fails: https://github.com/argoproj/argo/issues/506. This commit fixes the problem.

As @jessesuen mentioned, this is a problem only with Kubernetes versions prior to 1.8. The correct fix would be to check the Kubernetes version while installing and show an appropriate error message.
This PR is therefore not required.


text:
width: fit-content for tables is hard to override or customize

I'm having trouble with this style:
https://github.com/argyleink/open-props/blob/59bb7e5399df56f8b1a666e0d9fb2e5f7521ab30/src/extra/normalize.src.css#L298-L299
It makes my table much narrower than without this style, and I can't figure out how to override it to get the default table layout. What's the right way to effectively cancel this rule? I've tried table { width: initial !important } but no luck.
This changed in https://github.com/argyleink/open-props/pull/394.

yo!
no !important required to override a :where() selectors, you should be able to just set a new width value for your table and it's g2g 👍🏻  the clue that the change doesnt feel like it's taking effect, may mean the sizing issue is elsewhere.
you may also want to overwrite the max width on td, if you're looking to have a wider table:
table {
  width: auto;
}

td {
  max-inline-size: auto;
}

Maybe your table is in a grid or flexbox container and *-content is used and effecting the inline sizing of your table too?

authors: argyleink foolip

repo: argyleink/open-props


text:
Color change

Hi, i'm wiphone wu.
I think activityBarBadge.background and statusBarItem.remoteBackground Change to cyan looks better.

Thanks, merge it.

authors: arifbudimanar wiphone-wu

repo: arifbudimanar/arifcode-theme


text:
Implement "AntaTest" and "AntaAsyncTest" as protocols

Sharing some ideas that could improve the framework... Need a way to enforce the format of the test functions to ensure all functions are written correctly (return boolean, etc) and the user can introduce more functions on runtime. Both normal/sequential and async modes could be supported, running the async tests in parallel on a "AntaAsyncTestRunner" and the other functions in a "AntaTestRunner". A test manager could handle the runners and dispatch the tests to each of them delegating the execution. So having the tests modelled in a  flexible way could be the first step towards a more generic execution framework that can be customized/extended by the user on runtime.

Closing duplicate (opened by mistake due to network issues)


text:
ipv6_address_virtual_secondaries is defined in eos_designs role but not in eos_cli_config_gen

Issue Summary
#1760 Added support for ipv6_address_virtual_secondaries in eos_designs but did not take into account that it was not defined in eos_cli_config_gen. This bug can be seen in eos_designs_unit_tests molecule very well where the knob is defined but the generated eos config does not have the command defined:
https://github.com/aristanetworks/ansible-avd/blob/1869274cbcdd98e1f2689aea771a1da17703412c/ansible_collections/arista/avd/molecule/eos_designs_unit_tests/inventory/group_vars/DC1_TENANTS_NETWORKS/Tenant_D.yml#L8-L17
https://github.com/aristanetworks/ansible-avd/blob/970908095a544986fe8a1c1d91017ab8e116e63b/ansible_collections/arista/avd/molecule/eos_designs_unit_tests/intended/structured_configs/DC1-LEAF2A.yml#L825-L836
https://github.com/aristanetworks/ansible-avd/blob/1869274cbcdd98e1f2689aea771a1da17703412c/ansible_collections/arista/avd/molecule/eos_designs_unit_tests/intended/configs/DC1-LEAF2A.cfg#L477-L482
Which component(s) of AVD impacted
eos_cli_config_gen
How do you run AVD ?
Ansible CLI (with virtual-env or native python)
Steps to reproduce
No response
Relevant log output
No response
Contributing Guide

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

We have checked in a few lab devices, and it seems like we implemented this by mistake in eos_designs, since it is not even supported in EOS. So the "fix" here will be to remove the keys from eos_designs. I also caught an issue with ipv6_virtual_router_addresses, where the values can only be without mask.

Checked again, and EOS accepts multiple ipv6 address virtual commands without the secondary keyword, so we will fix this.

authors: ClausHolbechArista melkypie

repo: aristanetworks/ansible-avd


text:
feat(eos_cli_config_gen): Implement l3dot1q support for interfaces

Change Summary

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes)
[ ] Documentation content changes
[ ] Other (please describe):

Related Issue(s)
Fixes #546
Component(s) name
arista.avd.eos_cli_config_gen
Proposed changes

Implement new interface type for both ethernet_interfaces and port_channels:

ethernet_interfaces:
  Ethernet1:
    description: to WAN-ISP1-01 Ethernet2
    type: routed
  Ethernet1.101:
    description: to WAN-ISP-01 Ethernet2.101 - VRF-C1
    type: l3dot1q
    encapsulation:
      dot1q:
        vlan: 101

port_channel_interfaces:
  Port-Channel8:
    description: to Dev02 Port-channel 8
    type: routed
  Port-Channel8.101:
    description: to Dev02 Port-Channel8.101 - VRF-C1
    type: l3dot1q
    encapsulation:
      dot1q:
        vlan: 101

How to test
Molecule for arista.avd.eos_cli_config_gen
Checklist:

[x] My code has been rebased from devel before I start
[x] I have read the CONTRIBUTING document.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have updated molecule CI testing accordingly
[x] All new and existing tests passed (pre-commit, make linting and make sanity-lint).

README updated to report data model new entries


text:
Unit testing geofences

Please check all of the platforms you are having the issue on (if platform is not listed, it is not supported)

[] iOS
[] Android
[] UWP
[] .NET Standard
Everything works great ;-)

Version of OS(s) listed above with issue
n/a
Actual library functionality works great - you are awesome! 👍
I am having trouble writing viewmodel unit tests and attempting to mock out the geofencing plugin.
Version of Library
2.0.0
Expected Behaviour
It would be really great if my unit test mock would work. I don't expect that the library be updated in any way. I am thinking there is something I need to do to mock this up that I am not doing? I guess I just need guidance. If you already have the answer here somewhere, I apologize if I didn't see it.
Actual Behavior
If applicable, please include entire exception - type, message, stacktrace
System.NotSupportedException : [Plugin.Geofencing] No platform plugin found.  Did you install the nuget package in your app project as well?
So, I definitely have the permissions, geolocator and geofencing plugins installed the unit test project, the platform projects and the core (which targets .Net Standard 1.3).
I typically use a pattern like James has described here:
https://montemagno.com/unit-testing-plugins-for-xamarin/
`
//first an abstract like this:
public static class CrossGeofences
{
private static IGeofenceManager geofenceManager;
    public static IGeofenceManager Current
    {
        get
        {
            return geofenceManager ?? (geofenceManager = CrossGeofences.Current);
        }
        set
        {
            geofenceManager = value;
        }
    }
}

//then a mock like this:
public class MockGeofenceManager : IGeofenceManager
{
public event EventHandler RegionStatusChanged;
    public Distance DesiredAccuracy { get => new Distance() { TotalKilometers = 1D }; set => new Distance() { TotalKilometers = 1D }; }
    public IReadOnlyList<GeofenceRegion> MonitoredRegions => new List<GeofenceRegion>() { new GeofenceRegion("New", new Plugin.Geofencing.Position(0D, 0D), new Distance()) };

    public Task<GeofenceStatus> RequestState(GeofenceRegion region, CancellationToken? cancelToken = null)
    {
        return Task.FromResult(GeofenceStatus.Entered);
    }

    public void StartMonitoring(GeofenceRegion region)
    {
    }

    public void StopAllMonitoring()
    {
    }

    public void StopMonitoring(GeofenceRegion region)
    {
    }
}

//then a test like this:
[Test]
public async void VMInitTest()
{
Permissions.Instance = new MockPermissions();
//middle of the ocean
CrossGeolocator.Current = new MockGeolocatorPosition00();
CrossGeofences.Current = new MockGeofenceManager();
Connectivity.Instance = new MockConnectivityConnected();
CheckInOutViewModel vm = new CheckInOutViewModel(new MockNavService(), new
MockAnalyticsService(), new MockDataService(), new MockLoggingService());
        await vm.Init(); //Getting a not Implemented exception right here on the CrossGeolocator plugin. not sure why.
        Assert.AreEqual(GeofenceStatus.Exited, vm.GeofenceStatus);
     }

//and in my viewmodel, I am clearing the Geofence like this
//clean up
CrossGeofences.Current.StopAllMonitoring();
`
I am wondering if I need to inject a mock of the geolocator plugin somewhere into the geofencing plugin somehow?
Alternatively, I am thinking that I just need to put the plugin behind an interface and mock it from there to test my code. Basically, I am using the geofence in an application that only needs to log behavior during a certain time period and I want a unit test around that code.
Seriously, you wrote a really cool thing here and I don't want to waste your time. if you know exactly what is going on here, then it would be great to know how to make this work, but this problem isn't a super high priority. Thank you!
Code of Conduct

No Library Update Requests
No Timeline Requests
Please read through the documentation and FAQs
Please be respectful of my time. I put a lot of effort into my libraries.  I try to support the issue requests within a day.  I'm not psychic, so please take the time to fill out the above form as complete as possible

The CrossGeofences already has a setter specifically so you can do things like this.

Sweet! Works like a charm!
So, for those following along: To fix: get rid of your abstract...
Don't need this part:
//first an abstract like this:
/*public static class CrossGeofences
{
private static IGeofenceManager geofenceManager;
public static IGeofenceManager Current
{
    get
    {
        return geofenceManager ?? (geofenceManager = CrossGeofences.Current);
    }
    set
    {
        geofenceManager = value;
    }
}

}*/

authors: aritchie robintschroeder

repo: aritchie/geofences


text:
Make all methods asynchronous

I am running into race conditions when I call
UserDialogs.Instance.HideLoading();
var action = await DisplayAlert();

specifically on Xamarin.Forms.iOS. It would be great if you could make at least HideLoading async, but I could see the use cases for others to be async as well.

All dialogs are asynchronous accept progress.  Follow the samples for progress with a sync.  Show/hide loading are legacy that I only added by request

Your other methods don't work well with the mvvm structure I have, or I would use them. I need to be able to Show and Hide based upon a property. Thanks for your quick response.

There is no relevant reason to make the show/hide asynchronous.  Alert already has an async counterpart in alertasync.

Thanks for your time.

repo: aritchie/userdialogs

license: mit

license_source: bigquery


text:
Restricting min width/height of content to size of viewport.

Wasn’t sure where to put this, so let me know if there is a better place! Wanted to share a solution for something I couldn’t find the answer to.
I needed a way to have the <g /> default to filling the viewport, even if it meant one dimension overflows (essentially the same affect that background-size: cover; has in CSS). In addition, I needed pan coordinates to be ensure none of the four sides of the <g /> ever enter the interior of the viewport. Basically x and y can never have positive values.
This is what I ended up using:
let art = null;

const beforePan = (oldPan, newPan) => {
	const sizes = art.getSizes();

	// Multiply viewbox width of SVG by current zoom and subtract
	// viewport width to get amount of overflown SVG.
	const x = -((sizes.viewBox.width * sizes.realZoom) - sizes.width);

	// Multiply viewbox height of SVG by current zoom and subtract
	// viewport height to get amount of overflown SVG.
	const y = -((sizes.viewBox.height * sizes.realZoom) - sizes.height);

	// Determine what’s lower, the current drag x/y coords or zero
	const minx = Math.min(0, newPan.x);
	const miny = Math.min(0, newPan.y);

	return {
		x: Math.max(x, minx),
		y: Math.max(y, miny)
	};
};

// Expose to window namespace for testing purposes
art = svgPanZoom('#wrapper', {
	beforePan,
	center: true,
	contain: true,
	fit: false,
	mouseWheelZoomEnabled: false,
	zoomEnabled: true
});

Hope this helps someone else!

Hi @brandondurham
Thank you for your solution to the problem. I also don't know where we could store such stuff, so let it be in issues.
I'll close the issue, but whoever needs it can easily find it through search.

authors: brandondurham bumbu

repo: ariutta/svg-pan-zoom


text:
Does not work AOT

I get
TypeError: Cannot read property 'removeEventListener' of undefined
Should be implemented with the following:
https://medium.com/@zainzafar/localstorage-with-angular-universal-2a111fb4af72

Made a fork and fixed it: https://github.com/chippdnyc/ng-click-outside

A PR is welcome!

Done :)

Published in v3.0.0 (which now requires Angular 4+). Thanks @wildlifechorus !

authors: arkon wildlifechorus

repo: arkon/ng-click-outside


text:
Invalid argument changing the ALSA playback volume in bluealsa-aplay

Problem
Yesterday, I reinstalled bluealsa (as a sink) after a fresh Raspberry Pi OS Bookworm install on my Raspberry Pi 4, but the volume control from my phone wasn't working, even though I could see the volume changes from bluetoothctl.
Using alsamixer, though, I noticed that it does change the volume of the bluealsa capture device, even though I can't hear the difference: when the volume is set to any value except 0, you always hear it at the maximum volume; when it's 0, the audio is just muted. Also, I can control the volume just fine from alsamixer.
Reproduction steps
Run bluealsa and bluealsa-aplay. I used these parameters: -p midi --midi-advertisement -p a2dp-source -p a2dp-sink --a2dp-volume -c sbc -c aac -c aptx -c aptx-hd -c ldac --ldac-abr --ldac-quality=high for bluealsa, and both none and --pcm=plughw:0,0 for bluealsa-aplay. The volume will not change.
Setup

Raspberry Pi OS Bookworm (64-bit)
BlueALSA is at the latest version at the time of writing (v4.2.0)
BlueZ 5.66
ALSA 1.2.8
Built from branch master and release tag v4.2.0 (261f184 (HEAD, tag: v4.2.0) Minor version bump (release 4.2.0)).

Configure options:

--enable-manpages
--enable-aac
--enable-ldac
--with-libopenaptx
--enable-mp3lame
--enable-mpg123
--enable-aptx
--enable-aptx-hd
--enable-msbc
--enable-rfcomm
--enable-hcitop
--enable-systemd
--enable-cli
--enable-faststream
--enable-midi
--enable-ofono
--enable-upower
--enable-a2dpconf
--with-systemdbluealsaargs='-S -p midi --midi-advertisement -p a2dp-source -p a2dp-sink --a2dp-volume -c sbc -c aac -c aptx -c aptx-hd -c ldac --ldac-abr --ldac-quality=high'

Additional context
Checking the logs (even with the --enable-debug flag on the ./configure command and recompiling), the only actually useful info I could see was:
bluealsa-aplay: [197226] D: ../../../utils/aplay/aplay.c:692: Opening ALSA playback PCM: name=default channels=2 rate=96000
bluealsa-aplay: [197226] D: ../../../utils/aplay/aplay.c:708: Opening ALSA mixer: name=default elem=Master index=0
bluealsa-aplay: [197226] D: ../../../utils/aplay/aplay.c:467: Setting up ALSA mixer volume synchronization
bluealsa-aplay: [29403] E: ../../../utils/aplay/aplay.c:349: Couldn't get ALSA mixer playback dB level: Invalid argument
bluealsa-aplay: [29339] E: ../../../utils/aplay/aplay.c:433: Couldn't set ALSA mixer playback dB level: Invalid argument

on the logs of bluealsa-aplay. Looks like the only workaround is to use the --volume=software parameter on bluealsa-aplay for now.
The audio seems to be passing through pipewire when running bluealsa-aplay as user. If I run it as root so that it won't pass through pipewire, I'll still get sound playing, but with the same issue as above, but with different logs:
bluealsa-aplay: [197569] D: ../../../utils/aplay/aplay.c:692: Opening ALSA playback PCM: name=default channels=2 rate=96000
bluealsa-aplay: [197569] D: ../../../utils/aplay/aplay.c:708: Opening ALSA mixer: name=default elem=Master index=0
bluealsa-aplay: [197569] W: ../../../utils/aplay/aplay.c:712: Couldn't open ALSA mixer: Mixer element not found

In general it is not a good idea to run bluealsa and pipewire together unless you really know what you are doing.
So, first I assume you have disabled the pipewire bluetooth support (you cannot have both pipewire and bluealsa fighting over A2DP and expect to have any kind of stable Bluetooth audio from either of them).
Second, pipewire does not like applications accessing the sound card(s) directly. You will find problems if an application sends audio to pipewire at the same time as bluealsa-aplay is sending audio to plughw
Third, assuming pipewire has installed itselt as default ALSA PCM, it appears from the logs that the pipewire ALSA pcm plugin Master control does not offer dB level settings as required by bluealsa-aplay. You can check this by running
amixer scontents

The audio only passes through PipeWire when running as user, as root it will directly go to ALSA. As soon as I noticed that PipeWire was installed, I instantly disabled and stopped it so it wouldn't give problems, as I don't need it since I only use the audio for BlueALSA. I also tried this with PulseAudio to see if PipeWire was the problem, and it persists, even after setting up the PulseAudio integration as of the wiki page (the bluepulse script/command from the wiki even fails to initialize the module-alsa-sink).

Opening ALSA mixer: name=default elem=Master index=0
Couldn't open ALSA mixer: Mixer element not found

I think that error message is very clear: your default mixer does not have a control called "Master". As I said in my first comment, use amixer scontents to see the available scontrols on the default mixer, and to check if they have dB scale support; and see the bluealsa-aplay manual page for how to use a different control name.

Okay, it turned out that the device name was "PCM", so I had to specify it on bluealsa-aplay. There's one issue now: if I set the volume from alsamixer to anything higher to 0dB, bluealsa-aplay will crash because of an assertion error:

bluealsa-aplay: [79994] D: ../../../utils/aplay/aplay.c:692: Opening ALSA playback PCM: name=default channels=2 rate=96000
bluealsa-aplay: [79994] D: ../../../utils/aplay/aplay.c:708: Opening ALSA mixer: name=default elem=PCM index=0
bluealsa-aplay: [79994] D: ../../../utils/aplay/aplay.c:467: Setting up ALSA mixer volume synchronization
bluealsa-aplay: ../../../utils/aplay/aplay.c:369: io_worker_mixer_volume_sync_ba_pcm: Assertion `volume_db_sum <= 0LL' failed.
[1]    79993 abort      bluealsa-aplay --volume=mixer --mixer-name=PCM --mixer-index=0

The Raspberry Pi's maximum volume is at 4 dB, and 0 dB is 96% of the volume. Is it not possible to make it go up to 100%?

A little additional information. I've just found this: https://github.com/raspberrypi/linux/issues/2982
So it seems this apparent anomaly is deliberately coded into the RPi audio driver, although the reasoning that it gives "a bit of extra boost" seems rather odd. The maximum volume is the same no matter if they choose to label it as 0dB or 4dB. How can a label make any difference? Anyway it is what it is. I wonder if this driver is unique in having this seemingly bizarre dB scale?

I don't know if only the Raspberry Pi has this 4dB, but at this point I think anyone could change this by just patching the kernel. I don't know if it can be any helpful, but in the amixer scontents command I noticed this line:
 Limits: Playback -10239 - 400

which are the minimum and maximum volume values.

@Vinchethescript, please try this branch: https://github.com/arkq/bluez-alsa/tree/dbrange

Its been that way on Raspi since the early days.  The 4dB is a software(or firmware) boost.   I realize that it makes no difference for bluetooth, but at 0dB it produced bit perfect output on HDMI.

@Vinchethescript, please try this branch: https://github.com/arkq/bluez-alsa/tree/dbrange

This patch didn't change much, as it still reaches up to 0dB. This time, though, there's no assertion error anymore, but when I try to reach a higher value than 0dB through alsamixer or amixer sset PCM 100%, it gets back to 0dB. If I try to raise the volume using the arrow buttons, it instead lowers somehow (and I checked if it also happens when bluealsa-aplay isn't running and when audio is not playing - it doesn't).

This time, though, there's no assertion error anymore, but when I try to reach a higher value than 0dB through alsamixer or amixer sset PCM 100%, it gets back to 0dB.

Makes sense. I will try to test it locally then. But the approach will be to map 100% to max dB for selected mixer control.

I realize that it makes no difference for bluetooth, but at 0dB it produced bit perfect output on HDMI.

Would it make any sense to limit dB level to 0dB and do not allow this boost? My current approach would be to rescale 0-100% to "some very low arbitrary dB level" - "max dB of used mixer control". Such rescaling will allow this 4dB boost for 100% Bluetooth volume, but then it will be rather impossible to set 0dB when linked with Bluetooth controls.

For what it's worth, setting 0dB on a raspi was almost impossible to do with the graphical mixer.  The only way we could do it reliably was to use amixer to set the dB to zero.  So I don't see a big deal just scaling based on min and max reported from alsa.

@Vinchethescript I've just updated the dbrange branch. Please, try it again.

It now works great, and volume can go all the way up both when managed from my phone and from alsamixer. While testing, though, I got into another issue: if I stop the music, then change the volume from my phone after it gets marked as inactive and then play it again, the volume will get back to the previous value. If I change it through alsamixer, instead, it will set it to the value from alsamixer as soon as audio is played.

Update: it just crashed because of an assertion error while the device was inactive:
bluealsa-aplay: [91798] D: ../../../utils/aplay/aplay.c:735: Opening ALSA playback PCM: name=default channels=2 rate=96000
bluealsa-aplay: [91798] D: ../../../utils/aplay/aplay.c:342: Opening ALSA mixer: name=default elem=PCM index=0
bluealsa-aplay: [91798] D: ../../../utils/aplay/aplay.c:510: Setting up ALSA mixer volume synchronization
bluealsa-aplay: [91798] D: ../../../utils/aplay/aplay.c:646: BT device marked as inactive: F0:39:65:CA:B4:4A
bluealsa-aplay: simple.c:270: snd_mixer_selem_has_playback_channel: Assertion `(elem)->type == SND_MIXER_ELEM_SIMPLE' failed.
[1]    91797 abort      bluealsa-aplay --volume=mixer --mixer-name=PCM --mixer-index=0

I don't know what caused this as I wasn't looking at the logs when it happened.

Update: it also just crashed because of an assertion error while the device was inactive:

Could you run bluealsa-aplay via gdb and in case of crash send here the backtrace?

Could you run bluealsa-aplay via gdb and in case of crash send here the backtrace?
For some reason, I can't seem to reproduce this error anymore. It happened randomly when I was not playing anything from the phone. Also, in the source code there's no file called simple.c, so I don't know where this assertion is located.

So when the playback mixer is released, it is not linked with Bluetooth mixer. Then, when playback starts, the mixers are linked and volume is synchronized again.
I see. This also means it can't set the volume as soon as the playback starts, right?

This also means it can't set the volume as soon as the playback starts, right?

The volume is synchronized just before the playback starts (from playback PCM to Bluetooth volume - speaker's volume is a master in that case). So, if the playback mixer has -60 dB and phone 100%, phone volume indicator should be turned down.

I see. Since the issue has been resolved, I think this can be closed. Thank you!

authors: Vinchethescript arkq borine paul-1

repo: arkq/bluez-alsa


text:
empty 'LooperOutput' folder created when not exporting

Before continuing with the bug report, does updating to the latest version fix this issue? No
Describe the bug
When just viewing printed out loop points in the terminal, a ‘LooperOutput’ folder is created in the input file path
Debugging Information
pymusiclooper -i export-points --path $file --brute-force
Expected behavior
An empty folder should not be created when not exporting
Environment Information (please complete the following information):

OS: Windows 11
PyMusicLooper version being used (execute pymusiclooper --version in the terminal if unsure): v3.2.3
Is FFmpeg installed and working? (execute ffmpeg --version in the terminal if unsure): Yes
Additional context
Add any other context about the problem here.

Thanks for reporting! Fixed in v3.2.4.

authors: arkrow azumukupoe

repo: arkrow/PyMusicLooper


text:
Add canonical serialization for G2Prepared

Description
This is due to Groth16's implementation that uses PreparedVerifyingKey. Now it no longer has ToBytes and there is a preference to do CanonicalSerialize.
To derive prepared VK directly, we would like G2Prepared to implement CanonicalSerialize and CanonicalDeserialize.
This, however, adds a restriction. So, it would be desirous to know if we want to place this requirement.

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[x] Targeted PR against correct branch (master)
[x] Linked to GitHub issue with discussion and accepted design OR have an explanation in the PR that describes this work.
[x] Re-reviewed Files changed in the GitHub PR explorer

N/A:

[ ] Wrote unit tests
[ ] Updated relevant documentation in the code
[ ] Added a relevant changelog entry to the Pending section in CHANGELOG.md

-> Still, we should prioritize #447.

Ready for a review. I think the next step is about r1cs_std.

repo: arkworks-rs/algebra


text:
Question: differences between v1.9 and v1.9b

Hi there Armel!
As per the descriptions provided in the releases section, it wasn't clear what exactly was correted/implemented in version 1.9b when compared to the previous 1.9. Could you please clarify?
Thanks in advance!

Hello,
Yes, of course.
On version 1.9, there was a bug with LOW powers.
LOW1 = 125mW
LOW2 = 250mW
LOW3 = 500mW
LOW4 = 1W
LOW5 = <20mW
On version 1.9b,
LOW1 = <20mW
LOW2 = 125mW
LOW3 = 250mW
LOW4 = 500mW
LOW5 = 1W
In addition, version 1.9b also displays the CTCSS or DCS code, below the frequency, in Dual VFO mode (and if SetGui is set to Tiny).
Regards,
Armel F4HWN.

I tried to display CTCSS code in PMR band and I could not. No code shows below frequency. Am I missing anything?

Ok, so yes, you certainly miss something.
First of all, there's CTCSS (or DCS) for reception (Rx) and CTCSS (or DCS) for transmission (Tx).
Try this on your transceiver.
1 - move to a PMR memory channel
2 - enter menu 4, RxCTCS, choose (for example) 67.0 Hz and confirm
3 - now take a look, CT 67.0 is visible on the VFO screen !
Now, if you select a TxCTCS with menu 6, choose (for example) 71.9 Hz and confirm
You always see CT 67.0 on the VFO screen, because your transceiver is on Rx. But if you push PTT, tour transceiver in on Tx and you will see CT 71.9 Hz...

Thank you very much for the extensive explanation.

authors: KerseyPaul armel spamsool


text:
🛑 NWTFV is down

In c5498c9, NWTFV (https://nwtfv.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: NWTFV is back up in 87fa679.

repo: arnef/status


text:
Android installation of plugin fails if colors.xml already exists

I get this error as another plugin has already created the colors.xml file and the plugin doesn't append but tries to copy it first.
Failed to install 'cordova-plugin-firebasex': CordovaError: Uh oh!
"/Users/xx/Workspace/xx/xx-xx-app/platforms/android/app/src/main/res/values/colors.xml" already exists!

Bug report
Current behavior:

use any plugin which adds colors to the res/values/colors.xml
simplest way is to create this file already.
Then try to install the plugin
Expected behavior:
line 59 of plugin.xml tries to copy the colors file and installation fails if it's already there.
<source-file src="src/android/colors.xml" target-dir="res/values" />
Steps to reproduce:
use any plugin which adds colors to the res/values/colors.xml
the simplest way is to create this file already.
Then try to install the plugin
Environment information

Cordova CLI version

cordova -v 9.0.0 (cordova-lib@9.0.1)

Cordova platform version

cordova platform ls   android 8.0.0  ios 4.5.5

Plugins & versions installed in project (including this plugin)

cordova plugin ls

plugin list
com.adjust.sdk 4.18.0 "Adjust"
cordova-clipboard 1.3.0 "Clipboard"
cordova-plugin-add-swift-support 2.0.2 "AddSwiftSupport"
cordova-plugin-advanced-http 2.1.1 "Advanced HTTP plugin"
cordova-plugin-androidx 1.0.2 "cordova-plugin-androidx"
cordova-plugin-androidx-adapter 1.1.0 "cordova-plugin-androidx-adapter"
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-camera 4.1.0 "Camera"
cordova-plugin-device 2.0.3 "Device"
cordova-plugin-file 6.0.2 "File"
cordova-plugin-firebasex 6.1.0 "Google Firebase Plugin"
cordova-plugin-inappbrowser 3.1.0 "InAppBrowser"
cordova-plugin-ionic-keyboard 2.1.3 "cordova-plugin-ionic-keyboard"
cordova-plugin-ionic-webview 4.1.1 "cordova-plugin-ionic-webview"
cordova-plugin-is-debug 1.0.0 "IsDebug"
cordova-plugin-media 5.0.3 "Media"
cordova-plugin-media-capture 3.0.3 "Capture"
cordova-plugin-network-information 2.0.2 "Network Information"
cordova-plugin-secure-storage 3.0.2 "SecureStorage"
cordova-plugin-splashscreen 5.0.3 "Splashscreen"
cordova-plugin-statusbar 2.4.3 "StatusBar"
cordova-plugin-whitelist 1.3.4 "Whitelist"
cordova-plugin-x-socialsharing 5.4.7 "SocialSharing"
es6-promise-plugin 4.2.2 "Promise"
phonegap-plugin-barcodescanner 8.1.0 "BarcodeScanner"

- Dev machine OS and version, e.g.
    - OSX
       ProductName:	Mac OS X
       ProductVersion:	10.14.5
       BuildVersion:	18F132
Android build issue:

Node JS version

node -v v10.14.0

Console output

console output

Failed to install 'cordova-plugin-firebasex': CordovaError: Uh oh!
"/Users/xx/Workspace/xx/xx-xx-app/platforms/android/app/src/main/res/values/colors.xml" already exists!

FWIW I have an open PR on this repo which also fixes the colors.xml issue:
https://github.com/arnesson/cordova-plugin-firebase/pull/1056

@tom-hartz : i edited plugin.xml with ur changes but got same error again.

repo: arnesson/cordova-plugin-firebase


text:
【JS面试】基础篇

1、概念
闭包函数：声明在一个函数中的函数，叫做闭包函数。
闭包：内部函数总是可以访问其所在的外部函数中声明的参数和变量，即使在其外部函数被返回（寿命终结）了之后。
2、特点
让外部访问函数内部变量成为可能；
局部变量会常驻在内存中；
可以避免使用全局变量，防止全局变量污染；
会造成内存泄漏（有一块内存空间被长期占用，而不被释放）
3、闭包的创建：
闭包就是可以创建一个独立的环境，每个闭包里面的环境都是独立的，互不干扰。闭包会发生内存泄漏，每次外部函数执行的时 候，外部函数的引用地址不同，都会重新创建一个新的地址。但凡是当前活动对象中有被内部子集引用的数据，那么这个时候，这个数据不删除，保留一根指针给内部活动对象。
闭包内存泄漏为： key = value，key 被删除了 value 常驻内存中; 局部变量闭包升级版（中间引用的变量） => 自由变量；
4、闭包的应用场景
结论：闭包找到的是同一地址中父级函数中对应变量最终的值
function outerFn(){
  var i = 0;
  function innerFn(){
      i++;
      console.log(i);
  }
  return innerFn;
}
var inner = outerFn();  //每次外部函数执行的时候,都会开辟一块内存空间,外部函数的地址不同，都会重新创建一个新的地址
inner();
inner();
var inner2 = outerFn();
inner2();
// 1、2、1

instanceof 运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。

实现数组扁平化flat方法
// ES5实现
let arr = [
    [1, 2, 2],
    [3, 4, 5, 5],
    [6, 7, 8, 9, [11, 12, [12, 13, [14]]]], 10
];

function myFlat() {
  _this = this; // 保存 this：arr
  let newArr = [];
  // 循环arr中的每一项，把不是数组的元素存储到 newArr中
  let cycleArray = (arr) => {
    for (let i=0; i< arr.length; i++) {
      let item = arr[i];
      if (Array.isArray(item)) { // 元素是数组的话，继续循环遍历该数组
        cycleArray(item);
        continue;
      } else{
        newArr.push(item); // 不是数组的话，直接添加到新数组中
      }
    }
  }
  cycleArray(_this); // 循环数组里的每个元素
  return newArr; // 返回新的数组对象
}
Array.prototype.myFlat = myFlat;
arr = arr.myFlat(); // [1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 9, 11, 12, 12, 13, 14, 10]

// ES6实现
const myFlat = arr => {
  return arr.reduce((pre, cur) => {
    return pre.concat(Array.isArray(cur) ? myFlat(cur) : cur);
  }, []);
};
console.log(myFlat(arr));
// [12, 23, 34, 56, 78, 90, 100, 110, 120, 130, 140]

// ES6实现
const myFlat = (arr) => {
  let newArr = [];
  let cycleArray = (arr) => {
    for(let i = 0; i < arr.length; i++) {
      let item = arr[i];
      if (Array.isArray(item)) {
        cycleArray(item);
        continue;
      } else {
        newArr.push(item);
      }
    }
  }
  cycleArray(arr);
  return newArr;
}

myFlat(arr); // [1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 9, 11, 12, 12, 13, 14, 10]

深拷贝
如果您没有在对象中使用Date、函数、undefined、Infinity、RegExp、Map、Set、blob、、稀疏数组、类型化数组或其他复杂类型，那么可以使用一行简单代码来深拷贝一个对象：
JSON.parse(JSON.stringify(object))

微任务与宏任务
宏任务：当前调用栈中执行的任务称为宏任务。（主代码快，定时器等等）。
微任务： 当前（此次事件循环中）宏任务执行完，在下一个宏任务开始之前需要执行的任务为微任务。（可以理解为回调事件，promise.then，proness.nextTick等等）。
宏任务中的事件放在callback queue中，由事件触发线程维护；微任务的事件放在微任务队列中，由js引擎线程维护。
而宏任务一般是：包括整体代码script，setTimeout，setInterval。微任务：Promise.then，process.nextTick。

微任务与宏任务
宏任务：当前调用栈中执行的任务称为宏任务。（主代码快，定时器等等）。
微任务： 当前（此次事件循环中）宏任务执行完，在下一个宏任务开始之前需要执行的任务为微任务。（可以理解为回调事件，promise.then，proness.nextTick等等）。
宏任务中的事件放在callback queue中，由事件触发线程维护；微任务的事件放在微任务队列中，由js引擎线程维护。
而宏任务一般是：包括整体代码script，setTimeout，setInterval。微任务：Promise.then，process.nextTick。

现代 JavaScript 教程  https://zh.javascript.info/

跨域 https://www.cnblogs.com/goloving/p/13986323.html

跨域 https://www.cnblogs.com/goloving/p/13986323.html

用值填充JavaScript数组的5种方法
Array.prototype.fill()
Array.prototype.fill(value, start=0, end=this.length)
const arr = [1, 2, 3].fill(6);
填充升序数字
const arr = [...new Array(5).keys()]   // [0,1,2,3,4]

用undefined填充
const arr = [...new Array(3)]   // [undefined, undefined, undefined]

JSON.stringify深拷贝的缺点
http://events.jianshu.io/p/53bb060cab64

一文帮你搞定90%的JS手写题，真香！ https://mp.weixin.qq.com/s/lgeKcq2Q5Biot6VhXn20rQ
20个不容错过的ES6技巧  https://mp.weixin.qq.com/s/S4xz7FT-6Z_ljuMfDMgKjQ
近一万字的ES6语法知识点补充  https://juejin.cn/post/6844903775329583112
一个合格的中级前端工程师需要掌握的 28 个 JavaScript 技巧 https://juejin.cn/post/6844903856489365518

2022面试题汇总： https://juejin.cn/post/7137294579346178084


text:
Added 3 vidoes of 10 to 15 mins on css

L31:https://drive.google.com/file/d/1nxsx4bt8f_LkJ4CusiotiY1h1ReBvOm8/view?usp=sharing
L32:https://drive.google.com/file/d/1R1-I26fHedjxk8F_QoT9_5NgD9Ta-T4w/view?usp=sharing
L33:https://drive.google.com/file/d/1OKfeA_s1B4s9xYeDipW0id0mx65UTHw1/view?usp=sharing

👨💻 Changes proposed

✔ Check List (Check all the applicable boxes)

[ ] My code follows the code style of this project.
[ ] This PR does not contain plagiarized content.
[ ] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers

📷 Screenshots

@singhmansi25 please review this PR.....


text:
🛑 Nitter is down

In bf9e8a6, Nitter (https://tw.artemislena.eu) was down:

HTTP code: 502
Response time: 3584 ms

Resolved: Nitter is back up in 67c1c10.

repo: artemislena/upptime


text:
🛑 CryptPad is down

In 636cc4b, CryptPad (https://pad.artemislena.eu) was down:

HTTP code: 0
Response time: 0 ms

Resolved: CryptPad is back up in cc7e201.


text:
🛑 Libreddit is down

In 4810c4d, Libreddit (https://lr.artemislena.eu) was down:

HTTP code: 404
Response time: 3152 ms

Resolved: Libreddit is back up in e28d776 after 281 days, 11 hours, 41 minutes.


text:
🛑 Whoareyou is down

In 1897556, Whoareyou (https://artemislena.eu/services/whoareyou.html) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Whoareyou is back up in f1f3317.


text:
Fix #247

Hello!
I make a PR for resolving #247
If you ok, please check this PR!
Thanks

Hi @KBuild 👋 thanks for the PR. It looks like Rubocop isn't happy. You can fix this by running bundle install ; rake lint locally.
If RuboCop wants to autocorrect code, consider disabling the corrections with rubocop:disable ... comments to retain the semantics of these foundational methods.
Once RuboCop is happy, this looks good to merge.

@lopopolo
Thanks for comment!
I fixed lint!

authors: KBuild lopopolo

repo: artichoke/artichoke


text:
Change url

How can i change the url for endpoint?
This is part of the wsdl of FEDEX:
<operation name="getRates">
      <s1:operation soapAction="http://fedex.com/ws/rate/v18/getRates" style="document"/>
      <input>
        <s1:body use="literal"/>
      </input>
      <output>
        <s1:body use="literal"/>
      </output>
    </operation>
  </binding>
  <service name="RateService">
    <port name="RateServicePort" binding="ns:RateServiceSoapBinding">
      <!--<s1:address location="https://ws.fedex.com:443/web-services/rate"/>-->
      <s1:address location="https://wsbeta.fedex.com:443/web-services/rate"/>

@negry can you tell if you have solve this issuse

authors: jkunwar negry

repo: artisaninweb/laravel-soap


text:
[RFC] Merging Hokusai's commit deployment and application configuration strategies

Proposal:
Automate the rollout of configuration changes to Kubernetes yaml specifications along with code changes.  Adopt ideas from or integrate Helm into Hokusai to create a deployment manifest for each deployment, interpolating the deployment tag (Git commit SHA1) and timestamp, and save each manifest in Kubernetes as an audit log, which would facilitate rolling code and configuration forward and backwards in concert.
Reasoning
Hokusai was originally designed to decouple rolling out code changes (i.e. hokusai [staging|production] deploy {COMMIT_SHA1}) from configuration changes pertaining to that application's environment (i.e. hokusai [staging|production] update).  Initially the overhead of Helm seemed unnecessary given our configuration changes were very infrequent as compared to code changes, and Helm is designed for semantic versioned releases.  However, this has caused us problems.
We have seen cases where this decoupling is a source of confusion, as the update command runs the command kubectl apply -f {path-to-local-hokusai/staging-or-production.yml} against the local checkout of the repo, so in essence, the developer's local git state becomes the source of truth.
Also maintaining the staging and production image tags as pointers to the currently-deployed Git-SHA1 tag has forced us to bust the docker cache and always check the latest image for these tags, which has had downstream effects resulting in downtime due to ECR unavailability.
This proposal is to adopt an org-wide deployment strategy that is fully automated for code as well as configuration changes.  However, it will be a breaking change and require migration for projects as well the version of Hokusai running against those projects.  The release 0.5.1 introduces a compatibility check to facilitate this migration.
Exceptions:
The hokusai pipeline promote deployment strategy will have to be abandoned, as it simply gets the deployed image on staging and promotes it to production, without regard to any configuration changes.
This change would propose to interpolate variables when creating a new deployment, rather than setting up a new project, so https://github.com/artsy/artsy-hokusai-templates would also change in structure (i.e. the templates would not be rendered when creating a project, but there will be template variables in yaml configuration)
The staging and production tags would become redundant, and this might very well be a good thing, as we have seen the staging tag conflicts with the staging branch in Positron's repo and we currently don't push Git tags because of it.  cc @dleve123 @eessex
Additional Context:
@alloy has brought up issues of revision history and rolling back, which needs to be done across multiple deployments (i.e. Puma / Sidekiq for a given application)
@ansor4 and @joeyAghion @dleve123 and myself recently encountered a strange situation where we released a config change for a Gravity sidekiq bidding worker, before the code change that referenced Sidekiq config checked into the project, and built into the image.
How is this RFC resolved?

Consensus around our deployment strategy across repos
Implementation of a new deployment strategy in Hokusai
Migration of existing projects to the new deployment strategy
Developers upgrading Hokusai, possibly being required to switch between versions of Hokusai between projects during the transition, or rely on CI for deployments altogether.

Using CI for promotions would also prevent us from having several people deploy at once.

One approach that allows configs to both live in public code and be deployable with your app is what I use for Peril: https://github.com/danger/peril/blob/master/api/now.staging.json
The env config uses reference variables that are set per-deployment for private things, and updates to the now json get shipped with the deploy (you'd still have to configure it before, but it won't be used till the deploy ) - https://zeit.co/docs/v2/deployments/configuration/

Thanks for the comments all!  Closing this but will take your feedback into consideration in Hokusai and will and link any changes in the deployment strategy back here.

authors: bhoggard izakp orta

repo: artsy/README


text:
RFC: Install graphql-inspector on metaphysics

Proposal:
Graphql Inspector is a cli tool and GitHub app that provides utilities for detecting breaking schema changes (among other things).
I'd like to install the GraphQL Inspector GitHub app which would use the checks api to highlight any breaking changes in the schema (as in the image below).

Breaking changes to the schema would mark the PR status as red. That doesn't mean we couldn't still merge, but we'd definitely have to be more intentional (which is a good thing in my opinion).
Reasoning
It's relatively easy to make breaking changes to a schema. This would make it glaringly obvious that we made a breaking change and hopefully discourage future breaking changes.
How is this RFC resolved?
The GitHub app is installed or we add the GitHub action to metaphysics.

Makes a lot of sense to me!

The pricing isn’t really clear to me and also I seem to recall that the GH plan we’re on might impact our ability to use apps [long-term], but perhaps I’m wrong?

It's free. Also, open source so we could self host. If we go the actions route, that's also free for open source.
There's no limitation on any pricing plan that I'm aware of that limits the number of apps you can use.

@zephraph - Would this be covered by the Apollo tooling platform work that's WIP?

Very likely, yes. Here's a note from their docs.
Their pricing model has changed so I'm not sure if it'll work out for us to go with their full platform though. We'll have to do some evaluating when we get there.
In the mean time this is a simple enough thing to add (and remove).

cc @joeyAghion

authors: alloy ashfurrow damassi zephraph


text:
chore: update metaphysics graphql schema

Greetings human :robot: this PR was automatically created as part of metaphysics' deploy process. #nochangelog

Warnings

:warning:

✅ No changelog changes

  Generated by :no_entry_sign: dangerJS against 521d5691b271c33471f6ecd14ca8040fe123951b

authors: ArtsyOpenSource artsyit

repo: artsy/eigen


text:
fix: fix placeholders on the new home view

This PR resolves []
Description

Resolves Notion card
Fix placeholders on the new home view

Activity Placeholder Before
Activity Placeholder After

Artworks Rail Placeholder Before
Artworks Rail Placeholder After

)

Artists Rail Placeholder Before
Artists Rail Placeholder After

Articles Placeholder Before
Articles Placeholder After

Auction Results Placeholder Before
Auction Results Placeholder DimentionsAfter

Fairs Placeholder Before
Fairs Placeholder After

Shows for you Placeholder Before
Shows for you Placeholder After

Placeholders that do not require a change:

HomeViewSectionGalleriesPlaceholder
HomeViewSectionGeneric component
HomeViewSectionHeroUnits
HomeViewSectionMarketingCollections
HomeViewSectionViewingRooms
HomeViewSectionArticlesCardsPlaceholder

PR Checklist

[ ] I have tested my changes on iOS and Android.
[ ] I hid my changes behind a feature flag, or they don't need one.
[ ] I have included screenshots or videos, or I have not changed the UI.
[ ] I have added tests, or my changes don't require any.
[ ] I added an app state migration, or my changes do not require one.
[ ] I have documented any follow-up work that this PR will require, or it does not require any.
[ ] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

fix placeholders on the new home view - daria

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Cross-platform user-facing changes (fix placeholders on the new home view - daria)

  Generated by :no_entry_sign: dangerJS against 609fcb85bcf47d935390d91306d2132f6c39d192

authors: ArtsyOpenSource dariakoko


text:
fix(tools): use session auth and reintroduce license check

This PR resolves PHIRE-1420
Description

This broke when we started using 2fa, unfortunately it looks like this still does not support token based auth but I was unaware you can use a fastlane session in CI and it should last around 30 days, a little annoying but should be fairly easy to refresh.
PR Checklist

[ ] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

bring back license agreement reminder - brian

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Dev changes (bring back license agreement reminder - brian - brainbicycle)

  Generated by :no_entry_sign: dangerJS against 4edfeef6d13648cd6d27ee4d5ecbfb9078d0e547

authors: ArtsyOpenSource brainbicycle


text:
[WIP] [MX-349] Set up new profile tab

https://artsyproduct.atlassian.net/browse/MX-349

Fails

:no_entry_sign:
Missing Test Files:

src/lib/Scenes/Settings/__tests__/SettingsOld-tests.tsx

If these files are supposed to not exist, please update your PR body to include "#skip_new_tests".

  Generated by :no_entry_sign: dangerJS


text:
fix: My Collection Additional Details form value bug

The type of this PR is: Bugfix

This PR resolves CX-2161
Description
This PR fixes a bug where the value of some inputs was not populated correctly depending on the "isEdition" field.
PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have tested my changes on iOS and Android.
[x] I have added tests/stories for my changes, or my changes don't require testing/stories, or I have included a link to a separate Jira ticket covering the tests.
[x] I have added a feature flag, or my changes don't require a feature flag. (How do I add one?)
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a changelog entry below or my changes do not require one.

To the reviewers 👀

[x] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

Fix "My Collection" Additional Details isEdition value bug - ole

iOS user-facing changes

Android user-facing changes

Dev changes

This PR contains the following changes:

Cross-platform user-facing changes (Fix "My Collection" Additional Details isEdition value bug - ole)

  Generated by :no_entry_sign: dangerJS against 22007ee2798079db85094dd710777371fb978fad


text:
fix: broken infinite scroll artist artwork grid

This PR resolves DIA-63
Description
This PR fixes the broken infinite scroll artwork grid in android.
https://github.com/artsy/eigen/assets/21178754/14475d80-aabd-41ff-bb7a-fdfe92f854b7

PR Checklist

[x] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

broken infinite scroll artist artwork grid

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Android user-facing changes (broken infinite scroll artist artwork grid)

  Generated by :no_entry_sign: dangerJS against 35affd7a268ecc6a5a8bd4169a6c39943d8a5402

authors: ArtsyOpenSource gkartalis


text:
refactor(dev menu): android 14 Dev menu issues

This PR resolves PHIRE-359
Description
@dblandin reported a weird behavior in the dev menu that happens only on android 14.
This PR fixes that by removing CollapseMenu component that we were using only on DevMenu with the Expandable component that lives in eigen.
Will move it to palette-mobile in another PR.

[!NOTE]
Bonus:  Also converts the modal devMenu on the onboarding stack to a screen to match the rest of the app

Before
After

PR Checklist

[x] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

android dev menu improvements - gkartalis

Need help with something? Have a look at our docs, or get in touch with us.

I've also run  yarn codepush:deploy 'Canary' 'Dev Menu' to trigger a codepush canary build to test it out before merging.

This PR contains the following changes:

Dev changes (android dev menu improvements - gkartalis)

  Generated by :no_entry_sign: dangerJS against 089019b64288e24e1cb455d4f4e6b082c351fb78

nice one, got rid of a custom component and fixed a bug 🤩

authors: ArtsyOpenSource brainbicycle gkartalis


text:
chore: update metaphysics graphql schema

Greetings human :robot: this PR was automatically created as part of metaphysics' deploy process. #nochangelog

Warnings

:warning:

✅ No changelog changes

  Generated by :no_entry_sign: dangerJS against a2f92164a7c4193c8cb74acac59ac68fac63d939


text:
chore(alerts): remove passing of authDialogOptions options to useAlert

Note: this an PR against another feature branch (https://github.com/artsy/force/pull/13129), not main.
The type of this PR is: Chore

Description
Try to handle as much as we can within the hook itself, without relying on passed arguments.

Thanks @dblandin 🙏
https://github.com/artsy/force/pull/13129#discussion_r1391323587

repo: artsy/force


text:
[WIP] fix: size events fire only by changes explicitly

Jira: FX-2826, FX-2827
Solution for issues:

user select/unselect small/medium/large size and filter fires events for custom width/height -- if custom width/height have null value (it may be undefined or -) and new value is also null, they don't update, in other way width/height should reset
user select a custom width and filter fire event for custom height -- if custom height have null value and new value is also null, it don't update (the same for width)

Before
Selecting size fires additional analytics events
Ex. selecting medium size fire events for custom width/height

After
Size events fire only by changes explicitly

One thing to double check here, because I'm not sure if it's expressed (or easily expressible) in the specs: be sure the backspace works correctly in the custom inputs. I recall that being a bit tricky to get the interaction correct.

One thing to double check here, because I'm not sure if it's expressed (or easily expressible) in the specs: be sure the backspace works correctly in the custom inputs. I recall that being a bit tricky to get the interaction correct.

I checked all cases editing size. I think it works good

authors: dzucconi tr-ann


text:
User on gallery detail page for black owned gallery sees ribbon

GRO-771
There might be a less repetitive solution and I'm open to suggestions, but everything I tried seemed overly complex or confusing so I just did the straightforward thing. The "Black Owned" category doesn't actually exist yet, so I used a different category to get the screenshots.

@dzucconi do we have a less repetitive way to incorporate a new component such as this Ribbon? We do not really have a set precedent or previous example on how we would want to incorporate something like this.

So, yeah:

First we'd want to get a spec in the design system Figma first. Presumably there'd be variants on this; different configurable colors, sizes, and sanctioned labels.
Once we have a spec we could implement this in Palette.

@lilyfromseattle sounds like we get to build a brand new Palette component! Woooo!
You should sync up with @dzucconi

authors: The-Beez-Kneez dzucconi lilyfromseattle


text:
What font should be used on Windows?

Running test_iostream.cpp on Windows 7:
With DejaVu Sana Mono:

With Consolas:

With Lucida Console:

None of them print out the proper strings.

It is problematic but frequently there is no font to handle them all on Windows.
Artyom

authors: adishavit artyom-beilis

repo: artyom-beilis/nowide


text:
Is bot downloader single-threaded? (blocked by large playlist)

I wanted to forward a few songs using the Telegram bot, but for any query the bot currently responds with "Couldn't find that :("
Meanwhile I joined the "[DATA] Spotify Music Downloader" channel and I see that the bot has been downloading multiple songs every minute for the last 30 minutes straight!
I'm guessing that someone queued up a large playlist for the bot and it's not capable of processing any other requests until the playlist is completed?
Maybe there's a way to make it perform multiple downloads in parallel? Or prioritize single song downloads over large playlists?

The "Couldn't find that" issue no longer occurs, the bot now successfully downloads most songs that failed yesterday. Meanwhile the mass-downloading still continues.
So I mis-analysed the problem, it must have been some sort of temporary issue.
There's 1 track that does not work though: https://open.spotify.com/track/6NeAhbPsi9xVLRRGoXHT7H

İşte senin için bir çalma listesi… Russian Hits 2020 / Русские Хиты 2020 - Dmitrii Eberts
https://open.spotify.com/playlist/679Jgz0KnW5PTBv5GmjXEk?si=uUqALIJyTVqWirRkHd_2ZQ

repo: artyshko/smd


text:
Deploy fails

I can't deploy. Getting this:
Meteor Up: Production Quality Meteor Deployments
------------------------------------------------

“ Checkout Kadira!
  It's the best way to monitor performance of your app.
  Visit: https://kadira.io/mup ”

Building Started: e:/work/aaa/meteor
Can't build for mobile on Windows. Skipping the following platforms:
android

WARNING: The output directory is under your source tree.

Started TaskList: Deploy app 'meteor' (linux)
[...] - Uploading bundle
[...] - Uploading bundle: SUCCESS
[...] - Setting up Environment Variables
[...] - Setting up Environment Variables: SUCCESS
[...] - Invoking deployment process
[...] x Invoking deployment process: FAILED

        -----------------------------------STDERR-------------------------------
----
        or-dev-bundle@0.0.0 No description
        npm WARN package.json meteor-dev-bundle@0.0.0 No repository field.
        npm WARN package.json meteor-dev-bundle@0.0.0 No README data
        ../src/coroutine.cc: In function ‘void* find_thread_id_key(void*)’:
        ../src/coroutine.cc:64:53: warning: comparison of unsigned expression >=
 0 is always true [-Wtype-limits]
          for (pthread_key_t ii = coro_thread_key - 1; ii >= 0; --ii) {
                                                             ^
        ../src/coroutine.cc:90:3: warning: ‘thread_id’ may be used uninitialized
 in this function [-Wmaybe-uninitialized]
           if (tls == thread_id) {
           ^
        stop: Unknown instance:
          % Total    % Received % Xferd  Average Speed   Time    Time     Time
Current
                                         Dload  Upload   Total   Spent    Left
Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0cu
rl: (7) Failed to connect to localhost port 2000: Connection refused
        Latest deployment failed! Reverted back to the previous version.
        -----------------------------------STDOUT-------------------------------
----
        x-x64-v8-3.14/fibers.node`
        ansi-regex@0.2.1 node_modules/ansi-regex

        ansi-styles@1.1.0 node_modules/ansi-styles

        chalk@0.5.1 node_modules/chalk

        escape-string-regexp@1.0.3 node_modules/escape-string-regexp

        supports-color@0.2.0 node_modules/supports-color

        has-ansi@0.1.0 node_modules/has-ansi

        strip-ansi@0.3.0 node_modules/strip-ansi

        eachline@2.3.3 node_modules/eachline

        type-of@2.0.1 node_modules/type-of

        amdefine@1.0.0 node_modules/amdefine

        asap@2.0.3 node_modules/asap

        meteor-promise@0.4.8 node_modules/meteor-promise

        underscore@1.5.2 node_modules/underscore

        promise@7.0.4 node_modules/promise

        source-map-support@0.3.2 node_modules/source-map-support

        semver@4.1.0 node_modules/semver

        source-map@0.1.32 node_modules/source-map

        fibers@1.0.5 node_modules/fibers
        Waiting for MongoDB to initialize. (5 minutes)
        connected
        meteor start/running, process 4458
        Waiting for 15 seconds while app is booting up
        Checking is app booted or not?
        meteor stop/waiting
        meteor start/running, process 4520
        ------------------------------------------------------------------------

I noticed the warning...
"output directory is in your source tree?"
Maybe post your mup(x?) settings, please.

{

  // Server authentication info
  "servers": [
    {
      "host": "1.2.3.4", // not really
      "username": "ubuntu",
     // "password": "password"
      // or pem file (ssh based authentication)
   //   "pem": "~/.ssh/id_rsa"
      "pem": "E:/work/aaa/aaa.pem"
    }
  ],

  // Install MongoDB in the server, does not destroy local MongoDB on future setup
  "setupMongo": true,

  // WARNING: Node.js is required! Only skip if you already have Node.js installed on server.
  "setupNode": true,

  // WARNING: If nodeVersion omitted will setup 0.10.36 by default. Do not use v, only version number.
  "nodeVersion": "0.10.36",

  // Install PhantomJS in the server
  "setupPhantom": false,

  // Show a progress bar during the upload of the bundle to the server.
  // Might cause an error in some rare cases if set to true, for instance in Shippable CI
  "enableUploadProgressBar": true,

  // Application name (No spaces)
  "appName": "aaa",

  // Location of app (local directory)
  "app": "e:/work/aaa/meteor",

  // Configure environment
  "env": {
    "PORT": 2000,
    "ROOT_URL": "http://1.2.3.4:2000/"
  },

  // Meteor Up checks if the app comes online just after the deployment
  // before mup checks that, it will wait for no. of seconds configured below
  "deployCheckWaitTime": 15
}

Thanks that looks okay.
Sometime trying this makes a difference it's worth a try.
 "nodeVersion": "0.10.40",

I found this code location, where the error triggers.
https://github.com/laverdet/node-fibers/blob/05b622d78f24d34ad9f216363a4b11be42fcf656/src/coroutine.cc#L54
The line numbers don't line up with the error vs line# for me as it must be a different version I'm assuming.
Makes me wonder if it's an update that needed?
meteor update

https://github.com/wekan/wekan/issues/138
What's the node version?
 npm version

And I was also wondering if you're using/tried mupx, or what happened with trying that version? same thing?

Success!  Thank you. This line did the trick, as you said:
 "nodeVersion": "0.10.40",
For the record:
npm version
{ npm: '2.11.3',
  http_parser: '2.3',
  modules: '14',
  node: '0.12.7',
  openssl: '1.0.1p',
  uv: '1.6.1',
  v8: '3.28.71.19',
  zlib: '1.2.8' }

I can reproduce this too (via old working before environment).
I think it's about time to bump default node version from 0.10.36 to 0.10.40 (also in README)
Cheers

Just had this issue. Confirmed changing to '0.10.40' fixed the issue.

Same issue, changing to 0.10.40 did not fix the problem.

I'm using Digital Ocean, Ubuntu 14.04.4 x64.
! I got it working by resizing the Droplet from 512MB to 1GB !
I also:
updated node and npm to the latest version (1.4.28 npm and v4.4.0 node)
in my mup.json "setupMongo": true, "setupNode": true, "nodeVersion": "0.10.40",

FYI, If your app is using a hosted mongodb service, the deploy might fail because of timeout. Increasing the wait time will fix that:
"deployCheckWaitTime": 95

Changing to '0.10.40' fixed the issue for me.

authors: MasterJames MaxArrowhead OptimisticLock babin93 hamxiaoz justindra katopz

repo: arunoda/meteor-up


text:
Documentation Update once @arx-research/halocli is published

https://github.com/arx-research/libhalo/blob/07dced5f7c4089c9032dab38a3e9669fcde410a0/docs/desktop-gateway.md?plain=1#L16
This no longer works as of 1.5.0 due to CLI functions moving to @arx-research/halocli, however, this package still needs to be published.

Thanks for spotting, related with ##351

authors: ccamrobertson icedevml

repo: arx-research/libhalo


text:
Add showModalStopper to exploit the provided showModalBottomSheet function

These commits add a showModalStopper function that uses the showMobalBottomSheet flutter function to show a modal bottom sheet, possibly with rounded corners and without the possibility to interact with the background.
It should also close https://github.com/aryzhov/flutter-stopper/issues/1

Exactly what i want 😃

repo: aryzhov/flutter-stopper


text:
Update scalafmt-core to 3.7.14

About this PR
📦 Updates org.scalameta:scalafmt-core from 2.7.5 to 3.7.14 ⚠
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "scalafmt-core" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.scalameta", artifactId = "scalafmt-core" }
}]

labels: library-update, early-semver-major, semver-spec-major, commit-count:1

Superseded by #128.

repo: asakaev/leftpad


text:
something iffy with postera downloads

on alchemy prep run -pm <molset> no compounds are passing Ligand creation. I'm getting:
/Users/jenkescheen/asapdiscovery/asapdiscovery-data/asapdiscovery/data/services/postera/postera_factory.py:59: UserWarning: Failed to create ligand from smiles:
[confidential SMILES]
  warnings.warn(f"Failed to create ligand from smiles: {smiles}")

on everything. Downloading the molset and then running alchemy prep run -l <molset.sdf> works just fine.

@JenkeScheen is it a CXSmiles?

Current fix is mint a new API key, seems like something is off upstream.

authors: JenkeScheen hmacdope

repo: asapdiscovery/asapdiscovery