Repository navigation
refactor: DRY sweep across settings, messaging... - #93
Conversation
…in settings facade
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1dbc123607
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fabec68886
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bc9021c740
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e632aa1a3d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
A DRY/simplify sweep across the extension. Roughly 95% of the diff is dedupe and
deletion; four user-visible fixes came out of it along the way.
No version bump and no changelog entry — the sweep isn't a release. The four
fixes below ride along and get changelogged whenever the next release ships.
What got centralized
Four cross-cutting concerns each collapsed from many copies into one path:
utils/settings.tsowns defaults, merge,isEnabled, read/write/watch{ action, ... }objects, two background listenersutils/messages.tstyped contract, one background routerutils/mainWorldBridge.tstyped client/serverTabIdunion, andPopupSectionmaintained separatelyentrypoints/popup/tabs.tssingle registryPlus: shared CSV/download helpers (
utils/export.ts), SupabaseVALID_ACTIONSgenerated from the client list instead of hand-mirrored, and a pile of dead code
deleted (
formatTimeAgo, unused contextMenu CRUD, commented-out Theme tab markup).Net: -2589 / +1945 across 88 files.
User-visible fixes found during the sweep
always rendered as if set to default (
9f30d6a)no longer waits on a main-world round trip; the theme card fills in after
(
eaedaa4)2026-08-09 instead of "11 months". Both formatters now share calendar
arithmetic (
1cd043f,fe1a9c9)never neutralized leading
=/+/-/@. Now every field goes throughcsvFieldAlso hardened: the background message router now rejects messages whose
sender.idisn't this extension (previously only the link-status listenerchecked), and the main-world theme response posts to
window.location.origininstead of
'*'.