gotosocial/internal/gtsmodel
kim 26b74aefaf
[bugfix] Fix existing bio text showing as HTML (#531)
* fix existing bio text showing as HTML

- updated replaced mentions to include instance
- strips HTML from account source note in Verify handler
- update text formatter to use buffers for string writes

Signed-off-by: kim <grufwub@gmail.com>

* go away linter

Signed-off-by: kim <grufwub@gmail.com>

* change buf reset location, change html mention tags

Signed-off-by: kim <grufwub@gmail.com>

* reduce FindLinks code complexity

Signed-off-by: kim <grufwub@gmail.com>

* fix HTML to text conversion

Signed-off-by: kim <grufwub@gmail.com>

* Update internal/regexes/regexes.go

Co-authored-by: Mina Galić <mina.galic@puppet.com>

* use improved html2text lib with more options

Signed-off-by: kim <grufwub@gmail.com>

* fix to produce actual plaintext from html

Signed-off-by: kim <grufwub@gmail.com>

* fix span tags instead written as space

Signed-off-by: kim <grufwub@gmail.com>

* performance improvements to regex replacements, fix link replace logic for un-html-ing in the future

Signed-off-by: kim <grufwub@gmail.com>

* fix tag/mention replacements to use input string, fix link replace to not include scheme

Signed-off-by: kim <grufwub@gmail.com>

* use matched input string for link replace href text

Signed-off-by: kim <grufwub@gmail.com>

* remove unused code (to appease linter :sobs:)

Signed-off-by: kim <grufwub@gmail.com>

* improve hashtagFinger regex to be more compliant

Signed-off-by: kim <grufwub@gmail.com>

* update breakReplacer to include both unix and windows line endings

Signed-off-by: kim <grufwub@gmail.com>

* add NoteRaw field to Account to store plaintext account bio, add migration for this, set for sensitive accounts

Signed-off-by: kim <grufwub@gmail.com>

* drop unnecessary code

Signed-off-by: kim <grufwub@gmail.com>

* update text package tests to fix logic changes

Signed-off-by: kim <grufwub@gmail.com>

* add raw note content testing to account update and account verify

Signed-off-by: kim <grufwub@gmail.com>

* remove unused modules

Signed-off-by: kim <grufwub@gmail.com>

* fix emoji regex

Signed-off-by: kim <grufwub@gmail.com>

* fix replacement of hashtags

Signed-off-by: kim <grufwub@gmail.com>

* update code comment

Signed-off-by: kim <grufwub@gmail.com>

Co-authored-by: Mina Galić <mina.galic@puppet.com>
2022-05-07 17:55:27 +02:00
..
account.go [bugfix] Fix existing bio text showing as HTML (#531) 2022-05-07 17:55:27 +02:00
admin.go [feature] Admin account actions (#432) 2022-03-19 12:01:40 +01:00
application.go Extend license notices to 2022 (#354) 2021-12-20 18:42:19 +01:00
block.go Extend license notices to 2022 (#354) 2021-12-20 18:42:19 +01:00
client.go Extend license notices to 2022 (#354) 2021-12-20 18:42:19 +01:00
domainblock.go Extend license notices to 2022 (#354) 2021-12-20 18:42:19 +01:00
emaildomainblock.go Extend license notices to 2022 (#354) 2021-12-20 18:42:19 +01:00
emoji.go Extend license notices to 2022 (#354) 2021-12-20 18:42:19 +01:00
follow.go Extend license notices to 2022 (#354) 2021-12-20 18:42:19 +01:00
followrequest.go Extend license notices to 2022 (#354) 2021-12-20 18:42:19 +01:00
instance.go Extend license notices to 2022 (#354) 2021-12-20 18:42:19 +01:00
mediaattachment.go [feature] Clean up/uncache remote media (#407) 2022-03-07 11:08:26 +01:00
mention.go [feature] Dereference remote mentions when the account is not already known (#442) 2022-03-29 11:54:56 +02:00
notification.go Extend license notices to 2022 (#354) 2021-12-20 18:42:19 +01:00
README.md Prune unnecessary nullzeros, fixup db tags (#200) 2021-09-10 10:08:21 +02:00
routersession.go Extend license notices to 2022 (#354) 2021-12-20 18:42:19 +01:00
status.go [feature] Rework timeline code to make it useful for more than just statuses (#373) 2022-02-05 12:47:38 +01:00
statusbookmark.go Extend license notices to 2022 (#354) 2021-12-20 18:42:19 +01:00
statusfave.go Extend license notices to 2022 (#354) 2021-12-20 18:42:19 +01:00
statusmute.go Extend license notices to 2022 (#354) 2021-12-20 18:42:19 +01:00
tag.go Extend license notices to 2022 (#354) 2021-12-20 18:42:19 +01:00
token.go Extend license notices to 2022 (#354) 2021-12-20 18:42:19 +01:00
user.go Extend license notices to 2022 (#354) 2021-12-20 18:42:19 +01:00

A note on when we should set data structures linked to objects in the database to use the bun nullzero tag -- this should only be done if the member type is a pointer, or if the this primitive type is literally invalid with an empty value (e.g. media IDs which when empty signifies a null database value, compared to say an account note which when empty could mean either an empty note OR null database value).

Obviously it is a little more complex than this in practice, but keep it in mind!