summaryrefslogtreecommitdiff
path: root/internal
AgeCommit message (Collapse)AuthorFiles
2023-07-08[bugfix] Fix delete follow req instead of follow (#1962)Libravatar tobi1
2023-07-08[bugfix] Delete mutual follow (requests) when receiving block from remote ↵Libravatar tobi5
(#1960) * [bugfix] Delete mutual follow (requests) on block * fix test
2023-07-07[feature] enable + document explicit IP dialer allowing/denying (#1950)v0.10.0-rc1Libravatar tobi11
* [feature] enable + document explicit IP dialer allowing/denying * lord have mercy * allee jonge * shortcut check ipv6 prefixes * comment * separate httpclient_test, export Sanitizer
2023-07-07[bugfix] Reorder web view logic, other small fixes (#1954)Libravatar tobi9
2023-07-07[chore/bugfix] Domain block tidying up, Implement first pass of `207 ↵Libravatar tobi18
Multi-Status` (#1886) * [chore/refactor] update domain block processing * expose domain block import errors a lil better * move/remove unused query keys
2023-07-05[chore/performance] Remove remaining 'whereEmptyOrNull' funcs (#1946)Libravatar tobi6
2023-07-04[chore/bugfix] Break Websockets logic into smaller read/write functions, ↵Libravatar tobi2
don't log expected errors (#1932) * [chore/bugfix] Break Websockets logic into smaller read/write functions, don't log expected errors * tweak * tidy up, use control message
2023-06-27[bugfix] Try to fix the webfinger test, again (#1931)Libravatar Daenney1
For some reason we hit the case in CI where the TestFingerWithHostMetaCacheStrategy seems to experience some time dilation. It's possible this is a genuine bug, but I can't for the life of me reproduce it locally, even after having run this test thousands of times (-count=1000 when invoking go test etc.) This changes the test to explicitly stop the webfinger cache, set TTL and Sweep frequency to something well beyond the lifetime of the cache during the test and then starts the cache again. Hopefully that does it, because the other option that remains is that for some reason timekeeping in CI/Docker is not as precise as when running the test on a host.
2023-06-27[bugfix] Use gtserror package for WrongType errs (#1930)Libravatar tobi11
* [bugfix] Use gtserror package for WrongType errs * test
2023-06-24[bugfix] Only mark status orphaned on 410 Gone (#1923)Libravatar tobi1
2023-06-24[bugfix] Ensure `InReplyToID` set properly, update dereference ancestors ↵Libravatar tobi5
func (#1921)
2023-06-22[bugfix/chore] oauth entropy fix + media cleanup tasks rewrite (#1853)Libravatar kim32
2023-06-21[performance] update go-cache library (#1917)Libravatar kim1
* update go-cache library Signed-off-by: kim <grufwub@gmail.com> * fix broken test after cache library upgrade Signed-off-by: kim <grufwub@gmail.com> * fix the webfinger test Signed-off-by: kim <grufwub@gmail.com> --------- Signed-off-by: kim <grufwub@gmail.com>
2023-06-21[feature] Add partial text search for accounts + statuses (#1836)Libravatar tobi29
2023-06-19[chore] Fix Swagger paths for lists API endpoints (#1904)Libravatar Umar Getagazov7
2023-06-19[bugfix] Parse POST-style forms in the list member removal endpoint (#1903)Libravatar Umar Getagazov1
2023-06-17[chore/bugfix] Refactor `ap/extract.go` functions, return URIs more reliably ↵Libravatar tobi9
(#1897)
2023-06-16[bugfix] Accept non-multipart forms for account updates (#1896)Libravatar Umar Getagazov2
* [bugfix] Update Swagger schema per max_profile_fields addition * [bugfix] Accept non-multipart forms for account updates
2023-06-14[chore/bugfix] Demote failed inbox forwarding to warn log rather than error ↵Libravatar tobi1
return (#1892)
2023-06-13[chore] Refactor AP authentication, other small bits of tidying up (#1874)Libravatar tobi38
2023-06-13[Frontend] Settings for profile fields (#1885)Libravatar f0x524
* get max emoji size from instance settings * expose (hardcoded) max amount of profile fields in instance api * basic profile field setting * fix profile field hook structure for updates * *twirls mustache* fix ze tests --------- Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-06-11[bugfix] Invalidate timeline entries for status when stats change (#1879)Libravatar tobi12
2023-06-10[bugfix] Delete from list timeline on status deletion (#1878)Libravatar tobi1
2023-06-04[bugfix] Fix slow joined home timeline query (#1867)Libravatar tobi1
2023-06-04[chore] tidy + test timelines a bit better (#1865)Libravatar tobi12
* [chore] tidy + test timelines a bit better * thanks linter
2023-06-03[chore] Update versions, fix lint errors (#1860)Libravatar tobi8
2023-06-03[bugfix] Fix first item of thread dereferencing always being skipped (#1858)Libravatar tobi1
* [bugfix] Fix first item of thread dereferencing always being skipped * tweak to status descendant item iteration Signed-off-by: kim <grufwub@gmail.com> --------- Signed-off-by: kim <grufwub@gmail.com> Co-authored-by: kim <grufwub@gmail.com>
2023-06-02[bugfix] Allow lowercase emoji shortcode in frontend (#1851)Libravatar Julian-Samuel Gebühr5
* Replace pinafore with semaphore * Typo * Allow lowercase emoji shortcode in frontend * Fix failing test (corrected expected outcome)
2023-06-02[bugfix] Overwrite API client closed errors with `499 - Client Closed ↵Libravatar tobi3
Request` (#1857) * [bugfix] Overwrite client closed errors with 499 * bleep bloop * review changes
2023-06-02[performance] wrap httpclient response body to ensure drained before close ↵Libravatar kim1
(#1854) Signed-off-by: kim <grufwub@gmail.com>
2023-05-31[bugfix] only attempt to populate account/statuses from DB if already exist ↵Libravatar kim2
(#1839) * only attempt to populate account/statuses from DB if already up-to-date Signed-off-by: kim <grufwub@gmail.com> * add missing status is-up-to-date check :grimace: + ensure populated if so Signed-off-by: kim <grufwub@gmail.com> --------- Signed-off-by: kim <grufwub@gmail.com>
2023-05-28[bugfix/chore] Inbox post updates (#1821)Libravatar tobi4
Co-authored-by: kim <grufwub@gmail.com>
2023-05-28[chore] tidy up media manager, add calling func to errors, build-script ↵Libravatar kim59
improvements (#1835) * media manager tidy-up: de-interface and remove unused PostDataFunc Signed-off-by: kim <grufwub@gmail.com> * remove last traces of media.Manager being an interface Signed-off-by: kim <grufwub@gmail.com> * update error to provide caller, allow tuneable via build tags Signed-off-by: kim <grufwub@gmail.com> * remove kim-specific build script changes Signed-off-by: kim <grufwub@gmail.com> * fix merge conflicts Signed-off-by: kim <grufwub@gmail.com> * update build-script to support externally setting build variables Signed-off-by: kim <grufwub@gmail.com> --------- Signed-off-by: kim <grufwub@gmail.com>
2023-05-25[bugfix/docs] Fix clear notifications API docs (#1831)Libravatar Daenney1
The handler is already hooked to the right path, it's just the docs that were missing the path.
2023-05-25[feature] Configurable custom css length (#1827)Libravatar tobi5
* [feature] Make accounts custom css length configurable * test custom css validation
2023-05-25[bugfix] allow usernames of length 1 (#1823)Libravatar decentral1se2
Closes https://github.com/superseriousbusiness/gotosocial/issues/1691. Co-authored-by: decentral1se <cellarspoon@riseup.net>
2023-05-25[feature] Add List functionality (#1802)Libravatar tobi113
* start working on lists * further list work * test list db functions nicely * more work on lists * peepoopeepoo * poke * start list timeline func * we're getting there lads * couldn't be me working on stuff... could it? * hook up handlers * fiddling * weeee * woah * screaming, pissing * fix streaming being a whiny baby * lint, small test fix, swagger * tidying up, testing * fucked! by the linter * move timelines to state like a boss * add timeline start to tests using state * invalidate lists
2023-05-22[chore] update account statuses paging logic (#1814)Libravatar tobi5
2023-05-21[chore] Replace pinafore with semaphore (#1801)Libravatar Julian-Samuel Gebühr2
* Replace pinafore with semaphore * Typo
2023-05-21[bugfix] Add back removed ValidateRequest() before backoff-retry loop (#1805)v0.9.0-rc2Libravatar kim11
* add back removed ValidateRequest() before backoff-retry loop Signed-off-by: kim <grufwub@gmail.com> * include response body in error response log Signed-off-by: kim <grufwub@gmail.com> * improved error response body draining Signed-off-by: kim <grufwub@gmail.com> * add more code commenting Signed-off-by: kim <grufwub@gmail.com> * move new error response logic to gtserror, handle instead in transport.Transport{} impl Signed-off-by: kim <grufwub@gmail.com> * appease ye oh mighty linter Signed-off-by: kim <grufwub@gmail.com> * fix mockhttpclient not setting request in http response Signed-off-by: kim <grufwub@gmail.com> --------- Signed-off-by: kim <grufwub@gmail.com>
2023-05-21[feature] Make client IP logging configurable (#1799)Libravatar Daenney5
2023-05-21[bugfix] Fix incorrect default for empty emoji domain (#1803)Libravatar tobi1
2023-05-16[chore] Change time comparison in webfinger test (#1798)Libravatar Daenney1
Every now and then the TestFingerWithHostMetaCacheStrategy would fail on a time related error. I suspect suite.Equal doesn't quite work as expected when given two time.Time's, so instead explicitly check with the time.Equal.
2023-05-16[bugfix] Fix NegotiateFormat with multiple accept headers (#1797)Libravatar Daenney5
* [bugfix] Fix NegotiateAccept with multi accept There's a bug in Gin's NegotiateFormat that doesn't handle the presence of multilpe accept headers. This lifts the code from the PR @tsmethurst sent a year ago to Gin into our codebase to fix the issue. * [bugfix] Concat accept header in webfinger Some implementations bug out when there's multiple accept headers, including Gin (see 7050112af1ccc935ec542cb41fa8b07f7357539d). But things seem to work reliably with a single accept header with multiple parts. Fixes: #1793
2023-05-15[bugfix] Fix duplicating fields on profile edit (#1788)Libravatar tobi2
* [bugfix] Fix duplicating fields on profile edit * test non-duplicate fields
2023-05-13[frontend] Basic user moderation actions (#1728)Libravatar f0x521
* remove info banner * update swagger definition for AccountAction * basic user view, suspend action * clean up suspended user display * basic user searching * rename User -> Account for clarity * refactor error boundary component to give better info * appease the linter
2023-05-12[chore] Update a bunch of database dependencies (#1772)Libravatar tobi1
* [chore] Update a bunch of database dependencies * fix lil thing
2023-05-12[bugfix] Ensure account fields can be set by JSON (#1762)Libravatar tobi3
2023-05-12[feature] status refetch support (#1690)Libravatar kim52
* revamp http client to not limit requests, instead use sender worker Signed-off-by: kim <grufwub@gmail.com> * remove separate sender worker pool, spawn 2*GOMAXPROCS batch senders each time, no need for transport cache sweeping Signed-off-by: kim <grufwub@gmail.com> * improve batch senders to keep popping recipients until remote URL found Signed-off-by: kim <grufwub@gmail.com> * fix recipient looping issue Signed-off-by: kim <grufwub@gmail.com> * move request id ctx key to gtscontext, finish filling out more code comments, add basic support for not logging client IP Signed-off-by: kim <grufwub@gmail.com> * first draft of status refetching logic Signed-off-by: kim <grufwub@gmail.com> * fix testrig to use new federation alloc func signature Signed-off-by: kim <grufwub@gmail.com> * fix log format directive Signed-off-by: kim <grufwub@gmail.com> * add status fetched_at migration Signed-off-by: kim <grufwub@gmail.com> * remove unused / unchecked for error types Signed-off-by: kim <grufwub@gmail.com> * add back the used type... Signed-off-by: kim <grufwub@gmail.com> * add separate internal getStatus() function for derefThread() that doesn't recurse Signed-off-by: kim <grufwub@gmail.com> * improved mention and media attachment error handling Signed-off-by: kim <grufwub@gmail.com> * fix log and error format directives Signed-off-by: kim <grufwub@gmail.com> * update account deref to match status deref changes Signed-off-by: kim <grufwub@gmail.com> * very small code formatting change to make things clearer Signed-off-by: kim <grufwub@gmail.com> * add more code comments Signed-off-by: kim <grufwub@gmail.com> * improved code commenting Signed-off-by: kim <grufwub@gmail.com> * only check for required further derefs if needed Signed-off-by: kim <grufwub@gmail.com> * improved cache invalidation Signed-off-by: kim <grufwub@gmail.com> * tweak cache restarting to use a (very small) backoff Signed-off-by: kim <grufwub@gmail.com> * small readability changes and fixes Signed-off-by: kim <grufwub@gmail.com> * fix account sync issues Signed-off-by: kim <grufwub@gmail.com> * fix merge conflicts + update account enrichment to accept already-passed accountable Signed-off-by: kim <grufwub@gmail.com> * remove secondary function declaration Signed-off-by: kim <grufwub@gmail.com> * normalise dereferencer get status / account behaviour, fix remaining tests Signed-off-by: kim <grufwub@gmail.com> * fix remaining rebase conflicts, finish commenting code Signed-off-by: kim <grufwub@gmail.com> * appease the linter Signed-off-by: kim <grufwub@gmail.com> * add source file header Signed-off-by: kim <grufwub@gmail.com> * update to use TIMESTAMPTZ column type instead of just TIMESTAMP Signed-off-by: kim <grufwub@gmail.com> * don't pass in 'updated_at' to UpdateEmoji() Signed-off-by: kim <grufwub@gmail.com> * use new ap.Resolve{Account,Status}able() functions Signed-off-by: kim <grufwub@gmail.com> * remove the somewhat confusing rescoping of the same variable names Signed-off-by: kim <grufwub@gmail.com> * update migration file name, improved database delete error returns Signed-off-by: kim <grufwub@gmail.com> * formatting Signed-off-by: kim <grufwub@gmail.com> * improved multi-delete database functions to minimise DB calls Signed-off-by: kim <grufwub@gmail.com> * remove unused type Signed-off-by: kim <grufwub@gmail.com> * fix delete statements Signed-off-by: kim <grufwub@gmail.com> --------- Signed-off-by: kim <grufwub@gmail.com>
2023-05-12[chore] Prefer JSON errors in API endpoints (#1766)Libravatar Natsu Kagami11
* Default to JSON over HTML for error handling * Change the default error display for web endpoints to html