fix(Communities): preserve channel position after editing
Turns out we've been accidentally resetting the channel's `position` property to `0` by not sending it over to status-lib's underlying `editCommunityChat` API. This fixes it by using a newer version of status-lib which supports the `position` paramter in `editCommunityChat` and then sending that value along from the edit channel popup. Fixes #3672
This commit is contained in:
parent
abf2a46dc9
commit
b8ecc3e0bf
|
@ -420,9 +420,9 @@ QtObject:
|
|||
error "Error creating channel", msg=e.msg, name, description
|
||||
result = StatusGoError(error: e.msg).toJson
|
||||
|
||||
proc editCommunityChannel*(self: ChatsView, communityId: string, channelId: string, name: string, description: string, categoryId: string): string {.slot.} =
|
||||
proc editCommunityChannel*(self: ChatsView, communityId: string, channelId: string, name: string, description: string, categoryId: string, position: int): string {.slot.} =
|
||||
try:
|
||||
let chat = self.status.chat.editCommunityChannel(communityId, channelId, name, description, categoryId)
|
||||
let chat = self.status.chat.editCommunityChannel(communityId, channelId, name, description, categoryId, position)
|
||||
|
||||
chat.categoryId = categoryId
|
||||
self.communities.joinedCommunityList.replaceChannelInCommunity(communityId, chat)
|
||||
|
@ -578,4 +578,4 @@ QtObject:
|
|||
self.status.chat.createOneToOneChat(pubKey)
|
||||
self.setActiveChannel(pubKey)
|
||||
return
|
||||
echo "Unsupported deep link structure: " & uri
|
||||
echo "Unsupported deep link structure: " & uri
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.3
|
||||
import QtQuick.Dialogs 1.3
|
||||
|
||||
import utils 1.0
|
||||
import utils 0.1
|
||||
|
||||
import StatusQ.Core 0.1
|
||||
import StatusQ.Core.Theme 0.1
|
||||
|
@ -17,6 +16,7 @@ StatusModal {
|
|||
property QtObject channel
|
||||
property bool isEdit: false
|
||||
property string categoryId: ""
|
||||
property var position: null
|
||||
|
||||
readonly property int maxChannelNameLength: 30
|
||||
readonly property int maxChannelDescLength: 140
|
||||
|
@ -36,6 +36,7 @@ StatusModal {
|
|||
contentItem.channelCategoryId = channel.categoryId
|
||||
contentItem.channelName.input.text = channel.name
|
||||
contentItem.channelDescription.input.text = channel.description
|
||||
position = channel.position
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -82,7 +83,7 @@ StatusModal {
|
|||
}
|
||||
validators: [StatusMinLengthValidator {
|
||||
minLength: 1
|
||||
errorMessage: Utils.getErrorMessage(nameInput.errors, qsTr("channel name"))
|
||||
errorMessage: Utils.getErrorMessage(errors, qsTr("channel name"))
|
||||
}]
|
||||
}
|
||||
|
||||
|
@ -101,7 +102,7 @@ StatusModal {
|
|||
input.implicitHeight: 88
|
||||
validators: [StatusMinLengthValidator {
|
||||
minLength: 1
|
||||
errorMessage: Utils.getErrorMessage(descriptionTextArea.errors, qsTr("channel description"))
|
||||
errorMessage: Utils.getErrorMessage(errors, qsTr("channel description"))
|
||||
}]
|
||||
}
|
||||
|
||||
|
@ -215,7 +216,8 @@ StatusModal {
|
|||
popup.contentItem.channelId,
|
||||
Utils.filterXSS(popup.contentItem.channelName.input.text),
|
||||
Utils.filterXSS(popup.contentItem.channelDescription.input.text),
|
||||
popup.contentItem.channelCategoryId)
|
||||
popup.contentItem.channelCategoryId,
|
||||
popup.position)
|
||||
// TODO: pass the private value when private channels
|
||||
// are implemented
|
||||
//privateSwitch.checked)
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit c0502a7bd426a6f647190d43cdbf03cef71b9c7b
|
||||
Subproject commit 72a32ee72549e44d14d28a430a75a09078efc7e3
|
Loading…
Reference in New Issue