diff --git a/.github/forge-posts/v2.0.6.md b/.github/forge-posts/v2.0.6.md new file mode 100644 index 0000000..3adec55 --- /dev/null +++ b/.github/forge-posts/v2.0.6.md @@ -0,0 +1,8 @@ +--- +subtitle: "Statusleiste abschaltbar" +versionsnatur: "Feature-Patch" +--- +Eine Frage aus dem Discord, klein genug für ein eigenes Release: Sind die Pillen am unteren Rand fest im Code? Waren sie. + +- **Die Statusleiste lässt sich ausschalten.** Die Reihe am unteren Rand des Chatfensters (Kanal, Privatsphäre-Status, Nachrichtenzähler, Flüstern, Uhr, Version) hatte keinen Schalter. Unter Einstellungen → Fenster → Fenster-Style gibt es jetzt „Statusleiste anzeigen". Aus, und der Chat nimmt den Platz. Bleibt für alle an, bis du es ausschaltest, von selbst ändert sich nichts. Eines solltest du wissen: Kamera und Schloss wohnen in dieser Reihe. Ohne Leiste zeigen Screenshot-Modus und Privatsphäre-Filter nichts mehr an. +- **Vorgeschlagen von Ashy ^.^, und das steht auch dran.** Der Schalter trägt eine Zeile „Vorgeschlagen von" unter sich. Wer etwas vorschlägt, soll den eigenen Namen dort sehen, wo die Funktion gelandet ist, nicht in einem Changelog, das niemand öffnet. Die Zeile ist in alle 25 Sprachen übersetzt und bereit für den nächsten Vorschlag. diff --git a/HellionChat/Configuration.cs b/HellionChat/Configuration.cs index 9deb59c..588b8d9 100755 --- a/HellionChat/Configuration.cs +++ b/HellionChat/Configuration.cs @@ -231,6 +231,7 @@ public class Configuration : IPluginConfiguration public bool CanResize = true; public bool ShowTitleBar; public bool ShowPopOutTitleBar = true; + public bool ShowStatusBar = true; public bool DatabaseBattleMessages; public bool FilterIncludePreviousSessions; public bool SortAutoTranslate; diff --git a/HellionChat/HellionChat.csproj b/HellionChat/HellionChat.csproj index 805278d..6f9fdd0 100644 --- a/HellionChat/HellionChat.csproj +++ b/HellionChat/HellionChat.csproj @@ -1,7 +1,7 @@ - 2.0.5 + 2.0.6 enable enable diff --git a/HellionChat/HellionChat.yaml b/HellionChat/HellionChat.yaml index 5788ea0..a173186 100755 --- a/HellionChat/HellionChat.yaml +++ b/HellionChat/HellionChat.yaml @@ -21,6 +21,15 @@ tags: - Replacement - Privacy changelog: |- + **v2.0.6 — Status bar, optional (2026-09-20)** + + One question from the Discord, small enough to ship on its own: are the pills along the bottom edge fixed in the code? They were. + + - **The status bar can be switched off.** The row at the bottom of the chat window (channel, privacy state, message counts, tells, clock, version) had no switch. Settings → Window → Window style has "Show status bar" now. Off, the chat body takes the space; on for everyone until you turn it off, so nothing changes by itself. One thing to know: the camera and the lock live in that row, so with the bar hidden, screenshot mode and the privacy filter give no visible sign. + - **Suggested by Ashy ^.^, and it says so.** The toggle carries a "Suggested by" line under it. Whoever proposes a feature should see their name where the feature lives, not in a changelog they will never open. The line is translated into all 25 languages and is a generic key, ready for the next suggestion. + + --- + **v2.0.5 — Focus, and a way out (2026-08-23)** Two tester reports, both about the same corner: what a tell does to what you were doing, and what you can do about a tab once it exists. @@ -48,12 +57,5 @@ changelog: |- - **Screenshot mode could not be turned off.** It is a saved setting, but neither of its two toggles wrote the change to the config file, so switching it off never survived a reload and the mode came back on at every plugin load. Both toggles save now. If it is stuck on for you, one click off is enough. - **Text the game colours itself could render invisible.** Some of those colours arrive without an alpha byte, and the byte order swap then left them fully transparent. - --- - - **v2.0.2 — Emotes out, placeholders fixed (2026-08-19)** - - - **BetterTTV emote support is gone.** Its shared-emote endpoint went behind authentication, and that was where nearly all of them came from — what remained was a 65-entry global set, eleven of which are on the known-broken list, so 54 mostly static images from Twitch's early days. Exactly one was animated, and that one wanted 492 frames and 37 MB of video memory. The plugin now makes no outbound network calls at all. Messages stored with emotes still read fine; they show the code that was typed. - - **Five settings descriptions printed `{0}` instead of the plugin name.** All 25 languages were affected, English included — it just hid better there, since "Hide {0} during cutscenes" still scans as a sentence while German puts the placeholder first. A test now walks every resource string with a placeholder and fails if one reaches a widget unformatted. - - **New preview images.** The ones in the plugin installer were from 8 May and showed the interface as it looked before any of the window rebuilds. Earlier history: https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases diff --git a/HellionChat/Resources/HellionStrings.Designer.cs b/HellionChat/Resources/HellionStrings.Designer.cs index 864abd8..2cc8607 100644 --- a/HellionChat/Resources/HellionStrings.Designer.cs +++ b/HellionChat/Resources/HellionStrings.Designer.cs @@ -428,6 +428,8 @@ internal class HellionStrings internal static string Settings_Window_TabPlacement_Description => Get(nameof(Settings_Window_TabPlacement_Description)); internal static string Settings_Window_TitleBar_Name => Get(nameof(Settings_Window_TitleBar_Name)); internal static string Settings_Window_PopoutTitleBar_Name => Get(nameof(Settings_Window_PopoutTitleBar_Name)); + internal static string Settings_Window_StatusBar_Name => Get(nameof(Settings_Window_StatusBar_Name)); + internal static string Settings_SuggestedBy => Get(nameof(Settings_SuggestedBy)); internal static string Settings_Window_AllowMove_Name => Get(nameof(Settings_Window_AllowMove_Name)); internal static string Settings_Window_AllowResize_Name => Get(nameof(Settings_Window_AllowResize_Name)); internal static string Settings_Window_SidebarThreshold_Name => Get(nameof(Settings_Window_SidebarThreshold_Name)); diff --git a/HellionChat/Resources/HellionStrings.ca.resx b/HellionChat/Resources/HellionStrings.ca.resx index 3415598..5987e10 100644 --- a/HellionChat/Resources/HellionStrings.ca.resx +++ b/HellionChat/Resources/HellionStrings.ca.resx @@ -1223,6 +1223,12 @@ Barra de títol als pop-outs + + Mostra la barra d'estat + + + Suggerit per {0} + Permet moure diff --git a/HellionChat/Resources/HellionStrings.cs.resx b/HellionChat/Resources/HellionStrings.cs.resx index a699769..8bb6034 100644 --- a/HellionChat/Resources/HellionStrings.cs.resx +++ b/HellionChat/Resources/HellionStrings.cs.resx @@ -1222,6 +1222,12 @@ Záhlaví u pop-out oken + + Zobrazit stavový řádek + + + Návrh od {0} + Povolit přesouvání diff --git a/HellionChat/Resources/HellionStrings.da.resx b/HellionChat/Resources/HellionStrings.da.resx index 1645548..b1b22a7 100644 --- a/HellionChat/Resources/HellionStrings.da.resx +++ b/HellionChat/Resources/HellionStrings.da.resx @@ -1222,6 +1222,12 @@ Vis titellinje for pop-out-vinduer + + Vis statuslinje + + + Foreslået af {0} + Tillad flytning diff --git a/HellionChat/Resources/HellionStrings.de.resx b/HellionChat/Resources/HellionStrings.de.resx index ded6a57..f2c17c2 100644 --- a/HellionChat/Resources/HellionStrings.de.resx +++ b/HellionChat/Resources/HellionStrings.de.resx @@ -1217,6 +1217,12 @@ Titelleiste für Pop-Outs + + Statusleiste anzeigen + + + Vorgeschlagen von {0} + Verschieben erlauben diff --git a/HellionChat/Resources/HellionStrings.el.resx b/HellionChat/Resources/HellionStrings.el.resx index 50ff501..f77cb40 100644 --- a/HellionChat/Resources/HellionStrings.el.resx +++ b/HellionChat/Resources/HellionStrings.el.resx @@ -1222,6 +1222,12 @@ Εμφάνιση γραμμής τίτλου στα αποσπώμενα παράθυρα + + Εμφάνιση γραμμής κατάστασης + + + Πρόταση από {0} + Να επιτρέπεται η μετακίνηση diff --git a/HellionChat/Resources/HellionStrings.es.resx b/HellionChat/Resources/HellionStrings.es.resx index bdddec2..3135921 100644 --- a/HellionChat/Resources/HellionStrings.es.resx +++ b/HellionChat/Resources/HellionStrings.es.resx @@ -1223,6 +1223,12 @@ Barra de título en pop-outs + + Mostrar la barra de estado + + + Sugerido por {0} + Permitir mover diff --git a/HellionChat/Resources/HellionStrings.fi.resx b/HellionChat/Resources/HellionStrings.fi.resx index 29aa6f4..ac26614 100644 --- a/HellionChat/Resources/HellionStrings.fi.resx +++ b/HellionChat/Resources/HellionStrings.fi.resx @@ -1222,6 +1222,12 @@ Näytä otsikkopalkki irrotetuissa ikkunoissa + + Näytä tilarivi + + + Ehdottanut {0} + Salli siirtäminen diff --git a/HellionChat/Resources/HellionStrings.fr.resx b/HellionChat/Resources/HellionStrings.fr.resx index 68df02f..38a5664 100644 --- a/HellionChat/Resources/HellionStrings.fr.resx +++ b/HellionChat/Resources/HellionStrings.fr.resx @@ -1223,6 +1223,12 @@ Afficher la barre de titre des fenêtres détachées + + Afficher la barre d'état + + + Suggéré par {0} + Autoriser le déplacement diff --git a/HellionChat/Resources/HellionStrings.hu.resx b/HellionChat/Resources/HellionStrings.hu.resx index 7dd5236..74059c1 100644 --- a/HellionChat/Resources/HellionStrings.hu.resx +++ b/HellionChat/Resources/HellionStrings.hu.resx @@ -1222,6 +1222,12 @@ Címsor a pop-out ablakoknál + + Állapotsor megjelenítése + + + Javasolta: {0} + Mozgatás engedélyezése diff --git a/HellionChat/Resources/HellionStrings.it.resx b/HellionChat/Resources/HellionStrings.it.resx index 0f5f94c..128b4c5 100644 --- a/HellionChat/Resources/HellionStrings.it.resx +++ b/HellionChat/Resources/HellionStrings.it.resx @@ -1223,6 +1223,12 @@ Barra del titolo nei pop-out + + Mostra la barra di stato + + + Suggerito da {0} + Consenti lo spostamento diff --git a/HellionChat/Resources/HellionStrings.ja.resx b/HellionChat/Resources/HellionStrings.ja.resx index a6157c2..3de8024 100644 --- a/HellionChat/Resources/HellionStrings.ja.resx +++ b/HellionChat/Resources/HellionStrings.ja.resx @@ -1223,6 +1223,12 @@ ポップアウトのタイトルバーを表示 + + ステータスバーを表示 + + + 提案者: {0} + 移動を許可 diff --git a/HellionChat/Resources/HellionStrings.ko.resx b/HellionChat/Resources/HellionStrings.ko.resx index 3bfaaa8..20b8d8a 100644 --- a/HellionChat/Resources/HellionStrings.ko.resx +++ b/HellionChat/Resources/HellionStrings.ko.resx @@ -1223,6 +1223,12 @@ 팝아웃 창의 제목 표시줄 보이기 + + 상태 표시줄 보이기 + + + 제안자: {0} + 이동 허용 diff --git a/HellionChat/Resources/HellionStrings.nb.resx b/HellionChat/Resources/HellionStrings.nb.resx index acb96bf..c8d6012 100644 --- a/HellionChat/Resources/HellionStrings.nb.resx +++ b/HellionChat/Resources/HellionStrings.nb.resx @@ -1222,6 +1222,12 @@ Tittellinje for pop-out-vinduer + + Vis statuslinje + + + Foreslått av {0} + Tillat flytting diff --git a/HellionChat/Resources/HellionStrings.nl.resx b/HellionChat/Resources/HellionStrings.nl.resx index 330694e..5ea070b 100644 --- a/HellionChat/Resources/HellionStrings.nl.resx +++ b/HellionChat/Resources/HellionStrings.nl.resx @@ -1223,6 +1223,12 @@ Titelbalk voor pop-outvensters + + Statusbalk tonen + + + Voorgesteld door {0} + Verplaatsen toestaan diff --git a/HellionChat/Resources/HellionStrings.pl.resx b/HellionChat/Resources/HellionStrings.pl.resx index eb05fb7..a613843 100644 --- a/HellionChat/Resources/HellionStrings.pl.resx +++ b/HellionChat/Resources/HellionStrings.pl.resx @@ -1222,6 +1222,12 @@ Pokaż pasek tytułu w oknach odłączonych + + Pokaż pasek stanu + + + Zaproponowane przez {0} + Zezwól na przesuwanie diff --git a/HellionChat/Resources/HellionStrings.pt-BR.resx b/HellionChat/Resources/HellionStrings.pt-BR.resx index 7acf917..7f85760 100644 --- a/HellionChat/Resources/HellionStrings.pt-BR.resx +++ b/HellionChat/Resources/HellionStrings.pt-BR.resx @@ -1223,6 +1223,12 @@ Mostrar barra de título nas janelas destacadas + + Mostrar barra de status + + + Sugerido por {0} + Permitir mover diff --git a/HellionChat/Resources/HellionStrings.pt-PT.resx b/HellionChat/Resources/HellionStrings.pt-PT.resx index b90cd20..6d3d176 100644 --- a/HellionChat/Resources/HellionStrings.pt-PT.resx +++ b/HellionChat/Resources/HellionStrings.pt-PT.resx @@ -1222,6 +1222,12 @@ Mostrar barra de título nas janelas destacadas + + Mostrar barra de estado + + + Sugerido por {0} + Permitir mover diff --git a/HellionChat/Resources/HellionStrings.resx b/HellionChat/Resources/HellionStrings.resx index e9afa08..3ec1abd 100644 --- a/HellionChat/Resources/HellionStrings.resx +++ b/HellionChat/Resources/HellionStrings.resx @@ -1234,6 +1234,12 @@ Show title bar for pop-outs + + Show status bar + + + Suggested by {0} + Allow movement diff --git a/HellionChat/Resources/HellionStrings.ro.resx b/HellionChat/Resources/HellionStrings.ro.resx index 7f559e1..693413b 100644 --- a/HellionChat/Resources/HellionStrings.ro.resx +++ b/HellionChat/Resources/HellionStrings.ro.resx @@ -1223,6 +1223,12 @@ Afișează bara de titlu la ferestrele desprinse + + Afișează bara de stare + + + Sugerat de {0} + Permite mutarea diff --git a/HellionChat/Resources/HellionStrings.ru.resx b/HellionChat/Resources/HellionStrings.ru.resx index 66176c7..e29d887 100644 --- a/HellionChat/Resources/HellionStrings.ru.resx +++ b/HellionChat/Resources/HellionStrings.ru.resx @@ -1223,6 +1223,12 @@ Показывать заголовок в отдельных окнах + + Показывать строку состояния + + + Предложено пользователем {0} + Разрешить перемещение diff --git a/HellionChat/Resources/HellionStrings.sv.resx b/HellionChat/Resources/HellionStrings.sv.resx index 2eeb224..5804e9a 100644 --- a/HellionChat/Resources/HellionStrings.sv.resx +++ b/HellionChat/Resources/HellionStrings.sv.resx @@ -1223,6 +1223,12 @@ Namnlist för pop-out-fönster + + Visa statusfält + + + Föreslagen av {0} + Tillåt flytt diff --git a/HellionChat/Resources/HellionStrings.tr.resx b/HellionChat/Resources/HellionStrings.tr.resx index c9691da..8f74d9d 100644 --- a/HellionChat/Resources/HellionStrings.tr.resx +++ b/HellionChat/Resources/HellionStrings.tr.resx @@ -1222,6 +1222,12 @@ Ayrık pencereler için başlık çubuğunu göster + + Durum çubuğunu göster + + + {0} tarafından önerildi + Taşımaya izin ver diff --git a/HellionChat/Resources/HellionStrings.uk.resx b/HellionChat/Resources/HellionStrings.uk.resx index c82e582..59f06b3 100644 --- a/HellionChat/Resources/HellionStrings.uk.resx +++ b/HellionChat/Resources/HellionStrings.uk.resx @@ -1222,6 +1222,12 @@ Показувати рядок заголовка у відокремлених вікнах + + Показувати рядок стану + + + Запропоновано користувачем {0} + Дозволити переміщення diff --git a/HellionChat/Resources/HellionStrings.zh-Hans.resx b/HellionChat/Resources/HellionStrings.zh-Hans.resx index f560f87..4747489 100644 --- a/HellionChat/Resources/HellionStrings.zh-Hans.resx +++ b/HellionChat/Resources/HellionStrings.zh-Hans.resx @@ -1223,6 +1223,12 @@ 显示弹出窗口的标题栏 + + 显示状态栏 + + + 由 {0} 建议 + 允许移动 diff --git a/HellionChat/Resources/HellionStrings.zh-Hant.resx b/HellionChat/Resources/HellionStrings.zh-Hant.resx index b43ac49..ba412e6 100644 --- a/HellionChat/Resources/HellionStrings.zh-Hant.resx +++ b/HellionChat/Resources/HellionStrings.zh-Hant.resx @@ -1223,6 +1223,12 @@ 顯示彈出視窗的標題列 + + 顯示狀態列 + + + 由 {0} 建議 + 允許移動 diff --git a/HellionChat/Ui/Components/Settings/Tabs/WindowTab.cs b/HellionChat/Ui/Components/Settings/Tabs/WindowTab.cs index 46ff419..26cef5d 100644 --- a/HellionChat/Ui/Components/Settings/Tabs/WindowTab.cs +++ b/HellionChat/Ui/Components/Settings/Tabs/WindowTab.cs @@ -71,6 +71,15 @@ internal sealed class WindowTab () => Plugin.Config.ShowPopOutTitleBar, v => Plugin.Config.ShowPopOutTitleBar = v ); + // Tester credit on the row itself: the people who propose a feature + // should see their name where the feature lives, not in a changelog. + _w.ToggleRow( + ImGui.GetID("window.style.statusbar"u8), + HellionStrings.Settings_Window_StatusBar_Name, + string.Format(HellionStrings.Settings_SuggestedBy, "Ashy ^.^"), + () => Plugin.Config.ShowStatusBar, + v => Plugin.Config.ShowStatusBar = v + ); _w.ToggleRow( ImGui.GetID("window.style.hidebutton"u8), Language.Options_ShowHideButton_Name, diff --git a/HellionChat/Ui/Windows/MainWindow.cs b/HellionChat/Ui/Windows/MainWindow.cs index 8710d2d..e20e1b1 100644 --- a/HellionChat/Ui/Windows/MainWindow.cs +++ b/HellionChat/Ui/Windows/MainWindow.cs @@ -368,7 +368,9 @@ internal sealed class MainWindow : Window, IFocusableChatWindow if (_activeTab is { } seenTab) seenTab.Unread = 0; - var statusHeight = Components.StatusBar.Height; + // A child height of 0 means "fill the remaining space" in ImGui, so hiding + // the bar lets the body take the whole window without a second code path. + var statusHeight = Plugin.Config.ShowStatusBar ? Components.StatusBar.Height : 0f; using (var body = ImRaii.Child("##hellion-body", new Vector2(-1f, -statusHeight))) { @@ -376,7 +378,8 @@ internal sealed class MainWindow : Window, IFocusableChatWindow DrawBody(tabs); } - _status.Draw(_activeTab, tabs); + if (Plugin.Config.ShowStatusBar) + _status.Draw(_activeTab, tabs); } private void DrawBody(IReadOnlyList tabs) diff --git a/README.md b/README.md index ee74d5f..29cfbf5 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Build](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/actions/workflows/build.yml/badge.svg?branch=main)](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/actions/workflows/build.yml) [![License: EUPL-1.2](https://img.shields.io/badge/License-EUPL--1.2-blue.svg)](LICENSE) -[![Latest release](https://img.shields.io/badge/release-v2.0.5-brightgreen)](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/latest) +[![Latest release](https://img.shields.io/badge/release-v2.0.6-brightgreen)](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/latest) [![Dalamud API](https://img.shields.io/badge/Dalamud-API_15-purple)](https://github.com/goatcorp/Dalamud) [![.NET](https://img.shields.io/badge/.NET-10.0-512BD4)](https://dotnet.microsoft.com/) [![FFXIV](https://img.shields.io/badge/FFXIV-Dawntrail-c3a37f)](https://www.finalfantasyxiv.com/) @@ -11,7 +11,7 @@ Hellion Forge

-**Version 2.0.5** — Privacy-first chat plugin for FINAL FANTASY XIV / Dalamud, originally +**Version 2.0.6** — Privacy-first chat plugin for FINAL FANTASY XIV / Dalamud, originally forked from [Chat 2](https://github.com/Infiziert90/ChatTwo) (EUPL-1.2). Hellion Chat is a privacy-first chat plugin that began as a fork of Chat 2. The core it grew from diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index d557ba8..82bfc71 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -11,6 +11,23 @@ releases as an overview and links to the release pages for details. --- +## [2.0.6] — 2026-09-20 + +One question from the Discord, small enough to ship on its own: are the pills +along the bottom edge fixed in the code? They were. + +### Added + +- "Show status bar" under Window → Window style. Off, the bottom row of pills + (channel, privacy state, counts, tells, clock, version) is gone and the chat + body takes the space. On by default, so nothing changes until you flip it. + With the bar hidden, screenshot mode and the privacy filter have no visible + indicator; that is the trade the toggle makes. Suggested by Ashy. +- A "Suggested by …" credit line under settings rows that came from a tester + request, translated into all 25 languages. First used on the toggle above. + +--- + ## [2.0.5] — 2026-08-23 Two tester reports about the same corner of the plugin: what an incoming tell does diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 7786ff2..5681d9c 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -12,6 +12,12 @@ be a poor fit for the plugin's privacy-first scope during brainstorming. ## Released +**v2.0.6 — Status bar, optional (2026-09-20)** came from a question on the Discord: +whether the pills along the bottom edge were fixed in the code. They were. The bar +has a toggle now under Window → Window style, on by default, and the row carries a +"Suggested by" credit so the person who asked sees their name where the feature +lives. The theme preview keeps its mock bar: it shows colours, not layout. + **v2.0.5 — Focus, and a way out (2026-08-23)** came out of two tester reports about the same corner. A tell arriving mid-sentence took the keyboard, which in this game sends the next keystrokes to the character; worse, it could address a half-typed line diff --git a/repo.json b/repo.json index 05486cb..2c82a23 100644 --- a/repo.json +++ b/repo.json @@ -3,7 +3,7 @@ "Author": "Jon Kazama (Hellion Forge)", "Name": "Hellion Chat", "InternalName": "HellionChat", - "AssemblyVersion": "2.0.5.0", + "AssemblyVersion": "2.0.6.0", "Description": "A chat window that stores your own conversations and nothing else. Public chat, NPC dialogue, system messages and battle logs stay out of the database until you switch them on.\n\nRetention per channel, retroactive wipe, export to Markdown, JSON or CSV. Setup wizard with four profiles. 25 languages. Its own config and database.\n\nSupport: https://discord.gg/X9V7Kcv5gR", "ApplicableVersion": "any", "RepoUrl": "https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat", @@ -20,12 +20,12 @@ "CanUnloadAsync": false, "LoadPriority": 0, "Punchline": "Chat replacement for FFXIV that keeps your conversations and forgets the rest.", - "Changelog": "**v2.0.5 — Focus, and a way out (2026-08-23)**\n\nTwo tester reports, both about the same corner: what a tell does to what you were doing, and what you can do about a tab once it exists.\n\n- **A tell arriving while you were typing took the keyboard.** The tab switched under you, and in this game that means the next thing you type walks your character around. It could also send your sentence to the wrong person: what you have typed belongs to the window, while the recipient is read off whichever tab is active when you press Enter — so a line meant for one person could leave addressed to whoever had just written. Nothing is revealed now while you are mid-sentence, in any mode. The tab still appears with its unread mark and waits for you.\n- **A tell tab could not be closed.** The entry was lost in the 2.0.0 window rebuild: it lived in the old menu, and the rebuilt one restored renaming, sounds, pop-outs and pinning but not this. Tell tabs are kept out of the settings editor on purpose, with a note pointing at the context menu — which could not close them either. Right-click any tab to close it. A pinned tell tab asks you to unpin it first, so one misclick cannot end a conversation you meant to keep.\n- **Two settings decided where a tell opens, and the older one always won.** \"Open new /tell tabs as a pop-out\" fired when the tab was created, a tick before the mode below it was ever asked — which is why that mode looked like it did nothing. They are one setting now and your existing choice carries over. \"Off\" went with them: it never stopped tell tabs from being created, that is the switch further up, it only stopped the jump to them, which is what the switch below it does.\n- **Closing a tab could break a pop-out you were using.** Re-anchoring always jumped to the first tab in the list, even when that tab was open in its own window, and stripped its tell binding on the way there.\n- **Smaller things.** \"Pop Out\" in the context menu was English on every client, as were the tell-open modes. The pinned-tab limit still pointed at a feature removed in May. Spanish had a word that does not exist, Greek had an untranslated one, Portuguese contradicted its own button. Segmented settings rows cut long labels in half. The last compiler warning in the project is gone.\n\n---\n\n**v2.0.4 — Housekeeping (2026-08-20)**\n\nNothing changes in how the plugin behaves. Two pieces of tidying that were overdue.\n\n- **The installer description was long, and one line of it was wrong.** It ran to 908 characters and opened by naming a category instead of saying what the plugin does. It also claimed 24 interface languages when there are 25, and the two manifests carried different one-line summaries, so the store listing and the plugin details showed different sentences.\n- **30 translation keys for the webinterface are gone.** That feature, its HTTP routes and its frontend left the code in May; the strings stayed behind in all 25 languages, along with a generated property for each. Every key was checked against the whole repository before anything was removed.\n\n---\n\n**v2.0.3 — Pop-out context menu, screenshot mode (2026-08-20)**\n\n- **The context menu never opened in a pop-out window.** Right-clicking a name or an item there did nothing at all. Every chat surface shares one popup state, and whichever window drew first cleared the menu it had not opened before the pop-out got its turn. The menu now stays with the window the click came from.\n- **Screenshot mode could not be turned off.** It is a saved setting, but neither of its two toggles wrote the change to the config file, so switching it off never survived a reload and the mode came back on at every plugin load. Both toggles save now. If it is stuck on for you, one click off is enough.\n- **Text the game colours itself could render invisible.** Some of those colours arrive without an alpha byte, and the byte order swap then left them fully transparent.\n\n---\n\n**v2.0.2 — Emotes out, placeholders fixed (2026-08-19)**\n\n- **BetterTTV emote support is gone.** Its shared-emote endpoint went behind authentication, and that was where nearly all of them came from — what remained was a 65-entry global set, eleven of which are on the known-broken list, so 54 mostly static images from Twitch's early days. Exactly one was animated, and that one wanted 492 frames and 37 MB of video memory. The plugin now makes no outbound network calls at all. Messages stored with emotes still read fine; they show the code that was typed.\n- **Five settings descriptions printed `{0}` instead of the plugin name.** All 25 languages were affected, English included — it just hid better there, since \"Hide {0} during cutscenes\" still scans as a sentence while German puts the placeholder first. A test now walks every resource string with a placeholder and fails if one reaches a widget unformatted.\n- **New preview images.** The ones in the plugin installer were from 8 May and showed the interface as it looked before any of the window rebuilds.", + "Changelog": "**v2.0.6 — Status bar, optional (2026-09-20)**\n\nOne question from the Discord, small enough to ship on its own: are the pills along the bottom edge fixed in the code? They were.\n\n- **The status bar can be switched off.** The row at the bottom of the chat window (channel, privacy state, message counts, tells, clock, version) had no switch. Settings → Window → Window style has \"Show status bar\" now. Off, the chat body takes the space; on for everyone until you turn it off, so nothing changes by itself. One thing to know: the camera and the lock live in that row, so with the bar hidden, screenshot mode and the privacy filter give no visible sign.\n- **Suggested by Ashy ^.^, and it says so.** The toggle carries a \"Suggested by\" line under it. Whoever proposes a feature should see their name where the feature lives, not in a changelog they will never open. The line is translated into all 25 languages and is a generic key, ready for the next suggestion.\n\n---\n\n**v2.0.5 — Focus, and a way out (2026-08-23)**\n\nTwo tester reports, both about the same corner: what a tell does to what you were doing, and what you can do about a tab once it exists.\n\n- **A tell arriving while you were typing took the keyboard.** The tab switched under you, and in this game that means the next thing you type walks your character around. It could also send your sentence to the wrong person: what you have typed belongs to the window, while the recipient is read off whichever tab is active when you press Enter — so a line meant for one person could leave addressed to whoever had just written. Nothing is revealed now while you are mid-sentence, in any mode. The tab still appears with its unread mark and waits for you.\n- **A tell tab could not be closed.** The entry was lost in the 2.0.0 window rebuild: it lived in the old menu, and the rebuilt one restored renaming, sounds, pop-outs and pinning but not this. Tell tabs are kept out of the settings editor on purpose, with a note pointing at the context menu — which could not close them either. Right-click any tab to close it. A pinned tell tab asks you to unpin it first, so one misclick cannot end a conversation you meant to keep.\n- **Two settings decided where a tell opens, and the older one always won.** \"Open new /tell tabs as a pop-out\" fired when the tab was created, a tick before the mode below it was ever asked — which is why that mode looked like it did nothing. They are one setting now and your existing choice carries over. \"Off\" went with them: it never stopped tell tabs from being created, that is the switch further up, it only stopped the jump to them, which is what the switch below it does.\n- **Closing a tab could break a pop-out you were using.** Re-anchoring always jumped to the first tab in the list, even when that tab was open in its own window, and stripped its tell binding on the way there.\n- **Smaller things.** \"Pop Out\" in the context menu was English on every client, as were the tell-open modes. The pinned-tab limit still pointed at a feature removed in May. Spanish had a word that does not exist, Greek had an untranslated one, Portuguese contradicted its own button. Segmented settings rows cut long labels in half. The last compiler warning in the project is gone.\n\n---\n\n**v2.0.4 — Housekeeping (2026-08-20)**\n\nNothing changes in how the plugin behaves. Two pieces of tidying that were overdue.\n\n- **The installer description was long, and one line of it was wrong.** It ran to 908 characters and opened by naming a category instead of saying what the plugin does. It also claimed 24 interface languages when there are 25, and the two manifests carried different one-line summaries, so the store listing and the plugin details showed different sentences.\n- **30 translation keys for the webinterface are gone.** That feature, its HTTP routes and its frontend left the code in May; the strings stayed behind in all 25 languages, along with a generated property for each. Every key was checked against the whole repository before anything was removed.\n\n---\n\n**v2.0.3 — Pop-out context menu, screenshot mode (2026-08-20)**\n\n- **The context menu never opened in a pop-out window.** Right-clicking a name or an item there did nothing at all. Every chat surface shares one popup state, and whichever window drew first cleared the menu it had not opened before the pop-out got its turn. The menu now stays with the window the click came from.\n- **Screenshot mode could not be turned off.** It is a saved setting, but neither of its two toggles wrote the change to the config file, so switching it off never survived a reload and the mode came back on at every plugin load. Both toggles save now. If it is stuck on for you, one click off is enough.\n- **Text the game colours itself could render invisible.** Some of those colours arrive without an alpha byte, and the byte order swap then left them fully transparent.\n", "AcceptsFeedback": true, - "DownloadLinkInstall": "https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/download/v2.0.5/latest.zip", - "DownloadLinkUpdate": "https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/download/v2.0.5/latest.zip", - "DownloadLinkTesting": "https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/download/v2.0.5/latest.zip", - "TestingAssemblyVersion": "2.0.5.0", + "DownloadLinkInstall": "https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/download/v2.0.6/latest.zip", + "DownloadLinkUpdate": "https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/download/v2.0.6/latest.zip", + "DownloadLinkTesting": "https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/download/v2.0.6/latest.zip", + "TestingAssemblyVersion": "2.0.6.0", "IconUrl": "https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/raw/branch/main/HellionChat/images/icon.png", "ImageUrls": [ "https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/raw/branch/main/HellionChat/images/chatWindow.png",