171 Commits

Author SHA1 Message Date
Michelle 2f65e53a24 fix: wrap screenshots in collapsible details section in README
Build & Push Docker Image / build (push) Successful in 4m6s
2026-06-21 22:17:58 +02:00
Michelle 1518645145 Merge branch 'main' of https://git.scrunkly.cat/Michelle/redlight
Build & Push Docker Image / build (push) Successful in 4m13s
2026-06-21 22:16:43 +02:00
Michelle 64a1ba2548 Add screenshots to README 2026-06-21 22:16:42 +02:00
Michelle 03098eaf2b chore: update version to 2.3.0
Build & Push Docker Image / build (push) Successful in 4m5s
Build & Push Docker Image / build (release) Successful in 4m13s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.3.0
2026-06-11 10:18:48 +02:00
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 4621010bd7 feat: add dark mode support for meeting join and start processes
Build & Push Docker Image / build (push) Successful in 4m14s
2026-06-11 09:27:34 +02:00
Michelle fbbcd79719 fix: prevent focus loss by using ref for onClose in Modal component
Build & Push Docker Image / build (push) Successful in 4m6s
Build & Push Docker Image / build (release) Successful in 4m12s
2.2.0
2026-06-03 10:40:38 +02:00
Michelle 10f0ffd2e5 chore: update version to 2.2.0
Build & Push Docker Image / build (push) Successful in 4m2s
Build & Push Docker Image / build (release) Successful in 4m6s
2026-06-02 09:21:42 +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 9fc51bdfc5 chore: update version to 2.1.4
Build & Push Docker Image / build (push) Has been cancelled
Build & Push Docker Image / build (release) Successful in 4m14s
2.1.4
2026-05-28 10:14:41 +02:00
Michelle 7f48685717 Enhance accessibility and improve form semantics across multiple pages
Build & Push Docker Image / build (push) Successful in 4m4s
- Added `htmlFor` attributes to labels for better accessibility in Calendar, Dashboard, GuestJoin, Login, Register, RoomDetail, and Settings pages.
- Included `aria-hidden` attributes for icons to improve screen reader experience.
- Set `autoComplete` attributes for input fields to enhance user experience during form filling.
- Implemented `role` and `aria` attributes for radio groups and buttons to improve accessibility compliance.
2026-05-28 10:07:19 +02:00
Michelle cff5398ebd fix: restore pointer cursor for buttons in index.css
Build & Push Docker Image / build (push) Successful in 4m10s
2026-05-28 09:22:50 +02:00
Michelle 109e75d976 fix: add .claude/ to .gitignore and update cursor styles for button utilities in index.css
Build & Push Docker Image / build (push) Failing after 19m25s
2026-05-28 09:08:17 +02:00
Michelle 24024cd1dd chore: update version to 2.1.3 in package.json and federation.js
Build & Push Docker Image / build (push) Successful in 4m18s
Build & Push Docker Image / build (release) Successful in 4m18s
2.1.3
2026-05-18 13:17:02 +02:00
Michelle 4028e913c4 refactor: update class names for consistency and improve styling
Build & Push Docker Image / build (push) Successful in 4m21s
- Changed `flex-shrink-0` to `shrink-0` in multiple components for better consistency.
- Updated button and checkbox classes to use `rounded-sm` for a more uniform appearance.
- Adjusted backdrop blur classes for modals to `backdrop-blur-xs` for a subtler effect.
- Removed unused Tailwind CSS configuration file.
2026-05-18 13:07:26 +02:00
Michelle aba7819f12 chore: update dependencies and versions in package-lock.json
Build & Push Docker Image / build (push) Successful in 4m5s
2026-04-25 20:34:23 +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 de696d422a fix: anyone_can_start not working as Admin
Build & Push Docker Image / build (push) Successful in 4m24s
2026-04-23 09:32:55 +02:00
Michelle 995d6eabf7 feat: remove unnecessary footer text from home page
Build & Push Docker Image / build (push) Successful in 4m19s
2026-04-09 14:01:01 +02:00
Michelle 9ee4f84d84 feat: update home page features with federation, calendar, notifications, OAuth, and analytics support
Build & Push Docker Image / build (push) Successful in 4m24s
2026-04-09 13:52:33 +02:00
Michelle df1aa20e45 feat: add recordings table and implement fetch and sync functionality for recordings
Build & Push Docker Image / build (push) Successful in 4m18s
2026-04-08 00:10:25 +02:00
Michelle e0ce354eda feat: improve email invitation label for clarity and add navigation on guest join
Build & Push Docker Image / build (push) Successful in 4m19s
2026-04-02 01:03:18 +02:00
Michelle 1690a74c19 feat: add email invitation functionality for guests with support for multiple addresses
Build & Push Docker Image / build (push) Successful in 4m21s
2026-04-02 00:54:57 +02:00
Michelle 61585d8c63 feat: add functionality to display all rooms with search and modal support in admin panel
Build & Push Docker Image / build (push) Successful in 4m17s
2026-04-01 12:05:51 +02:00
Michelle d04793148a feat: add room management functionality for admins with listing and deletion options
Build & Push Docker Image / build (push) Successful in 4m12s
2026-04-01 11:54:10 +02:00
Michelle 9bf4228d04 fix: update presentation display to show filename instead of name
Build & Push Docker Image / build (push) Successful in 4m21s
2026-04-01 11:34:48 +02:00
Michelle c058ba3bf1 fix: update presentation URL structure for token protection
Build & Push Docker Image / build (push) Successful in 4m13s
2026-04-01 09:43:32 +02:00
Michelle b3b559e164 feat: implement token-based access for presentation files and add serving endpoint
Build & Push Docker Image / build (push) Successful in 4m43s
2026-04-01 08:52:43 +02:00
Michelle 0db9227c20 chore: update package-lock.json with dependency version bumps
Build & Push Docker Image / build (push) Successful in 4m18s
2026-03-31 13:11:56 +02:00
Michelle 30f106a7ea fix: guest join doesn't add avatar when logged in
Build & Push Docker Image / build (push) Successful in 4m27s
2026-03-31 09:36:13 +02:00
Michelle 8cbe28f915 chore: bump version to 2.1.2 and update user name handling in GuestJoin component
Build & Push Docker Image / build (push) Successful in 4m28s
Build & Push Docker Image / build (release) Successful in 4m20s
2.1.2
2026-03-26 09:40:41 +01:00
Michelle 5472e190d9 chore: Bump version to 2.1.1
Build & Push Docker Image / build (push) Successful in 4m19s
Build & Push Docker Image / build (release) Successful in 4m12s
2.1.1
2026-03-25 11:34:38 +01:00
Michelle 45be976de1 Don't show guestWaitingMessage when "anyone_can_start" is set
Build & Push Docker Image / build (push) Successful in 4m14s
2026-03-25 10:13:02 +01:00
Michelle 6dcb1e959b feat: allow guests to start a room if anyone_can_start is enabled
Build & Push Docker Image / build (push) Successful in 4m58s
2026-03-25 09:55:47 +01:00
Michelle bb2d179871 style: Update button styling and icon size in RecordingList component for improved UI
Build & Push Docker Image / build (push) Successful in 4m29s
2026-03-24 11:28:15 +01:00
Michelle 82b7d060ba Merge remote-tracking branch 'refs/remotes/origin/main'
Build & Push Docker Image / build (push) Successful in 4m34s
2026-03-16 13:32:45 +01:00
Michelle 0836436fe7 feat: Implement Two-Factor Authentication (2FA) for enhanced user account security. 2026-03-16 13:28:43 +01:00
Michelle 99d3b22f62 chore: update bcryptjs and better-sqlite3 dependencies; upgrade dotenv version
Build & Push Docker Image / build (push) Successful in 3m59s
Build & Push Docker Image / build (release) Successful in 4m5s
2.1.0
2026-03-13 23:00:38 +01:00
Michelle eed5d98ccc chore: update dependencies for Vite and React plugin
Build & Push Docker Image / build (push) Successful in 4m9s
2026-03-13 22:48:08 +01:00
Michelle 6513fdee41 fix(Dockerfile): update base image and streamline build stages
Build & Push Docker Image / build (push) Successful in 4m17s
2026-03-13 22:41:18 +01:00
Michelle cae84754e4 feat: add analytics visibility settings and export functionality
Build & Push Docker Image / build (push) Successful in 5m11s
- Added `analytics_visibility` column to `rooms` table to control who can view analytics data.
- Updated analytics routes to check visibility settings before allowing access and export of analytics data.
- Implemented export functionality for analytics in CSV, XLSX, and PDF formats.
- Enhanced `AnalyticsList` component to include export options for analytics entries.
- Updated room detail page to allow setting analytics visibility when creating or editing rooms.
- Added translations for new analytics visibility options and export messages.
2026-03-13 22:36:07 +01:00
Michelle a0a972b53a fix(NotificationContext): ensure audio playback is unlocked only for authenticated users
Build & Push Docker Image / build (push) Successful in 6m32s
2026-03-13 13:00:54 +01:00
Michelle 9b98803053 fix(NotificationContext): handle user ID for notifications fetching and prevent stale responses
Build & Push Docker Image / build (push) Successful in 6m6s
2026-03-13 12:43:20 +01:00
Michelle e43e7f5fc5 fix: update license information to GNU GPL v3 in README, package.json, and package-lock.json
Build & Push Docker Image / build (push) Successful in 6m7s
Build & Push Docker Image / build (release) Successful in 6m14s
fix: Add valkey to compose in case system is too old for DragonflyDB
2.0.0
2026-03-13 12:11:32 +01:00
Michelle 5731e6a9a8 change README again
Build & Push Docker Image / build (push) Successful in 6m10s
2026-03-13 11:59:59 +01:00
Michelle fa8292263c chore: update version to 2.0.0 in package files and README
Build & Push Docker Image / build (push) Has been cancelled
2026-03-13 11:57:29 +01:00
Michelle 4bc3403040 fix(README): correct warning message formatting for clarity
Build & Push Docker Image / build (push) Has been cancelled
2026-03-13 11:54:25 +01:00
Michelle e4f596f8c3 change README
Build & Push Docker Image / build (push) Has been cancelled
2026-03-13 11:52:55 +01:00
Michelle 00e563664e feat(analytics): enhance analytics functionality with token validation and data extraction
Build & Push Docker Image / build (push) Successful in 6m29s
2026-03-13 10:34:39 +01:00
Michelle 41ad3e037a feat(rooms): add learning analytics field to room update request
Build & Push Docker Image / build (push) Successful in 6m31s
2026-03-13 10:09:11 +01:00