Skip to content

#1981 Store explicit content-type version; never collapse to nil - #1982

Closed
LarryThiessen wants to merge 1 commit into
TimothyLuke:masterfrom
LarryThiessen:fix-1981-content-version-nil-collapse
Closed

#1981 Store explicit content-type version; never collapse to nil#1982
LarryThiessen wants to merge 1 commit into
TimothyLuke:masterfrom
LarryThiessen:fix-1981-content-version-nil-collapse

Conversation

@LarryThiessen

Copy link
Copy Markdown
Contributor

Fixes #1981

Problem

On the Configuration tab, picking a PvE/PvP content version (Delves/Scenarios, Raid, Dungeon, Mythic+, Solo, Arena…) that equals the Default Version was silently discarded — stored as nil. nil and an explicit version index do not resolve the same at runtime (GSE.GetActiveSequenceVersion treats an empty context key as "no override"), so the sequence kept running the wrong version in that content.

Repro: Default=2, Delves=2 → saved as nil → v1 runs in a Delve. Contrast Default=1, Delves=2 → saved as 2 → v2 runs. The explicit store works; the nil-collapse is what breaks it.

Fix

  • GSE_GUI/Editor_Metadata.lua versionDropdown OnValueChanged: always store the version picked; removed the == Default → nil collapse.
  • GSE_GUI/Editor_Tree.lua version drag-reorder remap: keep explicit context versions; removed the matching nil-collapse.

Delete Version already stores an explicit Default — untouched.

Verified

In-game: Default=2 + Delves=2 → MetaData.Scenario saves as 2 (round-trip decode confirmed) → v2 runs in the Delve. luac -p clean. Pure table/UI logic, cross-version safe. 2 files, +16/−17.

🤖 Generated with Claude Code

…to nil

Picking a PvE/PvP content version (Delves/Scenarios, Raid, Dungeon,
Mythic+, Solo, Arena...) that equalled the Default Version was silently
stored as nil, so the setting never applied at runtime and the sequence
ran the wrong version in that content. nil and an explicit version index
do not resolve the same in GSE.GetActiveSequenceVersion.

- Editor_Metadata.lua versionDropdown OnValueChanged: always store the
  version picked; remove the "== Default -> nil" collapse.
- Editor_Tree.lua version drag-reorder remap: keep explicit context
  versions; remove the matching nil-collapse.

Verified in-game: Default=2 + Delves=2 saves as 2 and v2 runs in a Delve.

Fixes TimothyLuke#1981

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@TimothyLuke

Copy link
Copy Markdown
Owner

This isnt the solution the storage of nil is what it is supposed to do. What is supposed to happen is that if nil its supposed to look at default. if that isnt happening the problem is in the check not in the storage,

@TimothyLuke

Copy link
Copy Markdown
Owner

Bear in mind there are more controls that this affects than just delves.

@LarryThiessen

Copy link
Copy Markdown
Contributor Author

Added a second commit (37f7917) fixing #1983 — same version-handling subsystem: post-Save, editframe.Sequence and the GSE.Library entry are the same table, so the editor's "mirror into Library" blocks ran every per-version operation twice (Delete Version wiped ALL versions, New Version created two + a nil-index Lua error, drag-reorder double-moved). All three mirror sites now guard with libSeq ~= sequence; Delete also stops moving the Default when a later version is deleted. Verified in-game.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] Content-type version settings (Delves/Raid/etc.) silently not saved when they equal the Default Version

2 participants