From 8a180dcc7a23d9f93209367ec4ae739a288ab441 Mon Sep 17 00:00:00 2001 From: Florian Berthold Date: Fri, 29 May 2026 10:43:54 +0200 Subject: [PATCH 1/6] fix(Swing): correct CLEU arg order for 3.3.5 (hideCaster + RaidFlags, destFlags) --- Quartz/modules/Swing.lua | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Quartz/modules/Swing.lua b/Quartz/modules/Swing.lua index 4f05008..93f7351 100644 --- a/Quartz/modules/Swing.lua +++ b/Quartz/modules/Swing.lua @@ -167,7 +167,15 @@ end do local swordspecproc = false - function Swing:COMBAT_LOG_EVENT_UNFILTERED(event, timestamp, combatevent, srcGUID, srcName, srcFlags, dstName, dstGUID, dstFlags, spellID, spellName) + -- 3.3.5 CLEU signature: + -- (event, timestamp, subevent, hideCaster, + -- srcGUID, srcName, srcFlags, srcRaidFlags, + -- destGUID, destName, destFlags, destRaidFlags, + -- spellId, spellName, spellSchool, extraSpellId, extraSpellName, extraSpellSchool) + function Swing:COMBAT_LOG_EVENT_UNFILTERED(event, timestamp, combatevent, hideCaster, + srcGUID, srcName, srcFlags, srcRaidFlags, + destGUID, destName, destFlags, destRaidFlags, + spellID, spellName) if swingmode ~= 0 then return end if combatevent == "SPELL_EXTRA_ATTACKS" and spellName == swordprocname and (bit_band(srcFlags, COMBATLOG_FILTER_ME) == COMBATLOG_FILTER_ME) then swordspecproc = true @@ -177,7 +185,7 @@ do else self:MeleeSwing() end - elseif (combatevent == "SWING_MISSED") and (bit_band(dstFlags, COMBATLOG_FILTER_ME) == COMBATLOG_FILTER_ME) and spellID == "PARRY" and duration then + elseif (combatevent == "SWING_MISSED") and (bit_band(destFlags, COMBATLOG_FILTER_ME) == COMBATLOG_FILTER_ME) and spellID == "PARRY" and duration then duration = duration * 0.6 end end From 68df17cb106250cb9d1b31d605a1f56f9441f308 Mon Sep 17 00:00:00 2001 From: Florian Berthold Date: Fri, 29 May 2026 19:27:50 +0200 Subject: [PATCH 2/6] Revert "fix(Swing): correct CLEU arg order for 3.3.5 (hideCaster + RaidFlags, destFlags)" This reverts commit 8a180dcc7a23d9f93209367ec4ae739a288ab441. --- Quartz/modules/Swing.lua | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/Quartz/modules/Swing.lua b/Quartz/modules/Swing.lua index 93f7351..4f05008 100644 --- a/Quartz/modules/Swing.lua +++ b/Quartz/modules/Swing.lua @@ -167,15 +167,7 @@ end do local swordspecproc = false - -- 3.3.5 CLEU signature: - -- (event, timestamp, subevent, hideCaster, - -- srcGUID, srcName, srcFlags, srcRaidFlags, - -- destGUID, destName, destFlags, destRaidFlags, - -- spellId, spellName, spellSchool, extraSpellId, extraSpellName, extraSpellSchool) - function Swing:COMBAT_LOG_EVENT_UNFILTERED(event, timestamp, combatevent, hideCaster, - srcGUID, srcName, srcFlags, srcRaidFlags, - destGUID, destName, destFlags, destRaidFlags, - spellID, spellName) + function Swing:COMBAT_LOG_EVENT_UNFILTERED(event, timestamp, combatevent, srcGUID, srcName, srcFlags, dstName, dstGUID, dstFlags, spellID, spellName) if swingmode ~= 0 then return end if combatevent == "SPELL_EXTRA_ATTACKS" and spellName == swordprocname and (bit_band(srcFlags, COMBATLOG_FILTER_ME) == COMBATLOG_FILTER_ME) then swordspecproc = true @@ -185,7 +177,7 @@ do else self:MeleeSwing() end - elseif (combatevent == "SWING_MISSED") and (bit_band(destFlags, COMBATLOG_FILTER_ME) == COMBATLOG_FILTER_ME) and spellID == "PARRY" and duration then + elseif (combatevent == "SWING_MISSED") and (bit_band(dstFlags, COMBATLOG_FILTER_ME) == COMBATLOG_FILTER_ME) and spellID == "PARRY" and duration then duration = duration * 0.6 end end From c8a976bcf57eccba1aa46951255e3a402658e848 Mon Sep 17 00:00:00 2001 From: Florian Berthold Date: Fri, 29 May 2026 19:36:04 +0200 Subject: [PATCH 3/6] fix(Interrupt): revert to WotLK 8-arg CLEU (CoA has no hideCaster/RaidFlags) --- Quartz/modules/Interrupt.lua | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/Quartz/modules/Interrupt.lua b/Quartz/modules/Interrupt.lua index 39e854e..be824f8 100644 --- a/Quartz/modules/Interrupt.lua +++ b/Quartz/modules/Interrupt.lua @@ -53,15 +53,9 @@ function Interrupt:ApplySettings() db = self.db.profile end --- 3.3.5 CLEU signature: --- (event, timestamp, subevent, hideCaster, --- srcGUID, srcName, srcFlags, srcRaidFlags, --- destGUID, destName, destFlags, destRaidFlags, --- spellId, spellName, spellSchool, extraSpellId, extraSpellName, extraSpellSchool) -function Interrupt:COMBAT_LOG_EVENT_UNFILTERED(event, timestamp, combatEvent, hideCaster, - srcGUID, sourceName, srcFlags, srcRaidFlags, - destGUID, destName, destFlags, destRaidFlags, - spellId, spellName, spellSchool) +-- CoA 3.3.5 uses the standard WotLK 8-arg CLEU layout (no hideCaster/RaidFlags): +-- (event, timestamp, subevent, srcGUID, srcName, srcFlags, destGUID, destName, destFlags, ...) +function Interrupt:COMBAT_LOG_EVENT_UNFILTERED(event, timestamp, combatEvent, _, sourceName, _, _, _, destFlags) if combatEvent == "SPELL_INTERRUPT" and destFlags == 0x511 then Player.Bar.Text:SetFormattedText(L["INTERRUPTED (%s)"], (sourceName or UNKNOWN):upper()) Player.Bar.Bar:SetStatusBarColor(unpack(db.interruptcolor)) From 8f9649c79e2fc460f67b63eb4ed11fdbbd32f044 Mon Sep 17 00:00:00 2001 From: Florian Berthold Date: Fri, 29 May 2026 20:23:33 +0200 Subject: [PATCH 4/6] fix(libs): pcall AceGUI OnGamePadButtonDown (3.3.5 has no gamepad script type) --- Quartz/libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Quartz/libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua b/Quartz/libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua index ee5a83b..07c8f76 100644 --- a/Quartz/libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua +++ b/Quartz/libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua @@ -199,7 +199,7 @@ local function Constructor() button:SetScript("OnKeyDown", Keybinding_OnKeyDown) button:SetScript("OnMouseDown", Keybinding_OnMouseDown) button:SetScript("OnMouseWheel", Keybinding_OnMouseWheel) - button:SetScript("OnGamePadButtonDown", Keybinding_OnKeyDown) + pcall(button.SetScript, button, "OnGamePadButtonDown", Keybinding_OnKeyDown) button:SetPoint("BOTTOMLEFT") button:SetPoint("BOTTOMRIGHT") button:SetHeight(24) From 2fe580c73aacc2f417ac257f755f0b10c38b9beb Mon Sep 17 00:00:00 2001 From: Florian Berthold Date: Fri, 29 May 2026 20:51:13 +0200 Subject: [PATCH 5/6] ci(release): hide auto-generated source archives (hide_archive_links) --- .gitea/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 709a7cd..1b1b66b 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -37,7 +37,7 @@ jobs: RID=$(curl -sf -X POST -H "Authorization: token $GITEA_TOKEN" \ -H "Content-Type: application/json" \ "$API/repos/$REPO/releases" \ - -d "$(jq -nc --arg t "$TAG" '{tag_name:$t,name:$t,draft:false,prerelease:false}')" \ + -d "$(jq -nc --arg t "$TAG" '{tag_name:$t,name:$t,draft:false,prerelease:false,hide_archive_links:true}')" \ | jq -r '.id') fi echo "release id: $RID" From 3244fb24a2351e54b29519f06c193b0964f309b4 Mon Sep 17 00:00:00 2001 From: Florian Berthold Date: Wed, 10 Jun 2026 02:11:46 +0200 Subject: [PATCH 6/6] ci(release): sync release.yml from coa-template MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit hide_archive_links is only honored by Gitea on release edit, not create — add the PATCH step after create/lookup so auto-generated source archive links actually stay hidden (coa-template 90874c5). --- .gitea/workflows/release.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 1b1b66b..2f93975 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -41,6 +41,10 @@ jobs: | jq -r '.id') fi echo "release id: $RID" + # Gitea honors hide_archive_links only on edit, not create — PATCH it + # so the auto-generated Source Code (zip/tar.gz) links stay hidden. + curl -sf -X PATCH -H "Authorization: token $GITEA_TOKEN" -H "Content-Type: application/json" \ + "$API/repos/$REPO/releases/$RID" -d '{"hide_archive_links":true}' >/dev/null || true # Upload every dist/*.zip. Per-asset failures don't fail the job — # we want partial releases to still publish rather than block the # whole pipeline on one big file.