Add Matrix credential upload route + local seed script
Closes the noVNC-unavailable gap: when Dokploy's reverse proxy strips WebSocket upgrades for noVNC, there's no way to do a one-time interactive Reddit login in the deployed container. Without that, extractMatrixCredentials inside the container hits the /chat/ login wall and never sniffs a bearer. Add POST /api/debug/matrix-credentials that accepts a credentials JSON body, persists it to data/matrix-credentials.json, and hot-swaps it into the running ChatService via setMatrixClient. Also export saveCredentials from the chat module so the route can reuse the same cache-file logic as the in-container sniff. scripts/seed-matrix-creds.ts opens a headed Chromium on the dev's machine, waits for an interactive Reddit login (detected by polling /api/me.json from inside the page), opens www.reddit.com/chat/, sniffs the first authed matrix.redditspace.com request, resolves user_id via /whoami, and POSTs the result to BOT_URL/api/debug/matrix-credentials. End-to-end seeding without ever touching the container. Usage: BOT_URL=https://red.apps.jbrunton.co.uk tsx scripts/seed-matrix-creds.ts Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
1 parent
e58bccf6b5
commit
0c7df6e1d3
3 files changed
+196
No files matched your search
@@ -20,5 +20,6 @@ export type { MatrixCredentials } from './matrix/types.js';
|
||||
export {
|
||||
extractMatrixCredentials,
|
||||
loadCachedCredentials,
|
||||
saveCredentials,
|
||||
} from './matrix/token-extractor.js';
|
||||
export { MatrixMediaDownloader } from './matrix/http-media-downloader.js';
|
||||
Reference in new issue
Block a user