Commit Graph

172 Commits

Author SHA1 Message Date
29c409fad8 feat: implement useMarkAsRead hook for improved unread state management and update notification handling 2026-02-28 00:10:35 +11:00
f8af51b75c feat: implement video controls and pop-out functionality in Video component 2026-02-27 22:12:47 +11:00
58966aec19 feat: enhance update notification layout and add room info display in developer tools 2026-02-24 21:49:03 +11:00
f5ba778e46 feat: add CallParticipantsIndicator component to display active call participants
fix: silently ignore OIDC configuration errors in ServerConfigsLoader
fix: handle loadPreview errors in UrlPreviewCard component
fix: silently ignore errors in notification tap listener setup in tauri
2026-02-22 03:17:36 +11:00
a713141420 fix: handle error response during update check in UpdateNotification component 2026-02-22 01:19:56 +11:00
b08b4b4129 feat: add update notification component with download and install functionality 2026-02-22 00:59:14 +11:00
f00e20b1ac feat: enhance room data retrieval with server domain extraction 2026-02-21 22:21:56 +11:00
ef55d1583f feat: implement Paarrot API for Electron integration with navigation and IPC handlers 2026-02-21 21:40:38 +11:00
6a31ea64ed fix: skip Tauri updater in Electron, add debug logging for routing 2026-02-21 19:54:00 +11:00
8b0960d366 electron 2026-02-21 17:50:49 +11:00
6c741577ce feat: add Vite configuration with custom plugins and server settings 2026-02-21 16:16:15 +11:00
c55e311241 feat(youtube): add YouTube embed support with yt-dlp integration for ad-free streaming 2026-02-20 16:27:59 +11:00
3f6f2134ad feat(call): add docked call panel and remote cursor overlay
- Implemented DockedCallPanel component to render the docked call interface when an active call is present.
- Created RemoteCursorOverlay component to display remote cursor positions during screen sharing.
- Added hooks for managing docked call state and remote cursor functionality.
- Introduced pending drag state management for seamless transitions between docked and floating states.
- Developed embed filter management components for personal and room-wide settings, allowing users to customize URL embed visibility.
- Implemented auto-joining functionality for rooms within spaces, enhancing user experience during space navigation.
- Added state management for tracking joining progress of rooms in spaces.
2026-02-19 17:49:48 +11:00
516000a25f feat: add user color customization and metadata handling
- Implemented `useUserColor` hook to manage user profile color stored in avatar PNG metadata.
- Added `useOtherUserColor` hook to fetch and cache colors from other users' avatars.
- Created utility functions for reading and writing PNG metadata, enabling color embedding and extraction.
- Refactored `SearchResultGroup`, `RoomInput`, `Message`, `RoomPinMenu`, and `Notifications` components to utilize user color for display.
- Introduced `UserColorPicker` component in settings for users to select and save their profile color.
- Enhanced notification and message rendering to prioritize custom user colors over legacy colors.
2026-02-06 05:53:37 +11:00
cd912025f1 feat: add PresenceAvatar component with presence indicator styles 2026-01-25 22:41:51 +11:00
3efc68e893 Refactor code structure for improved readability and maintainability 2026-01-25 03:09:58 +11:00
0cfc6cb0ab fix: implement external link handling with Tauri shell in UrlPreviewCard and react-custom-html-parser 2026-01-25 00:40:38 +11:00
a6b76a9be7 feat: implement openExternalUrl utility for consistent external link handling 2026-01-24 07:59:45 +11:00
54f5fa95a6 Fix authenticated media loading for Tauri/WebKit environments
- Add useAuthenticatedMediaUrl hook that fetches media with auth headers
- Add AuthenticatedMedia, AuthenticatedAvatarImage components
- Update downloadMedia and downloadEncryptedMedia to accept access token
- Update all media components to pass access token for auth media
- Fix 401 errors on Matrix servers requiring authenticated media (v1.11+)

This fixes media loading in Tauri desktop apps where service workers
may not work reliably for cross-origin authenticated requests.
2026-01-23 22:31:37 +11:00
Ginger
b78f6f23b5 Add support to mark videos as spoilers (#2255)
* Add support for MSC4193: Spoilers on Media

* Clarify variable names and wording

* Restore list atom

* Improve spoilered image UX with autoload off

* Use `aria-pressed` to indicate attachment spoiler state

* Improve spoiler button tooltip wording, keep reveal button from conflicting with load errors

* Make it possible to mark videos as spoilers

* Allow videos to be marked as spoilers when uploaded

* Apply requested changes

* Show a loading spinner on spoiled media when unblurred

---------

Co-authored-by: Ajay Bura <32841439+ajbura@users.noreply.github.com>
2025-09-25 13:41:35 +10:00
Ajay Bura
afc251aa7c Add arrow to message bubbles and improve spacing (#2474)
* Add arrow to message bubbles and improve spacing

* make bubble message avatar smaller

* add bubble layout for event content

* adjust bubble arrow

* fix missing return statement for event content

* hide bubble for event content

* add new arrow to bubble message

* fix avatar username relative alignment

* fix types

* fix code block header background

* revert avatar size and make arrow less sharp

* show event messages timestamp to right when bubble is hidden

* fix avatar base css

* move message header outside bubble

* fix event time appears on left in hidden bubles
2025-09-19 21:06:05 +10:00
Ajay Bura
31efbf73b7 Make emojiboard lightweight on low end devices (#2484)
* extract emoji search component

* extract emoji board tabs component

* extract sidebar component

* extract no stickers component

* create emoji/sticker preview atom

* extract component from emoji/sticker item and sidebar buttons

* fix image group icon not loading

* separate emojis and sticker groups logic

* extract layout and emoji group components

* add virtualization in emoji board groups

* fix scroll to alignment
2025-09-18 11:14:08 +10:00
Ajay Bura
90ca8ca2c5 Remove unused javascript (#2470) 2025-08-29 19:34:52 +10:00
Ajay Bura
40d0576b15 Update userId placeholder (#2465)
* update userId placeholder

* update sample names from login username input
2025-08-25 23:18:08 +10:00
Ajay Bura
b4266c26b0 New create chat screen (#2463)
* fix dm invite appears in home

* use migrated function for convert to dm/room commands

* add new create chat screen
2025-08-24 22:40:44 +10:00
Ajay Bura
23aa5c6f94 Add option to view user avatar (#2462) 2025-08-24 22:36:45 +10:00
Ajay Bura
4056cbb11c Hide message button from own profile (#2461) 2025-08-24 22:35:16 +10:00
Ajay Bura
13cdcbcdb1 New invite user to room dialog (#2460)
* fix 0 displayed in invite with no timestamp

* support displaying invite reason for receiver

* show invite reason as compact message

* remove unused import

* revert: show invite reason as compact message

* remove unused import

* add new invite prompt
2025-08-24 22:34:21 +10:00
Ajay Bura
c881b59957 Fix image overlap with “Mark as read” and typing indicator (#2457) 2025-08-24 22:33:20 +10:00
Ajay Bura
78a0d11f24 New add existing room/space modal (#2451) 2025-08-19 22:39:31 +10:00
Ajay Bura
c5d4530947 Add new join with address prompt (#2442) 2025-08-16 21:40:39 +10:00
Ajay Bura
63fa60e7f4 Open user profile at around mouse anchor (#2440) 2025-08-16 21:34:46 +10:00
Ajay Bura
544a06964d Hide block user button for own profile (#2439) 2025-08-16 21:32:09 +10:00
Ajay Bura
f82cfead46 Support room version 12 (#2399)
* WIP - support room version 12

* add room creators hook

* revert changes from powerlevels

* improve use room creators hook

* add hook to get dm users

* add options to add creators in create room/space

* add member item component in member drawer

* remove unused import

* extract member drawer header component

* get room creators as set only if room version support them

* add room permissions hook

* support room v12 creators power

* make predecessor event id optional

* add info about founders in permissions

* allow to create infinite powers to room creators

* allow everyone with permission to create infinite power

* handle additional creators in room upgrade

* add option to follow space tombstone
2025-08-13 00:12:30 +10:00
Ajay Bura
4d1ae4eafd Redesign user profile view (#2396)
* WIP - new profile view

* render common rooms in user profile

* add presence component

* WIP - room user profile

* temp hide profile button

* show mutual rooms in spaces, rooms and direct messages categories

* add message button

* add option to change user powers in profile

* improve ban info and option to unban

* add share user button in user profile

* add option to block user in user profile

* improve blocked user alert body

* add moderation tool in user profile

* open profile view on left side in member drawer

* open new user profile in all places
2025-08-09 22:16:10 +10:00
Gimle Larpes
a41dee4a55 Minor usability improvements (#2405)
* usability improvements

* revert change

* requested change
2025-08-05 18:59:04 +05:30
Ajay Bura
faa952295f Redesign space/room creation panel (#2408)
* add new create room

* rename create room modal file

* default restrict access for space children in room create modal

* move create room kind selector to components

* add radii variant to sequence card component

* more more reusable create room logic to components

* add create space

* update address input description

* add new space modal

* fix add room button visible on left room in space lobby
2025-08-05 23:07:07 +10:00
Ajay Bura
e9798a22c3 Show file size exceeds error on upload (#2411)
* Show file size exceeds error on upload

* fix missing import and make size bold
2025-08-05 23:05:18 +10:00
Jaggar
34dd64103c Fix room input for virtual keyboard on webkit (#2346)
* Slate style has certain behavior elements that iOS expects

* Swap to using that implementation
2025-08-05 23:04:21 +10:00
Ajay Bura
6a27720709 Improve thread reply layout (#2410) 2025-08-04 20:34:01 +05:30
Ajay Bura
ccf10fc20c Revert "Fix menus congestion and improve thread reply layout (#2402)" (#2409)
This reverts commit d8d4714370.
2025-08-04 20:29:12 +05:30
Ajay Bura
31942b1114 Add code block language header and improve styles (#2403)
* add code block language header and improve styles

* improve codeblock fallback text

* move floating expand button to code block header

* reduce code font size
2025-07-27 22:21:09 +10:00
Ajay Bura
d8d4714370 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
Gimle Larpes
9183fd66b2 Add settings to enable 24-hour time format and customizable date format (#2347)
* Add setting to enable 24-hour time format

* added hour24Clock to TimeProps

* Add incomplete dateFormatString setting

* Move 24-hour  toggle to Appearance

* Add "Date & Time" subheading, cleanup after merge

* Add setting for date formatting

* Fix minor formatting and naming issues

* Document functions

* adress most comments

* add hint for date formatting

* add support for 24hr time to TimePicker

* prevent overflow on small displays
2025-07-27 22:13:00 +10:00
Ajay Bura
7d4b0dd133 Fix small height image half clickable view button (#2397) 2025-07-23 20:59:32 +05:30
Gimle Larpes
3cdb5c2fe6 Add code block copy and collapse functionality (#2361)
* add buttons to codeblocks

* add functionality

* Document functions

* Improve accessibility

* Remove pointless DefaultReset

* implement some requested changes

* fix content shift when expanding or collapsing

---------

Co-authored-by: Ajay Bura <32841439+ajbura@users.noreply.github.com>
2025-07-23 20:40:56 +05:30
Ajay Bura
50cc78788f Jump to time option in room timeline (#2377)
* add time and date picker components

* add time utils

* add jump to time in room timeline

* fix typo causing crash in safari
2025-07-15 22:41:33 +10:00
Ajay Bura
c462a3b8d5 Link device account management with OIDC (#2390)
* load auth metadata configs on startup

* deep-link cross-signing reset button with oidc

* deep-link manage devices and delete device with oidc

* fix import typo
2025-07-15 22:40:16 +10:00
Ajay Bura
c30c142653 Stop parsing servername from roomId (#2391) 2025-07-15 22:33:45 +10:00
Ajay Bura
206ed33516 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