Phase 9 of the rebrand cascade. Sweep covers everything the Phase 8
frontend pass deliberately skipped: docs/, root markdown, scripts,
Cargo.toml descriptions, code comments that survived earlier
word-boundary sed, plus a handful of identifiers caught on the final
verify pass.
transcription-app changes:
- README.md, HANDOVER.md, KNOWN-ISSUES.md, run.sh — magnotia/Magnotia
-> lumotia/Lumotia.
- docs/ — sweep across all subdirs except docs/handovers/ (preserved
as immutable audit trail). Includes architecture-map references
to magnotia_core::*, magnotia_storage::*, etc. now pointing at
lumotia_*; dev-setup.md tracing output examples (lumotia_startup
target); brief/ + superpowers/ + issues/ + whisper-ecosystem/ +
audit/.
- Cargo.toml descriptions on 9 crates (core, audio, cloud-providers,
hotkey, llm, mcp, plus referenced others).
- crates/core/src/{error,hardware,recommendation,paths}.rs +
crates/audio/src/wav.rs + crates/llm/src/model_manager.rs +
crates/cloud-providers/src/keystore.rs + crates/mcp/src/lib.rs —
doc comments and a model-manager user-agent string.
- Caught on final pass: BroadcastChannel("magnotia_task_sync") -> ...
("lumotia_task_sync"); magnotia_locale i18n localStorage key
renamed + migration shim added; CSS keyframe names
magnotiaPulse / magnotiaBar / magnotiaFade renamed in the design-
system kit; magnotia_viewer_item / magnotia_viewer_mode handoff
keys renamed in HistoryPage + viewer/+page.svelte; src/assets/
wordmark.svg text.
- src-tauri/src/lib.rs comment cleanup ("magnotia era" was sed'd
to "lumotia era" earlier — restored).
Preserved (intentional):
- crates/core/src/paths.rs — keeps "magnotia" / "Magnotia" / ".magnotia"
legacy detection strings in legacy_and_target_paths() so the
migration shim can still find user data from the magnotia era.
- src/lib/stores/{page,focusTimer}.svelte.ts + src/lib/i18n/index.ts
— migration call sites reference the legacy magnotia keys
deliberately.
- docs/handovers/ — historical audit trail.
cargo build --workspace passes. npm run check: 0 errors / 0 warnings
(3958 files). cargo test --workspace: 339 pass / 0 fail.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
49 lines
2.4 KiB
Markdown
49 lines
2.4 KiB
Markdown
# Windows bundle resources
|
|
|
|
Files in this directory ship side-by-side with `lumotia.exe` to avoid the
|
|
DLL-hell failure modes reported in Whispering #840 / #829 and Buzz
|
|
#1459. They are **not** committed to the repo.
|
|
|
|
## Release-engineer workflow
|
|
|
|
Before a Windows release build, populate this directory from a trusted
|
|
source (see table below), then pass `--resource` flags through to
|
|
`tauri build`:
|
|
|
|
```powershell
|
|
cargo tauri build --target x86_64-pc-windows-msvc -- `
|
|
--resource src-tauri/resources/windows/vulkan-1.dll `
|
|
--resource src-tauri/resources/windows/libssl-3-x64.dll `
|
|
--resource src-tauri/resources/windows/libcrypto-3-x64.dll
|
|
```
|
|
|
|
These files are **not** declared in `tauri.conf.json` /
|
|
`tauri.windows.conf.json` because `cargo check` (which runs in every
|
|
CI job) evaluates `tauri-build` and fails if a listed resource path
|
|
doesn't exist. Keeping the bundle flags at `tauri build` call time
|
|
means `cargo check` stays green on vanilla checkouts while release
|
|
builds still pick them up when the release engineer runs the
|
|
populated command above.
|
|
|
|
| File | Source | Why |
|
|
|---|---|---|
|
|
| `vulkan-1.dll` | [LunarG Vulkan SDK](https://vulkan.lunarg.com/sdk/home) runtime installer, or copied from `C:\Windows\System32\vulkan-1.dll` on a machine with Vulkan-capable GPU drivers | whisper.cpp's Vulkan backend refuses to initialise without it |
|
|
| `libssl-3-x64.dll`, `libcrypto-3-x64.dll` | OpenSSL 3.x Windows build (e.g. shining-light installer) or copied from the user's `%SystemRoot%\system32` | reqwest → rustls transitively pulls these when TLS-backed downloads fail in CI; shipping them removes the "app fails to download model" class of bug |
|
|
|
|
The runtime falls back gracefully if any of these are missing at launch:
|
|
see `src-tauri/src/commands/models.rs::detect_active_compute_device`
|
|
and `emit_runtime_warnings` — the app will emit a `runtime-warning`
|
|
event with kind `vulkan-loader-missing`, downgrade the reported
|
|
`activeComputeDevice` to CPU, and keep running. The bundle is a
|
|
performance + reliability patch, not a load-bearing dependency.
|
|
|
|
## Why isn't this a script?
|
|
|
|
Licensing. We deliberately don't auto-fetch these DLLs from a CI job —
|
|
the LunarG SDK ships under the Apache 2.0 license but redistribution is
|
|
conditional on an acknowledgment, and the OpenSSL 3 bundling terms want
|
|
a source-availability note in the installer. Manual placement keeps the
|
|
redistribution legally clean per-release.
|
|
|
|
Brief reference: docs/whisper-ecosystem/brief.md item #12.
|