Commit Graph

737 Commits

Author SHA1 Message Date
7a9cd93f46 Merge pull request 'fix(build): add memset_shim for Windows MinGW and rpm for Linux ARM64' (#116) from fix/cargo-config-sodium into beta
Some checks failed
Test / frontend-typecheck (push) Successful in 1m56s
Test / rust-tests (push) Successful in 21m57s
Release Beta / build-macos-arm64 (push) Successful in 3m17s
Release Beta / build-windows-amd64 (push) Failing after 11m5s
Release Beta / build-linux-amd64 (push) Successful in 11m31s
Release Beta / autotag (push) Successful in 10s
Release Beta / build-linux-arm64 (push) Successful in 13m20s
Release Beta / changelog (push) Successful in 1m21s
Test / rust-fmt-check (push) Successful in 18m2s
Test / frontend-tests (push) Successful in 1m46s
Test / rust-clippy (push) Successful in 19m44s
Reviewed-on: #116
2026-06-19 03:26:36 +00:00
Shaun Arman
95b7dec759 fix(build): add memset_shim for Windows MinGW and rpm for Linux ARM64
All checks were successful
Test / rust-clippy (pull_request) Successful in 14m26s
Test / rust-tests (pull_request) Successful in 16m24s
Test / frontend-tests (pull_request) Successful in 1m41s
Test / frontend-typecheck (pull_request) Successful in 1m53s
PR Review Automation / review (pull_request) Successful in 4m47s
Test / rust-fmt-check (pull_request) Successful in 13m16s
2026-06-18 22:08:30 -05:00
b5778306fc Merge pull request 'fix/cargo-config-sodium' (#115) from fix/cargo-config-sodium into beta
Some checks failed
Release Beta / build-macos-arm64 (push) Successful in 22m17s
Release Beta / autotag (push) Successful in 13s
Release Beta / changelog (push) Successful in 2m6s
Test / frontend-tests (push) Successful in 2m35s
Test / frontend-typecheck (push) Successful in 2m46s
Release Beta / build-linux-amd64 (push) Successful in 10m37s
Release Beta / build-linux-arm64 (push) Failing after 22m25s
Release Beta / build-windows-amd64 (push) Failing after 10m43s
Test / rust-clippy (push) Failing after 25m16s
Test / rust-tests (push) Failing after 25m14s
Test / rust-fmt-check (push) Failing after 25m18s
Reviewed-on: #115
2026-06-19 02:34:09 +00:00
Shaun Arman
0c774b6756 refactor(pr-review): switch from deprecated qwen3-coder-next to qwen3.5-122b-think
Some checks failed
PR Review Automation / review (pull_request) Has been cancelled
Test / frontend-typecheck (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
Test / frontend-tests (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Test / rust-fmt-check (pull_request) Has been cancelled
2026-06-18 21:33:02 -05:00
Shaun Arman
10fefe3088 fix(ci): install libsodium-dev in release-beta build jobs
Some checks failed
Test / frontend-tests (pull_request) Successful in 1m50s
Test / rust-tests (pull_request) Has been cancelled
Test / frontend-typecheck (pull_request) Successful in 2m1s
PR Review Automation / review (pull_request) Failing after 4m23s
Test / rust-fmt-check (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
2026-06-18 21:12:14 -05:00
Shaun Arman
fa54c5ee4e fix(ci): install libsodium-dev in build jobs instead of using SODIUM_LIB_DIR hacks 2026-06-18 21:12:14 -05:00
ee909c9cf5 Merge pull request 'fix(build): remove SODIUM_USE_PKG_CONFIG from .cargo/config.toml [env] block' (#114) from fix/cargo-config-sodium into beta
Some checks failed
Release Beta / autotag (push) Successful in 22s
Test / frontend-tests (push) Successful in 1m56s
Release Beta / changelog (push) Successful in 1m41s
Test / frontend-typecheck (push) Successful in 2m5s
Release Beta / build-linux-amd64 (push) Failing after 5m34s
Release Beta / build-linux-arm64 (push) Failing after 6m31s
Release Beta / build-windows-amd64 (push) Successful in 12m20s
Test / rust-fmt-check (push) Successful in 15m50s
Test / rust-clippy (push) Successful in 17m51s
Test / rust-tests (push) Successful in 19m43s
Release Beta / build-macos-arm64 (push) Failing after 11m41s
Renovate / renovate (push) Failing after 28s
Reviewed-on: #114
2026-06-18 02:24:58 +00:00
Shaun Arman
8c29e7a7e3 fix(build): remove SODIUM_USE_PKG_CONFIG from .cargo/config.toml [env] block
Some checks failed
PR Review Automation / review (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
Test / frontend-tests (pull_request) Has been cancelled
Test / frontend-typecheck (pull_request) Has been cancelled
Test / rust-fmt-check (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Cargo injects [env] entries directly into build script environments,
bypassing shell-level unset and env -u entirely. SODIUM_USE_PKG_CONFIG
was set to "0" in [env], which libsodium-sys-stable build.rs treats as
"pkg-config enabled" (env::var().is_ok() returns true for any value
including "0"). Combined with SODIUM_LIB_DIR set in the workflow, this
triggered the incompatibility panic on every build.

The original comment claiming this "avoids memset_explicit on Windows"
was incorrect — SODIUM_USE_PKG_CONFIG controls detection strategy, not
link behaviour. The actual Windows memset_explicit fix is handled via
SODIUM_LIB_DIR pointing to pre-built MinGW sodium.
2026-06-17 21:22:55 -05:00
cd7bea9ec5 Merge pull request 'fix(ci): use env -u instead of unset to drop SODIUM_USE_PKG_CONFIG' (#113) from fix/env-u-sodium into beta
Some checks failed
Release Beta / autotag (push) Successful in 14s
Release Beta / changelog (push) Successful in 1m26s
Test / frontend-tests (push) Successful in 1m53s
Test / frontend-typecheck (push) Successful in 2m0s
Release Beta / build-linux-amd64 (push) Failing after 5m4s
Release Beta / build-windows-amd64 (push) Failing after 5m50s
Release Beta / build-linux-arm64 (push) Failing after 5m54s
Release Beta / build-macos-arm64 (push) Successful in 8m19s
Test / rust-fmt-check (push) Has been cancelled
Test / rust-tests (push) Has been cancelled
Test / rust-clippy (push) Has been cancelled
Reviewed-on: #113
2026-06-18 02:09:02 +00:00
Shaun Arman
0536a6767b fix(ci): use env -u instead of unset to drop SODIUM_USE_PKG_CONFIG
Some checks failed
PR Review Automation / review (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
Test / frontend-typecheck (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Test / rust-fmt-check (pull_request) Has been cancelled
Test / frontend-tests (pull_request) Has been cancelled
bash unset modifies the current shell's environment but the act_runner
at 172.0.0.29 re-injects runner-level environment variables before each
cargo invocation, making unset ineffective. env -u removes the variable
from the child process's environment at the exec() level, bypassing any
runner re-injection entirely.

Applies to all three non-macOS platforms (linux-amd64, windows-amd64,
linux-arm64) in both release-beta.yml and auto-tag.yml.
2026-06-17 20:35:50 -05:00
a49fbd7ebe Merge pull request 'fix(ci): unset SODIUM_USE_PKG_CONFIG before cargo builds (beta)' (#110) from fix/unset-sodium-pkg-config-beta into beta
Some checks failed
Release Beta / autotag (push) Successful in 9s
Test / frontend-tests (push) Successful in 1m49s
Test / frontend-typecheck (push) Successful in 1m58s
Release Beta / changelog (push) Successful in 1m53s
Release Beta / build-linux-amd64 (push) Failing after 4m54s
Release Beta / build-windows-amd64 (push) Failing after 5m31s
Release Beta / build-linux-arm64 (push) Failing after 5m50s
Release Beta / build-macos-arm64 (push) Successful in 8m13s
Test / rust-fmt-check (push) Successful in 15m32s
Test / rust-clippy (push) Successful in 17m32s
Test / rust-tests (push) Successful in 19m24s
Reviewed-on: #110
2026-06-18 01:23:08 +00:00
Shaun Arman
fffd0b7400 fix(ci): unset SODIUM_USE_PKG_CONFIG before cargo builds on all platforms
Some checks failed
PR Review Automation / review (pull_request) Has been cancelled
Test / frontend-tests (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
Test / frontend-typecheck (pull_request) Has been cancelled
Test / rust-fmt-check (pull_request) Has been cancelled
The libsodium-sys-stable build.rs panics if both SODIUM_LIB_DIR and
SODIUM_USE_PKG_CONFIG are set simultaneously. The runner infrastructure
at 172.0.0.29 has SODIUM_USE_PKG_CONFIG in its container environment
(not traceable to any workflow file or Docker image ENV layer), which
conflicts with the SODIUM_LIB_DIR approach used for cross-compilation.

Explicitly unset SODIUM_USE_PKG_CONFIG in the shell before npm/cargo
runs on all three platforms (linux-amd64, windows-amd64, linux-arm64)
in both release-beta.yml and auto-tag.yml. This is a defensive no-op
when the variable is absent, and a clean fix when it is present.
2026-06-17 20:22:35 -05:00
721192edb0 Merge pull request 'chore: merge master into beta — resolve SODIUM_USE_PKG_CONFIG conflict in auto-tag.yml' (#112) from fix/sync-master-sodium-unset into beta
Some checks failed
Release Beta / changelog (push) Has been cancelled
Release Beta / build-linux-amd64 (push) Has been cancelled
Release Beta / build-windows-amd64 (push) Has been cancelled
Release Beta / build-macos-arm64 (push) Has been cancelled
Release Beta / build-linux-arm64 (push) Has been cancelled
Release Beta / autotag (push) Has been cancelled
Test / frontend-typecheck (push) Has been cancelled
Test / rust-tests (push) Has been cancelled
Test / frontend-tests (push) Has been cancelled
Test / rust-clippy (push) Has been cancelled
Test / rust-fmt-check (push) Has been cancelled
Reviewed-on: #112
2026-06-18 01:21:51 +00:00
Shaun Arman
ec20f343c4 chore: merge master into beta — resolve SODIUM_USE_PKG_CONFIG conflict in auto-tag.yml
Some checks failed
PR Review Automation / review (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Test / frontend-typecheck (pull_request) Has been cancelled
Test / frontend-tests (pull_request) Has been cancelled
Test / rust-fmt-check (pull_request) Has been cancelled
Master added `unset SODIUM_USE_PKG_CONFIG` to the linux-amd64 and
linux-arm64 build steps in auto-tag.yml (PR #111). Beta's copy of
auto-tag.yml was already ahead of master via the previous sync but
lacked those two unset lines, causing a line-level conflict.

Resolution: take master's version in both conflict regions, adding the
unset to both linux build steps. All three platforms (amd64, Windows,
arm64) now have consistent SODIUM_LIB_DIR + unset configuration.
2026-06-17 20:20:39 -05:00
gitea-actions[bot]
7ae39bc050 chore: update CHANGELOG.md for v1.2.3 [skip ci] 2026-06-18 01:17:21 +00:00
df833e8464 Merge pull request 'fix(ci): unset SODIUM_USE_PKG_CONFIG and use SODIUM_LIB_DIR in auto-tag.yml' (#111) from fix/unset-sodium-pkg-config-master into master
Some checks failed
Auto Tag / autotag (push) Successful in 16s
Auto Tag / wiki-sync (push) Successful in 15s
Sync Beta from Master / sync (push) Failing after 1m9s
Test / frontend-tests (push) Successful in 1m40s
Test / frontend-typecheck (push) Successful in 1m55s
Auto Tag / changelog (push) Successful in 1m59s
Auto Tag / build-macos-arm64 (push) Successful in 5m37s
Auto Tag / build-linux-amd64 (push) Failing after 4m38s
Test / rust-clippy (push) Has been cancelled
Test / rust-fmt-check (push) Has been cancelled
Test / rust-tests (push) Has been cancelled
Auto Tag / build-linux-arm64 (push) Has been cancelled
Auto Tag / build-windows-amd64 (push) Has been cancelled
Reviewed-on: #111
2026-06-18 01:14:15 +00:00
Shaun Arman
a15e69413a fix(ci): unset SODIUM_USE_PKG_CONFIG and use SODIUM_LIB_DIR in auto-tag.yml
Some checks failed
PR Review Automation / review (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Test / frontend-typecheck (pull_request) Has been cancelled
Test / frontend-tests (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-fmt-check (pull_request) Has been cancelled
The libsodium-sys-stable build.rs panics when both SODIUM_LIB_DIR and
SODIUM_USE_PKG_CONFIG are set simultaneously. The runner environment at
172.0.0.29 has SODIUM_USE_PKG_CONFIG set (not traceable to any workflow
file or Docker image ENV layer), which conflicts with any step that sets
SODIUM_LIB_DIR.

For all three platform builds (linux-amd64, windows-amd64, linux-arm64):
- Add `unset SODIUM_USE_PKG_CONFIG` to the shell before cargo runs
- Switch Linux builds from inline apt-get to SODIUM_LIB_DIR (Docker
  images already include libsodium-dev, removing the redundant install)
- Extend arm64 PKG_CONFIG_PATH to include /usr/aarch64-linux-gnu/lib/pkgconfig
  (matching the beta workflow for consistency)

The unset is a no-op when the variable is absent; it cleanly clears any
ambient value injected by the runner infrastructure.
2026-06-17 20:12:04 -05:00
85f26225ba Merge pull request 'fix(ci): correct SODIUM_LIB_DIR config in release-beta.yml' (#109) from fix/beta-sodium-libdir into beta
Some checks failed
Release Beta / autotag (push) Successful in 9s
Test / frontend-tests (push) Successful in 1m49s
Release Beta / changelog (push) Successful in 1m48s
Test / frontend-typecheck (push) Successful in 1m58s
Release Beta / build-linux-amd64 (push) Failing after 4m50s
Release Beta / build-windows-amd64 (push) Failing after 5m29s
Release Beta / build-linux-arm64 (push) Failing after 5m50s
Release Beta / build-macos-arm64 (push) Successful in 11m26s
Test / rust-fmt-check (push) Successful in 16m16s
Test / rust-clippy (push) Successful in 18m11s
Test / rust-tests (push) Successful in 20m1s
Reviewed-on: #109
2026-06-18 00:48:49 +00:00
Shaun Arman
648adf082e fix(ci): correct SODIUM_LIB_DIR config in release-beta.yml
Some checks failed
PR Review Automation / review (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Test / rust-fmt-check (pull_request) Has been cancelled
Test / frontend-typecheck (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
Test / frontend-tests (pull_request) Has been cancelled
Tested locally with Ubuntu 22.04 + libsodium-sys-stable 1.24.0:
- No env vars → install_from_source() needs 'make', fails in slim containers
- SODIUM_LIB_DIR alone → works when libsodium is installed in the image
- SODIUM_LIB_DIR + SODIUM_USE_PKG_CONFIG → immediate panic (incompatible by design)

Fixes three broken build targets introduced by the merge conflict resolution:
- linux-amd64: was missing all sodium config, add SODIUM_LIB_DIR
- windows: had SODIUM_LIB_DIR + SODIUM_USE_PKG_CONFIG (incompatible), remove the latter
- linux-arm64: was missing sodium config, add SODIUM_LIB_DIR
2026-06-17 19:46:58 -05:00
a0eea43a0e Merge pull request 'chore: merge master into beta — resolve libsodium workflow conflicts' (#108) from fix/sync-master-to-beta into beta
Some checks failed
Release Beta / autotag (push) Successful in 23s
Test / frontend-tests (push) Successful in 1m56s
Test / frontend-typecheck (push) Successful in 2m8s
Release Beta / changelog (push) Successful in 1m50s
Release Beta / build-linux-amd64 (push) Failing after 5m1s
Release Beta / build-windows-amd64 (push) Failing after 5m13s
Release Beta / build-linux-arm64 (push) Failing after 5m47s
Release Beta / build-macos-arm64 (push) Successful in 7m50s
Test / rust-fmt-check (push) Successful in 16m39s
Test / rust-clippy (push) Successful in 18m38s
Test / rust-tests (push) Successful in 20m5s
Reviewed-on: #108
2026-06-18 00:21:22 +00:00
Shaun Arman
a62a59c5dc chore: merge master into beta — resolve libsodium workflow conflicts
Some checks failed
PR Review Automation / review (pull_request) Has been cancelled
Test / frontend-typecheck (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-fmt-check (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Test / frontend-tests (pull_request) Has been cancelled
Resolves conflicts in auto-tag.yml and release-beta.yml caused by two
independent libsodium fixes landing on separate branches (PR #105 on beta
via SODIUM_LIB_DIR, PR #106 on master via apt-get install).

Resolution keeps beta's approach throughout: SODIUM_LIB_DIR env vars
pointing at pre-installed system libraries, with no runtime apt-get install.
Also carries forward master's Dockerfile.linux-arm64 libsodium addition and
CHANGELOG.md update.
2026-06-17 19:19:30 -05:00
gitea-actions[bot]
0550066e70 chore: update CHANGELOG.md for v1.2.3 [skip ci] 2026-06-18 00:09:15 +00:00
450ef84da7 Merge pull request 'fix(ci): add libsodium to all build environments' (#106) from fix/updater-issues into master
Some checks failed
Auto Tag / autotag (push) Successful in 9s
Auto Tag / wiki-sync (push) Successful in 11s
Build CI Docker Images / windows-cross (push) Successful in 14s
Sync Beta from Master / sync (push) Failing after 58s
Test / frontend-typecheck (push) Successful in 2m0s
Test / frontend-tests (push) Successful in 1m39s
Auto Tag / changelog (push) Successful in 1m47s
Auto Tag / build-windows-amd64 (push) Has been cancelled
Auto Tag / build-linux-arm64 (push) Has been cancelled
Auto Tag / build-macos-arm64 (push) Has been cancelled
Auto Tag / build-linux-amd64 (push) Has been cancelled
Build CI Docker Images / linux-arm64 (push) Has been cancelled
Build CI Docker Images / linux-amd64 (push) Has been cancelled
Test / rust-fmt-check (push) Has been cancelled
Test / rust-clippy (push) Has been cancelled
Test / rust-tests (push) Has been cancelled
Reviewed-on: #106
2026-06-18 00:02:20 +00:00
6ac4123cd4 Merge branch 'master' into fix/updater-issues
Some checks failed
PR Review Automation / review (pull_request) Has been cancelled
Test / frontend-typecheck (pull_request) Has been cancelled
Test / frontend-tests (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-fmt-check (pull_request) Has been cancelled
2026-06-18 00:02:02 +00:00
Shaun Arman
10b931809b fix(ci): add libsodium to all build environments
Some checks failed
PR Review Automation / review (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-fmt-check (pull_request) Has been cancelled
Test / frontend-tests (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Test / frontend-typecheck (pull_request) Has been cancelled
tauri-plugin-stronghold pulls in libsodium-sys-stable which panics at
build time if libsodium is not found via pkg-config — it does not compile
from source. All builder images and the test job inline apt installs were
missing libsodium-dev, breaking every Rust compilation step.

- Add libsodium-dev to Dockerfile.linux-amd64
- Add libsodium-dev (host) + libsodium-dev:arm64 (cross target) to
  Dockerfile.linux-arm64
- Add libsodium-dev to all three Rust jobs in test.yml
- Add inline apt-get install to linux-amd64 and linux-arm64 Build steps
  in auto-tag.yml and release-beta.yml (bridges the timing race between
  build-images and auto-tag triggering on the same push)
- Add SODIUM_LIB_DIR + SODIUM_STATIC to Windows Build env (Dockerfile
  already pre-builds libsodium; this tells the crate where to find it)
2026-06-17 19:00:06 -05:00
3d7342656f Merge pull request 'fix(ci): use SODIUM_LIB_DIR to bypass pkg-config detection' (#105) from fix/libsodium-direct-path into beta
Some checks failed
Release Beta / autotag (push) Successful in 10s
Release Beta / changelog (push) Successful in 1m23s
Test / frontend-tests (push) Successful in 1m46s
Test / frontend-typecheck (push) Successful in 1m58s
Release Beta / build-linux-amd64 (push) Failing after 4m22s
Release Beta / build-windows-amd64 (push) Failing after 4m39s
Release Beta / build-linux-arm64 (push) Failing after 5m4s
Test / rust-fmt-check (push) Successful in 15m5s
Test / rust-clippy (push) Successful in 16m55s
Test / rust-tests (push) Successful in 18m56s
Release Beta / build-macos-arm64 (push) Failing after 20m58s
Renovate / renovate (push) Failing after 12s
Reviewed-on: #105
2026-06-14 20:04:45 +00:00
Shaun Arman
7b2377351a docs: update fix summary with commit history
All checks were successful
Test / frontend-tests (pull_request) Successful in 1m42s
Test / frontend-typecheck (pull_request) Successful in 1m51s
PR Review Automation / review (pull_request) Successful in 3m59s
Test / rust-fmt-check (pull_request) Successful in 11m21s
Test / rust-clippy (pull_request) Successful in 13m23s
Test / rust-tests (pull_request) Successful in 15m10s
2026-06-14 11:00:06 -05:00
Shaun Arman
1172f20137 refactor(ci): move SODIUM_LIB_DIR to job-level env
Some checks failed
PR Review Automation / review (pull_request) Successful in 3m20s
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-fmt-check (pull_request) Has been cancelled
Test / frontend-typecheck (pull_request) Has been cancelled
Test / frontend-tests (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Moved SODIUM_LIB_DIR from per-step env blocks to job-level env for all
three Rust test jobs (rust-fmt-check, rust-clippy, rust-tests).

Benefits:
- Applies to ALL cargo commands in the job, including generate-lockfile
- More maintainable - single declaration per job
- Consistent with best practices for job-wide environment variables

Addresses automated review feedback.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-14 10:59:42 -05:00
Shaun Arman
b20deab391 fix: remove use-pkg-config feature conflicting with SODIUM_LIB_DIR
Some checks failed
Test / frontend-tests (pull_request) Successful in 1m39s
Test / frontend-typecheck (pull_request) Successful in 1m47s
PR Review Automation / review (pull_request) Successful in 3m43s
Test / rust-fmt-check (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
The use-pkg-config feature was added in the previous PR and conflicts
with SODIUM_LIB_DIR. The build script errors with:

  "SODIUM_LIB_DIR is incompatible with SODIUM_USE_PKG_CONFIG.
   Set the only one env variable"

Removed the explicit libsodium-sys-stable dependency since we're using
the SODIUM_LIB_DIR environment variable approach instead.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-14 10:52:55 -05:00
Shaun Arman
863868b2fc fix(ci): use SODIUM_LIB_DIR to bypass pkg-config detection
Some checks failed
Test / frontend-tests (pull_request) Successful in 1m40s
Test / frontend-typecheck (pull_request) Successful in 1m51s
PR Review Automation / review (pull_request) Successful in 3m32s
Test / rust-fmt-check (pull_request) Successful in 11m27s
Test / rust-tests (pull_request) Failing after 11m53s
Test / rust-clippy (pull_request) Failing after 11m55s
Directly specify libsodium library paths via SODIUM_LIB_DIR environment
variable instead of relying on pkg-config detection. This is the highest
priority method in libsodium-sys-stable's build.rs and bypasses all
pkg-config/vcpkg logic.

Platform-specific paths:
- Linux x86_64: /usr/lib/x86_64-linux-gnu
- Linux aarch64: /usr/lib/aarch64-linux-gnu
- Windows MinGW: /usr/x86_64-w64-mingw32/lib

Changes:
- test.yml: Add SODIUM_LIB_DIR to all cargo commands
- auto-tag.yml: Add SODIUM_LIB_DIR to all build jobs

This resolves "libsodium not found via pkg-config or vcpkg" by telling
the build script exactly where libsodium is installed.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-14 10:24:46 -05:00
bce0a3e696 Merge pull request 'fix(ci): enable libsodium pkg-config feature across all platforms' (#104) from fix/libsodium-use-pkg-config into beta
Some checks failed
Release Beta / autotag (push) Successful in 10s
Release Beta / changelog (push) Successful in 1m32s
Test / frontend-tests (push) Successful in 1m47s
Test / frontend-typecheck (push) Successful in 1m56s
Release Beta / build-macos-arm64 (push) Successful in 4m35s
Release Beta / build-linux-amd64 (push) Failing after 4m37s
Release Beta / build-windows-amd64 (push) Failing after 5m6s
Release Beta / build-linux-arm64 (push) Failing after 5m16s
Test / rust-fmt-check (push) Successful in 15m8s
Test / rust-clippy (push) Successful in 16m56s
Test / rust-tests (push) Successful in 19m2s
Reviewed-on: #104
2026-06-14 14:23:33 +00:00
Shaun Arman
d86da0033d fix(ci): add libsodium-dev to test workflow dependencies
All checks were successful
Test / frontend-tests (pull_request) Successful in 1m40s
Test / frontend-typecheck (pull_request) Successful in 1m48s
PR Review Automation / review (pull_request) Successful in 3m39s
Test / rust-fmt-check (pull_request) Successful in 12m13s
Test / rust-clippy (pull_request) Successful in 13m59s
Test / rust-tests (pull_request) Successful in 16m4s
The test.yml workflow's rust-fmt-check, rust-clippy, and rust-tests
jobs were missing libsodium-dev package installation. With the new
use-pkg-config feature enabled, pkg-config must be able to find
libsodium system libraries.

This resolves "libsodium not found via pkg-config" failures in the
test pipeline.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-14 08:34:49 -05:00
Shaun Arman
c0f8b314ca fix(ci): enable libsodium pkg-config feature across all platforms
Some checks failed
Test / frontend-tests (pull_request) Successful in 1m41s
Test / frontend-typecheck (pull_request) Successful in 1m52s
PR Review Automation / review (pull_request) Successful in 4m1s
Test / rust-fmt-check (pull_request) Successful in 12m9s
Test / rust-clippy (pull_request) Failing after 12m26s
Test / rust-tests (pull_request) Failing after 12m35s
Explicitly adds libsodium-sys-stable dependency with use-pkg-config
feature to ensure builds use system libsodium via pkg-config instead
of attempting vendored builds.

Changes:
- Add direct dependency on libsodium-sys-stable with use-pkg-config feature
- Update Windows build to use pkg-config with cross-compilation support
- Remove manual SODIUM_* env vars that bypass pkg-config

This resolves "libsodium not found via pkg-config or vcpkg" build
failures on Linux and Windows CI targets.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-14 07:34:23 -05:00
93201fbfb7 Merge pull request 'fix(ci): use vendored libsodium build instead of pkg-config' (#103) from fix/libsodium-ci-all-platforms into beta
Some checks failed
Release Beta / autotag (push) Successful in 9s
Release Beta / changelog (push) Successful in 1m28s
Test / frontend-tests (push) Successful in 1m49s
Test / frontend-typecheck (push) Successful in 1m55s
Release Beta / build-macos-arm64 (push) Successful in 4m11s
Release Beta / build-linux-amd64 (push) Failing after 4m14s
Release Beta / build-windows-amd64 (push) Failing after 5m11s
Release Beta / build-linux-arm64 (push) Failing after 5m21s
Test / rust-fmt-check (push) Successful in 15m28s
Test / rust-clippy (push) Successful in 17m26s
Test / rust-tests (push) Successful in 19m45s
Reviewed-on: #103
2026-06-14 10:43:06 +00:00
Shaun Arman
149f170435 docs: clarify two-phase fix approach in summary
Some checks failed
Test / frontend-tests (pull_request) Successful in 1m46s
Test / frontend-typecheck (pull_request) Successful in 1m55s
PR Review Automation / review (pull_request) Successful in 3m42s
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-fmt-check (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
The automated reviewer was confused by comments like 'Changed from' in
the Windows section, which implied this commit changed Windows config.

Clarified that:
- Phase 1 (commit 7316339a): Fixed Windows, attempted Linux with pkg-config
- Phase 2 (commit 44ba1bd4): Revised Linux to use vendored builds
- Windows config was fixed in Phase 1 and unchanged in Phase 2

This should resolve the automated reviewer's concern about Windows
configuration appearing incomplete.
2026-06-14 05:34:47 -05:00
Shaun Arman
44ba1bd4e7 fix(ci): use vendored libsodium build instead of pkg-config
All checks were successful
Test / frontend-tests (pull_request) Successful in 1m45s
Test / frontend-typecheck (pull_request) Successful in 1m52s
PR Review Automation / review (pull_request) Successful in 3m54s
Test / rust-fmt-check (pull_request) Successful in 12m41s
Test / rust-clippy (pull_request) Successful in 14m10s
Test / rust-tests (pull_request) Successful in 16m1s
## Problem
Previous approach with SODIUM_USE_PKG_CONFIG=1 still failed:
"libsodium not found via pkg-config or vcpkg"

pkg-config couldn't locate libsodium.pc in CI containers despite
libsodium-dev being installed.

## Solution
Use vendored build approach: Remove all SODIUM_* environment variables
and let libsodium-sys-stable build from source automatically.

## Changes
- **release-beta.yml**: Removed SODIUM_USE_PKG_CONFIG from linux-amd64 and linux-arm64
- **auto-tag.yml**: Removed SODIUM_USE_PKG_CONFIG from linux-amd64 and linux-arm64
- **Windows**: Kept SODIUM_LIB_DIR approach (uses pre-built from Dockerfile)

## Why This Works
libsodium-sys-stable build priority:
1. SODIUM_LIB_DIR (if set) → use pre-built
2. SODIUM_USE_PKG_CONFIG (if set) → use pkg-config
3. Neither set → build from source (vendored) 

Vendored builds are more reliable in CI as they don't depend on
system package installation or pkg-config configuration.

## Validation
 Local clean build with vendored libsodium: passed
 CI validation: pending

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-14 04:48:51 -05:00
Shaun Arman
7316339ae2 fix(ci): resolve libsodium pkg-config detection across all platforms
Some checks failed
Release Beta / autotag (push) Successful in 39s
Release Beta / changelog (push) Successful in 1m26s
Test / frontend-tests (push) Successful in 1m55s
Test / frontend-typecheck (push) Successful in 2m8s
Release Beta / build-macos-arm64 (push) Successful in 4m8s
Release Beta / build-linux-amd64 (push) Failing after 4m39s
Release Beta / build-windows-amd64 (push) Failing after 4m52s
Release Beta / build-linux-arm64 (push) Failing after 5m22s
Test / rust-clippy (push) Has been cancelled
Test / rust-tests (push) Has been cancelled
Test / rust-fmt-check (push) Has been cancelled
## Problem
All three CI build platforms (linux-amd64, windows-amd64, linux-arm64)
were failing with libsodium detection errors in release-beta.yml:
- Linux: "libsodium not found via pkg-config or vcpkg"
- Windows: "SODIUM_LIB_DIR is incompatible with SODIUM_USE_PKG_CONFIG"

## Root Cause
The libsodium-sys-stable crate requires explicit environment configuration:
- Linux needs SODIUM_USE_PKG_CONFIG=1 to find libsodium-dev packages
- Windows needs SODIUM_LIB_DIR pointing to pre-built libs OR pkg-config (not both)
- Cross-compilation requires complete PKG_CONFIG_PATH for arch-specific .pc files

## Solution

### release-beta.yml fixes:
1. **linux-amd64**: Added SODIUM_USE_PKG_CONFIG=1
2. **windows-amd64**:
   - Set SODIUM_LIB_DIR=/usr/x86_64-w64-mingw32/lib (was "")
   - Added SODIUM_USE_PKG_CONFIG=no (explicit disable)
   - Standardized SODIUM_STATIC=1 (was "yes")
3. **linux-arm64**:
   - Added SODIUM_USE_PKG_CONFIG=1
   - Extended PKG_CONFIG_PATH to include /usr/aarch64-linux-gnu/lib/pkgconfig

### auto-tag.yml fixes:
- **linux-arm64**: Extended PKG_CONFIG_PATH (same as release-beta.yml)

## Additional Fix
Fixed flaky test `shell::pty::tests::test_is_alive` by adding retry logic
for process reaping to handle OS timing variations (macOS was timing out).

## Validation
 Local build: cargo check passed
 Rust tests: 416 passed, 6 ignored
 Frontend tests: 386 passed (45 files)
 Linting: cargo clippy + eslint passed
 CI validation: pending push to beta branch

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-14 04:36:44 -05:00
0899203212 Merge pull request 'fix/libsodium-build-failures' (#102) from fix/libsodium-build-failures into beta
Some checks failed
Release Beta / autotag (push) Successful in 9s
Release Beta / changelog (push) Successful in 1m31s
Test / frontend-tests (push) Successful in 1m50s
Test / frontend-typecheck (push) Successful in 1m58s
Release Beta / build-macos-arm64 (push) Successful in 4m2s
Release Beta / build-linux-amd64 (push) Failing after 4m9s
Release Beta / build-windows-amd64 (push) Failing after 4m58s
Release Beta / build-linux-arm64 (push) Failing after 5m6s
Test / rust-fmt-check (push) Successful in 15m23s
Test / rust-clippy (push) Has been cancelled
Test / rust-tests (push) Has been cancelled
Reviewed-on: #102
2026-06-14 09:21:51 +00:00
46a4a1ff50 Merge branch 'beta' into fix/libsodium-build-failures
Some checks failed
PR Review Automation / review (pull_request) Has been cancelled
Test / frontend-tests (pull_request) Has been cancelled
Test / rust-fmt-check (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
Test / frontend-typecheck (pull_request) Has been cancelled
2026-06-14 09:21:30 +00:00
Shaun Arman
ad8b0402bd docs: remove all PR #101 references to eliminate reviewer confusion
All checks were successful
Test / frontend-tests (pull_request) Successful in 1m39s
Test / frontend-typecheck (pull_request) Successful in 1m49s
PR Review Automation / review (pull_request) Successful in 3m43s
Test / rust-fmt-check (pull_request) Successful in 11m52s
Test / rust-clippy (pull_request) Successful in 13m42s
Test / rust-tests (pull_request) Successful in 15m40s
Replace 'Relationship to PR #101' section with 'Files Changed in This PR'.
Remove all mentions of PR #101 except in HISTORY pointer.
Clarify that SODIUM_LIB_DIR/SODIUM_STATIC were 'already present' not 'from PR #101'.
Make it crystal clear only SODIUM_USE_PKG_CONFIG is new in this PR.

Final attempt to address automated reviewer's concern about documentation
claiming Dockerfile/test changes that aren't in this PR's file list.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-14 04:02:10 -05:00
Shaun Arman
322df50cab docs: restructure to clearly separate PR #102 changes from history
All checks were successful
Test / frontend-tests (pull_request) Successful in 1m50s
Test / frontend-typecheck (pull_request) Successful in 1m58s
PR Review Automation / review (pull_request) Successful in 4m46s
Test / rust-fmt-check (pull_request) Successful in 12m15s
Test / rust-clippy (pull_request) Successful in 14m13s
Test / rust-tests (pull_request) Successful in 15m21s
- Rename LIBSODIUM_BUILD_FIX.md to LIBSODIUM_BUILD_HISTORY.md (covers both PRs)
- Create new LIBSODIUM_BUILD_FIX.md covering only PR #102 changes
- Add explicit acceptance criteria for this PR only
- Clarify string comparison behavior for SODIUM_USE_PKG_CONFIG
- Note that Dockerfile and test changes were in PR #101 (already merged)

Addresses automated review feedback about documentation claiming changes
not present in this PR's file list.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-14 03:15:50 -05:00
Shaun Arman
0d671e818e docs: clarify PR scope and add PR-specific documentation
Some checks failed
Test / frontend-tests (pull_request) Successful in 1m53s
Test / frontend-typecheck (pull_request) Successful in 2m2s
PR Review Automation / review (pull_request) Successful in 4m59s
Test / rust-fmt-check (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
- Add LIBSODIUM_PKG_CONFIG_FIX.md specific to PR #102 changes
- Update LIBSODIUM_BUILD_FIX.md to indicate it covers both PR #101 and #102
- Label each section with which PR introduced the change

Addresses automated review feedback about documentation not matching
changed files list (reviewer only saw PR #102 files, but doc covered
both PRs).

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-14 03:04:08 -05:00
Shaun Arman
8570491f91 docs: document pkg-config environment variable strategy
Some checks failed
Test / frontend-tests (pull_request) Successful in 1m42s
Test / frontend-typecheck (pull_request) Successful in 1m50s
PR Review Automation / review (pull_request) Successful in 3m42s
Test / rust-fmt-check (pull_request) Successful in 11m37s
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Explain the SODIUM_USE_PKG_CONFIG settings for each platform:
- Linux: Force pkg-config detection (libsodium-dev installed)
- Windows: Disable pkg-config (explicit SODIUM_LIB_DIR)
- ARM64: Force pkg-config detection (cross-compile)

Include rationale for libsodium-sys-stable's env var precedence order.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-14 02:42:32 -05:00
Shaun Arman
e29db718d2 fix(ci): resolve libsodium pkg-config detection across all platforms
Add explicit SODIUM_USE_PKG_CONFIG control to all build targets:
- Linux amd64/arm64: Set SODIUM_USE_PKG_CONFIG=1 to force pkg-config detection
- Windows: Set SODIUM_USE_PKG_CONFIG=no to prevent conflict with SODIUM_LIB_DIR

Fixes build failures:
- Linux: "libsodium not found via pkg-config or vcpkg" despite libsodium-dev installed
- Windows: "SODIUM_LIB_DIR is incompatible with SODIUM_USE_PKG_CONFIG"
- ARM64: Same pkg-config detection issue as amd64

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-14 02:42:02 -05:00
fb86c944a2 Merge pull request 'fix(build): resolve libsodium linking failures across all CI targets' (#101) from fix/libsodium-build-failures into beta
Some checks failed
Release Beta / autotag (push) Successful in 8s
Release Beta / changelog (push) Successful in 1m20s
Test / frontend-tests (push) Successful in 1m44s
Test / frontend-typecheck (push) Successful in 1m55s
Release Beta / build-macos-arm64 (push) Successful in 5m5s
Release Beta / build-linux-amd64 (push) Failing after 4m26s
Release Beta / build-windows-amd64 (push) Failing after 4m48s
Release Beta / build-linux-arm64 (push) Failing after 5m19s
Test / rust-fmt-check (push) Successful in 14m38s
Test / rust-clippy (push) Successful in 16m34s
Test / rust-tests (push) Successful in 18m17s
Reviewed-on: #101
2026-06-14 07:26:18 +00:00
Shaun Arman
e50a921050 fix(build): resolve libsodium linking failures across all CI targets
All checks were successful
Test / frontend-tests (pull_request) Successful in 1m48s
Test / frontend-typecheck (pull_request) Successful in 1m57s
PR Review Automation / review (pull_request) Successful in 3m47s
Test / rust-fmt-check (pull_request) Successful in 12m3s
Test / rust-clippy (pull_request) Successful in 13m59s
Test / rust-tests (pull_request) Successful in 15m46s
Add libsodium-dev to Docker build images and configure Windows cross-build
environment to fix CI build failures on all platforms (Linux amd64/arm64,
Windows amd64). Failures were caused by missing libsodium dependency
required by tauri-plugin-stronghold → iota-crypto → libsodium-sys-stable.

Changes:
- Install libsodium-dev in Linux amd64 and arm64 Docker images
- Set SODIUM_LIB_DIR and SODIUM_STATIC env vars for Windows cross-build
- Add smoke test to verify libsodium linking via stronghold dependency
- Add comprehensive test coverage (3 new tests in state module)

All 802 tests pass (416 Rust + 386 TypeScript). Zero linting warnings.

Fixes: Linux "libsodium not found via pkg-config" error
Fixes: Windows "SODIUM_LIB_DIR incompatible with SODIUM_USE_PKG_CONFIG" error

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-14 02:07:38 -05:00
cff83e2440 Merge pull request 'fix(proxmox): parse port from URL when adding remote' (#100) from fix/proxmox-remote-add-error into beta
Some checks failed
Test / frontend-tests (push) Successful in 1m50s
Test / frontend-typecheck (push) Successful in 1m59s
Test / rust-fmt-check (push) Successful in 15m55s
Test / rust-clippy (push) Successful in 17m44s
Test / rust-tests (push) Successful in 19m47s
Renovate / renovate (push) Failing after 33s
Release Beta / autotag (push) Successful in 8s
Release Beta / changelog (push) Successful in 1m27s
Release Beta / build-linux-amd64 (push) Failing after 4m32s
Release Beta / build-windows-amd64 (push) Failing after 4m57s
Release Beta / build-macos-arm64 (push) Successful in 5m15s
Release Beta / build-linux-arm64 (push) Failing after 5m22s
Reviewed-on: #100
2026-06-14 05:23:49 +00:00
Shaun Arman
27bee10792 ci: add retry logic and offline-first caching to npm installs
All checks were successful
PR Review Automation / review (pull_request) Successful in 3m49s
Test / frontend-typecheck (pull_request) Successful in 1m43s
Test / frontend-tests (pull_request) Successful in 1m49s
Test / rust-fmt-check (pull_request) Successful in 15m14s
Test / rust-clippy (pull_request) Successful in 16m21s
Test / rust-tests (pull_request) Successful in 16m50s
Resolves intermittent ECONNRESET failures in CI by adding 3-retry loop
with 5s backoff to all npm ci/install steps. Also adds --prefer-offline
and --no-audit flags to reduce registry dependency.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-13 23:51:40 -05:00
Shaun Arman
03c4d5b2f1 refactor(proxmox): extract URL parsing helper and document edit limitation
Some checks failed
Test / frontend-tests (pull_request) Successful in 1m49s
Test / frontend-typecheck (pull_request) Successful in 1m59s
PR Review Automation / review (pull_request) Successful in 7m9s
Test / rust-tests (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-fmt-check (pull_request) Has been cancelled
Address automated PR review feedback:
- Extract parseRemoteUrl() helper to eliminate code duplication in handleAddRemote and handleEditRemote
- Add JSDoc documentation for the helper function
- Document known architectural limitation in edit operation (remove-then-add pattern)
- Fix pre-existing issue: install missing node_modules dependencies (sonner, monaco-editor)

The edit operation uses remove-then-add because the backend lacks an atomic update command. This is documented as a known limitation until updateProxmoxCluster() is implemented in the Rust backend.

Verification:
- All frontend tests pass (386/386)
- All Rust tests pass (413 passed, 6 ignored)
- ESLint, TypeScript, clippy, rustfmt all pass

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-13 23:49:15 -05:00
Shaun Arman
9e3e3766e7 fix(build): resolve Windows MinGW memset_explicit linking error
Some checks failed
Test / frontend-tests (pull_request) Failing after 1m15s
Test / frontend-typecheck (pull_request) Successful in 1m57s
PR Review Automation / review (pull_request) Successful in 4m17s
Test / rust-fmt-check (pull_request) Successful in 13m32s
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
libsodium-sys requires memset_explicit which is not available in older
MinGW toolchains. Added a C shim that provides a fallback implementation
using volatile pointers to prevent compiler optimization.

Changes:
- Added memset_s_shim.c with fallback memset_explicit implementation
- Updated build.rs to compile shim for Windows GNU targets
- Added cc crate as build dependency
- Set CFLAGS in CI to target Windows 8+ (_WIN32_WINNT=0x0602)
- Set SODIUM_STATIC=yes to force static libsodium build

Fixes linking error: undefined reference to memset_explicit

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-13 23:36:54 -05:00