f7623457a0
Hop-State: A_06FPG2TG1QGADXPK4Z3JRK8 Hop-Proposal: R_06FPG2STVE3YFFK1MMCXN7R Hop-Task: T_06FPG0V9Q74727J7JHZVD20 Hop-Attempt: AT_06FPG0V9Q4RS0GRDVR1GXVG
38 lines
1.4 KiB
Markdown
38 lines
1.4 KiB
Markdown
# Synapsis Desktop
|
|
|
|
A Tauri desktop client for the Synapsis federated social network. The first-run experience follows the same node-first model as the native iOS app:
|
|
|
|
1. Choose and verify a Synapsis node.
|
|
2. Sign in with an existing account or create a new account on that node.
|
|
3. Continue directly into that node's real signed-in web experience.
|
|
|
|
Node and authentication requests run in Rust so independent nodes do not need to opt into browser CORS. After authentication, HttpOnly session cookies are securely handed to the native webview and the selected node's actual web client opens in the same window.
|
|
|
|
## Develop
|
|
|
|
Requirements: Bun, Rust, and the platform prerequisites for Tauri 2.
|
|
|
|
```sh
|
|
bun install
|
|
bun run tauri dev
|
|
```
|
|
|
|
The standalone frontend preview is available with `bun run dev`, but node connection is intentionally disabled outside Tauri because the native command layer owns networking.
|
|
|
|
## Validate
|
|
|
|
```sh
|
|
bun run build
|
|
cargo test --manifest-path src-tauri/Cargo.toml
|
|
```
|
|
|
|
## Current scope
|
|
|
|
- Animated signal-field launch and onboarding visuals.
|
|
- Node URL normalization and `/api/node` verification.
|
|
- Persistent web-session detection across app launches.
|
|
- Cookie-based sign in, account creation, and sign out.
|
|
- The selected node's complete website experience after authentication.
|
|
|
|
The node address and HttpOnly website session persist between launches using the native webview's cookie store.
|