diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml
index 2f93975..709a7cd 100644
--- a/.gitea/workflows/release.yml
+++ b/.gitea/workflows/release.yml
@@ -37,14 +37,10 @@ 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,hide_archive_links:true}')" \
+ -d "$(jq -nc --arg t "$TAG" '{tag_name:$t,name:$t,draft:false,prerelease:false}')" \
| 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.
diff --git a/Chatter/Chatter.lua b/Chatter/Chatter.lua
index 16bc07d..d61232e 100644
--- a/Chatter/Chatter.lua
+++ b/Chatter/Chatter.lua
@@ -19,9 +19,14 @@ local options = {
name = L["Standalone Config"],
desc = L["Open a standalone config window. You might consider installing |cffffff00BetterBlizzOptions|r to make the Blizzard UI options panel resizable."],
func = function()
- if InterfaceOptionsFrame then InterfaceOptionsFrame:Hide() end
- AceConfigDialog:SetDefaultSize("Chatter", 500, 550)
- AceConfigDialog:Open("Chatter")
+ if InterfaceOptionsFrame and InterfaceOptionsFrame_OpenToCategory then
+ InterfaceOptionsFrame:Hide()
+ AceConfigDialog:SetDefaultSize("Chatter", 500, 550)
+ AceConfigDialog:Open("Chatter")
+ else
+ AceConfigDialog:SetDefaultSize("Chatter", 500, 550)
+ AceConfigDialog:Open("Chatter")
+ end
end
}
}
diff --git a/Chatter/Localization/enUS.lua b/Chatter/Localization/enUS.lua
index 572bfe9..c0ec9fd 100644
--- a/Chatter/Localization/enUS.lua
+++ b/Chatter/Localization/enUS.lua
@@ -4,12 +4,6 @@ local AceLocale = LibStub:GetLibrary("AceLocale-3.0")
local L = AceLocale:NewLocale("Chatter", "enUS", true)
if not L then return end
--- ./Modules/BroadcastFilter.lua
-L["Broadcast Filter"] = true
-L["Hidden broadcasts"] = true
-L["Hides chat lines from broadcast channels or senders. One entry per line; matching is a case-insensitive substring against the message and its channel/sender."] = true
-L["Suppresses spammy server broadcasts such as the Ascension Autobroadcast Discord nag."] = true
-
-- ./Chatter.lua
L["Chatter"] = true
L["Standalone Config"] = true
diff --git a/Chatter/Modules/BroadcastFilter.lua b/Chatter/Modules/BroadcastFilter.lua
deleted file mode 100644
index 6d9d299..0000000
--- a/Chatter/Modules/BroadcastFilter.lua
+++ /dev/null
@@ -1,109 +0,0 @@
-local mod = Chatter:NewModule("Broadcast Filter", "AceEvent-3.0")
-local L = LibStub("AceLocale-3.0"):GetLocale("Chatter")
-mod.modName = L["Broadcast Filter"]
-
-local ipairs = _G.ipairs
-local type = _G.type
-local select = _G.select
-local strlower = _G.string.lower
-local strfind = _G.string.find
-local gmatch = _G.string.gmatch
-local gsub = _G.string.gsub
-
--- Events the autobroadcast can arrive on. It renders as "[Ascension Autobroadcast]: ..."
--- which is a named channel, so CHAT_MSG_CHANNEL is the primary one; SYSTEM and
--- RAID_WARNING are belt-and-suspenders for other server broadcast styles.
-local events = {
- "CHAT_MSG_CHANNEL",
- "CHAT_MSG_CHANNEL_NOTICE",
- "CHAT_MSG_SYSTEM",
- "CHAT_MSG_RAID_WARNING",
-}
-
-local defaults = {
- profile = {
- patterns = "Ascension Autobroadcast",
- }
-}
-
--- Lowercased, trimmed, non-empty lines from the user's textbox.
-local activePatterns = {}
-local function rebuild()
- for i = #activePatterns, 1, -1 do activePatterns[i] = nil end
- for line in gmatch(mod.db.profile.patterns or "", "[^\r\n]+") do
- line = gsub(gsub(line, "^%s+", ""), "%s+$", "")
- if line ~= "" then activePatterns[#activePatterns + 1] = strlower(line) end
- end
-end
-
--- Returns true to suppress. For a channel message the channel name ("Ascension
--- Autobroadcast") is not in the body but in a later arg, so scan the body and
--- every string vararg with a case-insensitive plain substring match.
-mod.filterFunc = function(frame, event, msg, ...)
- local n = #activePatterns
- if n == 0 then return false end
-
- if msg and msg ~= "" then
- local m = strlower(msg)
- for i = 1, n do
- if strfind(m, activePatterns[i], 1, true) then return true end
- end
- end
-
- for i = 1, select("#", ...) do
- local v = select(i, ...)
- if type(v) == "string" and v ~= "" then
- v = strlower(v)
- for j = 1, n do
- if strfind(v, activePatterns[j], 1, true) then return true end
- end
- end
- end
-
- return false
-end
-
-local options = {
- desc = {
- order = 1,
- type = "description",
- name = L["Hides chat lines from broadcast channels or senders. One entry per line; matching is a case-insensitive substring against the message and its channel/sender."],
- },
- patterns = {
- order = 2,
- type = "input",
- multiline = 8,
- width = "full",
- name = L["Hidden broadcasts"],
- get = function() return mod.db.profile.patterns end,
- set = function(info, v)
- mod.db.profile.patterns = v
- rebuild()
- end,
- },
-}
-
-function mod:OnInitialize()
- self.db = Chatter.db:RegisterNamespace("BroadcastFilter", defaults)
-end
-
-function mod:OnEnable()
- rebuild()
- for _, event in ipairs(events) do
- ChatFrame_AddMessageEventFilter(event, self.filterFunc)
- end
-end
-
-function mod:OnDisable()
- for _, event in ipairs(events) do
- ChatFrame_RemoveMessageEventFilter(event, self.filterFunc)
- end
-end
-
-function mod:Info()
- return L["Suppresses spammy server broadcasts such as the Ascension Autobroadcast Discord nag."]
-end
-
-function mod:GetOptions()
- return options
-end
diff --git a/Chatter/modules.xml b/Chatter/modules.xml
index 1abcf2d..a154bd6 100644
--- a/Chatter/modules.xml
+++ b/Chatter/modules.xml
@@ -7,7 +7,6 @@
-