Releases: FallThunder/hack-at-davidson-26
Release list
v2.3.0 — TTS audio summary + accessibility score
What's new
Audio summary
- "Listen to Summary" button appears after analysis completes
- Calls TTS proxy (Flask on Google Cloud Run): Gemini 2.5 Flash generates a 4–6 sentence spoken briefing, ElevenLabs synthesizes it (Rachel voice,
eleven_turbo_v2_5) - Click again to stop; loading spinner and stop icon while active
Accessibility score
- Instant client-side DOM audit runs automatically on every article — no backend required
- Scores 0–100 across 6 WCAG checks: language declaration, image alt text, heading hierarchy, link label quality, button accessibility, page title
- Tiers: Excellent (≥90) · Good (≥75) · Fair (≥50) · Poor (<50)
- Issues listed individually with counts
Downloads
- Chrome: evident-chrome.zip — unzip and load as unpacked extension
- Firefox: evident-firefox.zip — load via about:debugging → Load Temporary Add-on
v2.2.0 — manage news sites, navigation reset
What's new
Manage news sites
- New settings panel (sliders icon in header) to view, add, and remove recognized news sites
- User-added domains persist across sessions via chrome.storage.local
- Shows full built-in list (collapsible) alongside your custom sites
Navigation behavior overhaul
- Following a link to a new article now resets the panel to idle instead of auto-re-analyzing — you must deliberately click Analyze on the new page
- Fixes a double-fire bug where status='complete' sent a spurious PAGE_NAVIGATED after URL-change navigation
- Chrome additionally attempts panel close via setOptions + setPanelBehavior on navigation
Firefox detection fix
- isFirefox detection now uses !chrome.sidePanel instead of typeof browser !== 'undefined' — Chrome MV3 ships a browser alias that broke the check, causing Chrome to run the Firefox code path and crash
v2.1.4 — Firefox AMO packaging fixes
Changes
- Added
required_data_collection_permissionsandoptional_data_collection_permissionsto Firefox manifest (AMO requirement) - Fixed Firefox zip structure: files are now at top level (manifest.json, sidepanel/, background/, content/, icons/) rather than nested inside a
dist-firefox/directory — required by Mozilla for AMO submission
v2.1.3 — fix political bias scoring
Fix
Political bias neutrality was calculated incorrectly. The old formula (100 − biasScore) only penalized right-leaning sources — a far-left outlet like Palmer Report (bias score ~15) received 85/100 neutrality (green), which is wrong.
The correct formula measures distance from center: 100 − 2 × |biasScore − 50|. Both extremes are now penalized symmetrically:
| Source | Bias score | Old neutrality | New neutrality |
|---|---|---|---|
| Far Left (~15) | 15 | 85 | 30 |
| Center (~50) | 50 | 50 | 100 |
| Moderate Right (~70) | 70 | 30 | 60 |
| Far Right (~95) | 95 | 5 | 10 |
v2.1.2 — Firefox fixes, ignore nav links, green at 85+
What's new
- Firefox background fix: switched from
service_workertobackground.scriptsfor broader Firefox MV3 compatibility - System prompt: Claude now ignores related article links, 'You might also like' sections, and navigation text when analyzing
- Trust score: High Trust (green) threshold lowered from 90 to 85 — articles genuinely scored well now get green more readily
- Build:
npm run buildnow builds both Chrome and Firefox in one command
Installation
Chrome / Chromium
Download evident-chrome.zip, unzip, load the dist/ folder as an unpacked extension at chrome://extensions.
Firefox
Download evident-firefox.zip, unzip, go to about:debugging → This Firefox → Load Temporary Add-on → select manifest.json.
v2.1.0 — Firefox support
What's new
Firefox is now supported alongside Chrome. Both browsers get the same full Evident experience: inline highlights, fact flags, trust score, publisher bias, and dark mode.
Installation
Chrome / Chromium
Download evident-chrome.zip, unzip it, then load the dist/ folder as an unpacked extension at chrome://extensions (Developer mode on).
Firefox
Download evident-firefox.zip, unzip it, then go to about:debugging → This Firefox → Load Temporary Add-on → select manifest.json inside the unzipped folder.
Firefox UX notes
- The sidebar opens via the Evident button in Firefox's sidebar panel selector, or by clicking the toolbar icon
- Navigating to a new article keeps the sidebar open and automatically re-analyzes the new page (unlike Chrome, which closes and reopens the panel per article)
v2.0.5 — fix tooltip stuck on highlighted links
Bug fix
Hovering over a highlight that wraps a link, then middle-clicking or right-clicking to open it in a new tab, left the tooltip permanently visible on the original tab with no way to dismiss it.
Root cause: Middle-click fires auxclick (not click) and right-click fires contextmenu — both bypass the span's click handler, so hideTooltip() was never called.
Fix:
auxclickandcontextmenulisteners added to each highlight span to hide the tooltip for those interactionsvisibilitychangelistener added at module level to hide the tooltip whenever the tab goes to the background, catching any remaining path (keyboard shortcut, OS-level window switch, etc.)
v2.0.4 — PageSpeed-style segmented TrustMeter
What's new
- Segmented trust ring: hover over the TrustMeter to see it break into 5 weighted arcs — Publisher (25%), Political Bias (15%), Factuality (25%), Tone (15%), Claim Accuracy (20%). Each arc shows a score-proportional fill in its own color.
- Circular hover boundary: hit detection uses an SVG transparent disk instead of CSS clip-path, so arc labels are no longer obscured and the hover area correctly matches the ring shape.
- Crossfade transition: smooth 0.3s opacity fade between the single-arc overview and segmented breakdown.
- Hover hint: subtle "Hover ring to see breakdown" label fades in below the ring and disappears when active.
- 4-tier scoring: 90+ High Trust (green), 80+ Mostly Reliable (yellow), 70+ Partially Reliable (orange), <70 Low Trust (red).
v1.9.3 — remove highlight shimmer, fix tooltip dark mode
- Remove ambient shine animation from highlighted text entirely (keyframes, ::before pseudo-element, and JS custom property writes all gone)
- Fix hover tooltip always rendering in light mode:
showTooltip()now stampsdata-evident-darkdirectly on the tooltip element at show time instead of relying on the ancestor selector[data-evident-dark] .evident-tooltip, which could miss if the SET_DARK_MODE message hadn't arrived yet
v1.9.2 — live stream progress logging
- Backend streams text chunks to stdout as they arrive for real-time server logs
- Progress column added to analysis_cache: starts as 'Searching the web...' on stream open, updates to 'Analyzing article...' on first text token
- Publisher also logs search/generation phases to console
- Frontend status line now shows live backend progress instead of cycling generic messages, falling back to generic messages when no progress is available yet