Palvolve-Fork feature overview - #3
Open
NoahBohdi wants to merge 3 commits into
Open
Conversation
…ver inheritance The 1.3.10 reconnect fix buffers every greet for 30s so onEnterWorld can consume a re-greet that arrives before the client re-baselines. Two leaks in that shape let a buffered greet outlive its purpose and settle REMOTE against the NEXT world - a vanilla host included, at which point the first evolve press sends the carrier RPC to a server that reads it as a plain otomo selection: 1. On a LISTEN HOST the client-side pong hook also observes the host's own outgoing greet to a joining guest (no for-us filter on that branch). It was buffered in ST.LOCAL where settleRemote never consumes it, so it survived the full 30s across a quit-to-menu + join. 2. A greet that failed to settle (arriving in ST.REMOTE) was buffered with the same 30s lifetime, though its one legitimate consumer - the imminent onEnterWorld re-baseline - arrives within milliseconds. Changes: drop greets observed while holding world authority (devMode logs the drop); settle FIRST and clear the buffer on consume (settleRemote now reports consumption); buffer only unsettled greets, with an 8s TTL for the REMOTE-origin copy (8 not 3: the interval spans the client's own spawn-in and region-streaming hitches, and a too-tight TTL re-breaks the laggy- server case the 1.3.10 fix exists for, while anything under the ~10s server-hop floor costs nothing). IDLE-origin buffers keep the 30s window unchanged. Found while porting 1.4.0 into the permitted Palvolve-Fork build; the restructure survived three adversarial review rounds there.
Review-only. This is the fork's complete current payload (28 scripts, PalSchema data half, generator tools, fork changelog as CHANGELOG-FORK.md) copied onto upstream main in upstream's own layout, so the Files-changed view renders every fork change file-by-file. Not intended to merge as-is: the fork ships as its own mod (Palvolve-Fork) and this translation deliberately leaves upstream's Info.json, README, CHANGELOG, probes.lua and dll untouched (the fork runs upstream's own 1.5.0 native companion, hence no binary diff). Anything worth adopting gets cut into its own clean rebased PR, like the greet-buffer fix. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…is config.lua version bump was the conflict)
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.
What the fork adds beyond upstream, briefly:
free; a cooldown paces repeats).conditions/anyOf).anyOf), at-most HP (hpBelow:N), counted party demands (inParty:Id:n), per-pair explicitmaterials, per-pairfree.free,anyOf,materials, ...) over a palvolve.doodesch.de export, with a diff report - trees authored in your configurator round-trip cleanly.Happy to split anything that looks upstream-worthy into its own clean PR like this one.