Merge branch 'master' into f/directory-search

Co-authored-by: Claude <noreply@anthropic.com>

# Conflicts:
#	apps/simplex-directory-service/src/Directory/Events.hs
#	apps/simplex-directory-service/src/Directory/Service.hs
#	src/Simplex/Chat/Core.hs
#	src/Simplex/Chat/Library/Internal.hs
#	tests/Bots/DirectoryTests.hs
This commit is contained in:
spaced4ndy committed 2026-10-12 17:34:32 +00:00
commit 0e06ded808
996 files changed
+48336 -3431

No files matched your search

+95
View File
@@ -7,6 +7,7 @@ This file is generated automatically.
- [APIDeleteMyAddress](#apideletemyaddress)
- [APIShowMyAddress](#apishowmyaddress)
- [APISetProfileAddress](#apisetprofileaddress)
- [APISetUserDomain](#apisetuserdomain)
- [APISetAddressSettings](#apisetaddresssettings)
[Message commands](#message-commands)
@@ -24,6 +25,7 @@ This file is generated automatically.
[Group commands](#group-commands)
- [APIAddMember](#apiaddmember)
- [APIAddMemberViaGroup](#apiaddmemberviagroup)
- [APIJoinGroup](#apijoingroup)
- [APIAcceptMember](#apiacceptmember)
- [APIMembersRole](#apimembersrole)
@@ -247,6 +249,53 @@ ChatCmdError: Command error (only used in WebSockets API).
---
### APISetUserDomain
Set or remove SimpleX name of bot address. The name must be registered with the address short link.
*Network usage*: interactive.
**Parameters**:
- userId: int64
- simplexDomain: string?
**Syntax**:
```
/_set domain <userId>[ <simplexDomain>]
```
```javascript
'/_set domain ' + userId + (simplexDomain ? ' ' + simplexDomain : '') // JavaScript
```
```python
'/_set domain ' + str(userId) + ((' ' + simplexDomain) if simplexDomain is not None else '') # Python
```
**Responses**:
UserProfileUpdated: User profile updated.
- type: "userProfileUpdated"
- user: [User](./TYPES.md#user)
- fromProfile: [Profile](./TYPES.md#profile)
- toProfile: [Profile](./TYPES.md#profile)
- updateSummary: [UserProfileUpdateSummary](./TYPES.md#userprofileupdatesummary)
UserProfileNoChange: User profile was not changed.
- type: "userProfileNoChange"
- user: [User](./TYPES.md#user)
ChatCmdError: Command error (only used in WebSockets API).
- type: "chatCmdError"
- chatError: [ChatError](./TYPES.md#chaterror)
**Errors**:
- SimplexDomainNotReady: The name does not resolve to the address short link.
---
### APISetAddressSettings
Set bot address settings.
@@ -714,6 +763,52 @@ ChatCmdError: Command error (only used in WebSockets API).
---
### APIAddMemberViaGroup
Add member of another group to group. Requires bot to have Admin role in the group, and direct messages allowed for its role in another group.
*Network usage*: interactive.
**Parameters**:
- groupId: int64
- viaGroupId: int64
- groupMemberId: int64
- memberRole: [GroupMemberRole](./TYPES.md#groupmemberrole)
**Syntax**:
```
/_add #<groupId> #<viaGroupId> <groupMemberId> relay|observer|author|member|moderator|admin|owner
```
```javascript
'/_add #' + groupId + ' #' + viaGroupId + ' ' + groupMemberId + ' ' + memberRole // JavaScript
```
```python
'/_add #' + str(groupId) + ' #' + str(viaGroupId) + ' ' + str(groupMemberId) + ' ' + str(memberRole) # Python
```
**Responses**:
SentGroupInvitationViaGroup: Group invitation sent to member of another group.
- type: "sentGroupInvitationViaGroup"
- user: [User](./TYPES.md#user)
- groupInfo: [GroupInfo](./TYPES.md#groupinfo)
- member: [GroupMember](./TYPES.md#groupmember)
- viaGroupInfo: [GroupInfo](./TYPES.md#groupinfo)
- viaMember: [GroupMember](./TYPES.md#groupmember)
ChatCmdError: Command error (only used in WebSockets API).
- type: "chatCmdError"
- chatError: [ChatError](./TYPES.md#chaterror)
**Errors**:
- PeerChatVRangeIncompatible: Member's client version is older than required.
---
### APIJoinGroup
Join group.
+17
View File
@@ -25,6 +25,7 @@ This file is generated automatically.
[Group events](#group-events)
- Main events
- [ReceivedGroupInvitation](#receivedgroupinvitation)
- [ReceivedGroupInvitationViaGroup](#receivedgroupinvitationviagroup)
- [UserJoinedGroup](#userjoinedgroup)
- [GroupUpdated](#groupupdated)
- [JoinedGroupMember](#joinedgroupmember)
@@ -286,6 +287,22 @@ Received group invitation.
---
### ReceivedGroupInvitationViaGroup
Received group invitation from member of another group.
**Record type**:
- type: "receivedGroupInvitationViaGroup"
- user: [User](./TYPES.md#user)
- groupInfo: [GroupInfo](./TYPES.md#groupinfo)
- viaGroupInfo: [GroupInfo](./TYPES.md#groupinfo)
- viaMember: [GroupMember](./TYPES.md#groupmember)
- fromMemberRole: [GroupMemberRole](./TYPES.md#groupmemberrole)
- memberRole: [GroupMemberRole](./TYPES.md#groupmemberrole)
---
### UserJoinedGroup
Bot user joined group. Received when connection via group link completes.