Fix embedded-server endpoint drift, add Recalculate All Traders button
- Shared ApiConfiguration.MapPredictalyticsEndpoints() used by both the standalone API and the embedded WinForms Kestrel server: the embedded host was missing /api/watchlist and /api/dev (empty watchlist page), the standalone host was missing /api/search. - New Development menu action "Recalculate All Traders": backfills ResolutionOutcome from snapped outcome prices, wipes derived analytics (snapshots, category stats, rebuildable positions), zeroes aggregates and marks every trader for re-analysis. Raw trades untouched. - Static files now served with Cache-Control: no-cache in both hosts, plus ?v= cache-buster on app.js/style.css (stale browser JS masked earlier UI fixes). - Watchlist hardened: endpoint null-safe, real Analytics.CopytradingScore, Platform field; repository includes Trader.Analytics; page shows a visible error row instead of staying silently blank. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
1787422243
commit
850c47a404
+11
-1
@@ -37,6 +37,7 @@ partial class MainForm
|
||||
btn_dbReset = new ToolStripMenuItem();
|
||||
btn_syncmarkets = new ToolStripMenuItem();
|
||||
btn_dbUpdate = new ToolStripMenuItem();
|
||||
btn_recalcAll = new ToolStripMenuItem();
|
||||
toolStrip1.SuspendLayout();
|
||||
statusStrip1.SuspendLayout();
|
||||
tabControl1.SuspendLayout();
|
||||
@@ -192,6 +193,7 @@ partial class MainForm
|
||||
btn_dbReset = new ToolStripMenuItem();
|
||||
btn_syncmarkets = new ToolStripMenuItem();
|
||||
btn_dbUpdate = new ToolStripMenuItem();
|
||||
btn_recalcAll = new ToolStripMenuItem();
|
||||
toolStrip1.SuspendLayout();
|
||||
statusStrip1.SuspendLayout();
|
||||
tabControl1.SuspendLayout();
|
||||
@@ -341,7 +343,7 @@ partial class MainForm
|
||||
//
|
||||
// developmentToolStripMenuItem
|
||||
//
|
||||
developmentToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { btn_dbReset, btn_syncmarkets, btn_dbUpdate });
|
||||
developmentToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { btn_dbReset, btn_syncmarkets, btn_dbUpdate, btn_recalcAll });
|
||||
developmentToolStripMenuItem.Name = "developmentToolStripMenuItem";
|
||||
developmentToolStripMenuItem.Size = new Size(135, 29);
|
||||
developmentToolStripMenuItem.Text = "Development";
|
||||
@@ -365,6 +367,13 @@ partial class MainForm
|
||||
btn_dbUpdate.Size = new Size(270, 34);
|
||||
btn_dbUpdate.Text = "UpdateDB";
|
||||
btn_dbUpdate.Click += btn_dbUpdate_Click;
|
||||
//
|
||||
// btn_recalcAll
|
||||
//
|
||||
btn_recalcAll.Name = "btn_recalcAll";
|
||||
btn_recalcAll.Size = new Size(270, 34);
|
||||
btn_recalcAll.Text = "Recalculate All Traders";
|
||||
btn_recalcAll.Click += btn_recalcAll_Click;
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
@@ -414,4 +423,5 @@ partial class MainForm
|
||||
private ToolStripStatusLabel label_dbSize;
|
||||
private ToolStripStatusLabel label_buildVersion;
|
||||
private ToolStripMenuItem btn_dbUpdate;
|
||||
private ToolStripMenuItem btn_recalcAll;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user