From a630b2fc8be19689d9b51850d3e1a05d1eb7ea06 Mon Sep 17 00:00:00 2001 From: vaisest Date: Sun, 30 Aug 2026 11:12:45 +0000 Subject: [PATCH 1/2] Apply changes from https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/10121 --- src/Classes/ImportTab.lua.rej | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/Classes/ImportTab.lua.rej diff --git a/src/Classes/ImportTab.lua.rej b/src/Classes/ImportTab.lua.rej new file mode 100644 index 0000000000..aa25465eb5 --- /dev/null +++ b/src/Classes/ImportTab.lua.rej @@ -0,0 +1,20 @@ +diff a/src/Classes/ImportTab.lua b/src/Classes/ImportTab.lua (rejected hunks) +@@ -1402,6 +1402,9 @@ function ImportTabClass:ImportItemsAndSkills(charData, clearItems, clearSkills, + t_insert(preservedSocketGroupStateByKey[key], snapshotSocketGroupReimportState(socketGroup, index == self.build.mainSocketGroup)) + end + wipeTable(self.build.skillsTab.socketGroupList) ++ self.build.skillsTab.controls.groupList.selIndex = nil ++ self.build.skillsTab.controls.groupList.selValue = nil ++ self.build.skillsTab:SetDisplayGroup() + self.build.skillsTab:RebuildImbuedSupportBySlot() + end + for _, itemData in ipairs(charData.equipment) do +@@ -1473,8 +1476,6 @@ function ImportTabClass:ImportItemsAndSkills(charData, clearItems, clearSkills, + self.build.itemsTab:PopulateSlots() + self.build.itemsTab:AddUndoState() + self.build.skillsTab:UpdateSocketGroups() +- -- clear selection as the socket group reference is no longer in the build +- self.build.skillsTab:SetDisplayGroup() + self.build.skillsTab:AddUndoState() + self.build.characterLevel = charData.level + self.build.configTab:UpdateLevel() From c1c539a68d94342b8de8ea0a05f8d8a14814de80 Mon Sep 17 00:00:00 2001 From: LocalIdentity Date: Mon, 31 Aug 2026 02:39:06 +1000 Subject: [PATCH 2/2] Fix port --- spec/System/TestImportReimport_spec.lua | 18 ++++++++++++++++++ src/Classes/ImportTab.lua | 3 +++ src/Classes/ImportTab.lua.rej | 20 -------------------- 3 files changed, 21 insertions(+), 20 deletions(-) delete mode 100644 src/Classes/ImportTab.lua.rej diff --git a/spec/System/TestImportReimport_spec.lua b/spec/System/TestImportReimport_spec.lua index c63722bf62..7726aab0c0 100644 --- a/spec/System/TestImportReimport_spec.lua +++ b/spec/System/TestImportReimport_spec.lua @@ -187,6 +187,24 @@ Fireball 20/0 1 assert.is_false(groupsByGem.Fireball.enabled) end) + it("clears the stale socket group selection when reimporting skills", function() + build.skillsTab:PasteSocketGroup([[ +Fireball 20/0 1 +]]) + runCallback("OnFrame") + + local oldSocketGroup = build.skillsTab.socketGroupList[1] + assert.are.equal(oldSocketGroup, build.skillsTab.displayGroup) + assert.are.equal(oldSocketGroup, build.skillsTab.controls.groupList.selValue) + + reimportSingleGem("Linen Wraps", "Gloves", "Dark Effigy") + + assert.is_nil(build.skillsTab.displayGroup) + assert.is_nil(build.skillsTab.controls.groupList.selIndex) + assert.is_nil(build.skillsTab.controls.groupList.selValue) + assert.are_not.equal(oldSocketGroup, build.skillsTab.socketGroupList[1]) + end) + it("imports item socketed jewels using jewel socket order instead of raw socket index", function() build.importTab.controls.charImportItemsClearItems.state = true build.importTab.controls.charImportItemsClearSkills.state = true diff --git a/src/Classes/ImportTab.lua b/src/Classes/ImportTab.lua index dcdcb76880..f1dd2218de 100644 --- a/src/Classes/ImportTab.lua +++ b/src/Classes/ImportTab.lua @@ -1123,6 +1123,9 @@ function ImportTabClass:ImportItemsAndSkills(charData) t_insert(preservedSocketGroupStateByKey[key], snapshotSocketGroupReimportState(socketGroup, index == self.build.mainSocketGroup)) end wipeTable(self.build.skillsTab.socketGroupList) + self.build.skillsTab.controls.groupList.selIndex = nil + self.build.skillsTab.controls.groupList.selValue = nil + self.build.skillsTab:SetDisplayGroup() end self.charImportStatus = colorCodes.POSITIVE.."Items and skills successfully imported." --ConPrintTable(charItemData) diff --git a/src/Classes/ImportTab.lua.rej b/src/Classes/ImportTab.lua.rej deleted file mode 100644 index aa25465eb5..0000000000 --- a/src/Classes/ImportTab.lua.rej +++ /dev/null @@ -1,20 +0,0 @@ -diff a/src/Classes/ImportTab.lua b/src/Classes/ImportTab.lua (rejected hunks) -@@ -1402,6 +1402,9 @@ function ImportTabClass:ImportItemsAndSkills(charData, clearItems, clearSkills, - t_insert(preservedSocketGroupStateByKey[key], snapshotSocketGroupReimportState(socketGroup, index == self.build.mainSocketGroup)) - end - wipeTable(self.build.skillsTab.socketGroupList) -+ self.build.skillsTab.controls.groupList.selIndex = nil -+ self.build.skillsTab.controls.groupList.selValue = nil -+ self.build.skillsTab:SetDisplayGroup() - self.build.skillsTab:RebuildImbuedSupportBySlot() - end - for _, itemData in ipairs(charData.equipment) do -@@ -1473,8 +1476,6 @@ function ImportTabClass:ImportItemsAndSkills(charData, clearItems, clearSkills, - self.build.itemsTab:PopulateSlots() - self.build.itemsTab:AddUndoState() - self.build.skillsTab:UpdateSocketGroups() -- -- clear selection as the socket group reference is no longer in the build -- self.build.skillsTab:SetDisplayGroup() - self.build.skillsTab:AddUndoState() - self.build.characterLevel = charData.level - self.build.configTab:UpdateLevel()