Skip to content

feat(emotes): add public emote bar by username - #113

Merged
diangogav merged 1 commit into
mainfrom
feat/public-emote-bar
Oct 15, 2026
Merged

diangogav merged 1 commit into
mainfrom
feat/public-emote-bar

Conversation

@diangogav

Copy link
Copy Markdown
Owner

Summary

  • Adds GET /users/by-username/:username/emote-bar. It returns the same shape as GET /me/emote-bar: 8 slots, each { ref, packId, assetUrl, packUrl, assetsExpiresAt }, with signed URLs for pack emotes.
  • The opponent's client uses it to play the sender's pack emotes, and to drop any emote that is not in the sender's bar.
  • It behaves like /users/by-username/:username/loadout:
    • It is public.
    • An unknown username returns 404.
    • Banned users are served the same way.
    • There is no rate limit.
    • Responses carry Cache-Control: private, no-store.
  • GetPublicEmoteBar resolves the username and reuses GetMyEmoteBar, so stale slots fall back to distinct defaults here too.

Context

This is part of the emote packs feature. The earlier steps are #109 to #112, plus diangogav/EDOpro-server-ts#418 on the duel server. With this PR the API side is complete. The web client comes next.

Verification

  • bun test: 687 pass, 0 fail.
  • bun run lint and bun run build --noEmit are clean.

@diangogav diangogav self-assigned this Oct 15, 2026
@diangogav
diangogav merged commit 6c7bcd5 into main Oct 15, 2026
1 check passed
@diangogav
diangogav deleted the feat/public-emote-bar branch October 15, 2026 00:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant