diff --git a/plugin/src/Reconciler.lua b/plugin/src/Reconciler.lua index 456ed2aa..7ab35cb6 100644 --- a/plugin/src/Reconciler.lua +++ b/plugin/src/Reconciler.lua @@ -5,6 +5,7 @@ local RbxDom = require(script.Parent.Parent.RbxDom) local t = require(script.Parent.Parent.t) +local Log = require(script.Parent.Parent.Log) local InstanceMap = require(script.Parent.InstanceMap) local Types = require(script.Parent.Types) @@ -302,6 +303,7 @@ function Reconciler:__hydrateInternal(apiInstances, id, instance, hydratePatch) local decodedValue = self:__decodeApiValue(virtualValue) if existingValue ~= decodedValue then + Log.warn("Diff! {:?} vs {:?}", existingValue, decodedValue) changedProperties[propertyName] = virtualValue end end diff --git a/plugin/src/getCanonicalProperty.lua b/plugin/src/getCanonicalProperty.lua index a7fbc30f..288d5989 100644 --- a/plugin/src/getCanonicalProperty.lua +++ b/plugin/src/getCanonicalProperty.lua @@ -18,9 +18,11 @@ local function getCanonincalProperty(instance, propertyName) return false, "unreadable property" end - local success, err = descriptor:read(instance) + local success, valueOrErr = descriptor:read(instance) if not success then + local err = valueOrErr + -- If we don't have permission to read a property, we can chalk that up -- to our database being out of date and the engine being right. if err.kind == RbxDom.Error.Kind.Roblox and err.extra:find("lacking permission") then @@ -31,7 +33,7 @@ local function getCanonincalProperty(instance, propertyName) error(message, 2) end - return true + return true, valueOrErr end return getCanonincalProperty \ No newline at end of file