Chat
Real-time messaging for shared spaces — send messages, roll dice, react, and start threads right alongside your notes.
Overview
Every shared space in Swashbuckler comes with a built-in chat channel. When you share a space with someone, a chat channel is automatically created for that space. All members of the space can send messages, react, start threads, and roll dice in real time.
Chat is designed for tabletop RPG groups, creative collaborators, and anyone who wants to discuss their shared workspace without switching apps.
Accessing Chat
Sidebar
Chat appears as a resizable panel on the right side of the notes app. Click the chat icon to expand it. The icon shows an unread badge when there are new messages.
You can drag the left edge of the chat panel to adjust its width (280px–560px). Double-click the handle to reset to the default. Drag below the minimum to collapse it. Your preferred width persists across refreshes.
Pop-Out Window
Click the pop-out button in the chat sidebar header to open chat in its own window. This gives you more room and lets you keep chat visible while working in your notes. The pop-out window has its own theme and works independently of the main app.
Direct URL
You can also access chat directly at /chat/space/\{spaceId\}. This is useful for bookmarking or sharing a direct link to a space's chat.
Sending Messages
Type your message in the composer at the bottom and press Enter to send. Use Shift+Enter to insert a new line without sending.
Messages support markdown formatting — bold, italic, code blocks, links, lists, and more.
Message Limit
Messages can be up to 4,000 characters. A character counter appears when you're within 200 characters of the limit.
Rolling Dice
Chat has a built-in dice roller with full TTRPG notation. Type /r followed by a dice expression to roll:
/r 1d20+5 Attack roll
/r 4d6kh3 Stat rolling
/r 2d20kh1 Advantage
/rp 1d20+3 Secret checkResults appear as structured cards showing each die, dropped/kept indicators, and the total. Use /rp for private rolls only you can see. See the Dice Roller guide for the full notation reference and recipes for D&D, World of Darkness, FATE, and more.
Features at a Glance
| Feature | Description | Learn More |
|---|---|---|
| Dice Roller | Roll dice with full TTRPG notation — advantage, exploding dice, keep highest, and more | Dice Roller |
| Markdown | Format messages with bold, italic, code, links, and more | Composer |
| @Mentions | Tag space members to get their attention | Composer |
| Spoiler Tags | Hide text behind a click-to-reveal blur | Composer |
| Reactions | React to messages with emoji | Reactions & Threads |
| Threads | Reply to a specific message in a side panel | Reactions & Threads |
| Pinned Messages | Pin important messages to the channel header | Pinned Messages |
| Notifications | Unread badges, sound alerts, and browser notifications | Notifications |
| Typing Indicators | See when others are typing | Typing Indicators |
| Message Search | Search messages by text, person, type, or date range | Message Search |
Right-Click Actions
Right-click any message to open a context menu with quick actions:
- Reply in thread — start or continue a thread on the message
- Pin / Unpin — pin the message to the channel header (space owners only)
- Copy text — copy the message content to your clipboard
- Edit — edit your own message (same as the hover action)
- Delete — delete your own message
These are the same actions available from the hover toolbar, but accessible via right-click for convenience.
Editing Messages
Press ArrowUp on an empty composer to edit your most recent message. You can also click the edit action on any of your own messages.
Edited messages show an "(edited)" marker after the timestamp.
Deleting Messages
Click the delete action on your own messages to remove them. Deleted messages are replaced with "[message deleted]" — the message row stays so threads and reactions are preserved.
Pinned Messages
Space owners can pin any message by clicking the pin action on a message. Pinned messages appear in an expandable strip at the top of the chat. Click the strip to expand and see all pinned messages. Space owners can unpin from the expanded view.
Typing Indicators
When someone is typing, you'll see "[name] is typing..." at the bottom of the message list with animated dots. If multiple people are typing, it shows all their names (up to a limit).
Jump to Unread
If you have unread messages, a red "New" separator appears at the first unread message. A floating "Jump to unread" button lets you scroll directly there. The button disappears when you scroll to the bottom.
Message Search
Click the search icon in the chat toolbar (above the message feed) to open the search panel, or press Cmd+F / Ctrl+F while the chat panel is focused.
Searching
Type at least 2 characters to start searching. Results appear as you type, showing the message author, timestamp, and a snippet with your search term highlighted.
Filters
Use the filter chips below the search input to narrow results:
- Person — show messages from a specific space member
- Type — filter by All types, Messages, Dice rolls, or System messages
- Date range — Any time, Today, Past week, or Past month
Active filters are highlighted. Filters combine — for example, you can search for "dragon" from a specific person within the past week.
Navigating Results
- Click a result to jump to that message in the chat feed. The message is highlighted briefly so you can spot it.
- Use Arrow Up / Arrow Down to move between results, Enter to jump to the selected result.
- Press Escape to close the search panel and return to the chat feed.
If the message isn't in the currently loaded portion of the feed, older messages are automatically loaded around it.
Requirements
- Chat is available in shared spaces only. You must share your space with at least one person for the chat channel to be created.
- Chat requires a Swashbuckler account — it's not available in guest mode.
- Your theme and preferences carry over into the chat panel automatically.