4.3.33: Sharlayan 9.2.0 for 7.55, Screen Capture title-screen crash fix, quieter unreachable-light logging - #208
Open
logicallysynced wants to merge 3 commits into
Open
4.3.33: Sharlayan 9.2.0 for 7.55, Screen Capture title-screen crash fix, quieter unreachable-light logging#208logicallysynced wants to merge 3 commits into
logicallysynced wants to merge 3 commits into
Conversation
…4.3.31 -> v4.3.32) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ts stop reporting as errors (v4.3.32 -> v4.3.33) Fixes CHROMATICS-1D Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…n, single surface read per tick Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Covers v4.3.32 and v4.3.33 on top of the 4.3.31 release.
Sharlayan 9.2.0-prerelease.64
Reader fixes and performance work for FFXIV patch 7.55: corrected inventory slot-array pointer reads with an FCS-derived item stride, chat-log index clamps for torn reads, hoisted hotbar chain resolution, direct status parsing, bulk enmity and condition reads, and single-job gauge reads.
Sharlayan.Coreis unchanged and no public API moved, so the upgrade is the package reference in both projects.Screen Capture layer no longer dies at the title screen (CHROMATICS-1D)
Reported from production, 634 events across 2 users on 4.3.31.
GameControllercallsDisposeAll()on the layer processors every time the player returns to the title or character-select screen, and disposal nulls each processor's cached surface. Every processor clears its_instanceon dispose so the factory rebuilds it, exceptScreenCaptureProcessor, whose instance was astatic readonlyfield that could never be replaced. The factory handed the disposed object back for the rest of the session, andlayergroup.Attach(surface)threw a NullReferenceException on every tick against the null surface. RGB.NET'sAttachextension has no null guard and inlines, which is why the stack pointed atProcesswith no RGB.NET frame.For the user that meant picking Screen Capture as the base layer, logging out to character select once, and losing lighting until restart. The processor now follows the same lazy-singleton pattern as its 33 siblings, and
Processreads the surface once per tick so shutdown disposal on the UI thread can't null it mid-tick.Lights that are off or unreachable stop reporting as application errors (CHROMATICS-1E)
A Yeelight bulb that answered SSDP discovery but refused the TCP connect (LAN Control switched off, or a reassigned DHCP lease) reached Sentry as an application error, because the setup catch logged at
LoggerTypes.ErrorandLogger.WriteConsoleforwards those by default.New
NetworkFailureHelper.IsUnreachablewalks the exception chain, includingAggregateExceptionmembers, for socket, timeout, HTTP, IO, and cancellation failures. The per-device setup catches in Yeelight, LIFX, Nanoleaf, and Alienware now log those atLoggerTypes.Deviceswithout forwarding, and so do the Yeelight and LIFX discovery sweeps, where a firewall blocking broadcast produced the same noise one frame up. Genuine faults in those paths still raise errors and still reach Sentry.Notes
🤖 Generated with Claude Code