Skip to content

Commit 66846e5

Browse files
authored
Merge pull request #506 from spacedriveapp/feat/conversation-settings
feat: portal system, streaming, conversation & channel settings
2 parents b7d5dd2 + a73bde2 commit 66846e5

65 files changed

Lines changed: 7328 additions & 802 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

desktop/src-tauri/Cargo.lock

Lines changed: 86 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

desktop/src-tauri/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ path = "src/main.rs"
99

1010
[dependencies]
1111
tauri = { version = "2", features = ["macos-private-api"] }
12+
tauri-plugin-global-shortcut = "2"
1213
tauri-plugin-shell = "2"
1314
serde = { version = "1", features = ["derive"] }
1415
serde_json = "1"

desktop/src-tauri/gen/schemas/acl-manifests.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

desktop/src-tauri/gen/schemas/desktop-schema.json

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2354,6 +2354,72 @@
23542354
"const": "core:window:deny-unminimize",
23552355
"markdownDescription": "Denies the unminimize command without any pre-configured scope."
23562356
},
2357+
{
2358+
"description": "No features are enabled by default, as we believe\nthe shortcuts can be inherently dangerous and it is\napplication specific if specific shortcuts should be\nregistered or unregistered.\n",
2359+
"type": "string",
2360+
"const": "global-shortcut:default",
2361+
"markdownDescription": "No features are enabled by default, as we believe\nthe shortcuts can be inherently dangerous and it is\napplication specific if specific shortcuts should be\nregistered or unregistered.\n"
2362+
},
2363+
{
2364+
"description": "Enables the is_registered command without any pre-configured scope.",
2365+
"type": "string",
2366+
"const": "global-shortcut:allow-is-registered",
2367+
"markdownDescription": "Enables the is_registered command without any pre-configured scope."
2368+
},
2369+
{
2370+
"description": "Enables the register command without any pre-configured scope.",
2371+
"type": "string",
2372+
"const": "global-shortcut:allow-register",
2373+
"markdownDescription": "Enables the register command without any pre-configured scope."
2374+
},
2375+
{
2376+
"description": "Enables the register_all command without any pre-configured scope.",
2377+
"type": "string",
2378+
"const": "global-shortcut:allow-register-all",
2379+
"markdownDescription": "Enables the register_all command without any pre-configured scope."
2380+
},
2381+
{
2382+
"description": "Enables the unregister command without any pre-configured scope.",
2383+
"type": "string",
2384+
"const": "global-shortcut:allow-unregister",
2385+
"markdownDescription": "Enables the unregister command without any pre-configured scope."
2386+
},
2387+
{
2388+
"description": "Enables the unregister_all command without any pre-configured scope.",
2389+
"type": "string",
2390+
"const": "global-shortcut:allow-unregister-all",
2391+
"markdownDescription": "Enables the unregister_all command without any pre-configured scope."
2392+
},
2393+
{
2394+
"description": "Denies the is_registered command without any pre-configured scope.",
2395+
"type": "string",
2396+
"const": "global-shortcut:deny-is-registered",
2397+
"markdownDescription": "Denies the is_registered command without any pre-configured scope."
2398+
},
2399+
{
2400+
"description": "Denies the register command without any pre-configured scope.",
2401+
"type": "string",
2402+
"const": "global-shortcut:deny-register",
2403+
"markdownDescription": "Denies the register command without any pre-configured scope."
2404+
},
2405+
{
2406+
"description": "Denies the register_all command without any pre-configured scope.",
2407+
"type": "string",
2408+
"const": "global-shortcut:deny-register-all",
2409+
"markdownDescription": "Denies the register_all command without any pre-configured scope."
2410+
},
2411+
{
2412+
"description": "Denies the unregister command without any pre-configured scope.",
2413+
"type": "string",
2414+
"const": "global-shortcut:deny-unregister",
2415+
"markdownDescription": "Denies the unregister command without any pre-configured scope."
2416+
},
2417+
{
2418+
"description": "Denies the unregister_all command without any pre-configured scope.",
2419+
"type": "string",
2420+
"const": "global-shortcut:deny-unregister-all",
2421+
"markdownDescription": "Denies the unregister_all command without any pre-configured scope."
2422+
},
23572423
{
23582424
"description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`",
23592425
"type": "string",

desktop/src-tauri/gen/schemas/macOS-schema.json

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2354,6 +2354,72 @@
23542354
"const": "core:window:deny-unminimize",
23552355
"markdownDescription": "Denies the unminimize command without any pre-configured scope."
23562356
},
2357+
{
2358+
"description": "No features are enabled by default, as we believe\nthe shortcuts can be inherently dangerous and it is\napplication specific if specific shortcuts should be\nregistered or unregistered.\n",
2359+
"type": "string",
2360+
"const": "global-shortcut:default",
2361+
"markdownDescription": "No features are enabled by default, as we believe\nthe shortcuts can be inherently dangerous and it is\napplication specific if specific shortcuts should be\nregistered or unregistered.\n"
2362+
},
2363+
{
2364+
"description": "Enables the is_registered command without any pre-configured scope.",
2365+
"type": "string",
2366+
"const": "global-shortcut:allow-is-registered",
2367+
"markdownDescription": "Enables the is_registered command without any pre-configured scope."
2368+
},
2369+
{
2370+
"description": "Enables the register command without any pre-configured scope.",
2371+
"type": "string",
2372+
"const": "global-shortcut:allow-register",
2373+
"markdownDescription": "Enables the register command without any pre-configured scope."
2374+
},
2375+
{
2376+
"description": "Enables the register_all command without any pre-configured scope.",
2377+
"type": "string",
2378+
"const": "global-shortcut:allow-register-all",
2379+
"markdownDescription": "Enables the register_all command without any pre-configured scope."
2380+
},
2381+
{
2382+
"description": "Enables the unregister command without any pre-configured scope.",
2383+
"type": "string",
2384+
"const": "global-shortcut:allow-unregister",
2385+
"markdownDescription": "Enables the unregister command without any pre-configured scope."
2386+
},
2387+
{
2388+
"description": "Enables the unregister_all command without any pre-configured scope.",
2389+
"type": "string",
2390+
"const": "global-shortcut:allow-unregister-all",
2391+
"markdownDescription": "Enables the unregister_all command without any pre-configured scope."
2392+
},
2393+
{
2394+
"description": "Denies the is_registered command without any pre-configured scope.",
2395+
"type": "string",
2396+
"const": "global-shortcut:deny-is-registered",
2397+
"markdownDescription": "Denies the is_registered command without any pre-configured scope."
2398+
},
2399+
{
2400+
"description": "Denies the register command without any pre-configured scope.",
2401+
"type": "string",
2402+
"const": "global-shortcut:deny-register",
2403+
"markdownDescription": "Denies the register command without any pre-configured scope."
2404+
},
2405+
{
2406+
"description": "Denies the register_all command without any pre-configured scope.",
2407+
"type": "string",
2408+
"const": "global-shortcut:deny-register-all",
2409+
"markdownDescription": "Denies the register_all command without any pre-configured scope."
2410+
},
2411+
{
2412+
"description": "Denies the unregister command without any pre-configured scope.",
2413+
"type": "string",
2414+
"const": "global-shortcut:deny-unregister",
2415+
"markdownDescription": "Denies the unregister command without any pre-configured scope."
2416+
},
2417+
{
2418+
"description": "Denies the unregister_all command without any pre-configured scope.",
2419+
"type": "string",
2420+
"const": "global-shortcut:deny-unregister-all",
2421+
"markdownDescription": "Denies the unregister_all command without any pre-configured scope."
2422+
},
23572423
{
23582424
"description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`",
23592425
"type": "string",
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# API Client Package Follow-up
2+
3+
The first extraction of `@spacebot/api-client` is intentionally light.
4+
5+
It creates a reusable package boundary for Spacedrive and other consumers, but it still re-exports generated types from `interface/src/api/`.
6+
7+
## Follow-up Work
8+
9+
### 1. Make `spacebot/interface` consume `@spacebot/api-client`
10+
11+
The Spacebot interface should stop importing from its local `src/api/*` modules directly and instead consume the shared package.
12+
13+
That will make the package the single source of truth for:
14+
15+
- OpenAPI client setup
16+
- generated schema types
17+
- friendly exported types
18+
- manual SSE event types
19+
20+
### 2. Move OpenAPI generation output into the package
21+
22+
The long-term target is for `schema.d.ts` to be generated directly into `packages/api-client/` instead of `interface/src/api/`.
23+
24+
That will let the shared package fully own the generated contract and avoid the current re-export bridge.
25+
26+
## Why Deferred
27+
28+
These steps are worth doing, but they are not required for the first Spacedrive integration slice.
29+
30+
For now, the package boundary exists, and Spacedrive can start consuming it immediately.

0 commit comments

Comments
 (0)