Commit graph

  • e4accb614b chore(roadmap): add idempotent prod roadmap sync script master Arlind 2026-06-18 16:29:14 +02:00
  • ec24694a6d style(dispatches): rename to "Dispatch", tonal rows, back-to-Pulse link Arlind 2026-06-18 16:05:09 +02:00
  • 436e19170e style(pulse): previous/upcoming gatherings strip below the hero card Arlind 2026-06-18 16:05:09 +02:00
  • c0d4a6fdff feat(nav): account dropdown + resized logo lockup Arlind 2026-06-18 16:05:02 +02:00
  • a9e8a57642 feat(roadmap): feature bullets, live items, larger scroll-locked route Arlind 2026-06-18 16:04:56 +02:00
  • 29b30b27e6 fix(auth): strengthen admin temp-password entropy to 128 bits Arlind 2026-06-17 15:57:14 +02:00
  • 505484124d fix(deploy): non-interactive restart in deploy.sh; restart-only sudoers rule Arlind 2026-06-17 15:55:38 +02:00
  • 0a62984e91 merge(rework): self-service + admin password reset into deploy master rework Jonathan Hvid 2026-06-17 15:45:39 +02:00
  • 096c9bc297 feat(auth): self-service password change + admin password reset Jonathan Hvid 2026-06-17 15:42:45 +02:00
  • 9d0326e3ea fix(deploy): use pnpm 11 allowBuilds key; drop dead package.json pnpm field Arlind 2026-06-17 15:07:39 +02:00
  • cf534777af fix(deploy): move onlyBuiltDependencies to pnpm-workspace.yaml Arlind 2026-06-17 14:40:29 +02:00
  • d27ab4c98b docs(deploy): document the repo-scoped deploy key + SSH alias flow Arlind 2026-06-17 14:02:18 +02:00
  • 01b7106a22 docs(deploy): note the portal is an independent git checkout chore/deploy-nginx Arlind 2026-06-17 13:54:01 +02:00
  • 6f656b7121 chore(deploy): align deploy artifacts to the target server's conventions Arlind 2026-06-17 13:16:57 +02:00
  • 819f8fa91c feat(deploy): nginx reverse-proxy deploy setup for bifrost-portal.fenja.ai Arlind 2026-06-17 12:54:35 +02:00
  • fab927884c fix(db): migrate.js honors BIFROST_DB_PATH Arlind 2026-06-17 12:54:22 +02:00
  • 378ee989bb feat(db): production seed script with the real pilot data Jonathan Hvid 2026-06-17 11:16:40 +02:00
  • 5702859e37 chore: update local Claude Code permission allowlist Jonathan Hvid 2026-06-10 17:19:23 +02:00
  • 50d5922dcd feat(ui): mobile responsive pass, larger type, pulse vote background, header Jonathan Hvid 2026-06-10 17:18:48 +02:00
  • c509dc66ed feat(events): event photo upload + photo-as-background hero card Jonathan Hvid 2026-06-10 17:18:23 +02:00
  • c9efe869ea feat(roadmap): animate the route with scroll-linked motion Jonathan Hvid 2026-06-10 17:18:13 +02:00
  • 3cf7171eb2 chore: update local Claude Code permission allowlist Jonathan Hvid 2026-06-10 13:10:39 +02:00
  • b156f5b02b fix(pulse): show pulse close date instead of weekday Jonathan Hvid 2026-06-10 12:40:55 +02:00
  • 4c4df45f0c feat(admin): editable member email + Danish slug folding Jonathan Hvid 2026-06-10 11:44:28 +02:00
  • 59842432bd feat(roadmap): add planned status Jonathan Hvid 2026-06-10 11:30:06 +02:00
  • a520e8534e fix(admin): invite magic link is absolute, not relative Jonathan Hvid 2026-05-13 10:29:58 +02:00
  • 4aaf0957dd fix: nine test-note follow-ups Jonathan Hvid 2026-05-12 17:46:06 +02:00
  • 220f8e0290 style(roadmap): align first milestone with content column left edge Jonathan Hvid 2026-05-12 17:06:30 +02:00
  • 8bbf8568f4 feat(admin): retire old admin, add resource verifier, redirect /admin Jonathan Hvid 2026-05-12 16:52:48 +02:00
  • 18d371b368 feat(admin): activity resource (read-only debug feed) Jonathan Hvid 2026-05-12 16:38:11 +02:00
  • e9a986d484 feat(admin): council-group resources (users, invitations, join requests) Jonathan Hvid 2026-05-12 16:32:26 +02:00
  • dd9ea68fab feat(admin): publishing-group resources (dispatches, roadmap, events) Jonathan Hvid 2026-05-12 16:24:13 +02:00
  • 3aaa21e6af feat(admin): /admin/[resource] dynamic route + POST dispatch Jonathan Hvid 2026-05-12 16:15:17 +02:00
  • 09a10061b2 feat(admin): ResourceEditPanel + field renderers (no autosave) Jonathan Hvid 2026-05-12 16:10:39 +02:00
  • cc9332e6e2 feat(admin): ResourceListView + ListCell with filter-conditional columns Jonathan Hvid 2026-05-12 16:05:15 +02:00
  • dd7215d828 feat(admin): AdminLayout shell + empty resource registry Jonathan Hvid 2026-05-12 16:00:57 +02:00
  • ea056fff7b feat(admin): add Resource type definitions + form validator Jonathan Hvid 2026-05-12 15:56:42 +02:00
  • 103bfa2f0c refactor(admin): extract inline styles to src/admin/admin.css Jonathan Hvid 2026-05-12 15:53:10 +02:00
  • 65191256ec style(roadmap): more air between nav and title Jonathan Hvid 2026-05-12 15:32:02 +02:00
  • 0ea7e3fd96 style(roadmap): more air title→legend, tighter legend→route Jonathan Hvid 2026-05-12 15:31:41 +02:00
  • 407e7bc378 refactor(roadmap): move legend above the route + breathe room before banner Jonathan Hvid 2026-05-12 15:29:13 +02:00
  • 4009d5b711 refactor(roadmap): single centred header + dispatch banner below the route Jonathan Hvid 2026-05-12 15:27:29 +02:00
  • b2e0e8f518 fix(roadmap): restore original top header + add centred route-intro below banner Jonathan Hvid 2026-05-12 15:23:48 +02:00
  • f90480bc8b feat(route): unified scroll — drag with momentum + wheel + animated glide Jonathan Hvid 2026-05-12 15:19:13 +02:00
  • acbb722a0a feat(route): single right-edge advance arrow — forward-only affordance Jonathan Hvid 2026-05-12 15:17:26 +02:00
  • 22a55aa073 feat(roadmap): centred 'Roadmap' page header + legend escapes route component Jonathan Hvid 2026-05-12 15:15:47 +02:00
  • 1c020f191c docs: Phase 0.5 audit — /roadmap final layout pass preflight Jonathan Hvid 2026-05-12 15:12:59 +02:00
  • 941d2a1557 fix(nav): scale italic Bifrost down to optically match regular Project Jonathan Hvid 2026-05-12 15:10:55 +02:00
  • 1f95a6579d style: equalise wordmark heights, drop event 'closes' line, rename pulse eyebrow Jonathan Hvid 2026-05-12 14:59:30 +02:00
  • d7c13d3c99 feat(route): full-bleed escape + client recompute on real viewport width Jonathan Hvid 2026-05-12 14:56:41 +02:00
  • 73dc656257 style(nav): active link is colour + weight only — drop bullet, italic, case swap Jonathan Hvid 2026-05-12 14:53:11 +02:00
  • 3917070dab docs: Phase 0.5 audit — active nav option 4 + route full-bleed preflight Jonathan Hvid 2026-05-12 14:49:29 +02:00
  • c0592f7ca5 fix(route): cards grow toward centreline — fixes top/bottom clipping at the source Jonathan Hvid 2026-05-12 14:43:41 +02:00
  • 8ca5e88618 feat(banner): editorial dispatch banner — title + 2-paragraph excerpt + author block Jonathan Hvid 2026-05-12 14:38:51 +02:00
  • d85583b4a3 chore: remove 'In motion right now' strip — one signal, one place Jonathan Hvid 2026-05-12 14:36:33 +02:00
  • 83503fe7a3 fix(route): overflow-y: visible — hover cards never clip vertically again Jonathan Hvid 2026-05-12 14:35:02 +02:00
  • b4df8e10f1 fix(route): span ~80% of viewport + scroll padding back to 60 + track 420 Jonathan Hvid 2026-05-12 14:32:29 +02:00
  • b76e1fc5c4 docs: Phase 0.5 audit — /roadmap polish pass v6 preflight Jonathan Hvid 2026-05-12 14:31:04 +02:00
  • 788989fe35 chore(seed): roadmap copy refresh — status reflects 'currently live', not 'shipping date' Jonathan Hvid 2026-05-12 12:01:31 +02:00
  • 1ec01a2257 feat(roadmap): 'In motion right now' strip + subtitle copy + admin helper Jonathan Hvid 2026-05-12 12:00:14 +02:00
  • ac52e97c28 feat(route): drop progress dots, move legend below, vary path amplitude Jonathan Hvid 2026-05-12 11:58:59 +02:00
  • f8d88ed760 fix(route): 'you are here' marker is unmistakable + dot animates with hover Jonathan Hvid 2026-05-12 11:56:49 +02:00
  • fde07b1f11 fix(route): track 580 + 140px scroll-container padding — no more clipping Jonathan Hvid 2026-05-12 11:56:01 +02:00
  • 33a21735e6 style(banner): give the dispatch banner room to read as an invitation Jonathan Hvid 2026-05-12 11:54:59 +02:00
  • 1a169f3ac6 docs: Phase 0.5 audit — /roadmap polish pass preflight Jonathan Hvid 2026-05-12 11:54:05 +02:00
  • 0fde7e493b chore(seed): /roadmap demo — 9 items spanning shipping → considering Jonathan Hvid 2026-05-12 11:45:27 +02:00
  • 16938026bc feat(page): /roadmap rebuild — header + dispatch banner + route Jonathan Hvid 2026-05-12 11:44:08 +02:00
  • 1325422056 feat(route): mobile vertical timeline at <768px Jonathan Hvid 2026-05-12 11:43:35 +02:00
  • d49882b3f9 feat(route): nav script — arrows, fades, progress dots, initial scroll Jonathan Hvid 2026-05-12 11:43:07 +02:00
  • 7bd4902b9d feat(component): RoadmapRoute — SVG path + milestones + hover-reveal cards (static) Jonathan Hvid 2026-05-12 11:42:32 +02:00
  • 884cca85f1 feat(component): LatestDispatchBanner — slim single-row card Jonathan Hvid 2026-05-12 11:41:00 +02:00
  • 66b460c35f feat(lib): roadmap-layout — coordinate generation for the route component Jonathan Hvid 2026-05-12 11:40:26 +02:00
  • d17d9b93a7 feat(db): roadmap_items.metadata_text + admin field Jonathan Hvid 2026-05-12 11:39:18 +02:00
  • f659b70814 docs: Phase 0.5 audit — /roadmap redesign preflight Jonathan Hvid 2026-05-12 11:36:58 +02:00
  • 9c00087c50 fix(nav): widen 'Bifrost' gradient-clip box so the italic cap renders fully Jonathan Hvid 2026-05-12 11:35:19 +02:00
  • f8ecad4433 style(nav): wordmark — give italic ascenders room, share visual midline Jonathan Hvid 2026-05-12 11:33:36 +02:00
  • 255ed76bbd style(nav): align Fenja logo + 'Project Bifrost' on a shared baseline Jonathan Hvid 2026-05-12 11:31:56 +02:00
  • 7403d805cd style(nav): wordmark 'Project' in Newsreader to match 'Bifrost' Jonathan Hvid 2026-05-12 11:30:10 +02:00
  • 39996ab93e feat(pulse): council marquee auto-scrolls all 7 members across the page Jonathan Hvid 2026-05-12 11:21:53 +02:00
  • 5ddaad3da3 feat(vote): show percentages after voting + allow change-of-mind Jonathan Hvid 2026-05-12 11:20:16 +02:00
  • 89688d605d style(pulse): drop date + tenure line, italic-noun section titles, more air, new active nav cue Jonathan Hvid 2026-05-12 11:16:11 +02:00
  • cde98f9454 feat(pulse): spacing pass + council section header + 7-item roadmap seed Jonathan Hvid 2026-05-12 10:58:34 +02:00
  • 7bd3997564 feat(component): RoadmapCarousel — snap-scrolling horizontal strip Jonathan Hvid 2026-05-12 10:55:44 +02:00
  • 4219cda7b6 feat(pulse): 'also coming up' strip + editorial row (dispatch + pulse) Jonathan Hvid 2026-05-12 10:53:39 +02:00
  • 29fe1b7c92 feat(component): EventHeroCard — the indigo card that carries /pulse Jonathan Hvid 2026-05-12 10:50:43 +02:00
  • 096cdb00b6 feat(pulse): two-column greeting + tenure-milestone copy Jonathan Hvid 2026-05-12 10:48:50 +02:00
  • a4df2b4982 style(nav): active-link dot + 0.5px vertical divider before user name Jonathan Hvid 2026-05-12 10:47:10 +02:00
  • 9ae8422527 feat(db): roadmap_items gains 'considering' + 'in_beta' rename, --on-ink tokens Jonathan Hvid 2026-05-12 10:46:39 +02:00
  • cb2efa70f3 docs: Phase 0.5 audit — /pulse visual refinement preflight Jonathan Hvid 2026-05-12 10:43:26 +02:00
  • 9800d0a448 feat(pulse): two-box Fenja+poll, prominent hero, single-bg council, more air Jonathan Hvid 2026-05-12 10:19:00 +02:00
  • 867661ee3d feat(polls): polls attach to dispatches — standalone Pulses entity retired Jonathan Hvid 2026-05-12 10:14:50 +02:00
  • cafbcf8b74 style: site back to 72rem + section-link is black/underlined/larger Jonathan Hvid 2026-05-12 10:12:01 +02:00
  • 66c3f6492f style: drop eyebrows + body italics across editorial pages Jonathan Hvid 2026-05-12 09:52:29 +02:00
  • 637055a73e feat(pulse): events box lighter + bundled coming-up, unboxed Fenja, horizontal roadmap, bigger council cards Jonathan Hvid 2026-05-12 09:47:44 +02:00
  • ca3686de29 feat(layout): wider canvas + 'Project Bifrost' wordmark + section-link utility Jonathan Hvid 2026-05-12 09:44:59 +02:00
  • 6b30593abb chore(seed): fake email domains + extend wipe chain Jonathan Hvid 2026-05-11 17:12:47 +02:00
  • 3240e0f052 feat(pulse): simplify home — events on top, merged roadmap+fenja, members strip Jonathan Hvid 2026-05-11 17:12:38 +02:00
  • 1518bfa3d3 docs: capture deferred home-page features in todo.md Jonathan Hvid 2026-05-11 17:04:40 +02:00
  • ed2c272d3a chore: Studio hours rename + Phase 2 demo seed Jonathan Hvid 2026-05-11 16:16:24 +02:00
  • fd3f433933 feat(admin): Dispatches tab + user-edit form + extended event form Jonathan Hvid 2026-05-11 16:10:20 +02:00