Volume Mount hostpath: Unable to mount volumes for pod: timeout expired waiting for volumes to attach or mount

hi Team I am facing the below issue. Any solution for this ? I am blocked guys as there is a POC . I tried with k3d, Kind, minikube and its there everywhere.
k3d version v4.4.0
k3s version v1.20.4-k3s1 (default)
kubectl version : 1.2.0
helm : 3.0.2 (Using helm for deploying the pod)
Though these files and folders are there . Even if I remove type still the mount does not happen and it throws the same error
Error
gent-6c9494c59-p9xqm to kind-control-plane
3s 2s 3 edge-agent-6c9494c59-p9xqm Pod Warning FailedMount {kubelet kind-control-plane} MountVolume.SetUp failed for volume "socket-volume" : open /var/ability/rpc/socket: no such file or directory
3s 3s 1 edge-agent-6c9494c59 ReplicaSet Normal SuccessfulCreate {replicaset-controller } Created pod: edge-agent-6c9494c59-p9xqm
3m 3m 1 edge-agent-757bb75497-l8l6h Pod Normal Scheduled {default-scheduler } Successfully assigned edge-system/edge-agent-757bb75497-l8l6h to kind-control-plane
3m 2m 8 edge-agent-757bb75497-l8l6h Pod Warning FailedMount {kubelet kind-control-plane} MountVolume.SetUp failed for volume "cert-volume" : hostPath type check failed: /var/ability/certs is not a directory
3m 2m 8 edge-agent-757bb75497-l8l6h Pod Warning FailedMount {kubelet kind-control-plane} MountVolume.SetUp failed for volume "socket-volume" : hostPath type check failed: /var/ability/rpc/socket is not a socket file
3m 2m 8 edge-agent-757bb75497-l8l6h Pod Warning FailedMount {kubelet kind-control-plane} MountVolume.SetUp failed for volume "module-volume" : hostPath type check failed: /var/ability/modules is not a directory
1m 1m 1 edge-agent-757bb75497-l8l6h Pod Warning FailedMount {kubelet kind-control-plane} Unable to attach or mount volumes: unmounted volumes=[mqtt-secret-volume default-token-xjtdc module-volume edge-privatekey socket-volume edge-publickey mqtt-volume mqtt-auth-volume cert-volume], unattached volumes=[mqtt-secret-volume default-token-xjtdc module-volume edge-privatekey socket-volume edge-publickey mqtt-volume mqtt-auth-volume cert-volume]: timed out waiting for the condition
Please find my deployment.yaml file
apiVersion: apps/v1
kind: Deployment
metadata:
  name: edge-agent
  namespace: edge-system
  labels:
    moduleId: edge-agent
spec:
  replicas: 1
  selector:
    matchLabels:
      moduleId: edge-agent
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        moduleId: edge-agent
    spec:
      containers:
      - image: ability.azurecr.io/edge/agent:pocfeature_rebasemaster
        securityContext:
          privileged: true
          runAsUser: 0
        name: edge-agent
        imagePullPolicy: Always
        env:
        - name: DPS_PROVISIONING_HOST
          value: global.azure-devices-provisioning.net
        - name: DPS_ID_SCOPE
          value: 0ne00091CC4
        - name: DEVICE_ID
          value: 8fcb0635-9cc2-4f95-8914-0301668be636
        - name: CERT_FILE
          value: "/var/ability/certs/edgedevice-cert.pem"
        - name: KEY_FILE
          value: "/var/ability/certs/edgedevice-key.pem"
        - name: EDGE_TYPE
          value: "ability.device.edge.shpatil@1"
        - name: EDGEPROXYIMAGE
          value: "ability.azurecr.io/edge/proxy:2.4.12"
        - name: EDGEMQTTIMAGE
          value: "ability.azurecr.io/edge/broker:1.5.8"
        - name: MODULES_VOLUME
          value: "/var/ability/modules"
        - name: MQTT_VOLUME
          value: "/var/ability/mosquitto"
        - name: files_directory
          value: "/var/ability/modules"
        - name: ACL_ALLOWED_SERVER_NAMES
          value: "^.+\\.core\\.windows\\.net$ ^.+\\.azure-devices.net$ ^global\\.azure-devices-provisioning\\.net$"
        - name: SYS_TRAIL_AGGREGATOR_CA_PEM
          value: /etc/rsyslog-ca.pem
        - name: SYS_TRAIL_AGGREGATOR_HOST
          value: ability-edge-development-sys-log-dummy-certificate
        - name: SYS_TRAIL_AGGREGATOR_PORT
          value: "6514"
        - name: BLOCK_INCOMING_CONTACT_ON_IFACE
          value: dum8
        - name: LAYER2_CONNECTIVITY_GATEWAY_IP
          value: "<IP_ADDRESS>"
        - name: LAYER2_CONNECTIVITY_SUBNET_CIDR
          value: <IP_ADDRESS>/24
        - name: LAYER2_CONNECTIVITY_CONTAINERS_CIDR
          value: <IP_ADDRESS>/32
        - name: CONTAINER_BRIDGE_IP_CIDR
          value: <IP_ADDRESS>/16
        - name: LAN_ACCESS_NAT_CIDR
          value: <IP_ADDRESS>/16
        - name: INTERNET_ACCESS_NAT_CIDR
          value: <IP_ADDRESS>/16
        - name: EDGENETWORK_EXT
          value: iot-internet
        - name: EDGENETWORK_INT
          value: iot-lan
        - name: EDGENETWORK_MACVLAN
          value: iot-layer2
        - name: LOGGER_LEVEL
          value: silly
        - name: SSL_ENGINE
          value: /var/ability/modules/libSecStoreEngine.so
        - name: DEV_QA_CERT_CHOICE
          value: CommonDevQAPlatform
        - name: HOST_RPC_SERVER_PATH
          value: /var/ability/rpc/socket

        ports:
        - containerPort: 80
          name: http
          protocol: TCP
        volumeMounts:
        - name: cert-volume
          mountPath: /var/ability/certs
        - name: module-volume
          mountPath: /var/ability/modules
        - name: socket-volume
          mountPath: /var/ability/rpc
        - name: mqtt-secret-volume
          mountPath: /var/run/secrets/mqtt/edge-agent
        - name: edge-privatekey
          mountPath: /var/run/secrets/pem/edge-agent-private-key
        - name: edge-publickey
          mountPath: /var/run/secrets/pem/edge-agent-public-key
        - name: mqtt-volume
          mountPath: /var/ability/mosquitto
        - name: mqtt-auth-volume
          mountPath: /var/ability/mqtt_auth

      volumes:
      - name: cert-volume
        hostPath:
          path: /var/ability/certs
          type: Directory
      - name: module-volume
        hostPath:
          path: /var/ability/modules
          type: Directory
      - name: socket-volume
        hostPath:
          path: /var/ability/rpc/socket
          type: Socket
      - name: mqtt-secret-volume
        hostPath:
          path: /var/run/secrets/mqtt/edge-agent
          type: DirectoryOrCreate
      - name: edge-privatekey
        hostPath:
          path: /var/run/secrets/pem/edge-agent-private-key
          type: DirectoryOrCreate
      - name: edge-publickey
        hostPath:
          path: /var/run/secrets/pem/edge-agent-public-key
          type: DirectoryOrCreate
      - name: mqtt-volume
        hostPath:
          path: /var/ability/mosquitto
          type: DirectoryOrCreate
      - name: mqtt-auth-volume
        hostPath:
          path: /var/ability/mqtt_auth
          type: DirectoryOrCreate

      imagePullSecrets:
      - name: abilitycr

hi Guys this issue is there in  v1.20.4-k3s1 and the issue is fixed in  v1.20.5-k3s1  but k3d (k3d version v4.4.0) is using  v1.20.4-k3s1 . can you upgrade you stable version of k3s to  v1.20.5-k3s1 or apply the volume mount fix

Hi @srinicrick65 , thanks for opening this issue.

the issue is fixed in v1.20.5-k3s1

Can you elaborate, what was the issue, that is fixed here and maybe link to the fix?

can you upgrade you stable version of k3s to v1.20.5-k3s1

In k3d, you could simply do k3d cluster create --image rancher/k3s:v1.20.5-k3s1 to use the new version.
The default k3s version in k3d (i.e. what you also see when running k3d version) is hardcoded at build-time and mostly there as a tested default.
Anyway, there's also k3d v4.4.1 out now, which should have the latest k3s version as default :+1:


How to use it on qemu riscv64?

Can you tell me more information about how to use it on qemu riscv64?Thank you

Please refer to bao-demos. There you can find a step-by-step guide on how to run bao on most of the supported platforms including qemu-riscv64-virt.


Oddity for CVE-2021-4037 on 5.10.x

https://github.com/madisongh/kernel-cve-tool/blob/eb177abea3745d8576a725646effcce25f34302e/kernel_cve_tool/scripts/kernel_cve_tool.py#L126-L127
I found a case where the above grep pattern (for the subject) results in the CVE being reported as fixed, when in fact it is not fixed. The result differs from what www.linuxkernelcves.com reports for the same CVE.
When analysing the stable-5.10.y kernel, the issue shows up for CVE-2021-4037.

Note the issue is in the XFS filesystem, and it is fixed in 5.12 kernel, however it has not been backported to earlier kernels
However a very similar issue in CEPH was fixed in 5.16, and that fix was backported to 5.10.y

The problem arises because the commit message for (2) includes the subject line of commit (1), even though (2) does not fix (1). So git log --grep matches and the CVE is classified as Fixed, when it should be Unfixed.
I am not sure how common this situation is, but I figured I'd report it. Perhaps the intention was to search only the subject lines?

As a bit of a corollary, CVE-2022-23222 is almost the exact opposite. In this case linuxkernelcves.com says nothing about the 5.10 branch, however, kernel-cve-check correctly matches the subject line and identifies a fix (35ab8c9085b0af84) that's been applied to 5.10.

In this case linuxkernelcves.com says nothing about the 5.10 branch, however, kernel-cve-check correctly matches

That's why I added the subject-line text matching - in my original testing I ran across the same issue where I had to match on text in the commit message (and quite often, in the multiple-layers-downstream kernel I'm using). I wanted to avoid false negatives.
On the other hand, false positives aren't good, either.  I'm not exactly sure what to do about this, though. Restricting to exact match on the subject line only (using git log --oneline perhaps) for the subject line checks might be enough, then generating some output for further manual review when matching the entire commit message (when the subject-line match fails)? I'll play around with some different approaches and see if I can find something that doesn't require too much manual intervention, but I'm open to suggestions.


Readd autostart option

The autostart manifest flag got somewhere. Readd it.
Implement result handling of bulk mounting via the console.

@inorick Added the options as discussed.


how to contribute two feeds for one transit operator

We deliver several GTFS Feeds for about 19 transit operators.
For each transit operator, we support two GTFS Feeds

one without shapes.txt: it has a simple license
one with shapes.txt: the coordinates are from OpenStreetMap project, so it has the additional license ODbL from OSM.
How do i contribute for a transit operator their two feeds, with 2 urls and 2 kind of licences? All other json-fields are identical.

Greetings,
Dietmar

Hello @NVBWSeifert - thank you for contributing here!
We already have some NVBW feeds in the catalogs, which you can see in the spreadsheet. You can add or update feeds by submitting to the form on our website. You can submit both versions for each feed and add a line in the Note field that tells us which one has OSM data. They'll be created as separate JSON files.  In the past, we had issues pre-processing your feed versions with shapes.txt because of the number of rows, but you are welcome to submit them and we can try to troubleshoot issues with ingesting it.
Let me know if you have any other questions or if we can support you in any other way.


this blocks users with Python < 3.7. Is there anyway we can make it optional?

https://github.com/lewisbails/cem/blob/66f5e796f1fdce39c1ebc7247c7943efa9f855e1/cem/cem.py#L1

Hey @JaneEvans, thanks for checking out CEM.
If you wanted to create a pull request for this then feel free! Unfortunately I don't have much time these days to put work into the package.


Direct rules does not apply

I try to use the direct rule from the Smart Class Parameter. For better understanding, I use the direct rule you have in the documentation.
The puppet apply goes well but the result is not as expected.
Indeed, the direct.xml file is well created but the content is not a valid firewalld direct rule:
<rule priority="1" table="filter" ipv="ipv4" chain="OUTPUT">'-p tcp --dport=22 -j ACCEPT'</rule>

And the running firewalld rulebase does not contains the direct rule:
firewall-cmd --direct --query-rule ipv4 filter OUTPUT 1 -p tcp --dport=22 -j ACCEPT
no

The mistake is the single quote around the content of the rule (the arg parameter from the class parameter).
If you try to run the same rule without the '--permanent' parameter on CLI, you have this following error:
firewall-cmd --direct --add-rule ipv4 filter OUTPUT 1 '-p tcp --dport=22 -j ACCEPT'
Error: COMMAND_FAILED: '/sbin/iptables -w2 -t filter -I OUTPUT_direct 1 -p tcp --dport=22 -j ACCEPT' failed: iptables v1.4.21: unknown protocol " tcp --dport=22 -j accept" specified

To resolve this issue you need to split the rule into each element of it as parameter to the command.
Here is the patch to apply for the direct rule to work as expected:
Notice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/firewalld_direct_rule/firewall_cmd.rb]/content:
--- /opt/puppetlabs/puppet/cache/lib/puppet/provider/firewalld_direct_rule/firewall_cmd.rb      2016-08-12 16:59:25.044263250 +0200
+++ /tmp/puppet-file20160812-29029-wgq68d       2016-08-12 17:07:06.153148189 +0200
@@ -30,7 +30,7 @@
            @resource[:table],
            @resource[:chain],
            @resource[:priority],
-           @resource[:args],
+           @resource[:args].split(" "),
     ]
   end

And the result works as expected.
The direct.xml file contains the correct rule:
<rule priority="1" table="filter" ipv="ipv4" chain="OUTPUT">-p tcp --dport=22 -j ACCEPT</rule>

And with the running firewalld rulebase, the query gives the correct result:
firewall-cmd --direct --query-rule ipv4 filter OUTPUT 1 -p tcp --dport=22 -j ACCEPT
yes

FYI:
OS of the puppet client : CentOS 7.2
Puppet client version: 4.5.2
puppet-firewalld version: 3.0.1
Best regards,
Bénoni.

@uniwan-benoni thanks for reporting that - I see the same issue and your fix works.

PR #69 should address these issues and I'll release this shortly as 3.0.2


[FLINK-3953] rename unit-tests execution to default-test

After 38698c0b101cbb48f8c10adf4060983ac07e2f4b, there are now two
executions defined for the Surefire plugin: unit-tests and
integration-tests. In addition, there is an implicit default execution
called default-test. This leads to the unit tests to be executed
twice. This renames unit-tests to default-test to prevent duplicate
execution.

Good fix, thanks!


When running with grunt jasmine plugin Error: mismatch: Mismatched anonymous define() module: function loadDependencies(require, exports, module)

When running my tests with sinon and grunt jasmine plugin (sinon is added to test page directly using a script tag, not with require), if I use versions 1.11.1 & 1.11.0 my tests throw the error below, however when using 1.10.3, everything works just fine. I worked around the issue by setting all declarations of isAMD variable to false.

Error: mismatch: Mismatched anonymous define() module: function loadDependencies(require, exports, module) {
sinon = module.exports = require("./sinon/util/core");
require("./sinon/extend");
require("./sinon/typeOf");
require("./sinon/times_in_words");
require("./sinon/spy");
require("./sinon/call");
require("./sinon/behavior");
require("./sinon/stub");
require("./sinon/mock");
require("./sinon/collection");
require("./sinon/assert");
require("./sinon/sandbox");
require("./sinon/test");
require("./sinon/test_case");
require("./sinon/match");
require("./sinon/format");
require("./sinon/log_error");
}
http://requirejs.org/docs/errors.html#mismatch at
_SpecRunner.html:21

Hi, on the same topic, it seems like Sinon.JS' define call being anonymous will trigger the error (mismatched…) when using an inlined script, such as one generated by rjs. Simply adding a name, define('sinon', [], … solves the issue, but I am not sure whether it would have any unpleasant side-effect.

I'll take a closer look at this as a solution, thank you for posting!


Bug in Zend\Console\Prompt\Select::show()

This issue has been moved from the zendframework repository as part of the bug migration program as outlined here - http://framework.zend.com/blog/2016-04-11-issue-closures.html

Original Issue: https://api.github.com/repos/zendframework/zendframework/issues/7465
User: @IvanoP
Created On: 2015-04-28T11:15:45Z
Updated At: 2015-11-06T21:28:47Z
Body
This method can't support more of 9 items

Comment
User: @DASPRiD
Created On: 2015-04-28T11:19:43Z
Updated At: 2015-04-28T11:19:43Z
Body
Can you be more specific?

Comment
User: @IvanoP
Created On: 2015-04-28T11:43:30Z
Updated At: 2015-04-28T11:43:30Z
Body
In  Zend\Console\Prompt\Select the method show() over overrides the show() method in  Zend\Console\Prompt\Char. In this method the user input is read by readChar() method. This Method read a single characther. So you cannot input a two char index for a option in Select.

Originally posted by @GeeH at https://github.com/zendframework/zend-console/issues/23

This package is abandoned and will receive no further development!
We recommend using laminas/laminas-cli.


Exclude "real" _pb files in favor of docs/ for Ruby documentation

Context
https://github.com/GoogleCloudPlatform/google-cloud-ruby/pull/1655/
What
Exlude the gRPC codegen in .yardopts
Why
gRPC codegen files shadow the "fake" protobuf files in docs/. We actually intend to show the "fake" files, rather than the real ones, because the real ones do not contain documentation.

The microgenerator is excluding all *_pb.rb files.


added util functions snippets

Signed-off-by: Ian Henry<EMAIL_ADDRESS>

Thanks for the pull request! Here is what will happen next:

Your PR will be reviewed by the maintainers
If everything looks good, one of them will approve it, and your PR will be merged.

Thank you for contributing!

@thesentinels approve


Log path of the toolchain used to opening a document

I don’t know why we logged the toolchain’s identifier twice. That didn’t make much sense.

@swift-ci Please test


Calls being made to fetch previous workflow's content

Bug Report
If you go to a public workflow A, then go to My Workflows, which by default takes you to workflow B, you will see an Ajax call being against Workflow A.
This call happens again when if you then navigate to another of your workflows.
Steps to reproduce the behaviour

Go to dockstore.org
If not logged in, log in
Click on Workflows
Click on the first workflow, which currently is #workflow/github.com/h3abionet/h3agatk
Open Dev Tools
Click on My Workflows (assuming you have a few workflows)
Note that there are one or more calls with 404 responses (number seems to vary) that have #workflow/github.com/h3abionet/h3agatk in the request url.

┆Issue is synchronized with this Jira Bug
┆Issue Type: Bug
┆Fix Versions: Dockstore 1.6
┆Sprint: Seabright Sprint 5 Electric
┆Issue Number: DOCK-412

Confirmed this no longer happens on staging.dockstore.org with 2.3.0-beta.0


HTML5 History build up

I'm curious to the flow of vue-router.
I'm experiencing a, from my point of view, unexpected behaviour when aborting a transition from a beforeEach each hook.
The current flow (from my reverse-engineering):

router.go({name: 'route'});
triggers this.history.go('/route', false, false);
triggers window.history.pushState({}, '', '/route');
triggers .onChange('/route', null, false)
triggers ._match('/route', null, false)
triggers transition.runQueue
triggers BeforeEach hook
hook invokes transition.abort()
calls this.router.replace(this.from.path || '/')

Why are the pushState invoked before the transition actually have determined if it should continue or abort?
If you're a home-route and, let's say, you click a logo which has a v-link="home" then the whole tree will be invoked pushing another entry onto the history, resulting in build up of the browser history.
The intention of the user might just be to "refresh" the current page (which he achieves). But now the user has to click twice on the "back-button" to get back to the previous page.
The default browser behaviour with regular HTTP calls would not add another entry to the history, so why does the router force another entry onto the history tree.
There might be an obvious reason for this 🙂
I would expect to either be able to hook into the router earlier in the process or have the the pushState moved to the end of the chain?

Hi @tkjaergaard
Thanks for filing this issue.
The point is that the whole architecture of the router rests on the premise that the URL shoult decide where to transition to
In other words,  router.go() does not start the transition - it only changes the URL. The transition starts when the router detects the changed URL (e.g. by listening to the history push event).
This mechanism is nessessary to make external/direct links to vue-router URLs work.
Changing this behaviour in cases where the route transition is triggered from your app would be thinkable, but a huge change.
I doubt that we will appraoich this, and if we would, then we would do it for version 2.0


Any connection panics: "BUG: missing mapping for Bool(true)"

Bug Description
Opening an existing SQLite database, created with sqlx 0.6, panics immediately with BUG: missing mapping for Bool(true)  in sqlx-sqlite-0.7.0/src/any.rs:216:22
I have executed sqlx::any::install_default_drivers(); before trying to open the DB pool like mentioned in the docs.
The "old" db file had some migrations already applied and filled tables.
Minimal Reproduction
How I did it before with v0.6
let opts = SqliteConnectOptions::from_str(addr)?
    .create_if_missing(true)
    .busy_timeout(Duration::from_millis(100))
    .foreign_keys(true)
    .auto_vacuum(SqliteAutoVacuum::Incremental)
    .synchronous(SqliteSynchronous::Normal)
    .journal_mode(SqliteJournalMode::Wal);

let pool = AnyPoolOptions::new()
    .min_connections(1)
    .max_connections(max_conn)
    .acquire_timeout(Duration::from_secs(10))
    .connect_with(opts.into())
    .await?;

With v0.7 now, I don't get it how I can actually apply the SqliteConnectOptions. I use the AnyPool on an existing project which connects to either SQLite or Postgres.
If anyone does know how to actually apply the ConnectOptions like before (I need custom ones for the Postgres part too), please let me know.
Just for testing purposes, I tried to connect like this to the DB file created from the version above before:
let opts = AnyConnectOptions::from_str(addr)?;
let pool = AnyPoolOptions::new()
    .min_connections(1)
    .max_connections(max_conn)
    .acquire_timeout(Duration::from_secs(10))
    .connect_with(opts)
    .await?;

Info

SQLx version: 0.7.0
SQLx features enabled: ["any", "macros", "migrate", "postgres", "runtime-tokio", "sqlite", "tls-rustls", "uuid"]
Database server and version: embedded SQLite from sqlx 0.7
Operating system: Fedora 38
rustc --version: rustc 1.70.0 (90c541806 2023-05-31)

Hi! I've opened #2620 to fix the panic message, but it does not answer the question in the post.
I've looked around and haven't found a way to apply the SqliteConnectOptions to the AnyPoolOptions either, I'll leave this to @abonander.

Yeah we can merge the panic fix but it's clear I need to rethink some things about the Any driver.


BACnet-Reject-PDU and BACnet-Abort-PDU to be supported

BACnet-Reject-PDU ::= SEQUENCE {
 	pdu-type 		Unsigned (0..15), -- high four bits, 0x60 for this PDU type
 	reserved 			Unsigned (0..15), -- low four bits, always 0 for this PDU type
 	original-invokeID 	Unsigned (0..255), -- matching what was in the ConfirmedRequest to which this is response
 	reject-reason 		One octet containing the BACnetRejectReason

and the BACnetRejectReason enumerated is:{
other				(0),
buffer-overflow			(1),
inconsistent-parameters		(2),
invalid-parameter-data-type	(3),
invalid-tag			(4),
missing-required-parameter	(5),
parameter-out-of-range		(6),
too-many-arguments		(7),
undefined-enumeration		(8),
unrecognized-service		(9),
BACnet-Abort-PDU ::= SEQUENCE {
	pdu-type		Unsigned (0..15), -- high 4 bits, thus 0x70 or 0x71 for this PDU type
	server			Unsigned (0..15) -- BOOLEAN 0 == FALSE, 1 == TRUE,
	original-invoke-id	Unsigned (0..255), -- matching what was in the ConfirmedRequest to which this is response
	abort-reason		One octet containing the BACnetAbortReason

and the BACnetAbortReason enumerated is: {
other				(0),
buffer-overflow			(1),
invalid-apdu-in-this-state		(2),
preempted-by-higher-priority-task	(3),
segmentation-not-supported	(4),
security-error			(5),
insufficient-security		(6),
window-size-out-of-range		(7),
application-exceeded-reply-time	(8),
out-of-resources			(9),
tsm-timeout			(10),
apdu-too-long			(11),
Note that unlike the BACnet-Error-PDU, in these two the ServiceChoice is not present.

@duffy-corelight, latest update and enumeration addresses this issue.  Like the others, I'll let the customer close the issue if deemed as satisfied.


Implement Parameter Application

A simple extrapolation of script evaluation. There is code duplication here, but since these two are the only functions that require kernel patching, it might be fine to avoid required abstractions.

I've realized the hash given by the blueprint is blake2b224(versionByte ++ singleEncodedFlatCBOR), and the script witness needed for transaction building is also expected to be single encoded.
However, Script.hash function expects the raw Flat encoding in order to yield the same hash as Aiken's blueprint (i.e. it adds a layer of CBOR bytes encoding). Is this a discrepancy @mpizenberg?
One other thing (which might already be on a TODO list) was that I essentially needed to balance my transaction. I think the ideal behavior would be automatically sending any difference between inputs and outputs to the change address.

I've realized the hash given by the blueprint is blake2b224 (versionByte ++ singleEncodedFlatCBOR), and the script witness needed for transaction building is also expected to be single encoded.

Indeed, that’s the value we gather from decoding transactions, so that’s also the one we need to encode to get the script hash. The double encoding thing from the CLI is a rather odd thing, which I think comes from auto-encoding of stuff from haskell code which probably was a mistake originally. So just keep it as it is in the Tx, and so does Aiken.

However, Script.hash function expects the raw Flat encoding in order to yield the same hash as Aiken's blueprint (i.e. it adds a layer of CBOR bytes encoding). Is this a discrepancy @mpizenberg?

I’m not following. The Script.hash function takes a Script value, which can either be NativeScript or PlutusScript.
Oh do you mean that the content of the PlutusScript.script : Bytes ScriptCbor is just raw Flat encoding? Yes indeed, that’s also because that’s how we decode/encode the scripts from transaction witnesses. https://github.com/elm-cardano/elm-cardano/blob/ce8550551257a44bb1f410d728ad67d9ad336e98/src/Cardano/Script.elm#L200
The alternative would be to either not decode the Plutus version, or decode the plutus version but store the script still prepended with the version byte before flat encoding. I don’t know which is best. Whatever the choice, it seems we need to change the naming, to make it crystal clear.

One other thing (which might already be on a TODO list) was that I essentially needed to balance my transaction. I think the ideal behavior would be automatically sending any difference between inputs and outputs to the change address.

No it’s a conscious choice to ask the transaction to be balanced. I thought of this for a very long time while designing the API. I had to choices:

authorize unbalanced Txs and do automatic balancing
ask for balanced intents

(1) is more convenient, but can lead to mistakes while building the Tx, like forgotten parts. It also provide worse error messages. It complexifies the choice of where funds shall be returned in case of multiple addresses involved.
(2) is a bit more verbose, because you need to make sure where are funds coming from or going. But we have intents that can simply take Address and Value, so you don’t have to specify utxos in/out. It makes sure you don’t forget a part of the Tx, because balance is checked, it gives better error messages, it makes some aspects of the Tx building and utxo selection way simpler, less error-prone.
In the end (2) is slightly more verbose, but considering the amount of verbosity an Elm program has already, it seemed to me to be the right choice.
I’m very eager to have a discussion with you though, to talk about all the pain points you had. See which can be solved by code, and which by documentation.

In other examples, app's model stores the hash and compiledCode of the contract, both of which are extracted from the blueprint. This is fine since they both can be used independently in different contexts (e.g. have the hash used as the policy ID of a token, while providing the contract as witness in the transaction).
With parameter application, the hash needs to be found based on the script CBOR, which the WASM module returns as a single CBOR encoded Flat.
On the other hand, Script.hash function adds a layer of encoding before prepending the version. I believe this is the code that performs the encoding:
https://github.com/elm-cardano/elm-cardano/blob/ce8550551257a44bb1f410d728ad67d9ad336e98/src/Cardano/Script.elm#L163-L167
This means either the script CBOR returned after parameter application should be stripped of its encoding header (in which case the app needs to re-add it before passing it into a transaction), or the hash function should refrain from encoding the given Flat.

No it’s a conscious choice to ask the transaction to be balanced.

I agree with your reasoning :+1:

Another option is to have the parameter application function (Elm side) to return both the single CBOR encoded script, and its correct hash.


Improvements for Brew and related fixes - v4.2.1

new improved search
new icons for Brew Formulae and Cask
by default export PATH env variable with /usr/local/bin (mostly PHP is located here)
fix icon loading for script filters results
updated README.md

Sure thing! I'll take a look tomorrow.

@jeffbyrnes Great thanks

@varp perhaps you could open a new PR w/ some additional instructions in the README? I’m struggling a little to figure out how this build process goes now.

@jeffbyrnes sorry, was busy on the full time job. I'll do on this weekend


Ignore default solidity contract tests when using extensions

Description:
We no longer copy test directory when extension being used has contracts dir.
Helpful for https://github.com/scaffold-eth/create-eth-extensions/pull/29#issuecomment-2494166650.
So there will be 3 cases:

Extension has both contracts + test dir:

We just copy test dir from extension and we don't copy default test/YourContract.ts since we want yarn test running out of the box.

Extension has contract dir but don't provide any test directory (eg: erc-20 extensions)

In this case we just create a empty test directory with (.gitkeep) file so that person using extension know where to add test file for his contracts.

Extension doesn't have contract dir:

In this case we copy default contracts dir and test/YourContract.ts in final instance.

Ohh just noticed an error while doing :
 yarn cli ../test-erc-20 -s hardhat -e erc-20

I get the below error:

Error formatting because `No matches found: "./test/**/*.ts"`

create-eth on  ignore-contract-tests-extensions [$] is 📦 v0.0.61 via  v22.11.0
❯ yarn cli ../test-erc-20 -s hardhat -e erc-20

 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Create Scaffold-ETH 2 app |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+

✔ 📁 Create project directory /Users/shivbhonde/Desktop/github/test-erc-20
✔ 🚀 Creating a new Scaffold-ETH 2 app in ../test-erc-20 with the scaffold-eth/create-eth-extensions:erc-20 extension
✔ 📦 Installing dependencies with yarn, this could take a while
✖ Failed to create directory
◼ 📡 Initializing Git repository
ERROR Error occurred Error: Failed to create directory
    at prettierFormat (file:///Users/shivbhonde/Desktop/github/create-eth/dist/cli.js:538:15)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
    at async Task.run (file:///Users/shivbhonde/Desktop/github/create-eth/node_modules/listr2/dist/index.js:2056:11) {
  [cause]: Error: Command failed with exit code 1: yarn format
  No matches found: "./test/**/*.ts"
  .eslintrc.json 14ms (unchanged)
  .prettierrc.js 9ms
  app/blockexplorer/_components/AddressCodeTab.tsx 15ms (unchanged)
  app/blockexplorer/_components/AddressComponent.tsx 8ms (unchanged)
  app/blockexplorer/_components/AddressLogsTab.tsx 5ms (unchanged)
  app/blockexplorer/_components/AddressStorageTab.tsx 10ms (unchanged)
  app/blockexplorer/_components/BackButton.tsx 2ms (unchanged)
  app/blockexplorer/_components/ContractTabs.tsx 11ms (unchanged)
  app/blockexplorer/_components/index.tsx 1ms (unchanged)
  app/blockexplorer/_components/PaginationButton.tsx 4ms (unchanged)
  app/blockexplorer/_components/SearchBar.tsx 4ms (unchanged)
  app/blockexplorer/_components/TransactionHash.tsx 4ms (unchanged)
  app/blockexplorer/_components/TransactionsTable.tsx 7ms (unchanged)
  app/blockexplorer/address/[address]/page.tsx 8ms
  app/blockexplorer/layout.tsx 3ms (unchanged)
  app/blockexplorer/page.tsx 6ms (unchanged)
  app/blockexplorer/transaction/_components/TransactionComp.tsx 9ms (unchanged)
  app/blockexplorer/transaction/[txHash]/page.tsx 2ms (unchanged)
  app/debug/_components/contract/ContractInput.tsx 6ms (unchanged)
  app/debug/_components/contract/ContractReadMethods.tsx 4ms (unchanged)
  app/debug/_components/contract/ContractUI.tsx 4ms (unchanged)
  app/debug/_components/contract/ContractVariables.tsx 3ms (unchanged)
  app/debug/_components/contract/ContractWriteMethods.tsx 3ms (unchanged)
  app/debug/_components/contract/DisplayVariable.tsx 3ms (unchanged)
  app/debug/_components/contract/index.tsx 1ms (unchanged)
  app/debug/_components/contract/InheritanceTooltip.tsx 1ms (unchanged)
  app/debug/_components/contract/ReadOnlyFunctionForm.tsx 4ms (unchanged)
  app/debug/_components/contract/Tuple.tsx 4ms (unchanged)
  app/debug/_components/contract/TupleArray.tsx 8ms (unchanged)
  app/debug/_components/contract/TxReceipt.tsx 3ms (unchanged)
  app/debug/_components/contract/utilsContract.tsx 7ms (unchanged)
  app/debug/_components/contract/utilsDisplay.tsx 5ms (unchanged)
  app/debug/_components/contract/WriteOnlyFunctionForm.tsx 6ms (unchanged)
  app/debug/_components/DebugContracts.tsx 3ms (unchanged)
  app/debug/page.tsx 2ms (unchanged)
  app/erc20/page.tsx 5ms (unchanged)
  app/layout.tsx 1ms
  app/page.tsx 2ms
  components/assets/BuidlGuidlLogo.tsx 0ms (unchanged)
  components/Footer.tsx 4ms (unchanged)
  components/Header.tsx 4ms
  components/scaffold-eth/Address/Address.tsx 7ms (unchanged)
  components/scaffold-eth/Address/AddressCopyIcon.tsx 1ms (unchanged)
  components/scaffold-eth/Address/AddressLinkWrapper.tsx 1ms (unchanged)
  components/scaffold-eth/Balance.tsx 3ms (unchanged)
  components/scaffold-eth/BlockieAvatar.tsx 1ms (unchanged)
  components/scaffold-eth/Faucet.tsx 5ms (unchanged)
  components/scaffold-eth/FaucetButton.tsx 3ms (unchanged)
  components/scaffold-eth/index.tsx 0ms (unchanged)
  components/scaffold-eth/Input/AddressInput.tsx 4ms (unchanged)
  components/scaffold-eth/Input/Bytes32Input.tsx 1ms (unchanged)
  components/scaffold-eth/Input/BytesInput.tsx 1ms (unchanged)
  components/scaffold-eth/Input/EtherInput.tsx 4ms (unchanged)
  components/scaffold-eth/Input/index.ts 0ms (unchanged)
  components/scaffold-eth/Input/InputBase.tsx 3ms (unchanged)
  components/scaffold-eth/Input/IntegerInput.tsx 2ms (unchanged)
  components/scaffold-eth/Input/utils.ts 3ms (unchanged)
  components/scaffold-eth/RainbowKitCustomConnectButton/AddressInfoDropdown.tsx 5ms (unchanged)
  components/scaffold-eth/RainbowKitCustomConnectButton/AddressQRCodeModal.tsx 2ms (unchanged)
  components/scaffold-eth/RainbowKitCustomConnectButton/index.tsx 2ms (unchanged)
  components/scaffold-eth/RainbowKitCustomConnectButton/NetworkOptions.tsx 2ms (unchanged)
  components/scaffold-eth/RainbowKitCustomConnectButton/WrongNetworkDropdown.tsx 1ms (unchanged)
  components/ScaffoldEthAppWithProviders.tsx 2ms
  components/SwitchTheme.tsx 2ms (unchanged)
  components/ThemeProvider.tsx 1ms (unchanged)
  hooks/scaffold-eth/index.ts 1ms (unchanged)
  hooks/scaffold-eth/useAnimationConfig.ts 1ms (unchanged)
  hooks/scaffold-eth/useContractLogs.ts 2ms (unchanged)
  hooks/scaffold-eth/useDeployedContractInfo.ts 2ms (unchanged)
  hooks/scaffold-eth/useDisplayUsdMode.ts 1ms (unchanged)
  hooks/scaffold-eth/useFetchBlocks.ts 6ms (unchanged)
  hooks/scaffold-eth/useInitializeNativeCurrencyPrice.ts 1ms (unchanged)
  hooks/scaffold-eth/useNetworkColor.ts 1ms (unchanged)
  hooks/scaffold-eth/useOutsideClick.ts 1ms (unchanged)
  hooks/scaffold-eth/useScaffoldContract.ts 2ms (unchanged)
  hooks/scaffold-eth/useScaffoldEventHistory.ts 6ms (unchanged)
  hooks/scaffold-eth/useScaffoldReadContract.ts 3ms (unchanged)
  hooks/scaffold-eth/useScaffoldWatchContractEvent.ts 2ms (unchanged)
  hooks/scaffold-eth/useScaffoldWriteContract.ts 5ms (unchanged)
  hooks/scaffold-eth/useTargetNetwork.ts 3ms (unchanged)
  hooks/scaffold-eth/useTransactor.tsx 5ms (unchanged)
  hooks/scaffold-eth/useWatchBalance.ts 2ms (unchanged)
  next-env.d.ts 1ms (unchanged)
  next.config.js 2ms
  package.json 1ms (unchanged)
  postcss.config.js 0ms (unchanged)
  public/manifest.json 1ms (unchanged)
  scaffold.config.ts 1ms (unchanged)
  services/store/store.ts 2ms (unchanged)
  services/web3/wagmiConfig.tsx 2ms (unchanged)
  services/web3/wagmiConnectors.tsx 2ms (unchanged)
  styles/globals.css 9ms (unchanged)
  tailwind.config.js 2ms
  tsconfig.json 0ms (unchanged)
  types/abitype/abi.d.ts 2ms (unchanged)
  types/react-copy-to-clipboard/react-copy-to-clipboard.d.ts 2ms (unchanged)
  utils/scaffold-eth/block.ts 1ms (unchanged)
  utils/scaffold-eth/common.ts 1ms (unchanged)
  utils/scaffold-eth/contract.ts 11ms (unchanged)
  utils/scaffold-eth/contractsData.ts 1ms (unchanged)
  utils/scaffold-eth/decodeTxData.ts 4ms (unchanged)
  utils/scaffold-eth/fetchPriceFromUniswap.ts 3ms (unchanged)
  utils/scaffold-eth/getMetadata.ts 2ms (unchanged)
  utils/scaffold-eth/getParsedError.ts 2ms (unchanged)
  utils/scaffold-eth/index.ts 1ms (unchanged)
  utils/scaffold-eth/networks.ts 5ms (unchanged)
  utils/scaffold-eth/notification.tsx 4ms (unchanged)
  vercel.json 1ms (unchanged)
      at makeError (file:///Users/shivbhonde/Desktop/github/create-eth/node_modules/execa/lib/error.js:59:11)
      at handlePromise (file:///Users/shivbhonde/Desktop/github/create-eth/node_modules/execa/index.js:124:26)
      at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
      at async prettierFormat (file:///Users/shivbhonde/Desktop/github/create-eth/dist/cli.js:532:24)
      at async Task.run (file:///Users/shivbhonde/Desktop/github/create-eth/node_modules/listr2/dist/index.js:2056:11) {
    shortMessage: 'Command failed with exit code 1: yarn format',
    command: 'yarn format',
    escapedCommand: 'yarn format',
    exitCode: 1,
    signal: undefined,
    signalDescription: undefined,
    stdout: '.eslintrc.json 14ms (unchanged)\n' +
      '.prettierrc.js 9ms\n' +
      'app/blockexplorer/_components/AddressCodeTab.tsx 15ms (unchanged)\n' +
      'app/blockexplorer/_components/AddressComponent.tsx 8ms (unchanged)\n' +
      'app/blockexplorer/_components/AddressLogsTab.tsx 5ms (unchanged)\n' +
      'app/blockexplorer/_components/AddressStorageTab.tsx 10ms (unchanged)\n' +
      'app/blockexplorer/_components/BackButton.tsx 2ms (unchanged)\n' +
      'app/blockexplorer/_components/ContractTabs.tsx 11ms (unchanged)\n' +
      'app/blockexplorer/_components/index.tsx 1ms (unchanged)\n' +
      'app/blockexplorer/_components/PaginationButton.tsx 4ms (unchanged)\n' +
      'app/blockexplorer/_components/SearchBar.tsx 4ms (unchanged)\n' +
      'app/blockexplorer/_components/TransactionHash.tsx 4ms (unchanged)\n' +
      'app/blockexplorer/_components/TransactionsTable.tsx 7ms (unchanged)\n' +
      'app/blockexplorer/address/[address]/page.tsx 8ms\n' +
      'app/blockexplorer/layout.tsx 3ms (unchanged)\n' +
      'app/blockexplorer/page.tsx 6ms (unchanged)\n' +
      'app/blockexplorer/transaction/_components/TransactionComp.tsx 9ms (unchanged)\n' +
      'app/blockexplorer/transaction/[txHash]/page.tsx 2ms (unchanged)\n' +
      'app/debug/_components/contract/ContractInput.tsx 6ms (unchanged)\n' +
      'app/debug/_components/contract/ContractReadMethods.tsx 4ms (unchanged)\n' +
      'app/debug/_components/contract/ContractUI.tsx 4ms (unchanged)\n' +
      'app/debug/_components/contract/ContractVariables.tsx 3ms (unchanged)\n' +
      'app/debug/_components/contract/ContractWriteMethods.tsx 3ms (unchanged)\n' +
      'app/debug/_components/contract/DisplayVariable.tsx 3ms (unchanged)\n' +
      'app/debug/_components/contract/index.tsx 1ms (unchanged)\n' +
      'app/debug/_components/contract/InheritanceTooltip.tsx 1ms (unchanged)\n' +
      'app/debug/_components/contract/ReadOnlyFunctionForm.tsx 4ms (unchanged)\n' +
      'app/debug/_components/contract/Tuple.tsx 4ms (unchanged)\n' +
      'app/debug/_components/contract/TupleArray.tsx 8ms (unchanged)\n' +
      'app/debug/_components/contract/TxReceipt.tsx 3ms (unchanged)\n' +
      'app/debug/_components/contract/utilsContract.tsx 7ms (unchanged)\n' +
      'app/debug/_components/contract/utilsDisplay.tsx 5ms (unchanged)\n' +
      'app/debug/_components/contract/WriteOnlyFunctionForm.tsx 6ms (unchanged)\n' +
      'app/debug/_components/DebugContracts.tsx 3ms (unchanged)\n' +
      'app/debug/page.tsx 2ms (unchanged)\n' +
      'app/erc20/page.tsx 5ms (unchanged)\n' +
      'app/layout.tsx 1ms\n' +
      'app/page.tsx 2ms\n' +
      'components/assets/BuidlGuidlLogo.tsx 0ms (unchanged)\n' +
      'components/Footer.tsx 4ms (unchanged)\n' +
      'components/Header.tsx 4ms\n' +
      'components/scaffold-eth/Address/Address.tsx 7ms (unchanged)\n' +
      'components/scaffold-eth/Address/AddressCopyIcon.tsx 1ms (unchanged)\n' +
      'components/scaffold-eth/Address/AddressLinkWrapper.tsx 1ms (unchanged)\n' +
      'components/scaffold-eth/Balance.tsx 3ms (unchanged)\n' +
      'components/scaffold-eth/BlockieAvatar.tsx 1ms (unchanged)\n' +
      'components/scaffold-eth/Faucet.tsx 5ms (unchanged)\n' +
      'components/scaffold-eth/FaucetButton.tsx 3ms (unchanged)\n' +
      'components/scaffold-eth/index.tsx 0ms (unchanged)\n' +
      'components/scaffold-eth/Input/AddressInput.tsx 4ms (unchanged)\n' +
      'components/scaffold-eth/Input/Bytes32Input.tsx 1ms (unchanged)\n' +
      'components/scaffold-eth/Input/BytesInput.tsx 1ms (unchanged)\n' +
      'components/scaffold-eth/Input/EtherInput.tsx 4ms (unchanged)\n' +
      'components/scaffold-eth/Input/index.ts 0ms (unchanged)\n' +
      'components/scaffold-eth/Input/InputBase.tsx 3ms (unchanged)\n' +
      'components/scaffold-eth/Input/IntegerInput.tsx 2ms (unchanged)\n' +
      'components/scaffold-eth/Input/utils.ts 3ms (unchanged)\n' +
      'components/scaffold-eth/RainbowKitCustomConnectButton/AddressInfoDropdown.tsx 5ms (unchanged)\n' +
      'components/scaffold-eth/RainbowKitCustomConnectButton/AddressQRCodeModal.tsx 2ms (unchanged)\n' +
      'components/scaffold-eth/RainbowKitCustomConnectButton/index.tsx 2ms (unchanged)\n' +
      'components/scaffold-eth/RainbowKitCustomConnectButton/NetworkOptions.tsx 2ms (unchanged)\n' +
      'components/scaffold-eth/RainbowKitCustomConnectButton/WrongNetworkDropdown.tsx 1ms (unchanged)\n' +
      'components/ScaffoldEthAppWithProviders.tsx 2ms\n' +
      'components/SwitchTheme.tsx 2ms (unchanged)\n' +
      'components/ThemeProvider.tsx 1ms (unchanged)\n' +
      'hooks/scaffold-eth/index.ts 1ms (unchanged)\n' +
      'hooks/scaffold-eth/useAnimationConfig.ts 1ms (unchanged)\n' +
      'hooks/scaffold-eth/useContractLogs.ts 2ms (unchanged)\n' +
      'hooks/scaffold-eth/useDeployedContractInfo.ts 2ms (unchanged)\n' +
      'hooks/scaffold-eth/useDisplayUsdMode.ts 1ms (unchanged)\n' +
      'hooks/scaffold-eth/useFetchBlocks.ts 6ms (unchanged)\n' +
      'hooks/scaffold-eth/useInitializeNativeCurrencyPrice.ts 1ms (unchanged)\n' +
      'hooks/scaffold-eth/useNetworkColor.ts 1ms (unchanged)\n' +
      'hooks/scaffold-eth/useOutsideClick.ts 1ms (unchanged)\n' +
      'hooks/scaffold-eth/useScaffoldContract.ts 2ms (unchanged)\n' +
      'hooks/scaffold-eth/useScaffoldEventHistory.ts 6ms (unchanged)\n' +
      'hooks/scaffold-eth/useScaffoldReadContract.ts 3ms (unchanged)\n' +
      'hooks/scaffold-eth/useScaffoldWatchContractEvent.ts 2ms (unchanged)\n' +
      'hooks/scaffold-eth/useScaffoldWriteContract.ts 5ms (unchanged)\n' +
      'hooks/scaffold-eth/useTargetNetwork.ts 3ms (unchanged)\n' +
      'hooks/scaffold-eth/useTransactor.tsx 5ms (unchanged)\n' +
      'hooks/scaffold-eth/useWatchBalance.ts 2ms (unchanged)\n' +
      'next-env.d.ts 1ms (unchanged)\n' +
      'next.config.js 2ms\n' +
      'package.json 1ms (unchanged)\n' +
      'postcss.config.js 0ms (unchanged)\n' +
      'public/manifest.json 1ms (unchanged)\n' +
      'scaffold.config.ts 1ms (unchanged)\n' +
      'services/store/store.ts 2ms (unchanged)\n' +
      'services/web3/wagmiConfig.tsx 2ms (unchanged)\n' +
      'services/web3/wagmiConnectors.tsx 2ms (unchanged)\n' +
      'styles/globals.css 9ms (unchanged)\n' +
      'tailwind.config.js 2ms\n' +
      'tsconfig.json 0ms (unchanged)\n' +
      'types/abitype/abi.d.ts 2ms (unchanged)\n' +
      'types/react-copy-to-clipboard/react-copy-to-clipboard.d.ts 2ms (unchanged)\n' +
      'utils/scaffold-eth/block.ts 1ms (unchanged)\n' +
      'utils/scaffold-eth/common.ts 1ms (unchanged)\n' +
      'utils/scaffold-eth/contract.ts 11ms (unchanged)\n' +
      'utils/scaffold-eth/contractsData.ts 1ms (unchanged)\n' +
      'utils/scaffold-eth/decodeTxData.ts 4ms (unchanged)\n' +
      'utils/scaffold-eth/fetchPriceFromUniswap.ts 3ms (unchanged)\n' +
      'utils/scaffold-eth/getMetadata.ts 2ms (unchanged)\n' +
      'utils/scaffold-eth/getParsedError.ts 2ms (unchanged)\n' +
      'utils/scaffold-eth/index.ts 1ms (unchanged)\n' +
      'utils/scaffold-eth/networks.ts 5ms (unchanged)\n' +
      'utils/scaffold-eth/notification.tsx 4ms (unchanged)\n' +
      'vercel.json 1ms (unchanged)',
    stderr: 'No matches found: "./test/**/*.ts"',
    failed: true,
    timedOut: false,
    isCanceled: false,
    killed: false
  }
}
Uh oh! 😕 Sorry about that! Exiting...

For me it also works except the case when there's is a contract but not test. Will retest when mentioned PR will be merged here

Ohh yeah just merged main and it shall work correctly now

It works great now!
One nit (not critical at all): .gitkeep file is created in all 3 cases but I think it's ok
Thank you for fixing this!

One nit (not critical at all): .gitkeep file is created in all 3 cases but I think it's ok

yeah lol I felt the same but it felt like simplest and minimal path. we could have explicit logic in cli working it self but maybe not worth it I feel and .gitkeep seems fine


Importing VSDX file will remove relations between Object.

Describe the bug
When importing an existing network drawing from a VISIO vsdx file the relation between components are not there anymore.
So when an object for example a switch is moved to the left or right. all the attached lines are not connected and needs to be manually attached to the Object.
To Reproduce
Create VSDX drawing in Visio (in my case use an existing drawing)
With objects connected with lines. (in my case these lines are the network connections between devices.)
Import VSDX network drawing in the web or in the local draw.io client.
Select 1 object and move this object.
Result. The lines will not be attached to the object.
Expected behavior
I am expecting the lines to be connected to the object. So when you move one component the lines will remain attached.
Screenshots

First image after import.

Arrow object selected.

Object moved. No attached lines.
**draw.io version
23.1.5
And the web version.
Also had the issue with previous versions. tested december 2023 (dont know the exact version)
Desktop (please complete the following information):
Tested on Mac OS/Windows 11.
And web based.
I tested the problem in incognito/private mode with all browser extensions switched off, write "yes" below:

yes

Additional context
We are trying to move to this tool as default tool for the whole company. + 250 employees. It would be very helpfull if this will be working so we can convert all drawings. Thank you guys for this great tool and the great work!

We need the file that reproduces this please.

We need the file that reproduces this please.

Uploaded a test drawing to the initial report.

Just curious. Is this issue solved?


The add reference command still requires the manual adding of a HintPath tag for the build to be successful

Expected Behavior

What I expect after I use a command like:
forge add reference -n Some.Reference -p src/SampleProj/SampleProj.fsproj

is that the build will be successful, because I added the missing references.
Current Behavior

The build still fails because the added references could not be resolved.
Possible Solution

I'm not sure what to propose as solution. Nevertheless, the following did achieve the desired output:

Manually adding a HintPath tag for the new reference in the fsproj file solves the problem.

Also, for instance, if, instead of using the add reference command as above, I do

echo "Some.Reference" >> src/SampleProj/paket.references
mono .paket/paket.exe add -i nuget Some.Reference

then, the reference is added with a HintPath and the build is sucessful.
Context

I was trying to setup a Websharper project.
$ forge new project --name MyProject --folder . --template websharperserverclient

$ forge add file -p MyProject/MyProject.fsproj -n MyProject/RunServer.fs

$ cat <<EOF > MyProject/RunServer.fs
namespace MyProject

module SelfHostedServer =

    open global.Owin
    open Microsoft.Owin.Hosting
    open Microsoft.Owin.StaticFiles
    open Microsoft.Owin.FileSystems
    open WebSharper.Owin

    [<EntryPoint>]
    let Main args =
        let rootDirectory, url =
            match args with
            | [| rootDirectory; url |] -> rootDirectory, url
            | [| url |] -> "..", url
            | [| |] -> "..", "http://localhost:9000/"
            | _ -> eprintfn "Usage: WsSimple ROOT_DIRECTORY URL"; exit 1
        use server = WebApp.Start(url, fun appB ->
            appB.UseStaticFiles(
                    StaticFileOptions(
                        FileSystem = PhysicalFileSystem(rootDirectory)))
                .UseSitelet(rootDirectory, Site.Main)
            |> ignore)
        stdout.WriteLine("Serving {0}", url)
        stdin.ReadLine() |> ignore
        0
EOF

And then add reference for the 3 missing dependencies.
Your Environment

Version used:

Built from source, version 1.3.2

Environment name and version (F#, .Net):

F# 4.0 (Open Source Edition)
Mono JIT compiler version 4.2.1 (Debian <IP_ADDRESS>+dfsg2-7ubuntu4)

Operating System and version:

Xubuntu 16.04.1

I guess that's more problem of documentation / help.
add reference is designed to be used with assemblies installed globally (for example in GAC), for example System.Drawing.
It's not designed to replace Paket. Instead you can use Paket integration and do forge paket add -i nuget Some.Reference which will do what you want (if Some.Reference is NuGet dependency)

I see.
Couldn't add reference be more intelligent and and decide what to do? Maybe ask the user.

I don't think I want to introduce such magic. Most well designed command line tools have commands responsible for one things, and introducing such complex and not really predictable (depends on globally installed libraries which can be different from user to user) is not something I want here.
Closing as by design


GeoSpark in spark-shell and spark-sql cli

As part of our pipelines we are currently using Presto to handle geospatial queries on large datasets, this is obviously a problem as it lacks fault tolerance. We want to evaluate GeoSpark to do the same however we cant see anything in the documentation that points to being able to use this with spark-sql or spark-submit directly (e.g. not writing Scala programs to query with SQL).
We have tried passing in the GeoSpark jars in Spark Submit (as a spark-sql job) but we get functions not found on any of the ST Functions.
Is there any documentation on how to get this working? an ideal proof of it working would be to do be able to a query such as the following in the spark-sql shell:
SELECT ST_Equals(ST_GeomFromText('LINESTRING(0 0, 10 10)'),
	ST_GeomFromText('LINESTRING(0 0, 5 5, 10 10)'));

GeoSpark version = 1.1.3
Apache Spark version = 2.2

It is not possible to run GeoSpark in spark-sql cli but you can run it in spark-shell.
As stated on Spark website, The Spark SQL CLI is a convenient tool to run the Hive metastore service in local mode and execute queries input from the command line.
To run GeoSpark in spark-shell
tested on GeoSpark 1.1.3 + Spark-2.1, 2.2, 2.3
Make sure org.datasyslab:geospark-sql_2.2:1.1.3 Maven Coordinate matches your Spark version

./spark-shell --packages org.datasyslab:geospark:1.1.3,org.datasyslab:geospark-sql_2.2:1.1.3,oryslab:geospark-viz:1.1.3 --conf spark.serializer=org.apache.spark.serializer.KryoSerializer --conf spark.kryo.registrator=org.datasyslab.geosparkviz.core.Serde.GeoSparkVizKryoRegistrator

After entering the spark-shell, run the following lines to make sure you can play with GeoSparkSQL
import org.datasyslab.geosparksql.utils.GeoSparkSQLRegistrator
GeoSparkSQLRegistrator.registerAll(spark);
val df = spark.sql("select ST_GeomFromWKT(\"POINT (30 10)\") as col0")
df.show

You should be able to see something similar to this:
scala> import org.datasyslab.geosparksql.utils.GeoSparkSQLRegistrator
import org.datasyslab.geosparksql.utils.GeoSparkSQLRegistrator

scala> GeoSparkSQLRegistrator.registerAll(spark);
18/08/29 19:26:39 WARN ObjectStore: Failed to get database global_temp, returning NoSuchObjectException

scala> val df = spark.sql("select ST_GeomFromWKT(\"POINT (30 10)\") as col0")
df: org.apache.spark.sql.DataFrame = [col0: geometry]

scala> df.show
+-------------+
|         col0|
+-------------+
|POINT (30 10)|
+-------------+

Check whether GeoSpark custom serializer is set
spark.conf.get("spark.serializer")
spark.conf.get("spark.kryo.registrator")

You should be able to see something similar to this:
scala> spark.conf.get("spark.serializer")
res2: String = org.apache.spark.serializer.KryoSerializer

scala> spark.conf.get("spark.kryo.registrator")
res3: String = org.datasyslab.geosparkviz.core.Serde.GeoSparkVizKryoRegistrator

I think in this case then GeoSpark is missing out on a large section of people who want distributed and fault tolerant SQL interfaces to their data.
Presto is almost perfect in its execution of GeoSpatial  joins and queries - but only for shorter ad-hoc / analytics queries. We process billions of rows joined through hundreds of millions of polygons and unfortunately its ability to perform long running jobs is lacking for fault tolerance. Geospark seemed like a perfect solution to this.
Not everyone needs (or wants) to use Scala or RDD's, providing some ability for this to allow simple SQL scripts to be sent to Geospark (through an interface such as SparkSQL) and processed would make this a much more flexible tool, it would also mean it could be integrated with things like EMR and Dataproc pretty simply!
Are there any plans to support this in the future?

I think this is easy to fix
According to spark-sql cli source code, it uses
/bin/spark-submit --class org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver

I just need to write a GeoSparkSQLCLIDriver similar to SparkSQLCLIDriver.
Enter the following GeoSparkSQL registration sentences in GeoSparkSQLCLIDriver
GeoSparkSQLRegistrator.registerAll(sparkSession);

Then run
spark-sql --class org.datasyslab.geosparksql.utils.GeoSparkSQLCLIDriver

I will try to do this over the weekend. Working on other stuff now.

I have just looked a bit further into your comments about things you would need to do and have a few comments about our specific use case:
We use Google Dataproc for our Spark Clusters, one of the reasons is for its simplicity in cluster creation and job submission, we can do this via the API by specifying sparksql as the driver but the UI looks as follows:

Most importantly we can submit the job via REST telling it to use the SparkSQL drivers to execute the queries:
{
  "projectId": "digital2go-1186",
  "job": {
    "placement": {
      "clusterName": "cluster-mike-keep"
    },
    "reference": {
      "jobId": "job-8ad9f8c7"
    },
    "sparkSqlJob": {
      "jarFileUris": [
        "file:///home/dan/somejar.jar"
      ],
      "queryList": {
        "queries": [
          "SELECT ST_Equals(ST_GeomFromText('LINESTRING(0 0, 10 10)'),\n\tST_GeomFromText('LINESTRING(0 0, 5 5, 10 10)'));"
        ]
      }
    }
  }
}

So somehow GeoSpark should if at all possible be able to be loaded into the SparkSQL functionality of the cluster - usually this is just a case of passing jars and registering the functions but we didn't have much luck trying that in this case.
If this isn't possible then there is also the possibility of using spark-submit, we use Airflow as our job orchestration tool which has options for both SparkSQL and spark-submit, both of these seem to be the preferred way of running Geospatial SQL Queries directly against Hive data.

I am pretty sure GeoSpark can work with spark-submit. Did you try
GeosparkTemplateProject? That is designed for Spark-submit.
On Thu, Aug 30, 2018 at 23:33 Dan Voyce<EMAIL_ADDRESS>wrote:

I have just looked a bit further into your comments about things you would
need to do and have a few comments about our specific use case:
We use Google Dataproc for our Spark Clusters, one of the reasons is for
its simplicity in cluster creation and job submission, we can do this via
the API by specifying sparksql as the driver but the UI looks as follows:
[image: image]
https://user-images.githubusercontent.com/1065098/44896164-95ef5a80-ad3a-11e8-95b9-f8746de934a9.png
Most importantly we can submit the job via REST telling it to use the
SparkSQL drivers to execute the queries:
{
"projectId": "digital2go-1186",
"job": {
"placement": {
"clusterName": "cluster-mike-keep"
},
"reference": {
"jobId": "job-8ad9f8c7"
},
"sparkSqlJob": {
"jarFileUris": [
"file:///home/dan/somejar.jar"
],
"queryList": {
"queries": [
"SELECT ST_Equals(ST_GeomFromText('LINESTRING(0 0, 10 10)'),\n\tST_GeomFromText('LINESTRING(0 0, 5 5, 10 10)'));"
]
}
}
}
}
So somehow GeoSpark should if at all possible be able to be loaded into
the SparkSQL functionality of the cluster - usually this is just a case of
passing jars and registering the functions but we didn't have much luck
trying that in this case.
If this isn't possible then there is also the possibility of using
spark-submit, we use Airflow as our job orchestration tool which has
options for both SparkSQL and spark-submit, both of these seem to be the
preferred way of running Geospatial SQL Queries directly against Hive data.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/DataSystemsLab/GeoSpark/issues/268#issuecomment-417566293,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKcRAN6Azifm4UcWJxBP5Orci-yGUa8Lks5uWNi8gaJpZM4WSnCY
.

Yes but that is by building a Jar and sending it to spark submit - those steps in between for many use cases make it unfeasible to execute in a pipeline.
spark-submit can also just take in an SQL query and run that as it would if it were spark-sql (I believe...) - this is the use case that is interesting as it cuts out any middle-man processing and build steps - it would mean Geospark could be a distributed SQL processing engine and that would be huge for the community where currently there is nothing that is fault tolerant available for spatial queries.

Hi @jiayuasu - is there any update on this? We have a workflow that is ready to be run on this right now, currently our Presto pipeline is handling this but not being fault tolerant means we cant use Pre-emptible / Spot instances to run this which we would very much like to be able to :)

@voycey Hi, do you mean spark-sql? I believe spark-submit can't directly take sql to run.

Yes spark-sql :)
On Fri, 14 Sep. 2018, 00:29 zongsi.zhang<EMAIL_ADDRESS>wrote:

@voycey https://github.com/voycey Hi, do you mean spark-sql? I believe
spark-submit can't directly take sql to run.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/DataSystemsLab/GeoSpark/issues/268#issuecomment-421027265,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABBAigO8mCW0Tfyual2kUiHRG9u2HbuHks5uamvOgaJpZM4WSnCY
.

Hi @jiayuasu,
I'm trying to implement the GeoSparkSQLCLIDriver, but the file has a lot of dependencies files(e.g: HiveThriftServer2, SparkSQLEnv, etc.)
There is a better way other than copying them into the GeoSpark project?

@netanel246 Well, I am also not sure about this...But probably you can make a PR or share your code with me, so I can take a look at it


Expose flush() method on Logback and Log4j appenders to flush underlying HttpEventCollectorSender and OkHttpClient

Build upon the previous partial solution to https://github.com/splunk/splunk-library-javalogging/issues/152
Instead of stopping the appender at then end of a lambda function, just call flush() on the appender.
This way the appender can be re-used next time the lambda function is invoked.
The underlying httpClient is flushed (up to the configured timeout).

The failing checks seem un-related to the changes in this MR. Perhaps the CI pipeline is unstable?
https://github.com/splunk/splunk-library-javalogging/pull/210 aims to debug this pipeline failure.


How to reproduce Fig.3 Qualitative result about similarity map?

Hello. Thank you for sharing your great work!
I've been trying to visualize a similarity map like the image in Fig. 3 from Anyloc paper for a few days now. However, I have not been able to get the right result.
The code below is the code I was working with. I am performing PCA on the norm_patchtoken obtained from dino, and generating a similarity map on the feature map obtained. However, the result is shown below.
Anyloc's repository doesn't seem to include the code to generate this similarity map. I was wondering if you could provide the code to reproduce the visualization result in Fig.3, or tell me how to visualize it.
Thank you.
Sample image

Feature map after PCA, Interpolation

Similarity map

import torch
import torch.nn.functional as F
import torchvision.transforms as T
import os
import cv2
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image

patch_h = 16
patch_w = 16
feat_dim = 1536 # vitg14

transform = T.Compose([
    T.Resize((patch_h * 14, patch_w * 14)),
    T.CenterCrop((patch_h * 14, patch_w * 14)),
    T.ToTensor(),
    T.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)),
])

dinov2_vitg14 = torch.hub.load('facebookresearch/dinov2', 'dinov2_vitg14')

print(dinov2_vitg14)

features = torch.zeros(1, patch_h * patch_w, feat_dim)
imgs_tensor = torch.zeros(1, 3, patch_h * 14, patch_w * 14)
for i in range(1):
    img_path = "/root/workspace/test_debug/dog_2.jpg"
    img = Image.open(img_path).convert('RGB')
    imgs_tensor[i] = transform(img)[:3]
with torch.no_grad():
    # features_dict = dinov2_vits14.forward_features(imgs_tensor) # torch.Size([1, 256, 384])
    features_dict = dinov2_vitg14.forward_features(imgs_tensor) # torch.Size([1, 256, 384])
    features = features_dict['x_norm_patchtokens']

from sklearn.decomposition import PCA

features = features.reshape(1 * patch_h * patch_w, feat_dim)

pca = PCA(n_components=3)
pca.fit(features)
pca_features = pca.transform(features).reshape(3, 16, 16)
print(f"pca_feature_shape : {pca_features.shape}")   # 368*256 => 256*3

pca_features_tensor = torch.tensor(pca_features).unsqueeze(0)  # Add batch dimension
print(f"pca_features_tensor.shape : {pca_features_tensor.shape}")
pca_features_resized = F.interpolate(pca_features_tensor, size=(576,1024), mode='bilinear', align_corners=True)
pca_features_resized = pca_features_resized.squeeze(0).permute(1, 2, 0).numpy()

pca_features_resized = (pca_features_resized - pca_features_resized.min()) / (pca_features_resized.max() - pca_features_resized.min())

print(f"pca_features_resized shape ?? : {pca_features_resized.shape}")
pca_image = (pca_features_resized * 255).astype(np.uint8)
pca_image = Image.fromarray(pca_image)
pca_image.save('/root/workspace/result/pca_resized_dog_2.png')

def compute_similarity_map(feature_map, ref_point):
    ref_value = feature_map[ref_point]
    diff_map = np.abs(feature_map - ref_value)
    similarity_map = 1 - (diff_map / diff_map.max())
    return similarity_map

ref_point = (280, 800)
similarity_map = compute_similarity_map(pca_features_resized, ref_point)
output_dir = "/root/workspace/aerial_pr/dinov2_mixvpr_template/test_debug/result/"

plt.imshow(similarity_map, cmap='hot')
plt.colorbar()
plt.axis('off')
similarity_map_path = os.path.join(output_dir, 'dog_2_similarity_map.png')
plt.savefig(similarity_map_path, bbox_inches='tight', pad_inches=0)
plt.close()

Sorry for late reply. And thank you so much !!


accept float "retry-after"

#34203

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


I don't understand the rate limiting... and bulk operations

... What I basically need to to is to delete a huge amount (>5000) of tags on a private repo of our paid org.
Wrote a little nice bash script using hub-tool for this purpose, as deleting it via advanced image management is a PITA. Now my problem:
After ~820 deletes I got an "429 too many requests".
querying the rate limiting gives:
hub-tool account rate-limiting
Limit:     100, 6 hours window
Remaining: 100, 6 hours window

But even getting my account info fails:
hub-tool account info
Error: failed to authenticate: bad status code "429 Too Many Requests": Docker Hub API rate limit exceeded, contact<EMAIL_ADDRESS>to give us feedback

So I guess I'm facing two issues here:

a bulk operation to delete multiple tags at once
good information (or event better gracefully handling) of rate limits.

It sounds like you are hitting our overall rate limits. These are in place for all customers to protect the Docker Hub services and the solution will be to "slow down".
My recommendation would be to check the exit code for failure and slow down. Something as simple as if [[ hitRateLimit -eq 'true' ]]; then sleep 30; fi would be a good addition to your script. You could also add a smaller sleep between tag deletions, depending on how your script works, so that you avoid hitting the limit altogether 😄


update data-type version

Has the source code of this plugin changed in another pull request?

Has the source code of this plugin changed in another pull request?

Yes. But the version upgrade was omitted.


add example:docker moderate-pull-private-image-container

Task custom namespace needs to change ipc, pid and net namespaces to host mode.


hack to dynamically adjust y axis left margin

Before, y axis has cutoff when number is too long. Sometimes, people want to see the long raw number instead of '.3s' formatted number.

Added into @ascott 's hack code to get y axis left margin always accommodate the number's length.
After fix, it looks like follows:

#2508

LGTM, thank you @yileic!


Multiline code blocks breaks if there is a comment after \

Duplicate the issue #830
Last line should be a part of the command, but is not because of the comment:

This multiline command is incorrect.
The comment must be moved either before or after the multiline command.
i.e.
$ sudo teleport start \
--roles=app \
--token=${TOKEN?} \
--auth-server=teleport.example.com:3080 \
--app-name=example-app  \
--app-uri=http://localhost:8080
# Change "example-app" to the name of your application.
# Change "http://localhost:8080" to the address of your application.


Prerequisite of Join & Translation Progress

Looking for translators, you need to possess related develop experience including but not limited to:

GraphQL
NextJS
Prisma
BlitzJS

Translation Progress:

[x] Home Page
[x] Get Started
[x] Tutorial

Prerequisite  & Translation progress now all in #1 , closed now 🥸


feat(controller): Support withExpression for expanded steps. Fixes #4585

Fixes #4585

Closing as I don't think this meets the potentially more general needs of your users regarding more powerful templating.
@simster7

A fascinating deep-dive into templating, but ultimately very useless.


Ensure all docs and examples in user guide are reachable

We've consolidated user docs in docs/user-guide. We should ensure that we link to all of them from reasonable places within the user guide -- they all need to be reachable.

We should also cross-link concept/feature docs, feature-oriented examples, and tutorials. For example:

docs/user-guide/pod-states.md#container-probes
docs/user-guide/liveness
docs/user-guide/production-pods.md#liveness-and-readiness-probes-(aka-health-checks)

cc @krousey @RichieEscarez


Missing PHP version

There isn't any note in the README pointing to the used php version

I forgot it. Thank you!


Catch::Tbc::Text::Text out of bounds access to string

When comparing a string containing the sequence \n\t, an out of bounds access appears to happen when catch formats the expanded expression here:
https://github.com/philsquared/Catch/blob/master/include/external/tbc_text_format.h#L88
(MSVC Debug Assertion Failed: string subscript out of range)
Example:
TEST_CASE("foo") {
    std::string s = "\n\t";
    CHECK(s == s);
}

Call stack:
Catch::Tbc::Text::Text(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & _str, const Catch::Tbc::TextAttributes & _attr) Line 4934	C++
Catch::ConsoleReporter::AssertionPrinter::printReconstructedExpression() Line 9754	C++
Catch::ConsoleReporter::AssertionPrinter::print() Line 9729	C++
Catch::ConsoleReporter::assertionEnded(const Catch::AssertionStats & _assertionStats) Line 9593	C++
Catch::RunContext::assertionEnded(const Catch::AssertionResult & result) Line 5996	C++
Catch::ResultBuilder::handleResult(const Catch::AssertionResult & result) Line 8305	C++
Catch::ResultBuilder::captureExpression() Line 8302	C++
Catch::ResultBuilder::endExpression() Line 8264	C++
____C_A_T_C_H____T_E_S_T____10() Line 13	C++

PR #592 pending.

@lightmare would be nice to get that merged.
Closing this since there's already another issue about the same bug.

This has been fixed, but for time being the \t special handling was removed.


unslick the slick slider on component destroy to avoid memory leaks

When profiling my test suite that runs super slowly after a few minutes, I saw that no instance of slick slider was destroyed. Retaining _this via the listener's was causing my 2.18 ember app to retain the router micro lib and all of it's states between each test...an unbounded memory leak.
This should fix:

33
5

I've added more changes here since I am pointing at my own branch right now.
Since sendAction was deprecated in 3.4, the slick-slider component will cause deprecations for all users. I used ember-invoke-action to support closure actions (producing no errors), while still allowing the sendAction behavior for older ember consumers of this addon


Old entities from an integration can't be removed

Home Assistant release with the issue:
0.88.0
Last working Home Assistant release (if known):
First notice
Operating environment (Hass.io/Docker/Windows/etc.):
Hassio on a Pi3B+
Component/platform:
Deconz integration
Description of problem:
The integration screen shows entities that don't exist. Their status is unavailable but they don't show up in the entity list of home assistant. I can't remove them from the integration since clicking on them doesn't work.
They did exist in the past, but the value was always zero. Deconz must have fixed this and now the entity is removed. Home assistant still remembers this old entity. Deleting the integration and reconfiguring doesn't help.

You should be able to delete them from the Configuration -> Entity Registry page

This happened to me with a LIFX integration light.  I also have the SmartThings integration and it happened with the entity from that integration too.  Deleting the entities from "Configuration -> Entity Registry page" didn't work.  I worked around this by shutting down the docker container and removed the entities from config/.storage/core.device_registry and config/.storage/lovelace

I have a few hundreds of old devices in my telldus live integration and i don't want to remove the whole integration and need to reconfigure everything.
Maybe a setting that can remove all old not used things?
Those devices seems to have "via_device_id": null in core.device_registry file but removing a few 100 there would be a real pain.

Have this issue too, recently restarted again, and entities came from zmeuzb stick, forgot to reset it. Now i removed z-wave integration and my desktop is full of unused non functional entities i cannot remove anywhere ?

I removed the lovelace file in homeassistant/.storage. That of course reset my entire UI but that all the not found yellow entities were gone.
If it is only some entities you certainly could have also edited the file but sometimes starting over is a good thing.


Deactivated device still shows errors in log

I have deactivated a device in the integration but I'm still getting these errors repeatedly:
Logger: custom_components.smartthings_find.utils
Kilde: custom_components/smartthings_find/utils.py:399
integrasjon: SmartThings Find (dokumentasjon, problemer)
Førs oppstått: 28. mai 2024 kl. 14:21:43 (694 hendelser)
Sist logget: 14:35:14

[name of device] No operation found in response; marking update failed

Thanks for reporting, the integration will now check whether a device is disabled before fetching data. This should fix this issue.


[RESOLVED] Interface eth0(): High error rate (>2 for 5m)

Problem started at 09:15:29 on 2023.08.22
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Operational data: errors in: 1, errors out: 0
Original problem ID: 86422
Event details in Zabbix: http://<IP_ADDRESS>/tr_events.php?triggerid=23483&eventid=86422

Problem has been resolved in 3m 0s at 09:18:29 on 2023.08.22
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Original problem ID: 86422


Document plugin API

I see that there were several typedoc plugins mentioned in ReadMe. Is the plugin API documented somewhere? Or new plugin authors are supposed to look at existing plugins to get an idea?

Unfortunately the best I can offer you right now is to look at existing plugins. The exposed plugin api needs some serious consideration. Right now almost every plugin uses APIs that we don't export directly from the root instance, which is less than ideal, but unfortunately necessary due to the @Component architecture that is used. #521 is tracking making a guide, but I've been putting it off until we get around to removing that decorator.

@Gerrit0 Thanks for the pointer. I would follow that issue instead so we have less open issue hanging around.


Restructure how we listen to chain head updates

Each instance of the Postgres Store has its own listener on the chain_head_updates channel; that listener ultimately uses two database connections: one to run the actual LISTEN command, and another one to get large notifications out of the database.
Since a pod has one instance of a Store for each network it is configured to process,  but chain head updates are sent globally, it's possible to just have one listener per pod, rather than one per pod and network. This would greatly reduce the number of database connections needed for the entire indexing infrastructure.
The change to address this issue would establish one database listener and then forward relevant messages to per-network listeners.

This was done in https://github.com/graphprotocol/graph-node/pull/1693


Install "from source" fails on node LTS

As advertized in #213 the app is not installable anymore (on my machine) when using the LTS node (and bundled npm) version:
❯ for app in node npm; do printf "%s --> %s\n" "$app" "$("$app" --version)"; done
node --> v16.13.1
npm --> 8.1.2

Given a clean clone and having executed the recursive git submodule updates.

When executing npm ci (with elsewhere--> kind of $HOME, somewhere --> parent folder of repository):

Then:❯ npm ci
npm WARN old lockfile
npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm WARN old lockfile so supplemental metadata must be fetched from the registry.
npm WARN old lockfile
npm WARN old lockfile This is a one-time fix-up, please be patient...
npm WARN old lockfile

> postinstall
> npm run -s install:app && npm run -s install:bin

npm ERR! code 1
npm ERR! path /somewhere/secvisogram-secvisogram
npm ERR! command failed
npm ERR! command sh -c npm run -s install:app && npm run -s install:bin

npm ERR! A complete log of this run can be found in:
npm ERR!     /elsewhere/.npm/_logs/2021-12-16T13_02_56_413Z-debug.log
# return code 1

The aforementioned log:
❯ cat /elsewhere/.npm/_logs/2021-12-16T13_02_56_413Z-debug.log
0 verbose cli [
0 verbose cli   '/elsewhere/.nvm/versions/node/v16.13.1/bin/node',
0 verbose cli   '/elsewhere/.nvm/versions/node/v16.13.1/bin/npm',
0 verbose cli   'ci'
0 verbose cli ]
1 info using<EMAIL_ADDRESS>2 info using<EMAIL_ADDRESS>3 timing npm:load:whichnode Completed in 0ms
4 timing config:load:defaults Completed in 3ms
5 timing config:load:file:/elsewhere/.nvm/versions/node/v16.13.1/lib/node_modules/npm/npmrc Completed in 2ms
6 timing config:load:builtin Completed in 2ms
7 timing config:load:cli Completed in 3ms
8 timing config:load:env Completed in 1ms
9 timing config:load:file:/somewhere/secvisogram-secvisogram/.npmrc Completed in 0ms
10 timing config:load:project Completed in 1ms
11 timing config:load:file:/elsewhere/.npmrc Completed in 3ms
12 timing config:load:user Completed in 3ms
13 timing config:load:file:/elsewhere/.nvm/versions/node/v16.13.1/etc/npmrc Completed in 0ms
14 timing config:load:global Completed in 1ms
15 timing config:load:validate Completed in 0ms
16 timing config:load:credentials Completed in 2ms
17 timing config:load:setEnvs Completed in 1ms
18 timing config:load Completed in 17ms
19 timing npm:load:configload Completed in 17ms
20 timing npm:load:setTitle Completed in 13ms
21 timing npm:load:setupLog Completed in 1ms
22 timing config:load:flatten Completed in 2ms
23 timing npm:load:cleanupLog Completed in 2ms
24 timing npm:load:configScope Completed in 0ms
25 timing npm:load:projectScope Completed in 2ms
26 timing npm:load Completed in 39ms
27 timing arborist:ctor Completed in 6ms
28 timing npm-ci:rm Completed in 8ms
29 timing idealTree:init Completed in 1ms
30 warn old lockfile The package-lock.json file was created with an old version of npm,
30 warn old lockfile so supplemental metadata must be fetched from the registry.
30 warn old lockfile
30 warn old lockfile This is a one-time fix-up, please be patient...
31 silly inflate node_modules/prettier
32 silly inflate node_modules/typescript
33 http fetch GET 200 https://registry.npmjs.org/prettier 241ms (cache revalidated)
34 http fetch GET 200 https://registry.npmjs.org/typescript 588ms (cache updated)
35 timing idealTree:inflate Completed in 623ms
36 timing idealTree:userRequests Completed in 0ms
37 silly idealTree buildDeps
38 timing idealTree:#root Completed in 0ms
39 timing idealTree:buildDeps Completed in 1ms
40 timing idealTree:fixDepFlags Completed in 0ms
41 timing idealTree Completed in 625ms
42 timing reify:loadTrees Completed in 626ms
43 timing reify:diffTrees Completed in 0ms
44 silly reify moves {}
45 timing reify:retireShallow Completed in 0ms
46 timing reify:createSparse Completed in 2ms
47 timing reify:loadBundles Completed in 0ms
48 silly audit bulk request { prettier: [ '2.3.2' ], typescript: [ '4.4.4' ] }
49 http fetch POST 200 https://registry.npmjs.org/-/npm/v1/security/advisories/bulk 346ms
50 timing auditReport:getReport Completed in 346ms
51 silly audit report {}
52 timing auditReport:init Completed in 0ms
53 timing reify:audit Completed in 346ms
54 timing reifyNode:node_modules/prettier Completed in 381ms
55 timing reifyNode:node_modules/typescript Completed in 462ms
56 timing reify:unpack Completed in 462ms
57 timing reify:unretire Completed in 0ms
58 timing build:queue Completed in 1ms
59 timing build:link:node_modules/prettier Completed in 2ms
60 timing build:link:node_modules/typescript Completed in 2ms
61 timing build:link Completed in 2ms
62 timing build:deps Completed in 3ms
63 timing build Completed in 3ms
64 timing reify:build Completed in 3ms
65 timing reify:trash Completed in 0ms
66 timing reify Completed in 1099ms
67 timing command:ci Completed in 18284ms
68 verbose stack Error: command failed
68 verbose stack     at ChildProcess.<anonymous> (/elsewhere/.nvm/versions/node/v16.13.1/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/index.js:64:27)
68 verbose stack     at ChildProcess.emit (node:events:390:28)
68 verbose stack     at maybeClose (node:internal/child_process:1064:16)
68 verbose stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)
69 verbose cwd /somewhere/secvisogram-secvisogram
70 verbose Darwin 20.6.0
71 verbose argv "/elsewhere/.nvm/versions/node/v16.13.1/bin/node" "/elsewhere/.nvm/versions/node/v16.13.1/bin/npm" "ci"
72 verbose node v16.13.1
73 verbose npm  v8.1.2
74 error code 1
75 error path /somewhere/secvisogram-secvisogram
76 error command failed
77 error command sh -c npm run -s install:app && npm run -s install:bin
78 verbose exit 1

There is maybe a problem with the download of FontAwesome.
When running npm run -s install:app directly an not via npm ci there a some hints in the log.
2914 verbose stack HttpErrorAuthUnknown: Unable to authenticate, need: Basic realm="https://npm.fontawesome.com/",service="npm.fontawesome.com"
2914 verbose stack     at /usr/local/lib/node_modules/npm/node_modules/npm-registry-fetch/check-response.js:84:17
2914 verbose stack     at runMicrotasks (<anonymous>)
2914 verbose stack     at processTicksAndRejections (node:internal/process/task_queues:96:5)
2915 verbose statusCode 401
2916 verbose pkgid @fortawesome/free-solid-svg-icons<EMAIL_ADDRESS>

After installing the following packages manually, I can compilation and execution is successful.
npm i<EMAIL_ADDRESS>npm i @fortawesome/free-solid-svg-icons
npm i @fortawesome/fontawesome-svg-core

But I don't know how to fix the automated installation.

@mfd2007 I think you mean (@fortawesome--> @fontawesome:
npm i<EMAIL_ADDRESS>npm i @fontawesome/free-solid-svg-icons
npm i @fontawesome/fontawesome-svg-core

But I don't know how to fix the automated installation.

Maybe add this to some package.json ?

I had that nasty bug once before. I just checked: The problem is that there is a non-free version of the fortawesome stuff. When the app/package-lock.json lists https://npm.fontawesome.com/ instead of https://registry.npmjs.org we run in that problem.
We need to do two things here:

Fix the problem.
Prevent that this can happen again.

For the second part, we should add a GitHub action which will check whether the app/package-lock.jsoncontains https://npm.fontawesome.com/. If so the action shall fail.
Adding @domachine, @wrtlbrmpft for attention.

Ah, good catch @tschmidtb51 - ok, I personally support / pay for font awesome, so maybe my machine is not the best reference (anyway).

I'm sorry for messing this up. Could you check if this fixes the issue for you? https://github.com/secvisogram/secvisogram/pull/220

I'm sorry for messing this up. Could you check if this fixes the issue for you? #220

Someone has to make changes - no problem for me; cf. my comment at #220 will test this evening.


SAP HANA as the Database for a CAP Java Application

https://developers.sap.com/tutorials/cp-cap-java-hana-db.html
using visual studio for the exercise, faced couple of issues in HDI deployment...
cds deploy --to hana:bookstore-hana failed
solution:
1.Login to the HANA cloud central and ensure that the HANA instance is running.
2.if you get socket error,
then in the HANA cloud central enable access from all IP address ( by default only access from BTP is allowed, this is just a test setting.. more details see the blog below to add specific IP address)

credit:https://blogs.sap.com/2020/10/30/allow-connections-to-sap-hana-cloud-instance-from-selected-ip-addresses-using-the-command-line/

Hi @muru82,
Thank you for your contribution. We are always trying to improve our tutorials and will get back to you asap with an update.
Best regards,
Iwona

Sorry, may I ask that are you using a BTP trial account? I couldn't create HANA instance in this step. There's same  issue  in the forum. An answer said it is because hdi-shared plan isn't included in trial... But there's a free tier HANA DB, isn't it.

Yes i am using the trial account. i see two service in the trial one of them have hdi-shared plan

Yes i am using the trial account. i see two service in the trial one of them have hdi-shared plan did you create the hana cloud instance ?

I think I'll look into this. I tried to create but not succeeded

Hi @muru82,
The dev colleagues are still reviewing the updated content and two new tutorials, so please give us some more time to test it with the latest release. Will get back to you here.
Best regards,
Iwona

Hi @muru82,
The issue should be resolved with the update we did yesterday, so I am closing the issue. If you still have questions, feel free to reopen the issue.
Best regards,
Iwona


HA logs - repeated monitor_docker error

Am running HA Core in Docker. I also have watchtower setup to monitor a few other containers but not for HA....to limit breaking changes.
Since installing monitor_docker a few days ago, my HA logs have been filling up with the error msg below. 2 unique lines repeated over and over.
Conflict with Watchtower??
2020-06-22 18:04:56 ERROR (Thread-2) [custom_components.monitor_docker.helpers] watchtower: Can not determine network usage for container ('networks')
2020-06-22 18:04:56 ERROR (Thread-2) [custom_components.monitor_docker.helpers] watchtower: No 'networks' found in raw packet
2020-06-22 18:05:08 ERROR (Thread-2) [custom_components.monitor_docker.helpers] watchtower: Can not determine network usage for container ('networks')
2020-06-22 18:05:08 ERROR (Thread-2) [custom_components.monitor_docker.helpers] watchtower: No 'networks' found in raw packet
2020-06-22 18:05:19 ERROR (Thread-2) [custom_components.monitor_docker.helpers] watchtower: Can not determine network usage for container ('networks')
2020-06-22 18:05:19 ERROR (Thread-2) [custom_components.monitor_docker.helpers] watchtower: No 'networks' found in raw packet
2020-06-22 18:05:32 ERROR (Thread-2) [custom_components.monitor_docker.helpers] watchtower: Can not determine network usage for container ('networks')
2020-06-22 18:05:32 ERROR (Thread-2) [custom_components.monitor_docker.helpers] watchtower: No 'networks' found in raw packet
2020-06-22 18:05:43 ERROR (Thread-2) [custom_components.monitor_docker.helpers] watchtower: Can not determine network usage for container ('networks')
2020-06-22 18:05:43 ERROR (Thread-2) [custom_components.monitor_docker.helpers] watchtower: No 'networks' found in raw packet
2020-06-22 18:05:56 ERROR (Thread-2) [custom_components.monitor_docker.helpers] watchtower: Can not determine network usage for container ('networks')
2020-06-22 18:05:56 ERROR (Thread-2) [custom_components.monitor_docker.helpers] watchtower: No 'networks' found in raw packet

Shouldn't be a conflict, but can you confirm if your watchtower is running "network: host" mode or not? I can't see the root-cause, but I make a quick fix to prevent filling up your logging (the network monitoring won't come back). Just grep all the *.py in the "monitor_docker" of the main branch and let me know if that at least solves your filling of the logfile.

Ok, biggest hurdle is I wasn't sure why watchtower was appearing in my HA log since I don't have it active on my Home Assistant container.  ....but yes, after looking at the docker compose for watchtower network mode was actually "none". Updated and after restart the error appears resolved. Thanks!

Thanks for reporting back, and I will test with "network=none" and update the code to ignore this one.

I have tested it, and made a 'fix' for it too. Now "network_mode=none" will be automatically ignored during network monitoring.


Artifacts are not being collected on timeouts

Describe the bug
When an action is not being completed due to app busyness (infinite animation, network request), and the test times out, artifacts are not being collected.
Environment (please complete the following information):

Detox: *
Test-runner: jest-circus

@noomorph can this still be applicable?

I think yes.


[Improve][Zeta] Remove result_table_name from action name(checkpoint state key)

Purpose of this pull request
[Improve][Zeta] Remove result_table_name from action name(checkpoint state key)
Does this PR introduce any user-facing change?
NO
How was this patch tested?
updated testcase
Check list

[ ] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/seatunnel/tree/dev/docs
[ ] If you are contributing the connector code, please check that the following files are updated:

Update change log that in connector document. For more details you can refer to connector-v2
Update plugin-mapping.properties and add new connector information in it
Update the pom file of seatunnel-dist

[ ] Update the release-note.

Wait #5780 to solve the compile error.

Waiting CI


Master Application getting closed upon all workers removed

I am trying to run the dask yarn cluster with auto scaling i.e., I have used Adaptive class , which automatically triggers the scaling down and up of cluster.But the problem is when all the workers have been removed the master application is also getting killed.So  when again scale up function has been called , the addition of the containers is not happening.
I have checked the code and it is being intentionally done.But that will not help for me in case of automatic scaling where cluster can have zero worker containers when it is idle and workers will be added when a job need to be executed
Please find the sample test I am using
ClusterScaleTest.txt

I have checked the code and it is being intentionally done

If you can fix this, we would certainly accept a PR.
However, you should be aware that a new ground-up rewrite is underway in the new project skein. Although it is only in beta, it should solve problems such as this, and provide the adaptive functionality for dask-on-yarn that you are after.

I have commented the code where the application master has been removed and tested the knit application along with the autoscaling.It worked fine and it spawned workers when needed and removed to zero containers(excluding the application master) when idle.
I don't see a reason for knit killing the application master specifically.Because when all workers are removed then user himself will do the cleanup if he don't want the cluster running.By alone killing the application master and all, I don't see any gain.If you are fine with this I will raise a PR for the same.
If you want me to keep the clean up(i.,e application master) but still handle it separately for the autoscaling case then I will do that.
Please suggest!

It sounds like both your solution to prevent the app-master from quitting, and your adaptive layer are both useful additions for this that are still using knit, would be happy to see either or both in a PR.

Raised a PR for the same
https://github.com/dask/knit/pull/130

Thanks @martindurant for merging the PR.Closing the issue

@martindurant Can I know when this can be released in a version? Because right now this is not coming in 0.2.4 while trying to install via pip

You can always install from master pip install git+https://github.com/dask/knit

Yes, I totally forgot about that one. Thanks 👍. Are you thinking of releasing any new version sooner ?

Not particularly; as you will have seen, there is not much development now on here, since the push to create skein.


Deciding on the Fields of the Data

What kind of information will be stored, utilized, and analyzed should be determined. This will be an important factor when choosing which API(s) we will be using.
When deciding on the fields of the data that we will use, factors like storage, insight (what we think that this information will provide us), and practicality should be considered
During or after the meeting, a preliminary document about the data fields should be prepared in order to help with the API selection.

The articles retrieved from S2AG with arXiv URIs but without DOIs are now correctly handled. The DOI is inferred from the arXiv URI since the prefix for arXiv is fixed.


Programmatically set default state of graph, logs, & updates on render

I would like a way to automatically set the state of the dev tools on render. Something like:
<DevTools noPanel graphActive={true} logActive={true} updatesActive={true}/>

I basically always want the logs to be on when I'm in my dev environment. This wouldn't normally be a big problem (you just click the button and be done with it), but my app is rendering inside of an iframe inside another application which makes a page refresh clear the active state of the mobx-react-devtools on every refresh.
I know that I could just build my own custom panel design and hook into the active state of each button, but that's a lot more work than I'm hoping to do to just turn one on/off statically.

This is the workaround I've written for now to have the logs and updates always enabled.
    if (window.env === 'development') {
      window.localStorage.setItem('mobx-react-devtool__updatesEnabled', 'YES')
      window.localStorage.setItem('mobx-react-devtool__logEnabled', 'YES')

      return <DevTools noPanel/>
    }

@jennifer-mann, you can now do it like this:
import { setLogEnabled, setUpdatesEnabled, setGraphEnabled } from 'mobx-react-devtools';

setLogEnabled(true);
setUpdatesEnabled(false);
setGraphEnabled(false);

Published as<EMAIL_ADDRESS>

Something like:

<DevTools noPanel graphEnabled={true} logEnabled={true} updatesEnabled={true}/>

I'm planning to get rid of necessity to include <DevTools noPanel /> and just render modals and highlighted components into document.body

thanks 👍

@andykog I don't see graphEnabled documented in README, what does it do?

@alexilyaev, enables the second button on the panel, kind of useless.


[WIP] Change Optimizer to build passes as late as possible.

Currently the Optimizer pass objects are created during the Optimizer
setup, before Run is executed. This means we don't have access to the
IRContext when creating the passes.
In order to pass the IRContext to the Pass constructors we need to
create the pass later in the pipeline. This CL changes the Optimizer to
create PassTokens instead of Pass objects. The PassTokens are stored in
the PassManager and the token creates the real Pass object when we're
running all of the passes.
This has the side effect that we now tear down the passes after they're
used, and we don't have to clear the pass list for the optimizer as it
can be re-run on a different binary without re-creating the state.
#1703

Ok, tests pass locally so I think this is good for review now.

A simplified version of this CL is in #1708 where the Pass::Run method stores the context instead of letting Pass::Process do it. The other change is a lot less invasive then this change.

Going with #1708


Perhaps we could export dob as date_of_birth

From README.md I read:
from ageutil import dob

My first thought was what does "dob" mean. Perhaps use a longer name such as date_of_birth:
I somebody like to use it a lot and would like to avoid typing it can be imported using
from ageutil import date_of_birth as dob

This makes the function more clear to the readers.

Thanks, changed in b55f2df020acee8d5de03e6934a824a5c05d521c


Geth SBAT store and use bls-zexe keys

Expected Behavior
Geth should use an infrastructure that supports bls-zexe keys, which have a different size and properties than the ECDSA keys used in Geth.
Current Behavior
Geth uses the crypto.Account infrastructure.

Pending review.

Merged!


The "IconKey" type is not exported

[x] I have searched for similar issues in both open and closed tickets and cannot find a duplicate.
[x] I have read the documentation and cannot find an answer.

Describe the bug
The IconKey type is declared in the library but not accessible outside as it's not exported. Can you please export this type to properly use the "iconComponentFor" prop please ?

You can open a PR for that.

@petyosi Can I also export either the "defaultSvgIcons" constant (from defaultSvgIcons.tsx) or the "defaultIconComponentFor" (from MDXEditor.tsx) ?

PR is open : #548


Update Scully data

Add typescript
Add the scully's website

Thanks for your patience here! Shipping this one 👍🏻

(love that Jamstack case update 🏆)


Better document --docstring-length option and add it to the readme

Coverage decreased (-0.4%) to 99.072% when pulling 494ec4dd5e2d87053fcaaa4ade2007e55e762037 on AntoineD:master into 99099d5dc4c94a4367612e3034814f3b6aa8b19a on myint:master.


Chapter on documentation and supplementary materials

This PR adds a chapter on best practices for documentation and supplementary materials for research in an industry-guise.

@lillythomas did you mean to add this page to the Table of contents TOC?

@lillythomas did you mean to add this page to the Table of contents TOC?

yep. will do.


cairo: Implement Send+Sync for ImageSurfaceData and `ImageSurface…

…DataOwned`
They're just byte slices.

We can just restart it. I did it already 10+ times in this release, so it's fine.


mwc-textfield needs slots for icon and iconTrailing

Are there any blockers before work can be started on this?

Waiting for this!

I'm waiting too! Great feature request

Waiting for this as well

Fixed in M3