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.
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.
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.
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.
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.
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.
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.
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.
- 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
- 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
- /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