This fix resolves build failures across all CI/CD build targets (Linux amd64/arm64, Windows cross-compilation) caused by missing libsodium library dependencies. The application uses `tauri-plugin-stronghold` which transitively depends on `iota-crypto` → `libsodium-sys-stable`, requiring libsodium to be available at build time.
**Build failures observed:**
1.**Linux amd64/arm64**: `libsodium not found via pkg-config or vcpkg`
2.**Windows cross-build**: `SODIUM_LIB_DIR is incompatible with SODIUM_USE_PKG_CONFIG`
-`test_get_app_data_dir_returns_some`: Ensures data directory resolution
-`test_libsodium_linking`: **Smoke test that verifies libsodium linking through the stronghold dependency chain**
The smoke test is critical because it ensures the entire dependency chain compiles and links correctly. If libsodium were misconfigured, this test would fail at compile/link time, not runtime.
### 4. Code Quality
- All code follows Rust 2021 edition best practices
- Comprehensive inline documentation added to test functions
- Formatting verified with `cargo fmt`
- Zero clippy warnings
- Zero ESLint warnings
- Zero TypeScript type errors
## Testing Needed
### Local Testing (Completed ✓)
- [x]`cargo test --manifest-path src-tauri/Cargo.toml` → 416 tests passed
- [x]`npm run test:run` → 386 tests passed
- [x]`cargo fmt --check` → Passed
- [x]`cargo clippy -- -D warnings` → Zero warnings
- [x]`npx eslint . --max-warnings 0` → Zero warnings
- [x]`npx tsc --noEmit` → Zero errors
### CI/CD Testing (Required)
The following must be verified after merging to beta and triggering CI builds:
1.**Linux amd64 build** (`build-linux-amd64` job)
- [ ] Build completes without `libsodium not found` error
- [ ]`.deb` and `.rpm` artifacts generated successfully
- [ ] Artifacts uploaded to Gitea release
2.**Linux arm64 build** (`build-linux-arm64` job)
- [ ] Cross-compilation completes with arm64 libsodium-dev
- [ ]`.deb` and `.rpm` artifacts generated successfully