Commit graph

70 commits

Author SHA1 Message Date
c2f504ffb4 temp 2026-06-13 12:50:55 +03:00
b500afc8a9 fix: harden client against crafted-event crashes and audit-found hardening gaps 2026-06-12 13:04:19 +03:00
b6ffa03891 feat(media): rework the viewer — smaller rounded chat previews, a draggable desktop window, a fullscreen mobile sheet, and swipe animation 2026-06-08 16:17:59 +03:00
2581ff8137 feat(room): extend the centred message band, date pill and composer width to group and channel rooms, matching 1:1 2026-06-06 21:13:34 +03:00
4b7ad11620 feat(room): redesign the 1:1 DM timeline as a bubble chat with sticky date pills, grouped timestamps, a tap action rail and read status 2026-06-06 14:35:15 +03:00
7e7630bba4 feat(room): add voice messages with an in-composer recorder, playback bubble, and per-room disable toggle 2026-06-05 18:08:03 +03:00
5f2bac7ad6 style: move reaction chips and url-preview links onto the Dawn surface and accent palette 2026-06-03 12:01:08 +03:00
0a62fa8e1d feat(room): colour the DM stream rail per side — white own nick/dots, purple peer nick, gray peer dots, green own dot while awaiting a reply 2026-05-31 13:46:14 +03:00
a84c534179 style(room): lead the 1:1 stream row with the rail+dot, move the timestamp beside the nick and tint the peer nick lavender 2026-05-30 14:35:41 +03:00
54f96112ff style(room): drop the 1:1 peer name chip and restore the plain bold author label 2026-05-30 01:12:33 +03:00
b4d49d3b03 style(room): match the 1:1 peer name chip corner radius to the message bubble 2026-05-30 00:59:56 +03:00
170c78fb83 feat(room): give the 1:1 peer name its own dark chip matching the message bubble and round both with a minimal all-corners radius 2026-05-30 00:52:47 +03:00
f6e374d551 feat(room): redesign the group/channel chat into a Discord-style layout with plain-text messages, avatar/timestamp grouping and the 1:1 media renderer 2026-05-30 00:28:31 +03:00
0f882567c5 feat(room): rework the 1:1 DM timeline into a VS Code-style rail with bold author labels, bubble-less own messages and same-sender run grouping 2026-05-29 23:45:18 +03:00
bfe2f89a28 perf(timeline): memoize message rows and cache the per-render call-aggregate scan and HTML body parse 2026-05-29 02:36:13 +03:00
1665cb185f feat(timeline): use Channel avatar+bubble layout for every non-1:1 room and shift 1:1 Stream rail ~4px left on desktop 2026-05-28 18:07:23 +03:00
53acca3755 fix(stream-bubble): shrink bubble to text width and equalise bubble-to-bubble gap at ~14px regardless of same-sender grouping 2026-05-28 00:30:54 +03:00
0c704aac38 tweak(bubbles): paint peer bg and horseshoe void pure black and flip own/peer flat-corner to bottom-left/top-left at 16px radius 2026-05-18 02:04:39 +03:00
6982ec374e chore(lint): close all typecheck and eslint tech debt to enable husky pre-commit hook with --max-warnings 0 2026-05-16 17:22:53 +03:00
45c69317ff feat(message): paint non-own bubbles via --vojo-peer-bubble-bg in Stream + Channel layouts and Stream rail/day-divider via --vojo-timeline-rail 2026-05-16 13:13:28 +03:00
6a6b7acf15 feat(channels): rebuild thread drawer and channel rows as chat-style bubble cards that merge thread-summary into the bubble footer 2026-05-13 15:21:13 +03:00
663aece487 feat(media-viewer): atom-driven horseshoe shell over chat replacing Overlay modal for image+video with anchor-aware pinch/wheel zoom and swipe prev/next 2026-05-13 02:47:04 +03:00
2337b05140 feat(chat): invert canvas/bubble tones and darken timeline rail and media frames 2026-05-11 15:16:53 +03:00
307af24d1e feat(channels): ship M3 channel timeline avatar-name layout with thread summary cards and drawer header counter polish 2026-05-10 01:06:29 +03:00
d58e69d49f refactor(timeline): rebuild stream row as 3-track CSS grid with auto-sized time column so 24h and AM/PM render with consistent gaps without JS measurement 2026-05-07 23:36:18 +03:00
997375b307 feat(timeline): square image+video bubbles with username overlay, reactions outside bubble, edge-anchored mobile rail, horizontal day divider 2026-05-07 21:24:50 +03:00
f102593081 Revert "feat(connection): replace 30s 'Connecting...' banner with bottom-edge sync indicator and homeserver footer dot, drop mascot loading splash"
This reverts commit a1ff5db724.
2026-05-03 20:15:26 +03:00
e547c466a8 feat(settings): drop user-facing time/date format toggle and derive everything from system locale via Intl.DateTimeFormat 2026-05-03 19:27:54 +03:00
a1ff5db724 feat(connection): replace 30s 'Connecting...' banner with bottom-edge sync indicator and homeserver footer dot, drop mascot loading splash 2026-05-03 18:21:00 +03:00
103d6ad8a1 redesign(p3c): collapse Home into universal Direct, drop legacy layouts, gate room flavour on member-count, and clear orphan settings. 2026-04-28 21:52:31 +03:00
5bf0aeb00b redesign(p3a): land Stream message layout for DMs with rail, author dots, asymmetric bubbles, Stream day-divider, and sysline state events 2026-04-28 00:54:53 +03:00
e230e688de chore: upgrade TypeScript to 5.4 with bundler module resolution and reformat repo against tightened ESLint 2026-04-27 13:07:49 +03:00
6c65dee82e Replace 'following' banner with WhatsApp-style delivery status checkmarks on own messages. 2026-04-25 17:49:51 +03:00
77fda29820 localize direct messages 2026-04-14 01:20:26 +03:00
Ajay Bura
4e4170793e Fix crash with bad location uri (#2746)
fix crash with bad location uri
2026-03-09 18:17:15 +11:00
Ajay Bura
d56ab14d29 Prevent invalid mxc from getting used (#2609) 2026-02-14 17:12:28 +11:00
Ginger
892a11238c 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
171bf5431a 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
1b89475fa7 Remove unused javascript (#2470) 2025-08-29 19:34:52 +10:00
Ajay Bura
4d5e98c2d1 Fix image overlap with “Mark as read” and typing indicator (#2457) 2025-08-24 22:33:20 +10:00
Ajay Bura
ba08d0ad86 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
63e66990f3 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
Ajay Bura
1118e91b20 Improve thread reply layout (#2410) 2025-08-04 20:34:01 +05:30
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
Gimle Larpes
ac0345d07f 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
5114333067 Fix small height image half clickable view button (#2397) 2025-07-23 20:59:32 +05:30
Ajay Bura
e1f10d7c98 Fix crash on malformed blurhash (#2331) 2025-05-21 17:28:13 +05:30
Ajay Bura
4e8f81fa80 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
5fb90a6516 Add margin top on media caption (#2283) 2025-03-22 19:21:49 +11:00