Skip to content

Finish outstanding features, fix service worker, improve Research section#13

Open
RavellerH wants to merge 3 commits into
gh-pagesfrom
claude/uiux-redesign-30hht9
Open

Finish outstanding features, fix service worker, improve Research section#13
RavellerH wants to merge 3 commits into
gh-pagesfrom
claude/uiux-redesign-30hht9

Conversation

@RavellerH

@RavellerH RavellerH commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Follow-up to #12 (which merged the redesign before these commits landed). Three commits:

Finished outstanding features (191c88e)

  • Settings tab — new page collecting the config cards previously buried at the bottom of Live Monitor (API proxy, CoinGecko key, APIU proxy, Telegram) plus new cards for wallet, RSS proxy, bot worker URL, Supabase Edge Function URL, and Vercel backend URL
  • Wallet switcher — topbar badge shows the active wallet and is clickable to switch (validated 0x address); also in Settings
  • RSS proxy — News feeds race a user-deployed cloudflare/worker.js first when configured
  • Portable AI endpoints — KB AI and MVRV chat no longer silently fail on GitHub Pages; they route /api/chat through the configurable backend URL shared with Daily Brief / Weekly Research
  • Logger status now shows as a hover tooltip on the topbar dot

Service worker fix (16c2595)

  • App shell is network-first (new deploys appear on the next load — the old cache-first strategy made every deploy invisible until users reloaded twice)
  • Live API responses (CoinGecko, DeFiLlama, briefs JSON, RSS proxies) are never cached — previously frozen until the next cache bump
  • CDN assets stay cache-first; install is per-item and non-fatal

Research section (f4c9f50)

  • Fixed invisible active states (.chip-active in KB/Weekly Research, News filter .active — used in JS, never defined in CSS)
  • Fixed Fundamentals search losing focus every keystroke, and Vol/MCap sorting by raw volume instead of the ratio
  • News: keyword search, AI sentiment filter chips, llm-router fallback for analysis, no more background refetching while on other tabs
  • Fundamentals: 7-day sparklines per coin, pin-to-top favorites
  • Daily Brief / Weekly Research: "Read full report" renders full markdown in-app (zero-dependency, escape-first renderer)
  • KB Supabase project configurable in Settings → Storage

All changes verified in a headless browser (page sweep for JS errors, settings save round-trips, SW install/activate/control, injected-data tests for search/pins/sparklines/sentiment filters/markdown rendering).

🤖 Generated with Claude Code

https://claude.ai/code/session_0199raLGr2LeKzBgPxgqVfry

…, portable AI endpoints

Code audit found several documented-but-unfinished features; this completes them:

- Settings tab (README referenced it; it never existed): new page collecting
  the four config cards previously buried at the bottom of Live Monitor
  (API proxy, CoinGecko key, APIU proxy, Telegram) plus new cards for
  wallet, RSS proxy, bot worker URL, Supabase Edge Function URL, and the
  Vercel backend URL. Live Monitor now links here instead.
- Wallet switcher (README said "enter your wallet when prompted" but
  hype_wallet was read-only): topbar badge now renders the active wallet,
  shows the full address on hover, and is clickable to switch; also
  available in Settings. Validates the 0x address and reloads data.
- RSS proxy setting (documented as "Settings → RSS Proxy", never
  implemented): news feeds now race a user-deployed cloudflare/worker.js
  first when configured, falling back to the public CORS proxies.
- Portable /api/chat: KB AI (generate/enhance/trade-analyze) and MVRV chat
  called relative /api/chat, which silently fails on GitHub Pages. They now
  route through the same configurable backend URL used by Daily Brief and
  Weekly Research (hype_trigger_backend_url) via a shared _apiBase() helper.
- Logger status tooltip was written to a permanently hidden span; the
  topbar dot now carries it as a native hover tooltip.
- README: Settings row added to the tab table; SW cache bumped to v14.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0199raLGr2LeKzBgPxgqVfry
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 3, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
❌ Deployment failed
View logs
hype-bot f4c9f50 Jul 03 2026, 03:18 AM

@vercel

vercel Bot commented Jul 3, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
hype Ready Ready Preview, Comment Jul 3, 2026 3:18am

@supabase

supabase Bot commented Jul 3, 2026

Copy link
Copy Markdown

This pull request has been ignored for the connected project eiqlvbylkcmgvksrxqld because there are no changes detected in supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

…ent install

The old cache-first strategy caused the two most visible deploy problems:
- every deploy was invisible until users reloaded twice (HTML/CSS/JS were
  served from cache first), which made merged updates look broken/missing
- third-party GET responses (CoinGecko, DeFiLlama, raw.githubusercontent
  briefs, RSS proxies) were cached forever, freezing data pages at whatever
  the cache version last saw

New strategy:
- same-origin app shell/assets: network-first, cache only as offline fallback
  (new deploys appear on the very next load)
- immutable CDN assets (fonts, chart.js, supabase-js): cache-first
- everything else (live APIs): pass-through, never cached
- install: per-item non-fatal precache — one unreachable asset no longer
  aborts the whole install (caches.addAll is all-or-nothing)
- cache bumped to hype-v15

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0199raLGr2LeKzBgPxgqVfry
…es/pins, in-app reports

Bug fixes:
- .chip-active (KB tabs, Weekly Research picker) and News filter .active were
  used in JS but never defined in CSS — active states were invisible; both
  now styled
- Fundamentals search input lost focus on every keystroke (full page
  re-render); search/sort/pin now re-render only the table
- Fundamentals Vol/MCap column sorted by raw volume (duplicate key with the
  Vol column); it now sorts by the actual ratio
- News auto-refresh no longer refetches all 9 sources every 5 minutes while
  another tab is open or the window is hidden

Upgrades:
- News: keyword search over titles/excerpts and AI sentiment filter chips
  (Bull/Bear/Neutral) when analyses are available
- News AI: falls back to the Supabase llm-router when the bot worker isn't
  configured (or fails), matching HL Pulse's chain
- Fundamentals: 7-day SVG sparkline per coin (CoinGecko sparkline data) and
  pin-to-top favorites persisted in localStorage
- Daily Brief / Weekly Research: "Read full report" renders the full
  markdown in-app via a small zero-dependency renderer (escape-first);
  GitHub link kept as secondary
- Knowledge Base: Supabase project now configurable in Settings → Storage
  (falls back to the built-in project)
- SW cache bumped to v16

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0199raLGr2LeKzBgPxgqVfry
@RavellerH RavellerH changed the title Finish outstanding features: Settings tab, wallet switcher, RSS proxy… Finish outstanding features, fix service worker, improve Research section Jul 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants