fix(hub): archive labels, symbol column, and time-close dropdown

Force exchange_key on archive sync; add contract column and tag select styles on inner-light-mind; serve time_close_ui.js on instances so order/key time-close duration can be selected.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-11 19:44:51 +08:00
parent 959593cdab
commit a9637fafb2
16 changed files with 147 additions and 44 deletions
+8 -1
View File
@@ -320,7 +320,10 @@ def upsert_trades_cache(
if not sym:
continue
active_ids.append(tid)
payload = {k: t.get(k) for k in t.keys()}
row = dict(t)
row["exchange_key"] = ex_k
row.pop("account_exchange_key", None)
payload = {k: row.get(k) for k in row.keys()}
entry_label = _trade_entry_reason_for_cache(t)
conn.execute(
"""
@@ -441,6 +444,10 @@ def _trade_row_to_dict(row: sqlite3.Row, overlay: dict | None = None) -> dict[st
out["behavior_tag"] = ov.get("behavior_tag") or ""
out["note"] = ov.get("note") or ""
out["trade_id"] = out.get("trade_id") or out.get("id")
ex_col = str(d.get("exchange_key") or "").strip().lower()
if ex_col:
out["exchange_key"] = ex_col
out.pop("account_exchange_key", None)
return _enrich_trade_display_fields(out)