Repository navigation
Releases: raegen/moxy
Releases · raegen/moxy
Release list
v1.3.5
Changed
- Captures moved off
chrome.storageentirely, into IndexedDB. v1.3.2 → v1.3.4 chased the symptom — first hopping from.localto.session, then adding FIFO eviction when.sessionfilled 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 supportstabId-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-writewithWriteLock(captures)serialization are both gone — IndexedDB handles transactional ordering itself. On boot the SW also purges the legacymoxy:capturesblob from BOTHchrome.storage.localandchrome.storage.sessionso 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
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 ofUntitled (DevTools) — tab 1111726977. Falls back to hostname, then title, thenUntitled scenariowhen 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.jsonfile. 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.pngrendered 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 activebadge and thetab Nbadge (the latter was a leftover from when the side panel mirrored DevTools and needed to disambiguate tabs). Disabled-rules signal folded into therulestab pill — showsN/Monly when some rules are toggled off. Clearbutton moved. Was in the header, now lives in a small toolbar above the capture list (N captureson the left,clearon 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.