Commit Graph
10 Commits
Author SHA1 Message Date
Narasimha-sc 1462b8e012 android, desktop, ios: change only the progress indicator timeout
Reverts the shared helper the timeout change was extracted into, leaving the
effect where each view already had it. NewChatView and ViewModifiers are no
longer touched by this branch at all - the first was already at 0.5s.
2026-08-20 15:37:29 +00:00
Narasimha-sc 58aee54ad6 android, desktop, ios: do not offer to accept or join twice
An invitation being accepted is a fact about the invitation, not about the
view that shows it, but each view kept its own flag. The chat list row, the
long-press menu, the accept alert, the composer banner, the chat item
"tap to join" and the notification action therefore disagreed: accepting
from one left the others fully enabled, and the second accept reached the
core with an invitation the first one had already used.

ChatModel now records which contact requests are being accepted and which
groups are being joined. The shared acceptContactRequest and the new
joinGroup maintain it, so every caller participates without changing its
call site, and every view derives from it instead of owning a flag. The
record is taken before the request is sent, so a second tap in the same
view is blocked as well.

The connect composer no longer renders in a group's support scope: on
desktop that is a second view of the same group next to the main one, and
it offered its own Join button.
2026-08-20 11:43:11 +00:00
Narasimha-sc 683434625e android, desktop, ios: extract progress indicator timeout
The effect that turns on the progress indicator after a delay was copied
into 5 Kotlin and 4 Swift views. Two of the Swift copies had drifted: the
deferred write captured the value that started the delay rather than
reading the current one, so an operation that finished before the delay
elapsed left the indicator on with nothing to turn it off.

Timing is unchanged.
2026-08-20 11:32:42 +00:00
spaced4ndyandGitHub 69461c2257 ui: fix possible suspect for race condition on accept contact (#6121) 2025-07-28 16:51:37 +01:00
a7f8866360 ui: plan and connect spinners (#6048)
* ios: plan and connect spinners

* fix cleanup

* remove redundant check

* revert diff

* progress by timeout for join and connect buttons

* accept in progress

* connect in progress by timeout wip

* fix observable

* fix cleanup

* kotlin wip

* decrease delay

* ios: spinner as overlay

* remove duplicate stop progress, remove cleanupOnCancel

* contact request progress

* plan in progress wip

* fix cleanup

* search

* fix ios

* scanner

* desktop paste

* spinner in chat

* ios: don't repeat scan while in progress

* spinner in paste field

* cancellable plan

* cancel in more scenarios

* fix cancellation

* move progress to search

* remove task var

* pause scanner when processing qr code

* kotlin

* improvements

* layout

* layout

* move spinner

---------

Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
2025-07-10 09:29:39 +00:00
spaced4ndyandGitHub 557e8ddbe4 ios: fix accepting contact request incognito; android, desktop: fix showing incognito auto-accept toggle when short link data is not set (#6026)
* ios: fix accepting contact request incognito

* kotlin: fix incognito toggle
2025-07-01 13:35:21 +01:00
EvgenyandGitHub 8b770ca03e ios: better error handling when connecting via links, improve alerts with chat information (#6012)
* simplexmq

* ios: error handling

* better new chat alerts

* vertical buttons in alert when they dont fit

* allow messages in prepared groups
2025-06-26 12:10:06 +01:00
EvgenyandGitHub 9794829d74 core: show group as sender, add contact card to contact request chats, unify api type for prepared and contact request chats (#6003)
* 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
2025-06-23 14:42:00 +01:00
spaced4ndyandGitHub 7f6bc30894 core, ios: track "short link data set" state, interact with address accordingly (#5978) 2025-06-10 15:12:23 +00:00
spaced4ndyandGitHub 2bc4836338 core, ios: create contact requests with attached contact (#5967) 2025-06-09 16:18:01 +00:00