* 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>
* core: use longer timeouts for background network requests, support retries with increased timeouts
* ios: update types
* ios: allow user retry actions with failed network requests
* build: add exporting API functions with retry
* android, desktop: update types and C APIs
* android, desktop: alert to retry action on network error
* simplexmq
* ios: alerts to open known/prepared contact and groups
* android, desktop: alerts for knonw chats; all ui: fix prepared contacts misinterpreted as contact cards
* core: option to show group as sender of chat item (for the initial items, e.g. welcome message)
* add chat item to contact request chats
* return AChat for prepared chats and contact requests
* update iOS api types, show prepared contact as blue, show preview info when content message is not available (previously was showing feature item)
* ios: remove ContactType
* ios: show group as sender, fix avatar not showing when member message sequence starts with merged items
* ios: update compose UI for all connection scenarios
* address settings
* ios: address settings UI
* fix tests
* fix tests 2
* ios: fix minor issues
* 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: pass event and response error without dedicated constructor
* ios: WIP
* android, desktop: update UI for new API
* ios: fix parser
* fix showing invalid chats
* fix mobile api tests
* ios: split ChatResponse to 3 enums, decode API results on the same thread
* tweak types
* remove throws
* rename
* ios: small fixes
* main thread
* fix crash
* fix member opening
* dismissing sheets in order
* theoretical fix of some crashes
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* android, desktop: archive multiple reports
* ios
* change
* changes
* fix changing counter
* fix changing counter2
* fix changing counter3
* unused
* fix android
* android notification
* simplify
* ios notification
* orange
* orange
* core: update api
* buttons
* ios api
* android api
* fix 4 buttons
* buttons and check for member active status
* android colors and member active
* show delete group button when not in the group anymore
* title
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* 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>
* fix build
* Rename the second “create list” button to “save list”
* add notes preset tag
* reset search text if active filter is changed
* reset search when preset are pressed
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* types and db
* migration module
* chat tag
* store method proposal
* profiles build
* update type
* update return type
* building
* working api
* update
* refactor
* attach tags to contact
* simplify
* attach chat tags to group info
* get chat tags with supplied user id
* get tags fix
* ios: chat tags poc (#5370)
* ios: chat tags poc
* updates to sheet
* temporary display for other option on swipe
* sheet height
* only show preset when it has matches
* changes
* worst emoji picker ever
* simplify tag casts and collapse
* open on create tag if no tags
* simple emoji text field
* nice emoji picker
* dismiss sheets on tag/untag
* semibold selection
* all preset tag and change collapsed icon on selection
* default selected tag (all)
* only apply tag filters on empty search
* + button when no custom lists
* reset selection of tag filter on profile changes
* edit tag (broken menu inside swiftui list)
* create list to end of list
* swipe changes
* remove context menu
* delete and edit on swipe actions
* tap unread filter deselects other filters
* remove delete tag if empty
* show tag creation sheet when + button pressed
* in memory tag edit
* color, size
* frame
* layout
* refactor
* remove code
* add unread to same unit
* fraction on long press
* nav fixes
* in memory list
* emoji picker improvements
* remove diff
* secondary plus
* stop flickering on chat tags load
* reuse string
* fix reset glitches
* delete destructive
* simplify?
* changes
* api updates
* fix styles on list via swipe
* fixed untag
* update schema
* move user tags loading to get users chat data
* move presets to model
* update preset tags when chats are updated
* style fixes and locate getPresetTags near tags model
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* deleted contacts and card should not match contact preset
* fix update presets on chat remove
* update migration indices
* fix migration
* not used chat model
* disable button on repeated list name or emoji
* no chats message for search fix
* fix edits and trim
* error in footer, not in alert
* styling fixes due to wrong place to attach sheet
* update library
* remove log
* idea for dynamic sheet height
* max fraction 62%
* minor fixes
* disable save button when no changes and while saving
* disable preset filter if it is no longer shown
* remove comments from schema
* fix emoji
* remove apiChatTagsResponse
* always read chat tags
* fix
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* ios: added delete contacts, one hand ui, and contact action buttons
* remove unused, rework info buttons wip
* ios: moved existing buttons to new chat sheet
* ios: add basic list of contacts to new chat sheet
* ios: add deleted chats section to new chat sheet
* group chat info navigation
* fix spacing of group info buttons
* remove comment
* unify spacing logic across info views
* info button alerts wip
* calls alerts wip
* call buttons alerts
* fix call button to correctly update on preference change while in view
* refactor
* fix alert ids
* contact list wip
* more contact list actions
* open chat wip
* fix contact list elements clickability
* ios: search functionality on new chat sheet
* ios: white bg for search box on new chat sheet
* ios: don't show empty list when pasted contact is not known
* ios: add search and nav title to deleted chats
* navigation links wip
* fix refreshable
* ios: empty states for lists
* ios: hide contact cards from chat list
* ios: make search bar icon sizes consistent
* ios: fix deleted conversation dissapearing from chat list on back
* fix pending invitation cleanup in chat sheet
* rename search label from open to search
* make cleanup alert work on sheet and on dismiss
* dismiss all sheets after creation of groups
* fix double toolbar on group invite members
* fix double toolbar on group link invitation screen
* dismiss all on group creation error
* comment
* show alert in dismissAllSheets completion
* fix sheet dismissal on known group
* rework contact list with buttons (fixes dark mode)
* fix dark mode on new chat view
* fix search dark mode
* increase search padding
* improve new chat title and info button placing
* info view background
* improve create group title placement
* refactor
* fix delete dialogue in light mode
* change icon
* archivebox on contact list
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* android, desktop: show alert after saving profile with existing name
* ios: show alert after saving profile with existing name
* return statements
* better way of showing alert
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>