mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-23 14:01:37 +00:00
Add audit documentation and enhance two-way sync handling
- Introduced a comprehensive audit guide for the production-grade sync feature, detailing the evaluation criteria for round-trip identity and code quality. - Added a new plan for auditing the two-way sync Ref property feature, outlining specific tasks and expected behaviors. - Updated `ServeSession.lua` to include the instance map in patch updates, ensuring accurate property encoding. - Enhanced `encodeInstance.lua` to prevent encoding Ref properties during instance addition, delegating this to the patch update process. - Implemented regression tests to highlight known limitations in Ref handling, ensuring better coverage and identification of existing bugs. These changes improve the clarity of the sync feature's audit process and strengthen the handling of Ref properties in the system.
This commit is contained in:
parent
c181172460
commit
4070b48308
15 changed files with 1559 additions and 138 deletions
|
|
@ -239,6 +239,14 @@ encodeInstance = function(instance, parentId, _skipPathCheck)
|
|||
continue
|
||||
end
|
||||
|
||||
-- Ref properties cannot be encoded during instance addition
|
||||
-- because the target instance has no server ID yet. They are
|
||||
-- handled separately by encodePatchUpdate.lua during property
|
||||
-- update encoding via the InstanceMap.
|
||||
if descriptor.dataType == "Ref" then
|
||||
continue
|
||||
end
|
||||
|
||||
local encodeSuccess, encodeResult = encodeProperty(instance, propertyName, descriptor)
|
||||
if encodeSuccess and encodeResult ~= nil then
|
||||
properties[propertyName] = encodeResult
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue