IPA_SERVER_IP does not appear to be sticking?

docker run --name=demofreeipa \
        -d \
        -e IPA_SERVER_IP=$(IPA_SERVER_IP) \
        -p 53:53/udp -p 53:53 \
        -p 80:80 -p 443:443 -p 389:389 -p 636:636 -p 88:88 -p 464:464 \
        -p 88:88/udp -p 464:464/udp -p 123:123/udp -p 7389:7389 \
        -p 9443:9443 -p 9444:9444 -p 9445:9445 \
        -h demo.freeipa.example.com \
        -e PASSWORD=$(FREEIPA_MASTER_PASS) \
        -v /sys/fs/cgroup:/sys/fs/cgroup:ro \
        -t adelton/freeipa-server:fedora-23

The IPA Master Server will be configured with:
Hostname:       demo.freeipa.example.com
IP address(es): <IP_ADDRESS>

which is the docker IP address not the one I fed it previously with -e IPA_SERVER_IP=$(IPA_SERVER_IP)
for consistency sake I made a Makefile that prompts for anything specific to the installation (and gitignores all the responses so I don't commit my master password etc to git):
https://github.com/joshuacox/mkFreeIPA
it's intended use would be make temp, and it would make you a temporary freeIPA server quickly, that you could make persistent after you got it running with make grab, and then make rmtemp, and finally make prod to run the container with the persistent directories.  But alas, it fails on make temp with
  [error] CalledProcessError: Command ''/bin/systemctl' 'restart' 'httpd.service'' returned non-zero exit status 1
ipa.ipapython.install.cli.install_tool(Server): ERROR    Command ''/bin/systemctl' 'restart' 'httpd.service'' returned non-zero exit status 1
FreeIPA server configuration failed.

which may or may not be related to the IP address not being passed correctly.
can you spot what I'm doing wrong?  I know I had this working a few months ago, and now something seems off, it's most likely me and I'd appreciate any extra eyes.

The IPA Master Server will be configured with:
Hostname:       demo.freeipa.example.com
IP address(es): <IP_ADDRESS>
which is the docker IP address not the one I fed it previously with -e IPA_SERVER_IP=$(IPA_SERVER_IP)

This is expected. We cannot pass the external IP address directly to ipa-server-install since it insists in checking if the IP address is local on the host / in the environment running the server. So it would fail in many Docker installations. See https://fedorahosted.org/freeipa/ticket/2648 for more details.
Instead, we let the ipa-server-install run with whatever IP address it finds in the container, and only after the server was configured and is up and running, we set the IP address for the IPA server hostname to the one provided with IPA_SERVER_IPA. So running
dig @<IP_ADDRESS> demo.freeipa.example.com

on the host should output value of $IPA_SERVER_IP.

But alas, it fails on make temp with
[error] CalledProcessError: Command ''/bin/systemctl' 'restart' 'httpd.service'' returned non-zero exit status 1
ipa.ipapython.install.cli.install_tool(Server): ERROR    Command ''/bin/systemctl' 'restart' 'httpd.service'' returned non-zero exit status 1
FreeIPA server configuration failed.
which may or may not be related to the IP address not being passed correctly.

Should I venture a guess and if you are running this on Debian with AUFS, the httpd package did not install properly -- see https://github.com/adelton/docker-freeipa/issues/55.

on ubuntu 14.04 for that one, but I'm betting you are probably right with it being an AUFS issue, or related,  I think I'll just use centos7 instead for this particular application.   I appreciate you pointing me to #55


[zh] sync service-access-application-cluster.md

Sync the 4th file found via #37919
content/zh-cn/docs/tasks/access-application-cluster/service-access-application-cluster.md

Preview: https://deploy-preview-37934--kubernetes-io-main-staging.netlify.app/zh-cn/docs/tasks/access-application-cluster/service-access-application-cluster/

/lgtm
/approve


3/27/2019 Publish

OPS Build status updates of commit c281e31:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/azure-cli-extensions-list.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

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


Feature/rlp 849/receive lc messages design

This PR intends to be the first Implementation of the Rif Comms LightClientNode
It also fixes some tests to use the current implementation of rif comms pubsub
Manual testing Steps:

A Full node transport and a Light client transport are initialized (addresses 0x1 and 0x2)
full node transport subscribes to 0x1
light transport subscribes to 0x2
the subscription shows the same peer id for each one (See *1)
the sender.py script sends a message to 0x1
the message is received sometimes by full node transport and some times by light transport
the sender.py script sends a message to 0x2 and the same occurs

This table represents the behaviour vaguely

sender calls with
first time
second time
restart all
restart lumino (subscribe again)

lc
lc
lc
lc
fn

fn
lc
lc
lc
fn

Notes that represent incorrect behaviour:

each message is received twice
each message is received on the wrong topic, for example, if sender sends a message with fn address, it doesnt make sense to receive it on the lc topic

(*1)
createTopicWithRskAddress {"address":"0x138aF366e0ED7Cc4b9747a935D1b5F75A86b9D83","exclusive":false}
locatePeerID "0x138aF366e0ED7Cc4b9747a935D1b5F75A86b9D83"
connectToCommunicationsNode {"address":"0x138aF366e0ED7Cc4b9747a935D1b5F75A86b9D83","exclusive":false}
createTopicWithRskAddress {"address":"0x2Cd53d83E5ca1F3c66EDC7bf307139c6B1989C9a","exclusive":false}
locatePeerID "0x2Cd53d83E5ca1F3c66EDC7bf307139c6B1989C9a"
connectToCommunicationsNode {"address":"0x2Cd53d83E5ca1F3c66EDC7bf307139c6B1989C9a","exclusive":false}
Adding RSKADDRESS PEER= 16Uiu2HAm9otWzXBcFm7WC2Qufp2h1mpRxK1oox289omHTcKgrpRA  : RSKADDRESS= 0x138aF366e0ED7Cc4b9747a935D1b5F75A86b9D83
Adding RSKADDRESS PEER= 16Uiu2HAm9otWzXBcFm7WC2Qufp2h1mpRxK1oox289omHTcKgrpRA  : RSKADDRESS= 0x2Cd53d83E5ca1F3c66EDC7bf307139c6B1989C9a
address 16Uiu2HAm9otWzXBcFm7WC2Qufp2h1mpRxK1oox289omHTcKgrpRA
 - New subscription to 16Uiu2HAm9otWzXBcFm7WC2Qufp2h1mpRxK1oox289omHTcKgrpRA
address 16Uiu2HAm9otWzXBcFm7WC2Qufp2h1mpRxK1oox289omHTcKgrpRA
 - New subscription to 16Uiu2HAm9otWzXBcFm7WC2Qufp2h1mpRxK1oox289omHTcKgrpRA

superb work 👏
i've left some comments, but i see no major issue.
the whole thing isn't functional yet, but it doesn't need to be for this PR to be merged (it's also getting there!)
some more thoughts:

we have to start thinking about how to have these RIF Comms unit/integration tests executed through pytest without having to run a RIF Comms node manually (lmk if you agree on creating an issue for this and i'll document it). otherwise we will have to run and verify them manually each time, which almost defeats the purpose of unit tests
we have a new upcoming version for the comms node. we can either merge this PR first, then branch out and make changes based on the new comms code, or verify this new code directly on this branch/PR. up to you, both are acceptable afaic
once we know that the registration for multiple RSK addresses on the same peer ID is—in theory—functional, we'll have our work cut out for us
it'd be nice to have the teardown code working 🤓 hmu if you need help with this one

Thanks for the review

I think is better to iterate this PR using the new version of rif comms node and fix something if needed before merge.
Lets improve the test cases too and try to make them automated
I will take a look to the teardown issue


Update Lock up seed phrase illustration #1701

Closes #1701

@vladyslav-iosdev  Remember to buzz me for review if done

@vladyslav-iosdev Remember to buzz me for review if done

@hboon You can check it


cannot connect after import profile

Cannot connect after import profile to openvpn connect (download from playstore). works on my pc but not on mobile
MI 10T Pro android version 10 OpenVPN Connect – Fast & Safe SSL VPN Client

Some mobile networks filter VPN connections. But if you still have issues please provide the client connection log so we can get a better idea of what is going on.


Added Docker HTTP proxy settings

See kubic-project/salt#66
See bsc#1036627
Signed-off-by: Miquel Sabaté Solà<EMAIL_ADDRESS>

Note that I had to massage a bit the code, because it assumed that all pillar values are to be set (which is not the case for the optional proxy values...)

@ereslibre I've opened #179 exactly for that. This is something that can be done later I think.

I've opened #179 exactly for that. This is something that can be done later I think.

LGTM, merging.


[testnet] not able to sync a validator from 0 for testnet only

Describe the bug
While setting up a tfchain validator snapshot creator, we tried to sync a node from 0 with the new pruning flags using the docker-compose from this repo https://github.com/threefoldtech/grid_deployment/tree/development/tfchain-validator-snapshots/testnet.
While this worked fine for the other nets, we where not able to sync one for testnet nor trigger any changes in behavior or log output. This was tested on several different hosts, all the networking was tripple checked and each host could sync for another net. We could also not find any difference between the testnet compose file and other net compose files, except for the chainspec path which is by design. TFchain version should also be ok, since all the other testnet validators and public rpc nodes run this same 2.7.0-rc4 version.
To Reproduce
Steps to reproduce the behavior:

clone https://github.com/threefoldtech/grid_deployment.git
cd grid_deployment/tfchain-validator-snapshots/testnet/
mkdir -p /srv/tfchain/
cp .secrets.env-example .secrets.env and add unique node key and name
docker compose --env-file .secrets.env --env-file .env up -d
docker logs tfchain-validator -f --tail 500

Expected
start syncing from block 0 to current block and keep in sync after
Screenshots
log output with following debug flags
      - "-lpallet=debug"
      - "-loffchain-worker=debug"
      - "-lpallet_smart_contract=trace"

root@tfchain-test-val-snapshot:~/code/grid_deployment/tfchain-validator-snapshots/testnet# docker logs tfchain-validator -f --tail 500
2024-10-29 13:32:25.721  INFO main sc_cli::runner: Substrate Node
2024-10-29 13:32:25.721  INFO main sc_cli::runner: ✌  version 2.7.0-rc4-unknown
2024-10-29 13:32:25.721  INFO main sc_cli::runner: ❤   by<EMAIL_ADDRESS>2017-2024
2024-10-29 13:32:25.721  INFO main sc_cli::runner: 📋 Chain specification: Tfchain Testnet
2024-10-29 13:32:25.721  INFO main sc_cli::runner: 🏷  Node name: tfchain-test-val-snapshot
2024-10-29 13:32:25.721  INFO main sc_cli::runner: 👤 Role: AUTHORITY
2024-10-29 13:32:25.721  INFO main sc_cli::runner: 💾 Database: RocksDb at /storage/chains/tfchain_testnet/db/full
2024-10-29 13:32:26.087  WARN main sc_service::config: Using default protocol ID "sup" because none is configured in the chain specs
2024-10-29 13:32:26.088  INFO main sub-libp2p: 🏷  Local node identity is: 12D3KooWH8jH43mXyhBE8zGLNjTjrUEaS3hmyGq4dPPWLcehV9Fj
2024-10-29 13:32:26.093  INFO main sc_sysinfo: 💻 Operating system: linux
2024-10-29 13:32:26.093  INFO main sc_sysinfo: 💻 CPU architecture: x86_64
2024-10-29 13:32:26.093  INFO main sc_sysinfo: 💻 Target environment: gnu
2024-10-29 13:32:26.093  INFO main sc_sysinfo: 💻 CPU: AMD Ryzen 5 3400G with Radeon Vega Graphics
2024-10-29 13:32:26.093  INFO main sc_sysinfo: 💻 CPU cores: 4
2024-10-29 13:32:26.093  INFO main sc_sysinfo: 💻 Memory: 30003MB
2024-10-29 13:32:26.093  INFO main sc_sysinfo: 💻 Kernel: 6.8.0-47-generic
2024-10-29 13:32:26.093  INFO main sc_sysinfo: 💻 Linux distribution: Ubuntu 22.04.3 LTS
2024-10-29 13:32:26.093  INFO main sc_sysinfo: 💻 Virtual machine: no
2024-10-29 13:32:26.093  INFO main sc_service::builder: 📦 Highest known block at #0
2024-10-29 13:32:26.094  INFO tokio-runtime-worker substrate_prometheus_endpoint: 〽 Prometheus exporter started at <IP_ADDRESS>:9615
2024-10-29 13:32:26.094  INFO                 main sc_rpc_server: Running JSON-RPC server: addr=<IP_ADDRESS>:9944, allowed origins=["http://localhost:*", "http://<IP_ADDRESS>:*", "https://localhost:*", "https://<IP_ADDRESS>:*", "https://polkadot.js.org"]
2024-10-29 13:32:31.094  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #0 (0x0378…0660), finalized #0 (0x0378…0660), ⬇ 0 ⬆ 0
2024-10-29 13:32:36.095  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #0 (0x0378…0660), finalized #0 (0x0378…0660), ⬇ 0 ⬆ 0
2024-10-29 13:32:41.096  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #0 (0x0378…0660), finalized #0 (0x0378…0660), ⬇ 0 ⬆ 0
2024-10-29 13:32:46.096  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #0 (0x0378…0660), finalized #0 (0x0378…0660), ⬇ 0 ⬆ 0
2024-10-29 13:32:51.097  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #0 (0x0378…0660), finalized #0 (0x0378…0660), ⬇ 0 ⬆ 0
2024-10-29 13:32:56.097  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #0 (0x0378…0660), finalized #0 (0x0378…0660), ⬇ 0 ⬆ 0
2024-10-29 13:33:01.098  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #0 (0x0378…0660), finalized #0 (0x0378…0660), ⬇ 0 ⬆ 0
2024-10-29 13:33:06.098  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #0 (0x0378…0660), finalized #0 (0x0378…0660), ⬇ 0 ⬆ 0
2024-10-29 13:33:11.099  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #0 (0x0378…0660), finalized #0 (0x0378…0660), ⬇ 0 ⬆ 0
2024-10-29 13:33:16.099  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #0 (0x0378…0660), finalized #0 (0x0378…0660), ⬇ 0 ⬆ 0
2024-10-29 13:33:21.100  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #0 (0x0378…0660), finalized #0 (0x0378…0660), ⬇ 0 ⬆ 0
2024-10-29 13:33:26.100  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #0 (0x0378…0660), finalized #0 (0x0378…0660), ⬇ 0 ⬆ 0
2024-10-29 13:33:31.101  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #0 (0x0378…0660), finalized #0 (0x0378…0660), ⬇ 0 ⬆ 0
2024-10-29 13:33:36.102  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #0 (0x0378…0660), finalized #0 (0x0378…0660), ⬇ 0 ⬆ 0
2024-10-29 13:33:41.103  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #0 (0x0378…0660), finalized #0 (0x0378…0660), ⬇ 0 ⬆ 0
2024-10-29 13:33:46.103  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #0 (0x0378…0660), finalized #0 (0x0378…0660), ⬇ 0 ⬆ 0
2024-10-29 13:33:51.104  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #0 (0x0378…0660), finalized #0 (0x0378…0660), ⬇ 0 ⬆ 0

While trying many  changes, could not produce more output then this.

Okay, @coesensbert I will check this.

The first point to address is why we're using the 2.7.0-rc4 tag to start a validator on the testnet. Currently, we're running spec 153 on devnet, qanet, and testnet, and the TFChain node software version should be updated to the latest 2.9.2 as outlined in this update request. Previously, I had requested a minimum version of 2.9.0 with spec 152, 3.15-rc1 here.
Please make sure all nodes on the Dev, QA, and Test networks are updated to 2.9.2. Let me know if you continue to experience syncing issues.
That said, the primary reason the node isn’t synced is due to outdated chain specs in images prior to 2.8.0, as we recently updated the bootnode addresses, if you recall.

Latest update on testnet was not applied when creating this issue
Update request that you're linking is about devnet. This issue is about testnet
Where is the update request for testnet to 2.8.0? Previous version says 2.7.0 for 3.14.

@sabrinasadik
https://github.com/threefoldtech/home/blob/4fd7138cc1595b496c17dd52db66c49ac68e6ddf/wiki/products/v3/tfgrid_3.15-rc1.toml#L5
The 3.15 TOML files, starting from RC-1 to the latest, include version 2.9.2. Can you confirm if this is the file used by Ops to apply updates on the Envernomnest testnet?

2.9.2 is syncing but with these:
2024-11-06 13:07:36 ⚙   Syncing 736.2 bps, target=#15976995 (4 peers), best: #19362 (0x5038…7cac), finalized #18944 (0xa05e…fa6c), ⬇ 175.8kiB/s ⬆ 1.5kiB/s
2024-11-06 13:07:37 Report 12D3KooWQ5zzNP458fPfY2eAEDaXsxPsLMNSd73D2ywJWMznHBDu: -2147483648 to -2147483648. Reason: Genesis mismatch. Banned, disconnecting.
2024-11-06 13:07:37 Report 12D3KooWNuRL8uSKAgDyW1Qx49uTdnbXdzk5i2Z1b5m65Nj6cE7V: -2147483648 to -2147483648. Reason: Genesis mismatch. Banned, disconnecting.
2024-11-06 13:07:37 Report 12D3KooWES1jUpjghmZGEKyZfej5WtXAGCPZAxVHw7xGUe5mCssp: -2147483648 to -2147483648. Reason: Genesis mismatch. Banned, disconnecting.
2024-11-06 13:07:38 Report 12D3KooWKwZcU3S3Wwu1ppgk5FrFcdUVcT3LUZTMsGdxodMVAtT1: -2147483648 to -2147483648. Reason: Genesis mismatch. Banned, disconnecting.
2024-11-06 13:07:38 Report 12D3KooWPwzqdCa26FxzVmUgzikURRjNMTYfv2RwF5MPRHWHjMkS: -2147483648 to -2147483648. Reason: Genesis mismatch. Banned, disconnecting.
2024-11-06 13:07:38 Report 12D3KooWCrKZn9fxeTUXZ1pwyjZjcMAXu4stuV6u1NNQ73EQ88ht: -2147483648 to -2147483648. Reason: Genesis mismatch. Banned, disconnecting.
2024-11-06 13:07:39 Report 12D3KooWB1WjEfiobvuoqUV9PzdTBFS36Cei7NpkwogzqY6oJ9ba: -2147483648 to -2147483648. Reason: Genesis mismatch. Banned, disconnecting.
2024-11-06 13:07:39 Report 12D3KooWL67S869q67gaPdqzoHFnLtdcKab6M9iyk7u91hx9qPpQ: -2147483648 to -2147483648. Reason: Genesis mismatch. Banned, disconnecting.
2024-11-06 13:07:39 Report 12D3KooWFRkctMRk3iWKcLRKGGBk67S62e7YHp8uQ7PoYa9xPWYL: -2147483648 to -2147483648. Reason: Genesis mismatch. Banned, disconnecting.
2024-11-06 13:07:39 Report 12D3KooWE19pLyW7LHkCDQPttrkDtquNt89LLUZtpXayv2Uc8dd2: -2147483648 to -2147483648. Reason: Genesis mismatch. Banned, disconnecting.
2024-11-06 13:07:40 Report 12D3KooWJgFf1DciJANgpoVUNe7Zavq6Wkge1obiZXwaGBT7ks4z: -2147483648 to -2147483648. Reason: Genesis mismatch. Banned, disconnecting.
2024-11-06 13:07:40 Report 12D3KooWBcYj6r4gQ5M8KVodbWtVHyhUgQ93tFagmoxAzKBCPeJe: -2147483648 to -2147483648. Reason: Genesis mismatch. Banned, disconnecting.
2024-11-06 13:07:40 Report 12D3KooWSCFtAPQRRa5uw2QhwsC77NfCv1mxHJjWQhUrRANkoYyx: -2147483648 to -2147483648. Reason: Genesis mismatch. Banned, disconnecting.
2024-11-06 13:07:40 Report 12D3KooWG3nvgcM3hYoru19A7C79meUNATFWRhwd7tsyj2huMGnz: -2147483648 to -2147483648. Reason: Genesis mismatch. Banned, disconnecting.

@coesensbert Did the machine finish syncing? can we close this one?


CI-Testing with online staged servers

right now, the CI does not try to fully setup a fresh machine.
We discussed to configure one dedicated VM that CI tasks can acquire and use for setting up,
ideally also including our generated DNS setup.  To not interfere with real-world systems,
it's probably best to have the CI domain on something else than ".testrun.org" because testrun is actually used in production by users and automatically messging around with DNS there is probably not a good idea.

Proposal:
have a GitHub action, which runs on every push to the main branch:

rebuild the VPS with a clean Debian/Ubuntu image: https://docs.hetzner.cloud/#server-actions-rebuild-a-server-from-an-image

staging.testrun.org should point to this VPS
optional: run two jobs with both images

run cmdeploy run staging.testrun.org
run cmdeploy test
run cmdeploy run nine.testrun.org

Unfortunately, the Hetzner API doesn't seem to offer scoped API tokens which only give access to one VM or so. I just see the option to generate a general token: https://docs.hetzner.com/cloud/api/getting-started/generating-api-token/
We could use a dedicated Hetzner account for the staging.testrun.org VPS though (mine for example).

We could also make this automatically deploy to nine.testrun.org, after all tests against staging.testrun.org pass, and should probably run cmdeploy test again afterwards, as the CI only tests a completely fresh machine, while nine.testrun.org might still have some older remnants around.
We could also create a second non-reset VPS for CI, to test deployment on machines with old remnants before we deploy it to nine.

CI takes over 8 minutes, so it's not something we can run on every commit I'd say. Right now it's only executed when we push to main, so only after merging a PR. This is meant to ensure that deployment to nine.testrun.org will not break anything, before we deploy it.

I think it's fine to not automatically deploy to nine.testrun.org,
maybe even preferable as doing it conciously means that one can
also run tests and see a bit if anything apparently breaks.
It may be helpful, however, to deploy-update master-merges to a dedicated
CI-service used by dc-core CI (which would then not use nine anymore).
Merging automatically to a dedicated CI machine would mean that we would
relatively quickly notice any break with Delta Chat usage (securejoin etc.)
because those tests are often run in core's CI.
But this dedicated CI-machine suggestion is not neccessary for merging this PR.
On Wed, Jan 17, 2024 at 02:42 -0800, missytake wrote:

CI takes over 8 minutes, so it's not something we can run on every commit I'd say. Right now it's only executed when we push to main, so only after merging a PR. This is meant to ensure that deployment to nine.testrun.org will not break anything, before we deploy it.
--
Reply to this email directly or view it on GitHub:
https://github.com/deltachat/chatmail/issues/100#issuecomment-1895544367
You are receiving this because you authored the thread.
Message ID: @.***>

Alternatively - we could limit concurrent CI runs so there is only one CI job at the same time, re-introduce resetting the VPS, and run it on every commit in a PR: https://stackoverflow.com/questions/74033010/how-can-i-prevent-a-github-action-from-running-in-parallel-for-the-same-branch
Then we could also use it in PRs.


help in making this design responsive

This is a completed design. Help me in making this design responsive for smartphones

@Nainish-Rai Can you assign me this issue?

@tokyo3001 Sure, You can start working on it.


.usingRecursiveComparison().ignoringCollectionOrder() is very slow for medium to large unordered collections

Comparing two unordered collections recursively is very slow if the two collections are not small and their elements are not in a similar order.
I've had a look through the implementation in RecursiveComparisonDifferenceCalculator#compareUnorderedIterables and it looks like the complexity in the worst case is quadratic.
I think this could be improved by using a hash map to avoid unnecessary comparisons, but this would require a deep hash implementation that is consistent with the deep equals configuration. (There was a deepHashCode method in an earlier version of RecursiveComparisonDifferenceCalculator, but it was removed in commit 7406133f.)
I've tested this with assertj version 3.24.2.
Some example timed comparisons:
@Test
public void test_usingRecursiveComparison() {
    List<Integer> range100 = IntStream.range(0, 100).boxed().toList();
    List<Integer> range1000 = IntStream.range(0, 1000).boxed().toList();
    List<Integer> range10000 = IntStream.range(0, 10000).boxed().toList();

    // everything works fine for comparisons of ordered collections
    Stopwatch stopwatch = Stopwatch.createStarted();
    assertThat(range100)
            .usingRecursiveComparison()
            .isEqualTo(range100);
    System.out.println(stopwatch);  // 176.6 ms
    stopwatch = Stopwatch.createStarted();
    assertThat(range1000)
            .usingRecursiveComparison()
            .isEqualTo(range1000);
    System.out.println(stopwatch);  // 53.10 μs
    stopwatch = Stopwatch.createStarted();
    assertThat(range10000)
            .usingRecursiveComparison()
            .isEqualTo(range10000);
    System.out.println(stopwatch);  // 32.40 μs

    List<Integer> reversed100 = IntStream.range(0, 100).boxed()
            .sorted(comparing(x -> -x)).toList();
    List<Integer> reversed1000 = IntStream.range(0, 1000).boxed()
            .sorted(comparing(x -> -x)).toList();
    List<Integer> reversed10000 = IntStream.range(0, 10000).boxed()
            .sorted(comparing(x -> -x)).toList();

    // but comparisons of unordered collections become slow very quickly
    stopwatch = Stopwatch.createStarted();
    assertThat(range100)
            .usingRecursiveComparison()
            .ignoringCollectionOrder()
            .isEqualTo(reversed100);
    System.out.println(stopwatch);  // 153.8 ms
    stopwatch = Stopwatch.createStarted();
    assertThat(range1000)
            .usingRecursiveComparison()
            .ignoringCollectionOrder()
            .isEqualTo(reversed1000);
    System.out.println(stopwatch);  // 1.471 s
    stopwatch = Stopwatch.createStarted();
    assertThat(range10000)
            .usingRecursiveComparison()
            .ignoringCollectionOrder()
            .isEqualTo(reversed10000);
    System.out.println(stopwatch);  // 1.639 min
}

We know this is slow because unordered collection comparison is O(n2) (see https://github.com/assertj/assertj/issues/2979).
To use any kind of hashcode, we would need to be consistent with the recursive comparison configuration, let's say you are comparing Person with an Address field and an id of type string field, if the hashcode is computed with both fields but the recursive comparison ignores the id then using the hashcode return lead to false positives.
So I believe this could work if the hashcode is consistent with the recursive comparison configuration.

Thanks for the link - I did a quick search for existing issues before posting this one, but somehow missed that.
I just had a go at fixing the problem and it's pretty easy to get something that covers the simple cases, but my solution doesn't take into account ignored fields or custom comparators. For those I think I'd have to modify the deep hash code to track the field location.
If I come up with something that seems to work I'll start a PR.

I've looked a bit more into this, and I don't think it's possible to write a general hash code function that matches the recursive comparison, as with certain configurations the recursive comparison may not define an equivalence relation. This is most obvious with configuration options like ignoreAllActualNullFields which isn't symmetric or transitive. In this case, whether expected.x should be compared (and so included in the hash calculation) depends on the nullness of actual.x. There are other configurations that violate the equivalence relation conditions in less obvious ways.
I think it's still possible to improve on the current behaviour though. The hash code could just be used as a hint for which elements in the unordered iterable to compare to first - if expected doesn't match any actual element in the corresponding hash bucket, we check the other elements.

Thanks for the investigation, I agree that comparing first elements with matching hashcode could improve the overall number of comparison, I don't think we need a deep hashcode (as there was in the implementation at the beginning), the object hashcode should do the job. I would curious how much we gain.

OK, I just created a PR using the object hashcode.

@JozsefKutas out of curiosity, what is the reason for having to compare huge collection with the recursive comparison? I'm kinda of expecting unit test to operate on small data set so I'm curious what your use case is

I'm running some tests where I import some medium sized test data that's used for some financial modelling calculations and I try exporting/reimporting the data, or persisting/fetching the data, and use a recursive comparison to test that it hasn't been changed in any meaningful way.
I can work around the problem by only using a subsample of the test data for tests requiring recursive comparisons (this is my current workaround), but it would be better if this wasn't necessary.


How to troubleshooting 'connected' event not fired

I tried to do the distributed lock by using Rorschach but failed in the very first step - create a Rorschach instance. The event 'connected' never get fired which stops the lock acquiring processes. Is there any tips for connecting to ZooKeeper? Or any ways for troubleshooting the connection issues?

Hi. Well, the module is on very early stage, that's the reason there is no
error event still. I'll add it today. Currently you can only listen to
connectionStateChanged event which just proxies state change of
underlying ZooKeeper client' connection manager. This can help you
understand what's going on.
Also, there is a problem with node-zookeeper-client: it usually re-tries
anything without mentioning it. I'll update issue later today once done
with changes.
On 07:11, Mon, May 4, 2015 send2vinnie<EMAIL_ADDRESS>wrote:

I tried to do the distributed lock by using Rorschach but failed in the
very first step - create a Rorschach instance. The event 'connected' never
get fired which stops the lock acquiring processes. Is there any tips for
connecting to ZooKeeper? Or any ways for troubleshooting the connection
issues?
—
Reply to this email directly or view it on GitHub
https://github.com/slideme/rorschach/issues/3.

@send2vinnie Once Travis will check PRs I'll release 0.3.0 which has error event support. API doc is already updated.

@send2vinnie Hi, again. You can try with npm i<EMAIL_ADDRESS>Also I fixed one annoying Lock bug.

@send2vinnie can I close this issue, man?


Set last login on the user table to the current date when the user logs in

Need
We need some basic indicators of who is using the app and if invited people have logged in
Approach
Record the time of the last login (or a close proxy) in the last login field of the users record in the db.
Some options...

Use the /me API to trigger an update of the last login field
Use dereferencing the user's auth token with Google as the trigger.

It looks like /me is over called. We can work on that on a different ticket.  I am happy with either 1 or 2 above (any other ideas?)

@hunterckx update, Fran has fixed /me being overcalled by the front end so I think we can use /me to trigger the last logged in  for now.

Complete


First time starting Storage Explorer Version and I have "Loading..." status for half an hour...

Storage Explorer Version: 1.17.0
Build Number:  20201211.10
Platform/OS: Macintosh 10.15.7 (Catalina)
Architecture: MacBook Pro 16 inch 2019, 2.6 GHz 6- Core intel Core i7
Regression From: This is the first time I've ever run it.
Bug Description
This is the first time I've launched the application.  I see in the left pane "Loading" with a spinning wait
Steps to Reproduce
Launch the Application
Expected Experience
Some sort of progress indicator if it's slow for some reason.  Otherwise better error handling.
Actual Experience
Frustration.
Additional Context
Using Cisco VPN but I can seemingly access other things Microsoft.

@gitclem can you check the developer tools (f12) and look for errors in the Console tab?

@gitclem can you check the developer tools (f12) and look for errors in the Console tab?

Also, is your Cisco VPN also acting as a proxy? If so, you'll need to setup your proxy settings. Please see our troubleshooting guide for more info on that: https://docs.microsoft.com/en-us/azure/storage/common/storage-explorer-troubleshooting?tabs=Windows%2C1804#proxy-issues

Also, is your Cisco VPN also acting as a proxy? If so, you'll need to setup your proxy settings. Please see our troubleshooting guide for more info on that: https://docs.microsoft.com/en-us/azure/storage/common/storage-explorer-troubleshooting?tabs=Windows%2C1804#proxy-issues

Closing due to lack of response. If you are continue to have issues please open a new issue. Thanks.


Disconnect the browser on environment teardown

Summary
Environment setup and teardown should be symmetric. Since we connect to the browser on setup, we should disconnect on teardown. I'm not sure if it has actual implications but it seems like the right thing to do.
Test plan
There are no explicit tests for that area, although existing tests should continue to pass. They will fail if this new code is broken (verified).

Thanks!


[Enhancement]: Allow users to jump to the source of lint errors

Is there an existing issue for this?

[X] I have searched the existing issues

Description
When I encounter a lint error, I'm unable to jump to the source of the error from the debugger console.

Steps To Reproduce

Introduce a lint error on a JSObject function
Notice the error on the debugger
Try navigating to the line of function from the error message

Public Sample App
No response
Environment
Production
Issue video log
No response
Version
Cloud

This is fixed here in this DP. https://ce-25775.dp.appsmith.com/.

This seems to be fixed. Working fine on prod. @satbir121 @bharath31


ValueError: not enough values to unpack (expected 5, got 4)

Do you have this problem?
How can I solve it？

What version of highway-env are you using, and which script are you running?

Hello,
Firstly, you can explain explicitly the bug you deal with. I know that the problem is caused by gym version. gym==0.26.2 has truncated variable in env.step() returns. You can install gym==0.21.
Have a nice day.

First of all, thank you for your reply
I tried your method and solved the problem
Wish you a happy life

HELLO, I install gym gym==0.21.0, but it shows the same problem.

I know that the problem is caused by gym version. gym==0.26.2 has truncated variable in env.step() returns.

That is correct. So the solution depends on what your agent code expects.
If it does something like obs, reward, done, info = env.step(action), then it expects a gym <0.25 version, and you should install a previous release of highway-env that was compabible.
If, on the other side, your agent uses the NEW step api of gym >= 0.26 (obs, reward, done, truncated, info = env.step(action), then you should install the latest stable (or development) version of highway-env

I know that the problem is caused by gym version. gym==0.26.2 has truncated variable in env.step() returns.

That is correct. So the solution depends on what your agent code expects. If it does something like obs, reward, done, info = env.step(action), then it expects a gym <0.25 version, and you should install a previous release of highway-env that was compabible. If, on the other side, your agent uses the NEW step api of gym >= 0.26 (obs, reward, done, truncated, info = env.step(action), then you should install the latest stable (or development) version of highway-env

Thank you for your reply. The highway environment you developed has greatly helped me.


Crash on Create a room button

To reproduce:

From the rooms list, hit the + button, then create a room item.

Riot crashes.
Version 0.3.6 develop #1513

Validated.


Issue/4323 e2e scenario 2.4 (#4439)

Pull request opened by the merge tool on behalf of #4439

Merged in f30f727eb3cb75e92ff34b8dd64c01802788b2d4


how to compute the VOC mAP?could anyone share the mAP script,thanks

as the title

https://github.com/Cartucho/mAP

Same problem

look look this  https://github.com/Deepcong2019/yolov3.keras


DNN-4122: check content localization enabled setting, correct the cache file name.

Cherrypicked into 7.4.2 release branch


[#685] feat: buttons leaderboard

Related to #685

Description
Implements #685:

Test plan
After loading the branch, reset the cache with yarn docker cmr and check if the leaderboard appears normally.

I forgot to reset the cache so I'll do that when I can test next.

Can we have 'Total Revenue' match the charts in that they're using the user's selected fiat currency to measure it? This would be the daily $ summed up (same as if they had manually looked at the revenue chart and added up the $ from each day). Right now I'm not even sure what number it's using because there's no '$' symbol and the decimals should be limited to 2.

Set decimal rounding to 2.

I changed it so it uses the same formatting function as the other places in the same page: it uses 2 digits of precision unless the quantity is very small, in which case it just shows the first significant digit.

On the dev account, 'Foo XEC' has only 1 transaction but the leaderboard shows 2 payments.

I couldn't reproduce that: in my leaderboard, as seen in the printscreen, Foo XEC shows as having only one payment.

Observation:

Here we can see that the total payments according to the top right chart is 39, but adding up the payments from the leaderboard gives us 40.
This happens because two buttons share the same address, so this single payment appears twice in the leaderboard: as the one payment for "Foo XEC" and for "Paybutton XEC & Coindance BCH"


Build pipeline

 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.:x: rbegito sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


The new Firefox megabar interferes with the quietfix CSS

I don't know what you might be able to do here, because I think the new bar is soon going to be mandatory. :(

The new bar was difficult to work on but I got it pretty close to how it was before in my recent update

Thank you! I must have been using the previous version. I really like what Quietfox does to the tabs and address bar.


Test DuckDB for reading specific data columns

Convert data of a Troll case in Preview to parquet (from feather)
Run the simple DuckDB code from the mob programming session (21.02.2024) and see if the performance still looks promising

ClickHouse also being tested as an alternative.
Further testing to be done:

Run ClickHouse server on Radix
Implement ClickHouse and/or DuckDb async (in NodeJs?)

Also need to convert from Arrow to Parquet. This also means changing dataio to output parquet.

Some numbers from testing during mob programming 28.02.2024:
Tested on Troll case with ~400 realizations
Scripts used: https://github.com/equinor/tableaggregation-experiments

VM in WestEurope, All realizations, 4 columns, ClickHouse: 37.3s
VM in WestEurope, All realizations, 4 columns, DuckDb: 41.6s | 42.4s
VM in WestEurope, All realizations, 10 columns, ClickHouse: 37.2s
VM in WestEurope, All realizations, 10 columns, DuckDb: 41.9s
VM in WestEurope, All realizations, 100 columns, ClickHouse: 38.5s
VM in WestEurope, All realizations, 100 columns, DuckDb: 46.2s

VM in NorthEurope, All realizations, 4 columns, ClickHouse: 72.1s
VM in NorthEurope, All realizations, 4 columns, DuckDb: 67.8s
VM in NorthEurope, All realizations, 10 columns, ClickHouse: 70.7s
VM in NorthEurope, All realizations, 10 columns, DuckDb: 69.8s | 71.5s
VM in NorthEurope, All realizations, 100 columns, ClickHouse: 80.2s | 81.1s
VM in NorthEurope, All realizations, 100 columns, DuckDb: 69.5s

VM was "Standard D8as v4" (8cpus 32gb ram)
Data is in WestEurope

DuckDB implemented for table aggregation: https://github.com/equinor/sumo-fmu-aggregation-service/pull/230 https://github.com/equinor/sumo-fmu-aggregation-service/pull/235


Add --all option to rio ps

Comment:  Please add back the --all option for rio ps, so I can get all info from the default namespace.

This has been added to 0.6


add gitpod + hedera-local-node tutorial

What

add tutorial on how to use gitpod with hedera local node

Why

hedera-local-node has recently added support for gitpod
users can run a "cloud development environment" instead of a local development environment, saving set up time, and reducing friction for getting started, and easier to do trials

Refs

Related: https://github.com/hashgraph/hedera-local-node/pull/563
Related: https://github.com/hashgraph/hedera-docs/issues/552
Related: https://github.com/hashgraph/hedera-docs/issues/558

Resolved in e510bd1


Abstract CoreSDK in Widgets to introduce unit tests

This PR aims to start process of abstraction core SDK in order make Widgets testable. This is the first step: narrow down imports of core SDK and use CoreSDKClient namespace instead. It is necessary to be done soon since changes are impactful and may introduce merge conflicts with ongoing development of features if addressed later.
MOB-1120

Maybe merge to dev though

!merge


Clarify repeated CountVectorsFeaturizer

Proposed changes:
Add comments and explicit default params to CountVectorsFeaturizer to make the reason for the repetition more obvious.
Apparently I'm not the only one who found this repeated use of the CountVectorsFeaturizer here confusing! (https://forum.rasa.com/t/a-question-about-twice-countvectorsfeaturizer-entry-in-supervised-embedding-pipeline-recipe/19772)

 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.

Thanks for submitting a pull request 🚀 @joejuzl will take a look at it as soon as possible ✨

Please feel free to re-open if you continue on this one.


chore: update url version to v2.5.4

Motivation and Context

idna 0.5.0 which url depends on has CVE-2024-12224 so we need to update the crate to v2.5.4.
https://rustsec.org/advisories/RUSTSEC-2024-0421
Description

This PR is to update the crate on aws-config, aws-inlineable and inlineable. Because all of them has dependency explicitly. Also I updated Cargo.toml and run cargo build on each of them to generate Cargo.lock.
Testing

Checklist

[ ] For changes to the smithy-rs codegen or runtime crates, I have created a changelog entry Markdown file in the .changelog directory, specifying "client," "server," or both in the applies_to key.
[ ] For changes to the AWS SDK, generated SDK code, or SDK runtime crates, I have created a changelog entry Markdown file in the .changelog directory, specifying "aws-sdk-rust" in the applies_to key.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Looks like most of the failures here are for error in core which should be fixed when https://github.com/smithy-lang/smithy-rs/pull/3936 is merged bumping our MSRV to a version that supports that.

Sure, so I'm waiting for it and will update this PR after the merge.

Canary run: https://github.com/smithy-lang/smithy-rs/actions/runs/12419318824

Canary succeeded, merging


TypeError: Cannot read property 'find' of undefined

I have an existing project that uses microbundle and I wanted to give this project a shot.
Current Behavior
When I run tsdx build I get this error, but the outputted dist folder seems fine.
❯ npx tsdx build
✓ Creating entry file 2.1 secs
(node:7935) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'find' of undefined
    at then.then (/home/z0al/x/github/stash/packages/core/node_modules/rollup-plugin-size-snapshot/dist/treeshakeWithRollup.js:67:36)
(node:7935) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:7935) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Expected behavior
No errors
Suggested solution(s)

Additional context

Your environment

Software
Version(s)

TSDX
0.5.4

TypeScript
3.4.5

Browser
N/A

npm/Yarn
npm

Operating System
Debian/Linux

Is that proj open source by chance?

Oh, yeah. My bad. I tried to add tsdx to this package.
My steps:

Install: npm add -D tsdx
clean: rm -rf dist
build: npx tsdx build

Interestingly enough, worked totally fine for me. What version of Node and npm are you using?

That's weird!
$ node --version
v10.15.1

$ npm --version
6.4.1

We should figure out which versions of node we support

I tried node v12 and it works now. Both node v10 and v11 don't work :/

I'm on Node v10 and it worked just fine

@James-Quigley do you add tsdx to dependencies first before running the build?
After more testing, I can say that the npx tsdx build works only (at least on my machine) if I didn't add tsdx as a dep, here:
Fails:
$ rm -rf node_modules && npm i
$ npm add tsdx     // same behavior with -D flag
$ npx tsdx build
// fails same error as the original post

Works:
$ npm remove tsdx
$ rm -rf node_modules && npm i
$ npx tsdx build
✓ Creating entry file 2 secs
✓ Building modules 1.7 secs

Tested with Node v10, v11, and v12 ¯\_(ツ)_/¯

@z0al It seems that what matters is the order in which I do my npm actions. If I add tsdx first, then npm install then build, its a pass. If I install, then add tsdx, it fails.
*Pass:*

$ git reset --hard
$ git clean -xdfff
$ npm add tsdx
$ npm i
$ npx tsdx build // PASS

*Fail:*

$ git reset --hard
$ git clean -xdfff
$ npm i
$ npm add tsdx
$ npx tsdx build // FAIL

However tsdx version is 0.5.5 in both, and the only change is the package.json. Unsure of why one passes and the other doesn't

Try 0.5.6

@jaredpalmer  Same as above for me.

hrmmmm.

Can you try out npx tsdx@next create lib and see if it works

Yep, it works.

Doesn't occur anymore


feat: Validation for labels

Towards https://github.com/snapshot-labs/workflow/issues/143
Summary:

Validation for labels
Allows 100 labels with id, name, description and color

How to test:

Run yarn test
Try changing values in test/examples/space.json

How about always enforcing uppercase for color code ?


feat: use oauth for login

closes #28

The CI is failing because of a pnpm error, @anbraten can you check if you have installed the new dependency with the right command ? (You can check the contributing guide to see how it should be done.)

@IonianPlayboy Used pnpm as I normally do and as suggested by the guide. Somehow it throws the following error. "Fixed it" by removing the patch config from package.json for the install process.
 ERR_PNPM_PATCH_NOT_APPLIED  The following patches were not applied: pinceau, nuxt-security

Either remove them from "patchedDependencies" or update them to match packages in your dependencies.
Progress: resolved 1796, reused 1486, downloaded 166, added 0


Could not find design.jar (com.android.support:design:26.1.0) issue

Android Studio 3.1.2
Gradle version 3.4
compileSdkVersion 27
buildToolsVersion "27.0.3"

was unable to build project by cloning getting
Could not find design.jar (com.android.support:design:26.1.0) issue
Fixed by changing the resolutionStrategy version to 26.+

// resolve conflicts
configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        // android resolution
        // source : https://stackoverflow.com/questions/43280871/android-getting-manifest-merger-failed-error-after-update-to-new-version-of-grad
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                // details.useVersion '26.1.0'
                details.useVersion '26.+'
            }
        }

Hi sapandang,
as described within the readme, this is a common issue.
You have to replace the resolution strategy non inside the Chat21 SDK, but in your own project.
You can get more details here


Implement Storybook for RS Components

Is your feature request related to a problem? Please describe.
Currently, we can't share with Design, or anyone else, the components we have created for ReportStream. We have a range of components, from raw USWDS component to customized and wrapped USWDS components. We should share with Design the components we have available, as well as, document the changes we've made to USWDS over time.
Describe the solution you'd like
A Storybook implementation that would showcase all of our components, and providing context on their usages AND level of customization / deviation from base USWDS components.
Additional context
https://docs.google.com/document/d/1oH2uDM670ELIuWGBR6wCrfMRrnMcbT62wHB3Bz_EXMo/edit#heading=h.abbhf7q488mi

Ideally, this would be performed during or after the larger website technical rewrite/reconstruction.

Blocked until website rewrite complete.

Per Stephen Kao, this may not be blocked by website re-write. Need to get alignment from engr team.


Negative duels

Can two people with negative points duel? If not the should be able to, and the winner gets even more negative.

This is not a box of snakes I would like to open, too many potential issues.
What I will do however is to enable 0-point duels for people who have negative points.


EmitLoopError when trying to run the GUI

Hi Robert,
Is this one you've seen before? I tried to train a classifier from the GUI
output from napari --info
napari: 0.4.16
Platform: macOS-12.5.1-arm64-arm-64bit
System: MacOS 12.5.1
Python: 3.10.6 | packaged by conda-forge | (main, Aug 22 2022, 20:41:22) [Clang 13.0.1 ]
Qt: 5.15.4
PyQt5: 5.15.7
NumPy: 1.23.3
SciPy: 1.9.1
Dask: 2022.9.2
VisPy: 0.10.0

OpenGL:
  - GL version:  2.1 Metal - 76.3
  - MAX_TEXTURE_SIZE: 16384

Screens:
  - screen 1: resolution 1512x982, scale 2.0

Plugins:
  - console: 0.0.6
  - mrcfile-reader: 0.1.3
  - napari-accelerated-pixel-and-object-classification: 0.10.2
  - napari-svg: 0.1.6
  - napari-time-slicer: 0.4.9
  - napari-tools-menu: 0.1.17
  - scikit-image: 0.4.16

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
File src/psygnal/_signal.py:912, in psygnal._signal.SignalInstance._run_emit_loop()

File ~/mambaforge/envs/teamtomo-unets/lib/python3.10/site-packages/magicgui/widgets/_function_gui.py:207, in FunctionGui.__init__.<locals>._disable_button_and_call()
    206 try:
--> 207     self.__call__()
        self = <FunctionGui Train_object_segmentation(image: napari.types.ImageData = <class 'numpy.ndarray'> (3838, 3710) float32, annotation: napari.types.LabelsData = <class 'numpy.ndarray'> (3838, 3710) int64, model_filename: str = 'ObjectSegmenter.cl', featureset: apoc._feature_sets.PredefinedFeatureSet = <PredefinedFeatureSet.small_quick: 'original gaussian_blur=1 sobel_of_gaussian_blur=1'>, custom_features: str = 'original gaussian_blur=1 sobel_of_gaussian_blur=1', max_depth: int = 2, num_ensembles: int = 100, annotated_object_intensity: int = 2) -> napari.types.LabelsData>
    208 finally:

File ~/mambaforge/envs/teamtomo-unets/lib/python3.10/site-packages/magicgui/widgets/_function_gui.py:318, in FunctionGui.__call__(self=<FunctionGui Train_object_segmentation(image: na...t_intensity: int = 2) -> napari.types.LabelsData>, update_widget=False, *args=(), **kwargs={})
    317 with _function_name_pointing_to_widget(self):
--> 318     value = self._function(*bound.args, **bound.kwargs)
        self = <FunctionGui Train_object_segmentation(image: napari.types.ImageData = <class 'numpy.ndarray'> (3838, 3710) float32, annotation: napari.types.LabelsData = <class 'numpy.ndarray'> (3838, 3710) int64, model_filename: str = 'ObjectSegmenter.cl', featureset: apoc._feature_sets.PredefinedFeatureSet = <PredefinedFeatureSet.small_quick: 'original gaussian_blur=1 sobel_of_gaussian_blur=1'>, custom_features: str = 'original gaussian_blur=1 sobel_of_gaussian_blur=1', max_depth: int = 2, num_ensembles: int = 100, annotated_object_intensity: int = 2) -> napari.types.LabelsData>
        bound = <BoundArguments (image=<class 'numpy.ndarray'> (3838, 3710) float32, annotation=<class 'numpy.ndarray'> (3838, 3710) int64, model_filename='ObjectSegmenter.cl', featureset=<PredefinedFeatureSet.small_quick: 'original gaussian_blur=1 sobel_of_gaussian_blur=1'>, custom_features='original gaussian_blur=1 sobel_of_gaussian_blur=1', max_depth=2, num_ensembles=100, annotated_object_intensity=2)>
        self._function = <function Train_object_segmentation at 0x28e8c6830>
    320 self._call_count += 1

File ~/mambaforge/envs/teamtomo-unets/lib/python3.10/site-packages/napari_accelerated_pixel_and_object_classification/_function.py:127, in Train_object_segmentation(image=<class 'numpy.ndarray'> (3838, 3710) float32, annotation=<class 'numpy.ndarray'> (3838, 3710) int64, model_filename='ObjectSegmenter.cl', featureset=<PredefinedFeatureSet.small_quick: 'original gaussian_blur=1 sobel_of_gaussian_blur=1'>, custom_features='original gaussian_blur=1 sobel_of_gaussian_blur=1', max_depth=2, num_ensembles=100, annotated_object_intensity=2)
    125 clf.train(feature_stack, annotation, [image])
--> 127 result = clf.predict(feature_stack, [image])
        feature_stack = 'original gaussian_blur=1 sobel_of_gaussian_blur=1'
        clf = Classifier type: ObjectSegmenter
--- Random forest info ---
Used features for training: original gaussian_blur=1 sobel_of_gaussian_blur=1
Ground truth dimensions: 2
Maximum depth: 2
Number of ensembles: 100
Number of classes: 2
Number of features: 3
Number of channels: 1Positive class identifier: 2
        [image] = [<class 'numpy.ndarray'> (3838, 3710) float32]
        image = <class 'numpy.ndarray'> (3838, 3710) float32
    128 return result

File ~/mambaforge/envs/teamtomo-unets/lib/python3.10/site-packages/apoc/_object_segmenter.py:61, in ObjectSegmenter.predict(self=Classifier type: ObjectSegmenter
--- Random fore...Number of channels: 1Positive class identifier: 2, image='original gaussian_blur=1 sobel_of_gaussian_blur=1', features=[<class 'numpy.ndarray'> (3838, 3710) float32])
     60 self.positive_class_identifier = self.positive_class_identifier_from_file
---> 61 result = super().predict(features=features, image=image)
        features = [<class 'numpy.ndarray'> (3838, 3710) float32]
        image = 'original gaussian_blur=1 sobel_of_gaussian_blur=1'
     63 import pyclesperanto_prototype as cle

File ~/mambaforge/envs/teamtomo-unets/lib/python3.10/site-packages/apoc/_pixel_classifier.py:157, in PixelClassifier.predict(self=Classifier type: ObjectSegmenter
--- Random fore...Number of channels: 1Positive class identifier: 2, image='original gaussian_blur=1 sobel_of_gaussian_blur=1', features=[<class 'numpy.ndarray'> (3838, 3710) float32])
    155 parameters['out'] = output
--> 157 cle.execute(None, self.opencl_file, "predict", features[0].shape, parameters)
        features = [<class 'numpy.ndarray'> (3838, 3710) float32]
        parameters = {'in0': <class 'numpy.ndarray'> (3838, 3710) float32, 'out': <class 'numpy.ndarray'> (3710, 3838) uint32}
        self.opencl_file = 'ObjectSegmenter.cl'
        self = Classifier type: ObjectSegmenter
--- Random forest info ---
Used features for training: original gaussian_blur=1 sobel_of_gaussian_blur=1
Ground truth dimensions: 2
Maximum depth: 2
Number of ensembles: 100
Number of classes: 2
Number of features: 3
Number of channels: 1Positive class identifier: 2
        features[0] = <class 'numpy.ndarray'> (3838, 3710) float32
        cle = <module 'pyclesperanto_prototype' from '/Users/alisterburt/mambaforge/envs/teamtomo-unets/lib/python3.10/site-packages/pyclesperanto_prototype/__init__.py'>
    159 return output

File ~/mambaforge/envs/teamtomo-unets/lib/python3.10/site-packages/pyclesperanto_prototype/_tier0/_execute.py:3, in execute(anchor=None, opencl_kernel_filename='ObjectSegmenter.cl', kernel_name='predict', global_size=(3838, 3710), parameters={'in0': <class 'numpy.ndarray'> (3838, 3710) float32, 'out': <class 'numpy.ndarray'> (3710, 3838) uint32}, prog=None, constants=None, image_size_independent_kernel_compilation=None, device=None)
      2 def execute(anchor, opencl_kernel_filename, kernel_name, global_size, parameters, prog = None, constants = None, image_size_independent_kernel_compilation : bool = None, device = None):
----> 3     return Backend.get_instance().get().execute(anchor, opencl_kernel_filename, kernel_name, global_size, parameters, prog, constants, image_size_independent_kernel_compilation, device)
        anchor = None
        opencl_kernel_filename = 'ObjectSegmenter.cl'
        kernel_name = 'predict'
        global_size = (3838, 3710)
        parameters = {'in0': <class 'numpy.ndarray'> (3838, 3710) float32, 'out': <class 'numpy.ndarray'> (3710, 3838) uint32}
        prog = None
        constants = None
        image_size_independent_kernel_compilation = None
        device = None

File ~/mambaforge/envs/teamtomo-unets/lib/python3.10/site-packages/pyclesperanto_prototype/_tier0/_opencl_backend.py:41, in OpenCLBackend.execute(self=<pyclesperanto_prototype._tier0._opencl_backend.OpenCLBackend object>, anchor=None, opencl_kernel_filename='ObjectSegmenter.cl', kernel_name='predict', global_size=(3838, 3710), parameters={'in0': <class 'numpy.ndarray'> (3838, 3710) float32, 'out': <class 'numpy.ndarray'> (3710, 3838) uint32}, prog=None, constants=None, image_size_independent_kernel_compilation=None, device=None)
     40 def execute(self, anchor, opencl_kernel_filename, kernel_name, global_size, parameters, prog = None, constants = None, image_size_independent_kernel_compilation : bool = None, device = None):
---> 41     return execute(anchor, opencl_kernel_filename, kernel_name, global_size, parameters, prog, constants, image_size_independent_kernel_compilation, device)
        anchor = None
        opencl_kernel_filename = 'ObjectSegmenter.cl'
        kernel_name = 'predict'
        global_size = (3838, 3710)
        parameters = {'in0': <class 'numpy.ndarray'> (3838, 3710) float32, 'out': <class 'numpy.ndarray'> (3710, 3838) uint32}
        prog = None
        constants = None
        image_size_independent_kernel_compilation = None
        device = None

File ~/mambaforge/envs/teamtomo-unets/lib/python3.10/site-packages/pyclesperanto_prototype/_tier0/_opencl_execute.py:290, in execute(anchor=None, opencl_kernel_filename='ObjectSegmenter.cl', kernel_name='predict', global_size=(3838, 3710), parameters={'in0': <class 'numpy.ndarray'> (3838, 3710) float32, 'out': <class 'numpy.ndarray'> (3710, 3838) uint32}, prog=None, constants=None, image_size_independent_kernel_compilation=True, device=None)
    289         var_type = str(type(value))
--> 290         raise TypeError(
    291             f"other types than float and int aren`t supported yet for parameters {key} : {value} . \n"
    292             f"function {kernel_name}"
    293             f"type {var_type}"
    294         )
    296 # print("Assembling " + opencl_kernel_filename + " took " + str((time.time() - time_stamp) * 1000) + " ms")

TypeError: other types than float and int aren`t supported yet for parameters in0 : [[ 2.5605469   6.1796875   1.9042969  ...  1.8066406   3.4765625
   5.6835938 ]
 [ 2.8203125   1.9326172   3.4355469  ...  3.3144531  -0.06213379
   3.5136719 ]
 [ 5.28125     1.2695312   3.5820312  ...  4.2773438   2.0292969
   2.3027344 ]
 ...
 [ 2.6875      1.1953125   2.9394531  ...  4.703125    1.1337891
   4.203125  ]
 [ 2.4375      8.1953125   6.3398438  ...  3.9394531   4.6953125
   1.2128906 ]
 [ 9.171875    5.0273438   0.35424805 ...  4.3476562   2.8203125
   3.3339844 ]] .
function predicttype <class 'numpy.ndarray'>

The above exception was the direct cause of the following exception:

EmitLoopError                             Traceback (most recent call last)
File ~/mambaforge/envs/teamtomo-unets/lib/python3.10/site-packages/magicgui/widgets/_bases/value_widget.py:57, in ValueWidget._on_value_change(self=PushButton(value=False, annotation=None, name='call_button'), value=False)
     55 if value is self.null_value and not self._nullable:
     56     return
---> 57 self.changed.emit(value)
        value = False
        self.changed = <SignalInstance 'changed' on PushButton(value=False, annotation=None, name='call_button')>
        self = PushButton(value=False, annotation=None, name='call_button')

File src/psygnal/_signal.py:849, in psygnal._signal.SignalInstance.emit()

File src/psygnal/_signal.py:891, in psygnal._signal.SignalInstance._run_emit_loop()

File src/psygnal/_signal.py:892, in psygnal._signal.SignalInstance._run_emit_loop()

File src/psygnal/_signal.py:914, in psygnal._signal.SignalInstance._run_emit_loop()

EmitLoopError: calling <function FunctionGui.__init__.<locals>._disable_button_and_call at 0x2ac1e7d90> with args=() caused TypeError in emit loop.

Hey @alisterburt ,
thanks for reporting! This one looks suspicious, because:

tried to train a classifier from the GUI

Train_object_segmentation

It looks like you're training a segmenter...
Can you give some more details? I'd like to know what data/shapa/layer-type you're working with. Also, which menu did you click?
Thanks again!
Best,
Robert

thanks for the fast response! This is my bad, I wanted to train a pixel classifier and clicked through the menu without really thinking, I was indeed trying to train an object classifier - training a pixel classifier works exactly as expected, sorry for the noise! :)


👀 Spike - Work to support Next.js 15 and React 19

Next.js 15 and React 19 support will require substantial refactoring.
Tasks

[ ] Determine work required, record in PBIs

PR to replace deprecated API (findDOMNode) in React 19 - https://github.com/tinacms/tinacms/pull/5404


AttributeError: 'NoneType' object has no attribute 'group' in icinga2_version.py

SUMMARY

AttributeError: 'NoneType' object has no attribute 'group' in icinga2_version.py while running playbook for incina master installation.
Error in the current version. In version 1.2.2 this error does not occur
STEPS TO REPRODUCE

  gather_facts: true
  become: true
  roles:

    - role: monitoring-plugins-role
    - role: mariadb-role

    - role: icinga2-role
      tags: icinga2-role-server

    - role: nginx-role
    - role: php-role
    - role: icingaweb2-role
  tags: icinga-master

EXPECTED RESULTS

ACTUAL RESULTS

ENVIRONMENT

icinga2 - The Icinga 2 network monitoring daemon (version: 2.12.3)

Could I get a snippet of the Ansible log?
Which OS is used?
Which Icinga2 version should be installed?

different version strings between different operationsystems:

debian: version: r2.12.3-1
redhat: version: 2.12.3

Could I get a snippet of the Ansible log?
Which OS is used?

Oracle Linux 8
Which Icinga2 version should be installed?
2.12.3
Which python version is used on the target system?
Python 3.6.8


Fix HA tests for scheduling change

Which issue(s) this PR fixes:
longhorn/longhorn#8043
What this PR does / why we need it:
https://github.com/longhorn/longhorn-manager/pull/2650 disallows scheduling a replica to a node, zone, or disk if it already contains a failed replica (unless the appropriate soft anti-affinity setting is enabled). This behavior requires minor changes to a couple of tests.

With the changes to https://github.com/longhorn/longhorn-manager/pull/2650, we likely do not need this PR. I will keep it open as a draft until that one merges.


Bitmap font (pcf and/or bdf format)

Hi,
I've a display which has a resolution of 256x64 Pixel (SSD1322 controller) and I need also small font sizes (8px and so on).
But every rendered font don't look very pretty. Is it possible to edit a font after rendering (with a font editor tool from lvgl or something) or can I use bitmap fonts such as pcf or bdf format?
Does lv_font_conv handle bitmap information embedded in ttf or otf etc? If I disable autohinting, the font seems to look better but I thought hinting should make the font better look.

Unfortunately there is no easy way to edit the generated fonts.
For monochrome displays I think the best you can do is selecting a pixel font. The Terminus font might be a good first candidate.
Alternatively you can try Image font.

Thx. I tested Terminus and it looks very pretty. It's a mono space font and it looks very 'sharp'. I also found a way to "convert" a bdf to a ttf. Binary information of the bdf files will be embedded to a single ttf file by using 'mkttf'. It uses fontforge, imagemagick and potrace. Now I'm able to use every bdf font. It would be nice if lvgl_font_converter could use the bdf format as well. Because the pixel information is directly available, no complicated rendering would be necessary. But mkttf works for me as well :)

The font converter uses FreeType, so we can use the font types supported by FreeType.
Would you be interested in documenting the process of bdf to ttf conversation? If so I think a section after this would be quite useful for others. (You need to edit this file to update the docs)

Yes, I will document the use of the BDF files in the next few days.

Great, thank you!

Yes, I will document the use of the BDF files in the next few days.

Hi did you have document this ?

Great, closing this issue then 🚀


LocalReply: fix a bug of mistakenly truncating last \n character for non-json grpc-message

Signed-off-by: Yuhao Liu<EMAIL_ADDRESS>For gprc request with non-json format (plain text, for example), the grpc-message in response header
should return the same content percentage encoded.
There was a bug when the last character is \n, it will get truncated unconditionally
(see https://github.com/envoyproxy/envoy/blob/3aaea68d276eb7e512a610d4401cbd7412058034/source/common/http/utility.cc#L555)
and the data will be corrupted. This PR will check the content_type, and only do the truncation if it is JSON type.
Risk Level: low
Testing: integration test
/assign @htuch

/assign @htuch

/retest


lets remove the CLI message about creating a temporary folder

if folks use the obsidian-addon from the CLI you get a really useful message like:
***SUCCESS*** Project created in /var/folders/gz/vlgb0mj102z0h3p19y4cpx3w0000gq/T/projectdir4837921019676692226

am not sure any user really needs to know that - whether they are downloading a ZIP or importing into github. Maybe make that a log statement and remove it from the Result.success(message)?

thanks @gastaldi !


Add additional events to track on Vortex app

Context
After the first version of the tracking went live, we want to gain additional insights of the user behaviour during their journey.
Requirement

[ ] Track the following actions / events on Google Analytics:

User clicks 'Enter details' which opens MYKOBO journey
The 2 signatures are provided to the user - would tell us if both the signatures were triggered
The 2 signatures are signed by the user - would tell us if both the transactions were signed by the user (if it was shown to them)
The user is on the Progress page
Each step in the background - Would tell us where in the flow the user dropped / closed the tab (in case they do)
Submission of email on transaction successful screen
Submit email on transaction unsuccessful screen

[ ] Suggest the events / parameters structure for the above

Hey team! Please add your planning poker estimate with Zenhub @b-yap @bogdanS98 @ebma @gianfra-t @TorstenStueber

@ebma could you share how you have set up the events --> Param structure for the ones in the ticket?

Not sure what exactly you need but I'll give you some info and you can let me know what else you are interested in.
The structure of the code is the following
export interface TransactionEvent {
  event:
    | 'transaction_confirmation'
    | 'kyc_started'
    | 'kyc_completed'
    | 'signing_requested'
    | 'transactions_signed'
    | 'transaction_success'
    | 'transaction_failure';
  from_asset: string;
  to_asset: string;
  from_amount: string;
  to_amount: string;
}

export interface ProgressEvent {
  event: 'progress';
  phase: number;
}

export interface EmailSubmissionEvent {
  event: 'email_submission';
  transaction_status: 'success' | 'failure';
}

I translated this into the following structures in GTM, also see the PR https://github.com/pendulum-chain/vortex/pull/222.
New Events

GA4 Event | email_submission
GA4 Event | signing_requested
GA4 Event | transactions_signed
GA4 Event | progress
GA4 Event | kyc_started

New Triggers

DL Event | email_submission
DL Event | signing_requested
DL Event | transactions_signed
DL Event | progress
DL Event | kyc_started

New Variables

DLV | phase (used for tracking of the progress)
DLV | transaction_status (used for tracking of the email submission)

So what's new is that there are a total of 5 new events, 3 of which (kyc_started, signing_requested and transactions_signed) are integrated into the group of events that come with the 4 attributes from_asset, to_asset, from_amount, to_amount. The progress event has a variable phase of type integer that will contain the phase that the user is currently in. And the email_submission event has a variable transaction_status that is either success of failure so we can distinguish if the user submitted the email from the success or the failure page.

Looks good @ebma.

@ebma for the phase variable, will it still follow the 12 steps we had defined? Do we have a reference for that anywhere now?

The definition is not that strict. I just defined it to be an integer. The range of steps depends on what we define in the prototype. So if at the moment we have 12 phases, it will trigger up to 12 times. If in the future we reduce it to 11 phases, then the events it will trigger 11 times, if we increase it to 13 phases it goes up to 13, etc.

Depending on how many hops it requires to reach the Stellar off ramp, from the starting chain, this could vary and link different steps with the same integer, which would not be consistent. We might need the From and To currency attribute in the funnel view to get the required information via GA.

This becomes only relevant once we add other start ecosystems (Asset Hub), but we can of course already prepare this. Do you want to create a follow-up ticket for this @vadaynujra?


[CELEBORN-1801][FOLLOWUP] Extract RemoteShuffleEnvironment, NettyShuffleEnvironmentWrapper, SimpleResultPartitionAdapter to flink common module

What changes were proposed in this pull request?
Extract RemoteShuffleEnvironment, NettyShuffleEnvironmentWrapper, SimpleResultPartitionAdapter to flink common module. Meanwhile, RemoteShuffleInputGate and RemoteShuffleResultPartition are abstracted in flink common module.
Why are the changes needed?
After removing out-of-dated flink 1.14 and 1.15 in #3029, RemoteShuffleEnvironment, NettyShuffleEnvironmentWrapper, SimpleResultPartitionAdapter could be extracted to flink common module. Meanwhile, RemoteShuffleInputGate and RemoteShuffleResultPartition could also be abstracted in flink common module.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
CI.

Merged to main(v0.6.0)


Update supported build scan plugin to 2.1-rc-1.

About the file input snapshots: we will have to observe the consequences in terms of payload size, upload time and decide whether to always capture it (given it takes a lot of extra disk space)

That means a separate PR, right. And yes, I always want to capture them so I can analyze cache misses...

@wolfs so every build published by everyone will have the feature enabled? if so, this is against what we recommend to our users. the disk space usage will go up significantly, scan upload might also be affected.

What is the recommendation? Which builds should have the feature enabled?

@wolf all builds where the slow connection property isn’t set.

We recommend to have it on for all builds, unless you have a larger build and bad network connection.

Sounds good!

Follow up for enabling individual input file differences: https://github.com/gradle/gradle/pull/7964


Add --size option to transpile command

I'm having memory issues when trying to transpile the model generated by the tutorial https://github.com/gizatechxyz/Giza-Hub/tree/token_trend_action/awesome-giza-actions/trend_token_prediction. Currently, there is no option to change the size when executing the transpile command. The deployment command has the --size option, but the transpile command does not.

This could be added as a Typer option in the transpile command under commands/versions.py feel free to open a PR.

WEW the latest changes this is deprecated as transpilation instance is using bigger compute by default


[FEATURE] Enforce code styling in this project

Description
Running the format script in package.json changes 250+ files, this number may increase over time. It would be nice if changes made in this project adhere to the code styling rules.
One way to do this would be to add a prettier command to the pre-commit git hook. A better way could be to use a tool to only run prettier on staged files, as that would be less destructive.
From the prettier docs on pre-commits, the first option (also most popular) is lint-staged. This is a preferred choice as it would help enforce rules for linters also, eslint in this case.
Bonus: Add sort plugins for tailwindcss classes and import statements. A nice to have.
Bonus: Add a .prettierignore file or a --ignore-path .gitignore flag to the format script, so those files can be ignored by prettier.

[ ] committed files should adhere to prettier rules
[ ] prettier should sort tailwindcss classes (optional)
[ ] prettier should sort import statements (optional)
[ ] prettier should ignore unnecessary files

Screenshots
No response
Additional information
I'd be happy to contribute

Thank you @plbstl for the idea and also raising a well written issue 👍
From previous experience, these are great solutions but also make it difficult for new people to contribute, so for the moment I will close this issue - thank you again though

Okay noted. Thank you for the feedback


Polymorphic association does not support to compute class.

Thank you for creating this great gem!
I have some issue when using polymorphic multi-level customizing column-name counter-cache:
I have 3 tables: Likes, Users, Topics.
class Like < ApplicationRecord
  belongs_to :user
  counter_culture :user
  belongs_to :likeable, polymorphic: true, inverse_of: :likes
  counter_culture :likeable
  counter_culture %i[likeable user], column_name: 'resource_likes_count'
end

Topic is likeable and has likes_count
class Topic < ApplicationRecord
  belongs_to :user
  counter_culture :user
  has_many :likes, as: :likeable, inverse_of: :likeable, dependent: :destroy

User has likes_count and resource_likes_count
class User < ApplicationRecord
  has_many :topics, dependent: :destroy
  has_many :likes, dependent: :destroy

Then, when creating Like like this,
Loading development environment (Rails 5.2.0)
[1] pry(main)> like = Like.new(user: User.last, likeable: Topic.first)
   (0.4ms)  SET NAMES utf8mb4,  @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'),  @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483
  User Load (0.2ms)  SELECT  `users`.* FROM `users` ORDER BY `users`.`id` DESC LIMIT 1
  Topic Load (0.2ms)  SELECT  `topics`.* FROM `topics` ORDER BY `topics`.`id` ASC LIMIT 1
=> #<Like:0x00007fd7a85eb848 id: nil, user_id: 2, likeable_type: "Topic", likeable_id: 1, created_at: nil, updated_at: nil>
[2] pry(main)> like.save
   (0.2ms)  BEGIN
  Like Exists (0.3ms)  SELECT  1 AS one FROM `likes` WHERE `likes`.`user_id` = 2 AND `likes`.`likeable_id` = 1 AND `likes`.`likeable_type` = 'Topic' LIMIT 1
  Like Create (0.3ms)  INSERT INTO `likes` (`user_id`, `likeable_type`, `likeable_id`, `created_at`, `updated_at`) VALUES (2, 'Topic', 1, '2018-08-19 06:59:47', '2018-08-19 06:59:47')
  User Update All (0.2ms)  UPDATE `users` SET `likes_count` = COALESCE(`likes_count`, 0) + 1 WHERE `users`.`id` = 2
  Topic Update All (0.2ms)  UPDATE `topics` SET `likes_count` = COALESCE(`likes_count`, 0) + 1 WHERE `topics`.`id` = 1
  User Load (0.3ms)  SELECT  `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1
   (1.2ms)  ROLLBACK
ArgumentError: Polymorphic association does not support to compute class.
from <MyDir>/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/reflection.rb:420:in `compute_class'

I used counter_culture (2.0.0).
What should I do??

counter_culture unfortunately doesn't support multi-level polymorphic counter caches. https://github.com/magnusvk/counter_culture#polymorphic-associations


Test with embedded postgresql

There are some test cases that require local PostgreSQL installation.
This PR makes them portable by using postgresql-embedded.
These test cases are still excluded by default.
You can run them by overriding maven.surefire.excludeGroups property (e.g. mvn clean verify -Dmaven.surefire.excludeGroups=).
Note that it downloads PostgreSQL archive (>200MB) to your local drive ;D
@emacarron  @hazendaz @jeffgbutler @kazuki43zoo
Please let me know if there is any concern.

I have to create another module to use @Category ?
That is cumbersome ☹

Could you use a fee port ?
e.g.)
String connectUrl = postgres.start(EmbeddedPostgres.cachedRuntimeConfig(Paths.get("target/postgres")), "localhost", SocketUtil.findFreePort(), "keycolumn", "postgres", "root", Collections.emptyList());
Properties configurationProperties = new Properties();
configurationProperties.put("connectUrl", connectUrl);
Reader reader = Resources.getResourceAsReader("org/apache/ibatis/submitted/usesjava8/keycolumn/MapperConfig.xml");

<dataSource type="UNPOOLED">
    <property name="driver" value="org.postgresql.Driver"/>
    <property name="url" value="${connectUrl}"/>
</dataSource>

I think better that tests using the embedded PostgreSQL should be execute on Travis CI. What do you think ?

I think better that JDBC Driver is updating to latest version. What do you think ?

Valid points. Thank you, @kazuki43zoo !

👍

👍

Merged.
Thank you @kazuki43zoo for the detailed reviews!


Explore page setting to show/hide each widget is not responsive

BUG
As an admin, when I attempt to toggle the visibility of any widget on the Explore page, nothing happens when I click to change visibility.
Expected behavior: when I click the toggle to turn visibility off, that widget should disappear (except for the 3 dots).

working for me


fix gpio interrupts lost (IDFGH-5069)

fix race condition

 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.

Thanks for your contribution.

Is this PR under consideration?

Hi @toybox01
I think you are right about the interrupt may be accidently cleared without being properly handled. It's really a bug.
But clearing the interrupt before the handler is called is also a breaking change, we are still thinking about how to deal with it properly...

Hi @toybox01,
I am new to ESP32, and have just discovered this issue in my application.  Is there a way to apply this patch to the Arduino IDE or do I need to move my code to the ESP-IDF?


Improve documentation, how to add a new network

Mention that a tagged release should be use
Add example what addresses are expected
Outline what feels should be added

Explain json file

Closed via https://github.com/gnosis/safe-deployments/issues/35


Python: change default to python3

Motivation for this change
https://github.com/NixOS/nixpkgs/issues/18185
Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

http://hydra.nixos.org/jobset/nixpkgs/python3 builds python packages only, but I guess we should rebuild the whole nixpkgs? I'll change to that.

Done. error: undefined variable ‘pythonPackages’ at /nix/store/2m6xrym9ch7j7j7a0jqsvsazhhp22cnp-git-export/pkgs/development/arduino/ino/default.nix:15:36

Hydra job: http://hydra.nixos.org/eval/1297631?compare=staging

Failures relative to staging:
http://hydra.nixos.org/eval/1297676?compare=staging#tabs-now-fail
I think I've fixed about half of those by now.

latest evaluation
http://hydra.nixos.org/eval/1297698?compare=staging
@domenkozar could we merge this into staging? There are still some important failures, but as far as I can see no more rebuilds. Then on staging we can fix the final issues that prevent merging into master.

Two issues merging this:

it compares to staging evaluation that was mostly canceled, so there might be more failures
we still have to run all nixos tests before it's merged to staging. It's important to not break everything as that will block others from using staging

it compares to staging evaluation that was mostly canceled, so there might be more failures

Indeed, there's a bit more failures http://hydra.nixos.org/eval/1297698?compare=1297372

There's also the list of errors to consider. This list will include packages that could not be build because a Python dependency is disabled.
http://hydra.nixos.org/jobset/nixpkgs/python3#tabs-errors
That's a looooong list.

Does the LLVM stuff still work? That's the main thing I care about for Darwin purposes.

I've merged everything except the actual switch to Python 3.

@copumpkin all llvm except for 3.4 were building fine.

Some packages are not available for Python 3. Therefore, any package that depends on this one should use Python 2.

gyp (see also https://codereview.chromium.org/1454433002/)
pygame (although the 1.9.2 alpha with patching could be made to work)
pygtk

I tried merging this into staging and building the darwin stdenv and I didn't notice any difference during the bootstrap. Is LLVM pulling in python2 explicitly?

@copumpkin I pushed already a bunch of changes (explicitly passing in python2) into staging. In adbaed081596919b085d398c9f46e576e2fbc6a9 and 284f22d19e1dd4d09ee90669565cc89b7e6eaeb0 I pass in python2 for LLVM 3.7. The other versions of LLVM work fine with Python 3.5.

If we now make the change to Python 3, we get these extra failures
http://hydra.nixos.org/eval/1298159?compare=staging#tabs-now-fail
as well as a bunch of extra evaluation errors
http://hydra.nixos.org/jobset/nixpkgs/python3#tabs-errors
Quite some more packages need to be changed to python2 but it is taking a lot of time. Aside from virtualbox I think we have all important packages covered and feel that it is at this point up to the package maintainers to make the final fixes.

Oh I see, thanks!

On Oct 21, 2016, at 03:20, Frederik Rietdijk<EMAIL_ADDRESS>wrote:
@copumpkin I pushed already a bunch of changes (explicitly passing in python2) into staging. In adbaed0 and 284f22d I pass in python2 for LLVM 3.7. The other versions of LLVM work fine with Python 3.5.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

My system now runs on this branch, and I haven't encountered any issues so far. Judging from the tests I think there's only one issue remaining, and that would be fixing kde 4. Aside from that there's a bunch of lesser important packages that need to be fixed but I'll leave that for the maintainers.

If we want to have Python 3.5 as default some fixes are going to be needed. If I recall correctly Python 3 builds or packages are not yet deterministic. I won't have much time to work on this or Nixpkgs in general the coming months (final phase of PhD).
cc release manager @globin

Do you see this being ready for the branch-off at the end of February?

@globin unless someone else picks it up, no. I won't have any time to work on this. Migrating the final packages to Python 3 (or letting them remain at 2) shouldn't be too much work I think, because of that work has already been done.

I'll include a link to this PR in the timeline announcement, hoping someone will pick this up.

As was discussed on the mailing list some are against simply staging python = python3; and want to replace all occurrences of python with python3. I'm not interested in doing that work so I'm closing this PR.


Duplicate sys_id in response

This should not happen, i believe it is reproduced as follows
gr = bt1.GlideRecord('some_table')
gr.limit = 50
gr.query()
print(len(gr))

You'll see something like 53192 as the len is reporting the actual, returned by the headers. We're literally just limiting on the client side how much we pull in. If you then did something like this...
df = pd.DataFrame(gr.to_pandas())`
print(df.shape)

your df.shape would give you 53192 rows! How? it would just loop the 50 records you do have. Suggested solution? ensure everywhere that you actually only make results with 50? Or maybe we should report 50 as the len in the first place too.

Following up here -- i don't think it's actually a 'limit' issue. To investigate further.

Could not reproduce, even with the original code. No idea what this was...

Can reproduce again, need to determine if this is a to_pandas thing or not.

DEF0039228 -- you need a default sort


[Docs] CVAT Format Specification Link Brocen

On Supported Formats the link to CVAT format specification is broken.

@KhanMechAI , for me the link works fine.


Profiles.json should provide tab color as part of a scheme and/or profile, with an optional way to introduce variant for multiple instances of the same profile

Summary of the new feature/enhancement
Profiles.json should provide tab color as part of a scheme and/or profile, with an optional way to introduce variant for multiple instances of the same profile. When a user opens different tabs today, there is very little distinction between the tabs. I'd like to have the ability to apply a color to the tab, perhaps with an alpha so that I could shade both light and dark applications with a accent color representing the type of profile used by the tab. It might be valuable to have an additional accent color which can shade the tab or a portion of the tab uniquely depending on if there are multiple instances of the same profile open, so as to distinguish between them.
Proposed technical implementation details
I'm not entirely sure how the optional portion would be implemented, so I'll address the first portion first.
{
  "profiles" :
  {
    "tabForeground" : "#aarrbbgg",
    "tabBackground" : "#aarrbbgg"
  }
}

or
{
  "profiles" :
  {
    "colorScheme" : "Foo"
  },
  "schemes" :
  [
    {
      "name" : "Foo",
      "tabForeground" : "#aarrbbgg",
      "tabBackground" : "#aarrbbgg"
    }
  ]
}

Just as with the foreground and background properties, the profile definition overrides the scheme definition. This concept could be expanded later to use other foreground and background identifiers such as images.

Rather than a tab colour, I would like to see the Tab use the background colour, to make the console and tab connected.

I'm partial to @mdtauk's plan as well, but it does lose the nuance of "how to differentiate multiple open tabs of the same type".

I'm partial to @mdtauk's plan as well, but it does lose the nuance of "how to differentiate multiple open tabs of the same type".

Tab/Profile names.  But the plan is to group different Terminal panes within a single Tab thought, AFAIK #1000

group different Terminal panes

Well, yes, at the user's discretion. If I want to open 600 different powershell tabs and have them all have the same title, I deserve what I get 😉

I like mdtauk's solution, but I'd like to accent my Ubuntu tab with an orange to match the Ubuntu orange. Separately I like how this helps distinguish which tab is currently selected... so maybe what I'm suggesting only applies to the text region?

Looking at the WinUI Tabs issue, there are thoughts about the design which shows the selected tab with a selected indicator strip.  Perhaps that colour could be set, either on the profile or by right clicking on a tab and picking a colour?

Here is a design mock-up I contributed

cc @cinnamon-msft

I made some mocks earlier on in the project to demonstrate theming and colored tabs. I like the idea of associating the tab with the background color as well. Then, having the tab go back to the original background color when it isn't selected. This could be a good way to go for v1 then expand on later 😄

This would mean if you set an image background, you have to also set the background color to control the tab, right?
Maybe if you have multiple tabs of the same type we can just randomly tweak the saturation or lightness of each one by ±10 ...

I raised #3687 before being pointed at this item.  In that I suggest taking the ideas here to their logical (to me at least!)  conclusion and simply allowing the entire theme to be selectable for each tab since the theme seems to be the thing that is encapsulating all UI variation.

[Jaykul] We could also expose this as settable via OSC (meaning apps could make them change)

As per j4james's suggestion, I'm copying over this comment from 3687:

Another possibility is to add support for runtime alteration of the palette and default fg+bg colors, using the standard OSC 4, 10, 11 (and their +100 counterparts) escape sequences. This would give great flexibility to users, e.g. even picking a random background color from their shell startup files.
Technical note: In VTE + GNOME Terminal we figured out the best is if the OSC sequences have precedence over the UI / config file settings. That is, for each color slot, if its value is defined via OSC 4, 10, 11 then that one is used and the one in the settings is ignored. If a value hasn't been defined via OSC, or has been reset via OSC 104, 110, 111 then the value specified in the terminal emulator's settings is used. This way re-applying the same settings is an idempotent operation. (Previously the two sources were fighting with each other, both overwriting the value in the same slot. That way re-applying the user config (e.g. "altering" a color to the same value) would invalidate a previous OSC, which was bad.)

It seems that specifying tab color in profile should now be possible, after #3789 merge, with only additions to configuration? Seems to be logical next step, to allow initial per-profile configuration of existing runtime option, while using an operating system's accent/different colors within the same profile/background sync may be further steps.

@luzhkovvv Sure will be, but we're tracking this as a part of #3327, which is making sure that we take care of this in a more holistic way then just adding the setting to every profile.


Download video error

Version
v1.13.0
Platform
Windows 10
Steps to reproduce
After entering the address of the YouTube video, an error message will pop up. I have tried multiple times but still cannot download it.
Details
Prompt for authentication error, possibly due to the website blocking the software's interface authentication

Checklist

[X] I have looked through existing issues to make sure that this bug has not been reported before
[X] I have provided a descriptive title for this issue
[X] I have made sure that this bug is reproducible on the latest version of the application
[X] I have provided all the information needed to reproduce this bug as efficiently as possible
[ ] I have sponsored this project
[ ] I have not read any of the above and just checked all the boxes to submit the issue

+1 I have the same issue

same issue

Автор сей поделки - нацист)

In case this helps the developer, the regular download page on YouTube now requires you to login, but the embed code URL still lets you access it without logging in.

In case this helps the developer, the regular download page on YouTube now requires you to login, but the embed code URL still lets you access it without logging in.

@tenshon which regular download page are you referring to?

Sorry I meant accessing the regular youtube video page requires login, but the embed link page does not. Presuming you're using that to scrape the download info and it's failing because it requires you to login.

So they changed that to require authentication now?
Any thoughts on how to workaround it? Any way to exploit the HTML embed player response that doesn't require authentication?

I'm authenticated, and still get the same error, version 1.13.1, just on certain videos though.

I'm authenticated, and still get the same error, version 1.13.1, just on certain videos though. I can also confirm, still present in 1.13.2

same error

Same problem, but it fixed last time by updated, it does not work this time.

I'm authenticated, and still get the same error, version 1.13.1, just on certain videos though. I can also confirm, still present in 1.13.2

same error

very weird，i updated the new version ，now i failed download any video when i authenticated （error 403），but it works when i log out except the age-restriction video.


Add Russian translation

Description
The translation is based on the previous version 1.12.2, but also has improvements to what was in it.
Additionally translated all new keys
Checklist:

[x] My code follows the style guidelines of this project (.editorconfig, most IDEs will use this for you)
[x] I have performed a self-review of my own code

Don't put the lang file into the generated folder, it will be removed at a later state,
I would like someone else to verify these translations

Thank you for your work on this, I have uploaded your current translations to crowdin for further collaboration.
https://translate.enderio.com/


H265 Decoder Fails to Compile with g++ (GCC) 5.1.1 and -fpermissive

The following compile error occurs when compiling vaapidecoder_h265.cpp with g++ version 5.1.1 (this is the minimum version provided with Fedora 22).  With g++ version 4.9.2, the same compile error occurs unless -fpermissive is in the compiler flags.  This compiler flag is specified in all the libyami Makefile.am files, so the compilation works with g++ 4.9.2 by default.  However, this same compiler flag has no effect on eradicating this error when using g++ 5.1.1.
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../interface -I../common -I../vaapi -I../codecparsers -I/home/uartie/Work/media/install/include -I/home/uartie/Work/media/install/include -fpermissive -I/home/uartie/Work/media/install/include -I/home/uartie/Work/media/install/include -g3 -MT libyami_decoder_la-vaapidecoder_h265.lo -MD -MP -MF .deps/libyami_decoder_la-vaapidecoder_h265.Tpo -c vaapidecoder_h265.cpp  -fPIC -DPIC -o .libs/libyami_decoder_la-vaapidecoder_h265.o
In file included from /usr/include/c++/5.1.1/algorithm:62:0,
from vaapidecoder_h265.cpp:38:
/usr/include/c++/5.1.1/bits/stl_algo.h: In instantiation of '_ForwardIterator std::__remove_if(_ForwardIterator, _ForwardIterator, _Predicate) [with _ForwardIterator = std::_Rb_tree_const_iterator<std::tr1::shared_ptr<YamiMediaCodec::VaapiDecPictureH265> >; _Predicate = __gnu_cxx::__ops::_Iter_pred<bool (*)(const std::tr1::shared_ptr<YamiMediaCodec::VaapiDecPictureH265>&)>]':
/usr/include/c++/5.1.1/bits/stl_algo.h:936:30:   required from '_FIter std::remove_if(_FIter, _FIter, _Predicate) [with _FIter = std::_Rb_tree_const_iterator<std::tr1::shared_ptr<YamiMediaCodec::VaapiDecPictureH265> >; _Predicate = bool (*)(const std::tr1::shared_ptr<YamiMediaCodec::VaapiDecPictureH265>&)]'
vaapidecoder_h265.cpp:280:76:   required from here
/usr/include/c++/5.1.1/bits/stl_algo.h:868:23: error: no match for 'operator=' (operand types are 'const std::tr1::shared_ptr<YamiMediaCodec::VaapiDecPictureH265>' and 'const std::tr1::shared_ptr<YamiMediaCodec::VaapiDecPictureH265>')
*__result = _GLIBCXX_MOVE(*__first);
^
In file included from /usr/include/c++/5.1.1/tr1/memory:50:0,
from ../interface/VideoCommonDefs.h:29,
from ../interface/VideoDecoderDefs.h:28,
from ../interface/VideoDecoderInterface.h:27,
from vaapidecoder_base.h:27,
from vaapidecoder_factory.h:24,
from vaapidecoder_h265.cpp:31:
/usr/include/c++/5.1.1/tr1/shared_ptr.h:1031:9: note: candidate: std::tr1::shared_ptr<_Tp>& std::tr1::shared_ptr<_Tp>::operator=(const std::tr1::shared_ptr<_Tp1>&) [with _Tp1 = YamiMediaCodec::VaapiDecPictureH265; _Tp = YamiMediaCodec::VaapiDecPictureH265] <near match>
operator=(const shared_ptr<_Tp1>& __r) // never throws
^
/usr/include/c++/5.1.1/tr1/shared_ptr.h:1031:9: note:   passing 'const std::tr1::shared_ptr<YamiMediaCodec::VaapiDecPictureH265>*' as 'this' argument discards qualifiers
/usr/include/c++/5.1.1/tr1/shared_ptr.h:1040:9: note: candidate: template<class _Tp1> std::tr1::shared_ptr<_Tp>& std::tr1::shared_ptr<_Tp>::operator=(std::auto_ptr<_Tp1>&) [with _Tp1 = _Tp1; _Tp = YamiMediaCodec::VaapiDecPictureH265]
operator=(std::auto_ptr<_Tp1>& __r)
^
/usr/include/c++/5.1.1/tr1/shared_ptr.h:1040:9: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/5.1.1/algorithm:62:0,
from vaapidecoder_h265.cpp:38:
/usr/include/c++/5.1.1/bits/stl_algo.h:868:23: note:   types 'std::auto_ptr<_Tp1>' and 'const std::tr1::shared_ptr<YamiMediaCodec::VaapiDecPictureH265>' have incompatible cv-qualifiers
*__result = _GLIBCXX_MOVE(*__first);
^
In file included from /usr/include/c++/5.1.1/tr1/memory:50:0,
from ../interface/VideoCommonDefs.h:29,
from ../interface/VideoDecoderDefs.h:28,
from ../interface/VideoDecoderInterface.h:27,
from vaapidecoder_base.h:27,
from vaapidecoder_factory.h:24,
from vaapidecoder_h265.cpp:31:
/usr/include/c++/5.1.1/tr1/shared_ptr.h:985:11: note: candidate: std::tr1::shared_ptr<YamiMediaCodec::VaapiDecPictureH265>& std::tr1::shared_ptr<YamiMediaCodec::VaapiDecPictureH265>::operator=(const std::tr1::shared_ptr<YamiMediaCodec::VaapiDecPictureH265>&) <near match>
class shared_ptr
^
/usr/include/c++/5.1.1/tr1/shared_ptr.h:985:11: note:   passing 'const std::tr1::shared_ptr<YamiMediaCodec::VaapiDecPictureH265>*' as 'this' argument discards qualifiers
Makefile:617: recipe for target 'libyami_decoder_la-vaapidecoder_h265.lo' failed
make[2]: *** [libyami_decoder_la-vaapidecoder_h265.lo] Error 1

Here is a minimal/generic c++ example that exposes this compile error; perhaps we need to file this as an upstream compiler bug... but in the meantime libyami still needs some kind of workaround/fix:
// file simple.cpp
#include <tr1/memory>
#include <algorithm>
#include <set>

typedef std::tr1::shared_ptr<int> MyShared;
typedef std::set<MyShared> MySet;

inline bool isLessThan0(const MyShared& shared)
{
  return *shared < 0;
}

int main(int argc, char** argv)
{
  MySet my_set;
  for (int i(-10); i <= 10; ++i)
    my_set.insert(MyShared(new int(i)));

  MySet::iterator it = std::remove_if(
    my_set.begin(), my_set.end(), isLessThan0);
  my_set.erase(it, my_set.end());

  return 0;
}

With g++ 4.9.2:
g++ -o simple simple.cpp - Does NOT Compile
g++ -fpermissive -o simple simple.cpp - Compiles
With g++ 5.1.1
g++ -o simple simple.cpp - Does NOT Compile
g++ -fpermissive -o simple simple.cpp - Does NOT Compile

Ok, this post explains why you can't use std::remove_if on a std::set:
http://stackoverflow.com/questions/11141651/why-cant-i-remove-a-string-from-a-stdset-with-stdremove-if
... thus, this is strictly a libyami bug.

The fix is to use the std::set::erase method instead.

I have seen other problems when updating to Fedora22, in particular an h.264 compilation issue.  In my experience with that patch was to also test the solution on Ubuntu so that there's no problem with older versions of gcc.  I also initially thought it would be a compiler issue but then I realized it was something to be fixed on libyami.
My $0.02 anyways.

@chivakker would you be able to verify #335 works for you on Ubuntu?

@uartie, I did on the patch series.

@chivakker thank you!

sorry for my mistake. thanks for you guys.