Skip to content

[core] Track inventory containers client load state [inventory sort fix]#9409

Merged
WinterSolstice8 merged 2 commits into
LandSandBoat:basefrom
sruon:inv_fix
Feb 24, 2026
Merged

[core] Track inventory containers client load state [inventory sort fix]#9409
WinterSolstice8 merged 2 commits into
LandSandBoat:basefrom
sruon:inv_fix

Conversation

@sruon
Copy link
Copy Markdown
Contributor

@sruon sruon commented Feb 8, 2026

I affirm:

  • I understand that if I do not agree to the following points by completing the checkboxes my PR will be ignored.
  • I understand I should leave resolving conversations to the LandSandBoat team so that reviewers won't miss what was said.
  • I have read and understood the Contributing Guide and the Code of Conduct.
  • I have tested my code and the things my code has changed since the last commit in the PR and will test after any later commits.

What does this pull request do?

Fixes inventory unsorting, closes #7647

ITEM_SAME was generally being sent as either "nothing is loaded" or "everything is loaded" when zoning in which led the client to believe it could now load the cache files (storing the SortKeys client side).

When the client attempted to match items in the cache file, they were not found and so it silently reverted to the server order.
Equipping items during zoning emitted several ITEM_SAME leading to the condition.

This PR:

  • Progressively marks each container as loaded during the zone process
  • Ensures the equip item flow does not wrongly tell the client a container is loaded
  • Reworks ITEM_SAME packet to make use of the client actual flags rather than being binary
  • Reorders the order in which containers are sent to the client based on retail captures
  • Batches equipment changes and sends everything in a retail accurate fashion
    • Note: it is presently being added at the tail end of the packet queue when my captures show it's closer to the top but that requires reworking the packet system to have prioritization which is a much bigger endeavor

Credits to B.O. for the scenario and @WinterSolstice8 for pointing out the equipment packets were not entirely accurate.

Steps to test these changes

Zone with equipped items and a manually sorted inventory -> sort is still there after zoning.

Draft because I only really tested the reproducible scenario. Hoping some nice operator can pull it in and give feedback...

image

@github-actions
Copy link
Copy Markdown

This PR has been automatically marked as stale because
it has not had recent activity. It will be closed if no
further activity occurs.

@sruon sruon marked this pull request as ready for review February 23, 2026 05:38
@WinterSolstice8 WinterSolstice8 merged commit 83ce4f0 into LandSandBoat:base Feb 24, 2026
10 checks passed
taylorleary pushed a commit to taylorleary/ZenithXI that referenced this pull request Mar 26, 2026
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.

🐛 Inventory auto sort does not persist

2 participants