mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Fixed multiple attempts to send request to edit message.
This commit is contained in:
parent
46cce57f6b
commit
22f16caa89
2 changed files with 15 additions and 5 deletions
|
@ -176,11 +176,12 @@ void ScheduledWidget::setupComposeControls() {
|
||||||
send();
|
send();
|
||||||
}, lifetime());
|
}, lifetime());
|
||||||
|
|
||||||
|
const auto saveEditMsgRequestId = lifetime().make_state<mtpRequestId>(0);
|
||||||
_composeControls->editRequests(
|
_composeControls->editRequests(
|
||||||
) | rpl::start_with_next([=](auto data) {
|
) | rpl::start_with_next([=](auto data) {
|
||||||
if (const auto item = session().data().message(data.fullId)) {
|
if (const auto item = session().data().message(data.fullId)) {
|
||||||
if (item->isScheduled()) {
|
if (item->isScheduled()) {
|
||||||
edit(item, data.options);
|
edit(item, data.options, saveEditMsgRequestId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, lifetime());
|
}, lifetime());
|
||||||
|
@ -555,8 +556,11 @@ void ScheduledWidget::send(Api::SendOptions options) {
|
||||||
|
|
||||||
void ScheduledWidget::edit(
|
void ScheduledWidget::edit(
|
||||||
not_null<HistoryItem*> item,
|
not_null<HistoryItem*> item,
|
||||||
Api::SendOptions options) {
|
Api::SendOptions options,
|
||||||
|
mtpRequestId *const saveEditMsgRequestId) {
|
||||||
|
if (*saveEditMsgRequestId) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
const auto textWithTags = _composeControls->getTextWithAppliedMarkdown();
|
const auto textWithTags = _composeControls->getTextWithAppliedMarkdown();
|
||||||
const auto prepareFlags = Ui::ItemTextOptions(
|
const auto prepareFlags = Ui::ItemTextOptions(
|
||||||
_history,
|
_history,
|
||||||
|
@ -579,7 +583,12 @@ void ScheduledWidget::edit(
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto saveEditMsgRequestId = lifetime().make_state<mtpRequestId>(0);
|
lifetime().add([=] {
|
||||||
|
if (!*saveEditMsgRequestId) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
session().api().request(base::take(*saveEditMsgRequestId)).cancel();
|
||||||
|
});
|
||||||
|
|
||||||
const auto done = [=](const MTPUpdates &result, mtpRequestId requestId) {
|
const auto done = [=](const MTPUpdates &result, mtpRequestId requestId) {
|
||||||
if (requestId == *saveEditMsgRequestId) {
|
if (requestId == *saveEditMsgRequestId) {
|
||||||
|
|
|
@ -143,7 +143,8 @@ private:
|
||||||
void send(Api::SendOptions options);
|
void send(Api::SendOptions options);
|
||||||
void edit(
|
void edit(
|
||||||
not_null<HistoryItem*> item,
|
not_null<HistoryItem*> item,
|
||||||
Api::SendOptions options);
|
Api::SendOptions options,
|
||||||
|
mtpRequestId *const saveEditMsgRequestId);
|
||||||
void highlightSingleNewMessage(const Data::MessagesSlice &slice);
|
void highlightSingleNewMessage(const Data::MessagesSlice &slice);
|
||||||
void chooseAttach();
|
void chooseAttach();
|
||||||
[[nodiscard]] SendMenuType sendMenuType() const;
|
[[nodiscard]] SendMenuType sendMenuType() const;
|
||||||
|
|
Loading…
Add table
Reference in a new issue