Commit Graph

367 Commits

Author SHA1 Message Date
simoleo89 0d8e52b0e0 fix(communication): register incoming prefix packets so the Prefixes panel works
UserPrefixesEvent (7001), PrefixReceivedEvent (7002) and
ActivePrefixUpdatedEvent (7003) were defined and exported but never mapped in
NitroMessages, so the client's useInventoryPrefixes listeners could never fire:
opening the Prefixes inventory tab sends RequestUserPrefixes, the emulator
replies with UserPrefixesComposer (7001) and the client had no decoder for it
(panel stayed empty); purchase (7002) and active-prefix changes (7003) likewise
didn't update live. Only the sibling USER_NICK_ICONS (7004) was registered,
which is why this went unnoticed.

Register the three incoming headers next to USER_NICK_ICONS.
2026-06-13 18:17:12 +02:00
duckietm a49c835870 🆙 Fix : classic O(n²) buffer blow-up in the message decoder — not threading 2026-06-11 13:04:35 +02:00
duckietm a1ef3aaefe 🆙 Fix multiheight 2026-06-10 15:11:41 +02:00
DuckieTM 906f0bb786 Merge pull request #97 from simoleo89/fix/handshake-uniqueid-before-sso
fix(handshake): send UniqueID before the SSO ticket
2026-06-10 06:43:12 +02:00
simoleo89 a2064e2901 fix(handshake): send UniqueID (machine fingerprint) before the SSO ticket
Arcturus' Habbo.connect() runs when the SSOTicket packet is handled and needs the machineId, which is set by the UniqueID packet. Sending the SSO ticket first made such servers reject the login (WS closed with "Bye") because the fingerprint hadn't arrived yet. Send UniqueID before the SSO ticket so the machineId is available when the server processes the login.
2026-06-09 20:53:48 +02:00
DuckieTM fa0cb9b4b1 Merge pull request #96 from duckietm/main
Sync Main to DEV
2026-06-08 07:30:22 +02:00
DuckieTM ffde77b287 Merge pull request #95 from simoleo89/feat/furnidata-detail-diagnostics
Parse furnidata detail diagnostics
2026-06-07 23:17:59 +02:00
simoleo89 6e0cfb033e feat: parse furnidata diagnostics 2026-06-07 21:21:21 +02:00
simoleo89 8b613edbeb Merge origin/main into main
Resolved NitroMessages.ts conflict: kept local import (superset of upstream
symbols) and dropped upstream's duplicate FURNITURE_DATA_RELOAD registration
(already present locally). tsgo type-check clean.
2026-06-07 11:43:58 +02:00
DuckieTM 8b6358e157 Merge pull request #94 from duckietm/Dev
Dev
2026-06-07 08:55:52 +02:00
DuckieTM 94ab2981c4 Merge pull request #93 from simoleo89/feat/furni-editor
feat(furni): live furnidata updates + Furni Editor packets (reload/edit/revert/sort/import)
2026-06-07 08:22:29 +02:00
simoleo89 4a4394d0c4 chore(deps): sync yarn.lock to package.json (pixi 8.19.0 dedup)
Dev's committed yarn.lock was stale vs package.json (the single-8.19.0
pixi dedup landed on main but not Dev), so CI's yarn install
--frozen-lockfile failed. Regenerated lockfile (Yarn 1.22.22) — verified
--frozen-lockfile passes.
2026-06-06 17:59:58 +02:00
simoleo89 b75b9d9dbe feat(furni-editor): import-text packet (10049) for Habbo furnidata fetch
Add FurniEditorImportTextComposer (outgoing 10049) + FurniEditorImportText
ResultEvent/Parser (incoming 10049: found, name, description, classname),
register both in NitroMessages and export from the furnieditor barrels.
Lets the editor pull official names/descriptions from a server-fetched
Habbo furnidata URL.
2026-06-06 17:40:08 +02:00
simoleo89 9737f7143b feat(furni-editor): add sortField/sortDir to search composer
Append optional sort field + direction to FurniEditorSearchComposer so
the server can order the full result set (not just the visible page).
Defaults id/asc keep existing callers working.
2026-06-06 17:40:08 +02:00
simoleo89 25385a0d85 feat(furnieditor): outgoing composers for furnidata update (10046) + revert (10048) 2026-06-06 17:40:08 +02:00
simoleo89 8de869786c feat(session): apply FurnitureDataReload delta + reload-hint (separate path) 2026-06-06 17:40:07 +02:00
simoleo89 6e9463e148 feat(communication): route FURNITURE_DATA_RELOAD to its event 2026-06-06 17:40:07 +02:00
simoleo89 7a77b302e1 feat(communication): FurnitureDataReload incoming event + parser (header 10047) 2026-06-06 17:40:07 +02:00
simoleo89 108a24625f feat(furni-editor): import-text packet (10049) for Habbo furnidata fetch
Add FurniEditorImportTextComposer (outgoing 10049) + FurniEditorImportText
ResultEvent/Parser (incoming 10049: found, name, description, classname),
register both in NitroMessages and export from the furnieditor barrels.
Lets the editor pull official names/descriptions from a server-fetched
Habbo furnidata URL.
2026-06-06 15:26:23 +02:00
simoleo89 7da07aa1d5 feat(furni-editor): add sortField/sortDir to search composer
Append optional sort field + direction to FurniEditorSearchComposer so
the server can order the full result set (not just the visible page).
Defaults id/asc keep existing callers working.
2026-06-06 15:08:46 +02:00
simoleo89 751da35ce4 fix(furnieditor): register furnidata update/revert composers (was Unknown Composer) 2026-06-06 13:07:53 +02:00
simoleo89 4f3e2b7ce7 feat(furnieditor): outgoing composers for furnidata update (10046) + revert (10048) 2026-06-06 02:42:17 +02:00
simoleo89 beea0a2c61 Merge remote-tracking branch 'fork/main'
# Conflicts:
#	packages/communication/src/NitroMessages.ts
2026-06-06 00:21:11 +02:00
simoleo89 6dcf63d608 chore(deps): dedupe pixi.js to single 8.19.0 in lockfile 2026-06-06 00:19:43 +02:00
simoleo89 334e8e07be Merge branch 'feat/furni-names-from-json-server'
# Conflicts:
#	packages/communication/src/NitroMessages.ts
2026-06-05 23:35:10 +02:00
DuckieTM 6627977912 Merge pull request #92 from duckietm/Dev
Dev
2026-06-05 21:19:46 +02:00
DuckieTM 6a7443b602 🆙 mask filter 2026-06-05 21:01:54 +02:00
duckietm 746e2c8289 🆙 Small alphablend fix 2026-06-05 17:22:48 +02:00
duckietm 20f6af232e 🆙 Update to Pixi.js 8.19.0 and alphablend is now fixed 2026-06-05 16:30:22 +02:00
duckietm d61a07e1e7 🆙 Fix the Admin Catalogue stuff 2026-06-05 14:25:47 +02:00
simoleo89 437bba5a88 docs: document FurnitureDataReload live furnidata pipeline 2026-06-04 22:39:41 +02:00
simoleo89 1d6c102fd6 feat(session): apply FurnitureDataReload delta + reload-hint (separate path) 2026-06-04 22:01:08 +02:00
simoleo89 dbd398ae80 feat(communication): route FURNITURE_DATA_RELOAD to its event 2026-06-04 21:54:43 +02:00
simoleo89 17957e7f54 feat(communication): FurnitureDataReload incoming event + parser (header 10047) 2026-06-04 21:50:34 +02:00
simoleo89 c0f6504d9c docs(furni): liveness implementation plan (Piece 2) 2026-06-04 21:36:15 +02:00
simoleo89 842d8407e8 docs(furni): spec — server-authoritative furni names/descriptions from JSON + live
Design for sourcing furni display names from furnidata JSON (DB keeps technical data), with a live delta-broadcast pipeline (emulator file-watch -> renderer patch -> client refresh) and a security hardening section. Cross-repo reference copy.
2026-06-04 20:13:08 +02:00
duckietm becf654c9e 🆙 Updates Mention 2026-06-04 10:42:10 +02:00
DuckieTM 4459e6a2b9 Merge pull request #90 from medievalshell/feat/live-furnidata-reload
feat(session): live furnidata reload via mergeFurnitureDataFromUrl + feat(mentions) improved
2026-06-04 08:51:20 +02:00
medievalshell e83468563d feat(session): live furnidata reload via mergeFurnitureDataFromUrl
Add SessionDataManager.mergeFurnitureDataFromUrl() + FurnitureDataLoader.mergeFromUrl()
to merge a single furnidata chunk (e.g. a custom tier) into the live floor/wall maps at
runtime, returning the added entries so callers can also refresh the RoomContentLoader.
Lets newly added furniture appear without a full client reload.
2026-06-03 23:36:07 +02:00
DuckieTM 29e83fa7de Merge pull request #88 from duckietm/Dev
Dev
2026-06-03 14:18:50 +02:00
DuckieTM 6c07cf8677 Merge pull request #86 from simoleo89/feat/mentions-packets
feat(mentions): mention packets (received / list / request / mark-read / delete)
2026-06-03 09:48:56 +02:00
DuckieTM 2476cbc19b Merge pull request #87 from duckietm/Dev
🆙 Updated Prefixes
2026-06-03 09:48:05 +02:00
duckietm 90f2fa5fd8 🆙 Updated Prefixes 2026-06-03 09:39:53 +02:00
simoleo89 623f57dda0 Merge remote-tracking branch 'fork/main' into feat/messenger-groups-receipts 2026-06-02 22:06:31 +02:00
simoleo89 cf81ca6689 feat(messenger): typing packets (ConsoleTyping + FriendTyping) 2026-06-02 20:57:38 +02:00
simoleo89 9a678b04fb feat(messenger): read-receipt packets (MarkConsoleRead + ConsoleReadReceipt) 2026-06-02 20:03:32 +02:00
simoleo89 4774eeeae9 feat(messenger): add friend-category client composers (add/rename/remove/move) 2026-06-02 17:30:30 +02:00
simoleo89 6701b8bf50 feat(mentions): add DeleteMention composer (header 4805) 2026-06-02 14:44:15 +02:00
simoleo89 2b32ffa990 feat(mentions): add MentionReceived/MentionsList packets + parsers and composers 2026-05-31 21:38:46 +02:00
github-actions[bot] 8ed5791694 Merge remote-tracking branch 'upstream/main' 2026-05-31 03:35:27 +00:00