* 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
* core: store/get whether short link has large data set
* ui
* core: set shortLinkLargeDataSet flag in updated links
* remove largeLinkData
* remove instance
* 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
* core: only skip creating agent user when app is first started
* firstTime
* prompt
* fix test
* if
* simplexmq
* ci timeout
* skip test
* add test timeout
* log test times
* simplexmq
* timeout
* simplexmq without new batching
* Revert "simplexmq without new batching"
This reverts commit 9879bcb57c.
* without new batching again
* with builder, without sized builder
* lazy bytestring, same batching logic
* fewer chunks
* remove lazy
* optimize batching in simplexmq
* core: profile names with spaces
* test
* more test
* update name validation, export C API
* refactor
* validate name when creating profile in CLI
* validate display name in all APIs when it is changed
* SimpleX Directory Service
* more events
* update events
* fix
* Apply suggestions from code review
metavar
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* metavar 2
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* process events
* remove command serialization
* update
* update
* process group profile update
* basic group registration flow
* search works
* better messages
* improve messages
* test broadcast bot
* test for directory service
* better processing of group profile change, test
* refactor
* de-list group when owner or service is removed from the group, tests
* fix: removing any member or any member leaving should not delist the group
* refactor
* more tests, fixes
* disable bot tests in CI
* remove comment
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* core: use port 7001 for test server
* enable only failing tests
* start/stop server for every test
* log message that failed to parse
* stop chat synchronously
* print call stack
* add HasCallStack
* increase test timeout
* add call stacks
* more call stacks
* fix test
* disable failing test
* add delay between the tests
* make delay more visible
* remove change in error message
* reduce test delay, increase timeout
* increase delay between the tests
* run each test with a database in a different folder
* folder name
* refactor
* update nix file, more stacks
* TMVar lock to avoid subscriber and client processing in parallel, fix the test
* run SMP server as part of the test
* stabilize tests
* update simplexmq
* test: stabilize getting invitation from terminal
* remove unused import
* simplify test
* create group after invitation
* add group invitation to db, show sent and received group invitations
* test creating group and sending invitation
* establish group connections (WIP)
* connect user to the inviter, notification, member classification
* create group
* add user as member, store methods to get group and to create group member
* add group member and send member invitation
* fix ci: use simplexmq from github
* chat protocol: create SMP agent connection when inviting member
* update protocol, started group invitation receiving
* chat types, chat protocol syntax idea
* chat message syntax, raw message type
* chat message format and parsing
* raw chat message parsing test
* add message parsing tests
* interpret RawChatMessage
* use chat message format when sending messages
* save contacts and related connections to DB (WIP)
* use contacts in all chat commands (add, connect, send, delete)
* use contacts when receiving messages and notifications
* handle contact not found error
* automatically accept connection when CONF is received from the agent