feat(emojis): enclave-scoped custom emojis with optional global sharing #70

Merged
nrupard merged 2 commits from feat/custom-emojis into main 2026-05-11 18:32:12 +02:00
Owner

Adds per-enclave custom emoji uploads (png/gif/webp, 256 KiB cap, content-addressed reuse of the existing uploads pipeline) with :shortcode: resolution in message bodies and reactions. Owner/admin manages an enclave's set via the settings page; the picker surfaces custom emojis alongside the unicode defaults.

A per-enclave toggle marks the set as globally shared so its emojis also resolve in other enclaves' rooms and DMs. Room-local shortcodes always win over shared ones on collisions. The serve endpoint opens up for shared emojis; otherwise it stays member-gated.

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

Adds per-enclave custom emoji uploads (png/gif/webp, 256 KiB cap, content-addressed reuse of the existing uploads pipeline) with `:shortcode:` resolution in message bodies and reactions. Owner/admin manages an enclave's set via the settings page; the picker surfaces custom emojis alongside the unicode defaults. A per-enclave toggle marks the set as globally shared so its emojis also resolve in other enclaves' rooms and DMs. Room-local shortcodes always win over shared ones on collisions. The serve endpoint opens up for shared emojis; otherwise it stays member-gated. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
feat(emojis): enclave-scoped custom emojis with optional global sharing
Some checks failed
Check / clippy + fmt + tests (pull_request) Has been cancelled
f897b36a4e
Adds per-enclave custom emoji uploads (png/gif/webp, 256 KiB cap, content-addressed reuse of the existing uploads pipeline) with `:shortcode:` resolution in message bodies and reactions. Owner/admin manages an enclave's set via the settings page; the picker surfaces custom emojis alongside the unicode defaults.

A per-enclave toggle marks the set as globally shared so its emojis also resolve in other enclaves' rooms and DMs. Room-local shortcodes always win over shared ones on collisions. The serve endpoint opens up for shared emojis; otherwise it stays member-gated.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Merge branch 'main' into feat/custom-emojis
Some checks failed
Check / clippy + fmt + tests (pull_request) Failing after 1m7s
f1ddb15a2a
nrupard deleted branch feat/custom-emojis 2026-05-11 18:32:12 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/lets-chat!70
No description provided.