Skip to content

Ludicord 2.2.4 - framework and starter

Choose a tag to compare

@mrcholer mrcholer released this 04 Sep 18:04

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.