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:
@@ -1,4 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
using System.Xml.Serialization;
|
||||
@@ -16,42 +16,6 @@ namespace PolyTraderSharp.Models
|
||||
[XmlArrayItem("Module")]
|
||||
public List<string> DisabledModules { get; set; } = new();
|
||||
|
||||
[Category("Threema Notifications")]
|
||||
[DisplayName("Threema Enabled")]
|
||||
[Description("Enable or disable Threema notifications.")]
|
||||
public bool ThreemaEnabled { get; set; } = true;
|
||||
|
||||
[Category("Threema Notifications")]
|
||||
[DisplayName("Gateway ID")]
|
||||
[Description("The Threema Gateway ID (e.g. *3MAGW01).")]
|
||||
public string ThreemaGatewayId { get; set; } = "*3MAGW01";
|
||||
|
||||
[Category("Threema Notifications")]
|
||||
[DisplayName("Gateway Secret")]
|
||||
[Description("The secret for the Threema Gateway integration.")]
|
||||
public string ThreemaSecret { get; set; } = "";
|
||||
|
||||
[Category("Threema Notifications")]
|
||||
[DisplayName("Private Key")]
|
||||
[Description("The Private Key (hex) for End-to-End encryption.")]
|
||||
public string ThreemaPrivateKey { get; set; } = "";
|
||||
|
||||
[Category("Threema Notifications")]
|
||||
[DisplayName("Group ID")]
|
||||
[Description("The Threema Group ID to send messages to.")]
|
||||
public string ThreemaGroupId { get; set; } = "";
|
||||
|
||||
[Category("Threema Notifications")]
|
||||
[DisplayName("Webhook Port")]
|
||||
[Description("The local port to listen on for incoming Threema messages (e.g. 8080).")]
|
||||
public int ThreemaWebhookPort { get; set; } = 8080;
|
||||
|
||||
[Category("Threema Notifications")]
|
||||
[DisplayName("Report Interval (Hours)")]
|
||||
[Description("Interval for the automatic summary report.")]
|
||||
public int ThreemaReportIntervalHours { get; set; } = 6;
|
||||
|
||||
|
||||
[Category("Mullvad VPN")]
|
||||
[DisplayName("VPN Enabled")]
|
||||
[Description("Enable or disable automatic VPN rotation.")]
|
||||
|
||||
Reference in New Issue
Block a user