Commit graph

2636 commits

Author SHA1 Message Date
Dennis Schubert
4685df634c
Make Person.search_query_string public.
Accessibility of private/protected class methods in :scope is deprecated and will be removed in Rails 6.0.
2020-02-11 23:53:14 +01:00
Dennis Schubert
25e9728fae
Do not depend on the default parameter being set in Person#initialize.
ActiveRecord 5.2.x occasionally calls with a nil parameter explicitly provided, so using default arguments does not work.
2020-02-11 23:53:14 +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ß
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ß
3abf6b6f41 return required client_secret_expires_at in openid connect dynamic registration response 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
c348a763cf API: add profile:read_private scope 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ß
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
Benjamin Neff
034d78e3e4
Remove commentable functionality from photos
This is not (and as far as I know, was never) used. If we want to make
standalone photos commentable, we can always add it back, but it would
also need to change federation for it to work, because comments support
only posts there. But for now it makes the code cleaner and easier to
remove it.
2019-07-02 01:58:54 +02:00
Benjamin Neff
6f14f1b850
Merge branch 'next-minor' into develop 2019-06-17 01:20:42 +02:00
Benjamin Neff
ef31ea6b96
Enable remember me for all forms
fixes #8023
2019-06-17 01:12:42 +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
314239ff2a
Merge branch 'next-minor' into develop 2019-05-12 00:25:52 +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
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
cmrd Senya
597d9e0275 AccountMigration: support chained migration case 2019-04-26 20:29:26 +03:00
Jonne Haß
99411fced7 Merge branch 'develop' into api 2019-04-26 17:54:08 +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
flaburgan
6804132c15
Do not autofollow back a user you are ignoring
fixes #7808

closes #7913
2019-01-06 22:02:10 +01:00
Hank Grabowski
ce01946eb0 Fixed new pronto warnings after develop branch sync 2018-12-30 17:04:35 -05: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
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
173461ac3d Reshares API Endpoint complete with full unit tests 2018-12-30 22:31:33 +01:00
Benjamin Neff
98d165c0c5
Bump acts-as-taggable-on 2018-11-17 21:04:37 +01:00
flaburgan
e33466de89
Display raw images in gallery
closes #7890
2018-11-08 05:08:04 +01:00
Zachary Rabinovich
c4fed4bbcc
Add the ability to assign roles in the admin panel
closes #7868
2018-10-14 06:03:06 +02:00
Benjamin Neff
fc6893d4fc
Remove facebook integration
Facebook removed the API and facebook integration is broken now, so lets
remove it.

closes #7874
2018-10-08 02:50:25 +02:00
Benjamin Neff
08e108d3d8
Fix comment notification subject for posts without text
Fixes #7854
2018-09-05 03:17:58 +02:00
cmrd Senya
6f812a5b8f
Add LinksController
LinksController redirects requests for provided diaspora:// links to
respective entities urls.
2018-07-11 01:24:28 +02:00
cmrd Senya
2e0b382699
Use 'post' prefix for status message route helpers
This is required to make url_for(StatusMessage.new) work
2018-07-11 01:24:28 +02:00
HankG
5a8bdc1e71
Facebook plugin always appends (via D* post URL) to cross-posts
fixes #7770

closes #7774
2018-06-20 00:47:12 +02:00
cmrd Senya
87968284ba
Support fetching StatusMessage by Poll guid
When public fetch is requested with Poll guid, return parent
StatusMessage for it, which includes the Poll in its turn.

closes #7815
2018-06-16 04:36:05 +02:00
cmrd Senya
a3378ae744
Account merging: handle duplicates for TagFollowing
I missed it in #7803

closes #7807
2018-05-16 00:54:16 +02:00
cmrd Senya
cb294fd3f4
Add completed_at to account_migrations
Use completed_at datetime field as an indication of a performed migration

closes #7805
2018-05-03 21:31:29 +02:00
cmrd Senya
8680b24a2e
Account merging support
Adds support for merging accounts with account migration by eliminating
duplicate data in favor of the target user's data.

closes #7803
2018-04-30 22:06:34 +02:00
HankG
211e5cd1bc
Bugfix 7714 twitter char overflow
closes #7791
2018-04-23 20:33:07 +02:00
Benjamin Neff
7d6623d069
Remove contacts page on profiles
closes #7769
2018-04-12 01:40:49 +02:00
Benjamin Neff
4fa92c1823
Remove flag for contacts visible to each other
This feature only worked on the same pod and was more confusing than
useful.
2018-04-12 01:39:11 +02:00
Benjamin Neff
4e5ee36675
Keep order of profile tags
closes #7724
2018-02-27 00:48:42 +01:00
Benjamin Neff
beeb073dbe
Fix followed tags posts in stream for posts with multiple tags
When there were posts with many followed tags they were returned
multiple times, resulting in less than 15 unique posts. That resulted in
some posts to be missed in the stream.

Fixes #4503

closes #7715
2018-02-25 04:35:49 +01:00
Benjamin Neff
c89b2ad809
Prevent duplicate mention notifications when the post is received twice
closes #7721
2018-02-22 00:49:21 +01:00
Benjamin Neff
b9787cc632
Start sending the blocking flag 2018-02-01 23:35:35 +01:00
Benjamin Neff
815cf121ab
Remove participants limit for conversations
The limit was added in 2012 to prevent spam, but since the participants
need to be a mutual contact with the author nowadays, I don't think it's
a spam problem anymore.
2018-02-01 23:35:35 +01:00
Brad Koehn
1a3c16eb6e
update to support 280 character Twitter
closes #7694
closes #7662
fixes #7661
2018-01-09 00:05:33 +01:00
Janakas
0347507b20
Delete archive files when closing an account
closes #7684
2018-01-08 21:15:41 +01:00
Rete2
fc33a2ac5d
Create birthday notification and mailer
closes #7624

fixes #1649
2017-12-18 04:34:35 +01:00
Benjamin Neff
70410d1691
Ignore invalid diaspora:// links
Fixes #7651

closes #7652
2017-10-27 02:26:52 +02:00
cmrd Senya
2e9c6f46dc
Clean up invalid contacts from the DB
Cleans invalid contacts where the referenced user was deleted from the DB or where
the referenced person owner was deleted from the DB.

closes #7632
2017-10-17 01:39:22 +02:00
cmrd Senya
ad025850ce
Forbid user destruction 2017-10-17 01:38:36 +02:00
cmrd Senya
973e9d98c6
Raise sensible error message when user is missing
That's for the case when podmin has messed up the database
2017-10-17 01:38:36 +02:00
cmrd Senya
f212b51f7f
Check for user existence on aspect membership destruction 2017-10-17 01:38:36 +02:00
Benjamin Neff
32067246df
Delete people with invalid diaspora IDs (friendica with path)
closes #7630
2017-10-17 01:23:47 +02:00
Benjamin Neff
4a994b0a48
Creates references for linked posts after create 2017-09-28 23:04:34 +02:00
Benjamin Neff
c82e891c03
Add reference source and target behaviour 2017-09-28 23:04:34 +02:00
Benjamin Neff
28d3271933
Create refereces model 2017-09-28 23:04:34 +02:00
cmrd Senya
9ee9dbe969
Fix local migration run without old private key
It was possible to run migration locally without providing old private
key. This way migration was performed but not dispatched, which obviously
leads to desynchronization of the federation state so let's validate sender
before performing any actual actions.

closes #7558
2017-09-26 04:06:16 +02:00
Benjamin Neff
655fe2a912
Cleanup invalid polls without status message
closes #7614
2017-09-18 03:24:52 +02:00
Benjamin Neff
9556790480
Fix Person.find_by_substring with frozen strings 2017-09-17 19:29:16 +02:00
Benjamin Neff
723be461cf
Fix Services::Tumblr#tumblr_template with frozen strings 2017-09-17 19:29:16 +02:00
Benjamin Neff
e82690963d
Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
Steffen van Bergerem
9d2763089d
Replace where...first with find_by
Fixes #7539

closes #7593
2017-08-29 02:11:17 +02:00
Benjamin Neff
04035c3eb7
Allow to receive reshares without root
closes #7590
2017-08-29 02:06:08 +02:00
Benjamin Neff
163ffdb19b
Allow multiple reshares without root
Follow-up for #7578

Fixes #7587
2017-08-29 02:05:43 +02:00
Rete2
b556ad5211
show users vote in poll
closes #7550
2017-08-26 03:16:05 +02:00
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
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
245ad9e04d
Remove diaspora_handle from AccountDeletions and add unique index 2017-08-13 19:43:04 +02:00
Benjamin Neff
b61536ff06
Remove unused formatted_birthday from profile model 2017-08-12 15:39:24 +02:00
Benjamin Neff
4f5b1dd845
Fix creating share visibilities
Validation fails because there is no user set.
2017-08-12 15:39:22 +02:00
Benjamin Neff
4bbc51bfb9
Remove return in scope block
Return in scope fails with `LocalJumpError: unexpected return`
2017-08-12 15:39:22 +02:00
Benjamin Neff
6e4c5bae29
Replace attribute_changed? with new methods 2017-08-12 15:39:21 +02:00
Benjamin Neff
d0b634852b
Fix belongs_to, it is now required by default 2017-08-12 15:39:20 +02:00
Benjamin Neff
eb19c327e2
Add ApplicationRecord 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
cmrd Senya
c985af1f85
New Exporter::OthersRelayables class
This class implements methods that allow to query relayables (comments, likes, participations,
poll_participations) of other people for posts of the given person.
2017-08-09 18:09:04 +03:00
cmrd Senya
fca6121c6a
Exporter::PostsWithActivity class
This class allows to query posts where a person made any activity (submitted comments,
likes, participations or poll participations).
2017-08-09 18:09:04 +03:00
flaburgan
9a27983313 Refactor name condition to a cleaner code, delegate :full_name from profile to person to user 2017-08-07 19:08:17 +02: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
cmrd Senya
c2b9b8ab54
Use ContactRetraction for stop sharing with someone 2017-07-03 03:14:42 +02:00
Benjamin Neff
07e9bf8be8
Remove old unused salmon method 2017-07-03 03:14:40 +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
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
Benjamin Neff
d9b02418b6
Merge branch 'next-minor' into develop 2017-03-27 00:04:53 +02:00
Steffen van Bergerem
4a944c5ab4
Use small avatar in the person json
closes #7376
2017-03-27 00:02:10 +02:00
Steffen van Bergerem
7eb3dabb44
i18n for color themes 2017-03-16 12:25:41 +01:00