Kultur-Bug behoben + Threema entfernt (INotificationSink)
- TraderMonitorService las API-Preise kulturabhaengig: unter de-DE wurde aus "0.53" der Wert 53 (Faktor-100-Fehler im Einstandspreis). Nutzt jetzt den bereits vorhandenen invarianten Helper ParseDecimal. - Gleiche Fehlerklasse in PolymarketClobClient (6x) und MasterTraderAnalyticsJob vorsorglich auf InvariantCulture gestellt. - Neuer Regressionstest ApiNumberParsingTests (10 Faelle unter erzwungener de-DE-Kultur). - Threema komplett entfernt (Entscheidung Richard): ThreemaService, vendorte Bibliothek libs/Threema-MsgApi-Net-Core, ServerSettings-Block, DI-Verdrahtung. - Ersetzt durch neutrale INotificationSink (No-Throw-Vertrag) + LogNotificationSink als Uebergang; RocketChat/Telegram folgen spaeter. - Entfernt nebenbei libsodium 1.0.16, die einzige Registry-Nutzung im Build, den HttpListener-Webhook und System.Web.HttpUtility (alles Linux-Hindernisse). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+6
-4
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net.Http;
|
||||
@@ -146,9 +146,13 @@ internal static class Program
|
||||
// Master-Key-/Lizenz-Meldungen von oben im Terminal-Fenster auftauchen.
|
||||
services.AddSingleton(bootLog);
|
||||
services.AddSingleton<MullvadVpnService>();
|
||||
services.AddSingleton<ThreemaService>();
|
||||
services.AddSingleton<JobManager>();
|
||||
|
||||
// Benachrichtigungen laufen über eine neutrale Senke. Threema ist entfallen; bis RocketChat
|
||||
// und Telegram angebunden sind, landen Meldungen im Terminal-Log (LogNotificationSink).
|
||||
services.AddSingleton<PolyTrader.Core.Notifications.INotificationSink>(
|
||||
sp => new PolyTrader.Core.Notifications.LogNotificationSink(sp.GetRequiredService<TerminalLogger>()));
|
||||
|
||||
// Watchdog-Heartbeat (Dead-Man's-Switch). Als Singleton registriert, damit das
|
||||
// Settings-Fenster denselben Dienst für ReloadSettings/Test-Heartbeat nutzt.
|
||||
services.AddSingleton(sp => new WatchdogHeartbeatService(sp.GetRequiredService<TerminalLogger>()));
|
||||
@@ -166,7 +170,6 @@ internal static class Program
|
||||
|
||||
services.AddHostedService<MarketSyncService>();
|
||||
services.AddHostedService((IServiceProvider sp) => sp.GetRequiredService<MullvadVpnService>());
|
||||
services.AddHostedService((IServiceProvider sp) => sp.GetRequiredService<ThreemaService>());
|
||||
services.AddHostedService((IServiceProvider sp) => sp.GetRequiredService<WatchdogHeartbeatService>());
|
||||
services.AddSingleton<PolyTraderSharp.Ui.ShellUiHost>();
|
||||
services.AddTransient<PolyTraderSharp.Ui.LauncherForm>();
|
||||
@@ -229,7 +232,6 @@ internal static class Program
|
||||
{
|
||||
var view = new PolyTraderSharp.Ui.Views.SettingsView();
|
||||
view.Initialize(
|
||||
viewServices.GetRequiredService<ThreemaService>(),
|
||||
viewServices.GetRequiredService<MullvadVpnService>(),
|
||||
viewServices.GetRequiredService<TerminalLogger>(),
|
||||
viewServices.GetRequiredService<PolyTrader.Core.Persistence.IAccountRepository>(),
|
||||
|
||||
Reference in New Issue
Block a user