loadData file case change on Windows causes checksum to fail

Environment
Windows Adoptium JRE 11 32bit
Liquibase Version:
4.7.1
Liquibase Integration & Version: <Pick one: CLI, maven, gradle, spring boot, servlet, etc.>
CLI
Liquibase Extension(s) & Version:
N/A
Database Vendor & Version:
MSSQL 13.0.6300.2
Operating System Type & Version:
Windows 10 Pro 64bit
Description
We use loadData in many changeSets to configure feature toggle sets per client.  We recently upgraded to 4.7.1 from 3.0.7 and started getting failing changesets because of a case change from the underlying file compared to the xml attribute file under loadData .  The same changSet's did not produce these error in 3.0.7.  These are guarded with <preConditions onFail="CONTINUE" onFailMessage="... (its ok!)"> .
We tried some of the bypass mechanisms and none seem to be able to skip this validation.  If a precondition fails then it seems this should disregard loadData during validation, but I guess it probably executes those after the checkSum in the current implementation? Maybe allowing overriding the checkSum for a changeSet would work? Would you recommend building this into a CustomTaskChange or maybe adding additional attributes or modify existing to suppress?
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.7.xsd
        http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
	<changeSet author="me" id="1" runOnChange="true" runAlways="true" onValidationFail="MARK_RAN" failOnError="false" ignore="true">
		<preConditions onFail="CONTINUE" onFailMessage="... (its ok!)">
			<sqlCheck expectedResult="1">select 0</sqlCheck>
		</preConditions>
		<comment>Replace all data in TEST_TABLE</comment>
		<delete tableName="TEST_TABLE"/>
		<!-- can we add an attribute for case insensitive or allow not exists or suppress checksum of file or ...? -->
		<loadData tableName="TEST_TABLE" file="./csv/i-dont-exist-or-wrong-case-on-windows.csv" quotchar="'">
			<column name="Key" type="STRING"/>
			<column name="Value" type="STRING"/>
		</loadData>
	</changeSet>
</databaseChangeLog>

Steps To Reproduce
docker run -d -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Testing123#" -p 1433:1433 mcr.microsoft.com/mssql/server:2019-latest ms-sql-server
./liquibase.bat --changeLogFile=changelog.xml --logLevel=info --hub-mode=off --logFile=liquibase.log --classpath=sqljdbc4.jar --driver=com.microsoft.sqlserver.jdbc.SQLServerDriver --url=jdbc:sqlserver://localhost --username=sa --password="Testing123#" migrate

reproduce_csv_missing.zip
Actual Behavior
	at liquibase.command.CommandScope.execute(CommandScope.java:163)
	at liquibase.integration.commandline.CommandRunner.call(CommandRunner.java:51)
	at liquibase.integration.commandline.CommandRunner.call(CommandRunner.java:21)
	at picocli.CommandLine.executeUserObject(CommandLine.java:1953)
	at picocli.CommandLine.access$1300(CommandLine.java:145)
	at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2352)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2346)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2311)
	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
	at picocli.CommandLine.execute(CommandLine.java:2078)
	at liquibase.integration.commandline.LiquibaseCommandLine.lambda$execute$1(LiquibaseCommandLine.java:325)
	at liquibase.Scope.child(Scope.java:189)
	at liquibase.Scope.child(Scope.java:165)
	at liquibase.integration.commandline.LiquibaseCommandLine.execute(LiquibaseCommandLine.java:291)
	at liquibase.integration.commandline.LiquibaseCommandLine.main(LiquibaseCommandLine.java:80)
Caused by: liquibase.exception.LiquibaseException: Unexpected error running Liquibase: File './csv/i-dont-exist-or-wrong-case-on-windows.csv' not found
	at liquibase.integration.commandline.Main$1.run(Main.java:443)
	at liquibase.integration.commandline.Main$1.run(Main.java:221)
	at liquibase.Scope.child(Scope.java:189)
	at liquibase.Scope.child(Scope.java:165)
	at liquibase.integration.commandline.Main.run(Main.java:221)
	at liquibase.command.AbstractCliWrapperCommandStep.run(AbstractCliWrapperCommandStep.java:32)
	at liquibase.command.CommandScope.execute(CommandScope.java:157)
	... 14 more
Caused by: liquibase.exception.LiquibaseException: liquibase.exception.UnexpectedLiquibaseException: File './csv/i-dont-exist-or-wrong-case-on-windows.csv' not found
	at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:124)
	at liquibase.changelog.DatabaseChangeLog.validate(DatabaseChangeLog.java:289)
	at liquibase.Liquibase.lambda$update$1(Liquibase.java:231)
	at liquibase.Scope.lambda$child$0(Scope.java:180)
	at liquibase.Scope.child(Scope.java:189)
	at liquibase.Scope.child(Scope.java:179)
	at liquibase.Scope.child(Scope.java:158)
	at liquibase.Liquibase.runInScope(Liquibase.java:2405)
	at liquibase.Liquibase.update(Liquibase.java:211)
	at liquibase.Liquibase.update(Liquibase.java:197)
	at liquibase.integration.commandline.Main.doMigration(Main.java:1871)
	at liquibase.integration.commandline.Main$1.lambda$run$0(Main.java:398)
	at liquibase.Scope.lambda$child$0(Scope.java:180)
	at liquibase.Scope.child(Scope.java:189)
	at liquibase.Scope.child(Scope.java:179)
	at liquibase.Scope.child(Scope.java:158)
	at liquibase.integration.commandline.Main$1.run(Main.java:397)
	... 20 more
Caused by: liquibase.exception.UnexpectedLiquibaseException: File './csv/i-dont-exist-or-wrong-case-on-windows.csv' not found
	at liquibase.change.core.LoadDataChange.generateCheckSum(LoadDataChange.java:860)
	at liquibase.changelog.ChangeSet.generateCheckSum(ChangeSet.java:306)
	at liquibase.changelog.ChangeSet.toString(ChangeSet.java:909)
	at liquibase.changelog.ChangeLogIterator.createKey(ChangeLogIterator.java:178)
	at liquibase.changelog.ChangeLogIterator.alreadySaw(ChangeLogIterator.java:186)
	at liquibase.changelog.ChangeLogIterator$2.lambda$run$1(ChangeLogIterator.java:95)
	at liquibase.Scope.lambda$child$0(Scope.java:180)
	at liquibase.Scope.child(Scope.java:189)
	at liquibase.Scope.child(Scope.java:179)
	at liquibase.Scope.child(Scope.java:158)
	at liquibase.Scope.child(Scope.java:243)
	at liquibase.changelog.ChangeLogIterator$2.run(ChangeLogIterator.java:94)
	at liquibase.Scope.lambda$child$0(Scope.java:180)
	at liquibase.Scope.child(Scope.java:189)
	at liquibase.Scope.child(Scope.java:179)
	at liquibase.Scope.child(Scope.java:158)
	at liquibase.Scope.child(Scope.java:243)
	at liquibase.Scope.child(Scope.java:247)
	at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:66)
	... 36 more

Expected/Desired Behavior
Allow CSV files that will not be used in a changeSet to either not exist (and/or be case sensitive on Windows) via an error override or loadData attribute.
Screenshots (if appropriate)
If applicable, add screenshots to help explain your problem.
Additional Context
This is run in many environments via CLI that we cannot control.  I understand providing errors up front and validation against the checkSum early probably prevents some errors for other folks, but it would be useful for us to not validate the CSV file existence.

Hi @firehooper, sorry for the late reply.
The way Liquibase handles changesets is as follows: it parses the code into SQL statements, generates the checksums, and then tries to execute them. The file specified in loadData is needed in order to generate the checksum value, and it is case sensitive, though it might not have been so in version 3.0.7.
Preconditions are checked when executing the changes.
You can see this when you run update-sql with a correct file name in loadData and the precondition you specified in your code,
<preConditions onFail="CONTINUE" onFailMessage="... (its ok!)">
	<sqlCheck expectedResult="1">select 0</sqlCheck>
</preConditions>

The changeset will be parsed into SQL statements, and there will be no errors because of the failing precondition.
You are welcome to download the Liquibase source code and modify it so that it behaves in the way you'd prefer, but we will not be changing it at this time.
Thank you,
Tatiana


Add video capabilities

Overview
As a user, I should be able to use camera to record video and take pictures.

Should we use Daily to offer video calls?


feat: probot

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


VulnerabilityReports are no longer created

What steps did you take and what happened:
Since I ugraded Microk8s to snap 1.27.0/stable on Ubuntu 22.04, images vuln repport don't create anymore objects vulnerabilityreports.aquasecurity.github.io.
The scan job are done, the Pod output the right json repport.
{
  "SchemaVersion": 2,
  "ArtifactName": "quay.io/jetstack/cert-manager-controller:v1.11.1",
  "ArtifactType": "container_image",
  "Metadata": {
    "OS": {
      "Family": "debian",
      "Name": "11.6"
    },
    "ImageID": "sha256:b23ed1d12779ca6b5a853d022d363e2edefc2107890342f50eba7f73da6eaa99",
    "DiffIDs": [
      "sha256:d0157aa0c95a4cae128dab97d699b2f303c8bea46914dc4a40722411f50bb40e",
      "sha256:6fbdf253bbc2490dcfede5bdb58ca0db63ee8aff565f6ea9f918f3bce9e2d5aa",
      "sha256:399826b51fcf6c959b7a7e86b89ac1ee6685d64da54e5223e1d182c491a1bbd6",
      "sha256:ff5700ec54186528cbae40f54c24b1a34fb7c01527beaa1232868c16e2353f52",
      "sha256:d52f02c6501c9c4410568f0bf6ff30d30d8290f57794c308fe36ea78393afac2",
      "sha256:e624a5370eca2b8266e74d179326e2a8767d361db14d13edd9fb57e408731784",
      "sha256:1a73b54f556b477f0a8b939d13c504a3b4f4db71f7a09c63afbc10acb3de5849",
      "sha256:d2d7ec0f6756eb51cf1602c6f8ac4dd811d3d052661142e0110357bf0b581457",
      "sha256:4cb10dd2545bd173858450b80853b850e49608260f1a0789e0d0b39edf12f500",
      "sha256:b75a9cf43ee540efc11274b4c0dcd34dc58fff375d16309422aa3c86b3cd2c08",
      "sha256:c5a0e588718a1766cc97b773bda7db1351b076dfcb11d7a478cd6338a28088f0",
      "sha256:d2eabf58d6e7f4f0ec4fd2429dcdabf04199f4e2593d9355e096866f2fe83677"
    ],
    "RepoTags": [
      "quay.io/jetstack/cert-manager-controller:v1.11.1"
    ],
    "RepoDigests": [
      "quay.io/jetstack/cert-manager-controller@sha256:4f1782c8316f34aae6b9ab823c3e6b7e6e4d92ec5dac21de6a17c3da44c364f1"
    ],
  },
...
  "Results": [
    {
      "Target": "quay.io/jetstack/cert-manager-controller:v1.11.1 (debian 11.6)",
      "Class": "os-pkgs",
      "Type": "debian"
    },
    {
      "Target": "app/cmd/controller/controller",
      "Class": "lang-pkgs",
      "Type": "gobinary",
      "Vulnerabilities": [
        {
          "VulnerabilityID": "CVE-2020-8911",
          "PkgName": "github.com/aws/aws-sdk-go",
          "InstalledVersion": "v1.44.105",
          "Layer": {
            "Digest": "sha256:0a0ad7f5d4ca8df212a06ee2a25eacfd9c66e6a3eecf668699c6760a68f45b56",
            "DiffID": "sha256:b75a9cf43ee540efc11274b4c0dcd34dc58fff375d16309422aa3c86b3cd2c08"
          },
          "SeveritySource": "ghsa",
          "PrimaryURL": "https://avd.aquasec.com/nvd/cve-2020-8911",
          "DataSource": {
            "ID": "go-vulndb",
            "Name": "The Go Vulnerability Database",
            "URL": "https://github.com/golang/vulndb"
          },
          "Title": "aws/aws-sdk-go: CBC padding oracle issue in AWS S3 Crypto SDK for golang",

          "Description": "A padding oracle vulnerability exists in the AWS S3 Crypto SDK for GoLang versions prior to V2. The SDK allows users to encrypt files with AES-CBC without computing a Message Authentication Code (MAC), which then allows an attacker who has write access to the target's S3 bucket and can observe whether or not an endpoint with access to the key can decrypt a file, they can reconstruct the plaintext with (on average) 128*length (plaintext) queries to the endpoint, by exploiting CBC's ability to manipulate the bytes of the next block and PKCS5 padding errors. It is recommended to update your SDK to V2 or later, and re-encrypt your files.",
          "Severity": "MEDIUM",
          "CweIDs": [
            "CWE-327"
          ],
          "CVSS": {
            "ghsa": {
              "V3Vector": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N",
              "V3Score": 5.6
            },
            "nvd": {
              "V2Vector": "AV:L/AC:L/Au:N/C:P/I:N/A:N",
              "V3Vector": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N",
              "V2Score": 2.1,
              "V3Score": 5.6
            },
            "redhat": {
              "V3Vector": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N",
              "V3Score": 5.6
            }
          },
          "References": [
            "https://access.redhat.com/security/cve/CVE-2020-8911",
            "https://aws.amazon.com/blogs/developer/updates-to-the-amazon-s3-encryption-client/?s=09",
            "https://bugzilla.redhat.com/show_bug.cgi?id=1869800",
            "https://github.com/advisories/GHSA-f5pg-7wfw-84q9",
            "https://github.com/aws/aws-sdk-go/commit/1e84382fa1c0086362b5a4b68e068d4f8518d40e",
            "https://github.com/aws/aws-sdk-go/commit/ae9b9fd92af132cfd8d879809d8611825ba135f4",
            "https://github.com/aws/aws-sdk-go/pull/3403",
            "https://github.com/google/security-research/security/advisories/GHSA-f5pg-7wfw-84q9",
            "https://github.com/sophieschmieg/exploits/tree/master/aws_s3_crypto_poc",
            "https://nvd.nist.gov/vuln/detail/CVE-2020-8911",
            "https://pkg.go.dev/vuln/GO-2022-0646",
            "https://www.cve.org/CVERecord?id=CVE-2020-8911"
          ],
          "PublishedDate": "2020-08-11T20:15:00Z",
          "LastModifiedDate": "2020-08-18T13:37:00Z"
        },
...

  ]
}

What did you expect to happen:
The vuln repports where create, like other reports which are always done.
Anything else you would like to add:
I try to downgrade the operator to version 0.11.0 or 0.12.0, the problem is the same.
Environment:

Trivy-Operator version (use trivy-operator version): 0.13.2
Kubernetes version (use kubectl version): 1.27.0
OS (macOS 10.15, Windows 10, Ubuntu 19.10 etc): Ubuntu 22.04 snap mikrok8s 1.27.0/stable

Same on Talos 1.4.1 Kubernetes 1.27.1

@c-dst @xerxist any error on trivy-operator or scan-job stuck in completed status ?

I've since reverted back to 1.26.4 and the problem is gone. Seems to be an issue from 1.27.0 and onward.

@c-dst @xerxist any error on trivy-operator or scan-job stuck in completed status ? do you mind sharing the operator configmaps ?

scan-job completes normally, trivy-operator and trivy server pod doesn't report errors in logs even with debug enabled.
Most values are defaults.
apiVersion: v1
kind: ConfigMap
metadata:
  name: trivy-operator
  namespace: trivy-operator
  labels:
    app.kubernetes.io/instance: trivy-operator
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: trivy-operator
    app.kubernetes.io/version: 0.13.2
    helm.sh/chart: trivy-operator-0.13.2
  annotations:
    meta.helm.sh/release-name: trivy-operator
    meta.helm.sh/release-namespace: trivy-operator
data:
  compliance.failEntriesLimit: '10'
  configAuditReports.scanner: Trivy
  node.collector.imageRef: ghcr.io/aquasecurity/node-collector:0.0.6
  nodeCollector.volumeMounts: >-
    [{"mountPath":"/var/lib/etcd","name":"var-lib-etcd","readOnly":true},{"mountPath":"/var/lib/kubelet","name":"var-lib-kubelet","readOnly":true},{"mountPath":"/var/lib/kube-scheduler","name":"var-lib-kube-scheduler","readOnly":true},{"mountPath":"/var/lib/kube-controller-manager","name":"var-lib-kube-controller-manager","readOnly":true},{"mountPath":"/etc/systemd","name":"etc-systemd","readOnly":true},{"mountPath":"/lib/systemd/","name":"lib-systemd","readOnly":true},{"mountPath":"/etc/kubernetes","name":"etc-kubernetes","readOnly":true},{"mountPath":"/etc/cni/net.d/","name":"etc-cni-netd","readOnly":true}]
  nodeCollector.volumes: >-
    [{"hostPath":{"path":"/var/lib/etcd"},"name":"var-lib-etcd"},{"hostPath":{"path":"/var/lib/kubelet"},"name":"var-lib-kubelet"},{"hostPath":{"path":"/var/lib/kube-scheduler"},"name":"var-lib-kube-scheduler"},{"hostPath":{"path":"/var/lib/kube-controller-manager"},"name":"var-lib-kube-controller-manager"},{"hostPath":{"path":"/etc/systemd"},"name":"etc-systemd"},{"hostPath":{"path":"/lib/systemd"},"name":"lib-systemd"},{"hostPath":{"path":"/etc/kubernetes"},"name":"etc-kubernetes"},{"hostPath":{"path":"/etc/cni/net.d/"},"name":"etc-cni-netd"}]
  report.recordFailedChecksOnly: 'true'
  scanJob.automountServiceAccountToken: 'true'
  scanJob.podTemplateContainerSecurityContext: >-
    {"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"privileged":false,"readOnlyRootFilesystem":true,"runAsUser":0}
  trivy.serverURL: http://trivy-service.trivy-operator:4954
  vulnerabilityReports.scanner: Trivy
binaryData: {}

apiVersion: v1
kind: ConfigMap
metadata:
  name: trivy-operator-trivy-config
  namespace: trivy-operator
  labels:
    app.kubernetes.io/instance: trivy-operator
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: trivy-operator
    app.kubernetes.io/version: 0.13.2
    helm.sh/chart: trivy-operator-0.13.2
  annotations:
    meta.helm.sh/release-name: trivy-operator
    meta.helm.sh/release-namespace: trivy-operator
data:
  TRIVY_CACHE_DIR: /home/scanner/.cache/trivy
  TRIVY_DB_REPOSITORY: ghcr.io/aquasecurity/trivy-db
  TRIVY_DEBUG: 'true'
  TRIVY_LISTEN: <IP_ADDRESS>:4954
  TRIVY_SKIP_UPDATE: 'false'
  trivy.additionalVulnerabilityReportFields: ''
  trivy.command: image
  trivy.dbRepository: ghcr.io/aquasecurity/trivy-db
  trivy.dbRepositoryInsecure: 'false'
  trivy.javaDbRepository: ghcr.io/aquasecurity/trivy-java-db
  trivy.mode: ClientServer
  trivy.repository: ghcr.io/aquasecurity/trivy
  trivy.resources.limits.cpu: 500m
  trivy.resources.limits.memory: 500M
  trivy.resources.requests.cpu: 100m
  trivy.resources.requests.memory: 100M
  trivy.serverURL: http://trivy-service.trivy-operator:4954
  trivy.severity: UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL
  trivy.slow: 'true'
  trivy.supportedConfigAuditKinds: >-
    Workload,Service,Role,ClusterRole,NetworkPolicy,Ingress,LimitRange,ResourceQuota
  trivy.tag: 0.40.0
  trivy.timeout: 5m0s
  trivy.useBuiltinRegoPolicies: 'true'
binaryData: {}

@c-dst you are also using latest k8s version 1.27.x ?

@chen-keinan Yes, a 1.27.0

This propbebly the issue ,we  will support it shortly

I have to stay in this release, and will wait the fix. Thanks.

same issue even after installing with Helm, and my k8s version is also 1.27.1

same issue even after installing with Helm, and my k8s version is also 1.27.1

@win5923 what is your trivy-operator version ?

即使安裝了 Helm 也有同樣的問題，我的 k8s 版本也是 1.27.1

@win5923trivy-operator你的版本是什麼？

@chen-keinan  0.13.2

@win5923 it should be fixed with trivy-operator v0.14.0-rc can you confirm?

I am unable to install trivy-operator:v0.14.0-rc. Did I make a mistake in my command?
helm install trivy-operator aqua/trivy-operator \
  --namespace trivy-system \
  --create-namespace \
  --set "trivy.ignoreUnfixed=true" \
  --set "serviceMonitor.enabled=true" \
  --set image.tag="v0.14.0-rc"

I  got the following error.
Failed to pull image "ghcr.io/aquasecurity/trivy-operator:v0.14.0-rc": rpc error: code = Unknown desc = Error response from daemon: manifest unknown

helm install trivy-operator aqua/trivy-operator
--namespace trivy-system
--create-namespace
--set "trivy.ignoreUnfixed=true"
--set "serviceMonitor.enabled=true"
--set image.tag="v0.14.0-rc"

looks ok , maybe indentation or else

Successfully installed using the following command.
helm install trivy-operator aqua/trivy-operator \
  --namespace trivy-system \
  --create-namespace \
  --set "trivy.ignoreUnfixed=true" \
  --set "serviceMonitor.enabled=true" \
  --set "image.tag=0.14.0-rc"

but still can't get VulnerabilityReports
kubectl get vulnerabilityreports --all-namespaces -o wide
No resources found

helm install trivy-operator aqua/trivy-operator
--namespace trivy-system
--create-namespace
--set "trivy.ignoreUnfixed=true"
--set "serviceMonitor.enabled=true"
--set image.tag="v0.14.0-rc"

looks ok , maybe indentation or else

Successfully installed using the following command.
helm install trivy-operator aqua/trivy-operator \
  --namespace trivy-system \
  --create-namespace \
  --set "trivy.ignoreUnfixed=true" \
  --set "serviceMonitor.enabled=true" \
  --set "image.tag=0.14.0-rc"

but still can't get VulnerabilityReports
kubectl get vulnerabilityreports --all-namespaces -o wide
No resources found

thanks for update, I'll check it again (we did upgraded to latest k8s 1.27.x libs) and update you

@win5923 found the issue , creating fix now

Has the problem been resolved? I updated trivy-operator to 0.14.0-rc, but I still can't see the VulnerabilityReports. Is there any information I need to provide for you?

@win5923 a fix has been made but not yet created a release , I'll cut a trivy-operator 0.14.0-rc2 early next week with the release


Fix: Workspace - Correct message shown in delete modal while deleting from profile page

Explanation of Change

Show the correct delete message while deleting the workspace from profile page if expensify or company card is enabled.
Fixed Issues

$ https://github.com/Expensify/App/issues/50671
PROPOSAL: https://github.com/Expensify/App/pull/51444#issuecomment-2488335360
Tests

Go to Settings -> Workspaces
Select any workspace(where expensify card is enabled) to navigate its profile page
Click on the delete button
Verify the correct message on the delete modal "Are you sure you want to delete this workspace? This will remove all card feeds and assigned cards." is displayed.

[X] Verify that no errors appear in the JS console

Offline tests

QA Steps

// TODO: These must be filled out, or the issue title must include "[No QA]."

[X] Verify that no errors appear in the JS console

PR Author Checklist

[X] I linked the correct issue in the ### Fixed Issues section above
[X] I wrote clear testing steps that cover the changes made in this PR

[X] I added steps for local testing in the Tests section
[X] I added steps for the expected offline behavior in the Offline steps section
[X] I added steps for Staging and/or Production testing in the QA steps section
[X] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[X] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[X] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[X] I included screenshots or videos for tests on all platforms
[X] I ran the tests on all platforms & verified they passed on:

[X] Android: Native
[X] Android: mWeb Chrome
[X] iOS: Native
[X] iOS: mWeb Safari
[X] MacOS: Chrome / Safari
[X] MacOS: Desktop

[X] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[X] I followed proper code patterns (see Reviewing the code)

[X] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[X] I verified that comments were added to code that is not self explanatory
[X] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[X] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[X] If any non-english text was added/modified, I used JaimeGPT to get English > Spanish translation. I then posted it in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[X] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[X] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[X] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[X] I verified the JSDocs style guidelines (in STYLE.md) were followed

[X] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[X] I followed the guidelines as stated in the Review Guidelines
[X] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[X] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[X] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[X] I verified that if a function's arguments changed that all usages have also been updated correctly
[X] If any new file was added I verified that:

[X] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[X] If a new CSS style is added I verified that:

[X] A similar style doesn't already exist
[X] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[X] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[X] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[X] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[X] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[X] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[X] I verified that all the inputs inside a form are aligned with each other.
[X] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[X] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[X] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native
https://github.com/user-attachments/assets/72f59ff1-f60c-4e60-afa5-d5636f407e33

iOS: mWeb Safari
https://github.com/user-attachments/assets/fe47218d-2267-45ac-aff4-4f8a83ff9d93

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/088f69f3-b799-4ced-bf20-0d03fcb4cbd4

MacOS: Desktop

The logic been tested and working well in the linked PR so speed running the checklist

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.


authentication / authorization

Chameleon users should be able to login and make edits to resources.

I'm closing this issue, it has no relation to JSONAPI-TS


APP-34433: Small bug fix and bit cleaner example

Automatically created JIRA issue: APP-34433

@tonsV2 Can you update package.json with
-  "version": "0.7.0"
+  "version": "0.6.0"

For using patch method

@tonsV2 Can you update package.json with
-  "version": "0.7.0"
+  "version": "0.6.0"

For using patch method

Done! Please test before merging :pray:

Ouups,  Sorry it's 0.6.1

Yes I have tested your change :)
We remove the excess endl on the streams.
before
pg_dump: identifying extension members

pg_dump: reading schemas

pg_dump: reading user-defined tables

after
pg_dump: identifying extension members
pg_dump: reading schemas
pg_dump: reading user-defined tables

Thanks for testing!
I tried to change the version to 0.6.1 through the Github UI but it didn't seem to do as I intended. I then tried to commit the change to the dev branch on https://github.com/dhis2-sre/pg-commands but that also isn't showing here :man_shrugging:

all right :) https://github.com/habx/pg-commands/releases/tag/v0.6.1


Upgrade Create/Stack from CI server?

Rancher Version: v1.1.0-dev1
Docker Version: 1.11.2
OS and where are the hosts located? (cloud, bare metal, etc): bare metal
Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB) single node rancher, external db
Environment Type: (Cattle/Kubernetes/Swarm/Mesos) Cattle
I've setup my Gitlab CI to create a docker image of a project and push it to a private registry.
The next step would be deploying the image in the form of a Rancher stack or upgrading an existing one.
rancher-compose is not available on my CI runner as its just a docker-container.
How would I do this from the CI server?

I found out I can use any Docker image in my CI for the various built-steps so I'm using an image which contains rancher-compose for deployment.
The CI-definition looks like this:
deploy_test:
  stage: deploy
  image: monostream/rancher-compose:latest
  script:
    - rancher-compose --url "http://rancher.example.com:8080/" --access-key $RANCHER_ACCESS_KEY --secret-key $RANCHER_SECRET_KEY --project-name test --file ci/docker-compose.yml --verbose up --upgrade --pull

The only issue is that Rancher can't pull from my private registry. I opened a new issue for that: https://github.com/rancher/rancher/issues/5198


Update swift-argument-parser version to 1.2.0

Updates the swift-argument-parser to the latest version 1.2.0.
Were missing an entire major version without this change and some projects that depend on ArgumentParser > 1.0 cannot also depend on XCLogParser.

Just rebased, saw that master updated Xcode which is needed to pass CI. Will follow up with update to XCMetrics once this gets released


Various README suggestions

🚀 Pull Request
Description

Updating dead links, out-dated code, and a couple of other suggestions

Thanks @bjlittle!


cilium upgrade doesn't support --chart-directory

When upgrading to a specific set of images, it may be necessary to pass a new Helm chart to use (for example, see https://github.com/cilium/cilium/issues/24787). That is however not supported today in the upgrade command:
$ ./cilium upgrade --agent-image quay.io/cilium/cilium-ci:latest --operator-image quay.io/cilium/operator-generic-ci:latest --chart-directory=$CILIUM_SRC/install/kubernetes/cilium
unknown flag: --chart-directory

Hey @pchaigno, I've linked a PR resolving this issue. Do check it out and review it.
Correct me if something is missing.


are there cases for significantly enriched pathways found without any genes in leading edges?

could you please explain the logic behind such cases?

Do you have any examples, so I can recreate the issue? If you have empty leading edges then I suspect there is some underlying issue. By definition, this should not be possible. The leading edge consists of the genes that occur before the running sum reaches its maximum deviation from 0. The running sum either has a negative or positive deviation. In the case the max deviation is negative the genes to the right of the max are the leading edge, and for positive it is the genes to the left.

I am closing the issue since this seems to be an extreme edge case. I have not encountered this behavior since. If it still persists I am happy to reopen the issue.


deis CLI version changing

how can i change the version of deis CLI or how can I install deis CLI with specific version that I want?

Deis v1 has been inactive since 2016. Please open issues related to the teamhephy fork at https://github.com/teamhephy/workflow. Thanks.


Questin about roundabout environment setup

Hello, thanks for this repo! Some confusion about the roundabout environment setup.

This is the diagram as I understand it. However, the definition of the lane ["se", "ex", 0] is something like net.add_lane("se", "ex", CircularLane(center, radii[lane], np.deg2rad(90 - alpha), np.deg2rad(alpha), clockwise=False, line_types=line[lane])). This means the start point of the lane is at  [8.13, 18.27](lane.position(0, 0), where I think should be where the lane of ["nx", "ee", 0]. Is there something wrong with my understanding of the whole environment design? Thanks

Another explanation I can think of is this：

Then position calculation is corresponding, but the north-south direction is a bit weird

Hi @lxjlu, your first post is absolutely correct, and the only subtility is that I am using the convention that the y axis is downwards (towards the south, here). So the position (8.13, 18.27) is indeed in the (se, ex) segment.
Sorry if that was confusing, I got used to this convention after working in the aerospace industry for a few years (see e.g. wikipedia)


SSR Usage in non-Node.js Environments no longer works

Version
3.0.7
Reproduction link
https://github.com/ferdinando-ferreira/vue-next
Steps to reproduce
The full description of the issue (plus a fix for the issue) was submitted as a PR at https://github.com/vuejs/vue-next/pull/3460.
Here is the short summary
git clone git@github.com:ferdinando-ferreira/vue-next.git --single-branch vue-next-basic-renderer
cd vue-next-basic-renderer
yarn
yarn build
cd usecase
npm install
npm run build
npm run start:phpv8-current

It depends on php and phpv8 extension.
What is expected?
An example similar to what is described at https://ssr.vuejs.org/guide/non-node.html working as described
What is actually happening?
With the addition of renderToStream on server-renderer it is no longer possible to compile a SSR version for non Node environments

Submitted a PR (https://github.com/vuejs/vue-next/pull/3460) that fixes the issue

I'm also having issue with stream dependency. The thing is, I'm only importing renderToString, not renderToStream but, since the production build of @vue/server-renderer is CJS, Rollup cannot do the tree shake.
Perhaps just providing an ESM build could work?


broken loading gif

dockstore/dockstore#3446

I don't think it's obvious why this fixes it to a new engineer or somebody who hasn't worked in this area; I feel your commit message should have an explanation.

Do we know what changed to cause it to be broken?

I don't think it's obvious why this fixes it to a new engineer or somebody who hasn't worked in this area; I feel your commit message should have an explanation.

updated


Committee session export

This PR adds a management command to export a list of submitted talks to be discussed in the program committee meeting.

Pull Request Test Coverage Report for Build 598

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

Totals

Change from base Build 590:
0.0004%

Covered Lines:
3534

Relevant Lines:
3535

💛  - Coveralls


Proposal for a simpler vector API

This PR is a proposal, resulting from discussions at the Schladming code sprint.
The proposal suggests the following:

Remove the ol.source.FormatVector, ol.format.StaticVector, ol.format.ServerVector, ol.source.GeoJSON, ol.source.KML, ol.source.OSMXML, ol.source.IGC, ol.source.GPX and ol.source.GML classes.

Add loader and strategy options to ol.source.Vector. Also add url and format options to ol.source.Vector for convenience, making it possible to configure a vector source as follows:
var vectorSource = new ol.source.Vector({
   url: 'my.kml',
   format: new ol .format.KML()
});

In that case an XHR will be used to load the KML file (see the ol.featureloader.xhr function this PR intorduces).
Here's a more fancy way to configure a vector source:
var vectorSource = new ol.source.Vector({
  loader: function(extent, resolution, projection) {
    var url = 'http://my.geojson.web.service?bbox=' + extent.join(',');
    $.ajax(url).then(json) {
      var features = new ol.format.GeoJSON().readFeatures(json,
          {featureProjection: projection});
      vectorSource.addFeatures(features);
    });
  },
  strategy: ol.loadingstrategy.bbox
});

Implement loadFeatures in ol.source.Vector. With this the vector source is always loaded at render time, making it no longer necessary to configure a vector source with a projection.

This PR ported all the examples to the new API. They all work as expected, including the vector-wfs and vector-osm examples that currently rely on ol.source.ServerVector.
This is just a proposal right now, and the branch still requires quite some work. But I think it's clear that the approach would work, and would make for a much nicer API.
Things that remained to be done:

Make linter and compiler happy
Remove tests
Add new tests
Remove stuff from olx.js
Rename ol.loadingstrategy to ol.strategy?
Rename ol.featureloader to ol.loader?
Fix ol.source.TileVector (which currently relies on ol.source.FormatVector)
Check the "loaded extents Rtree" stuff (check that the source behaves correctly when there are no features to load)

Nice, I like the approach, just reading it now since I missed the previous discussions

making it no longer necessary to configure a vector source with a projection

that in itself is a good reason for going ahead with this proposal :-)
I too like this proposal. One thing I'm not clear about is the definition of a 'strategy'.  This was always an FAQ with OL2. Are not the different methods of loading data in your 2 examples different 'loading strategies'? In which case, do we need 2 different objects for 'loader' and 'strategy'? If a strategy is not a loading strategy, then what is it? Also, does the same logic not apply to loading tiles as well as vector data? Are not the different tile sources simply different 'loading strategies' too?

PS The current API docs aren't very helpful in this respect. I find ol.loadingstrategy which says 'see ol.source.ServerVector' but afaics there's no mention of strategies there. :-(

This is now ready for review.
The full ol.js build is 469 K non-gzipped and 138 K gzipped. With master it is currently 483 K and 139 K gzipped.

This is so nice.  Thanks for taking on this work @elemoine, it leaves us with a much nicer API.  I'm in favor of merging this in.  Please update the upgrade-notes.md before doing so.

upgrade-notes.md now updated.

I also removed the projection and state options on olx.source.VectorOptions and olx.source.TileVectorOptions.

Some notes before merging:
So this PR adds a loader option to ol.source.Vector. loader is a function. Here's the corresponding typedef:
/**
 * @typedef {function(this:ol.source.Vector, ol.Extent, number,
 *                    ol.proj.Projection)}
 */
ol.FeatureLoader;

The vector source is responsible for calling the loader. And it is called using the vector source as the this object. This is to be able to do this.addFeatures(features) in the loader.
This may be inflexible as the user may want/need to use some other object as this. This is something we may want to reconsider in the future.
Also, ol.featureloader includes only one loader currently: ol.featureloader.xhr. User-defined loaders can already be used, but it may make sense to add more built-in loaders in the future, ol.featureloader.jsonp for example.


CI/CD annotation with self-hosted gitlab

Dear,
I am using you pipeline plugin with my self hosted gitlab instance.
I was able to retrieve catalog-info but I cannot see CI/CD pipeline.
What annotation do I have to use ?
annotations:

gitlab.com/project-slug: repo/test

OK finally find that I have to modify Entity Page to enable CI/CD with gitab.
But now I have this error
An error has occurred
The requested scope is invalid, unknown, or malformed.
Is self-hosted gitlab supported ?

Hello, how are you?
Well, let's go through the steps.
The annotation we should use so that the "CI-CD" tab maps your pipeline is as follows:
gitlab.com/project-slug: xxx/project_name
In the configuration of your app-config.yaml, make sure that the integration, proxy and auth information is correctly added, see examples of use with gitlab self-hosted:
integrations
integrations:
  gitlab:
    - host: ${GITLAB_HOST_COMPANY}
      token: ${GITLAB_TOKEN}
      apiBaseUrl: ${GITLAB_API_BASE_URL} # example: https://gitlab.company.com/api/v4 # According to the api version of your instance

proxy
proxy:
  endpoints:
    '/gitlab/api':
      target: ${GITLAB_API_BASE_URL} # example: https://gitlab.company.com/api/v4
      allowedHeaders: ['Authorization', 'Content-Type']
      headers:
        Accept: application/json
        Content-Type: application/json

and auth
auth:
 environment: development
 providers:
   gitlab:
      development:
        clientId: ${ GITLAB_APP_CLIENT_ID}
        clientSecret: ${ GITLAB_APP_CLIENT_SECRET}
        audience: ${ GITLAB_APP_CLIENT_AUDIENCE} # example: https://gitlab.company.com
        callbackUrl: http://localhost:7007/api/auth/gitlab/handler/frame #optional

See our full documentation :arrow_right: here
:warning: I would like to ask you to check the version of our plugin that you are using, always update to the latest version.

I'd like to take this opportunity to invite you to send any suggestions or questions to our community in the comments. 💬
Join our community to resolve questions about our Plugins. We look forward to welcoming you!
Go to Community  🚀


Use the Epoch Manager contract to query for the latest epoch

Enables obtaining the latest epoch via a call to the Epoch Manager contract.
Fixes #113
Still needs to be tested before merging.
Structural changes

Created a Contracts object that will hold all logic for interacting with The Graph Protocol smart contracts.
Placed it under the Oracle struct
Moved the existing DataEdge interactions to the new Contracts struct.
Config has now two contract addresses, named after DataEdge and Epoch Manager
Removed and ignored dev config file, as it is often useful to use it locally with sensitive data (private keys, URLs, etc.)
New xtask commands: current-epoch and send-message
Added an oracle/lib.rs module to share some code with the xtask crate
Implemented backfilling

Notes:

Commit 564b44843943bb5951fac9e9b2736acb14584ded is the same as #143

@neysofu, I'll revert the backfilling commits because:

they currently work with an empty network list, and
we might not need backfilling at all.

Rebasing into the latest main.

@tilacog there's a conflict with main due to Message::ChangeOwnership, the fix is easy but let me know if you need help with it


pull request for e2e test at 11/30/2016 02:56:05

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[BUG] Long-time operations notifications generates error when DBeaver has focus

Whenever for the first time DBeaver has to open a popup notifying the end of long-time operation, it produces the error in screenshot (Ubuntu Mate 18.04, DBeaver 6.1.4). Still, query executed correctly, which is really confusing...
To reproduce, start a fresh DBeaver instance, set Enable long-time operations notifications to 10 seconds, run (in PG) the query SELECT pg_sleep(10);, be sure not to take focus away from running window.
Error will be:

Could be a less destructive version of this? https://github.com/dbeaver/dbeaver/issues/3931
That ticket made DBeaver unable to start, but its workaround involved commenting something about AtkWrapper in java properties, so maybe the same workaround helps you.

@p91paul thanks for the hint.
Anyway, we need to add error handler for try notifications to avoid user confusion.

@wiwwo could yout test the fix in Early Access version (https://dbeaver.io/files/ea)?

6.1.5 from https://dbeaver.io/files/ea seems to have solved the problem!


High load, 100% cpu usage

I am having problems handling 300 req/s. In a testing environment with around 30 req/s the CPU usage is around 0.3 -0.7.
But when going to production it spikes to 100% and stays there. The messages are not small can sometimes be 10-40KB. Still, I don't understand why the high CPU.
The logic is that from the received message we send it directly sent to Redis using hiredis. We had this directly coupled but now we do it in another thread and a memory queue. Still CPU usage goes to 100%.
We are sending binary messages. Is this a buffer size problem?

In prod we have around 5000 connections and it's linux, meaning 100% CPU is one core fully loaded.

It was ulimit issue. Sorry for that... But it's hard to find because no errors are thrown...

It was ulimit issue. Sorry for that... But it's hard to find because no errors are thrown...

Hi @gmatej , what ulimit configuration do you have now to fix this problem?


Ionic Modal with ngMap using Google Place Autocomplete Won't Select Prediction

Short description of the problem:
Clicking/selecting a prediction from the Google places dropdown that is within a modal doesn't trigger the on-place-changed event, see Codepen below.  Using data-tap-disabled on the map wrapper and the .pac-container both don't allow the selecting of the predictions.  Seems related to #1798, but the solution doesn't work in a modal.  This solution is applied in the Codepen to demonstrate it isn't working.
What behavior are you expecting?
Being able to trigger the on-place-changed when selecting a prediction from the Google places dropdown.  This works in a normal view that contains a map, but not when the map is in a modal.
Steps to reproduce:

Use Google map Places in a modal, see Codepen below.

insert any relevant code between the above and below backticks

Other information: (e.g. stacktraces, related issues, suggestions how to fix, stackoverflow links, forum links, etc)
Which Ionic Version? 1.2.x
Plunker that shows an example of your issue
http://codepen.io/mtpultz/pen/PNyMKv?editors=0010
Run ionic info from terminal/cmd prompt: (paste output below)
Cordova CLI: 6.0.0
Gulp version:  CLI version 3.9.1
Gulp local:   Local version 3.9.1
Ionic Version: 1.2.4
Ionic CLI Version: 1.7.14
Ionic App Lib Version: 0.7.0
OS:
Node Version: v5.3.0

Got this working using this fix, but we don't like using jQuery in our AngularJS applications so I changed it a bit to be within the AngularJS API with a bit of native JavaScript.
Markup
<input placeholder="Search for places"
       ng-model="locationCtrl.event.location"
       on-place-changed="locationCtrl.placeChanged()"
       places-auto-complete
       ng-focus="locationCtrl.disableTap($event)">

Controller
vm.disableTap = function(event) {

    var input = event.target;

    // Get the predictions element
    var container = document.getElementsByClassName('pac-container');
    container = angular.element(container);

    // Apply css to ensure the container overlays the other elements, and
    // events occur on the element not behind it
    container.css('z-index', '5000');
    container.css('pointer-events', 'auto');

    // Disable ionic data tap
    container.attr('data-tap-disabled', 'true');

    // Leave the input field if a prediction is chosen
    container.on('click', function(){
        input.blur();
    });
};


fs-minipass, round 2

I somehow seem to have broken PR #145.  This is another attempt.
Uses fs-minipass streams for everything, which are the same number of syscalls as doing fs.readfile when small enough for a single read, and more code consistency overall, since there's only one way to do most things.

Changes Unknown when pulling 38387df8bab43386c4b458ae5f4515af33b7eaa4 on fsm2 into ** on master**.


Proposal: disallow "fall through" to a labeled statement

[Edited to make an exception for labeled loops where the labels are only used to break out of (or continue) the loops with a break or continue statement.]
We propose that the language be changed such that the statement immediately before a labeled statement (in the same block) must be a terminating statement or an explicit fallthrough statement if (and only if) the label is the target of a goto statement. (Note that a goto statement jumping to the label is a terminating statement and thus also a valid choice.)
Specifically, loops that are labeled only so that they can be exited or continued with "labeled" break or continue statements (with no goto statement jumping to the same label anywhere) do not need a "fallthrough" to enter the loop.
This is not a backward-compatible change.
Rationale
Currently the language permits code to "fall through" into a label. For instance, the following code is permitted:
   // arbitrary statement which is not a terminating statement

exit:
  // handle special condition
  return ...
}

Here, an exit label is used to handle a special condition, for instance an error. Code such as this is not uncommon in functions that deal with a great number of conditions that all need to be satisfied for some reason, and which bail if any of the conditions is not satisfied. Examples of such code can be found in the compiler's type checker and other places. In many of these situations it is arguably an error if the code before the label "falls through" into the code following the label. Typically the code before the label will be a return statement.
In situations such as these, using a goto and a label in this semi-structured way is a simple, and very effective approach, but often looked down upon due the negative reputation goto's have. Sometimes a goto is exactly the right solution, and any rewrite or factoring only leads to more complexity.
 If fall through is intended, it's trivially achieved with an explicit fallthrough statement (or a goto to the label) which has the nice side-effect of documenting the intent clearly.
The language has a related requirement already for switch statements (note that in original C, a switch statement is essentially a computed goto).
Implementation
Besides updating the spec and related documentation, making this change would require a relatively simple change to the compiler's label and goto checker code in the front-end. The analogous change would be needed in go/types and gccgo. And of course, existing code that currently falls through would have to be adjusted (this could be done with gofmt).

Can't this be done as a vet-check instead, for much of the benefit without the breakage?
Personally, I pretty much only use labeled statements to label outer loops to break out of (or continue). IMO, it is pretty awkward having to fallthrough to that - it's just a label to refer to the loop.
IMHO the upsides don't outweigh the downsides on this one…

This is a surprising proposal in that it has the tail wagging the dog.
The meaning of labels in Go1 is as a tag, a handle for "there" in goto label and a label for "what to break from" in break label. This proposal suggests that because some developers write code that (a) enters a labeled section by sequential execution, (b) where they do not want be in the labeled section, and, (c )they also don't want to write return, goto, break, continue, or panic at the end of their preceding code, that the language should change to make their refusal to say what happens before the label a compile error.
I strongly prefer the Go1 definition of this as a programmer error. Let's look at cases:
a := 1
if b {
   goto label
}
a *= 8
// I, programmer, refuse to do anything special here
label:
a *=2
return a

When the developer says, *"but I wanted 2 or 8, not 2 or 16!", this proposal changes the language. I'd rather change the programmer. Not so much to resist change as to defend reason in the fundamental sequential nature of imperative programming, not just in Go, but in nearly all programming (other than SNOBOL with T and F both defined), and also in recipes, knitting and crochet, preflight checklists, and most every structured human endeavor.
If they want 2 or 8, they need not to refuse to put code where that comment is.

remove   fall through

@griesemer
Just wondering whether the timing of the present proposal has anything to do with the try proposal (#32437) where @josharian suggested that labelled error handlers (based on something you'd originally mooted yourself) might be preferable to using defer?
I can't say I'd be in favor of it otherwise as only a few days ago I remember writing some code where I needed to jump to a spot intermediate between two nested for statements.
Are you saying that fallthrough would become available in any such scenario and not just in switch statements as at present?

I would love to see the actual uses of labels in everyday repositories. Standard library may not be a good test case for this because it requires lots of micro-optimization so it may have higher prevalence of things like goto. I have a feeling that labels are mainly used in order to label and break out of outer loops, which require fallthrough behavior. I may be wrong though, as I am only speaking from personal experience, so it would be good to see some data.

To prevent accidental fallthrough, isn't it sufficient to add panic("unreachable") before the label in code using goto in this way? Obviously, testing could miss it and like the old switch break pair, it's easy to omit, but goto code is so unusual nowadays, I don't think there would be that much burden to add it as a code review step or whatever. Plus you only need one panic, versus many breaks in a switch.

Dean, they look like this. The proposal would make it a compile failure to
have the program flow from "idiom := f.Idiom()" to "for _,e := range
b.Succs{"
// addDFphis creates new trivial phis that are necessary to correctly
reflect (within SSA)
// a new definition for variable "x" inserted at h (usually but not
necessarily a phi).
// These new phis can only occur at the dominance frontier of h; block s is
in the dominance
// frontier of h if h does not strictly dominate s and if s is a successor
of a block b where
// either b = h or h strictly dominates b.
// These newly created phis are themselves new definitions that may require
addition of their
// own trivial phi functions in their own dominance frontier, and this is
handled recursively.
func addDFphis(x *Value, h, b *Block, f *Func, defForUses []*Value, newphis
map[Block]rewrite, sdom SparseTree) {
oldv := defForUses[b.ID]
if oldv != x { // either a new definition replacing x, or nil if it
is proven that there are no uses reachable from b
return
}
idom := f.Idom()
outer:
for _, e := range b.Succs {
s := e.b
// check phi functions in the dominance frontier
if sdom.isAncestor(h, s) {
continue // h dominates s, successor of b,
therefore s is not in the frontier.
}
if _, ok := newphis[s]; ok {
continue // successor s of b already has a new phi
function, so there is no need to add another.
}
if x != nil {
for _, v := range s.Values {
if v.Op == OpPhi && v.Args[e.i] == x {
* continue outer // successor s of
b has an old phi function, so there is no need to add another.
}
}
}
            old := defForUses[idom[s.ID].ID] // new phi function is

correct-but-redundant, combining value "old" on all inputs.
headerPhi := newPhiFor(s, old)
// the new phi will replace "old" in block s and all blocks
dominated by s.
newphis[s] = rewrite{before: old, after: headerPhi} //
record new phi, to have inputs labeled "old" rewritten to "headerPhi"
addDFphis(old, s, s, f, defForUses, newphis, sdom)  // the
new definition may also create new phi functions.
}
for c := sdom[b.ID].child; c != nil; c = sdom[c.ID].sibling {
addDFphis(x, h, c, f, defForUses, newphis, sdom) // TODO:
convert to explicit stack from recursion.
}
}
On Wed, Jun 12, 2019 at 7:23 AM Carl Johnson<EMAIL_ADDRESS>wrote:

To prevent accidental fallthrough, isn't it sufficient to add
panic("unreachable") before the label in code using goto in this way?
Obviously, testing could miss it and like the old switch break pair, it's
easy to omit, but goto code is so unusual nowadays, I don't think there
would be that much burden to add it as a code review step or whatever. Plus
you only need one panic, versus many breaks in a switch.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/32565?email_source=notifications&email_token=AB4DFJJSWYPLCFQVOHS2FULP2EBE7A5CNFSM4HXFKSU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXQSSZI#issuecomment-501295461,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB4DFJPMEZ5XIS5VF3ZPQWDP2EBE7ANCNFSM4HXFKSUQ
.

--
Michael T<EMAIL_ADDRESS><EMAIL_ADDRESS>

I like the intent of this proposal, but I agree with @Merovius that it's not appropriate for labelled loops, where it's entirely appropriate enter the loop but use a label to break out.
Maybe the rule could be that the rule only applies to labels that are the target of a goto (as opposed to a break or continue statement).

@rogpeppe I'd be on board with that

@Merovius , @rogpeppe Indeed, you make an excellent point. I missed that last night. I've updated the proposal accordingly: The requirement for an explicit fallthrough to a labeled statement now only applies to labeled statements which are the target of a goto statement.

@MichaelTJones  The example you are giving is exactly the kind of code where a fallthrough would be appropriate. If there's any good reason for not changing that code into the structured and much more easily readable
a := 1
if !b {
   a *= 8
}
a *=2
return a

the programmer should be forced to say so, explicitly. This may just be an unfortunate example, so I'd be curious if you have more convincing ones.
(Please also note that I amended the proposal to accommodate loops better.)

@alanfo Yes, a fallthrough would not just become available but would be required in cases outlined in the proposal (but see the amendment for loops). There is no denying that this idea came up while thinking about the consequences of using a try jumping to a label rather than doing a return.

Are there documented cases where the current label rules caused bugs? If so, could you list references?

While I certainly agree that this should only apply to labeled statements that are the targets of gotos and not ones that are being used to identify loops, proper error messages for this are very important. For example:
// ...

// This got added later.
if somethingOrOther {
  goto loop
}

// ...

loop:
for {
  // ...
  if yetAnotherThing {
    break loop
  }
  // ...
}

When that goto gets inserted, suddenly the loop label becomes an error. The error message should have something like

./example.go:30:2: labeled statement requires explicit fallthrough because of goto at ./example.go:25:2

Or something.
On a related note, something similar might be nice for the shadowed during return error.

I think a much more easily noticeable rule would be to disallow fallthrough to terminating statements, rather than disallow fallthrough for statements that are the targets of gotos

@DeedleFake This proposal was not meant to encourage unjustified uses of gotos.  They should be extremely sparingly used, if at all.  But there are rare cases where a goto is exactly the right thing. If that is the case in your specific example, it is ok to have to write that fallthrough into the loop.

Excuse me, but IMO such a detail do not deserve a huge breaking¹ change. Warnings about possible slip should be left to go vet.
¹. It is breaking mental model of the language. It not only adds a half of a new meaning to the fallthrough keyword, but also makes its interpretation contextual to the obscure details level »if (and only if) the label is the target of«.
What should I tell to the junior programmer who once a million lines of code will see such egregiously outplaced fallthrough?

@ohir FTR, it is already important whether or not a label is used. And it's not an "only if" - AIUI you can use fallthrough even if the label is not the target of a goto (and instead the target of a break/continue).

@Merovius I cited "only if" from the proposal. I am aware that it was added later in response to @rogpeppe good concerns. My opinion is that people who know where to put a goto need not a nanny compiler but people who do not feel good in goto's presence will either stuck at 'misplaced' fallthrhrough or will have to remember a murky rule about rare usage of the keyword that for long had only been a part of the switch construct.

Another case I just stumbled over that IMO is interesting in light of this proposal: go/scanner.go. IMO requiring a fallthrough as the first line of the function is overkill. Arguably, this code could be fixed some other way (maybe the function should just recurse), but it's an example to keep in mind.

Good case for a become statement.

@Merovius Yes, indeed, thanks for pointing this out. The scanner could just use a for {} loop and a continue inside (recursion makes the scanner sensitive to stack overflow if fed malicious code - and it's trivially avoided). The only reason for the goto was that I didn't want to have the entire body indented because of the loop.
Maybe this proposal is not such a good idea after all.

You could restrict the proposal to labels that are the target of a forward goto. (Suitably phrased, this also could take care of labels attached to switch and for statements, since those are always backwards-looking.)

This restriction wouldn’t necessarily require adding a new meaning for fallthrough. Since there is by definition a label present, you could use a goto and a panic:
  goto L
  // ...
  goto L
  panic(“required terminating statement”)
L:
  // ...

Given that, it seems worth exploring this initially as a vet check. (With all the restrictions we’ve discovered to date.)
cc @mvdan

Even though I’m not in favor of the proposal, I am 100% in favor of any and
all Go Vet checks. Was looking recently at professional tools of that kind
and there is marvelous insight in the things they test for.
My wife had a colleague at IBM who did a company wide analysis of common
sources of coding errors and published it. Things like those insights would
be great in Vet. (How likely is this fragment copied code not fully changed
for its new location, for example)
It would be a cool Google R&D thing to gather coding errors and build an AI
model for danger signs. That would make the Go LSP backend a brilliant
resource.
On Sat, Jun 15, 2019 at 10:54 PM Josh Bleecher Snyder <
<EMAIL_ADDRESS>wrote:

This restriction wouldn’t necessarily require adding a new meaning for
fallthrough. Since there is by definition a label present, you could use a
goto and a panic:
goto L
// ...
goto L
panic(“required terminating statement”)
L:
// ...
Given that, it seems worth exploring this initially as a vet check. (With
all the restrictions we’ve discovered to date.)
cc @mvdan https://github.com/mvdan
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/32565?email_source=notifications&email_token=AB4DFJIKHAGDP3BW7BH47D3P2XIQJA5CNFSM4HXFKSU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXZF3EI#issuecomment-502422929,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB4DFJPJDN422IG3YIBCZ3TP2XIQJANCNFSM4HXFKSUQ
.

--
Michael T<EMAIL_ADDRESS><EMAIL_ADDRESS>

@josharian Since a goto is a terminating statement, you don't even need the panic.

I'm going to retract this proposal. The proposal as stated is not backward-compatible and it doesn't seem warranted to introduce a non-backward compatible language change for what is admittedly a marginal safety improvement. Furthermore, this proposal doesn't address an urgent need.
Note that a vet check wouldn't be possible if it required that one use fallthrough as proposed because fallthrough is not permitted outside switch statements. One could require people to write
    goto L

L: ...

i.e., use a goto statement to the label immediately following instead of a fallthrough if this were desirable.
Closing.


Add Ruby 3.2 to CI

Adds Ruby 3.2 to the CI matrix.  Also updates the CI actions to v3, eliminating Node 12 warning.

Thanks!


Error if there's an update available but the app's on a read-only volume

Addresses #182
I think it makes sense to only error once we know that it matters, i.e., that there's an update available.
The read-only volume check is taken from Sparkle: https://github.com/sparkle-project/Sparkle/blob/3a5c620b60f483b71f8c28573ac29bf85fda6193/Sparkle/SUHost.m#L178-L183

🗝


Error when using your convert-onnx-to-tflite.py script.

Hi there,
Thanks for your useful repo ,
I'm facing an error when using your convert-onnx-to-tflite.py script.
This is the following error

This is my onnx model
https://drive.google.com/file/d/1AaA0DG9X8tYAPjzi_hR0wz0F0s7-tdGx/view?usp=sharing
my pytorch model https://drive.google.com/file/d/18NMAcPh2ZJwaWZZ-JxvZZOWOllskygSq/view?usp=sharing
You can understand precisely the error at the link https://github.com/onnx/onnx-tensorflow/issues/767#issue-707809157
Sorry for my noob and highly appreciated for your support

I will check, but I cannot promise anything

I will check, but I cannot promise anything

Hi @paulbauriegel ,
I have studied several days for the issue but can't fix it. Do you have any update?

I have just convert to keras NHWC and convert to tflite successfully. Thanks


Support the ? operator within a function

It seems that we currently have to use .unwrap() everywhere we would prefer to use ?
Example
:dep reqwest = { version = "0.10", features = ["blocking"] }
use reqwest::*;
let body = reqwest::blocking::get("https://www.rust-lang.org/")?.text()?;
body

Here is the error output
let body = reqwest::blocking::get("https://www.rust-lang.org/")?.text()?;
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `*mut evcxr_internal_runtime::VariableStore`
the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `std::ops::Try`)

let body = reqwest::blocking::get("https://www.rust-lang.org/")?.text()?;
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `*mut evcxr_internal_runtime::VariableStore`
the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `std::ops::Try`)

Interesting idea. It'd probably be necessary to decide on a specific error type for the return value. I'm somewhat unsure of how that would work out, since it'd be necessary for either evcxr, or something else to define Into implementations for each error type that could be returned.

That is exactly where I got stuck on this one, so I made an issue about it. Maybe it could be something like SomeGenericEvcxrErrorType where the only goal is to print out the details of the error as the return value, but I would need to do a bit more reading on the try macro and the Into trait with some generic magic? to see if this is even possible.

It could also be tricky making sure that variables don't get lost when an error gets returned. All the variables are stored in a HashMap. Each time some code gets executed, all the variables are taken out of the HashMap and put into variables with appropriate types, then put back into the HashMap when execution completes. Panics generally cause variables to get lost (although there is a mode where they get preserved, but it slows down compilation, so is currently off by default). But for returning an error, it seems that the user expectation would be that variables wouldn't get lost. That means that evcxr probably would need to expand the ? operator to some custom code that puts all the variables back into the HashMap then prints out the error message. I guess that means that we might not need to actually have an error return type, Into implementations etc - but it does mean we need to mess with the users code quite a bit - ideally without any side effects that the user would notice.

If you build from head, you can now use the question mark operator provided the error type implements Display. It also works in conjunction with async code. So you can do .await?. I'll probably do a release in the not too distant future, but if anyone wants to give it a go before then and report any problems, that'd be appreciated.
 Then a question mark operator encounters an error, the early return means that variables that were supposed to be defined by the code being executed won't be defined, however the host doesn't know that. For example, if you execute:
let v = "hello".parse::<i32>()?;

Then subsequent executions will panic, reporting that the variable v has gone missing.
Two options come to mind to fix this.

Allow the host to query the guest to determine definitively what variables are currently available.
Have the guest signal the host to let it know that an error occurred and that any variables that were in the process of being defined should be dropped.

The end effect for the user should be the same in both cases. Preexisting variables, provided they were neither moved by the code being executed, nor shadowed by a new variable with the same name should still be available after an error.


Amend microdata improve zips and FIPS handling

Description
A couple fixes to the "amend microdata" script to deal with geo edge cases.

Local zips info file was missing two FIPS codes. Switch to covidcast to generate state column instead.
Blank invalid (low population) zip codes instead of blanking everything but valid zip codes. Makes later assertion easier and preserves nonsense/invalid A3 values that have NA zip codes.
Filter out territories by zip code in addition to filter on state in case state field is not available.

Changelog

amend_monthly_microdata.R

@krivard This is ready to merge.


How to send streamed reply?

I need to reply to a request with data from a file stream. i.e. I don't want to put the entire response in a buffer for the reply. Is there a way to do this that I am not seeing?

I was looking at that. Would I use send(http::tx_response response) to send response code and header and then send_chunk(Container chunk) x times then last_chunk()?
Thanks so much for the help!


Allow to ask for max capacity for receiver pays transfers

Belongs to https://github.com/trustlines-network/project/issues/268

Closing for this since we don't have a problem with this currently. Once someone feels like we need to deal with this we can reopen / create a new issue.


Feature Request: Allow service of type "NodePort"

Dears in the service factory it is hardcoded the type "ClusterIp" for the service, in my current setup I want to point an ALB directly to the created Shiny server, and for that I need a service of type "NodePort".
Would you consider this as a feature for future releases ?
https://github.com/openanalytics/shinyproxy-operator/blob/5a0740bb9db51a2e0419a44d41311908832a6f56/src/main/kotlin/eu/openanalytics/shinyproxyoperator/components/ServiceFactory.kt#L56

Another alternative would be to provide a KubernetesServicePatches, like for podtemplates and ingress


OpenAI Assistants: changelog update for beta.4 bug patch

This change just updates the changelog.md file with final details for a prepare-release.ps1 snap. We'd originally intended to batch these into a bigger feature update soon, but we've heard from several blocked customers and want to expedite availability of the pending fixes.

API change check
API changes are not detected in this pull request.


Compilaion fails:

Cargo.toml:
package]
name = "fltk-flemish"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
flemish = "0.3"

Compilation error:
error[E0310]: the associated type `<Self as Sandbox>::Message` may not live long enough
   --> C:\Users\ron\.cargo\registry\src\github.com-1ecc6299db9ec823\flemish-0.3.0\src\lib.rs:185:32
    |
185 |             if let Some(msg) = r.recv() {
    |                                ^^^^^^^^
    |
    = help: consider adding an explicit lifetime bound `<Self as Sandbox>::Message: 'static`...
    = note: ...so that the type `<Self as Sandbox>::Message` will meet its required lifetime bounds

Rustc version 1.63.0 (4b91a6ea7 2022-08-08)

Thanks for the report, I've pushed a fix in version 0.3.1.

Thanks. I'll give it a try tomorrow
On Tue, Sep 27, 2022, 17:09 Mohammed Alyousef @.***>
wrote:

Thanks for the report, I've pushed a fix in version 0.3.1.
—
Reply to this email directly, view it on GitHub
https://github.com/fltk-rs/flemish/issues/1#issuecomment-1260056855, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AOD5YWGKKIOGKC37WHLQH7LWANPALANCNFSM6AAAAAAQXAVRUM
.
You are receiving this because you authored the thread.Message ID:
@.***>

Thank you again, I’m able to get a good compile with 0.3.1. Ron. Sent from Mail for Windows From: Mohammed AlyousefSent: Tuesday, September 27, 2022 5:09 PMTo: fltk-rs/flemishCc: Ron Fox; AuthorSubject: Re: [fltk-rs/flemish] Compilaion fails: (Issue #1) Thanks for the report, I've pushed a fix in version 0.3.1.—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>


Copying across body classes

Sometimes you need to access the classes on the body element, especially working with Wordpress. I'm not sure if this is possible with the current smoothstate.js but adding this code after the line:
document.title = cache[url].title;
Seems to work.
var new_html = document.createElement('html');
new_html.innerHTML = cache[url].doc;
document.body.className = $(new_html).find('body')[0].className;

Awesome!

what about smoothState.cache[url].html[0].className;

Another method would be the following:
<body>
    <div id="app>
        <div <?php body_class(); ?>>
            Content Here.
        </div>
    </div>
</body>

It doesn't need to be applied to the body element.

I needed the body classes to be updated too. First answer doesn't work anymore. Wasn't happy with the second one.
Here is how I did it :
storePageIn: function (object, url, doc, id) {
        // var $newDoc = $(doc);

        // https://github.com/miguel-perez/smoothState.js/issues/228
        var newDoc = document.implementation.createHTMLDocument("tmp");
        newDoc.documentElement.innerHTML = doc;
        var $newDoc = $(newDoc);

        object[url] = { // Content is indexed by the url
          status: 'loaded',
          // Stores the title of the page, .first() prevents getting svg titles
          title: $newDoc.filter('title').first().text(),
          html: $newDoc.filter('#' + id), // Stores the contents of the page,
          bodyClass: $newDoc.filter('body').first().attr('class'),
        };
        return object;
      },

Then in updateContent function
            // Update the title
            document.title = cache[url].title;

            // Update body class
            // https://github.com/miguel-perez/smoothState.js/issues/327
            document.body.className = cache[url].bodyClass;

Is this piece of code will be include in a future release (or something similar) ?

@jesuismaxime I highly doubt it, I think the author has abandoned the project like many other authors have done on GitHub :(

@CHEWX Could you explain just a little further how to implement this? (sorry)

@olddevyg Appreciate the explanation! Could you go into a little more detail on how to apply to Wordpress? Thanks in advance!


Generating single external CSS file

We have inline CSS option, which will take CSS from external files and inline them into HTML.
Is there a way to take all the (otherwise inline) CSS into a single external CSS file?
Note: I think Crisper (the recommended tool for CSP scenarios) would do that for JavaScript, but not CSS.

Polymer uses CSS scoping techniques like ShadowDOM and Custom CSS Properties, which rely on DOM position to scope your styles in your components.
Making a single CSS file would break that.


feature: H.265(HEVC) support for FLV

Support for H265 carried by FLV (codecID = 12)

Merged, thanks!


Streaming file transfers

Once upon a time, before Matrix, we had a glorious feature of streaming file transfers - where one client would HTTP POST the file using Range headers as the other would HTTP GET it with Range headers also.  It worked surprisingly well; good enough to livestream video and do low-latency push-to-talk whilst leaving copies of files on the media repo.
It'd be nice one day to have this in Matrix too.  This would mean ensuring that we can send events before the media has finished up loading.

related (but not the same): #691

Related https://github.com/matrix-org/synapse/issues/4780


Decode bytes to str with Pandas reader

It would be nice if there was a setting which allowed to get data as str, rather than bytes, in Python 3 when used with pandas=True.  I'm aware of the discussion in #35 and related example of a custom reader here, so it's definitely possible to achieve this. It just seems like there are quite a few things you need to overwrite to handle all the cases, which makes it very easy to do it wrong.  If this is not going to be officially supported out of the box, then at least a recipe with QReader implementation which handles all the possible cases would be extremely helpful.
I feel like Python 3 users would prefer to get str over bytes in vast majority of cases, and using pandas DataFrame is essential in most scientific applications. If anything, at first I was naively expecting that passing encoding to QConnection would make it do exactly that. So if you don't pass any encoding it would give you bytes, but if you do pass the encoding it would give you decoded strings.
Thanks!

This is what I exactly need!!
an easy way to do is:
in the file qreader.py, function _read_list:
change
if qtype == QSYMBOL_LIST:
symbols = self.buffer.get_symbols(length)
data = numpy.array(symbols, dtype = numpy.string)
return qlist(data, qtype = qtype, adjust_dtype = False)
to:
if qtype == QSYMBOL_LIST:
symbols = self._buffer.get_symbols(length)
data = numpy.array(symbols, dtype = str)
return qlist(data, qtype = qtype, adjust_dtype = False)
it works but i don't if there are side effects

Hello zjc5415,
This hasn't solved the issue for me. I gert an error saying that 'ascii' codec can't decode byte”. Is there another way to do it ?
THnaks

Hello zjc5415,
This hasn't solved the issue for me. I gert an error saying that 'ascii' codec can't decode byte”. Is there another way to do it ?
THnaks

in my case it is  python3.6。
you may debug it line by line and check the reason。


applyedits 404 error

How i can solve this issue?

Hi Drox17,
What version of Luckperms are you using?


CMake improvements

A lot of things could be improved in the CMake scripts, first and foremost using the target-based syntax.
I just saw that @ruslo integrated eos into hunter (https://github.com/hunter-packages/eos/commits/hunter), thank you very much for the work! I should adapt quite a number of the changes you've made.
Before starting, it would probably be great to have travis up and running.

I should adapt quite a number of the changes you've made

Feel free to merge all of them :) I'll be happy to use upstream version in Hunter instead of maintaining the fork. See details here: https://docs.hunter.sh/en/latest/creating-new/cmake-dependencies.html#maintenance The important part is "backward compatibility" - you can have Hunter code in upstream without affecting default behaviour.
In general I doubt I can find time to do the fixes/investigate issues (like Travis errors or something) but I can consult somebody who will do it.

What do you think about CMake 3.0 as a minimum required version?

@ruslo I'm very much in favour of that. I'm willing to go even further if it gets us nicer CMake - eos is supposed to be a progressive project, making use of more or less cutting edge C++ and tools.
Last week I've modernised quite a bit of the cmake scripts, it's all in the devel branch currently (https://github.com/patrikhuber/eos/commits/devel) (with CMake 3.1.3 as minimum). There's probably a few tasks left to do, progress has stalled a bit this week and I'm trying to get some experience how well it all works now.

The major part of this is done, it's part of master, and has been released in v0.11.0.
There's a few minor things that could be improved, like for example using export targets of our dependencies where such exist. I'm leaving this open for the time being.


How many shots are used for evaluation of HumanEval?

Is that 0-shot and 3-shot CoT?

Hi @zhimin-z . If you are referring to the Self-Check baselines, then yes.

Hi @zhimin-z . If you are referring to the Self-Check baselines, then yes. Please refer to https://github.com/GAIR-NLP/factool/blob/main/factool/utils/prompts/self_check.yaml

Thanks for your quick replies
Are these evaluation results from 0-shot or 3-shot CoT?

Hi @zhimin-z. These results were evaluated neither using 0-shot or 3-shot. The results were evaluated using FacTool.
If you are referring to how the individual modules in FacTool are implemented, please refer to our prompts at https://github.com/GAIR-NLP/factool/tree/main/factool/utils/prompts
For some modules in certain tasks we did provide some demonstrations (e.g. query generation for KB-QA), while others we use 0-shot prompting.


Staged Migration to PHS information

Can you include the new staged feature (preview) of PHS rollout into this document:
https://docs.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-staged-rollout

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

ID: 57bc474a-a353-984d-3440-144c3444b100
Version Independent ID: 20ec9d72-24f7-ec32-4c68-f36a5d7968ab
Content: Azure AD Connect: Migrate from federation to PHS for Azure AD
Content Source: articles/active-directory/hybrid/plan-migrate-adfs-password-hash-sync.md
Service: active-directory
Sub-service: hybrid
GitHub Login: @billmath
Microsoft Alias: billmath

Hi @fvanrijt Thanks for your feedback. We will review and update as appropriate.

@billmath Could this be included in the document ?

Hi @fvanrijt
Thank you for opening this issue.  I have gone ahead and created a work item to address this.  Unfortunately I don't have an ETA for when this will get updated.  At this point, we can go ahead and close the issue and I will post a notice once I have updated it.  Thanks!
Bill
#please-close


Question on dataset GraspNet

Thank you first for your great work.
I try to adapt this model to dataset graspnet. And I follow the steps in pixelsplat to write the data loader. It works normally on pixelsplat but the training on mvsplat does not converge. Could you give me some advice how to debug this?

Hi @crepuscularlight, thanks for your interest in our work.
If it works on pixelSplat, I assume your camera poses are aligned with the code base correctly, and the input views contain reasonable overlaps. Normally, it should also work correctly on MVSplat in this case.
Have you tried tuning the near and far in the depth range? You can check some more details at https://github.com/donydchen/mvsplat/issues/4#issuecomment-2019200882. Although it might contain artifacts, the correct near and far should give you reasonably nice-looking results when tested with the released models.
For some other related suggestions, you can check https://github.com/donydchen/mvsplat/issues/23.
Let me know if you try everything mentioned, but still nothing helps.

Thank you for your reply. After adjusting the near and far value, it works normally.

Thank you first for your great work. I try to adapt this model to dataset graspnet. And I follow the steps in pixelsplat to write the data loader. It works normally on pixelsplat but the training on mvsplat does not converge. Could you give me some advice how to debug this?

Hello, I also want to apply GraspNet dataset to pixelSplat and subsequent work. Can you share how you processed this dataset? Did you convert it into RealEstate10K format?

Thank you first for your great work. I try to adapt this model to dataset graspnet. And I follow the steps in pixelsplat to write the data loader. It works normally on pixelsplat but the training on mvsplat does not converge. Could you give me some advice how to debug this?

Hello, I have completed most of the work, but I found that the results I obtained are very strange, it seems that the camera extrinsics are not accurate. Can you tell me how you process the camera extrinsics of the GraspNet dataset?

The above is the code for the camera parameters of the Kinect camera in each frame.

@CHDTevior Hello. I use realsense data and I convert it to re10k format. The code is `    intrinsic_path=example_path/"realsense"/"camK.npy"
extrinsic_path = example_path/"realsense"/ "camera_poses.npy"
transform_np = example_path / "realsense" / "cam0_wrt_table.npy"
K_numpy = np.load(intrinsic_path)

image=example_path / "realsense" /  "rgb" / "0000.png"
img=Image.open(image)
W,H=img.size
K_numpy_normalized = K_numpy
fx = K_numpy[0, 0] / W #fx
cx = K_numpy[0, 2] / W #cx
fy = K_numpy[1, 1] / H #fy
cy = K_numpy[1, 2] / H #cy

K_numpy_torch = torch.from_numpy(K_numpy_normalized).float()

camera_pose_numpy = np.load(extrinsic_path)
transform_np = np.load(transform_np)
conversion = np.zeros((4, 4), dtype=np.float32)

camera_pose_numpy = np.linalg.inv(transform_np @ camera_pose_numpy)
# with example_path.open("r") as f:
#     lines = f.read().splitlines()

# url = lines[0]

timestamps = range(camera_pose_numpy.shape[0])
intrinsics = np.array([[fx,fy,cx,cy]],dtype=np.float32)
intrinsics=np.repeat(intrinsics,camera_pose_numpy.shape[0],axis=0)

camera_pose3x4=camera_pose_numpy[:,:3,:]
cameras=np.zeros((camera_pose_numpy.shape[0],18))
cameras[:,:4]=intrinsics
cameras[:,6:]=camera_pose3x4.reshape((-1,12))
# for line in lines[1:]:
#     timestamp, *camera = line.split(" ")
#     timestamps.append(int(timestamp))
#     cameras.append(np.fromstring(",".join(camera), sep=","))

# timestamps = torch.tensor(timestamps, dtype=torch.int64)
cameras = torch.from_numpy(cameras)

return {
    "timestamps":timestamps,
    "cameras": cameras,
}`

@CHDTevior Hello. I use realsense data and I convert it to re10k format. The code is ` intrinsic_path=example_path/"realsense"/"camK.npy" extrinsic_path = example_path/"realsense"/ "camera_poses.npy" transform_np = example_path / "realsense" / "cam0_wrt_table.npy"
K_numpy = np.load(intrinsic_path)

image=example_path / "realsense" /  "rgb" / "0000.png"
img=Image.open(image)
W,H=img.size
K_numpy_normalized = K_numpy
fx = K_numpy[0, 0] / W #fx
cx = K_numpy[0, 2] / W #cx
fy = K_numpy[1, 1] / H #fy
cy = K_numpy[1, 2] / H #cy

K_numpy_torch = torch.from_numpy(K_numpy_normalized).float()

camera_pose_numpy = np.load(extrinsic_path)
transform_np = np.load(transform_np)
conversion = np.zeros((4, 4), dtype=np.float32)

camera_pose_numpy = np.linalg.inv(transform_np @ camera_pose_numpy)
# with example_path.open("r") as f:
#     lines = f.read().splitlines()

# url = lines[0]

timestamps = range(camera_pose_numpy.shape[0])
intrinsics = np.array([[fx,fy,cx,cy]],dtype=np.float32)
intrinsics=np.repeat(intrinsics,camera_pose_numpy.shape[0],axis=0)

camera_pose3x4=camera_pose_numpy[:,:3,:]
cameras=np.zeros((camera_pose_numpy.shape[0],18))
cameras[:,:4]=intrinsics
cameras[:,6:]=camera_pose3x4.reshape((-1,12))
# for line in lines[1:]:
#     timestamp, *camera = line.split(" ")
#     timestamps.append(int(timestamp))
#     cameras.append(np.fromstring(",".join(camera), sep=","))

# timestamps = torch.tensor(timestamps, dtype=torch.int64)
cameras = torch.from_numpy(cameras)

return {
    "timestamps":timestamps,
    "cameras": cameras,
}`

Thank you very much for your help. I have some questions about the hyperparameters during training. I set near and far to 400mm and 5900mm according to the gt value, which are 2.0 and 29.5 after scaling. I fine-tuned the model on re10k.ckpt. The rest of the training was the same as re10k. Could you tell me how many steps it took for the model to converge?


Add github icon with repo redirect

I was thinking about adding a footer to the website and add such links in it. For now let's have it in the nav bar.


The need runs script "after-script" and "before-script".

after-script - ok.
What mean "before-script". Variants:

As additional filter for allow/disallow domain. Before obtain certificate.
Before write already obtained certificate to file
something else?


Move gadget-io into gadget_sdk::io

This just moves gadget-io into gadget_sdk::io. Nothing has been removed or changed about it.
Most usage of gadget-io was for gadget_io::tokio, but it was usually in contexts where tokio was already a dependency. That wasn't the case for core and common, which now directly depend on tokio, but that doesn't really matter since they'll all get merged into gadget-sdk eventually anyway.

Clippy errors are just from the typo in blueprint-manager and #243 needs to be merged.

Clippy errors are just from the typo in blueprint-manager and #243 needs to be merged.

Merged, and rebased.


add Farmer's Delight 1.2.4 from modrinth

(and this time I made absolutely sure I refreshed the index)

Actually I don't think I tested this, hold onto your cursors.
Is there a way to merge into the branch that was going to stick's dev server? You know, so we can test on a server properly such things as this.

Well this didn't want to load for me anyway. Closing for now

Okay I just tested again, this time after wiping the mods folder of my test instance.
As of Commit 297f36b669c7, "figura optional", FD works

Although now I'm having trouble reopening


option to toggle input blocking

pwease

Some reason I knew when I was programming the feature someone would ask for it.  I have to come up with a way to warn the user that not having input blocking will likely result in much worse playing.


Upgrade path question for future two-factor 0.8.0

Suppose I have a WP instance with two-factor 0.7.3 installed, and users have various keys registered with the legacy Chrome U2F API.
This doesn't work with browsers that have phased out U2F but support the modern webauthn API, of course, and wp-two-factor-provider-webauthn provides a migration path to allow the existing key registrations to be used through browsers with webauthn only.
However, it sounds like -- once the maintainers find enough round tuits -- two-factor 0.8.0 will likely support webauthn, judging by https://github.com/WordPress/two-factor/pull/427, and automatic U2F->webauthn migration, judging by https://github.com/WordPress/two-factor/pull/491.
If I install wp-two-factor-provider-webauthn because I need webauthn to work now, and I later upgrade two-factor to 0.8.0, what's the migration path?  Can I just deinstall wp-two-factor-provider-webauthn at that point?

Will keys previously registered through two-factor 0.7.3 with the legacy U2F API, and then adapted for webauthn with wp-two-factor-provider-webauthn, continue to work in two-factor 0.8.0 if I deinstall wp-two-factor-provider-webauthn?
Will keys registered through wp-two-factor-provider-webauthn with the modern webauthn API continue to work in two-factor 0.8.0 if I deinstall wp-two-factor-provider-webauthn?
Will there be any manual migration steps needed other than deinstalling wp-two-factor-provider-webauthn?
Do you have any idea when two-factor 0.8.0 might be ready?  Days, weeks, months?

I realize none of this can be certain until two-factor 0.8.0 is ready, of course, but I'm hoping I can get a clear enough sense of what the plans are to formulate a plan myself about how best to proceed for a WP instance without risking locking everyone out -- whether to install wp-two-factor-provider-webauthn now and migrate back to two-factor 0.8.0 later, or whether to just wait for two-factor 0.8.0.
And, as an addendum:

If any of the answers to the above questions are likely to be disappointing, would funding lead to better answers?  If yes, how much funding and how much better?

Will keys previously registered through two-factor 0.7.3 with the legacy U2F API, and then adapted for webauthn with wp-two-factor-provider-webauthn, continue to work in two-factor 0.8.0 if I deinstall wp-two-factor-provider-webauthn?

They should - my plugin does not alter those data. However, if there are WebAuthn keys added to my plugin, those keys won't be migrated.

Will keys registered through wp-two-factor-provider-webauthn with the modern webauthn API continue to work in two-factor 0.8.0 if I deinstall wp-two-factor-provider-webauthn?

No, unless two-factor provides a migration path. I can probably create an utility to migrate keys, but unless the PR is approved and merged, it is too early to talk about this: a lot of thing may change (some of the maintainers are unhappy about the choice of the WebAuthn library).

Will there be any manual migration steps needed other than deinstalling wp-two-factor-provider-webauthn?

Probably yes. But again, we need to wait for the PR to be merged.

Do you have any idea when two-factor 0.8.0 might be ready? Days, weeks, months?

Unfortunately, I have no idea - I am not a maintainer of that plugin (and I don't know anyone of them). I work for WordPress VIP, and my plugin was an open-source attempt to help our customers using U2F to migrate to WebAuthn once Chrome drops the support for U2F.

whether to install wp-two-factor-provider-webauthn now and migrate back to two-factor 0.8.0 later, or whether to just wait for two-factor 0.8.0.

You can continue to use wp-two-factor-provider-webauthn with two-factor 0.8. Two Factor's architecture is extendable and allows for creation of third party plugins (like mine).

If any of the answers to the above questions are likely to be disappointing, would funding lead to better answers? If yes, how much funding and how much better?

I am not sure I can help with two-factor because I am not its maintainer. I wrote the plugin because I didn't have time to wait until the PR gets merged (it's been more than 1 year and it is unclear when it will be merged).
I can help with migration of keys, but again, we will have to wait until something WebAuthn-related lands into two factor's core.

This one might be a blocking issue for WebAuthn is two-factor (because one of the complaints was the lack of tests). If I am right, then the answer to your question is likely to be between "weeks" and "months".