summaryrefslogtreecommitdiff
path: root/internal
AgeCommit message (Collapse)AuthorFiles
2024-06-14[bugfix] avoid v. long notification clear query (#3007)v0.16.0-rc3Libravatar tobi2
2024-06-14[feature] filter API v2: Restore keywords_attributes and statuses_attributes ↵Libravatar Vyr Cossont7
(#2995) These filter API v2 features were cut late in development because the form encoding version is hard to implement correctly and because I thought no clients actually used `keywords_attributes`. Unfortunately, Phanpy does use `keywords_attributes`.
2024-06-13[chore] Update move test (#3005)Libravatar tobi1
2024-06-12[chore] Don't render sign-up form when registrations closed (#3001)Libravatar tobi1
2024-06-12[bugfix] Ensure side effects handled for local unlocked follows (#2998)Libravatar tobi2
2024-06-12[bugfix] Correct Swagger path for poll voting (#2996)Libravatar Vyr Cossont1
Updates the Swagger spec to match the router. Fixes #2994
2024-06-11[bugfix] Deref stats async, serve stub collections if handshaking (#2990)v0.16.0-rc2Libravatar tobi13
* [bugfix] Deref stats async, allow peek if handshaking * don't return totalItems when handshaking or hiding collections * use GetLimit() * use StubAccountStats
2024-06-10[bugfix] boost and account recursion (#2982)Libravatar kim7
* fix possible infinite recursion if moved accounts are self-referential * adds a defensive check for a boost being a boost of a boost wrapper * add checks on input for a boost of a boost * remove unnecessary check * add protections on account move to prevent move recursion loops * separate status conversion without boost logic into separate function to remove risk of recursion * move boost check to boost function itself * formatting * use error 422 instead of 500 * use gtserror not standard errors package for error creation
2024-06-10[chore] Roll back use of `(created)` pseudo-header pending #2991 (#2992)Libravatar tobi1
2024-06-07[chore] Warn about email/password change when using OIDC (#2975)Libravatar tobi5
* [chore] Warn about email/password change when using OIDC * go fmt
2024-06-07[feature] Implement filters_changed stream event (#2972)Libravatar Vyr Cossont30
2024-06-06[bugfix] Filter fixes (#2971)Libravatar Vyr Cossont11
* Add Filter.Expired convenience method, consistent with mutes * Add missing Swagger for filter keyword/status delete and for 403s on moved accounts
2024-06-06[feature] User muting (#2960)Libravatar Vyr Cossont43
* User muting * Address review feedback * Rename uniqueness constraint on user_mutes to match convention * Remove unused account_id from where clause * Add UserMute to NewTestDB * Update test/envparsing.sh with new and fixed cache stuff * Address tobi's review comments * Make compiledUserMuteListEntry.expired consistent with UserMute.Expired * Make sure mute_expires_at is serialized as an explicit null for indefinite mutes --------- Co-authored-by: tobi <tobi.smethurst@protonmail.com>
2024-06-06[bugfix] update media if more than just url changes (#2970)Libravatar kim3
* refactor status media handling into separate functions, handle case of changed metadata * update fetchRemoteAccount{Avatar,Header} to use new refactored {load,update}Attachment() functions * whoops, nearly marked avatars as headers :') * reformatting to improve legibility
2024-06-06[feature] Self-serve email change for users (#2957)Libravatar tobi42
* [feature] Email change * frontend stuff for changing email * docs * tests etc * differentiate more clearly between local user+account and account * populate user
2024-06-06drop date (#2969)Libravatar tobi1
2024-06-06[feature] do not uncache status / emoji media if attached status is ↵Libravatar kim16
bookmarked (#2956) * do not uncache status / emoji media if attached status is bookmarked * add status bookmark and bookmark IDs caches * update status bookmark tests * move IsStatusBookmarkedBy() to StatusBookmark{} interface, rely on cache * fix envparsing.sh test
2024-06-06[bugfix] Don't nil emojis + fields on blocked accounts (#2968)Libravatar tobi3
* [bugfix] Don't nil emojis + fields on blocked accounts * comment * swagger
2024-06-06[bugfix] concurrent map writes in dereferencer media processing maps (#2964)Libravatar kim4
* removes the avatar / header deref maps as we now have per-uri status / account locks, adds retries on data-races, adds separate emoji map mutex * work with a copy of account / status for each retry loop * revert to old data race behaviour, it gets too complicated otherwise --------- Co-authored-by: tobi <tobi.smethurst@protonmail.com>
2024-06-05[chore] Fiddle with CI tests; use wasmsqlite3 for CI tests (#2966)Libravatar tobi1
* [chore] Update CI test stuff * don't bother with ldflags * use wasmsqlite3
2024-06-04Compile filter keyword regexps when touched through PutFilter or ↵Libravatar Vyr Cossont1
UpdateFilter (#2951) Followup to #2903
2024-06-03[feature] log worker startup counts (#2958)Libravatar kim3
* log number of each worker kinds started, and log when stopped * remove worker debug logging * whoops, fix the count of media workers
2024-06-03[feature/frontend] Add debug sections to settings panel (#2950)Libravatar tobi3
* [feature/frontend] Add debug sections to settings panel * max-width * swagger
2024-05-31[feature] Add from: search operator and account_id query param (#2943)Libravatar Vyr Cossont8
* Add from: search operator * Fix whitespace in Swagger YAML comment * Move query parsing into its own method * Document search * Clarify post search scope
2024-05-31[feature] Implement Filter API v2 (#2936)Libravatar Vyr Cossont64
* Use correct entity name * We support server-side filters now * Document filter v1 methods that can throw a 409 * Validate v1 filter phrase as filter title * Always check v1 filter API status codes in tests * Document keyword minimum requirement on filter API v1 * Make it possible to specify filter keyword update columns per filter keyword * Implement v2 filter API * Fix lint and tests * Update Swagger spec * Fix filter update test * Update Swagger spec *correctly* * Update actual files Swagger spec was generated from * Remove keywords_attributes and statuses_attributes * Add test for serialization of empty filter * More helpful messages when object is owned by wrong account
2024-05-30[chore] Make worker run messages debug output (#2944)Libravatar Daenney3
On startup and shutdown of a worker, we log a message of the worker being started together with a textual representation of a memory address. Though this can be handy for developers to debug startup/shutdown sequencing issues of the workers, it's typically not very useful or informative for an admin. We can also output a lot of these (on my system I get 265 lines of these during startup). This changes the messages from Info to Debug, to not print them under normal circumstances.
2024-05-29[chore] improved startup / shutdown (#2925)Libravatar kim2
* improved server shutdown with more precise shutdown of modules + deferring of ALL of it * make the same changes to the testrig server * use testrig specific func * update variable name to fix nilptr * fix removal of setting db on state
2024-05-29[feature] Implement profile API (#2926)Libravatar Vyr Cossont5
* Implement profile API This Mastodon 4.2 extension provides capabilities missing from the existing Mastodon account update API: deleting an account's avatar or header. See: https://docs.joinmastodon.org/methods/profile/ * Move profile media methods to media processor * Remove check for moved account
2024-05-29[feature] Debug admin endpoint to clear caches (#2940)Libravatar tobi5
* [feature] Debug admin endpoint to clear caches * go fmt
2024-05-28[chore/bugfix] Don't cache MovedTo account (#2939)Libravatar tobi1
2024-05-27[feature/frontend] Let admins send test email to validate SMTP config (#2934)Libravatar tobi4
* [feature/frontend] Let admins send test email to validate SMTP config * wee
2024-05-27[experiment] add alternative wasm sqlite3 implementation available via ↵Libravatar kim20
build-tag (#2863) This allows for building GoToSocial with [SQLite transpiled to WASM](https://github.com/ncruces/go-sqlite3) and accessed through [Wazero](https://wazero.io/).
2024-05-27[chore] Fix report email link (#2932)Libravatar tobi1
2024-05-22[performance] update storage backend and make use of seek syscall when ↵Libravatar kim13
available (#2924) * update to use go-storage/ instead of go-store/v2/storage/ * pull in latest version from codeberg * remove test output :innocent: * add code comments * set the exclusive bit when creating new files in disk config * bump to actual release version * bump to v0.1.1 (tis a simple no-logic change) * update readme * only use a temporary read seeker when decoding video if required (should only be S3 now) * use fastcopy library to use memory pooled buffers when calling TempFileSeeker() * update to use seek call in serveFileRange()
2024-05-21[performance] cache v2 filter keyword regular expressions (#2903)Libravatar kim5
* add caching of filterkeyword regular expressions * formatting * fix WholeWord nil check
2024-05-13[performance] update go-structr and go-mutexes with memory usage ↵Libravatar kim1
improvements (#2909) * update go-structr and go-mutexes with memory usage improvements * bump to go-structr v0.8.4
2024-05-06update the total ratios calculation to include ALL caches (previously was ↵Libravatar kim2
missing a few!) (#2907)
2024-05-06feature: filters v2 server-side warning/hiding (#2793)Libravatar Vyr Cossont23
* Remove dead code * Filter statuses when converting to frontend representation * status.filtered is an array * Make matching case-insensitive * Remove TODOs that don't need to be done now * Add missing filter check for notification * lint: rename ErrHideStatus * APIFilterActionToFilterAction not used yet * swaggerino docseroni * Address review comments * Add apimodel.FilterActionNone --------- Co-authored-by: tobi <31960611+tsmethurst@users.noreply.github.com> Co-authored-by: tobi <tobi.smethurst@protonmail.com>
2024-05-05close + drain body if response body is too large (#2897)Libravatar kim1
2024-05-05[feature] Add HTTP header permission section to frontend (#2893)Libravatar tobi2
* [feature] Add HTTP header filter section to frontend * tweak naming a bit
2024-05-02add missing caches to the main cache sweep command (#2891)Libravatar kim1
2024-05-02[bugfix] Lock when checking/creating notifs to avoid race (#2890)Libravatar tobi15
* [bugfix] Lock when checking/creating notifs to avoid race * test notif spam
2024-05-01[feature] Page through accounts as moderator (#2881)Libravatar tobi8
* [feature] Page through accounts as moderator * aaaaa * use COLLATE "C" for Postgres to ensure same ordering as SQLite * fix typo, test paging up * don't show moderation / info for our instance acct
2024-05-01[bugfix] function queue memory pools limitlessly grow (#2882)Libravatar kim1
* updates the simple queue memory pool to actually self-clean + limit growth * update memory pool cleaning frequency
2024-05-01[bugfix] flaky paging test (#2888)Libravatar kim1
2024-04-30[bugfix] further paging mishaps (#2884)Libravatar kim5
* FURTHER paging shenanigans :smiling_face_with_tear: * remove cursor logic from ToLinkURL() * fix up paging tests --------- Co-authored-by: tobi <tobi.smethurst@protonmail.com>
2024-04-30[bugfix] retry on http 500 errors *inclusive* (#2886)Libravatar kim1
2024-04-30[chore] include attemptno in httpclient logs (#2887)Libravatar kim1
* include request attempt number in httpclient logs * slightly nicer attempt number formatting
2024-04-30[bugfix] paging rel links (#2883)Libravatar kim3
* fix paging so it uses correct cursor query parameter name * improved code comment * whoops, flip the cursoring :facepalm: * fix the broken test
2024-04-29[chore] Fix conflict in workers tests (#2880)Libravatar tobi3
* [chore] Fix conflict in workers tests * commenty-wenty