Missing basic flags - rpc-addr + sequencer-private-key

Certain basic flags seems to be missing:
In order to specify which ip address a docker container should be run on, rpc address should be configurable.
--rpc-addr=<IP_ADDRESS>
Unable to set sequencer private key.
I have found --sequencer-enabled flag, but can't seem to find a flag that will set the private key for the sequencer duties.

@barnabasbusa rpc-addr already fixed, could you check again?

It seems like the service now comes online: flags used:
            "Cmd": [
                "--devnet",
                "--jwt-file=/jwt/jwtsecret",
                "--l1-beacon-url=http://<IP_ADDRESS>:4000",
                "--l1-rpc-url=http://<IP_ADDRESS>:8545",
                "--l1-ws-rpc-url=ws://<IP_ADDRESS>:8546",
                "--l2-engine-url=http://<IP_ADDRESS>:8551",
                "--l2-rpc-url=http://<IP_ADDRESS>:8545",
                "--rpc-addr=<IP_ADDRESS>",
                "--rpc-port=8547",
                "--sync-mode=full",
                "--network=/network-configs/rollup.json",
                "--disc-boot-nodes=enr:-J-4QEfuoT7WWHQ_wN5DMlDms0U8y3jxFciO3tb9TTObIJ20YrwQROvgn5cs6sbr0ibkZch-EtxbFPu88RB97LcfatWGAZCX46qsgmlkgnY0gmlwhKwQABiHb3BzdGFja4Xkq4MBAIlzZWNwMjU2azGhAjyWt3z1Kw7_FtzbtBxq4Ru7OVxrKBmnW76ZmYLIiRN6g3RjcIIjK4N1ZHCCIys"
            ],

I see a huge amount of DEBUG logs with:
14:00:19.368 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=25e4c3f8092af3a6cc4cc869ac1f9d95 span_id=98265200f022d2e6 trace_flags=01 <-- END HTTP (34ms, 1721-byte body)
14:00:19.369 [InnerWatcher] DEBUG io.optimism.l1.InnerWatcher trace_id=48f608a872acf1429339c51ab408d754 span_id=91539d14e61539cd trace_flags=01 will update system config with newest log: currentBlock(10) <= headBlock(44)
14:00:19.369 [InnerWatcher] DEBUG io.optimism.l1.InnerWatcher trace_id=48f608a872acf1429339c51ab408d754 span_id=91539d14e61539cd trace_flags=01 will poll block: 0xa
14:00:19.370 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 --> POST http://<IP_ADDRESS>:8545/
14:00:19.370 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 Content-Type: application/json; charset=utf-8
14:00:19.370 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 Content-Length: 79
14:00:19.370 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01
14:00:19.370 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 {"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["0xa",true],"id":30}
14:00:19.370 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 --> END POST (79-byte body)
14:00:19.370 [] WARN  i.o.u.rpc.RetryRateLimitInterceptor trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 there has reached rate limit, but will retry again later
14:00:19.395 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 <-- 200 OK http://<IP_ADDRESS>:8545/ (24ms)
14:00:19.396 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 Content-Type: application/json
14:00:19.396 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 Vary: Origin
14:00:19.396 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 Date: Tue, 09 Jul 2024 14:00:19 GMT
14:00:19.396 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01
14:00:19.396 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 {"jsonrpc":"2.0","id":30,"result":{"baseFeePerGas":"0xfaf2d5f","blobGasUsed":"0x0","difficulty":"0x0","excessBlobGas":"0x0","extraData":"0xd883010e07846765746888676f312e32322e35856c696e7578","gasLimit":"0x1813611","gasUsed":"0x0","hash":"0x8e5045c4245c213fe9178c4cc8a735103470b5ed7ec03466d971af89217fbf0a","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x8943545177806ed17b9f23f0a21ee5948ecaa776","mixHash":"0xed3287c586a3db68d1465a549a3da2081a810bed2be71b246a87951eedbe2bb2","nonce":"0x0000000000000000","number":"0xa","parentBeaconBlockRoot":"0x674731c9da514d9c82f04c05cd0482f5c7fe0cd0de9023998c5f6e99fc1e9bd4","parentHash":"0x7de69a398aaf12c649dc636324a6ca51f9a0e74f64965a9fc3b7a78334992bdf","receiptsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x260","stateRoot":"0x555970cb73bd6c6f9f7a1a6fd12806e2c4c02d484d2f126afe1fd58043e2abbd","timestamp":"0x668d41a1","totalDifficulty":"0x1","transactions":[],"transactionsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","uncles":[],"withdrawals":[],"withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}}

EL doesn't seem to see any blocks.
Reproducable with this one liner:
kurtosis run github.com/ethpandaops/optimism-package@bbusa/hildr --args-file https://raw.githubusercontent.com/ethpandaops/optimism-package/ac4abcd05d189603e34fa60e0adc3a519d4235cc/.github/tests/hildr.yaml

Let us check.

It seems like the service now comes online: flags used:
            "Cmd": [
                "--devnet",
                "--jwt-file=/jwt/jwtsecret",
                "--l1-beacon-url=http://<IP_ADDRESS>:4000",
                "--l1-rpc-url=http://<IP_ADDRESS>:8545",
                "--l1-ws-rpc-url=ws://<IP_ADDRESS>:8546",
                "--l2-engine-url=http://<IP_ADDRESS>:8551",
                "--l2-rpc-url=http://<IP_ADDRESS>:8545",
                "--rpc-addr=<IP_ADDRESS>",
                "--rpc-port=8547",
                "--sync-mode=full",
                "--network=/network-configs/rollup.json",
                "--disc-boot-nodes=enr:-J-4QEfuoT7WWHQ_wN5DMlDms0U8y3jxFciO3tb9TTObIJ20YrwQROvgn5cs6sbr0ibkZch-EtxbFPu88RB97LcfatWGAZCX46qsgmlkgnY0gmlwhKwQABiHb3BzdGFja4Xkq4MBAIlzZWNwMjU2azGhAjyWt3z1Kw7_FtzbtBxq4Ru7OVxrKBmnW76ZmYLIiRN6g3RjcIIjK4N1ZHCCIys"
            ],

I see a huge amount of DEBUG logs with:
14:00:19.368 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=25e4c3f8092af3a6cc4cc869ac1f9d95 span_id=98265200f022d2e6 trace_flags=01 <-- END HTTP (34ms, 1721-byte body)
14:00:19.369 [InnerWatcher] DEBUG io.optimism.l1.InnerWatcher trace_id=48f608a872acf1429339c51ab408d754 span_id=91539d14e61539cd trace_flags=01 will update system config with newest log: currentBlock(10) <= headBlock(44)
14:00:19.369 [InnerWatcher] DEBUG io.optimism.l1.InnerWatcher trace_id=48f608a872acf1429339c51ab408d754 span_id=91539d14e61539cd trace_flags=01 will poll block: 0xa
14:00:19.370 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 --> POST http://<IP_ADDRESS>:8545/
14:00:19.370 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 Content-Type: application/json; charset=utf-8
14:00:19.370 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 Content-Length: 79
14:00:19.370 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01
14:00:19.370 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 {"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["0xa",true],"id":30}
14:00:19.370 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 --> END POST (79-byte body)
14:00:19.370 [] WARN  i.o.u.rpc.RetryRateLimitInterceptor trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 there has reached rate limit, but will retry again later
14:00:19.395 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 <-- 200 OK http://<IP_ADDRESS>:8545/ (24ms)
14:00:19.396 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 Content-Type: application/json
14:00:19.396 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 Vary: Origin
14:00:19.396 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 Date: Tue, 09 Jul 2024 14:00:19 GMT
14:00:19.396 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01
14:00:19.396 [] DEBUG i.o.utilities.rpc.HttpClientProvider trace_id=65a20d91192a8d6d8123a5d83c3a843a span_id=229aa993343ef926 trace_flags=01 {"jsonrpc":"2.0","id":30,"result":{"baseFeePerGas":"0xfaf2d5f","blobGasUsed":"0x0","difficulty":"0x0","excessBlobGas":"0x0","extraData":"0xd883010e07846765746888676f312e32322e35856c696e7578","gasLimit":"0x1813611","gasUsed":"0x0","hash":"0x8e5045c4245c213fe9178c4cc8a735103470b5ed7ec03466d971af89217fbf0a","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x8943545177806ed17b9f23f0a21ee5948ecaa776","mixHash":"0xed3287c586a3db68d1465a549a3da2081a810bed2be71b246a87951eedbe2bb2","nonce":"0x0000000000000000","number":"0xa","parentBeaconBlockRoot":"0x674731c9da514d9c82f04c05cd0482f5c7fe0cd0de9023998c5f6e99fc1e9bd4","parentHash":"0x7de69a398aaf12c649dc636324a6ca51f9a0e74f64965a9fc3b7a78334992bdf","receiptsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x260","stateRoot":"0x555970cb73bd6c6f9f7a1a6fd12806e2c4c02d484d2f126afe1fd58043e2abbd","timestamp":"0x668d41a1","totalDifficulty":"0x1","transactions":[],"transactionsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","uncles":[],"withdrawals":[],"withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}}

EL doesn't seem to see any blocks.
Reproducable with this one liner:
kurtosis run github.com/ethpandaops/optimism-package@bbusa/hildr --args-file https://raw.githubusercontent.com/ethpandaops/optimism-package/ac4abcd05d189603e34fa60e0adc3a519d4235cc/.github/tests/hildr.yaml

@barnabasbusa fixed a devnet issue in v0.4.4, please check again.


make failed with some error

Hello all:
I am new with kubevirt，I run make with main branch on my environment centos7.6, here is my step:
export DOCKER_PREFIX=<IP_ADDRESS>:5000
export DOCKER_TAG=sws0406
make
finally，make report error:
[root@k8s-1 kubevirt]# make
./hack/dockerized "hack/bazel-fmt.sh"
go version go1.17.5 linux/amd64
go version go1.17.5 linux/amd64
Regenerating sandbox
INFO: Build option --incompatible_enable_cc_toolchain_resolution has changed, discarding analysis cache.
INFO: Analyzed target //rpm:sandbox_x86_64 (263 packages loaded, 9644 targets configured).
INFO: Found 1 target...
INFO: From Converting sandboxroot_x86_64 to tar:
Flag shorthand -s has been deprecated, use --symlinks instead
Target //rpm:sandbox_x86_64 up-to-date:
bazel-bin/rpm/sandbox_x86_64.bash
INFO: Elapsed time: 42.444s, Critical Path: 36.14s
INFO: 294 processes: 14 internal, 280 processwrapper-sandbox.
INFO: Build completed successfully, 294 total actions
INFO: Build completed successfully, 294 total actions
INFO: Starting clean (this may take a while). Consider using --async if the clean takes more than several minutes.
INFO: Analyzed target //vendor/mvdan.cc/sh/v3/cmd/shfmt:shfmt (75 packages loaded, 8342 targets configured).
INFO: Found 1 target...
ERROR: : BazelWorkspaceStatusAction stable-status.txt failed: Failed to determine workspace status: Process exited with status 1
ERROR: Sandbox is not up to date, please run 'hack/bootstrap.sh'
Target //vendor/mvdan.cc/sh/v3/cmd/shfmt:shfmt failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 2.046s, Critical Path: 0.13s
INFO: 5 processes: 5 internal.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully
make: *** [format] Error 1
Can anyone one help to to fix this problem?

Thank you, I fix the problem with your suggest, but still make failed, now the error log is:
Waiting for it to complete...
Another command (pid=15) is running. Waiting for it to complete on the server (server_pid=19)...
INFO: Analyzed target //rpm:sandbox_x86_64 (258 packages loaded, 9580 targets configured).
INFO: Found 1 target...
ERROR: /root/.cache/bazel/_bazel_root/6f347497f91c9a385dcd9294645b76e0/external/com_github_sassoftware_go_rpmutils/BUILD.bazel:3:11: GoCompilePkg external/com_github_sassoftware_go_rpmutils/go-rpmutils.a [for host] failed: (Exit 1): builder failed: error executing command bazel-out/host/bin/external/go_sdk/builder compilepkg -sdk external/go_sdk -installsuffix linux_amd64 -tags selinux,selinux -src external/com_github_sassoftware_go_rpmutils/errors.go -src ... (remaining 47 argument(s) skipped)
Use --sandbox_debug to see verbose messages from the sandbox
compilepkg: missing strict dependencies:
/root/.cache/bazel/_bazel_root/6f347497f91c9a385dcd9294645b76e0/sandbox/processwrapper-sandbox/3/execroot/kubevirt/external/com_github_sassoftware_go_rpmutils/uncompress.go: import of "github.com/klauspost/compress/zstd"
No dependencies were provided.
Check that imports in Go sources match importpath attributes in deps.
Target //rpm:sandbox_x86_64 failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 7.367s, Critical Path: 0.45s
INFO: 23 processes: 23 internal.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully
make: *** [format] Error 1
I find a log:go get: module github.com/klauspost/compress@upgrade found (v1.15.1), but does not contain package github.com/klauspost/compress/zstd:   is it cause the make failed?

@shewensheng we use vendoring. It may be that you are doing changes which reference files which are not included in the vendor folders because they were not referenced before. What then typically happens is that in your UI everything looks great because it just resolved dependencies itself. That can normally be fixed by running make deps-sync. Bazel just tries to tell you that you are  referencing unknown dependencies (files).

when I do make deps-sync, prompt me the same error

Just a wild guess, but could it be that you are located in china and that some dependencies are blocked?

Hello all: I am new with kubevirt，I run make with main branch on my environment centos7.6, here is my step: export DOCKER_PREFIX=<IP_ADDRESS>:5000 export DOCKER_TAG=sws0406 make
finally，make report error: [root@k8s-1 kubevirt]# make ./hack/dockerized "hack/bazel-fmt.sh" go version go1.17.5 linux/amd64
go version go1.17.5 linux/amd64 Regenerating sandbox INFO: Build option --incompatible_enable_cc_toolchain_resolution has changed, discarding analysis cache. INFO: Analyzed target //rpm:sandbox_x86_64 (263 packages loaded, 9644 targets configured). INFO: Found 1 target... INFO: From Converting sandboxroot_x86_64 to tar: Flag shorthand -s has been deprecated, use --symlinks instead Target //rpm:sandbox_x86_64 up-to-date: bazel-bin/rpm/sandbox_x86_64.bash INFO: Elapsed time: 42.444s, Critical Path: 36.14s INFO: 294 processes: 14 internal, 280 processwrapper-sandbox. INFO: Build completed successfully, 294 total actions INFO: Build completed successfully, 294 total actions INFO: Starting clean (this may take a while). Consider using --async if the clean takes more than several minutes. INFO: Analyzed target //vendor/mvdan.cc/sh/v3/cmd/shfmt:shfmt (75 packages loaded, 8342 targets configured). INFO: Found 1 target... ERROR: : BazelWorkspaceStatusAction stable-status.txt failed: Failed to determine workspace status: Process exited with status 1 ERROR: Sandbox is not up to date, please run 'hack/bootstrap.sh' Target //vendor/mvdan.cc/sh/v3/cmd/shfmt:shfmt failed to build Use --verbose_failures to see the command lines of failed build steps. INFO: Elapsed time: 2.046s, Critical Path: 0.13s INFO: 5 processes: 5 internal. FAILED: Build did NOT complete successfully FAILED: Build did NOT complete successfully make: *** [format] Error 1
Can anyone one help to to fix this problem?

I have encountered the same problem, have you solved it?

最后，make report error： [root@k8s-1 kubevirt]# make ./hack/dockerized “hack/bazel-fmt.sh” go version go1.17.5 linux/amd64

嘿，这个命令行调用看起来很奇怪。难道是你从字面上打字的？只需键入就足够了。make ./hack/dockerized "hack/bazel-fmt.sh"``make

I temporarily circumvented the problem by adding the following code in WORKACE, but I don't think this is a good method
go_repository(
    name = "com_github_compress_zstd",
    commit = "3cfb088132fccad51a8acfb2d238db1fb56583fd",
    importpath = "github.com/klauspost/compress",
)

i

I think updating your main branch should resolve that. You seem to be on an older state where we had this issue.

Our project uses v0.48 branch, but I did not encounter this problem when compiling last Friday


yarn generate:types:local command not working

command line output:
yarn generate:types:local
yarn run v1.22.19
$ export $(cat .env.local | xargs) &&  supabase gen types typescript --project-id ${SUPABASE_PROJECT_REF} --schema public > src/lib/database.types.ts
'export' is not recognized as an internal or external command,
operable program or batch file.
error Command failed with exit code 255.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

@rohansen856 could you tell me more about your operating system and she'll?

Yes... I am using windows 10


Question - Refresh the index, or we might get wrong results.

Hi, Thanks for creating this script. It looks really useful.
I am considering using it for my own project folder before I update my operating system. A kind of indication of any repos that are in an untidy state.
However I notice the line:
# Refresh the index, or we might get wrong results.
    git --work-tree "$(dirname "$GIT_DIR")" --git-dir "$GIT_DIR" update-index -q --refresh >/dev/null 2>&1

I am not sure how this changes the state of the repository. Does it add unadded files?
I am not sure if/how it could change the state of a working copy of a repo and whether it is desirable to have such changes happen on a repo.
I am thinking sometimes, a .gitignore file may not have been set correctly and it might add items which were left 'not added'.
I might be wrong, so just want to hear your thoughts on this.

Hi Forikal-uk!

I am not sure how this changes the state of the repository. Does it add unadded files?

No, it doesn't really change anything. The git index keeps track of the status of files on disk. It's normally automatically refreshed whenever you do a "git status" command. However, multi-git-status never actually runs "git status", so there are situations in which the index does not reflect what is actually on disk, and multi-git-status returns incorrect results. So it updates the index manually through "git update-index --refresh".

I am not sure if/how it could change the state of a working copy of a repo and whether it is desirable to have such changes happen on a repo.

Unless you provide the "-f" option to mgitstatus, all operations mgitstatus does on your repos are side-effect free. That is, absolutely nothing (other than updating the index) changes in your repo. The "-f" (fetch) option obviously does change things, as performs a "git fetch".
If you ever notice that mgitstatus does have unintended side-effects, please let me know, as I would consider it a grave bug. mgitstatus should always follow the Law Of Least Astonishment.
If you have any further questions, please don't hesitate to ask!

Thanks for clearing it up. I'm glad you are aiming for avoiding unintended-side-effects operation.
I shall give it a go. Once again, thanks for building this tool and offering it to the world.


Feature: Create set of mock functions for ng test

As of now when using Apollo in app, the spec fails, complaining for something along the lines of:
Error: Client has not been defined yet. I think it would be useful to have an internal mock available simply by importing it as a module in test e.g.:
imports: [
  ApolloMockModule
]

Any suggestions as to how this feature might be implemented are more than welcome as well. Thank you.
Note: I've noticed in the Apollo.spec.ts file, there is an apolloMock function: https://github.com/apollographql/apollo-angular/blob/master/packages/apollo-angular/tests/Apollo.spec.ts
Perhaps making this function available as an export, in the mocks folder(https://github.com/apollographql/apollo-angular/tree/master/packages/apollo-angular/tests/mocks) with the appropriate documentation, would solve this feature request.

Here is what i did for my Angular app, i re-used apollo-angular/packages/apollo-angular/tests/mocks/mockLinks.ts then for apolllo i use a mock version:
import { Apollo } from 'apollo-angular';
import { ApolloLink } from 'apollo-link';
import { InMemoryCache, NormalizedCache } from 'apollo-cache-inmemory';

export function mockApollo(link: ApolloLink, options?: any) {
  const apollo = new Apollo();

  apollo.create({
    link,
    cache: new InMemoryCache(),
    ...options,
  });

  return apollo;
}

Then I imported these in my spec file:
import { Apollo, mockSingleLink, mockApollo, gql } from '../../../mocks/apollo';

I start my testbed with the default Apollo:
  beforeEach(() => {
    TestBed.configureTestingModule({
      providers: [Apollo],
    });
  });

Then the testing can begin by consuming the mockApollo for the service. First i test if my schema is as agreed upon (so i test some parts of apollo too), later on im just interested in the response for my tests and i just return the promise:
  it('getProjectJira() should call apollo.query', (done) => {

    // This setup is also testing if apollo works as expected
    const query = gql`
      query getProjectJira($key: String) {
        project(key: $key) {
          jira {
            key
            homepage
            description
            lead {
              displayName
              email
              active
              __typename
            }
            __typename
          }
          __typename
        }
      }
    `;

    const variables = { key: 'AAAAAAZ' };

    const link = mockSingleLink(
      {
        request: { query, variables },
        result: {
          data: {
            project: {
              jira: {
                key: 'AAAAAAZ',
                homepage: 'foo.bar',
                description: 'foo bar',
                lead: {
                  displayName: 'xxx',
                  email: 'xxx',
                  active: true,
                  __typename: 'User'
                },
                __typename: 'Jira'
              },
              __typename: 'Project'
            }
          }
        }
      }
    );

    const apollo = mockApollo(link);
    const service = new JiraService(apollo);

    service
      .getProjectJira('AAAAAAZ')
        .first()
        .subscribe((res) => {
          // testing apollo :(
          expect(res.data.project.jira.key).toBe('AAAAAAZ');
          done();
        });

  });

  it('getProjectJira() should call apollo.query and catched', (done) => {

    const apollo = mockApollo(mockSingleLink());
    const client = apollo.getClient();
    client.query = () => Promise.reject('error');

    const service = new JiraService(apollo);

    service
      .getProjectJira('AAAAAAZ')
        .first()
        .subscribe((res) => {
          expect(res).toBe(null);
          done();
        });

  });

  it('deleteJiraProject() should mutate', (done) => {

    const result = {
      data: {
        deleteJiraProject: {
          key: 'AAAAAAZ',
          __typename: 'Jira'
        }
      }
    };

    const apollo = mockApollo(mockSingleLink());
    const client = apollo.getClient();
    client.mutate = () => Promise.resolve(result);

    const service = new JiraService(apollo);

    service
      .deleteJiraProject('AAAAAAZ')
        .first()
        .subscribe((res) => {
          expect(res.data.deleteJiraProject.key).toBe('AAAAAAZ');
          done();
        });

  });

@maapteh I commend you for the above. It definitely helps, and I will use to compare how I similarly pulled out mockLinks.ts into my project. However, I would like to gently suggest, I think this proves a point. If we have a mockLinks.ts file, that requires every dev who uses apollo in an Angular setting, to create their own mock, then we might as well create one that is universally available by simply importing as apolloMock. I myself will try to fork and implement when have time. Thank you.

I think most of the things are already there, for example https://github.com/apollographql/apollo-link/blob/master/packages/apollo-link-schema/README.md and the best place will be https://github.com/apollographql/apollo-test-utils


From to InChI

[X] Fix #474
[X] Add tests
[X] Update docstrings/documentation, if applicable
[ ] Update changelog

This PR adds support to build OFFMols from InChI strings and to get an InChI and InChI key representation of the molecule using both the standard and fixed hydrogen format, these identifiers can then be used in the generation of QCArchive submissions.

This is awesome!
One thing I've noticed is that this code pattern appears many times in toolkit-wrapped functions
@staticmethod
    def from_inchi(inchi, allow_undefined_stereo=False, toolkit_registry=GLOBAL_TOOLKIT_REGISTRY):
        """
        Construct a Molecule from a InChI representation
        Parameters
        ----------
        inchi : str
            The InChI representation of the molecule.
        allow_undefined_stereo : bool, default=False
            Whether to accept InChI with undefined stereochemistry. If False,
            an exception will be raised if a InChI with undefined stereochemistry
            is passed into this function.
        toolkit_registry : openforcefield.utils.toolkits.ToolRegistry or openforcefield.utils.toolkits.ToolkitWrapper, optional, default=None
            :class:`ToolkitRegistry` or :class:`ToolkitWrapper` to use for SMILES-to-molecule conversion
        Returns
        -------
        molecule : openforcefield.topology.Molecule
        Examples
        --------
        make cis-1,2-Dichloroethene
        >>> molecule = Molecule.from_inchi('InChI=1S/C2H2Cl2/c3-1-2-4/h1-2H/b2-1-')
        """

        if isinstance(toolkit_registry, ToolkitRegistry):
            molecule = toolkit_registry.call('from_inchi',
                                             inchi,
                                             allow_undefined_stereo=allow_undefined_stereo)
        elif isinstance(toolkit_registry, ToolkitWrapper):
            toolkit = toolkit_registry
            molecule = toolkit.from_inchi(inchi,
                                          allow_undefined_stereo=allow_undefined_stereo)
        else:
            raise Exception(
                'Invalid toolkit_registry passed to from_inchi. Expected ToolkitRegistry or ToolkitWrapper. Got  {}'
                .format(type(toolkit_registry)))

        return molecule

    def to_inchi(self, fixed_hydrogens=False, toolkit_registry=GLOBAL_TOOLKIT_REGISTRY):
        """
        Create an InChI string for the molecule using the requested toolkit backend.
        InChI is a standardised representation that does not capture tautomers unless specified using the fixed hydrogen
        layer.
        For information on InChi see here https://iupac.org/who-we-are/divisions/division-details/inchi/
        Parameters
        ----------
        fixed_hydrogens: bool, default=False
            If a fixed hydrogen layer should be added to the InChI, if `True` this will produce a non standard specific
            InChI string of the molecule.
        toolkit_registry : openforcefield.utils.toolkits.ToolRegistry or openforcefield.utils.toolkits.ToolkitWrapper, optional, default=None
            :class:`ToolkitRegistry` or :class:`ToolkitWrapper` to use for SMILES-to-molecule conversion
        Returns
        --------
        inchi: str
            The InChI string of the molecule.
        Raises
        -------
        InvalidToolkitError
             If an invalid object is passed as the toolkit_registry parameter
        """

        if isinstance(toolkit_registry, ToolkitRegistry):
            inchi = toolkit_registry.call('to_inchi',
                                          self,
                                          fixed_hydrogens=fixed_hydrogens)
        elif isinstance(toolkit_registry, ToolkitWrapper):
            toolkit = toolkit_registry
            inchi = toolkit.to_inchi(self,
                                     fixed_hydrogens=fixed_hydrogens)
        else:
            raise InvalidToolkitError(
                'Invalid toolkit_registry passed to to_inchi. Expected ToolkitRegistry or ToolkitWrapper. Got  {}'
                .format(type(toolkit_registry)))

        return inchi

I wonder if we could instead create a decorator or other metaprogramming scheme that would allow us to specify which methods should automatically have to_X(), from_X() methods filled in. For example, if we could just add a TOOLKIT_DISPATCH_METHODS = ['inchi', 'smiles', ...] and have the rest filled in automatically.

Thanks!
Yeah I agree there is a lot of repeated code in these toolkit functions and I like this idea of a decorator here would be my take on something like this
# test wrapper function
def handle_via_toolkit(orig_func):
    """Check if the function can be performed by the toolkit or not"""

    @wraps(orig_func)
    def wrapper(*args, **kwargs):
        toolkit_functions = ['to_smiles', 'to_inchi']
        if orig_func.__name__ in toolkit_functions:
            toolkit_registry = kwargs.get('toolkit_registry', GLOBAL_TOOLKIT_REGISTRY)

            if isinstance(toolkit_registry, ToolkitRegistry):
                data = toolkit_registry.call(orig_func.__name__, *args, **kwargs)

            elif isinstance(toolkit_registry, ToolkitWrapper):
                function = getattr(toolkit_registry, orig_func.__name__)
                data = function(*args, **kwargs)
            else:
                raise Exception(
                     f'Invalid toolkit_registry passed to {orig_func.__name__}. Expected ToolkitRegistry or '
                     f'ToolkitWrapper. Got  {type(toolkit_registry)}')

            return data

        else:
            return orig_func(*args, **kwargs)

    return wrapper

This decorator would then be placed on all functions that are handled via the toolkit back ends and this would allow us to keep the functions in the Molecule class and the docstrings but the function could just pass as the logic will be handled by the decorator. We could also have the toolkit_functions list automatically populate so we don't have to remember to update the list every time we add a function as well. The nice part of doing it this way is I still get autocomplete to work with the functions in pycharm, the only downside is we lose hints on the function arguments which I am not sure how to get around.
Also, it looks like the test is failing because of an example I have included which causes openeye atom indexing to skip one when made from InChI. So this line causes an error (https://github.com/openforcefield/openforcefield/blob/5baae2983a181582c0f3715376f4bc0a6bcbd079/openforcefield/utils/toolkits.py#L841) this is due to the map_atoms dict being indexed with oeatom.GetIdx() as keys and the corresponding atom_index from the OFFMol as values. However, when we later access the mapping we enumerate the atoms instead of using the oeatom.GetIdx() key that the dict was built with. I have changed this to be consistent just waiting on tests now.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@2444a98). Click here to learn what that means.
The diff coverage is 88.61%.

I like your idea above, will reply with more substance soon. I won't have time to fully review this today, but I left some requests for changes.

The current functionality seems to work well however I would check that I am using the RDKit API correctly by getting an answer to this issue before merging this branch. If anyone has any other InChI tests they would like added please let me know.

Okay, it seems like the RDKit implementation is correct. This is ready for a review.

Also, be sure to update releasehistory.rst! This InChI stuff is tricky, and we need to have a gigantic warning with flashing lights that roundtrips frequently won't work and that loading from InChI is dangerous, and a big statement about how we support (and maybe even recommend) "nonstandard" inchis.
Reasonably skilled comp chemists (you and I) didn't know this all a few weeks ago, and so the majority of our userbase won't either.

Thanks for the review Jeff, I have managed to remove the try/except block from the new sdf drug bank loader and moved the test to the test_molecule section. I totally agree as well that the tests should be clearly divided between the two files, so following with this idea we will want to have every function in the Molecule class to be tested at least once in the test_molecule file with different args if possible, and then more performance testing (like to from file) in the test_toolkits files for the same functions.
I think the move of the tests from molecule to toolkits/ testing refactor should be a different issue as I expect that we may open up a can of worms here, I'll open an issue so we can plan out exactly how we will divide the testing before we starting changing things.


Add setting to switch of auto expansion of paths upon opening project

I have projects with many root paths (10+), every time i switch to one of these projects all the root paths are expanded by default in the tree view. Is it possible to add a setting to switch off this behaviour?

Check out #114


Use HTTPS for gif in README

The current URL uses HTTP.
Since Github and PyPI both mirror the file and serve it through HTTPS, it's less likely to ever encounter "insecure content" warnings, but still nice-to-have.

Thanks


Demo/enable passkeys

I just created this to generate a vercel deployment and already cherry-picked away from here everything else relevant. Closing to avoid confusion


'stylesToAnimation' contains the error at ngx-animations/ngx-animations.ts(100,10)

Hello! I'm working with Angular 10, angular animations 11, and ngx-animations 5.0.4.
And I'm getting this error:
animations' references 'stylesToAnimation'
'stylesToAnimation' contains the error at ngx-animations/ngx-animations.ts(100,10)
Consider changing the function expression into an exported function.

Can you create a reproduction repository for your issue ?

It seems it's a bug related with angular: https://github.com/angular/angular/issues/23609


Bloxstrap Crashing When Opening[BUG]

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?
When i try to open roblox it crashes. I have tested out and i can open the normal roblox app without any problems but when i try to open roblox through bloxstrap it crashes every time. I have uninstalled and reinstalled but it is still not working.

Did you read https://github.com/pizzaboxer/bloxstrap/wiki/Roblox-crashes-or-does-not-launch?

Issue has been awaiting clarification for over a month, closing as stale. If you have anything further to add, just respond and I'll reopen.


Xaml Sample Issues

Two things about the Xaml sample on this page. (1) It has a simple typo (which is easily worked around, but should still be fixed) (2) After installing Microsoft.Toolkit.Uwp.UI.Animations, when I add the Xaml sample code to an Xaml page, I cannot compile. I get the error: "Cannot find type Windows.UI.Xaml.Controls.NavigationView in module Windows.Foundation.UniversalApiContract.winmd."

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

ID: 7f216015-9d2e-c0e3-1e40-297c54e39400
Version Independent ID: ff8da80d-57ee-c069-2673-b912e0413e0f
Content: Rotate animation behavior - UWP Community Toolkit
Content Source: docs/animations/Rotate.md
Service: unspecified
GitHub Login: @nmetulev
Microsoft Alias: nikolame

This is a known issue if you are targeting Creators update or lower while your development machine runs Fall Creators Update or newer. Updating your project to target the latest version should fix the issue


404 at /in

I found a broken link : https://docs.docker.com/in
I arrived on this page through: https://ssh.cloud.google.com/
Trying to install outline vpn server but stumble upon the following error:
Verifying that Docker is installed .......... NOT INSTALLED

Would you like to install Docker? This will run 'curl                                      yttps://get.docker.com
Installing Docker ........................... Docker installation failed, please visit https://docs.docker.com/in
stall for instructions.
Last error: # Executing docker install script, commit: 28bc4d09b3938ea30c69407d198ee8ece52c3e12

sh -c apt-get update -qq >/dev/null
sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
sh -c curl -fsSL "https://download.docker.com/linux/debian/gpg" | gpg --dearmor -o /usr/share/keyrings/docker-arc
hive-keyring.gpg
sh -c echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com
/linux/debian buster stable" > /etc/apt/sources.list.d/docker.list
sh -c apt-get update -qq >/dev/null
W: GPG error: https://download.docker.com/linux/debian buster InRelease: The following signatures couldn't be verif
ied because the public key is not available: NO_PUBKEY 7EA0A9C3F273FCD8
E: The repository 'https://download.docker.com/linux/debian buster InRelease' is not signed.
Sorry! Something went wrong. If you can't figure this out, please copy and paste all this output into the Outline M
anager screen, and send it to us, to see if we can help you.
Full log: /tmp/outline_logrwa

Hey @neonn323,
Thanks for reporting the broken link. Please report this issue on the source page where the link is located.


Got a 500 error on a like % query

I tried this:
select * from reporter where auth0_role_name like '%Trainee%'

And got a 500 error. Should have had an inline pink error instead. The problem was that those % needed to be %% - should have a hint about that.

This was a problem with the new code for extracting named parameters:
Traceback (most recent call last):
  File "/Users/simon/.local/share/virtualenvs/vial-YGecuKOB/lib/python3.9/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/Users/simon/.local/share/virtualenvs/vial-YGecuKOB/lib/python3.9/site-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/Users/simon/.local/share/virtualenvs/vial-YGecuKOB/lib/python3.9/site-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/Users/simon/Dropbox/Development/django-sql-dashboard/django_sql_dashboard/views.py", line 45, in dashboard_index
    return _dashboard_index(request, sql_queries, title="Django SQL Dashboard")
  File "/Users/simon/Dropbox/Development/django-sql-dashboard/django_sql_dashboard/views.py", line 72, in _dashboard_index
    for p in extract_named_parameters(sql):
  File "/Users/simon/Dropbox/Development/django-sql-dashboard/django_sql_dashboard/utils.py", line 47, in extract_named_parameters
    sql % capture

Exception Type: ValueError at /dashboard/
Exception Value: unsupported format character ''' (0x27) at index 21

https://github.com/simonw/django-sql-dashboard/blob/fe9f0ce774ba5d3cb75e196879fd371c218c6783/django_sql_dashboard/utils.py#L45-L48


Fix Yell::Event::Options

After defining <=> it is possible to get all comparison operators for
"free" just by including the Comparable module.
This is currently needed by rails 4.2.6 and above as seen here:
https://github.com/rails/rails/commit/a2a652a512d6ee5488eb5e2d9dea310ec34e5b59#diff-8a0607141c98298ea243209f7688f9e6R51
This fixes #41

Can you check whether your change causes the CI to fail, plz.

Failures are all occurring when running bundler, therefore not related to my changes.


Status Widget isn't updating itself synchronously with the menu bar

Hi,
first; I love this app. Thank you very much 😍
secondly; Status Widget (power item & datetime ) does not synchronously on Pock.
Expected behavior
Status Bar, power item and datetime should sync update with Menu Bar 🤔
Screenshots
Menu Bar:

Touch Bar:

And for fixing this I need to close and open Pock again every time.

I'm having this problem, too. And, the iTunes widget has stopped updating. It's currently just showing "Pock / iTunes" rather than "Song / Artist" as expected.

same problem here :)

For me, it keeps the status from the time I lock the screen and I have to restart the app

For me, it keeps the status from the time I lock the screen and I have to restart the app

Solved with v0.5.2 release

For me, it keeps the status from the time I lock the screen and I have to restart the app

Solved with v0.5.2 release

Check again after double press 'control' button

Still not fixed
Sent with GitHawk

Can confirm, just updated to 0.5.2 and the time is 3 minutes behind.
Clicking hide control strip in the preferences twice does cause it to be updated.

It‘s working sometimes and sometimes not
Sent with GitHawk

It‘s working sometimes and sometimes not
Sent with GitHawk

For me, it stopped on the Pock install time. Hiding/showing with double control, quitting and relaunching, locking and unlocking screen - nothing helps.

the time is clearly broken on the touchpad and cant sync (v 0.5.2)

The battery widget seems to work now, at least.


Problem when getting TN from target

Look at the screen shot. In this case Doctor Octopus was trying to crush spider-man and normally it should be a Melee check against his melee defense so 19 would be the target but he gave it a success at 14.

I never intended for targeting to have functionality with the latest update.
Also, please double check that there isn't already an open issue for something. The issue just before this one is a duplicate; closing because of that. Thank you!


Promote "React must be in scope" to be an error

I think this is better to surface early because it’s a common mistake and will lead to broken code in 100% cases.
Test plan:

Remove React from imports in App.js
See the overlay:

The error is googleable and leads here.

Going to get this in.


Live Demo Link

Live Demo Added to the project using GitHub pages.
Add Live Demo link to the Readme file.

STATUS: APPROVED 👍🎯
Hello @omer-creator 👋
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
Highlights ⭐
✔ Correct use of GitHub flow
✔ linters are passing
✔ professional documentation
Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


Question about the flow estimation coordinates in Waymo

Thanks for your great work.
I notice that the flow estimation in Waymo is under the ego coordinates.
pc1 and pc2 is under the ego coordinates, and adjust the gt flow by transformation.
Even though the evaluation is correct, the scene flow estimated by the model is a mixture of (scene motion-ego motion). Is there any problem in estimating the motion of a relatively static or completely static point?
Perhaps I have some misunderstandings, I am looking forward to your reply.

Yes I understand, but it seems the model is estimated the dynamic motions(relative to AV)?

Hi @Robertwyq, I did not fully understand your question. By definition, scene flow includes both rigid and dynamic motions. Therefore, the model needs to estimate both the rigid and dynamic motions.
Cheers.


Cannot download .narinfos, Access Denied on hydra.nixos.org – hydra down?!

download-from-binary-cache.pl: could not download ‘https://hydra.nixos.org/m9k62xy1330z99phcb9027ip52vyn80w.narinfo’ (Curl error 22)

On server:
500 Internal Server Error
Caught exception in Hydra::View::NARInfo->process "cannot open file ‘/home/hydra-server/.keys/hydra.nixos.org-1/secret’: Permission denied at /nix/store/6b5012vqxgiq8dnqnpsdplxgh5axyz1i-hydra-perl-deps/lib/perl5/site_perl/5.20.1/x86_64-linux-thread-multi/Nix/Utils.pm line 37."

I can confirm this, it is happening on my computers also (plural).

is this related? https://github.com/NixOS/hydra/issues/222

@matejc Looks like it.

cc @edolstra

Fixed, thanks!

Works, thanks!


Add abstract unix socket handling

Will fix #3936
Here is my first PR, I hope everything is good!
There are 2 things where I need review (there are comments in the code):

In unix_socket.cr, about uninitialized variable (see #4055)
In address.cr, about little speed improvement

If there are some specs missing, tell me and I'll add them
I'll squash the commits in the end, when we're good!
Thanks in advance!

Ok, I think I got them all, thanks for your suggestions!

I only spec'ed STREAM socket type, because when you say in #3750:

UNIXSocket and UNIXServer can now be used in DGRAM type, in addition to the default STREAM type.

Your example using UNIXSocket might work, but UNIXServer doesn't (and there is no specs about it either).
This code:
require "socket"
server = UNIXServer.new("/tmp/test.sock", type: Socket::Type::DGRAM)
server.close

Crash with: listen: Operation not supported (Errno) (with Crystal 0.20.5)
Because when using DGRAM, we must bind on it, but not listen (as a DGRAM communication is like UDP: connectionless)
Handling niceties (with UNIXServer and 'high level' objects) with DGRAM socket type is not trivial, I think it should involve another PR for DGRAM support for (non-)abstract sockets (and we could reopen #3214 to continue discussion, or open a new issue)

Ping
Is there something missing?
Do you know why the CI fails everywhere?
From the man:

the abstract namespace were introduced with Linux 2.2 and should not be used in portable programs

I don't think the ci kernel is before 2.2, and I have no clue what's broken..

Thanks @ysbaddaden!
I'll also add this soon: http://unix.stackexchange.com/questions/206386/what-does-an-symbol-denotes-in-the-beginning-of-a-unix-domain-socket-path-in-l

This looks good now, but I didn't realize abstract UNIX sockets were Linux specific. They aren't supported by any other unices (e.g. macOS, BSD), and certainly not standardized.
In this light, the abstract: true parameter and abstract? methods aren't a good solution. Maybe we should just have a little hack, expecting @ in the socket path, and only transforming it to the null byte (and vice-versa) for Linux when present, then document it slightly into UNIXSocket.

I didn't realize abstract UNIX sockets were Linux specific. They aren't supported by any other unices (e.g. macOS, BSD), and certainly not standardized.

Oh didn't realized that too

In this light, the abstract: true parameter and abstract? methods aren't good solutions. Maybe we should just have a little hack, expecting @ in the socket path, and only transforming it to the null byte (and vice-versa) for Linux when present, then document it slightly into UNIXAddress.

What you are suggesting is to drop the abstract: true and only rely on some UNIXAddress checks ?
In UNIXSocket and UNIXServer we will have some conditionals based on flag?(:linux) or something like that to check if we're on Linux, and check if the UNIXAddress is abstract and need special behavior ?

I have a patch against your work. I'll push it a bit later.

@ysbaddaden do you have an update on this ?

Weird. I did push and verified I did. I must have pushed to the wrong origin. I'll check when I'm back to my computer.

I think that we should discuss how we want to handle this, as it's not available in all plateform (it's only a linux thing).
Also, I think the Socket stuff (especially the easy wrapper classes like UNIXServer, TCPSocket) should change a little (see my comment here https://github.com/crystal-lang/crystal/issues/4317#issuecomment-295789662).

I still believe abstraction should still be supported transparently using an ASCII symbol prefix such as @ that UNIXAdress would transform to a NULL byte on Linux but either do nothing or raise on other platforms.
Impact on the existing API would be minimal, and support for Linux transparent.

Usually i'd disagree, we should use named arguments instead of cryptic symbols in strings, but in fact the fact that this is an abstract unix socket is simply part of the name, placing it in another namespace.
The problem is though, that  you can have a file called @foo just fine in linux. Suddenly our method doesn't take arbitrary paths (you have to add ./, but only in an edge case).
So i don't know. Perhaps This way is better and raise on unsupported platforms.

Now I think that we should keep it simple and compile-time safe, so using a named arg to create an abstract UNIXAddress and don't rely on a @ prefix. However when using UNIXAddress#to_s we can add a @ prefix for display purpose only.
Regarding availability, I think it is wrong to raise at runtime when we can know at compile-time that it is not supported.
Now, to allow the user to write abstract unix socket code without compile-errors, we could have a CONST (for access in macros), and the user will have to check if they're available before use:
# In stdlib
{% if flag?(:linux) %}
  ABSTRACT_UNIX_AVAILABLE = true
{% else %}
  ABSTRACT_UNIX_AVAILABLE = false
{% end %}

# In user code
{% if ABSTRACT_UNIX_AVAILABLE %}
  # Use abstract unix socket
{% else %}
  # Use normal unix socket
{% end %}

No, code that compiles on one platform should compile on another.

That's just more complex, and requires to adapt the user facing ABI to accommodate a feature only available on one specific platform, and documented as non portable.
I believe using a leading @ hack is acceptable. But since "\0hidden" is a valid string in Crystal now, maybe we can just accept a leading null byte for linux targets only (i.e. abstract namespace), yet make sure any other null byte in the string is still prevented (i.e. security issue).

Isn't that acceptable? After all, the user decided to deal with the complexity of a non portable feature.
My take is: let's take care to not break this if we can, but let's not bother to integrate it nicely.

I'm on the fence. I guess it's all bikeshedding in the end. So let's implement the simplest method: allow a NUL at the start of the string and document the \0 hack.

I'm ok with that, I implemented it, let me know how you feel about it.
For the specs on abstract socket, as they're only valid on linux, do I wrap them in {% if flag?(:linux) %} ?

No, it should just raise on non-linux, and the specs should use flag?(:linux)

@ysbaddaden can you re-review please?

Late to the party, the leading-@-hack isn't that bad imho:

It's how it's displayed to the user by commonly used tools
It's easy to be documented, with a reasonable work-around if someone wants to bind to a @foo file instead.
It's easier to type @ than \0, and easier to read & understand later on
This allows programs to be configured to use abstract unix sockets by the end-user easily, if the socket name can be set by the user (Often the case).

I also like the usage of @ prefix, but what will happen for the case where we have a path @foo on non-Linux? Should we handle it as if it was a normal path? or raise because it looks like an abstract path (even though it could be a valid path for a plateforme where abstract socket doesn't exists)?
Can't get a clear sentence, 'hope you get what I mean

@bew, on non Linux? Well, for non-existing features on platforms, we raise. So, #raise.

It's the same as when you'd try to connect a socket to a named pipe on a system that doesn't support that.

Last commit uses @ as address prefix, I'm waiting your reviews!

@bew if you change the PR impl back and forth every time someone comes in with a dissenting view we'll never get anywhere. Please, let's decide then implement. My vote still goes firmly for \0 because it's not a valid path character and so removes an edge case.

You're right @RX14 thanks, I won't touch anything for a few days until more people gave their opinion and (hopefully) a consensus is found!

IMHO: you can drop most of the PR, and merely:

add a UNIXAddress#abstract? method that returns true if the target is Linux + the string is at least 1 char + the first char is a null byte, and returns false otherwise (no need for @abstract, no need to meddle with @path in UNIXAddress);
memorize @abstract = addr.abstract? in UNIXServer;
don't delete the file in UNIXServer#close if @abstract.

That is, a best effort to support the abstract namespace for UNIX sockets on Linux with minimal changes. I don't think we have to document it, either, but if we do, a oneliner would be enough:

You may use abstract sockets on Linux by prefixing the path with a null byte, for example "\0hidden".

I want to weigh in on the usage of @ as an indicator for abstract paths, similar to what I've previously argumented about supporting Unix sockets in HTTP::Server:
It should be easy to let the unix socket be configured by an external config setting (command line argument, config file etc.). The usual way to do this is @ as a prefix. It would be terrible user experience if you'd have to use null byte in a configuration value and probably break things.
I don't think the application should be required to interpret such a config value and replace @ with null in order to make abstracts sockets work, as this would easily be forgotten. The stdlib should honor and encourage to use the de-facto standardized format format for user input.
This would not necessarily mean to drop the null byte implementation, but there should at least be an easy way to support @-based abstract socket paths without any additional effort.

HouseKeeping: @bcardiff I noticed this PR has been approved by 2 core members. Is this still a viable PR? @bew maybe this needs an update rebase?

I see flags for Linux but would this also work on FreeBSD?

@jwoertink Since both approvals where given, the code has changed a lot. It needs a rebase first and then two new reviews.

Hello, I'm cleaning up old PRs of mine on projects I don't follow anymore.
What do we do with this PR ? Close? or someone wants to take it?

Following my last comment, I'm cleaning up my old PRs, and this seems to be going nowhere..
The code is probably way outdated now (I didn't follow Crystal's development for a few years now 😬)
If anyone wants to ever implement this, please re-open the PR as yourself.
I'll close this, have a good day everyone, contributing to Crystal have been a lot of fun o/


Add support for base spacing scale in Stack

Summary
This pull request adds support for base spacing scale tokens on Stack's gap and padding props. This allows for more flexible customization of spacing using Stack while keeping the possible values constrained to our size tokens.
Basic example:
<Stack gap={96} padding={40}>...</Stack>

With responsive props
<Stack
  gap={{
    narrow: 'condensed',
    regular: 48,
    wide: 96,
  }}
  padding={40}
>
 ...
</Stack>

Docs

List of notable changes:

Extended StackSpacingVariants to include size scale values
Added classes for gap and padding to support the new scale
Added test coverage for Stack

Supporting resources (related issues, external links, etc):

https://github.com/github/primer/issues/2237

Contributor checklist:

[x] All new and existing CI checks pass
[x] Tests prove that the feature works and covers both happy and unhappy paths
[x] Any drop in coverage, breaking changes or regressions have been documented above
[x] New visual snapshots have been generated / updated for any UI changes
[x] All developer debugging and non-functional logging has been removed
[x] Related issues have been referenced in the PR description

Reviewer checklist:

[ ] Check that pull request and proposed changes adhere to our contribution guidelines and code of conduct
[ ] Check that tests prove the feature works and covers both happy and unhappy paths
[ ] Check that there aren't other open Pull Requests for the same update/change

@rezrah thanks! I applied the feedback and added a new story for the base scale support.


Update "stable" to serving v0.2.2 artifacts

istio to v0.2.2 of serving

serving to v0.2.2

LGTM


Can't play m4a format

Hi, can you please enable m4a file format support?

Thanks for raising this issue, updated the SDK with the support of m4a.


create file read pipeline

Create an azure function that is triggered when a file is uploaded into the raw blob container.

[x] Read json data
[x] Validate json
[x] deserialize json
[ ] Generate embeddings for each:
Embed each Skill Name individually.
Embed each Topic Name individually.
Embed each Service Name individually within each topic.
[ ] Store file data and embeddings in cosmos db
[ ] Move file to archive blob
[ ] Add processed message

deserializing is done. Embeddings next

decided to change the data model, going with 1 file per mapped skill-service

cosmos db and container created, based of this, going to create embeddings for a sentence made up of values instead of embedding per each value https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/how-to-dotnet-vector-index-query

save to cosmos is done, this was useful https://learn.microsoft.com/azure/azure-functions/functions-bindings-cosmosdb-v2-output?tabs=python-v2%2Cisolated-process%2Cnodejs-v4%2Cextensionv4&pivots=programming-language-csharp

#2 done
need to create a timer function that cleans up certdata blobcontainer daily or something


Consider createHTMLDocument instead of custom parser

insane has a great API. Though these days (if <=IE8 can be ignored) I would humbly submit there are better possible implementations.
The browser is already good at parsing HTML. Why not scrap the homegrown parser and just let the browser do what it's good at?
var doc = document.implementation.createHTMLDocument();
doc.body.innerHTML = inputHTMLString;

Boom. Now doc.body is your parsed dom.
And sanitizer is really just a mechanism to query the dom. Which browsers can also do pretty well:
var nodes = doc.querySelectorAll(elementsToDrop.join(','));

All in all, insane could quickly be implemented thusly:
function insane (html, options, strict) {
  var doc = document.implementation.createHTMLDocument();
  doc.body.innerHTML = html;

  doc.querySelectorAll(":not(" + options.allowedTags.join(',') + ")").each(function(node){
    node.parentNode.removeChild(node);
  });

  return doc.body.innerHTML;
}

Granted, this implementation doesn't meet the full api, but with some minor changes, it could very well do so. And would come in significantly smaller :)

IE < 9 shouldn't be ignored

IE < 9 shouldn't be ignored

insane already doesn't support IE < 9:
reduce, forEach, Object.keys
https://github.com/bevacqua/insane/blob/a62736ca29655fdc7098d6df2fae02aa50e00d0d/sanitizer.js#L39
https://github.com/bevacqua/insane/blob/0792aa70eab1903656e74687dd740d5a694cd990/toMap.js#L4

Those can easily be polyfilled

Indeed. And I don't mean any disrespect. But it would be awesome to have the same API for insane but whittled down from a 2kb dep to ~200 bytes.
Judging from your readme, this lib was created to a replacement for sanitize-html, but focusing on a smaller footprint. Given there is potential for 90% size reduction for the same api/functionality, it would be "insane not to use this" :)
Just bringing up the potential here. Your lib, obviously your choice.

I'd rather keep broader support over a 90% reduction on a measly 2kb size. Thanks for the suggestion though.


Fix MacOS aws-sdk-cpp Dependency Failing Build

Description
Fix failing MacOS build.
Issues Resolved
#37
Check List

[ ] New functionality includes testing.

[x] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@rupal-bq @dai-chen could you please merge this PR?
Neither I nor Yury have permissions to do so in this repository.


Document extension functions in store.kt

Closes #668
Description
This PR adds documentation to store.kt so that it's easier to grok all the different types that there are. Along with calling out needing to handle exceptions otherwise there could be potential crashes that are hard to find within your logging.
Type of Change

[x] This change is a documentation update

Checklist:
Before submitting your PR, please review and check all of the following:

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[x] I have added tests that prove my change is effective
[x] New and existing unit tests pass locally with my changes

Fixed the sign off


null sourcesContent with 0.0.84

With traceur 0.0.84 the following results in null sourcesContent:
(new traceur.NodeCompiler({sourceMaps: 'inline', modules: 'commonjs'}))
  .compile("console.log('x');", '/a.js', '/a.js');

It appears to be related to the leading slash in outputName / the problem in #1695. This triggers it too:
(new traceur.NodeCompiler({sourceMaps: 'inline', modules: 'commonjs'}))
  .compile("console.log('x');", 'somedir/a.js', 'somedir/x.js');

:+1:
It completely breaks sourcemaps in Webpack + source-map-loader.

Try removing the outputName argument. Does it make a difference?

Try removing the outputName argument. Does it make a difference?

It populates the sourcesContent, but populates "file":"<compileOutput>" instead of the value you want.

Modifying the sourcemap after it is created is relatively easy for these record properties.

Modifying the sourcemap after it is created is relatively easy for these record properties.

Your proposal is that in order to get sensible source map output when using traceur the user should have to take traceur's output, strip out sourceMappingURL comments, parse the source map, manipulate it, and add a sourceMappingURL comment back to the file? And all for what, so CLI users can get an auto-generated value that may not have anything to do with anything?

No, but maybe we should move the sourcemap inlining out of traceur. Just have utility API functions to deal with all of these issues.   That would prevent traceur from blocking progress on the issues of sourcemaps that don't require parse info.

So then what would happen with the CLI? As far as I've been able to tell, trying to cater to some anticipated rigid correspondence between location of source / generated files on local disk and location of files on the web server serving the source map, for the sake of the CLI, is responsible for most or all of these weird path handling issues that have been mucking up the source mapping.

My goal, as you note, would be to keep the CLI working as it is unless there is a reason to change it.  Breaking out the sourcemap functions in the API would allow API callers to be more flexible for cases they need and in the CLI we'll support the opinionated location of source/generated files.
Alternatively someone can propose pull requests that make the path handling less weird.

Ok, so we had sourceRoot being treated as a local path to alter sourceName values and that was discontinued, right? So now we're down to just outputName being used to alter sourceName values, right?

My goal, as you note, would be to keep the CLI working as it is unless there is a reason to change it.

The reason to change it is that it's the basis for making the API (and CLI) work in a screwy way for everyone else who doesn't want that behavior, who wants straightforward behavior for controlling the source map output. Why not make the baseline behavior predictable and straightforward and give CLI users a flag to opt-in to this opinionated behavior? Do a majority of CLI users even want that?

Breaking out the sourcemap functions in the API would allow API callers to be more flexible for cases they need and in the CLI we'll support the opinionated location of source/generated files.

That might be a good option to have anyway, but I'm not sure all usage of the API should require jumping through hoops just to work around an opinionated behavior that's assumed for the CLI. Another option could be to add a signature like this for the compile method:
// src is the same as currently
compile(src, sourceMap)

// sourceMap is an object that can include the following properties,
// which will be passed through to source map output unaltered and
// used for nothing else:
{
  // String that will be populated in the `sources` array
  sources: 'abc',
  // String that will be populated as the `file` property
  file: 'xyz',
  // String that will be populated as the `sourceRoot` property
  sourceRoot: '/'
}

That would be low overhead for API users because (although a bit more verbose) it's similar to the current signature and values that would've been passed as sourceName / outputName would just be passed in the hash instead. This is just off the top of my head -- I'll consider it further.

Focusing for the moment on getting the API calls working in a sensible way, can't you just detect which requests are coming through the CLI and disable (omit) this opinionated input alteration for requests made via the API? Or failing that, at least do what I suggested on 2/16 and disable it when compile() is passed the content argument? You seem to think there's some logic to altering the paths when CLI users ask Traceur to read from and write to the file system, but what's the explanation for doing it when Traceur isn't asked to do either of those things?


SocketException (SocketException: Connection timed out (OS Error: Connection timed out, errno = 110), address = 2..*.**1, port = 47680)

Hi ,
i would test in my Plesk Server with a Database, but its not connecting to the My Database which i in Plesk hosted.
Thanks for your Reply !
Regards.
Berkay

Good day. Can you switch logging branch and provide log details? See readme, troubleshooting.

https://stackoverflow.com/questions/72676720/flutter-mysql-connection-with-plesk-server-mariadb

Issue is fixed?


Android specific Google Maven Repository dependencies warning in ORT: Could not find artifact

Hello ORT Team,
while testing ORT on different Android Projects, I have noticed that I get warnings and issues with androidx dependencies.
It seems that specific repositories (example Google Maven) in the build.gradle buildscript are not recognized correctly by ORT.
This happens specially with dependencies which are on the androidx google maven repository.
For example, an Android project with a build.gradle ex:
buildScript {
repositories {
google()
maven { url "https://plugins.gradle.org/m2/" }
}
}
and with an app/build.gradle
dependencies {
implementation "androidx.appcompat:appcompat:1.3.0"
}
When running the analyzer, the following issues / warns are reported:
This is a part of the log using the --info option of analyzer:
16:33:01.835 [DefaultDispatcher-worker-1] WARN  org.ossreviewtoolkit.analyzer.managers.utils.MavenSupport - Could not find artifact androidx.appcompat:appcompat::1.3.1 in any of [https://dl.google.com/dl/android/maven2/androidx/appcompat/appcompat/1.3.1/appcompat-1.3.1, https://plugins.gradle.org/m2/androidx/appcompat/appcompat/1.3.1/appcompat-1.3.1].
16:33:02.448 [DefaultDispatcher-worker-1] WARN  org.ossreviewtoolkit.analyzer.managers.utils.MavenSupport - Could not find artifact androidx.activity:activity::1.2.4 in any of [https://dl.google.com/dl/android/maven2/androidx/activity/activity/1.2.4/activity-1.2.4, https://plugins.gradle.org/m2/androidx/activity/activity/1.2.4/activity-1.2.4].
16:33:03.059 [DefaultDispatcher-worker-1] WARN  org.ossreviewtoolkit.analyzer.managers.utils.MavenSupport - Could not find artifact androidx.fragment:fragment::1.3.6 in any of [https://dl.google.com/dl/android/maven2/androidx/fragment/fragment/1.3.6/fragment-1.3.6, https://plugins.gradle.org/m2/androidx/fragment/fragment/1.3.6/fragment-1.3.6].
Is there any specific configuration or parameter I might be missing, so that the Google Maven Repository and androix dependencies get correctly identified?
Thanks and best regards
Felix

Yes, we're aware of several Android-specific issues when analyzing Gradle projects, and I'm working on a solution as part of https://github.com/oss-review-toolkit/ort/issues/4694, which will very like also fix this issue.

Thanks for the quick response Sebastian.
Best regards


xgboost train's iteration AUC different from AUC of its predictions

I have a question that I couldn't justify it for myself. The AUC value that I get from xgboost's iterations is different from the AUC value for the predictions coming from the model fit on the same data. I'd be appreciated if you can explain this to me:
require(xgboost)
require(pROC)

## load in the agaricus dataset
data(agaricus.train, package='xgboost')
data(agaricus.test, package='xgboost')
dtrain <- xgb.DMatrix(agaricus.train$data, label = agaricus.train$label, missing = NA)
dtest <- xgb.DMatrix(agaricus.test$data, label = agaricus.test$label, missing = NA)

param <- list(max.depth=2,
              eta=1,
              verbose = TRUE,
              objective="binary:logistic",
              eval_metric = 'auc')
nround = 5

## training the model for two rounds
bst <- xgb.train(param, dtrain, nround, nthread = 2, watchlist = list(train = dtrain))
## [0]  train-auc:0.958228
## [1]  train-auc:0.981413
## [2]  train-auc:0.997070
## [3]  train-auc:0.998757
## [4]  train-auc:0.999298

## predict using first full trees
ypred1 <- predict(bst, dtrain)
ypred1 <- ifelse(ypred1 >= 0.5, 1, 0)

auc(agaricus.train$label, ypred1)
## Area under the curve: 0.9931

Environment info
Operating System: Windows 7
Package used (python/R/jvm/C++): R
xgboost version used: xgboost_0.4-4

AUC is supposed to be used with un-thresholded predictions, as this metric summarizes model's ability to discriminate between two classes across all the possible thresholds.

@khotilov I see! But wouldn't it kinda be misleading? because for a binary classification, you ultimately need to pick a threshold to turn the probabilities into class predictions, so for example in this case, no matter what threshold you use, you won't get the "thresholded-auc" of 0.999298. And in another question, they authors themselves said to threshold it using 0.5 if you want class-predictions. (even though it's up to us how we want to find our sweet spot between the precision and recall or FPR)
But I completely see your point, and it totally makes sense.


Add stricter configuration rule for the project

https://github.com/raywenderlich/swift-style-guide
Related to #235

Hey @brunoocasali is this still relevant?

Its is something that makes our SDK better, but this is something we can live without, so is up to you, I would like to continue working on this issue in the future :shipit:

Unfortunately, I don't have time to work on this code anymore. Closing!


docs(samples): update samples to use async/await and mocha

Works towards https://github.com/googleapis/google-cloud-node/issues/2865 and https://github.com/googleapis/google-cloud-node/issues/2869 (it's a good idea to open an issue first for discussion)

[ ] Tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

@muraliQlogic as soon as the samples tests are passing, would be happy to merge this one :) Let me know if you need any help!

@JustinBeckwith  : Can you please invoke the samples test check.

@muraliQlogic I sent an invite to the googleapis org on GitHub.  If you accept that, it will run the tests for you instead of needing one of us to add a kokoro label :)

@JustinBeckwith  : samples test are passing locally with other project that i am testing with.

@JustinBeckwith, @muraliQlogic can't add labels for some reason..

I just ran sloth users, can you try again?

The samples tests show this:

npm ERR! Failed at the<EMAIL_ADDRESS>samples-test script.


glasses not converted well

bedroom scene

this view is
<matrix value="0.614 -0.057 0.787 -1.470 0.093 0.998 0.070 0.728 -0.789  -0.040   0.613  1.988 0 0 0 1"/>
with my commit https://github.com/tigrazone/Lumen/commit/a2b4d0c07eefcf59eb5a815822ee60d2d6c5fcbc I have

Should be fixed now. The idea is to make the principled BSDF a default fallback in these cases. So all the dielectric types are assumed to be principled.


string view parameters are copied

Docs should explain that all beast interfaces which take a string view as input will copy the data. This is particularly important for basic_fields.

Should go without saying now that views are a very common pattern.


[Addition]: Hotspot in fake location

Hotspot b58 Addresses
11o9K75RxR2LUy2MfouLnwK8JwrawateHfdRxw6Z2z9EvyT5E73
Discord Handle
legsman (ACT YOUR WAGE)#5067
Reason(s)
I noticed this hotspot is an invalid witness for me because it is too close but says it is in Norwich, I looked into it’s transactions and they are all witnesses in leicester. This hotspot is in completely the wrong location and owned by a wallet with 558 hotspots which are all gamers. Please look into the whole owner wallet.

We have taken into account this addition request in the next iteration of the denylist. Some or all of the Hotspots listed may be added to the denylist. This is an automated comment due to the volume of addition and removal requests. A future tool is in the works to provide more insight into the analysis approach made by the Helium team and community members that maintain this list.


Remove materialize lib

Found a problem.  Try to create a new event.  The top of the "What dates might work for you?" text is cut off by a couple of pixels.


⚠ Bofrost.de has degraded performance

In e1612ea, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 744 ms

Resolved: Bofrost.de performance has improved in bca7c02 after 6 minutes.


Fixed hook in gmod_wire_pod.lua so it ignores nil

This was found by @Stromic
Our server is using GProtect and we came across an issue where we could not use any Advanced Dupe with Wire Pods. It turns out it was because the hook.Run was checking for false and nil instead of just false.

This wouldn't affect adv dupe, though. It would have only affected linking vehicles by right clicking with the same tool you use to spawn the entity.

What's the underlying cause here? Why is hook.Run("CanTool", ...) ever returning nil?

Doesn't matter. nil should be treated as true.


Fix to redact WIF keys, nep2 keys and contract metadata from the command history file (fixes #301)

What current issue(s) does this address, or what feature is it adding?
Fixes #301
How did you solve this problem?
By changing the content of .prompt.py.history file after a particular command among import wif {wif}, export wif {wif}, import nep2 {nep2}, export nep2 {nep2} are executed. The WIF keys and the nep2 keys are replaced with <wif> and <nep2> respectively. Metadata (name, description) generated by the command import contract {path/to/file.avm} {params} {returntype} {needs_storage} {needs_dynamic_invoke} is also purged from the .prompt.py.history file.
How did you make sure your solution works?
I tried running the above specified commands and they are successfully redacted.
Please check the following, if applicable:

[ ] Did you add any tests?
[X] Did you run make lint?
[X] Did you run make test?
[X] Are you making a PR to a feature branch or development rather than master?
[X] Did you add an entry to CHANGELOG.rst? (if not, please do)

Coverage remained the same at 78.238% when pulling 9b41a6594d4f06f0f7d4409ca9888f0360658b69 on BSathvik:feature-history-redaction into 8108303cd7618700eac46360fe1fd9b5f31c6d1b on CityOfZion:development.

Thanks for the contribution 👍
I'm not sure that opening the history file, searching for a command, and writing back all lines except the match is the best approach to this. I think better would be to not write it in the history file in first place.
This could be achieved with a custom History object that doesn't store specific things. What do you think? See also http://python-prompt-toolkit.readthedocs.io/en/master/pages/building_prompts.html#history


Wave form for the whole audio duration ?

Hello @jerosoler ,
I see on your demo that your library represent the audio waves at a time T.
Can your library display the whole duration's overall waveform ? as this code do : https://codepen.io/hugolpz/pen/eYoKaBj
If so that case I would like to use your library, the SVG are a plus+ :3

Hi @hugolpz
Yes, it allows you to show the entire duration. What is calculated in the browser and in some cases it could take time.
You can also see here a webcomponent created with this library.
Demo: https://jerosoler.github.io/wave-audio-path-player/
And repo: https://github.com/jerosoler/wave-audio-path-player

Same file in your example:
View in link:
https://codi.link/PHN2ZyBpZD0iZXhhbXBsZTEwIiBoZWlnaHQ9IjE0MHB4IiB3aWR0aD0iODAwcHgiPgogICAgICAgICAgICA8cGF0aCBkPSIiIHN0eWxlPSJmaWxsOm5vbmU7IHN0cm9rZS13aWR0aDogMzsgc3Ryb2tlOnJlZCIgPgogICAgICAgICAgICA8L3BhdGg+Cjwvc3ZnPg==||aW1wb3J0IHsgZ2V0QXVkaW9EYXRhLCBsaW5lYXJQYXRoLCBwb2xhclBhdGggfSBmcm9tICdodHRwczovL2Nkbi5za3lwYWNrLmRldi93YXZlZm9ybS1wYXRoJzsKCmFzeW5jIGZ1bmN0aW9uIEF1ZGlvUGF0aChmaWxlKSB7CiAgICBjb25zdCBhdWRpb0RhdGEgPSBhd2FpdCBnZXRBdWRpb0RhdGEoZmlsZSk7CgogICAgY29uc3QgZXhhbXBsZTEwID0gbGluZWFyUGF0aChhdWRpb0RhdGEseyAKICAgICAgICBzYW1wbGVzOiAxMDAsIHR5cGU6ICdzdGVwcycsIHRvcDogMjAKICAgIH0pOwogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2V4YW1wbGUxMCBwYXRoIikuc2V0QXR0cmlidXRlKCdkJywgZXhhbXBsZTEwKTsKfQpBdWRpb1BhdGgoImh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdHJhbnNjb2RlZC8wLzBiL0xMLVExNDE4NV8lMjhvY2klMjktVW5pdiVDMyVCMmM2NC1Mb2JpJUMzJUE4cl9kZV9IYXV0Lndhdi9MTC1RMTQxODVfJTI4b2NpJTI5LVVuaXYlQzMlQjJjNjQtTG9iaSVDMyVBOHJfZGVfSGF1dC53YXYubXAzIik7CiAKIAoKCg==

@jerosoler thank you. I tinkered your code and finaly came up with the two following demo :

List : https://jsfiddle.net/hugolpz/vre7hgto/2/
Map : https://hugolpz.github.io/NamesOfTheLand/
I'm working on Occitan whistle, having the sound wave is a plus ! 😉

Wow! nice project! @hugolpz  And beautiful region Occitanie ❤.
Good luck with your project.
Thanks for using the library! ;)
If you feel like it, you can make a donation to continue creating projects! Or mark with a star.


Suggestions Replace Words

Type: Bug
Suggestions are forcibly overwriting words for typescript files, regardless of the state of the insert mode setting (the setting does have a "(modified elsewhere)" label on it in the UI).
It doesn't happen if I launch VS with extensions disabled, but still happens if I manually disable all extensions one by one.
VS Code version: Code 1.90.2 (5437499feb04f7a586f677b155b039bc2b3669eb, 2024-06-18T22:34:26.404Z)
OS version: Windows_NT x64 10.0.22631
Modes:
Remote OS version: Linux x64 <IP_ADDRESS>-microsoft-standard-WSL2

System Info

Item
Value

CPUs
13th Gen Intel(R) Core(TM) i7-1355U (12 x 2611)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
63.72GB (33.51GB free)

Process Argv
--crash-reporter-id fa93393e-62e3-4829-bded-4ed5ef11907d

Screen Reader
no

VM
0%

Item
Value

Remote
Dev Container

OS
Linux x64 <IP_ADDRESS>-microsoft-standard-WSL2

CPUs
13th Gen Intel(R) Core(TM) i7-1355U (12 x 0)

Memory (System)
31.21GB (25.24GB free)

VM
0%

Extensions: none
A/B Experiments
vsliv368cf:30146710
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492cf:30256860
vstes627:30244334
vscoreces:30445986
vscod805:30301674
binariesv615:30325510
vsaa593cf:30376535
py29gd2263:31024239
c4g48928:30535728
azure-dev_surveyone:30548225
a9j8j154:30646983
962ge761:30959799
pythongtdpath:30769146
welcomedialogc:30910334
pythonnoceb:30805159
asynctok:30898717
pythonregdiag2:30936856
pythonmypyd1:30879173
h48ei257:31000450
pythontbext0:30879054
accentitlementsc:30995553
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
cppperfnew:31000557
dsvsc020:30976470
pythonait:31006305
jchc7451:31067544
chatpanelc:31048052
dsvsc021:30996838
724cj586:31013169
pythoncenvpt:31062603
a69g1124:31058053
dvdeprecation:31068756
dwnewjupyter:31046869
legacy_priority:31082724

I use TypeScript suggestions a lot and I am not seeing this. Please extract a minimal repro that demonstrated the issue and share it here. Also double check your settings, esp language specific overrides.

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


[ISSUE #3956 ]

This PR Resolves #3956
Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

You should modify your pr title as this format:
[ISSUE #{the issue number}]{the issue title without the first category tag}.
For example, this pr title should be [ISSUE #3956]Code optimization.[EventHandler].
Other pr you posted should do this modification, too.

@pandaapo sure Will do it ASAP!


compile issue

Thanks for sharing your greate work!
When build DiffKV, I met errors

[root@localhost build]# make titan -j
make: *** No rule to make target 'titan'.  Stop.

Can you provide more details like hardware configuration, system version, dependent libraries? It is hard to get the cause of the problem from limited information.

Maybe you should to check  if the cmake execute successful , after that the makefile will be produced.

Yes, I have the same problem, I think @ZacharyLiu-CS you can use an empty machine to execute the code, and there is no titan target in cmake. even though I just make -j, there are a lot of errors contained in your code.

Which version of Titan is implemented based for DiffKV?

Which version of Titan is implemented based for DiffKV?

Thanks for sharing your greate work!
When build DiffKV, I met errors

[root@localhost build]# make titan -j
make: *** No rule to make target 'titan'.  Stop.

It's clear that there is no titan target in the Makefile. What's the reason to build titan here ? Is it to compare diffkv to titan ? I would just build it from titan

Which version of Titan is implemented based for DiffKV?

@zjs1224522500 the master branch based on TiKV 6.29 RocksDB

@ZacharyLiu-CS I also have issues compiling diffkv, it fails when it tries to link against titan. I installed the right version that is working on top of tikv/rocksdb 6.4.tikv but maybe it's more recent than when you wrote your code and that's why the linking is failing now.
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libtitan.a(db_impl_gc.cc.o): in function `rocksdb::titandb::TitanDBImpl::BackgroundCallGC()':
db_impl_gc.cc:(.text+0xe5b): undefined reference to `rocksdb::SyncPoint::GetInstance()'
/usr/bin/ld: db_impl_gc.cc:(.text+0xea1): undefined reference to `rocksdb::SyncPoint::Process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void*
)'
/usr/bin/ld: db_impl_gc.cc:(.text+0xf54): undefined reference to `rocksdb::SyncPoint::GetInstance()'
/usr/bin/ld: db_impl_gc.cc:(.text+0xf9a): undefined reference to `rocksdb::SyncPoint::Process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void*
)'
..
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libtitan.a(blob_file_reader.cc.o): in function `rocksdb::titandb::BlobFileReader::Get(rocksdb::ReadOptions const&, rocksdb::titandb::BlobHandle const&, rocksdb::titandb::BlobRecord*, rocksdb::PinnableSlice*)':
blob_file_reader.cc:(.text+0xd26): undefined reference to `rocksdb::SyncPoint::GetInstance()'
/usr/bin/ld: blob_file_reader.cc:(.text+0xd60): undefined reference to `rocksdb::SyncPoint::Process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void*)'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libtitan.a(blob_file_set.cc.o): in function `rocksdb::titandb::BlobFileSet::LogAndApply(rocksdb::titandb::VersionEdit&)':
blob_file_set.cc:(.text+0x1fe9): undefined reference to `rocksdb::SyncPoint::GetInstance()'
/usr/bin/ld: blob_file_set.cc:(.text+0x202f): undefined reference to `rocksdb::SyncPoint::Process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void*)'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libtitan.a(blob_file_set.cc.o):(.data.rel.ro._ZTIN7rocksdb7titandb11LogReporterE[_ZTIN7rocksdb7titandb11LogReporterE]+0x10): undefined reference to `typeinfo for rocksdb::log::Reader::Reporter'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libtitan.a(blob_format.cc.o): in function `rocksdb::titandb::BlobDecoder::DecodeRecord(rocksdb::Slice*, rocksdb::titandb::BlobRecord*, rocksdb::titandb::OwnedSlice*)':
blob_format.cc:(.text+0x573): undefined reference to `rocksdb::SyncPoint::GetInstance()'
/usr/bin/ld: blob_format.cc:(.text+0x5b2): undefined reference to `rocksdb::SyncPoint::Process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void*)'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libtitan.a(blob_gc_job.cc.o): in function `rocksdb::titandb::BlobGCJob::Finish()':
blob_gc_job.cc:(.text+0x248d): undefined reference to `rocksdb::SyncPoint::GetInstance()'
/usr/bin/ld: blob_gc_job.cc:(.text+0x24c7): undefined reference to `rocksdb::SyncPoint::Process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void*)'
/usr/bin/ld: blob_gc_job.cc:(.text+0x26e2): undefined reference to `rocksdb::SyncPoint::GetInstance()'
/usr/bin/ld: blob_gc_job.cc:(.text+0x271c): undefined reference to `rocksdb::SyncPoint::Process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void*)'
collect2: error: ld returned 1 exit status

Which version of Titan is implemented based for DiffKV?
It starts from 715dbd69f1c8ea1d42d2b8edb7a6f2a4fd15ca33 in Titan master branch.


Max_replication_slots value and Checkpoint file generation

PGSync version: Latest
Postgres version: 10
Elasticsearch version: 8.6.2
Redis version: 6.0.16
Python version: 3.11.2
Problem Description:

Can you let me know the minimum number of replication slots required in max_replication_slots field?
During execution of bootstrap command it says no checkpoint file found? What shall I do here? Is it a setup or something I need to perform?

https://pgsync.com/getting-started/setup/

Error Message (if any):
Here it says max_replication_slots = 1, is minimum required. But during run of bootstrap -c command it fails due to the reason it tries to create more slots one with name _tmp_ and one more.

Hi.

The minimum number for max_replication_slots is 1.

replication slots requires resources . You basically need one for each node in your schema.json

Can you send me the exact stark trace for the checkpoint error?

You can set the checkpoint location with CHECKPOINT_PATH

Also what is you schema structure?


🔨(project) bind edx sources to host directories

Purpose
During development and testing, it is convenient to inspect the edX sources.
Proposal

[X] Bind two Docker volumes containing the edX sources (from the edx-platform and the Python modules) to the host.
[X] Bind port 3000 from the edX LMS to facilitate connecting a remote debugger for the LMS.

We choose to split this PR.
The changes related to the development environment are moved to the dev branch and should not be merged with main.
The changes related to bug fixes are moved to a new PR: #22


Mouse clicks are reversed when left-handed mouse is set

When using pyautogui.click() functions in Kubuntu with a left-handed mouse set the mouse buttons are reversed.  In other words, when calling pyautogui.click() a right-click is sent rather than a left click.
I've worked around this by passing the button=3 parameter to the click() function but I thought I'd point it out.
This also affects kde running on debian 8.
kev.

Very bizarre, I'll have to take a look at the code because that sounds weird, but I'm sure my mom would go nuts being a lefty and heavy mouse user.

Cool, thanks.

This ALSO affects Windows.
If you require button="left"/"right" to mean physical buttons, then you could at least introduce "primary"/"secondary" aliases, that mean what they're supposed to, i.e. respecting system settings.
On Windows, SM_SWAPBUTTON is 1 when the system is left-handed ("switched")
SM_SWAPBUTTON = 23
print(win32api.GetSystemMetrics(SM_SWAPBUTTON)))


Adding a cluster to the hotbar should override "empty" entries

Describe the bug
Now that the hotbar has "empty" entries by default (see #2638) (though I don't know why they actually exist instead of just being placeholders). If you add a cluster they should override them.
This is what happens if you add a cluster currently:

@aleksfront ?

fixed by #2691


Update README.md

5.4.* is unsupported and the documentation suggests that 5.4.2 is the only PHP version that is compatible. It is true, that this updated patched a quite serious bug, but this was over 5 years ago.

Hi @g3n1us - just to make sure I understand.  When you say that the "documentation suggests that 5.4.2 is the only PHP version", which part are you referring to?
On https://github.com/Esri/resource-proxy/tree/master/PHP#requirements, under requirements it lists:

PHP 5.4.2 or higher (recommended)

On https://github.com/Esri/resource-proxy/tree/master/PHP#php-version-check-has-failed (so if the version check fails),

...the minimum proxy requirements are set to PHP version 5.4.2. ...
...however PHP version 5.4.2 contains important security updates...

Is it that last one?  If so, maybe it would be clearer if it said version 5.4.2 and later (contains important security updates)?
Note also that we'll probably be moving to a a new minimum requirement of 7.1 very soon (due to php incompatibility issues betwen 5x and 7x) - see https://github.com/Esri/resource-proxy/issues/449 for details.

which part are you referring to?

@bsvensson the documentation improvement he's suggesting is in php/README.md.

I pushed a commit with another small tweak to the language.
thanks for pointing out the problem and proposing a fix @g3n1us!


Feat: customizable character and space shortcut events

Description
A new possibility to add real-time shortcuts has been created using CharacterShortcutEvent and SpaceShorcutEvent. Both are executed when _onKeyEvent is called, however, checks are made to not execute everything at the same time first (this could be subject to change in order to improve the performance of the operations).
CharacterShorcutEvent is a class that is called in a general way every time the user types something inside the editor (these events are ignored and the key is space, tab, or a new line).
SpaceShorcutEvent is a class that is only called (as its name says) when the space key is pressed.
Example
Sorry for bad quality
Without shorcuts implemented

With shorcuts implemented

[x] ✨ New feature: Adds new functionality without breaking existing features.
[ ] 🛠 Bug fix: Resolves an issue without altering current behavior.
[x] 🧹 Code refactor: Code restructuring that does not affect behavior.
[ ] ❌ Breaking change: Alters existing functionality and requires updates.
[ ] 🧪 Tests: Adds new tests or modifies existing tests.
[ ] 📝 Documentation: Updates or additions to documentation.
[ ] 🗑 Chore: Routine tasks, or maintenance.
[ ] ✅ Build configuration change: Changes to build or deploy processes.

where the text is converted to italic when it should not be.
Is there a way of saying not to apply the conversion - I really want an asterisk here.
Asterisk is also used as a superscript to refer to a footnote. Would that also trigger the conversion?

There will always be one condition for CharacterShortcutEvents (at least the default ones), and that is, in this case at least, the asterisk needs and must be the one on the right side. That is, if I insert an asterisk on the right and then one on the left, it will not be applied (because it is not what is wanted by default).
I know it may seem a bit confusing, because it is new and probably requires more documentation, but in this case of asterisks the handler could be bypassed if we put the asterisk on the right first and then the one on the left. However, if in your case, at least you want this type of text block to be ignored, you can always create your own handler to ignore any text that is between numbers.
It should be noted that these are NOT implemented by default in the editor. It is the user who must call standardCharacterShortcutEvents to have these implementations.


fix(config): each node needs its own opts

Fixes issues with config and shared memory when there are multiple nodes