160 Commits

Author SHA1 Message Date
Firehose Bot
4ead5702fb Merge branch 'main' of dokku:firehose.apps.sustainabledelivery.com 2026-07-13 15:02:22 +01:00
Firehose Bot
4885c94b72 old conflicts and version update 2026-07-13 15:01:19 +01:00
Firehose Bot
7af61a917f Merge branch 'main' of ssh://gitea.apps.sustainabledelivery.com:3022/mostalive/firehose 2026-07-13 14:58:40 +01:00
Firehose Bot
337a0a61d8 Synthetic TDD - Vocabulary 2026-07-13 14:49:01 +01:00
990af18ef8 v0.2.0 — RSS subscribe links
- Add release note for v0.2.0
- Bump version from 0.1.0 to 0.2.0
2026-07-08 17:00:11 +01:00
e385710498 Swap to classic RSS waveguide icon for better recognizability
Replace the broadcast-style SVG icon with the traditional RSS
symbol (dot + two concentric arcs) — the standard feed icon
used across browsers and feed readers.
2026-07-08 17:00:11 +01:00
855b6cb590 Add RSS subscribe links with icon across blog pages, footer, and head
- Add <.rss_icon> inline SVG component in core_components.ex
- Inject RSS <link> tags into <head> on blog pages for auto-discovery
- Show RSS icon next to blog title on index and tag pages
- Show RSS icon on post pages next to back-link
- Add Subscribe section in footer with links to both feeds
- Wire feed URL through blog controller (index, show, tag actions)

174 tests pass, credo clean.
2026-07-08 17:00:11 +01:00
001bf684b7 add description 2026-07-08 14:23:39 +01:00
10c02f5c6a add description 2026-07-07 13:48:41 +01:00
63ae78129f fixed test - clicking on line instead of parts in svg 2026-07-07 13:36:09 +01:00
Firehose Bot
32f75d63d3 upgrade nimble_publisher to 2.0 for mdex_native (replaces deprecated earmark) 2026-07-07 13:36:09 +01:00
Firehose Bot
29754ff651 fix microprints_live tests: syntax error, brittle selectors, and layout assertions
- Add missing 'do' keyword on describe block (SyntaxError)
- Replace brittle SVG rect DOM selector with direct render_click event
  trigger to avoid AmbiguousError from multi-segment rects
- Fix layout test: render/1 returns LV inner HTML only, not the
  layout wrapper — check for content actually present in output
2026-07-07 13:36:09 +01:00
Firehose Bot
6c3051d618 Reapply "Fix dashboard dark mode readability by using theme-aware text colors"
This reverts commit 76255c7641176ed1108a771c8722e55eb004dbb1.
2026-07-07 13:36:09 +01:00
Firehose Bot
b71f4649e2 Revert "Fix dashboard dark mode readability by using theme-aware text colors"
This reverts commit 2a0634b82036cd2945c09de5da27116df4e9a8a6.
2026-07-07 13:36:09 +01:00
Firehose Bot
07aca93e7c Fix dashboard dark mode readability by using theme-aware text colors
- Use  and  instead of hardcoded zinc colors in EditorDashboardLive
- Apply same fix to MicroprintsLive description paragraph
- All titles now respect the active theme and remain readable in both light and dark modes
2026-07-07 13:36:09 +01:00
Firehose Bot
188c556233 Fix demo user confirmation to allow password login
The seeds file was creating an unconfirmed user and then setting a password,
which conflicts with Phoenix's auth system (magic link login is not allowed
for unconfirmed users with passwords).

This fix ensures the demo user is confirmed before setting their password,
so they can log in via both magic link and password.

Demo credentials: demo@example.com / password123!
2026-07-07 13:36:09 +01:00
Firehose Bot
efbd314d33 Add app layout to live_session for dashboard menu
Fix the dashboard missing menu by explicitly setting layout: {FirehoseWeb.Layouts, :app} in the live_session.
This ensures the navigation menu is rendered on the authenticated editor dashboard LiveView.
2026-07-07 13:36:09 +01:00
c8864c5b3b fixed test - clicking on line instead of parts in svg 2026-07-07 13:33:50 +01:00
6b5329bd75 moralistic programming 2026-07-07 13:32:55 +01:00
8479a2fc1f moralistic programming 2026-07-07 12:34:48 +01:00
Firehose Bot
51ba85d492 upgrade nimble_publisher to 2.0 for mdex_native (replaces deprecated earmark) 2026-07-06 18:18:12 +01:00
Firehose Bot
39973c3414 fix microprints_live tests: syntax error, brittle selectors, and layout assertions
- Add missing 'do' keyword on describe block (SyntaxError)
- Replace brittle SVG rect DOM selector with direct render_click event
  trigger to avoid AmbiguousError from multi-segment rects
- Fix layout test: render/1 returns LV inner HTML only, not the
  layout wrapper — check for content actually present in output
2026-07-06 18:09:26 +01:00
Firehose Bot
2ba8457b14 Reapply "Fix dashboard dark mode readability by using theme-aware text colors"
This reverts commit 76255c7641176ed1108a771c8722e55eb004dbb1.
2026-07-06 17:02:13 +01:00
Firehose Bot
76255c7641 Revert "Fix dashboard dark mode readability by using theme-aware text colors"
This reverts commit 2a0634b82036cd2945c09de5da27116df4e9a8a6.
2026-07-06 11:54:56 +01:00
Firehose Bot
2a0634b820 Fix dashboard dark mode readability by using theme-aware text colors
- Use  and  instead of hardcoded zinc colors in EditorDashboardLive
- Apply same fix to MicroprintsLive description paragraph
- All titles now respect the active theme and remain readable in both light and dark modes
2026-07-06 11:14:13 +01:00
Firehose Bot
2be39c3273 Fix demo user confirmation to allow password login
The seeds file was creating an unconfirmed user and then setting a password,
which conflicts with Phoenix's auth system (magic link login is not allowed
for unconfirmed users with passwords).

This fix ensures the demo user is confirmed before setting their password,
so they can log in via both magic link and password.

Demo credentials: demo@example.com / password123!
2026-07-06 10:55:15 +01:00
Firehose Bot
ccb52be9db Add app layout to live_session for dashboard menu
Fix the dashboard missing menu by explicitly setting layout: {FirehoseWeb.Layouts, :app} in the live_session.
This ensures the navigation menu is rendered on the authenticated editor dashboard LiveView.
2026-07-06 10:37:08 +01:00
Firehose Bot
fe156ef81e Add Dashboard nav link for authenticated users
- Add conditional "Dashboard" link in navbar that shows when a user is logged in
- Tests verify the link is hidden for unauthenticated users and visible when authenticated
- Investigation reports for Q1 (drafts/scheduled), Q2 (RSS), Q3 (email subs)
2026-07-06 09:11:13 +01:00
Firehose Bot
f6229ebf77 Drag and drop images for blog posts 2026-07-03 14:05:34 +01:00
Firehose Bot
98d0debb43 add file location 2026-06-28 10:16:02 +02:00
Firehose Bot
85be71fe1a add intro 2026-06-27 10:27:21 +02:00
Firehose Bot
e63c2abff2 an example would be handy right about now 2026-06-27 10:20:53 +02:00
Firehose Bot
881fce5023 load images - blog post 2026-06-26 20:49:37 +02:00
Firehose Bot
9d2565a8b4 Merge branch 'main' of dokku:firehose.apps.sustainabledelivery.com 2026-06-20 22:07:22 +01:00
Firehose Bot
817a227309 publish 2026-06-20 22:06:41 +01:00
Firehose Bot
eb3af61884 blog post about explaining image models 2026-06-20 22:05:03 +01:00
Firehose Bot
ef51fdcfff Merge branch 'main' of ssh://gitea.apps.sustainabledelivery.com:3022/mostalive/firehose 2026-06-20 17:48:45 +01:00
Firehose Bot
3859c836e5 publish AI zombies retro actively 2026-06-20 17:48:27 +01:00
1cf5a39acd fix up quotes 2026-05-21 13:00:33 +01:00
1d5358d215 add Further Reading section 2026-05-21 12:16:49 +01:00
Firehose Bot
6b201e7e63 Set up Playwright for browser testing
- Playwright config for local browsers (Firefox by default) and Docker Chrome
- docker-compose.chrome.yml for browserless/chrome container (arm64)
- 4 connectivity smoke tests (home, contact, blog pages)
- 3 auth tests (redirect, login, logout) with auth helpers
- Custom fixtures with remote CDP connect support
- Shell scripts for start/stop/full Docker Chrome workflow
- Makefile targets: playwright, playwright-docker, playwright-full
2026-05-18 23:12:42 +01:00
Firehose Bot
a4bca75946 Fix credo quote-sigil warning in microprints_live_test.exs
Replace double-quoted string with escaped quotes in element selector
with a ~s sigil to satisfy Credo's 'More than 3 quotes found inside
string literal' readability check.

Includes formatting changes from mix format (ran via make check).
2026-05-18 21:35:28 +01:00
Firehose Bot
a9e746d520 scroll and highlight selected line
added line numbers to source view, fixed css selectors
2026-05-18 21:31:01 +01:00
Firehose Bot
790d2f0e1d Remember microprint state on reload 2026-05-18 20:17:38 +01:00
Firehose Bot
7afe5c1fe8 test(microprints): make expand-switch test resilient to file changes
Remove hardcoded module names (FirehoseWeb.MicroprintsLive,
Firehose.Application) from the expand-switch test. Now verifies:
- Each file's source renders when expanded (generic defmodule check)
- Source content differs between files (catches stale content bug)
- Button states update correctly (collapse/expand)
2026-05-18 18:09:55 +01:00
Firehose Bot
7c06204ac2 fix(microprints): fix source viewer showing stale content when switching files
The source_viewer component used static DOM IDs (id='source-viewer')
with phx-update='ignore'. When switching expanded files, LiveView
reused the same DOM element but phx-update='ignore' prevented content
from being updated, showing the previous file's source.

- Override source_viewer/1 in MicroprintsLive with unique per-file IDs
  generated via :erlang.phash2(file_path)
- Add test verifying expand-switch shows correct source content
- Add test for highlight/expand coupling (collapse when highlighting
  a different file)
- All 160 tests pass
2026-05-18 18:04:47 +01:00
Firehose Bot
36bdc0610e fix(microprints): collapse expanded file when highlighting a different file
- Add test in microprints_live_test.exs that documents the uncoupled state bug
- Fix handle_event("highlight_line") to collapse expanded_path when
  highlighting a line in a different file
- All 159 tests pass
2026-05-18 17:28:30 +01:00
Firehose Bot
eb97015dc0 Merge branch 'main' of ssh://gitea.apps.sustainabledelivery.com:3022/mostalive/firehose 2026-05-18 16:53:09 +01:00
eec0ff67b3 fix(microprints): pass unique id to source_viewer to fix DOM state
- source_viewer now receives id="source-viewer-#{path}" for unique DOM ids
- Fixes stale content bug when switching between expanded files
2026-05-15 16:21:11 +01:00
43aaa6bdbe fix(microprints): always show microprint SVG, source below when expanded
Layout: button → microprint (always) → source viewer (conditional)
2026-05-15 16:21:11 +01:00