Commit Graph

262 Commits

Author SHA1 Message Date
Narasimha-sc
34ad395acb ui: jump to filtered message in chat history (#6715)
Show Go button on content-filtered messages (images, links, voice, etc.)
to navigate to the message in the full unfiltered chat history.
Reuses existing search Go button and openAroundItemId mechanism.
2026-03-28 20:16:14 +00:00
Narasimha-sc
b0e6a7bfc1 ui: call button in toolbar with audio/video submenu, filter in menu on mobile (#6700)
* ui: call button in toolbar with audio/video submenu, filter in menu on mobile

- Call button always outside three-dots menu; tapping it opens a submenu
  with Audio call and Video call options (both Android/iOS and desktop)
- Desktop: two toolbar buttons — Filter + Call
- Android/iOS: call button in toolbar; filter options move into the
  three-dots menu below a divider line
- Groups: filter button always in toolbar on all platforms
- Edge case: when calls are disabled/unavailable for a contact, the call
  button is hidden and the filter button is shown in its place in the
  toolbar instead

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* ui: call button before filter button on desktop toolbar

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
2026-03-28 07:26:16 +00:00
spaced4ndy
0946f50b6a ios: product specification (#6633) 2026-02-19 10:58:16 +00:00
Evgeny
d30dde5026 android, desktop: content filter in chats (#6594)
* android, desktop: content filter in chats

* fix command

* fix

* show content filter menu in search

* show end call in app bar during active call with the current contact
2026-01-23 17:27:15 +00:00
Evgeny
a87f0772c8 ios: content filter in chats (#6590)
* ios: content filter in chats

* allowed content types

* icons
2026-01-23 12:50:44 +00:00
spaced4ndy
a65151ba6d core, ui: replace map of network statuses with subscription status of current chat (#6353)
* core: subscription status wip

* update

* update

* update

* remove statuses core

* cleanup ios

* comment

* plans

* remove NetworkStatus

* ios wip

* contact sub status

* Revert "contact sub status"

This reverts commit 50cf94beed.

* sub status

* set on connected

* kotlin

* rename

* layout

* member status

* kotlin

* fix chat subscription status

* string

* core: update simplexmq

* client notices

* update simplexmq

* update alert

* update simplexmq

* android/desktop

* formatting

* fix tests

* update plans and API docs

---------

Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
2025-10-18 22:53:47 +01:00
spaced4ndy
764ea39cdb ui: delay closing support view on acceptance for items to be marked read (#6244)
* ui: delay closing support view on acceptance for items to be marked read

* move to coroutine

* increase delay
2025-09-07 08:30:59 +01:00
spaced4ndy
9705ae15ea ui: fix report archiving (#6239)
* kotlin: fix report archivation

* ios wip

* surrogate reports scope

* refactor
2025-09-05 12:38:26 +01:00
spaced4ndy
9d65b9eb2b ui: navigation from support chat to member info (#6237) 2025-09-03 13:07:28 +00:00
Evgeny
4811d663e6 rfc: bot messages and buttons, core: command markdown, supported commands in profile preferences, chat sessions preference, peer type field in profile to identify bots (#5360)
* rfc: bot messages and buttons

* update

* update bot rfc

* core: add bot commands to chat preferences and peer type to profile

* update postgresql schema

* update query plans

* chat sessions preference

* markdown for bot commands

* schema

* core: file preference, options to create bot from CLI

* core: different command type

* ios: commands menu

* update types

* update ios

* improve command markdown

* core, ios: update types

* android, desktop: clickable commands in messages in chats with bots

* android, desktop: commands menu

* command menu button, bot icon

* ios: connect flow for bots

* android, desktop: connect flow for bots

* icon

* CLI commands to view and set commands, remove "hidden" property of command, bot api docs

* corrections

* fix inheriting profile preferences to business groups

* note on business address

* ios: export localizations

* fix test

* commands to set file preference on user/contact, tidy up layout and display of command and attachment buttons
2025-08-07 11:13:35 +01:00
Evgeny
ac5a2ee399 ui: use markdown when showing profile bio and group purpose (#6126)
* ios: use markdown when showing profile bio and group purpose

* android, desktop: use markdown when showing profile bio and group purpose
2025-08-02 12:18:19 +01:00
spaced4ndy
f42a6751b1 core: allow to manually accept member contact requests (#6129)
* core: allow to manually accept member contact requests

* response

* comment

* comment

* add fields

* fix

* field in request

* compiles

* fix tests

* test

* plans

* fix mobile tests

* fix doc tests

* renames

* group name in event

* fix renames

* tests

* plans

* rename selector

* ios wip

* fix

* ios wip

* move

* fix backend bug, ui

* reject dialogue

* update plans

* kotlin

* delete swipe

* should accept text

* rename

* postgres migration

* ios: pass chat as binding

* rename module

* fix queries

* schema

* update plans, api docs

---------

Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
2025-08-01 10:18:29 +01:00
spaced4ndy
68b7f09c8f core, ui: chat banner (#6089)
* core: create banner item

* filter deletions

* fix query

* ios

* fixes

* remove comment

* revert diff

* refactor

* fix most tests

* fix tests

* spacer

* plans

* create banner for 1-time link initiator

* style in progress

* change background

* ui

* remove bio length limit

* ui

* create banner for client chat

* rename

* more contexts

* fix tests

* move

* fixed image size

* plans

* remove diff

* kotlin

* copy

* paddings

* paddings

* comment

* layout, messages

* fonts

* texts, icons

* kotlin refactor

* kotlin texts

* fix date

* Revert "fix date"

This reverts commit abbd48b334.

* date

* fix texts

* kotlin date

* color and corners

* kotlin

* color

* update banner, context menu in ios

* update texts, do not show epoch timestamp for banner

* fix texts

---------

Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
2025-07-21 19:07:21 +01:00
Evgeny
a6a5afb58e ui: use conventional save icon for all files (#6077) 2025-07-15 13:23:30 +01:00
spaced4ndy
0a722cbe2a ui: fix connecting to group with member review (#6072) 2025-07-15 08:01:05 +00:00
spaced4ndy
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
spaced4ndy
2dd54c6697 core, ui: prohibit changing profile for prepared entity when first attempt to connect failed (#6037)
* core: prohibit changing profile for prepared entity when first attempt to connect failed

* reuse incognito

* schema

* ios

* postgres schema

* ios

* reenable tests

* kotlin

* update alert

* rename predicate, combine queries

* send the correct incognito mode, fail on attempt to change mode for prepared connection

* query plans

* ui: show group connecting status

---------

Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
2025-07-05 11:09:10 +01:00
spaced4ndy
6c06200b14 core: create business chat when preparing via contact link data with business flag (#6008)
* core: create business chat when preparing via contact link data with business flag

* add to test

* plans

* ios

* ios
2025-06-23 18:00:21 +01:00
Evgeny
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
spaced4ndy
7f6bc30894 core, ios: track "short link data set" state, interact with address accordingly (#5978) 2025-06-10 15:12:23 +00:00
spaced4ndy
2bc4836338 core, ios: create contact requests with attached contact (#5967) 2025-06-09 16:18:01 +00:00
spaced4ndy
56c8d8696e core: prepare and connect to group (#5964) 2025-06-05 13:16:04 +00:00
spaced4ndy
8a4760a2cb core: set short links data, prepare entity, etc.; ios: connect to prepared contact (#5951) 2025-06-04 07:47:10 +00:00
spaced4ndy
e84016e1b9 core, ui: update group scope unread stats on item deletions; create reports as read (reports use a different attention mechanism) (#5930) 2025-05-20 16:18:23 +00:00
spaced4ndy
b0547cf6f7 Merge branch 'stable' 2025-05-19 20:02:49 +04:00
Evgeny
7b362ff655 ui: label in compose when user cannot send messages (#5922)
* ui: label in compose when user cannot send messages

* gray buttons when user cannot send messages

* improve

* kotlin

* fix order

* fix alert

---------

Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
2025-05-19 14:50:33 +00:00
spaced4ndy
409d7e8532 ios: scroll to reported item (#5915) 2025-05-15 15:04:03 +00:00
Evgeny
9478172a82 ios: fix toolbar in member support chat (#5902)
* 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
2025-05-14 10:36:54 +01:00
spaced4ndy
e9414d713e Merge branch 'master' into group-knocking 2025-05-13 13:05:48 +04:00
Evgeny
bb2e7baaa8 ios: fix taps on reactions, member profile images, selecting items, icons to navigate to found and forwarded items (Xcode 16 regressions) (#5890) 2025-05-12 12:59:03 +01:00
Evgeny
8d54acef92 ios: only handle taps on messages with links or secrets, use image for secret markdown (#5885)
* ios: use image for secret markdown

* remove unnecessary ViewBuilders
2025-05-11 14:15:14 +01:00
spaced4ndy
79991e84c9 core: member requires attention counter (#5881) 2025-05-09 15:36:06 +00:00
spaced4ndy
2a9df3e10b ui: knocking UI improvements (texts, icons, layout, chat view shortcut split toolbar, set admission on creating group) (#5879) 2025-05-08 13:44:55 +00:00
spaced4ndy
d087059153 ios: close support chat for invitee when accepted (#5873) 2025-05-07 07:37:17 +00:00
spaced4ndy
3c36b0c692 ios: fix chat view closing for invitee after being accepted 2025-05-07 11:25:23 +04:00
spaced4ndy
d193658cac ios: auto-open support chat for invitee in pending status (#5871) 2025-05-06 14:55:54 +00:00
spaced4ndy
28a588628c ios: correct list of members possible to mention in support scope (#5870) 2025-05-05 09:32:57 +00:00
spaced4ndy
0ea1363a27 ios: dynamically mark items read 2025-05-05 12:32:55 +04:00
spaced4ndy
32fb5a5d12 ios: knocking ui (#5851)
* ios: knocking ui types

* update types

* member admission

* remove chatItemStatuses

* member support view

* member support chat view wip

* ios: secondary ItemsModel (#5862)

* toolbar

* more chats

* remove theme

* preview icon

* chat toolbar fast markers

* change icon

* change icon

* remove/accept buttons

* item style

* get item ItemsModel in chat model methods (chat view doesn't work dynamically)

* fix support chat

* fix other chats

* refresh on exit

* refresh button

* dynamic marker in chat list

* prohibit multi select actions

* prohibited send field
2025-05-04 22:27:20 +01:00
spaced4ndy
38b8e0cee6 ios: refactor chat state (remove chatItemsChangesListener) (#5858) 2025-04-29 16:27:19 +00:00
Evgeny
45e395d35a core, ui: short connection links with stored data (#5824)
* 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
2025-04-14 21:25:32 +01:00
Stanislav Dmitrenko
364aa667ad ios: scrolling improvements (#5746)
* ios: scrolling improvements

* changes

* fixes

* fix

* private

---------

Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
2025-03-13 22:36:45 +00:00
spaced4ndy
47adbe2813 ui: fix strings, update translations (#5718)
* ios: fix strings

* update translations

* update report ru translations

* remove unnecessary localizations

* update ru translations

* update android translations

* import translations

---------

Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
2025-03-07 12:50:44 +00:00
Stanislav Dmitrenko
ad4adf66ec ios: fix small scroll on new message (#5721)
* ios: fix small scroll on new message

* added inset in calculation of offset
2025-03-07 09:19:37 +00:00
Stanislav Dmitrenko
a0560a5ad0 ios: fix search (#5715) 2025-03-06 11:28:26 +00:00
Stanislav Dmitrenko
a3a27b250c ios: small fixes (#5712)
* 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>
2025-03-06 10:31:05 +00:00
Stanislav Dmitrenko
fefddb3b5a ios: go to forwarded item or search result (#5679)
* ios: go to forwarded item or search result

* react on touch

* changes
2025-02-28 14:45:24 +00:00
Stanislav Dmitrenko
676583d3c3 ios: enhancements to floating buttons (#5644)
* ios: enhancements to floating buttons

* nearBottom

* timeout

* changes

---------

Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
2025-02-20 10:39:04 +00:00
Stanislav Dmitrenko
dc980ae88f ios: loading progress moved to chat list (#5639)
* ios: loading progress moved to chat list

* place

* changes

* large spinner, smaller timeout

---------

Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
2025-02-19 16:13:20 +00:00
Stanislav Dmitrenko
ec519afb3f ios: fixed unread counters (#5640) 2025-02-18 20:44:24 +00:00