Lotus Bot
63e1085984
Security, performance, bug fixes, and TDS improvements
...
Security:
- HIGH-1: Validate hex color format before CSS interpolation in sanitize.ts
- HIGH-5: Add sandbox attribute to OpenStreetMap iframe
- MED-1: Fix permissive URL scheme regex in LINKIFY_OPTS
- MED-3/HIGH-4: Add .js.map blocking + CSP header to nginx config
- LOW-2: Validate OIDC authUrl scheme before window.open
- Accessibility: Remove maximum-scale=1.0 from viewport meta (WCAG 1.4.4)
Performance:
- O(1) Map index in computePositions (was O(M×T) findIndex per member)
- Add RoomMemberEvent.Membership subscription so positions update on join/leave
- Fix uncleaned 2000ms setTimeout in RoomTimeline useLayoutEffect
Bug fixes:
- BUG-5: Add QUEUED/CANCELLED cases to DeliveryStatus component
- BUG-6: Guard DeliveryStatus against state events via isState() check
- BUG-10: Clamp PiP position on window resize
- BUG-14: Separate runLotusBootSequence into dedicated useEffect([lotusTerminal])
- Fix aria-live on typing indicator (WCAG 4.1.3)
- Add aria-label + aria-multiline to message editor
TDS (Lotus Terminal Design System):
- Add reaction chip styles (dark + light mode)
- Add GIF picker CSS via globalStyle instead of runtime injection
- Add URL preview styles (dark + light mode)
- Add complete GIF picker light-mode TDS block (was missing)
2026-05-19 16:26:25 -04:00
root
2dfdda5d8c
Add TDS light mode: LotusTerminalLightTheme, light CSS vars, no CRT effects
2026-05-14 09:25:39 -04:00
root
c6b1a9d75f
Deepen TDS integration: full terminal CSS coverage + 3 new backgrounds
...
Terminal Mode:
- Text selection: orange highlight rgba(255,107,0,0.28)
- Links: cyan (#00D4FF) with orange hover glow (#FF6B00)
- Code/pre: TDS green (#00FF88) on terminal bg, left green border
- Strong/b → orange, em/i → cyan, mark → amber, del → red
- Blockquote: orange left border (matches chat reply quotes)
- HR: cyan border with dim glow
- Input/textarea/[contenteditable] focus: orange glow ring
- Tables: TDS headers (orange+uppercase), cyan borders, hover rows
- List markers: cyan ▸ for ul, orange for ol
- Boot box-drawing alignment fixed (51→52 ═)
- data-theme=\"dark\" set on html element when terminal active
- Updated description: correct TDS palette names
- ▶ Boot replay button in settings (visible when terminal on)
Chat backgrounds (+3):
- Tactical: LotusGuild TDS exact cyan dot-grid (28px)
- Circuit: green grid + node dots on dark terminal bg
- Hex Grid: isometric cyan hexagonal outlines
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-13 22:44:34 -04:00
root
9ebce5b00c
Implement LotusGuild TDS v1.2 terminal mode
...
- Rewrite lotus-terminal.css.ts: TDS-exact dot-grid bg, scanlines, vignette,
glitch keyframes, orange caret, cyan scrollbars, all --lt-* CSS vars
- Fix lotusTerminalTheme in colors.css.ts: full TDS color palette
(Orange primary, Cyan secondary, Green success, Amber warning, Red critical)
- Add lotus-boot.ts: matrix boot sequence at 65ms intervals, green phosphor glow
- Update ThemeManager.tsx: call runLotusBootSequence on terminal mode activate,
UnAuthRouteThemeManager now supports lotusTerminal setting
- Update index.html: add JetBrains Mono + VT323 from Google Fonts
2026-05-13 22:36:48 -04:00
root
185eb160e7
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
c1274e851a
Add option for monochrome mode ( #2464 )
2025-08-25 23:19:14 +10:00
Ajay Bura
08e975cd8e
Change username color in chat with power level color ( #2282 )
...
* add active theme context
* add chroma js library
* add hook for accessible tag color
* disable reply user color - temporary
* render user color based on tag in room timeline
* remove default tag icons
* move accessible color function to plugins
* render user power color in reply
* increase username weight in timeline
* add default color for member power level tag
* show red slash in power color badge with no color
* show power level color in room input reply
* show power level username color in notifications
* show power level color in notification reply
* show power level color in message search
* render power level color in room pin menu
* add toggle for legacy username colors
* drop over saturation from member default color
* change border color of power color badge
* show legacy username color in direct rooms
2025-03-23 22:09:29 +11:00
Ajay Bura
56b754153a
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