Commit graph

287 commits

Author SHA1 Message Date
cmrd Senya
7e2321d6c9 Introduce alternative form of the account migration message
In the alternative form author can be the new diaspora user
2017-12-27 18:37:49 +02:00
cmrd Senya
69e523abd0 Extract account migration sign feature to a module
This module can be used to compute account migration signature in other
objects besides Entities::AccountMigration. For instance this is to be
used in AccountMigration model of diaspora* web application.
2017-12-27 18:37:48 +02:00
Benjamin Neff
142950c99e
Merge pull request #84 from SuperTux88/reshare-remove-public-flag
Reshare remove public flag
2017-09-23 01:38:11 +02:00
Senya
181d11d2f5 Merge pull request #87 from SuperTux88/fetch-only-once
Don't fetch the same entity twice in the same thread
2017-09-23 02:25:53 +03:00
Benjamin Neff
8535cfc1df
Don't fetch the same entity twice in the same thread 2017-09-23 01:19:10 +02:00
Senya
0b358a6c44 Merge pull request #81 from SuperTux88/relay-likes-for-comments
Relay likes for comments
2017-09-23 00:33:11 +03:00
Benjamin Neff
61c00b3596
Use top parent when relaying relayables of relayables 2017-09-22 21:30:09 +02:00
Benjamin Neff
b25e21f980
Add method to get the top entity to RelatedEntity 2017-09-22 21:30:09 +02:00
Senya
cddb4610c0 Merge pull request #79 from SuperTux88/validate-public-flag-for-profiles
Allow to receive non-public profiles without private data
2017-09-22 14:11:58 +03:00
Benjamin Neff
5bf0087e0a
Bump rubocop
... and update the config and code for the new version.
2017-09-16 03:23:41 +02:00
Dennis Schubert
f9b24b15f8
Disallow diaspora* IDs longer than 255 characters 2017-09-13 12:35:08 +02:00
Dennis Schubert
4f87ab1582
Add tests for not validating uppercase characters 2017-09-13 11:51:34 +02:00
Benjamin Neff
b6ec405e55
Add author to the diaspora:// URL parser 2017-09-12 23:46:42 +02:00
Benjamin Neff
e663a65c7e
Remove not_nil for diaspora IDs from validators
The diaspora ID validator now is not nil by default.

Also:
* mark root_author as optional for reshares.
* make author for profiles mandatory (I don't remember why this was
optional, we never generate a profile without author and we wouldn't
receive a profile without author anyway, because we validate that the
author is the sender).
* refactor validator specs for diaspora IDs
2017-09-12 23:11:05 +02:00
Benjamin Neff
5e3f510a88
Refactor diaspora ID regex to be used in diaspora:// URL regex 2017-09-12 23:11:05 +02:00
Benjamin Neff
35efeb8345
Move public flag from status_message to post
This represents the current state of the documentation.
2017-09-12 00:45:59 +02:00
Benjamin Neff
b1b511b6f7
Remove public and provider_display_name from reshare entity
Also don't extend from Post module anymore to represent the future state
of a reshare as it's own type only used to increase the reach of a post.

See #83
2017-09-12 00:13:21 +02:00
Benjamin Neff
834d358eca
Allow to receive non-public profiles without private data 2017-09-11 21:38:46 +02:00
cmrd Senya
0b07b36017
Merge pull request #74 from SuperTux88/parse-rfc-7033-webfinger
Parse RFC 7033 webfinger
2017-09-10 16:30:38 +03:00
Benjamin Neff
f24dd528ee
Add option for RFC 7033 WebFinger http fallback 2017-09-10 03:08:13 +02:00
Benjamin Neff
3e7e649025
Fetch RFC 7033 WebFinger with fallback to legacy WebFinger 2017-09-10 03:08:12 +02:00
Benjamin Neff
6852f9ca36
Add support to parse RFC 7033 WebFinger JSON
Also:
* Fix date format when generating JRD document
* Sort elements always with the same order
2017-09-05 22:56:22 +02:00
Benjamin Neff
add5e16abf
Fetch linked entities from received entities with text 2017-09-04 23:48:31 +02:00
Benjamin Neff
0b927290e3
Add DiasporaUrlParser to extract diaspora:// URLs from texts 2017-09-04 23:48:31 +02:00
Benjamin Neff
faf48e1dd4
Extract allowed chars for GUIDs to constant
Also: disallow special chars at the end of a GUID
2017-09-04 23:48:29 +02:00
Benjamin Neff
b2eda1d812
Remove nilable parameter from guid rule and use OptionalAwareValidator 2017-09-03 20:10:25 +02:00
Benjamin Neff
860aec96b9
Make height and width optional for photos 2017-09-03 20:10:24 +02:00
Benjamin Neff
6f936caddf
Add abstract OptionalAwareValidator class
This improves validation of optional fields and respects the `optional`
option of properties
2017-09-03 20:10:24 +02:00
Benjamin Neff
458d0f2215
Always raise a DiscoveryError when something with the discovery fails 2017-09-01 01:51:36 +02:00
cmrd Senya
69996319e1
Minor change PhotoValidator#status_message_guid spec
Use new "a nilable guid validator" shared behavior
2017-08-25 10:41:22 +03:00
cmrd Senya
5b12afebed
Allow reshares with no root 2017-08-25 10:33:16 +03:00
Benjamin Neff
8efb368a96
Merge pull request #71 from SuperTux88/optional-properties
Don't add optional properties to generated XML and JSON when nil
2017-08-07 23:18:56 +02:00
Benjamin Neff
93e18e1a79
Add DiasporaFederation::Schemas to access JSON schema 2017-08-01 20:17:55 +02:00
Benjamin Neff
bb40d6190d
Only add optional nil values to relayable XML when needed for signature order 2017-07-30 00:32:54 +02:00
Benjamin Neff
f5ff4a71e6
Only add optional properties to generated XML and JSON when not nil 2017-07-30 00:32:54 +02:00
Benjamin Neff
af7b6485ac
Mark properties as optional 2017-07-30 00:32:54 +02:00
Benjamin Neff
e26a86c173
Switch PercentLiteralDelimiters to new default
Let's change that to the new rubocop default, which is also the
suggestion in the ruby style guide.

See https://github.com/bbatsov/ruby-style-guide#percent-literal-braces

This was changed in diaspora too, see diaspora/diaspora#7466

It also includes the changes in the code. This was done with
`rubocop --auto-correct` and no we have zero offenses again.
2017-06-30 02:23:44 +02:00
cmrd Senya
5730b88296 Merge pull request #67 from SuperTux88/comments-created_at
Add created_at to comment
2017-06-20 15:59:35 +03:00
Benjamin Neff
c0ea38d258
Improve logging when validation fails
Add guid and author to error messages if available.
2017-06-11 16:01:04 +02:00
Benjamin Neff
5b22d04626
Add created_at to comment
Fixes diaspora/diaspora#4269
2017-06-05 23:58:08 +02:00
Benjamin Neff
0a770918b2
Bump rubocop 2017-06-04 02:35:21 +02:00
Benjamin Neff
92ce4eacf8
Validate the author of the root post for a reshare 2017-06-04 01:44:46 +02:00
Benjamin Neff
8e43c2716d
Add test for RelatedEntity#to_json 2017-06-04 01:39:17 +02:00
Benjamin Neff
c92624d926
Create RelatedEntity.fetch method 2017-06-04 01:36:25 +02:00
Benjamin Neff
a05c6fe6d1
Remove parent_author_signature from json 2017-06-02 01:12:01 +02:00
Benjamin Neff
57edc8baab
Don't check the author_signature when the author is the parent author
The signature from the Magic Envelope is enough for that scenario,
because it's all from the same person.
2017-06-02 01:12:01 +02:00
Benjamin Neff
6817579072
Don't check parent_author_signature for relayables
This isn't needed, but we need to check if the sender of the Magic
Envelope is the parent author (so we have a valid signature from the
parent author there).
2017-06-02 01:12:00 +02:00
Benjamin Neff
6e51ae536b
Replace legacy webfinger with new route from .well-known 2017-05-29 00:43:39 +02:00
Benjamin Neff
ea00874c93
Add JSON support to WebFinger 2017-05-23 02:13:45 +02:00
Benjamin Neff
51f73b86fc
Merge pull request #62 from SuperTux88/protocol-next-step
Next step for the new protocol
2017-05-12 03:40:58 +02:00