- Replace runBlocking { imageAndFilePath(file) } with LaunchedEffect +
withContext(Dispatchers.IO) to unblock main thread on all platforms
- Set fixed container size (width + aspectRatio) from preview bitmap to
eliminate layout shifts during async image loading
- Cache base64ToBitmap() with remember() in CIImageView and FramedItemView
- Desktop: replace imageBitmap.toAwtImage().toPainter() with BitmapPainter
to eliminate unnecessary round-trip conversion
- Desktop: add LRU cache for base64ToBitmap (200 entries) and
getLoadedImage (30 entries) to survive LazyColumn item disposal
- Clear loaded image cache on app file deletion via expect/actual
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* android, desktop: core API event timeout setting
* chat_recv_msg_wait with STM timeout
* Revert "chat_recv_msg_wait with STM timeout"
This reverts commit fdfa2964c5.
* do not use permanent wake lock
* wakelock option, get wakelock on network information change
* remove option
* initial wip
* initial parser
* limit mentions
* wip types and ohter changes
* small animation
* better limit
* show mentioned member when mention is in selectable area
* better space handling
* animation working
* changes
* auto tagging
* centralize state
* focus in desktop fix
* close picker on click outside
* use profile display name, avoid local
* show box with max number of mentions
* scrollbar in group mentions desktop
* sending and displaying mentions in views based on latest core code
* latest types and updates new api
* desktop selection area fix
* show mentions correctly
* new notifications UI changes
* local alias support
* mention notifications working
* mentions markdown changes
* fix notifications
* Revert "fix notifications"
This reverts commit 59643c24725d3caee3c629df6732f4b5bc294f8f.
* simple cleanup
* mentions in info view
* refactor/renames
* show member name to replies of my messages as primary
* show local alias and display name for mentions
* show 4 rows and almost all of 5th as picker max height
* only call list members api on new @ and searchn in all names
* fix
* correction
* fixes
* unread mentions chat stats
* unread indication in chat
* filtering of unread
* show @ in chat previews
* @ style
* alone @
* forgotten change
* deleted
* remove whitespace
* fix to make clear chat mark tags red
* comments changes
* @ as icon to avoid issues
* change
* simplify like ios
* renames
* wip using haskell parser
* show mention name containing @ in quotes
* cleanup and position of cursor after replace
* move
* show selected tick and edits working
* cimention in map
* eol
* text selection
* refactor
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
Co-authored-by: Avently <7953703+avently@users.noreply.github.com>
* android, desktop: reports dashboard
* changes
* changes
* unneeded updates and fixes
* changes
* api change
* item moderated/deleted
* a lot of changes
* changes
* reports tag and icon in ChatList
* archived by
* increasing counter when new report arrives
* refactor
* groupInfo button and closing when needed
* fix archived by
* reorder
* simplify
* rename
* filled flag
* Revert "filled flag"
This reverts commit 8b5da85101.
* removed support of archived page and counter
* fix closing modal
* show search button in bar without menu
* removed content filter
* no icon
* Revert "no icon"
This reverts commit 86c725b53e.
* fix tags
* unlogs
* unlogs
* chat item statuses
* background color
* refactor
* refactor
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* show "all" in meny when any active filter or text enabled, reset search when all selected
* show active preset filter as blue
* label changes
* edit, delete and change order via context menu
* simplify filter logic to match and make sure active chat always present
* notes preset
* remove no longer needed code
* reorder mode boolean, rememberSaveable
* avoid glitch in dropdown menu animation
* move dropdown menu to tagListview
* tagsRow via actual/expect
* current chat id always on top
* avoid recompose
* fix android
* selected preset should be blue
* show change list in context menu if chat already had tag
* swap icons
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* types and api
* remaining api
* icons for tags (named label due to name conflict)
* icon fix
* wup
* desktop handlers to open list
* updates
* filtering
* progress
* wip dump
* icons
* preset updates
* unread
* + button in tags view
* drag n drop helpers
* chats reorder
* tag chat after list creation (when chat provided)
* updates on unread tags
* initial emoji picker
* fixes and tweaks
* reoder color
* clickable shapes
* paddings
* reachable form
* one hand for tags
* ui tweaks
* input for emojis desktop
* wrap chat tags in desktop
* handling longer texts
* fixed a couple of issues in updates of unread tags
* reset search text on active filter change
* fix multi row alignment
* fix modal paddings
* fix single emoji picker for skin colors
* dependency corrected
* icon, refactor, back action to exit edit mode
* different icon params to make it larger
* refactor
* refactor
* rename
* rename
* refactor
* refactor
* padding
* unread counter size
---------
Co-authored-by: Avently <7953703+avently@users.noreply.github.com>
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* consistent space to bottom on future of messaging
* consistent button suze on server operators
* updated setup database passphrase screen
* ability to cancel random passphrase
* reduce conditions padding to header
* show scrollbar in desktop
* EOLs
* EOL
* fix random passphrase param when deleting database and recreating new one
---------
Co-authored-by: Evgeny <evgeny@poberezkin.com>
Co-authored-by: Avently <7953703+avently@users.noreply.github.com>
* android, desktop: remove one hand ui bar from onboarding and design matching latest ios
* padding before text
* stop reserving space in conditions view
* notifications view
* revert unwanted
* update heading
* translations for new how it works
* how it works redone
* show create profile in how it works
* revert
* conditions of use same padding bottom
* unused str
* swapped instant and off notifications order
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* api and types
* whats new view
* new package and movements
* move network and servers to new package
* network and servers view
* wip
* api update
* build
* conditions modal in settings
* network and servers fns
* save server fixes
* more servers
* move protocol servers view
* message servers with validation
* added message servers
* use for files
* fix error by server type
* list xftp servers
* android: add server view (#5221)
* android add server wip
* test servers button
* fix save of custom servers
* remove unused code
* edit and view servers
* fix
* allow to enable untested
* show all test errors in the end
* android: custom servers view (#5224)
* cleanup
* validation footers
* operator enabled validation
* var -> val
* reuse onboarding button
* AppBarTitle without alpha
* remove non scrollable title
* change in AppBarTitle
* changes in AppBar
* bold strings + bordered text view
* ChooseServerOperators
* fix
* new server view wip
* fix
* scan
* rename
* fix roles toggle texts
* UsageConditionsView
* aligned texts
* more texts
* replace hard coded logos with object ref
* use snapshot state to recalculate errors
* align views; fix accept
* remove extra snapshots
* fix ts
* fix whatsnew
* stage
* animation on onboarding
* refactor and fix
* remember
* fix start chat alert
* show notice in chat list
* refactor
* fix validation
* open conditions
* whats new view updates
* icon for navigation improvements
* remove debug
* simplify
* fix
* handle click when have unsaved changes
* fix
* Revert "fix"
This reverts commit d49c373641.
* Revert "handle click when have unsaved changes"
This reverts commit 39ca03f9c0.
* fixed close of modals in whats new view
* grouping
* android: conditions view paddings (#5228)
* revert padding
* refresh operators on save
* fixed modals in different views for desktop
* ios: fix enabling operator model update
* fix modals
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
Co-authored-by: Avently <7953703+avently@users.noreply.github.com>
* multiplatform: insets
* more features and better performance
* calls and removed unused code
* changes
* removed logs
* status and nav bar colors
* chatList and newChatSheet search fields
* overhaul
* search fields, devtools, chatlist, newchatsheet, onehand on desktop, scrollbars
* android, desktop: update to Compose 1.7.0
- support image drag-and-drop from other applications right to a chat
(with and without transparent pixels - will be png or jpg)
* stable
* workaround
* changes
* ideal adapting height layout
* dropdownmenu, userpicker, onehandui, call layout, columns
* rename bars properties and strings
* faster update and better layout
* gallery in landscape with cutout
* better cutout
* 1% step on slider
* app bar moves to bottom in one hand ui
* default alpha
* changes
* userpicker colors
* changes
* blur
* fix wrong drawing area in chatview
* fix
* fixed differently
* changes
* changes
* android fix
* Revert "android fix"
This reverts commit 7d417afd9b.
* changes
* changes
* blur
* swap
* no logs
* fix build
* old Android support
* fix position of menu
* disable blur on Android 12
* call button padding
* useless code
* fix padding in group info view
* rename
* rename
* newline
* one more fix
* changes
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* docs: correction
* android, desktop: update to Compose 1.7.0
- support image drag-and-drop from other applications right to a chat
(with and without transparent pixels - will be png or jpg)
* stable
* workaround
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* android, desktop: checking for camera in calls and handle uninitialized call
* explanation for situation without permission
* reorder
* reorder
* strings
* font
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* android, desktop: add roundness setting to chat items
* add tail setting
* use shape for clip
* wip tails
* shape style
* show tail only on last msg in group
* roundings
* padding for direct chats
* groups padding
* space between messages in settings preview
* refactor group paddings
* simplify
* simplify
* RcvDeleted handling
* revert uncessary
* import
* always maintain tail position
* rename
* reactions should not move
* short emoji shouldn't have tail
* remove invisible tail for voice without text
* better usage of gutters
* simplify
* rename
* simplify reactions
* linter happy
* exclude moderated items from shape
* uncessary diff
* func position
* fix chat view align on font resize (with image)
* fix tails moving bubble on max width
* fix big group names sometimes changing position
* small refactor
* fix top left corner end position
* rename
* sticky steps
* revert whitespace changes
---------
Co-authored-by: Avently <7953703+avently@users.noreply.github.com>
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* android, desktop: calls switching from audio to video and back
* refactor
* working all 4 streams with mute handling differently
* changes
* changes
* wrong file
* changes
* padding
* android camera service type
* icons, sizes, clickable
* refactor
* Revert "android camera service type"
This reverts commit 9878ff38e9.
* late init camera permissions
* enabling camera sooner than call establishes (not fully done)
* changes
* alpha
* fixes for Safari
* enhancements
* fix Safari sound
* padding between buttons on desktop
* android default values for padding
* changes
* calls without encryption are supported and flipping camera on some devices works
* unused param
* logs
* background color
* play local video in Safari
* no line height
* removed one listener from per frame processing
* enhancements
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* user picker as modal
* android dirty layout
* color mode switcher
* close picker on desktop opening modals
* cleanup
* remote hosts working
* icon buttons
* profile picker modal for external shares
* remove stroke
* color changes
* add unread badge to users row
* chat database settings section
* safe remove of you settings section
* picker should now open for single user
* remove create profile from settings
* paddings
* handle big names
* fonts and align
* simple animations and shadow
* address messaging
* active is grey
* padding
* hide non active devices from pills
* picker positioning
* pills order
* change view all profiles icon
* bigger space between profiles
* hosts ordering and fixes
* device pill in app bar
* simplex address -> public
* better switch of opacity bg
* create public address
* font match
* add icon for dark mode
* padding
* profile name as header
* h2 is too big
* icon colors
* icons
* settings as modal
* center settings
* fix use from desktop
* remove logs
* bar colors
* remove drawer unused code
* animate shading
* fade in fade out
* add system mode toast
* shading colors
* stop pushing shade up
* same button as ios for opening all profiles
* simplify nav bar color set
* broken transition change
* color mix
* gradient and horizontal scroll
* separate title
* align avatars to top
* picker should always remain open
* use chevron icon to see all profiles
* improvements on status and nav color set
* best case bars switching working
* change bar and shading on theme change
* remove unused var
* reset navbar colors on navigate
* updated icon color
* protect android calls
* desktop menu matching size of right side modals
* remove shading from desktop
* close user picker on settings click in desktop
* bigger profile image smaller gap to name
* fix spacer for row scroll on android
* smaller profile name
* remove unused code
* small refactor
* unused
* move desktop/mobile connection
* close drawer on swipe down 30%
* progress dump on new android design
* paddings in scroller
* gradient
* android paddings
* split inactive user picker between platforms
* move your chat profiles inside android specific
* always show your chat profiles in desktop
* fix profile creation in desktop
* remove unused var
* update android space between badges
* initial desktop design
* center android icons with avatar
* centered avatars
* unread badge
* extra space in the end of user list for android
* aligned paddings on desktop
* desktop paddings
* paddings
* remove you
* unread badge same style as chatlist
* use bedtime moon for dark mode
* chevron same size as sun/moon
* chevron and gradient
* paddings
* split android and desktop scaffold for picker
* move bars logic to android
* remove android check
* more android checks
* initial version of swipable modal
* muted as grey
* unused
* close drawer on 3/4
* better close control
* make all animations match
* move shadow with offset
* always close pciker on selection
* animated float doing nothing
* sync animation
* animation using single float
* fixed warnings
* better state update
* fix scrim color
* better handling of picker closure on desktop
* landscape mode
* intentation
* rename UserPickerScaffold
* hide shadow when picker not open
* reset inactive user scroll position on pick
* unused class
* left panel after new menu can be without padding
* small changes
* make ActiveProfilePicker reusable to reduce code duplication
* make picker scrollable
* refactor
* refactor and fix instant reload of profiles
* refactor
* icon sizes
* returned back ability to scroll to the picker on Android
* setting system theme on desktop's right click
* box
* refactor
* picker pill
* fix desktop shadow
* small change
* hiding keyboard when opening picker
* state specifying
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
Co-authored-by: Avently <7953703+avently@users.noreply.github.com>
* android, desktop: improvement to a lock UI
* oneTime passcode screen which allows to pass verification while in call
* change
* unused line
* don't ask to set up auth if already has
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* android, desktop: scrolling moves title to app bar
* one place should be without padding
* scroll related changes for both platforms
* adapt code to universal ColumnWithScrollBar
* show in center
* small adjustments
* new chat sheet fix
* divider + mix background color for desktop
* coerce
* different transition
* desktop title starts from left
* host starts from left too
* different coefficient
* settings title