Install Theme
image
image

bruh

About my fake staff ask

How I made it:

Currently, the tumblr API just… lets you make a post in which you “reply” to an “ask” from an arbitrary user, containing arbitrary content.

In tumblr’s Neue Post Format (NPF), responses to asks look similar to other posts. The only difference is that they have a special entry in their “layout,” specifying which part of the post is the ask, and who it is from.

Right now, if you try to create an NPF post with this kind of layout entry in it, it just works! You can use this to make an “ask” from anyone, containing anything, and answer it.

This is a huge bug and presumably will get fixed sometime soon?

How I discovered the bug:

Weirdly enough, I find out about it while trying to improve @nostalgebraist-autoresponder’s alt text features this past week.

As you may have noticed, Frank now writes alt text differently, with more clarity about which pieces are AI-generated and what role they play.

While making this change, I found myself newly frustrated with my inability to use line breaks in alt text. The API used to let me do it, but then it stopped, hence all the “[newline]” stuff in older alt texts.

After poking around, I found that you can use line breaks in alt text on tumblr, and you can do this through the API, but only if you create posts in NPF.

Frank creates posts in legacy, not NPF. This has been true forever, and it works fine so I’ve had no reason to change it.

Fully rewriting Frank’s post creation code to use NPF would take a lot of work.

Right now, Frank’s language model generates text very close to a limited subset of HTML, which I can send to tumblr as “legacy” post content basically as-is. To create posts in NPF, I’d have to figure out the right way to convert that limited HTML into NPF’s domain-specific block language.

I wasn’t going to do that just to support this one nicety of alt text formatting.

“But wait…”, I thought.

“Frank is already making these posts, with the alt text, in legacy format. And once they exist on tumblr, it’s easy to determine how to represent them in NPF. I just fetch the existing post, in NPF format.”

So all I need to do is

  1. Have Frank make the post, as a draft, with the alt text containing “[newline]” or something in place of the line breaks I really want.
  2. Fetch this draft, in NPF.
  3. Create a new NPF post, with the same contents that we just fetched, in whichever state we wanted for the original post (draft, published, or queued).
  4. Delete the draft we made in step 1.

This was convoluted, but it worked! I patted myself on the back for a clever workaround, and went on to do other stuff for a while…

…and then it hit me.

In the case where the post was a response to an ask, Frank was doing the following:

  1. Responding to the ask.
  2. Fetching the response in NPF.
  3. Creating a completely new post, identical to the response – including the contents of the original ask.
  4. Deleting the original ask.

Meaning, you can just make asks ab nihilo, apparently.

So after a few more tests, I went and made the @staff ask, as one does.

Unfortunately, once the bug gets fixed, Frank’s newlines-in-alt-text solution won’t work for asks anymore… oh well, it wasn’t a big deal anyway.

needsmorerainbow asked:

I just saw someone mention the shadowban tag on the autoresponder, and I wanted to say thank you too because that's how I found out

and it is pretty much just putting in a support ticket and waiting a while until Tumblr gets around to you, you know it's working when you start getting porn bots following you again lol

thank you! I have no idea how long it's been going on for but I'm so glad you helped me find out

You’re welcome, glad to hear it was helpful!

For anyone wondering what we’re talking about – check out this tag on Frank’s blog.

For a long time, I’ve had to manually “tell Frank about” asks from users in this special flagged state when they come in, as Frank can’t see them normally.

(I do this by sending Frank a specially formatted ask containing the post ID – it’s a “command” similar to !mood, but for my use only.)

On Feb 13 2023, I added a feature where Frank adds extra tags when she replies to these asks, explaining the situation. The link above goes to one of these tags.

As you can see, Frank’s gotten asks from a number different of users in this state, just in the last month or so.

secondimpact asked:

I just want to thank you for the automatic tag on Frank’s blog when someone inappropriately flagged by the spam filters sends her an ask. I was “shadow banned” for a while, and didn’t understand why/what happened until I saw the automatic tag, and read the post linked.

Glad to hear it helped!

It’s amazing how many people are “shadowbanned” / spam-filter-afflicted / whatever the approved term is.

In that post (from about a year ago), I back-of-the-envelope estimated it as 1% of the user base. I haven’t re-run the same estimate since then, but subjectively, I feel like I’ve seen the issue at about the same rate over the last year.

Taken in aggregate, it’s a pretty big usability problem with Tumblr. I’m not sure what to do about it, though, except encourage people to file support tickets.

hexane-nightmares asked:

Something went very strange with this post, it's different in each reblog. Do you think it's just tumblr, or something to do with Frank's code, or something to do with asks containing multiple images with alt texts, or real cursed artefacts? Or a combination? I'm just very curious. And I don't want to break Frank.

image

...

image
image

It’s because Frank didn’t write anything in response.

The Tumblr user interface doesn’t let you do that, but the Tumblr API does, and apparently it makes Tumblr confused about which part of the thread is which.

I’ve seen several bugs like this this over the years in Frank posts.

official-kircheis asked:

Frank has been tagging posts #[]. Maybe this is genuine, but also that's a Python empty list so looks a bit sus.

nostalgebraist:

nostalgebraist:

Thanks for the heads up.

This is a longstanding bug. Frank first used that tag on 4/4/2021, according to this page, although I could have sworn she was doing it much earlier than that.

It happens intermittently, without any obvious pattern. I originally assumed it was a bug in my code (or in pytumblr), but over time I’ve started to suspect it’s actually a bug in the tumblr API.

wait nvm i just found it, it’s a bug in pytumblr

lmao

Explanation:

pytumblr’s edit_post function takes a tag list as an optional argument. It only converts the tag list into a comma-separated string if that list itself evaluates to True as a boolean (“if … kwargs[‘tags’]”).

So if you don’t pass any tags, you’re fine. If you pass one or more tags, you’re fine. If you pass tags, but they’re an empty list/tuple/whatever, they don’t get converted into a string here. The conversion happens in a lower layer that converts themto a string by (effectively) calling str() on them. And str([]) is “[]”.

I pushed a workaround to Frank. Hope I did it right, we’ll see…

official-kircheis asked:

Frank has been tagging posts #[]. Maybe this is genuine, but also that's a Python empty list so looks a bit sus.

nostalgebraist:

Thanks for the heads up.

This is a longstanding bug. Frank first used that tag on 4/4/2021, according to this page, although I could have sworn she was doing it much earlier than that.

It happens intermittently, without any obvious pattern. I originally assumed it was a bug in my code (or in pytumblr), but over time I’ve started to suspect it’s actually a bug in the tumblr API.

wait nvm i just found it, it’s a bug in pytumblr

lmao

I finally got around to writing a new version my fiction page, which was kind of a mess before.

On a related note, I’ve modified my theme slightly. If you’re viewing on mobile, or in the pop-up view on desktop, there should now been some links underneath the blog title.

I’ve had a similar links bar on nostalgebraist.tumblr.com for a long time, but I could never figure out how to add something similar on mobile that looked OK and didn’t break anything. Now I’ve finally got it working.

(The trick was removing the part of my theme that showed the “description,” and then using the description field to control what’s shown on mobile/popup, since it always gets shown there no matter what’s in the HTML. This is probably well-known, but I only just figured it out.

Also, I added a nonfunctional reference to {BackgroundColor} into my theme, which gave me a Background Color picker that only affects mobile/popup. Then I set this to a green color – the same one I’m already using for this purpose on Frank’s blog. I picked this color to contrast as well as possible with the link color of tumblr’s various user-selectable mobile color themes.

I did the best I could here, but making links in mobile headers look OK is apparently impossible in the general case.)