Skip to content

Fix/pre release issues - #82

Merged
LeiCraft merged 7 commits into
mainfrom
fix/pre-release-issues
Oct 3, 2026
Merged

LeiCraft merged 7 commits into
mainfrom
fix/pre-release-issues

Conversation

@LeiCraft

@LeiCraft LeiCraft commented Oct 3, 2026

Copy link
Copy Markdown
Member

No description provided.

…to the binary

- Default to port 14123 and to running migrations on startup, as the README
  and Dockerfile already state. An unset DLA_DB_AUTO_MIGRATE used to fall
  through to DB.init's `false`.
- In the compiled binary, `import.meta.dir` is Bun's virtual /$bunfs/root,
  and `path.join` glued even an absolute DLA_DB_MIGRATION_DIR onto it, so
  the Docker image couldn't find its migrations. Absolute paths are now used
  as they are, and relative ones resolve next to the executable.
- `depends_on` named a service `api` that doesn't exist (it is
  `delivr-api`), so `docker compose` refused the file.
- The web image reads DELIVR_* only while it is built, so set the URLs and
  the signup switch through Nuxt's runtime NUXT_PUBLIC_* overrides.
Bun's Request has no `remoteAddr`, so every client was keyed as "unknown"
and the per-address limit acted as a second per-username limit. Read the
socket address with `getConnInfo` instead, or the last X-Forwarded-For
entry when the new DLA_TRUST_PROXY is set.
DELETE /admin/users/:userId removed only the user row, its sessions, API
keys and password resets. SQLite doesn't enforce the foreign keys, so the
user's mail accounts (with their encrypted credentials), identities,
special-use mappings and preferences stayed behind.

- AccountDeletionService now does every user and mail account deletion. It
  is synchronous, because the bun-sqlite driver commits an async
  transaction callback at its first `await`, which would leave nothing to
  roll back.
- The admin route closes the removed accounts' pooled IMAP connections.
  MailClientsCache.deleteClient no longer throws when the logout fails.
- Migration 0015 purges data already orphaned this way.
The PostgreSQL and MySQL schemas are kept in sync, but nothing wires up
those drivers yet (#10).
@LeiCraft
LeiCraft requested a review from a team October 3, 2026 16:37
Restores DELIVR_API_URL, DELIVR_APP_URL and DELIVR_ENABLE_SIGNUP in the
full-stack compose file and the CLAUDE.md note. The depends_on fix stays.
Login rate limiting keys on the socket address only, so X-Forwarded-For
is always ignored. Removes the setting from the config, example.env, the
README, the test preload and CLAUDE.md, along with its test.
@LeiCraft
LeiCraft merged commit 4ee95fc into main Oct 3, 2026
1 check passed
@LeiCraft
LeiCraft deleted the fix/pre-release-issues branch October 3, 2026 17:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant