Compare commits

..

4 commits

Author SHA1 Message Date
91b52982b0 fix: spec-swap crash and unanchored bind config without Ascension API
- TalentGroupChanged: fall back to GetActiveTalentGroup() (or 1) when
  SpecializationUtil is unavailable, so self.talentGroup is never nil
  (specswap concat crash, pri/sectalent misfiltering)
- ShowWithSpellBook: anchor to UIParent center when
  AscensionSpellbookFrame is missing instead of showing an
  unanchored frame
2026-06-10 02:13:05 +02:00
e55c548b6e ci(release): sync release.yml from coa-template
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).
2026-06-10 02:11:46 +02:00
92fcbdb37c ci(release): hide auto-generated source archives (hide_archive_links) 2026-05-29 20:51:19 +02:00
9f7e2b3ae8 fix: guard retail-only InterfaceOptions/SpecializationUtil/AscensionSpellbookFrame; port icons to BLP
All checks were successful
release / release (push) Successful in 2s
2026-05-29 10:43:54 +02:00
10 changed files with 21 additions and 9 deletions

View file

@ -37,10 +37,14 @@ 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"
# 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.

View file

@ -696,7 +696,11 @@ function addon:ApplyAttributes()
end
function addon:TalentGroupChanged()
self.talentGroup = SpecializationUtil.GetActiveSpecialization()
if SpecializationUtil and SpecializationUtil.GetActiveSpecialization then
self.talentGroup = SpecializationUtil.GetActiveSpecialization()
else
self.talentGroup = (GetActiveTalentGroup and GetActiveTalentGroup()) or 1
end
if self.settings.specswap then
local currentProfile = self.db:GetCurrentProfile()

View file

@ -13,8 +13,12 @@ local MAX_ROWS = 12
function CliqueConfig:ShowWithSpellBook()
self:ClearAllPoints()
self:SetParent(AscensionSpellbookFrame)
self:SetPoint("LEFT", AscensionSpellbookFrame, "RIGHT", 55, 0)
if AscensionSpellbookFrame then
self:SetParent(AscensionSpellbookFrame)
self:SetPoint("LEFT", AscensionSpellbookFrame, "RIGHT", 55, 0)
else
self:SetPoint("CENTER", UIParent, "CENTER")
end
self:Show()
end

View file

@ -122,4 +122,4 @@ function panel.okay()
opt.boss = not not panel.boss:GetChecked()
end
InterfaceOptions_AddCategory(panel, addon.optpanels.ABOUT)
if InterfaceOptions_AddCategory then InterfaceOptions_AddCategory(panel, addon.optpanels.ABOUT) end

View file

@ -166,4 +166,4 @@ function panel.refresh()
panel:UpdateScrollFrame()
end
InterfaceOptions_AddCategory(panel, addon.optpanels.ABOUT)
if InterfaceOptions_AddCategory then InterfaceOptions_AddCategory(panel, addon.optpanels.ABOUT) end

View file

@ -17,7 +17,7 @@ local L = addon.L
--- and it's been moved from AddonCore due to taint issues.
-------------------------------------------------------------------------]] --
local about = CreateFrame("Frame", addonName .. "AboutPanel", InterfaceOptionsFramePanelContainer)
local about = CreateFrame("Frame", addonName .. "AboutPanel", InterfaceOptionsFramePanelContainer or UIParent)
about.name = addonName
about:Hide()
@ -76,7 +76,7 @@ addon.optpanels = addon.optpanels or {}
addon.optpanels.ABOUT = about
about:SetScript("OnShow", about.OnShow)
InterfaceOptions_AddCategory(addon.optpanels.ABOUT)
if InterfaceOptions_AddCategory then InterfaceOptions_AddCategory(addon.optpanels.ABOUT) end
--[[-------------------------------------------------------------------------
-- End Dialog
@ -551,4 +551,4 @@ panel.cancel = panel.refresh
function addon:UpdateOptionsPanel() if panel:IsVisible() and panel.initialized then panel.refresh() end end
InterfaceOptions_AddCategory(panel, addon.optpanels.ABOUT)
if InterfaceOptions_AddCategory then InterfaceOptions_AddCategory(panel, addon.optpanels.ABOUT) end

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.