CLOUDMORROW

Quills / Home

Chat

Channels, direct messages, and the count on the icon.

Star · 0 Nobody has starred it yet

What it does

  • Public channels everybody is in, and nobody leaves
  • Private channels for the people you add; they are told, and can leave
  • Direct messages between two people, found or started from either side
  • #general for everybody, the first time anybody opens Chat
  • Unread counts per channel, and on the app's icon
  • A push to everybody else in the channel when somebody writes

Add it to your cloud

$ cm quill add chat

Or, as an administrator, open Administration → Quills in the app and choose Chat. Either way your cloud shows you everything below and waits for your yes.

Standard. The installer offers Chat when you set up a new cloud, so you may have it already. How installing works

What it adds to your cloud

Datamodels

The kinds of data it works with. Records belong to the people who write them, not to the quill: removing it leaves every one where it is.

Uses

Channel channel

foundational

A room people talk in: public, private, or between two people.

  • Name name text, one linerequired Encrypted
  • Kind kind one of Public, Private, Direct Indexed
  • Topic topic text Encrypted
Uses

Message message

foundational

What somebody said in a channel.

  • Channel channel link to Channelrequired · deleted with its channel Indexed
  • Body body textrequired Encrypted
  • Sent at sent_at date and time Indexed

Indexed fields are kept plain, so your cloud can sort and filter by them. Encrypted fields are encrypted before they reach the disk.

Screens

ChatA thread of messages. This kind of screen is drawn in a later release.

Each is a tab, drawn by your cloud itself on every surface:

  • Phonethe web app, made for the phone
  • Webthe full web app, in a browser
  • Terminalthe terminal app
  • Command linecm chat
  • Assistanttools for your assistant, as you

Comes with

A channel, when it is installed.general · “general”

Its own code

None. Everything it does is declared in quill.toml and run by your cloud itself.

In its own words

A Quill for Cloudmorrow: the people on your server, talking.

  • Public channels are everybody's: everybody is in them, anybody writes in them, and nobody leaves.
  • Private channels are the people added to them. Nobody accepts an invitation — you are added, you are told, and you can leave.
  • Direct messages are between two people. Pick somebody and the conversation is there, whether or not it was a moment ago, from either side.
  • Everybody starts with #general.
  • What you have not read is counted beside each channel and on the app's icon, and everybody else in a channel gets a push when somebody writes.
  • A channel's topic and every message are sealed at rest; a message is its author's to change or delete.

What it adds to your Cloudmorrow

Datamodels uses the foundational channel (a space: shared or public) and message (in a channel, authored, notifies with push and unread) — domain Messaging
Screens one thread: the channels, and the conversation — on the phone, the web app, the terminal, cm chat, and to your assistant
Jobs none
Datasets general: one public channel for the whole server, the first time anybody opens Chat
Services, webhooks, APIs none

It contains no code: everything above is declared in quill.toml.

On the command line:

cm chat list                     # the channels, with what is unread in each
cm chat show general             # the conversation, newest at the bottom
cm chat say general "on my way"

Working on it

See CLAUDE.md. In short: cm quill check, then cm quill dev.

Licence

AGPL-3.0-or-later.