feat: 2.3.1

This commit is contained in:
2026-05-11 17:24:47 +08:00
parent 57e56412e0
commit 13f3c3d591
733 changed files with 17957 additions and 798 deletions
+24 -1
View File
@@ -1,4 +1,27 @@
## [NEXT]
## [2.3.1] — 2026-05-11
- Integrated DM tab system directly into the lobby chatbox — DMs now open as closeable tabs inside ChatPanel instead of a fullscreen overlay.
- Removed static DMTabBtn; DM tabs are dynamically created per friend using a scene-local DMTabTemplate with (X) close button.
- Added `@username` auto-suggest popup in ChatInput — typing `@` shows a live-filtered friend list; tap/click to select and format as `@username (message)`.
- FriendSuggestPanel moved to scene node (editable in editor) with touch/mobile support via item_selected signal.
- DM messages render in the shared GlobalChat RichTextLabel, switched by active tab context.
- Incoming DMs from friends automatically create a new tab without opening the Social Panel.
- Fixed self-DM tab creation — outgoing DM echo no longer triggers a tab for own username.
- Chat timestamps updated to `[ DD-MM-YY - HH:MM ]` format; DM history loaded oldest-to-newest (oldest at top, newest at bottom).
- Added `/clear` command — clears DM chat history locally; on Global tab, only admin/owner/moderator can use it.
- Admin `/clear` on Global also calls `admin_clear_global_chat` RPC to permanently delete persisted messages server-side.
- Added `admin_clear_global_chat` RPC in `tekton_admin.js` — paginates and removes all messages from the channel.
- Fixed `theme_override_colors` property error on dynamically created Button nodes — replaced with `add_theme_color_override()`.
## [2.3.0] — 2026-05-06
- Fixed boot screen crash caused by `TextureButton` cast as `Button` returning nil (`as Button``as BaseButton`).
- Routed boot screen button `.text` assignments through child `Label` nodes for `TextureButton` compatibility.
- Changed changelog bullet list to BBCode `[table=2]` layout for proper hanging indent on wrapped lines.
- Fixed changelog `RichTextLabel` scroll by removing `fit_content = true` flag.
- Synced player avatar, username, leaderboard score, and rank to the Room List panel header on open.
- Restored preserved hosting logic — wired Play tab `FreeModeBtn` and `StopNGoBtn` to host room with correct game mode.
- Wired Room tab `RoomFreeModeBtn` and `RoomStopNGoBtn` to filter room list by game mode (toggle).
- Encoded game mode as `[Mode] Room NNNN` prefix in room name for LAN room discovery filtering.
- Added `game_mode` field to room dictionaries across `LobbyManager` (Nakama + LAN) and `NakamaManager` match listing.
## [2.2.1] — 2026-05-01
- Updated daily login logic to support multiple reward types (star, gold, fragments).