Repository navigation
Conversation
…atuses - Animated avatars: GIF, animated WebP and APNG keep moving after cropping, re-encoded as a GIF that fits the existing 512 KB limit - Name styles like Discord's: 18 shipped fonts with Cyrillic, any Google Fonts family, or an uploaded font file; plain, gradient, neon, toon and pop effects in one or two colors - Avatar decorations drawn for voicy in .deco files (SVG with macros, see client/src/decorations/README.md), plus uploaded ones in Discord's layout - Custom status with an optional expiry - Server: profiles, decoration and font uploads, profile in LiveKit metadata so rooms update live
squeeeezy
force-pushed
the
profile-customization
branch
from
September 25, 2026 09:59
edfc744 to
80879d2
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Discord-style profile customization: a member's look now travels with them to every server they are on.
What's in it
gifenc) that always fits the existing 512 KB limit, so this part works on old servers too. In lists an animated avatar shows its first frame and moves while its owner talks or on hover.@fontsource, WOFF2 only, loaded lazily), any Google Fonts family by name, or an uploaded font file (TTF/OTF/WOFF/WOFF2, up to 512 KB). Effects: plain, gradient, neon, toon, pop, in one or two colors. The name color also colors the speaking ring..decofiles (SVG plus a few macros) inclient/src/decorations/, parsed byclient/src/lib/deco.ts; the format is documented inclient/src/decorations/README.md. Some react to the voice (headphones, equalizer, the mana bar in "Мид"). Members can also upload their own decoration in Discord's layout (PNG/APNG/GIF/WebP up to 1 MB).Server
profiles,decorations,fonts(created on start, nothing to migrate).PUT /api/me/profile,PUT/DELETE /api/me/decoration,PUT/DELETE /api/me/font; publicGET /api/decorations/{id}andGET /api/fonts/{id}like avatars (fonts needAccess-Control-Allow-Origin: *forFontFace).role, so people in a room see changes at once.push_metadataupdates only the rooms the member is actually in.server/src/profile.rs; font, effect and decoration are just ids, so new styles need no server release.Compatibility
Worth knowing
client/DESIGN.mdis a draft design book written for this work; it will likely change.Checked
cargo test(21 tests, 4 new) andtsc/vite buildpass after rebasing onto 0.1.26; the online dot from presence sits above decorations.