general: support for launchpad clients

This pull request introduces support for the first additional Ethereum client, which will be Geth (go-ethereum).
EDIT: Also adding rest of the launchpad clients here, these include:

Execution clients

Besu
Erigon
Geth
Nethermind

Consensus clients

Lighthouse
Nimbus
Prysm
Teku

Do all of the clients open the same port? I'm quite surprised if erigons torrent port of 42069 (conjugation of 420 and 69) is actually adopted unanimously.
Can you try on the ponkila alpha that the client actually start with these definitions?
We might need to also take into account multiple different data directories if someone wants to run two clients, and the option to define some other network than mainnet.
Can ethereum.nix options be programmatically reused?

@jhvst

I overlooked the port configurations, I will check on that.
I have been testing these with QEMU and SSH'ing into it to check that everything works. Currently, there are no failed systemd units with any of the clients, but I believe that only Besu becomes active. This could be due to a lack of configuration or missing elements, so there might be some debugging and testing to do.
Yes, I could also test them with bare-metal at ponkila-alpha, however, you need to give me access to the WireGuard configuration of that machine so I can still connect to it after booting into the configuration I am about to test. You could just drop it into /var/mnt/secrets and I'll take it from there.
I am not sure what you mean by taking multiple different data directories into account. It is already possible, like this:
{
  "execution": {
    "erigon": {
      "enable": true,
      "dataDir": "/var/mnt/erigon"
    }
  },
  "consensus": {
    "lighthouse": {
      "enable": true,
      "dataDir": "/var/mnt/lighthouse"
    }
  }
}

If you are referring to running multiple instances of the same client, this is not possible by other means atm.
The current configuration is using ethereum.nix as an overlay, so we are currently only getting the packages. I have been considering the idea of getting another module inside of another, so modules would have recursive modularity. I can look into this if you want, we would be saved from a lot of work by doing this but we would lose a lot of control and congruity between the options.

Some systemctl status outputs from all execution clients at QEMU
core@homestaker ~ [3]> systemctl --failed
  UNIT LOAD ACTIVE SUB DESCRIPTION
0 loaded units listed.

core@homestaker ~> systemctl status erigon --no-pager
● erigon.service - execution, mainnet
     Loaded: loaded (/etc/systemd/system/erigon.service; enabled; preset: enabled)
     Active: activating (auto-restart) (Result: exit-code) since Tue 2023-08-01 20:34:30 UTC; 2s ago
    Process: 2727 ExecStart=/nix/store/kdzlkyd1f4n8qlfw7mj1rdirmabyyl5i-unit-script-erigon-start/bin/erigon-start (code=exited, status=132)
   Main PID: 2727 (code=exited, status=132)
         IP: 0B in, 0B out
        CPU: 58ms

core@homestaker ~ [3]> systemctl status go-ethereum --no-pager
● go-ethereum.service - execution, mainnet
     Loaded: loaded (/etc/systemd/system/go-ethereum.service; enabled; preset: enabled)
     Active: activating (auto-restart) (Result: exit-code) since Tue 2023-08-01 20:34:35 UTC; 1s ago
    Process: 2740 ExecStart=/nix/store/jhgmwap2i9kgwhgb7cw42bky8fmykrpp-unit-script-go-ethereum-start/bin/go-ethereum-start (code=exited, status=127)
   Main PID: 2740 (code=exited, status=127)
         IP: 0B in, 0B out
        CPU: 42ms

core@homestaker ~ [3]> systemctl status nethermind --no-pager
● nethermind.service - execution, mainnet
     Loaded: loaded (/etc/systemd/system/nethermind.service; enabled; preset: enabled)
     Active: activating (auto-restart) (Result: exit-code) since Tue 2023-08-01 20:34:41 UTC; 3s ago
    Process: 2753 ExecStart=/nix/store/frhv8wrf2ahf47rxs80axbpk04slm2dh-unit-script-nethermind-start/bin/nethermind-start (code=exited, status=127)
   Main PID: 2753 (code=exited, status=127)
         IP: 0B in, 0B out
        CPU: 35ms

core@homestaker ~ [3]> systemctl status besu --no-pager
● besu.service - execution, mainnet
     Loaded: loaded (/etc/systemd/system/besu.service; enabled; preset: enabled)
     Active: active (running) since Tue 2023-08-01 20:34:20 UTC; 26s ago
   Main PID: 2681 (besu-start)
         IP: 0B in, 0B out
         IO: 0B read, 0B written
      Tasks: 15 (limit: 7859)
     Memory: 107.7M
        CPU: 23.286s
     CGroup: /system.slice/besu.service
             ├─2681 /nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash /nix/store/nfq3mll8234ks7vfw8d2n475155axgd9-unit-script-besu-start/bin/besu-start
             └─2682 /nix/store/14h03wdjaigk52ff7s49dffvchmj6fww-openjdk-19.0.2+7/bin/java -Dvertx.disableFileCPResolving=true -Dbesu.home=/nix/store/h1ym6awfm2rjdgy62jnr3nz3v2n112wi-besu-23.4.1 -Dlog4…

Aug 01 20:34:20 homestaker systemd[1]: Started execution, mainnet.

Nimbus fails to compile for some reason. Here are the outputs:

echo "$json_data" | nix run .#buidl -- -b homestakeros
error: build of '/nix/store/8y60jq9j8bfywa5x18w3wd5xwv41xwip-nimbus-eth2-23.6.1.drv' on<EMAIL_ADDRESS>failed: builder for '/nix/store/8y60jq9j8bfywa5x18w3wd5xwv41xwip-nimbus-eth2-23.6.1.drv' failed with exit code 2;
       last 10 log lines:
       >     setProperty(record_12012493182[1], "restUrl", restUrl)
       >     logAllDynamicProperties(
       >       defaultChroniclesStream, record_12012493182)
       >     flushRecord(record_12012493182[0])
       >     flushRecord(record_12012493182[1])
       > except CatchableError as err`gensym704:
       >   logLoggingFailure(cstring("Attempt to download genesis state timed out"),
       >                     err`gensym704)
       > nil' but expected 'ref ForkedHashedBeaconState'
       > make: *** [Makefile:423: nimbus_beacon_node] Error 1
       For full logs, run 'nix log /nix/store/8y60jq9j8bfywa5x18w3wd5xwv41xwip-nimbus-eth2-23.6.1.drv'.
error: builder for '/nix/store/8y60jq9j8bfywa5x18w3wd5xwv41xwip-nimbus-eth2-23.6.1.drv' failed with exit code 1;
       last 10 log lines:
       >     setProperty(record_12012493182[1], "restUrl", restUrl)
       >     logAllDynamicProperties(
       >       defaultChroniclesStream, record_12012493182)
       >     flushRecord(record_12012493182[0])
       >     flushRecord(record_12012493182[1])
       > except CatchableError as err`gensym704:
       >   logLoggingFailure(cstring("Attempt to download genesis state timed out"),
       >                     err`gensym704)
       > nil' but expected 'ref ForkedHashedBeaconState'
       > make: *** [Makefile:423: nimbus_beacon_node] Error 1
       For full logs, run 'nix log /nix/store/8y60jq9j8bfywa5x18w3wd5xwv41xwip-nimbus-eth2-23.6.1.drv'.
error: 1 dependencies of derivation '/nix/store/sccxwvgv4j7s4ws0pvfpl5r2mra510a3-man-paths.drv' failed to build
error: 1 dependencies of derivation '/nix/store/yp0igyn26l6hslsyawz0zzh6ca745l77-nimbus-eth2-23.6.1_fish-completions.drv' failed to build
error: 1 dependencies of derivation '/nix/store/naxij1j88pkvgqdl003wygfy3bgr75df-system-path.drv' failed to build
error: 1 dependencies of derivation '/nix/store/k46xj9048kzjw94mf5lz8m9dallyq1v4-unit-script-nimbus-start.drv' failed to build
error: 1 dependencies of derivation '/nix/store/iym8n6n3pfaf7clqpjgvdzil8fjgqfm5-nixos-system-homestaker-23.11.20230722.12303c6.drv' failed to build
error: 1 dependencies of derivation '/nix/store/67ynsr2vn1pc0wrjmca2a3jxpkxvc2ma-closure-info.drv' failed to build
error: 1 dependencies of derivation '/nix/store/cj207cl3qhc36w5m8jqvkmzsd3f7k19x-kexec-boot.drv' failed to build
error: 1 dependencies of derivation '/nix/store/7i14wn6lq6kzc4x1j6j0xdjfnv7g7yay-kexec-tree.drv' failed to build

nix log /nix/store/8y60jq9j8bfywa5x18w3wd5xwv41xwip-nimbus-eth2-23.6.1.drv
warning: The interpretation of store paths arguments ending in `.drv` recently changed. If this command is now failing try again with '/nix/store/8y60jq9j8bfywa5x18w3wd5xwv41xwip-nimbus-eth2-23.6.1.drv^*'
unpacking sources
unpacking source archive /nix/store/ylhbcvnl0ijnkah3srs0yc0ihwc490j4-source
source root is source
patching sources
updateAutotoolsGnuConfigScriptsPhase
Updating Autotools / GNU config script to a newer upstream version: ./vendor/nim-libbacktrace/vendor/libbacktrace-upstream/config.sub
Updating Autotools / GNU config script to a newer upstream version: ./vendor/nim-libbacktrace/vendor/libbacktrace-upstream/config.guess
building
patching script interpreter paths in scripts vendor/nimbus-build-system/scripts
scripts/time_module_builds.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
scripts/start_nimbus_el_nodes.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
scripts/start_geth_nodes.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
scripts/signers/web3signer.sh: interpreter directive changed from "#!/usr/bin/bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
scripts/signers/nimbus.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
scripts/signers/custom.sh: interpreter directive changed from "#!/usr/bin/bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
scripts/setup_scenarios.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
scripts/run-nimbus.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
scripts/run-nimbus-in-devnet.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
scripts/run-geth-in-devnet.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
scripts/run-beacon-node.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
scripts/rotatelogs-compress.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/sh"
scripts/makedir.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
scripts/make_prometheus_config.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
scripts/make_packages.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
scripts/make_dist.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
scripts/launch_local_testnet.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
scripts/find_unchanged_consensus_spec_files.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
scripts/copyfile.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
scripts/compile_nim_program.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
scripts/clean-devnet-dir.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
vendor/nimbus-build-system/scripts/nimble.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
vendor/nimbus-build-system/scripts/git_show_deps.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bas>
vendor/nimbus-build-system/scripts/env.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
vendor/nimbus-build-system/scripts/create_nimble_link.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bi>
vendor/nimbus-build-system/scripts/create_nbs_paths.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/>
vendor/nimbus-build-system/scripts/build_rocksdb.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bas>
vendor/nimbus-build-system/scripts/build_nim.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash"
vendor/nimbus-build-system/scripts/add_submodule.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bas>
Creating nimbus-build-system.paths
build flags: -j20 SHELL=/nix/store/a7f7xfp9wyghf44yv6l6fv9dfw492hd3-bash-5.2-p15/bin/bash USE_SYSTEM_NIM=1 nimbus_beacon_node
23.6.1
Building: install/usr/lib/libbacktrace.a
Building: install/usr/lib/libbacktracenim.a
Building: build/generate_makefile
[using system Nim: /nix/store/ks51zgx7i3v7rv381c4k9ap8m9mqc044-x86_64-unknown-linux-gnu-nim-wrapper-1.6.14/bin/nim]
Build completed successfully: build/generate_makefile
Building: build/nimbus_beacon_node
[using system Nim: /nix/store/ks51zgx7i3v7rv381c4k9ap8m9mqc044-x86_64-unknown-linux-gnu-nim-wrapper-1.6.14/bin/nim]
Building: build/generate_makefile
[using system Nim: /nix/store/ks51zgx7i3v7rv381c4k9ap8m9mqc044-x86_64-unknown-linux-gnu-nim-wrapper-1.6.14/bin/nim]
Build completed successfully: build/generate_makefile
Building: build/nimbus_beacon_node
[using system Nim: /nix/store/ks51zgx7i3v7rv381c4k9ap8m9mqc044-x86_64-unknown-linux-gnu-nim-wrapper-1.6.14/bin/nim]
BLST: not using SSSE3
/build/source/beacon_chain/spec/datatypes/base.nim:653:15 template/generic instantiation of `toHex` from here
/nix/store/d4ivxmqa5n942kpq863ldc0zwh1gjfbc-nim-unwrapped-1.6.14/nim/lib/pure/strutils.nim:934:13 Warning: target type is larger than source type [CastSizes]
/build/source/ncli/e2store.nim:153:11 Warning: target type is larger than source type [CastSizes]
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:905:64 template/generic instantiation of `async` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:921:12 template/generic instantiation of `withState` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:933:5 Warning: unreachable code after 'return' statement or '{.noReturn.}' proc [UnreachableCode]
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:905:64 template/generic instantiation of `async` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:921:12 template/generic instantiation of `withState` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:935:5 Warning: unreachable code after 'return' statement or '{.noReturn.}' proc [UnreachableCode]
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:905:64 template/generic instantiation of `async` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:921:12 template/generic instantiation of `withState` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:938:5 Warning: unreachable code after 'return' statement or '{.noReturn.}' proc [UnreachableCode]
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:905:64 template/generic instantiation of `async` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:921:12 template/generic instantiation of `withState` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:939:5 Warning: unreachable code after 'return' statement or '{.noReturn.}' proc [UnreachableCode]
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:905:64 template/generic instantiation of `async` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:921:12 template/generic instantiation of `withState` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:933:5 Warning: unreachable code after 'return' statement or '{.noReturn.}' proc [UnreachableCode]
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:905:64 template/generic instantiation of `async` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:921:12 template/generic instantiation of `withState` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:935:5 Warning: unreachable code after 'return' statement or '{.noReturn.}' proc [UnreachableCode]
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:905:64 template/generic instantiation of `async` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:921:12 template/generic instantiation of `withState` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:938:5 Warning: unreachable code after 'return' statement or '{.noReturn.}' proc [UnreachableCode]
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:905:64 template/generic instantiation of `async` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:921:12 template/generic instantiation of `withState` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:939:5 Warning: unreachable code after 'return' statement or '{.noReturn.}' proc [UnreachableCode]
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:905:64 template/generic instantiation of `async` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:921:12 template/generic instantiation of `withState` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:933:5 Warning: unreachable code after 'return' statement or '{.noReturn.}' proc [UnreachableCode]
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:905:64 template/generic instantiation of `async` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:921:12 template/generic instantiation of `withState` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:935:5 Warning: unreachable code after 'return' statement or '{.noReturn.}' proc [UnreachableCode]
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:905:64 template/generic instantiation of `async` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:921:12 template/generic instantiation of `withState` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:938:5 Warning: unreachable code after 'return' statement or '{.noReturn.}' proc [UnreachableCode]
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:905:64 template/generic instantiation of `async` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:921:12 template/generic instantiation of `withState` from here
/build/source/beacon_chain/gossip_processing/gossip_validation.nim:939:5 Warning: unreachable code after 'return' statement or '{.noReturn.}' proc [UnreachableCode]
/build/source/beacon_chain/trusted_node_sync.nim:79:56 template/generic instantiation of `async` from here
/build/source/beacon_chain/trusted_node_sync.nim:149:29 template/generic instantiation of `awaitWithTimeout` from here
/build/source/vendor/nim-eth/eth/async_utils.nim:16:5 Error: type mismatch: got 'untyped' for '
chronosInternalRetFuture.internalChild = cancelAndWait(f`gensym675)
yield chronosInternalRetFuture.internalChild
if chronosInternalRetFuture.internalMustCancel:
  raise (ref CancelledError)(msg: "Future operation cancelled!")
internalCheckComplete(chronosInternalRetFuture.internalChild)
bind logIMPL, bindSym, brForceOpen
try:
  block chroniclesLogStmt:
    if not topicsMatch(LogLevel(3), []):
      break chroniclesLogStmt
    var record_12012493182:
      defaultChroniclesStreamLogRecord
    mixin activateOutput
    record_12012493182 = default(typeof(record_12012493182))
    {.gcsafe.}:
      addr defaultChroniclesStreamOutputs
    [][0].currentRecordLevel = LogLevel(3)
    {.gcsafe.}:
      addr defaultChroniclesStreamOutputs
    [][1].currentRecordLevel = LogLevel(3)
    initLogRecord(record_12012493182[0], LogLevel(3), "",
                  "Attempt to download genesis state timed out")
    initLogRecord(record_12012493182[1], LogLevel(3), "",
                  "Attempt to download genesis state timed out")
    mixin setProperty, formatItIMPL
    setProperty(record_12012493182[0], "syncTarget", shortLog(syncTarget))
    setProperty(record_12012493182[1], "syncTarget", shortLog(syncTarget))
    mixin setProperty, formatItIMPL
    setProperty(record_12012493182[0], "restUrl", restUrl)
    setProperty(record_12012493182[1], "restUrl", restUrl)
    logAllDynamicProperties(
      defaultChroniclesStream, record_12012493182)
    flushRecord(record_12012493182[0])
    flushRecord(record_12012493182[1])
except CatchableError as err`gensym704:
  logLoggingFailure(cstring("Attempt to download genesis state timed out"),
                    err`gensym704)
nil' but expected 'ref ForkedHashedBeaconState'
make: *** [Makefile:423: nimbus_beacon_node] Error 1

ponkila-alpha
Sorry, meant [ponkila-ephemeral-beta](https://github.com/ponkila/homestaking-infra/tree/main/nixosConfigurations/ponkila-ephemeral-beta).

If you are referring to running multiple instances of the same client, this is not possible by other means atm.
There could be an issue created of this, so we can deal with it later. It's quite common to have testnet and mainnet client be the same thing.

The current configuration is using ethereum.nix as an overlay, so we are currently only getting the packages. I have been considering the idea of getting another module inside of another, so modules would have recursive modularity. I can look into this if you want, we would be saved from a lot of work by doing this but we would lose a lot of control and congruity between the options.
I think we can push this aside for now.

Nimbus fails to compile for some reason.

Sorry, meant [ponkila-ephemeral-beta](https://github.com/ponkila/homestaking-infra/tree/main/nixosConfigurations/ponkila-ephemeral-beta).

Me too, actually. I can only access the machine trough our VPN so I still need the configuration.
I just realized that I can get it from the sops file using the host's age key, even if my PGP key is not listed for the machine.. right? I still need to place it on the persistent drive because of the homestakeros though.

Seems like an upstream problem.

Probably, I quickly searched the issues at status-im/nimbus-eth2 and couldn't find anything exactly like this error. I might open an issue if I can't find anything related to it.

Me too, actually. I can only access the machine trough our VPN so I still need the configuration.
I just realized that I can get it from the sops file using the host's age key, even if my PGP key is not listed for the machine.. right? I still need to place it on the persistent drive because of the homestakeros though.

sops keys are also always decrypted into /run/secrets folder. You can cat the secrets by running sudo cat /run/secrets/wireguard/wg0 in this case.

I might open an issue if I can't find anything related to it.

This is more likely something you should open at ethereum.nix first.

Moreover, the first course of action for nimbus could be to update the nixobolus flake.

Tested every client ad hoc on our ponkila-ephemeral-beta machine. After a couple of fixes, everything seems to work fine and started to sync, noticing other clients, except for Nimbus, which refuses to even compile.

Updating the flake did not have an effect. Converting to draft until Nimbus is updated (https://github.com/nix-community/ethereum.nix/pull/348). If the issue persists, I will investigate further.

Is there an update to this? It might be useful to have this merged so that we can have a dropdown selector for clients on the frontend.

Is there an update to this?

Nimbus has not been updated at ethereum.nix, should I remove Nimbus from this PR for the time being?

Yea, more important to get this merged now

Nimbus fails to compile for some reason.

Updating the flake did not have an effect. Converting to draft until Nimbus is updated (nix-community/ethereum.nix#348). If the issue persists, I will investigate further.

We fixed the problem with nimbus, now it works


Refactor messed up installs and pin to working streaming version

@Landanjs wondering the reason behind pinning the old streaming version 0.2.1? Is it because of some hang that you have observed earlier ?

Yeah, landan just pushed that change, i think at the same time you commented.


CDI 2 Timetable Missmatch

Describe the bug
The Timeslots of the CDI 2 classes seem to be incorrect
To Reproduce
Steps to reproduce the behavior:

Go to https://fenix.tecnico.ulisboa.pt/disciplinas/Fis3/2023-2024/2-semestre/horario, check the calendar there.
Go to https://web.tecnico.ulisboa.pt/joanasesinando/gerador-horarios/ and check the timeslot for CDI 2

Expected behavior
Timetables to match
Screenshots

Temporary mismatch in Fénix API.
Seems fixed!


Fix issues with image resizing / layout in image viewer

We were having some issues with running out of memory when viewing certain images in the modal. We were seamlessly swapping in the full-quality image by upscaling the preview image, which caused us to run out of memory. We don't need to do this to seamlessly swap; this PR fixes the issue.

Works great, thank you for the help on this one!


Task-Tracker app with React.js using hooks

We ask that you please be patient as our team works through approving and publishing all articles/tutorials in a timely manner. Allow 1-3 days for a topic to be reviewed and/or approved - allow 3-7 days for an articles to be reviewed and/or published.
Be sure to visit our Resources Page for tools, resources, and example articles to go over.
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
NOTE: We tend to stray away or tend not to publish reviews/comparisons of commercial product offerings.
We're looking for the first 2-3 paragraphs of the article that appropriately summarize what your article will be about.
Proposed title of article
Task-Tracker app with React.js using hooks
Introduction paragraph (2-3 paragraphs):
In our everyday life we have tasks we plan on carrying out, and with the help of a Task-Tracker remembering those various tasks will be easy.
In this article, we will be learning how to build a Task-Tracker with react.js, where you can add, change and delete tasks.
Key takeaways:
*we will learn how to build a Task-Tracker using react.js

we will learn how to use hooks in building our application
We will learn how to manage states and make use of props in our application

References:
N/A
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

Good afternoon and thank you for submitting your topic suggestion.
Your topic form has been entered into our queue and should be reviewed (for approval) as soon as a content moderator is finished reviewing the ones in the queue before it.  @prince-joel

@prince-joel
Sounds like a helpful topic - lets please be sure it add value beyond what is in the official docs and what is covered in other blog sites.
Please be sure to double check that it does not overlap with any existing EngEd articles or incoming topic suggestions (if you haven't already) to avoid any potential article closure, please reference any relevant EngEd articles in yours. - Approved

@prince-joel
Just pinging you on this topic form - as I'm making some room in the topic queue.
No rush if you're still working on this one - if you need more time we can always re-open at a later date.

I'm going to close this topic due to inactivity.
It can be reopened.

Hello Ahmed, please can you reopen the topic, I have made the necessary
changes.
Thanks
On Wed, Nov 24, 2021 at 12:21 AM Ahmad Mardeni @.***>
wrote:

I'm going to close this topic due to inactivity.
It can be reopened.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/section-engineering-education/engineering-education/issues/3010#issuecomment-977638376,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APJSVF6NGUR2JWOA26VGQCDUNSOA7ANCNFSM5A3DZYVQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Hello Ahmed
The issue you open was a wrong one. Here is the issue number to the correct
one. #5103
On Wed, 1 Dec 2021 at 9:03 AM, Ahmad Mardeni @.***>
wrote:

Reopened #3010
https://github.com/section-engineering-education/engineering-education/issues/3010
.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/section-engineering-education/engineering-education/issues/3010#event-5697073179,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APJSVF2NB2X6PDACJDD52UTUOXJFBANCNFSM5A3DZYVQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


get_current_dir_name not supported on Mac (Commit #5e6ceeb)

Commit #5e6ceeb  broken on Mac, get_current_dir_name not supported
https://github.com/mrirecon/bart/blob/master/src/misc/mmio.c#L710
Alternative: getcwd

This works but I don't write any C code any more so I don't know what your preference is for defining a certain size:
char dir[256];
getcwd(dir, sizeof(dir));

Hi, this should be fixed with ab1715f.


When do new translations become included?

I committed and (got) merged a new translation to the mercury branch recently and I was wondering: hows / when does it become part of release?

About 24 hours after it's been merged, depending on what else was merged at the time and the extent of testing / security that needs to be done

mmm.. yes it is in the mercury branch..  what I meant: when does mercury branch become current?

Yes. That is my answer: once things have been merged into mercury there is approximately 24 hours between the time it was merged and it goes live, depending on what is being merged.
gh-pages is the live branch


[BUG]: Misalignment in sign up page

Describe the bug
The input boxes in the signup page are not aligned properly.
To Reproduce
Steps to reproduce the behavior:

Go to Signup
See error

Expected behavior
All input boxes should be aligned to make it look better
Screenshots

Please assign me this issue.

PR made already for this issue


Drop specs when building gem

Previously our key and cert test fixtures were shipped in the gem, which
triggered security scanners. This deletes the spec directory from each
platform specific gem and reduces the size of each gem by about 1MB when
using the bundle exec rake package:gem task:
Before:
$ ls -la pkg/puppet-<IP_ADDRESS>.gem
-rw-rw-r-- 1 josh 1.5M Feb  9 11:21 pkg/puppet-<IP_ADDRESS>.gem

After:
$ ls -la pkg/puppet-<IP_ADDRESS>.gem
-rw-rw-r-- 1 josh 2.8M Feb  9 11:21 pkg/puppet-<IP_ADDRESS>.gem

For reasons described in PA-5400 we don't currently use gem build .gemspec
to build puppet gems.
No changes are needed to the .gemspec or Gemfile, because they both
include the content from project_data.yaml.

@bastelfreak

@mhashizume I had to manually cherry-pick due to a conflict https://github.com/puppetlabs/puppet/pull/9250


Android: Encryption does not work

I am using sync-cordova-plugin to store data in the mobile device and I want to encrypt the database.
I tried to follow the instructions provided in the Encryption.md documentation.
I couldn't find SQLCipher .jar and .so files in the provided link and the least version provided in maven central is 3.3.1 and latest is 3.5.9 where only .aar files are provided.
I managed to get SQLCipher 3.0.1 .jar and .so files and tried to run the application.
When I open the datastore passing the options parameter, I get the following error
nodeback is not a function

Any help on this is appreciated! It would be great if we have a updated documentation for encryption.
Note: Without passing the options parameter, the datastore seems to work fine.

Sorry, it appears that the encryption feature was removed from this library before release by #38 / #40. It looks like this removal was incomplete leaving some code remnants and documentation behind, which gave the impression that on-device datastore encryption was still available, but it isn't.
The documentation will be updated to match the capabilities of the library.


Feature: Add new metric slow_request_server_throughput

What this PR does:
This PR adds two configuration parameters server.throughput-config.slow-request-cutoff and server.throughput-config.unit, exposes a new metric slow_request_server_throughput and calculates throughput in units/s for the metric using information from header Server-Timing.
If server.throughput-config.slow-request-cutoff is 0 no throughput will be calculated.
Implemented code is really similar to this branch by @krajorama. But adds some flexibility to measure throughput based on different signals. It will default to total_samples as processed samples are easier to explain to users. Discussed with @dimitarvdimitrov.
Checklist

[ ] Tests updated
[x] CHANGELOG.md updated - the order of entries should be [CHANGE], [FEATURE], [ENHANCEMENT], [BUGFIX]

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


added cucumber feature test

What
Link to story
Added test to confirm autogrant in ccms working correctly for cases with contributions/restrictions
Checklist
Before you ask people to review this PR:

[ ] Tests and rubocop should be passing: bundle exec rake
[ ] Github should not be reporting conflicts; you should have recently run git rebase master.
[ ] There should be no unnecessary whitespace changes. These make diffs harder to read and conflicts more likely.
[ ] The PR description should say what you changed and why, with a link to the JIRA story.
[ ] You should have looked at the diff against master and ensured that nothing unexpected is included in your changes.
[ ] You should have checked that the commit messages say why the change was made.

Codecov Report

Merging #2623 (0545c43) into master (7cc061d) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master     #2623   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files          530       530
  Lines        10888     10888
=========================================
  Hits         10888     10888

Continue to review full report at Codecov.

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


Write script to parse and update autorest.md file

autorest.md is the autorest configuration file for each RP in sdk repo. In automation pipeline, we need to update the autorest.md. It need to serve following scenarios:

Replace 'input-file' with 'require':  when we change to use readme.md file to generate SDK, but in current autorest.md it use 'input-file'. And 'input-file' block may contains more than one line.
Replace 'require' with 'input-file':
merge the config defined in 'autorestConfig' into autorest.md:  When 'autorestConfig' yml string is provided, we need to merge it into autorest.md. Update the existing properties with the values defined in 'autorestConfig' yml, or append new properties.

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Storage:0.57097983,Automation:0.12958436,App Configuration:0.07342186'

.Net automation script, it use powershell-yaml module to parse the yaml string to [key:value] pairs. and update the autorest.md.
see script https://github.com/chunyu3/azure-sdk-for-net/blob/2432ccc3057e6038fd23f6176642b9dd5fa4a455/eng/scripts/automation/GenerateAndBuildLib.ps1#L81


Implemented custom border color for Checkbox and CheckboxListTile.

With this commit, one can change the border color of a Material Checkbox or a CheckboxListTitle.
For example,
new Checkbox(
  activeColor: Colors.green,
  borderColor: Colors.blue,
  ...
});

or
new CheckboxListTile(
  activeColor: Colors.green,
  borderColor: Colors.blue,
  ...
});

I signed it!

We've talked about this in the past and I think what we should actually do is change the checkboxes to use Decorations for their various states instead (and define lerps to go between the various states). That way you can make them do whatever you want. That would be better than adding one thing at a time that you can adjust, which just won't scale.


Could not find a declaration file type

Missing file defined in package.json ("types": "./lib/index.d/ts")
Could not find a declaration file for module 'reactjs-google-calendar'. '.../node_modules/reactjs-google-calendar/lib/index.js' implicitly has an 'any' type.   Try npm install @types/reactjs-google-calendarif it exists or add a new declaration (.d.ts) file containingdeclare module 'reactjs-google-calendar';ts(7016)

Fixed with rewrite https://github.com/theLAZYmd/react-google-calendar/commit/5951865137231e54831cd219cf09a795e4122703

Fixed with rewrite https://github.com/theLAZYmd/react-google-calendar/commit/5951865137231e54831cd219cf09a795e4122703


Write out debug log by default

We write out a debug log by default. We automatically delete the debug log if no script error occurs. You can find the debug log here: %programdata%\ExchangeTools\HealthChecker

Does this throw off the Write-Errors logic? Thinking we have errors that weren't being handled by the script?

Think we change this part to capture bad Errors. What do you think?
From:
if(!($goodError))
{
$Error[$index] | Out-File ($Script:OutputFullPath) -Append
}
To:
if(!($goodError))
{
Write-DebugLog $Error[$index]
$Error[$index] | Out-File ($Script:OutputFullPath) -Append
}


Race condition everywhere

I already use a similar approach to caching on heavy production and decided a few problems.
You should pay attention to the process of saving the cache.
It is necessary to use opcache_invalidate() with force option just before compilation. (Otherwise, the file may be in the old version for a while).
All this process must be in a critical section and covered with locks.
Only one process at a time must create and compile file, otherwise file may not be consistent at a time of compilation.
Also I independently monitor the size of free memory and do a opcache_reset() if necessary (use locks too).
In addition, at compile time and file including I use try catch Throwable for catch inconsistent saved files with syntax problems.

Hi @R-omk Thank you for your input. The question where exactly the codebase do you see an issue with race conditions? Could you please show me the affected parts of the code?

I have tried to fix these issues. Can you take a look at the changes?

Thank you for your really helpful hints and tips!
IMHO If you're in a high-concurrency environment you should avoid using a filesystem cache (like this library). Multiple operations on the file system are very hard to make atomic in PHP.


Kazakh Configs Introduction

Added Kazakh language 4 sources (MCV, SLR140, SLR102, KSC2)
Merged with the branch "armenian" to get new processors and processors updates
Added tests

Implemented all the requested changed


📣 NOTE: Nue development focus

Nue development is currently focusing on building a solid a design system and website templates before the focus shifts into singe-page applications and client-side/reactive Nue JS. For this reason, some of the issues are marked low priority.
See product roadmap for details.

I'm currently working on Nuemark syntax highlighting #168 before (actually) moving to the design system. The design system will be a universal solution for websites (multi-page apps) and single-page applications. It is based on semantic CSS in such a way that the global namespace is not "polluted". It also allows CSS-in-JS and Tailwind to co-exist in harmony.

Finished developing syntax highlighting, and now moving onto the design system. Please check out the announcement:

UPDATE: I'm actively working on the design system, but will make a round of low-level updates to Glow, Nuekit, and Nuemark before launching it. It's a rather big task impacting all parts of the stack and the information architecture on the website. Thanks.

Accidentally closed this

After finishing Nue CSS (ie. Nue automatic dependency management + a way to use vanilla CSS without global namespace issues + Lightning CSS integration + three example websites) I'm switching my focus to design systems. I also need to rewrite the current nuejs.org website because

It uses an old version of Nue and must be transported to the production version. Eat my own dogfood you know
The documentation is lagging. The content-first + design system approach should be presented with absolute clarity
The website forms a solid base for the upcoming templates

This is quite a big task. Estimates are super hard, but that feels like two months. The project would certainly benefit from a solid technical writer that sees the power of vanilla CSS, design systems, and the importance of the separation of concerns principle.

I just had a little break and I'm back to dev mode again. To be honest, my motivation level is not 100%, mostly due to how software development is so strongly tied to social media influencers and popularism. It used to be different. Also, the summer is coming and I tend to work less. I expect the next deadline to be May, not April.

Wrote a little status update for the upcoming months. Switching to summer mode myself (30-50% effort):
https://nuejs.org/blog/status-update-01/


Proposal: Error aggregation

It would be nice if we could have a aggregate error struc for handling and propagating multiple errors.
Internally it would have a list of errors, which can be appended.
This struct has only to implement the Error() interface in order to be a error.
The following signatures could be supported:
  Append(err error)  // in order to append errors to the aggregate
  Count() int   // in order to provide a way to check if errors exist
  Error() string  // in order to implement the Error interface

If one needs to return an aggregated list of errors, then one can just return a slice of errors.
Append() would be unnecessary because there is already the generic append(), Count() would likewise be unnecessary because of len().

type errorSlice []string
func (e *errorSlice) Error() string {
 …
}

that would do the trick too.
Error() has to loop through all errors and create one string.
It would be a nice addition to this package.

one small problem though.
There has to be a mutex around appending...

type errorSlice []error
func (e errorSlice) Error() string {
  var s []string
  for _, err := range e {
    s = append(s, err.Error())
  }
  return strings.Join(s, ": ")
}

There is no need to put a mutex around it, because it’s local to your own package. If you know you might need to append from multiple goroutines, then one can always mutex lock oneself.
No one should be calling Error until after it has been returned and converted into the error interface, and no one should be calling Count or Append because again, as noted, those functions are unnecessary.
The above 8 lines of code are all one needs for what you want.

I think we should make this type "concurrent" safe in order to avoid having the user to do that, like the Map in the sync package.
As for the error creation i went the strings.Builder way...

You are mistaking my input. I am not suggesting that this become a feature of this library.
It is 8 lines of code that any package can write. In that case it is simple, clean, elegant.
If we make it generic, concurrent, and cumbersome, we are helping no one.

OBTW for the code linked:

[strings.Builder].Write always returns len(p), nil.

https://golang.org/pkg/strings/#Builder.Write

Is that not the purpose of a package? Making something that can be reused, not copied, generic. If it is concurrent on  top of it it would be really nice.
Thanks for the strings.Builder... bad API if you ask me... i should not have to drill into the documentation to find out that the err is always nil.

A package should be a clean provider of functionality that provides benefit to the caller. Building an Aggregate from your package is exactly the same amount of code and complexity required for me to use a local []error.
By reusing your code, my code would not be any simpler.

bad API

It must implement the io.Writer interface.

Not having to implement this in all the projects again and again, and provide on top of it some features (concurrency safety) does benefit the caller. This is the reason that i have this in my framework. I thought that someone would benefit from it like i do, and remove my error package from the framework.

That would be almost 50 lines of code in very project, if you count in the concurrency safety...

But not everyone needs the concurrency safety. In fact, if one is building best practice synchronous APis then this concurrency is entirely unnecessary, as the Aggregate will be local to and only used by a single thread in a function, before being turned into the error interface, and returned to the caller.
Without the concurrency, there is 8 lines of code, as most of the expanded functionality you present (the Append and Len functions) are duplicates of existing basic functionality of the language.
And returning an empty &Aggregate{} will mean that the caller cannot just use if err != nil so before returning the Aggregate, I will need to have at the end of every Aggregate using function:
if aggregate.Count() > 0 {
  return aggregate
}
return nil

Then there is the matter of https://github.com/golang/go/wiki/CodeReviewComments#declaring-empty-slices You should use &Aggregate{} and at which point calling a NewAggregate() function is actually more code in the caller than just &Aggregate{}.
I have been trying to delicately explain to you why—despite looking like a good idea—this code is not actually a good solution. Breaking out code and making it generic can actually be harmful to the code of callers and in the end increase the overall complexity of all of the code.
Not everything has to be broken out and made generic.

Just to be clear, I am bowing out of this discussion. I have said my piece, and there is nothing further my contribution could accomplish except further upsetting anyone.

Your previous comment made actually a very good point against my proposal.
And the links and examples where spot on and proved your point.
Thanks for your time and valuable feedback and sorry if you felt that way.


Liquibase downloadScript button contains / suffix

Current Behavior
Liquibase downloadScript button contains / suffix (iaf/api/jdbc/liquibase/)
Expected Behavior
Remove slash
Environment Information
8.2

Will be fixed in master in pr #7180


upload file with virtual path

fix [#1]

Coverage decreased (-5.4%) to 84.171% when pulling 07505af470fbfbb369b218f2bd74506655e99374 on pelenthium:master into 10f520cf8312d6729981b6cd30f1085d0fce436b on ernado:master.


Update FairStaking.toml for testnet-15

Description
All previous genesis validators should name their PRs "Update {validator_alias}.toml for tesntet-15" and provide links to previous PRs merged.
If this is an UPDATE for a previous genesis validator
Checks are made against your net_address. If this has changed since the previous testnet, make sure you provide links of previous prs merged from your previous git username.
Thanks in advance!
Checklist before merging

[ ] Only one toml is added in this PR
[ ] The file being added is indeed a .toml file
[ ] The toml being added is to the correct folder, and only to the correct folder
[ ] The eth_hot_key and eth_cold_key are present
[ ] The email, discord, elements telegram, and twitter fields are present and valid

[validator.FairStaking]
consensus_public_key = "007d596e74ced40ef3db001abd0a144fb32f5d8cacf12fbb9df36df60233870e76"
eth_cold_key = "0102a8978915f91cc13de697b7a7d29bd14a78de977139a4442ff629ab128e4306f0"
eth_hot_key = "0102f2ea0d25c1d85e3c2496c8a0efe79f942df98f4fa484083548a963bbc147922e"
account_public_key = "001d087916adfa92558e08a518f6f9422b075ce4d574e1f6e7969a09d120491e86"
protocol_public_key = "00baf27de71da3451b026174c5bae1894a4992e4071de56535d5730943f906337a"
dkg_public_key = "600000000c4e1986ea68ea4fc56f631af81fbfcd33fe8edb610d02c26d8c89b6dda54953f130598a35a019156372d67e6465a407181e49e5c4848cfe51562004d8641e348ae05c481cf841283e2870f10a3777ff0d91af27d5ae49243a44f97cb428aa92"
commission_rate = "0.05"
max_commission_rate_change = "0.01"
net_address = "<IP_ADDRESS>:26656"
tendermint_node_key = "009315aeaf8ac424645a88ae2eacdc0d1e8b2ff097022e3c7790804b43ce692e4b"
email =<EMAIL_ADDRESS>discord = "aliefaisala | FairStaking"
element = "@fairstaking:matrix.org"
telegram = "@aliefaisala"
twitter = "@fairstaking"


[account] - Logging out should reroute back to landing page

Fixed with commit e90b539. Reroute to landing page when logged out


Gmail Relay-Smtp service usually fails

📑 I have found these related issues/pull requests
No related issues in uptime-kuma
🛡 Security Policy

[X] I agree to have read this project Security Policy

Description
Google supports a relay service for smtp.
The only change is to use smtp-relay.gmail.com as a host instead of smtp.gmail.com.
In uptime-kuma this usually fails with the error
421-4.7.0 Try again later, closing connection. (EHLO)
I traced that to be an issue with nodemailer.
Its authors seems to have reasons to hate google's smtp
The solution seems to be to include name: mydomain.com when creating the nodemailer transport
A generic solution to this is to allow advanced smtp configuration and add all the fields that nodemailer transport supports. This will greatly improve support for SMTP.
👟 Reproduction steps
Set smtp-relay.gmail.com as the smtp host and use app-passwords for the authentication in google workspace. I am part of a google workspace, no idea if this works for single gmail accounts.
👀 Expected behavior
Send mails
😓 Actual Behavior
Error:
421-4.7.0  For more information, go to  https://support.google.com/a/answer/3221692 - gsmtp: 421-4.7.0 Try again later, closing connection. (EHLO)
🐻 Uptime-Kuma Version
1.23.11
💻 Operating System and Arch
debian (official docker image)
🌐 Browser
Firefox 126.0
🖥 Deployment Environment

Runtime: Docker 24.0.5 (API: 1.43)
Database: embedded
Filesystem used to store the database on: embedded
number of monitors: 80

📝 Relevant log output
No response

Please refer to https://github.com/louislam/uptime-kuma/issues/4473#issuecomment-1937004369
I have not found the time to do the nessesary testing.
=> if you have the time for this...
I don't think that we need to allow users to configure name, as there are alredy way to many settings in said notification provider to make sense of.
=> defering to the primary base url for the hostname (if configured) seems like a good choice

I agree that we need to keep it simple, though if we set it automatically we are only handling cases where uptime-kuma is public, which I guess is rarely the case.
It is usually configured behind a cloudflare tunnel or in a private network. In both cases name should not be the host as in the comment you are mentioning.
In my scenario the service is hosted on a private network.
How do you think we can handle those cases?


ISSUE-340: Topics List page, Search Topics bug!

Original Issue: apache/pulsar-manager#340

Enter the query condition for the first time to get the query results. If you do not clear the input box, click query once and enter other query condition directly, the query result will be empty.

@tuteng Would you please help take a look?


Added guide for pod-level integration with Argo Workflows

What type of PR is this?
/kind documentation
What this PR does / why we need it:
Adds documentation on how to integrate with Argo Workflows using plain pod management.
Which issue(s) this PR fixes:
Related to #74
Special notes for your reviewer:
Does this PR introduce a user-facing change?
Added documentation on pod-level integration with Argo Workflows.

Hi @sam-leitch-oxb, any reason why you closed this PR?

@alculquicondor Hi, there seems to be progressive strides towards amalgamating Argo workflow support with Kueue. I am very interested in this feature and was hoping to get some updates on its progress and any future plans. Could you please share any information about the current status or expected timelines?

Hi @sam-leitch-oxb, any reason why you closed this PR?

Need some time to get the CLA approved (using a corporate account)
I didn't want to hold up anything in the interim.

@alculquicondor Hi, there seems to be progressive strides towards amalgamating Argo workflow support with Kueue. I am very interested in this feature and was hoping to get some updates on its progress and any future plans. Could you please share any information about the current status or expected timelines?

@chenxi-seu You can track Argo integration at https://github.com/argoproj/argo-workflows/issues/12363 and #74.

I think this would be worth getting into kueue's site. Going to open up a PR and resurrect this.

https://github.com/kubernetes-sigs/kueue/pull/3897


[Feature] Mark field as autoincrement

Hi, i was unable to mark field as autoincrement, so, i decided to do it with custom query
We definitively need this if we generate scheme of our db, cuz many apps/projects/etc often use autoincrement primary key 'id' (or something like this)

Added in version 0.7.0. Check the example on how to use.


Error when test is extended to create a browser fixture

I have extended test from playwright-test-coverage to define a browser fixture. But I run into an error:
    Error: page.evaluate: TypeError: callbacks.set is not a function

        at <anonymous>:24:64
        at new Promise (<anonymous>)
        at globalThis.<computed> (<anonymous>:24:21)
        at eval (eval at evaluate (:234:30), <anonymous>:2:16)
        at UtilityScript.evaluate (<anonymous>:236:17)
        at UtilityScript.<anonymous> (<anonymous>:1:44)

I found that it can be avoided by just adding a closure to the callback function of page.evaluate:
await page.evaluate(() => {
    window.collectIstanbulCoverage(JSON.stringify(window.__coverage__));
});

I have created a pull request: https://github.com/anishkny/playwright-test-coverage/pull/173


Delete

Thank you very much for creating this package! It's been very helpful to me. I recently found myself needing functionality to delete a file within azure blob storage. I implemented this with the following:
Future<http.StreamedResponse> deleteBlob(String path) async {
    var request = http.Request('DELETE', uri(path: path));
    sign(request);
    return request.send();
  }

Please let me know if you find this helpful and would like to add this, or would like a pull request for it.

hi @GabeDiamond , it looks good to me. and pull requests are welcome!
thank you

Great! I put in a pull request. This is actually my first open source pull request, so please let me know if I didn't do it correctly.

It looks good.
I'll upload a new version to pub.dev.
Thank you.


Upgrade eslint vue and swap to vue3-strongly-recommended

Currently linting of components is using the preset plugin:vue/vue3-essential from eslint-plugin-vue.
However, the ruleset plugin:vue/vue3-strongly-recommended also includes some valuable rules based on the Vue.js style guide that can help the components stay consistent, ensure all properties are declared and improve readability.
To that end this PR:

Enables plugin:vue/vue3-strongly-recommended
Disables style-related rules in the config that need excessive code changes
Temporarily disables style-related rules in the config that can be auto-fixed without many changes
Adds the eslint-disable directive on rules that should be addressed (follow up PR)
Additionally drops the @vue/cli-plugin-eslint dependency since it's not used

Noticing a lot of exceptions then added into the existing code base around props - is the plan ere to fix all of those eventually? If not, then why not had a global exception in the config?

Yes, the convention as I understand it, is that if it's disabled in a comment that usually means it should be fixed, whereas a global exception is saying, we disagree with this rule.
Having said that, all of the exceptions are fixed and removed in a follow-up PR: https://github.com/flowforge/forge-ui-components/pull/78

@Pezmc can you just double check and resolve the conflicts please?

@joepavitt Rebased and resolved.

@Pezmc and the linting error about an empty /tests folder?

Should resolve now https://github.com/flowforge/forge-ui-components/pull/80 is merged (same as #81).


Publish sdist and bdist wheel

Description
Closes https://github.com/PythonCharmers/python-future/issues/411
This PR provides a script that builds an sdist and wheels for python 2.7, 3.5, 3.6, 3.7, 3.8 and 3.9. The resulting artifacts can then be uploaded to Test PyPI or PyPI using twine.
The benefits of wheels are well documented. See: https://pythonwheels.com/
This package is pure Python and publishing it as both source and as a wheel is simple.
It follows https://github.com/PythonCharmers/python-future/pull/536 which was closed without merging

Thanks @groodt !


Typescript check fails

Hi, I am trying to use this library to render svg images with maplibre inside a React application, however i am getting an error when i try to build using vite alongside with typescript checks:
node_modules/maplibre-gl-svg/src/SvgManager.ts:69:20 - error TS2774: This condition will always return true since this function is always defined. Did you mean to call it instead?

69                 if(map._requestManager._transformRequestFn) {
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Found 1 error in node_modules/maplibre-gl-svg/src/SvgManager.ts:69

error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

This happens whenever you run tsc on a project that imports SvgManager as follows:
import { SvgManager } from "maplibre-gl-svg/src";

const App = () => {

  return <></>;
}

And this is how I define the dependency on my package.json:
    "dependencies": {
        ...
        "maplibre-gl-svg": "git+https://github.com/rbrundritt/maplibre-gl-svg.git",
       ...
    },

The version of typescript being used is:
tsc --version
Version 4.6.4

Maybe there is something I need to configure that I am not aware of? Any feedback is appreciated :smiley:

Sounds like you have some very strict rules in your typescript environment as this is not an error/bug, but is perfectly acceptable code. The reason for this check is that the _requestManager is an undocumented feature of the map SDK which means it could be removed in the future, so this if statement does a check to make sure it's still available so it can use it or failover gracefully.To handle this you can modify your typescript compiling rules to disable strictNullChecks.  Since the _requestManager function is defined externally, this project can't change this to a nullable type which make the compiler happy.
I'm not sure if it would help, but a ``//@ts-ignore` could be added above this line of code. I'm note sure if the typescript compiler would ignore this or not, or if this will only get rid of any syntax highlighting that might appear.


chore(node): clean up initializer methods

Motivation
Cleans up the initializer methods and breaks them down to functions so that they can be reused.
Description
...
Test Plan
Tests passing
TODO

[ ] Explain motivation or link existing issue(s)
[ ] Test changes and document test plan
[ ] Update documentation as needed
[ ] Update changelog as needed

What is the reason to make parsing/validating genesis data and initializing identities re-usable by extracting them into separate functions and calling them in Initialize and LoadIdentities respectively? Do you have any specific use in mind that requires making that code re-usable?

yes, for the node split


[Upstream-community] PSMDB operator upgrade to 1.3.0

Signed-off-by: Ivan Pylypenko<EMAIL_ADDRESS>Thanks submitting your Operator. Please check below list before you create your Pull Request.

Flat operator directory structure is obsolete from 23-rd of October 2019, only nested directory structure will be accepted.

Updates to existing Operators

[x] Is your new CSV pointing to the previous version with the replaces property?
[x] Is your new CSV referenced in the appropriate channel defined in the package.yaml ?
[x] Have you tested an update to your Operator when deployed via OLM?
[x] Is your submission signed?

Your submission should not

[x] Modify more than one operator
[x] Modify an Operator you don't own
[x] Rename an operator - please remove and add with a different name instead
[x] Submit operators to both upstream-community-operators and community-operators at once
[x] Modify any files outside the above mentioned folders
[x] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[x] Description about the managed Application and where to find more information
[x] Features and capabilities of your Operator and how to use it
[x] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[x] Human readable name and 1-liner description about your Operator
[x] Valid category name1
[x] One of the pre-defined capability levels2
[x] Links to the maintainer, source code and documentation
[x] Example templates for all Custom Resource Definitions intended to be used
[x] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

Hi @cap1984, replaces points to 1.2.0 which is not out yet as per #1458.

@cap1984, please have a look:
error checking provided apis in bundle : couldn't find psmdb.percona.com/v1-3-0/PerconaServerMongoDB (perconaservermongodbs) in bundle. found: map[psmdb.percona.com/v1/PerconaServerMongoDBBackup

Looks good now. Thank you @cap1984


Hotsapi.Uploader.exe is detected as a virus in 17/63 antiviruses on VirusTotal

Apparently antivirus programs don't like something in its code. VirusTotal link

AV
Result

Ad-Aware
Gen:Heur.MSIL.Krypt.4

AegisLab
Gen.Heur.Msil!c

Arcabit
Trojan.MSIL.Krypt.4

Avast
Win32:Malware-gen

AVG
Win32:Malware-gen

BitDefender
Gen:Heur.MSIL.Krypt.4

Cyren
W32/Trojan.BVAZ-1168

Emsisoft
Gen:Heur.MSIL.Krypt.4 (B)

eScan
Gen:Heur.MSIL.Krypt.4

F-Secure
Gen:Heur.MSIL.Krypt.4

GData
Gen:Heur.MSIL.Krypt.4

MAX
malware (ai score=86)

Palo Alto Networks
generic.ml

Qihoo-360
Win32/Trojan.385

Rising
Malware.Undefined!8.C (cloud:xzFP0T528ZI)

SentinelOne
static engine - malicious

TrendMicro-HouseCall

TROJ_GEN.R047H09HU17

What's interesting is they detect it in Hotsapi.Uploader.Windows project which contains nothing but autoupdate code and a single window. All detections are from heuristics. Gotta send some false positive letters to all those guys.

List of false positive forms for different vendors

Turns out some antiviruses like SentinelOne detect an empty console application (new project) as a virus. Looks like their strategy is to mark every file and wait for false positive emails.

Turns out most those antiviruses don't like "start with windows" checkbox.

SentinelOne still detects it (but it also detects an empty console app), need to send an email
Also reportedly malwarebytes.com which is not listed on virustotal

Still getting warnings from Windows Defender and even from Firefox which refuses to save the file.


Fix devise redirection bug

Devise 3.2.1 introduced a bug where it would discard querystring parameters when saving
the return URL for users who weren't signed in.

I worked on this with @bishboria, but I think it is good to merge, it fixes the gds-sso build and it makes Signon deployable again.

:+1:


Added docs for missing factories

Related to https://github.com/php-http/HttplugBundle/pull/59

Some spell check issues:
https://travis-ci.org/php-http/documentation/builds/112912582#L353


[WIP] Toggle the destination of an artist consign tap based on the currently selected tab

This is a WIP because it's kind of mess, things are probably mis-named, I didn't put everything in the right places, and I am heavily cargo-culting my objective-C code. I wanted to get eyes on it to review the approach before I clean it up. I'll also add supporting videos.
The initial problem
When you are in the Sell tab, and you tap an artist consign button, it takes you to the Sell tab landing page....but retains the scroll position of when you were last there. This is because the route associated with the Sell tab is also the route associated with sending you to the Sell tab landing page. The experience would be better if when you tapped artist consign from the Sell tab, it pushed another visit to the landing page onto the navigation stack. We wouldn't have to worry about your scroll position during the previous visit, and you could interact with that page visit in a way that's familiar to you (e.g. tap back to go to the previous page).
The initial solution
This PR adds a new route for visiting the sell tab landing page aside from the sell tab itself. This solves the navigation problem when you're in the Sell tab.
The wrench
Having done that, it now becomes important to know where you currently are in the app. We don't want these changes to affect your experience while you're on the Home or Search tab. If you're on any tab but Sell, we still want you to go to /sales....if you're on the Sales tab, we want you to go to /collections/my-collection/landing (there's probably a better path for that).
The wrench's solution
This PR also adds a bridge between React and the selected nav item. It currently takes advantage of the analytics tab name and passes that through; that certainly doesn't have to be the final solution. Once the React component has the currently selected tab name, it can choose the destination when you tap on an artist consign button.
Analytics issue
I noticed that the analytics tab name wasn't being set for the new sell tab, so I updated that too.

Fails

:no_entry_sign:
Missing Test Files:

src/lib/Scenes/Consignments/__tests__/SellTabLanding-tests.tsx

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

  Generated by :no_entry_sign: dangerJS

Closing in favor of #3400 (and a future followup PR)


The round function specification doesn't say what should happen to values exactly halfway between integers

Here is the current draft of the round function:
https://github.com/data-apis/array-api/blob/5c2423a96c9fd5113e405df88f2422f14cd978b9/src/array_api_stubs/_draft/elementwise_functions.py#L2191-L2231
It doesn't say whether numbers like 1.5 and 2.5 should be rounded to 1.0 and 2.0 or 2.0 and 3.0. Sometimes, the rule is to always round up (toward positive infinity? away from zero?), but that can bias distributions to higher values. Sometimes, the rule depends on the evenness or oddness of the whole part, which would eliminate this bias if the distribution is not correlated with evenness/oddness (e.g. if it's broad/smooth on the scale of 1 unit).
In particular, NumPy uses the evenness/oddness rule, in both its traditional API and its experimental implementation of the Array API:
>>> import numpy as np
>>> import numpy.array_api as xp
<stdin>:1: UserWarning: The numpy.array_api submodule is still experimental. See NEP 47.

>>> np.round(np.asarray([-3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5]))
array([-4., -2., -2., -0.,  0.,  2.,  2.,  4.])

>>> xp.round(xp.asarray([-3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5]))
Array([-4., -2., -2., -0.,  0.,  2.,  2.,  4.], dtype=float64)

In my opinion, round should be specified to do what NumPy does: use the evenness/oddness rule. This could be a "note" box, similar to the box describing what happens for complex numbers.

@jpivarski Thanks for filing this issue. If I am reading the specification correctly, the specification does, in fact, indicate what should happen in the event of ties. Namely, in the special cases section for floating-point operands, the specification states:

If two integers are equally close to x_i, the result is the even integer closest to x_i.

Hence, for 1.5 and 2.5, in both cases, the answer would be 2.0.
This behavior matches NumPy:
In [3]: import numpy as np

In [4]: np.round(1.5)
Out[4]: 2.0

In [5]: np.round(2.5)
Out[5]: 2.0

Ah! I missed that under "special cases."
https://github.com/data-apis/array-api/blob/5c2423a96c9fd5113e405df88f2422f14cd978b9/src/array_api_stubs/_draft/elementwise_functions.py#L2227
My request here was to get a line like that added, but now I see that it's already there, so I close the issue. Thanks for pointing it out!


fix: respect cache max age from configs

Problem:
max_age passed in configs is not getting respected. Due to this, the sent max age is not applied to cache sometimes.
Example config:
{
    "cache": {"mode": "simple", "maxAge": 60}
}

Using the above config, cache should be expired after 60 seconds.

Should it be max_age?

Yes. Fixed the example.


Allow Image Extensions

mdx-bundler version: 3.1.2
node version: 14.9
npm version: yarn

Relevant code or config
import { D3JS } from "@/lib/technologies";

export const meta = {
  title:
    "Add Interactivity to a Line Graph using scaleLinear.invert to Find a Data Point to Highlight on Mouse Move",
  description:
    "",
  type: "TUTORIAL",
  createdAt: "2018-03-20T01:58:20.594+00:00",
  technology: D3JS,
  tags: [],
  images: [require("./highlighted.png")],
};

What you did:
Attempted to add a plugin to resolve
Attempted to supply to files
What happened:
When supplied to files as a string
__mdx_bundler_fake_dir__/index.mdx:16:19: error: [JavaScript plugins] Invalid loader: "png" (valid: js, jsx, ts, tsx, css, json, text, base64, dataurl, file, binary)

Problem description:
In my MDX rather than using frontmatter I leverage a meta export, along with next-images + https://github.com/sergioramos/remark-copy-linked-files
This allows me to colocate all the things next to each other, and then they are processed into Next.js public directory and such.
However mdx-bunlder doesn't let unknown files types fall through to potentially get resolved by a appended plugin
Suggested solution:
I don't know?
Add in an optional way for unknown extensions to fall through to a future resolver?

Hi there @browniefed!
I don't know whether esbuild supports this (which is why you get the failure, there's no loader for that type), but if there's an esbuild plugin you'd like to add you have complete control over the esbuild config.
Alternatively, you can use an older version of mdx-bundler which uses rollup. It's not nearly as fast as esbuild, but it should support more plugins and things.
As it is, there's nothing we can do within mdx-bundler to support image files, so I'm going to close this.
FWIW, I'm moving to uploading all my images to cloudinary and referencing them that way. There are a lot of benefits to this approach (no need to reprocess the same image every single time you need to build/compile for one). That's what I'd personally recommend (yes, I know it's nice to have the images colocated, but I don't think it's worth giving up the benefits of moving it to a service like cloudinary).

It's totally possible https://esbuild.github.io/content-types/#external-file
I think I just wasn't sure if
      options.plugins = [myCustomplugin, ...options.plugins];

Was kosher or if I had to do
      options.plugins = [...options.plugins, myCustomplugin];

But overall sounds like I think I can do the myCustomPlugin before mdx-bundler does it stuff.
I don't do any build time optimizations. I leverage next/image so basically just copying files.

Ah cool 👍 do you mind adding your solution to the README? I imagine you won't be the first who wants this.

Still trying to solve it ha. Think a deeper dive into rebuild docs is
required. But when I get a solution I'll post it
On Sat, Apr 3, 2021, 5:15 PM Kent C. Dodds @.***> wrote:

Ah cool 👍 do you mind adding your solution to the README? I imagine you
won't be the first who wants this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kentcdodds/mdx-bundler/issues/16#issuecomment-812945868,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AANCT4O73WV3OXSA2SMJ623TG6VS3ANCNFSM42JBATCQ
.

@browniefed did you get around solving it?

@deadcoder0904 it is supported now if you look here
https://github.com/kentcdodds/mdx-bundler#image-bundling

I think for image imports I ended up pre parsing from the document because in most cases it was in front matter then the remark image solution handles it for body images

Hahah, I'm just reading that thing for last couple of hours. I thought it's different if it's used in frontmatter vs the actual body but it looks like its the same.


How can I get more than 64MB of tmp space in my container?

> $ docker --version
Docker version 1.6.0, build 3eac457/1.6.0

> $ docker run centos:6 dd if=/dev/zero of=/tmp/only64mboftmpspace bs=100k count=1024
dd: writing `/tmp/only64mboftmpspace': No space left on device
656+0 records in
655+0 records out
67108864 bytes (67 MB) copied, 0.0229038 s, 2.9 GB/s

This does not appear to depend in any way on which image i am using - /tmp is invariably now mounted as a 64MB tmpfs, just like /run. This is a hard showstopper for us - please help.
I'd also like to note that I was unable to locate any mention of this change in either Changelogs or commit messages..
Also discussed here: https://groups.google.com/forum/#!topic/docker-user/Jki8JtWIm7A

Hi!
If you are reporting a new issue, PLEASE make sure that does not have any duplicates already open.
We would like to take this time to remind you of the information we need to debug the problem you are seeing. This is an automated response so if this ticket is not about a bug, do not fret.
If you fail to provide this information within 7 days, we will close this because we cannot debug your issue. We can reopen whenever the information is provided.
Thank you.
Please see:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues
Description of problem:

`docker version`:

`docker info`:

`uname -a`:

Environment details (AWS, VirtualBox, physical, etc.):

How reproducible:

Steps to Reproduce:
1.
2.
3.

Actual Results:

Expected Results:

Additional info:

#ENEEDMOREINFO

Description of problem:
We use containers to run integration tests and the software tested uses the tmp file system during installation.
docker version:
Docker version 1.6.0, build 3eac457/1.6.0

docker info:
Containers: 5
Images: 2
Storage Driver: overlay
 Backing Filesystem: extfs
Execution Driver: native-0.2
Kernel Version: 3.19.5-200.fc21.x86_64
Operating System: Fedora 21 (Twenty One)
CPUs: 8
Total Memory: 31.31 GiB

Environment details (AWS, VirtualBox, physical, etc.): Physical boxes
How reproducible: 100%
Steps to Reproduce:

try to write a file larger than 64MB to /tmp

Actual Results: Get an error message 'No space left on device'
Expected Results: /tmp should be able to accomodate files larger than 64MB and
that limit should probably be configurable or not exist as a separate concern
in the first place.
Additional info:
> $ docker run centos:6 dd if=/dev/zero of=/tmp/only64mboftmpspace bs=100k count=1024
dd: writing `/tmp/only64mboftmpspace': No space left on device
656+0 records in
655+0 records out
67108864 bytes (67 MB) copied, 0.0229038 s, 2.9 GB/s

Not an expert, but I can't reproduce and the only difference from my Docker config is that I'm using aufs instead of overlay as a storage driver. Could you please see if you can still reproduce using aufs so we know if it's an overlay-specific problem? I'd try overlay on my end, but I don't have a box lying around with a recent-enough kernel.

I'm using overlay with an ubuntu box as host and vanilla kernel 4.0.0 and I cannot reproduce with the commands you gave. I'm spinning up a fedora vm and try to repro

Thanks for trying - i also cannot reproduce this on Ubuntu using either aufs, devicemapper or overlayfs.
Will try Fedora 22 next.

Problem is reproducible on Fedora 22 Beta, Kernel 4.0.1-300, so i guess this is Fedora-specific.
Will try CentOS 7  as well just to make sure.

Not reproducible on CentOS 7/devicemapper
docker info
Containers: 0
Images: 0
Storage Driver: devicemapper
 Pool Name: docker-253:0-100869707-pool
 Pool Blocksize: 65.54 kB
 Backing Filesystem: xfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 307.2 MB
 Data Space Total: 107.4 GB
 Data Space Available: 28.08 GB
 Metadata Space Used: 733.2 kB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.147 GB
 Udev Sync Supported: true
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.93-RHEL7 (2015-01-28)
Execution Driver: native-0.2
Kernel Version: 3.10.0-229.1.2.el7.x86_64
Operating System: CentOS Linux 7 (Core)
CPUs: 1
Total Memory: 3.274 GiB

This was addressed in https://bugzilla.redhat.com/show_bug.cgi?id=1216096 and is reported to be fixed in the latest docker build for Fedora.

Thanks so much for researching and reporting back, @sroegner. Much appreciated!


include .zsync in releases

Not very sure if this is all that's needed to be done btw.

Thanks, yes, this and the missing zsyncmake dependency should do it: https://github.com/karo-solutions/Signal-Desktop-AppImage/commit/95bdd42029471e2ec6c347533fcf83d11e587c3f

Thanks, yes, this and the missing zsyncmake dependency should do it: 95bdd42

Nice:


add total inventory fair market value on views and tests

Resolves #1169
Type of change

New feature (non-breaking change which adds functionality)

Screenshots

@GabrielRMuller If you can add the number_to_currency (or use the helper that Sean mentioned) this can be merged, thanks!

sure thing!

@GabrielRMuller Thanks!!

Will merge this after Travis + CC pass :+1:

I see merge conflicts here about inventory fair market value vs. inventory total value and I'm not completely clear on the difference and how to resolve those conflicts. Could someone explain it?


Error while Exporting Field Results Using PyAEDT

Before submitting the issue

[X] I have searched among the existing issues
[X] I am using a Python virtual environment

Description of the bug
Hi,
I am working on a project where I need to export field results, and I have automated this workflow using PyAEDT. However, I encountered the following error during the export process:
PyAEDT ERROR: case file format is not supported for this plot.
The export works perfectly through the GUI, but the issue occurs when I try to automate it using PyAEDT.
Steps To Reproduce
I was able to reproduce the issue with the following code and the sample aedt file (link to download).
Code:
import pyaedt

file_path = r"C:\Users\chamanth\testing_error\Project3.aedt"
exports_folder_path = r"C:\Users\chamanth\testing_error\exports_folder"

desktop = pyaedt.Desktop(non_graphical=True)
prj= desktop.load_project(file_path)
model = prj.modeler
part_names = model.object_names

post = prj.post  # post_processor

#Exporting Result

for name in part_names:

    h_field_plot = post.create_fieldplot_volume([name],quantity="Vector_H",plot_name="H_vector_plot")

    export_status = post.export_field_plot(plot_name = "H_vector_plot",
                            output_dir = exports_folder_path,
                            file_name = name,
                            file_format = 'case'
                                        )

   #if export_status:
   #   print(f"Exported H_Vector for {name}")
   # else:
   #    print(f"Not Exported for {name}")

    h_field_plot.delete()

desktop.close_desktop()

In the above code, I automate the export of the H vector field for each object (part). The aedt file contains 10 parts in total. The code successfully exports data for 4 parts, but for the remaining 6, the error is thrown as shown below:
Error Log:
..
PyAEDT INFO: Modeler class has been initialized! Elapsed time: 0m 0sec
PyAEDT INFO: Parsing C:/Users/chamanth/Downloads/testing_error/Project3.aedt.
PyAEDT INFO: File C:/Users/chamanth/Downloads/testing_error/Project3.aedt correctly loaded. Elapsed time: 0m 0sec
PyAEDT INFO: aedt file load time 0.1261458396911621
PyAEDT INFO: PostProcessor class has been initialized! Elapsed time: 0m 0sec
PyAEDT INFO: Post class has been initialized! Elapsed time: 0m 0sec
PyAEDT ERROR: case file format is not supported for this plot.
PyAEDT ERROR: case file format is not supported for this plot.
PyAEDT ERROR: case file format is not supported for this plot.
PyAEDT ERROR: case file format is not supported for this plot.
PyAEDT ERROR: case file format is not supported for this plot.
PyAEDT ERROR: case file format is not supported for this plot.
PyAEDT INFO: Desktop has been released and closed.

Additional Information

The same export process works fine through the GUI for the parts where automation fails.
I encountered this issue with large number of aedt files.
I initially raised this issue in a discussion (#5182 ). However, based on feedback from the discussion, it seems this might be a bug in PyAEDT, hence I’m reporting it here.

Could anyone assist in resolving this issue? Any suggestions or insights would be highly appreciated.
Which Operating System are you using?
 Some of your parts are conductors, and so by default "solve_inside" for them is off. When you create a volume plot, those return empty plots and throw error during export.
In the AEDT GUI, it automatically switches to a surface plot when you select such an object, so you still get a meaningful plot there. This behavior is not present in the current PyAEDT version.
You can still achieve this by manually checking. Try the following:
for name in part_names:

    # Get the Object3D object associated with current name.
    obj =  model.get_object_from_name(name)

    # Check if the object has "solve_inside" set. If yes, create a volume plot.
    #  If not, create a surface plot on its faces.
    if obj.solve_inside:
        h_field_plot = post.create_fieldplot_volume([name],quantity="Vector_H",plot_name="H_vector_plot")
    else:
        h_field_plot = post.create_fieldplot_surface(obj.faces,quantity="Vector_H",plot_name="H_vector_plot")

    export_status = post.export_field_plot(plot_name = "H_vector_plot",
                            output_dir = exports_folder_path,
                            file_name = name,
                            file_format = 'case'
                                        )

    h_field_plot.delete()

Hi @chamanth-vct,
@nathmay is right. I just implemented a check on the create_fieldplot_volume for the solve_inside property (#5256).
If you are trying to plot in an object where solve_inside is False, this will issue a warning and return false.
Thanks for feedback.
Regards,
Giulia

Hi @nathmay  and @gmalinve
Thank you for your suggestion.
I tried implementing your recommendation to check for solve_inside. Unfortunately, I’m still encountering the same error. It seems that the create_field_surface() function is not generating the plots in the same way that create_field_volume() does.
Here's the code I used:
import pyaedt

file_path = r"C:\Users\chamanth\Downloads\testing_error\Project3.aedt"
exports_folder_path = r"C:\Users\chamanth\Downloads\testing_error\exports_folder_new"

desktop = pyaedt.Desktop()
prj= desktop.load_project(file_path)
model = prj.modeler
part_names = model.object_names
post = prj.post  # post_processor

for name in part_names:
    obj =  model.get_object_from_name(name)

    if obj.solve_inside:
        h_field_plot = post.create_fieldplot_volume([name],quantity="Vector_H",plot_name="H_vector_plot")
    else:
        h_field_plot = post.create_fieldplot_surface(obj.faces,quantity="Vector_H",plot_name="H_vector_plot")

    export_status = post.export_field_plot(plot_name = "H_vector_plot",
                            output_dir = exports_folder_path,
                            file_name = name,
                            file_format = 'case')

    h_field_plot.delete()

desktop.close_desktop()

And here's the error message:
PyAEDT INFO: Parsing C:/Users/chamanth/Downloads/testing_error/Project3.aedt.
PyAEDT INFO: File C:/Users/chamanth/Downloads/testing_error/Project3.aedt correctly loaded. Elapsed time: 0m 0sec
PyAEDT INFO: aedt file load time 0.17937850952148438
PyAEDT INFO: PostProcessor class has been initialized! Elapsed time: 0m 0sec
PyAEDT INFO: Post class has been initialized! Elapsed time: 0m 0sec
PyAEDT INFO: Parsing design objects. This operation can take time
PyAEDT INFO: 3D Modeler objects parsed. Elapsed time: 0m 0sec
PyAEDT ERROR: case file format is not supported for this plot.
PyAEDT ERROR: case file format is not supported for this plot.
PyAEDT ERROR: case file format is not supported for this plot.
PyAEDT ERROR: case file format is not supported for this plot.
PyAEDT ERROR: case file format is not supported for this plot.
PyAEDT ERROR: case file format is not supported for this plot.
PyAEDT INFO: Desktop has been released and closed.

Could you please take another look and let me know if there’s anything else I might be missing?
Thank you again for your help!
Regards
Chamanth

Hi @chamanth-vct ,
when you try to create the surface plot please provide the intrinsics. By default you can get them from the setup:
h_field_plot = hfss.post.create_fieldplot_surface(obj.faces, quantity="Vector_H", plot_name="H_vector_plot", intrinsics=hfss.setups[0].default_intrinsics).
In the same PR I'm implementing an enhancement that if intrinsics are not provided the default ones are automatically taken.
Also bear in mind that pyaedt has become an alias of ansys.aedt.core in the import statements. Please review this page: breaking changes.
Hope this helps,
Regards,
Giulia


pyproto: deprecate py_methods

I've been thinking about #[pyproto] ergonomics for a while, prompted by questions like #1205, #1206, https://github.com/PyO3/pyo3/pull/1546#discussion_r608365767, and confusion I often see by users on Gitter.
There are a few methods like __bytes__ which have no technical reason to be in #[pyproto], and in fact can already be implemented in #[pymethods]. (See https://github.com/PyO3/pyo3/issues/1205#issuecomment-778529199.) I think that #[pymethods] is much easier to understand and use than #[pyproto], so to make "one way" for users I propose in this PR to deprecate these #[pyproto] methods.

Thanks @kngwyu for the feedback. I've made some changes to the documentation based on your suggestions, it looks much better now!

I'd like to bring to your attention that the __bool__() method is currently included in the PyObjectProtocol trait, but the corresponding C API slot nb_bool  is a part of the PyNumberMethods struct, which roughly corresponds to the PyNumberProtocol trait. I don't know why it is done this way, but you may also consider deprecating __bool__() from PyObjectProtocol and reintroducing it into PyNumberProtocol for consistency.

Given that the current design decision in #1206 is that we might try completely replacing #[pyproto] with #[pymethods] for 0.15, I'm not going to bother moving __bool__ for now.
If we can't make that change work I agree there's a couple of methods like this which should be shuffled around.

I don't know why it is done this way,

https://docs.python.org/3/reference/datamodel.html#object.__bool__
Though I don't like this inconsistency, but maybe this is the reason.

Given that the current design decision in #1206 is that we might try completely replacing #[pyproto] with #[pymethods] for 0.15 ...

That would be sweet. I'm really looking forward to it.


REST Layer Addition and Deletion

[] I added an entry to CHANGELOG.md if knowledge of this change could be valuable to users.

Here is a brief summary of what I did:
I created methods for adding and deleting layers and layer collections.
Moreover, I documented them with OpenAPI specs.

 [RESPECT] 3.5.1 Admin-Schnittstelle für Rasterdaten: Layer

bors merge


 I didn't fix all of them (ignored the ones with too many hits, stopped after a few to avoid huge spam), all of the fixes are automated, and I split each into its own patch (so you can audit each, and merge all as one or separately as you wish).

I'll probably continue to mess up the "2 spaces before inline comment" rule, but whatever. The rest look fine to me.


Add support for writing settings in YAML format

IMHO, JSON is not very convenient as a configuration file format. It also has features that while can be hacked around in JSON, is not supported by JSON (e.g. multi-line strings, comments, etc.).
Even AWS has started supporting YAML for CloudFormation. :)

@behrangsa I'm going to quote @fitztrev from #6

The nice thing about creating a tool for developers is you can get away with telling them to edit a JSON file to change settings. Not exactly something you could do with any other sort of consumer app. :)

Fast forward 5 years.  Shuttle is a fairly popular app with a lot of users. Some of those users have made their own apps that read the shuttle.json file see https://github.com/hendricius/shuttle-cli
Switching to YAML would break these integrations.
I suppose that shuttle could support both YAML and JSON but I don't see the point in doing this. With that said if someone wants to fork > make new branch > add this feature > submit a pull request; I would approve it as long its 1 to 1 support to the feature set in JSON. This feature works in YAML but not in JSON would be bad for the project.


C# constructors - argument hints not displaying

Hi there,
I have noticed that code hints for C# class constructors are not displaying correctly. The issue seems specific to constructors only.

It seems that vscode is pulling from generated XML metadata for the class if its available. In all other cases, it displays no argument information at all.

Many Thanks

This issue was moved to OmniSharp/omnisharp-vscode#36

nice one, thank you.


chore: bdd-spring-1586694971 to 0.0.1

chore: Promote bdd-spring-1586694971 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Implement automatic versioning

Is your feature request related to a problem? Please describe.
Versioning can get really messy very quickly, and after all, it takes a lot of time anyway.
Describe the solution you'd like
Let's start using our project versioning  project right here
Describe alternatives you've considered
Versioning manually.
Additional context
At the moment the manual versioning works just fine since this repository will not likely see many changes soon. However, when rules get more complex and more testing is implemented this might change.

This is now part of #39


Cannot read properties of undefined (reading 'trim')

Before submitting your bug report

[X] I believe this is a bug. I'll try to join the Continue Discord for questions
[X] I'm not able to find an open issue that reports the same bug
[X] I've seen the troubleshooting guide on the Continue Docs

Relevant environment info
- OS: macOS 12.5.1
- Continue: 0.8.23
- IDE: Vscode
- Model: codellama-7b

Description
I have configured Continue to use a local model with Ollama (codellama-7b)
{
  "models": [
    {
      "title": "Ollama-codellama",
      "provider": "ollama",
      "model": "codellama-7b",
      "completionOptions": {}
    },
}

When trying to translate a text to spanish or portuguese with this prompt "/edit translate the selection to spanish" I get the following error:
Cannot read properties of undefined (reading 'trim')

In the logs I can see a "too many files" maybe it's because Continues can't index all the files of the current project? 🤔 . My project is a frontend react monorepo with >20k files.
To reproduce

Install Ollama and run in terminal: ollama run codellama:7b
Configure a local model using:

{
  "models": [
    {
      "title": "Ollama-codellama",
      "provider": "ollama",
      "model": "codellama-7b",
      "completionOptions": {}
    },
}

create a file localeSpanish.tsx with the content:

const es = {
  'page-key': {
    WELCOME: 'Welcome',
  },
};

export default es;

Select the "Welcome" string and tell to Continue to translate to spanish using this prompt: "/edit Translate the selected string to spanish"
Press enter

Log output
[Extension Host] Unable to load language for file /Users/user/Documents/my-project/localeSpanish.tsx Error: EMFILE: too many open files, open '/Users/user/.vscode/extensions/continue.continue-0.8.23-darwin-arm64/out/tree-sitter-wasms/tree-sitter-tsx.wasm'
	at Object.openSync (node:fs:605:3)
	at Object.func [as openSync] (node:electron/js2c/node_init:2:2214)
	at Object.readFileSync (node:fs:473:35)
	at t.readFileSync (node:electron/js2c/node_init:2:9771)
	at Language.load (/Users/user/.vscode/extensions/continue.continue-0.8.23-darwin-arm64/out/extension.js:31235:45)
	at getLanguageForFile (/Users/user/.vscode/extensions/continue.continue-0.8.23-darwin-arm64/out/extension.js:31454:45)
	at async getParserForFile (/Users/user/.vscode/extensions/continue.continue-0.8.23-darwin-arm64/out/extension.js:31434:22)
	at async getAst (/Users/user/.vscode/extensions/continue.continue-0.8.23-darwin-arm64/out/extension.js:188250:18)
	at async getDefinitionsFromLsp (/Users/user/.vscode/extensions/continue.continue-0.8.23-darwin-arm64/out/extension.js:189373:15)
	at async getTabCompletion (/Users/user/.vscode/extensions/continue.continue-0.8.23-darwin-arm64/out/extension.js:189067:24)
	at async _CompletionProvider.provideInlineCompletionItems (/Users/user/.vscode/extensions/continue.continue-0.8.23-darwin-arm64/out/extension.js:189299:27)
	at async ContinueCompletionProvider.provideInlineCompletionItems (/Users/user/.vscode/extensions/continue.continue-0.8.23-darwin-arm64/out/extension.js:189511:27)
	at async U.provideInlineCompletions (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:152:108044)

 Error handling webview message: {
  "msg": {
    "messageId": "bde35118-5cbf-424f-aca8-2d3ec7e684ed",
    "messageType": "command/run",
    "data": {
      "input": "/edit ```localeSpanish.tsx (3-3)\nWelcome\n```\nTranslate the selected string to spanish",
      "history": [
        {
          "role": "user",
          "content": "Take the file prefix and suffix into account, but only rewrite the code_to_edit as specified in the user_request. The code you write in modified_code_to_edit will replace the code between the code_to_edit tags. Do NOT preface your answer or write anything other than code. The </modified_code_to_edit> tag should be written to indicate the end of the modified code section. Do not ever use nested tags.\n\nExample:\n\n<file_prefix>\nclass Database:\n    def __init__(self):\n        self._data = {{}}\n\n    def get(self, key):\n        return self._data[key]\n\n</file_prefix>\n<code_to_edit>\n    def set(self, key, value):\n        self._data[key] = value\n</code_to_edit>\n<file_suffix>\n\n    def clear_all():\n        self._data = {{}}\n</file_suffix>\n<user_request>\nRaise an error if the key already exists.\n</user_request>\n<modified_code_to_edit>\n    def set(self, key, value):\n        if key in self._data:\n            raise KeyError(f\"Key {{key}} already exists\")\n        self._data[key] = value\n</modified_code_to_edit>\n\nMain task:\n\n<file_prefix>\nconst en = {\n  'page-key': {\n    WELCOME: 'Welcome',\n</file_prefix>\n<code_to_edit>\nWelcome\n</code_to_edit>\n<file_suffix>\n  },\n};\n\n</file_suffix>\n<user_request>\nTranslate the selected string to spanish\n</user_request>\n<modified_code_to_edit>\n"
        }
      ],
      "modelTitle": "Ollama-codellama",
      "slashCommandName": "edit",
      "contextItems": [
        {
          "content": "Welcome",
          "name": "localeSpanish.tsx (3-3)",
          "description": "/Users/user/Documents/my-project/localeSpanish.tsx",
          "id": {
            "providerTitle": "code",
            "itemId": "/Users/user/Documents/my-project/localeSpanish.tsx"
          },
          "editing": true
        }
      ],
      "historyIndex": 0,
      "selectedCode": [
        {
          "filepath": "/Users/user/Documents/my-project/localeSpanish.tsx",
          "range": {
            "start": {
              "line": 2,
              "character": 0
            },
            "end": {
              "line": 2,
              "character": 0
            }
          }
        }
      ]
    }
  }
}

I'm also getting this bug.
Relevant environment info:
`- OS: Windows 11

Continue: v0.8.23
IDE: VSCode
Model: DeepSeek:33b`

I can provide logs if desired?

It looks like this bug is solved in the current release. I'm going to close the issue, but don't hesitate to re-open if needed

Experiencing this on version 0.8.45

same

same

@sestinj Maybe this wasn't fixed?
I'm getting Cannot read properties of undefined (reading 'range') when running the "Continue: Generate Code" command on v0.8.57 and v0.9.231 (pre-release). Don't know if it's related.