Commit graph

58 commits

Author SHA1 Message Date
Ajay Bura
ffdbca52f8 refactor navigation - WIP 2024-02-04 12:28:15 +05:30
Ajay Bura
85c8e500f2 sidebar navigation - WIP 2024-02-02 15:28:35 +05:30
Ajay Bura
c2b4e18008 load client in router layout path 2024-01-30 09:44:59 +05:30
Ajay Bura
f53bb28b66
Fix emoji and other related bugs (#1504)
* make system-emoji default & twitter emoji optional

* add mozilla twemoji-colr credit

* fix wrong audio duration

* set locales to empty in member count millify

* render system emoji as same size of custom emoji
2023-10-26 09:09:27 +11:00
Ajay Bura
3a95d0da01
Refactor timeline (#1346)
* fix intersection & resize observer

* add binary search util

* add scroll info util

* add virtual paginator hook - WIP

* render timeline using paginator hook

* add continuous pagination to fill timeline

* add doc comments in virtual paginator hook

* add scroll to element func in virtual paginator

* extract timeline pagination login into hook

* add sliding name for timeline messages - testing

* scroll with live event

* change message rending style

* make message timestamp smaller

* remove unused imports

* add random number between util

* add compact message component

* add sanitize html types

* fix sending alias in room mention

* get room member display name util

* add get room with canonical alias util

* add sanitize html util

* render custom html with new styles

* fix linkifying link text

* add reaction component

* display message reactions in timeline

* Change mention color

* show edited message

* add event sent by function factory

* add functions to get emoji shortcode

* add component for reaction msg

* add tooltip for who has reacted

* add message layouts & placeholder

* fix reaction size

* fix dark theme colors

* add code highlight with prismjs

* add options to configure spacing in msgs

* render message reply

* fix trim reply from body regex

* fix crash when loading reply

* fix reply hover style

* decrypt event on timeline paginate

* update custom html code style

* remove console logs

* fix virtual paginator scroll to func

* fix virtual paginator scroll to types

* add stop scroll for in view item options

* fix virtual paginator out of range scroll to index

* scroll to and highlight reply on click

* fix reply hover style

* make message avatar clickable

* fix scrollTo issue in virtual paginator

* load reply from fetch

* import virtual paginator restore scroll

* load timeline for specific event

* Fix back pagination recalibration

* fix reply min height

* revert code block colors to secondary

* stop sanitizing text in code block

* add decrypt file util

* add image media component

* update folds

* fix code block font style

* add msg event type

* add scale dimension util

* strict msg layout type

* add image renderer component

* add message content fallback components

* add message matrix event renderer components

* render matrix event using hooks

* add attachment component

* add attachment content types

* handle error when rendering image in timeline

* add video component

* render video

* include blurhash in thumbnails

* generate thumbnails for image message

* fix reactToDom spoiler opts

* add hooks for HTMLMediaElement

* render audio file in timeline

* add msg image content component

* fix image content props

* add video content component

* render new image/video component in timeline

* remove console.log

* convert seconds to milliseconds in video info

* add load thumbnail prop to video content component

* add file saver types

* add file header component

* add file content component

* render file in timeline

* add media control component

* render audio message in room timeline

* remove moved components

* safely load message reply

* add media loading hook

* update media control layout

* add loading indication in audio component

* fill audio play icon when playing audio

* fix media expanding

* add image viewer - WIP

* add pan and zoom control to image viewer

* add text based file viewer

* add pdf viewer

* add error handling in pdf viewer

* add download btn to pdf viewer

* fix file button spinner fill

* fix file opens on re-render

* add range slider in audio content player

* render location in timeline

* update folds

* display membership event in timeline

* make reactions toggle

* render sticker messages in timeline

* render room name, topic, avatar change and event

* fix typos

* update render state event type style

* add  room intro in start of timeline

* add power levels context

* fix wrong param passing in RoomView

* fix sending typing notification in wrong room

Slate onChange callback was not updating with react re-renders.

* send typing status on key up

* add typing indicator component

* add typing member atom

* display typing status in member drawer

* add room view typing member component

* display typing members in room view

* remove old roomTimeline uses

* add event readers hook

* add latest event hook

* display following members in room view

* fetch event instead of event context for reply

* fix typo in virtual paginator hook

* add scroll to latest btn in timeline

* change scroll to latest chip variant

* destructure paginator object to improve perf

* restore forward dir scroll in virtual paginator

* run scroll to bottom in layout effect

* display unread message indicator in timeline

* make component for room timeline float

* add timeline divider component

* add day divider and format message time

* apply message spacing to dividers

* format date in room intro

* send read receipt on message arrive

* add event readers component

* add reply, read receipt, source delete opt

* bug fixes

* update timeline on delete & show reason

* fix empty reaction container style

* show msg selection effect on msg option open

* add report message options

* add options to send quick reactions

* add emoji board in message options

* add reaction viewer

* fix styles

* show view reaction in msg options menu

* fix spacing between two msg by same person

* add option menu in other rendered event

* handle m.room.encrypted messages

* fix italic reply text overflow cut

* handle encrypted sticker messages

* remove console log

* prevent message context menu with alt key pressed

* make mentions clickable in messages

* add options to show and hidden events in timeline

* add option to disable media autoload

* remove old emojiboard opener

* add options to use system emoji

* refresh timeline on reset

* fix stuck typing member in member drawer
2023-10-06 08:14:06 +05:30
Ajay Bura
0b06bed1db
Refactor state & Custom editor (#1190)
* Fix eslint

* Enable ts strict mode

* install folds, jotai & immer

* Enable immer map/set

* change cross-signing alert anim to 30 iteration

* Add function to access matrix client

* Add new types

* Add disposable util

* Add room utils

* Add mDirect list atom

* Add invite list atom

* add room list atom

* add utils for jotai atoms

* Add room id to parents atom

* Add mute list atom

* Add room to unread atom

* Use hook to bind atoms with sdk

* Add settings atom

* Add settings hook

* Extract set settings hook

* Add Sidebar components

* WIP

* Add bind atoms hook

* Fix init muted room list atom

* add navigation atoms

* Add custom editor

* Fix hotkeys

* Update folds

* Add editor output function

* Add matrix client context

* Add tooltip to editor toolbar items

* WIP - Add editor to room input

* Refocus editor on toolbar item click

* Add Mentions - WIP

* update folds

* update mention focus outline

* rename emoji element type

* Add auto complete menu

* add autocomplete query functions

* add index file for editor

* fix bug in getPrevWord function

* Show room mention autocomplete

* Add async search function

* add use async search hook

* use async search in room mention autocomplete

* remove folds prefer font for now

* allow number array in async search

* reset search with empty query

* Autocomplete unknown room mention

* Autocomplete first room mention on tab

* fix roomAliasFromQueryText

* change mention color to primary

* add isAlive hook

* add getMxIdLocalPart to mx utils

* fix getRoomAvatarUrl size

* fix types

* add room members hook

* fix bug in room mention

* add user mention autocomplete

* Fix async search giving prev result after no match

* update folds

* add twemoji font

* add use state provider hook

* add prevent scroll with arrow key util

* add ts to custom-emoji and emoji files

* add types

* add hook for emoji group labels

* add hook for emoji group icons

* add emoji board with basic emoji

* add emojiboard in room input

* select multiple emoji with shift press

* display custom emoji in emojiboard

* Add emoji preview

* focus element on hover

* update folds

* position emojiboard properly

* convert recent-emoji.js to ts

* add use recent emoji hook

* add io.element.recent_emoji to account data evt

* Render recent emoji in emoji board

* show custom emoji from parent spaces

* show room emoji

* improve emoji sidebar

* update folds

* fix pack avatar and name fallback in emoji board

* add stickers to emoji board

* fix bug in emoji preview

* Add sticker icon in room input

* add debounce hook

* add search in emoji board

* Optimize emoji board

* fix emoji board sidebar divider

* sync emojiboard sidebar with scroll & update ui

* Add use throttle hook

* support custom emoji in editor

* remove duplicate emoji selection function

* fix emoji and mention spacing

* add emoticon autocomplete in editor

* fix string

* makes emoji size relative to font size in editor

* add option to render link element

* add spoiler in editor

* fix sticker in emoji board search using wrong type

* render custom placeholder

* update hotkey for block quote and block code

* add terminate search function in async search

* add getImageInfo to matrix utils

* send stickers

* add resize observer hook

* move emoji board component hooks in hooks dir

* prevent editor expand hides room timeline

* send typing notifications

* improve emoji style and performance

* fix imports

* add on paste param to editor

* add selectFile utils

* add file picker hook

* add file paste handler hook

* add file drop handler

* update folds

* Add file upload card

* add bytes to size util

* add blurHash util

* add await to js lib

* add browser-encrypt-attachment types

* add list atom

* convert mimetype file to ts

* add matrix types

* add matrix file util

* add file related dom utils

* add common utils

* add upload atom

* add room input draft atom

* add upload card renderer component

* add upload board component

* add support for file upload in editor

* send files with message / enter

* fix circular deps

* store editor toolbar state in local store

* move msg content util to separate file

* store msg draft on room switch

* fix following member not updating on msg sent

* add theme for folds component

* fix system default theme

* Add reply support in editor

* prevent initMatrix to init multiple time

* add state event hooks

* add async callback hook

* Show tombstone info for tombstone room

* fix room tombstone component border

* add power level hook

* Add room input placeholder component

* Show input placeholder for muted member
2023-06-12 16:45:23 +05:30
Ajay Bura
c1be57b205 Add clear cache btn in loading screen 2022-09-17 15:48:45 +05:30
Ajay Bura
4427b3b291 Accept mxid on login (#187) 2022-07-09 13:58:57 +05:30
Ajay Bura
3dda4d6540 Add toggle to show password in auth page (#73) 2022-07-09 10:35:17 +05:30
Ajay Bura
c9df0be874 Fix captcha loop issue in registration form (#664) 2022-07-08 21:07:14 +05:30
Ash
c08b0e654b
Add allowCustomHomeservers config option (#525)
* feat: Add allowCustomHomeservers config option

* fix: Do not lock the homeserver input when the selection is changed
2022-05-12 17:13:14 +05:30
Ajay Bura
53f1129242 Fix app stuck on welcome screen in small device 2022-04-24 16:35:42 +05:30
Laurenz
dc8e6e53c7
Adapt to different device widths (#401)
* Now adapting to small screen sizes, needs improvements

* Fix that site only gets into mobile mode when resized

* - Added navigation event triggered if user requests to return to navigation on compact screens
- People drawer wont be shown on compact screens
  - Still accessible using settings
  - would be duplicated UI
- mobileSize is now compactSize

* Put threshold for collapsing the base UI in a shared file

* Switch to a more simple solution using CSS media queries over JS
- Move back button to the left a bit so it doesnt get in touch with room icon

* switch from component-individual-thresholds to device-type thresholds
- <750px: Mobile
- <900px: Tablet
- >900px: Desktop

* Make Settings drawer component collapse on mobile

* Fix EmojiBoard not showing up and messing up UI when screen is smaller than 360px

* Improve code quality; allow passing classNames to IconButton
- remove unnessesary div wrappers
- use dir.side where appropriate
- rename threshold and its mixins to more descriptive names
- Rename "OPEN_NAVIGATION" to "NAVIGATION_OPENED"

* - follow BEM methology
- remove ROOM_SELECTED listener
- rename NAVIGATION_OPENED to OPEN_NAVIGATION where appropriate
- this does NOT changes that ref should be used for changing visability

* Use ref to change visability to avoid re-rendering

* Use ref to change visability to avoid re-rendering

* Fix that room component is not hidden by default.
This resulted in a broken view when application is viewed in mobile size without having selected a room since loading.

* fix: leaving a room should bring one back to navigation

Co-authored-by: Ajay Bura <32841439+ajbura@users.noreply.github.com>
2022-04-24 15:53:10 +05:30
Ajay Bura
6010b4c252 Fix cyclic dependency in initMatrix
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2022-03-18 09:22:16 +05:30
ajbura
96b6b56d95 Update loading screen message
Signed-off-by: ajbura <ajbura@gmail.com>
2022-02-17 21:12:28 +05:30
ginnyTheCat
6d9e67b9f2
Fix crashing on droping text (#302)
* Add basic drop overlay

* Prevent crash when dragging text

* Only show popup when files are being dragged

* Make drop box bigger

* Make drag drop overlay without a modal

* Don't show drag drop menu on top of modals

* Use different way to check for modal
2022-02-09 08:29:21 +05:30
ajbura
2bd598f7f8 Trim homserver in Auth component
Signed-off-by: ajbura <ajbura@gmail.com>
2022-02-04 11:43:39 +05:30
ginnyTheCat
552a324e08
Drag and drop files (#283)
* Add file drop

* Skip if no files are droped

* Show the page is not accepting file on the welcome page
2022-02-03 20:10:22 +05:30
Ajay Bura
60c44da974 Refactor room options
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2022-01-13 18:30:43 +05:30
Ajay Bura
12f2eed5b3 Add ability to change power level in profile viewer
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2022-01-12 13:57:13 +05:30
Ajay Bura
c23acf9e9e Fix context menu margin in auth page
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2022-01-01 11:47:53 +05:30
Ajay Bura
5777c1ab27 Add RoomSettings comp
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2021-12-22 20:18:32 +05:30
Ajay Bura
ce9f140ddf Refector sass
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2021-12-19 10:28:41 +05:30
Ajay Bura
18dc02c700 Fix mxid colors for dark theme
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2021-12-16 18:39:44 +05:30
Ajay Bura
3d7e509f9a Localize fonts
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2021-12-16 17:55:16 +05:30
Ajay Bura
9d0f99c509 Fix checkbox in register flow
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2021-11-22 14:37:14 +05:30
Ajay Bura
1487dcbadc Fix login with CAS #165
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2021-11-14 13:35:01 +05:30
Ajay Bura
1137c11c59 Bug fixed
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2021-11-14 11:31:22 +05:30
Ajay Bura
85cc4cb8f7 Fix cropped loading and login screen
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2021-11-11 16:47:08 +05:30
Ajay Bura
1207f5abad Fixed error on register, zoom on safari and removed webpack copying env vars to bundle
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2021-11-11 14:09:06 +05:30
Ajay Bura
fc470d0622 Minor changes to registration msg
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2021-11-07 17:44:09 +05:30
Ajay Bura
a3270041e3 Bumped dependencies and v1.5.0
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2021-11-07 15:46:36 +05:30
Ajay Bura
fb5a54dd17 Re: fix alignment on hsInput in safari
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2021-11-06 19:12:45 +05:30
Ajay Bura
916d564f82 fix alignment on hsInput in safari
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2021-11-06 18:25:56 +05:30
Ajay Bura
364def188a Removed some servers and fixed shadow on input in safari
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2021-11-06 18:09:29 +05:30
Ajay Bura
a83aecaa69 Full UIAA implement (#93), #32, #146, #64, #102
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2021-11-06 15:15:35 +05:30
Ajay Bura
2e2b1c6f18 Added variety of msg on loading app
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2021-10-27 19:00:31 +05:30
Ajay Bura
1fa1496d7f Added logout in loading screen
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2021-10-27 17:08:26 +05:30
Ajay Bura
aca2c3a9dd v1.4.0: SSO login and profile viewer
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2021-10-25 17:53:25 +05:30
Ajay Bura
dc7fca4f4c SSO login bug fixed
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2021-10-19 20:23:15 +05:30
Ajay Bura
977759145e Fix redirect on SSO login (#142), #27, #94
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2021-10-19 19:38:09 +05:30
jamesjulich
119325c3a2 Add support for SSO login. 2021-10-11 11:21:44 +05:30
Ajay Bura
808fc8dc0d Fix Password don't match on register page
Signed-off-by: Ajay Bura <ajbura@gmail.com>
2021-10-06 12:35:51 +05:30
Ajay Bura
65d55d6660 Added toggle to see password (#73) 2021-09-14 09:01:31 +05:30
Ajay Bura
7ba1aabc09 Fixed scroll issue on login screen 2021-09-14 08:33:17 +05:30
unknown
8bf5a6e0bc Added options to control room notifications (#25) 2021-09-09 18:36:39 +05:30
unknown
4efc320f23 Added space nesting (#52) 2021-09-03 17:58:01 +05:30
unknown
705910d9e0 Renamed channels to rooms (#30) 2021-08-31 18:43:31 +05:30
unknown
8d4e796f42 added ReadReceipts component 2021-08-16 17:37:29 +05:30
unknown
0404f30c87 made EmojiBoard reusable 2021-08-14 10:19:29 +05:30