Commit Graph

  • a3bb3f2396 test(08-03): add failing tests for FavoritesWidget CRUD + view toggle + letter fallback (RED) schalli 2026-07-01 10:21:49 +02:00
  • 4645a5f43f docs(phase-08): update tracking after wave 2 schalli 2026-07-01 10:12:34 +02:00
  • 262ce19646 merge(08-02): Stopwatch widget with config persistence schalli 2026-07-01 10:12:15 +02:00
  • 93e2b94c47 docs(08-02): complete Stopwatch widget plan summary schalli 2026-07-01 10:11:46 +02:00
  • c1c7bff929 feat(08-02): StopwatchWidget with config persistence + reload reconstruction (GREEN) schalli 2026-07-01 10:10:03 +02:00
  • d8d008b2c4 test(08-02): add failing tests for Stopwatch behavior and reload reconstruction (RED) schalli 2026-07-01 10:08:44 +02:00
  • 2fa5193fd0 docs(phase-08): update tracking after wave 1 schalli 2026-07-01 10:03:21 +02:00
  • 8574218ae6 merge(08-01): widget registry foundation + Calculator widget schalli 2026-07-01 10:02:43 +02:00
  • 5e8b2c2c39 docs(08-01): complete widget registry foundation + Calculator plan summary schalli 2026-07-01 10:01:15 +02:00
  • 63ec93bd35 feat(08-01): registry foundation for 4 new widget types + Calculator widget (GREEN) schalli 2026-07-01 09:57:44 +02:00
  • b751ae7453 test(08-01): add failing tests for Calculator widget and registry constraints (RED) schalli 2026-07-01 09:54:22 +02:00
  • b885c767fb docs(08): create phase 8 plan — 4 widget slices (Calculator, Stoppuhr, Favorites, Link) schalli 2026-07-01 09:10:19 +02:00
  • 29636bd2b1 docs(08): create phase plan (4 widget vertical slices) schalli 2026-07-01 09:03:54 +02:00
  • dc7b291d28 docs(08): research phase dashboard-widgets-vollimplementierung schalli 2026-07-01 08:53:53 +02:00
  • 3b0ac41f59 docs(state): record phase 8 context session schalli 2026-07-01 08:33:00 +02:00
  • 53fb106e39 docs(08): capture phase context schalli 2026-07-01 08:32:54 +02:00
  • 88db54fa7d fix(account-settings): clear stale pw error on input + live header avatar update schalli 2026-06-30 15:29:21 +02:00
  • 85cd17452c refactor(admin): move SMTP settings from user settings to admin area schalli 2026-06-30 14:47:44 +02:00
  • fe4e64a0ad docs(quick-260630-gbh): User Settings: Passwort ändern (nur non-LDAP) + Profilbild setzen schalli 2026-06-30 12:04:20 +02:00
  • 86654a466b merge(quick-260630-gbh): User Settings — Passwort ändern (non-LDAP) + Profilbild schalli 2026-06-30 12:03:37 +02:00
  • 5ae498fd88 feat(quick-260630-gbh-01): header avatar display with initial fallback schalli 2026-06-30 12:02:02 +02:00
  • 4482a8ce78 feat(quick-260630-gbh-01): account settings page — avatar upload + conditional password form schalli 2026-06-30 12:00:40 +02:00
  • 0fba45d2c2 feat(quick-260630-gbh-01): avatar storage endpoints + enriched /auth/me schalli 2026-06-30 11:57:33 +02:00
  • 04b37f54f6 docs(260630-gbh): pre-dispatch plan for User Settings: Passwort ändern (nur non-LDAP) + Profilbild setzen schalli 2026-06-30 11:49:12 +02:00
  • dcba4b9977 fix(dkv): search msgfolderroot for EWS subfolder resolution schalli 2026-06-30 10:23:30 +02:00
  • 30eb40c184 feat(dkv): Exchange subfolder support via EWS FindFolder schalli 2026-06-30 10:04:24 +02:00
  • b5bf3ed8c0 fix(dkv): return username in GET /dkv/config response schalli 2026-06-30 09:58:59 +02:00
  • a44e40f101 fix(dkv): correct invoice date extraction; add Exchange IsRead filter + mark-as-read schalli 2026-06-30 09:47:17 +02:00
  • 66ffad149e fix(dkv): extract invoice number/date from PDF, rename export files to RG-DKV format schalli 2026-06-30 09:39:51 +02:00
  • 5c1aa03270 fix(dkv): handle EV charging rows and service rows in single-tx tab parser schalli 2026-06-30 09:20:12 +02:00
  • a759e816a0 fix(dkv): fix Kennzeichen matching and NaN/invalid km values in Excel export schalli 2026-06-30 09:12:13 +02:00
  • c9328f60b7 fix(api): create /app/user-files with nestjs ownership in Dockerfile schalli 2026-06-30 08:44:21 +02:00
  • ccfd3f21cf fix(dkv): fix EWS attachment ID extraction — FileAttachment has no Id attribute schalli 2026-06-30 08:41:17 +02:00
  • 9efa3bab1d fix(dkv): fix inbox processing pipeline — orphan tenant, MIME detection, UNSEEN filter schalli 2026-06-30 08:31:36 +02:00
  • 9a652ea440 chore(web): remove debug logging from changePasswordAction schalli 2026-06-30 07:30:39 +02:00
  • 40c4876a19 fix(web): move redirect() outside try/catch in changePasswordAction schalli 2026-06-30 07:25:57 +02:00
  • f4ece4890d fix(web): redirect from server action after password change schalli 2026-06-30 07:20:14 +02:00
  • 195354cd7a debug(web): log set-cookie header value from API change-password response schalli 2026-06-30 07:12:45 +02:00
  • f96a0db769 fix(web): forward new session cookie after password change schalli 2026-06-29 16:47:55 +02:00
  • c8210a2abc debug(web): add logging to changePasswordAction to diagnose Verbindungsfehler schalli 2026-06-29 16:38:48 +02:00
  • a8cd528f5a fix(prod): default TESSERA_FORCE_CHANGE to false schalli 2026-06-29 16:34:10 +02:00
  • 5779f0f6c9 fix(api): reissue JWT with mustChangePassword=false after password change schalli 2026-06-29 16:09:36 +02:00
  • b28ee472c5 fix(api): use user.id instead of user.sub in changePassword controller schalli 2026-06-29 16:02:38 +02:00
  • 46ba8868c7 fix(web): change password via server action instead of client-side fetch schalli 2026-06-29 15:54:29 +02:00
  • 6020021370 fix(web): use http://api:3001 as default rewrite destination schalli 2026-06-29 15:42:44 +02:00
  • c42ab5dc6f fix(web): proxy client API calls through Next.js to fix production connectivity schalli 2026-06-29 15:36:06 +02:00
  • 24868ec1b8 chore(db): add migration for all tables missing from history schalli 2026-06-29 15:17:27 +02:00
  • 27c3abf3df fix(deploy): correct prisma binary path in API startup schalli 2026-06-29 15:08:07 +02:00
  • e26fbd720e fix(deploy): embed prisma migrate deploy in API startup schalli 2026-06-29 14:50:42 +02:00
  • 14e6e8401f chore: clarify SMTP env vars as optional bootstrap fallback schalli 2026-06-29 14:42:33 +02:00
  • aefd79ad75 chore: add prod deploy files — migration service + env example schalli 2026-06-29 14:38:18 +02:00
  • 7a9e620db7 ci: push images via localhost:3002 to bypass NPM proxy schalli 2026-06-29 14:27:42 +02:00
  • 8a02203efc ci: trigger publish after proxy_request_buffering fix schalli 2026-06-29 12:53:09 +02:00
  • 35c81c4439 chore: replace Traefik with Nginx Proxy Manager in stack docs schalli 2026-06-29 11:54:12 +02:00
  • 78a1f9bf49 ci: trigger publish after Gitea blob-upload timeout fix schalli 2026-06-29 11:42:34 +02:00
  • c6a6b3a4bc chore: update session state and resume note schalli 2026-06-29 11:15:21 +02:00
  • 28d4fa5c82 fix(ci): fix sidebar tests + add registry publish + prod compose schalli 2026-06-29 11:14:34 +02:00
  • fc4c006f30 chore(07): UAT Test 7 pass — Exchange NTLM connection verified schalli 2026-06-29 10:16:21 +02:00
  • a4e03830c1 fix(07): NTLM support for Exchange EWS + crypto key init timing fix schalli 2026-06-29 10:02:48 +02:00
  • 3b2a36cd61 feat(07): add CSV format help text and Exchange 401 diagnostic hints schalli 2026-06-29 09:42:08 +02:00
  • 9b453e3ed3 fix(07): propagate Exchange connection error, add folder selection for Exchange schalli 2026-06-29 09:33:13 +02:00
  • 01ff137f43 fix(07): UAT fixes — SMTP test email, DKV routing, Exchange domain field schalli 2026-06-28 21:58:26 +02:00
  • 4de87a8ea2 fix(07): SMTP test warns when connection passes but no auth configured schalli 2026-06-28 01:29:53 +02:00
  • 853095faef fix(07): SMTP test falls back to stored username and adds 10s timeouts schalli 2026-06-27 21:04:58 +02:00
  • 8320a34035 fix(07): replace TenantMiddleware with TenantGuard to fix tenant context schalli 2026-06-27 20:57:03 +02:00
  • dd5bc90395 fix(07): DKV/Settings module wiring and missing cron dep schalli 2026-06-27 20:28:06 +02:00
  • 5d6024569a test(07): begin UAT — 1 issue (cold start DB P1001), 8 tests pending schalli 2026-06-27 18:02:15 +02:00
  • 071531f880 docs(07): add code review fix report schalli 2026-06-27 17:23:37 +02:00
  • d2d224cdd5 fix(07): WR-05 add 5 MB file size limit to CSV vehicle import endpoint schalli 2026-06-27 17:22:27 +02:00
  • 9de16babe4 fix(07): WR-04 sanitise Exchange UniqueId in invoice number fallback schalli 2026-06-27 17:22:09 +02:00
  • 338655c57b fix(07): WR-03 replace dead try/catch in formatDateTime with isNaN guard schalli 2026-06-27 17:21:51 +02:00
  • 49eab55abe fix(07): WR-02 add @Type(Number) coercion to pagination DTO fields schalli 2026-06-27 17:21:28 +02:00
  • ded652382d fix(07): WR-01 close nodemailer transport in finally to prevent pool leak schalli 2026-06-27 17:21:01 +02:00
  • cb0d378ded fix(07): CR-03 close IMAP connection when getMailboxLock throws schalli 2026-06-27 17:20:39 +02:00
  • 955a94638c fix(07): CR-02 correct cron expression for pollIntervalMin >= 60 schalli 2026-06-27 17:20:11 +02:00
  • f3f610f9e1 fix(07): CR-01 rename import return field imported→count to match frontend schalli 2026-06-27 17:19:44 +02:00
  • d93819fa27 docs(07): add code review report schalli 2026-06-27 17:14:44 +02:00
  • d3e8e6400a docs(07-06): complete SMTP settings UI plan schalli 2026-06-27 17:06:04 +02:00
  • 75aec38dae feat(07-06): extend SettingsSidebar with Allgemein > SMTP category schalli 2026-06-27 17:04:25 +02:00
  • fd2dda69cb feat(07-06): settings-api client + SmtpSettingsForm + SMTP page (DKV-05) schalli 2026-06-27 17:03:57 +02:00
  • a96d79ad52 test(07-06): add failing SMTP settings form tests (RED — DKV-05) schalli 2026-06-27 17:00:27 +02:00
  • 5c191c8d10 docs(07-05): complete DKV fleet module frontend plan schalli 2026-06-27 00:43:55 +02:00
  • 4d81b8b2d5 feat(07-05): VehicleTable + CsvImportButton + vehicles page — GREEN (DKV-03) schalli 2026-06-27 00:41:03 +02:00
  • c739d2788b test(07-05): add failing VehicleTable tests (RED — DKV-03) schalli 2026-06-27 00:38:38 +02:00
  • 45e9a3591f feat(07-05): settings page + InboxConfigForm — Surface B inbox tab (DKV-01) schalli 2026-06-27 00:37:50 +02:00
  • 2fe7bca6e8 feat(07-05): dkv-api client + Surface A — history table + export list + check-now schalli 2026-06-27 00:36:28 +02:00
  • 316f8353b7 docs(07-04): complete DKV integration plane plan schalli 2026-06-27 00:32:19 +02:00
  • 2a3d1c1e85 feat(07-04): DkvModule + registry seed + AppModule registration + i18n keys schalli 2026-06-27 00:30:08 +02:00
  • c22d36758c feat(07-04): DkvSchedulerService + DkvController — dynamic cron + REST surface schalli 2026-06-27 00:28:18 +02:00
  • c40a023321 feat(07-04): DkvService — pipeline orchestration + vehicle/config/history logic schalli 2026-06-27 00:24:47 +02:00
  • 4ed1889c8d docs(07-03): complete DKV export + SMTP settings plan schalli 2026-06-27 00:16:05 +02:00
  • de48e35c74 feat(07-03): Migrate MailModule to DB-sourced SMTP transport with env fallback (D-06) schalli 2026-06-27 00:12:43 +02:00
  • 4deefb52de feat(07-03): DkvMailService — runtime nodemailer transport with xlsx attachment (DKV-04) schalli 2026-06-27 00:11:59 +02:00
  • 6b76ca9633 feat(07-03): DkvExportService — xlsx generation + user-files/ prune (DKV-04) schalli 2026-06-27 00:10:56 +02:00
  • 1bec0e76ee feat(07-03): SettingsModule — SMTP config backend + connection test (DKV-05) schalli 2026-06-27 00:09:47 +02:00
  • c7b0103a10 docs(07-02): complete DKV inbox-access layer plan schalli 2026-06-27 00:06:24 +02:00
  • 924de76f93 feat(07-02): ExchangeInboxProvider — EWS email inbox access schalli 2026-06-27 00:03:56 +02:00
  • b3f21a8747 feat(07-02): ImapProvider — IMAP inbox access via imapflow schalli 2026-06-27 00:02:00 +02:00
  • 86ec8966d0 feat(07-02): InboxProvider interface + config/vehicle/history DTOs schalli 2026-06-27 00:00:14 +02:00
  • 6bf032ef94 docs(07-01): complete DKV backend foundation plan schalli 2026-06-26 19:39:18 +02:00