Skip to content

feat: tray icon, chat avatars, emoji reactions, and persistent app#37

Merged
fredsmith merged 1 commit into
mainfrom
feat/reactions-tray-avatars
Mar 1, 2026
Merged

feat: tray icon, chat avatars, emoji reactions, and persistent app#37
fredsmith merged 1 commit into
mainfrom
feat/reactions-tray-avatars

Conversation

@fredsmith

@fredsmith fredsmith commented Mar 1, 2026

Copy link
Copy Markdown
Owner

Summary

  • Menubar tray icon: App icon moved from dock to menubar with connection state indicators (green=connected, blinking red/green=connecting, red=disconnected) and context menu (Buddy List, Go Online/Offline, Settings, Quit)
  • Persistent app: Main window hides on close instead of quitting; app continues running in the tray until explicitly quit
  • Chat avatars & grouping: Group chat messages show sender avatars with message grouping — successive messages from the same user display only a timestamp
  • Authenticated avatar fetch: Switched from unauthenticated mxc_to_http URLs to authenticated media fetch, fixing avatars that weren't loading on some servers
  • Emoji reaction picker: Full reaction picker with 32 quick-pick emoji grid plus "More..." button to open the macOS system emoji picker (Character Palette)
  • Reaction history: Existing reactions now load from room history when opening a chat window
  • Context menu fix: Prevent native browser context menu so custom right-click menus work reliably

Test plan

  • Verify tray icon appears in menubar and reflects connection state (connecting/connected/disconnected)
  • Verify tray context menu works: Buddy List opens window, Go Online/Offline toggles, Settings opens preferences, Quit exits app
  • Verify closing the main window hides it (app stays in tray)
  • Verify chat room messages show avatars and group successive messages from same sender
  • Verify right-click context menus work on messages and participant list
  • Verify "React..." opens emoji picker with color emoji
  • Verify "More..." button opens macOS system emoji picker
  • Verify existing reactions display when opening a chat window
  • Verify new reactions sent via the picker appear in other clients

🤖 Generated with Claude Code

- Move app icon from dock to menubar with connection state (green=connected,
  blinking=connecting, red=disconnected) and context menu (Buddy List,
  Go Online/Offline, Settings, Quit)
- Hide main window on close instead of quitting; app persists in tray
- Show sender avatars in group chat with message grouping (successive
  messages from same user show only timestamp)
- Fix avatar loading by using authenticated media fetch instead of
  unauthenticated mxc_to_http URLs
- Add full emoji reaction picker with 32 quick-pick emoji and system
  emoji picker (macOS Character Palette) via "More..." button
- Load existing reactions from room history on window open
- Prevent native browser context menu to fix custom right-click menus

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@fredsmith fredsmith merged commit 6cf71ac into main Mar 1, 2026
1 check passed
@fredsmith fredsmith deleted the feat/reactions-tray-avatars branch March 1, 2026 21:53
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