Ludicord 2.2.4 - framework and starter
Ludicord 2.2.4
Status: published to npm on September 4, 2026.
Published package versions: ludicord@2.2.4 and create-ludicord-app@2.2.4.
Activity authoring
- Automatic layout, loading, error, auth and minimize files, without manual imports in the root.
- Lowercase
export default function embed()authoring with mapped source locations. - Persistent Activity state when switching embeds or showing the compact view.
Development experience
- API and WebSocket hot replacement without restarting the HTTP server.
- Shared server imports rebuild together; sockets reconnect after a successful replacement.
- Ludicord-branded compile timing and a development error panel with file, line, column and source excerpts.
- Per-project compiler caches and recovery after corrected source errors.
Runtime and security
- Production CSS linking, shared server chunks, request-body limits and streamed responses.
- Sanitized production errors, browser/server import boundaries and expanded secret scanning.
- Pending-login confirmation before issuing a usable session, retryable authentication, safer cookie handling and rejection of development-only sessions in production.
- Activity membership checks against Discord responses.
- WebSocket cleanup, configured reconnection, route-isolated rooms and session expiry handling.
Discord and tooling
- Channel names, types and kinds; guild name, icon and permission-gated extended context.
- Paginated guild members where the application has the required server-side access.
- Corrected SDK event handling, typed command helpers and clearer missing-permission diagnostics.
- Updated starter, environment loading, runtime/testing exports and doctor checks.
Package delivery
- Both packages are published using workflow-bound npm OIDC credentials from a private source repository.
- Original TypeScript implementation and source maps are excluded from npm tarballs; compiled JavaScript and type declarations are public.
- Homepage, documentation and issues remain publicly accessible. The repository metadata identifies the real package subdirectory in the private source repository.
- Public provenance is unavailable for private source repositories.
Limitations and validation
- API/WS graph replacement resets module-level server memory. Use durable external storage where needed.
- Configuration, OAuth scopes, environment values and installed framework changes still require restarting dev; scope changes require renewed authorization.
- Full guild rosters require server-only bot credentials, guild access, the GUILD_MEMBERS intent and Activity membership verification.
- Rooms are process-local. Multiple replicas require external shared state and sticky routing for the process-local login handshake.
- Vite remains an internal compiler dependency.
- Release validation passed 68 automated tests on GitHub's Linux runner, plus package/example builds and typechecks. Earlier local checks also covered browser hot updates and error recovery. These checks do not establish live Discord OAuth, real guild access, mobile/PiP or multi-user production behavior; those still require validation in a Discord application.
See the upgrade guide and release delivery.