[ANNOUNCE] %groups and %talk v5.0.0

111 views
Skip to first unread message

~rilfun-lidlen

unread,
Nov 27, 2023, 4:27:00 PM11/27/23
to urbit-dev
Tlon plans to release a major update with breaking API changes to %groups and %talk late in the afternoon of Wednesday, ~2023.11.29. In the case of a force majeure, we will push the release day and inform this list.

If you're a developer whose app integrates with %chat, %diary, or %heap, their content is moving into %channels. Read over its documentation here: https://github.com/tloncorp/landscape-apps/blob/develop/docs/channels.md

For additional reference, ~paldev recently live-streamed updating some of its apps: https://www.youtube.com/watch?v=Lie8ZM0r6ds

If you want help with migrating your app, reply to this email and a Tlon employee will be in touch with you for a pairing session.

For a general overview of the changes, read on.

Until now, Groups had separate backend agents for channel types like Chats, Notebooks, and Galleries, each handling publishing and subscribing to content. This approach treated channel contents as distinct and merged publisher, subscriber, and client roles, resulting in slow interaction speeds - for example, interacting with a slow Notebook channel would slow down all Notebooks you interacted with.

The upcoming refactor introduces a "horizontal split," consolidating all channel types within a single agent while separating agents for publishing (%channels-server) and subscribing (%channels). This structure utilizes a single tagged union type to handle channel-specific content, allowing for more generalized behavior for publishing and subscriptions.

We are replacing each channel's subtly different data types with a single message type, $post, divided into metadata ($seal) and content ($essay). The metadata includes identifiers, unabridged replies, and reactions, while the content contains authorship, timestamp, the main post body ($story), and $kind-data. The $kind-data, varying for different channel types, contains specific data like post titles and header images for notebooks, optional block titles for collections, and join notification flags for DMs. This approach simplifies the content structure across various channels.

The refactor also involves splitting agents and types based on their interaction function (publisher, subscriber, client) rather than channel types, recognizing that each role has distinct data handling requirements. We introduce a new communication method between the publisher and subscriber to facilitate arbitrary and partial backlog loading.

This change significantly speeds up group joins, allowing quick access to recent messages and enabling piecemeal backlog retrieval. Crucially, these improvements are uniformly applied across all channel types, leveraging the shared logic of the system.

If you're interested in in the full changelog, find it here on GitHub: https://github.com/tloncorp/landscape-apps/compare/v4.9.0...develop

Gus MacAulay

unread,
Nov 27, 2023, 5:18:08 PM11/27/23
to urbit-dev
Hi,

I think this could have an effect on our %mentat project which does some notebook editing.  We would welcome any assistance in adapting to the new api.

Thanks
Gus (Lumphead)
~lomped-firser

--
To unsubscribe from this group and stop receiving emails from it, send an email to dev+uns...@urbit.org.

mark

unread,
Nov 27, 2023, 5:48:45 PM11/27/23
to Gus MacAulay, urbit-dev
Open offer to you, and anyone else who needs it: my DMs are open for app upgrade assistance.

--
~palfun-foslup
https://tlon.io

~rilfun-lidlen

unread,
Nov 28, 2023, 3:03:33 PM11/28/23
to urbit-dev, ~rilfun-lidlen
Hello everyone—it appears we have hit the case of a force majeure and we are pushing the release to Monday, ~2023.12.4.

~rilfun-lidlen

unread,
Dec 4, 2023, 11:04:25 AM12/4/23
to urbit-dev, ~rilfun-lidlen
Hello again—the %groups and %talk back-end upgrade is happening tomorrow, Tusday, ~2023.12.5.

If you both (A) self-host and (B) host any channels with a decent amount of activity, a preventative |meld today will help the upgrade go smoothly. An additional |meld tomorrow after the upgrade is complete will further reduce the memory footprint taken up by migration.

If you are hosted by Tlon, we will run |meld for you as part of our fleet upgrade process.

Feel free to reach out with any questions.
Reply all
Reply to author
Forward
0 new messages