This website requires JavaScript.
95adabf435
fix(web): honor X-Forwarded-Proto so event.url.origin is https
main
vikingowl
2026-05-16 04:33:30 +02:00
4458d27372
ci: drop depends_on, raise helm retry to 5×90s
vikingowl
2026-05-16 04:17:33 +02:00
d438d1b3b1
ci(web): provide PUBLIC_API_BASE_URL to sync + serialize after backend
vikingowl
2026-05-16 04:13:23 +02:00
fb92a15785
docs(planning): execution plan replacing implicit phase order
vikingowl
2026-05-16 04:02:46 +02:00
4ea3133df5
feat(web): unified admin nav + landing tiles include all sections
vikingowl
2026-05-16 03:56:01 +02:00
29220f2c3e
feat(web): saisonal admin — Burgund restyle, slot labels, preset dropdown
vikingowl
2026-05-16 03:55:39 +02:00
635034674f
feat(web): homepage season copy uses admin preset with shared resolver
vikingowl
2026-05-16 03:55:13 +02:00
42e0d89ec0
feat(backend): season preset + section copy + count cap
vikingowl
2026-05-16 03:54:58 +02:00
a94a230b3a
fix(backend): GetBySlugs status filter excluded all pinned markets
vikingowl
2026-05-16 03:54:39 +02:00
51b7dc7bd3
feat(web): saisonal admin curator + homepage uses /season/markets
vikingowl
2026-05-16 03:20:08 +02:00
3bb9da759f
feat(backend): saisonal markets — settings + curated endpoint + suggestions
vikingowl
2026-05-16 03:19:52 +02:00
bce69da65c
chore(web): vite watcher uses polling to dodge Deno fs.watch race
vikingowl
2026-05-16 03:00:02 +02:00
aa72689750
fix(web): mobile polish on home stats + listing grid breakpoint
vikingowl
2026-05-16 02:59:43 +02:00
835943813d
fix(web): karte mobile layout + dark-mode popup contrast + header z-index
vikingowl
2026-05-16 02:59:27 +02:00
d91116f3ff
fix(web): DashboardShell logout must POST, not navigate
vikingowl
2026-05-16 02:59:06 +02:00
b296b9b547
fix(auth): use background context for register verify-email goroutine
vikingowl
2026-05-16 02:58:54 +02:00
fe1019ac86
chore(helm): default networkPolicy off — tenant SA lacks RBAC on itsh.dev
vikingowl
2026-05-16 02:08:01 +02:00
79ed5afcdb
chore(web): deno fmt sweep + svelte-check fixes
vikingowl
2026-05-16 02:05:16 +02:00
c53e9f79b7
chore(deno): Justfile + husky pre-commit migration
vikingowl
2026-05-16 02:04:58 +02:00
48995c1c0b
ci(deno): woodpecker uses denoland/deno image for check step
vikingowl
2026-05-16 02:04:47 +02:00
d170a5415a
chore(deno): rewrite Dockerfile for deno runtime
vikingowl
2026-05-16 02:04:26 +02:00
116360f3c7
feat(deno): switch SvelteKit adapter to @deno/svelte-adapter
vikingowl
2026-05-16 02:04:06 +02:00
99932c5a70
chore(deno): swap pnpm + prettier tooling for deno
vikingowl
2026-05-16 02:03:49 +02:00
4bc6240c1c
chore(helm): enable VPA in Initial mode and tune resource requests
vikingowl
2026-05-16 01:44:40 +02:00
284944e582
feat(profile): round avatar
feat/burgund
vikingowl
2026-05-11 17:56:22 +02:00
db3a24a4a6
fix(auth): update avatar_url on existing OAuth account login if currently empty
vikingowl
2026-05-11 17:54:01 +02:00
a473878cb4
feat(profile): replace avatar URL input with image preview
vikingowl
2026-05-11 17:50:43 +02:00
76886fdbf3
docs(datenschutz): reflect actual OAuth provider (Google only) + stored fields
vikingowl
2026-05-11 17:41:39 +02:00
591e3190be
feat(auth): capture Google avatar URL on OAuth signup
vikingowl
2026-05-11 17:39:56 +02:00
d1066fecbc
feat(auth): OAuth exchange-code flow — redirect to frontend via short-lived Valkey code
vikingowl
2026-05-11 17:34:55 +02:00
a2e1bf239e
feat(auth): enable Google OAuth — uncomment routes, add PUBLIC_OAUTH_GOOGLE to web config
vikingowl
2026-05-11 17:15:59 +02:00
3b940d4e30
feat: launch-phase readiness — favorites embed, heart button, post-login redirect, error pages, UserMenu
vikingowl
2026-05-11 16:34:38 +02:00
f81dba7132
feat: GET /me/stats endpoint + wire Veranstalter Übersicht stats
vikingowl
2026-05-11 15:24:50 +02:00
47d7173edc
feat(web): Phase 4b — Lager, Händler, Admin dashboard skeletons + auth route cleanup
vikingowl
2026-05-11 15:08:28 +02:00
e6b70279b1
feat(web): Phase 4b — dashboard shell + Veranstalter skeleton
vikingowl
2026-05-11 14:38:19 +02:00
79dd71ff73
fix(backend): program routes — use /series/:seriesId prefix to avoid gin wildcard conflict with /markets/:slug
vikingowl
2026-05-11 14:08:21 +02:00
5bbb9814a4
feat(backend): Phase 4a-bis — favorites, messages, market_programs domains + migrations 40-42
vikingowl
2026-05-11 14:04:46 +02:00
c9c210111b
feat(web): disable non-Besucher role chips in register form
vikingowl
2026-05-11 13:41:26 +02:00
874e1798b8
fix(web): einreichen — restore type=date picker; drop unnecessary toISO conversion
vikingowl
2026-05-11 13:31:12 +02:00
0fd097fa73
fix(web): submit form — Input $bindable fixes button; date inputs use German TT.MM.JJJJ format with ISO conversion for backend
vikingowl
2026-05-11 13:28:27 +02:00
2624d1ed90
fix(web): email-bestaetigen — remove duplicate Zur Startseite link on success state
vikingowl
2026-05-11 13:15:21 +02:00
bc0e9a49ee
fix(web): email verify resend — proxy through SvelteKit server to forward httpOnly cookie as Bearer token
vikingowl
2026-05-11 13:12:27 +02:00
6588814321
feat(web): email verification — banner + /auth/email-bestaetigen/[token] page
vikingowl
2026-05-11 13:05:39 +02:00
4f0669cca0
feat(auth): email verification flow — migration, domain, middleware, email template
vikingowl
2026-05-11 13:05:28 +02:00
70cef9e179
chore(planning): newsletter feature spec — deferred until core rework is live
vikingowl
2026-05-11 12:35:19 +02:00
c7d290773c
feat(email): restyle all templates to Burgund design system
vikingowl
2026-05-11 12:34:15 +02:00
85bf7355be
fix(web): impressum + datenschutz — add Stand: Mai 2026 below title
vikingowl
2026-05-11 12:16:54 +02:00
c7521687dd
fix(web): footer copyright — DACH-Raum und Europa
vikingowl
2026-05-11 12:15:58 +02:00
fa988b3a5b
feat(web): Turnstile — interaction-only appearance, compact size
vikingowl
2026-05-11 12:14:20 +02:00
e044a85007
feat(web): Turnstile — follow app theme, center widget
vikingowl
2026-05-11 12:13:05 +02:00
70983b19d6
feat(web): Turnstile on auth pages; header DACH-Raum; AGB in footer
vikingowl
2026-05-11 12:11:04 +02:00
c6b2ca2717
feat(web): add /agb page; fix Turnstile explicit render in multi-step form
vikingowl
2026-05-11 12:00:19 +02:00
9ecdb2359f
feat(web): auth — disable submit buttons until form valid; add Turnstile/OAuth test keys to env examples
vikingowl
2026-05-11 11:46:34 +02:00
b08acfb5b3
feat(web): auth — fix role chip heights, add Facebook OAuth, disable unconfigured providers
vikingowl
2026-05-11 11:38:58 +02:00
42f6e1706a
feat(web): Phase 3 — submit-flow Burgund wizard rewrite
vikingowl
2026-05-11 11:30:51 +02:00
6cf560ec43
feat(web): Phase 3 — auth shell polish, role chips, password reset flow
vikingowl
2026-05-11 11:23:18 +02:00
d815d47242
feat(backend): Phase 3 — role-based registration + password reset flow
vikingowl
2026-05-11 11:23:04 +02:00
034453fd05
feat(web): home — weekend filter CTAs, dynamic season copy, open submit CTA
vikingowl
2026-05-11 10:17:20 +02:00
97532b85bc
feat(web): Phase 2 — detail page breadcrumb 3-tier URLs + ornament break
vikingowl
2026-05-10 19:36:10 +02:00
eb8c395b16
feat(web): Phase 2 — MarketCard layout pass + MarketMap Burgund popup styling
vikingowl
2026-05-10 19:28:00 +02:00
4b191a3cfd
feat(web): remove legacy [state] routes — redirect now in hooks.server.ts
vikingowl
2026-05-10 19:27:27 +02:00
6a8fc07a3d
feat(web): Phase 2 — 3-tier /maerkte/[country]/[state]/[city] URL structure
vikingowl
2026-05-10 19:18:39 +02:00
740bad2176
merge(branch): bring in Phase 4a backend (user status/roles, groups, applications, lagerleben)
vikingowl
2026-05-10 19:08:36 +02:00
4be9e9bce1
fix(web): suppress DEP0205 + update tailwindcss 4.2.2 → 4.3.0
vikingowl
2026-05-10 18:41:39 +02:00
6b09d0c84e
fix(backend): wrap /markets/stats in API data envelope
vikingowl
2026-05-10 18:36:20 +02:00
a87c7026fe
fix(backend): resolve Gin route conflict — /groups/:groupId → /groups/:id
vikingowl
2026-05-10 18:35:10 +02:00
5422217a74
fix(web): PR1-PR4 cleanup — origin env, stats, anno, Europa, sitemap pagination, del mock
vikingowl
2026-05-10 18:34:04 +02:00
8253093a16
fix(backend): PR1-PR4 cleanup — pgerr, body, CountAdmins, pending gate, stats
vikingowl
2026-05-10 18:33:43 +02:00
808f07800e
feat(backend): Phase 4a PR4 — lagerleben articles + camps API; wire frontend loaders
feat/burgund-backend
vikingowl
2026-05-10 17:54:19 +02:00
b62271eeb6
feat(backend): Phase 4a PR3 — applications + application_status_log
vikingowl
2026-05-10 17:42:26 +02:00
a37e79ec16
feat(backend): Phase 4a PR2 — groups, group_members, group_profiles
vikingowl
2026-05-10 17:32:15 +02:00
b5748121dd
feat(backend): Phase 4a PR1 — user status/roles + admin approval queue
vikingowl
2026-05-10 17:24:03 +02:00
911439ebd8
feat(web): implement Burgund Phase 3 — profile, security, auth component cleanup
feat/burgund-flows
vikingowl
2026-05-10 16:23:17 +02:00
5e24be03af
feat(web): implement Burgund Phase 2 — public surfaces
feat/burgund-public
vikingowl
2026-05-10 14:54:27 +02:00
00d43675ff
fix(web): replace old signet with Burgund shield-M favicon across all sizes
vikingowl
2026-05-10 13:14:46 +02:00
418a4411f3
feat(web): implement Burgund design system foundation (Phase 1)
vikingowl
2026-05-10 12:56:51 +02:00
c3bd1c33e3
Merge pull request 'feat(security): close audit waves 1-4 (C1-C6, H1, H2, H4, H11, H13, H14, H16)' (#1 ) from feat/security-audit-waves-1-4-remediation into main
vikingowl
2026-05-01 00:02:09 +02:00
0d5788c951
docs(security): record waves 1-4 remediation status in audit report
vikingowl
2026-04-30 23:41:56 +02:00
5821547a73
feat(security): close audit waves 1-4 (C1-C6, H1, H2, H4, H11, H13, H14, H16)
vikingowl
2026-04-30 23:41:48 +02:00
bef8657d81
chore(tooling): migrate pre-commit framework to husky
vikingowl
2026-04-30 22:15:51 +02:00
dee4cee23c
fix(auth): invalidate valkey cache on session revoke
vikingowl
2026-04-30 22:12:09 +02:00
b7c88dd86a
docs(planning): add security threat model and abuse-case audit
vikingowl
2026-04-30 22:11:54 +02:00
6181adbba4
feat(helm): port VerticalPodAutoscaler resources into monolithic chart
vikingowl
2026-04-30 22:11:43 +02:00
c2bcdf0881
feat(promptguard): redact prompt-injection patterns in LLM input
vikingowl
2026-04-30 22:11:20 +02:00
c1430e66b0
fix(auth): use structured logger for valkey-cache failure
vikingowl
2026-04-30 22:11:02 +02:00
af7b6232e0
docs(readme): correct cache backend naming and bump status date
vikingowl
2026-04-29 00:44:53 +02:00
5ad8126b81
fix(web): use proper umlauts in remaining server-side error messages
vikingowl
2026-04-28 23:07:15 +02:00
8d8d96c231
fix(web): use proper umlauts in feedback dialog text
vikingowl
2026-04-28 22:43:10 +02:00
709fb6663a
fix(web): center feedback dialog (Tailwind 4 preflight resets dialog margin)
vikingowl
2026-04-28 22:35:44 +02:00
a89bed4a3e
fix(research): expand multi-day opening hours; reject aggregator websites
vikingowl
2026-04-28 21:22:43 +02:00
e50b1526f0
fix(research): restore LLM->form shape conversion in server-side apply
vikingowl
2026-04-28 20:59:35 +02:00
6a145088bd
docs: add top-level README
vikingowl
2026-04-28 17:40:01 +02:00
bafe0c3680
chore(helm): pin values.yaml image tags to currently-deployed SHAs
vikingowl
2026-04-28 17:17:00 +02:00
208f76f9cc
docs(claude): refresh post-migration — somegit, Woodpecker, helm/marktvogt, Bun
vikingowl
2026-04-28 17:11:35 +02:00
d293dd9182
fix(ci): use --set-string for image tags (avoids float coercion of all-digit SHAs)
vikingowl
2026-04-28 17:04:54 +02:00
1539879098
fix(ci): retry helm upgrade on race + revert workflow depends_on
vikingowl
2026-04-28 17:01:40 +02:00
99a0d13ab9
chore(ci): web workflow depends_on backend to serialize helm upgrades
vikingowl
2026-04-28 16:58:36 +02:00
f2973dc905
fix(ci): drop --install flag (release exists; helm 4.1 errors on it)
vikingowl
2026-04-28 16:40:52 +02:00
36db6f08ed
fix(ci): use --reuse-values instead of --reset-then-reuse-values
vikingowl
2026-04-28 16:39:16 +02:00
75a626b127
chore: switch CI to monolithic chart, delete old per-service charts
vikingowl
2026-04-28 16:33:53 +02:00