Developer Troubleshooting
This page collects the most common local development problems and the shortest path to diagnose them.
Dependency / Workspace Issues
bun install fails or packages look out of sync
- Run
bun installfrom the repo root, not from an app subdirectory. - Remove stale lockfile assumptions before debugging code-level failures.
- If versions were just bumped, make sure
bun installcompleted after the bump script.
TypeScript cannot resolve workspace packages
- Check that you are running commands from the repo root unless the package docs say otherwise.
- Re-run
bun install. - Confirm the package filter matches the workspace name (
mindwtr,mobile,@mindwtr/core, etc.).
Desktop Build Issues
Tauri build fails on Linux
Common missing prerequisites:
- Rust toolchain
- WebKitGTK development packages
- OpenSSL development packages
- GTK development packages
See Developer Guide for platform-specific install commands.
Desktop app starts but diagnostics are missing
Release diagnostics are only available when the app is built with the diagnostics feature:
bash
cd apps/desktop
cargo tauri build --features diagnostics
MINDWTR_DIAGNOSTICS=1 ./src-tauri/target/release/mindwtrDesktop data or config path confusion
See the storage-path notes in docs/CONTRIBUTING.md and the in-app Settings screens.
Mobile Development Issues
Android/iOS tooling is not detected
- Confirm Android Studio / SDK paths are set
- Confirm Xcode is installed for iOS work
- Start with
bun mobile:startfrom the repo root
Expo / Metro issues
- Restart the Expo dev server
- Re-run
bun install - Make sure you are not mixing root and app-level install flows
Native/device-only bug is not reproducible in tests
- Add the smallest possible unit/integration test for shared logic
- Document the manual device steps in the PR
- Capture logs before changing behavior
Sync / Storage Debugging
Need more detail from sync failures
Use the built-in diagnostics flow documented in Diagnostics and Logs.
Suspect a merge or data-integrity bug
Start in this order:
packages/coretests for the relevant sync/search/store helper- platform wrapper tests (desktop/mobile)
- local diagnostics logs
Do not jump straight to UI changes if the failure mode is actually in the shared core logic.
Testing Problems
A package test fails but the full app still runs
- Treat the test failure as a real regression until disproven.
- Re-run the narrowest package-level test first.
- Check whether the failure is in the app code or the test harness.
React Native tests are noisy
react-test-rendererdeprecation warnings are expected in current mobile tests.- Prefer focused assertions over broad snapshot churn.
When To Add More Diagnostics
Add logs or instrumentation when:
- the failure cannot be reproduced consistently
- the bug crosses package boundaries
- sync timing or storage state matters
- a native provider/API behaves differently by platform
Keep logs local and redact secrets/tokens.