T5 testnet stuck at 2272533

2023-06-30T12:35:49.526Z        WARN        blockQueue: failed adding block into the blockchain        {"error": "onPersist failed: VM has failed: at instruction 0 (SYSCALL): insufficient funds", "blockHeight": 2272533, "nextIndex": 2272534}

States can't be compared easily because of neo-project/neo#2848, but we need to check it:

either it's a separate thing that needs to be checked/fixed
or it's the same issue giving this side-effect, which would be much worse since it'd render 3.6 incompatible with T5 testnet

It can be checked by:

either breaking NeoGo 0.101.2 wrt the old bug, rerunning the chain and comparing states/behavior (probably faster)
or going through the whole state change dump process for both nodes

** Checking**
I've choose the first way to check:

Checkout onto 0.101.2 and manually revert a part of changes that was made in https://github.com/nspcc-dev/neo-go/pull/1729:

anna@kiwi:~/Documents/GitProjects/nspcc-dev/neo-go$ git diff
diff --git a/config/protocol.testnet.yml b/config/protocol.testnet.yml
index f267e7127..7e85bf8fd 100644
--- a/config/protocol.testnet.yml
+++ b/config/protocol.testnet.yml
@@ -52,7 +52,7 @@ ProtocolConfiguration:
     OracleContract: [0]

 ApplicationConfiguration:
-  SkipBlockVerification: false
+  SkipBlockVerification: true
   # LogPath could be set up in case you need stdout logs to some proper file.
   # LogPath: "./log/neogo.log"
   DBConfiguration:
diff --git a/pkg/core/native/management.go b/pkg/core/native/management.go
index c56159398..7119ab294 100644
--- a/pkg/core/native/management.go
+++ b/pkg/core/native/management.go
@@ -24,7 +24,6 @@ import (
        "github.com/nspcc-dev/neo-go/pkg/smartcontract/nef"
        "github.com/nspcc-dev/neo-go/pkg/util"
        "github.com/nspcc-dev/neo-go/pkg/util/bitfield"
-       "github.com/nspcc-dev/neo-go/pkg/vm"
        "github.com/nspcc-dev/neo-go/pkg/vm/stackitem"
 )

@@ -726,5 +725,6 @@ func checkScriptAndMethods(script []byte, methods []manifest.Method) error {
                }
                offsets.Set(methods[i].Offset)
        }
-       return vm.IsScriptCorrect(script, offsets)
+       // return vm.IsScriptCorrect(script, offsets)
+       return nil
 }

Build the node and run db restore command for T5 .acc file containing > 2272533 blocks.
Run the node after successful restore in a usual manner.

** Results**
The result is a full neo-go node sync and complete state match up to 2294980 (comparing to the first C# seed):
anna@kiwi:~/Documents/GitProjects/nspcc-dev/neo-go$ ./bin/neo-go node -t
2023-07-04T09:21:01.545+0300	INFO	MaxValidUntilBlockIncrement is not set or wrong, using default value	{"MaxValidUntilBlockIncrement": 5760}
2023-07-04T09:21:01.549+0300	INFO	restoring blockchain	{"version": "0.2.8"}
2023-07-04T09:21:01.657+0300	INFO	starting service	{"service": "Prometheus", "endpoint": ":2112"}
2023-07-04T09:21:01.657+0300	INFO	service hasn't started since it's disabled	{"service": "Pprof"}
2023-07-04T09:21:01.657+0300	INFO	ExtensiblePoolSize is not set or wrong, using default value	{"ExtensiblePoolSize": 20}
2023-07-04T09:21:01.658+0300	INFO	MaxWebSocketClients is not set or wrong, setting default value	{"MaxWebSocketClients": 64}
2023-07-04T09:21:01.658+0300	INFO	starting rpc-server	{"endpoint": ":20332"}
2023-07-04T09:21:01.658+0300	INFO	node started	{"blockHeight": 2294770, "headerHeight": 2294770}

    _   ____________        __________
   / | / / ____/ __ \      / ____/ __ \
  /  |/ / __/ / / / /_____/ / __/ / / /
 / /|  / /___/ /_/ /_____/ /_/ / /_/ /
/_/ |_/_____/\____/      \____/\____/

/NEO-GO:0.101.2/

2023-07-04T09:21:02.025+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:20333", "peerCount": 1}
2023-07-04T09:21:02.155+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:20333", "peerCount": 2}
2023-07-04T09:21:02.209+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:20333", "userAgent": "/Neo:3.5.0/", "startHeight": 2294967, "id":<PHONE_NUMBER>}
2023-07-04T09:21:02.413+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:20333", "userAgent": "/Neo:3.5.0/", "startHeight": 2294967, "id": 689124797}
2023-07-04T09:21:02.456+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:20333", "peerCount": 3}
2023-07-04T09:21:02.511+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:20333", "peerCount": 4}
2023-07-04T09:21:02.578+0300	INFO	bad notification	{"contract": "a9511be4afdcd8189ee206c53c18b22f4e88a5f9", "event": "AccrueInterest", "error": "event AccrueInterest does not exist"}
2023-07-04T09:21:02.644+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:20333", "userAgent": "/Neo:3.5.0/", "startHeight": 2294967, "id":<PHONE_NUMBER>}
2023-07-04T09:21:02.644+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:20333", "peerCount": 5}
2023-07-04T09:21:02.662+0300	INFO	persisted to disk	{"blocks": 44, "keys": 1229, "headerHeight": 2294814, "blockHeight": 2294814, "took": "4.471611ms"}
2023-07-04T09:21:02.701+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:20333", "userAgent": "/Neo:3.5.0/", "startHeight": 2294967, "id": 904766380}
2023-07-04T09:21:02.901+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:20333", "userAgent": "/Neo:3.5.0/", "startHeight": 2294967, "id":<PHONE_NUMBER>}
2023-07-04T09:21:03.666+0300	INFO	persisted to disk	{"blocks": 153, "keys": 4113, "headerHeight": 2294967, "blockHeight": 2294967, "took": "7.462139ms"}
2023-07-04T09:21:03.844+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:10333", "peerCount": 6}
2023-07-04T09:21:03.872+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:21333", "peerCount": 7}
2023-07-04T09:21:03.877+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:20333", "peerCount": 8}
2023-07-04T09:21:03.910+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:20333", "peerCount": 9}
2023-07-04T09:21:03.936+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:10333", "userAgent": "/Neo:3.5.0/", "startHeight": 2294967, "id": 522463586}
2023-07-04T09:21:03.941+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:20333", "peerCount": 10}
2023-07-04T09:21:03.976+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:20333", "userAgent": "/NEO-GO:0.101.2/", "startHeight": 2272533, "id":<PHONE_NUMBER>}
2023-07-04T09:21:04.005+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:20333", "peerCount": 11}
2023-07-04T09:21:04.044+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:20333", "userAgent": "/Neo:3.5.0/", "startHeight": 2294967, "id": 912968498}
2023-07-04T09:21:04.080+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:20333", "peerCount": 12}
2023-07-04T09:21:04.106+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:20333", "userAgent": "/Neo:3.5.0/", "startHeight": 2294967, "id": 623891900}
2023-07-04T09:21:04.134+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:20333", "peerCount": 13}
2023-07-04T09:21:04.148+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:21333", "peerCount": 14}
2023-07-04T09:21:04.200+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:20333", "userAgent": "/Neo:3.5.0/", "startHeight": 2294967, "id": 532327760}
2023-07-04T09:21:04.200+0300	INFO	node reached synchronized state, starting services
2023-07-04T09:21:04.200+0300	INFO	starting state validation service
2023-07-04T09:21:04.200+0300	INFO	RPC server already started
2023-07-04T09:21:04.211+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:20333", "userAgent": "/NEO-GO:0.101.1/", "startHeight": 2272533, "id":<PHONE_NUMBER>}
2023-07-04T09:21:04.211+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:20333", "peerCount": 15}
2023-07-04T09:21:04.236+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:30333", "peerCount": 16}
2023-07-04T09:21:04.286+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:21333", "userAgent": "/NEO-GO:0.101.2/", "startHeight": 2103129, "id":<PHONE_NUMBER>}
2023-07-04T09:21:04.291+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:20333", "peerCount": 17}
2023-07-04T09:21:04.317+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:20333", "userAgent": "/Neo:3.5.0/", "startHeight": 2294967, "id": 464086075}
2023-07-04T09:21:04.341+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:30333", "userAgent": "/NEO-GO:0.101.2/", "startHeight": 2272533, "id":<PHONE_NUMBER>}
2023-07-04T09:21:04.347+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:20333", "userAgent": "/Neo:3.5.0/", "startHeight": 2294967, "id":<PHONE_NUMBER>}
2023-07-04T09:21:04.462+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:20333", "peerCount": 18}
2023-07-04T09:21:04.487+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:20333", "userAgent": "/Neo:3.5.0/", "startHeight": 2294967, "id": 663500285}
2023-07-04T09:21:04.499+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:21333", "userAgent": "/NEO-GO:0.101.2/", "startHeight": 573146, "id":<PHONE_NUMBER>}
2023-07-04T09:21:04.585+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:20333", "peerCount": 19}
2023-07-04T09:21:04.706+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:20333", "userAgent": "/Neo:3.5.0/", "startHeight": 2294967, "id":<PHONE_NUMBER>}
2023-07-04T09:21:04.759+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:20333", "userAgent": "/Neo:3.5.0/", "startHeight": 2294967, "id":<PHONE_NUMBER>}
2023-07-04T09:21:09.665+0300	INFO	persisted to disk	{"blocks": 1, "keys": 22, "headerHeight": 2294968, "blockHeight": 2294968, "took": "2.662021ms"}
2023-07-04T09:21:16.669+0300	INFO	persisted to disk	{"blocks": 0, "keys": 2, "headerHeight": 2294968, "blockHeight": 2294968, "took": "3.50175ms"}
2023-07-04T09:21:19.294+0300	WARN	peer disconnected	{"addr": "<IP_ADDRESS>:20333", "error": "write tcp <IP_ADDRESS>:56540-><IP_ADDRESS>:20333: i/o timeout", "peerCount": 18}
2023-07-04T09:21:19.481+0300	WARN	peer disconnected	{"addr": "<IP_ADDRESS>:30333", "error": "write tcp <IP_ADDRESS>:34062-><IP_ADDRESS>:30333: i/o timeout", "peerCount": 17}
2023-07-04T09:21:24.673+0300	INFO	persisted to disk	{"blocks": 1, "keys": 23, "headerHeight": 2294969, "blockHeight": 2294969, "took": "2.323859ms"}
2023-07-04T09:21:25.917+0300	WARN	peer disconnected	{"addr": "<IP_ADDRESS>:20333", "error": "write tcp <IP_ADDRESS>:54630-><IP_ADDRESS>:20333: i/o timeout", "peerCount": 16}
2023-07-04T09:21:30.678+0300	INFO	persisted to disk	{"blocks": 0, "keys": 2, "headerHeight": 2294969, "blockHeight": 2294969, "took": "3.902557ms"}
2023-07-04T09:21:40.689+0300	INFO	persisted to disk	{"blocks": 1, "keys": 23, "headerHeight": 2294970, "blockHeight": 2294970, "took": "8.899799ms"}
2023-07-04T09:21:55.698+0300	INFO	persisted to disk	{"blocks": 1, "keys": 22, "headerHeight": 2294971, "blockHeight": 2294971, "took": "8.055265ms"}
2023-07-04T09:22:01.702+0300	INFO	persisted to disk	{"blocks": 0, "keys": 2, "headerHeight": 2294971, "blockHeight": 2294971, "took": "9.416198ms"}
2023-07-04T09:22:07.296+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:30333", "peerCount": 17}
2023-07-04T09:22:07.401+0300	WARN	peer disconnected	{"addr": "<IP_ADDRESS>:30333", "error": "unexpected empty payload: CMDVersion", "peerCount": 16}
2023-07-04T09:22:11.711+0300	INFO	persisted to disk	{"blocks": 1, "keys": 22, "headerHeight": 2294972, "blockHeight": 2294972, "took": "10.918216ms"}
2023-07-04T09:22:16.709+0300	INFO	persisted to disk	{"blocks": 0, "keys": 2, "headerHeight": 2294972, "blockHeight": 2294972, "took": "5.426897ms"}
2023-07-04T09:22:26.722+0300	INFO	persisted to disk	{"blocks": 1, "keys": 23, "headerHeight": 2294973, "blockHeight": 2294973, "took": "13.038203ms"}
2023-07-04T09:22:42.731+0300	INFO	persisted to disk	{"blocks": 1, "keys": 23, "headerHeight": 2294974, "blockHeight": 2294974, "took": "11.845518ms"}
2023-07-04T09:22:47.117+0300	WARN	peer disconnected	{"addr": "<IP_ADDRESS>:21333", "error": "unexpected empty payload: CMDVersion", "peerCount": 15}
2023-07-04T09:22:47.725+0300	INFO	persisted to disk	{"blocks": 0, "keys": 2, "headerHeight": 2294974, "blockHeight": 2294974, "took": "3.213295ms"}
2023-07-04T09:22:54.709+0300	WARN	peer disconnected	{"addr": "<IP_ADDRESS>:21333", "error": "write tcp <IP_ADDRESS>:47228-><IP_ADDRESS>:21333: i/o timeout", "peerCount": 14}
2023-07-04T09:22:59.731+0300	INFO	persisted to disk	{"blocks": 1, "keys": 22, "headerHeight": 2294975, "blockHeight": 2294975, "took": "2.658875ms"}
2023-07-04T09:23:03.735+0300	INFO	persisted to disk	{"blocks": 0, "keys": 2, "headerHeight": 2294975, "blockHeight": 2294975, "took": "4.371212ms"}
2023-07-04T09:23:15.749+0300	INFO	persisted to disk	{"blocks": 1, "keys": 24, "headerHeight": 2294976, "blockHeight": 2294976, "took": "9.765859ms"}
2023-07-04T09:23:22.746+0300	INFO	persisted to disk	{"blocks": 0, "keys": 2, "headerHeight": 2294976, "blockHeight": 2294976, "took": "1.890857ms"}

States comparison result (0.101.2 of NeoGo broken with the patch provided above VS 3.5.0 C# node):
anna@kiwi:~/Documents/GitProjects/nspcc-dev/neo-go$ go run scripts/compare-states/compare-states.go http://localhost:20332 http://seed1t5.neo.org:20332
at 0: 9c1361fbbe2a0ce31910f992cbdfb8afee6f178e5d1aabdd1c6f2af90440e239 vs 9c1361fbbe2a0ce31910f992cbdfb8afee6f178e5d1aabdd1c6f2af90440e239
at 2294980: a362e3a7f50340bce3b841d576258623a6eb8bad60c85ea06d340029b9d27ec8 vs a362e3a7f50340bce3b841d576258623a6eb8bad60c85ea06d340029b9d27ec8

** Solution **
We either need a hardfork for T5 that enables contract script checking code in 0.102.0 NeoGo / 3.6 NeoC# or we need a new testnet after 3.6 C# release. Otherwise current T5 will be broken and won't be able to accept new blocks after 2272533.
I'll create an issue in the C# core repo.

Described patch doesn't affect mainnet states up to 3712135:
Node logs after sync:
2023-07-04T14:08:02.459+0300	INFO	node reached synchronized state, starting services
2023-07-04T14:08:02.462+0300	INFO	starting state validation service
2023-07-04T14:08:02.464+0300	INFO	RPC server already started
2023-07-04T14:08:04.618+0300	INFO	persisted to disk	{"blocks": 776, "keys": 45618, "headerHeight": 3712053, "blockHeight": 3712052, "took": "2.131198646s"}
2023-07-04T14:08:04.666+0300	INFO	persisted to disk	{"blocks": 64, "keys": 2982, "headerHeight": 3712116, "blockHeight": 3712116, "took": "48.166474ms"}
2023-07-04T14:08:04.703+0300	WARN	peer disconnected	{"addr": "<IP_ADDRESS>:10333", "error": "handling CMDExtensible message: invalid height", "peerCount": 15}
2023-07-04T14:08:05.438+0300	WARN	peer disconnected	{"addr": "<IP_ADDRESS>:10333", "error": "handling CMDExtensible message: invalid height", "peerCount": 14}
2023-07-04T14:08:10.802+0300	WARN	peer disconnected	{"addr": "<IP_ADDRESS>:10333", "error": "handling CMDExtensible message: invalid height", "peerCount": 13}
2023-07-04T14:08:16.633+0300	INFO	persisted to disk	{"blocks": 1, "keys": 23, "headerHeight": 3712117, "blockHeight": 3712117, "took": "5.165253ms"}
2023-07-04T14:08:19.634+0300	INFO	persisted to disk	{"blocks": 0, "keys": 2, "headerHeight": 3712117, "blockHeight": 3712117, "took": "4.543207ms"}
2023-07-04T14:08:22.636+0300	INFO	persisted to disk	{"blocks": 0, "keys": 2, "headerHeight": 3712117, "blockHeight": 3712117, "took": "4.822424ms"}
2023-07-04T14:08:23.772+0300	WARN	peer disconnected	{"addr": "<IP_ADDRESS>:10333", "error": "handling CMDExtensible message: invalid height", "peerCount": 12}
2023-07-04T14:08:24.036+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:10333", "peerCount": 13}
2023-07-04T14:08:24.140+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:10333", "userAgent": "/NEO-GO:0.101.2/", "startHeight": 3712117, "id":<PHONE_NUMBER>}
2023-07-04T14:08:24.259+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:10333", "peerCount": 14}
2023-07-04T14:08:24.359+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:10333", "peerCount": 15}
2023-07-04T14:08:24.438+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:10333", "userAgent": "/Neo:3.5.0/", "startHeight": 3712117, "id": 253924906}
2023-07-04T14:08:24.605+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:10333", "userAgent": "/Neo:3.5.0/", "startHeight": 3712117, "id": 314305915}
2023-07-04T14:08:32.642+0300	INFO	persisted to disk	{"blocks": 1, "keys": 24, "headerHeight": 3712118, "blockHeight": 3712118, "took": "4.770193ms"}
2023-07-04T14:08:36.812+0300	INFO	new peer connected	{"addr": "<IP_ADDRESS>:10333", "peerCount": 16}
2023-07-04T14:08:37.002+0300	INFO	started protocol	{"addr": "<IP_ADDRESS>:10333", "userAgent": "/Neo:3.5.0/", "startHeight": 3712118, "id":<PHONE_NUMBER>}
2023-07-04T14:08:48.654+0300	INFO	persisted to disk	{"blocks": 1, "keys": 51, "headerHeight": 3712119, "blockHeight": 3712119, "took": "8.493386ms"}
2023-07-04T14:08:50.651+0300	INFO	persisted to disk	{"blocks": 0, "keys": 2, "headerHeight": 3712119, "blockHeight": 3712119, "took": "4.427514ms"}
2023-07-04T14:08:52.660+0300	INFO	persisted to disk	{"blocks": 0, "keys": 2, "headerHeight": 3712119, "blockHeight": 3712119, "took": "13.462947ms"}
2023-07-04T14:09:04.667+0300	INFO	persisted to disk	{"blocks": 1, "keys": 22, "headerHeight": 3712120, "blockHeight": 3712120, "took": "13.604678ms"}
2023-07-04T14:09:09.659+0300	INFO	persisted to disk	{"blocks": 0, "keys": 2, "headerHeight": 3712120, "blockHeight": 3712120, "took": "3.578605ms"}
2023-07-04T14:09:22.680+0300	INFO	persisted to disk	{"blocks": 1, "keys": 22, "headerHeight": 3712121, "blockHeight": 3712121, "took": "18.085614ms"}
2023-07-04T14:09:27.667+0300	INFO	persisted to disk	{"blocks": 0, "keys": 2, "headerHeight": 3712121, "blockHeight": 3712121, "took": "1.927644ms"}
2023-07-04T14:09:37.675+0300	INFO	persisted to disk	{"blocks": 1, "keys": 23, "headerHeight": 3712122, "blockHeight": 3712122, "took": "3.438451ms"}
2023-07-04T14:09:41.676+0300	INFO	persisted to disk	{"blocks": 0, "keys": 2, "headerHeight": 3712122, "blockHeight": 3712122, "took": "3.150349ms"}
2023-07-04T14:09:53.691+0300	INFO	persisted to disk	{"blocks": 1, "keys": 22, "headerHeight": 3712123, "blockHeight": 3712123, "took": "9.703676ms"}
2023-07-04T14:10:13.697+0300	INFO	persisted to disk	{"blocks": 0, "keys": 2, "headerHeight": 3712123, "blockHeight": 3712123, "took": "3.848001ms"}
2023-07-04T14:10:21.702+0300	INFO	persisted to disk	{"blocks": 1, "keys": 22, "headerHeight": 3712124, "blockHeight": 3712124, "took": "3.674443ms"}
2023-07-04T14:10:24.716+0300	INFO	persisted to disk	{"blocks": 0, "keys": 2, "headerHeight": 3712124, "blockHeight": 3712124, "took": "17.545143ms"}
2023-07-04T14:10:38.712+0300	INFO	persisted to disk	{"blocks": 1, "keys": 23, "headerHeight": 3712125, "blockHeight": 3712125, "took": "4.299136ms"}
2023-07-04T14:10:58.725+0300	INFO	persisted to disk	{"blocks": 0, "keys": 2, "headerHeight": 3712125, "blockHeight": 3712125, "took": "7.941235ms"}
2023-07-04T14:11:06.724+0300	INFO	persisted to disk	{"blocks": 0, "keys": 2, "headerHeight": 3712126, "blockHeight": 3712125, "took": "2.156242ms"}
2023-07-04T14:11:07.737+0300	INFO	persisted to disk	{"blocks": 1, "keys": 160, "headerHeight": 3712126, "blockHeight": 3712126, "took": "14.313589ms"}

States diff check against C# seed 1:
anna@kiwi:~/Documents/GitProjects/nspcc-dev/neo-go$ go run scripts/compare-states/compare-states.go http://localhost:10332 http://seed1.neo.org:10332
at 0: bb2bd2dfee742024b966cdf757c6235044cb9e0ce43497ad0eb27c49b8bdf4fe vs bb2bd2dfee742024b966cdf757c6235044cb9e0ce43497ad0eb27c49b8bdf4fe
at 3712135: 5cbab6a7f89af3e8c146efa491db04bd29674e0041f49bef5d973c7417869a4c vs 5cbab6a7f89af3e8c146efa491db04bd29674e0041f49bef5d973c7417869a4c


Rails 5 Support

With Rails 5 around the corner, I've removed deprecated functions, and made use of new functionality like Module#prepend.
EDIT
Oh well, it seems I overlooked some other PR's. (namely #267 #248)

This can be used by adding following line to your gemfile;
gem "bootstrap_form", github: "fetch/rails-bootstrap-forms", branch: "rails-5"

@koenpunt Since #267 has been merged, can we close this PR? If there is more needed to support Rails 5, let me know and I'll do my best to review and merge it in. Thanks!

No, your branch was sufficient, thanks!

Although, if the test/dummy application gets updated to rails 5, my updated specs could come in handy

if the test/dummy application gets updated to rails 5, my updated specs could come in handy

@koenpunt OK, can you make a note of that in issue #273? Thanks!

Turns out I was too quick with saying all was fine, because I didn't update my Gemfile yet, and it was still using a GitHub source.
When I use the bundled gem again, my tests produce a lot of errors, although I'm not sure what's causing them exactly, so will have to investigate.


Broadcast bodies with rgbd

Is it possible to broadcast body-index rgbd?
Basically, just broadcast people with rgbd, and eliminate background.

Not yet. It's something I'd really like to get working, but I don't know when I will begin working on it.

I take pull requests :D


NTR: Galactosaminogalactan biosynthetic process

Accession: GO:xxxxxx
Name: galactosaminogalactan biosynthetic process
Ontology: biological_process
Synonyms: galactosaminogalactan anabolism, galactosaminogalactan biosynthesis, galactosaminogalactan formation, galactosaminogalactan synthesis, GAG biosynthetic process
Definition: The chemical reactions and pathways resulting in the formation of the exopolysaccharide galactosaminogalactan. GAG is a heteropolysaccharide composed of α-1,4 linked galactose, N-acetyl galactosamine (GalNAc) and galactosamine (GalN).
is_a: GO:0051278 ! fungal-type cell wall polysaccharide biosynthetic process
Source: CHEBI:143889, PMID:173713, PMID:22102815, PMID:24257745, PMID:26492565, PMID:26932183, PMID:27048799, PMID:30667338

Will need to rebuild the ChEBI import.

Didn't realize this was still hanging; sorry about that.
GO:0106218


[beta-1.74.0] Partial-version spec support

Beta backports:

#12806

In order to make CI pass, the following PRs are also cherry-picked:

@bors r+
Thanks

:pushpin: Commit 162a73f005e9e9ccea7ea1b3c04538d3f4eac253 has been approved by weihanglo
It is now in the queue for this repository.

:hourglass: Testing commit 162a73f005e9e9ccea7ea1b3c04538d3f4eac253 with merge e84bb5d9195f744cbd5e2f377a3098566adab939...

@bors r+

:hourglass: Testing commit 01a543efdd4d90e0a70064b3fe32e563a5aac6f3 with merge ecb9851afd3095e988daaa35a48bc7f3cb748e04...

:sunny: Test successful - checks-actions
Approved by: weihanglo
Pushing ecb9851afd3095e988daaa35a48bc7f3cb748e04 to rust-1.74.0...


Added my pet info

I've added my pet info.

Do I have to make another pull request after making changes in my repo.
Can you guide me through this.?

Yeah, done

@SoundaryaKoutharapu could you please fetch the latest version of the repository from the main branch, add your pet, and submit the changes in a new pull request, as this pull request has conflicts with the main branch?


Create a Learn section of the site

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/618
Originally created by @bencodezen on 2019-04-26 19:56:57

Problem to solve
The docs is getting too large and targets too many personas.
Target audience
All users of Meltano
Proposal
Introduce a more user-friendly guide to Meltano that's not for programmers and refactor the current docs section
What does success look like, and how can we measure that?
There will be a new section on the docs for most users to use

View 6 previous comments from the original issue on GitLab


[HDDS-4662] Fix typo in S3.md

What changes were proposed in this pull request?
fix the typos in the S3.md
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-4662
How was this patch tested?
only update the content of docs

Thanks @tony810430 for the work and @cku328 for the review.
I'm +1 for this PR.
On the other hand,  I find that we don't have the same block in S3.zh.md,
Could you be so kind as to check it ? thanks.

Thanks @tony810430 for the work and @cku328 for the review.
I'm +1 for this PR.
On the other hand,  I find that we don't have the same block in S3.zh.md,
Could you be so kind as to check it ? thanks.

Thanks @cxorm for the review.
Missing block I have created HDDS-4663 to track.

Thanks @cxorm for the review.
Missing block I have created HDDS-4663 to track.


Proposal: Description of the data

In your proposal, briefly describe the dataset and the variables that you will visualize:
Include how many rows and columns there are in the dataset (that you plan to use).
There should be a clear link to how the dataset and the variables you describe will help you solve your target audience's problem.
Indicate at least one new variable that you are planning to derive/engineer for your visualizations.
If there are no new variables to derive, indicate what additional information you would have liked to have in the dataset to better be able to answer your research questions (even if it is impossible for you to engineer it).
If you are planning to visualize a lot of columns, provide a high level description of the variable types rather than listing every single column.
For example, indicate that the dataset contains a variety of categorical variables for demographics and provide a brief list rather than describing every single variable.
You may also want to consider visualizing a smaller set of variables given the short duration of this project.

I've linked this issue to the branch proposal-writeup.


Add README note about URDF base

not sure why there are so many commits, will try to fix it

not sure why there are so many commits, will try to fix it

Not a problem! They will be squashed automatically when the PR is merged. The PR LGTM! Thanks for doing it. Shall I merge?


Charged laptop notification

Hello!
I really like this program, but I do would want one feature to existing:
To have a notification popup when the battery is full. I think most of us know that overcharging ur laptop is a problem.
I think that having this feature won't break the previous version for the most part because it can just be an optional flag. But it would change the -m flag because 2 different messages need to included.
Thank you!

Hello!
I really like this program, but I do would want one feature to existing:
To have a notification popup when the battery is full. I think most of us know that overcharging ur laptop is a problem.
I think that having this feature won't break the previous version for the most part because it can just be an optional flag. But it would change the -m flag because 2 different messages need to included.

Hello!
I solved this problem for myself here: fork.

Hello!
I really like this program, but I do would want one feature to existing:
To have a notification popup when the battery is full. I think most of us know that overcharging ur laptop is a problem.
I think that having this feature won't break the previous version for the most part because it can just be an optional flag. But it would change the -m flag because 2 different messages need to included.

Hello!
I solved this problem for myself here: fork.

Oh nice @bra0 !
Closing this issue.

Oh nice @bra0 !
Closing this issue.


Feat/search

Added Search function to the crypto list
Resolves #30

Resolving conflicts in my local device. Will update again.


Update breath detection algorithm.

Commits in this PR

Update breath detection algorithm.
Instead of using instantaneous flows, use averages of flows.
See details in code.
Video in action: https://photos.app.goo.gl/p2WN3dGDYaB6h1TE6

PR chain

👉 #548 Update breath detection algorithm. 👈 YOU ARE HERE
#527 Open exhale pinch valve to 0.3 during PIP.
#528 Add fan pressure readings at various power levels.
#531 DRAFT - Use different fan speed depending on PIP.

cc @inceptionev @sglow

Thank you for the review, and sorry this was a bit of a mess.


Fix broken diagram rendering due to function body refactor

Codecov Report

Merging #21404 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #21404   +/-   ##
=======================================
  Coverage   14.64%   14.64%
=======================================
  Files          51       51
  Lines        1400     1400
  Branches      214      214
=======================================
  Hits          205      205
  Misses       1179     1179
  Partials       16       16

Continue to review full report at Codecov.

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


[Event Request] Codeunit 7181 "Purchases Info-Pane Management" - OnBeforeGetItemOnPurchasesInfoPaneManagement

Describe the request
I would like to handle the GetItem result if the Puchase Line Type is Ressource. Therefore, I request the following event:
local procedure GetItem(var PurchLine: Record "Purchase Line"): Boolean
//NEW BEGIN
var
	IsHandled: Boolean;
	Result: Boolean;
begin
	IsHandled := false;
	OnBeforeGetItemOnPurchasesInfoPaneManagement(PurchaseLine, Result, IsHandled);
	if IsHandled then
		exit(Result);
//NEW END
	if (PurchLine.Type <> PurchLine.Type::Item) or (PurchLine."No." = '') then
		exit(false);

	if PurchLine."No." <> Item."No." then
		Item.Get(PurchLine."No.");
	exit(true);
end;

[IntegrationEvent(false, false)]
local procedure OnBeforeGetItemOnPurchasesInfoPaneManagement(var PurchaseLine: Record "Purchase Line"; var Result: Boolean; var IsHandled: Boolean)
begin
end;

Additional context
If the Purchase Line Type equals Ressource i want the GetItem procedure to exit true.
Internal work item: AB#544598

Hello @1languste
I assume that you want to calc availability for resource lines and using OnBeforeCalcAvailability event as well, but maybe it would better for you to have OnCalcAvailabilityOnCantGetItem(PurchLine, Result) event in procedure CalcAvailability?

Hello @AleksandricMarko
we dont use the OnBeforeCalcAvailability and we are fine with the default code being executed.
Your suggestion would work as well but in that case we would have to copy the default code.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 24752.


Test for duplicates

Add a test that passes only when all the entries in the translations object are unique.

it's going to changes all your translations object construction

Is this issue done? If not I'll take it up. We should ideally have the test run on the translations object and the quotes object and fail if it sees a duplicate. Could i take this up?

Hey @dopecodez !
Have you found time to work on this?
I am looking into it as well, but please let me know if you've already started work on it, or if you need a helping hand!

Hey @ulises-lara , Actually I didn't take this up as the thread seemed inactive. You are welcome to try submitting a PR provided that this still isn't solved. @swapagarwal

Is this issue still avaiable? @swapagarwal

Hey @swapagarwal  I'll love to take up this issue if it's still available

Is this still open?  The site doesn't seem to be deployed currently?

Hi! I think I solved this issue for the current code by parsing the library code (see my pull request).


Add support for PHP 8.4.*

Require: https://github.com/vimeo/psalm/pull/10928

@mkoprek Thanks for your help with this PR. Really appreciate your help on it.
Given this project only contains attributes, I wonder if having both PHPStan and Psalm is overkill?
Options I see:

Remove Psalm from CI, and get this merged. We can create a separate PR with Psalm enabled and merge that once the Psalm PR is sorted.
Wait until PHP 8.4 is released.

The benefit of the first option is the phpstan rules for this can be upgraded for 8.4.
Have you any thoughts on the above, or a better suggestion?

Hey,
From mine personal perspective I think using both tools is an overkill.
We are using in all projects phpstan and it is doing it job very well.
I would choose option one, I will push code with changes for it.
Thanks for fast response :)


Create thisCheck.cpp

Added comments for better understanding of statements

kindly add label to the contribution as it is a participation in hacktoberfest


Introduce Algolia DocSearch

Would be much better with search.
https://docusaurus.io/docs/search#connecting-algolia

Actually I've tried it in the past, but it did not work for some reason for me.
Not sure why, probably will give it another try soon.


menetrendek.hu: breakage

The filter removes not just the ads but the whole footer too.
Related issue: https://github.com/uBlockOrigin/uAssets/issues/17604

Without filter:

With filter:

It seems that our filter removes the articles section. This makes sense to me, since koalas aren't related to bus / train schedules, although the rule written for the recommender should be moved to the annoyances section from the ads section.

Show screenshot (articles)

However, the structure of the page is wrong, so if we hide the articles, the content of the footer is moved up, which may make it look like it has disappeared, but it hasn't, only its position changes:

Show screenshot (wrong footer)

Due to similar structural problems, I also have breakage with uBlock and AdGuard with default settings (without hufilter), because the footer is placed behind the table.


Where are these constants used?

https://github.com/Rhymen/go-whatsapp/blob/1c2b0859f6f337bee23498afba3b37140fccb803/conn.go#L19-L59

The function func (wac *Conn) writeBinary(node binary.Node, metric metric, flag flag, tag string) (<-chan string, error) in conn.go expects a metric. I'm not sure what every metric does, but they need to be put into the binary messages like so [messageTag],[metric][flag][binaryMessage]. The function writeBinary is called by a couple of functions in the contacts.go and by the sendProto function in message.go .

I'll check this soon and reopen if it needs to. Thank you!


[feature] about and help pages

This add the base for /help and /about pages.

Depend on https://github.com/epfl-si/startpage/pull/26 to place the CSS in the right place.

Could you please include the latest searches you've added (#29) in the help page?

Done.


Can't connect to HTTPS URL because the SSL module is not available

[Enter feedback here]
To whom it may concern,
I get the following error:
azure.core.exceptions.ServiceRequestError: Can't connect to HTTPS URL because the SSL module is not available.
when I run the following code:
service_client = DataLakeServiceClient(account_url="{}://{}.dfs.core.windows.net".format(
"https",
account_name
), credential=account_key)

fs_name = "container-created-with-python"
filesystem_client = service_client.create_file_system(file_system=fs_name)

to create a file system. Here are my complete code snippet:
from azure.storage.filedatalake import DataLakeServiceClient

account_name = "<my account>"
account_key = "<my key>"

service_client = DataLakeServiceClient(account_url="{}://{}.dfs.core.windows.net".format(
"https",
account_name
), credential=account_key)

fs_name = "container-created-with-python"
filesystem_client = service_client.create_file_system(file_system=fs_name)

What  is causing this error? Is there an additional package I need to handle this? I  am executing the code on Windows 10 inside a conda environment based on Python 3.8.

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

ID: 7cbde321-a073-514b-3603-5b0ed15a8c20
Version Independent ID: 6eb549df-b9a1-5005-8fe1-19057a456c25
Content: DataLakeServiceClient.CreateFileSystem(String, PublicAccessType, IDictionary<String,String>, CancellationToken) Method (Azure.Storage.Files.DataLake) - Azure for .NET Developers
Content Source: xml/Azure.Storage.Files.DataLake/DataLakeServiceClient.xml
Service: azure
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

@DieselAnalytics ,
Thanks for reaching out to us.
I dont think it is a problem with the SDK. It is more related to dev/local environment settings.
Please look into this SO article which has more info about this error : https://stackoverflow.com/questions/54135206/requests-caused-by-sslerrorcant-connect-to-https-url-because-the-ssl-module

@DieselAnalytics , Just wanted to check if you had the chance to look into my previous comment. Please let me know if it was helpful or not

@DieselAnalytics , Following up to check if you need further help from us


Update movie_poster.py

I have replaced the hardcoded extension with extension from string itself

I have tried using the updated movie_poster.py -

FileNotFoundError                         Traceback (most recent call last)
 in ()
46                 filename = 'img/' + movie_id + extension
47                 with urllib.request.urlopen(image_url) as response:
---> 48                     with open(filename, 'wb') as out_image:
49                         out_image.write(response.read())
50                     with open('movie_poster.csv', 'a', newline='') as out_csv:
FileNotFoundError: [Errno 2] No such file or directory: 'img/1.jpg'
Any Suggestions?


Error Python 3.10

Hi, i used tle2czml in Python 3.10 and Python 3.6. In Python 3.6 tle2czml works corrects, but when i use tle3czml in Python 3.10, i have next:
Traceback (most recent call last):
File "C:\Users\User\Desktop\tletoczml\tleczml.py", line 1, in
import tle2czml
File "C:\Users\User\AppData\Roaming\Python\Python310\site-packages\tle2czml_init_.py", line 3, in
from .czml import (CZML, Billboard, CZMLPacket, Description, Label, Path,
File "C:\Users\Use\AppData\Roaming\Python\Python310\site-packages\tle2czml\czml.py", line 38, in
from pygeoif.geometry import as_shape as asShape
ImportError: cannot import name 'as_shape' from 'pygeoif.geometry' (C:\Users\User\AppData\Roaming\Python\Python310\site-packages\pygeoif\geometry.py)
How to fix this error?

https://blog.csdn.net/qq_15028721/article/details/130593533

try:
from pygeoif.geometry import as_shape as asShape
except:
from pygeoif.factories import shape as asShape

pip install pygeoif==0.7 -i https://pypi.tuna.tsinghua.edu.cn/simple


Error during integration testing: ActionView::Template::Error: Error: Data context created with empty source string

My project is using ember-cli-rails to integrate the ember-cli assets into the asset pipeline, and I get this trace:
ActionView::Template::Error: Error: Data context created with empty source string

gems/sassc-1.8.1/lib/sassc/engine.rb:41:in `render'
gems/sassc-rails-1.1.0/lib/sassc/rails/compressor.rb:16:in `call'
gems/sprockets-3.5.2/lib/sprockets/sass_compressor.rb:28:in `call'
gems/sprockets-3.5.2/lib/sprockets/processor_utils.rb:75:in `call_processor'
gems/sprockets-3.5.2/lib/sprockets/processor_utils.rb:57:in `block in call_processors'
gems/sprockets-3.5.2/lib/sprockets/processor_utils.rb:56:in `reverse_each'
gems/sprockets-3.5.2/lib/sprockets/processor_utils.rb:56:in `call_processors'
gems/sprockets-3.5.2/lib/sprockets/loader.rb:134:in `load_from_unloaded'
gems/sprockets-3.5.2/lib/sprockets/loader.rb:60:in `block in load'
gems/sprockets-3.5.2/lib/sprockets/loader.rb:318:in `fetch_asset_from_dependency_cache'
gems/sprockets-3.5.2/lib/sprockets/loader.rb:44:in `load'
gems/sprockets-3.5.2/lib/sprockets/cached_environment.rb:20:in `block in initialize'
gems/sprockets-3.5.2/lib/sprockets/cached_environment.rb:47:in `yield'
gems/sprockets-3.5.2/lib/sprockets/cached_environment.rb:47:in `load'
gems/sprockets-3.5.2/lib/sprockets/base.rb:66:in `find_asset'
gems/sprockets-3.5.2/lib/sprockets/base.rb:92:in `[]'
gems/sprockets-rails-2.3.3/lib/sprockets/rails/helper.rb:123:in `asset_digest_path'
gems/sprockets-rails-2.3.3/lib/sprockets/rails/helper.rb:76:in `compute_asset_path'
gems/actionview-4.2.4/lib/action_view/helpers/asset_url_helper.rb:135:in `asset_path'
gems/sprockets-rails-2.3.3/lib/sprockets/rails/helper.rb:91:in `asset_path'
gems/actionview-4.2.4/lib/action_view/helpers/asset_url_helper.rb:267:in `stylesheet_path'
gems/actionview-4.2.4/lib/action_view/helpers/asset_tag_helper.rb:100:in `block in stylesheet_link_tag'
gems/actionview-4.2.4/lib/action_view/helpers/asset_tag_helper.rb:96:in `map'
gems/actionview-4.2.4/lib/action_view/helpers/asset_tag_helper.rb:96:in `stylesheet_link_tag'
gems/sprockets-rails-2.3.3/lib/sprockets/rails/helper.rb:170:in `stylesheet_link_tag'
gems/ember-cli-rails-0.5.8/app/helpers/ember_rails_helper.rb:27:in `include_ember_stylesheet_tags'

Any hints as to how I can hopefully resolve this?

It seems like maybe the filename/source is blank.
can you try this?
rails c
...
puts EmberCli::Assets.new(EmberCli["ember-app-name"]).stylesheet_assets

reference:
https://github.com/thoughtbot/ember-cli-rails/blob/2b26309c075e90c6e567df85bdde8d10f135dfd9/app/helpers/ember_rails_helper.rb#L25-L33

I just tried to deploy to Heroku and got the same error. I'm not using ember or ember-cli-rails in this project, so maybe it's not related to that.
What's maybe helpful for resolving this: This only happens when the rails env is production, not in development.
My stacktrace:
SassC::SyntaxError: Error: Data context created with empty source string
gems/sassc-1.8.2/lib/sassc/engine.rb:41:in `render'
gems/sassc-rails-1.1.0/lib/sassc/rails/compressor.rb:16:in `call'
gems/sprockets-3.5.2/lib/sprockets/sass_compressor.rb:28:in `call'
gems/sprockets-3.5.2/lib/sprockets/processor_utils.rb:75:in `call_processor'
gems/sprockets-3.5.2/lib/sprockets/processor_utils.rb:57:in `block in call_processors'
gems/sprockets-3.5.2/lib/sprockets/processor_utils.rb:56:in `reverse_each'
gems/sprockets-3.5.2/lib/sprockets/processor_utils.rb:56:in `call_processors'
gems/sprockets-3.5.2/lib/sprockets/loader.rb:134:in `load_from_unloaded'
gems/sprockets-3.5.2/lib/sprockets/loader.rb:60:in `block in load'
gems/sprockets-3.5.2/lib/sprockets/loader.rb:318:in `fetch_asset_from_dependency_cache'
gems/sprockets-3.5.2/lib/sprockets/loader.rb:44:in `load'
gems/sprockets-3.5.2/lib/sprockets/cached_environment.rb:20:in `block in initialize'
gems/sprockets-3.5.2/lib/sprockets/cached_environment.rb:47:in `yield'
gems/sprockets-3.5.2/lib/sprockets/cached_environment.rb:47:in `load'
gems/sprockets-3.5.2/lib/sprockets/base.rb:66:in `find_asset'
gems/sprockets-3.5.2/lib/sprockets/base.rb:73:in `find_all_linked_assets'
gems/sprockets-3.5.2/lib/sprockets/manifest.rb:134:in `block in find'
gems/sprockets-3.5.2/lib/sprockets/manifest.rb:133:in `each'
gems/sprockets-3.5.2/lib/sprockets/manifest.rb:133:in `find'
gems/sprockets-3.5.2/lib/sprockets/manifest.rb:168:in `compile'
gems/sprockets-rails-2.3.3/lib/sprockets/rails/task.rb:70:in `block (3 levels) in define'
gems/sprockets-3.5.2/lib/rake/sprocketstask.rb:147:in `with_logger'
gems/sprockets-rails-2.3.3/lib/sprockets/rails/task.rb:69:in `block (2 levels) in define'

Thanks for the stack trace, but I need some additional information to debug this...
Is it possible for you to set your local ENV to production and run rake assets:precompile and try to narrow down which CSS file is causing the problem?

Ok, I investigated a little more and I found the problem. Now I see you already hinted at it above: One of the CSS-files had no content. Ruby-Sass just swallows it and returns an empty string, but SassC throws an error:
>> Sass::Engine.new('', style: :compressed).render # => ""
>> SassC::Engine.new('', style: :compressed).render # raises SassC::SyntaxError

So I think sassc-rails should guard against this behavior by checking for input.empty? in  Sprockets::SassCompressor. I can put together a pull request if you like.

Interesting.  I would like to try to solve this in https://github.com/sass/sassc-ruby.  If you'd like to open a pull request there, that would be great!

Sure, I'll have a look after the holidays.

Is this not just a matter of an early return in Engine.render or am I overlooking something? (and of course a test or two)
def render
+  return "" if @template.empty?
   data_context = Native.make_data_context(@template)

If you don't mind @fschwahn I can cook up a quick PR

There's a PR here https://github.com/sass/sassc-ruby/pull/31  which I just need to review and merge.

Cool!

If you're experiencing this issue, please try SassC-Ruby 1.8.3 (released last night).


SSL/TLS support

Any plans for SSL streams? Thanks.

Yes, this will be part of Helios 2.0 - work will begin on that once Akka.Cluster ships.


Get kernel API to send cell for execution

We want to see if it's feasible to send a cell for execution to the kernel and get the output.
https://jupyter-server.readthedocs.io/en/latest/developers/rest-api.html

Used the kernel from the frontend


Refactor TestEnvVar

Improve TestEnvVar to handle consistent cleaning and stashing of existing environment variables.

/azp run net - identity - ci


Upgr to hawkular-parent 42, Accounts 2.0.26.Final, Commons 0.6.1.Final  Swagger

@objectiser could you please review and eventually merge?

Thanks Peter.


remove description and http base from spin new experience with http templates

I never update the description and http base and path options. I know I can use the accept-defaults flag but I'm wondering if we've given thought to getting rid of those prompts altogether and letting the user edit these in the spin.toml as the default experience?

Hey @michelleN thought about that also couple of times in the context of description.
However, I think setting the path is a quite common thing.
Although, being able to set the base is quite handy, I think in the case of base its more likely that users want to change or actually provide a base other than / when they're done with implementing their HTTP app and want to integrate the API with other parts of a bigger system (e.g. frontend).

I believe base is already removed (or intended to be?) in 2.0 cc @itowlson @lann

We didn't get around to removing base entirely; I just made it optional.

It's been removed from the spin new experience though

Currently, path and description are the only fields prompted for and I think that's a good experience for now. I'd like to consider switching --accepts-defaults out for the default experience and making the current prompt experience optional for a future major version release. Do we feel we can close this issue for now or are there objections?

Your approach sounds good to me.
One thing that occurred to me - as a post-2.0, non-breaking change - is to have an environment variable for --accept-defaults so that folks who find the prompt experience frustrating could set it in their profile and never see description and path ever again.  But we can discuss that later!

That's a great idea!


downgrade required ruby version to 2.6.6 for smart alerts

Hi Greg,
Ruby 2.6 is past its end of life and is now unsupported, meaning it has not received bug fixes or critical security updates since April 12, 2022.
Specifically, Ruby 2.6.6 has known security bugs that were patched in 2.6.7, 2.6.8, 2.6.9, and 2.6.10:

CVE-2020-25613: Potential HTTP Request Smuggling Vulnerability in WEBrick
CVE-2021-28965: XML round-trip vulnerability in REXML
CVE-2021-31810: Trusting FTP PASV responses vulnerability in Net::FTP
CVE-2021-32066: A StartTLS stripping vulnerability in Net::IMAP
CVE-2021-31799: A command injection vulnerability in RDoc
CVE-2021-41817: Regular Expression Denial of Service Vulnerability of Date Parsing Methods
CVE-2021-41819: Cookie Prefix Spoofing in CGI::Cookie.parse
CVE-2022-28739: Buffer overrun in String-to-Float conversion

Running Ruby 2.6.6 in production means you are unnecessarily exposing yourself (and your customers) to these vulnerabilities and others that have been discovered since Ruby 2.6 fell out of maintenance.
I strongly advise that you upgrade to Ruby 3 immediately—ideally version 3.2 or 3.1, since 3.0 will stop receiving critical security updates on March 31, 2024—instead of modifying this gem to work with Ruby 2.6.6.

I noticed you are a Staff Software Engineer at ParentSquare. I actually use ParentSquare on a daily basis to send and receive private communications to and from my children’s preschool. I would be very disappointed to learn that ParentSquare is running a known vulnerable Ruby version in production, given the sensitive data stored and transmitted by your company.
I would also kindly request that that if ParentSquare is using this gem, they consider sponsoring my work on it. For as little as $1/month, the ParentSquare logo could appear here and I would prioritize your bug reports and feature requests.


Moving Units within Groups using Shell Script

Hello,
I am looking at a simple case of being able to move units between groups (in the case that a job is applied to a group and after the application, i want the unit to be moved to another group).
Is there anyway to achieve this?
Regards

Look at docs (page 25) https://github.com/freeacs/freeacs/blob/master/web/docs/Fusion Web User Manual.pdf
You can create parameter in unit type, then you be able to set value of parameter, which you created, by running script in job
setparam System.X_FREEACS.GroupName VALUE


Report Extension with InDataSet-Variable from extended Report as Visible/Enabled

In 20.4. I have to dependend Extensions. Extension B has Extension A as dependency. Extension A has a Report Extension of the BaseApp (bug is also reproducable with a standalone report of Extension A) with a Checkbox on RequestPage. The Checkbox-Variable ist protected (to use it in Extension B) and also has the InDataSet-Property set. In Extension B I also have also a Report Extension for the report extension auf Report A to use the checkbox-Variable to control the enabled-property of an additional field on request page.
For the Compiler everything is okay, but when I try to start the report I get the following error "The identifier XYZ could not be found" (check the picture).
There are .zips attached which contains 2 .al- Files Please put one into 1 workspace, publish the app and put the second file into another workspace and build a dependency from Extension B to Extension A (Unfortunally the file limit prevent from update the whole worksprace).
The picture are the erorr message. Please publish boths Apps to your Environment and open Req. Worksheet and there start the Carry Out Action. Than the error occurs.
See also on Yammer: https://www.yammer.com/dynamicsnavdev/#/threads/show?threadId=2157899806728192

SAM1CarryOutActionMsgReq.ReportExt.zip
SAM2CarryOutActionMsgReq.ReportExt.zip

Does this reproduce in BC22? We've had quite a few bugfixes in this area.

Doesn't tested it in BC22, only in BC21.4

Can you try to see if this repros in BC22?

This issue has been closed because it needs more information and has not had recent activity. Please open a new issue if you believe this has not been resolved and reference the current issue.

Could you please reopen the issue (or should I create a new one)? The problem still existing...

I'll take a second look at this.

Hi @SKeiler,
I just tried to reproduce issue but without luck.
With the latest version of Business Central, and your two objects I first saw that for the SAM2 file it gave me an error in Visual Studio Code, for the line Enabled = ReleaseOrders; telling me that the variable doesn't exist.
But since you are able to publish the app, then I thought maybe the issue was that we don't register the variable as being "inDataSet", when they are protected and are declared in another object. That didn't give me an error either, and when looking at the code behind it was handled as expected.
It looks like you have found and issue in and earlier version but this GitHub repository is dedicated to handling issues and feedback for the latest Developer Preview releases of the AL development tools for Dynamics 365 Business Central.
If you can reproduce the problem on the latest Business Central Developer preview version we will be happy to look further into it. Otherwise please contact the regular support channel.
You can open Support Request to CSS through PartnerSource portal or contact your Service Account Manager (SAM) in the local subsidiary to understand what is included in your contract as of support incident and PAH (Partner Advisory Hours). Your SAM might also step by step direct you how to open a support request or how to get credentials if this is the first time for you / your company.

Hi @thpeder ,
we tested it in BC23.1 (and I could also test BC23.4). For the current development preview currently I don't have the preparations.
I had also opened a Partner Souce case for it (that I thought was the reason why you reopend the case).
Is variable "ReleaseOrders" is created in Extension SAM1. There are a dependency-Tree. BaseApp <- SAM1 <- SAM2, where SAM2 uses a protected var from SAM1. So if you get the error, that the variable ReleaseOrders doesn't exist, it seems that you don't have installed SAM1.

I see, I forgot to add the dependency between the two ReportExtension apps.
Now I got the reference to the ReleaseOrders variable but the page in the web client shows no error for me. I see that the field is now disabled, but otherwise everything is fine.


attributesToSearchOn fails/panics when searchableAttributes on the index is left at default

Describe the bug
Searching for specific attributes at search time, using attributesToSearchOn = ['title'] and the index settings are left at default, will cause a panic. I'm not sure if showRankingScore: true is also contributing.
To Reproduce
Steps to reproduce the behavior:

Create an index.
Add documents.
Run a multi-search query:

master_search = {
    'q': keyword,
    'showRankingScore': True,
    'attributesToSearchOn': ['title'],
    'attributesToRetrieve': return_fields,
    'attributesToHighlight': ['title'],
    'highlightPreTag': '<b>',
    'highlightPostTag': '</b>'
}

results = self.client.multi_search(
    [
        {'indexUid': 'table1', **master_search},
        {'indexUid': 'table2', **master_search}
    ]
).get('results')

Panic!

 thread 'tokio-runtime-worker' panicked at 'The ranking rule fid did not sort its bucket exhaustively', milli/src/search/new/bucket_sort.rs:162:13
  stack backtrace:
    0: rust_begin_unwind
             at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:579:5
    1: core::panicking::panic_fmt
              at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panicking.rs:64:14
    2: milli::search::new::bucket_sort::bucket_sort
    3: milli::search::new::execute_search
    4: milli::search::Search::execute
    5: meilisearch::search::perform_search
    6: tokio::runtime::task::raw::poll

Workaround Steps
Either of these will work:

Remove attributesToSearchOn from query.
Create the index, update update_searchable_attributes to ['title'], then Add Documents. Then query no longer needs attributesToSearchOn but also keeping it still will not cause the crash it.

Expected behavior
A working query.
Meilisearch version:
v1.3.1
Additional context
This happens locally (Mac M1 Pro, AWS EC2 AMI v1.30). Seems related to https://github.com/meilisearch/meilisearch/issues/3728

Hey @nitrag and @GregoryConrad 👋
I want to release a fix for a similar issue, and I would like to test with your setup: database and query producing the bug. Unfortunately, I don't have your setup. I can only confirm that #4006 is fixed.
I would be glad if you could try this one linked PR code above ☝, compile it, and try to break it again as you described in both of your issues. Or, if you prefer, give me a dump (yes, it seems sufficient to reproduce) and the query that breaks the engine. This way, I can use my git bisect-fu to find what introduced the bug and fix it.
have a nice day 🌞

@Kerollmops I'm guessing you are referring to #3728?
I think my issue there was with my local setup when I thought I deleted an index created with an old version of milli, but didn't actually delete it, and then attempted to open it with a new version of milli. I was never able to reproduce that issue again (even with the same steps I had previously taken), so I am fairly sure it was just a milli version mismatch on my end.

Fixed by #4013.

Confirmed fixed! THANK YOU! 🎉


Any way to add headers or cookies to the request?

Since we can only provide the uri you are getting I dont see any way to add an authorization header or a cookie for example?
I didnt see a way but I figured I should ask before i just wondered off.

Hi @digitalpowers, I am working on this right now.  Want me to add you to PR?

sure, i think it is the only feature this is missing for my use :)
On Sun, Aug 25, 2019, 1:34 PM Aaron Roney<EMAIL_ADDRESS>wrote:

Hi @digitalpowers https://github.com/digitalpowers, I am working on
this right now. Want me to add you to PR?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/twitchax/AspNetCore.Proxy/issues/22?email_source=notifications&email_token=AA7I7DSB2EXTG2572PLQRZDQGLUEDA5CNFSM4IPHODL2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5C3GYA#issuecomment-524661600,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA7I7DSOQOGL43OEBRSJXCLQGLUEDANCNFSM4IPHODLQ
.

Addressing with #23.


Error with Capybara 3.37.1

We have a couple of Rails system tests that rely on capybara-shadowdom. In an attempt to fix an unrelated issue, we upgraded from capybara 3.36.0 to 3.37.1. Doing so caused the shadowdom tests to fail.
An example of the usage:
within(page.find("foo").shadow_root) do
  expect(page).to have_selector(".bar")
end

This works with 3.36.0. On 3.37.1, the following error results:
Capybara::NotSupportedByDriverError: Capybara::Driver::Node#shadow_root

We are using cuprite 0.13 with chromium.

According to the Capybara changelog, 3.37.0 saw the addition of a beta shadow_root method. It says:

[Beta] Element#shadow_root support. Requires selenium-webdriver 4.1+. Only currently supported with Chrome when using the selenium driver.

My guess is that the on in Capybara is taking precedence over the one from capybara-shadowdom, and the error I see is actually from my driver/browser combo not working with the new on. I'd love for the opposite to be the case, since the one from capybara-shadowdom actually works for me :)

I now see https://github.com/yuki24/capybara-shadowdom/commit/23c05974674970dd83ed36b48c1bcf2bb93f83d4. Sorry for not digging more before submitting an issue!
Any way to get a new release with that commit?

@tonydewan My apologies for such a long absence! I will cut a new release tomorrow and will let you know once it is done.

Great, thanks!

v0.3.0 is out now. Thank you for your patience!


Album support?

I asked a question on the GitHub C#, cdmayer gave me an answer, I wanted to share it here to see if anyone knows roughly when this feature will eventually be supported:
https://github.com/OneDrive/onedrive-sdk-csharp/issues/191
Thanks for your time.

It's definitely on our backlog. However, it's taking more work than originally expected because we want to make sure that all the concepts available in the OneDrive API are available with albums (like path-based addressing, delta support, etc). I don't have an ETA for when the feature will be available yet.

Thanks for the info and the quick reply @rgregg   :)


Add definition compileSdkVersion

problem
There is no definition for compileSdkVersion
Fix

[ ] Add definition compileSdkVersion

As mentioned on #616, this is fixed in ddda91c6c218b00974fd06717107cca3077607d2.


v1.0.0 : VisualizationManager does not return tables of the map

When using the class VisualizationManager, the object table does not return the tables of the map but the client object.
I'm using the next code to get the table object values:
auth_client = APIKeyAuthClient(CARTO_BASE_URL, CARTO_API_KEY, organization)

visualization_manager = VisualizationManager(auth_client)

mapa = visualization_manager.get("mapName")
printer.pprint(mapa.__dict__)

printer.pprint(mapa.table.__dict__)

The result of python is:
{   'active_layer_id': None,
    'client': <carto.auth.APIKeyAuthClient object at 0x10f509950>,
    'created_at': u'2016-12-03T23:45:11+00:00',
    'description': None,
    'display_name': None,
    'id': u'87e6f95c-b9b2-11e6-8d20-0e3ebc282e83',
    'liked': False,
    'likes': 0,
    'locked': False,
    'map_id': u'7ed57ea1-2958-4577-bcfa-446572a1e7d2',
    'name': u'Stores',
    'table': <carto.tables.Table object at 0x10f517f50>,
    'title': None,
    'updated_at': u'2016-12-05T18:55:58+00:00',
    'url': u'https://cartoworkshops.carto.com/u/carto-workshops/viz/87e6f95c-b9b2-11e6-8d20-0e3ebc282e83/map'}
{   'client': <carto.auth.APIKeyAuthClient object at 0x10f509950>}

Tested the viz API, and the table object is always empty, that's why in your case the __dict__ attribute was empty.
I've added to the Visualization class the related_tables field, which is an array of the tables contained in the map. I guess that was the attribute you were looking for.


Can't get intrinsic camera information from T265

|---------------------------------|------------------------------------------- |
| Camera Model                       | T265 |
| Operating System & Version |   Windows 10  |
| Platform                                 | PC  |
| SDK Version                            |  2.19 (and development branch from github  )                    |
| Language                            |  C/C++                         |

Segment
Film

Issue Description
Can't get intrinsic camera information from T265
I just get;

Device 0 : Intel RealSense T265 #852212110225
Sensor 1 : Tracking Module
stream Fisheye 1
Principal Point         : 0, 0
Focal Length            : 0, 0
Distortion Model        : None
Distortion Coefficients : [0,0,0,0,0]
stream Fisheye 2
Principal Point         : 0, 0
Focal Length            : 0, 0
Distortion Model        : None
Distortion Coefficients : [0,0,0,0,0]
stream Gyro
stream Accel
stream Pose

I tried....
`
rs2::context ctx;
rs2::device_list devices = ctx.query_devices();
int expectedDevices = 1;
while (devices.size() < expectedDevices) {
	devices = ctx.query_devices();
	Sleep(1000);
	cout << "\rFound " << devices.size() << " out of " << expectedDevices;
}
cout << endl;

int index = 0;
for (rs2::device device : devices)
{
	cout << "  Device " << index++ << " : " << get_device_name(device) << endl;
}

//USING FIRST DEVICE
rs2::device device = devices[0];
Sleep(1000);
std::vector<rs2::sensor> sensors = device.query_sensors();
Sleep(1000);
sensors = device.query_sensors();
for (rs2::sensor sensor : sensors)
{
	std::cout << "  Sensor " << index++ << " : " << get_sensor_name(sensor) << std::endl;
	std::vector<rs2::stream_profile> stream_profiles = sensor.get_stream_profiles();
	for (auto&& stream_profile : stream_profiles) {
		std::cout << "\tstream " << stream_profile.stream_name() << std::endl;
		if (stream_profile.is<rs2::video_stream_profile>()) {
			try
			{
				rs2::video_stream_profile video_stream = stream_profile.as<rs2::video_stream_profile>();

				rs2_intrinsics intrinsics = video_stream.get_intrinsics();

				auto principal_point = std::make_pair(intrinsics.ppx, intrinsics.ppy);
				auto focal_length = std::make_pair(intrinsics.fx, intrinsics.fy);
				rs2_distortion model = intrinsics.model;

				std::cout << "\t\tPrincipal Point         : " << principal_point.first << ", " << principal_point.second << std::endl;
				std::cout << "\t\tFocal Length            : " << focal_length.first << ", " << focal_length.second << std::endl;
				std::cout << "\t\tDistortion Model        : " << model << std::endl;
				std::cout << "\t\tDistortion Coefficients : [" << intrinsics.coeffs[0] << "," << intrinsics.coeffs[1] << "," <<
					intrinsics.coeffs[2] << "," << intrinsics.coeffs[3] << "," << intrinsics.coeffs[4] << "]" << std::endl;

			}
			catch (const std::exception& e)
			{
				std::cerr << "\t\tFailed to get intrinsics for the given stream. " << e.what() << std::endl;
			}
		}
	}
}

`
and...
`
rs2::pipeline pipe;
std::vectorrs2::stream_profile stream_profiles = pipe.get_active_profile().get_streams();
int profile_num = 0;
for (rs2::stream_profile stream_profile : stream_profiles)
{
std::cout << std::setw(3) << profile_num << ": " << stream_profile.stream_type() << " #" << stream_profile.stream_index() << "\t" << stream_profile.stream_name() << endl;
if (stream_profile.isrs2::video_stream_profile()) //"Is" will test if the type tested is of the type given
{
rs2::video_stream_profile video_stream_profile = stream_profile.asrs2::video_stream_profile();
std::cout << "\t (Video Stream: " << video_stream_profile.format() << " " <<
video_stream_profile.width() << "x" << video_stream_profile.height() << "@ " << video_stream_profile.fps() << "Hz)\n";
rs2_intrinsics intrinsics = video_stream_profile.get_intrinsics();
auto principal_point = std::make_pair(intrinsics.ppx, intrinsics.ppy);
auto focal_length = std::make_pair(intrinsics.fx, intrinsics.fy);
rs2_distortion model = intrinsics.model;
		std::cout << "Principal Point         : " << principal_point.first << ", " << principal_point.second << std::endl;
		std::cout << "Focal Length            : " << focal_length.first << ", " << focal_length.second << std::endl;
		std::cout << "Distortion Model        : " << model << std::endl;
		std::cout << "Distortion Coefficients : [" << intrinsics.coeffs[0] << "," << intrinsics.coeffs[1] << "," <<
			intrinsics.coeffs[2] << "," << intrinsics.coeffs[3] << "," << intrinsics.coeffs[4] << "]" << std::endl;
	}
	std::cout << std::endl;
	profile_num++;
}

`

@mmoyes camera intrinsics for T265 are not yet exposed in librealsense, but it is being worked on. If you follow the progress of https://github.com/IntelRealSense/librealsense/pull/3541, you will know as soon as it is ready.

Ah ok, an error or list of unimplemented features online would be very useful

Hi @mmoyes this is now implemented in librealsense 2.20.0, you can see an example using it to render a virtual object in the fisheye frame in:
https://github.com/IntelRealSense/librealsense/tree/master/examples/ar-basic
Can I close this issue?


Pip install error

Hi, I use pip install and I got this error when I imported this optimizer:
from Sophia import SophiaG

  3 from Sophia.Sophia import SophiaG
  4 # from decoupled_sophia.decoupled_sophia.decoupled_sophia import DecoupledSophia

----> 5 from experiments.training import trainer
7 # from Sophia.decoupled_sophia.decoupled_sophia import DecoupledSophia
ModuleNotFoundError: No module named 'experiments'

I am not sure though but you can clone the repo to your working repo, then just import it as your other directory

fixed #14

I am not sure though but you can clone the repo to your working repo, then just import it as your other directory

Thanks for your reply, but I have a feeling you may not be clear about the relationship between pip install and import package, here is a good resource: https://www.reddit.com/r/learnpython/comments/ynjjkf/difference_between_pip_install_module_vs_import/

Thank you for your reference. Yes I am not sure about pip and import packages. So while waiting for an update, I just import it to see its performance.

Still relevant when using pip install (version should be updated)

Still relevant when using pip install and when using the repo in editable mode the issue is even worse: it initiates the training in experiments.training.

Of course it will
https://github.com/kyegomez/Sophia/blob/ffd608b6464acb5b7de4297511fa5636fc033aa5/setup.py#L4C29-L5C40

Are you guys only know how to multiply matrices?

Still relevant when using pip install and when using the repo in editable mode the issue is even worse: it initiates the training in experiments.training.

Of course it will https://github.com/kyegomez/Sophia/blob/ffd608b6464acb5b7de4297511fa5636fc033aa5/setup.py#L4C29-L5C40

Are you guys only know how to multiply matrices?

@ivanstepanovftw Irrelevant and poor comments.


Gateway: fair share scheduling and resource limitation

Summary
Gateway: fair share scheduling and resource limitation
Details and comments
Closes #254

What happened to the blue box? :smiley:

It felt like this blue color was screaming at me :)

@psschwei and @akihikokuroda
Only problem I have now is pvcs, like we discussed with Paul.
https://github.com/Qiskit-Extensions/quantum-serverless/blob/issue-254/limits/infrastructure/helm/quantumserverless/templates/pvcs.yaml
this is running fine within rancher desktop. What should we do with that?

Other than that implementation is more-or-less ready. Now each user has separate cluster which is killed if resources are not used. Spinning up and killing clusters is super fast (less that couple of seconds).
Now we can limit number of cluster that are running at the same time and limit amount of jobs per user.
While you are reviewing this I'm going to do a small stress tests on scheduler and maybe add db indexes to speed up fair-share scheduing

Only problem I have now is pvcs, like we discussed with Paul.

For now, I'd just say that we're going to implement PVCs as part of #463 ... as a first step, we can just add an EmptyDir, which will let us test e2e on k8s. I don't think that's blocking for this PR, can just assume we'll implement later...
Full review to follow later today :smile:

I rebuilt all images for arm64 and install with the helm chart.  The 01_running_program stuck in the "pending" state.  The pod log of the Job shows error with the database access.
(env-quantum-serverless) akihikokuroda@Akihikos-MacBook-Pro quantumserverless % kubectl logs  gateway-4jdwt
Using selector: EpollSelector
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 289, in ensure_connection
    self.connect()
  File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 270, in connect
    self.connection = self.get_new_connection(conn_params)
  File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/django/db/backends/postgresql/base.py", line 275, in get_new_connection
    connection = self.Database.connect(**conn_params)
  File "/usr/local/lib/python3.9/site-packages/psycopg2/__init__.py", line 122, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: connection to server at "postgresql" (<IP_ADDRESS>), port 5432 failed: Connection refused
	Is the server running on that host and accepting TCP/IP connections?

Using selector: EpollSelector
Deallocated 0 compute resources.
Using selector: EpollSelector
4 free cluster slots.
Starting new HTTP connection (1): kuberay-apiserver-service:8888
http://kuberay-apiserver-service:8888 "GET /apis/v1alpha2/namespaces/default/compute_templates/default-sq-template HTTP/1.1" 404 209
Starting new HTTP connection (1): kuberay-apiserver-service:8888
http://kuberay-apiserver-service:8888 "POST /apis/v1alpha2/namespaces/default/compute_templates HTTP/1.1" 200 74
Starting new HTTP connection (1): kuberay-apiserver-service:8888
http://kuberay-apiserver-service:8888 "POST /apis/v1alpha2/namespaces/default/clusters HTTP/1.1" 200 623

Starting new HTTP connection (1): user-b46b72a5-head-svc:8265
Head node http://user-b46b72a5-head-svc:8265/ is not ready yet.
Traceback (most recent call last):
File "/usr/src/app/manage.py", line 22, in
main()
File "/usr/src/app/manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.9/site-packages/django/core/management/init.py", line 442, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.9/site-packages/django/core/management/init.py", line 436, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python3.9/site-packages/django/core/management/base.py", line 412, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/lib/python3.9/site-packages/django/core/management/base.py", line 458, in execute
output = self.handle(*args, **options)
File "/usr/src/app/api/management/commands/schedule_queued_jobs.py", line 56, in handle
job = execute_job(job)
File "/usr/src/app/api/schedule.py", line 54, in execute_job
compute_resource = create_ray_cluster(job.author)
File "/usr/src/app/api/ray.py", line 155, in create_ray_cluster
host = wait_for_cluster_ready(cluster_name)
File "/usr/src/app/api/ray.py", line 174, in wait_for_cluster_ready
raise RuntimeError(f"Waiting too long for cluster creation. {url}")
RuntimeError: Waiting too long for cluster creation. http://user-b46b72a5-head-svc:8265/
Using selector: EpollSelector
Updated 0 jobs.
Using selector: EpollSelector
Deallocated 0 compute resources.
Using selector: EpollSelector
4 free cluster slots.
Starting new HTTP connection (1): kuberay-apiserver-service:8888
http://kuberay-apiserver-service:8888 "GET /apis/v1alpha2/namespaces/default/compute_templates/default-sq-template HTTP/1.1" 200 74
Starting new HTTP connection (1): kuberay-apiserver-service:8888
http://kuberay-apiserver-service:8888 "POST /apis/v1alpha2/namespaces/default/clusters HTTP/1.1" 200 623

@akihikokuroda let me try to reporduce that.
@psschwei you have debug on and it looks like it is PVC permission issue

[Errno 13] Permission denied: '/usr/src/app/media/user'

PVC permission issue

That makes sense... if the directory is created from scratch (i.e. doesn't already exist in the container), it'll be owned by root... we need to do something like this in the dockerfile so that it'll be owned by the 1001 user:
USER 0
RUN mkdir /usr/src/app/media && chown 1001:0 /usr/src/app/media
USER 1001

I added this in the Job and tried.  It seems working.
      initContainers:
        - name: waitpostresql
          image: actions/pg_isready
          command: ['sh', '-c', 'until pg_isready -U {{ .Values.database.user | quote }} -d "dbname={{ .Values.database.name }}" -h {{ .Values.database.host }} -p {{ .Values.database.port | quote }}; do echo waiting for myservice; sleep 2; done']

This change makes the Ray console unusable.

If you are talking about killing and creating clusters from scratch, then yes, ray dashboard ui/logs/etc became barely usable. Therefore we need monitoring and logging. Each ray cluster starts with username prefix, we can add more tags to it to backtrace what exactly we need.

We have to have our own good monitoring.

Yes! :)
If you have suggestions how to make it better, we are totally open for ideas :)

Do we still need to create Ray cluster in the hem chart?

I'm thinking if we can refactor 3 functions in ray.py using [from openshift.dynamic import DynamicClient](https://github.com/openshift/openshift-restclient-python/#create-a-route) instead of the  kuberay apiserver after this PR is merged.  We can have more flexibility in defining the ray nodes including PVC, InitContainer and sidecar container.  WDYT @IceKhan13 @psschwei

@akihikokuroda so essentially using the dynamic client to let us use yaml to create the object(s), right?

@psschwei Yes, we can use it to create raycluster CRD instance for the Kuberay operator.

Cool, that's what I thought (but the link to a section called creating a route confused me a little bit, so just wanted to make sure)... I think in general I'm good with that, especially if it gives us access to things we need and makes it easier to create/configure clusters...

I like this approach even more, Aki!
Let's do it in a follow up PR and we will be able to add volumes and init containers! And we can actually remove api server then from deployment

Also the gateway-scheduler is failing:
Traceback (most recent call last):
gateway_scheduler  |   File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 89, in _execute
gateway_scheduler  |     return self.cursor.execute(sql, params)
gateway_scheduler  | psycopg2.errors.UndefinedColumn: column api_job.env_vars does not exist
gateway_scheduler  | LINE 1: ...", "api_job"."program_id", "api_job"."arguments", "api_job"....

I will check asap, but problem is docker image did not applied migrations. Therefore db does not have this column

I have issue installing via helm.
Error: INSTALLATION FAILED: YAML parse error on quantum-serverless/charts/gateway/templates/deployment.yaml: error converting YAML to JSON: yaml: line 17: did not find expected key

I have issue installing via helm.

Fixed. Need to workout selector labels later.

edit: PVC permissions are fine, but the gateway-scheduler is failing:

Checked twice. Cannot reproduce it. Did you build new gateway image?
Can you confirm that gateway logs has this migrations lines in logs?

@IceKhan13 I created the refactor PR to this branch.  If you prefer, I can create a new PR to main branch after this got merged.  Thanks!

@akihikokuroda let's merge your PR in a follow up, otherwise this already getting to big (already got 😅 )
Thank you all for great review!


Prettier reformat

Prettier reformat
Add onBlur prop to MultiSelect

Current dependencies on/for this PR:

main

PR #447   👈

This stack of pull requests is managed by Graphite.

publish rc


MRT direction

It is probably known, but MRT example is rendering upside down on WebGL 1 and 2, while rendered correctly on WebGPU.
https://playcanvas.github.io/#/graphics/mrt

Yep, WebGL is correct (and the flipY in the example should be removed). We need to sort out all render targets flipping on WebGPU, which is on my todo list.

related - fix drawTexture to not render textures upside down: https://github.com/playcanvas/engine/pull/5434
so this looks correctly on WebGL now, and as mentioned, WebGPU needs fixing.

Fixed (not the best way) in #5500


V2.2 rc

Alaska Airlines Pull Request
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes: #106, #107, #109
Summary:
The scope of this update is to merge the v2.2-rc with main for release.
Type of change:
Please delete options that are not relevant.

[ ] New capability
[ ] Revision of an existing capability
[ ] Infrastructure change (automation, etc.)
[x] Other (release)

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Rename Can as Canopy.

This just renames the config and a few other references in readme relative to Canopy vs. Can. Some more cleanup may be required.

@markpbaggett following your rename of canopy @utkdigitalinitiatives, this updates some config stuff so that things are  not confused. Next is updating the Vercel URL.

I think we can just recreate the package-lock.json in future commits. Let's deal with this first then #26.


Q: asking for max width but not height

I want to ask riiif server for an image, where the width is scaled to no more than X, and then the height is just scaled proportionally. I don't want to ask for both height and width.
Is there a way to do that?
A request like:
 http://localhost:3000/image-service/rx913p88g%2Ffiles%2Fa30e2371-2f8b-44bd-ab91-77a1d7fbb42f/full/!500,/0/default.jpg

Gives me an HTTP 400, with not much to go by in the logs. The logs have  Unpermitted parameters: model, id, but I think that's unrelated.
Asking for something like:
 http://localhost:3000/image-service/rx913p88g%2Ffiles%2Fa30e2371-2f8b-44bd-ab91-77a1d7fbb42f/full/!500,500/0/default.jpg

Gives me a proper 200 with an image, but that's not asking for what I want anymore.
I guess I can just leave the ! off, maybe that does what I want?  I'm confused with what these do.

Yep, I get it more now.


Default credentials not working

Hi,
I'm testing tag v1.1.6 on a raspberry pi 3 B using balena cloud.
I needed to fall back to 1.1.6 since official TTS release 1.1.7 provided at balena cloud did not rise properly (at least with default image settings)
<stack> exec ./entrypoint.sh: exec format error Restarting service 'stack sha256:530410857866c28ef69e5eb539c1bb46e39c6b9545cbe47594d0de7cfa54231c' Service exited 'stack sha256:530410857866c28ef69e5eb539c1bb46e39c6b9545cbe47594d0de7cfa54231c'
After deploying tag v1.1.6, I am at least able to desploy postgres, redis and stack services and can rearch the TTS console and can see the login page (https://) . However, default credentials "admin" "changeme" report back pkg/web/oauthclient:exchange
{   "code": 7,   "message": "error:pkg/web/oauthclient:exchange (token exchange refused)",   "details": [     {       "@type": "type.googleapis.com/ttn.lorawan.v3.ErrorDetails",       "namespace": "pkg/web/oauthclient",       "name": "exchange",       "message_format": "token exchange refused",       "correlation_id": "3dbb243913d946fca38c4e25a5043342",       "cause": {         "namespace": "pkg/errors",         "name": "net_dns",         "message_format": "{message}",         "attributes": {           "message": "lookup lns.example.com on <IP_ADDRESS>:53: server misbehaving",           "not_found": false,           "timeout": false         },         "correlation_id": "366822a628e54001b00d6659db602c56",         "code": 14       },       "code": 7     }   ] }
I tried no secure access and default credentials seem not to work either.
The remote machine I am using to reach rapsberry Pi is placed on the same subnet so I am wondering if I am really missing something beyond default settings addressed in the documentation (I already tried setting TTS_DOMAIN with the RPI ip address)

Hi @jmorgade
The error usually means the certificate does not match the domain name and indeed looks like you have the default "lns.example.com" in the TTS_DOMAIN. But since you said you already tried the RPi IP address... my suggestions are: 1) make sure your RPi IP address is static and 2) reset the credentials using the rset script (see https://github.com/xoseperez/the-things-stack-docker#resetting-values).

Hello @xoseperez
Sorry, my bad, you absolutely right.  I though I was properly setting up the TTS_DOMAIN address but I finally notice I wasn't. I misunderstood a bit the guidelines there.  I can confirm that overriding the TTS_DOMAIN with device IP address, it works.


feat: add isEncrypted if set to false or true in notify command

Fixes  https://github.com/atsign-foundation/at_libraries/issues/650
- What I did

Set isEncrypted flag in notify command whether it is true or false
- How I did it
Temporarily introduce a private method _toAtProtocolFragment(duplicate of AtKey-->Metadata --> toAtProtocolFragment). Set isEncrypted whether it is true or false. Remove this private method and reuse AtKey method once update verb isEncrypted changes are done.
- How to verify it
tests in dependent repos should pass

https://github.com/atsign-foundation/at_libraries/pull/646
https://github.com/atsign-foundation/at_server/pull/2087
https://github.com/atsign-foundation/at_client_sdk/pull/1393
https://github.com/atsign-foundation/at_libraries/pull/647
https://github.com/atsign-foundation/noports/pull/1344

This is fine as a stopgap. As a precaution, please add some unit tests re isEncrypted when using an UpdateVerbBuilder

https://github.com/atsign-foundation/at_libraries/pull/649/commits/141716aa9586faf49cdc04f2c18ad5a5695e4c8c
Are these tests fine ?

I will rerun the tests once below PR is merged and then merge at_commons PR
https://github.com/atsign-foundation/at_client_sdk/pull/1391


Improved graphics

Better sprites, backgrounds, more functionality in the evobox.Graphical namespace etc.
Estimated time: Unkown.

Fixed by de42f1f.


DRY feeds service up and match style

DRY up the request creation in the feeds service
Stop using nock for feed service tests
Match the style and idioms we're using elsewhere in the project

:+1:


Removed random ... from event function

This was breaking the php artisan make:auth command I was trying to run

Laravel's minimum PHP version is 5.6, you must be running a lower version or you have a different problem. The ... operator is used to unpack arguments.

... indicates a variable-length argument list. You can read more about them at https://secure.php.net/manual/en/functions.arguments.php

PHP has support for variable-length argument lists in user-defined functions. This is implemented using the ... token in PHP 5.6 and later, and using the func_num_args(), func_get_arg(), and func_get_args() functions in PHP 5.5 and earlier.

Ok, great, my apologies. I was not aware of variable-length argument list. It was late and I think I may have used my local machine (not my homestead machine which has php v7) to run the command by accident, which has php 5.5.


[mqube] create extractor

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[ ] Improvement
[x] New extractor
[ ] New feature

Description of your pull request and other information
This adds an extractor for the website MQube.  However, it does not support playlists, so it doesn't fully close #21015.

This is covered by generic extractor.

This is covered by generic extractor.

Can the generic extractor grab the metadata?


Fix clippy lints related to lifetimes and string formatting

Clippy 1.67 warns about unnecessary explicit lifetimes and when string interpolation could be used instead of function arguments in string formatting routines.

Seems as if there are still some format strings left that make Clippy sad.

Seems as if there are still some format strings left that make Clippy sad.

Some of those were quite strange and I'm surprised Clippy caught them. They wouldn't trigger on the working branch and only got triggered on this PR's branch.
Anyways, they're fixed now. Thanks!


Segfault when changing view type with tf messages displayed

Changing view type (for example, from Orbit to ThirdPersonFollower) when tf messages are displayed in rviz causes a segfault. It seems to be related to recent changes in the MovableText class (470fdc819ee8211a4fb0d1c06da19fbbf5330206).
Here is the gdb backtrace:
#0  0x00007ffff2fd9857 in Ogre::Camera::getDerivedOrientation() const () at /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#1  0x00007ffff7ac8420 in rviz::MovableText::getBoundingBox() const () at /opt/ros/melodic/lib/librviz.so
#2  0x00007fffacb2f7ea in Ogre::OctreeNode::_updateBounds() () at /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/Plugin_OctreeSceneManager.so.1.9.0
#3  0x00007ffff310ae67 in Ogre::Node::_update(bool, bool) () at /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#4  0x00007ffff31e1710 in Ogre::SceneNode::_update(bool, bool) () at /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#5  0x00007ffff310ae67 in Ogre::Node::_update(bool, bool) () at /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#6  0x00007ffff31e1710 in Ogre::SceneNode::_update(bool, bool) () at /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#7  0x00007ffff310ae67 in Ogre::Node::_update(bool, bool) () at /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#8  0x00007ffff31e1710 in Ogre::SceneNode::_update(bool, bool) () at /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#9  0x00007ffff310ae67 in Ogre::Node::_update(bool, bool) () at /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#10 0x00007ffff31e1710 in Ogre::SceneNode::_update(bool, bool) () at /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#11 0x00007ffff31b5129 in Ogre::SceneManager::_updateSceneGraph(Ogre::Camera*) () at /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#12 0x00007ffff31ca830 in Ogre::SceneManager::_renderScene(Ogre::Camera*, Ogre::Viewport*, bool) () at /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#13 0x00007ffff2fd9d2a in Ogre::Camera::_renderScene(Ogre::Viewport*, bool) () at /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#14 0x00007ffff318647a in Ogre::RenderTarget::_updateViewport(Ogre::Viewport*, bool) () at /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#15 0x00007ffff318628b in Ogre::RenderTarget::_updateAutoUpdatedViewports(bool) () at /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#16 0x00007ffff318600e in Ogre::RenderTarget::updateImpl() () at /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#17 0x00007ffff3186a34 in Ogre::RenderTarget::update(bool) () at /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#18 0x00007ffff316f4df in Ogre::RenderSystem::_updateAllRenderTargets(bool) () at /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#19 0x00007ffff31aca4a in Ogre::Root::_updateAllRenderTargets() () at /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#20 0x00007ffff31acb30 in Ogre::Root::renderOneFrame() () at /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#21 0x00007ffff7b4abe8 in rviz::VisualizationManager::onUpdate() () at /opt/ros/melodic/lib/librviz.so
#22 0x00007ffff6cbd645 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#23 0x00007ffff6cca0b7 in QTimer::timeout(QTimer::QPrivateSignal) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007ffff6cca418 in QTimer::timerEvent(QTimerEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#25 0x00007ffff6cbe16b in QObject::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x00007ffff72a383c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#27 0x00007ffff72ab104 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007ffff6c8e9c8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00007ffff6ce6e1e in QTimerInfoList::activateTimers() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#30 0x00007ffff6ce75e1 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#31 0x00007ffff0023417 in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007ffff0023650 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007ffff00236dc in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007ffff6ce797f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#35 0x00007ffff6c8c9fa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#36 0x00007ffff6c95aa4 in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#37 0x0000555555554dc9 in main ()

Your environment

OS Version: Ubuntu 18.04
ROS Distro: Melodic
RViz, Qt, OGRE, OpenGl version as printed by rviz:[ INFO] [1576099938.123090320]: rviz version 1.13.6
[ INFO] [1576099938.123135278]: compiled against Qt version 5.9.5
[ INFO] [1576099938.123151468]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO] [1576099938.131705042]: Forcing OpenGl version 0.
[ INFO] [1576099939.037108248]: Stereo is NOT SUPPORTED
[ INFO] [1576099939.037238429]: OpenGl version: 4.6 (GLSL 4.6).

If source build, which git commit?
Not source build, this is the melodic binary release.

Thanks for reporting this issue. I can reproduce the problem, but I cannot explain where it comes from: The program counter is reported to be zero in
https://github.com/OGRECave/ogre/blob/fbe7b9edaef1e5368061fed89050092023d61d3d/OgreMain/src/OgreCamera.cpp#L518
However, mpCam is well defined. So, it looks like, the camera's vtable is corrupted for some reason. No idea why.

I found the reason for this issue: MoveableText was still accessing the old ViewController's camera, because getBoundingBox() was called before _notifyCurrentCamera().
The best solution, for now, is to revert the offending commit.

I don't know the exact issue that commit was solving but crashing due to a typical user action seems like bad behavior, so I think that reverting the commit would be best for now.

A colleague and myself are experiencing the same crashes with the same version of rviz.
Is the proposed fix reverting this commit?
https://github.com/ros-visualization/rviz/commit/470fdc819ee8211a4fb0d1c06da19fbbf5330206
If so, I'll gladly open a PR to fix this.

This is already fixed in https://github.com/ros-visualization/rviz/commit/787c40d9f0124b55f66431e0ea43738f82849a65 and part of release v1.13.7.

I've recently encountered this issue and am wondering when the ROS rviz repo will have release v1.13.7.

The released version is already available in the ROS testing repo.


change yurthub's protocol from http to https

What type of PR is this?

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:
/kind bug
/kind documentation
/kind enhancement
/kind good-first-issue
/kind feature
/kind question
/kind design
/sig ai
/sig iot
/sig network
/sig storage
/sig storage

/kind feature
What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #361
Special notes for your reviewer:

Does this PR introduce a user-facing change?

other Note

If use https. The kubelet and other components config should be changed. I think we can change it after all things considered.

If use https, the kubelet and other components config should be changed. We can point out how to change config of these components.

Yes, I'm collecting the changed config.

@wangchenglong01 we need to keep proxyPort for http unchanged, and add a new port(like secureProxyPort) for https.

If use https, the kubelet and other components config should be changed. We can point out how to change config of these components.

The background of support https for yurthub is here: https://github.com/openyurtio/openyurt/issues/372

@luckymrwang Would you be able to upload the detail logs of creating yurthub server certificates successfully when yurthub startup?


_NET_WM_STATE_MAXIMIZED instead of _NET_WM_WORK_AREA

_NET_WM_STATE is more popularly implemented than _NET_WM_WORK_AREA

Can not really test it right now, but I'd put it maximizing into a separate function.

you mean making a separate function for liunx minimizing like this ?
`
else:
def linux_maximize():
ds, root = x_maximize()
    window_id = pygame.display.get_wm_info()['window']
    wm_state = ds.intern_atom('_NET_WM_STATE')
    max_horz = ds.intern_atom('_NET_WM_STATE_MAXIMIZED_HORZ')
    max_vert = ds.intern_atom('_NET_WM_STATE_MAXIMIZED_VERT')

    data = [1, max_horz, max_vert,0,0]
    e = event.ClientMessage(
            window=window_id,
            client_type=wm_state,
            format=32,
            data=(32, data)
        )
    root.send_event(e, event_mask=X.SubstructureRedirectMask | X.SubstructureNotifyMask)
    ds.flush()

linux_maximize()
`

Yes, that's what I meant, putting it into retro_screen.py would be also quite reasonable in my opinion.

done

Alright seem to work fine, also we should hide the maximize button, when minimize is not supported but lets leave that for another pr. As always thanks for contributing.


chore(build.in): update version of gh-get-current-pr action

This PR updates the version of the gh-get-current-pr  action from v2.2.0 to 3.0.0 to avoid the following deprecation warning:

The following actions use a deprecated Node.js version and will be forced to run on node20<EMAIL_ADDRESS>For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/

bors merge


Trim Travis config part 3

Only build & test two configurations on all compilers. Make all the
other build variants buildonly on gcc (clang on osx).
Don't build with default clang at all on linux.

This does seem to be a better way to write the matrix. Updated.


feat(worflow_def): add a SimpleWorkflowDefinition

Add a simple, sghi.etl.core.WorkflowDefinition implementation.

:tada: This PR is included in version 1.0.0-rc.1 :tada:
The release is available on:

v1.0.0-rc.1
GitHub release

Your semantic-release bot :package::rocket:

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

v1.0.0
GitHub release

Your semantic-release bot :package::rocket: