<feed xmlns='http://www.w3.org/2005/Atom'>
<title>prism.git/components/quotetable.py, branch master</title>
<subtitle>Webapp for stock analysis</subtitle>
<id>https://git.tylerhoang.xyz/prism.git/atom?h=master</id>
<link rel='self' href='https://git.tylerhoang.xyz/prism.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/prism.git/'/>
<updated>2026-05-17T07:40:20Z</updated>
<entry>
<title>Fix quotetable heading, stale click state, and parallel fetch</title>
<updated>2026-05-17T07:40:20Z</updated>
<author>
<name>Tyler</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-17T07:40:20Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/prism.git/commit/?id=9b5e0572de9721b90eee769251cf815cf714a5ad'/>
<id>urn:sha1:9b5e0572de9721b90eee769251cf815cf714a5ad</id>
<content type='text'>
- Rename "Positions" → "Quotes" (heading was misleading; implies holdings)
- Always clear _qt_click on read so stale values from removed tickers
  don't persist across rerenders
- Replace serial get_latest_price + get_company_info calls with
  parallel ThreadPoolExecutor fetch of get_company_info only;
  regularMarketPrice/currentPrice from info is sufficient for the table
  and halves the number of yfinance calls

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Fix quotetable row click: use data-sym + event delegation</title>
<updated>2026-05-17T07:33:23Z</updated>
<author>
<name>Tyler</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-17T07:33:23Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/prism.git/commit/?id=c3a535c987b680f1c715c42a41f061a4f8c9df86'/>
<id>urn:sha1:c3a535c987b680f1c715c42a41f061a4f8c9df86</id>
<content type='text'>
Replaced inline onclick with escaped string literals with the same
data-sym / closest(tr[data-sym]) event delegation pattern used by the
working sidebar watchlist. Avoids JS string quoting issues in HTML
attribute context.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add QuoteTable as empty-state landing page</title>
<updated>2026-05-17T07:24:43Z</updated>
<author>
<name>Tyler</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-17T07:24:43Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/prism.git/commit/?id=fbf5bc37df61c0349647217cbbf0ad7a9d197fc5'/>
<id>urn:sha1:fbf5bc37df61c0349647217cbbf0ad7a9d197fc5</id>
<content type='text'>
Renders watchlist tickers as a styled psm-card data table (Symbol, Sector,
Last, Δ, % Day, Volume) when no ticker is selected. Falls back to the
existing placeholder when the watchlist is empty. Uses the same JS
hidden-input click pattern as the sidebar watchlist.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
