summaryrefslogtreecommitdiff
path: root/internal/typeutils/util.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/typeutils/util.go')
-rw-r--r--internal/typeutils/util.go57
1 files changed, 0 insertions, 57 deletions
diff --git a/internal/typeutils/util.go b/internal/typeutils/util.go
index 2a0293f65..ecd2cecb0 100644
--- a/internal/typeutils/util.go
+++ b/internal/typeutils/util.go
@@ -350,60 +350,3 @@ func ContentToContentLanguage(
return contentStr, langTagStr
}
-
-// filterableFields returns text fields from
-// a status that we might want to filter on:
-//
-// - content warning
-// - content (converted to plaintext from HTML)
-// - media descriptions
-// - poll options
-//
-// Each field should be filtered separately.
-// This avoids scenarios where false-positive
-// multiple-word matches can be made by matching
-// the last word of one field + the first word
-// of the next field together.
-func filterableFields(s *gtsmodel.Status) []string {
- // Estimate length of fields.
- fieldCount := 2 + len(s.Attachments)
- if s.Poll != nil {
- fieldCount += len(s.Poll.Options)
- }
- fields := make([]string, 0, fieldCount)
-
- // Content warning / title.
- if s.ContentWarning != "" {
- fields = append(fields, s.ContentWarning)
- }
-
- // Status content. Though we have raw text
- // available for statuses created on our
- // instance, use the plaintext version to
- // remove markdown-formatting characters
- // and ensure more consistent filtering.
- if s.Content != "" {
- text := text.ParseHTMLToPlain(s.Content)
- if text != "" {
- fields = append(fields, text)
- }
- }
-
- // Media descriptions.
- for _, attachment := range s.Attachments {
- if attachment.Description != "" {
- fields = append(fields, attachment.Description)
- }
- }
-
- // Poll options.
- if s.Poll != nil {
- for _, opt := range s.Poll.Options {
- if opt != "" {
- fields = append(fields, opt)
- }
- }
- }
-
- return fields
-}