eupolicy.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
This Mastodon server is a friendly and respectful discussion space for people working in areas related to EU policy. When you request to create an account, please tell us something about you.

Server stats:

223
active users

#sessions

2 posts2 participants0 posts today

New Kitten release

• You can now use key paths in the names of your client-side live components and these will automatically be transformed into object hierarchies on the server for you.¹

• Self heals zombie live pages (see Streaming HTML workflow²) if they return to life due to client-side browser cache.³

• Removes htmx⁴ headers from `data` property into separate `header` property in Kitten Page events and the data your Kitten Page message handlers receive.

• Automatically passes references to the live page object (if any) and the request and response objects to the layout templates of Markdown pages⁵ (so you can, for example, check if `request.session.authenticated`⁶ is true from the your layout template and customise the layout accordingly).

kitten.small-web.org

Enjoy!

:kitten:💕

¹ e.g., See codeberg.org/small-tech/site/s (markup) and codeberg.org/small-tech/site/s (handler) and codeberg.org/small-tech/site/s (model class method).

² See Streaming HTML tutorial: kitten.small-web.org/tutorials (There’s actually more to it now but I haven’t had a chance to document the new class-based and event-driven live page workflow yet. It’s experimental but working very well for me so far so I will do so shortly.)

³ When a person leaves a live/connected page (a page connected to its default web socket), we clean up and remove that live page from memory. However, browsers being what they are, cache the page on the client. If a person uses the back/forward buttons to return to the page, the browser will serve the cached source from memory, which has the old page ID, for the page that no longer exists in Kitten’s memory. So now we have a problem. The only way to recover from this is to tell the page to reload itself. So we accept the WebSocket connection, send a command to the page for it to reload itself, and then close the socket. That makes the stale page self heal by replacing itself with a fresh one. Yay, go us!

⁴ HTMX: htmx.org

⁵ Kitten Markdown pages reference: kitten.small-web.org/reference

⁶ See Session tutorial: kitten.small-web.org/tutorials

@klopf
Das nehme ich anders war. Meine Wahrnehmung ist, dass Menschen, die sich mit Sicherheit beschäftigen, objektive Mängel an etwas feststellen und dafür von Anhängern dieses Dings angegriffen werden, weil sie deren liebstes Ding (oft völlig zu recht) in Misskredit bringen, statt sich um die Behebung der Probleme sorgen. So gesehen bei #OMEMO #XMPP #matrix #sessions und anscheinend @GrapheneOS.
Von "Zwei Lagern" kann mMn. keine Rede sein, das "bashing" passiert meist einseitig.
@rufposten

Apologies if you’ve been unable to install Kitten* recently. Looks like there were a huge number of sessions created in a very short period of time, exhausting the memory on the tiny VPS server that serves the binaries. Might be AI crawlers (thanks, asshats). Looking into it and will add checks to session persistence to try and try and handle these sorts of attacks (because, really, that’s what they are) going forward.

* kitten.small-web.org

Just deployed a new Kitten¹ version 🎉

• Adds database backup and restore in your app’s Kitten settings page (/💕/settings)

• Upgrades version of JSDB from 4 to 5²

• You can emit and listen for events on the session object you get from `request.session` in your routes now.

¹ codeberg.org/kitten/app
² For migration notes, please see: codeberg.org/small-tech/jsdb#m