Commit Graph

24 Commits

Author SHA1 Message Date
Michelle 7dd834cd35 Harden server security, rework landing page and refresh branding
Build & Push Docker Image / build (push) Successful in 4m3s
Security:
- rooms: rate-limit /invite-email (SMTP spam relay), validate share
  target user exists, guard timingSafeEqual against length mismatch
  in the presentation route (500 -> 403)
- analytics: verify callback token before parsing the 5mb body so
  unauthenticated callers cannot buffer large payloads
- caldav: rate-limit failed Basic-Auth attempts (token brute force),
  lowercase email lookup, case-insensitive principal check
- auth: fall back to the in-memory rate-limit store when Redis is
  unavailable; previously every rate-limited endpoint (incl. login)
  returned 500 when the Redis connection was down

UI/copy:
- Home: factual hero copy and feature cards (6 instead of 9), fix
  double-rendered feature icon, remove fake stats row and pill badge;
  keep the background gradient and card layout
- i18n: consistent informal tone, drop trailing exclamation marks
  from status toasts, remove emoji from transactional emails
- new favicon (logo.svg), restore theme-based default brand logo

Chore:
- gitignore SQLite WAL/SHM files

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 10:14:36 +02:00
Michelle 4aea069295 fix: resolve server bugs and unify app-name handling
Build & Push Docker Image / build (push) Successful in 4m6s
Bug fixes:
- bbb.js: replace undefined t('defaultWelcome') call that threw a
  ReferenceError when a room had an empty welcome message, breaking
  meeting creation. Default welcome and the guest-invite hint are now
  localised via the i18n system (new "bbb" namespace in de/en).
- auth.js: app name was read from the never-written 'branding' settings
  key, so custom names never appeared in verification emails or the TOTP
  issuer. Now resolved through a shared getAppName() helper.
- auth.js: lowercase the email in the registration duplicate check so
  case-variant duplicates return a clean 409 instead of a 500 (UNIQUE
  violation).
- federation.js: select the user's "language" column so federation
  invite emails respect the recipient's language instead of always
  defaulting to English.
- calendar.js: a set reminder could not be cleared. COALESCE treated an
  explicit reminder_minutes: null as "keep existing"; use a direct
  assignment that distinguishes "omitted" (keep) from "null" (clear).
- index.js / analytics.js: exclude the BBB learning-analytics callback
  from the global 100kb body limit and give it its own 5mb limit, since
  analytics payloads for large meetings can be several MB.

Cleanup:
- Add server/config/appName.js as the single source of truth for the
  app name (admin setting -> APP_NAME env -> 'Redlight') and use it in
  auth, admin, rooms, calendar and federation, replacing the previous
  mix of wrong DB key, direct app_name reads and bare process.env reads.
- Localise the BBB default welcome message in the room owner's language.
- Remove two unused safeAppName variables in mailer.js.
2026-06-02 09:19:21 +02:00
Michelle 45fdbe4883 feat: enforce maximum password length of 64 characters in user registration and password update
Build & Push Docker Image / build (push) Successful in 4m19s
2026-04-25 20:30:29 +02:00
Michelle 0836436fe7 feat: Implement Two-Factor Authentication (2FA) for enhanced user account security. 2026-03-16 13:28:43 +01:00
Michelle 3ab7ab6a70 feat(auth): enhance logout process to support RP-Initiated Logout for OIDC users
Build & Push Docker Image / build (push) Successful in 6m35s
2026-03-10 22:19:01 +01:00
Michelle 43d94181f9 feat: add getBaseUrl function for consistent base URL generation across routes
Build & Push Docker Image / build (push) Successful in 6m28s
feat(calendar): display local timezone in calendar view
feat(i18n): add timezone label to German and English translations
2026-03-04 09:44:02 +01:00
Michelle e22a895672 feat(security): enhance input validation and security measures across various routes
Build & Push Docker Image / build (push) Successful in 6m38s
2026-03-04 08:39:29 +01:00
Michelle b5218046c9 Refactor code and improve internationalization support
Build & Push Docker Image / build (push) Has been cancelled
- Updated import statements to remove invisible characters.
- Standardized comments to use a consistent hyphen format.
- Adjusted username validation error messages for consistency.
- Enhanced email sending functions to include language support.
- Added email internationalization configuration for dynamic translations.
- Updated calendar and federation routes to include language in user queries.
- Improved user feedback messages in German and English for clarity.
2026-03-02 16:14:54 +01:00
Michelle df4666bb63 feat(invite-system): implement user invite functionality with registration mode control
Build & Push Docker Image / build (push) Successful in 6m24s
Build & Push Docker Image / build (release) Successful in 6m25s
2026-03-01 12:53:45 +01:00
Michelle 57bb1fb696 feat(logging): implement centralized logging system and replace console errors with structured logs
Build & Push Docker Image / build (push) Has been cancelled
Build & Push Docker Image / build (release) Successful in 7m27s
feat(federation): add room sync and deletion notification endpoints for federated instances

fix(federation): handle room deletion and update settings during sync process

feat(federation): enhance FederatedRoomCard and FederatedRoomDetail components to display deleted rooms

i18n: add translations for room deletion messages in English and German
2026-03-01 12:20:14 +01:00
Michelle 1cff066c17 Refactor theme and language validation to use basic format checks instead of allowlists
Build & Push Docker Image / build (push) Successful in 6m22s
2026-02-28 20:30:11 +01:00
Michelle c281628fdc Update README and configuration to replace RSA with Ed25519 for federation security
Build & Push Docker Image / build (push) Successful in 6m30s
2026-02-28 20:19:59 +01:00
Michelle 1fb999d73b Refactor theme validation to dynamically import themes from the source directory
Build & Push Docker Image / build (push) Successful in 6m20s
2026-02-28 20:02:15 +01:00
Michelle 7466f3513d Enhance security and validation across multiple routes:
Build & Push Docker Image / build (push) Successful in 6m25s
- Escape XML and HTML special characters to prevent injection attacks.
- Implement rate limiting for various endpoints to mitigate abuse.
- Add validation for email formats, password lengths, and field limits.
- Ensure proper access control for recordings and room management.
2026-02-28 19:49:29 +01:00
Michelle 3556aaede7 Add DragonflyDB integration for JWT revocation and implement rate limiting for authentication routes
Build & Push Docker Image / build (push) Successful in 6m14s
2026-02-28 13:37:27 +01:00
Michelle 9814150ba8 Add verification resend timestamp and cooldown handling for email verification
Build & Push Docker Image / build (push) Successful in 6m13s
2026-02-27 17:23:22 +01:00
Michelle 4d6a09c3fd Improve email verification error handling in registration and resend verification endpoints
Build & Push Docker Image / build (push) Has been cancelled
2026-02-27 17:21:01 +01:00
Michelle 4d1245f358 fix mail
Build & Push Docker Image / build (push) Successful in 6m8s
2026-02-27 17:09:14 +01:00
Michelle a7af7d0e6f Add presentation upload and management features to room functionality
Build & Push Docker Image / build (push) Failing after 1m11s
2026-02-27 16:37:57 +01:00
Michelle 9be9938f02 Add display name support for user management and update related components
Build & Push Docker Image / build (push) Successful in 6m2s
2026-02-27 16:29:23 +01:00
Michelle 7426ae8088 Update language, add LICENSE and README
Build & Push Docker Image / build (push) Successful in 1m9s
2026-02-24 21:04:19 +01:00
Michelle 8be973a166 Add mail verification and use .env insteads of environment in compose
Build & Push Docker Image / build (push) Has been cancelled
2026-02-24 20:35:08 +01:00
Michelle 9001aea8cd add avatar support for BBB
Build & Push Docker Image / build (push) Successful in 1m10s
2026-02-24 19:05:41 +01:00
Michelle 54d6ee553a Init v1.0.0
Build & Push Docker Image / build (push) Failing after 53s
2026-02-24 18:14:16 +01:00