Thibaut Girka
78ac246b87
Merge branch 'master' into glitch-soc/merge-upstream
...
Conflicts:
Gemfile
Solved conflicts by using upstream's line for posix-spawn
2018-05-16 21:52:38 +02:00
Akihiko Odaki
55fd55714a
Raise Mastodon::RaceConditionError if Redis lock failed ( #7511 )
...
An explicit error allows user agents to know the error and Sidekiq to
retry.
2018-05-16 12:29:45 +02:00
unarist
d47091eb97
Fix custom emoji handling in UpdateRemoteProfileService (OStatus) ( #7501 )
...
This patch fixes NoMethodError and others in RemoteProfileUpdateWorker.
2018-05-15 16:03:34 +02:00
Wiktor
7fe2993b87
Fix account URI when updating ActivityPub account ( #7488 )
...
Updates account `uri` field on each call to `update_account` instead of
only once during `create_account` to mirror the same behavior in OStatus
`ResolveAccountService` class [0].
ActivityPub accounts are identified using `@username` and `@domain` pair
instead of URI since #6842 .
This fixes #7479 : a bug when the account identified by `@username` and
`@domain` changes its URI.
[0]:
https://github.com/tootsuite/mastodon/blob/03b69ebc450efc07246bd64204276941b7ede3fc/app/services/resolve_account_service.rb#L121
2018-05-14 22:56:45 +02:00
Thibaut Girka
ba7ee67498
Merge branch 'master' into glitch-soc/merge
2018-05-14 20:51:50 +02:00
abcang
3793e598d0
Call media.present? because media may be nil ( #7474 )
2018-05-14 12:51:53 +02:00
ThibG
7467361d70
Fetch boosted statuses on behalf of a follower ( fixes #7426 ) ( #7459 )
...
When an ActivityPub Announce is processed and the boosted toot is not known,
fetch it on behalf of one of the booster's followers. This is to allow
fetching self-boosts of previously-unknown private toots.
If fetching on behalf of a user fails, try fetching it anonymously: the
selected follower of a boosting user may be banned by the boosted toot's
author.
2018-05-12 16:48:32 +02:00
Thibaut Girka
45fce0e496
Merge branch 'master' into glitch-soc/merge
...
Conflicts:
app/controllers/invites_controller.rb
app/serializers/initial_state_serializer.rb
config/locales/ko.yml
2018-05-11 18:12:42 +02:00
Eugen Rochko
b4fb766b23
Add REST API for Web Push Notifications subscriptions ( #7445 )
...
- POST /api/v1/push/subscription
- PUT /api/v1/push/subscription
- DELETE /api/v1/push/subscription
- New OAuth scope: "push" (required for the above methods)
2018-05-11 11:49:12 +02:00
Thibaut Girka
1c9c0167b7
Merge branch 'master' into glitch-soc/master
...
Conflicts:
app/models/account.rb
app/views/accounts/_header.html.haml
2018-05-10 00:03:28 +02:00
Yamagishi Kazutoshi
d2ee48977c
Rescue Mastodon::LengthValidationError in FetchLinkCardService ( #7424 )
2018-05-09 08:39:08 +02:00
Surinna Curtis
01dfd6dbc8
Take the first recognized actor_type. ( #7410 )
2018-05-08 13:30:04 +02:00
ThibG
993e68a7dd
Fix hashtags not being federated on mentions ( fixes #6900 ) ( #7406 )
2018-05-08 03:36:59 +02:00
Eugen Rochko
42cd363542
Bot nameplates ( #7391 )
...
* Store actor type in database
* Add bot nameplate to web UI, add setting to preferences, API, AP
Fix #7365
* Fix code style issues
2018-05-07 09:31:07 +02:00
Eugen Rochko
0f0cc3f2eb
Support explicitly supplying language code for status via REST API ( #7389 )
2018-05-07 09:30:53 +02:00
Eugen Rochko
c947e2e4c5
Fix handling of malformed ActivityPub payloads when URIs are nil ( #7370 )
...
* Fix handling of malformed ActivityPub payloads when URIs are nil
* Gracefully handle JSON-LD canonicalization failures
2018-05-05 18:22:34 +02:00
Eugen Rochko
c73ce7b695
Store home feeds for 7 days instead of 14 ( #7354 )
...
* Store home feeds for 7 days instead of 14
Reduces workload for status fan-out to active followers
* Fix test for user model
2018-05-05 00:54:24 +02:00
David Yip
c816701550
Merge remote-tracking branch 'origin/master' into gs-master
...
Conflicts:
.travis.yml
Gemfile.lock
README.md
app/controllers/settings/follower_domains_controller.rb
app/controllers/statuses_controller.rb
app/javascript/mastodon/locales/ja.json
app/lib/feed_manager.rb
app/models/media_attachment.rb
app/models/mute.rb
app/models/status.rb
app/services/mute_service.rb
app/views/home/index.html.haml
app/views/stream_entries/_simple_status.html.haml
config/locales/ca.yml
config/locales/en.yml
config/locales/es.yml
config/locales/fr.yml
config/locales/nl.yml
config/locales/pl.yml
config/locales/pt-BR.yml
config/themes.yml
2018-05-03 17:23:44 -05:00
Eugen Rochko
658cbc9425
Improve PostStatusService performance ( #7317 )
...
Offload creation of local notifications to a worker. Remove two
redundant SQL queries from ProcessMentionsService, remove n+1
XML/JSON serialization via memoization
2018-05-02 22:10:57 +02:00
Eugen Rochko
cb5b5cb5f7
Slightly reduce RAM usage ( #7301 )
...
* No need to re-require sidekiq plugins, they are required via Gemfile
* Add derailed_benchmarks tool, no need to require TTY gems in Gemfile
* Replace ruby-oembed with FetchOEmbedService
Reduce startup by 45382 allocated objects
* Remove preloaded JSON-LD in favour of caching HTTP responses
Reduce boot RAM by about 6 MiB
* Fix tests
* Fix test suite by stubbing out JSON-LD contexts
2018-05-02 18:58:48 +02:00
abcang
71a7cea73f
Keep notification when muting_notifications is true ( #7311 )
...
* Keep notification when muting_notifications is true
* Retrun mute object
* Fix test
2018-05-02 16:14:51 +02:00
Eugen Rochko
f62539ce5c
Remove most behaviour disparities between blocks and mutes ( #7231 )
...
* Remove most behaviour disparities between blocks and mutes
The only differences between block and mute should be:
- Mutes can optionally NOT affect notifications
- Mutes should not be visible to the muted
Fix #7230
Fix #5713
* Do not allow boosting someone you blocked
Fix #7248
* Do not allow favouriting someone you blocked
* Fix nil error in StatusPolicy
2018-05-02 15:50:20 +02:00
Eugen Rochko
965345316f
Guard against nil URLs in Request class ( #7284 )
...
Fix #7265
2018-05-02 15:44:22 +02:00
Surinna Curtis
dc786c0cf4
Support Actors/Statuses with multiple types ( #7305 )
...
* Add equals_or_includes_any? helper in JsonLdHelper
* Support arrays in JSON-LD type fields for actors/tags/objects.
* Spec for resolving accounts with extension types
* Style tweaks for codeclimate
2018-05-02 12:40:24 +02:00
Emelia Smith
495303d9b8
Prevent suspended accounts from appearing in AccountSearchService ( #7246 )
2018-04-23 21:27:18 +02:00
Eugen Rochko
75c4ab9d12
Remove "nsfw" category for sensitive statuses in OStatus serializer ( #7048 )
...
Fix #7011
2018-04-22 22:09:03 +02:00
David Yip
16d5217502
Merge remote-tracking branch 'origin/master' into gs-master
...
Conflicts:
app/controllers/home_controller.rb
app/controllers/stream_entries_controller.rb
app/javascript/mastodon/locales/ja.json
app/javascript/mastodon/locales/pl.json
2018-04-18 18:48:12 -05:00
Eugen Rochko
ff87d1bc3e
Rescue SSL errors when processing mentions, remove useless line ( #7184 )
2018-04-19 00:53:31 +02:00
Kaito Sinclaire
156b916caf
Direct messages column ( #4514 )
...
* Added a timeline for Direct statuses
* Lists all Direct statuses you've sent and received
* Displayed in Getting Started
* Streaming server support for direct TL
* Changes to match other timelines in 2.0
2018-04-18 13:09:06 +02:00
ThibG
1c379b7ef4
Remove extra spaces from search API queries and public account headers ( fixes #7129 ) ( #7152 )
2018-04-16 17:19:04 +02:00
David Yip
813da6788e
Merge remote-tracking branch 'origin/master' into gs-master
...
Conflicts:
db/schema.rb
2018-04-14 09:12:50 -05:00
Eugen Rochko
78ed4ab75f
Add bio fields ( #6645 )
...
* Add bio fields
- Fix #3211
- Fix #232
- Fix #121
* Display bio fields in web UI
* Fix output of links and missing fields
* Federate bio fields over ActivityPub as PropertyValue
* Improve how the fields are stored, add to Edit profile form
* Add rel=me to links in fields
Fix #121
2018-04-14 12:41:08 +02:00
Jenkins
e3d0d72b29
Merge remote-tracking branch 'tootsuite/master' into glitchsoc/master
2018-04-14 09:17:23 +00:00
Eugen Rochko
778562c223
Ensure SynchronizeFeaturedCollectionWorker is unique and clean up ( #7043 )
...
* Ensure SynchronizeFeaturedCollectionWorker is unique and clean up
Fix #7041
* Fix code style issue
2018-04-13 01:27:22 +02:00
Jenkins
33c2bbdda7
Merge remote-tracking branch 'tootsuite/master' into glitchsoc/master
2018-04-11 00:50:09 +00:00
Renato "Lond" Cerqueira
0c52654b52
When creating status, if no sensitive status is given, use default ( #7057 )
...
Clients using the API that do not provide the sensitive flag are always
posting with false sensitive option.
2018-04-09 23:02:42 +02:00
Jenkins
6611100480
Merge remote-tracking branch 'tootsuite/master' into glitchsoc/master
2018-04-03 19:17:20 +00:00
Nolan Lawson
6ff3b3e4db
Fix nil account issue in ProcessAccountService ( #7019 )
2018-04-03 13:08:11 +02:00
David Yip
eb39db7f93
Merge remote-tracking branch 'origin/master' into gs-master
...
Conflicts:
app/javascript/mastodon/locales/en.json
app/javascript/mastodon/locales/ja.json
app/javascript/mastodon/locales/pl.json
app/views/accounts/_header.html.haml
2018-04-01 20:24:50 -05:00
Eugen Rochko
f890d2a766
Support all ActivityPub actor types ( #6997 )
...
Fix #6973
2018-04-02 02:10:53 +02:00
David Underwood
123a343d11
[WIP] Enable custom emoji on account pages and in the sidebar ( #6124 )
...
Federate custom emojis with accounts
2018-04-01 23:55:42 +02:00
Jenkins
f0bb3ff533
Merge remote-tracking branch 'tootsuite/master' into glitchsoc/master
2018-03-30 19:17:17 +00:00
ThibG
e573bb0990
Fix compatibility with PeerTube ( #6968 )
...
* Support fetching objects of convertible types by URL (fixes #6924 )
* Ignore invalid hashtags
2018-03-30 15:44:54 +02:00
David Yip
f61aa8e0f7
Merge remote-tracking branch 'origin/master' into gs-master
...
Conflicts:
app/javascript/styles/mastodon/components.scss
app/models/media_attachment.rb
2018-03-27 10:26:47 -05:00
Akihiko Odaki
40e5d2303b
Validate HTTP response length while receiving ( #6891 )
...
to_s method of HTTP::Response keeps blocking while it receives the whole
content, no matter how it is big. This means it may waste time to receive
unacceptably large files. It may also consume memory and disk in the
process. This solves the inefficency by checking response length while
receiving.
2018-03-26 14:02:10 +02:00
Jenkins
837b3804bf
Merge remote-tracking branch 'tootsuite/master' into glitchsoc/master
2018-03-25 15:17:21 +00:00
Akihiko Odaki
54b273bf99
Close http connection in perform method of Request class ( #6889 )
...
HTTP connections must be explicitly closed in many cases, and letting
perform method close connections makes its callers less redundant and
prevent them from forgetting to close connections.
2018-03-24 12:49:54 +01:00
Jenkins
e8aeec4fea
Merge remote-tracking branch 'tootsuite/master' into glitchsoc/master
2018-03-20 19:17:20 +00:00
Eugen Rochko
9381a7d9d5
Use username/domain to match existing accounts in ActivityPub ( #6842 )
...
See also: #6837 , #6667
2018-03-20 14:57:46 +01:00
Jenkins
9341b982b6
Merge remote-tracking branch 'tootsuite/master' into glitchsoc/master
2018-03-17 17:17:21 +00:00