Files
reddit-tweaks-ffe/chat-summaries/2026-08-26_14-07-summary.md
cottongin cca7940dd9 fix: subreddit badge fill, tagline 'to' cleanup, and comments li spacing
- Default subreddit badge background from transparent to opaque fill
  (light: #fde8e0, dark: #3d2518) so page highlights don't bleed through
- Remove lingering "to" text node from tagline when subreddit is hidden
- Hide the <li> wrapping the comments link (not just the <a>) to
  eliminate leftover whitespace in the flat-list
- Simplify popup: subreddit bg fields are now color pickers (no longer
  need transparent text-input workaround)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 15:32:33 -04:00

2.1 KiB

Firefox Reddit Tweaks Extension — Full Build

Date: 2026-08-26

Task

Design and implement a Firefox extension that reskins old Reddit post listings by moving subreddit names and comment counts into styled badge elements above each post title.

Process

  1. Brainstorming — Explored requirements via mockup analysis and clarifying questions (old Reddit only, all pages, user-configurable colors with per-subreddit overrides, light/dark mode)
  2. Design spec — Written, self-reviewed, committed (docs/superpowers/specs/2026-08-26-reddit-badge-tweaks-design.md)
  3. Adversarial review — Found and resolved 9 gaps (div.thing selector, shared module loading, FOUC, teardown logic, dark mode timing, observer target, comment text parsing, permissions, storage quotas)
  4. Implementation plan — 4 tasks, committed (docs/superpowers/plans/2026-08-26-reddit-badge-tweaks.md)
  5. Subagent-driven execution — Each task dispatched to implementer, then reviewed:
    • Task 1: Manifest + settings module + icons
    • Task 2: Badge CSS with FOUC prevention
    • Task 3: Badge DOM manipulation with MutationObservers
    • Task 4: Settings popup UI
  6. Final review — Found 1 Critical (disabled-state hides UI), 2 Important (shallow merge, fire-and-forget saves). All fixed.

Files Created

  • manifest.json — Extension manifest (MV2)
  • lib/settings.js — Settings read/write module
  • content/styles/badges.css — Badge styling + FOUC prevention
  • content/tweaks/badges.js — DOM manipulation + observers
  • content/main.js — Entry point + storage listener
  • popup/popup.html — Settings UI
  • popup/popup.css — Settings styling
  • popup/popup.js — Settings logic
  • icons/icon-48.png, icons/icon-96.png — Placeholder icons

Follow-up Items

  • Manual QA in Firefox via about:debugging (test checklist in spec, items 1-15)
  • Replace placeholder icons with proper design
  • Optional: extract subreddit name helper for DRY
  • Optional: add error handling to loadSettings() / init()
  • Optional: support transparent backgrounds in per-subreddit overrides