Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
2b3752d
feat: add slack connector crate shell
mohammedahmed18 Jul 16, 2026
a96f219
chore: add slack connector module placeholders
mohammedahmed18 Jul 16, 2026
fc1086e
feat: add slack web api dto types
mohammedahmed18 Jul 16, 2026
0631dfa
feat: add slack mount settings
mohammedahmed18 Jul 16, 2026
8aebbba
feat: render slack conversations as read-only markdown
mohammedahmed18 Jul 16, 2026
543545f
feat: add slack web api client
mohammedahmed18 Jul 16, 2026
8a5dbb1
feat: implement read-only slack connector
mohammedahmed18 Jul 16, 2026
45ec217
feat: add slack oauth credential support
mohammedahmed18 Jul 16, 2026
73f0b6a
feat: add slack oauth broker endpoints
mohammedahmed18 Jul 16, 2026
212761a
feat: add slack connect command
mohammedahmed18 Jul 17, 2026
ea9fa44
feat: add slack mount command
mohammedahmed18 Jul 17, 2026
df9c824
fix: validate slack mount history limit
mohammedahmed18 Jul 17, 2026
ede98b3
fix: use slack mount usage for missing path
mohammedahmed18 Jul 17, 2026
3b8a9c3
test: cover slack mount root flag rejection
mohammedahmed18 Jul 17, 2026
6d5a8c6
test: cover slack mount settings validation
mohammedahmed18 Jul 17, 2026
5efe251
feat: register slack source
mohammedahmed18 Jul 17, 2026
1e4de4d
chore: update localityd lockfile for slack
mohammedahmed18 Jul 17, 2026
243e9fd
fix: harden slack source resolution
mohammedahmed18 Jul 17, 2026
5a7304d
feat: expose slack in desktop source setup
mohammedahmed18 Jul 17, 2026
3172c86
test: cover slack desktop mount safety
mohammedahmed18 Jul 17, 2026
5a85d67
docs: document slack connector
mohammedahmed18 Jul 17, 2026
926b1fe
docs: clarify slack conversation paths
mohammedahmed18 Jul 17, 2026
560082f
test: cover slack connector flow
mohammedahmed18 Jul 17, 2026
8ecb718
fix: derive slack versions from content
mohammedahmed18 Jul 17, 2026
ebf268b
test: cover slack read-only product paths
mohammedahmed18 Jul 17, 2026
9cc58d8
Fix Slack OAuth broker scope response
mohammedahmed18 Jul 17, 2026
4bfd130
Skip unreadable Slack public channels
mohammedahmed18 Jul 17, 2026
470180e
Add Slack public channel auto-join option
mohammedahmed18 Jul 17, 2026
d9d2866
Derive Slack public auto-join from mount types
mohammedahmed18 Jul 17, 2026
6306fef
Render Slack thread replies inline
mohammedahmed18 Jul 17, 2026
8e9846e
Fix Slack FUSE recent.md hydration
mohammedahmed18 Jul 17, 2026
d37f4af
Improve Slack FUSE read performance
mohammedahmed18 Jul 18, 2026
d01e4da
Merge remote-tracking branch 'origin/main' into slack-readonly-connector
mohammedahmed18 Jul 20, 2026
0492201
Merge remote-tracking branch 'origin/main' into slack-readonly-connector
mohammedahmed18 Jul 21, 2026
78d4b35
Fix cross-platform Slack connector CI tests
mohammedahmed18 Jul 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ members = [
"crates/locality-gmail",
"crates/locality-granola",
"crates/locality-linear",
"crates/locality-slack",
"platform/linux/locality-fuse",
"platform/windows/locality-cloud-files",
]
Expand All @@ -35,3 +36,4 @@ locality-google-calendar = { path = "crates/locality-google-calendar" }
locality-gmail = { path = "crates/locality-gmail" }
locality-granola = { path = "crates/locality-granola" }
locality-linear = { path = "crates/locality-linear" }
locality-slack = { path = "crates/locality-slack" }
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ This file approach simplifies external apps for your agents, and collaborating w

https://github.com/user-attachments/assets/b2486a4a-e957-4c4f-8e4d-12163c920b16

The first supported platform is Notion: pages become directories, page bodies live
Locality began with Notion support: pages become directories, page bodies live
in `page.md`, child pages become child directories, and database rows become
page-like folders with frontmatter. Humans, editors, scripts, and coding agents
can search, read, and edit those files with ordinary filesystem tools while keeping
Notion as the source of truth.
can search, read, and edit mounted files with ordinary filesystem tools while
keeping the remote app as the source of truth.

```text
~/Library/CloudStorage/Locality/notion
Expand Down Expand Up @@ -239,6 +239,7 @@ Core crates and directories:
| `crates/locality-core` | Connector-neutral sync model, canonical Markdown, diff planning, validation, guardrails, conflicts, and journals. |
| `crates/locality-connector` | Connector trait and data types for enumerate, fetch, render, parse, apply, and reverse apply. |
| `crates/locality-notion` | Notion API client, DTOs, renderer, parser/apply support, database schema handling, media, and OAuth integration. |
| `crates/locality-slack` | Slack Web API client, OAuth credential handling, read-only conversation projection, and Markdown rendering. |
| `crates/locality-store` | SQLite state store, migrations, mounts, entities, shadows, journals, credentials metadata, and freshness state. |
| `platform/linux/locality-fuse` | Linux FUSE helper for online-only virtual mounts. |
| `platform/windows/locality-cloud-files` | Windows Cloud Files provider runtime. |
Expand Down
1 change: 1 addition & 0 deletions apps/desktop/src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ locality-google-calendar.workspace = true
locality-google-docs.workspace = true
locality-notion.workspace = true
locality-platform.workspace = true
locality-slack.workspace = true
locality-store.workspace = true
localityd = { path = "../../../crates/localityd" }
notify = "8"
Expand Down
Loading
Loading