v0.12 is as cool as a snowy December morning.

What's new?
- Subscribe to headings (e.g., Weiph/pikkulogs).
- New sidebar on the right; dual wield on large screens.
- MIME hooks: preprocess Gemini responses on client-side.
- Prominent TLS certificate warning.
- Bug fixes and smaller enhancements.

MIDI music is a good example of how MIME hooks are useful.

- Each OS handles MIDI differently, if at all.
- It's niche so adding the FluidSynth library could be considered bloat.
- A default soundfont would have to be included as a resource.
- Personal preferences vary wrt soundfonts and effects — would need a complex config UI?
- Nice to control music playback in the inline audio player.

I elaborate on the mechanism here:

Show thread

Heading subscriptions use the same system as Gemini feeds, except entries are dated based on discovery time.

On the first refresh it just stores all the existing headings without creating any feed entries.

If you look in feeds.txt, URI fragments are used internally to keep track of headings text, so this'll only work for uniquely named ones. (Internal only: fragments won't work anywhere else.)

Show thread

⭐️ Pro tip: Subscribe to new headings on "about:version" to see Lagrange change log entries in Feeds.

Show thread

@jk At first I thought there wasn't much going on here beyond what AV-98's handler functionality provides, but actually, having external scripts return text/gemini is a much more powerful design, and translating Atom/RSS is a nice example. Good work!

@solderpunk Thanks!

The core idea was that control is not relinquished to external programs, they are only used to transform the data to something that Lagrange can use.

@solderpunk @jk Yes, a very nice example. Nevertheless I observe that a lot of gemlogs offer an RSS/Atom link as text/xml content type, and not application/xml

@jcromero @solderpunk That's fine, you can use a regex to specify the content type.

Theoretically you could even offer all responses to all hooks, but that's of course wasteful/slow. 🙂

@jk @solderpunk OK. It seems that application|text/(atom+)?xml
is a better option

Sign in to participate in the conversation

skyjake's personal Mastodon instance