feat: flag accounts Reddit considers unestablished and re-test them
New accounts cannot start chats until Reddit considers them established. Until now the bot would burn a candidate on every invitation Reddit was always going to reject, with nothing in the dashboard explaining why the account looked idle. Two signals feed the verdict. A periodic profile check reads the account's own age, karma and email verification from about.json and compares them against configurable thresholds — that is what flags a brand new account before it wastes anything. A rejected invitation is authoritative: Reddit has told us directly, so the account is held out of sending with a backoff that doubles per rejection, and a delivered invitation clears the flag outright. An unestablished account takes no new posts (canAcceptPost), raises an attention item, reports an `unestablished` sending state, and shows its age/karma evidence on the Accounts page. An unchecked account is always allowed through, so a first run is never blocked. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c43e534cf1
commit
89eb4583f8
25 files changed
+1425
-11
No files matched your search
+6
-1
@@ -43,7 +43,11 @@ import { PushNotifier } from './services/push-notifier.js';
|
||||
import { RedditSessionImporter } from './services/reddit-session-importer.js';
|
||||
import { AccountAuthContext, authenticateCurrentAccount } from './services/account-auth-context.js';
|
||||
import { ConfigStore } from './config/persistence.js';
|
||||
import { RedditAccountsRepository, AccountContentRepository } from './database/account-repositories.js';
|
||||
import {
|
||||
RedditAccountsRepository,
|
||||
AccountContentRepository,
|
||||
RedditAccountEstablishmentRepository,
|
||||
} from './database/account-repositories.js';
|
||||
import { RedditAccountsService } from './services/reddit-accounts.js';
|
||||
import type { Cookie } from 'playwright';
|
||||
import { ChatCache } from './services/chat/cache.js';
|
||||
@@ -371,6 +375,7 @@ export async function bootstrap(
|
||||
accountAuth,
|
||||
accountRuntimeManager,
|
||||
browserClient,
|
||||
new RedditAccountEstablishmentRepository(db),
|
||||
);
|
||||
if (config.web.enabled) {
|
||||
webServer = new WebServer(
|
||||
|
||||
Reference in new issue
Block a user