Skip to content

Releases: raegen/moxy

v1.3.5

Choose a tag to compare

@github-actions github-actions released this 18 Jun 14:52

Changed

  • Captures moved off chrome.storage entirely, into IndexedDB. v1.3.2 → v1.3.4 chased the symptom — first hopping from .local to .session, then adding FIFO eviction when .session filled up too. Both storage namespaces share a 10 MB cap across every key, which is structurally the wrong fit: multiple active tabs contend for one tiny pool, captures vanish under pressure, and rules/scenarios/preferences sit in the same namespace fighting for the same bytes. IndexedDB's per-origin quota is browser-managed (hundreds of MB to GB, scaled to free disk), survives SW sleep, and supports tabId-indexed reads so the SW no longer loads the entire captures array on every write. The 500-per-tab cap stays as a sanity bound; the eviction-on-quota loop and the per-write withWriteLock(captures) serialization are both gone — IndexedDB handles transactional ordering itself. On boot the SW also purges the legacy moxy:captures blob from BOTH chrome.storage.local and chrome.storage.session so existing users immediately reclaim quota in those namespaces for the keys that still live there (rules, scenarios, global enabled, preserve-log).

v1.3.1 — scenario UX polish + brand polish + header decluttering

Choose a tag to compare

@raegen raegen released this 23 May 09:27

Changed

  • Auto-created scenario names now come from the inspected page. The first rule you save in a tab with no active scenario creates an ephemeral scenario named {pageTitle} — {hostname} (e.g. GitHub — github.com) instead of Untitled (DevTools) — tab 1111726977. Falls back to hostname, then title, then Untitled scenario when nothing's available.
  • Auto-created scenarios no longer carry the misleading "Rename to keep" description. That string promised rename UI that didn't exist.

Added

  • Inline rename + description editing in the scenario library. Double-click a scenario's name or description in the DevTools panel to edit. Enter saves, Esc cancels. Names can't be empty; descriptions can.
  • Drag-to-export scenarios. Drag a scenario row out of the DevTools panel into Finder/Explorer to drop a .moxy.json file. Drag into a text editor or chat window to paste the raw JSON. The existing Export button stays.
  • Logo in the panel headers. Both DevTools and side panel now show the moxy mark next to the brand name. Reuses icons/moxy-24.png rendered at 16×16.

Removed

  • EPHEMERAL_NAME_PREFIX — ephemeral detection now keys off the scenario id prefix (s_eph_t*) so user-renamed scenarios still survive GC correctly.

UI polish

  • DevTools header decluttered. Removed the N/M active badge and the tab N badge (the latter was a leftover from when the side panel mirrored DevTools and needed to disambiguate tabs). Disabled-rules signal folded into the rules tab pill — shows N/M only when some rules are toggled off.
  • Clear button moved. Was in the header, now lives in a small toolbar above the capture list (N captures on the left, clear on the right). Toolbar only renders when there's something to clear.
  • ON/OFF moved to the right side of both headers. Brand reads as one unit on the left ([logo] moxy); kill switch lives on the right where browsers and IDEs conventionally place controls.

Follow-up polish on v1.3.0 (which shipped optional host permissions + DevTools auto-grant + slim side panel + picomatch URL matcher, but wasn't tagged).

Install: load dist/ via chrome://extensions → Load unpacked, or wait for the Chrome Web Store listing.