schalli
010aceb1ac
feat(ldap): support anonymous bind (no bind DN/password required)
...
Tessera CI/CD / Lint & Type Check (push) Successful in 41s
Tessera CI/CD / Tests (push) Successful in 39s
Tessera CI/CD / Build & Publish Images (push) Successful in 1m40s
bindDn and bindPassword are now optional on LdapConfig (nullable
migration) and throughout the DTOs/service/client -- an admin can
leave both blank to connect to directories that permit anonymous
read access. LdapService.bind() falls back to an RFC 4513 anonymous
bind (empty DN + empty password) whenever either field is missing,
shared across testConnection, listGroups, and syncUsersForTenant.
Frontend: removed the required attribute from Bind-DN/Bind-Passwort,
added a placeholder hint ("leer = anonymous bind"), and the
"Verbindung testen" button now only needs a Server-URL to enable
(not bindDn+bindPassword). Config responses now return bindPassword
as null (not a misleading "********") when no password is set.
Verified locally: submitted only a Server-URL with both bind fields
empty and confirmed the request reached the anonymous-bind code path
(DNS failure for the unreachable test host, not a validation error).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-07-08 12:57:26 +02:00
schalli
2ad875b2cd
docs(quick-260708-cuc): FavoriteLink migration fix — deployed and verified live
...
Tessera CI/CD / Lint & Type Check (push) Successful in 47s
Tessera CI/CD / Tests (push) Successful in 39s
Tessera CI/CD / Build & Publish Images (push) Successful in 7s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-07-08 09:22:41 +02:00
schalli
60df92b23d
docs(quick-260707-lgh): Favoriten-Widget Icon-Proxy fuer CORP-Seiten
...
Tessera CI/CD / Lint & Type Check (push) Successful in 42s
Tessera CI/CD / Tests (push) Successful in 42s
Tessera CI/CD / Build & Publish Images (push) Successful in 1m37s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-07-07 15:43:10 +02:00
schalli
bcbb94500d
docs(quick-260707-csw): LDAP AD Anbindung: Zugangsdaten aus XWiki vorbefuellen und Import-Filter fuer Benutzer/Gruppen
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-07-07 09:59:21 +02:00
schalli
a7ee2a3378
docs(260707-csw): pre-dispatch plan for LDAP AD config + import filter
2026-07-07 09:20:31 +02:00
schalli
d458c2eec7
docs(roadmap): fix stale progress table for phases 1-6
...
Phases 1, 3, 4, 6 were fully executed (all plans have SUMMARY files)
but the roadmap still showed them as In Progress/Not started. Phase 2
is the actual gap: plan 02-05 (visual verification checkpoint) was
never run.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-07-07 08:11:52 +02:00
schalli
610b649bdf
chore: remove handoff and continue-here files (phase 9 complete)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-07-02 08:57:52 +02:00
schalli
2869da83c0
chore: planning artifacts + mcp.json update
...
- .mcp.json: Playwright MCP config
- 08-UAT.md: Phase 8 UAT results
- quick task summaries: 260630 user-settings, 260701 calendar domain
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-07-02 08:57:44 +02:00
schalli
cc95395889
docs(state): mark phase 9 complete — milestone v1.0 done
...
All 9 phases complete, 40/40 plans executed, UAT 8/8 passed.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-07-02 08:46:32 +02:00
schalli
2ddd8473dc
test(09): complete UAT — 8/8 passed (automated Playwright)
...
All cert-manager features verified:
- Module navigation & 4-tab structure
- Inspect PEM (full grid: CN, SANs, expiry, fingerprints)
- Wrong PFX password → user-friendly error
- Split fullchain.pem → per-cert downloads
- Convert PEM→DER (openssl-verified)
- Convert PEM→PFX + password field (openssl-verified)
- Merge 2 PEMs → chain.pem (2 cert blocks)
- Merge 2 certs → bundle.pfx + password (openssl-verified)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-07-02 08:46:07 +02:00
schalli
c673faa40d
wip: phase-09 paused after UAT blocker (docker rebuild needed)
2026-07-02 08:23:17 +02:00
schalli
daff82ea76
docs(09-06): complete merge-pfx plan — final plan of phase 09
Tessera CI/CD / Tests (push) Has been cancelled
Tessera CI/CD / Build & Publish Images (push) Has been cancelled
Tessera CI/CD / Lint & Type Check (push) Has been cancelled
2026-07-02 07:55:54 +02:00
schalli
db7a85cc4c
docs(09-05): complete convert-vertical-slice plan
2026-07-02 07:41:34 +02:00
schalli
a1da5d9083
docs(09-04): complete split-slice plan
2026-07-02 07:17:46 +02:00
schalli
da676705d9
docs(09-03): complete inspect-slice plan
2026-07-01 23:57:54 +02:00
schalli
b1aa1d0d2d
wip: phase 09 paused after wave 1 (2/6 plans done)
2026-07-01 23:27:53 +02:00
schalli
76d1a31583
docs(phase-09): update tracking after wave 1
2026-07-01 23:26:56 +02:00
schalli
4fc448b1d4
merge(09-02): cert-manager web shell + i18n (resolve de/en.json conflict)
2026-07-01 23:26:12 +02:00
schalli
637f4674ca
merge(09-01): resolve app.module.ts conflict (CertManagerModule + FavoritesModule)
Tessera CI/CD / Lint & Type Check (push) Failing after 37s
Tessera CI/CD / Tests (push) Has been skipped
Tessera CI/CD / Build & Publish Images (push) Has been skipped
2026-07-01 23:25:48 +02:00
schalli
7ad4f22a75
docs(09-02): complete cert-manager frontend shell plan
2026-07-01 23:24:25 +02:00
schalli
3506d60dbe
docs(09-01): complete cert-manager API foundation plan summary
...
- SUMMARY.md with task results, deviations, stub tracking, threat scan
- Self-check: all 9 files found, 3 commits verified, 11 tests green
2026-07-01 23:22:51 +02:00
schalli
812eb06d9b
docs(09): create phase plan + resolve open questions
2026-07-01 16:28:31 +02:00
schalli
063666af3b
docs(09): create cert-manager phase plan (6 plans)
Tessera CI/CD / Lint & Type Check (push) Failing after 41s
Tessera CI/CD / Tests (push) Has been skipped
Tessera CI/CD / Build & Publish Images (push) Has been skipped
2026-07-01 16:24:31 +02:00
schalli
ad7de8de2d
docs(09): research phase 9 cert-manager module
Tessera CI/CD / Lint & Type Check (push) Failing after 43s
Tessera CI/CD / Tests (push) Has been skipped
Tessera CI/CD / Build & Publish Images (push) Has been skipped
2026-07-01 16:05:42 +02:00
schalli
6ee31a22fb
docs(09): UI design contract
2026-07-01 15:49:15 +02:00
schalli
09d5231148
docs(09): UI design contract
2026-07-01 15:47:00 +02:00
schalli
5b75b3284a
wip: phase 9 cert-manager paused at planning (UI-SPEC needed)
2026-07-01 15:43:47 +02:00
schalli
a32f5f948b
docs(09): add Phase 9 Cert Manager to roadmap + capture context
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-07-01 15:39:24 +02:00
schalli
42daa87e5e
feat(calendar): add domain field and test-connection button to Exchange sources
...
- Prisma: domain String? added to CalendarSource model (db push applied)
- DTOs: domain in CreateCalendarSourceDto, UpdateCalendarSourceDto, new TestCalendarSourceConfigDto
- Service: domain in SOURCE_SAFE_SELECT, addSource, updateSource; new testConnectionFromConfig method
- Controller: POST /calendar/sources/test-config (before :id routes to avoid collision)
- ExchangeProvider: domain in all source interfaces; passed as 3rd arg to EWS WebCredentials
- Frontend: domain in CalendarSource/CreateSourcePayload/UpdateSourcePayload; testSourceConfig API fn
- Form: domain field (Exchange-only), "Test connection" button with idle/loading/success/error states
- i18n: de+en keys for formFieldDomain, formFieldDomainHint, formTestConnection, formTesting, formTestSuccess, formTestFailed
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-07-01 13:15:13 +02:00
schalli
f6173bbe35
docs(quick-260701-abc): fix i18n missing keys — summary and state update
...
Tessera CI/CD / Lint & Type Check (push) Successful in 45s
Tessera CI/CD / Tests (push) Has been cancelled
Tessera CI/CD / Build & Publish Images (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-07-01 12:06:32 +02:00
schalli
54e4731b36
docs(08): add code review report
2026-07-01 10:59:02 +02:00
schalli
34df808d83
docs(phase-08): update tracking after wave 4
2026-07-01 10:51:53 +02:00
schalli
dcff93e2ae
docs(08-04): complete Link widget plan summary
...
- 3/3 tasks complete (RED test → GREEN implementation → full suite gate)
- 88/88 web tests passing (18 test files, +7 link-widget tests)
- web + api tsc --noEmit clean
- LinkWidget: single-link D-06 via FavoriteLink backend reuse
2026-07-01 10:51:08 +02:00
schalli
7b42a3aef9
docs(phase-08): update tracking after wave 3
2026-07-01 10:39:05 +02:00
schalli
f7d4818c0a
docs(08-03): complete Favorites widget plan summary
2026-07-01 10:38:28 +02:00
schalli
4645a5f43f
docs(phase-08): update tracking after wave 2
2026-07-01 10:12:34 +02:00
schalli
93e2b94c47
docs(08-02): complete Stopwatch widget plan summary
...
- 3/3 tasks complete, 7/7 tests pass, tsc clean
- Worktree fast-forward deviation documented
2026-07-01 10:11:46 +02:00
schalli
2fa5193fd0
docs(phase-08): update tracking after wave 1
Tessera CI/CD / Lint & Type Check (push) Successful in 46s
Tessera CI/CD / Tests (push) Has been cancelled
Tessera CI/CD / Build & Publish Images (push) Has been cancelled
2026-07-01 10:03:21 +02:00
schalli
5e8b2c2c39
docs(08-01): complete widget registry foundation + Calculator plan summary
...
- 3/3 tasks executed (RED/GREEN/verify)
- 16 tests added and passing (67 total web suite)
- SUMMARY.md created with self-check PASSED
2026-07-01 10:01:15 +02:00
schalli
b885c767fb
docs(08): create phase 8 plan — 4 widget slices (Calculator, Stoppuhr, Favorites, Link)
2026-07-01 09:10:19 +02:00
schalli
29636bd2b1
docs(08): create phase plan (4 widget vertical slices)
2026-07-01 09:03:54 +02:00
schalli
dc7b291d28
docs(08): research phase dashboard-widgets-vollimplementierung
2026-07-01 08:53:53 +02:00
schalli
3b0ac41f59
docs(state): record phase 8 context session
2026-07-01 08:33:00 +02:00
schalli
53fb106e39
docs(08): capture phase context
2026-07-01 08:32:54 +02:00
schalli
fe4e64a0ad
docs(quick-260630-gbh): User Settings: Passwort ändern (nur non-LDAP) + Profilbild setzen
...
Tessera CI/CD / Lint & Type Check (push) Successful in 49s
Tessera CI/CD / Tests (push) Successful in 42s
Tessera CI/CD / Build & Publish Images (push) Successful in 1m42s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-30 12:04:20 +02:00
schalli
04b37f54f6
docs(260630-gbh): pre-dispatch plan for User Settings: Passwort ändern (nur non-LDAP) + Profilbild setzen
2026-06-30 11:49:12 +02:00
schalli
c6a6b3a4bc
chore: update session state and resume note
Tessera CI/CD / Lint & Type Check (push) Successful in 40s
Tessera CI/CD / Tests (push) Successful in 37s
Tessera CI/CD / Build & Publish Images (push) Failing after 5m6s
2026-06-29 11:15:21 +02:00
schalli
fc4c006f30
chore(07): UAT Test 7 pass — Exchange NTLM connection verified
...
Tessera CI/CD / Lint & Type Check (push) Successful in 40s
Tessera CI/CD / Tests (push) Failing after 11m1s
Tessera CI/CD / Build & Deploy (push) Has been skipped
Domain field must be left empty or set to actual AD domain; placeholder
value 'CONTOSO' causes 401.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-29 10:16:21 +02:00
schalli
01ff137f43
fix(07): UAT fixes — SMTP test email, DKV routing, Exchange domain field
...
Tessera CI/CD / Lint & Type Check (push) Waiting to run
Tessera CI/CD / Tests (push) Blocked by required conditions
Tessera CI/CD / Build & Deploy (push) Blocked by required conditions
- SMTP: add test-to field, send real email via sendMail() instead of verify()
- SMTP: fix no_auth warning shown as error for open-relay servers
- DKV: register dkv-fleet in MODULE_REGISTRY (fixes "Modul nicht gefunden")
- DKV: add dynamic [category]/[moduleSlug]/settings + vehicles sub-routes
- DKV: settings/vehicles links use useParams for consistent URLs
- DKV: add gear icon settings link to module main page
- DKV: rename module to "DKV-Rechnung" in seed + translations
- DKV: add optional domain field for Exchange (WebCredentials 3rd arg)
- DKV: hide IMAP-only fields (Port/Verschlüsselung/Ordner) when Exchange selected
- DKV: hide Exchange-only field (Domain) when IMAP selected
- Prisma: add domain column to DkvModuleConfig
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-28 21:58:26 +02:00
schalli
5d6024569a
test(07): begin UAT — 1 issue (cold start DB P1001), 8 tests pending
Tessera CI/CD / Lint & Type Check (push) Waiting to run
Tessera CI/CD / Tests (push) Blocked by required conditions
Tessera CI/CD / Build & Deploy (push) Blocked by required conditions
2026-06-27 18:02:15 +02:00