Commit Graph
199 Commits
Author SHA1 Message Date
Willem van den Ende a9a02aa9ba app: hand-write the User Inspect impl so coverage can instrument it
`redact: true` makes Ecto derive an Inspect impl at the `schema` line.
Elixir 1.20.4 emits that whole derived impl on that one line, and OTP 27's
coverage instrumentation (sys_coverage) turns it into invalid Erlang
("variable '_2' unsafe in 'case'"), so `mix test --cover` aborted for the whole
app before reporting anything. Minimal repro, no Ecto needed:
`@derive Inspect` on a plain struct fails on Elixir 1.20.4 + OTP 27.3.4.19 and
works on Elixir 1.18.3 + the same OTP.

Writing the impl out by hand, one expression per line, keeps `inspect/1`
output byte-identical (Ecto/Elixir render redacted fields as
`#Mod<..., ...>`) and keeps redaction pinned by the existing test, and lets the
coverage sensor land. Revisit when the Elixir/OTP pins change.
2026-10-26 18:38:13 +00:00
Willem van den Ende 068911b4e8 make verify: add the Lens pass container (both apps, cheapest first)
Root verify runs check first, then a per-app verify in each Makefile: sensor
slots hooked to VERIFY_SENSORS (empty today, so nothing is claimed that is not
run) and then that app's suite. Measured: 9.9s wall, app 178 + blogex 156 tests.
2026-10-26 17:58:42 +00:00
Willem van den Ende a1ff6dbbac mix.lock: patch/minor dependency bumps (18 packages)
All within existing mix.exs constraints. Notables: bandit 1.12.5->1.13.1,
phoenix 1.8.15->16, phoenix_live_view 1.2.12->13, swoosh 1.28.1->1.29.0,
tailwind 0.4.1->0.5.1 (new bundled CLI - check CSS output after deploy).
Tests: 156 passing (app + blogex).
2026-10-26 12:53:33 +00:00
Firehose Bot 9fdb003521 converting to static site with one prompt 2026-10-23 09:32:40 +01:00
Firehose Bot d8cf81aeec mention I haven't tried Deepseek yet 2026-10-21 16:58:58 +01:00
Firehose Bot 5a9106b61e Merge branch 'main' of ssh://gitea.apps.sustainabledelivery.com:3022/mostalive/firehose 2026-10-21 14:53:50 +01:00
Firehose Bot aef57c54f9 my open weight models this month 2026-10-21 14:53:35 +01:00
mostalive 9050329685 Add link to fork, fix tags in other posts 2026-10-21 11:50:35 +01:00
mostalive 86d52aa420 add image to blog, fixed emacs drag and drop on linux 2026-10-21 11:19:31 +01:00
Firehose Bot ebf076c450 remove commas, fix description 2026-10-20 13:23:16 +01:00
Firehose Bot 628c032f0b Merge branch 'main' of ssh://gitea.apps.sustainabledelivery.com:3022/mostalive/firehose 2026-10-20 13:20:35 +01:00
Firehose Bot 8e1f5806cf video transcriber post 2026-10-20 13:17:50 +01:00
mostalive 8a8992603b Fix catherine breslin link 2026-10-15 14:57:31 +01:00
Firehose Bot 5d7eddbfef fix(build): resolve mise via PATH instead of hardcoded ~/.local/bin path
mise now lives at /opt/homebrew/bin/mise (Homebrew install), so the
hardcoded MISE_BIN default broke make test/deps/compile. Fall back to
PATH lookup, matching what the check target already did.
2026-10-15 13:43:26 +01:00
Firehose Bot c8a3713cca fix link 2026-10-11 14:40:45 +01:00
Firehose Bot 855bb37065 remove todo
can't find John's post on linkedin
2026-10-08 13:56:01 +01:00
Firehose Bot 38873bde8c will it blend - live 2026-10-08 13:39:09 +01:00
Firehose Bot 310a5c0afd Bump phoenix_live_view to 1.2.12, closing last security advisory
The microprints git dep now allows phoenix_live_view ~> 1.2, so the
app can take the CVE-2026-64941 fix (open redirect in
validate_local_url!/2, fixed in 1.2.9). No 1.1.x backport existed.

blogex test lock follows to 1.2.12 so the library is tested against
the version the app ships with. mix deps.get now reports zero
security advisories.
2026-10-08 09:50:49 +01:00
Firehose Bot 7869166841 Add Playwright e2e test setup and configs 2026-10-08 09:49:07 +01:00
Firehose Bot b972603143 Add draft blog posts on step size and TDD diagnostics
Both published: false. The 07-20 draft references a screenshot that is
not yet in the repo (roam-export image copying is still in progress).
2026-10-08 09:49:07 +01:00
Firehose Bot 20213b0f78 mix format: app layout and editor dashboard test 2026-10-08 09:49:07 +01:00
Firehose Bot 3eec05b1d3 Update dependencies with security advisories
Bump all Hex deps with OSV advisories to fixed versions:
bandit 1.12.5, phoenix 1.8.15, plug 1.20.3, plug_crypto 2.2.0,
postgrex 0.22.4, decimal 3.1.1 (via ecto/ecto_sql 3.14), swoosh 1.28.1,
mint 1.11.0, hpax 1.1.0, finch 0.24.0, req 0.7.5, lazy_html 0.1.13.

Constraint changes: ecto_sql ~> 3.14 (ecto 3.14 requires decimal ~> 3.0),
req ~> 0.7.

phoenix_live_view stays at 1.1.27 (CVE-2026-64941, LOW): the fix landed
in 1.2.9 with no 1.1.x backport, and the microprints git dep pins
~> 1.1.0. Tracked in a follow-up yak.
2026-10-08 09:49:04 +01:00
Firehose Bot c5db0cbda8 Fix compile-time link validation and add tag page links
- Restore HTML link extraction in LinkValidator (removed in a83634d
  under the false premise that post bodies are raw markdown; they
  are HTML rendered by NimblePublisher at compile time). The missing
  regex made extract_links/1 find zero links, silently disabling
  compile-time validation.
- Support /blog/{blog_id}/tag/{tag} links: validate blog ID,
  require non-empty tag (tags are user-defined, e.g. pi.dev).
- Fix invalid links in two posts: tag/Pi.dev -> tag/pi.dev,
  2026-07-13-synthetic-tdd.md -> synthetic-tdd.
- Fix test warnings: use Plug.Test deprecation, unused import,
  runtime-defined TestBlogValid module.
- Add regression tests for HTML extraction and tag page links.
2026-10-08 08:43:51 +01:00
Willem van den Ende 127eb474d2 External link marker: new tab + icon on links leaving the blog
External links in post bodies now open in a new tab and show a
box-with-arrow marker icon, so readers can tell at a glance which
links leave the site.

- blogex: new Blogex.ExternalLinks.rewrite/1 marks up anchors with
  http(s) hrefs at compile time with target="_blank", rel="noopener"
  and class="blogex-external" (idempotent, merges into existing
  class/rel values, leaves relative, mailto: and #anchor links alone)
- blogex: Post.build/3 applies the rewrite, so every blog gets it
- app: CSS in .blogex-post-body draws the marker via a mask so it
  inherits the link colour; empty ::after content stays invisible
  to screen readers
- make test now also runs the blogex suite; it is currently red
  with 3 pre-existing blog_integration_test failures caused by the
  vacuous link validator (parked yak
  link-validator-never-sees-compiled-html-...)
2026-10-02 12:11:10 +00:00
Firehose Bot 0e603d4bbc attempt to fix the comprehensionmaxxing tag 2026-10-02 12:36:10 +01:00
Firehose Bot 71eee32cd9 Publish "Delayed gratification" 2026-10-02 12:11:32 +01:00
Firehose Bot f522895e4e fixed link to tag and image 2026-08-12 23:48:12 +02:00
Firehose Bot 3308299d3c pi.dev and open weights 2026-08-11 08:19:47 +02:00
Firehose Bot 4fa0f85847 Merge branch 'main' of ssh://gitea.apps.sustainabledelivery.com:3022/mostalive/firehose 2026-08-08 12:57:50 +02:00
mostalive a426a2b61b retort blog post 2026-07-30 10:15:43 +01:00
Firehose Bot d6dddbc9fb session transcript in pi 2026-07-28 13:15:24 +01:00
Firehose Bot 20de33720a freewriting 2026-07-27 16:18:09 +01:00
Firehose Bot f22a8cbf37 swim the test part two 2026-07-27 16:16:49 +01:00
Firehose Bot d7c6bea7fa good enough for now 2026-07-27 11:14:22 +01:00
Firehose Bot 419abc6b92 swim the test zeroth draft 2026-07-27 10:47:17 +01:00
Firehose Bot 17d7ad760d fix sigil error - no comma needed in word list 2026-07-19 08:52:31 +01:00
Firehose Bot 2e3187597d does ai assistance support tiny open source projects? 2026-07-18 10:14:26 +01:00
Firehose Bot 1554773544 pi coding agent skill 2026-07-16 18:29:32 +01:00
Firehose Bot 761d6fe2ce draft for pi skill 2026-07-16 13:21:03 +01:00
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
mostalive 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
mostalive 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
mostalive 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
mostalive 001bf684b7 add description 2026-07-08 14:23:39 +01:00
mostalive 10c02f5c6a add description 2026-07-07 13:48:41 +01:00
mostalive 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