# Learn more about twtxt: # https://twtxt.readthedocs.io/en/stable/ # https://www.uninformativ.de/twtxt-mention.html # # nick = movq # url = https://www.uninformativ.de/twtxt.txt # avatar = https://www.uninformativ.de/avatar.png # # For out-of-band replies: `echo ed.vitamrofninu@txtwt | rev` # # This file is available via Gopher, too: # url = gopher://uninformativ.de/0/twtxt.txt # However, since Gopher has no concept of user agents or any kind of # headers, I will not be able to see that you're following me and, thus, # will not be aware of any replies or mentions that you send. Please # either use the HTTPS feed or drop me an email. :) # # Legacy, don't use: # nick_alias = vain # # prev = i2wnvaa twtxt-old_2021-11-08_i2wnvaa.txt 2021-11-08T16:14:26Z (#xlzkkca) @ I’m surprised, is that small antenna is enough to do something meaningful? 2021-11-08T16:14:36Z (#mmkag5a) @ 🙇 2021-11-08T17:20:34Z (#xlzkkca) @ So bigger isn’t always better? 😁 (Now you know that I have virtually zero knowledge in that area.) 2021-11-08T17:21:33Z (#ei6zf3a) To this day, I have not understood what Pinterest is. I only know that … it ruins my search results. And that I hate it with a passion. Yup. 2021-11-08T18:23:46Z (#v4bt6ga) @ Right. `/dev/brain` wasn’t mounted. 🤦 2021-11-09T12:50:46Z (#v4bt6ga) @ You cancel a Git commit by writing an empty commit message. Similarly, you cancel composing a new twt by writing an empty twt. That’s how it works in jenny. (You don’t have to delete *everything*, just everything above the “snip” line. I just find it easier to delete it all.)

Confusion arises from the fact that jenny *pre-fills* parts of a twt when you reply to someone. When you just quit the editor in that situation, then you didn’t write an empty twt (it contains a conversation hash and a mention), so it won’t be discarded.

That’s why I compared it to `git rebase` and not `git commit`. `git rebase` pre-fills your editor with some commands as well, and to abort all this, you have to delete them, save, quit. (A rebase just *happens* to not do anything if you `pick` everything, but it does process your commands – they just happen to be all no-ops. It doesn’t just abort and discard.)

Okay, fine. jenny isn’t Git, so it doesn’t really matter anyway.

Is the current behaviour good UX? I don’t know. “Delete everything, save, quit” is pretty much hard-wired into *my* brain, so it’s what *I* expect. So it’s good UX for *me*.

It would be easy to implement an `mtime` check (so that jenny aborts if you never save the file at all). I already did it in a local branch, it’s a diff that changes three lines. What I don’t like about this approach: It introduces a heuristic that tries to detect if the user changed the file or not. So what if the user does save the file (because they routinely exit their editor with “save-quit” or whatever) but they didn’t change anything? mtime check will fail, so we have to compare the file’s contents now. And now we’re in a situation where some content is *illegal* to have in a twt – you can now no longer write a twt that contains only `(#convhash) @`. Is that a problem? Maybe not, but it means you can’t just bump a conversation with a mention (we routinely do stuff like that at work). Also, in general, I’d like users to be able to put anything they like in a twt, and that won’t work anymore now.

So … I don’t know. I’m happy with “delete to cancel”, because it is a very explicit command. *And* it’s easy to implement.

If people are truly unhappy with this (I don’t think you are as you said it’s unexpected but okay), then I’d rather implement an interactive prompt after the user has left the editor: “Do you want to publish this twt [Y/n]? ‘$quote_of_twt’” (In fact, my `publish_command` does that. It’s not very UNIX-y, but it’s useful. Sometimes, I change my mind about writing a twt a split second after I left the editor. 🥴 Or stuff like that.) 2021-11-09T16:51:14Z Can someone explain this?

Open this page in Firefox or Chromium:

https://movq.de/v/f9c0330a69/script.html

Feel free to inspect it using `curl` first. There are 500 `