After founder simplified SectionDividerSpaced to one Spacer height (any flag
true -> DEFAULT_PADDING; both false -> DEFAULT_PADDING_HALF), many call sites
still pass combinations like (maxTopPadding = true) or
(maxTopPadding = true, maxBottomPadding = false) that all produce the same
20dp gap as the default. The flag names no longer match what they do —
reviewer flagged this as misleading.
Collapse all call sites to two canonical forms: SectionDividerSpaced() for
the 20dp gap, SectionDividerSpaced(maxBottomPadding = false) for the 10dp
tight gap. Behavior identical. Function signature kept (founder's API).
Restore UserPicker.kt and UserPicker.android.kt to their state at 43855ae07
(before commit 3a7118235 introduced SectionView wraps). The founder asked in
chat to keep UserPicker out of the cards facelift — undo all of our changes
to it, including the followup tweaks (avatar padding, divider above grid,
active-profile wrap, etc.) and the founder's own followup cleanup 23b0e41d8
which only existed to refactor our wraps.
LocalInSectionCard is declared in Section.kt which has no package (root package), so it must be imported as 'import LocalInSectionCard', not as 'chat.simplex.common.views.helpers.LocalInSectionCard'.
Two changes:
1) Theme.kt LIGHT canvas: 0.97f → 0.94f (#F0F0F0). User wants more
contrast against cards. With Material's default 0.04-alpha hover
(#F5F5F5) this puts hover LIGHTER than canvas by 5 units — unusual
direction but it's the user's call; they'll evaluate visually.
2) ChatListNavLinkView.android: when rendered inside a SectionView card
(e.g. contact list inside NewChatSheet after the forEach-into-card
refactor), use SectionDivider() — same 2dp full-width canvas-color
divider as desktop. Outside a card (main chat list), fall back to
the original Material `Divider(Modifier.padding(horizontal = 8.dp))`
so unchanged for that context.
3) LocalInSectionCard made `internal` so the android-specific file can
read it. Same pattern as LocalAppColors etc.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The active-call action button row (mute, speaker, hang up, flip/toggle camera)
was rendered with only a fixed 20.dp bottom padding. Under edge-to-edge layout
on devices with 3-button navigation, the system nav bar (~48.dp) drew on top
of these buttons, hiding part of them.
Add `.navigationBarsPadding()` to the BoxWithConstraints holding the buttons
so the row floats above the system nav bar inset. No effect on devices using
gesture nav (the inset there is small enough to not collide).
- 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
* android: allow to enter passphrase in case of error reading it
* change
* refactor
* strings
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* 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>
* android, desktop: landscape calls on Android and better local camera ratio management
The main thing is that now when exiting from CallActivity while in call
audio devices are not reset to default. It allows to have landscape mode
enabled
* styles
* fix changing calls
* 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: re-apply custom language when webview appears
There is a bug on Android related to including WebView. App language
changes to system language regardless of what was set before in
context's configuration. Re-set needed to be done twice: after creating
of WebView and after removing it from a view
* add link to bug
---------
Co-authored-by: Evgeny <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>