* 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
* 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>
* 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>
* core, ios: connection plan for business address
* core: store xcontact_id on business groups to prevent duplicate contact requests
* core: create feature items in new groups and in business groups
* fix tests
* error message
* core: add api that enables change of owner user id for pending connections
* old user sends request, incognito handling and coverage
* call agent inside set connection api
* only set user id if servers match
* simplify
* reduce test noise
* return invitation when a newone is created
* add test for profile on different server
* refactor namings
* update simplexmq
* refactor
* test improvements and simplify
* remove fdescribes
* simplify and reduce vars scope
* put if back
* refactor, change error
* refactor view
* refactor
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* core: wallpapers api
* optional colors
* update
* api
* update
* whitespace
* typo
* test, fix
* fix color parsing
* separate UI and Theme color schemes
* update
* enable test
* multiple themes, one per color scheme
* theme overrides as a separate type
* rename
---------
Co-authored-by: Avently <7953703+avently@users.noreply.github.com>
* core: add agreed connection version field
* fix
* progress
* use pqSupport and version to decide compression in messages
* pass version to encodeConnInfoPQ
* update pq enable/disable api
* remove TestConfig
* update nix dependencies
* update texts
* corrections
* create e2ee info items when connection switches from off to on first time
* corrections
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* comment
* increase test timeout
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* add pagination args to APIGetChats
* add search to chat list API
* rename arg to paginationTs_ to match type
* lift another condition to ids query
* collect all chat refs before sorting, then get details
* split remaining preview functions
* roll back to collecting ids first with query cleanup
* add connection join back to filter out groups
* extract and expand tests
* add fav/unread args
* WIP
* lay out the queries with favs
* tweak tests
* add fav tests
* fix order by in the before case
* build query footer wholly from pagination
* add migration for direct contacts
* fix setting contact_used
* fix setting contact_used for group link contacts
* align search x filters space with UI, support filter by either favorite or unread, optimize queries, indexes
* always set chat_ts, fix tests
* refactor tests
* fix pagination logic, more tests
* refactor, rename
* increase default pagination count
* comments
* refactor
* comment
* report errors
* refactor
* remove unused type
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* core: test group members are assigned different LDNs in group when direct connections aren't created
* disable test output
* core: connect existing contacts to new members when profile matches (#3059)
* core: connect existing contacts to new members when profile matches
* fix migration
* progress
* xInfoProbeOk for member
* fix tests
* add test
* fix tests
* tests
* remove deleteSentProbe
* remove deleteContactProfile_
* views
* don't check connections in deleteUnusedProfile_
* Revert "don't check connections in deleteUnusedProfile_"
This reverts commit 2016a0efde.
* fix test
* core: update member merge
* update saved schema
* fix queries and tests
* rename tables to original names
* remove index, corrections
* update schema dump
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* core: api to create contacts with group members
* implementation
* fix contact replace, more tests
* comment
* rename fields
* fix
* fix
* test group is still incognito
* fix
* replace connection instead of contact
* fix
* check version
* style, names
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>