Expired Matrix bearers no longer pause an account until a new extension dump is uploaded. BrowserMatrixTokenRefresher loads chat.reddit.com in the account's persistent browser profile (whose Reddit cookies stay valid), lifts the fresh bearer off the first authenticated Matrix request, verifies it via whoami, swaps it into the live MatrixClient and persists it to the account row. Wired into the per-account runtime at boot verification, the auth-gate authenticator, and ChatService's 401 retry path. A dump is now only needed when the Reddit cookies themselves no longer authenticate. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
export { ChatService } from './service.js';
|
|
export type {
|
|
TokenRefresher,
|
|
UsernameResolver,
|
|
SyncStatus,
|
|
SyncProgress,
|
|
SyncPhase,
|
|
SyncCompletion,
|
|
SyncProgressListener,
|
|
ConversationStartResult,
|
|
} from './service.js';
|
|
export type {
|
|
ActiveChat,
|
|
ChatMessage,
|
|
ChatMedia,
|
|
ChatCacheFile,
|
|
ScrapedChatMessage,
|
|
ScrapedRoom,
|
|
} from './types.js';
|
|
export { MatrixClient, MatrixAuthError } from './matrix/client.js';
|
|
export type { MatrixCredentials } from './matrix/types.js';
|
|
export { loadCachedCredentials, saveCredentials } from './matrix/credential-store.js';
|
|
export {
|
|
MatrixRemoteLoginRequiredError,
|
|
MatrixTokenRefresher,
|
|
} from './matrix/token-refresher.js';
|
|
export { BrowserMatrixTokenRefresher } from './matrix/browser-token-refresher.js';
|
|
export type {
|
|
BrowserMatrixTokenRefresherDeps,
|
|
BrowserMatrixTokenRefresherOptions,
|
|
TokenCaptureContext,
|
|
TokenCapturePage,
|
|
TokenCaptureRequest,
|
|
} from './matrix/browser-token-refresher.js';
|
|
export { MatrixMediaDownloader } from './matrix/http-media-downloader.js';
|
|
export { MatrixUsernameResolver } from './matrix/username-resolver.js';
|