* android, desktop, ios: show chat name in delete / leave / clear confirmation dialogs
The dialogs confirming delete contact, delete/leave group/channel and
clear chat now show the chat's name on its own line above the existing
warning, so the user can see which chat the destructive action will
affect.
Pure code change: no new translation strings, no signature changes, no
new helpers. The name is read via existing displayName accessors on
GroupInfo / Contact / ChatInfo.
clearNoteFolderDialog is intentionally unchanged - the notes folder is a
single-instance object and its existing warning already identifies it.
* android, desktop, ios: also show chat name when deleting pending connection
deleteContactConnectionAlert was missed in the original inventory.
Same pattern as the other dispatchers - prepend the connection's
displayName on its own line above the existing warning - so a user
who set a custom name on a pending connection can see which one
they are about to delete.
* android: use <br> instead of \n for newline in delete confirmation dialog body
On Android, the alert body goes through HtmlCompat.fromHtml which
treats the input as HTML and collapses literal \n to a single space -
so "Tech Talk\n\nGroup will be deleted..." rendered as
"Tech Talk Group will be deleted...". Switch to <br><br>, which both
HtmlCompat (Android) and the Desktop parser at Utils.desktop.kt:75
correctly render as a newline.
* android, desktop: skip HTML parsing for delete confirmation dialog text
Add parseHtml: Boolean = true parameter to showAlertDialog and
showAlertDialogButtonsColumn; when false, the body text is wrapped as
AnnotatedString and routed through the existing AnnotatedString
AlertContent overload, bypassing escapedHtmlToAnnotatedString entirely.
The 8 dispatchers that embed the user-controlled chat displayName now
opt out (parseHtml = false). This means:
- displayName is rendered as literal text - no HTML interpretation,
so a contact whose alias is "<b>X</b>" or "<font color=..." no
longer renders bold or coloured in the confirmation dialog
- the platforms align: both iOS and Kotlin now use plain "\n\n" for
the separator (no more <br><br> Kotlin-only workaround)
- removes coupling to escapedHtmlToAnnotatedString in this path
* android, desktop: shorten parseHtml comment in AlertManager
* remove extra text
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
Companion to #6958 (Android/Desktop). Channel-link "Share via chat"
picker showed Saved Messages, which produced `Failed reading: empty`
on tap because `*<id>` has no branch in `sendRefP`. Add `includeLocal`
flag to `filterChatsToForwardTo` (default true) and to
`ChatItemForwardingView`; `shareChannelPicker` passes false.
Bug #2 from #6958 (button on plain groups) is not present on iOS —
`GroupLinkView.swift:110` already gates by `publicGroup != nil`.
* core: test support chats in channels, CLI defaults to sending as member in support chat
* ui: enable support chats in channels
* use correct scope when sending from UI
* more readable
* remove test output
* show member support chat in channels
* preference for support chats
* ios: types for support preference
* mp: support preference types
* show support preference in UI
* fix ios
* make support preference optional in JSON parser
* update string
* change strings, pass parameters to prefs
* refactor kotlin
* take support preference into account
* refactor core
* do not show broadcast placeholder in support scope
* move role check, add pref check on update
* support preference test (failing)
* fix version
* fix tests
* warning alert when enabling chats with admins
* revert on dismiss
* update text and icons
* query plans
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
* ios: sharing channel links/cards
* update nix shas
* improve
* fix preview
* change condition
* move button for owner
* refactor
* refactor 2
* fix sheets
* MsgChatLink JSON encoding
* correct default icon when editing group profile
* drop link from card
* card layout
* strip link from text
* remove file ref
* share via chat when created
* rename file, do not show text when there is no text
* better card layout
* padding, info string
* add log
* padding
* text layout
* warning emoji if signature verification failed
* chat link preview in chat list
* description
* alert information
* tappable preview
* better
* conditional border color
* sending and forwarding views
* small link icons for forwarding
* strip link in one place
* forwarded context
* quote view for chat links
* reduce diff, remove unnecessary changes
* simplify
* trim description
* diff
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
* core: short bio/description for contact and group profiles
* use short description in commands
* fix tests
* query plans
* ios: show contact and group profile descriptions
* android, desktop: short description/bio
* ui: layout for chat info, correct copy
* comment out fields to add/edit short descriptions
* remove short description from events
* postgres schema
* ios: fix toolbar in member support chat
* refactor
* refactor nav buttons
* ios: unread reports, members requiring attention
* top bar destop (special case for 1 support chat)
* put Navigation view higher in hierarchy
* use nav title for knocking
* refactor loading secondary chat, overlay fake toolbar for knocking chats
* fix member reports toolbar
* unread counter for member's support chat
* core, ui: optionally use short links (#5799)
* core: optionally use short links
* update test
* update simplexmq, short group links
* fix query
* fix parser for _connect
* ios: use short links
* shorten links to remove fingerprint and onion hosts from known servers
* fix parser
* tests
* nix
* update query plans
* update simplexmq, simplex: schema for short links
* simplexmq
* update ios
* fix short links in ios
* android: use short links
* fix short group links, test short link connection plans
* core: fix connection plan to recognize own short links
* update simplexmq
* space
* all tests
* relative symlinks in simplexmq to fix windows build
* core: improve connection plan for short links (#5825)
* core: improve connection plan for short links
* improve connection plans
* update UI
* update simplexmq
* ios: add preset server domains to entitlements, add short link paths to .well-known/apple-app-site-association
* update simplexmq
* fix group short link in iOS, fix simplex:/ scheme saved to database or used for connection plans
* update simplexmq
* ios: delay opening URI from outside until the app is started
* update simplexmq
* api types
* display for mentions and replys
* picking of mentions
* notifications (wip)
* auto tagging
* show selected mention
* Divider and list bg
* stop keyboard dismiss on scroll from ios 16
* change notification mode in all views
* icon for mentions notification mode
* make unread states work in memory and chat preview
* preview fixes
* fix unread status when mark read manually
* update library
* fixed padding
* fix layout
* use memberName
* remove ChatNtfs, show mentions in context items and in drafts, make mentions a map in ComposeState
* rework mentions (WIP)
* better
* show mention name containing @ in quotes
* editing mentions
* editing
* mentionColor
* opacity
* refactor mention counter
* fix unread layout
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* core: support chat item TTL per chat
* ios: UI mockup
* core: chat time to live and group local alias support (#5533)
* functions and type placeholders
* simplify
* queries to make tests pass
* set chat queries
* fetch queries
* get local aliases for groups
* local alias support for groups
* simplify
* fix tests
* fix
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* migration
* add test for expiration
* expireChatItems
* refactor queries, read objects inside the loop
* add groupId to query
* fix updateGroupAlias
* ios group alias
* ttl
* changes
* fixes and test
* new types for ttl
* chat and groups ttl in ios
* accurate alert
* label
* progress indicator, disable interactions while api running
* just call expire chat items
* android, desktop: add local alias to groups (#5544)
* android, desktop: add local alias to groups
* different placeholder for chats vs contacts
* improvements and fixes
* only expire chat items, not all items, when chat ttl changes
* refactor, fix conditions
* refactor
* refactor ChatTTLOption
* text
* fix
* make ttl state
* fix crash/remove warnings
* fix for current?
---------
Co-authored-by: Diogo <diogofncunha@gmail.com>
* ios: ask for confirmation of save on group preferences sheet dismiss
* fix exit without saving temporary state and also apply fix on dismiss during group creation