mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2025-06-29 04:39:53 +00:00
ios: reports inline (#5466)
* initial types
* changes types
* decode
* possible mock for inline report
* remove avatar
* diff
* updates
* parser and display message
* send messages and support placeholder
* profile reports and all reports working
* new api
* check member support for receiving reports
* report chat item text
* moderator role
* placeholder on text compose for report
* rename method
* remove need to have reported item in memory to action
* archived reports
* changes/fix
* fix block member
* delete and moderate
* archive
* report reason
* context menu/moderation fixes
* typo
* not needed
* report reason as caption, and change text
* remove auto archive
* move placeholder to match text
* prefix red italic report
* archive
* apply mark deleted fix
* Revert "apply mark deleted fix"
This reverts commit b12f14c0f5
.
* remove extra space
* context menu rework
* strings, icons
* recheck items extra check on reports
* simplify
* simpler
* reports: never show for own messages, disable attachments, hide when recording or live
* style, allow local deletion
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
This commit is contained in:
parent
8dc29082d5
commit
7e344b3ee8
17 changed files with 617 additions and 99 deletions
|
@ -15,12 +15,6 @@ import SimpleXChat
|
|||
|
||||
private var chatController: chat_ctrl?
|
||||
|
||||
// currentChatVersion in core
|
||||
public let CURRENT_CHAT_VERSION: Int = 2
|
||||
|
||||
// version range that supports establishing direct connection with a group member (xGrpDirectInvVRange in core)
|
||||
public let CREATE_MEMBER_CONTACT_VRANGE = VersionRange(minVersion: 2, maxVersion: CURRENT_CHAT_VERSION)
|
||||
|
||||
private let networkStatusesLock = DispatchQueue(label: "chat.simplex.app.network-statuses.lock")
|
||||
|
||||
enum TerminalItem: Identifiable {
|
||||
|
@ -418,6 +412,18 @@ func apiCreateChatItems(noteFolderId: Int64, composedMessages: [ComposedMessage]
|
|||
return nil
|
||||
}
|
||||
|
||||
func apiReportMessage(groupId: Int64, chatItemId: Int64, reportReason: ReportReason, reportText: String) async -> [ChatItem]? {
|
||||
let r = await chatSendCmd(.apiReportMessage(groupId: groupId, chatItemId: chatItemId, reportReason: reportReason, reportText: reportText))
|
||||
if case let .newChatItems(_, aChatItems) = r { return aChatItems.map { $0.chatItem } }
|
||||
|
||||
logger.error("apiReportMessage error: \(String(describing: r))")
|
||||
AlertManager.shared.showAlertMsg(
|
||||
title: "Error creating report",
|
||||
message: "Error: \(responseError(r))"
|
||||
)
|
||||
return nil
|
||||
}
|
||||
|
||||
private func sendMessageErrorAlert(_ r: ChatResponse) {
|
||||
logger.error("send message error: \(String(describing: r))")
|
||||
AlertManager.shared.showAlertMsg(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue