[feature] Dereference remote mentions when the account is not already known (#442)

* remove mention util function from db

* add ParseMentionFunc to gtsmodel

* add parseMentionFunc to processor

* refactor search to simplify it a bit

* add parseMentionFunc to account

* add parseMentionFunc to status

* some renaming for clarity

* test dereference of unknown mentioned account
This commit is contained in:
tobi
2022-03-29 11:54:56 +02:00
committed by GitHub
parent 983e696bd6
commit 37d310f981
16 changed files with 420 additions and 183 deletions

View File

@@ -25,13 +25,11 @@ import (
"github.com/superseriousbusiness/gotosocial/internal/regexes"
)
// DeriveMentionsFromText takes a plaintext (ie., not html-formatted) text,
// and applies a regex to it to return a deduplicated list of accounts
// mentioned in that text.
//
// It will look for fully-qualified account names in the form "@user@example.org".
// or the form "@username" for local users.
func DeriveMentionsFromText(text string) []string {
// DeriveMentionNamesFromText takes a plaintext (ie., not html-formatted) text,
// and applies a regex to it to return a deduplicated list of account names
// mentioned in that text, in the format "@user@example.org" or "@username" for
// local users.
func DeriveMentionNamesFromText(text string) []string {
mentionedAccounts := []string{}
for _, m := range regexes.MentionFinder.FindAllStringSubmatch(text, -1) {
mentionedAccounts = append(mentionedAccounts, m[1])