What two days of real Reddit broke

Version 0.2 went live and we used it on our own Reddit for two days. This is the list of what was wrong, in the order we ran into it. All of it is fixed in version 0.2.1, which is built and goes to Mozilla for review next.

We test on copies of Reddit’s pages, because Reddit turns automated browsers away. We wrote about that before. A copy is only as good as what we thought to put in it, and each of these was something we had not thought of.

Two flags on one picture, and the picture pushed down

An image post showed two flags above the picture, and they took up a row of their own, shoving the picture down the page.

Reddit puts the same picture into a post three times: a blurred copy as a backdrop, the picture itself, and a hidden full-size copy for when you zoom. The add-on treated each as a picture and gave each a flag. Two of them were visible.

Now it reads only the picture itself, and the flag floats on the picture’s corner instead of sitting in the layout.

The same three copies caused a quieter fault. The hidden copy lives at a different address from the visible one, so the server concluded that the same account had posted the picture “in 1 other place”. It had not. The server now goes by the post a picture sits in, not by the address of the file.

A flag on a subreddit’s icon

Next to a post in the feed, the little round icon of the subreddit had an image flag on it. Nobody needs to tag r/technology’s logo as AI.

The add-on already skipped small pictures. But this icon is a large file shown at 24 pixels, and the add-on was judging by the size of the file. It now judges by the size on screen as well, and leaves icons, avatars and hover cards alone wherever they are.

Galleries: no flag on the second picture

A post with several pictures had a flag on the first and nothing on the rest.

Reddit adds the later pages of a gallery empty and fills in their pictures a moment afterwards. By then the add-on had looked at the post once and moved on. It now keeps looking at a post’s pictures as they arrive, so every page of a gallery gets its flag.

Two marks where one would do

An account with a lot of karma got its usual flag and, beside it, a second mark with the figures. Two things next to one name, about the same account, each opening the same menu.

They are one now. The flag itself carries the figures: “271k karma in 1 month”.

Karma thresholds that were guesses

The first rule for “a lot of karma for its age” was a single line we made up. It marked a twenty-year-old account with 37 million karma the same way as a month-old one with 271 thousand. Those are different things: one is a well-known regular, the other is what the mark was built for.

So there are two levels now. A young account far above what its age explains stands out in red. Anyone with very high karma, at any age, gets a quieter amber mark.

Then the numbers. Our first figures looked too high, on the reasonable ground that most Reddit accounts never get anywhere near 100,000 karma. That is true of Reddit as a whole. It turned out not to be true of the accounts the add-on looks up, which are the posters and top commenters of threads. Of the first 64 of those, the median had 38,000 karma and 20 had more than 100,000. People at the top of a thread are not typical accounts.

The young ones were another matter. No account under 30 days old in that sample had more than 2,700. So the steps for young accounts were halved, and the any-age figure stayed where it was. Sixty-four accounts is a small sample, and we will set these again when there are more.

The menu

The tag menu got shorter and clearer.

  • The kinds of bot (AI, repost, spam, declared) appear once you pick “bot” or “maybe bot”. Before, they were always there, including for people you were about to mark human.
  • The human side has optional kinds too: a person who uses AI to write, who reposts, or who promotes something. A real person can do any of the three.
  • The top of the menu is a few labelled lines: what Reddit says about the account, what SynthStamp has seen of it, and the tags. Under them, one sentence says what your tag will apply to. “Only this picture, wherever it reappears” was our wording and it was not clear. It now reads: “Your tag goes on the picture, not the account: it shows wherever this picture is posted again, by anyone.”
  • When the same account posted something in another place, the menu links to that place. Before, it only told you there was one.

What a tag keeps

When you tag an account, the post or comment you tagged it from is kept with the tag, as the reason for it. That was true in 0.2, with gaps: only the first one was kept, and a picture with no text around it was not kept at all. Now each time a tag is set or changed, the text and the picture it was made from are recorded.

One more thing the add-on sends

In 0.2.1, with page sharing on, a comment is sent with two more details from the page: which comment it replies to, and its score. Nothing is shown from this.

The reason is something we kept running into while tagging. A machine-written comment near the top of a thread often has a run of machine-written replies under it, all saying roughly the same thing, most of them voted down. That is not enough to tag anyone on. It is worth being able to look at properly before deciding whether to show anything, and for that the reply structure has to be kept. It is listed on the privacy page and on the add-on’s consent page.

What we have not seen yet

Version 0.2.1 has passed our tests, which run on copies. It has not been on real Reddit. The floating flag in particular sits inside a box that Reddit clips, and until we see it on the real page we do not know that nothing covers it. If it does, that will be the first line of the next post like this one.