summaryrefslogtreecommitdiff
path: root/internal
AgeCommit message (Collapse)AuthorFiles
2022-09-12[feature] Allow users to set custom css for their profiles + threads (#808)Libravatar tobi26
* add custom css account property + db func to fetch * allow account to get/set custom css * serve custom css for an account * go fmt * use monospace for customcss, add link * add custom css to account cache * fix broken field * add custom css docs to user guide * add `accounts-allow-custom-css` config flag * add allow custom css to /api/v1/instance response * only show/set custom css if allowed to do so * only set/serve custom account css if enabled * update swagger docs * chain promise * make bool a bit clearer * use cache for GetAccountCustomCSSByUsername
2022-09-12[feature] Fetch + display custom emoji in statuses from remote instances (#807)Libravatar tobi20
* start implementing remote emoji fetcher * update status where pk * aaa * tidy up a little * check size limits for emojis * thank you linter, i love you <3 * update swagger docs * add emoji dereference test * make emoji max sizes configurable * normalize db.ErrAlreadyExists
2022-09-08[bugfix] Fix preposterous characters reserved per URL amount (#809)Libravatar tobi3
* clarify docs * tidy up consts, set reserved chars much lower * update tests
2022-09-07[feature] opengraph meta tags (#806)Libravatar f0x525
* f0x gitignore additions * better meta title and descriptions * user avatar icon for thread and profile meta tags * use proper tag for image * whitespace * add noescapeAttr template function * use ogMeta struct for opengraph * maxOGDescriptionLength = 300 Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2022-09-06[feature] Custom emoji updates (serve emoji via s2s api, tune db models) (#805)Libravatar tobi20
* migrate emojis * add get emoji to s2s (federation) API * add new emoji db + cache functions * add shortcodeDomain lookup for emojis * check existing emojis w/cache, not w/constraints * go fmt * add putEmoji func * use new db emoji funcs instead of where * remove emojistringstotags func * add unique constraint back in * fix up broken migration * update index
2022-09-04[bugfix] Use 'Image' instead of unrecognized 'Gif' type for media ↵Libravatar tobi4
attachments (#801) * Store gifs as Image type * remove Gif attachment type, add Gifv type * update test
2022-09-04[feature] Set default header and avatar for API accounts to GtS ones (#799)Libravatar tobi15
* validate web-asset-base-dir * move default icons into converter * always ensure avatar + header on api accounts * update tests * add default header * don't return error from web module creation anymore * tidy a bit * use pngs for default avatars rather than svgs
2022-09-02[bugfix] Fix status fields `in_reply_to_id` and `in_reply_to_account_id` not ↵Libravatar tobi5
being nullable (#798) * make reply status fields nullable pointers * update tests
2022-09-02[performance] cache recently allowed/denied domains to cut down on db calls ↵Libravatar kim7
(#794) * fetch creation and fetching domain blocks from db Signed-off-by: kim <grufwub@gmail.com> * add separate domainblock cache type, handle removing block from cache on delete Signed-off-by: kim <grufwub@gmail.com> * fix sentinel nil values being passed into cache Signed-off-by: kim <grufwub@gmail.com> Signed-off-by: kim <grufwub@gmail.com>
2022-09-02[feature] Federate custom emoji (outbound) (#791)Libravatar Blackle Morisanchetto3
* Federate local custom emoji * Add test for converting a status with tags to AP
2022-09-02[performance] cache account db lookups by public key URI (#795)Libravatar kim6
Signed-off-by: kim <grufwub@gmail.com> Signed-off-by: kim <grufwub@gmail.com>
2022-09-02[performance] use GetAccountByUsernameDomain() for local account lookups to ↵Libravatar kim18
rely on cache (#793) Signed-off-by: kim <grufwub@gmail.com> Signed-off-by: kim <grufwub@gmail.com>
2022-09-02[feature] Emojify spoiler and content in web templates (#785)Libravatar Blackle Morisanchetto1
* Emojify spoiler and content in web templates * Use more performance emojify code (thanks NyaaaWhatsUpDoc!)
2022-08-31[feature] Add support for the exclude_types[] parameter on the notifications ↵Libravatar Blackle Morisanchetto9
endpoint (#784) * Add support for the exclude_types[] parameter on the notifications endpoint * Add swagger docs to notifications
2022-08-31[bugfix] Use custom blackfriday renderer to only add mention/hashtag links ↵Libravatar Blackle Morisanchetto2
in normal text (#787) * Use custom blackfriday renderer to only add mention/hashtag links in normal text * Add additional markdown tests
2022-08-31[chore] Test fixes (#788)Libravatar tobi14
* use 'test' value for testrig storage backend * update test dependency * add WaitFor func in testrig * use WaitFor function instead of time.Sleep * tidy up tests * make SentMessages a sync.map * go fmt
2022-08-31[feature] add rate limit middleware (#741)Libravatar nya12
* feat: add rate limit middleware * chore: update vendor dir * chore: update readme with new dependency * chore: add rate limit infos to swagger.md file * refactor: add ipv6 mask limiter option Add IPv6 CIDR /64 mask * refactor: increase rate limit to 1000 Address https://github.com/superseriousbusiness/gotosocial/pull/741#discussion_r945584800 Co-authored-by: tobi <31960611+tsmethurst@users.noreply.github.com>
2022-08-31[feature] Sort follow requests, followers, and following by updated_at (#774)Libravatar Blackle Morisanchetto2
* Sort follow requests, followers, and following by updated_at * Add migration to regenerate indexes for follows and follow requests
2022-08-31[bugfix] Fix tusky search issue by returning empty if offset is greater than ↵Libravatar Blackle Morisanchetto1
zero (#786)
2022-08-30[bugfix] Do not generate a notification when favouriting your own post (#780)Libravatar Blackle Morisanchetto1
2022-08-30[bugfix] Fix issue where the 'favourited' field of a notification's status ↵Libravatar Blackle Morisanchetto1
is always false (#779)
2022-08-29[bugfix] Use reblogged status in notification, instead of wrapper status (#775)Libravatar Blackle Morisanchetto1
2022-08-27[bugfix] Relax outgoing http request queue (#760)v0.4.0Libravatar tobi3
* add request queue trace logging * fix misleading wording * implement request slots per host per method * undo formatting change (?) * remove gratuitous trace logging * rename done -> release avoids confusion with ctx.Done
2022-08-27[bugfix] Status visibility + `excludeReplies` fixes (#769)Libravatar Blackle Morisanchetto3
* Fix some bugs when viewing a user's posts: include their self-replies (threads) even when excludeReplies is set, and use in_reply_to_uri instead of in_reply_to_id to filter out replies * Assign values to InReplyToURI when creating statuses. Add index and update old statuses with a migration
2022-08-26[bugfix] Check the length of form.MediaIDs instead of just checking for null ↵Libravatar Blackle Morisanchetto1
(#766)
2022-08-26[feature] Allow footnotes in markdown, use `<br>` instead of `\n` (#767)Libravatar tobi2
* allow markdown footnotes + hard line breaks * don't keep whitespace w/minify (unnecessary now) * test markdown a bit more
2022-08-23[bugfix] Fix boost of boost issue (#764)Libravatar tobi2
2022-08-22[bugfix] Fix loss of account info on export/import, add tests (#759)Libravatar tobi4
* start adding additional tests * use random database address for in-memory sqlite * add more fields to account export
2022-08-20[bugfix] Fix potential dereference of accounts on own instance (#757)Libravatar tobi8
* add GetAccountByUsernameDomain * simplify search * add escape to not deref accounts on own domain * check if local + we have account by ap uri
2022-08-16return after redirects to web representation (#755)Libravatar tobi7
2022-08-15[chore] Update bun / sqlite versions; update gtsmodels (#754)Libravatar tobi94
* upstep bun and sqlite versions * allow specific columns to be updated in the db * only update necessary columns for user * bit tidier * only update necessary fields of media_attachment * only update relevant instance fields * update tests * update only specific account columns * use bool pointers on gtsmodels includes attachment, status, account, user * update columns more selectively * test all default fields on new account insert * updating remaining bools on gtsmodels * initialize pointer fields when extracting AP emoji * copy bools properly * add copyBoolPtr convenience function + test it * initialize false bool ptrs a bit more neatly
2022-08-10[bugfix] Check orientation when reading width/height of images (#749)Libravatar tobi1
2022-08-10[bugfix] Fix thumbnails not taking exif rotation into account (#746)Libravatar tobi4
* use disintegration/imaging instead of nfnt/resize * update tests * use disintegration lib for thumbing (if necessary)
2022-08-08[feature] Add first iteration of a user panel at `/user` (#736)Libravatar tobi10
* start work on user panel * parse source first before checking if empty form * newline * set avi + header nicely * add posts settings * render signin a bit nicer on mobile * return OK json on successful change * return unauthorized on bad password * clarify message on insecure password * make login a bit prettier * add alt text + border round image previews * add logout button * add password change * styling updates * redirect /auth/edit to /user * update tests * fix validation tests * better labels, link to more info * make submit button generic component * move submit button inside forms * add autocomplete labels to password fields * fix indentation (thx eslint) * update eslintrc * eslint: no-unescaped-entities * initial deduplication between user and admin panel * add default status/post format setting * user panel styling for inputs * update user panel styling, include normalize css * add placeholder text * input padding Co-authored-by: f0x <f0x@cthu.lu>
2022-08-07[bugfix] Markdown formatting updates (#743)Libravatar tobi3
* add minify dependency specifically for markdown * rearrange markdown formatting * update markdown tests
2022-08-06[feature] Let accounts set default status format, and use this when ↵Libravatar tobi16
processing new statuses (#739) * add post_format to acct & use it when making post * update swagger docs * add status_format updating to frontend * fix up tests * post_format => status_format * add status_format to account validation
2022-08-05[bugfix] Parse source first before checking if empty form (#738)Libravatar tobi1
2022-08-01[feature] Implemented notification clear (#720)Libravatar Artémis7
* Implemented notification clear * Added the cache clear mechanism * added multi user check test
2022-07-30serve HEAD requests via the fileserver (#735)Libravatar tobi2
2022-07-28[bugfix] remove <= 0 `expires_in` from oauth token response (#731)Libravatar tobi1
* remove <= 0 expired_in from oauth token response * go fmt
2022-07-28[feature] add 'state' oauth2 param to /oauth/authorize (#730)Libravatar tobi6
2022-07-22[bugfix] Fix Toot CLI media attachments not working properly (#726)v0.3.8Libravatar tobi2
2022-07-22[bugfix] Make `/api/v2/media` more compatible with masto API (#724)Libravatar tobi7
* update docs * make api version into a path param * update tests * workaround to unset URL if using v2 of api * make some fields into pointers
2022-07-20[chore] Update image/video size defaults to mastodon's (#723)Libravatar tobi2
2022-07-19[bugfix] html escape special characters in text instead of totally removing ↵Libravatar tobi12
them (#719) * remove minify dependency * tidy up some tests * remove pre + postformat funcs * rework sanitization + formatting * update tests * add some more markdown tests
2022-07-19[chore] use our own logging implementation (#716)Libravatar kim111
* first commit Signed-off-by: kim <grufwub@gmail.com> * replace logging with our own log library Signed-off-by: kim <grufwub@gmail.com> * fix imports Signed-off-by: kim <grufwub@gmail.com> * fix log imports Signed-off-by: kim <grufwub@gmail.com> * add license text Signed-off-by: kim <grufwub@gmail.com> * fix package import cycle between config and log package Signed-off-by: kim <grufwub@gmail.com> * fix empty kv.Fields{} being passed to WithFields() Signed-off-by: kim <grufwub@gmail.com> * fix uses of log.WithFields() with whitespace issues and empty slices Signed-off-by: kim <grufwub@gmail.com> * *linter related grumbling* Signed-off-by: kim <grufwub@gmail.com> * gofmt the codebase! also fix more log.WithFields() formatting issues Signed-off-by: kim <grufwub@gmail.com> * update testrig code to match new changes Signed-off-by: kim <grufwub@gmail.com> * fix error wrapping in non fmt.Errorf function Signed-off-by: kim <grufwub@gmail.com> * add benchmarking of log.Caller() vs non-cached Signed-off-by: kim <grufwub@gmail.com> * fix syslog tests, add standard build tags to test runner to ensure consistency Signed-off-by: kim <grufwub@gmail.com> * make syslog tests more robust Signed-off-by: kim <grufwub@gmail.com> * fix caller depth arithmatic (is that how you spell it?) Signed-off-by: kim <grufwub@gmail.com> * update to use unkeyed fields in kv.Field{} instances Signed-off-by: kim <grufwub@gmail.com> * update go-kv library Signed-off-by: kim <grufwub@gmail.com> * update libraries list Signed-off-by: kim <grufwub@gmail.com> * fuck you linter get nerfed Signed-off-by: kim <grufwub@gmail.com> Co-authored-by: tobi <31960611+tsmethurst@users.noreply.github.com>
2022-07-19[bugfix] Markdown format fixes (#718)Libravatar tobi2
* just sanitize markdown, don't minify or escape * tidy tests, add one for inline code * add another test, it works!
2022-07-18[feature] Implement `cache-control` and etags for static assets (#711)Libravatar tobi11
* start working on etag stuff * add + use cache middleware * generate etags on the fly * remove unused field * clean up filepath * add license headers to cache files * add attachgroup function to router interface * move cache into web module * rename a couple things * remove attachStaticFS function from router * rename + tidy up a few things * mount assets filesystem * create assetsFileInfoCache * update comment * simplify hash * fix string fmt * skip last mod chk, prefer strong etags w/long cache * move base handler to its own file this matches the modules in the api folder * generate new etag if file was modified * wrap strong etag in quotation marks as per spec * clarify logic in avatar search * make hashing a little niftier
2022-07-18[chore] move dialer inside new (#715)Libravatar tobi1
* move dialer inside new, use default resolver * instantiate resolver
2022-07-15[performance] Add long cache-control max age to fileserver (#710)Libravatar tobi1