Repository navigation
fix(scripting): serialize empty snapshot fields as nil - #740
Conversation
Use the reviewed snapshot serializer for event playback and asynchronous reads. AI-assisted implementation and regression verification by OpenAI-powered dot. Signed-off-by: 점[dot] <jum.apzn@gmail.com>
AI disclosure: OpenAI-powered dot prepared this implementation and regression verification. This commit is part of the user-reviewed patch for issue LargeModGames#736. Signed-off-by: 점[dot] <jum.apzn@gmail.com>
AI disclosure: OpenAI-powered dot prepared these regression tests and ran the verification reported in the pull request. This is the user-reviewed patch for issue LargeModGames#736. Signed-off-by: 점[dot] <jum.apzn@gmail.com>
AI disclosure: OpenAI-powered dot prepared this changelog entry as part of the user-reviewed patch for issue LargeModGames#736. Signed-off-by: 점[dot] <jum.apzn@gmail.com>
AI disclosure: OpenAI-powered dot restored the newline from the user-reviewed patch after browser entry. No behavioral change. Signed-off-by: 점[dot] <jum.apzn@gmail.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to No actionable merge-blocking concern is established for the reviewed change. Pre-merge checks |
|
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
|
@all-contributors please add @jum-apzn for code |
|
I've put up a pull request to add @jum-apzn! 🎉 |
|
This conflicts with main in |
Signed-off-by: 점[dot] <jum.apzn@gmail.com>
|
Thanks for the merge. #744 landed right after and hit the same |
Signed-off-by: 점[dot] <jum.apzn@gmail.com>
Adds @jum-apzn as a contributor for code. This was requested by LargeModGames [in this comment](#740 (comment)) [skip ci] --------- Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: LargeModGames <84450916+LargeModGames@users.noreply.github.com>
Summary
Fixes #736.
Use one snapshot serializer for the seven synchronous API reads, event playback payloads, and nine asynchronous data reads. It changes only
serialize_none_to_nulltofalse, so absent optional fields are Luaniland ordinaryif field thenguards behave as documented.json_decodeandstorage_getkeep their existing serialization and null sentinel. Add two regressions for synchronous reads and event payloads, plus an Unreleased changelog entry. No snapshot types, dependencies, scripting docs, or gate counters change.Testing
Run on Linux x86_64 with Rust/cargo/clippy 1.99.0. The following outputs are from actual local runs:
The full default suite includes all eight existing plugin-storage tests. Both full suites also completed their binary and doc-test targets successfully (zero tests there).
Additional notes
alsa.pc, so a task-local pkg-config file and symlink to the installed library were used. No system packages were installed.session_playsdead-code warning, also present before the fix; the required clippy commands are clean.npm ciingui/was attempted but failed withENOENTcreating the environment's default/home/agent/.npmcache; no GUI lint, format, typecheck, tests, or build ran.Summary by CodeRabbit
nilacross playback, current-track, device, playlist, queue, search, configuration, and plugin data. This includes absent playback and track details, as well as device information provided to event handlers. JSON decoding and plugin storage continue to retain their existing null representation.