* core: api and protocol support for reporting messages to group moderators
* moderator role
* delete mode
* remove auto-accepting conditions for SimpleX Chat Ltd
* mark as deleted locally
* ui: delete mode type
* store msg_content_tag with chat items, support moderator option on receiving side
* report API
* send reports only to moderators that support them, fail if none support
* fix tests
* test
* remove comment
* revert version
* do not build ghc8107 in stable branch
* skip job
* fix condition
* remove condition
* condition
* exit
* update
* 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: use random servers for each operator (WIP, compiles with undefined stub)
* compiles
* fix some, break some
* tests pass
* cleanup
* delays in tests
* enable random servers test
* remove new preset servers in down migration
* fix migration
* test
* core: different roles for different protocols
* include current conditions in responses
* fix
* fix test
* fix
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* core: preset servers and operators (WIP)
* usageConditionsToAdd
* simplify
* WIP
* database entity IDs
* preset operators and servers (compiles)
* update (most tests pass)
* remove imports
* fix
* update
* make preset servers lists potentially empty in some operators, as long as the combined list is not empty
* CLI API in progress, validateUserServers
* make servers of disabled operators "unknown", consider only enabled servers when switching profile links
* exclude disabled operators when receiving files
* fix TH in ghc 8.10.7
* add type for ghc 8.10.7
* pattern match for ghc 8.10.7
* ghc 8.10.7 fix attempt
* remove additional pattern, update servers
* do not strip title from conditions
* remove space
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* core: auto increment chat item ids (#5088)
* core: auto increment chat item ids
* file name
* down name
* update schema
* ignore down migration on schema dump test
* fix testDirectMessageDelete test
* fix testNotes test
* core: initial api support for items around a given item (#5092)
* core: initial api support for items around a given item
* implementation and tests for local messages
* pass entities down
* unused
* getAllChatItems implementation and tests
* pagination for getting chat and tests
* remove unused import
* group implementation and tests
* refactor
* order by created at for local and direct chats
* core: initial landing api for chat and gaps (#5104)
* initial work on initial param for loading chat
* support for initial
* controller parse
* fixed sqls
* refactor names
* fix ChatLandingSection serialized type
* total accuracy on landing section
* descriptive view message
* foldr
* refactor to make landingSection reusable
* refactor: use foldr everywhere
* propagate search
* Revert "propagate search"
This reverts commit 01611fd719.
* throw when search is sent for initial
* gap size wip (needs testing)
* final
* remove order by
* remove index
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* core: fix initial api latest chat items ordering (#5151)
* core: fix one item missing from latest in initial and wrong check (#5153)
* core: fix one item missing from latest in initial and wrong check
* final fixes and tests
* clearer tests
* core: remove gaps and make sure page size is always the same (#5163)
* remove gaps
* consistent pagination size
* proper fix and around fix too
* optimize
* refactor
* core: simplify pagination
* core: first unread queries (#5174)
* core: pagination nav info (#5175)
* core: pagination nav info
* wip
* rework
* rework
* group, local
* fix
* rename
* fix tests
* just
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* core, ios: get messages for multiple last notifications (#5047)
* ios: refactor notification service (#5086)
* core, ios: separately get notification connections before requesting messages; coordinate nse threads (#5085)
* 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: fix archive export when some filename is not compatible with zip
* update
* core, ios
* update kotlin apis, ios: add alert to migrate from device
* core: move db actions out of synchronous execution on chat start
* revert some
* multiplatform: load chat data before starting chat
* use priority database access
* simplexmq
* fix race in the tests
* check chat is running
* core: allow getting call invitations and notificationn token when chat is stopped
* ios: load chats and refresh call invitations before chat is started
* simplexmq
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* core: receive only one notification message on push notification
* ios: receive only one notification message on push
* update stats to include notification server stats
* Codable
* update simplexmq
* core: use disabled servers as known for private message routing
* send all servers to agent, add all preset servers
* update nix hashes
* refactor
* check that some servers are enabled, refactor
* update simplexmq
* remove functions