Skip to content

v2.6.4

Choose a tag to compare

@GeneBO98 GeneBO98 released this 12 May 13:28

Bug Fixes

Firstrade CSV import (now flagged as Alpha)

  • Treasury notes/bonds (CUSIP 9128*) now use the CSV Amount column for cost basis instead of qty * price, which was inflating P&L by orders of magnitude
  • Same-day mixed buys/sells are reordered by net daily flow so a partial close on an existing long position is no longer misclassified as opening a short
  • Options assigned/exercised/expired close at $0 so the premium becomes realised P&L instead of leaving the contract permanently open
  • Bloomberg-style symbols derived from descriptions for US Treasuries (e.g. T 4.25 12/31/26) instead of surfacing raw 9-character CUSIPs
  • Options realised P&L matched to the CSV Amount column, capturing exchange/regulatory fees Firstrade rolls into the amount without itemising
  • Commission and Fee columns tracked separately on trades
  • Generic broker selection routes to the Firstrade parser when headers unambiguously match
  • EXEC TIME hints extracted from row descriptions; execution datetimes rewritten monotonically post-sort to preserve position-aware order
  • Heads up: the Firstrade parser is now labelled Alpha in the import UI. Please review imported trades and report incorrect P&L or symbol mappings via GitHub Issues.

Interactive Brokers (IBKR)

  • Rewrote error code dictionary against the official Flex Web Service v3 docs (e.g. 1007 was incorrectly labelled token-expired; that's actually 1012)
  • Added all transient codes (1001, 1004-1009, 1018, 1019, 1021) to the retry set
  • requestFlexReport now retries up to 5x on transient IBKR/DNS errors
  • fetchFlexReport poll loop uses the retryable set instead of a hardcoded 1019 check
  • Scheduler cleans up zombie fetching/started log entries on startup

Trade filters & detail

  • URL filter params are now authoritative — click-throughs like /trades?symbol=X no longer pick up a stale status:open filter from localStorage
  • Open option positions in Trade Detail now show entered premium plus unrealized P&L (using the dashboard's manual option price) instead of Open
  • Max Drawdown click in Analytics now force-enables the drawdown chart if hidden and adds a brief ring highlight on scroll
  • Display Currency description in Settings clarified — it changes the symbol only, no FX conversion

Broker sync date range

  • New sync_start_date column on broker_connections (NULL = All Time)
  • Sync Trades From preset selector (All Time, This Year, Last 30/90 Days, Last 1 Year, Custom) in both the IBKR setup modal and the connection settings modal
  • syncConnection() falls back to the connection's sync_start_date when no explicit start is supplied, applying the floor to scheduled auto-syncs as well

Image upload UX

  • Paste images from the clipboard directly into the trade and diary upload zones (shortcut label adapts to platform)
  • Warn before saving an edited trade when images are selected but not yet uploaded, then flush pending uploads on confirm

Features

Stock Analyzer / DCF valuations

  • Auto-save every Calculate — no more clicking Save Valuation
  • Saved Valuations panel always visible (was hidden until a symbol was searched)
  • Colored symbol chips per row; current-symbol rows group at top with an Only {symbol} filter
  • Click a saved valuation for a different symbol to switch the analyzer and auto-load its assumptions/fair values
  • Loading a saved row rehydrates the Bear/Base/Bull cards from stored fair values; margin-of-safety recomputed client-side

Fixes

  • saveValuation now rounds shares_outstanding before INSERT (Finnhub returns shares in millions; the *1e6 multiply yielded floating-point residue like 1036160000.0000001 for NOW, which Postgres rejected on the BIGINT column with a 500)
  • Added migration 180_create_email_log.sqlemailService.logEmail() and the retention email schedulers reference an email_log table that no migration ever created, causing relation "email_log" does not exist errors on every scheduled run

Other

  • Simplified the quick deployment script
  • GitHub Pages landing page