Commit graph

1,206 commits

Author SHA1 Message Date
kim
90bf3a1bbd add more cache invalidation explanatory comments 2024-09-16 15:23:58 +01:00
kim
830893d713 add comments to each specific key being invalidated 2024-09-16 15:23:58 +01:00
kim
77ff30cf1d update remaining list tests 2024-09-16 15:23:58 +01:00
kim
d277705e6c uncomment + fix list database tests 2024-09-16 15:23:58 +01:00
kim
2ced0786f7 fix delete user sql, allow returning on err no entries 2024-09-16 15:23:58 +01:00
kim
2485442086 update remainder of delete functions to behave in similar way, some other small tweaks 2024-09-16 15:23:58 +01:00
kim
f052af6e02 remove unused db function 2024-09-16 15:23:58 +01:00
kim
2b31fe415f fix broken list entries delete sql 2024-09-16 15:23:58 +01:00
kim
56589f9b2c fixes to recent database delete changes 2024-09-16 15:23:58 +01:00
kim
66ce2aa9a9 use returning statements on delete to get cache invalidation info 2024-09-16 15:23:58 +01:00
kim
d03116fea3 rename some funcs, allow deleting list entries for multiple follow IDs at a time, fix up more tests 2024-09-16 15:23:58 +01:00
kim
f6824681c7 update the expected return order of CSV exports (since list entries are now down by entry creation date) 2024-09-16 15:23:58 +01:00
kim
7aafaae619 fix issues after rebase on upstream/main 2024-09-16 15:23:58 +01:00
kim
bca5e1b926 remove zero checks in uncached key load functions (go-structr now handles this) 2024-09-16 15:23:58 +01:00
kim
e5c27a9fea ensure returned ID lists are ordered correctly 2024-09-16 15:23:58 +01:00
kim
6338e4aa21 ensure list related caches are correctly invalidated 2024-09-16 15:23:58 +01:00
kim
af1be28c2b fix nil panic in AddToList() 2024-09-16 15:23:58 +01:00
kim
002bd86a39 improvements to caching for lists and relationship to accounts / follows 2024-09-16 15:23:58 +01:00
tobi
71261c62c2
[chore] Reject replies to rejected replies (#3291)
* [chore] Reject replies to rejected replies

* tweak

* don't set URI for implicit Rejects
2024-09-16 14:08:42 +02:00
tobi
efd1a4f717
[bugfix] Use better plaintext representation of status for filtering (#3301)
* [bugfix] Use better plaintext representation of status for filtering

* add new deps to readme

* lint

* update tests

* update regexes

* address review comments

* remove now unused xxhash

* whoops, wrong logger

* Merge branch 'main' into status_filtering_bugfix

* put cache in caches struct

* pain
2024-09-16 14:00:23 +02:00
kim
6dd936fbe1
[bugfix/chore] Always set the status sensitive if media + content-warning present (#3308)
* always set the status sensitive flag to true if it has a content-warning with media

* whoops use attachment ids instead of mention ids ... 🤦
2024-09-16 13:38:12 +02:00
Vyr Cossont
f3311d6273
[bugfix] Hoist filterable text field extraction out of loop (#3297)
This doesn't change within the loop, so there's no point in repeating it.
2024-09-15 10:42:04 +02:00
Daenney
4fa0d41202
[chore] Update go-sqlite3 to 0.18.3 (#3295)
* [chore] Update go-sqlite3 to 0.18.3

* [chore] Fix getting the sqlite3.Conn
2024-09-14 16:36:25 +02:00
tobi
20fe430ef9
[bugfix] Update home timeline query to ignore exclusive list entries (#3289)
* [bugfix] Update home timeline query to ignore exclusive list entries

* a
2024-09-11 10:55:25 +00:00
tobi
307d98e386
[feature] Process Reject of interaction via fedi API, put rejected statuses in the "sin bin" 😈 (#3271)
* [feature] Process `Reject` of interaction via fedi API, put rejected statuses in the "sin bin"

* update test

* move nil check back to `rejectStatusIRI`
2024-09-10 12:34:49 +00:00
kim
3254ef1923
[chore] status dereferencing improvements (#3255)
* search for mentions also by username,domain in status deref, handle deleted statuses in enrichStatusSafely()

* return d.enrichStatusSafely() directly
2024-09-10 12:33:32 +00:00
Vyr Cossont
540edef0c2
[feature] Implement exclusive lists (#3280)
Fixes #2616
2024-09-09 15:56:58 -07:00
tobi
5543fd5340
[feature/frontend] Add options to include Unlisted posts or hide all posts (#3272)
* [feature/frontend] Add options to include Unlisted posts or hide all posts

* finish up

* swagger

* move invalidate call into bundb package, avoid invalidating if not necessary

* rename show_web_statuses => web_visibility

* don't use ptr for webvisibility

* last bits
2024-09-09 18:07:25 +02:00
Vyr Cossont
100d660797
[bugfix] Swagger: add missing filter_action param for v2 filter PUT (#3281) 2024-09-09 09:52:49 +02:00
tobi
b17010cf17
[bugfix] Fix temp table deletion causing runaway allocations (#3278)
* [bugfix] Fix temp table deletion causing runaway allocations

* move some vars around

* small fixes

* rely on conn max age to recycle temp tables

* fackin' ell m8
2024-09-08 16:14:56 +02:00
Daenney
0e2ee857ac
[chore] More AI blocking (#3273) 2024-09-07 17:21:36 +02:00
kim
6ee540a503
fix new processing media / emoji not being added to dereferencer maps (#3269) 2024-09-03 13:30:41 +00:00
tobi
7b7659f1fa
[chore/performance] Further reduce nil uncached queries (#3267)
* [chore/performance] Further reduce nil uncached queries

* more checks
2024-09-02 18:15:12 +02:00
tobi
0560c5ce89
[chore] Don't try to select zero uncached filters (#3266) 2024-09-02 17:13:54 +02:00
tobi
25a815a8a4
[chore/performance] Avoid unnecessary "uncached" queries (#3265)
* [chore/performance] Avoid unnecessary "uncached" queries

* go fmt
2024-09-02 14:00:17 +02:00
kim
0a1555521d
[performance] use single-threaded image transforms (#3252)
* use single-threaded image resizing in native code so we have more control over goroutines

* implement parallel-free versions of image transform functions also

* remove debug code
2024-08-31 10:41:38 +02:00
tobi
88a81fbcaf
[chore] Close copied request body in SignDelivery (#3254) 2024-08-30 17:00:55 +00:00
tobi
cd93a5baf3
[security] Implement allowFiles fs for better isolation of ffmpeg / ffprobe (#3251)
* [chore] Implement readOneFile fs

* further isolation

* remove fmt call

* tweaks
2024-08-30 14:03:59 +02:00
tobi
e10aa76612
[chore] Only call imaging.Resize when necessary, use even tinier blurhashes (#3247)
* [chore] Use `imaging.Fit`, use even tinier blurhashes

* avoid calling resize if not necessary

* update blurhashes + thumb
2024-08-29 17:43:14 +02:00
Daenney
277b043633
[chore] Update robots.txt with more AI scrapers (#3248) 2024-08-29 17:42:48 +02:00
tobi
8a34e4c28f
[bugfix] Fix incorrect json-ld @context serialization (#3243) 2024-08-26 19:17:45 +02:00
tobi
db59ca36b1
[chore] Remove unused "env" module (#3235) 2024-08-25 15:37:20 +00:00
tobi
2bd31ab710
[chore] Tiny tweak to ApprovedByURI (#3234) 2024-08-25 15:44:08 +02:00
tobi
d3887bf6cc
[bugfix] Let prometheus client do its own compression handling (#3232) 2024-08-25 13:25:32 +02:00
tobi
bef0dfc66c
[bugfix] Carry-over ApprovedByURI to avoid marking already-approved remote statuses as pending approval (#3231)
* [bugfix] Carry-over pendingApproval + approvedByURI to avoid pending already-approved remote statuses

* don't carry over pending_approval, not necessary

* comment
2024-08-25 12:18:39 +02:00
tobi
da3fa2d4a2
[chore/bugfix] Fix missing insertion of preapproved interaction requests (#3228) 2024-08-24 12:17:55 +00:00
tobi
f23f04e0b1
[feature] Interaction requests client api + settings panel (#3215)
* [feature] Interaction requests client api + settings panel

* test accept / reject

* fmt

* don't pin rejected interaction

* use single db model for interaction accept, reject, and request

* swaggor

* env sharting

* append errors

* remove ErrNoEntries checks

* change intReqID to reqID

* rename "pend" to "request"

* markIntsPending -> mark interactionsPending

* use log instead of returning error when rejecting interaction

* empty migration

* jolly renaming

* make interactionURI unique again

* swag grr

* remove unnecessary locks

* invalidate as last step
2024-08-24 11:49:37 +02:00
kim
8e5a72ac5c
[performance] ffmpeg ffprobe wrapper improvements (#3225)
* use a single instance of wazero runtime and compiled modules

* remove test output 🤦

* undo process-{media,emoji} changes

* update test runner to include wazero compilation cache

* sign drone.yml

---------

Co-authored-by: tobi <tobi.smethurst@protonmail.com>
2024-08-23 17:15:35 +02:00
tobi
53fccb8af8
[feature] Use local_only field, deprecate federated field (#3222)
* [feature] Use `local_only` field, deprecate `federated` field

* use `deprecated` comment for form.Federated

* nolint
2024-08-22 19:47:10 +02:00
kim
889d4756ea
[performance] use native Go code to probe JPEGs (#3206)
* use native Go code to probe JPEGs

* add note about copying from github.com/disintegration/imaging

* add more code comments
2024-08-19 13:38:10 +00:00