summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2024-05-30 09:14:21 +0000
committerdakkar <dakkar@thenautilus.net>2024-05-30 09:14:21 +0000
commitdc0bd3c2eea7fb4d2196f1e613a1930552abeafb (patch)
tree9c35d34066f2eba5ea01a6079794664129231bac
parentmerge: put back button to delete all files for a user - fixes #535 (!526) (diff)
parentfeat: allow using wildcards in antenna (diff)
downloadsharkey-dc0bd3c2eea7fb4d2196f1e613a1930552abeafb.tar.gz
sharkey-dc0bd3c2eea7fb4d2196f1e613a1930552abeafb.tar.bz2
sharkey-dc0bd3c2eea7fb4d2196f1e613a1930552abeafb.zip
merge: feat: allow using wildcards in antenna (!114)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/114 Approved-by: dakkar <dakkar@thenautilus.net> Approved-by: Leah <kevinlukej@gmail.com>
-rw-r--r--locales/en-US.yml2
-rw-r--r--locales/es-ES.yml2
-rw-r--r--packages/backend/src/core/AntennaService.ts8
3 files changed, 8 insertions, 4 deletions
diff --git a/locales/en-US.yml b/locales/en-US.yml
index c442d41c1e..69f9ca04a9 100644
--- a/locales/en-US.yml
+++ b/locales/en-US.yml
@@ -415,7 +415,7 @@ antennaKeywordsDescription: "Separate with spaces for an AND condition or with l
notifyAntenna: "Notify about new notes"
withFileAntenna: "Only notes with files"
enableServiceworker: "Enable Push-Notifications for your Browser"
-antennaUsersDescription: "List one username per line"
+antennaUsersDescription: "List one username per line. Use \"*@instance.com\" to specify all users of an instance"
caseSensitive: "Case sensitive"
withReplies: "Include replies"
connectedTo: "Following account(s) are connected"
diff --git a/locales/es-ES.yml b/locales/es-ES.yml
index 08fed63f5d..c77773949f 100644
--- a/locales/es-ES.yml
+++ b/locales/es-ES.yml
@@ -404,7 +404,7 @@ antennaKeywordsDescription: "Separar con espacios es una declaración AND, separ
notifyAntenna: "Notificar nueva nota"
withFileAntenna: "Sólo notas con archivos adjuntados"
enableServiceworker: "Activar ServiceWorker"
-antennaUsersDescription: "Elegir nombres de usuarios separados por una linea nueva"
+antennaUsersDescription: "Elegir nombres de usuarios separados por una linea nueva. Utilice \"*@instance.com\" para especificar todos los usuarios de una instancia."
caseSensitive: "Distinguir mayúsculas de minúsculas"
withReplies: "Incluir respuestas"
connectedTo: "Estas cuentas están conectadas"
diff --git a/packages/backend/src/core/AntennaService.ts b/packages/backend/src/core/AntennaService.ts
index 4f956a43ed..5168b6576f 100644
--- a/packages/backend/src/core/AntennaService.ts
+++ b/packages/backend/src/core/AntennaService.ts
@@ -131,13 +131,17 @@ export class AntennaService implements OnApplicationShutdown {
const { username, host } = Acct.parse(x);
return this.utilityService.getFullApAccount(username, host).toLowerCase();
});
- if (!accts.includes(this.utilityService.getFullApAccount(noteUser.username, noteUser.host).toLowerCase())) return false;
+ const matchUser = this.utilityService.getFullApAccount(noteUser.username, noteUser.host).toLowerCase();
+ const matchWildcard = this.utilityService.getFullApAccount('*', noteUser.host).toLowerCase();
+ if (!accts.includes(matchUser) && !accts.includes(matchWildcard)) return false;
} else if (antenna.src === 'users_blacklist') {
const accts = antenna.users.map(x => {
const { username, host } = Acct.parse(x);
return this.utilityService.getFullApAccount(username, host).toLowerCase();
});
- if (accts.includes(this.utilityService.getFullApAccount(noteUser.username, noteUser.host).toLowerCase())) return false;
+ const matchUser = this.utilityService.getFullApAccount(noteUser.username, noteUser.host).toLowerCase();
+ const matchWildcard = this.utilityService.getFullApAccount('*', noteUser.host).toLowerCase();
+ if (accts.includes(matchUser) || accts.includes(matchWildcard)) return false;
}
const keywords = antenna.keywords