db3514c4dbMerge: t-paliad-151 Phase A.5 — env-var passthrough for Paliadin remote-routing
m
2026-05-08 11:25:13 +02:00
a0d1e77ef2feat(t-paliad-151) Phase A.5: compose env-var passthrough for Paliadin remote routing
m
2026-05-08 02:20:39 +02:00
d519363c8dfix(admin/approval-policies): preserve <details> open state across re-renders
m
2026-05-08 11:20:39 +02:00
82faa3d8bdRevert "Merge: t-paliad-151 Phase A.5 — compose network_mode: host + Paliadin env-var plumbing. Lifts the DO-NOT-MERGE-before-A.5 gate from da971a7. Dokploy secrets PALIADIN_SSH_PRIVATE_KEY + PALIADIN_KNOWN_HOSTS already registered on mlake (validated SSH key roundtrip via ssh-keygen -y); single-line vars PALIADIN_REMOTE_HOST=100.99.98.203 / PORT=22022 / USER=m also staged. Next deploy is the M1-vs-M2 traefik gate (design §4.2): if paliad.de returns 200/3xx after redeploy, traefik routes under host mode (M2) and the route ships; if 502, revert this merge and revisit decision 1."
m
2026-05-08 02:39:36 +02:00
a80652a085Merge: t-paliad-151 Phase A.5 — compose network_mode: host + Paliadin env-var plumbing. Lifts the DO-NOT-MERGE-before-A.5 gate from da971a7. Dokploy secrets PALIADIN_SSH_PRIVATE_KEY + PALIADIN_KNOWN_HOSTS already registered on mlake (validated SSH key roundtrip via ssh-keygen -y); single-line vars PALIADIN_REMOTE_HOST=100.99.98.203 / PORT=22022 / USER=m also staged. Next deploy is the M1-vs-M2 traefik gate (design §4.2): if paliad.de returns 200/3xx after redeploy, traefik routes under host mode (M2) and the route ships; if 502, revert this merge and revisit decision 1.
m
2026-05-08 02:37:32 +02:00
028423b32ffeat(t-paliad-154) commit 4/5: admin /admin/approval-policies page
m
2026-05-08 02:27:54 +02:00
1d7c7d7246Merge: t-paliad-151 Phase B code (env-var-gated, compose flip held for A.5) — Paliadin remote-routing via Tailscale SSH to mRiver. Includes Phase A.0 design doc + scripts/paliadin-shim from earlier shift. Production behavior unchanged: without PALIADIN_REMOTE_HOST in env, paliad never invokes ssh and uses local-tmux PoC path byte-identically. Refactor: Paliadin interface + LocalPaliadinService + RemotePaliadinService + DisabledPaliadinService stub. main.go env-var switch (remote/local/disabled). Dockerfile +openssh-client. 14 unit tests via callShimHook. Frontend friendlyErrorMessage for mriver_unreachable/shim_auth_failed/shim_error/bootstrap_failed/timeout (DE+EN). NOT included: docker-compose network_mode: host flip — held on branch as da971a7 pending Phase A.5 traefik test by m. NOT cronus.
m
2026-05-08 02:23:38 +02:00
0f87d73b1bfeat(t-paliad-154) commit 3/5: HTTP handlers — admin APIs + form-hint endpoint + audit-log union
m
2026-05-08 02:22:19 +02:00
da971a7466DO NOT MERGE before Phase A.5 — compose: network_mode: host + Paliadin env vars
m
2026-05-08 02:20:39 +02:00
f62bf9f8fbfeat(t-paliad-151) Dockerfile: openssh-client for remote Paliadin
m
2026-05-08 02:10:40 +02:00
dd139a3536Merge remote-tracking branch 'origin/main' into mai/noether/inventor-paliadin
m
2026-05-08 02:08:12 +02:00
01fa4b1287Merge remote-tracking branch 'origin/main' into mai/hilbert/inventor-approval-policy
m
2026-05-08 02:07:46 +02:00
bb035558bedesign(t-paliad-154): approval-policy authoring UI
m
2026-05-07 23:51:38 +02:00
f952fb85c3design(t-paliad-151) amend: port 22022 bypass + Phase A.0 results
m
2026-05-07 23:37:26 +02:00
b78941e293Merge: t-paliad-152 — /api/events honours direct_only (Fristen/Termine subtree toggle works again — handleListEvents + handleEventsSummary parse direct_only via parseDirectOnly; threaded as DirectOnly bool through EventListFilter / EventSummaryFilter / ListFilter / AppointmentListFilter; project predicate swaps from projectDescendantPredicate to direct project_id eq when set; 3 new DirectOnly subtests in project_filter_descendants_test.go)
m
2026-05-07 23:21:01 +02:00
55c93c9de3Merge: t-paliad-153 — Frist due_date 02:00 leak (consolidate views/format.ts with UTC-anchored date-only detection + kind-aware formatRowTime/formatRelative; shape-cards skips time slot under day-grouped headings; shape-list reduces deadline relatives to day precision; tests pass under TZ=Berlin/LA/UTC)
m
2026-05-07 23:08:18 +02:00
024841129ffeat(t-paliad-151) shim: scripts/paliadin-shim
m
2026-05-07 23:02:52 +02:00
db4279d148fix(t-paliad-152): /api/events honours direct_only — Fristen/Termine subtree toggle works again
mai/fritz/bug-fristen-termine
m
2026-05-07 22:58:44 +02:00
c6cdd2c855fix(t-paliad-148): renumber migration 057→059 (collision with fritz t-147 email_broadcasts already on main; noether t-146 paliadin_poc landed at 058)
m
2026-05-07 22:00:26 +02:00
fc7192c115Merge: t-paliad-146 — Paliadin PoC (tmux-Claude in-app AI buddy, m-only)
m
2026-05-07 21:57:49 +02:00
8cc8435d2eMerge: fix Custom Views toast respecting its hidden attribute
m
2026-05-07 21:17:57 +02:00
c81ca6a12amerge: main into mai/noether/inventor-paliadin-in-app — pick up fritz's 057_email_broadcasts before adding 058_paliadin_poc
m
2026-05-07 21:17:57 +02:00
0f835b6c59fix(t-paliad-144): empty Custom Views toast — .views-toast { display: flex } was overriding the [hidden] attribute (same-specificity tie, declaration order wins). Add explicit .views-toast[hidden] { display: none } so the toast respects its own hidden state. Was rendering as a visible empty box on every page load.
m
2026-05-07 21:17:57 +02:00
3dffce7a0dMerge: fix Custom Views dark-mode contrast (token name mismatch)
m
2026-05-07 21:00:51 +02:00
d8b84d0c58fix(t-paliad-144): Custom Views CSS — replace bare-name tokens (--surface, --text-muted, --border-subtle, --surface-subtle, --surface-hover) with paliad's actual --color-* tokens. The bare names don't exist in paliad's design system; the hardcoded fallbacks (#fff, rgba(0,0,0,...)) fired in dark mode → light text on white card bg. Fixes contrast on /views list+cards+calendar shapes.
m
2026-05-07 21:00:51 +02:00
d24f73358cdesign(t-paliad-146): re-scope to PoC track — m-only + monitoring
m
2026-05-07 20:59:46 +02:00
dc7c807725design(t-paliad-146): Paliadin — in-app AI buddy
m
2026-05-07 20:45:31 +02:00
1eb43ceb6bdesign(t-paliad-148): split project_teams.role into firm-level profession + project-level responsibility
m
2026-05-07 20:45:07 +02:00
99f08e3863Merge: t-paliad-145 design doc only — local chat feature PARKED per m's call (2026-05-07 17:03). Doc preserved in docs/design-local-chat-2026-05-07.md for when it un-parks.
m
2026-05-07 17:04:10 +02:00
5cb7f76160Merge: t-paliad-142 — sidebar no longer slide-in animates on every page nav when pinned (parallel :root.sidebar-pinned CSS selectors)
m
2026-05-06 16:56:14 +02:00
5598aef074fix(t-paliad-141): collab-suggestions dropdown floats off-screen — parent .form-field had no position. Scope :has() rule sets parent to position:relative only where the dropdown actually exists
m
2026-05-06 16:54:22 +02:00