acdream/src/AcDream.Plugin.Abstractions
Erik 2b65217d29 fix #363: route plugin system text to the chat window, not SpewBox
Owner direction 2026-09-07 (same instruction as the sibling unknown-
command fix, previous commit): plugin-originated text must land in
the chat window instead of retail's ClientLocal (0x1A) SpewBox-only
channel. AppAutomationSurface.PostSystemMessage -- the production
implementation of IPluginChat.PostSystemMessage that MossTank/VTank-
style plugins call -- now passes RetailLogTextType.Default instead of
ClientLocal to RuntimeCommunicationState.AddText, so the text reaches
the chat transcript via Chat.OnSystemMessage instead of the SpewBox.
This matches Decal's own AddChatText behavior for plugin output.

IPluginChat.PostSystemMessage's doc comment is updated to describe
the new destination instead of the old one. Register row AD-124
(previous commit) already covers this site alongside the sibling
unknown-command change.

Mutation check: temporarily reverted PostSystemMessage's AddText call
back to ClientLocal and confirmed the new
AppAutomationSurfaceTests.PostSystemMessage_RoutesToChatLog_NeverSpewBox
test fails (Assert.Single() on an empty chat log) before restoring the
fix. Also adds ChatVMTests.RecentLines_ShowsPluginSystemMessage_TaggedDefault
pinning that a ChatVM bound to the same ChatLog surfaces the line.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 08:22:22 +02:00
..
Rendering feat(rendering): port retail one-pass detail material 2026-09-05 02:03:13 +02:00
AcDream.Plugin.Abstractions.csproj chore: phase 1 — add Core, Abstractions, App, Tests projects 2026-04-10 09:22:33 +02:00
Automation.cs fix #363: route plugin system text to the chat window, not SpewBox 2026-09-07 08:22:22 +02:00
CombatAutomation.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
ContractSnapshot.cs feat(quest): QT6 — plugins can read the contract tracker 2026-08-21 15:22:22 +02:00
EnchantmentAutomation.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
EquipmentAutomation.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
FellowshipAutomation.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
IAcDreamPlugin.cs feat(plugins): enforce apiVersion; launcher plugins default ON with "none" opt-out 2026-08-20 21:28:04 +02:00
IEvents.cs feat(plugins): MossTank — a self-buffing plugin, and the automation surface it needed 2026-08-20 16:22:28 +02:00
IGameState.cs feat(quest): QT6 — plugins can read the contract tracker 2026-08-21 15:22:22 +02:00
IPluginHost.cs fix(vt): F host-composed VtankProfiles storage replaces raw path string 2026-09-06 23:03:04 +02:00
IPluginLogger.cs refactor(abstractions): rename ILogger to IPluginLogger, doc Initialize 2026-04-10 09:46:30 +02:00
IPluginStorage.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
ISelectionService.cs feat(ui): centralize retail selection state 2026-07-11 00:51:20 +02:00
ItemAutomation.cs feat(plugin-ui): Slice B — DAT icons in plugin markup (icon element, button/list icons, plugin icon ids) 2026-09-06 14:52:23 +02:00
IUiRegistry.cs fix(plugin-ui): Slice B review fixes — no magenta for bad DIDs, contract threshold, integral icon bindings, nearest did art, loud markup errors 2026-09-06 15:43:56 +02:00
LoginAutomation.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
LootAutomation.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
LootClassifierPlugins.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
MagicAutomation.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
NavigationAutomation.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
NetworkAutomation.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
packages.linux-x64.lock.json build: make release restore reproducible 2026-08-18 10:29:00 +02:00
packages.neutral.lock.json build: make release restore reproducible 2026-08-18 10:29:00 +02:00
packages.win-x64.lock.json build: make release restore reproducible 2026-08-18 10:29:00 +02:00
PluginCommands.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
PluginIcons.cs fix(plugin-ui): Slice B review fixes — no magenta for bad DIDs, contract threshold, integral icon bindings, nearest did art, loud markup errors 2026-09-06 15:43:56 +02:00
ProjectileAutomation.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
RecoveryAutomation.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
SelectionAutomation.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
WorldEntitySnapshot.cs feat(core): add IGameState, IEvents, WorldEvents with replay-on-subscribe 2026-04-10 20:29:29 +02:00
WorldObjectAutomation.cs feat(plugin-ui): Slice B — DAT icons in plugin markup (icon element, button/list icons, plugin icon ids) 2026-09-06 14:52:23 +02:00
WorldTimeAutomation.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00