Previously markAsRead() only sent m.read receipts via sendReadReceipt().
This meant the read position was not persisted across page refreshes,
especially noticeable in bridged rooms.
Now uses setRoomReadMarkers() which sets both:
- m.fully_read marker (persistent read position)
- m.read receipt
Fixes issue where rooms would still show as unread after refresh.
fix: detect muted rooms with empty actions array
The mute detection was checking for `actions[0] === "dont_notify"` but
Cinny sets `actions: []` (empty array) when muting a room, which is
the correct behavior per Matrix spec where empty actions means no
notification.
This caused muted rooms to still show unread badges and contribute to
space badge counts.
Fixes the isMutedRule check to handle both:
- Empty actions array (current Matrix spec)
- "dont_notify" string (deprecated but may exist in older rules)
* Replace 'envs.net' with 'unredacted.org' in config
https://envs.net/ is shutting down their Matrix server
* Update defaultHomeserver and reorder servers list
* Remove 'monero.social' from homeserver list
* 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>
On most browsers, pressing Enter to end IME composition produces this
sequence of events:
* keydown (keycode 229, key Processing/Unidentified, isComposing true)
* compositionend
* keyup (keycode 13, key Enter, isComposing false)
On Safari, the sequence is different:
* compositionend
* keydown (keycode 229, key Enter, isComposing false)
* keyup (keycode 13, key Enter, isComposing false)
This causes Safari users to mistakenly send their messages when they
press Enter to confirm their choice in an IME.
The workaround is to treat the next keydown with keycode 229 as if it
were part of the IME composition period if it occurs within a short time
of the compositionend event.
Fixes#2103, but needs confirmation from a Safari user.
* 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
* 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
* add new search modal
* remove search modal from searchTab
* fix member avatar load for space with 2 member
* use media authentication when rendering avatar
* fix hotkey for macos
* add @ in username
* replace subspace minus separator with em dash
* 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
* 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
* 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
* 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
* 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
* add simple button to start a thread on reply
* force build
* remove useless actions
* add actions back
* change icon to ThreadPlus
* add button to context menu
* fix capital T
---------
Co-authored-by: Ajay Bura <32841439+ajbura@users.noreply.github.com>
* Improve focus behaviour on search boxes and chats
* Implemented MR #2317
* Fix crash if canMessage is false
* Prepare for PR #2335
* disable autofocus on message field
* fix inaccessible space on alias change
* fix new room in space open in home
* allow opening space timeline
* hide event timeline feature behind dev tool
* add navToActivePath to clear cache function
* kick-ban all members by servername
* Add command for deleting multiple messages
* remove console logs and improve ban command description
* improve commands description
* add server acl command
* fix code highlight not working after editing in dev tools
* fix room setting crash in knock_restricted join rule
* only show knock & space member join rule for space children
* fix knock restricted icon and label
* 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
* WIP - add room settings dialog
* join rule setting - WIP
* show emojis & stickers in room settings - WIP
* restyle join rule switcher
* Merge branch 'dev' into new-room-settings
* add join rule hook
* open room settings from global state
* open new room settings from all places
* rearrange settings menu item
* add option for creating new image pack
* room devtools - WIP
* render room state events as list
* add option to open state event
* add option to edit state event
* refactor text area code editor into hook
* add option to send message and state event
* add cutout card component
* add hook for room account data
* display room account data - WIP
* refactor global account data editor component
* add account data editor in room
* fix font style in devtool
* show state events in compact form
* add option to delete room image pack
* add server badge component
* add member tile component
* render members in room settings
* add search in room settings member
* add option to reset member search
* add filter in room members
* fix member virtual item key
* remove color from serve badge in room members
* show room in settings
* fix loading indicator position
* power level tags in room setting - WIP
* generate fallback tag in backward compatible way
* add color picker
* add powers editor - WIP
* add props to stop adding emoji to recent usage
* add beta feature notice badge
* add types for power level tag icon
* refactor image pack rooms code to hook
* option for adding new power levels tags
* remove console log
* refactor power icon
* add option to edit power level tags
* remove power level from powers pill
* fix power level labels
* add option to delete power levels
* fix long power level name shrinks power integer
* room permissions - WIP
* add power level selector component
* add room permissions
* move user default permission setting to other group
* add power permission peek menu
* fix weigh of power switch text
* hide above for max power in permission switcher
* improve beta badge description
* render room profile in room settings
* add option to edit room profile
* make room topic input text area
* add option to enable room encryption in room settings
* add option to change message history visibility
* add option to change join rule
* add option for addresses in room settings
* close encryption dialog after enabling
* add hide activity toggle
* stop sending/receiving typing status
* send private read receipt when setting toggle is activated
* prevent showing read-receipt when feature toggle in on
* Remove reply fallbacks & add m.mentions
(WIP) the typing on line 301 and 303 needs fixing but apart from that this is mint
* Less jank typing
* Mention the reply author in m.mentions
* Improve typing
* Fix typing in m.mentions finder
* Correctly iterate through editor children, properly handle @room, ...
..., don't mention the reply author when the reply author is ourself, don't add own user IDs when mentioning intentionally
* Formatting
* Add intentional mentions to edited messages
* refactor reusable code and fix todo
* parse mentions from all nodes
---------
Co-authored-by: Ajay Bura <32841439+ajbura@users.noreply.github.com>
* 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
* add hook to fetch one level of space hierarchy
* add enable param to level hierarchy hook
* improve HierarchyItem types
* fix type errors in lobby
* load space hierarachy per level
* fix menu item visibility
* fix unknown spaces over federation
* show inaccessible rooms only to admins
* fix unknown room renders loading content twice
* fix unknown room visible to normal user if space all room are unknown
* show no rooms card if space does not have any room
* escape inline markdown character
* fix typo
* improve document around custom markdown plugin and add escape sequence utils
* recover inline escape sequences on edit
* remove escape sequences from plain text body
* use `s` for strike-through instead of del
* escape block markdown sequences
* fix remove escape sequence was not removing all slashes from plain text
* recover block sequences on edit
* remove limit from emoji autocomplete
* remove search limit from user mention
* remove limit from room mention autocomplete
* increase user search limit to 1000
* better search string selection for emoticons
* Corrected button title
Media would load automatically if the option is checked not the other way around.
* Update src/app/features/settings/general/General.tsx
* Update General.tsx
* Update General.tsx
---------
Co-authored-by: Krishan <33421343+kfiven@users.noreply.github.com>
* Add rendering image captions
* Handle sending captions for images
* Fix caption rendering on m.video and m.audio too
* Remove unused renderBody() parameter
* Fix m.file rendering body instead of filename where possible
* Add caption rendering for generic files
+ Fix video and audio not properly sending captions
* Use m.text for captions & render on demand
* Allow custom HTML in sending captions
* Don't *send* captions
* mvoe content const into renderCaption()
---------
Co-authored-by: Ajay Bura <32841439+ajbura@users.noreply.github.com>
Appeareantly Firefox (and maybe Chrome) won't let service workers take over requests from <video> and <audio> tags, so we just fetch the URL ourselves.
* fix set power level broken after sdk update
* add media authentication hook
* fix service worker types
* fix service worker not working in dev mode
* fix env mode check when registering sw
* chore: Bump matrix-js-sdk to 34.4.0
* feat: Authenticated media support
* chore: Use Vite PWA for service worker support
* fix: Fix Vite PWA SW entry point
Forget this. :P
* fix: Also add Nginx rewrite for sw.js
* fix: Correct Nginx rewrite
* fix: Add Netlify redirect for sw.js
Otherwise the generic SPA rewrite to index.html would take effect, breaking Service Worker.
* fix: Account for subpath when regisering service worker
* chore: Correct types
* support room via server params and eventId
* change copy link to matrix.to links
* display matrix.to links in messages as pill and stop generating url previews for them
* improve editor mention to include viaServers and eventId
* fix mention custom attributes
* always try to open room in current space
* jump to latest remove target eventId from url
* add create direct search options to open/create dm with url
* handle client boot error in loading screen
* use sync state hook in client root
* add loading screen options
* removed extra condition in loading finish
* add sync connection status bar
* update silver theme
* update unread badge style to look more slim
* update nav item style to look less sharp
* fix type focus message input typo
* decrease navigation drawer width to bring main chat layout to little more center
* increase sidebar width to make it less congested
* fix sidebar item style
* decrease dark theme contrast
* improve dark theme
* revert sidebar width change
* add join with address option in home context menu
* match legacy theme with latest themes
* optimize room typing members hook
* remove unused code - WIP
* remove old code from initMatrix
* remove twemojify function
* remove old sanitize util
* delete old markdown util
* delete Math atom component
* uninstall unused dependencies
* remove old notification system
* decrypt message in inbox notification center and fix refresh in background
* improve notification
---------
Co-authored-by: Krishan <33421343+kfiven@users.noreply.github.com>
* load room on url change
* add direct room list
* render space room list
* fix css syntax error
* update scroll virtualizer
* render subspaces room list
* improve sidebar notification badge perf
* add nav category components
* add space recursive direct component
* use nav category component in home, direct and space room list
* add empty home and direct list layout
* fix unread room menu ref
* add more navigation items in room, direct and space tab
* add more navigation
* fix unread room menu to links
* fix space lobby and search link
* add explore navigation section
* add notifications navigation menu
* redirect to initial path after login
* include unsupported room in rooms
* move router hooks in hooks/router folder
* add featured explore - WIP
* load featured room with room summary
* fix room card topic line clamp
* add react query
* load room summary using react query
* add join button in room card
* add content component
* use content component in featured community content
* fix content width
* add responsive room card grid
* fix async callback error status
* add room card error button
* fix client drawer shrink
* add room topic viewer
* open room card topic in viewer
* fix room topic close btn
* add get orphan parent util
* add room card error dialog
* add view featured room or space btn
* refactor orphanParent to orphanParents
* WIP - explore server
* show space hint in room card
* add room type filters
* add per page item limit popout
* reset scroll on public rooms load
* refactor explore ui
* refactor public rooms component
* reset search on server change
* fix typo
* add empty featured section info
* display user server on top
* make server room card view btn clickable
* add user server as default redirect for explore path
* make home empty btn clickable
* add thirdparty instance filter in server explore
* remove since param on instance change
* add server button in explore menu
* rename notifications path to inbox
* update react-virtual
* Add notification messages inbox - WIP
* add scroll top container component
* add useInterval hook
* add visibility change callback prop to scroll top container component
* auto refresh notifications every 10 seconds
* make message related component reusable
* refactor matrix event renderer hoook
* render notification message content
* refactor matrix event renderer hook
* update sequence card styles
* move room navigate hook in global hooks
* add open message button in notifications
* add mark room as read button in notification group
* show error in notification messages
* add more featured spaces
* render reply in notification messages
* make notification message reply clickable
* add outline prop for attachments
* make old settings dialog viewable
* add open featured communities as default config option
* add invite count notification badge in sidebar and inbox menu
* add element size observer hook
* improve element size observer hook props
* improve screen size hook
* fix room avatar util function
* allow Text props in Time component
* fix dm room util function
* add invitations
* add no invites and notification cards
* fix inbox tab unread badge visible without invite count
* update folds and change inbox icon
* memo search param construction
* add message search in home
* fix default message search order
* fix display edited message new content
* highlight search text in search messages
* fix message search loading
* disable log in production
* add use space context
* add useRoom context
* fix space room list
* fix inbox tab active state
* add hook to get space child room recursive
* add search for space
* add virtual tile component
* virtualize home and directs room list
* update nav category component
* use virtual tile component in more places
* fix message highlight when click on reply twice
* virtualize space room list
* fix space room list lag issue
* update folds
* add room nav item component in space room list
* use room nav item in home and direct room list
* make space categories closable and save it in local storage
* show unread room when category is collapsed
* make home and direct room list category closable
* rename room nav item show avatar prop
* fix explore server category text alignment
* rename closedRoomCategories to closedNavCategories
* add nav category handler hook
* save and restore last navigation path on space select
* filter space rooms category by activity when it is closed
* save and restore home and direct nav path state
* save and restore inbox active path on open
* save and restore explore tab active path
* remove notification badge unread menu
* add join room or space before navigate screen
* move room component to features folder and add new room header
* update folds
* add room header menu
* fix home room list activity sorting
* do not hide selected room item on category closed in home and direct tab
* replace old select room/tab call with navigate hook
* improve state event hooks
* show room card summary for joined rooms
* prevent room from opening in wrong tab
* only show message sender id on hover in modern layout
* revert state event hooks changes
* add key prop to room provider components
* add welcome page
* prevent excessive redirects
* fix sidebar style with no spaces
* move room settings in popup window
* remove invite option from room settings
* fix open room list search
* add leave room prompt
* standardize room and user avatar
* fix avatar text size
* add new reply layout
* rename space hierarchy hook
* add room topic hook
* add room name hook
* add room avatar hook and add direct room avatar util
* space lobby - WIP
* hide invalid space child event from space hierarchy in lobby
* move lobby to features
* fix element size observer hook width and height
* add lobby header and hero section
* add hierarchy room item error and loading state
* add first and last child prop in sequence card
* redirect to lobby from index path
* memo and retry hierarchy room summary error
* fix hierarchy room item styles
* rename lobby hierarchy item card to room item card
* show direct room avatar in space lobby
* add hierarchy space item
* add space item unknown room join button
* fix space hierarchy hook refresh after new space join
* change user avatar color and fallback render to user icon
* change room avatar fallback to room icon
* rename room/user avatar renderInitial prop to renderFallback
* add room join and view button in space lobby
* make power level api more reusable
* fix space hierarchy not updating on child update
* add menu to suggest or remove space children
* show reply arrow in place of reply bend in message
* fix typeerror in search because of wrong js-sdk t.ds
* do not refetch hierarchy room summary on window focus
* make room/user avatar un-draggable
* change welcome page support button copy
* drag-and-drop ordering of lobby spaces/rooms - WIP
* add ASCIILexicalTable algorithms
* fix wrong power level check in lobby items options
* fix lobby can drop checks
* fix join button error crash
* fix reply spacing
* fix m direct updated with other account data
* add option to open room/space settings from lobby
* add option in lobby to add new or existing room/spaces
* fix room nav item selected styles
* add space children reorder mechanism
* fix space child reorder bug
* fix hierarchy item sort function
* Apply reorder of lobby into room list
* add and improve space lobby menu items
* add existing spaces menu in lobby
* change restricted room allow params when dragging outside space
* move featured servers config from homeserver list
* removed unused features from space settings
* add canonical alias as name fallback in lobby item
* fix unreliable unread count update bug
* fix after login redirect
* fix room card topic hover style
* Add dnd and folders in sidebar spaces
* fix orphan space not visible in sidebar
* fix sso login has mix of icon and button
* fix space children not visible in home upon leaving space
* recalculate notification on updating any space child
* fix user color saturation/lightness
* add user color to user avatar
* add background colors to room avatar
* show 2 length initial in sidebar space avatar
* improve link color
* add nav button component
* open legacy create room and create direct
* improve page route structure
* handle hash router in path utils
* mobile friendly router and navigation
* make room header member drawer icon mobile friendly
* setup index redirect for inbox and explore server route
* add leave space prompt
* improve member drawer filter menu
* add space context menu
* add context menu in home
* add leave button in lobby items
* render user tab avatar on sidebar
* force overwrite netlify - test
* netlify test
* fix reset-password path without server redirected to login
* add message link copy button in message menu
* reset unread on sync prepared
* fix stuck typing notifications
* show typing indication in room nav item
* refactor closedNavCategories atom to use userId in store key
* refactor closedLobbyCategoriesAtom to include userId in store key
* refactor navToActivePathAtom to use userId in storage key
* remove unused file
* refactor openedSidebarFolderAtom to include userId in storage key
* add context menu for sidebar space tab
* fix eslint not working
* add option to pin/unpin child spaces
* add context menu for directs tab
* add context menu for direct and home tab
* show lock icon for non-public space in header
* increase matrix max listener count
* wrap lobby add space room in callback hook
* emojify msg txt find&replace instead of recursion
* move findAndReplace func in its own file
* improve find and replace
* move markdown file to plugins
* make find and replace work without g flag regex
* fix pagination stop on msg arrive
* render blurhash in small size
* remove shift from editor hotkeys
* fix inline markdown not working
* add block md parser - WIP
* emojify and linkify text without react-parser
* no need to sanitize text when emojify
* parse block markdown in editor output - WIP
* add inline parser option in block md parser
* improve codeblock regex
* ignore html tag when parsing inline md in block md
* add list markdown rule in block parser
* re-generate block markdown on edit
* change copy from inline markdown to markdown
* fix trim reply from body regex
* fix jumbo emoji in reply message
* fix broken list regex in block markdown
* enable markdown by defualt
* 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
* use hotkey using key instead of which (default)
* remove shift from block formatting hotkeys
* smartly exit formatting with backspace
* set markdown to off by default
* exit formatting with escape
* add commands hook
* add commands in editor
* add command auto complete menu
* add commands in room input
* remove old reply code from room input
* fix video component css
* do not auto focus input on android or ios
* fix crash on enable block after selection
* fix circular deps in editor
* fix autocomplete return focus move editor cursor
* remove unwanted keydown from room input
* fix emoji alignment in editor
* test ipad user agent
* refactor isAndroidOrIOS to mobileOrTablet
* update slate & slate-react
* downgrade slate-react to 0.98.4
0.99.0 has breaking changes with ReactEditor.focus
* add sql to readable ext mimetype
* fix empty editor formatting gets saved as draft
* add option to use enter for newline
* remove empty msg draft from atom family
* prevent msg ctx menu from open on text selection
* add func to parse html to editor input
* add plain to html input function
* re-construct markdown
* fix missing return
* fix falsy condition
* fix reading href instead of src of emoji
* add message editor - WIP
* fix plain to editor input func
* add save edit message functionality
* show edited event source code
* focus message input on after editing message
* use del tag for strike-through instead of s
* prevent autocomplete from re-opening after esc
* scroll out of view msg editor in view
* handle up arrow edit
* handle scroll to message editor without effect
* revert prev commit: effect run after editor render
* ignore relation event from editable
* allow data-md tag for del and em in sanitize html
* prevent edit without changes
* ignore previous reply when replying to msg
* fix up arrow edit not working sometime
* 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
* 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
* 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
* Disable asset inlining
* Prevent `manifest.json` from being inlined
* Update backtick to single quote in vite.config.js
---------
Co-authored-by: Ajay Bura <32841439+ajbura@users.noreply.github.com>
* 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
* 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
* 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
if:(github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target'
# Beta Release
uses:cla-assistant/github-action@v2.2.1
uses:cla-assistant/github-action@v2.6.1
env:
GITHUB_TOKEN:${{ secrets.GITHUB_TOKEN }}
# the below token should have repo scope and must be manually added by you in the repository's secret
A Matrix client focusing primarily on simple, elegant and secure interface. The main goal is to have an instant messaging application that is easy on people and has a modern touch.
Web app is available at https://app.cinny.in and gets updated on each new release. The `dev` branch is continuously deployed at https://dev.cinny.in but keep in mind that it could have things broken.
The web app is available at [app.cinny.in](https://app.cinny.in/) and gets updated on each new release. The `dev` branch is continuously deployed at [dev.cinny.in](https://dev.cinny.in) but keep in mind that it could have things broken.
You can also download our desktop app from [cinny-desktop repository](https://github.com/cinnyapp/cinny-desktop).
You can also download our desktop app from the [cinny-desktop repository](https://github.com/cinnyapp/cinny-desktop).
To host Cinny on your own, download tarball of the app from [GitHub release](https://github.com/cinnyapp/cinny/releases/latest).
You can serve the application with a webserver of your choice by simply copying `dist/` directory to the webroot.
To set default Homeserver on login and register page, place a customized [`config.json`](config.json) in webroot of your choice.
## Self-hosting
To host Cinny on your own, simply download the tarball from [GitHub releases](https://github.com/cinnyapp/cinny/releases/latest), and serve the files from `dist/` using your preferred webserver. Alternatively, you can just pull the docker image from [DockerHub](https://hub.docker.com/r/ajbura/cinny) or [GitHub Container Registry](https://github.com/cinnyapp/cinny/pkgs/container/cinny).
Alternatively you can just pull the [DockerHub image](https://hub.docker.com/r/ajbura/cinny) by:
```
docker pull ajbura/cinny
```
or [ghcr image](https://github.com/cinnyapp/cinny/pkgs/container/cinny) by:
```
docker pull ghcr.io/cinnyapp/cinny:latest
```
* The default homeservers and explore pages are defined in [`config.json`](config.json).
<details>
<summary>PGP Public Key to verify tarball</summary>
* You need to set up redirects to serve the assests. Example configurations; [netlify](netlify.toml), [nginx](contrib/nginx/cinny.domain.tld.conf), [caddy](contrib/caddy/caddyfile).
* If you have trouble configuring redirects you can [enable hash routing](config.json#L35) — the url in the browser will have a `/#/` between the domain and open channel (ie. `app.cinny.in/#/home/` instead of `app.cinny.in/home/`) but you won't have to configure your webserver.
* To deploy on subdirectory, you need to rebuild the app youself after updating the `base` path in [`build.config.ts`](build.config.ts).
* For example, if you want to deploy on `https://cinny.in/app`, then set `base: '/app'`.
<details><summary><b>PGP Public Key to verify tarball</b></summary>
> We recommend using a version manager as versions change very quickly. You will likely need to switch
between multiple Node.js versions based on the needs of different projects you're working on. [NVM on windows](https://github.com/coreybutler/nvm-windows#installation--upgrades) on Windows and [nvm](https://github.com/nvm-sh/nvm) on Linux/macOS are pretty good choices. Also recommended nodejs version Hydrogen LTS (v18).
> [!TIP]
> We recommend using a version manager as versions change very quickly. You will likely need to switch between multiple Node.js versions based on the needs of different projects you're working on. [NVM on windows](https://github.com/coreybutler/nvm-windows#installation--upgrades) on Windows and [nvm](https://github.com/nvm-sh/nvm) on Linux/macOS are pretty good choices. Recommended nodejs version is Krypton LTS (v24.13.1).
Execute the following commands to start a development server:
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.