Commit graph

400 commits

Author SHA1 Message Date
Haelwenn (lanodan) Monnier d388a99143
Web.MastodonAPI.MastodonSocket: Put access_token at function-level 2018-11-24 06:43:03 +01:00
Haelwenn (lanodan) Monnier 5346fabf14
Web.MastodonAPI.MastodonSocket: Add unauthentified websocket endpoints
reported by soka on CRTNet
2018-11-24 06:13:36 +01:00
lain 0896cf4c0f Fix most mastodon api bugs. 2018-11-20 20:12:39 +01:00
href bc5cf2c192
Improved version string 2018-11-20 17:55:03 +01:00
lain 2cf40237ff MastodonAPI: Add pagination to private messages. 2018-11-13 19:46:34 +01:00
KokaKiwi 1592fa2bea Mastodon API: Fix list streaming 2018-11-11 14:18:15 +01:00
kaniini b451a92d78 Merge branch 'runtime-config' into 'develop'
Runtime configuration

See merge request pleroma/pleroma!430
2018-11-07 22:32:34 +00:00
href e42f2efae4
/api/v1/accounts/relationships Return an empty array if no id in params
This copies Mastodon API behaviour & fixes Mastalab app.
2018-11-07 16:32:57 +01:00
href 5bb88fd174
Runtime configuration
Related to #85

Everything should now be configured at runtime, with the exception of
the `Pleroma.HTML` scrubbers (the scrubbers used can be
changed at runtime, but their configuration is compile-time) because
it's building a module with a macro.
2018-11-06 19:41:15 +01:00
lain a8f1e30cb8 Formatting. 2018-11-06 16:05:58 +01:00
lain 4f640c43ed Unify Mastodon Login with OAuth login.
This removes duplication in the login code.
2018-11-06 15:19:11 +01:00
href 763fc7b44f
Runtime configured emojis
The changes are a bit heavy since the emojis were loaded into module
attributes from filesystem.

This introduces a GenServer using an ETS table to cache in memory the
emojis, and allows a runtime-reload with `Pleroma.Emoji.reload()`.
2018-11-05 13:24:00 +01:00
Haelwenn (lanodan) Monnier 3e50bb667f
Pleroma.Web.MastodonAPI.StatusView: Content isn’t nullable 2018-11-03 14:42:47 +01:00
Mark Felder 0cca7edbe0 Fix hashtag search
When we lowercase the search it will succesfully do a case insenstive
match. Now #Linux will match #linux and #LINUX whereas previously it
would only match the exact case.
2018-11-02 19:38:57 +00:00
William Pitcock 4d8f076125 mastodon api: add support for rendering Page objects 2018-11-01 10:00:16 +00:00
Haelwenn (lanodan) Monnier 755f166406
Pleroma.Web.MastodonAPI.StatusView: Do not fail when URL isn’t a string 2018-11-01 09:55:38 +01:00
William Pitcock 181f3bb56a mastodon api: enforce upload limits for avatars and banners 2018-10-29 16:43:05 +00:00
William Pitcock 5c6ec2d9fc twitter/mastodon api: always use mediaproxy URLs in attachments
if using local media, the mediaproxy will not replace the URL anyway.
2018-10-29 15:19:32 +00:00
William Pitcock 26eb11c172 activitypub: add support for filtering broken threads out of timelines 2018-10-26 06:16:51 +00:00
Haelwenn (lanodan) Monnier b386888a0e
[Pleroma.Web.MastodonAPI.MastodonAPIController]: fallback for try_render/4
Better be sure than sorry
2018-10-25 06:21:11 +02:00
Haelwenn (lanodan) Monnier b112112c11
[Pleroma.Web.MastodonAPI.MastodonAPIController]: Wrap around render/4 2018-10-25 05:52:45 +02:00
Haelwenn (lanodan) Monnier b0a940d5a2
[Pleroma.Web.MastodonAPI.StatusView]: Remove unused arguments 2018-10-25 05:24:03 +02:00
Haelwenn (lanodan) Monnier 2da0ffeb28
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex: Output an error when render(status.json) gives a nil 2018-10-25 05:24:03 +02:00
Haelwenn (lanodan) Monnier 0c10be8731
[Pleroma.Web.MastodonAPI.StatusView]: Remove nils from lists.json 2018-10-25 05:24:03 +02:00
Haelwenn (lanodan) Monnier 3b0e9287a5
[Pleroma.Web.MastodonAPI.StatusView]: Return nil as fallback for missing views 2018-10-25 05:24:01 +02:00
AkiraFukushima e8c698af41 Add an endpoint /api/v1/accounts/:id/lists to get lists to which account belongs 2018-10-19 01:46:26 +09:00
William Pitcock 7b3fff9af8 {mastodon api, twitter api}: make the follow handshake timeout configurable 2018-10-07 01:05:59 +00:00
William Pitcock 7f530f6f80 mastodon api: relationship view: better handle no pre-existing follow activity 2018-10-05 23:50:13 +00:00
William Pitcock e69faf550c user: add wait_and_refresh() for async three-way handshake case 2018-10-05 23:40:49 +00:00
William Pitcock 3e751496e3 mastodon api: account view: fetch follow state and use it to populate requested field 2018-10-05 23:31:49 +00:00
Martin Kühl d94ee5cd50 Mastodon API: Support push subscription CRUD 2018-09-22 07:04:01 +02:00
William Pitcock df00a364fb mastodon api: formatting 2018-09-22 02:53:04 +00:00
William Pitcock 958e085acb mastodon api: add support for user-supplied html policy 2018-09-22 02:53:02 +00:00
Haelwenn (lanodan) Monnier 40c51f118f
[Pleroma.Web.MastodonAPI.MastodonAPIController]: Bump mastodon_api_level to 2.5.0 2018-09-20 16:48:12 +02:00
Haelwenn (lanodan) Monnier f74725df41
[Pleroma.Web.MastodonAPI.MastodonAPIController]: Remove unused variables 2018-09-20 16:37:18 +02:00
Haelwenn (lanodan) Monnier a8eaecadee
[Pleroma.Web.MastodonAPI.AccountView]: relationship.json: fake endorsed value (false) 2018-09-20 16:24:29 +02:00
Haelwenn (lanodan) Monnier 43d0b7bf7a
[Pleroma.Web.MastodonAPI.StatusView] add replies_count 2018-09-20 16:10:46 +02:00
William Pitcock 0cac493fdc mastodon api: default attachment type to image if one is not present 2018-09-19 04:59:25 +00:00
Martin Kühl f4fcea5258 Revert "Mastodon API: Fake support for loading filters"
This reverts commit c1d07da4e1.

The fake support was superseded by 6e030129fb which actually implements the faked filters API.

This change removes the fake support and ensures that the actual implementation is used.
2018-09-18 11:59:10 +02:00
kaniini c2650f0ffb Merge branch 'feature/html-scrub-policy' into 'develop'
html scrub policy

See merge request pleroma/pleroma!339
2018-09-16 01:05:09 +00:00
shadowfacts 39aed5348a Add visible_in_picker to status emojis 2018-09-10 23:32:19 +00:00
William Pitcock ac486fc59b everywhere: use Pleroma.HTML module instead of HtmlSanitizeEx directly 2018-09-10 00:14:47 +00:00
Hakaba Hitoyo 4e1bb7bccb make limit for /api/v1/suggestions 2018-09-09 13:57:23 +09:00
Martin Kühl c1d07da4e1 Mastodon API: Fake support for loading filters 2018-09-07 16:12:44 +02:00
Martin Kühl 619f67768a Mastodon API: Add unsupported attributes to relationship responses
These attributes are documented as required by the Mastodon API.
Since we don’t support them (I think?), respond with default values.
2018-09-07 16:12:44 +02:00
Haelwenn 4a3dbd9d4e Merge branch 'fix/sign-in-with-toot' into 'develop'
Fix sign-in and sign-out with Toot!

See merge request pleroma/pleroma!306
2018-09-05 18:20:26 +00:00
kaniini 1c9e539b47 Merge branch 'feature/mastodon_api_2.4.x' into 'develop'
Add/Fix Mastodon endpoints for 2.4.3 compatibility

See merge request pleroma/pleroma!266
2018-09-03 12:33:36 +00:00
shadowfacts 35515cfa66 Update mastodon_api_controller.ex 2018-09-03 01:58:55 +00:00
shadowfacts 26f8697400 Update mastodon_api_controller.ex 2018-09-03 01:52:02 +00:00
shadowfacts 2b2bd0e047 Render notification IDs as strings, not numbers 2018-09-03 01:40:05 +00:00
Martin Kühl b60d232719 AccountView: sensitive is supposed to be a boolean, not a string 2018-09-01 23:10:48 +02:00
kaniini 2e2f458705 Merge branch 'lanodan/code-dup_in_mastoapi_search' into 'develop'
Clean code duplication in MastoAPI search(v1/v2)

See merge request pleroma/pleroma!316
2018-09-01 09:12:59 +00:00
Will Pearson 0c2a0e3551 Specify default scope in verify_credentials
Certain Mastodon/Pleroma front ends call verify_credentials to get the
default scope of a new toot.

Currently, Pleroma hardcodes this value to "public".

This patch changes it to the user's default_scope value.
2018-08-31 21:04:46 -07:00
Haelwenn (lanodan) Monnier 8885d16e1b
[Pleroma.Web.MastodonAPI.MastodonAPIController].search(2)?: Remove code duplication 2018-09-01 03:11:58 +02:00
kaniini e838969495 Merge branch 'use-media-proxy-in-suggestions-api' into 'develop'
use media proxy for the suggestions api

See merge request pleroma/pleroma!305
2018-08-30 23:06:30 +00:00
href ddc6f32b75
Fix Mastodon API when actor's nickname is null 2018-08-29 16:32:50 +02:00
William Pitcock ded9091206 mastodon api: use bounded AP object graph query to enforce containment of private statuses 2018-08-29 08:51:51 +00:00
Hakaba Hitoyo 6cbfb5ab5d use media proxy for suggestions api 2018-08-28 17:01:17 +09:00
Haelwenn (lanodan) Monnier 6973b77e94
[Pleroma.Web.MastodonAPI.FilterView] fix expires_at being a unsafe variable 2018-08-27 15:09:06 +02:00
Haelwenn (lanodan) Monnier 9bddb39ff0
[Pleroma.Web.MastodonAPI.FilterView]: expires_at should be null when N/A 2018-08-27 15:09:06 +02:00
Haelwenn (lanodan) Monnier d571a571fe
[Pleroma.Web.MastodonAPI.MastodonAPIController]: Bump mastodon_api_level to 2.4.3 2018-08-27 15:09:06 +02:00
Haelwenn (lanodan) Monnier 6e030129fb
[MastodonAPI] Add filters 2018-08-27 15:09:05 +02:00
Haelwenn (lanodan) Monnier a5adb251ab
[Pleroma.Web.MastodonAPI.AccountView]: Add fields support 2018-08-27 15:09:05 +02:00
Haelwenn (lanodan) Monnier d008f2d69c
[Pleroma.Web.MastodonAPI.AccountView]: Add bot field 2018-08-27 15:09:04 +02:00
Haelwenn (lanodan) Monnier 83efaa3af6
[MastodonAPI] Add streaming of hashtags 2018-08-27 15:08:25 +02:00
hakabahitoyo bf9f68b681 debug 2018-08-23 11:52:18 +09:00
Haelwenn (lanodan) Monnier 5dde6e4a00
[Pleroma.Web.MastodonAPI.StatusView] Fix rendering peertube videos 2018-08-22 01:46:26 +02:00
kaniini f6b06d2ac8 Merge branch 'feature/peertube_2' into 'develop'
rebase/update of feature/peertube

See merge request pleroma/pleroma!217
2018-08-21 16:58:44 +00:00
Haelwenn (lanodan) Monnier 046741c60d
[Pleroma.Web.MastodonAPI.StatusView] Support Peertube Video titles 2018-08-21 18:34:56 +02:00
Haelwenn (lanodan) Monnier 3b8ef24532
Fix attachement rendering 2018-08-21 18:24:10 +02:00
lain a6b021a52b
Render peertube videos in mastodon. 2018-08-21 18:24:10 +02:00
lain c381d0b577
Use activitypub to fetch posts.
This falls back to ostatus.
2018-08-21 18:24:09 +02:00
ensra 175f0bebbc mastodon api: sanitize the bio HTML 2018-08-21 10:53:53 +01:00
shadowfacts 6698749073 Fix typo in app creation response
Mastodon sends redirect_uri (singular), so should Pleroma.
2018-08-17 12:48:24 +00:00
William Pitcock a3ef2ebb35 mastodon api controller: client_name, not name 2018-08-16 23:50:49 +00:00
William Pitcock b5a92b1199 mastodon api: add undocumented fields to json response, return app id as string like mastodon itself does 2018-08-16 23:40:42 +00:00
lambda 9908cf8fda Merge branch 'feature/suggestions-api-with-third-party-recommendation-engine' into 'develop'
Feature / Suggestions API with third party recommendation engine

See merge request pleroma/pleroma!254
2018-08-15 07:47:33 +00:00
eal c2d1a5e9c4 MastoAPI AccountView: render profile emoji. 2018-08-07 21:56:50 +03:00
Hakaba Hitoyo cc9c062b55 merge 2018-07-19 17:42:00 +09:00
lambda 6f23fb53d3 Merge branch 'feature/fe-configuration' into 'develop'
serverside frontend configuration

See merge request pleroma/pleroma!256
2018-07-19 07:31:10 +00:00
Hakaba Hitoyo b12d17d2ce configurable timeout 2018-07-18 13:36:20 +09:00
Hakaba Hitoyo e4dd58307a better configuration 2018-07-18 09:58:59 +09:00
William Pitcock cf219b6add config: make instance description configurable 2018-07-17 15:46:23 +00:00
Hakaba Hitoyo 5b4a21317d correct error message 2018-07-17 17:29:18 +09:00
Hakaba Hitoyo d76f0d87be do nothing if configuration is skipped 2018-07-17 16:45:18 +09:00
Hakaba Hitoyo df3233e7e7 improve getting host name 2018-07-17 13:20:58 +09:00
William Pitcock 99c0252314 mastodon api: support descriptions in media api, add PUT endpoint for updating metadata about a media upload 2018-07-17 03:40:47 +00:00
William Pitcock cd19d37a90 mastodon api: use object name as alt text 2018-07-17 03:40:46 +00:00
hakabahitoyo e7c580828c format 2018-07-15 20:36:26 +09:00
hakabahitoyo 2eeaf01627 id field 2018-07-14 14:03:30 +09:00
hakabahitoyo 127882a5d5 configurable 2018-07-14 11:41:09 +09:00
hakabahitoyo eb0afda3a7 http access to third party user recommendation 2018-07-14 10:04:37 +09:00
hakabahitoyo 3812b627ca better mock /api/v1/suggestions 2018-07-14 00:52:23 +09:00
hakabahitoyo 4a21c1b343 mock /api/v1/suggestions 2018-07-14 00:44:18 +09:00
hakabahitoyo f944f8157a /api/v1/suggestions endpoint 2018-07-14 00:21:38 +09:00
lambda fe4387077a Merge branch 'feature/default-scope' into 'develop'
default scope setting

See merge request pleroma/pleroma!239
2018-07-12 05:59:12 +00:00
lambda 4a922305af Merge branch 'feature/article-support' into 'develop'
article support (plume, etc)

See merge request pleroma/pleroma!240
2018-07-12 05:58:39 +00:00
Haelwenn (lanodan) Monnier 7a351cb36f
[Pleroma.Web.MastodonAPI.StatusView]: Fill the url field for statuses
Closes: https://git.pleroma.social/pleroma/pleroma/issues/231
2018-07-12 01:57:25 +02:00
William Pitcock 971bb4f2bd activity interpretation: formatting 2018-06-27 13:38:19 +00:00
William Pitcock ea982e7503 mastodon api: add interpreter for Article activity types 2018-06-27 13:38:00 +00:00
William Pitcock 4f6de34f4f mastodon api: use info["default_scope"] if available for post scope 2018-06-27 13:15:42 +00:00
Haelwenn (lanodan) Monnier beb940a57e
[Pleroma.Web.MastodonAPI.MastodonAPIController]: Add rights to initial_state
Related to https://git.pleroma.social/pleroma/mastofe/issues/20
2018-06-26 20:48:35 +02:00
Haelwenn (lanodan) Monnier 5a4a45b875
[Pleroma.Web.MastodonApi.MastodonApiController] Add initial_state.meta.max_toot_chars 2018-06-23 16:22:49 +02:00
Haelwenn (lanodan) Monnier a05c0ff61d
[Pleroma.Web.MastodonApi.MastodonApiController] Add /api/v2/search 2018-06-23 16:22:47 +02:00
Haelwenn (lanodan) Monnier 359093d73b
Fake 2.4.0 API 2018-06-23 16:12:57 +02:00
Haelwenn (lanodan) Monnier b670d4d683
MastodonAPI: Add streaming to media tabs of federated and local TLs 2018-06-17 16:17:15 +02:00
Haelwenn (lanodan) Monnier 72c2915ecd
Pleroma.Web.MastodonAPI.StatusView: Fix status.json so it renders threads 2018-06-15 22:14:17 +02:00
lambda 8c7fdcb31b Merge branch 'feature/twitterapi-unrepeat' into 'develop'
Add TwitterAPI unretweet endpoint and cleanup AP.unannounce

See merge request pleroma/pleroma!218
2018-06-14 07:19:36 +00:00
Francis Dinh 1555c66650 Add unretweet TwAPI endpoint and cleanup AP.unannounce 2018-06-13 21:33:36 -04:00
lambda 564c73ab24 Merge branch 'feature/list-streaming' into 'develop'
MastoAPI: Add streaming for lists.

See merge request pleroma/pleroma!183
2018-06-12 07:19:45 +00:00
William Pitcock 1452b2823f user: add a workaround for situations where Pleroma may believe a followee is followed
this was caused by lack of Undo follows in the early days, and can likely be eventually removed
2018-06-11 22:15:53 +00:00
William Pitcock a2c4a5a75b mastodon api: allow setting an account locked or not 2018-06-11 22:15:53 +00:00
William Pitcock 760eb72a38 add a bunch of stuff 2018-06-11 22:15:53 +00:00
William Pitcock 6f89d2d583 stash api controller 2018-06-11 22:15:53 +00:00
William Pitcock 9c88933422 implement tracking of follow requests 2018-06-11 22:15:53 +00:00
lambda 7f79b467b1 Merge branch 'feature/domain-blocks' into 'develop'
Domain blocks

See merge request pleroma/pleroma!190
2018-06-11 11:19:45 +00:00
Rachel H b4292295d7 Allow posting images without text in mastofe 2018-06-06 11:29:49 -07:00
eal f9719b064c Merge branch 'fix/emoji-picker' into 'develop'
set visible_in_picker to true in custom_emojis

Closes #177 and mastofe#16

See merge request pleroma/pleroma!188
2018-06-05 21:18:25 +00:00
eal 4856962434 MastoAPI: add domain blocking. 2018-06-03 22:21:23 +03:00
lain 4856ba596f Better error handling for MastodonApiController. 2018-06-03 19:28:11 +02:00
Haelwenn (lanodan) Monnier b143694b98
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex: set visible_in_picker to true in custom_emojis
Fixes: https://github.com/ilianaw/emojos.in/issues/4
Closes: https://git.pleroma.social/pleroma/pleroma/issues/177
Closes: https://git.pleroma.social/pleroma/mastofe/issues/16
2018-06-03 18:41:18 +02:00
eal 8c609ee3f9 MastoAPI user timelines: render statuses for the logged in user. 2018-06-01 12:30:11 +03:00
eal 5d3fdbc082 MastoAPI: Add streaming for lists. 2018-05-30 16:48:59 +03:00
eal 7cb2e2971e MastoAPI: fix dm_timeline getting non-create activities. 2018-05-30 15:02:22 +03:00
eal 35cb8969c4 MastoAPI: Fix link headers with restrictive params. 2018-05-29 13:31:36 +03:00
lain 4b3ec53514 Merge branch 'develop' into csaurus/pleroma-feature/mstdn-direct-api 2018-05-26 16:00:59 +02:00
William Pitcock e80d91c64a introduce User.maybe_direct_follow() and use it where we used to call User.follow() 2018-05-25 09:40:10 +00:00
William Pitcock 502ba33d01 activitypub: fix up accept/reject semantics for following
fixes #175
2018-05-25 06:14:18 +00:00
William Pitcock c0ca9f82b9 mastodon api: properly track if an account is locked or not 2018-05-25 06:14:09 +00:00
lambda f3a71f2986 Merge branch 'feature/lists' into 'develop'
Mastodon List API

See merge request pleroma/pleroma!138
2018-05-24 20:22:43 +00:00
lambda c2dcd767cf Merge branch 'feature/incoming-remote-unfollow' into 'develop'
Add support for incoming remote unfollows and blocks/unblocks

See merge request pleroma/pleroma!158
2018-05-24 19:52:24 +00:00
eal 3dbd9809d4 MastoAPI: add lists. 2018-05-24 15:34:39 +03:00
eal a8369db4f2 MastoAPI: add lists. 2018-05-24 13:18:39 +03:00
Francis Dinh b2c6ae7d82 Hook up unfollow and (un)block to MastoAPI + tests 2018-05-22 04:27:40 -04:00
csaurus 4fd9df100f Merge branch 'develop' into feature/mstdn-direct-api 2018-05-21 20:19:37 -04:00
Thog e55c6f311b
Migrate to comeonin 4 and Cachex 3
Also fix some warning in the code and add a missing alias
2018-05-20 20:08:40 +02:00
lain 434601a5c3 Return private / direct posts on user timelines, too. 2018-05-20 16:15:18 +02:00
Thog 6f39ecc41b
Support Undo like activities (Fix #139) 2018-05-19 22:14:15 +02:00
csaurus 2ce48c1a42 Formatting 2018-05-13 15:36:41 -04:00
csaurus 9aabff4883 Fix tests. 2018-05-13 15:33:59 -04:00
lambda aeff2d6474 Merge branch 'feature/unrepeats' into 'develop'
Add unrepeats

Closes #69

See merge request pleroma/pleroma!113
2018-05-13 09:32:29 +00:00
csaurus c8d418acdd api/v1/timelines/direct implementation 2018-05-12 21:50:59 -04:00
csaurus c60a5405db Detect and try to stream incoming "direct" messages 2018-05-12 17:40:59 -04:00
lambda 6c2903d9a1 Merge branch 'feld-warnings' into 'develop'
Clean up warnings

See merge request pleroma/pleroma!144
2018-05-06 18:42:31 +00:00
eal bfad57c7c9 Get rid of unsafe variables. 2018-05-06 09:58:59 +03:00
lain 96add86b50 Unify wss uri generation. 2018-05-05 13:40:31 +02:00
lain c464355d1a Idempotency: Use special cache, keep for 6 hours. 2018-05-05 11:15:57 +02:00
Mark Felder 31ea9cbcd8 Group def renders together to fix warning 2018-05-04 22:28:13 +00:00
Mark Felder aaacebd906 Fix unused variables, imports, and aliases 2018-05-04 21:42:20 +00:00
lain 90c4bed0af Don't expire idempotency cache for five minutes. 2018-05-04 21:15:39 +02:00