Skip to content

Latest commit

 

History

History
78 lines (66 loc) · 5.38 KB

File metadata and controls

78 lines (66 loc) · 5.38 KB

Discrub Roadmap

Forward-looking scope for the Discord data manipulation + export extension (Chrome MV3 + Firefox).

Planned Features

Export

  • HTML export theming: dark (current) + light + "Discord classic" themes via CSS variables.
  • PDF export via the browser print path with page-break-safe styling.
  • EML / MBOX export so exports import cleanly into email archives and legal-hold systems.
  • Voice-message transcription using whisper.cpp WASM when exporting media.
  • Embedded sticker/custom-emoji re-upload lookup: keep them viewable in the HTML export after the server deletes them.

Purge & Edit

  • Edit-history preservation: when editing in bulk, write the original to an encrypted local ledger before overwrite.
  • Purge scheduling: run a recurring purge nightly (via alarms) with per-channel age thresholds (e.g., delete older than 30 days in DM X).
  • Keyword regex purge with capture-group replacement preview diff.
  • Purge-by-reaction: delete only messages that got a specific emoji reaction count.
  • Reaction removal targeting specific users across a channel range.

Analytics

  • Per-server "contribution graph" heatmap comparing you vs server mean.
  • Sentiment timeline using a local ONNX sentiment model (no tokens leave browser).
  • Mutual-server overlap detector between selected users.
  • Top-N word cloud export as SVG for social sharing (with privacy scrub option).
  • Reply-rate / response-time analytics per conversation.

Safety & Privacy

  • Streamer mode hotkey to toggle content blur without opening settings.
  • Local token encryption at rest (current: GM storage; move to chrome.storage encrypted with a user passphrase).
  • GDPR data-package import browser that redacts DMs with people on a user block list.
  • One-click "nuclear" profile wipe: edit every message to a placeholder + delete in order, no resumption.

Competitive Research

  • Undiscord — open-source purge reference; faster at raw delete but no export/filter depth. Discrub's export engine is the moat.
  • Redact.dev — multi-platform (Discord/Twitter/Reddit), paid; Discrub can differentiate by staying Discord-focused and free.
  • Unpost (mobile) — archive-based cleanup via Discord data package; Discrub already supports this, highlight the flow in the README.
  • Discord Batch Deleter — bare-bones extension; cite as "the simple alternative" and accept the users who want only delete.

Nice-to-Haves

  • Cross-platform twin on Telegram / Matrix (separate repo, same brand family).
  • Automated "trust & safety" export tailored to Discord's abuse-report format (pre-filled report template).
  • Optional self-hosted companion that pulls via REST API with a bot token (for large communities where user-token rate limits hurt).
  • In-extension preview of what the user-agent / referer / device fingerprint looks like from Discord's side.
  • Pluggable export formatters loaded from user-supplied JS modules (sandboxed).
  • Encrypted cloud archive pipeline (user brings their own S3 / B2 key).

Open-Source Research (Round 2)

Related OSS Projects

Features to Borrow

  • Bot-token mode (not user-token) for export flows so user account stays TOS-safe (DiscordChatExporter)
  • HTML export with embedded media + CSS identical to Discord rendering (DiscordChatExporter)
  • Chat Analytics integration: pipe exports into analytics for word-cloud/activity maps (DCE companion)
  • Exponential back-off on 429 with Retry-After honoring + jitter (Undiscord rate-limit handling)
  • "Attachment vault" mode: download all images/videos/files and rewrite URLs to local paths (DCE)
  • Preview-before-delete dry-run with filterable table of matched messages (already partial, extend)
  • Reply-chain preservation in export: keep the referenced message's preview inline (DCE)
  • Group DM coverage for both delete and export flows (insane/discord-bulk-message-deleter)
  • Scheduled recurring export (daily/weekly) to a local folder with delta only
  • Signed export manifest + SHA256s so archived chat logs can prove non-tampering

Patterns & Architectures Worth Studying

  • Separation of Core library + CLI + GUI — DiscordChatExporter does this cleanly, portable to extension + standalone
  • Channel iterator that respects Discord's pagination (before/around/after snowflakes) instead of time-based math
  • Storage pipeline: stream messages to disk as NDJSON during scrape, re-render to HTML in second pass (DCE) — bounds memory
  • Request throttler with token-bucket tuned to Discord's bucket headers (X-RateLimit-*) rather than fixed sleep
  • Resumable operations: persist cursor + last message ID to IndexedDB, resume on browser reload (extension-friendly)