Repository navigation
Close out #3 and #5, add a system diagram - #8
Merged
Merged
Conversation
Three open issues, two of them resolved by reading gmail.end.bundle.js rather than by writing code. #3, whether to drive Mailsuite's own opt-out instead of deleting the node. Answer is no, and the bundle says why. Their Remove handler kA() branches on signatureVirality, the variant the server assigned the account: 17 or 18 -> dialog, then POST /settings/update/signature { signatureEnabled: false }. persists. permanent. 11 to 16 -> strips this one email, and calls the upgrade modal unless the account carries the disableSignature permission. So their button is only a real opt-out on two of the eight variants, and the variant is not ours to pick. Worse, the persisting path is a server call that changes an account setting. An extension quietly flipping that on somebody's Mailsuite account is a far larger action than deleting a node from a draft, and a much ruder surprise. Deleting the div locally does the same visible job on every variant, touches nothing server side, and stops when you switch it off. Documented in the README, including how to check your own variant, since anyone on 17 or 18 should click Remove once and uninstall this. #5, the popup counter. It counts scrub passes, not distinct emails, so the label was a small lie. Relabelled with the caveat rather than faking precision nobody needs. #7, screenshots. Cannot be done from a terminal, it needs a live Gmail session. Added docs/how-it-works.svg instead, which carries the tracker-versus-watermark split and the five-step receipt loop that the ASCII was straining to show. The issue stays open for the real before and after. 15 tests, unchanged and passing. Closes #3 Closes #5 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013rTepGiDUe15iPn6XqmKjy
GitHub sanitises SVG. If the style block were stripped, every rect would fall back to fill:black and the diagram would render as solid rectangles sitting on top of the text. Unreadable, and the kind of thing you only discover after it is already on the README. All fill, stroke and font attributes are now inline on the elements. No style element, no class attributes, nothing left to strip. Greys still chosen to stay legible on both light and dark backgrounds. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013rTepGiDUe15iPn6XqmKjy
EnesYilmazcode
force-pushed
the
fix/issue-5-counter-label
branch
from
August 9, 2026 02:00
ab26502 to
de60ebc
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #3. Closes #5. Partially addresses #7.
Two of the three open issues turned out to be answerable by reading
gmail.end.bundle.jsrather than by writing code.#3, drive their opt-out instead of deleting the node?
No, and the bundle says why. Their Remove handler
kA()branches onsignatureVirality, which is the signature variant the server assigned theaccount:
So:
disableSignatureThree reasons not to build on it:
not ours to choose.
extension quietly flipping that on somebody's Mailsuite account is a much
larger action than deleting a node out of a draft, and a much ruder surprise
if they did not expect it. Local deletion stops the moment you switch the
extension off. A flipped account setting does not.
The useful half of this is now in the README, including how to check your own
variant:
Anyone on 17 or 18 should click Remove once and uninstall this extension.
Saying so in our own README costs nothing and is true.
#5, the popup counter
It counts scrub passes, not distinct emails, because the observer can fire more
than once on the same draft. Relabelled with the caveat instead of faking a
precision nobody needs:
Took the cheap option from the issue deliberately. A wrong label is worth fixing;
threading per-compose-window state through the extension to make the number
exact is not, for something nobody audits.
#7, screenshots
Still open, and I cannot close it. Real before and after shots need a browser, a
Gmail session and a live Mailsuite account.
What I could do is
docs/how-it-works.svg, which carries the two things theASCII was straining to show: the tracker-versus-watermark split inside the
email, and the five-step loop that produces the read receipt, with the watermark
visibly absent from it. The README embeds it and two ASCII blocks came out.
Deliberately not faking it: rendering their signature markup standalone and
presenting it as a Gmail screenshot would look better and be a lie.
Tests
15, unchanged, passing. Nothing in this PR touches
detect.js.