summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFiles
2023-01-03[chore] shuffle middleware to split rate limitting into ↵Libravatar kim10
client/s2s/fileserver, share gzip middleware globally (#1290) Signed-off-by: kim <grufwub@gmail.com> Signed-off-by: kim <grufwub@gmail.com>
2023-01-03[docs] Add troubleshooting section for Apache (#1291)Libravatar Alex Schroeder1
2023-01-02[chore] The Big Middleware and API Refactor (tm) (#1250)Libravatar tobi228
* interim commit: start refactoring middlewares into package under router * another interim commit, this is becoming a big job * another fucking massive interim commit * refactor bookmarks to new style * ambassador, wiz zeze commits you are spoiling uz * she compiles, we're getting there * we're just normal men; we're just innocent men * apiutil * whoopsie * i'm glad noone reads commit msgs haha :blob_sweat: * use that weirdo go-bytesize library for maxMultipartMemory * fix media module paths
2023-01-02[chore]: Bump github.com/abema/go-mp4 from 0.8.0 to 0.9.0 (#1287)Libravatar dependabot[bot]4
Bumps [github.com/abema/go-mp4](https://github.com/abema/go-mp4) from 0.8.0 to 0.9.0. - [Release notes](https://github.com/abema/go-mp4/releases) - [Commits](https://github.com/abema/go-mp4/compare/v0.8.0...v0.9.0) --- updated-dependencies: - dependency-name: github.com/abema/go-mp4 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-27[chore]: Bump github.com/gin-gonic/gin from 1.8.1 to 1.8.2 (#1286)Libravatar dependabot[bot]45
Bumps [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) from 1.8.1 to 1.8.2. - [Release notes](https://github.com/gin-gonic/gin/releases) - [Changelog](https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md) - [Commits](https://github.com/gin-gonic/gin/compare/v1.8.1...v1.8.2) --- updated-dependencies: - dependency-name: github.com/gin-gonic/gin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-27[chore]: Bump codeberg.org/gruf/go-bytesize from 1.0.0 to 1.0.2 (#1285)Libravatar dependabot[bot]5
Bumps codeberg.org/gruf/go-bytesize from 1.0.0 to 1.0.2. --- updated-dependencies: - dependency-name: codeberg.org/gruf/go-bytesize dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-22[feature] For video attachments, store + return fps, bitrate, duration (#1282)Libravatar tobi19
* start messing about with different mp4 metadata extraction * heyyooo it works * add test cow * move useful multierror to gtserror package * error out if video doesn't seem to be a real mp4 * test parsing mkv in disguise as mp4 * tidy up error handling * remove extraneous line * update framerate formatting * use float32 for aspect * fixy mctesterson
2022-12-21[bugfix] fix media create error not being checked (#1283)Libravatar tobi1
2022-12-21[bugfix] Close reader gracefully when streaming recache of remote media to ↵Libravatar tobi8
fileserver api caller (#1281) * close pipereader on failed data function * gently slurp the bytes * readability updates * go fmt * tidy up file server tests + add more cases * start moving io wrappers to separate iotools package. Remove use of buffering while piping recache stream Signed-off-by: kim <grufwub@gmail.com> * add license text Signed-off-by: kim <grufwub@gmail.com> Co-authored-by: kim <grufwub@gmail.com>
2022-12-17[chore] note broken go v1.19.4 in contributing.md (#1278)Libravatar tobi1
2022-12-17[feature] Enable basic video support (mp4 only) (#1274)Libravatar tobi39
* [feature] basic video support * fix missing semicolon * replace text shadow with stacked icons Co-authored-by: f0x <f0x@cthu.lu>
2022-12-16[chore] fix some little config whoopsies (#1272)Libravatar tobi1
2022-12-16update go-cache to v3.2.0 with support for ignoring errors (#1273)Libravatar kim6
2022-12-16[chore/bugfix] Switch markdown from blackfriday to goldmark (#1267)Libravatar Autumn!71
Co-authored-by: Autumn! <autumnull@posteo.net>
2022-12-16[bugfix] use match-sorter for filtering domain blocks (#1270)Libravatar f0x521
2022-12-15[bugfix] Use null for empty api status `language` (#1268)Libravatar tobi5
* [bugfix] Use null for empty api status `language` * update swagger docs
2022-12-15[docs] Update Apache docs to use 127.0.0.1 instead of localhost (#1266)Libravatar EchedeyLR1
* Update Apache docs to use 127.0.0.1 instead * Update apache-httpd.md
2022-12-14[chore] Add svg version of sloth logo as logo.svg (#1265)Libravatar tobi1
2022-12-14[docs] Update nginx docs to use 127.0.0.1 instead of localhost (#1264)Libravatar tobi1
Lots of these were appearing: ``` *459 connect() failed (111: Connection refused) while connecting to upstream ``` This change resolves it, see https://stackoverflow.com/a/52550758
2022-12-14[feature] support Sec-Websocket-Protocol in streaming API (#1254)Libravatar Matthew Phillips3
* [feature] support Sec-Websocket-Protocol in streaming API * Fix lint problem * Update based on reviews
2022-12-14[feature] domain block wildcarding (#1178)Libravatar kim5
* for domain block lookups, lookup along subdomain parts Signed-off-by: kim <grufwub@gmail.com> * only lookup up to a max of 5 domain parts to prevent DOS, limit inserted domains to max of 5 subdomains Signed-off-by: kim <grufwub@gmail.com> * add test for domain block wildcarding Signed-off-by: kim <grufwub@gmail.com> * check cached status first, increase cached domain time Signed-off-by: kim <grufwub@gmail.com> * fix domain wildcard part building logic Signed-off-by: kim <grufwub@gmail.com> * create separate domain.BlockCache{} type to hold all domain blocks in memory Signed-off-by: kim <grufwub@gmail.com> * remove unused variable Signed-off-by: kim <grufwub@gmail.com> * add docs and test to domain block cache, check for domain == host in domain block getter funcs Signed-off-by: kim <grufwub@gmail.com> * add license text Signed-off-by: kim <grufwub@gmail.com> * check order in which we check primary cache Signed-off-by: kim <grufwub@gmail.com> * add better documentation of how domain block checking is performed Signed-off-by: kim <grufwub@gmail.com> * change Signed-off-by: kim <grufwub@gmail.com> Signed-off-by: kim <grufwub@gmail.com>
2022-12-13[bugfix] fix unordered favorites (#1245)Libravatar Christoph Voigt4
* [bugfix] fix unordered favorites * add test for favouritesget * add license to new test files
2022-12-12[feature] allow uncaching of other media types (#1234)Libravatar kim10
* simplify pruneRemote, remove unncecessary media trace logging, update RemoteOlderThan() to include headers/avis Signed-off-by: kim <grufwub@gmail.com> * cleanup pruneallmeta, add remote header to pruneremote tests Signed-off-by: kim <grufwub@gmail.com> * fix olderthan duration additions Signed-off-by: kim <grufwub@gmail.com> * fix broken test now that test model header changed Signed-off-by: kim <grufwub@gmail.com> * instead use new remote test account for new header model Signed-off-by: kim <grufwub@gmail.com> * use newer generated ULID for remote_account_3 to ensure it is sorted last Signed-off-by: kim <grufwub@gmail.com> * reorganize serialized keys to match expected test account model order Signed-off-by: kim <grufwub@gmail.com> Signed-off-by: kim <grufwub@gmail.com>
2022-12-12[chore]: Bump golang.org/x/image from 0.1.0 to 0.2.0 (#1252)Libravatar dependabot[bot]4
Bumps [golang.org/x/image](https://github.com/golang/image) from 0.1.0 to 0.2.0. - [Release notes](https://github.com/golang/image/releases) - [Commits](https://github.com/golang/image/compare/v0.1.0...v0.2.0) --- updated-dependencies: - dependency-name: golang.org/x/image dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-11[frogend] Emoji copy "Steal this look" (#1222)Libravatar f0x5213
* split emoji into local and remote, allow looking up remote emoji by toot url * optimize some/all filtering * fix local emoji routes * implement copy action * shortcode validation, don't wipe form on error * copy & disable PATCH * remove local toot acceptance for testing * unused import * parse emoji from account and status, get web_url from status uri * fix url parse * submit button loading info * actually send category * code cleanup, distinguish between account and status responses * use loading icons * fix loading icon on federation page * require Loading element * remove unused require * query explanation, small accessibility tweaks
2022-12-11[docs] Serve static assets with nginx (#1251)Libravatar Daniele Sluijters2
* [docs] Serve static assets with nginx This explains how to use nginx to serve static assets and offload GTS from that responsibility. It also shows how to have nginx add caching headers to indicate to clients how long they may cache an asset. * [docs] Move additional nginx config to advanced This moves a bunch of additional nginx configuration into the Advanced page instead. It declutters the nginx configuration page.
2022-12-11[feature] support configuring database caches (#1246)Libravatar kim11
* update config generator to support nested structs, add cache configuration options * update envparsing test * add cache configuration to config parse tests * set cache configuration in testrig * move caches to sub-cache "gts" namespace, update envparsing, add cache config docs to example config Signed-off-by: kim <grufwub@gmail.com>
2022-12-11[docs] Caching webfinger with nginx (#1242)Libravatar Daniele Sluijters1
This explains how nginx can be used to cache webfinger responses and potentially serve stale responses in case GTS is down. This can be useful to do in order to ensure webfinger keeps working even if you're doing some maintenance.
2022-12-10[feature] Start implementing refetch of lost media files via ↵Libravatar tobi13
`/api/v1/admin/media_refetch` (#1221) * [chore] Move ShortcodeDomain to its own little util func * [feature] Add RefetchEmojis function to media manager * [feature] Expose admin media refresh via admin API * update following review feedback - change/fix log levels - make sure not to try to refetch local emojis - small style refactoring + comments * log on emoji refetch start Signed-off-by: kim <grufwub@gmail.com> Co-authored-by: kim <grufwub@gmail.com>
2022-12-09[chore] make single pull request template (#1239)Libravatar tobi4
When you have multiple templates, they can only be selected by the API, so you can't just open a pull request via the web UI and have the template presented to you. This should fix that by having just one pull request template.
2022-12-09[bugfix] attach bookmarks module to api (#1238)Libravatar tobi1
2022-12-09[docs] Update `CONTRIBUTING.md`, add pull request templates (#1216)Libravatar tobi7
* [docs] Update contributing.md - Add Pull Request process and guidelines. - Add feature/bug issue process. - Rearrange some sections for clarity. - Add overview of package structure. * [docs] Add build from source links * [chore] add pull request templates These link to the new CONTRIBUTING.md document, and include a checklist to validate that contributors have read the guidelines. * [docs] Put existing stub CoC in separate doc * update web related stuff in CONTRIBUTING.md Co-authored-by: f0x <f0x@cthu.lu>
2022-12-09[bugfix] fix unordered favorites (#1236)Libravatar Christoph Voigt1
2022-12-09[feature] Allow users to create + delete bookbarks, and view bookmarked ↵Libravatar Matthew Phillips26
statuses (#1168) * Implement Bookmarks * Update based on review comments * Update swagger doc * Fix argument passing to status.Bookmark * Update changed test * Updates based on latest PR review
2022-12-08[chore] move caches to a separate State{} structure (#1078)Libravatar kim27
* move caches to a separate State{} structure Signed-off-by: kim <grufwub@gmail.com> * fix call to log.Panic not using formatted call Signed-off-by: kim <grufwub@gmail.com> * move caches to use interfaces, to make switchouts easier in future Signed-off-by: kim <grufwub@gmail.com> * fix rebase issue Signed-off-by: kim <grufwub@gmail.com> * improve code comment Signed-off-by: kim <grufwub@gmail.com> * fix further issues after rebase Signed-off-by: kim <grufwub@gmail.com> * heh Signed-off-by: kim <grufwub@gmail.com> * add missing license text Signed-off-by: kim <grufwub@gmail.com> Signed-off-by: kim <grufwub@gmail.com>
2022-12-08[chore] Remove deprecated linters (#1228)Libravatar Mike Perham1
2022-12-07[docs] Update README.md (#1126)Libravatar Marie Axelsson1
added myself to the team, tyvm.
2022-12-07[docs] encourage using loopback bind address (#1166)Libravatar Andrea5
2022-12-06[feature] overhaul the oidc system (#961)Libravatar Dominik Süß20
* [feature] overhaul the oidc system this allows for more flexible username handling and prevents account takeover using old email addresses * [feature] add migration path for old OIDC users * [feature] nicer error reporting for users * [docs] document the new OIDC flow * [fix] return early on oidc error * [docs]: add comments on the finalization logic
2022-12-06[feature] media: add webp support (#1155)Libravatar Sigrid Solveig Haflínudóttir26
* media: add webp support Signed-off-by: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se> * bump exif-terminator to v0.5.0 Signed-off-by: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se> Signed-off-by: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
2022-12-05[docs] Remove filesystem logging directives from example systemd unit config ↵v0.6.0Libravatar f0x522
(#1206) * remove filesystem logging directives from example systemd unit config * [docs] Update docs to reflect new systemd config Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2022-12-05[bugfix]: Prevent extension of S3 presigned url TTL (#1208)Libravatar Dominik Süß1
Thanks :)
2022-12-04[chore] Fix a few possible cases of int truncation (#1207)Libravatar Daniele Sluijters9
This fixes a couple of cases where due to int being platform dependent a value could get truncated if running on 32bits.
2022-12-02[performance]: make s3 urls cacheable (#1194)v0.6.0-rc3Libravatar Dominik Süß3
Implements #864 and should speed up s3 based installations by a lot. With more static urls, we can then also implement #1026 for even better performance when used in conjunction with CDNs
2022-12-02[bugfix] Fix `admin account confirm` on pre-confirmed account setting email ↵Libravatar tobi2
address to empty string (#1203)
2022-12-02[bugfix] Add missing continues in emoji get funcs (#1200)Libravatar tobi1
2022-12-02[chore/frontend] remove domain block edit functionality until implemented in ↵Libravatar f0x521
backend (#1199)
2022-12-01[chore] Remove duplicate prefixes from sanitizer (#1195)Libravatar Daniele Sluijters1
In the previous changes that expanded the IPv4 and IPv6 deny lists based on the IANA registries we inadvertently added a number of duplicates. This is unnecessary as they're already caught by larger prefixes and means there's less entries to scan. This change removes all prefixes that are subnets of other prefixes.
2022-12-01[bugfix/frontend] fix profile grid scaling in webkit based browsers (#1193)Libravatar f0x521
2022-12-01[bugfix] Use case-insensitive selects when getting remote accounts by ↵v0.6.0-rc2Libravatar tobi2
username/domain (#1191) * [bugfix] Case-insensitive account selection * don't lowercase cache key