- Reddit session
Access
{sessionLabel(session)}
- When Reddit is logged out, account work is paused and waiting for a fresh session dump from the extension.
- {username ? Signed in as .
: null}
+ Reddit accounts
Access
{sessionLabel(session)}
+ Add each Reddit account with its own extension session dump. Content and sync state stay owned by that account in the database. Any account with an expired login pauses while waiting for a fresh session dump; other accounts keep running.
+ {username ? Verified account: .
: null}
+
+ {(accountsQuery.data ?? []).map((account) => (
+
+
{account.isRunning ? 'Running independently' : 'Waiting for a refreshed session'}
+
{account.isRunning ? 'Running' : 'Paused'}
+
+ ))}
+ {accountsQuery.isSuccess && accountsQuery.data.length === 0 ?
No Reddit accounts have been added yet.
: null}
+
void importSession(event.target.files?.[0])} ref={importInput} type="file" />
-
-
+
+
- Open Reddit Chat in Chrome, wait for the extension badge to show OK, then upload its JSON dump here. It contains login credentials; do not share it.
- {importMutation.isSuccess ? Reddit session imported and verified.
: null}
+ Open Reddit Chat in Chrome for the account you want to add, wait for the extension badge to show OK, then upload its JSON dump. It contains login credentials; do not share it.
+ {importMutation.isSuccess ? Reddit session imported and verified. Account runtime is running independently.
: null}
{importMutation.isError ? {errorMessage(importMutation.error)}
: null}
);
diff --git a/apps/dashboard/src/features/settings/settings-api.ts b/apps/dashboard/src/features/settings/settings-api.ts
index 427494d..2716dd5 100644
--- a/apps/dashboard/src/features/settings/settings-api.ts
+++ b/apps/dashboard/src/features/settings/settings-api.ts
@@ -5,11 +5,13 @@ import {
ConfigUpdateResponseSchema,
ErrorResponseSchema,
LoginStatusResponseSchema,
+ RedditAccountsResponseSchema,
RedditCookieImportRequestSchema,
RedditCookieImportResponseSchema,
type ConfigResponse,
type ConfigUpdateRequest,
type LoginStatusResponse,
+ type RedditAccountSummary,
} from '../../../../../packages/api-contracts/src/index.js';
import { dashboardRequest } from '../../api/request.js';
@@ -46,7 +48,11 @@ export function fetchLoginStatus(): Promise