Commit Graph

914 Commits

Author SHA1 Message Date
DuckieTM dd5a904a2d Merge pull request #197 from duckietm/Dev
Dev
2026-06-04 10:46:08 +02:00
DuckieTM a4137af4fe Merge branch 'main' into Dev 2026-06-04 10:45:59 +02:00
duckietm 5a330be30e 🆙 Updates Mention 2026-06-04 10:41:36 +02:00
DuckieTM ed1649b59c Merge pull request #196 from medievalshell/Dev
feat(catalog): live-merge imported furni on catalog open + feat(mentions) improved
2026-06-04 08:51:43 +02:00
medievalshell 0df810c556 feat(mentions): @ autocomplete, blue @nick, avatar notification toast
- Chat input @ autocomplete: typing @ shows online users (room users +
  online friends + room aliases) with avatars; arrows/Tab/Enter to pick.
- Any valid @nick token is highlighted blue in chat bubbles (like @all),
  giving visual feedback that it is a recognised mention.
- Side notification toast on a received mention: sender avatar (from the
  new senderFigure wire field) + message + dismiss; dismiss marks it read
  so the toolbar unread badge updates. Auto-hides after 8s.
- IMentionEntry/parsers carry senderFigure end to end.
2026-06-04 01:18:26 +02:00
medievalshell f8e943d262 feat(catalog): live-merge imported furni on catalog open
On catalog open, re-fetch the custom furnidata chunk (custom/imported.json5) via
SessionDataManager.mergeFurnitureDataFromUrl() and feed the new entries to
RoomContentLoader.processFurnitureData(), so furniture imported from the admin
panel appears without a full client reload.
2026-06-03 23:28:33 +02:00
DuckieTM 155d85d3e7 Merge pull request #194 from duckietm/Dev
Dev
2026-06-03 16:42:51 +02:00
DuckieTM 7625520c4d Merge pull request #192 from medievalshell/Dev
Fix navigator tabs locking after entering room creator
2026-06-03 16:34:51 +02:00
DuckieTM 93cd5bbded Merge pull request #190 from simoleo89/feat/command-autocomplete-refactor
Improve command autocomplete and command alerts
2026-06-03 16:34:35 +02:00
DuckieTM c76fbf7ea8 Merge branch 'main' into feat/command-autocomplete-refactor 2026-06-03 16:33:58 +02:00
DuckieTM 80bcffd277 Merge pull request #193 from duckietm/Dev
Dev
2026-06-03 14:18:15 +02:00
medievalshell 8c12d8f7b0 Remove repo-specific git author/workflow rules from CLAUDE.md
The house rules pinned a fixed commit author identity and personal git/CI workflow notes, which is arbitrary and incorrect for anyone else using Claude Code on this repo. Keep only the code-quality conventions (layout, tests, lint).
2026-06-03 13:13:39 +02:00
Medievalshell 62062cec9e Merge branch 'duckietm:Dev' into Dev 2026-06-03 13:06:25 +02:00
medievalshell 8b44aee0df Fix navigator tabs locking after entering room creator
setTab updated currentTabCode/currentFilter but never reset isCreatorOpen, so after opening the room creator, clicking another navigator tab changed the active tab code while the creator view stayed rendered (NavigatorView renders the search and creator views mutually exclusively based on isCreatorOpen). This left users stuck in the creator unable to switch tabs. Reset isCreatorOpen to false in setTab so selecting any tab also closes the creator.
2026-06-03 13:04:07 +02:00
github-actions[bot] 7128f4553b Merge remote-tracking branch 'upstream/main' 2026-06-03 10:15:33 +00:00
DuckieTM 0cf45197d8 Merge pull request #187 from simoleo89/pr/mentions-system
feat(mentions): complete @-mentions system (inbox, in-bubble highlight, notifications)
2026-06-03 11:03:39 +02:00
DuckieTM d44787621f Merge pull request #191 from duckietm/Dev
Dev
2026-06-03 09:47:32 +02:00
duckietm 4c70fc90c0 🆙 Updated Prefixes 2026-06-03 09:39:25 +02:00
duckietm 0c694820f7 🆙 Visual updates Group Forums 2026-06-03 07:46:28 +02:00
simoleo89 f84103d18f Merge remote-tracking branch 'fork/main' into feat/messenger-groups-receipts 2026-06-02 22:11:18 +02:00
simoleo89 8eef85a525 Merge remote-tracking branch 'origin/main' into feat/messenger-groups-receipts 2026-06-02 22:03:48 +02:00
simoleo89 dd7d504be2 Merge remote-tracking branch 'origin/Dev' into feat/messenger-groups-receipts
# Conflicts:
#	public/configuration/UITexts.example
#	src/css/friends/FriendsView.css
2026-06-02 21:52:59 +02:00
simoleo89 dc7012794e fix(messenger): send typing-stop to peer when switching conversations 2026-06-02 21:25:21 +02:00
simoleo89 7d89ce14d0 feat(messenger): send typing status + show 'is typing' indicator 2026-06-02 21:15:53 +02:00
simoleo89 361ab27853 feat(messenger): incoming typing state + outgoing typing action 2026-06-02 21:11:03 +02:00
Life b07e5cf7cb Merge pull request #5 from simoleo89/feat/command-autocomplete-refactor
Feat/command autocomplete refactor
2026-06-02 20:55:40 +02:00
Life 7b69fb3df0 Merge branch 'main' into feat/command-autocomplete-refactor 2026-06-02 20:55:28 +02:00
simoleo89 7a2dac8759 docs(messenger): Phase 4 implementation plan — typing indicator
Two ephemeral packets: ConsoleTyping (client->server, 4087) relayed by
the emulator to the peer as FriendTyping (server->client, 4088). Client
sends typing-start once per burst + stop on idle/send/empty; shows
"X is typing..." with a 6s auto-expire. 1:1 only, no DB.
2026-06-02 20:52:37 +02:00
simoleo89 8ae48005f3 fix(messenger): reliably send mark-read on thread focus via latest-value ref 2026-06-02 20:37:20 +02:00
simoleo89 775e8b27af feat(messenger): render sent/read checkmarks on own messages 2026-06-02 20:25:03 +02:00
simoleo89 ef60aa8ebd feat(messenger): send mark-read on focus, mark own messages read on receipt 2026-06-02 20:19:38 +02:00
simoleo89 f5e179f6c9 feat(messenger): SENT/READ status on thread chats + mark-read helper 2026-06-02 20:16:08 +02:00
simoleo89 f9c65000bd docs(messenger): Phase 3 implementation plan — read receipts
2-state read receipts (sent / read) via two custom packets:
MarkConsoleRead (client->server, header 4085) sent on thread focus,
relayed by the emulator to the peer as ConsoleReadReceipt (server->
client, header 4086). Client marks own messages READ and renders
checkmarks. Live-relay only (no DB table / login batch) since the
client doesn't persist message history across sessions.
2026-06-02 19:57:51 +02:00
simoleo89 db050b99e7 feat(messenger): show 'sent while offline' marker in thread 2026-06-02 19:11:05 +02:00
simoleo89 83140de98b feat(messenger): offlineDelivered flag on thread chat 2026-06-02 19:07:56 +02:00
simoleo89 030015afca docs(messenger): Phase 2 implementation plan — offline messages
Store messages to offline friends in messenger_offline (capped inbox),
replay on login via the existing FriendChatMessageComposer with an
"offline" extraData marker, and render a "sent while offline" tag in
the client thread. No new packets; emulator + small client touch.
2026-06-02 18:52:17 +02:00
Life fd126a3d2c Merge branch 'duckietm:main' into feat/command-autocomplete-refactor 2026-06-02 18:38:47 +02:00
simoleo89 f506b83387 feat(chat): improve command autocomplete and command alerts 2026-06-02 18:34:50 +02:00
simoleo89 9441847818 style(friends): group chips, category manager, assign-group dropdown 2026-06-02 18:32:01 +02:00
simoleo89 1af038806b feat(chat): improve command autocomplete and command alerts 2026-06-02 18:31:49 +02:00
simoleo89 2291d3cfa8 feat(friends): per-friend assign-to-group control 2026-06-02 18:26:44 +02:00
simoleo89 860ec07dfd feat(friends): group chip-filter row over online/offline list + manager wiring 2026-06-02 18:20:31 +02:00
simoleo89 7913952f71 fix(friends): reset stale edit state on category refresh + localize manager labels where keys exist 2026-06-02 18:12:53 +02:00
simoleo89 39bcfdb0cd feat(friends): category manager modal (create/rename/delete groups) 2026-06-02 18:07:40 +02:00
DuckieTM 1a96d88e70 Merge pull request #189 from duckietm/Dev
Dev
2026-06-02 18:02:02 +02:00
duckietm 03066abf54 🆙 Updated Group buy 2026-06-02 18:01:45 +02:00
simoleo89 5be38e7df3 feat(friends): category CRUD + assign actions in friends store 2026-06-02 17:59:13 +02:00
simoleo89 f9320b4582 feat(friends): pure category filter + count helpers 2026-06-02 17:54:30 +02:00
simoleo89 76b7e21494 docs(messenger): Phase 1 implementation plan — friend groups
Bite-sized TDD plan across all three codebases for the friend-groups
feature: 4 client->server category packets (renderer composers +
Arcturus handlers), DB persistence (reusing existing
messenger_categories + messenger_friendships.category), server-
authoritative re-push via existing MessengerInit/UpdateFriend
composers, and client store actions + chip-filter UI + manager modal +
per-friend assign control + pure filter helper with tests.
2026-06-02 17:17:29 +02:00
simoleo89 98d75a5c96 docs(messenger): design spec for groups, offline messages, read receipts, typing
Brainstormed design for extending the existing React friends/messenger:
- full custom friend groups (CRUD + assign) with Online/Offline primary view + group chip filter
- offline messages stored in messenger_offline, replayed on login (no new packets)
- 2-state read receipts (sent/read) via per-conversation last-read timestamp
- typing indicator (ephemeral packets)

Cross-component: Nitro-V3 client + Nitro_Render_V3 renderer + Arcturus emulator.
Reuse official Habbo header IDs for category packets; custom IDs for receipts/typing.
2026-06-02 17:03:01 +02:00