20 Commits

Author SHA1 Message Date
Firehose Bot
b3011a6bd6 Contact page 2026-04-27 10:54:10 +01:00
Firehose Bot
2ec9d3ea89 Revert "show 'blog' instead of 'engineering'"
This reverts commit fe8409427ae190cdd645e9acbcf0372d6b1ecfe8.
2026-04-27 09:21:44 +01:00
Firehose Bot
fe8409427a show 'blog' instead of 'engineering' 2026-04-26 23:00:13 +01:00
Firehose Bot
0a47d9d962 change description 2026-04-01 23:52:27 +01:00
Firehose Bot
bcf9ce07ec make it personal 2026-04-01 23:45:15 +01:00
Willem van den Ende
b6ff541b13 Fix status banner auth check to use current_scope
phx.gen.auth sets current_scope, not current_user. Use !! to
ensure boolean for HEEx template and register_and_log_in_user
in tests for proper auth session.
2026-04-01 22:06:07 +00:00
Willem van den Ende
2591796d82 Format editor dashboard LiveView 2026-04-01 21:44:12 +00:00
Willem van den Ende
f1560ff0e7 Add LiveView editor dashboard with drafts and scheduled tabs 2026-04-01 21:42:45 +00:00
Willem van den Ende
5395b2de80 Show draft/scheduled status banners for authenticated users 2026-04-01 21:40:17 +00:00
Willem van den Ende
86f7ffbe94 Gate registration to ALLOWED_REGISTRATION_EMAIL 2026-04-01 21:39:15 +00:00
Willem van den Ende
a380d0cb69 Add phx.gen.auth authentication scaffolding
- LiveView-based email/password auth via mix phx.gen.auth
- Auth links removed from public navigation (direct URL access only)
- Accounts context with User schema and token management
2026-04-01 20:31:13 +00:00
Firehose Bot
cf7df3111f Linting rule only for dev and test
Production build broke because our custom lint rule was compiled. The
credo linter is not available and not necessary in production.

Solution: create separate directory for dev tools.
2026-03-24 14:41:58 +00:00
Firehose Bot
590dd4a265 Fix trailing newline and format code 2026-03-24 14:21:22 +00:00
Willem van den Ende
505a2d0bd6 Add custom Credo check for conn shadowing in tests
Detects `conn = get(conn, ...)` patterns and directs to
refactor_conn_aliasing.sh for automatic fixing.
2026-03-20 21:37:04 +00:00
Firehose Bot
671add15bb fix blog tag clicks, and new post 2026-03-19 22:14:19 +00:00
3837a72059 update blog post, and run credo with 'pi' 2026-03-18 15:03:24 +00:00
Willem van den Ende
e780d6b6e5 Add Dockerfile-based Dokku deployment for monorepo layout
Uses a multi-stage Docker build that copies both app/ and blogex/,
preserving the path dependency. Includes release scripts, migration
module, and a sample Dokku setup script.
2026-03-18 10:55:44 +00:00
Willem van den Ende
6887ae4087 Security: Validate blog controller inputs (page param, blog ID)
Ran a claude /security-review, fixed two vulnerabilities

  Use a plug to resolve blog_id, returning a clean 404 for unknown blogs
  instead of raising with inspect(). Parse page param with Integer.parse
  so invalid values (non-numeric, negative, zero) fall back to page 1
  instead of crashing. Add 5 tests covering these cases.a
2026-03-17 12:17:29 +00:00
Your Name
c8bc3ea197 Self host fonts
No accidental tracking for readers.
2026-03-17 11:43:32 +00:00
Your Name
bc14696f57 Static blog with front page summary
Goal: have a personal blog, and try out another point in the 'modular
app design with elixir' space.

Designing OTP systems with elixir had some interesting ideas.
2026-03-17 11:17:21 +00:00