Commit graph

5080 commits

Author SHA1 Message Date
Jonne Haß
a7ff52f366 API: Don't mark conversations as read when fetching its messages 2020-11-30 18:03:38 +01:00
Jonne Haß
bbd4a68151 Merge branch 'next-minor' into develop 2020-11-02 19:55:41 +01:00
Jonne Haß
e1aff7e3ab drop coveralls 2020-11-02 19:55:36 +01:00
Jonne Haß
0aba20f85c OpenID Connect: ensure consistent issuer URL
root_url does not know the right protocol in all contexts,
some clients are strict when validating this.
2020-10-24 22:30:43 +02:00
Dennis Schubert
868f0a8eec
Merge pull request #8129 from denschub/api-cors
Allow CORS on all API routes.
2020-06-13 23:31:58 +02:00
Dennis Schubert
31b28e731d
Merge branch 'next-minor' into develop 2020-06-13 23:31:09 +02:00
Noah Leal
ad91dddd63
Issue #8119 - Add length validation to a profile's gender field.
closes #8127
2020-06-13 23:31:03 +02:00
Dennis Schubert
bcf5406f53
Issue #8126 - Allow CORS on all API routes. 2020-06-11 20:13:46 +02:00
Jonne Haß
221ef7b932 Merge branch 'next-minor' into develop 2020-03-20 20:06:04 +01:00
Jonne Haß
60a50c881d update will_paginate to 3.3.0 2020-03-20 20:03:42 +01:00
Jonne Haß
1a7b2b0c31 API: extend /search/user with a filter option
See API docs for more details
2020-03-20 12:39:09 +01:00
Jonne Haß
2d28ddc1ef Add API route to (un)block a user 2020-03-20 12:38:27 +01:00
Jonne Haß
cd6e02ccec API: allow post creation without a body when there are photos 2020-02-20 18:50:32 +01:00
Jonne Haß
e9242d7754 API: Fix fetching explicitly not only unread conversations 2020-02-17 10:59:10 +01:00
Jonne Haß
00df0b7bda API: add new route to search for tags 2020-02-17 10:58:04 +01:00
Benjamin Neff
4139ae2549
Merge branch 'next-minor' into develop 2020-02-12 00:13:19 +01:00
Dennis Schubert
e40a07f204
Replace be_success with be_successful in specs.
be_success is deprecated and will be removed in Rails 6.
2020-02-11 23:53:14 +01:00
Jonne Haß
6dbef95951 API: return whether post or item was already reported or not 2020-02-09 11:04:59 +01:00
Jonne Haß
8068d8747b API: Fix fetching explicitly not only unread notifications 2020-02-09 11:03:55 +01:00
Jonne Haß
cd0995abf3 API: Don't return notifications target unless it's a post 2020-02-09 11:03:55 +01:00
Jonne Haß
04d0d6dccb API: return mentioned_people for comments 2020-02-04 18:54:53 +01:00
Dennis Schubert
dbbf743920
Add the scaled_full image as a raw image in AvatarPresenter as well.
This is a temporary workaround. Adding the real raw photo is quite a
challange and touches multiple components nobody wants to touch right
now. As this change is blocking an actual hotfix, this is fine, and will
be properly fixed at a later time.
2020-02-04 15:52:57 +01:00
Dennis Schubert
bf55d07580
Re-add sizes.raw to the photo JSON
because we need it for showing the raw image in the lightbox. This got lost, as the photo extension was made after API development started.
2020-02-04 14:38:49 +01:00
Jonne Haß
2e7526bac5 API: Let hide endpoint take payload as documented and act according to it 2020-02-02 21:49:20 +01:00
Jonne Haß
884de9008f API: rename poll_answer_id to poll_answer in post interactions vote endpoint 2020-02-02 21:26:33 +01:00
Jonne Haß
b1f357849b API: return post oEmbed data 2020-02-02 20:15:36 +01:00
Jonne Haß
5921cd0176 API: return post open graph metadata 2020-02-02 20:15:36 +01:00
Jonne Haß
8cae234f45 API: return own vote state in polls 2020-02-02 18:40:07 +01:00
Jonne Haß
b921b71b97 API: ensure nsfw field in post is returned as a boolean 2020-02-02 18:31:46 +01:00
Jonne Haß
fbd0a51829 API: return current users like, reshare and subcription status in post infos 2020-02-02 18:13:55 +01:00
Jonne Haß
6bbcb7415b API: don't make error messages translatable 2020-02-02 18:04:11 +01:00
Jonne Haß
04744b4dac API: Return 409 when trying to create something existing and 410 when trying to delete something already gone
Probably missed a few more cases where we always return sucess when the user requests
status quo, but this should cover most ground
2020-02-02 18:04:11 +01:00
Jonne Haß
e8b9a70fbf Ensure API responses adhere to documented error format 2020-02-02 18:04:11 +01:00
Jonne Haß
9e762fcc31 Use full references in API JSON schema
We load another schema, https://diaspora.github.io/diaspora_federation/schemas/federation_entities.json,
that has overlapping definitions, namely #/definitions/post. When the definition from that schema is accessed
first, the json-schema gem caches it and is not smart enough to give precedence to the definition
within the schema document that contains the reference. So for now we have to disambiguate the references
likes this
2020-02-02 18:03:51 +01:00
Jonne Haß
654b81b8f1 Explicitly select fragment from API JSON schema in specs
this should make them more strict and robust at the same time
2020-01-24 16:59:04 +01:00
Jonne Haß
35bfbc9c82 Return missing created_at field on reshares endpoint 2020-01-24 16:58:32 +01:00
Jonne Haß
0935451cd8 Return a default token_endpoint_auth_method when the client gives none in its OpenID Connect registration request
Since we announce it in the supported metadata, some clients expect to be told what to use and don't fallback to the spec standard of
client_secret_basic on their own.
2020-01-24 11:02:02 +01:00
Jonne Haß
8d690a9e33 undo changes in introduced by merge conflicts in the api branch 2020-01-21 23:56:01 +01:00
Jonne Haß
16b242fa0f Drop chat_enabled from aspects API 2020-01-21 23:35:01 +01:00
Jonne Haß
39c863ead9 Merge branch 'develop' into api 2020-01-21 23:35:01 +01:00
cmrd Senya
6b8cd5d390 API: accept name parameter instead of first name and last name in user patch 2020-01-21 23:34:43 +01:00
cmrd Senya
9e18b19d6a API: render name instead of first_name and last_name in user data 2020-01-21 23:34:43 +01:00
Jonne Haß
d08b31f2ed OpenID: remove private profile data claims that are not returned anyway and fix return values for profile and picture 2020-01-21 23:34:43 +01:00
Jonne Haß
dad54db7f4 Return API pagination links as headers rather than in the response body itself 2020-01-21 23:34:43 +01:00
Jonne Haß
2f7acbe4b3 API: fix missing page parameter to integer conversion 2020-01-21 23:34:43 +01:00
Jonne Haß
07acfba488 Merge branch 'develop' into api 2020-01-21 23:34:43 +01:00
Jonne Haß
cb679371ac Merge branch 'develop' into api 2020-01-21 23:34:43 +01:00
Jonne Haß
16e754f4c7 API: don't return default avatar 2020-01-21 23:34:00 +01:00
Dennis Schubert
862fa38f8b
Remove the JSXC/Prosody integration.
As per discussion on https://discourse.diasporafoundation.org/t/removing-diaspora-s-current-chat-integration/2718, nobody raised serious concerns or objections. Given future plans, we do not think having an unfinished implementation of something that likely will not get finished in the current form is worth it. So let's get rid of it.
2019-10-18 23:14:14 +02:00
Jonne Haß
995f3394a8 Merge branch 'next-minor' into develop 2019-09-01 02:44:02 +02:00
Jonne Haß
6a7e937d90 Update open_graph_reader to 0.7.0
This should fix undefined method `og' for #<OpenGraphReader::Base:0x00007f73c53f2308 @bases={}>
for sites that have OpenGraph tags of other namespaces but no actual OpenGraph core tags
2019-09-01 02:42:11 +02:00
Benjamin Neff
e63fa7a398
Merge branch 'next-minor' into develop 2019-07-04 02:30:38 +02:00
Benjamin Neff
b42c9896bc
Migrate pending profile photos and fix upload to unpend profile photos
fixes #8043

closes #8044
2019-07-04 02:29:17 +02:00
Benjamin Neff
11caf4f86f
Merge pull request #8036 from theRealNG/develop
Do not show getting started after account import

fixes #8018
2019-07-03 13:33:22 +02:00
Benjamin Neff
a26e20ab7d
Merge branch 'next-minor' into develop 2019-07-03 13:25:49 +02:00
Benjamin Neff
df4e79b842
Cleanup pending photos which were never posted with cronjob
Only delete photos older than a day, so we don't delete photos for posts
which were uploaded 10 minutes ago and the author is still writing the
post for it.

closes #8041
2019-07-03 13:24:27 +02:00
NG
e3de008453 Do not show getting started after account import 2019-06-26 15:56:32 +05:30
Benjamin Neff
0f0b3edec2
Merge pull request #8020 from SuperTux88/dont-send-relayable-on-import
Don't relay others relayable on archive import
2019-05-25 20:04:14 +02:00
Jonne Haß
700e5588e0 Merge branch 'next-minor' into develop 2019-05-24 22:43:13 +02:00
Jonne Haß
1227f34b2a Pass normalized URI to OpenGraphReader
This ensures the hostname is downcase and thus subsequent third party library
assumptions hold, namely http-cookie (pulled through faraday-cookie_jar) doesn't
raise

closes #8021
2019-05-24 22:43:08 +02:00
Benjamin Neff
d5b7c6d779
Don't relay others relayable on archive import 2019-05-21 23:08:34 +02:00
Benjamin Neff
314239ff2a
Merge branch 'next-minor' into develop 2019-05-12 00:25:52 +02:00
flaburgan
4feab5219e
Use a partial to share code between mobile and desktop, add the new route to the RegistrationController, drop flash message for closed registrations 2019-05-12 00:25:36 +02:00
alebor-5
469983a623
Improve communication about signing up on closed pods
fixes #7767
2019-05-12 00:25:08 +02:00
Benjamin Neff
165b8f4f6e
Don't encrypt the OTP secret
It doesn't add any security to have this encrypted, but it adds
complexity for podmins, because they need to backup the key.

closes #8014
2019-05-12 00:06:28 +02:00
Benjamin Neff
d25d9f96f9
Merge branch 'next-minor' into develop 2019-04-30 22:52:00 +02:00
Benjamin Neff
54fd4846c0
Use password to disable 2FA instead of a token
Using token doesn't make much sense when you can generate new tokens
right below.

closes #8006
2019-04-30 22:51:51 +02:00
Benjamin Neff
d486fbce8c
Merge branch 'next-minor' into develop 2019-04-30 00:21:55 +02:00
Benjamin Neff
607659939d
Enable paranoid mode for devise
fixes #8001

closes #8003
2019-04-30 00:21:00 +02:00
lislis
9d5b981809 Two factor authentication (#7751) 2019-04-28 23:24:40 +02:00
lislis
1da118780e Two factor authentication (#7751) 2019-04-28 19:06:48 +02:00
Benjamin Neff
8372fb2240
Merge branch 'next-minor' into develop 2019-04-28 16:48:49 +02:00
Benjamin Neff
17af65e22c
Allow links with only the diaspora ID to link to a profile
closes #8000
2019-04-28 16:48:31 +02:00
Benjamin Neff
91aae4d755
Fix 500er when calling protocol handler with invalid URL 2019-04-28 16:44:29 +02:00
cmrd Senya
8b35356709 AccountMigration: fix flaky spec 2019-04-28 13:56:35 +03:00
Benjamin Neff
cf350c3e92
Merge pull request #7660 from cmrd-senya/archive-import-backend
Archive import backend implementation
2019-04-27 19:07:09 +02:00
cmrd Senya
3c94c1bd29 AuthorPrivateKeyValidator: support old serialization method of RSA keys 2019-04-27 19:17:54 +03:00
cmrd Senya
ee0c3e9865 Account import: add missing profile fields 2019-04-27 17:44:19 +03:00
Jonne Haß
214c2d7af7 Specs: Ensure photos always width and height 2019-04-27 16:05:35 +02:00
Jonne Haß
91b6a807c7 API: fix birthday format in responses 2019-04-27 16:05:22 +02:00
Jonne Haß
52e4e9f903 API: Update post location format to floats instead of floats as strings 2019-04-27 16:04:44 +02:00
Jonne Haß
af59bf3265 API: Do not return redundant author for photos 2019-04-27 16:03:55 +02:00
Jonne Haß
9b8f10358a Introduce JSON Schema for API responses and validate the responses against it 2019-04-27 16:01:54 +02:00
cmrd Senya
f7324adb9c Account import: import profile data too 2019-04-27 15:13:14 +03:00
cmrd Senya
bffe2b651c AccountMigration spec: flatten shared examples more 2019-04-26 20:58:28 +03:00
cmrd Senya
882e4f9868 AccountMigration specs: remove unused user shortcuts 2019-04-26 20:44:09 +03:00
cmrd Senya
597d9e0275 AccountMigration: support chained migration case 2019-04-26 20:29:26 +03:00
cmrd Senya
dd9ac758e8 AccountMigration integration specs: use single example instead of multiple to speed up the spec 2019-04-26 20:13:19 +03:00
cmrd Senya
f774c46db3 AccountMigration specs: move one-time shared contexts in place 2019-04-26 19:45:55 +03:00
cmrd Senya
6b88d2f4e0 AccountMigration specs: move 2-line shared context in place 2019-04-26 19:38:23 +03:00
Jonne Haß
99411fced7 Merge branch 'develop' into api 2019-04-26 17:54:08 +02:00
Benjamin Neff
4e22c4b211
Merge branch 'next-minor' into develop 2019-04-26 17:41:33 +02:00
cmrd Senya
f85f167f50 Implement archive import backend
This implements archive import feature.

The feature is divided in two main subfeatures: archive validation and archive import.

Archive validation performs different validation on input user archive. This can be
used without actually running import, e.g. when user wants to check the archive
before import from the frontend. Validators may add messages and modify the archive.

Validators are separated in two types: critical validators and non-critical validators.

If validations by critical validators fail it means we can't import archive.

If non-critical validations fail, we can import archive, but some warning messages
are rendered.

Also validators may change archive contents, e.g. when some entity can't be
imported it may be removed from the archive.

Validators' job is to take away complexity from the importer and perform the validations
which are not implemented in other parts of the system, e.g. DB validations or
diaspora_federation entity validations.

Archive importer then takes the modified archive from the validator and imports it.

In order to incapsulate high-level migration logic a MigrationService is
introduced. MigrationService links ArchiveValidator, ArchiveImporter and
AccountMigration.

Also here is introduced a rake task which may be used by podmins to run archive
import.
2019-04-26 18:41:27 +03:00
Jonne Haß
d443401361
Stabilize Diaspora::Federation::Entities.build.builds a comment with edited_at
closes #7994
2019-04-26 17:41:25 +02:00
Jonne Haß
a38a93523d
Stabilize Diaspora::Federation::Receive.comment.saves the signature data 2019-04-26 17:40:48 +02:00
Jonne Haß
e3c05b5620 Stabilize Diaspora::Federation::Receive.comment.saves the signature data 2019-04-26 15:56:09 +02:00
Jonne Haß
b1cc37e939 Avoid using sleep in the API specs 2019-04-26 13:40:43 +02:00
Jonne Haß
3f77507b15 make notifications controller spec stable 2019-04-26 12:26:26 +02:00
Dennis Schubert
97805e6602
Merge branch 'next-minor' into develop 2019-01-13 02:17:22 +01:00
Benjamin Neff
2894984f57
Fix order of posts on tags-stream for tags including 'activity'
closes #7959
2019-01-13 02:17:15 +01:00
Hank Grabowski
ce01946eb0 Fixed new pronto warnings after develop branch sync 2018-12-30 17:04:35 -05:00
Hank Grabowski
e127502be5 API Branch Final Cleanup Before PR 2018-12-30 22:33:04 +01:00
Hank Grabowski
9c730fc0f3 OpenID Scopes and Security updates 2018-12-30 22:33:04 +01:00
Hank Grabowski
a53495c9aa API Paging library and used in appropriate controllers with full tests 2018-12-30 22:33:04 +01:00
Hank Grabowski
16bf5d8130 Add Poll Voting Method to Interactions Endpoint 2018-12-30 22:33:04 +01:00
Hank Grabowski
02cf6a9eb2 Photos API Endpoint and unit tests complete 2018-12-30 22:33:04 +01:00
Hank Grabowski
7dba616e4e Search API Endpoint and unit test complete 2018-12-30 22:33:04 +01:00
Hank Grabowski
2f432eb560 Users Controller and unit tests complete 2018-12-30 22:33:04 +01:00
Hank Grabowski
09c13fdf67 Notifications API Endpoint and unit test complete 2018-12-30 22:33:04 +01:00
Hank Grabowski
803abba5c1 Interactions API endpoint complete with full tests 2018-12-30 22:33:04 +01:00
HankG
0f4789a5cb Contacts API Feature complete with full tests 2018-12-30 22:33:04 +01:00
Hank Grabowski
7ae36de2cf Tags API Endpoint complete with full tests 2018-12-30 22:33:04 +01:00
Hank Grabowski
db7fe69ce4 Aspects API Endpoint complete with full tests 2018-12-30 22:31:33 +01:00
Hank Grabowski
173461ac3d Reshares API Endpoint complete with full unit tests 2018-12-30 22:31:33 +01:00
Hank Grabowski
45c8277f2f Conversations API Test Removed 'convo' Abbreviations 2018-12-30 22:31:33 +01:00
HankG
4923338bcf Conversations API Endpoint Feature complete with full tests 2018-12-30 22:31:33 +01:00
HankG
48b1428c57 Streams Controller API feature complete and fully tested 2018-12-30 22:31:33 +01:00
Hank Grabowski
bb2261b47d Posts API Endpoint feature complete with full unit tests 2018-12-30 22:31:33 +01:00
Hank Grabowski
f64a8e04ed Comments API Endpoint complete with full unit tests 2018-12-30 22:31:33 +01:00
Hank Grabowski
7ee9565a04 Likes API endpoint complete 2018-12-30 22:31:33 +01:00
Frank Rousseau
758c673f68 Fix post controller test 2018-12-30 22:31:33 +01:00
Frank Rousseau
5326ddf6c3 Adapt error formatting to documentation 2018-12-30 22:31:33 +01:00
Frank Rousseau
f8969ddfeb Make Post API match specs
https://diaspora.github.io/api-documentation/routes/posts.html
2018-12-30 22:31:33 +01:00
Frank Rousseau
ec47fc67ab Make the comment API match the API specs 2018-12-30 22:31:33 +01:00
Frank Rousseau
ffd5f575bc Make API likes controller match specs 2018-12-30 22:31:33 +01:00
Frank Rousseau
f6b57384e7 Changes to use V1 API version instead of V0 2018-12-30 22:31:33 +01:00
Frank Rousseau
b4dc13f1ce Fix code styles 2018-12-30 22:31:33 +01:00
Frank Rousseau
064beb6f4e Adapt API tests to recent changes 2018-12-30 22:31:33 +01:00
Frank Rousseau
72a3b92b50 Make syntax compliant with the pronto configuration 2018-12-30 22:31:33 +01:00
Frank Rousseau
2a8c0ddd51 Follow official specs 2018-12-30 22:31:33 +01:00
Frank Rousseau
13e2841f13 Merge conv deletion and visibility deletion 2018-12-30 22:31:33 +01:00
Frank Rousseau
f9e0dee2dc Make messages API conformed with docs 2018-12-30 22:31:33 +01:00
Frank Rousseau
5040363f7a Make conversation API data format ok with docs
* Base the API requesting on GUID instead of ID
* Include read field
* Do not include messages in conversation results
2018-12-30 22:31:33 +01:00
Frank Rousseau
2be3e9eaf3 Fix styles for some API controllers
* Comments
* Likes
* Streams
2018-12-30 22:31:33 +01:00
Frank Rousseau
fa53656b3b Add conversation visibilities API controller 2018-12-30 22:31:33 +01:00
Frank Rousseau
f8ba88408b Add messages API controller 2018-12-30 22:31:33 +01:00
Frank Rousseau
559f370116 Add conversations API controller 2018-12-30 22:31:33 +01:00
Frank Rousseau
b37c14ce0e Add service for conversations 2018-12-30 22:31:33 +01:00
Frank Rousseau
c45b785370 Add conversation presenter 2018-12-30 22:31:33 +01:00
theworldbright
6cad0a965a Add likes API route 2018-12-30 22:31:33 +01:00
theworldbright
41750e38da Add streams API routes 2018-12-30 22:31:33 +01:00
theworldbright
c9ba1ee197 Combine Comment index with Post show API route 2018-12-30 22:31:33 +01:00
theworldbright
47dd44ff39 Add comments API routes 2018-12-30 22:31:33 +01:00
theworldbright
552d3efb29 Add posts API routes 2018-12-30 22:31:33 +01:00
Benjamin Neff
b30c4e4e97
Merge branch 'next-minor' into develop 2018-11-17 21:08:23 +01:00
Benjamin Neff
6fb1e1f524
Bump jwt 2018-11-17 21:05:42 +01:00
Benjamin Neff
de5e22a543
Bump faraday 2018-11-17 21:04:37 +01:00
Benjamin Neff
652b0064e6
Merge branch 'next-minor' into develop 2018-11-08 20:58:35 +01:00
Benjamin Neff
25a9f5d5d7
Merge branch 'master' into next-minor 2018-11-08 20:58:22 +01:00
Benjamin Neff
32cd764786
Fix XSS via OpenGraph on mobile 2018-11-08 20:41:50 +01:00