* directory: re-invite owner who left owners' group
The /invite command's alreadyMember check treated any GroupMember row as
a current member, including rows with status GSMemLeft or GSMemRemoved.
Owners who had left the owners' group could therefore not be re-invited.
Use memberCurrent to only block re-invite when the member is actually in
the group.
* directory tests: account for admin notification and renamed group on re-invite
The owners' group has no GroupReg by design, so when an owner leaves it
the directory service notifies admins with "Error: contact left, group: N
owners, group registration not found" - expected behavior, but the test
for re-inviting an owner who left the owners' group did not consume this
DM and failed at bracket cleanup.
The test also assumed bob's new invitation would land in #owners, but the
chat client disambiguates it to #owners_1 because bob's old left
membership of #owners is still present locally.
Consume the admin DM explicitly and update the invitation assertions to
#owners_1 / /j owners_1.
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* directory: support public channels and relay-based groups (plan)
* types
* amend types
* directory types, resolve known link
* implementation, test fails
* fix test
* fix test
* more test
* minimal test
* more test
* debug test
* clean up
* remove debug logs
* refactor
* use group/channel terms correctly
* remove unsupported commands
* manage profile update
* owner left the channel
* more tests, correct response to sent link
* re-registration
* /help and /link commands
* correct listing for channels
* fix test
* fix bot api
* refactor
* do not include link data in GLPKnown
* refactor
* diff
* undo refactor
* simplify
* remove harness test
* remove flip
* add v6.5 app requirement for channels
* add website support
* update bot api types
* correct member count, fix test
* members -> subscribers
* add link to channel description
* fix css
* move version note
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
* core: change msg_content_tag stored as blob to text
* track if items have links and use has_link when searching for links (MCLink_ MsgContentTag is passed)
* fix test (broken in master)
* merge migrations, update api and schema
* minor fixes
* tests
* update plans
* update migrations
* core: add custom indexed columns to groups and contacts
* directory: use database (TODO search/listing)
* triggers to maintain current member count
* update simplexmq, fix tests, use summary from GroupInfo
* fix all directory tests
* remove acceptance fields from group reg
* enable all tests
* clean up
* postgres migrations, fixes
* query plans
* use function in postgres triggers, improve sqlite query
* fix export/import
* update schema
* prevent admins from promoting groups when approving
* update listing every 5 minutes
* website: directory page
* core: use markdown in directory entries
* render markdown on directory page
* update markdown
* toggle secrets on click
* update listings asynchronously
* add group links to the listing
* cleanup
* better directory layout with pagination
* script to run website
* update page navigation
* search
* readable markdown colors, better "read less"
* core: atomic update of directory listings, to avoid files unavailable
* fix symlink, sort entries on page with new first
* update listings every 15 min, add activeAt time
* fix sorting in the page and listing url
* replace simplex:/ links on desktop
* 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
* directory bot: use short links, command /link to upgrade group link
* test
* enable all tests
* update comparison for scenario when only link changed
* use DB IDs when listing groups registered by admins
* core: short bio/description for contact and group profiles
* use short description in commands
* fix tests
* query plans
* ios: show contact and group profile descriptions
* android, desktop: short description/bio
* ui: layout for chat info, correct copy
* comment out fields to add/edit short descriptions
* remove short description from events
* postgres schema
* ios: deliver notification when iOS fails to fire expiration notice for NSE
* update core api
* update ui
* sha256map.nix
* do not enable background processes in maintenance mode
* fix ios
* fix parser
* ios: fix command
* compatible parser for connection ID
* log
* pass DB queue ID
* simplexmq
* query plans
* fix broadcast bot test
* allow admins deleting groups from directory and registering groups with same name as deleted one; /help commands
* support profile changes by other owners, with/without connection to directory
* profile check will succeed when group link encoding or versions change, but the link queues remain the same
* core: member acceptance
* migration
* move hook
* core: support sending direct messages to members (#5680)
* fix compilation, todos
* fix test
* predicates
* comment
* extend hook
* wip
* wip
* wip
* wip
* fix test
* mute output
* schema
* better query
* plans
* fix test
* directory
* captcha
* captcha works
* remove column, add UI types and group status icon
* fix test
* query plans
* exclude messages of pending members from history
* commands for filter settings
* core: separately delete pending approval members; other apis validation (#5699)
* accepted status
* send captcha messages as replies
* fix blocked words
* simpler filter info
* info about /filter and /role after group registration
* update query plans
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* cli: remove multiple members
* accept all members joining via link as observers (do NOT release)
* blocked words
* blocked words
* XGrpLinkReject
* core: 6.3.0.6 (simplexmq 6.3.0.6)
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* 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
* directory: new commands
* better search
* search test
* return group links in simplex.chat domain, allow both simplex:/ and simplex.chat links in group description