docs: tomorrow-morning test basis (AI, S/MIME web+mobile, Theme); fix JMAP_SERVER_URL landmine in dev env example

Concrete, runnable test steps per area with explicit known-gaps sections
so nothing reads as more finished than it is. Also documents the mobile
S/MIME merge (vncmail-native main 7b89839) done this session.

.env.dev.example: the documented relative JMAP_SERVER_URL 400s
/api/auth/stalwart-context (resolveTrustedJmapUrl rejects relative URLs),
silently breaking the real session-cookie flow that S/MIME enrollment,
offline sync, and the AI server/retrieval routes all depend on. Switched
the example to an absolute URL with an explanatory comment.
This commit is contained in:
Bernd Rodler
2026-08-06 00:51:37 +02:00
parent daa40ec72d
commit 61651b1ed1
2 changed files with 241 additions and 3 deletions
+9 -3
View File
@@ -15,9 +15,15 @@
DEV_MOCK_JMAP=true
# Point the app at its own mock endpoint.
# IMPORTANT: This must match the origin the app runs on (default: port 3000).
# Using a different port (e.g. 3001) will cause CORS errors.
JMAP_SERVER_URL=/api/dev-jmap
# IMPORTANT: must be an ABSOLUTE URL matching the origin the app runs on
# (default: port 3000) - NOT a relative path. A relative path here makes
# /api/auth/stalwart-context 400 on every request (resolveTrustedJmapUrl
# rejects it), which silently breaks the real server-side session-cookie
# flow that S/MIME enrollment, offline sync, and the AI server/retrieval
# routes all depend on. The client-side mock fetch works either way, which
# is why this is easy to miss - it only bites features needing a real
# server-side session identity.
JMAP_SERVER_URL=http://localhost:3000/api/dev-jmap
# =============================================================================
# App