From 4587f37dd72cfbb75e0fb008237ee3fe430caed1 Mon Sep 17 00:00:00 2001 From: Ilja Date: Sun, 12 Dec 2021 18:09:21 +0100 Subject: [PATCH] Allow canceling a follow request When a follow request is sent, but not (yet) accepted, the behaviour is now to cancel the request instead of re sending. The reason is double * You couldn't cancel a follow request if you change your mind and the request wasn't answered yet * Instances don't always correctly process a new follow request when the following is already happening. If something went wrong (e;g. the target server thinks you're following, but your instance thinks you're not yet), it's better to first sent an unfollow. This is the behaviour that Mastodon and most probably most other clients have. Therefore this flow is more tested and expected by other instances. --- src/components/follow_button/follow_button.js | 4 ++-- src/i18n/ca.json | 1 - src/i18n/cs.json | 1 - src/i18n/de.json | 1 - src/i18n/en.json | 2 +- src/i18n/eo.json | 1 - src/i18n/es.json | 1 - src/i18n/eu.json | 1 - src/i18n/fi.json | 1 - src/i18n/fr.json | 1 - src/i18n/he.json | 1 - src/i18n/id.json | 1 - src/i18n/it.json | 1 - src/i18n/ja_easy.json | 1 - src/i18n/ja_pedantic.json | 1 - src/i18n/ko.json | 1 - src/i18n/nb.json | 1 - src/i18n/nl.json | 2 +- src/i18n/oc.json | 1 - src/i18n/pl.json | 1 - src/i18n/pt.json | 1 - src/i18n/ru.json | 1 - src/i18n/te.json | 1 - src/i18n/uk.json | 1 - src/i18n/zh.json | 1 - src/i18n/zh_Hant.json | 1 - 26 files changed, 4 insertions(+), 27 deletions(-) diff --git a/src/components/follow_button/follow_button.js b/src/components/follow_button/follow_button.js index 95e7cb6ba..df42692b2 100644 --- a/src/components/follow_button/follow_button.js +++ b/src/components/follow_button/follow_button.js @@ -14,7 +14,7 @@ export default { if (this.inProgress || this.relationship.following) { return this.$t('user_card.follow_unfollow') } else if (this.relationship.requested) { - return this.$t('user_card.follow_again') + return this.$t('user_card.follow_cancel') } else { return this.$t('user_card.follow') } @@ -33,7 +33,7 @@ export default { }, methods: { onClick () { - this.relationship.following ? this.unfollow() : this.follow() + this.relationship.following || this.relationship.requested ? this.unfollow() : this.follow() }, follow () { this.inProgress = true diff --git a/src/i18n/ca.json b/src/i18n/ca.json index 2536656ff..1f5392f3c 100644 --- a/src/i18n/ca.json +++ b/src/i18n/ca.json @@ -620,7 +620,6 @@ "grant_moderator": "Concedir permisos de Moderació" }, "edit_profile": "Edita el perfil", - "follow_again": "Envia de nou la petició?", "hidden": "Amagat", "follow_sent": "Petició enviada!", "unmute_progress": "Deixant de silenciar…", diff --git a/src/i18n/cs.json b/src/i18n/cs.json index d9aed34a0..ca87214e0 100644 --- a/src/i18n/cs.json +++ b/src/i18n/cs.json @@ -407,7 +407,6 @@ "follow": "Sledovat", "follow_sent": "Požadavek odeslán!", "follow_progress": "Odeslílám požadavek…", - "follow_again": "Odeslat požadavek znovu?", "follow_unfollow": "Přestat sledovat", "followees": "Sledovaní", "followers": "Sledující", diff --git a/src/i18n/de.json b/src/i18n/de.json index 7439f494a..b65995947 100644 --- a/src/i18n/de.json +++ b/src/i18n/de.json @@ -569,7 +569,6 @@ "follow": "Folgen", "follow_sent": "Anfrage gesendet!", "follow_progress": "Anfragen…", - "follow_again": "Anfrage erneut senden?", "follow_unfollow": "Folgen beenden", "followees": "Folgt", "followers": "Folgende", diff --git a/src/i18n/en.json b/src/i18n/en.json index 0dac0fa39..eef8d7015 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -731,9 +731,9 @@ "edit_profile": "Edit profile", "favorites": "Favorites", "follow": "Follow", + "follow_cancel": "Cancel request", "follow_sent": "Request sent!", "follow_progress": "Requesting…", - "follow_again": "Send request again?", "follow_unfollow": "Unfollow", "followees": "Following", "followers": "Followers", diff --git a/src/i18n/eo.json b/src/i18n/eo.json index 16a904b74..169248bc5 100644 --- a/src/i18n/eo.json +++ b/src/i18n/eo.json @@ -580,7 +580,6 @@ "follow": "Aboni", "follow_sent": "Peto sendiĝis!", "follow_progress": "Petante…", - "follow_again": "Ĉu sendi peton ree?", "follow_unfollow": "Malaboni", "followees": "Abonatoj", "followers": "Abonantoj", diff --git a/src/i18n/es.json b/src/i18n/es.json index 0d343e8c0..5f4db163f 100644 --- a/src/i18n/es.json +++ b/src/i18n/es.json @@ -687,7 +687,6 @@ "follow": "Seguir", "follow_sent": "¡Solicitud enviada!", "follow_progress": "Solicitando…", - "follow_again": "¿Enviar solicitud de nuevo?", "follow_unfollow": "Dejar de seguir", "followees": "Siguiendo", "followers": "Seguidores", diff --git a/src/i18n/eu.json b/src/i18n/eu.json index 29eb7c50f..539ee1bdb 100644 --- a/src/i18n/eu.json +++ b/src/i18n/eu.json @@ -569,7 +569,6 @@ "follow": "Jarraitu", "follow_sent": "Eskaera bidalita!", "follow_progress": "Eskatzen…", - "follow_again": "Eskaera berriro bidali?", "follow_unfollow": "Jarraitzeari utzi", "followees": "Jarraitzen", "followers": "Jarraitzaileak", diff --git a/src/i18n/fi.json b/src/i18n/fi.json index ebcad8045..7b5244cb7 100644 --- a/src/i18n/fi.json +++ b/src/i18n/fi.json @@ -590,7 +590,6 @@ "follow": "Seuraa", "follow_sent": "Pyyntö lähetetty!", "follow_progress": "Pyydetään…", - "follow_again": "Lähetä pyyntö uudestaan?", "follow_unfollow": "Älä seuraa", "followees": "Seuraa", "followers": "Seuraajat", diff --git a/src/i18n/fr.json b/src/i18n/fr.json index 41f543934..6d3c75d16 100644 --- a/src/i18n/fr.json +++ b/src/i18n/fr.json @@ -624,7 +624,6 @@ "follow": "Suivre", "follow_sent": "Demande envoyée !", "follow_progress": "Demande en cours…", - "follow_again": "Renvoyer la demande ?", "follow_unfollow": "Désabonner", "followees": "Suivis", "followers": "Vous suivent", diff --git a/src/i18n/he.json b/src/i18n/he.json index 4b920536a..b0c59a30e 100644 --- a/src/i18n/he.json +++ b/src/i18n/he.json @@ -312,7 +312,6 @@ "follow": "עקוב", "follow_sent": "בקשה נשלחה!", "follow_progress": "מבקש…", - "follow_again": "שלח בקשה שוב?", "follow_unfollow": "בטל עקיבה", "followees": "נעקבים", "followers": "עוקבים", diff --git a/src/i18n/id.json b/src/i18n/id.json index a2e7df0cd..e6b5eb945 100644 --- a/src/i18n/id.json +++ b/src/i18n/id.json @@ -322,7 +322,6 @@ "delete_user": "Hapus pengguna", "delete_user_confirmation": "Apakah Anda benar-benar yakin? Tindakan ini tidak dapat dibatalkan." }, - "follow_again": "Kirim permintaan lagi?", "follow_unfollow": "Berhenti mengikuti", "followees": "Mengikuti", "followers": "Pengikut", diff --git a/src/i18n/it.json b/src/i18n/it.json index ee872328f..6fc1d05a2 100644 --- a/src/i18n/it.json +++ b/src/i18n/it.json @@ -516,7 +516,6 @@ "its_you": "Sei tu!", "hidden": "Nascosto", "follow_unfollow": "Disconosci", - "follow_again": "Reinvio richiesta?", "follow_progress": "Richiedo…", "follow_sent": "Richiesta inviata!", "favorites": "Preferiti", diff --git a/src/i18n/ja_easy.json b/src/i18n/ja_easy.json index 991f3762f..f64943d9a 100644 --- a/src/i18n/ja_easy.json +++ b/src/i18n/ja_easy.json @@ -567,7 +567,6 @@ "follow": "フォロー", "follow_sent": "リクエストを、おくりました!", "follow_progress": "リクエストしています…", - "follow_again": "ふたたびリクエストをおくりますか?", "follow_unfollow": "フォローをやめる", "followees": "フォロー", "followers": "フォロワー", diff --git a/src/i18n/ja_pedantic.json b/src/i18n/ja_pedantic.json index dccff5bb0..7241c9ac7 100644 --- a/src/i18n/ja_pedantic.json +++ b/src/i18n/ja_pedantic.json @@ -679,7 +679,6 @@ "follow": "フォロー", "follow_sent": "リクエストを送りました!", "follow_progress": "リクエストしています…", - "follow_again": "再びリクエストを送りますか?", "follow_unfollow": "フォローをやめる", "followees": "フォロー", "followers": "フォロワー", diff --git a/src/i18n/ko.json b/src/i18n/ko.json index 1033dfa61..6386438a9 100644 --- a/src/i18n/ko.json +++ b/src/i18n/ko.json @@ -428,7 +428,6 @@ "follow": "팔로우", "follow_sent": "요청 보내짐!", "follow_progress": "요청 중…", - "follow_again": "요청을 다시 보낼까요?", "follow_unfollow": "팔로우 중지", "followees": "팔로우 중", "followers": "팔로워", diff --git a/src/i18n/nb.json b/src/i18n/nb.json index e0dffe833..5e3e8ef3d 100644 --- a/src/i18n/nb.json +++ b/src/i18n/nb.json @@ -516,7 +516,6 @@ "follow": "Følg", "follow_sent": "Forespørsel sendt!", "follow_progress": "Forespør…", - "follow_again": "Gjenta forespørsel?", "follow_unfollow": "Avfølg", "followees": "Følger", "followers": "Følgere", diff --git a/src/i18n/nl.json b/src/i18n/nl.json index c8a35bccd..b113ffe4e 100644 --- a/src/i18n/nl.json +++ b/src/i18n/nl.json @@ -565,9 +565,9 @@ "deny": "Weigeren", "favorites": "Favorieten", "follow": "Volgen", + "follow_cancel": "Aanvraag annuleren", "follow_sent": "Aanvraag verzonden!", "follow_progress": "Aanvragen…", - "follow_again": "Aanvraag opnieuw zenden?", "follow_unfollow": "Stop volgen", "followees": "Aan het volgen", "followers": "Volgers", diff --git a/src/i18n/oc.json b/src/i18n/oc.json index 24001d4aa..40f48149e 100644 --- a/src/i18n/oc.json +++ b/src/i18n/oc.json @@ -465,7 +465,6 @@ "follow": "Seguir", "follow_sent": "Demanda enviada !", "follow_progress": "Demanda…", - "follow_again": "Tornar enviar la demanda ?", "follow_unfollow": "Quitar de seguir", "followees": "Abonaments", "followers": "Seguidors", diff --git a/src/i18n/pl.json b/src/i18n/pl.json index 11409169d..304a03491 100644 --- a/src/i18n/pl.json +++ b/src/i18n/pl.json @@ -721,7 +721,6 @@ "follow": "Obserwuj", "follow_sent": "Wysłano prośbę!", "follow_progress": "Wysyłam prośbę…", - "follow_again": "Wysłać prośbę ponownie?", "follow_unfollow": "Przestań obserwować", "followees": "Obserwowani", "followers": "Obserwujący", diff --git a/src/i18n/pt.json b/src/i18n/pt.json index 841516c04..e32a95e45 100644 --- a/src/i18n/pt.json +++ b/src/i18n/pt.json @@ -575,7 +575,6 @@ "follow": "Seguir", "follow_sent": "Pedido enviado!", "follow_progress": "Enviando…", - "follow_again": "Enviar solicitação novamente?", "follow_unfollow": "Deixar de seguir", "followees": "Seguindo", "followers": "Seguidores", diff --git a/src/i18n/ru.json b/src/i18n/ru.json index 7c20ad8b5..ba0cec28f 100644 --- a/src/i18n/ru.json +++ b/src/i18n/ru.json @@ -550,7 +550,6 @@ "follow": "Читать", "follow_sent": "Запрос отправлен!", "follow_progress": "Запрашиваем…", - "follow_again": "Запросить еще раз?", "follow_unfollow": "Перестать читать", "followees": "Читаемые", "followers": "Читатели", diff --git a/src/i18n/te.json b/src/i18n/te.json index bb68d29e4..1216de595 100644 --- a/src/i18n/te.json +++ b/src/i18n/te.json @@ -310,7 +310,6 @@ "user_card.follow": "Follow", "user_card.follow_sent": "Request sent!", "user_card.follow_progress": "Requesting…", - "user_card.follow_again": "Send request again?", "user_card.follow_unfollow": "Unfollow", "user_card.followees": "Following", "user_card.followers": "Followers", diff --git a/src/i18n/uk.json b/src/i18n/uk.json index 10a7375fe..d98330874 100644 --- a/src/i18n/uk.json +++ b/src/i18n/uk.json @@ -748,7 +748,6 @@ "message": "Повідомлення", "follow": "Підписатись", "follow_unfollow": "Відписатись", - "follow_again": "Відправити запит знову?", "follow_sent": "Запит відправлено!", "blocked": "Заблоковано!", "admin_menu": { diff --git a/src/i18n/zh.json b/src/i18n/zh.json index 9f91ef1a3..abba4be93 100644 --- a/src/i18n/zh.json +++ b/src/i18n/zh.json @@ -677,7 +677,6 @@ "follow": "关注", "follow_sent": "请求已发送!", "follow_progress": "请求中…", - "follow_again": "再次发送请求?", "follow_unfollow": "取消关注", "followees": "正在关注", "followers": "关注者", diff --git a/src/i18n/zh_Hant.json b/src/i18n/zh_Hant.json index 7af2cf393..2c4dc3fb3 100644 --- a/src/i18n/zh_Hant.json +++ b/src/i18n/zh_Hant.json @@ -771,7 +771,6 @@ "follow": "關注", "follow_sent": "請求已發送!", "follow_progress": "請求中…", - "follow_again": "再次發送請求?", "follow_unfollow": "取消關注", "followees": "正在關注", "followers": "關注者",