File Details
3.3.16
- R
- May 8, 2026
- 1.01 MB
- 26.3K
- 12.0.5+6
- Retail + 3
File Name
GSE-3.3.16.zip
Supported Versions
- 12.0.5
- 11.0.5
- 11.0.2
- 5.5.4
- 5.5.3
- 2.5.5
- 1.15.8
GSE
3.3.16 (2026-05-07)
Full Changelog Previous Releases
- #1890 more editor and icon related fixes
- LastUpdated: UTC via GetServerTime + macro tracking + clear PlatformID on rename
Holistic fix for the cross-account multi-write bouncing class. When one
Companion installation has the same sequence/macro/variable on two WoW
accounts and is syncing both, each /reload writes its own slightly-
different copy of the record and the server alternates between them,
firing a Discord toast on every flip (observed at ~9 toasts in 4 min
for one author 2026-05-08).
Resolution: server side picks the newer-stamped copy. That requires
the addon stamp every record with a comparable timestamp.
Changes:
* GSE/API/StringFunctions.lua: GSE.GetTimestamp() now returns UTC via
date('!%Y%m%d%H%M%S', GetServerTime()). Was client-local time which
made cross-timezone comparison nonsensical.
* GSE/API/Storage.lua: UpdateMacro stamps node.LastUpdated. Macros
previously never tracked LastUpdated at all. Plus new function
GSE.BackfillLastUpdated -- idempotent, gated by a SavedVariables
flag, walks GSE.Library / GSEVariables / GSEMacros and stamps any
pre-existing record missing the field.
* GSE/API/Events.lua: PLAYER_ENTERING_WORLD calls
GSE.BackfillLastUpdated so legacy records light up on first login
after the user updates the addon.
* GSE_GUI/Editor.lua: sequence rename (newname-flag path) clears
sequence.MetaData.PlatformID and the GSEPlatformIDs sidecar entry
under the original origin key. Prevents the v4-renamed-to-v5 case
where both sequences inherit the same server _id and bounce.
* GSE_GUI/Editor_Variable.lua: variable rename (OnTextChanged
callback) clears GSEVariablePlatformIDs[oldName].
* GSE_GUI/Editor_Macro.lua: macro rename (OnEnterPressed callback)
clears GSEMacroPlatformIDs[oldName].
Pairs with:
* gse-api commit 9afbc3b -- server-side enrich.js stamps LastUpdated
when the incoming payload doesn't carry one.
* GSE-Companion commit 667ea56 -- preserves top-level LastUpdated on
upload (was being silently stripped during rawData rebuild). - #1908 Fix multiclick button settings
- #1893 sync updates
- #1893 More Sync checks
- #1890 Fix Patreon icon selector

