-
77c720e2df
Document Stundenplan + Schulkalender end-of-session state
main
Benjamin Admin
2026-05-22 18:41:31 +02:00
-
89011d64f7
gofmt notification files
Benjamin Admin
2026-05-22 18:14:15 +02:00
-
8311b33fb3
Phase 9d: Notification cron + multilingual templates + status badges
Benjamin Admin
2026-05-22 18:12:39 +02:00
-
85957ed5db
gofmt parent backend files
Benjamin Admin
2026-05-22 11:52:51 +02:00
-
d9858084dd
Phase 9c: Parent accounts, magic-link login + parent timetable view
Benjamin Admin
2026-05-22 11:50:35 +02:00
-
33409352ee
Phase 9b: Schul-Events CRUD + Schuljahres-Rollover
Benjamin Admin
2026-05-22 10:32:33 +02:00
-
3b8df0d294
Schulkalender test: use exact text for legend assertions
Benjamin Admin
2026-05-22 09:54:22 +02:00
-
09f6f5a5e1
gofmt calendar files
Benjamin Admin
2026-05-22 09:47:37 +02:00
-
97e37837ee
Phase 9a: Schulkalender — Bundesland-Auswahl + Monatsansicht mit Ferien
Benjamin Admin
2026-05-22 09:46:39 +02:00
-
65e7ed94f6
gofmt middleware.go
Benjamin Admin
2026-05-22 08:58:11 +02:00
-
306886a42b
Phase 8: CSV + ICS export, print view, MkDocs docs, SBOM + dev-mode auth
Benjamin Admin
2026-05-22 08:57:07 +02:00
-
bf5ea860cc
Phase 7: pinning, plan versions, solver budget + UX polish
Benjamin Admin
2026-05-22 08:19:39 +02:00
-
612ecec6d9
Phase 6: Plan-Ansicht — solution list + weekly grid view
Benjamin Admin
2026-05-22 01:03:55 +02:00
-
0744769d88
Split DB-driven constraints into hard + soft variants
Benjamin Admin
2026-05-22 00:40:10 +02:00
-
d3f311a32e
Wrap score-director config in ScoreDirectorFactoryConfig
Benjamin Admin
2026-05-22 00:33:34 +02:00
-
77650e8092
Use 'timefold' (not 'timefold-solver') and revert to ARM platform
Benjamin Admin
2026-05-22 00:28:13 +02:00
-
22f08a232d
Pin solver-service to linux/amd64 (no ARM wheels on PyPI)
Benjamin Admin
2026-05-22 00:22:34 +02:00
-
1f2f304724
Use default-jdk-headless on python:slim instead of temurin:alpine
Benjamin Admin
2026-05-22 00:19:03 +02:00
-
53cfe9238f
Apply gofmt to timetable_solution_migrations.go
Benjamin Admin
2026-05-22 00:18:00 +02:00
-
f042f2896b
Phase 5: Timefold timetable-solver-service + solution persistence
Benjamin Admin
2026-05-22 00:16:52 +02:00
-
082a5bb68c
Strip orphan straight-quote pairings in JSX descriptions
Benjamin Admin
2026-05-21 23:52:09 +02:00
-
a315db0388
Fix JSX attribute syntax in constraint editor descriptions
Benjamin Admin
2026-05-21 23:41:24 +02:00
-
7c96d89927
Stundenplan Phase 3d: all 15 constraint editors via shared shell
Benjamin Admin
2026-05-21 23:27:34 +02:00
-
c2c09e1cd9
Stundenplan Phase 3c: complete Stammdaten + RegelnHub with 4 editors
Benjamin Admin
2026-05-21 23:08:15 +02:00
-
4657589b89
Fix Playwright selector ambiguities in stundenplan.spec.ts
Benjamin Admin
2026-05-21 22:53:10 +02:00
-
73636f76a2
Stundenplan Phase 3b: 3 more Stammdaten managers, first constraint editor, full test coverage
Benjamin Admin
2026-05-21 22:44:39 +02:00
-
f21ecf293b
Add Stundenplan frontend scaffolding in studio-v2
Benjamin Admin
2026-05-21 22:25:18 +02:00
-
64e7176267
Apply gofmt to timetable.go
Benjamin Admin
2026-05-21 22:13:17 +02:00
-
e958f88a2d
Add timetable scheduler Phases 1 + 2 to school-service
Benjamin Admin
2026-05-21 22:12:23 +02:00
-
685899a9bc
chore: bump next to patched versions (CVE-2026-44578)
coolify
Sharang Parnerkar
2026-05-15 18:16:23 +02:00
-
a1488b2fec
Fix: enrich non-EN Kaikki search results with translations from EN hub
Benjamin Admin
2026-04-29 18:40:29 +02:00
-
8d53b1f6b9
Translate Sidebar nav labels into 26 languages
Benjamin Admin
2026-04-29 18:33:11 +02:00
-
399ab88f5f
Translate language dropdown tabs + add info box in 26 languages
Benjamin Admin
2026-04-29 18:23:05 +02:00
-
d52eb43a32
Fix: auto-fill target translation with best match (not only single result)
Benjamin Admin
2026-04-29 18:00:19 +02:00
-
bde0d57b5a
Add Schulsprache (school language) as second language setting
Benjamin Admin
2026-04-29 17:49:58 +02:00
-
fc49d87928
Add exercise translations for all 26 European languages
Benjamin Admin
2026-04-29 17:30:35 +02:00
-
0018076ed5
Unify language system: one setting for all modules
Benjamin Admin
2026-04-29 16:54:27 +02:00
-
a30f10a467
Widen AudioButton lang prop to string for multi-language support
Benjamin Admin
2026-04-29 16:19:45 +02:00
-
a44d360cbc
Fix useRef initial value for React 19 compatibility
Benjamin Admin
2026-04-29 16:04:43 +02:00
-
52a15b24fe
Add custom word entry + language pair support for learning units
Benjamin Admin
2026-04-29 15:24:13 +02:00
-
855cc4caf4
Fix: make 'Alle zur Unit' button visible — full-width layout below word tags
Benjamin Admin
2026-04-29 13:47:28 +02:00
-
c09fc6c7bc
Add 'Alle zur Unit' button + fix topic display
Benjamin Admin
2026-04-29 13:17:38 +02:00
-
387219682d
Fix: Topic word labels translate to selected language
Benjamin Admin
2026-04-29 12:38:35 +02:00
-
6f43224fda
Simplify Sidebar: Remove Woerterbuch, rename to "Lernmodule"
Benjamin Admin
2026-04-29 12:08:13 +02:00
-
9b96998654
Fix: Topic "Alle laden" always searches in EN (topics are English word lists)
Benjamin Admin
2026-04-29 11:57:18 +02:00
-
91e8b92bdc
Add topic suggestions: search "banana" → suggests "Fruit/Obst" topic
Benjamin Admin
2026-04-29 10:56:36 +02:00
-
c2efb9934c
Fix: Vocabulary search sends lang parameter + language dropdown
Benjamin Admin
2026-04-29 09:10:00 +02:00
-
0d2e79da66
Fix: Hardcode Kaikki stats (COUNT on 6M rows took 100s, blocked server)
Benjamin Admin
2026-04-28 22:47:00 +02:00
-
cb4ea8e49a
Connect frontend to Kaikki dictionary (6.27M words, 24 languages)
Benjamin Admin
2026-04-28 17:49:28 +02:00
-
d14826b199
Fix: Build error + explanation above exercise + aligned columns + impressum link
Benjamin Admin
2026-04-28 14:54:12 +02:00
-
693989c1a6
Add exercise explanations in all 26 languages
Benjamin Admin
2026-04-28 14:14:48 +02:00
-
bd24fa6ba6
Fix: Cast entry to avoid TypeScript 'never' inference
Benjamin Admin
2026-04-28 13:58:09 +02:00
-
ef821831a4
Fix: Fallback to English (not German) for unsupported languages
Benjamin Admin
2026-04-28 13:37:19 +02:00
-
93f7ef88e3
Add Impressum with attribution + expand language dropdown to 26 languages
Benjamin Admin
2026-04-28 12:49:03 +02:00
-
6ea20fa1a3
Add persistent volume for ~/Arbeitsblaetter (learning units, QA, audio cache)
Benjamin Admin
2026-04-28 09:11:01 +02:00
-
bf2f7daaeb
Fix: Wrap ternary else-branch in Fragment for SelectedImage
Benjamin Admin
2026-04-28 08:37:57 +02:00
-
fc2fe98bd9
Fix: Extract SelectedImage as component (IIFE breaks JSX parser)
Benjamin Admin
2026-04-28 08:24:19 +02:00
-
1a272371f4
Add image preview under selected word in Match exercise
Benjamin Admin
2026-04-28 07:52:16 +02:00
-
fdde5d43b3
Fix: Wikipedia User-Agent (was 403 Forbidden)
Benjamin Admin
2026-04-27 23:51:46 +02:00
-
f6caa3091f
Add image service: Wikipedia photos + emoji fallback for vocabulary
Benjamin Admin
2026-04-27 23:36:48 +02:00
-
91d6918e2c
Fix: Explanation card visible + visual divider between 2/3 and 1/3
Benjamin Admin
2026-04-27 23:07:57 +02:00
-
82f5b4fbba
Redesign: 2/3 + 1/3 layout for exercises with native helper panel
Benjamin Admin
2026-04-27 22:30:07 +02:00
-
afe7a983d1
Fix Match: Equal card heights + progress bar with count
Benjamin Admin
2026-04-27 19:26:53 +02:00
-
6d54ee8178
Fix Match: Progress bar + counter, audio on EN column too
Benjamin Admin
2026-04-27 18:35:00 +02:00
-
a1664ab12c
Redesign Match exercise: 3 columns, audio, scoring, native language
Benjamin Admin
2026-04-27 18:03:35 +02:00
-
9f21bd070a
Fix: Language switch takes effect immediately (React Context)
Benjamin Admin
2026-04-27 14:45:53 +02:00
-
5012699aaf
Add persistent language switcher across all learn/parent pages
Benjamin Admin
2026-04-27 09:23:01 +02:00
-
d8771bb509
Make /learn the central landing page for parents + students
Benjamin Admin
2026-04-27 08:46:58 +02:00
-
7f8743d1e3
Redesign Parent Quiz: explanation panel + trilingual buttons
Benjamin Admin
2026-04-27 08:16:30 +02:00
-
9de26701dd
Fix: Remove duplicate Sidebar from /learn (layout.tsx provides it)
Benjamin Admin
2026-04-27 07:54:53 +02:00
-
c252556528
Fix: Quiz fallback to QA data when MC not generated
Benjamin Admin
2026-04-27 07:43:16 +02:00
-
68d1679294
Wire all 7 learn pages to central translation system
Benjamin Admin
2026-04-27 00:23:38 +02:00
-
9e63b09cb7
Wire Parent Quiz to central translation system + native language audio
Benjamin Admin
2026-04-27 00:22:39 +02:00
-
bd3ca854ef
Add central exercise translation system (7 languages, 30+ keys)
Benjamin Admin
2026-04-27 00:18:12 +02:00
-
b495e63e6f
Add TTS abbreviation expansion (sth→something, sb→somebody, etc.)
Benjamin Admin
2026-04-27 00:07:46 +02:00
-
198a0b2a0d
Fix: Use /synthesize-direct for correct language selection
Benjamin Admin
2026-04-26 23:46:40 +02:00
-
6b3bff48f0
Fix: Proxy uses arrayBuffer for audio/image responses (not text)
Benjamin Admin
2026-04-26 23:33:57 +02:00
-
0f0bbc3dc0
Switch AudioButton to Piper TTS (Thorsten/Lessac voices)
Benjamin Admin
2026-04-26 23:17:39 +02:00
-
3cdab5a967
Fix: Hide sidebar scrollbar
Benjamin Admin
2026-04-26 22:57:00 +02:00
-
f2300219d7
Fix: Hide scrollbar on content area (scroll still works)
Benjamin Admin
2026-04-26 21:23:14 +02:00
-
aaa52a8901
Fix: Remove LearnLayout from parent/quiz — layout.tsx handles it
Benjamin Admin
2026-04-26 21:08:04 +02:00
-
1fb6702bf4
Fix: Replace extra </div> with </> for fragment closing
Benjamin Admin
2026-04-26 20:58:02 +02:00
-
6210ceb05e
Add central layout.tsx for /learn/* and /parent/* routes
Benjamin Admin
2026-04-26 20:44:40 +02:00
-
3619ddfdad
Fix: destructure setLanguage from useLanguage
Benjamin Admin
2026-04-26 20:15:10 +02:00
-
f2346b88cd
Fix: Parent portal language selector as dropdown instead of onboarding redirect
Benjamin Admin
2026-04-26 20:08:07 +02:00
-
eecb5472dd
Fix: Update all old-style imports inside packages to new paths
Benjamin Admin
2026-04-26 00:19:13 +02:00
-
5f2ed44654
Cleanup: Delete ALL 242 shims, update ALL consumer imports
Benjamin Admin
2026-04-26 00:11:33 +02:00
-
d093a4d388
Restructure: Move final 12 root files into packages (klausur-service)
Benjamin Admin
2026-04-25 23:19:11 +02:00
-
cba877c65a
Restructure: Move final 16 root files into packages (backend-lehrer)
Benjamin Admin
2026-04-25 22:50:37 +02:00
-
6be555fb7c
Add shim cleanup tracker for future import migration
Benjamin Admin
2026-04-25 22:38:13 +02:00
-
dde45b29db
Restructure: Move 43 files into 8 domain packages (backend-lehrer)
Benjamin Admin
2026-04-25 22:32:45 +02:00
-
165c493d1e
Restructure: Move 52 files into 7 domain packages
Benjamin Admin
2026-04-25 22:10:48 +02:00
-
0504d22b8e
Restructure: Move ocr_pipeline + labeling + crop into ocr/ package
Benjamin Admin
2026-04-25 21:51:43 +02:00
-
59c400b9aa
Restructure: Move grid_* + vocab_* into packages (klausur-service)
Benjamin Admin
2026-04-25 21:30:20 +02:00
-
098a2ff092
Fix: Resolve all lint errors from ocr/ restructure
Benjamin Admin
2026-04-25 21:15:53 +02:00
-
cb1be59e46
Restructure: Move 47 cv_* files into ocr/ package
Benjamin Admin
2026-04-25 21:03:54 +02:00
-
45287b3541
Fix: Sidebar scrollable + add Eltern-Portal nav link
Benjamin Admin
2026-04-25 20:49:44 +02:00
-
d87645ffce
Fix: Cast language selection to Language type
Benjamin Admin
2026-04-25 20:30:11 +02:00
-
d4959172a9
Add migration learning platform: Onboarding, Translation, Parent Portal
Benjamin Admin
2026-04-25 20:17:25 +02:00
-
b49ee3467e
Fix: Revert to inline shared types (Turbopack can't resolve path aliases)
Benjamin Admin
2026-04-25 17:13:18 +02:00