Commit graph

644 commits

Author SHA1 Message Date
Ajay Bura
d0f2a865bc
make file, image viewer wide (#1444) 2023-10-10 11:37:03 +05:30
Ajay Bura
5940cf24a0
Inline markdown in editor (#1442)
* add inline markdown in editor

* send markdown re-generative data in tags

* enable vscode format on save

* fix match italic and diff order

* prevent formatting in code block

* make code md rule highest

* improve inline markdown parsing

* add comment

* improve code logic
2023-10-09 16:56:54 +05:30
Ajay Bura
60b5b5d312
consider membership change with reason change (#1441) 2023-10-08 11:05:16 +05:30
Ajay Bura
bffd27ae5b
Fix-jump-latest-senstivity (#1440)
* fix jump to latest sensitivity

* select mention space as tab
2023-10-08 00:09:43 +11:00
Ajay Bura
13573f4b3f
Fix space mention (#1439)
* open space on space mention click

* fix styles

* fix message options sticks

* revert last changes
2023-10-07 14:51:35 +05:30
Ajay Bura
1bdb7f4e3a
Timeline-refactor-fixes (#1438)
* fix type

* fix missing member from reaction

* stop context menu event propagation in msg modal

* prevent encode blur hash from freezing app

* replace roboto font with inter and fix weight

* add recent emoji when selecting emoji

* fix room latest evt hook

* add option to drop typing status
2023-10-07 18:19:01 +11:00
Cadence Ember
f9b895b32c
Prompt to send command as message (#1435) 2023-10-06 08:18:48 +05:30
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
Alliegaytor
fcd7723f73
Fix notifications not displaying when document is not focused (#1425)
Allows notifications from the active room while app is not focused (e.g. tabbed out)
2023-09-24 10:01:02 +05:30
Emi
47f6c44c17
Fix permission detection for updating emojis (#1125) 2023-09-01 10:19:34 +05:30
ts
1adee07127
Fix Profile Viewer text (#1357)
If you only had a single session open, the Profile Viewer would've said "View 1 sessions" instead of "View 1 session."
2023-07-27 09:25:10 +05:30
greentore
3c60976efa
Passive private receipt support (#1108)
Co-authored-by: Ajay Bura <32841439+ajbura@users.noreply.github.com>
2023-07-24 10:10:43 +05:30
Ajay Bura
053b801262
Fix editor custom html output (#1348)
* replace paragraph with line breaks

* stop sending plain msg as custom html

* removes console log

* fix false negative for sanitized customHtml

* fix customHtmlEqualsPlainText doc
2023-07-23 13:42:09 +05:30
greentore
1a37fd0ca4
Use sticker body for searching (#1347) 2023-07-23 13:41:36 +05:30
Ajay Bura
f14d70ea35
fix msg event permission check (#1315) 2023-06-28 21:57:28 +10:00
Ajay Bura
b6283b3469
Update member drawer icons (#1312)
* update folds

* update member drawer icons
2023-06-25 08:40:48 +05:30
Ajay Bura
b19e248383
Fix member panel filter layout (#1307)
* fix member panel filter layout

* make member role text lowercase
2023-06-23 09:46:04 +10:00
Ajay Bura
c07905c360
Improve Members Right Panel (#1286)
* fix room members hook

* fix resize observer hook

* add intersection observer hook

* install react-virtual lib

* improve right panel - WIP

* add filters for members

* fix bug in async search

* categories members and add search

* show spinner on room member fetch

* make invite member btn clickable

* so no member text

* add line between room view and member drawer

* fix imports

* add screen size hook

* fix set setting hook

* make member drawer responsive

* extract power level tags hook

* fix room members hook

* fix use async search api

* produce search result on filter change
2023-06-22 09:14:50 +10:00
Ajay Bura
4a6c53703f
fix global pack showing all room packs (#1303) 2023-06-21 20:59:02 +10:00
ZeroAurora
4c84673bdf
Improve verification instructions (#1301) 2023-06-21 10:00:43 +10:00
Ajay Bura
41f67cabc0
Add editor history (#1284)
* add slate editor history

* reset mark on editor reset
2023-06-16 11:11:03 +10:00
Ajay Bura
bc5e7445d9
Add ESC btn to toolbar to quickly exit formatting (#1283)
* Add ESC btn to toolbar to quickly exit formatting

* add horizontal scroll to toolbar item

* make editor toolbar usable in touch device

* fix editor hotkeys not working in window

* remove unused import
2023-06-16 11:09:09 +10:00
Ajay Bura
2883b4c35b
Fix editor bugs (#1281)
* focus editor on reply click

* fix emoji and sticker img object-fit

* fix cursor not moving with autocomplete

* stop sanitizing sending plain text body

* improve autocomplete query parsing

* add escape to turn off active editor toolbar item
2023-06-13 23:17:18 +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
Thumbscrew
2055d7a07f
add document.hasFocus check for incoming room events (#1252) 2023-05-28 21:24:10 +05:30
Ajay Bura
da92ce3a46
fix: spoiler hidden link click (#1199) 2023-04-16 22:22:01 +10:00
Bo
dcad1840c4
fix: Fixed small typo an cross signing reset modal (#1112) 2023-03-30 20:12:33 +05:30
Krishan
f6694031a1
Release v2.2.6 (#1178)
* Update package.json

* Update package-lock.json

* Update cons.js
2023-03-29 22:02:01 +11:00
Krishan
8524472d38
Release v2.2.5 (#1176)
* Update package.json

* Update package-lock.json

* Update cons.js
2023-03-29 14:30:52 +11:00
Krishan
a6fb44e1ab Release v2.2.4 2023-01-30 15:27:17 +11:00
Krishan
4ea14c853e Release v2.2.3 2023-01-15 16:16:40 +11:00
Ajay Bura
38bbc1c6f5
Vite plugin to add svg as inline data (#1072)
* add vite plugin to add svg as inline data

* Add node types package
2023-01-15 09:52:58 +05:30
Stefano Pigozzi
9a34daa2bc
Set accept attribute to image/* in ImageUpload (#989)
That way, browsers will suggest to the users to upload an image file instead of any kind of file.

The behaviour is in-line with Element's, which specifies the same attribute when selecting an avatar.

Please note that it does not prevent users from uploading non-image files as avatars, as browsers interpret that attribute as a mere suggestion, which can be bypassed in the file select dialog.

Partially fixes #982.
2023-01-15 09:44:16 +05:30
Ajay Bura
e5e3f5f0a3 Add jsdelivr cdn for twemoji 2023-01-14 18:51:42 +05:30
Ajay Bura
899a89cb3b
Replace Webpack to Vite (#1023)
* Add vite, typescript and prettier

* Configure vite

* Fix tsconfig error

* Fix manifest json

* Move manifest json to root

* Bug fix

* Move back manifest json to public
2022-12-20 20:47:51 +05:30
dependabot[bot]
62e0821be2
Bump matrix-js-sdk from 20.1.0 to 21.0.1 (#959)
* Bump matrix-js-sdk from 20.1.0 to 21.0.0

Bumps [matrix-js-sdk](https://github.com/matrix-org/matrix-js-sdk) from 20.1.0 to 21.0.0.
- [Release notes](https://github.com/matrix-org/matrix-js-sdk/releases)
- [Changelog](https://github.com/matrix-org/matrix-js-sdk/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/matrix-org/matrix-js-sdk/compare/v20.1.0...v21.0.0)

---
updated-dependencies:
- dependency-name: matrix-js-sdk
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump matrix-js-sdk from 20.1.0 to 21.0.1

Bumps [matrix-js-sdk](https://github.com/matrix-org/matrix-js-sdk) from 20.1.0 to 21.0.1.
- [Release notes](https://github.com/matrix-org/matrix-js-sdk/releases)
- [Changelog](https://github.com/matrix-org/matrix-js-sdk/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/matrix-org/matrix-js-sdk/compare/v20.1.0...v21.0.1)

---
updated-dependencies:
- dependency-name: matrix-js-sdk
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fix upload content

* Change min supported node

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ajay Bura <32841439+ajbura@users.noreply.github.com>
2022-11-08 20:19:22 +05:30
mjarr
6a907b1542
Remove MSC3244 use from restricted room creation (#892)
* Remove MSC3244 use from restricted room creation

* Fix condition
2022-11-01 20:36:38 +05:30
Ajay Bura
91a6916f4c Release v2.2.2 2022-09-28 20:48:41 +05:30
Krishan
9185ee0cf9
Release v2.2.1 2022-09-28 19:26:12 +05:30
Ajay Bura
759f16d5b9 Fix crash on space leave 2022-09-28 18:17:15 +05:30
Ajay Bura
d0ddedc2b2 Wrap view source text 2022-09-28 13:54:58 +05:30
ginnyTheCat
4291005161
Handle nested lists (#853)
* Handle nested lists

* Allow heading to not be followed by an empty line

* Don't parse as inline code if contains newlines

* Use escape rule in plain as well
2022-09-25 19:31:59 +05:30
Krishan
80d9a2ca7d
Release v2.2.0 2022-09-17 19:04:13 +05:30
ginnyTheCat
cbd1bf35c6
Only escape when editing (#852)
* Only escape when editing

* Base edit change detection on rendered content
2022-09-17 16:55:26 +05:30
Ajay Bura
c1be57b205 Add clear cache btn in loading screen 2022-09-17 15:48:45 +05:30
morguldir
4848bef0dd
Add Clear cache and reload button (#793)
Inspired by: 3c5c2bef6d/src/components/views/elements/ErrorBoundary.tsx (L61-L68)

Signed-off-by: morguldir <morguldir@protonmail.com>

Signed-off-by: morguldir <morguldir@protonmail.com>
2022-09-17 13:21:22 +05:30
ginnyTheCat
a8f374dd43
Parsing HTML to Markdown AST (#847)
* Force mentions to have a space after the #

* Use types for rendering

* Parse HTML

* Add code block support

* Add table support

* Allow starting heading without a space

* Escape relevant plaintext areas

* Resolve many crashes

* Use better matrix id regex

* Don't match . after id

* Don't parse mentions as links

* Add emote support

* Only emit HTML link if necessary

* Implement review changes
2022-09-16 21:21:53 +05:30
ginnyTheCat
15c1f6dadf
Allow rendering messages as plaintext (#805)
* Parse room input from user id and emoji

* Add more plain outputs

* Add reply support

* Always include formatted reply

* Add room mention parser

* Allow single linebreak after codeblock

* Remove margin from math display blocks

* Escape shrug

* Rewrite HTML tag function

* Normalize def keys

* Fix embedding replies into replies

* Don't add margin to file name

* Collapse spaces in HTML message body

* Don't crash with no plaintext rendering

* Add blockquote support

* Remove ref support

* Fix image html rendering

* Remove debug output

* Remove duplicate default option value

* Add table plain rendering support

* Correctly handle paragraph padding when mixed with block content

* Simplify links if possible

* Make blockquote plain rendering better

* Don't error when emojis are matching but not found

* Allow plain only messages with newlines

* Set user id as user mention fallback

* Fix mixed up variable name

* Replace replaceAll with replace
2022-09-14 14:30:06 +05:30
ginnyTheCat
b0174f3acc
Delete notifications after messages have been read or deleted (#830)
* Delete read notifications

* Delete notifications for deleted messages

* Correctly remove notification
2022-09-11 18:51:59 +05:30
ginnyTheCat
a343d9999e
Handle messages with invalid body (#833) 2022-09-11 18:51:05 +05:30