I’m done!
The basic idea is still pretty small: get cookie banners out of the way, show how long an article might take, and help me find my place again when I have to stop reading.
The cookie skipper took more work than I expected. It had to recognize common consent platforms while searching for the deny button. Some reject buttons were titled I do not agree, which is easy to miss if you only look for buttons named “reject” or “decline”, and not even mentioning the localization options. I ended up checking the surrounding markup and several kinds of button metadata while keeping the actual click logic reject-only.
The reading badge had its own set of edge cases. Articles do not all use the same HTML, and some of them fill in their content after the page loads. I added duplicate protection, a force-show action, and a guard against counting the same badge repeatedly when the toggle is switched on and off.
The marker feature grew out of a practical annoyance: closing a tab should not mean losing the article and the exact place I reached. There are now three slots, each with a name and optional timestamp. Returning to one finds the original tab if it is still open, otherwise opens the page and restores the saved position. Chrome needed an extra fix here because the popup closes as soon as a new tab is created, so the background script has to finish the handoff.
I kept the Chrome and Firefox versions in sync as I went. They share the popup, content, and background behaviour, with the expected Manifest V3 difference in Firefox’s background setup. Firefox also required the local-only data collection declaration before the add-on could be submitted, however it is not present as of version v1.0.0 if you download it via github.
The popup went through a surprising number of small redesigns. I started with a dark three-stat layout, then moved toward the more formal looking version that is there now. It is not trying to be flashy; it just makes the automation visible and gives you control over it. Settings, markers, and stats stay in local extension storage.
After the tests passed and the Firefox submission was accepted, I finally called it finished. It is a small tool, but it removes what I think are a few annoyances that show up every time I read online.
- 3 devlogs
- 3h
- Frictionless
