Skip to content

FAQ

Why does my ephemeral room disappear after a server restart?

By design. Ephemeral and incognito rooms live in the Node heap — they are not written to disk at any point. A server restart clears all in-memory state. This is intentional; the room types are documented as non-persistent.

What does "TTL is not a retention guarantee" mean?

Setting a TTL of 1h on an ephemeral room means it may live up to 1 hour. If the server restarts at the 30-minute mark, the room is gone. The TTL is a ceiling, not a floor.

Can I use chatnote with multiple users?

Yes. Each registered account has its own rooms, tags, and sessions. require_password = false (demo mode) creates a new anonymous account per visitor, so every visitor has their own isolated space.

Check that allow_link_previews = true in config.toml. Previews only work in persistent rooms. The server fetches the URL server-side — if the URL's host resolves to a private IP (e.g. localhost, 192.168.x.x), the preview is blocked for SSRF protection.

Images aren't uploading

Check allow_image_uploads = true in config.toml. Also check caps.max_image_bytes — the default is 2 MB.

Search doesn't find old messages

Search uses SQLite LIKE queries, which are case-insensitive but don't do stemming or fuzzy matching. The search string must be a substring of the room name, message body, or tag name.

Can I export in-memory room content?

No. Ephemeral and incognito rooms are not persisted. The JSON export only covers persistent rooms.

How do I back up my data?

Copy data/chatnote.db (SQLite) and the data/uploads/ directory. The database file is the single source of truth for all persistent data.

Released under the Apache-2.0 License.