Skip to content

Conversation

@mibac138
Copy link

Best reviewed commit-by-commit. Only the last two commits introduce functional changes. All previous commits are non-functional - they focus on improving documentation, renaming for clarity, and simplifying the code flow.

As for the functional changes they are meant to improve user UX and avoid input jerkiness. See below videos for comparison of the actual effect (host is on the left side; a 50ms artificial latency is applied between host and client). At the beginning of each video I demonstrate the effects of delaying syncing until 200ms have passed without any further user input using the ingredient radius slider. In the second part I show the effect of buffering SyncBillProduction. In both videos, the click speed was approximately the same. However, in the "before" video, some of the clicks were lost, whereas the "after" behavior ensures the user input is correctly handled.

Before:

Buffering-Before-2.mp4

After:

Buffering-After-1.mp4

SyncFieldUtil.bufferedChanges has all required information required
already available. As such, the removed field served no purpose.
Simplified conditionals, clarified buffering handling, and added more
descriptive comments. No functional changes.
This reduces network traffic while improving UX by ensuring only the
final change is sent. It prevents the field from snapping back to older
values mid-interaction due to intermediate syncs being sent back by
the server.
When updating a bill's repeat/target count using the `+/- 1/10` buttons
and playing with a laggy connection the UX is not great as it's possible
to click multiple times in quick succession and have the change
registered as if the button was clicked only once. This fixes that.
@notfood notfood added enhancement New feature or request. fix Fixes for a bug or desync. labels Apr 13, 2025
Copy link
Member

@notfood notfood left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

@notfood notfood changed the base branch from master to dev June 28, 2025 16:37
@notfood notfood merged commit 78d3f1b into rwmt:dev Jul 1, 2025
1 check passed
@mibac138 mibac138 deleted the buffer-talk2 branch July 2, 2025 01:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request. fix Fixes for a bug or desync.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants