summaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)AuthorFiles
2023-03-03[bugfix] Clamp admin report limit <1 to 100 (#1583)Libravatar tobi1
* [bugfix] Clamp report limit <1 to 100 * add + update tests
2023-03-02[feature] Advertise rich text formats, support content_type field (#1370)Libravatar Vyr Cossont1
* Advertise rich text formats, support content_type field * Update JSON in instance patch tests * Replace format with content_type everywhere * update migration to work with both pg and sqlite * regenerate swagger docs * update instance serialization + tests * fix up * learn to code tobi please, i'm begging you --------- Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-01[feature] Federate pinned posts (aka `featuredCollection`) in and out (#1560)Libravatar tobi2
* start fiddling * the ol' fiddle + update * start working on fetching statuses * poopy doopy doo where r u uwu * further adventures in featuring statuses * finishing up * fmt * simply status unpin loop * move empty featured check back to caller function * remove unnecessary log.WithContext calls * remove unnecessary IsIRI() checks * add explanatory comment about status URIs * change log level to error * better test names
2023-02-25[feature] Make OIDC admin groups configurable (#1555)Libravatar Daenney1
This removes the current default of checking for membership of the admin or admins group and makes it required to explicitly configure which groups should grant admin access, if any. Relying on the implicit default of admin or admins is potentially dangerous as that group may contain a different subset of people that we may wish to grant admin access to GtS. This is probably not an issue for a single-person instance, but for a community instance different admin groups may exist in an OIDC provider for different applications. I'm explicitly opting for not defaulting the value of oidc-admin-groups to admin,admins because I think it's better for those things to be explicitly configured.
2023-02-25[feature] Client API endpoints + v. basic web view for pinned posts (#1547)Libravatar tobi1
* implement status pin client api + web handler * make test names + comments more descriptive * don't use separate table for status pins * remove unused add + remove checking * tidy up + add some more tests
2023-02-20[feature] Use Material theme for docs (#1535)Libravatar Daenney8
* [feature] Use Material theme for docs This changes the theme to use Material with the slate (dark) theme and the accent colour set to orange. It also replaces the swagger plugin with one that works correctly with the Material theming. * Add theme by @f0x52 Co-authored-by: f0x52 <f0x@cthu.lu> * Enable social cards The dependencies for cairosvg and pillow can be satisfied on RTD, so this adds them to our requirements.txt and enables the social plugin. This generates opengraph and twitter card tags as well as fancy preview images in GTS colour style for platforms that show that as part of link previews. * Update Conda environment.yml * update theme for swagger, basic light theme option * dark mode mobile header bg color --------- Co-authored-by: f0x52 <f0x@cthu.lu>
2023-02-20[docs] correct swagger docs (#1543)Libravatar tobi1
2023-02-20[bugfix] Fix account roles (#1542)Libravatar tobi1
* Change account role from string to object * Update tests * small fixes + swagger docs --------- Co-authored-by: zowhoey <11893985+zowhoey@users.noreply.github.com>
2023-02-17[feature] Add a request ID and include it in logs (#1476)Libravatar Daenney1
This adds a lightweight form of tracing to GTS. Each incoming request is assigned a Request ID which we then pass on and log in all our log lines. Any function that gets called downstream from an HTTP handler should now emit a requestID=value pair whenever it logs something. Co-authored-by: kim <grufwub@gmail.com>
2023-02-15[docs] Suggest confirming host option in config (#1502)Libravatar Minecraftchest11
Having the `Host` config option not match the domain that GTS is exposed on can cause a 400 bad request error on signin.
2023-02-15[docs] Fix nginx fileserver caching example (#1506)Libravatar Daenney1
* [bug] Fix nginx fileserver caching example This updates the example to ensure the nginx proxies the request on to GTS if the file is not found on disk. This can happen due to media pruning. * [chore] Set cache-control in nginx to private This makes the header match with the backend. For things from the fileserver it may not be appropriate for anything other than a private cache (i.e the client) to cache things.
2023-02-13[docs] move federating with gotosocial documentation into single file (#1494)Libravatar f0x5211
2023-02-13[docs] Update user/admin settings docs (#1491)Libravatar f0x5213
* update user/admin settings docs * trigger read-the-docs pr hook * update menu links * update images
2023-02-11[chore/performance] Update media prune logic, add extra CLI command (#1474)v0.7.0-rc2Libravatar tobi2
* start updating media prune stuff a wee bit * continue prune / uncache work * more tidying + consistency stuff * add prune CLI command * docs * arg
2023-02-08[chore/bugfix] Serve + throttle publickey separately from rest of ↵Libravatar tobi1
ActivityPub API (#1461) * serve publickey separately from AP, don't throttle it * update nginx cache documentation, cache main-key too * throttle public key, but separately from other endpoints
2023-02-05[chore] stub /api/v1/featured_tags endpoint (#1420)Libravatar tobi1
2023-02-02[feature] Implement `/api/v2/instance` endpoint (#1409)Libravatar tobi1
* interim: start adding /api/v2/instance * finish up
2023-02-01[chore/performance] use only 1 sqlite db connection regardless of multiplier ↵Libravatar tobi1
(#1408)
2023-01-31[chore] Use 'immediate' lock for sqlite transactions (#1404)Libravatar tobi1
* [chore] Use 'immediate' lock for sqlite transactions * allow 1 connection regardless of cpu amount
2023-01-30[docs] Add an example on how to setup redirect with Traefik (#1395)Libravatar ketan-vijayvargiya1
2023-01-30[docs] Simplify Apache httpd proxy documentation (#1396)Libravatar Mina Galić1
since 2.4.47 (released April 22nd 2021), Apache httpd can ProxyPass to websockets on the same URL, without mod_rewrite (and, without mod_proxy_wstunnel).
2023-01-27[docs] Add Flag documentation to federation docs (#1393)Libravatar tobi1
2023-01-27[docs] Tidy up federation docs into 'federating with gotosocial' section (#1392)Libravatar tobi7
2023-01-27[chore/docs] add instance-expose-suspended-web to instance docs (#1391)Libravatar tobi1
2023-01-26[chore] set max open / idle conns + conn max lifetime for both postgres and ↵Libravatar tobi1
sqlite (#1369) * [chore] set max open / idle conns + conn max lifetime for both postgres and sqlite * reduce cache size default to 8MiB, reduce connections to 2 * cpu * introduce max open conns multiplier, tune sqlite and pg separately * go fmt
2023-01-25[feature] Implement reports admin API so admins can view + close reports (#1378)Libravatar tobi1
* add admin report api endpoints + tests * [chore] remove funky duplicate attachment in testrig
2023-01-23[feature] Implement `/api/v1/reports` endpoints on client API (#1330)Libravatar tobi1
* start adding report client api * route + test reports get * start report create endpoint * you can create reports now babyy * stub account report processor * add single reportGet endpoint * fix test * add more filtering params to /api/v1/reports GET * update swagger * use marshalIndent in tests * add + test missing Link info
2023-01-18[chore] Change default sqlite busy timeout to 5m (#1352)Libravatar tobi1
2023-01-17[feature] Tune sqlite pragmas (#1349)Libravatar tobi1
* sqlite pragma tuning * use formatuint * add sqlite busy timeout * fix incorrect cache size format * update envparsing test * add sqlite tuning flags to cli * set sqlite timeout to 30s default
2023-01-16[docs] Remove videos from the list of missing features in the FAQ. (#1344)Libravatar Phil Hagelberg1
These actually work now! Yay.
2023-01-11[feature] Add local user and post count to nodeinfo responses (#1325)Libravatar Sleep1
* Add local user and post count to nodeinfo responses This fixes #1307 (at least partially). The nodeinfo endpoint should now return the total users on an instance, along with their post count. * Update NodeInfoUsers docstring and swagger yaml file
2023-01-08[docs] Rewrite sponsorship + funding section, add NLnet (#1305)Libravatar tobi1
* [docs] Rewrite sponsorship + funding section, add NLnet * use just one small nlnet logo
2023-01-08[docs] Add s3 ssl variable to storage docs (#1294)Libravatar Logan1
* update storage docs * add use ssl to example/config.yaml
2023-01-06[docs] AWS S3 config details added (#1300)Libravatar Anant Shrivastava1
* AWS S3 config details added It was interesting to note that since presigned urls are used buckets dont need to be exposed publically. this was an interesting change compared to other mastodon specific s3 bucket guides hence documented here for correct directions. * Update storage.md 1. Added AWS identified to make it clear its aws specific. 2. Adjusted text around data migration * updation as requested Refining the doc as per request.
2023-01-05[chore] Update/add license headers for 2023 (#1304)Libravatar tobi2
2023-01-04[feature] HTTP request throttling middleware (#1297)Libravatar tobi6
* [feature] Add throttling middleware to AP endpoints * refactor a lil bit * use config setting, start updating docs * doc updates * use relative links in faq doc * small docs fixes * return code 503 instead of 429 when throttled * throttle other endpoints too * simplify token channel prefills
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 tobi2
* 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
2022-12-15[bugfix] Use null for empty api status `language` (#1268)Libravatar tobi1
* [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[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-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[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 tobi1
`/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[docs] Update `CONTRIBUTING.md`, add pull request templates (#1216)Libravatar tobi1
* [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[feature] Allow users to create + delete bookbarks, and view bookmarked ↵Libravatar Matthew Phillips1
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-07[docs] encourage using loopback bind address (#1166)Libravatar Andrea4
2022-12-06[feature] overhaul the oidc system (#961)Libravatar Dominik Süß1
* [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-05[docs] Remove filesystem logging directives from example systemd unit config ↵v0.6.0Libravatar f0x521
(#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-11-30[docs] Add AppArmor profile for Debian and Ubuntu installations (#1183)Libravatar kernelmethod2
* Enable the 'admonitions' Markdown extension for Mkdocs. The admonitions extension to Python-Markdown allows you to include rST-style "admonitions" to Markdown documents, for instance, !!! note Here's an important note to keep in mind! In general, the current documentation uses bold text to try to achieve the same effect, which is a bit harder to notice and makes it difficult to differentiate between "here's something useful to know" versus "here there be dragons". * Add AppArmor profile and documentation for LSM-related sandboxing This commit adds an AppArmor profile for gotosocial in examples/apparmor/gotosocial. This will (hopefully) serve as a helpful security mitigation for people are planning on deploying GTS on a Debian-family Linux distribution. I've also updates the documentation to include some information about deploying GTS with either AppArmor or SELinux (moving the documentation for the former out of the "binary installation guide" docs).