Commit Graph

570 Commits (5e1752ce3f21a06287d0a0821c02835c06227441)

Author SHA1 Message Date
Daniel M Brasil 383c00819c
Fix `/api/v2/search` not working with following query param ()
Daniel M Brasil 4fe2d7cb59
Fix HTTP 500 in `/api/v1/emails/check_confirmation` ()
Matt Jankowski 683ba5ecb1
Fix rails `rewhere` deprecation warning in directories api controller ()
Claire 1d622c8033
Add POST /api/v1/conversations/:id/unread ()
Claire a5b6f6da80
Change /api/v1/statuses/:id/history to always return at least one item ()
Daniel M Brasil b9bc9d0bda
Fix incorrect pagination headers in `/api/v2/admin/accounts` ()
Claire ec59166844
Fix ArgumentError when loading newer Private Mentions ()
Eugen Rochko 4c9406bdb0
Add time zone preference ()
Darius Kazemi bacb674921
Add exclusive lists ()
Co-authored-by: Liam Cooke <liam@liamcooke.com>
Co-authored-by: John Holdun <john@johnholdun.com>
Co-authored-by: Effy Elden <effy@effy.space>
Co-authored-by: Lina Reyne <git@lina.pizza>
Co-authored-by: Lina <20880695+necropolina@users.noreply.github.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Claire 2b45fecde1
Fix multiple N+1s in ConversationsController ()
Claire 9017df7178
Remove dead code in Api::V1::FeaturedTagsController ()
Daniel M Brasil 785e650ab4
Fix uncaught TypeError in POST `/api/v1/featured_tags` ()
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Daniel M Brasil 45d98959ac
Fix uncaught NoMethodError in POST `/api/v1/featured_tags` ()
Daniel M Brasil ce8b5899ae
Fix POST `/api/v1/admin/domain_allows` returning 200 when no domain is specified ()
Claire 45ba9ada34
Fix race condition when reblogging a status ()
Claire e60414792d
Add polling and automatic redirection to `/start` on email confirmation ()
Daniel M Brasil 433ab0c9a3
Fix uncaught NoMethodError error in `/api/v1/admin/canonical_email_blocks/test` ()
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
zunda c0ea33e3fc
Make it possible to upload audio and video to Heroku app ()
Matt Jankowski 6e226f5a32
Fix Rails/ActionOrder cop ()
Claire 1c61869eed
Fix /api/v1/custom_emojis being cached even when unauthenticated API access is disallowed ()
Claire b0bf6216e6
Fix /api/v1/instance/domain_blocks being unconditionally cached ()
Claire 1419f90ef2
Fix some user-independent endpoints potentially reading session cookies ()
Claire 276c39361b
Fix anonymous visitors getting a session cookie on first visit ()
Eugen Rochko 6084461cd0
Change unauthenticated responses to be cached in REST API ()
Claire 58a1b2e330
Fix caching logic with regards to Accept-Language, Cookie, and Signature ()
Eugen Rochko e98c86050a
Refactor `Cache-Control` and `Vary` definitions ()
Robert R George 4db8230194
Add trend management to admin API ()
Eugen Rochko a9b5598c97
Change user settings to be stored in a more optimal way ()
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Matt Jankowski e633b26f4f
Add allow_other_host in redirects which may go outside app ()
Christian Schmidt bd047acc35
Replace `Status#translatable?` with language matrix in separate endpoint ()
Nick Schonning 434770f580
Autofix Rubocop Rails/FindById ()
Nick Schonning 717683d1c3
Autofix Rubocop remaining Layout rules ()
Nick Schonning aef0051fd0
Enable Rubocop HTTP status rules ()
Nick Schonning 2177daeae9
Autofix Rubocop Style/RedundantBegin ()
Nick Schonning e2a3ebb271
Autofix Rubocop Style/IfUnlessModifier ()
Claire d6930b3847
Add API parameter to safeguard unexpect mentions in new posts ()
Nick Schonning f68bb52556
Apply Rubocop Style/NegatedIfElseCondition ()
Eugen Rochko 21780c0204
Change notifications per page from 15 to 40 in REST API ()
Claire 4b92e59f4f
Add support for editing media description and focus point of already-posted statuses ()
* Add backend support for editing media attachments of existing posts

* Allow editing media attachments of already-posted toots

* Add tests
Claire b034dc42be
Fix /api/v1/admin/trends/tags using wrong serializer ()
* Fix /api/v1/admin/trends/tags using wrong serializer

Fix regression from 

* Only use `REST::Admin::TagSerializer` when the user can `manage_taxonomies`

* Fix admin trending hashtag component to not link if `id` is unknown
Carl Schwan f33e22ae4c
Allow changing hide_collections setting with the api ()
* Allow changing hide_collections setting with the api

This is currently only possible with app/controllers/settings/profiles_controller.rb
and is the only difference in the allowed parameter between the two controllers

* Fix the lint issue

* Use normal indent
Claire 8556a649d5
Fix changing domain block severity not undoing individual account effects ()
* Fix changing domain block severity not undoing individual account effects

Fixes 

* Add tests
Claire 623d3d2e32
Change CSP directives on API to be tight and concise ()
nametoolong 63b379c2d9
Fix N+1 queries from in NotificationsController ()
Co-authored-by: Nonexistent <nx@example.org>
Francis Murillo f6492a7c4d
Log admin approve and reject account ()
* Log admin approve and reject account

* Add unit tests for approve and reject logging
Claire 69137f4a90
Fix irreversible and whole_word parameters handling in /api/v1/filters ()
Fixes 
Claire 51a33ce77a
Fix not being able to follow more than one hashtag ()
Fixes regression from 
trwnh 7fdeed5fbc
Make tag following idempotent ()
trwnh e1f819fd78
Fix pagination of followed tags ()
* Fix missing pagination headers on followed tags

* Fix typo
Daniel Axtens 4d85c27d1a
Add 'private' to Cache-Control, match Rails expectations ()
Several controlers set quite intricate Cache-Control headers in order to
hopefully not be cached by any intermediate proxies or local caches. Unfortunately,
these headers are processed by ActionDispatch::HTTP::Cache in a way that squashes
and discards any values set alongside no-store other than private:
8015c2c2cf/actionpack/lib/action_dispatch/http/cache.rb (L207-L209)

We want to preserve no-store on these responses, but we might as well remove
parts that are going to be dropped anyway. As many of the endpoints in these
controllers are private to a particular user, we should also add "private",
which will be preserved alongside no-store.