firehose/demos/demo-20260515-111539-source-viewer-fix.md

2.2 KiB
Raw Blame History

Demo: Source Viewer Fix

2026-05-15T10:15:39Z by Showboat dev

Bug Fix: Source Viewer Showing Wrong File

Issue: The source viewer in the Microprints page always showed 'defmodule Blogex' regardless of which file's Expand button was clicked.

Root Cause: In resolve_absolute_paths/1, app files (e.g., lib/firehose.ex) were resolved using Path.expand(path) which expands relative to the current working directory instead of relative to the app_root. This caused app files to resolve to wrong paths.

Fix: Changed resolve_absolute_paths/1 to use Path.join(app_root, path) for all paths, ensuring both app files and ../blogex/... files resolve correctly relative to the app directory.

Test Suite

cd app && mix test test/firehose_web/live/microprints_live_test.exs --color
Running ExUnit with seed: 924777, max_cases: 32

........
Finished in 0.9 seconds (0.9s async, 0.00s sync)
8 tests, 0 failures

All 8 tests pass, confirming that scan_source_files/0 returns correct paths for both app and blogex files.

UI Verification

![Microprints page showing all source files](demos/screenshots/microprints-page.png)

Microprints page showing all source files

![Source viewer correctly shows defmodule Firehose for lib/firehose.ex](demos/screenshots/source-viewer-firehose.png)

Source viewer correctly shows defmodule Firehose for lib/firehose.ex

![Source viewer correctly shows defmodule FirehoseWeb.Router for lib/firehose_web/router.ex](demos/screenshots/source-viewer-router.png)

Source viewer correctly shows defmodule FirehoseWeb.Router for lib/firehose_web/router.ex

Acceptance Criteria Verification

  • Source viewer displays actual source code of the specific file -- see UI Verification screenshots above
  • App files (e.g., lib/firehose.ex) show correct content -- see source-viewer-firehose.png
  • Router files (e.g., lib/firehose_web/router.ex) show correct content -- see source-viewer-router.png
  • All 8 tests pass