Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
aeca5ec
feat(cli): add 'buzz import slack' — Slack workspace history importer
RenKoya1 Jul 24, 2026
8bfae2f
feat(relay): authorized-import exemption for backdated third-party ev…
RenKoya1 Jul 24, 2026
b9830c4
test(desktop): serialize oversized-hint test on the rate-limit gate lock
RenKoya1 Jul 24, 2026
d986a06
refactor(cli): bundle slack-import session state into an Importer struct
RenKoya1 Jul 24, 2026
fabacc4
feat: owner-signed identity bindings; drop private-key mapping mode
RenKoya1 Jul 24, 2026
5d3a43a
feat(desktop): render imported history under the real author
RenKoya1 Jul 24, 2026
d85b0ef
docs(slack-import): rewrite for zero-custody binding attribution model
RenKoya1 Jul 24, 2026
b9d35fb
feat: two-party consent for import identity bindings
RenKoya1 Jul 24, 2026
d402bce
feat(migrate): claim-service core — magic-link tokens, roster, attest…
RenKoya1 Jul 24, 2026
76a4dbb
feat(migrate): email-channel HTTP service + buzz-migrate binary
RenKoya1 Jul 24, 2026
ec86b76
feat(migrate): OIDC (Sign in with Slack) channel + security hardening
RenKoya1 Jul 24, 2026
22a4dce
feat(desktop): buzz://import-claim deep link — one-click migration claim
RenKoya1 Jul 24, 2026
63e2d2b
feat(desktop): Slack-migration Settings entry + live e2e for the clai…
RenKoya1 Jul 24, 2026
0a32b0d
feat(migrate): OAuth sign-in also joins the community (idempotent mem…
RenKoya1 Jul 24, 2026
4c8148b
feat(slack-import): integrated Slack-OAuth join + claim service
RenKoya1 Jul 24, 2026
3db52a6
fix(slack-import): harden migration security per review
RenKoya1 Jul 24, 2026
f86e55f
refactor(slack-import): harden migration onboarding
RenKoya1 Jul 24, 2026
5fc9266
test(slack-import): cover empty-bot thread-root reply promotion
RenKoya1 Jul 24, 2026
41f85ab
fix(slack-import): align OIDC flow and docs
RenKoya1 Jul 24, 2026
a904ea9
Merge remote-tracking branch 'upstream/main' into feat/slack-import
RenKoya1 Jul 25, 2026
34e967f
fix(slack-import): keep import checks off hot paths and fail honestly
RenKoya1 Jul 25, 2026
cb0f482
Merge branch 'block:main' into feat/slack-import
RenKoya1 Jul 26, 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
4 changes: 4 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,10 @@ RELAY_URL=ws://localhost:3000
# the web frontend at / for browser requests. Leave unset for local dev
# (use `just web` for Vite HMR instead).
# BUZZ_WEB_DIR=./web/dist
# Maximum accepted age of an event's created_at in seconds (default 900).
# Future drift stays fixed at +15 min. Raise temporarily to run a history
# import (e.g. `buzz import slack` — see docs/slack-import.md), then restore.
# BUZZ_MAX_PAST_DRIFT_SECS=900

# Shared Redis-backed admission limits. Defaults shown below; each value must
# be a positive integer.
Expand Down
29 changes: 29 additions & 0 deletions Cargo.lock

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

4 changes: 3 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ members = [
"crates/buzz-workflow",
"crates/buzz-media",
"crates/buzz-cli",
"crates/buzz-migrate",
"crates/buzz-pairing-cli",
"crates/buzz-sdk",
"crates/buzz-persona",
Expand Down Expand Up @@ -86,7 +87,7 @@ thiserror = "2"
anyhow = "1"

# Utilities
uuid = { version = "1", features = ["v4", "serde"] }
uuid = { version = "1", features = ["v4", "v5", "serde"] }
chrono = { version = "0.4", features = ["serde"] }

# HTTP client (webhook delivery)
Expand All @@ -96,6 +97,7 @@ reqwest = { version = "0.13", features = ["json", "rustls"], default-features =
sha2 = "0.11"
hex = "0.4"
hmac = "0.13"
ring = "0.17"

# Randomness
rand = "0.10"
Expand Down
Loading