fix: the endpoints under /api/peers

Types of changes

[x] Bugfix (non-breaking change which fixes an issue)
[x] Test (adding missing tests or fixing existing tests)

Checklist

[x] I have read the CONTRIBUTING documentation
[x] Lint and unit tests pass locally with my changes
[x] I have added tests that prove my fix is effective or that my feature works

Codecov Report

Merging #16 into master will increase coverage by 0.38%.
The diff coverage is 95.45%.

@@           Coverage Diff           @@
##           master   #16      +/-   ##
=======================================
+ Coverage   93.61%   94%   +0.38%
=======================================
  Files          40    40
  Lines         909   968      +59
=======================================
+ Hits          851   910      +59
  Misses         58    58

Impacted Files
Coverage Δ

src/api/two/node.rs
100% <ø> (ø)
:arrow_up:

src/api/two/models.rs
68.42% <ø> (ø)
:arrow_up:

src/api/two/peers.rs
100% <100%> (+33.33%)
:arrow_up:

tests/api/two/node_test.rs
100% <100%> (ø)
:arrow_up:

tests/api/two/peers_test.rs
95.45% <95.16%> (-4.55%)
:arrow_down:

Continue to review full report at Codecov.

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


Add additional values to CloudError

Which issue this PR addresses:
Fixes (https://msazure.visualstudio.com/AzureRedHatOpenShift/_workitems/edit/14217751)
What this PR does / why we need it:
Cloud error needs more details to show if an issue is client or server error, as well as where the error is coming from. Added to the struct for cloud error to include this information.
This doesn't refactor cloud errors made in the code as that will be done in the future.
Test plan for issue:
Tested manually by using tests that exist in code already and verifying the additional columns for cloud error.
Is there any documentation that needs to be updated for this PR?
No, just adding more details to errors that already exist.

@m1kola Right now in kusto ArmLogs, when a cluster creation/deletion failure occurs, the logs show that the issue is an internal server error. When looked into further it's actually a client error but ARO generates a generic server error instead. As we move towards checking cluster health, sanitizing the signal will be helpful for monitoring the quality of service for clusters. This PR adds more to the framework to provide this information instantly for error type, and refactoring will be done in the future.

Hi @m1kola , are you good on what we are trying to do now? If not, you can also reach out to Peter and Vikas. Please let us know how to unblock it. Thanks!


Setting childAspectRatio to lower than 1 is causing weird reorder animation

Hello, when I try to set childAspectRatio to lower than 1 then the reorder animation is not aligned and the reordered widgets are overlapping.
Also, the childAspectRatio property is very important for me because without it we will get overflow issues when trying to create bigger widgets in gridview.
Here is the sample video showcasing the issue:

Yes, it's a bug. You can try 1.1.0-alpha.1, fixed it.

Thank you for fixing it.


[e2e]: go schedule main config-ldflags-main slsa3

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/5044580069
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.schedule.main.config-ldflags-main.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.schedule.main.config-ldflags-main.slsa3.yml
Trigger: schedule
Branch: main
Date: Mon May 22 10:24:59 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/5056060184
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.schedule.main.config-ldflags-main.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.schedule.main.config-ldflags-main.slsa3.yml
Trigger: schedule
Branch: main
Date: Tue May 23 10:26:39 UTC 2023
Tests are passing now. Closing this issue.


Predicted object number less than GT object number

When the predicted object number is less than GT object number, this line will lead to a error:
https://github.com/davisvideochallenge/davis2017-evaluation/blob/master/davis2017/evaluation.py#L30
So I think the one-hot conversion for result masks should use the GT object number instead of the result object number.
Thanks.

Or you can fill the missing object masks with zero.

Thanks for pointing this out, it should be now fixed.


API renamed event type field to action

Coverage decreased (-0.8%) to 80.928% when pulling e6a53178eadb5d79e2e841bd19062bf83f6f7a1e on eatonphil-patch-2 into e636fe8c2128082629532ecdf3ce73dcf6a7eaa5 on master.


Moved all examples to bin subfolder

Fixes build error on cargo 0.19.0-nightly (c416fb60b 2017-04-05) and any future [[bin]] removal

cc @GuillaumeGomez

This issue is a bit annoying. Thanks for fixing it!


Ethereum pool issue

[2022-01-06 11:41:02.1969] [W] [Core] Running as root is discouraged!
[2022-01-06 11:41:02.2035] [I] [Core] Prometheus Metrics <IP_ADDRESS>:4000/metrics
[2022-01-06 11:41:02.2035] [I] [Core] WebSocket notifications streaming <IP_ADDRESS>:4000/notifications
[2022-01-06 11:41:03.0683] [I] [ShareRecorder] Online
[2022-01-06 11:41:03.1008] [I] [PayoutManager] Online
[2022-01-06 11:41:03.1023] [I] [StatsRecorder] Online
[2022-01-06 11:41:03.1718] [I] [Core] 59 coins loaded from '/home/dev/miningcore/build/coins.json'
[2022-01-06 11:41:03.1948] [I] [Core] API Access to /api/admin restricted to <IP_ADDRESS>,::1,::ffff:<IP_ADDRESS>
[2022-01-06 11:41:03.1948] [I] [Core] API Access to /metrics restricted to <IP_ADDRESS>,::1,::ffff:<IP_ADDRESS>
[2022-01-06 11:41:03.2072] [I] [eth] Starting Pool ...
[2022-01-06 11:41:03.2111] [I] [eth] ExtraNonceProvider using 4 bits for instance id, 12 bits for 4095 values, instance id = 0xF
[2022-01-06 11:41:03.2271] [I] [eth] Starting Job Manager ...
[2022-01-06 11:41:03.3054] [E] [Host] BackgroundService failed System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Miningcore.Mining.StatsRecorder.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Mining/StatsRecorder.cs:line 373
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)    at Miningcore.Mining.StatsRecorder.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Mining/StatsRecorder.cs:line 373
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
[2022-01-06 11:41:03.3103] [I] [eth] Waiting for daemons to come online ...
[2022-01-06 11:41:03.3158] [F] [Host] The HostOptions.BackgroundServiceExceptionBehavior is configured to StopHost. A BackgroundService has thrown an unhandled exception, and the IHost instance is stopping. To avoid this behavior, configure this to Ignore; however the BackgroundService will not be restarted. System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Miningcore.Mining.StatsRecorder.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Mining/StatsRecorder.cs:line 373
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)    at Miningcore.Mining.StatsRecorder.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Mining/StatsRecorder.cs:line 373
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
[2022-01-06 11:41:03.3158] [I] [Lifetime] Application is shutting down...
[2022-01-06 11:41:03.3158] [E] [Host] BackgroundService failed System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Miningcore.Blockchain.JobManagerBase1.StartDaemonAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/JobManagerBase.cs:line 46    at Miningcore.Blockchain.JobManagerBase1.StartAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/JobManagerBase.cs:line 108
at Miningcore.Blockchain.Ethereum.EthereumPool.SetupJobManager(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/Ethereum/EthereumPool.cs:line 353
at Miningcore.Mining.PoolBase.RunAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Mining/PoolBase.cs:line 371
at Miningcore.Program.<>c__DisplayClass17_0.<b__0>d.MoveNext() in /home/dev/miningcore/src/Miningcore/Program.cs:line 379
--- End of stack trace from previous location ---
at Miningcore.Program.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Program.cs:line 354
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)    at Miningcore.Blockchain.JobManagerBase1.StartDaemonAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/JobManagerBase.cs:line 46    at Miningcore.Blockchain.JobManagerBase1.StartAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/JobManagerBase.cs:line 108
at Miningcore.Blockchain.Ethereum.EthereumPool.SetupJobManager(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/Ethereum/EthereumPool.cs:line 353
at Miningcore.Mining.PoolBase.RunAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Mining/PoolBase.cs:line 371
at Miningcore.Program.<>c__DisplayClass17_0.<b__0>d.MoveNext() in /home/dev/miningcore/src/Miningcore/Program.cs:line 379
--- End of stack trace from previous location ---
at Miningcore.Program.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Program.cs:line 354
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
[2022-01-06 11:41:03.3201] [F] [Host] The HostOptions.BackgroundServiceExceptionBehavior is configured to StopHost. A BackgroundService has thrown an unhandled exception, and the IHost instance is stopping. To avoid this behavior, configure this to Ignore; however the BackgroundService will not be restarted. System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Miningcore.Blockchain.JobManagerBase1.StartDaemonAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/JobManagerBase.cs:line 46    at Miningcore.Blockchain.JobManagerBase1.StartAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/JobManagerBase.cs:line 108
at Miningcore.Blockchain.Ethereum.EthereumPool.SetupJobManager(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/Ethereum/EthereumPool.cs:line 353
at Miningcore.Mining.PoolBase.RunAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Mining/PoolBase.cs:line 371
at Miningcore.Program.<>c__DisplayClass17_0.<b__0>d.MoveNext() in /home/dev/miningcore/src/Miningcore/Program.cs:line 379
--- End of stack trace from previous location ---
at Miningcore.Program.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Program.cs:line 354
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)    at Miningcore.Blockchain.JobManagerBase1.StartDaemonAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/JobManagerBase.cs:line 46    at Miningcore.Blockchain.JobManagerBase1.StartAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/JobManagerBase.cs:line 108
at Miningcore.Blockchain.Ethereum.EthereumPool.SetupJobManager(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/Ethereum/EthereumPool.cs:line 353
at Miningcore.Mining.PoolBase.RunAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Mining/PoolBase.cs:line 371
at Miningcore.Program.<>c__DisplayClass17_0.<b__0>d.MoveNext() in /home/dev/miningcore/src/Miningcore/Program.cs:line 379
--- End of stack trace from previous location ---
at Miningcore.Program.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Program.cs:line 354
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
[2022-01-06 11:41:03.3158] [E] [Host] BackgroundService failed System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Miningcore.Payments.PayoutManager.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Payments/PayoutManager.cs:line 261
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)    at Miningcore.Payments.PayoutManager.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Payments/PayoutManager.cs:line 261
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
[2022-01-06 11:41:03.3296] [F] [Host] The HostOptions.BackgroundServiceExceptionBehavior is configured to StopHost. A BackgroundService has thrown an unhandled exception, and the IHost instance is stopping. To avoid this behavior, configure this to Ignore; however the BackgroundService will not be restarted. System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Miningcore.Payments.PayoutManager.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Payments/PayoutManager.cs:line 261
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)    at Miningcore.Payments.PayoutManager.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Payments/PayoutManager.cs:line 261
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
[2022-01-06 11:41:03.3312] [E] [Host] BackgroundService failed System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)    at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
[2022-01-06 11:41:03.3312] [F] [Host] The HostOptions.BackgroundServiceExceptionBehavior is configured to StopHost. A BackgroundService has thrown an unhandled exception, and the IHost instance is stopping. To avoid this behavior, configure this to Ignore; however the BackgroundService will not be restarted. System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)    at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
[2022-01-06 11:41:03.3312] [E] [Host] BackgroundService failed System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)    at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
[2022-01-06 11:41:03.3312] [F] [Host] The HostOptions.BackgroundServiceExceptionBehavior is configured to StopHost. A BackgroundService has thrown an unhandled exception, and the IHost instance is stopping. To avoid this behavior, configure this to Ignore; however the BackgroundService will not be restarted. System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)    at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
root@inodeva:/home/dev/miningcore#

You have cut off the version information from the top of the logs 😸

Using configuration file 'src/Miningcore/config.json'
[2022-01-06 12:15:08.5328] [I] [Core] Version <IP_ADDRESS>-patch-1 [7877a709e6fc6f4c87e235b96568e417422be47d]
[2022-01-06 12:15:08.5452] [I] [Core] Runtime .NET 6.0.1 on Linux 5.4.0-91-generic #102-Ubuntu SMP Fri Nov 5 16:31:28 UTC 2021 [X64]
[2022-01-06 12:15:08.5452] [W] [Core] Running as root is discouraged!
[2022-01-06 12:15:08.5500] [I] [Core] Prometheus Metrics <IP_ADDRESS>:4000/metrics
[2022-01-06 12:15:08.5500] [I] [Core] WebSocket notifications streaming <IP_ADDRESS>:4000/notifications
[2022-01-06 12:15:09.3489] [I] [XmlKeyManager] User profile is available. Using '/root/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest.
[2022-01-06 12:15:09.3743] [I] [ShareRecorder] Online
[2022-01-06 12:15:09.4068] [I] [PayoutManager] Online
[2022-01-06 12:15:09.4068] [I] [StatsRecorder] Online
[2022-01-06 12:15:09.4742] [I] [Core] 59 coins loaded from '/home/dev/miningcore/build/coins.json'
[2022-01-06 12:15:09.4890] [I] [eth] Starting Pool ...
[2022-01-06 12:15:09.4914] [I] [eth] ExtraNonceProvider using 4 bits for instance id, 12 bits for 4095 values, instance id = 0xC
[2022-01-06 12:15:09.4914] [I] [Core] API Access to /api/admin restricted to <IP_ADDRESS>,::1,::ffff:<IP_ADDRESS>
[2022-01-06 12:15:09.4914] [I] [Core] API Access to /metrics restricted to <IP_ADDRESS>,::1,::ffff:<IP_ADDRESS>
[2022-01-06 12:15:09.4961] [I] [eth] Starting Job Manager ...
[2022-01-06 12:15:09.5657] [E] [Host] BackgroundService failed System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Miningcore.Mining.StatsRecorder.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Mining/StatsRecorder.cs:line 373
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)    at Miningcore.Mining.StatsRecorder.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Mining/StatsRecorder.cs:line 373
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)

Anything related in /var/log/syslog ?

I don't think so

Jan  6 00:00:17  systemd[1]: logrotate.service: Succeeded.
Jan  6 00:00:17  systemd[1]: Finished Rotate log files.
Jan  6 00:00:17  systemd[1]: man-db.service: Succeeded.
Jan  6 00:00:17  systemd[1]: Finished Daily man-db regeneration.
Jan  6 00:17:01  CRON[97924]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jan  6 00:20:09  systemd[1]: Started Session 402 of user dev.
Jan  6 00:20:39  systemd[1]: session-402.scope: Succeeded.
Jan  6 00:21:55  systemd[1]: Started Session 403 of user dev.
Jan  6 00:22:10  systemd[1]: Starting Ubuntu Advantage Timer for running repeated jobs...
Jan  6 00:22:11  systemd[1]: ua-timer.service: Succeeded.
Jan  6 00:22:11  systemd[1]: Finished Ubuntu Advantage Timer for running repeated jobs.
Jan  6 00:29:25  systemd[1]: Started Session 404 of user dev.
Jan  6 00:35:21  systemd[1]: Started Session 405 of user dev.
Jan  6 00:39:00  systemd[1]: Started Session 406 of user dev.
Jan  6 00:41:27  systemd[1]: Started Session 407 of user dev.
Jan  6 00:43:11  systemd[1]: Started Session 408 of user dev.
Jan  6 00:46:33  snapd[10884]: storehelpers.go:710: cannot refresh: snap has no updates available: "core18", "core20", "lxd", "snapd"
Jan  6 00:46:33  snapd[10884]: autorefresh.go:536: auto-refresh: all snaps are up-to-date
Jan  6 01:17:01  CRON[98958]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jan  6 02:17:01  CRON[99093]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jan  6 02:28:16  systemd[1]: session-391.scope: Succeeded.
Jan  6 03:10:01  CRON[99216]: (root) CMD (test -e /run/systemd/system || SERVICE_MODE=1 /sbin/e2scrub_all -A -r)
Jan  6 03:17:01  CRON[99230]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jan  6 04:17:01  CRON[99348]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jan  6 05:17:01  CRON[99558]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jan  6 05:45:17  systemd[1]: Starting Refresh fwupd metadata and update motd...
Jan  6 05:45:17  dbus-daemon[957]: [system] Activating via systemd: service name='org.freedesktop.fwupd' unit='fwupd.service' requested by ':1.260' (uid=62803 pid=99637 comm="/usr/bin/fwupdmgr refresh " label="unconfined")
Jan  6 05:45:17  systemd[1]: Starting Firmware update daemon...
Jan  6 05:45:17  fwupd[99650]: ERROR:esys:src/tss2-esys/esys_context.c:69:Esys_Initialize() Initialize default tcti. ErrorCode (0x000a000a)
Jan  6 05:45:17  dbus-daemon[957]: [system] Successfully activated service 'org.freedesktop.fwupd'
Jan  6 05:45:17  systemd[1]: Started Firmware update daemon.
Jan  6 05:45:17  fwupd[99650]: 05:45:17:0509 FuPluginPciMei       ME family not supported for 0:<IP_ADDRESS>
Jan  6 05:45:17  systemd[1]: fwupd-refresh.service: Succeeded.
Jan  6 05:45:17  systemd[1]: Finished Refresh fwupd metadata and update motd.
Jan  6 06:15:51  systemd[1]: Starting Daily apt upgrade and clean activities...
Jan  6 06:16:21  systemd-networkd-wait-online[99775]: Event loop failed: Connection timed out
Jan  6 06:16:21  apt-helper[99760]: E: Sub-process /lib/systemd/systemd-networkd-wait-online returned an error code (1)
Jan  6 06:16:23  systemd[1]: apt-daily-upgrade.service: Succeeded.
Jan  6 06:16:23  systemd[1]: Finished Daily apt upgrade and clean activities.
Jan  6 06:17:01  CRON[99875]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jan  6 06:25:01  CRON[99895]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ))
Jan  6 06:29:51  systemd[1]: Starting Refresh fwupd metadata and update motd...
Jan  6 06:29:51  systemd[1]: fwupd-refresh.service: Succeeded.
Jan  6 06:29:51  systemd[1]: Finished Refresh fwupd metadata and update motd.
Jan  6 06:40:17  systemd[1]: Starting Ubuntu Advantage Timer for running repeated jobs...
Jan  6 06:40:17  systemd[1]: ua-timer.service: Succeeded.
Jan  6 06:40:17  systemd[1]: Finished Ubuntu Advantage Timer for running repeated jobs.
Jan  6 07:17:01  CRON[100184]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jan  6 07:46:33  snapd[10884]: storehelpers.go:710: cannot refresh: snap has no updates available: "core18", "core20", "lxd", "snapd"
Jan  6 07:46:33  snapd[10884]: autorefresh.go:536: auto-refresh: all snaps are up-to-date
Jan  6 07:52:51  systemd[1]: Starting Message of the Day...
Jan  6 07:53:22  50-motd-news[100308]:  * Super-optimized for small spaces - read how we shrank the memory
Jan  6 07:53:22  50-motd-news[100308]:    footprint of MicroK8s to make it the smallest full K8s around.
Jan  6 07:53:22  50-motd-news[100308]:    https://ubuntu.com/blog/microk8s-memory-optimisation
Jan  6 07:53:22  systemd[1]: motd-news.service: Succeeded.
Jan  6 07:53:22  systemd[1]: Finished Message of the Day.
Jan  6 08:04:01  CRON[100333]: (root) CMD (   test -x /etc/cron.daily/popularity-contest && /etc/cron.daily/popularity-contest --crond)
Jan  6 08:04:41  systemd[1]: session-406.scope: Succeeded.
Jan  6 08:17:01  CRON[100377]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jan  6 08:29:51  systemd[1]: fwupd.service: Succeeded.
Jan  6 09:17:01  CRON[100531]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jan  6 09:24:14  systemd[1]: Started Session 421 of user dev.
Jan  6 09:25:10  dbus-daemon[957]: [system] Activating via systemd: service name='org.freedesktop.PackageKit' unit='packagekit.service' requested by ':1.267' (uid=0 pid=101339 comm="/usr/bin/gdbus call --system --dest org.freedes>
Jan  6 09:25:10  systemd[1]: Starting PackageKit Daemon...
Jan  6 09:25:10  PackageKit: daemon start
Jan  6 09:25:10  dbus-daemon[957]: [system] Successfully activated service 'org.freedesktop.PackageKit'
Jan  6 09:25:10  systemd[1]: Started PackageKit Daemon.
Jan  6 09:25:32  systemd[1]: Reloading.
Jan  6 09:25:32  systemd[1]: Reloading.
Jan  6 09:25:33  systemd[1]: Reloading.
Jan  6 09:25:36  systemd[1]: message repeated 6 times: [ Reloading.]
Jan  6 09:25:36  systemd[1]: Starting Daily apt download activities...
Jan  6 09:25:36  systemd[1]: Created slice system-postgresql.slice.
Jan  6 09:25:36  systemd[1]: Starting PostgreSQL Cluster 12-main...
Jan  6 09:25:38  systemd[1]: Started PostgreSQL Cluster 12-main.
Jan  6 09:25:38  systemd[1]: Starting PostgreSQL RDBMS...
Jan  6 09:25:38  systemd[1]: Finished PostgreSQL RDBMS.
Jan  6 09:25:38  systemd[1]: Reloading.
Jan  6 09:26:06  systemd-networkd-wait-online[103416]: Event loop failed: Connection timed out
Jan  6 09:26:06  apt-helper[103413]: E: Sub-process /lib/systemd/systemd-networkd-wait-online returned an error code (1)
Jan  6 09:26:09  systemd[1]: apt-daily.service: Succeeded.
Jan  6 09:26:09  systemd[1]: Finished Daily apt download activities.
Jan  6 09:29:28  systemd[1]: Started Session 422 of user dev.
Jan  6 09:31:10  PackageKit: daemon quit
Jan  6 09:31:10  systemd[1]: packagekit.service: Succeeded.
Jan  6 09:35:01  CRON[105388]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jan  6 09:45:01  CRON[105518]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jan  6 09:48:06  dbus-daemon[957]: [system] Activating via systemd: service name='org.freedesktop.PackageKit' unit='packagekit.service' requested by ':1.276' (uid=0 pid=106086 comm="/usr/bin/gdbus call --system --dest org.freedes>
Jan  6 09:48:06  systemd[1]: Starting PackageKit Daemon...
Jan  6 09:48:06  PackageKit: daemon start
Jan  6 09:48:06  dbus-daemon[957]: [system] Successfully activated service 'org.freedesktop.PackageKit'
Jan  6 09:48:06  systemd[1]: Started PackageKit Daemon.
Jan  6 09:55:01  CRON[115243]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jan  6 09:56:31  PackageKit: daemon quit
Jan  6 09:56:31  systemd[1]: packagekit.service: Succeeded.
Jan  6 10:05:01  CRON[115303]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jan  6 10:15:01  CRON[115352]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jan  6 10:17:01  CRON[115369]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jan  6 10:22:05  systemd[1]: Started Session 429 of user dev.
Jan  6 10:25:01  CRON[115493]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jan  6 10:35:01  CRON[115552]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jan  6 10:38:29  systemd[1]: session-422.scope: Succeeded.
Jan  6 10:45:01  CRON[115646]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jan  6 10:55:01  CRON[115828]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jan  6 11:05:01  CRON[115874]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jan  6 11:14:09  systemd[1]: Started Session 435 of user dev.
Jan  6 11:15:01  CRON[116062]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jan  6 11:17:01  CRON[116088]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jan  6 11:25:01  CRON[117287]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jan  6 11:35:01  CRON[117452]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jan  6 11:45:01  CRON[118650]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jan  6 11:55:01  CRON[118704]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jan  6 12:05:01  CRON[118943]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jan  6 12:15:01  CRON[119128]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jan  6 12:17:01  CRON[119170]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jan  6 12:25:01  CRON[119451]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jan  6 12:33:23  systemd[1]: session-421.scope: Succeeded.
Jan  6 12:35:01  CRON[120814]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jan  6 12:45:01  CRON[121031]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jan  6 12:46:33  snapd[10884]: storehelpers.go:710: cannot refresh: snap has no updates available: "core18", "core20", "lxd", "snapd"
Jan  6 12:46:33  snapd[10884]: autorefresh.go:536: auto-refresh: all snaps are up-to-date
This is syslog

No idea what's going wrong at the moment. Try running with debug log level.

[2022-01-06 13:10:44.3787] [I] [Core] Version <IP_ADDRESS>-master [f5a7f1ae624e3fe76c5a9558aa4154c99b061dd4]
[2022-01-06 13:10:44.3961] [I] [Core] Runtime .NET 6.0.1 on Linux 5.4.0-91-generic #102-Ubuntu SMP Fri Nov 5 16:31:28 UTC 2021 [X64]
[2022-01-06 13:10:44.3961] [W] [Core] Running as root is discouraged!
[2022-01-06 13:10:44.4044] [I] [Core] Prometheus Metrics <IP_ADDRESS>:4000/metrics
[2022-01-06 13:10:44.4044] [I] [Core] WebSocket notifications streaming <IP_ADDRESS>:4000/notifications
[2022-01-06 13:10:45.2673] [D] [Host] Hosting starting
[2022-01-06 13:10:45.3072] [I] [XmlKeyManager] User profile is available. Using '/root/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest.
[2022-01-06 13:10:45.3335] [I] [ShareRecorder] Online
[2022-01-06 13:10:45.3343] [D] [MessageBus] Listening to Miningcore.Mining.StratumShare:
[2022-01-06 13:10:45.3727] [D] [MessageBus] Listening to Miningcore.Notifications.Messages.TelemetryEvent:
[2022-01-06 13:10:45.3780] [D] [MessageBus] Listening to Miningcore.Notifications.Messages.PoolStatusNotification:
[2022-01-06 13:10:45.3803] [I] [PayoutManager] Online
[2022-01-06 13:10:45.3803] [D] [MessageBus] Listening to Miningcore.Notifications.Messages.PoolStatusNotification:
[2022-01-06 13:10:45.3824] [I] [StatsRecorder] Online
[2022-01-06 13:10:45.4694] [I] [Core] 59 coins loaded from '/home/dev/miningcore/build/coins.json'
[2022-01-06 13:10:45.4972] [D] [FileSystemXmlRepository] Reading data from file '/root/.aspnet/DataProtection-Keys/key-c9ed3146-6a1f-4376-9495-5047a909d6cd.xml'.
[2022-01-06 13:10:45.5034] [D] [XmlKeyManager] Found key {c9ed3146-6a1f-4376-9495-5047a909d6cd}.
[2022-01-06 13:10:45.5132] [D] [DefaultKeyResolver] Considering key {c9ed3146-6a1f-4376-9495-5047a909d6cd} with expiration date 2022-04-06 11:22:57Z as default key.
[2022-01-06 13:10:45.5034] [I] [eth] Starting Pool ...
[2022-01-06 13:10:45.5169] [I] [eth] ExtraNonceProvider using 4 bits for instance id, 12 bits for 4095 values, instance id = 0xA
[2022-01-06 13:10:45.5238] [I] [eth] Starting Job Manager ...
[2022-01-06 13:10:45.5238] [D] [TypeForwardingActivator] Forwarded activator type request from Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer, Microsoft.AspNetCore.DataProtection, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60 to Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer, Microsoft.AspNetCore.DataProtection, Culture=neutral, PublicKeyToken=adb9793829ddae60
[2022-01-06 13:10:45.5275] [D] [ManagedAuthenticatedEncryptorFactory] Using managed symmetric algorithm 'System.Security.Cryptography.Aes'.
[2022-01-06 13:10:45.5275] [D] [ManagedAuthenticatedEncryptorFactory] Using managed keyed hash algorithm 'System.Security.Cryptography.HMACSHA256'.
[2022-01-06 13:10:45.5363] [D] [KeyRingProvider] Using key {c9ed3146-6a1f-4376-9495-5047a909d6cd} as the default key.
[2022-01-06 13:10:45.5363] [D] [DataProtectionHostedService] Key ring with default key {c9ed3146-6a1f-4376-9495-5047a909d6cd} was loaded during application startup.
[2022-01-06 13:10:45.5411] [I] [Core] API Access to /api/admin restricted to <IP_ADDRESS>,::1,::ffff:<IP_ADDRESS>
[2022-01-06 13:10:45.5411] [I] [Core] API Access to /metrics restricted to <IP_ADDRESS>,::1,::ffff:<IP_ADDRESS>
[2022-01-06 13:10:45.5446] [D] [MessageBus] Listening to Miningcore.Notifications.Messages.BlockFoundNotification:
[2022-01-06 13:10:45.5324] [D] [eth] ExecuteAsync(eth_getBlockByNumber)
[2022-01-06 13:10:45.5595] [D] [MessageBus] Listening to Miningcore.Notifications.Messages.BlockUnlockedNotification:
[2022-01-06 13:10:45.5595] [D] [MessageBus] Listening to Miningcore.Notifications.Messages.BlockConfirmationProgressNotification:
[2022-01-06 13:10:45.5595] [D] [MessageBus] Listening to Miningcore.Notifications.Messages.NewChainHeightNotification:
[2022-01-06 13:10:45.5595] [D] [MessageBus] Listening to Miningcore.Notifications.Messages.PaymentNotification:
[2022-01-06 13:10:45.5622] [D] [MessageBus] Listening to Miningcore.Notifications.Messages.HashrateNotification:
[2022-01-06 13:10:45.5989] [D] [ModelBinderFactory] Registered model binder providers, in the following order: Microsoft.AspNetCore.Mvc.ModelBinding.Binders.BinderTypeModelBinderProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ServicesModelBinderProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Binders.BodyModelBinderProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Binders.HeaderModelBinderProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Binders.FloatingPointTypeModelBinderProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Binders.EnumTypeModelBinderProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Binders.DateTimeModelBinderProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Binders.SimpleTypeModelBinderProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Binders.CancellationTokenModelBinderProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ByteArrayModelBinderProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Binders.FormFileModelBinderProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Binders.FormCollectionModelBinderProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Binders.KeyValuePairModelBinderProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Binders.DictionaryModelBinderProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ArrayModelBinderProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Binders.CollectionModelBinderProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ComplexObjectModelBinderProvider
[2022-01-06 13:10:45.6268] [D] [DefaultViewCompiler] Initializing Razor view compiler with no compiled views.
[2022-01-06 13:10:45.7423] [I] [eth] All daemons online
[2022-01-06 13:10:45.7423] [D] [eth] ExecuteAsync(net_peerCount)
[2022-01-06 13:10:45.7545] [E] [Host] BackgroundService failed System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Miningcore.Mining.StatsRecorder.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Mining/StatsRecorder.cs:line 373
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)    at Miningcore.Mining.StatsRecorder.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Mining/StatsRecorder.cs:line 373
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
[2022-01-06 13:10:45.7746] [I] [eth] Waiting for daemons to connect to peers ...
[2022-01-06 13:10:45.7889] [F] [Host] The HostOptions.BackgroundServiceExceptionBehavior is configured to StopHost. A BackgroundService has thrown an unhandled exception, and the IHost instance is stopping. To avoid this behavior, configure this to Ignore; however the BackgroundService will not be restarted. System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Miningcore.Mining.StatsRecorder.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Mining/StatsRecorder.cs:line 373
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)    at Miningcore.Mining.StatsRecorder.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Mining/StatsRecorder.cs:line 373
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
[2022-01-06 13:10:45.7889] [I] [Lifetime] Application is shutting down...
[2022-01-06 13:10:45.7889] [E] [Host] BackgroundService failed System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Miningcore.Payments.PayoutManager.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Payments/PayoutManager.cs:line 261
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)    at Miningcore.Payments.PayoutManager.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Payments/PayoutManager.cs:line 261
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
[2022-01-06 13:10:45.7904] [F] [Host] The HostOptions.BackgroundServiceExceptionBehavior is configured to StopHost. A BackgroundService has thrown an unhandled exception, and the IHost instance is stopping. To avoid this behavior, configure this to Ignore; however the BackgroundService will not be restarted. System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Miningcore.Payments.PayoutManager.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Payments/PayoutManager.cs:line 261
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)    at Miningcore.Payments.PayoutManager.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Payments/PayoutManager.cs:line 261
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
[2022-01-06 13:10:45.7904] [E] [Host] BackgroundService failed System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Miningcore.Blockchain.JobManagerBase1.StartDaemonAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/JobManagerBase.cs:line 55    at Miningcore.Blockchain.JobManagerBase1.StartAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/JobManagerBase.cs:line 108
at Miningcore.Blockchain.Ethereum.EthereumPool.SetupJobManager(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/Ethereum/EthereumPool.cs:line 353
at Miningcore.Mining.PoolBase.RunAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Mining/PoolBase.cs:line 371
at Miningcore.Program.<>c__DisplayClass17_0.<b__0>d.MoveNext() in /home/dev/miningcore/src/Miningcore/Program.cs:line 379
--- End of stack trace from previous location ---
at Miningcore.Program.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Program.cs:line 354
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)    at Miningcore.Blockchain.JobManagerBase1.StartDaemonAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/JobManagerBase.cs:line 55    at Miningcore.Blockchain.JobManagerBase1.StartAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/JobManagerBase.cs:line 108
at Miningcore.Blockchain.Ethereum.EthereumPool.SetupJobManager(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/Ethereum/EthereumPool.cs:line 353
at Miningcore.Mining.PoolBase.RunAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Mining/PoolBase.cs:line 371
at Miningcore.Program.<>c__DisplayClass17_0.<b__0>d.MoveNext() in /home/dev/miningcore/src/Miningcore/Program.cs:line 379
--- End of stack trace from previous location ---
at Miningcore.Program.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Program.cs:line 354
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
[2022-01-06 13:10:45.7904] [F] [Host] The HostOptions.BackgroundServiceExceptionBehavior is configured to StopHost. A BackgroundService has thrown an unhandled exception, and the IHost instance is stopping. To avoid this behavior, configure this to Ignore; however the BackgroundService will not be restarted. System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Miningcore.Blockchain.JobManagerBase1.StartDaemonAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/JobManagerBase.cs:line 55    at Miningcore.Blockchain.JobManagerBase1.StartAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/JobManagerBase.cs:line 108
at Miningcore.Blockchain.Ethereum.EthereumPool.SetupJobManager(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/Ethereum/EthereumPool.cs:line 353
at Miningcore.Mining.PoolBase.RunAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Mining/PoolBase.cs:line 371
at Miningcore.Program.<>c__DisplayClass17_0.<b__0>d.MoveNext() in /home/dev/miningcore/src/Miningcore/Program.cs:line 379
--- End of stack trace from previous location ---
at Miningcore.Program.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Program.cs:line 354
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)    at Miningcore.Blockchain.JobManagerBase1.StartDaemonAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/JobManagerBase.cs:line 55    at Miningcore.Blockchain.JobManagerBase1.StartAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/JobManagerBase.cs:line 108
at Miningcore.Blockchain.Ethereum.EthereumPool.SetupJobManager(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Blockchain/Ethereum/EthereumPool.cs:line 353
at Miningcore.Mining.PoolBase.RunAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Mining/PoolBase.cs:line 371
at Miningcore.Program.<>c__DisplayClass17_0.<b__0>d.MoveNext() in /home/dev/miningcore/src/Miningcore/Program.cs:line 379
--- End of stack trace from previous location ---
at Miningcore.Program.ExecuteAsync(CancellationToken ct) in /home/dev/miningcore/src/Miningcore/Program.cs:line 354
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
[2022-01-06 13:10:45.7904] [E] [Host] BackgroundService failed System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)    at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
[2022-01-06 13:10:45.7904] [F] [Host] The HostOptions.BackgroundServiceExceptionBehavior is configured to StopHost. A BackgroundService has thrown an unhandled exception, and the IHost instance is stopping. To avoid this behavior, configure this to Ignore; however the BackgroundService will not be restarted. System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)    at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
[2022-01-06 13:10:45.7904] [E] [Host] BackgroundService failed System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)    at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)
[2022-01-06 13:10:45.7904] [F] [Host] The HostOptions.BackgroundServiceExceptionBehavior is configured to StopHost. A BackgroundService has thrown an unhandled exception, and the IHost instance is stopping. To avoid this behavior, configure this to Ignore; however the BackgroundService will not be restarted. System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)    at Microsoft.Extensions.Hosting.Internal.Host.TryExecuteBackgroundServiceAsync(BackgroundService backgroundService)


Read columns with correct data types in datasets module

Closes https://github.com/CDCgov/multisignal-epi-inference/issues/150

I can confirm that the tutorial using the dataset reads the columns as dates.


Fix tiledb.cloud.udf.update_generic_udf

Fixes AttributeError: 'UdfApi' object has no attribute 'update_registered_udf'

@Shelnutt2 @antalakas I'm not sure what to make of the CI failures here, the build history is hit-or-miss: https://dev.azure.com/TileDB-Inc/CI/_build?definitionId=13
Probably won't get back to these PRs for a few days.


CSS sourcemaps have strange repeated paths depending on loaders

When chaining the autoprefixer-loader and sass-loader I'm seeing strange paths in my resulting sourcemap. Removing the autoprefixer-loader from my config seems to fix the problem, so I'm not sure if this is an issue with the css-loader or autoprefixer-loader.
It seems really similar to this fix: https://github.com/webpack/css-loader/pull/154
Example:
webpack:///./src/containers/App/src/src/containers/App/App.scss
This makes it hard to map all of the source files at once in Chrome's dev tools (for saving back to disk).
I'm using a webpack setup like the react-redux-universal-hot-example boilerplate, where I've also noted the problem:
https://github.com/erikras/react-redux-universal-hot-example/issues/572
Any ideas?

I regards to the change you referenced, you would end up with the same path before and after the change.
If this is still an issue on v0.26.1 (i'm guessing not) please open a new issue and reference this  one.


Fix e2e tests on k8s environment

This PR fixes e2e tests on k8s enviroment
DiscoverSriov() uses IsSupportedDevice() function from sriovv1
package which relies on sriovv1.NicIdMap.
After recent changes, NicIdMap is not a static map anymore.
Need to update NicIdMap configmap with InitNicIdMap() function
call before usage.
Modify GetNodeSecureBootState to accept namespace argument and path sriov-network-operator
namespace to it. This required to keep all things in a single namespace during e2e.
FIX GetNodeSecureBootState function to handle
"/host/sys/kernel/security/lockdown" file absence correctly.
This path will be unavailable if kernel is compiled without lockdown
feature.

@SchSeba  @pliurh PTAL, this change related to secure boot env fix and to changes for using ConfigMap for supported NICs


Any php artisan returns null

Laravel version: 5.5.
PHP version: 7.1.
OS: Win 10.
Issue: any artisan commands return null. As there is no log connected with artisan commands in laravel.log, I'm wondering how can I debug that? And, of course, how can I make artisan work?
I've tried to restart local web server, reopen console, reboot machine. Didn't helped.

Magically worked again.


Token Settings not set correctly

name visibility
token disposition
resources and display bars

Refactored and fixed for 3.0.1; but not very elegant.


[BUG] No keep alive ping after reconnect

Describe the bug
Client no longer sends keep alive packets after reconnect from disconnect on exceeded keepalive.
I got it working after setting _pingSent to false in _onConnack function:
void MqttClient::_onConnack() {
  if (_parser.getPacket().variableHeader.fixed.connackVarHeader.returnCode == 0x00) {
+    _pingSent = false;
    _state = State::connected;
    if (_parser.getPacket().variableHeader.fixed.connackVarHeader.sessionPresent == 0) {
      _clearQueue(true);
    }
...

https://github.com/bertmelis/espMqttClient/commit/ced75c0eb7cd7911b55c31a34f4b92a120730b2d


Log Analytics AzureActivity Table

When sending Azure Activity to Log Analytics previously (around 6 months ago) various colums according to the schema were popualted.
However some columns are no longer populated such as Category, OperationName.
According to Microsoft support this is expected however Microsoft documentation and example queries provided for AzureSentinel on github still include these columns in the queries. Please clarify if these columns should still be populated and if not update the documentation on this page as well several others including the Log Analytics schema reference. Also if this is by design please can you point me to the right location telling me the schema has been changed.
e.g. query on page:
AzureActivity
| summarize count() by Category
No Category column but I could use CategoryValue. However for OperationName using OperationValue is more of a jump due to the different values that are used (Create or Update Virtual Machine vs a \write entry). Much harder for non technical people to read a report without a translation of the values mean.

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

ID: f3675fdf-bb64-d92d-3d3c-b4b3aa0dd0d2
Version Independent ID: ab6754aa-a227-3c9c-6e99-d89ddfa25c78
Content: Azure Activity log - Azure Monitor
Content Source: articles/azure-monitor/platform/activity-log.md
Service: azure-monitor
Sub-service: logs
GitHub Login: @bwren
Microsoft Alias: bwren

Hello @AndrewSmithRS , thanks for the question! We are taking a look into this and will get back to you soon.

@AndrewSmithRS Thanks for your comment. I have updated the queries as per your feedback. The document contains the information of the Data structure changes as shown below (Reference Link).

To know table schemas, kindly refer this documentation. As there are no further changes, we will close the issue for now. If there are further questions , please revert and we will be glad to assist you.

Thank you. There is a lot of Microsoft documentation that still references the deprecated columns that have been removed. Also the Category column is also no longer available which was referenced on this page but I see this was updated today.
On the schema document for AzureActivity (https://docs.microsoft.com/en-us/azure/azure-monitor/reference/tables/azureactivity) it would make sense to mention the columns being deprecated to avoid confusion.


Add files via upload

@dev-dogacanOzdemir I am sorry, the domain kku.edu.tr is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


Official Releases?

Hi,
The releases tab shows 1.3.0 as the latest release. If I build from source it shows 1.3.31. Are these intermediate versions going to be released or is 1.3.0 the only one I should consider suitable for use in production?
Thanks

bump

Please use the v1.3.2


Support validation of extra fields

Feature Request
It would be nice if validators could be called for extra fields when Config.extra is allow:
class Foo(BaseModel):
    class Config:
        extra = "allow"

    a: int

    @validator("*", extra=True)  # Possible API, could be opt-out instead but that might be a breaking change
    def extra_validator(...):
        ...

Foo(a=1, b={}) # extra_validator gets called for both a and b

My specific use case for this is that I want to transform extra dict fields to objects:
class Foo(BaseModel):
    class Config:
        extra = "allow"

    @validator("*", extra=True)
    def convert_extra(cls, value, field): # Not sure how field would work, but the name needs to be passed somehow
        return Foo.parse_obj(value)

Agree it would be useful.
Perhaps @validator('__extra__') would be clearer?
Happy to accept a PR.

I'm in favour of @validator("__extra__"), but I would have expected @validator("*") also applies to extra fields. Do you agree @samuelcolvin?

That would need to wait for v2, but yes.

I ran into this use case today as well. I'm parsing a JSON response that contains a dict with keys & values that are defined by user-input and they can therefore potentially change for each request made.
Would using @root_validator(pre=True) be a reasonable workaround though? It seems like it would cover the use case.

Yes, root validators would be a good worksaround for now.

Coming back into this. An idea could be to also  use the __extra__ inside Model class definition :
class Numbers(BaseModel):
    x: float = 0.0
    y: float = 0.0
    __extra__:  float

As per discussion above @root_validator/@model_validator works well for this. We are considering adding an option for this specifically, but in the interest of keeping the API simple have any of you found a situation in which using a root/model validator did not do the job?

I'm going to close this now because the issue is stale and Adrian provided a suggested solution, but feel free to open a new issue if desired and/or request that we reopen this issue.

Did this make it to v2?


Revert 308 master

adding one more pull request

@Zeyad-Hesham  thnx for contributing, try this year, and make sure you follow me and star this repo for updates about special swags I will be giving.
Contribute in October for Hacktoberfest 2020


Java API

With the switch to rpclib, it's no longer straightforward to generate a Java API for interacting with CARLA by compiling the protocol buffer definitions. It would be helpful if there were a Java API in the upcoming 1.0 release.

I agree it would be a very nice feature to have :)


documentation on how to add new datasets

Describe the proposed change
documentation on how to add new datasets would benefit the amount of work you need to do Sean.

The link doesnt yet appear on ir-datasets.com

It's on the master version of the documentation for now; it'll get pushed out with the next release (which should be soon)


Adding abililty to hide total duration from report

It looks like the total duration that the report shows when the test cases are running in parallel (using cucable for example), is not the total time taken to run the since cluecumber does not know which scenarios ran in parallel and is actually showing the sum of the total time taken by each scenario.
Refer :
https://github.com/trivago/cluecumber-report-plugin/issues/114
It would be great then if there is an option to configure the plugin to not show the total time in the report so that it is not misleading if we are sending a mail with the report attached or something.
An option to hide the time taken would be much appreciated. Thank You.

I will think about your suggestion. Until then it might also be possible to hide the time by using a custon css.

Yes it will be great if we can do that. I will look into how I can hide the time using css meanwhile, I am not very versed with it.
Thank You!

I introduced some data attributes in the html code. So in version 1.7.0, you will be able to add a custom css file that needs to contain:
[data-cluecumber-item="total-scenario-duration"] {
    display: none;
}

in order to hide the total time.

Ready to release for 1.7.0


perf: add ont temp flags

Description

Related Issue

Checklist

[x] I've formatted the PR title in accordance with the structure of the conventional commit messages.
[x] I've updated the code style using pre-commit if needed.
[x] I've updated or supplemented the documentation as needed.
[ ] I've read the CODE_OF_CONDUCT.md document.
[ ] I've read the CONTRIBUTING.md guide.

In general, we should start to add a description to the PRs, even it is just a oneliner. Else, in a couple of months time, we will not remember, why we request these specific changes in PR.


This line breaks syntax coloring when editing commit messages

https://github.com/nvim-lua/kickstart.nvim/blob/4a37a0a9b1d53fd355637256ac975c619226fb6d/init.lua#L296
With this line, when I change one of my repos and then issue a git commit -v command (with $EDITOR set to neovim), the commit message itself has correct syntax coloring, but the diffs shown below the commit message show up as plain gray. Commenting the line out fixes the symptom.

Not reproduced on my end.
Are you using the latest master branch? Or did you add a custom configuration?

I just recloned from git@github.com:nvim-lua/kickstart.nvim.git into a fresh ~/.config/nvim and tried a git commit -v --amend in one of my git repos; the colors for the commit changes are not there (the commit message itself IS correctly highlighted, though).
I then commented init.lua:296 to look like this, and the commit changes are now properly highlited:
diff --git a/init.lua b/init.lua
index 7289032..04aa472 100644
--- a/init.lua
+++ b/init.lua
@@ -293,7 +293,7 @@ require('nvim-treesitter.configs').setup {
   -- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!)
   auto_install = false,

-  highlight = { enable = true },
+  -- highlight = { enable = true },
   indent = { enable = true, disable = { 'python' } },
   incremental_selection = {
     enable = true,

In case it helps: this is with NVIM v0.8.3 running on zsh 5.9, on arm-apple-darwin22.2.0.

I created a brand new VPS and tried to reproduce the bug, but still couldn't reproduce it.
this is with NVIM v0.8.3 running on bash 5.1.16, on archlinux.

Perhaps you can try cleaning the runtime path cache:
rm -rf ~/.cache/nvim
rm -rf ~/.local/share/nvim
rm -rf ~/.local/state/nvim

:warning: Please note that the above actions will delete cache files, installed plugins by lazy.nvim, and installed language server by mason. Please use with caution.

Ok, some weird interactions here. I cleaned up those three directories, and let neovim rebuild everything. One of the things it rebuilds are the TreeSitter parsers living in ~/.local/share/nvim/lazy/nvim-treesitter/parser/. The weird things are:

Sometimes these parsers are built for x86_64, although I am running under arm. I could not determine exactly how or when this happens.
If the gitcommit.so parser does not exist in this directory, and I try to amend a commit, syntax highlighting works 100% fine.
If the gitcommit.so parser exists (and is the correct arm type of shared object), and I try to amend a commit, syntax highlighting stops working, and I only see the colors for the commit message.

I know why now.
gitcommit can only parse git commit subject, message and generated, If you want to highlight the diff, you need to execute :TSInstall diff to install diff in tree-sitter. see source

Hey @kang8 thanks, that at least explains part of the weirdness. So I added diff to the list of TS parsers, and now at least the diff lines are highlighted (diff, index, lines starting with @@); but the actual changed lines of code (and the surounding code context) are not. This is C code, for which I do have the TS parser installed, and when I open one of these C source files they do highlight properly.
I also installed the git_rebase parser, as mentioned in the code you pointed to, but that made no difference.
If I remove the gitcommit TS parser and immediately after I do a git commit -v --amend, two things happen:

The diff after the commit message comes up correctly highlighted, in full.
nvim notices I am missing the gitcommit parser and installs it for me, but it incorrectly compiles it for x86_64 instead of arm. If I then remove the compiled parser and run nvim again (no args), the missing parser is installed again, this time compiled for the correct arm architecture.

No activity in 1 month. Resolving. Please re-open if you're still having issues and are sure this configuration is responsible.

Update re:

If you want to highlight the diff, you need to execute :TSInstall diff to install diff in tree-sitter.

This is now handled in kickstart.nvim:

https://github.com/nvim-lua/kickstart.nvim/pull/908


When using admin-bro and admin-bro-sequelize, type json columns are parsed incorrectly.

Describe the bug
When using admin-bro and admin-bro-sequelize, type json columns are parsed incorrectly.
The data does not show up in the row, It should be {   "test": "test" }.
When inspecting the network request and seeing params this can be found data.test: "test" which should be this: data: {"test":"test"}.
This is not the case for all the json columns, some of them appear normally.
Installed libraries and their versions

<EMAIL_ADDRESS>(also tested on<EMAIL_ADDRESS><EMAIL_ADDRESS>

we are working on jsonb fields right now. It is done in the latest beat (v3.3-beta.17) but we are improving it here and there and will push an update In a matter of hours.
In the new beta there is a way of defining nested schemas right in AdmiBroOptions:
properties: {
  myRootProperty: { type: 'mixed' },
  'myRootProperty.nested1': {type: string},
  'myRootProperty.nested2': {type: string},
}

or even:
properties: {
  myRootProperty: { type: 'mixed', isArray: true},
  'myRootProperty.nested1': {type: string},
  'myRootProperty.nested2': {type: string},
}

I think that the final release will be done next week - but no promises.
Untill then we try to keep https://beta.adminbro.com/docs.html updated

@wojtek-krysiak thanks 🎉


Update inputs/outputs doc

Reverts pulumi/pulumi-hugo#3002

This is a great improvement! I think the "Outputs" section could be even a bit more accessible for some programmers by rearranging it a bit:
I would consider moving accessing plain values from outputs (the last par and bullet point list) up and the technical details about dependency tracking (staring from "Outputs are als how Pulumi tracks...") down. From my insight, often the first time people think about what Output is and looking it up is when they notice they cannot just access the plain value of properties on resources.
You may consider removing the "monad" reference. I feel like the word "monad" makes many (not only novice) developers feel uncomfortable as they do not have a firm understanding of what it means. It also does not add much here because the hint towards promises tells people that know about monads that Output is most likely monad-like, too. Some programmers may not read on in the section after bumping into the monad reference.
"Promises" is well known in JS/TS/Web stetting, developers in other environments may not know it well or would have an easier time with "Future". Perhaps putting the async fact first and then appending "like Futures or Promises" may be a solution.


Bug: Popup always visible when using lovelace state switch

I am using this https://github.com/thomasloven/lovelace-state-switch integration to easily seperate mobile and desktop views using a mediaquery as state switch. But if I use this configuration and use your popup example the popup is always visible. I am using the latest version (beta 7). When I press the button the popup moves only up and down. It works great if I do not use the state-switch card.
panel: true
title: ""
icon: mdi:tablet-dashboard
path: overzicht
cards:
  - type: custom:state-switch
    entity: mediaquery
    states:
      "(max-width: 600px)": !include ./mobile/overzicht.yaml
      "all": !include ./desktop/overzicht.yaml

- type: button
    tap_action:
      action: navigate
      navigation_path: "#kitchen"
    name: Kitchen
    icon: mdi:fridge
  - type: vertical-stack
    cards:
      - type: custom:bubble-card
        card_type: pop-up
        hash: "#kitchen"
        name: Kitchen
        icon: mdi:fridge
        margin_top_mobile: 0px
      - !include ../cards/chips/voordeur.yaml
      - !include ../cards/chips/achterdeur.yaml
      - !include ../cards/chips/garagedeur.yaml
      - !include ../cards/chips/schuifpui.yaml

Hi and thanks for the feedback, I've never tried lovelace state switch but this issue seems to be related to this component (maybe I'm wrong), have you considered opening an issue on its page?


Status bar color stays in debug mode

Start debugging
See status bar color change
Stop debugging
Status bar color does not change

Not sure if theming or debug state issue, I'll start with you @isidorn 😁

Fixed in latest, thanks for reporting


Extractors\PhpCode does not extract d__() and other domain-related gettext functions

Extractors\PhpCode does not appear to be able to extract d__() and other domain-related gettext functions.

Yes, you're right. This is something that I have in the roadmap but I couldn't find any time yet to implement.
I will add this to 3.6 version

Thanks!

First off, thanks for the update.
Am I doing this right? I wish to load two domains and then use Extractors\PhpCode to extract code from domain-related gettext function
require_once 'CldrToGettext/src/autoloader.php';
require_once 'Gettext/src/autoloader.php';

use Gettext\GettextTranslator;

$t = new GettextTranslator();
$t->setLanguage($lang);
$t->loadDomain('common', 'path/to/common/domain/Locale');
$t->loadDomain('local', 'path/to/local/domain/Locale', false);

$t->register();

$extraction = Gettext\Extractors\PhpCode::fromFile('path/file.php');

When I run Extractors\PhpCode, __(), __e() get extracted, but d__('local', 'original') or d__e('local', 'original') are still missed.
Seems like the class is failing here. Does Extractors\PhpCode not support multiple domains?
I even tried loading just one domain and it still does not work. Is there something else I'm missing?

Yes, if I comment out && $domain === $translations->getDomain() from here, it works. Is there a reason you're checking the domain?

The Translations instance contains only one domain. So you have to define which domain you want to get before extract the code. Example:
use Gettext\Translations;

//Create a empty Translations
$translations = new Translations();

//Set the domain
$translations->setDomain('local');

//Extract the entries of this domain:
$translations->addFromPhpCodeFile('path/file.php');

//Save the file
$translations->toMoFile('path/to/local/domain/Locale/en/LC_MESSAGES/messages.mo');

The reason of $domain === $translations->getDomain() is to do not mix entries of different domains.

Thanks! Got it working!


Fix some antipattern and bug-risk issues

This PR makes solves some antipattern, style and bug risk issues by:

Using literal syntax to create the data structure
Removing empty module
Removing unnecessary generator
Fix dangerous default argument

Some of the changes are made with the help of DeepSource auto-fix tool.
Find the other issues found here - https://deepsource.io/gh/pnijhara/django-fsm/issues/?category=recommended
This PR also adds .deepsource.toml configuration file to run DeepSource analysis on the repo with. Upon enabling DeepSource, the analysis will run on every PR and commit to detect 560+ types of issues in the changes — including bug risks, anti-patterns, security vulnerabilities, etc.
To enable DeepSource analysis after merging this PR, please follow these steps:

Signup on DeepSource with your GitHub account and grant access to this repo.
Activate analysis on this repo here.

You can also look at the docs for more details. Do let me know if I can be of any help!

useless

quite an unprofessional reply!
Cheers!


kubectl get po error: error loading config file "/Users/$user/.kube/config": read /Users/$user/.kube/config: is a directory

Describe the bug: (a clear and concise description of what the bug is)
To Reproduce
Steps to reproduce the behavior:

docker run -e ENV_DIR=$PWD -v $PWD:$PWD otomi/core:latest bin/bootstrap.sh
2. kubectl get po
kubectl get po error: error loading config file "/Users/sebastiaanverbeek/.kube/config": read /Users/sebastiaanverbeek/.kube/config: is a directory

Expected behavior:
It seems some files are changed into directories. After a fresh install of the Otomi platform I expect to see "connection refused" because I haven't added any Kubernetes clusters yet to my kubeconfig.
Screenshots: (if applicable, add screenshots to help explain your problem)
Cluster(s):

Cloud: -
Cluster: -

Versions: (seen in console's /settings)

Core Version 0.11.45
Console Version: -
API version: -

Desktop: (if relevant)

OS: MacOS
Browser -
Version: 10.14.6

Smartphone: (if relevant)

Device: -
OS: -
Browser -
Version: -

Additional context: (add any other context about the problem here)

Can this be fixed by setting the paths correctly? (Mapping the folder instead of the file in it.) If so then please go ahead

@svatwork ?

I can't reproduce it, let's close it for now.


Issue #29 patch improvement

@cybergrind I saw that @decaz in his PR pointed simillar issue with Connection class, but I have not made patch before you merged #31 .
Here is patch with tests that improves connection closing, also I removed some unused code.

@bfoder thank you!


Implement as an Xcode 8 extension (with the official API)

That will be the correct (and only) way to extend Xcode going forward.

I've created simple tutorial for those who despred needs duplicate & delete current line https://gist.github.com/Dudi00/6a8222ebd29c1875c9f8a2fde1e67d3b
I can't wait for xcode plugin. Without it Xcode is useless as text editor.

We'll have to investigate what XcodeBoost features would be possible with the new Xcode Extensions API (I suppose not that much).
We might be able to migrate a few advanced features almost as-is because XcodeBoost is based on regexes and not SourceKit or similar AST knowledge. The thing is, that's something I wanted to move away from, especially considering the availability of SourceKit (real AST knowledge, not based on "dumb" text parsing).
Xcode Extensions in its current state seems like quite a restrictive environment to re-create existing XcodeBoost features. I'm also more inclined to implement Swift-related features at this point.
I might take a wait-and-see approach until the extensions API evolves, unless I can get some help figuring this out; I don't have much time to dedicate to this project lately.

By the way, thanks for the gist, @Dudi00! That will come in handy for myself as well.


Open Database Object does not filter out non active schemas when focusd on Sql Editor

In Dbeaver 4.0.0 when using the "Open Database Object" Dialog when focus is on the Sql Editor I get a list of tables not restricted to the active schema only:

when the focus is on the Database Navigator it works fine:

Looks like it works as expected. By default "Go To Object" dialog searches all tables in all schemas.
If you need to search in particular schema you can select it in navigator (as you did).
Limiting search by current search_path will make global search impossible.


Add xDai and Omnibridge validator flow graphic

What
Add Bridge Validator Flow graphics to bridges documentation

Both graphics were uploaded under the title "Bridge Validator Flow" in Onmibridge and xDAI  bridges documentation pages.

Type of change

Documentation update

@alebanzas @plato-gno  Please take a look and merge if its ok. Thanks.

@alebanzas Sure! A white background has been added to both images.
cc. @marianoclaveria @plato-gno


Run JS or Python VM on fullnode

We should let other platforms to run "smart contracts" (I always don't like this term tbh) using already wide-adopted languages like JS and Python. There are a few Go specific VM for the both languages. As long as Desmos stick to the limited available features for social network, the overhead of running those scripts should not be too heavy. If really too heavy, we can introduce off-loading some tasks to GPU.

Closed in favor of Juno.


authMiddleware builds redirect_url using localhost:3000 when NextJS runs inside Docker container

[x] Review the documentation: https://clerk.com/docs
[x] Search for existing issues: https://github.com/clerkinc/javascript/issues
[x] Go through package changelog files.
[ ] Provide the Frontend API key from your application dashboard.

Package + Version

[x] @clerk/nextjs

Dependencies + versions
{
  "dependencies": {
    "@clerk/nextjs": "^4.20.0",
    "next": "13.4.4",
    "react": "18.2.0"
  }
}

Description
Steps to reproduce:

Setup repo based on NextJS with Docker example.
Install @clerk/nextjs and setup authMiddleware according to docs.
Build the docker image: docker build -t nextjs-clerk .
Run the image on a different port than 3000: docker run --rm -p 8000:3000 --env-file ./.env.local nextjs-clerk.
Open a page protected by authMiddleware.

Result:

Sign in url equals /sign-in?redirect_url=http%3A%2F%2Flocalhost%3A3000

Expected result:

Sing in url equals /sign-in?redirect_url=http%3A%2F%2Flocalhost%3A8000

Possible solution:

allow redirect_url domain to be configured via env variables

Hello @krzysztof-pyrzyk-ah 👋
Thank you for opening this issue. I have investigated it and it seems that the req.nextUrl or the req.url in the NextJS application is not populated correctly in this case.
I have created this Post in the NextJS discord channel to request some help in order to pinpoint the issue.
I will investigate it more and let you know about possible workarounds or if there is a fix.

Hey guys,
Do you think there is a way to handle a working redirection in a specific case using: return NextResponse.redirect('/admin') ? It will be a workaround to avoid exiting the application to a localhost url.
Can you share an afterAuth snippet that just avoid to exit the app ?
Thx :pray: !

@Thisisjuke One working working workaround, when the cache is cleared, set the sign-path that is defined by clerk.
...
afterAuth(auth, req, evt) {
    // handle users who aren't authenticated
    if (!auth.userId && !auth.isPublicRoute) {
      return NextResponse.redirect("https://accounts.<domain name>/sign-in");
    }
  }
 ...

After a successful login, the it will redirect to the path specified in the clerk dashboard, since the https://accounts.//sign-in is a separate website.

@vbrantner thx for the workaround ! I have a good enough solution atm that can be deployed in pre-production without critical problems.
I now have this snippet in my middleware:
    afterAuth(auth, req, evt) {
       if (!auth.userId && !auth.isPublicRoute) {
           return process.env.NODE_ENV === 'production' ? NextResponse.redirect('https://accounts.<domain>/sign-in') : redirectToSignIn({ returnBackUrl: req.url })
       }
   },

I am waiting for a better way to handle it but I am not stuck anymore ! :v:

I'm just been experiencing the same issue when using custom pages for sign-in and sign-up rather than using Clerk hosted pages.
I've got a Next.js app hosted on Railway. In the hosted container I ended up with failing tRPC POST requests (GET seems to work okay though 🤷♂) which were trying to redirect to http://railway:<PORT>/auth/sign-in.
I was configuring the URLs with environment variables. Previously I had them set as follows, which works locally and on Vercel:
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/auth/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/auth/sign-up

Thanks to the inspiration above, to fix the issue for me I just updated those environment variables to be the fully qualified URL and it works fine now! 🎉
NEXT_PUBLIC_CLERK_SIGN_IN_URL=https://my.domain.com/auth/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=https://my.domain.com/auth/sign-up

Thx @mbrookson !
So you didn't change anything inside the middleware.ts ?
I may change to your solution and let my CI/CD do the the trick with env variables.
Can you please share your afterAuth if you have one ? 🙇♂

Nope, no changes to middleware.ts required! I don't have an afterAuth function in my middleware 🙂

@mbrookson thank you for the comment but this is not the same issue as the one described.
The original issue is related to the redirect_url query param being populated by the authMiddleware having hostname localhost:3000( eg https://domain/auth/sign-in?redirect_url=http%3A%2F%2Flocalhost%3A3000%2Fprotected_page.
The issue you are describing is related to the hostname of the redirect itself (eg http://railway:<PORT>/auth/sign-in).
I will try to investigate your case separately.

@dimkl  Ah yep you're right, my bad. Similar but different issue!

Yes, it's not directly linked but the issue is that right now we don't have a way to display a correct login form in production in a dockerized application:

Using the Clerk documentation example: redirect_url is wrong.
Using the afterAuth + redirectToSignIn: we are login from account.<domain>.com and not directly from inside the application page & layout.
Using NEXT_PUBLIC_CLERK_SIGN_IN_URL and NEXT_PUBLIC_CLERK_SIGN_UP_URL: side effects on my side with script login or things relative to the JS build (TypeError: Missing parameter name at 5 from vendors_a74c96_4.47.2.js:2 ). The SignIn form is not displayed.

I understood from your previous message that the original issue is coming from NextJS:

req.nextUrl or the req.url in the NextJS application is not populated correctly in this case.

Is there a quick fix to have a working production Sign-in form inside self-hosted docker (not Vercel) ? With both correct redirect_url (or cheated redirection) that doesn't exit the application (localhost:3000) & without redirecting to account.<domain>.com ?
Thx in advance :pray:

Hello everyone :)
I wanted to let you know that we're still iterating on possible solutions for this issue. Unfortunately, this is a long-standing "issue" and it's highly unlikely that the NextJS team is going to provide a solution from their end soon.
We have a potential experimental solution that we plan to release once testing is done behind an ENV flag for now. If you want to try the solution, you can follow these steps:

Install the version containing the workaround: npm i<EMAIL_ADDRESS>Add the CLERK_USE_X_FWD_HEADERS=true in your ENV (.env, .env.local, .env.prod depending on the service you use and your setup)
Redeploy the app and test

This version also adds an experimental_clerkUrl prop on the req object which is a clone of req.nextUrl with the correct URL set:

It'd be great if you could give it a try and let us know whether this worked or not for you :)
PS: This should work for all platforms that host Nextjs apps behind a proxy/ inside a container, like Netlify, Fly.io, AWS, Railway, dockerized containers etc but we haven't been able to test all of them yet.
PS2: More context about the Nextjs issue:

https://github.com/vercel/next.js/issues/37536
https://github.com/vercel/next.js/issues/38724

Hello everyone :) I wanted to let you know that we're still iterating on possible solutions for this issue. Unfortunately, this is a long-standing "issue" and it's highly unlikely that the NextJS team is going to provide a solution from their end soon.
We have a potential experimental solution that we plan to release once testing is done behind an ENV flag for now. If you want to try the solution, you can follow these steps:

Install the version containing the workaround: npm i<EMAIL_ADDRESS>Add the CLERK_USE_X_FWD_HEADERS=true in your ENV (.env, .env.local, .env.prod depending on the service you use and your setup)
Redeploy the app and test

This version also adds an experimental_clerkUrl prop on the req object which is a clone of req.nextUrl with the correct URL set:
It'd be great if you could give it a try and let us know whether this worked or not for you.
PS: This should work for all platforms that host Nextjs apps behind a proxy/ inside a container, like Netlify, Fly.io, AWS, Railway, dockerized containers etc but we haven't been able to test all of them yet.
PS2: More context about the Nextjs issue:

Hostname of request object in middleware is always 'localhost' vercel/next.js#37536
Middleware behind nginx returning wrong url/origin/host vercel/next.js#38724

Sadly but setup:
Dokku + NextJS 13
does NOT work :/
More details:
still recognises as http://localhost:3000
buuuut those headers are provided by nginx:
url: 'http://localhost:3000/app',
headers:
x-forwarded-for: '<IP_ADDRESS>,::ffff:<IP_ADDRESS>',
x-forwarded-host: 'this-is-my-real-domain.example.com',
x-forwarded-port: '80,80',
x-forwarded-proto: 'http,http',
host: 'this-is-my-real-domain.example.com',

@emmems could you provide more information?

Have you used npm i<EMAIL_ADDRESS>?
Did you set CLERK_USE_X_FWD_HEADERS="true" environment variable ?
Do you use any custom beforeAuth / afterAuth ?
Any other related information ?

I will try to setup dokku and check this out.

@krzysztof-pyrzyk-ah i have tested the<EMAIL_ADDRESS>version with CLERK_USE_X_FWD_HEADERS="true" environment variable in testing repo and it seems that the issue is fixed.
Could you verify that.

@emmems The x-forwarded-host value you shared seems correct so the fix above should work for your setup. Can you please provide a sample repo we can take a look at?

So my lovely highly responsive friends :) I have fixed that by adding those lines in middleware.ts:
afterAuth(auth, req, evt) {
    if (
      !auth.userId &&
      !auth.isPublicRoute &&
      process.env.NODE_ENV == "production"
    ) {
      return NextResponse.redirect(
        `https://{login_domain}/sign-in?redirect_url=${encodeURIComponent(
          "https://{dashboard_domain}/welcome"
        )}`
      );
    }
  },

I don't have any example repo for this at least for now :/
In case of CLERK_USE_X_FWD_HEADERS="true" this was added but it wasn't working sadly :/
If I will have more time then I will prepare some examples but I'm not promising anything.

Hi guys, thx for all information above!
@nikosdouvlis coming with feedback about CLERK_USE_X_FWD_HEADERS=true.
I am using the version:
"@clerk/nextjs": "^4.21.10",

My provider is: https://www.scaleway.com/en/ : we have a private VM with a docker compose running on it.
It's not working properly but it's doing better ! Right now, my url looks like:
https://<domain-name>.fr:80/login-in?redirect_url=https%3A%2F%2F<domain-name>.fr%3A80%2Fadmin

As you can see, there is a trailing :80 in my url. It's the right port but right now I don't need it in production. It causes this "SSL" error for the user :

If I log it like this:
beforeAuth: (req) => {
    console.log(req.experimental_clerkUrl)
},

I have the following object:
{
  href: 'https://<domain-name>.fr:80/',
  origin: 'https://<domain-name>.fr:80',
  protocol: 'https:',
  username: '',
  password: '',
  host: '<domain-name>.fr:80',
  hostname: '<domain-name>.fr',
  port: '80',
  pathname: '/',
  search: '',
  searchParams: <ref *1> URLSearchParams {
  [Symbol(query)]: [],
  [Symbol(context)]: URL {
  [Symbol(context)]: URLContext {
  href: 'https://<domain-name>.fr:80/',
  origin: 'https://<domain-name>.fr:80',
  protocol: 'https:',
  hostname: '<domain-name>.fr',
  pathname: '/',
  search: '',
  username: '',
  password: '',
  port: '80',
  hash: ''
},

Has this been seen or dealt with ?

@Thisisjuke sorry for the inconvenience we are still working on some edge cases. The described behavior seems to be the same as this reported issue: https://github.com/clerkinc/javascript/issues/1413
I have already a PR with a fix but it needs to be tested across multiple platforms. We will ping you back about any progress.

I've tested the solution mentionet above, with<EMAIL_ADDRESS>and the experimental_clerkUrl and it seems to be working just fine inside Docker containers.
Thank you @nikosdouvlis and @dimkl 🙇♂

Fix released in version<EMAIL_ADDRESS>PS: We encourage the use CLERK_TRUST_HOST: "true" environment variable instead of CLERK_USE_X_FWD_HEADERS: "true" since it makes more sense as to what that env does. The CLERK_USE_X_FWD_HEADERS will be deprecated in the future.

@dimkl, we are now using<EMAIL_ADDRESS>in both the development and production environments, and everything is working well ! There is no trailing port :80 within our Scaleway container app.
I will reach out again if we encounter any misbehaviors or other issues.
Thank you for your feedback and availability !🙏

We have enabled by default the fix in version<EMAIL_ADDRESS>so there is no need to set any environment variable anymore.

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.


How to upgrade from 4 to 4.1?

What is the process to upgrade the template from 4 to 4.1 and maintain existing assets (including CloudFront URLs)? The docs only show a new installation. Are there docs on performing an upgrade?

Hi @joebernard,
No, there are no docs because we've added a couple of resources to the template that make updating it fail (as reported on #172).
I've listed the alternatives on this comment: https://github.com/awslabs/serverless-image-handler/issues/172#issuecomment-566583834


Discrepancy with arch in hardware requirements and plugin options

Currently, arch is special, it is part of the plugin options but it also part of the hardware field.
This is currently confusing the users, as they insert arch into hardware requirements and TF breaks on it:
See for example this run from RH ranch:
http://artifacts.osci.redhat.com/testing-farm/124143cd-7bb9-4dc8-afa6-9486da98c485/
The current documentation:
https://tmt.readthedocs.io/en/stable/spec/plans.html (note the arch field in the provision plugin options)
https://tmt.readthedocs.io/en/stable/spec/hardware.html#arch (note the arch field under hardware)
As discussed with @happz we should resolve this discrepancy. We are thinking, that user wise, it would make most sense to keep the arch field only in hardware, what makes most sense for user interface, and leave the special handling of arch on the provision plugins.

Summary from the hacking session:

update the documentation to match the reality (arch currently not supported under hardware)
long term we would like to have arch under the hardware key to keep consistency

Covered by #2552.


Fix typo detected by github.com/client9/misspell

This pull request fixes the minor typos detected by https://github.com/client9/misspell

please build

Thanks!


Resource-based subscription – guidelines for expiration time set by API operator policy

Problem description
I have gotten an ask from our development team if CAMARA has specified a default max expiration time for subscriptions. Reading the API-design-guidelines I believe that is not the case.
Bringing this question to the Device Location and Device Status working groups the common thinking seems to be that it is up to the operator of the API to decide if such a default max expiration time should be in use or not. If such restrictions are implemented this could then be communicated back to the API invoker through the expiresAt attribute.
Today there are multiple ways of describing the expiresAt attribute and it is not explicitly stated that there might be a max value enforced by the operator.

API-design-guidelines.md  - “Date when the event subscription will expire. This attribute must not be present in the POST request as it is provided (optionally) by API server”
Notification Subscription Template - “Date when the event subscription will expire. Only provided when subscriptionExpireTime is indicated by API client or Telco Operator has specific policy about that.”

Expected action
For clarity I propose that the guidelines and the notification subscription templates are updated to

Clearly state that CAMARA allows an operator policy that limits the time of a resource-based subscription
Describe how the existence such a policy is conveyed to the API invoker, for instance through the expiresAt attribute (which then would benefit from an updated and more explicit description)

It makes sense to add that clarifications if current ones are not well understood. I don't think CAMARA should impose an upper limit globally but we may explicitly indicate that implementations should inform clients about any limit they may have.

Fully agree here with @jlurien that Camara should not try to impose an upper limit.

Agree that we should not impose a limit.
I can add a sentence to clarify this point in the guideline.
@rartych could you affect this one to me please.


Switch most tests to use background indexing instead of building the project

There are still a few tests left that explicitly check the before and after build state, which I didn’t modify.
rdar://128697501

@swift-ci Please test

@swift-ci Please test

@swift-ci Please test Windows

@swift-ci Please test Windows

@swift-ci Please test

@swift-ci Please test macOS


cleanup: use the prerelease feature instead of custom owlbot override

Much of the code in owlbot.py might be able to be removed by migrating to the new prerelease session available in the templates. https://github.com/googleapis/synthtool/pull/1455

Some modification might still be required to use the nightlies we need.

Closing. Looking to deprecate this library in the future.


Ray Casts need something opposite to exceptions.

For now RayCast Node and raycast API for Camera Node can only accept exceptions which they omit when they are doing collision check.
It would be greatly useful to have there something opposite for this behaviour as well.
For example you want ray cast to find specified object or group of object ignoring the rest of the world full of potential colliders.
For now only way I found to do it, is using get_tree().get_nodes_in_group() to find objects that I want to ignore. Or by creating global array of objects I want to ignore for ray cast, that will add themselves to this array when instance is created.

Collision layers and masks are planned to be ported from 2D to 3D for release 2.0. See #1759.
That should resolve the problem.

Right, I was about to reopen saying that raycasts don't support collision layers, but actually they do:

In Physics2DDirectSpaceState: Dictionary intersect_ray( Vector2 from, Vector2 to, Array exclude=Array(), int layer_mask=2147483647, int type_mask=15 )
In the Raycast2D node: void set_layer_mask( int mask ) and void set_type_mask( int mask )
So as @eska014 says the only missing part is support for collision layers in 3D raycasts.


Support for legacy type hinting

Current main will not run on python <3.8 due to the type hinting:
https://stackoverflow.com/questions/63460126/typeerror-type-object-is-not-subscriptable-in-a-function-signature
More technical read there:
https://stackoverflow.com/questions/39458193/using-list-tuple-etc-from-typing-vs-directly-referring-type-as-list-tuple-etc
This pull request aim at solving this issue but both Dict and List are marked as deprecated since 3.9
https://docs.python.org/3/library/typing.html

Does this code still work with 3.10 ?

@vmorillon thanks for your contribution !


Fixed #25605 -- Made GIS DB functions accept geometric expressions, not only values in all positions.

https://code.djangoproject.com/ticket/25605

buildbot, test on oracle.

buildbot, test on oracle.

Oracle failure seems to be unrelated.

I fixed this unrelated failure in separate PR #8185.

buildbot, test on oracle.


Image on dapp.test.tbtc.network is over 17MB - not web friendly

When visiting dapp.test.tbtc.network, the web browser downloads an image that is over 17MB:
https://dapp.test.tbtc.network/static/media/Flow.8441ae9a.png

An image of this filesize is not expected for the purposes of this app, which leads me to believe it's something that has been overlooked or yet to be addressed (which would be totally understandable as there are probably higher priority issues at the moment). Anyway, I submit this issue just in case it is something that has been missed or overlooked.
Although it does seem to load asynchronously and doesn't appear to affect the loading of the webapp, a smaller filesize may help the server cope better during times of heavy load / surge usage.

It's about to be nuked :) you can follow the visual rework here

Image removed in #264


Add Creative Commons as an organisation

Resource: https://creativecommons.org/about/

https://github.com/sustainers/academic-map/pull/110

@RichardLitt I made an adjustment to the PR


Add env example..add simple enum class

Codecov Report

Merging #13 (5e85ad1) into develop (bfbf328) will increase coverage by 0.06%.
The diff coverage is 62.50%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff             @@
##           develop      #13      +/-   ##
===========================================
+ Coverage    61.04%   61.11%   +0.06%
===========================================
  Files           41       41
  Lines          842      846       +4
===========================================
+ Hits           514      517       +3
- Misses         328      329       +1

Flag
Coverage Δ

unittests
61.11% <62.50%> (+0.06%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

backend/src/core/bot.py
0.00% <0.00%> (ø)

backend/src/services/stream/inbox.py
0.00% <0.00%> (ø)

backend/src/core/enums.py
90.00% <83.33%> (-3.75%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Update README: add link to test documentation

Updated the "Contribute" segment of the README to feature the link to the test documentation more prominently. Knowing how to run tests locally is very important for new contributors, I think it makes sense to link to the page directly.
There is also a link to a roadmap, but the page has not been updated in 2.5 years. Should we remove that link?

Codecov Report
Base: 73.25% // Head: 88.28% // Increases project coverage by +15.03% :tada:

Coverage data is based on head (44f0487) compared to base (b542279).
Patch has no changes to coverable lines.

Additional details and impacted files
@@              Coverage Diff              @@
##             master    #1934       +/-   ##
=============================================
+ Coverage     73.25%   88.28%   +15.03%
- Complexity     7917     7951       +34
=============================================
  Files           227      242       +15
  Lines         21133    24211     +3078
=============================================
+ Hits          15480    21375     +5895
+ Misses         5653     2836     -2817

Flag
Coverage Δ

5-max
88.28% <ø> (+15.03%)
:arrow_up:

7.4
88.28% <ø> (+15.03%)
:arrow_up:

agnostic
67.59% <ø> (?)

mysql
68.98% <ø> (+0.03%)
:arrow_up:

pgsql
68.99% <ø> (-0.06%)
:arrow_down:

sqlite
66.94% <ø> (-0.02%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/Propel/Generator/Builder/Om/ClassTools.php
45.94% <0.00%> (-16.56%)
:arrow_down:

...el/Generator/Builder/Om/ExtensionObjectBuilder.php
81.48% <0.00%> (-7.41%)
:arrow_down:

src/Propel/Generator/Model/BehaviorableTrait.php
76.92% <0.00%> (-5.94%)
:arrow_down:

...or/Builder/Om/ExtensionQueryInheritanceBuilder.php
83.33% <0.00%> (-5.13%)
:arrow_down:

...l/Generator/Behavior/Validate/ValidateBehavior.php
91.80% <0.00%> (-4.12%)
:arrow_down:

.../Propel/Generator/Command/Helper/ConsoleHelper.php
80.76% <0.00%> (-4.02%)
:arrow_down:

.../Propel/Generator/Command/MigrationDiffCommand.php
79.54% <0.00%> (-3.66%)
:arrow_down:

.../Generator/Builder/Om/MultiExtendObjectBuilder.php
85.71% <0.00%> (-2.66%)
:arrow_down:

...l/Generator/Behavior/Sortable/SortableBehavior.php
94.87% <0.00%> (-2.36%)
:arrow_down:

src/Propel/Runtime/ActiveQuery/ModelJoin.php
65.38% <0.00%> (-2.23%)
:arrow_down:

... and 186 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Yeah probably should


Order irrelevance

adds to option for a different end space character. This means that if the endspace character is set to whitespace the order of words in a sentence becomes irrelevant for the comparison.

Sorry, gitlab won't let me change the fork i want to merge to.


Wrap children if it's single-element array

Spotted a bug today when passing single-element array as a children to MediaQuery causes error.
Multi-element arrays work fine, so this one looks like edge case.

Thanks!


Issue running jar from Java 11

Describe the bug
On Windows, I downloaded/installed Java 11 (10 was no longer available to download) but when I click on the jar file, nothing happens. On Mac, I also downloaded/installed Java 11 and when I click on the jar file, it says "The Java JAR file ... could not be launched. Check the Console for possible error messages."
When launching the jar from command line "java 350assembler.jar", I get the error:
"Error: Could not find or load main class 350assembler.jar
Caused by: java.lang.ClassNotFoundException: 350assembler.jar"
To Reproduce
Steps to reproduce the behavior:

Download Java 11
Attempt to run the jar file

Not planning on supporting this with GUI at the moment since Java 11 doesn't come with JavaFX bundled into the JRE. Potentially will revisit later without a GUI or with maven/gradle usage.