Skip to content

Cahut 0.10.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 09:50
· 57 commits to main since this release
5be16a0

Cahut 0.10.0 gives each Window a permanent address, a title, a description and a name that change, and share links that open it to whoever holds them until they end; a Window can also stay with its author alone. The administrators of a Cahut can delete a person, those of the server can suspend a Cahut, and the house style is gone. Cahut is in 0.x: anything can still change.

What breaks

  • The house style is gone. The tools get_house_style, set_house_style and rollback_house_style go, with everything that Cahut served under /-/ for them: the style sheet, logos, fonts, deck engine and templates now answer 404. Published Windows that link /-/house-style.css or /-/deck.js lose their look: their text reads in the fonts and colors of the browser, and the slides of a deck follow one another down the page. Publishing them again with their own CSS and scripts gives them back a look. The instructions of the MCP server and the skill for Claude now tell AIs to make each Window in the style the person asks for. The console loses its House style screen, and the first start its step Your Cahut. See ADR 49 (#203).

Upgrading from 0.9.5

0.10.0 is a minor release: under the default CAHUT_UPDATES=patch, the daily timer does not install it. Install it from the console, under This server · Updates, or:

sudo /usr/local/bin/cahut update
  • Seven migrations of the database of each Cahut, 0023 to 0029, and one of the database of the server, 0014. They give an id to every Window already there, drop the tables of the house style, and make the tables of people and Windows again. As every update does, it takes a snapshot of the databases first, and rolls back if the health check fails.
  • New tools for AIs: retitle_window, rename_window, create_share_link and revoke_share_link, which an AI calls without knocking, and delete_user, which knocks first. publish_window takes a description, a name and the access author, and update_room the description of a Room. Every tool that takes a Window takes its id or its permanent address too.
  • New operations for the administrators of the server: suspend_cahut and resume_cahut, never offered to AIs, and the commands cahut domain suspend and cahut domain resume.
  • The repository moved to cahutcloud/cahut, and the default of CAHUT_REPO with it. A server that sets CAHUT_REPO=getcahut/cahut by hand in /etc/cahut/update.env keeps updating through the redirect of GitHub; change it to cahutcloud/cahut (#214).
  • The skill for Claude goes from 0.4.0 to 0.8.0, with the new tools.

From 0.8.4 or earlier, read the notes of 0.9.0 first: 0.10.0 brings its changes too.

Added

  • A permanent address for each Window. Each Window gets an id when it is published, 26 characters that never change and are never reused, and with it a permanent address, /-/w/<id>, which checks its access and sends its reader to its address of the moment. Invitations give the permanent address, so that a change of name does not break them, and the console shows both addresses on the page of a Window. See ADR 50 (#204).
  • The title, the description and the name of a Window change. A Window and a Room get a description, 300 characters at most. retitle_window changes the title or the description of a Window in place, and rename_window its name, the last part of its address: the old address stops working at once, without a redirect, and the permanent address is the link that lasts. The console changes them on the page of a Window, and the description of a Room under Manage the Room (#205, #206).
  • Share links. A share link opens a Window to whoever holds it, without an account or a Key, until it ends: 7 days by default, 30 at most, and to a number of readers if one is given. Its page opens nothing until its button is clicked, so that robots of previews and mail filters spend no opening, and each opening goes to the Logbook, without the reader. In the console, the menu Share of a Window creates them, and the page of a Window lists them, each with Take back. See ADR 52 (#210, #211).
  • Windows for their author alone. A new access, author: only the person a Window was first published for sees it and acts on it, while they are in its Room. publish_window takes it, so that a draft never shows to the Room, and with a share link that opens once, a Window goes to a single reader. An author who leaves the Room, or is deleted, gives their Windows back to the Room. See ADR 53 (#212).
  • Share a Window from the console. A button Share, at the head of the page of a Window and on each card, copies its permanent address, writes an e-mail, opens the sharing of X, LinkedIn or Facebook for a public Window or a Window with a Key, or the share sheet of the system. The console loads no script of these networks (#209).
  • Previews of links to a Window. The permanent address answers the robots that draw the preview of a link with a card of Cahut: a public Window gives its title and its description, a Window with a Key its title, the others only the Cahut they are in. Cahut draws the picture itself, from the brand guidelines. See ADR 51 (#208).
  • Delete a person for good. The administrators of a Cahut, and those of the server, delete a person with delete_user: with them go their account, sessions, tokens, connected AIs and Knocks, their personal Room, and each team Room they are the only owner of, with its Windows. A team Room with another owner stays, and the Windows they published in it stay without an author. No one deletes themself, nor the last administrator; the console asks for the handle typed in full. See ADR 47 (#196).
  • Suspend a Cahut. The administrators of the server suspend a Cahut, after a decision of moderation or when its organization stops paying, and resume it without loss, on the page Kind and limits or from the command line. Meanwhile every call but theirs is refused with the code cahut_suspended, its Windows and pages answer with a page of Cahut in 503 that names nothing it holds, and sessions, tokens and connected AIs are kept. Its administrators hear of it by e-mail when the Cahut has a relay. See ADR 48 (#202).
  • What the Cahut holds, on the console home. The overview shows a tile for each thing that the limits count, Rooms, Windows and disk, and people for the administrators, with a gauge where there is a limit; and a banner for each limit at 90 % or reached, which reaches the Cahuts without a relay too (#200, #201).
  • Bold, italics and lists in the note of an invitation, from a small editor in the console. Links stay out on purpose. See ADR 46 (#194).

Changed

  • Windows fetch the blob: and data: URLs they make, so that three.js loads the textures of a model: connect-src now allows them. Neither makes a request on the network, and the sandbox gives each Window an origin of its own, so a Window reads only the blob: URLs it made. See ADR 45 (#181).
  • The sign-in of the server takes the theme of the server, the inverse of the sign-in of a person, with the mark of the server beside the logo, so that the two are no longer mixed up (#197).
  • The pages that readers see always carry the brand of Cahut, e-mail names a Cahut by its domain, and the disk of a Cahut counts the versions of Windows only (#203).

Fixed

  • A limit of zero is no longer one to come near: an individual Cahut with no Room beside the personal one no longer e-mails each person every day that they reached it (#201).

Full changes: v0.9.5...v0.10.0