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/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/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",