Commit Graph

191 Commits

Author SHA1 Message Date
dependabot[bot] 4a9ad426e7 chore(deps): Bump Microsoft.Data.Sqlite from 9.0.0 to 10.0.7 (#5)
---
updated-dependencies:
- dependency-name: Microsoft.Data.Sqlite
  dependency-version: 10.0.7
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-02 23:03:53 +02:00
JonKazama-Hellion 4ba5004322 chore(release): bump version to 0.5.1
Hardening and polish patch. Eight backlog items from the v0.5.0
codebase review. No new features, no migration.
2026-05-02 21:27:10 +02:00
JonKazama-Hellion fde85e6d69 chore(release): bump version to 0.5.0
Settings UX polish release. Twelve organic settings tabs collapsed
into eight themed ones, theme/font controls moved to Appearance,
About and Changelog merged into Information. Configuration migrates
from v9 to v10 as a wipe with a backup file written next to the live
config; chat history and tabs survive.
2026-05-02 17:37:46 +02:00
JonKazama-Hellion e9ec587e3b chore: bump to 0.4.0 with auto-tell-tabs changelog 2026-05-02 14:33:52 +02:00
JonKazama-Hellion 2736551505 Bump to 0.3.1 with the upstream emote regression fix
Quick patch release. The previous commit on this branch is a
straight cherry-pick of Infi's upstream "Fix a regression from
API 15 updates" (ff899ff), which restores BetterTTV emote
deserialisation by switching the Emote and Top100 DTOs from
public fields to public properties so System.Text.Json picks up
the [JsonPropertyName] attributes correctly.

Without this, a fresh Hellion Chat install would happily fetch
emote JSON from BetterTTV but every entry would deserialise to
empty defaults, leaving the cache silently empty.

Manifest version bumps from 0.3.0 to 0.3.1 in csproj, the
HellionChat.yaml manifest plus its changelog, the custom-repo
repo.json (assembly version, testing assembly version and the
three download links), and the README version banner. The 0.3.0
changelog entry stays underneath in chronological order.

Build (Release) verified clean.
2026-05-02 04:11:13 +02:00
JonKazama-Hellion 9c86619c9f Bump to 0.3.0 with the audit, brand and command-rename changelog
Phase 2 of the audit follow-ups, the Hellion Online Media brand
sweep and the rename of the slash commands all land in one release.
The slash command rename is breaking for users who had macros bound
to /chat2, /chat2Viewer or /clearlog2, which is the main reason
this is a 0.3.0 rather than a 0.2.1.

csproj, plugin manifest yaml, custom-repo repo.json (assembly
version, testing assembly version and the three download links)
and the README version banner are all moved over together so the
Dalamud plugin list, the manifest and the install instructions
agree. The README project status checklist is updated to reflect
that Phase 2 is closed; Phase 3 holds the remaining backlog
(MySQL backend, encryption, libnotify, etc).

The yaml and repo.json changelogs gain a 0.3.0 block that walks
through the four substantial groups of changes (slash command
rename, audit hardening, brand sweep, About tab) in plain prose.
The 0.2.0 block stays underneath in chronological order.

Build (Release) verified — ChatTwo/bin/Release/HellionChat/latest.zip
(~17.5 MB) and HellionChat.json regenerate cleanly with no warnings.
The tag itself is created by hand alongside the GitHub release.
2026-05-02 03:59:25 +02:00
JonKazama-Hellion 705c7d3116 Bump to 0.2.0 with the webinterface-removal changelog
Project version goes from 0.1.2 to 0.2.0 — a minor bump rather than a
patch because the webinterface removal is a behavioural change for
anyone who relied on it. csproj, plugin manifest yaml and the
custom-repo repo.json are all moved over together so the Dalamud
plugin list, the manifest and the download links agree.

The yaml description picks up a leading paragraph that names the
removal up front; pre-installation users see it in the Dalamud
plugin browser. Both yaml and repo.json gain a 0.2.0 changelog block
that explains the audit context, lists every concrete code change
and reassures that the privacy filter, retention sweep, first-run
wizard and exporter are untouched. Older changelog entries are
preserved in chronological order behind it.

repo.json AssemblyVersion and TestingAssemblyVersion go to 0.2.0.0
and the three download links point at v0.2.0/latest.zip; the tag
itself is created by hand alongside the GitHub release.

Build (Release) produces ChatTwo/bin/Release/HellionChat/latest.zip
(~17 MB) and HellionChat.json with no warnings.
2026-05-02 02:30:42 +02:00
JonKazama-Hellion c09aa26ffc Remove webinterface dependencies and build artifacts
Drops Watson.Lite (the HTTP server) and Newtonsoft.Json (only used by
the webinterface JSON wire format) from the package references and
removes websiteBuild.zip plus the UnzipBuild target that extracted it
into the build output. The commented-out NodeJS compile blocks for
the Svelte frontend go with them.

DbViewer used to ship a CreateTempJsonFile button that exported the
database in the webinterface message-protocol shape (MessageResponse,
MessageTemplate, WebPayloadType). With no client able to consume that
shape any more the button, the method and the two helper methods are
removed. The Privacy tab's MessageExporter already covers Markdown,
JSON and CSV exports with channel and date filters and is the
supported way to get history out of the plugin.

Build verified clean (Release, 0 warnings, 0 errors). The lockfile
shrinks accordingly.
2026-05-02 02:23:56 +02:00
JonKazama-Hellion 23e0f37dfb Bump to v0.1.2 with About-tab rebrand and Hellion-style README
Manifest moves to 0.1.2.0 so existing testers get an in-place
update offer once the matching GitHub release is published.

Changes since 0.1.1 are surface and packaging:

  - The inherited About tab now reflects the fork: Hellion Online
    Media as maintainer with hellion-media.de as the contact
    channel, EUPL-1.2 dual-copyright statement, FINAL FANTASY XIV
    SQUARE ENIX disclaimer, explicit acknowledgment of Chat 2 by
    Infi & Anna as the upstream foundation, and the original
    ChatTwo translator list relabelled as upstream Crowdin
    contributors so it isn't mistaken for Hellion translators.
  - Cherry-picked the upstream DBViewer UI improvements
    (auto-scroll-reset on page change, localized tooltips on the
    date reset, folder export, export-running notifications and
    the pagination arrows).
  - README rewritten in the Hellion project style: German prose,
    tech-stack table, architecture tree, database column list, a
    proper migration guide for users coming from Chat 2 (with
    Linux and Windows manual recovery commands), upstream-sync
    workflow notes for cherry-picks, project-status checklist
    separating bootstrap-done from phase-2-open work, and the
    Hellion Online Media footer.
  - repo.json regenerated to point at the v0.1.2 GitHub release
    asset URL.

Bundle changelog summarises the same so testers see the new
content in their plugin list before they pull the update.
2026-05-02 00:13:54 +02:00
JonKazama-Hellion 135f7a9bf7 Bump to v0.1.1 with packaging and migration fixes
Manifest version moves to 0.1.1.0 so Dalamud offers existing
testers an in-place update once the new release is published.

Description rewritten to lead with the "built on top of Chat 2"
framing — every upstream feature, command and shortcut still
works identically — and to position the privacy additions as
alignment with modern EU, US and Japanese data-protection
expectations rather than citing specific paragraphs.

Punchline becomes "Chat 2 with privacy controls aligned to EU,
US and JP rules" so the plugin-list one-liner reflects what's
actually different rather than just calling itself a fork.

Changelog entry for 0.1.1 covers the three changes since 0.1.0:
icon now in the bundle (DalamudPackager override), icon resized
to 256×256, migration hardened with per-file try/catch and a
warning notification when files are locked, plus the README
troubleshooting section.

repo.json regenerated to 0.1.1.0 with the v0.1.1 release asset
URL so the custom-repo manifest matches what GitHub will serve.
2026-05-01 23:42:37 +02:00
JonKazama-Hellion 81d3c9ca6b Pack the plugin icon into the release ZIP
DalamudPackager's default targets do not enable the HandleImages /
ImagesPath flags, so the images/ directory was silently excluded
from the build output even after the .csproj started copying
icon.png next to the DLL. The local Dalamud plugin loader then
fell back to the placeholder question-mark icon because there was
nothing to load at <plugindir>/images/icon.png.

Override the default by dropping a DalamudPackager.targets next to
the csproj — its presence disables the SDK's default target, which
is guarded on `!Exists($(PackagerTargetFile))`. The override
mirrors the SDK property list verbatim and adds HandleImages=true
plus ImagesPath=$(ProjectDir)images so the packager actually walks
the images directory and copies its contents into both the dev
plugin output and the release ZIP.

Verified: latest.zip now contains images/icon.png at the expected
path; both dev plugins and Custom-Repo installs will render the
Hellion logo locally without depending on the remote IconUrl.
2026-05-01 23:35:19 +02:00
JonKazama-Hellion 984b00ac0d Bundle the Hellion icon and Exo 2 font
Replace the inherited Chat 2 icon with the 1024×1024 Hellion logo
from the Hellion Online Media brand assets so the plugin shows
its real identity in Dalamud's plugin list. Bundle Exo 2 Variable
(SIL Open Font License 1.1) as an embedded resource together with
the OFL license text — keeps the license travelling with the font
inside the assembly as the OFL requires.

A new Configuration.UseHellionFont (default true) plus a checkbox
in the Privacy tab Appearance section route FontManager's regular
font handle through tk.AddFontFromMemory using the embedded TTF
bytes when the toggle is on; flipping it off falls back to the
existing AddFontWithFallback path so users who picked their own
system font under Settings → Fonts keep that choice.

Settings.cs now treats UseHellionFont as a font-changing setting
so toggling it triggers FontManager.BuildFonts on save without
needing a plugin reload.
2026-05-01 22:45:43 +02:00
JonKazama-Hellion 65e39d4ef7 Bump Hellion Chat manifest version to 0.1.0
Reset the version line out of the inherited Chat 2 1.35.x range
into a Hellion-specific track that starts at 0.1.0 to make the
bootstrap status visible to anyone reading the Dalamud plugin
list. The yaml changelog now lays out the full feature set added
on top of Chat 2 (privacy filter, retention, cleanup, export,
wizard, theme, localization) and explicitly calls out the upstream
1.35.3 base under EUPL-1.2.
2026-05-01 22:30:18 +02:00
JonKazama-Hellion 5b33a21d15 Localize the Hellion Chat surface area (EN + DE)
Add HellionStrings.resx as the English source and HellionStrings.de.resx
for German, with a hand-maintained Designer.cs that mirrors the layout
of Language.Designer.cs. Resource files live next to the upstream
Language.resx but are kept entirely separate so upstream cherry-picks
never collide with our translations and any future Hellion-only
translation tooling (Crowdin, manual contribution) can target this
file without touching the Chat 2 dictionary.

Plugin.LanguageChanged now updates HellionStrings.Culture alongside
Language.Culture so every UI string flips to the active locale at the
same moment. The Privacy tab title, master switch, channel groups
(now resolved per frame so the language can change without restart),
preset buttons, failsafe toggle, retention section, cleanup section,
status messages and notification bodies all read from HellionStrings.
The migration toast also takes its title and body from there.

Translations follow the project's German style: Du-Form, full
diacritics (ä, ö, ü), no em-dashes inside flowing prose, "Whitelist"
and "Linkshell" kept as-is because they are the established terms.
2026-05-01 20:03:18 +02:00
JonKazama-Hellion 465aadbb1a Brand the fork as Hellion Chat with independent plugin state
Switch the assembly name to HellionChat so Dalamud uses
pluginConfigs/HellionChat for our config file and database
directory, instead of sharing those locations with the upstream
Chat 2 plugin. Code namespace stays ChatTwo.* so upstream
cherry-picks apply cleanly.

Rename the DalamudPackager manifest to HellionChat.yaml with
fork-specific name, author, repo URL, description, tags and
changelog. Plugin.PluginName becomes "Hellion Chat".

Add a one-shot migration in the plugin constructor that runs
before GetPluginConfig: if pluginConfigs/ChatTwo.json or the
ChatTwo/ directory exist and our equivalents don't, move them
into the HellionChat layout. Idempotent: only fires on the first
load where legacy paths are present and ours are not.
2026-05-01 18:26:11 +02:00
Infi 3bc8a223c2 - Fix #175 2026-05-01 11:59:25 +02:00
Infi 33c922aaf7 - Potential fix for null ref error
- Add logging around migration
2026-04-30 22:27:23 +02:00
Infi dcf77e27f2 - Fix migration not running for new users
- Use PlayerState for character
2026-04-30 18:14:15 +02:00
Infi b4cb8b25ec - API 15
- Migrate config for API 15
- Migrate database for API 15
- Allow usage of new target source
- Implement first tell target option
2026-04-30 02:59:58 +02:00
Infi 93faf1b5bd - Null terminate bytes if passed to Utf8String 2026-04-19 21:18:47 +02:00
Infi 69c890facb - Add JSON export option for HTML test 2026-04-11 23:35:04 +02:00
Infi df0773ac65 - Implement message history export to text file 2026-04-10 22:17:37 +02:00
Infi c424311b24 - Check auto translation for commands and execute them instead of sending
- Plugin commands trigger the command helper window now
- Fix auto translation with empty text appearing
- Switch up all dalamud payload usage to ROSS if possible
- Prepare 7.5 changes
- Cleanup
2026-04-08 21:15:28 +02:00
Infi 9f7a6267f6 - Swap Queue to ConcurrentQueue 2026-03-22 15:03:37 +01:00
Infi 4341035c74 - Fix links not showing up in webinterface
- Switch to debug logging
2026-02-09 11:32:06 +01:00
Infi 638ec1a211 - Add safety around extra chat GUID parsing 2026-02-08 05:28:23 +01:00
Infi 6744c6676c - Add missing auto translates for the symbols 2026-01-20 11:27:37 +01:00
Infi 4f9a6cd5be - API 14 2025-12-19 06:49:18 +01:00
Infi 10da674994 - Add a prebuild zip with the website as plogon doesn't support NodeJS building yet 2025-11-17 18:35:41 +01:00
Infi 4b94c6e30e - Identify web payloads better
- Switch to IconId field name
- Add unique id to every message
- Automate nodejs build step via csproj
- Add unread color to tab opener
- Add unread number to tab name
- Update ImageSharp dep
2025-11-17 17:48:53 +01:00
Infi e2df709003 - Downgrade deps to fix current connection reset error 2025-09-20 17:21:08 +02:00
Infi 94b345c6a3 First implementation of sveltekit for webinterface 2025-09-20 16:07:46 +02:00
Infi efdf69f782 - Fix incorrect function call for novice network
- Fix keybind handler being obsolete
2025-09-11 01:30:07 +02:00
Infi 8c4410e75c - Add glamour notifications chat type 2025-08-10 03:01:39 +02:00
Infi efddaf30ad - API 13 2025-08-06 22:24:45 +02:00
Infi b760de1799 - Switch 24h culture to enforce 00:00 formatting 2025-07-16 01:28:51 +02:00
Infi 592f069f17 - Small cleanup 2025-06-22 20:17:58 +02:00
Infi e43167101b - Improve draw performance by adjusting if assumption 2025-06-22 12:49:05 +02:00
Infi f3783e9abf - Fix tells not working in Forays 2025-06-09 09:50:14 +02:00
Infi 3951c49e1a - bump 2025-05-28 21:29:02 +02:00
Infi fb89666f8d - Fix native tooltip offset
- Improve tooltip clipping handling
2025-03-27 17:17:53 +01:00
Infi bc78f65b50 - Sdk 2025-03-26 22:57:40 +01:00
Infi c9674b0646 - API 12
- Cleanup
2025-03-26 21:12:41 +01:00
Infi a6b71f50e6 - Check all tooltips for clipping 2025-03-15 14:00:26 +01:00
Infi 14cb3af13a - Allow temp channels again for fixed tabs
- French and Chinese loc update
2025-02-07 12:05:18 +01:00
Infi 65d2cf7c63 - bump 2025-02-03 22:03:25 +01:00
Infi 5a78877abf - Increase page count
- /chat2Viewer is now sorted by date
- Echo everything that hasn't any channel set
- Fixed channel inputs are now enforced
- Added a warning for ECL channel mismatch
2025-02-03 13:05:26 +01:00
Infi f6dd0359e7 - Potential fix for tells getting stuck
- Allow debugger use outside of debug builds
2024-12-23 04:48:40 +01:00
Infi 70971d7b8a - Fix /r issues
- Scope the block functions menu entry
- Don't show MuteList if accountId is unset
2024-12-19 18:48:06 +01:00
Infi 7cbaf77fe2 - Add MuteList and TermsFilter to block functions 2024-12-18 17:28:37 +01:00