summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFiles
2022-04-30[documentation] Add project roadmap (#514)Libravatar tobi3
* add note about alpha + beta, link to roadmap * rename progress => roadmap * edit / update roadmap * add note that 2023 date is only an estimate * clarify that order of features may change * add 'best-guess' note at the top
2022-04-29[documentation] Recommend users take latest *stable* release in installation ↵Libravatar tobi2
guides (#512) * add note about release version number * recommend users take latest stable release
2022-04-29[chore] Add Federatingactor.Send() tests and log call (#509)Libravatar tobi5
* expose testrig util functions * add tests for federatingActor * rename some suite vars
2022-04-29[chore] Inboxes for iri test (#508)Libravatar tobi11
* tidy up some federation tests * add missing license to following.go * give zork some followers, as a treat * test InboxesForIRI * Go fmt * update timeline tests
2022-04-29[feature] allow absolute path to templates (#507)Libravatar Terin Stock3
Only attempt to join the `WebTemplateBaseDir` with the current working directory if the user has not configured an absolute path to the template directory. This changeset also makes a similar change to the testrig, allowing tests to configure an alternative location for the templates directory. Fixes #411 Signed-off-by: Terin Stock <terinjokes@gmail.com>
2022-04-29[documentaton] Fix port number in Reverse proxy section (#506)Libravatar Nivex1
2022-04-28Add support for running profiling when debug build-tags provided (#491)Libravatar kim15
* wrap root HTTP handler in debug.WithPprof(), rearrange router.Start() to support this * remove unused code * set debug buildtag in build script when $DEBUG set * update go-debug version with fixed handler * use clone of router.srv for LE cert manager, reset server timeouts in debug * add kim's other libraries to README
2022-04-28replace async client API / federator msg processing with worker pools (#497)Libravatar kim64
* replace async client API / federator msg processing with worker pools * appease our lord-and-saviour, the linter
2022-04-28[bugfix] Fix possible race condition in federatingdb (#490)Libravatar kim11
Signed-off-by: kim <grufwub@gmail.com>
2022-04-28[bugfix] use Exec to rename media_attachments (#498)Libravatar Terin Stock1
The `database/sql` package in the Go stdlib has two methods that can run queries against the database driver: `Query` and `Exec`. When the query returns rows, such as "SELECT", the package expects the use of `Query`, and returns `*sql.Rows`. When the query does not return rows, the package expects the use of `Exec`, which returns `sql.Result`. This changeset corrects the "media_attachments" migration to using `ExecContext`, as "ALTER TABLE" does not return rows. Signed-off-by: Terin Stock <terinjokes@gmail.com>
2022-04-26[chore] Return more useful errors from auth failure (#494)v0.3.1Libravatar tobi9
* try rsa_sha256 sig algo first * return more informative errors from auth * adapt to reworked auth function
2022-04-26[bugfix] Trim log entries to 1700 chars before they enter syslog (#493)Libravatar tobi4
* start implementing trimming hook * add test with very long test * test syslog w/ unix socket + long (trimmed) msg * trim long entries with trimhook * trim to 1700 chars instead
2022-04-26[bugfix] Fix CWs not showing sometimes (#488)Libravatar tobi3
* allow summaries that are parsed as iris * test parsing a status with iri summary
2022-04-25[bugfix] Allow processing of .png files where checksum is not correct (#487)Libravatar tobi8
* add png stripping code from google/wuffs * experiment with stripping data from pngs * add test images * use StrippedPngDecode for pngs * add StrippedPngDecode func * update tests for (no)alphachannel pngs * nolint on copied function
2022-04-24[chore] Add two new test images for media processing (#424)Libravatar 0hlov32
2022-04-24[bug] Fix status API / status web API being case sensitive (#481)Libravatar tobi5
* make getStatus by id case-insensitive * test get status case insensitive * init config before log
2022-04-24[feature] Implement media v2 endpoint to accommodate Tusky 17 (#480)Libravatar tobi3
* serve v2 media api * go fmt
2022-04-24[chore] Update bun and sqlite dependencies (#478)Libravatar tobi246
* update bun + sqlite versions * step bun to v1.1.3
2022-04-24Revert "[chore] Tidy up federating db locks a tiny bit (#472)" (#479)Libravatar tobi1
This reverts commit 31c1067a548039e7d95f131b3972ecfe1f57f835.
2022-04-24[documentation] NGINX docs updates (#471)Libravatar tobi1
* start adjusting nginx documentation * update NGINX docs * add link to the websocket docs
2022-04-23[documentation] Update index.md (#475)Libravatar snan1
This sentence kind of trai
2022-04-22[documentation] Add WebSocket protocol documentation (#470)Libravatar tobi2
2022-04-19[chore] Tidy up federating db locks a tiny bit (#472)Libravatar tobi1
2022-04-19[Documentation] Simplify docker-compose documentation + example (#468)Libravatar tobi2
* simplify docker-compose docs + example * Change note about reverse proxy, add traefik * Linting
2022-04-18[docs] unify nginx explainers and add apache httpd (#455)Libravatar Mina Galić5
* docs: unify nginx explainers and add apache httpd there are two places where nginx + certbot is explained, unify that into one place. Add apache httpd, following the same steps, but using mod_md for LetsEncrypt add a note about #453 in both guides. Link to both, and call the section reverse proxy, instead of NGINX * restore full nginx.conf from docker.md * add installation_guide/apache-httpd.md to mkdocs
2022-04-18[bugfix] Fix infinite domain block database loop (#467)Libravatar tobi1
This fixes an issue where the domain block logic would go into an infinite loop.
2022-04-18[bugfix] Use our own (Batch)Deliver implementation for federated messages (#466)Libravatar tobi1
2022-04-18[feature] Add log-db-queries config option (#465)Libravatar tobi11
2022-04-16[documentation] add screenshots to docs (#459)v0.3.0Libravatar tobi4
2022-04-16[bugfix] Convert IDNs to punycode before using as session name (#458)Libravatar tobi2
* convert hostname to punycode for session name * test punycode
2022-04-16[bugfix] Use background ctx for domain block side effects (#457)Libravatar tobi1
2022-04-15[feature] Web profile pages for accounts (#449)Libravatar tobi33
* add default avatars * allow webModule to error * return errWithCode from account get * add AccountGetLocalByUsername * check nil requesting account * add timestampShort function for just month/year * move loading logic to New + add default avatars * add profile page view * update swagger docs * add excludeReblogs to GetAccountStatuses * ignore casing when selecting local account by username * appropriate redirects * css fiddling * add 'about' heading * adjust thread page to work with routing * return AP representation if requested + authorized * simplify auth check * go fmt * golangci-lint ignore math/rand
2022-04-10[bugfix] Fix broken only_media and only_public flags on ↵v0.2.3Libravatar tobi4
/api/v1/accounts/:id/statuses (#448) * bump superseriousbusiness/activity version * fetch list of follower inbox iris * add test for getting account statuses * fix incorrect publicOnly parsing * update media not null query
2022-04-05[dependency] Update superseriousbusiness/activity dependency (#446)Libravatar tobi6
* bump superseriousbusiness/activity version * fetch list of follower inbox iris
2022-04-02[chore] Update Go version to 1.18 (#444)Libravatar tobi16
* linting with new golangci-lint version * update go to 1.18 * bump versions in drone.yml * use new runtime/debug package for version info * remove Commit build flag from goreleaser * remove mock commit + version from build script * go fmt * add dummy version env flag to test container * install git in golang container for testing * only set versionString if Version is defined
2022-03-29[documentation] Add third-party packaging to documentation (#443)Libravatar tobi3
2022-03-29[feature] Dereference remote mentions when the account is not already known ↵v0.2.2Libravatar tobi16
(#442) * remove mention util function from db * add ParseMentionFunc to gtsmodel * add parseMentionFunc to processor * refactor search to simplify it a bit * add parseMentionFunc to account * add parseMentionFunc to status * some renaming for clarity * test dereference of unknown mentioned account
2022-03-28[feature/security] Add systemd sandboxing options to harden security (#440)Libravatar OniriCorpe1
2022-03-22 [bugfix] Fix media uploads blocking after a failed upload #438 Libravatar tobi1
safer in case of failure
2022-03-21[bugfix] Fix images not being processed correctly sometimes (#437)Libravatar tobi22
* bump exif-terminator to latest version * add and test giant turnip from turnip.farm * don't error if content property is nil
2022-03-21don't error if content property is nil (#436)Libravatar tobi1
2022-03-21[bugfix] Close ReadClosers properly in the media package (#434)Libravatar tobi4
* defer lock reader * close readers when finished with them * close the reader in the teereader when finished
2022-03-19[feature] Admin account actions (#432)Libravatar tobi14
* add accountAction to the admin API * model admin account action * add admin account action to the processor * add migration for new AdminAccountActions table * fix accounts admin path * Update swagger docs
2022-03-15[feature] Federate local account deletion (#431)Libravatar tobi15
* add account delete to API * model account delete request * add AccountDeleteLocal * federate local account deletes * add DeleteLocal * update transport (controller) to allow shortcuts * delete logic + testing * update swagger docs * more tests + fixes
2022-03-15[performance] Add dereference shortcuts to avoid making http calls to self ↵Libravatar tobi7
(#430) * update transport (controller) to allow shortcuts * go fmt * expose underlying sig transport to allow test sigs
2022-03-13[bugfix] Fix bug where admin panel could not be accessed at `/admin` (#427)Libravatar tobi2
* clarify comments * tidy up static serving + add /admin redirect
2022-03-13[bugfix] Fix html-escaped characters in content warnings (#426)Libravatar tobi2
* test status create with odd CWs * use SanitizeCaption for content warning escaping
2022-03-08[dependencies] update go-store, go-mutexes (#422)Libravatar kim13
* update go-store, go-mutexes Signed-off-by: kim <grufwub@gmail.com> * update vendored code Signed-off-by: kim <grufwub@gmail.com>
2022-03-07[performance] Database optimizations (#419)v0.2.1Libravatar tobi5
* create first index on notifications * tidy up + add tests * log queries for trace, ops for debug * index commonly used fields * rearrange query * add a few more indexes * remove schema-breaking index (add this back in later) * re-add cleanup query index
2022-03-07[feature] Clean up/uncache remote media (#407)Libravatar tobi424
* Add whereNotEmptyAndNotNull * Add GetRemoteOlderThanDays * Add GetRemoteOlderThanDays * Add PruneRemote to Manager interface * Start implementing PruneRemote * add new attachment + status to tests * fix up and test GetRemoteOlderThan * fix bad import * PruneRemote: return number pruned * add Cached column to mediaattachment * update + test pruneRemote * update mediaTest * use Cached column * upstep bun to latest version * embed structs in mediaAttachment * migrate mediaAttachment to new format * don't default cached to true * select only remote media * update db dependencies * step bun back to last working version * update pruneRemote to use Cached field * fix storage path of test attachments * add recache logic to manager * fix trimmed aspect ratio * test prune and recache * return errwithcode * tidy up different paths for emoji vs attachment * fix incorrect thumbnail type being stored * expose TransportController to media processor * implement tee-ing recached content * add thoughts of dog to test fedi attachments * test get remote files * add comment on PruneRemote * add postData cleanup to recache * test thumbnail fetching * add incredible diagram * go mod tidy * buffer pipes for recache streaming * test for client stops reading after 1kb * add media-remote-cache-days to config * add cron package * wrap logrus so it's available to cron * start and stop cron jobs gracefully