Sign in
Join now
scn-chat
sharedcomputer.network
/
Star
Starred
Star
Something went wrong. Try again.
Fork
0
Eye filled
Watch
Watching
Watch
ATProto-based AI Assistant Chat interface.
Star
Starred
Star
Something went wrong. Try again.
Fork
Eye filled
Watch
Watching
Watch
Overview
Overview
Issues
Issues
1
1
Pulls
Pulls
Pipelines
Pipelines
scn-chat
/
apps
/
server
/
src
/
storage
10 files
at
main
hadsie.com
·
Upgrade spaces alpha to 20261022. Verify commit and record MACs against #atproto_kem, falling back for accounts without one. New credential exchange and scheme.
·
1w ago
87ebbcdf
chat-service.ts
Bump the chat index only after replying. Wait before claiming a synced turn.
1w ago
local-record-store.ts
Each account's records and blobs come from its ChatService, so createChatServices is the one place that chooses between a spaces PDS and the local fallback, for blobs as for records. The blob stores are bound to a DID like a RecordStore, as SpaceBlobStore(did, getPdsClient) and LocalBlobStore(did, dataDir), and ChatService gains putBlob and readBlob, which the attachment routes and the turn runner use in place of blobsFor, createBlobStores, turnBlobs, and the runner's TurnBlobs, all removed. The fallback's daily sweep is sweepLocalBlobs, which asks the local record store whether any record still references a blob, so only local-record-store.ts knows the local_record table. Reading or syncing a conversation and signing in no longer check the storage mode first, since the sync engine already skips accounts without spaces. Behaviour is unchanged. The turns harness runs on the real ChatService over the fake PDS in place of its fake blobs, so the test that moves a large tool output into a blob reads it back, and the blob tests go through ChatService in both modes, with a new one for a spaces blob no record references. The chat storage and attachments specs describe it.
2w ago
record-store.ts
Upgrade spaces alpha to 20261022. Verify commit and record MACs against #atproto_kem, falling back for accounts without one. New credential exchange and scheme.
1w ago
records.ts
Implement initial buildout of core features.
1mo ago
routes.ts
The conversation:created and conversation:deleted plugin hooks run once for each conversation created or deleted, whichever client made the change, where before only the app's own routes ran them. fireChatHooks, wired in server.ts, runs them from the in-process event bus. ChatService announces the conversations the app creates and deletes, through a listener in place of its onWrite callback. Sync announces one another client created when an index sync finds a new conversationRef, whose op has no previous CID, and one another client deleted through the engine's new conversationDeleted, which the deleted index entry, the missing space, and notifySpaceDeleted all go through. RecentWrites remembers the spaces the server deleted for ten minutes, so sync noticing the server's own deletion doesn't announce it again. The first index sync after sign-in, and any while the index is empty, announces nothing. The routes no longer wait for the hooks before answering, and open tabs now hear about deletions made through the app too. The plugins spec and guide describe it, with tests and an acceptance criterion.
2w ago
services.ts
Upgrade spaces alpha to 20261022. Verify commit and record MACs against #atproto_kem, falling back for accounts without one. New credential exchange and scheme.
1w ago
space-mac.ts
Upgrade spaces alpha to 20261022. Verify commit and record MACs against #atproto_kem, falling back for accounts without one. New credential exchange and scheme.
1w ago
space-policies.ts
Crash and privacy fixes, request validation, login CSRF, SSRF guard, handover race, and cleanup.
1mo ago
space-record-store.ts
Upgrade spaces alpha to 20261022. Verify commit and record MACs against #atproto_kem, falling back for accounts without one. New credential exchange and scheme.
1w ago
validate.ts
Implement initial buildout of core features.
1mo ago