summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFiles
2022-07-15[frontend] Footer styling adjustments (#709)Libravatar tobi1
* adjust footer rendering * use max-width instead of orientation * remove margin-top when screen small
2022-07-15[performance] Add long cache-control max age to fileserver (#710)Libravatar tobi1
2022-07-13[bugfix] Fix profile card display issues on smaller screens w/responsive ↵Libravatar tobi4
query (#696) * add responsive media query to profile css * break username on all screen sizes if necessary * embed avatar inside header on smaller screen sizes * align items to the left in small screen view * more consistent profile scaling accross firefox and chrome * simplify things a little bit * make sure bio fits in profile * word-break content if necessary Co-authored-by: f0x <f0x@cthu.lu>
2022-07-13[feature] Add back/next buttons to profiles for paging through statuses (#708)Libravatar tobi11
* add GetAccountWebStatuses to db * add WebStatusesGet func to processor * don't add limit to next/prev links if 0 * take query params for next/prev statuses * add separate next + prev links for convenience * show 'nothing here' message if no statuses exist * add back / next links to profiles * allow paging down only * go fmt ./... * 'recent public toots' -> 'latest public toots'
2022-07-12[chore] improved router logging, recovery and error handling (#705)Libravatar kim36
* move panic recovery to logging middleware, improve logging + panic recovery logic Signed-off-by: kim <grufwub@gmail.com> * remove dead code Signed-off-by: kim <grufwub@gmail.com> * remove skip paths code Signed-off-by: kim <grufwub@gmail.com> * re-enable log quoting Signed-off-by: kim <grufwub@gmail.com> * use human-friendly bytesize in logging body size Signed-off-by: kim <grufwub@gmail.com> * only disable quoting in debug builds Signed-off-by: kim <grufwub@gmail.com> * use logrus level instead of debug.DEBUG() to enable/disable quoting Signed-off-by: kim <grufwub@gmail.com> * shutup linter Signed-off-by: kim <grufwub@gmail.com> * fix instance tests Signed-off-by: kim <grufwub@gmail.com> * fix gin test contexts created with missing engine HTML renderer Signed-off-by: kim <grufwub@gmail.com> * add note regarding not logging query parameters Signed-off-by: kim <grufwub@gmail.com> * better explain 'DisableQuoting' logic Signed-off-by: kim <grufwub@gmail.com> * add license text Signed-off-by: kim <grufwub@gmail.com>
2022-07-11[performance] Add new index to fix slow web profile queries (#706)Libravatar tobi1
* start adding new index migration * fix up index
2022-07-10[chore] consolidate caching libraries (#704)Libravatar kim67
* add miekg/dns dependency * set/validate accountDomain * move finger to dereferencer * totally break GetRemoteAccount * start reworking finger func a bit * start reworking getRemoteAccount a bit * move mention parts to namestring * rework webfingerget * use util function to extract webfinger parts * use accountDomain * rework finger again, final form * just a real nasty commit, the worst * remove refresh from account * use new ASRepToAccount signature * fix incorrect debug call * fix for new getRemoteAccount * rework GetRemoteAccount * start updating tests to remove repetition * break a lot of tests Move shared test logic into the testrig, rather than having it scattered all over the place. This allows us to just mock the transport controller once, and have all tests use it (unless they need not to for some other reason). * fix up tests to use main mock httpclient * webfinger only if necessary * cheeky linting with the lads * update mentionName regex recognize instance accounts * don't finger instance accounts * test webfinger part extraction * increase default worker count to 4 per cpu * don't repeat regex parsing * final search for discovered accountDomain * be more permissive in namestring lookup * add more extraction tests * simplify GetParseMentionFunc * skip long search if local account * fix broken test * consolidate to all use same caching libraries Signed-off-by: kim <grufwub@gmail.com> * perform more caching in the database layer Signed-off-by: kim <grufwub@gmail.com> * remove ASNote cache Signed-off-by: kim <grufwub@gmail.com> * update cache library, improve db tracing hooks Signed-off-by: kim <grufwub@gmail.com> * return ErrNoEntries if no account status IDs found, small formatting changes Signed-off-by: kim <grufwub@gmail.com> * fix tests, thanks tobi! Signed-off-by: kim <grufwub@gmail.com> Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2022-07-09[bugfix] Fix display names in thread view causing wrapping issues on small ↵Libravatar tobi2
screens (#698) * use account.Acct for username * allow username + displayname to wrap with ellipses * use span 2 for displayname always * remove commented-out line
2022-07-09[frontend] Fix up status 'show more' and z-index (#701)Libravatar tobi2
* put spoiler items in a flexbox * make the whole status top of z index this allows text to be selected properly * allow status spoiler text to break across lines
2022-07-08[docs] document the migration between local and s3 (#692)Libravatar Dominik Süß1
2022-07-08[chore] Improve panic handling (#700)Libravatar kim1
* add miekg/dns dependency * set/validate accountDomain * move finger to dereferencer * totally break GetRemoteAccount * start reworking finger func a bit * start reworking getRemoteAccount a bit * move mention parts to namestring * rework webfingerget * use util function to extract webfinger parts * use accountDomain * rework finger again, final form * just a real nasty commit, the worst * remove refresh from account * use new ASRepToAccount signature * fix incorrect debug call * fix for new getRemoteAccount * rework GetRemoteAccount * start updating tests to remove repetition * break a lot of tests Move shared test logic into the testrig, rather than having it scattered all over the place. This allows us to just mock the transport controller once, and have all tests use it (unless they need not to for some other reason). * fix up tests to use main mock httpclient * webfinger only if necessary * cheeky linting with the lads * update mentionName regex recognize instance accounts * don't finger instance accounts * test webfinger part extraction * increase default worker count to 4 per cpu * don't repeat regex parsing * final search for discovered accountDomain * be more permissive in namestring lookup * add more extraction tests * simplify GetParseMentionFunc * skip long search if local account * fix broken test * panics get logged at error level, now include stacktrace Signed-off-by: kim <grufwub@gmail.com> Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2022-07-08[bugfix] Various fixes (#699)Libravatar Forever3
* [bugfix] Correctly style inputs and buttons <input>, <textarea>, and <button> were incorrectly using the system-ui font previously; this commit fixes that. text-align: center; was added to <button> due to an inconsistency with .button where text-align would be off. * [chore] Update binary installation instructions This commit updates the example release mentioned in the docs, and mentions Caddy in the reverse proxy options. * [bugfix] Remove redundant Caddyfile Caddy automatically upgrades HTTP to HTTPS (see https://caddyserver.com/docs/automatic-https) so the upgrading part of the Caddyfile is redundant.
2022-07-06[bugfix] Allow instance titles to wrap (#695)Libravatar tobi1
2022-07-05[bugfix] Fix footer info fields not wrapping (#694)Libravatar tobi3
* flex-wrap footer items * add testrig instance entry with more info set
2022-07-05[bugfix] Fix incorrect domain showing in profiles (#693)Libravatar tobi4
* use instance account_domain in profile * add instance account_domain field
2022-07-04[docs] Update doc images to versions with current styling (#689)v0.3.7Libravatar tobi2
2022-07-04[frontend] Redesign / color scheme (#688)Libravatar tobi12
* fix css indentation * profile styling update * update status styling to match profile * empty header fix * generate random avatars for thread views * appease the linter gods * upgrade deps * turn profile accent into border + $bg background * upgrade deps * small accessibility tweaks * general redesign, clearer css variables * configure instance.Version for testrig * footer styling * add sublte borders to box-shadow for separation * accessible blues, other tweaks * background bg_accent * fix viewport * change client entry buttons to links * cw button styling * status display+username spacing * small thread view tweaks * color tweaks for accessible contrasts * use Noto Sans * biiit less dark bg * .info contrast, border Co-authored-by: f0x <f0x@cthu.lu>
2022-07-04[bugfix] Visibility fixes (#687)Libravatar tobi3
* test self boost * only CC to public when necessary
2022-07-03[chore] configure instance.Version for testrig (#659)Libravatar f0x522
* configure instance.Version for testrig * update instancepatch tests Co-authored-by: tobi <31960611+tsmethurst@users.noreply.github.com> Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2022-07-03[chore] Update pruneOneLocal to use ctx (#684)Libravatar tobi2
* update pruneOneLocal to use ctx * update test
2022-07-03[feature] S3 support (#674)Libravatar Dominik Süß250
* feat: vendor minio client * feat: introduce storage package with s3 support * feat: serve s3 files directly this saves a lot of bandwith as the files are fetched from the object store directly * fix: use explicit local storage in tests * feat: integrate s3 storage with the main server * fix: add s3 config to cli tests * docs: explicitly set values in example config also adds license header to the storage package * fix: use better http status code on s3 redirect HTTP 302 Found is the best fit, as it signifies that the resource requested was found but not under its presumed URL 307/TemporaryRedirect would mean that this resource is usually located here, not in this case 303/SeeOther indicates that the redirection does not link to the requested resource but to another page * refactor: use context in storage driver interface
2022-07-03[chore] Re-enable source tar but name it clearly as source (#683)Libravatar tobi1
2022-07-03[bugfix] Make hashtag regex work with non-ascii characters (#682)Libravatar tobi2
2022-06-30[feature] Cleanup unattached local media (#680)Libravatar tobi9
* add localUnattached db function * add parseOlderThan util function * add pruneunusedlocalattachments to media manager * add unusedlocal pruning to schedule + admin call * set number of days to keep as a const * fix test
2022-06-26[feature] Use default instance thumbnail if instance account header not set ↵Libravatar tobi2
(#672)
2022-06-26[feature] add configuration to `/api/v1/instance` response (#670)Libravatar tobi5
* add configuration object to api instance model * regenerate swagger docs * add func to return all supported mimes for media * add instance configuration to api serialization * fix json tags * update instance endpoint tests * fix typeutils tests * final regen of swagger docs * omitempty instance configuration
2022-06-25[bugfix] disallow following or blocking yoursel (#667)Libravatar ugla4
Closes #664
2022-06-24[bugfix] Fix 404 on status delete redraft (#668)Libravatar tobi6
* add unattach function to media processor * call delete or unattach appropriately unattach from client api, delete from federated api * typo fix
2022-06-24[bugfix] allow setting empty email via instance patch (#665)Libravatar tobi2
2022-06-23[feature] Implement `/api/v1/instance/peers` endpoint (#660)Libravatar tobi27
* add missing license headers * start adding instance peers get * rename domainblock.go * embed domain in domainblock so it can be reused * update swagger docs * add test instances to db * update tests * add/update instancepeersget * update domain model * add getinstancepeers to db * instance-expose-peers, instance-expose-suspended * add auth checks for both current filters * attach endpoint to router * include public comment * obfuscate domain if required * go mod tidy * update swagger docs * remove unnecessary comment * return 'flat' peerlist if no query params provided
2022-06-23[bugfix] Don't remove jpeg orientation metadata (#663)Libravatar tobi6
2022-06-21[frontend] Profile pages upgrade (#640)Libravatar f0x529
* fix css indentation * profile styling update * update status styling to match profile * empty header fix * generate random avatars for thread views * appease the linter gods * upgrade deps * turn profile accent into border + $bg background * upgrade deps * small accessibility tweaks Co-authored-by: tobi <31960611+tsmethurst@users.noreply.github.com>
2022-06-20[bugfix] Account self finger fix (#658)v0.3.6Libravatar tobi1
* check only 1 of status/account when search by uri * don't try to resolve local uris when searching
2022-06-20[frontend] add Accept header to oauthed api requests (#657)Libravatar tobi1
2022-06-19[chore] make tests more cacheable by avoiding time.Now() (#656)Libravatar tobi3
2022-06-19[packaging] Packaging updates (#655)Libravatar tobi2
* update versions * disable source tar bundling * add tar for just compiled web assets
2022-06-16[bugfix] for the second accounts.note_raw migration (#653)Libravatar Mara Sophie Grosch1
2022-06-16postgres locale: fix accounts.note_raw migration (#651)Libravatar Mara Sophie Grosch1
Database migration 20220506110822_add_account_raw_note.go has some error handling code to detect some error messages as "ok", but only done for english error messages. This commit adds a check for the specific error code, which should be locale agnostic.
2022-06-14[chore] Duplicated media cleanup (#649)v0.3.5Libravatar tobi3
* add migration to clean up duplicated media * use /tmp/gotosocial for testrig storage path * defer remove storage tempdir * skip if not attached to status or status not found * log errors at error level * only log delete as else clause if successful * just return nil on down * reword delete logic a little bit * check if storage base path is defined * check for status id more thoroughly * don't log error if just no rows * go fmt * break statusIDLoop when found * break currentlyUsedLoop when found
2022-06-11[chore] Fix testrig emoji bug (#646)Libravatar tobi2
* fix teeny tiny bug in testrig * Update test case
2022-06-11[chore] Refactor thread dereference a bit for clarity (#647)Libravatar tobi1
* refactor thread dereference a bit for clarity * lint for the lint gods
2022-06-11[chore] Validate/set account domain (#619)Libravatar tobi304
* add miekg/dns dependency * set/validate accountDomain
2022-06-11[chore] Webfinger rework (#627)Libravatar tobi62
* move finger to dereferencer * totally break GetRemoteAccount * start reworking finger func a bit * start reworking getRemoteAccount a bit * move mention parts to namestring * rework webfingerget * use util function to extract webfinger parts * use accountDomain * rework finger again, final form * just a real nasty commit, the worst * remove refresh from account * use new ASRepToAccount signature * fix incorrect debug call * fix for new getRemoteAccount * rework GetRemoteAccount * start updating tests to remove repetition * break a lot of tests Move shared test logic into the testrig, rather than having it scattered all over the place. This allows us to just mock the transport controller once, and have all tests use it (unless they need not to for some other reason). * fix up tests to use main mock httpclient * webfinger only if necessary * cheeky linting with the lads * update mentionName regex recognize instance accounts * don't finger instance accounts * test webfinger part extraction * increase default worker count to 4 per cpu * don't repeat regex parsing * final search for discovered accountDomain * be more permissive in namestring lookup * add more extraction tests * simplify GetParseMentionFunc * skip long search if local account * fix broken test
2022-06-11[feature] Add `created_at` and `error_description` to `/oauth/token` ↵Libravatar tobi14
endpoint (#645) * start fiddling about with oauth server * start returning more helpful errors from oauth * test helpful(ish) token errors * add missing license header
2022-06-10[bugfix] Make accounts media_only query also work with pg (#643)Libravatar tobi3
2022-06-09[bugfix] Fix domain blocks get regression (#642)Libravatar tobi5
* fix domain blocks get regression * add missing license text headers
2022-06-09[frontend] Restructure Frontend Sources (#634)Libravatar f0x5247
* 🐸restructure frontend stuff, include admin and future user panel in main repo, properly deduplicate bundles for css+js across uses * rename bundled to dist, caught by gitignore * re-include status.css for profile template * default to localhost * serve frontend panels * add todo message for abstraction * refactor oauth registration flow * oauth restructure * update footer template * change panel routes * remove superfluous css imports * write bundle to disk from test server, use forked budo-express * wrap all page content in container for robustness with addons etc injection other elements in body * update documentation, goreleaser, Dockerfile * update template meta tags * add AGPL-3.0+ license header everywhere * only attach update listener on EventEmitter * cleaner config for various frontend bundles * fix bundler script paths * Merge commit 'd191931932b9293ce1be44ed08a1e69b9fcc1e25' * fix up dockerfile, goreleaser * go mod tidy * add uglifyify * move status hide/show js to frontend bundle * fix stylesheet color( func regressions * update contributing docs for new build path * update goreleaser + docker building * resolve dependency paths properly * update package name * use api errorhandler Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2022-06-08[chore] gitignore shell.nix (#639)Libravatar f0x521
2022-06-08[feature] More consistent API error handling (#637)Libravatar tobi130
* update templates * start reworking api error handling * update template * return AP status at web endpoint if negotiated * start making api error handling much more consistent * update account endpoints to new error handling * use new api error handling in admin endpoints * go fmt ./... * use api error logic in app * use generic error handling in auth * don't export generic error handler * don't defer clearing session * user nicer error handling on oidc callback handler * tidy up the sign in handler * tidy up the token handler * use nicer error handling in blocksget * auth emojis endpoint * fix up remaining api endpoints * fix whoopsie during login flow * regenerate swagger docs * change http error logging to debug
2022-06-08[bugfix] #621: add weak type handing to mapstructure decode (#625)Libravatar kim4
* Drone sig (#623) * accept weakly typed input on mapstructure decode i.e. .UnmarshalMap() Signed-off-by: kim <grufwub@gmail.com> * add envparsing script to test for panics during environment variable parsing Signed-off-by: kim <grufwub@gmail.com> * add envparsing.sh script to drone commands Signed-off-by: kim <grufwub@gmail.com> * update drone signature Co-authored-by: kim <grufwub@gmail.com> * compare expected with output * update expected output of envparsing * update expected output to correct value * use viper's unmarshal function instead There were problems with marshalling string slices from viper into the st.config struct with the other function. Now, we can use viper's unmarshal function and pass in the custom decoder config that we need as a hook. This ensures that we marshal string slices from viper into our config struct correctly. Co-authored-by: tobi <31960611+tsmethurst@users.noreply.github.com> Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>