Commit graph

1633 commits

Author SHA1 Message Date
Benjamin Neff
b040f85790
Remove root_guid from reshares when post is deleted
And cleanup old reshares with deleted root posts

closes #7578
2017-08-26 03:08:37 +02:00
Benjamin Neff
17949ffb4e
Match parameter with match_array to fix order mismatch
closes #7546
2017-08-17 03:27:46 +02:00
cmrd Senya
45619cb153
Account migration model and message support
This commit introduces support for AccountMigration federation message
receive. It covers the cases when the new home pod for a user is remote
respective to the recepient pod of the message. It also allows to initiate
migration locally by a podmin from the rails console. This will give the
pods a possibility to understand the account migration event on the
federation level and thus future version which will implement migration
will be backward compatible with the pods starting from this commit.
2017-08-15 01:32:34 +03:00
Benjamin Neff
172f80bcae
Handle unexpected errors while exporting userdata or photos
Otherwise the export stays soft-locked and the podmin needs to reset it
manually.

Fixes #6225
2017-08-14 00:36:52 +02:00
Benjamin Neff
7ffd7878d0
Use person for AccountDeleter
Also remove `disconnect_contacts` methods, because contacts are already
removed with aspects memberships in `before_destroy`.
2017-08-13 20:10:07 +02:00
Benjamin Neff
62cb1f99ce
Get current time before the test to be safer on MySQL 2017-08-12 15:39:27 +02:00
Benjamin Neff
f4136d4559
Fix post spec
* don't use `double` for queries
* use `second` instead of `at()`.
2017-08-12 15:39:25 +02:00
Benjamin Neff
29ab4d8242
Fix querying spec, remove (Post) 2017-08-12 15:39:25 +02:00
Benjamin Neff
63e342e6c4
Use aspect_ids for visible_shareables 2017-08-12 15:39:25 +02:00
Benjamin Neff
d62772f9c0
Replace Fixnum with Integer 2017-08-12 15:39:25 +02:00
Benjamin Neff
b61536ff06
Remove unused formatted_birthday from profile model 2017-08-12 15:39:24 +02:00
Benjamin Neff
77951c4657
Fix user removal spec 2017-08-12 15:39:24 +02:00
Benjamin Neff
7c9590a27c
Use .reload instead of (true) in specs
Or remove it where not needed
2017-08-12 15:39:23 +02:00
Benjamin Neff
d0b634852b
Fix belongs_to, it is now required by default 2017-08-12 15:39:20 +02:00
cmrd Senya
9bcdc90cfd
Fix Person.in_aspects scope multiple return
Fix Person.in_aspects scope to return each person only once when the
person is in multiple aspects.
2017-08-10 09:36:34 +03:00
cmrd Senya
7374661e2f
Update the user data export archive format.
This commit introduces changes to the user data export archive format.
This extends data set which is included in the archive. This data can be
then imported to other pods when this feature is implemented.

Also the commit adds the archive format json schema. ATM it is used in
automatic tests only, but in future it will also be used to validate
incoming archives.
2017-08-10 09:36:26 +03:00
cmrd Senya
2c3f116326
Add new scopes for the Post model 2017-08-09 21:43:37 +03:00
Benjamin Neff
f9476409c8
Send public profiles publicly
this will help big profiles, and the informations are public anyway, so no
need to encrypt them.

fixes #3164
2017-07-23 02:36:22 +02:00
Benjamin Neff
31e85f32ac
Bump carrierwave 2017-07-22 23:43:07 +02:00
Benjamin Neff
4f9e560ab3
Use RFC 7033 webfinger from diaspora_federation gem 2017-07-03 03:14:41 +02:00
Benjamin Neff
b6b0aac969
Send only Retractions
Related to diaspora/diaspora_federation#27
2017-07-02 23:56:00 +02:00
Benjamin Neff
e907b3eb18
Send Contact entity for start/stop sharing
Related to diaspora/diaspora_federation#32
2017-07-02 23:56:00 +02:00
Benjamin Neff
95def40c55
Make Message entity non-relayable
Related to #36
2017-07-02 23:56:00 +02:00
Benjamin Neff
78c7156e72
Replace FactoryGirl with Fabricate for federation factories 2017-07-02 23:55:59 +02:00
Benjamin Neff
ee05cc8270
Merge branch 'next-minor' into develop 2017-05-13 02:09:25 +02:00
Mahonri Gibson
942e090b3a
Fix welcome message crashing server if podmin is set to invalid user.
Fixes #7363

closes #7452
2017-05-13 02:08:51 +02:00
Benjamin Neff
f4f0e724c6
Merge branch 'next-minor' into develop 2017-05-11 04:24:29 +02:00
Benjamin Neff
02b4d3f347
Don't raise when the public key of a person is "broken"
Breaking a public key of a person can be used to "block" receiving posts
from this person on the pod. So we should handle that case better and
not just trigger many retries for something that will fail again.

closes #7448
2017-05-11 04:24:13 +02:00
Steffen van Bergerem
6fce2810e5
Merge pull request #7331 from SuperTux88/fix-mentioned-in-comments-notifications
Fix mentioned in comments notifications
2017-03-05 20:07:25 +01:00
Benjamin Neff
509f429cc8
Move 'distinct' to 'allowed_to_be_mentioned_in_a_comment_to' 2017-03-05 17:59:28 +01:00
cmrd Senya
1fb6040344
new PostController#mentionable_in_comment action 2017-01-13 04:47:50 +02:00
cmrd Senya
33ad411bbd
Mentions in comments backend changes 2016-11-28 15:56:56 +02:00
cmrd Senya
0ee34f8590
Remove the photo comment spec
This functionality is not something we support and it doesn't look
it will be reintroduced soon.

see discussion https://github.com/diaspora/diaspora/pull/6818#discussion_r70227392
2016-11-28 15:35:36 +02:00
Justin Ramos
fa71af71c1 require spec_helper in .rspec
closes #7223
2016-11-27 21:27:12 +01:00
Benjamin Neff
57c0330535
Schedule a connection-check when receiving a message from an offline pod
closes #7158
2016-11-06 02:40:05 +01:00
Benjamin Neff
d421e42ddb
Remove ability to authenticate with auth_token on the frontend
Remove devise-token_authenticatable gem and only generate a token to be
used by the chat.
2016-10-28 00:36:14 +02:00
cmrd Senya
a80806ca58
Fix ID token issuer field to match discovery data
OpenID Connect spec says:

"The issuer returned by discovery MUST exactly match the value of iss in the ID Token."

https://openid.net/specs/openid-connect-core-1_0.html#IssuerIdentifier

closes #7081
2016-10-27 02:22:27 +02:00
hilkoc
b7791e6c9d Add user setting for default post visibility
fixes #4319

closes #7118
2016-10-26 02:48:11 +02:00
Benjamin Neff
fe5811bb65
Don't federate to pods that are offline for more than two weeks
Also fix a case where offline_since can be nil.

fixes #6220

closes #7120
2016-09-25 03:20:41 +02:00
Benjamin Neff
3f2586bc6f
Create share visibilities for photos attached to a private post
Also fixed the "fix public photos"-migration, because it didn't work
with migration-models :/

fixes #6177
2016-09-20 04:24:37 +02:00
Benjamin Neff
c5ebea5bda
Fix randomly failing interacted_at spec
also remove some unnecessary Timecop.return

closes #7060
2016-09-05 22:44:52 +02:00
Benjamin Neff
50e7314535
Cleanup invalid unconfirmed emails
Also remove confirm_email_token when unconfirmed_email is removed.

Fixes #7048

closes #7051
2016-09-04 21:40:27 +02:00
Steffen van Bergerem
4d51c02432 Add OpenGraph video support
closes #7043
2016-09-04 03:55:09 +02:00
Benjamin Neff
4fea926057
Only update interacted_at on new comments
I got feedback from many users, that they don't understand how the "my
activity" stream is sorted, because they have posts on the top, but
don't see why. The user doesn't see if a like was added, and it is also
not imported for the user to see the post again then. And we have
notifications if someone likes a users own posts, so no need to move it on
top of the "my activity" stream here too.

closes #7030
2016-09-04 03:29:59 +02:00
Steffen van Bergerem
806de7e9d8
Exclude closed accounts from search
closes #7042
2016-09-04 03:22:58 +02:00
Benjamin Neff
c6427c4ec0 don't add the root author to the subscribers if the root post was deleted 2016-08-18 23:34:58 +02:00
Steffen van Bergerem
8dc011cfb1
Remove specs about services swallowing exceptions 2016-08-18 20:30:17 +02:00
Jonne Haß
148e85558a
Merge pull request #7001 from svbergerem/fix-conversation-recipient-suggestions
Fix conversations autoSuggest showing non-mutual contacts
2016-08-18 13:36:27 +02:00
Steffen van Bergerem
7b5ac656a7
Fix conversations autoSuggest showing non-mutual contacts 2016-08-18 13:02:14 +02:00
Benjamin Neff
fb318373c7 only create mentions after creating statusmessages 2016-08-17 02:26:58 +02:00
Benjamin Neff
0d338b6f79 don't create notifications if the notification-actor is ignored
Also move "shareable hidden"-logic to AlsoCommented, because it is the
only one that needs it. And write some specs for mentioned and started
sharing notifications.

Fixes #6294
2016-08-14 17:03:49 +02:00
Benjamin Neff
f4459488e5 allow other people to share with a user who ignores them
otherwise we have data-inconsistency if the user stops ignoring the
person.
2016-08-14 01:08:26 +02:00
Benjamin Neff
66b7b7e27a Cleanup legacy invitations from code
Fixes #5116
2016-08-13 01:47:27 +02:00
cmrd Senya
4ae26e1ded Upgrade devise to 4.2 2016-08-11 12:25:36 +03:00
Steffen van Bergerem
f1e9c99866
Add contacts search 2016-08-09 19:20:40 +02:00
Steffen van Bergerem
73ce521bb3
Modify search to include contacts 2016-08-09 15:12:44 +02:00
Benjamin Neff
d3edbfd829 remove pending flag from posts 2016-08-08 19:37:10 +02:00
Benjamin Neff
89b068e474 write some more tests 2016-08-08 18:56:37 +02:00
Benjamin Neff
5aa52b36af better error message if we webfinger a person with invalid guid
this happens if a remote person changed the diaspora-id manually (renamed
domain or something) in their database.
2016-07-31 23:05:53 +02:00
Benjamin Neff
2cd831f94e also validate remote posts
all data is included in the federated status_message, so we can validate
on receive. add the photos to the status_message before save.
2016-07-17 01:40:00 +02:00
Benjamin Neff
df9874b73a remove raw_message
This was only an alias for "text", and "raw_message" is also not used
for federation anymore, so we can drop it.
2016-07-17 01:40:00 +02:00
Jonne Haß
8cffc5cfbe
bump rails to 4.2.7 2016-07-15 13:48:09 +02:00
Jonne Haß
053f69b67c
Merge pull request #6902 from svbergerem/status-message-filter-mentions
Filter mentions on status message creation
2016-07-06 22:27:13 +02:00
aoh0x7DE
d75f795cad Fix issue #6847 (#6905)
* Fix issue #6847
2016-07-06 01:57:23 +02:00
Steffen van Bergerem
46cbc6e52a
Filter mentions on status message creation 2016-07-04 10:26:45 +02:00
Jonne Haß
09908a45fb
StatusMessage#raw_message returns empty string for NULL values
Previously the federation layer has written the empty string to the
database, now it writes nil/no value to it while our code still expects
the empty string in some cases. Restore the old assumption by returning
the empty string, the real raw value by now is available again in
StatusMessage#text for those that need it, such as validations or tests.
2016-06-27 12:07:11 +02:00
Benjamin Neff
ab2118ffa5 don't participate own posts 2016-06-26 06:21:03 +02:00
Benjamin Neff
bb0d7e46dc add #object_to_receive to Diaspora::Federated::Base 2016-06-26 06:21:02 +02:00
Benjamin Neff
1cf11db634 remove diaspora_handle setter to set author 2016-06-26 06:21:02 +02:00
Benjamin Neff
5e16b9c7cd add author to subscribers of public shareables to ensure local delivery 2016-06-26 06:21:02 +02:00
Benjamin Neff
709ad6e909 Participation is not relayable anymore
only deliver to parent author
2016-06-26 06:21:02 +02:00
Benjamin Neff
cf5a72719e participates root author when receiving a reshare 2016-06-26 06:21:02 +02:00
Benjamin Neff
9fa3cc97d4 deliver message always to all participants
message doesn't include Diaspora::Relayable anymore
2016-06-26 06:21:02 +02:00
Benjamin Neff
b39f3ccc74 relay relayables after receive
also refactored relayable specs to use `let`
2016-06-26 06:21:02 +02:00
Benjamin Neff
91c6c74ca0 retract relayables if the author is ignored by the parent author 2016-06-26 06:21:02 +02:00
Benjamin Neff
0f6e0b7288 send the profile to remote persons on start shareing with them 2016-06-26 06:21:02 +02:00
Benjamin Neff
57dbcc0e67 add root author to reshare subscribers 2016-06-26 06:21:02 +02:00
Benjamin Neff
03123f1c4d remove more unused code and cleanup 2016-06-26 06:21:01 +02:00
Benjamin Neff
2476b74dbe refactoring delete from services 2016-06-26 06:21:01 +02:00
Benjamin Neff
0e6446d05f create ShareVisibilities with batch import
and delete old batch worker and receiver
2016-06-26 06:21:01 +02:00
Benjamin Neff
ae05d4e928 use Diaspora::Federation::Dispatcher everywhere 2016-06-26 06:21:01 +02:00
Benjamin Neff
fa5a35ed4a remove xml specs 2016-06-26 06:21:01 +02:00
Benjamin Neff
7893a23927 add resharers and participants to subscribers on public posts 2016-06-26 06:21:01 +02:00
Benjamin Neff
566f4890a2 merge Federated::Shareable to Shareable
also drop xml-code for Shareable
2016-06-26 06:21:01 +02:00
Benjamin Neff
7f11beae37 dispatch retractions 2016-06-26 06:21:00 +02:00
Benjamin Neff
65ba573a3b Contact retraction 2016-06-26 06:21:00 +02:00
Benjamin Neff
9ce9b4bcd0 deliver profile update with new dispatcher 2016-06-26 06:21:00 +02:00
Benjamin Neff
7184d4334e remove after_dispatch hook
handle photos in StatusMessageCreationService
2016-06-26 06:21:00 +02:00
Benjamin Neff
20dabbd15f remove user parameter from subscribers method 2016-06-26 06:21:00 +02:00
Benjamin Neff
f9f91a0e9e create new contact for local receive 2016-06-26 06:21:00 +02:00
Benjamin Neff
7bb172cefb remove old Private and Public Receiver 2016-06-26 06:21:00 +02:00
Benjamin Neff
102e2a0834 remove Request class and refactor Connecting 2016-06-26 06:20:59 +02:00
Benjamin Neff
d87756c4b7 move #add_contact_to_aspect from User-model to user_methods.rb 2016-06-26 06:20:59 +02:00
Benjamin Neff
6fbfc2bf96 write receive specs and delete old unused specs
also refactored receive methods
2016-06-26 06:20:59 +02:00
Benjamin Neff
58a5a881cf receive local
* Contact: auto-follow-back
* Shareable: create share visibilities
2016-06-26 06:20:59 +02:00
Benjamin Neff
4fb34139b0 cleanup notifications and fix tests 2016-06-26 06:20:59 +02:00
Benjamin Neff
ebfb0aa884 create NotificationService: send notifications after receive 2016-06-26 06:20:59 +02:00
Benjamin Neff
1790efad08 implement :update_pod callback 2016-06-26 06:20:58 +02:00
Benjamin Neff
4408efdff3 fetch public key for unknown person
and do some refactorings
2016-06-26 06:20:58 +02:00
Benjamin Neff
b1d30aa9cc add more "diaspora to federation entity" methods
move it to Diaspora::Federation::Entities and use it in some tests, but most of the tests can be removed later.
2016-06-26 06:20:58 +02:00