fix quick replies from notifications (#4250)

While working on #4249 I noticed that quick replies also don't work as
expected. The notification just stays in the sending state forever.
There are actually 2 problems:
- Notifications are sent in `NotificationFetcher` with the id of the
Mastodon notification as tag and the current account id as id. The wrong
notification id was forwarded to `SendStatusBroadcastReceiver` so it
never had a chance of updating the notification.
- Notifications containing an active remote input can't be cancelled
(they just stop their animation when doing so). So instead I update the
notification with info that the reply is being sent and have it dismiss
automatically.

I also tried replacing the original notification with the "sending"
notification of `SendStatusService`, but that doesn't work because
`Service.startForeground` doesn't have a tag parameter, only an id.

---------

Co-authored-by: Willow <charlag@tuta.io>
This commit is contained in:
Konrad Pozniak 2024-02-23 10:26:46 +01:00 committed by GitHub
commit 7d3aafdd65
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 27 additions and 28 deletions

View file

@ -227,8 +227,8 @@
<string name="confirmation_domain_unmuted">%s unhidden</string>
<string name="confirmation_hashtag_unfollowed">#%s unfollowed</string>
<string name="post_sent">Sent!</string>
<string name="post_sent_long">Reply sent successfully.</string>
<string name="reply_sending">Sending…</string>
<string name="reply_sending_long">Your reply is being sent.</string>
<string name="hint_domain">Which instance?</string>
<string name="hint_compose">What\'s happening?</string>