-
Notifications
You must be signed in to change notification settings - Fork 37
feat: PR 7 — drop badge_counts table; per-user DO storage; JWT-authed badge endpoints #2961
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
iscekic
merged 101 commits into
feat/kilo-chat-migration-pr1
from
feat/kilo-chat-migration-pr7
Apr 30, 2026
Merged
Changes from all commits
Commits
Show all changes
101 commits
Select commit
Hold shift + click to select a range
3ed7b94
refactor(db): rename channel_badge_counts to badge_counts (general pu…
iscekic e8d062c
feat(db): migration to rename badge_counts and reset rows
iscekic 20b9b3b
feat(notifications): add badge-bucket key builders
iscekic 1bb97c6
chore(notifications): add EVENT_SERVICE binding, drop STREAM_CHAT_API…
iscekic d87c0fb
chore(notifications): add vitest scaffold
iscekic 2a621db
feat(notifications): rewrite NotificationChannelDO around dispatchPush
iscekic 26fccf5
chore(notifications): drop orphan badgeBucketForInstance helper
iscekic 7fad879
feat(notifications): add sendPushForConversation WorkerEntrypoint RPC
iscekic f6e1848
chore(notifications): delete Stream webhook route
iscekic 3c7c82e
chore(notifications): type EVENT_SERVICE RPC and enable cloudflare:te…
iscekic 227b90e
feat(event-service): add kiloclaw event-context helpers; migrate kilo…
iscekic 87f0fab
feat(kilo-chat): add fetchSandboxLabel helper
iscekic 822d327
chore(kilo-chat): add NOTIFICATIONS service binding
iscekic 372f0a0
feat(kilo-chat): publish push on message.created via NOTIFICATIONS RPC
iscekic 52fe8a6
chore(notifications): drop orphan stream-chat dep, refresh worker typ…
iscekic 4e95291
fix(notifications): named entrypoint export, retry-safe badge, alarm-…
iscekic 4faf0dd
fix(notifications): close two cleanup-alarm leaks
iscekic 8d7b9d7
refactor(event-service): compose presence contexts from kiloclaw helpers
iscekic 893b7f1
feat(web): add kiloChat.getToken tRPC procedure
iscekic a35c98c
refactor(web): use kiloclaw-context helpers for event subscriptions
iscekic a43585d
feat(web): lift EventServiceClient to global provider
iscekic e98f370
feat(web): add usePresenceSubscription primitive
iscekic 6bfbf95
refactor(web): collapse kilo-chat event subscriptions into usePresenc…
iscekic 832e2b7
feat(web): subscribe to /presence/web while tab is visible
iscekic 99b52d5
feat(web): subscribe to /presence/kiloclaw/{sandboxId} on instance views
iscekic bdb99c6
refactor(web): extract useDocumentVisible primitive
iscekic 405b185
feat(web): subscribe to conversation presence while tab visible
iscekic 4429bdf
style(web): reflow useDocumentVisible useState init to one line
iscekic eca983e
refactor(web): tighten presence hook + kilo-chat router contract
iscekic 7edca1a
fix(event-service): refcount subscribe/unsubscribe by context
iscekic 67e0fe3
chore(mobile): add EXPO_PUBLIC_KILO_CHAT_URL and EXPO_PUBLIC_EVENT_SE…
iscekic 7b2d7fa
chore(mobile): add kilo-chat workspace deps
iscekic 0735765
feat(mobile): add kilo-chat token getter with caching
iscekic 4294250
feat(mobile): add useCurrentUserId from JWT sub
iscekic 4081c29
feat(mobile): add KiloChatProvider
iscekic 57448bd
feat(mobile): add useKiloChatClient and useEventServiceClient hooks
iscekic 257f381
fix(mobile): fix lint errors in kilo-chat token getter
iscekic 5844aaf
fix(mobile): fix lint errors in useCurrentUserId hook
iscekic 825d1ac
fix(mobile): fix lint errors in useKiloChatClient hook
iscekic fe060dd
feat(mobile): mount KiloChatProvider in (app) layout
iscekic 029c69a
fix(kilo-chat): assert non-null in base64urlEncode loop
iscekic f1eb38c
fix(mobile): share kilo-chat token cache + handle fetch errors
iscekic ecf29a1
fix(mobile): tie kilo-chat token cache to auth token, decode kiloUserId
iscekic d73befb
fix(mobile): read auth token at call time, not at hook render
iscekic b89c4d9
feat(mobile): add usePresenceSubscription primitive
iscekic 87a74ed
feat(mobile): subscribe to /presence/app while app is active
iscekic 7e20f1c
feat(mobile): add useInstancePresence hook
iscekic 6d4e6c2
feat(mobile): add useConversationPresence hook
iscekic 4898f43
fix(mobile): fix lint errors in presence hooks
iscekic 1a6b241
feat(mobile): add useEventSubscription primitive
iscekic f0563e8
feat(mobile): add useInstanceEventSubscription
iscekic b939c3f
fix(mobile): apply curly/switch-case-braces lint rules to event hooks
iscekic d40b216
feat(kilo-chat-hooks): create shared package; extract useConversations
iscekic c829254
feat(kilo-chat-hooks): extract useMessages — base query + optimistic …
iscekic aa560af
feat(kilo-chat-hooks): useMessages adds edit/delete/react mutations
iscekic 1dd065a
feat(kilo-chat-hooks): extract useMessageCacheUpdater into shared pac…
iscekic ad591d9
feat(mobile): wire shared kilo-chat-hooks + platform adapters
iscekic 66713ba
fix(kilo-chat-hooks): centralize query keys; tighten event-subscripti…
iscekic ffeb4b6
fix(mobile): subscribe to conversation.* events on instance context
iscekic c259c95
chore(mobile): add @shopify/flash-list dependency
iscekic 41bb565
chore(mobile): add EXPO_PUBLIC_KILO_CHAT_URL and EXPO_PUBLIC_EVENT_SE…
iscekic 5fd8c69
feat(mobile): add EmptyConversationList
iscekic a4c1b99
feat(mobile): add ConversationHeader
iscekic e3b7d04
feat(mobile): add TypingIndicator placeholder
iscekic 0f910d6
feat(mobile): add MessageInput
iscekic 682e87b
feat(mobile): add MessageBubble
iscekic a0f8c84
feat(mobile): add MessageList
iscekic 497613a
feat(mobile): add ConversationScreen
iscekic 0d78ce7
feat(mobile): add ConversationListScreen
iscekic 1bf1b34
fix(mobile): address review feedback on kilo-chat components
iscekic ce577c4
feat(mobile): add chat sandbox stack layout
iscekic a25a8df
feat(mobile): add conversation list route
iscekic 4ed5cb8
feat(mobile): add conversation message route
iscekic 381ad05
feat(mobile): wire chat deep links and active-conversation suppression
iscekic d4e68cc
fix(mobile): clear correct badge bucket on legacy chat foreground push
iscekic 1ea1baf
chore(mobile): delete Stream-based chat components and routes
iscekic bc2af49
chore(mobile): remove useStreamChatCredentials hook
iscekic ce80381
chore: remove stream-chat deps and RN patch
iscekic 24370b5
chore(web): remove Stream tRPC procedures
iscekic 959c2bb
chore(web): delete Stream chat-credentials API route
iscekic 365d72e
chore(web): strip Stream methods from kiloclaw clients
iscekic b0edac9
chore(web): replace ChatTab with redirect, drop Stream hooks
iscekic 8db8959
chore(kiloclaw): delete src/stream-chat directory
iscekic 8369c3e
chore(kiloclaw): remove Stream injections from instance DO and routes
iscekic fedb889
chore(kiloclaw): remove Stream from controller config-writer
iscekic dcd0271
chore(kiloclaw): drop STREAM_CHAT_* secret bindings
iscekic 8fdbc1e
chore(web): remove residual Stream CSS and npm deps
iscekic 687d703
chore(mobile): drop unused exports and deps flagged by knip
iscekic 095de45
refactor(notifications): re-key DO per-user, move badge state to DO s…
iscekic 4bcbef1
feat(notifications): JWT auth + badge HTTP routes
iscekic 98bad80
fix(notifications): mount useWorkersLogger so auth setTags is effective
iscekic 4f7a11e
refactor(web): drop badge_counts tRPC procedures
iscekic 122d76f
feat(mobile): call notifications worker for badge counts
iscekic 023d0fb
refactor(db): drop badge_counts table
iscekic 5412ac3
chore(db): revert incidental NewSecurityAdvisorScan reorder
iscekic dec9db8
docs(notifications): update badge-bucket comment after table drop
iscekic a717ea4
chore: update env vars
iscekic c6ee11c
chore(mobile): drop expo public env prefix
iscekic 6e2549d
chore(kilo-chat): remove redundant non-null assertion
iscekic af6fd77
fix(mobile): clear badge cache on mark read
iscekic 7185c1b
Merge remote-tracking branch 'origin/feat/kilo-chat-migration-pr1' in…
iscekic File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
80 changes: 65 additions & 15 deletions
80
apps/mobile/src/components/kilo-chat/hooks/use-mark-read.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| DROP TABLE "badge_counts" CASCADE; |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.