Lotus Bot
d3fba1d685
fix: reduce ESLint errors and npm audit vulnerabilities
...
ESLint (476 → 187 errors):
- Fix import/first: move React.lazy() declarations after all imports in RoomInput.tsx and Router.tsx
- Disable react-hooks v7 React Compiler rules (refs, set-state-in-effect, immutability, purity, use-memo, react-compiler) - not using React Compiler yet
- Add eslint-disable for lotus-terminal.css.ts (no-explicit-any in CSS-in-JS)
- Add eslint-disable for cryptE2ERoomKeys.js (intentional bitwise crypto ops)
- Auto-fix 17 remaining fixable errors
npm audit (14 → 11 vulns, 5 → 3 HIGH in prod):
- Upgrade @giphy/react-components 5.9.4 → 10.1.2, js-fetch-api → 5.8.0, js-types → 5.1.0
- Add npm overrides to force dompurify >=3.3.4 and uuid >=11.1.1 in @giphy/js-util
- CI audit now uses --omit=dev to exclude devDep transitive vulns (lodash in commitizen)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-22 12:08:50 -04:00
Lotus Bot
266e47f240
chore: upgrade TypeScript 4.9 to 5.9, ESLint 8.29 to 8.57, @typescript-eslint 5 to 7
...
Resolves all TS2345/TS2347/TS7006 type errors introduced by stricter TypeScript 5.x.
Fix Icons.Settings to Icons.Setting, cast account data returns, fix implicit any.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-22 11:16:11 -04:00
Lotus Bot
61a1f008d0
chore: upgrade i18next 26, prettier 3, fontsource-variable, domhandler 6, lint-staged 17
...
- i18next 23->26 + react-i18next 15->17
- prettier 2->3, reformat all files
- replace @fontsource/inter with @fontsource-variable/inter 5, update import path
- domhandler 5->6 (aligns with transitive deps)
- lint-staged 16->17
2026-05-21 23:30:50 -04:00
Lotus Bot
42b9cc2b64
chore: prettier format all files, brotli, Sentry release tagging, CI gates
...
Prettier: auto-formatted 103 files to fix baseline. Prettier check in CI
is now a hard gate (removed continue-on-error).
Brotli: installed libnginx-mod-http-brotli-filter/static. Enabled in nginx
with brotli_static on for pre-compressed assets and comp_level 6.
Sentry releases: deploy script now exports VITE_APP_VERSION=<git-short-sha>
before building so each Sentry release maps to an exact commit.
CI also passes github.sha as VITE_APP_VERSION.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-21 20:49:33 -04:00
Lotus Bot
d707c4441c
feat(a11y): form input labels (H-6), remaining button labels (C-1)
...
H-6: aria-label on all form inputs missing accessible names:
- Login: username, password (already done)
- Register: username, password, confirm, token, email
- Password reset: email, new password, confirm password
- Settings: display name, user ID to ignore, keyword, page zoom,
date format, device name, backup passwords (new/confirm/restore)
- Auth: server URL picker input
C-1: additional icon buttons:
- RoomInput: toolbar toggle (aria-pressed + label)
- Lobby/Members: scroll to top, toggle member list
- UIAFlowOverlay: cancel authentication
- BackupRestore: backup options menu
- UrlPreview: previous/next preview buttons
- RoomPacks: undo remove/remove pack buttons
- RoomViewHeader: start call, member list toggle
- ServerPicker: change server button
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-21 12:03:26 -04:00
Lotus Bot
4e80c0a0f5
feat(a11y,perf): comprehensive icon button labels, toolbar a11y, timeline binary search
...
A11y C-1: aria-label on 30+ remaining icon-only buttons across:
- settings panels (close, reset, info, expand, remove, undo)
- editor toolbar (bold, italic, underline, strike, code, spoiler,
blockquote, code block, ordered/unordered list, headings 1-3)
- auth stages (cancel buttons in SSO, Password stages)
- device verification (cancel buttons)
- password input (show/hide toggle with dynamic label)
- event readers, account data editor close buttons
- global emoji packs (add/remove buttons)
Perf-5: Replace O(N×T) getTimelineAndBaseIndex scan with precomputed binary
search (timelineSegments useMemo) — O(log T) per visible message render
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-20 21:54:33 -04:00
root
f3ec49fe88
Add Lotus Terminal Mode + fix all remaining Cinny branding
...
- New: Lotus Terminal Mode toggle in Appearance settings
- Red phosphor color scheme (bg #0a0000, primary #ff3300, accent #00dd66)
- Monospace font override (JetBrains Mono / Fira Code / Cascadia Code)
- Retro CRT scanline overlay via CSS pseudo-element
- Wired into ThemeManager with dedicated lotusTerminalBodyClass
- Branding: replace all user-visible Cinny references with Lotus Chat
- WelcomePage, AuthLayout, SplashScreen, index.html meta tags
- Device display names in login/register/token flows
- System notification brand field
- (Preserved internal Matrix protocol CinnySpaces event type)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-13 22:22:06 -04:00
Ajay Bura
b7cc9d88cb
Revert "Fix menus congestion and improve thread reply layout ( #2402 )" ( #2409 )
...
This reverts commit 29364b2e92 .
2025-08-04 20:29:12 +05:30
Ajay Bura
29364b2e92
Fix menus congestion and improve thread reply layout ( #2402 )
...
* make menus more spacious
* improve threaded reply layout
* fix search filter button spacing
2025-07-27 22:20:23 +10:00
Ajay Bura
4e64d821f2
Better invites management ( #2336 )
...
* move block users to account settings
* filter invites and add more options
* add better rate limit recovery in rateLimitedActions util function
2025-05-24 20:07:56 +05:30
Ajay Bura
d3a8f09766
Hide existing messages from ignored users ( #2236 )
...
* add ignored users hook
* remove messages from timeline for ignored users
2025-02-28 18:47:23 +11:00
Ajay Bura
97cd12cdfe
Add email notification toggle ( #2223 )
...
* refactor system notification to dedicated file
* add hook for email notification status
* add toogle for email notifications in settings
2025-02-21 19:15:47 +11:00
Ajay Bura
f364fd4408
fix notification crash on ios ( #2192 )
...
* fix notification crash for ios
* access notification from window variable
* fix Notification check
* catch notification variable error
* fix missing check for Notification
2025-02-10 21:02:33 +11:00
Ajay Bura
87cc753366
redesigned app settings and switch to rust crypto ( #1988 )
...
* rework general settings
* account settings - WIP
* add missing key prop
* add object url hook
* extract wide modal styles
* profile settings and image editor - WIP
* add outline style to upload card
* remove file param from bind upload atom hook
* add compact variant to upload card
* add compact upload card renderer
* add option to update profile avatar
* add option to change profile displayname
* allow displayname change based on capabilities check
* rearrange settings components into folders
* add system notification settings
* add initial page param in settings
* convert account data hook to typescript
* add push rule hook
* add notification mode hook
* add notification mode switcher component
* add all messages notification settings options
* add special messages notification settings
* add keyword notifications
* add ignored users section
* improve ignore user list strings
* add about settings
* add access token option in about settings
* add developer tools settings
* add expand button to account data dev tool option
* update folds
* fix editable active element textarea check
* do not close dialog when editable element in focus
* add text area plugins
* add text area intent handler hook
* add newline intent mod in text area
* add next line hotkey in text area intent hook
* add syntax error position dom utility function
* add account data editor
* add button to send new account data in dev tools
* improve custom emoji plugin
* add more custom emojis hooks
* add text util css
* add word break in setting tile title and description
* emojis and sticker user settings - WIP
* view image packs from settings
* emoji pack editing - WIP
* add option to edit pack meta
* change saved changes message
* add image edit and delete controls
* add option to upload pack images and apply changes
* fix state event type when updating image pack
* lazy load pack image tile img
* hide upload image button when user can not edit pack
* add option to add or remove global image packs
* upgrade to rust crypto (#2168 )
* update matrix js sdk
* remove dead code
* use rust crypto
* update setPowerLevel usage
* fix types
* fix deprecated isRoomEncrypted method uses
* fix deprecated room.currentState uses
* fix deprecated import/export room keys func
* fix merge issues in image pack file
* fix remaining issues in image pack file
* start indexedDBStore
* update package lock and vite-plugin-top-level-await
* user session settings - WIP
* add useAsync hook
* add password stage uia
* add uia flow matrix error hook
* add UIA action component
* add options to delete sessions
* add sso uia stage
* fix SSO stage complete error
* encryption - WIP
* update user settings encryption terminology
* add default variant to password input
* use password input in uia password stage
* add options for local backup in user settings
* remove typo in import local backup password input label
* online backup - WIP
* fix uia sso action
* move access token settings from about to developer tools
* merge encryption tab into sessions and rename it to devices
* add device placeholder tile
* add logout dialog
* add logout button for current device
* move other devices in component
* render unverified device verification tile
* add learn more section for current device verification
* add device verification status badge
* add info card component
* add index file for password input component
* add types for secret storage
* add component to access secret storage key
* manual verification - WIP
* update matrix-js-sdk to v35
* add manual verification
* use react query for device list
* show unverified tab on sidebar
* fix device list updates
* add session key details to current device
* render restore encryption backup
* fix loading state of restore backup
* fix unverified tab settings closes after verification
* key backup tile - WIP
* fix unverified tab badge
* rename session key to device key in device tile
* improve backup restore functionality
* fix restore button enabled after layout reload during restoring backup
* update backup info on status change
* add backup disconnection failures
* add device verification using sas
* restore backup after verification
* show option to logout on startup error screen
* fix key backup hook update on decryption key cached
* add option to enable device verification
* add device verification reset dialog
* add logout button in settings drawer
* add encrypted message lost on logout
* fix backup restore never finish with 0 keys
* fix setup dialog hides when enabling device verification
* show backup details in menu
* update setup device verification body copy
* replace deprecated method
* fix displayname appear as mxid in settings
* remove old refactored codes
* fix types
2025-02-10 16:49:47 +11:00