💾 Archived View for bbs.geminispace.org › u › gemalaya › 5748 captured on 2023-11-14 at 10:00:50. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-11-04)

➡️ Next capture (2023-12-28)

🚧 View Differences

-=-=-=-=-=-=-

Comment by 😺 gemalaya

Re: "Misfin Mailinglist!"

In: s/misfin

@clseibold Ok, i respect that. I'll create a misfin.gitlab.io website to reference the different implementations.

😺 gemalaya

Sep 30 · 6 weeks ago

27 Later Comments ↓

🤖 BBSman · Sep 30 at 18:55:

Unfortunately I'm seeing connection time outs when sending to anything @auragem.letz.dev

🚀 clseibold · Sep 30 at 18:59:

Ah, sorry. My server just crashed, probably when you sent the first message. Hold on a sec, and then you can try again :)

😺 gemalaya · Sep 30 at 18:59:

@clseibold Regarding subjects ... The spec says that what what the client sends to the server has to be:

misfin://<MAILBOX>@<HOSTNAME><SPACE><MESSAGE><CR><LF>

No mention of subjects ... However, "message" is in gemtext format, so the subject could simply be the first found "heading" in the message body (if there is one) ?

🚀 clseibold · Sep 30 at 19:02:

@gemalaya The message is specified in gemmail format, which is based on gemtext. The spec does say the message is in gemtext, and headings are part of gemtext. "Message subject" is specified in section 4.4 of the spec, as part of the gemmail format that is a superset of gemtext.

— misfin.org/specification.gmi

Start of section 4:

The default encoding of Misfin messages is text/gemini; however, Misfin extends this by adding three new line types. Misfin utilites must only parse the first occurance of these lines in a file.

This tells us the message format is a superset of gemtext. All references to heading lines is a reference to *gemtext* heading lines.

Section 4.4, titled "Message subject":

The first heading line in a file, if provided, should be considered as the message's subject, and advanced Misfin utilities may elect to show it to the user in place of the full message contents.

🚀 clseibold · Sep 30 at 19:04:

@BBSman Can you try again. I just fixed a bug and brought my server back up.

🤖 BBSman · Sep 30 at 19:21:

I will try when I get a chance (am at work)

🚀 clseibold · Sep 30 at 19:31:

@gemalaya Oh, also, the very last example, at the very end of the specification, shows an example of a message that a mailinglist will send, and it includes an example of a message subject (the level-1 heading prefixed with "#").

😺 gemalaya · Sep 30 at 20:31:

@clseibold Indeed, "A note on flowers". Introducing a special character to set the subject would really not hurt IMO. What about replying, how can you tell which message you're replying to ?

🚀 clseibold · Sep 30 at 20:41:

@gemalaya I disagree about the special character for message subject. The subject of a message *is* the title, which is exactly what the level-1 heading in gemtext is. The gemtext title is the title of the message, which is the same as the message subject. In fact, in Multics and its documentation, the subject in the mbx files is called both the subject and the title of the message. The terms have been interchangeable since the 70s. I also don't see a reason to have a message subject that's separate from the gemtext title - it adds unneeded complexity.

It's also backwards compatible with gemtext and gemini clients the way it is right now; gemini clients can show the subject as the title, because it uses "# ".

That's what's so cool about the format right now. All gemmails are valid gemtext with just a few extra lines at the top! Everything renders correctly in gemini clients, and the user can easily see the senders and recipients list, and then they can take it and read it in a misfin client and it will be able to correctly deal with these extra sender, recipient, and timestamp lines. It's actually a great way to do it, imo.

That's similar to what I tried to do with gembox when I decided on the `<=====` divider.

As for replying, that is more complicated, and I am wondering myself how that should be handled. One method is by just detecting "Re: " prefixed to the original subject/title heading. The way traditional email does this is by having some ID for each email, and then a reply references this ID of the email they are replying to. Someone else mentioned this previously here on Bubble.

😺 gemalaya · Sep 30 at 21:15:

@clseibold Ok. Regarding gembox as a single file, no offense, it's a bad idea, i've deprecated it, it's like reinventing mbox but worse. IMO MH is the perfect container for gemmail, it's just a directory with messages and each message has an integer index. Listing messages is fast and deleting is straightforward.

Yes, message should have an ID, it could be a checksum of the message payload. We could use introduce a new line type, '!' for example:

!55538cb56504e67129809b2b5cadc001c4f2f55b6ecd4fbe98071c010e77d070
< two@example.com Person Two
: one@example.com three@example.com
Hi !

🤖 BBSman · Sep 30 at 21:50:

@gemalaya MH is the right answer! Of course I'm biased because NMH is my daily driver for e-mail.

🚀 clseibold · Sep 30 at 22:03:

@gemalaya Mbox isn't that bad. It's a simple solution. The difference is my idea didn't try to shoehorn an already existing gemmail format into a different format, lol. All gembox does is concatenate already formatted gemmail files. Which means it's easy to convert back and forth between a multi-file system and a single-file (gembox) system, and it's easy to download and share one file, or fetch a whole gembox from a gemini address.

I'm unaware of NMH, but it's literally just files in a directory, from what I'm seeing. This is a valid approach, but so is a single-file storage (which is used by databases and various other formats).

Integer index is not part of the spec at this moment, and will not be supported by me unless @lem / @lem-two decides it should be part of the spec.

I'm not going to play politics here of people trying to take over the project from someone else. If you want to create your own protocol with other features like a redundant message subject line, then call it something different. Thanks.

P.S. Gembox is on the storage side, so it is outside of the actual transmission protocol, and outside of the spec, which is why I'm fine with Gembox or NMH/MH, but I'm not fine with changing the actual gemmail format without proper spec changes.

📷 billsmugs · Sep 30 at 22:26:

@gemalaya I don't think ease of matching up reply chains would be worth adding a new linetype or adding any kind of ID to the spec.

@clseibold I've tried to sign up to the mailing list a few times (sorry for the spam!) but the verification message isn't getting through. At first it was because your cert had changed (I think?) and my server didn't trust yours, but now I'm getting an error from your server when I try to send the verification message ("63 Your certificate fingerprint has changed.")

I haven't changed my server certificate, sending the message always succeeds, and I think I've cleared down all my cached certificate info for your site, so I'm not sure what's going on (it's possible the issue is on my end and I'm misreading my own logs?)

🤖 BBSman · Sep 30 at 22:29:

mbox vs gembox vs MH dir are client side storage architecture choices which exist outside of the wire protocol. So there's nothing in this discussion about forking the protocol.

In the case of MH that index integer (message number, really) is the mutable local filename for a message. These message numbers change when messages are sorted , or when an MH folder (i.e. directory) is repacked after messages are deleted.

🚀 clseibold · Sep 30 at 22:49:

@billsmugs I believe I have fixed the issue. Thanks for notifying me of it.

Also, no, it wasn't a problem on your side. It was a dumb bug in my server code, lol.

😺 gemalaya · Sep 30 at 22:58:

@BBSman You're right, MH mailboxes can be repacked. I don't automatically repack the mailbox after deleting a message because in the gemini frontend app, the gemini page that shows a specific message uses the message index in the URL ... I think numbering gaps are no big deal and the index integer limit must be quite high ...

🤖 alexlehm · Oct 01 at 08:17:

That is not working for for some reason, I get a callback request but then it says you are not subscribed to the mailiing list

lehmann@wormhole:~/misfin-shell$ ./misfin.sh misfin@auragem.letz.dev "# Subscribe"

depth=0 CN = AuraGem Admin, UID = admin

verify error:num=18:self signed certificate

verify return:1

depth=0 CN = AuraGem Admin, UID = admin

verify return:1

20 c0eadf5317177a4ab8a82082817a6cad83b649e6510f5fb93397b51a2e370b4b

lehmann@wormhole:~/misfin-shell$ ./misfin.sh misfin@auragem.letz.dev Testmessage

depth=0 CN = AuraGem Admin, UID = admin

verify error:num=18:self signed certificate

verify return:1

depth=0 CN = AuraGem Admin, UID = admin

verify return:1

61 You are not subscribed to this mailinglist yet.

🚀 clseibold · Oct 01 at 08:41:

Gaah! Ok, thanks for letting me know. I'll look into it quickly.

🚀 clseibold · Oct 01 at 08:49:

@alexlehm Ok, I think it should be fixed, maybe. The problem seemed to be with how I'm detecting the word "subscribe" in the message subject, although I'm not totally sure why your original message didn't go through. When you try it again I will know more.

🐐 satch · Oct 01 at 18:30:

How can I tell whether I was successful?

🚀 clseibold · Oct 01 at 19:20:

Hello @satch, Your message didn't go through because your server is sending a different fingerprint from the certificate you are using to send with, by the looks of it. Your client should be printing out error messages to the terminal, so when you sent your message, it should have printed out a "62" error.

🐐 satch · Oct 01 at 21:52:

I got a 20 back the second time though.. :(

🚀 clseibold · Oct 01 at 22:10:

@satch Hm, ok. Can you try sending the message again, whenever you have the time? Just so I can see what the problem is. I'll try to get it fixed as soon as possible. Thanks.

🤖 alexlehm · Oct 01 at 22:34:

I am still not getting subscribed, i get a callback with an empty message (just misfin.//user@address so i guess it is trying to add the address but when sending anything it say 61

🚀 clseibold · Oct 01 at 22:51:

@alexlehm Thanks. I added better error logging and it looks like the message with Subscribe as the message subject got through (did you receive a 20 success for that one?), it just wasn't adding you to the subscribers list for some reason. I'm still looking into why.

🚀 clseibold · Oct 01 at 23:03:

@alexlehm You know what, I'm an idiot. I added code that broke the subscribe functionality because I was detecting blank text lines for verification requests, but I wasn't checking that the subject was blank as well, so subscribe messages were acting like verification requests.

Anyways, it should be fixed now! 🎉 You should be able to send another message with Subscribe as the message subject. Thanks for helping me test this!

@satch This was probably also the bug you encountered, so it should be fixed when you try to subscribe again. Thanks again for helping me test the mailinglist.

🤖 alexlehm · Oct 01 at 23:03:

when I send # Subscribe I get 20 and the cert has

Original Post

🌒 s/misfin

Misfin Mailinglist! — I have created a mailinglist! You can try it out by sending a misfin gemmail to misfin@auragem.letz.dev with the subject "Subscribe". For clients that don't handle subjects fully (like the original reference implementation), you need to put a "# " in front, so it should be: "# Subscribe". You should instantly get a gemmail sent back to you saying you have subscribed. Once you've subscribed, all messages sent to the mailinglist will be forwarded to you (except for your own...

💬 clseibold · 32 comments · 1 like · Sep 30 · 6 weeks ago