Eugen Rochko
09147186b7
Fix regression where CW is focused on reply ( #7811 )
2018-06-15 19:49:32 +02:00
Eugen Rochko
53f0452b70
Remove rack-timeout ( #7809 )
...
Timeout considered harmful due to leaving the app in a broken
state, including unreaped database connections
2018-06-15 19:46:25 +02:00
Eugen Rochko
ca85658975
Add autofollow option to invites ( #7805 )
...
* Add autofollow option to invites
* Trigger CodeClimate rebuild
2018-06-15 18:00:23 +02:00
Eugen Rochko
33dd9bf36d
Fix vertical alignment of navigation bar ( #7807 )
2018-06-15 18:00:03 +02:00
Eugen Rochko
c3b3594305
Remove placeholder text for media-only toots ( #7806 )
...
Ref: cfa9b6e13a
This breaks compatibility with pre-2.3.0 Mastodon and older
software, but at the time of writing the network is >80% above
that version.
Compatibility broken only for toots with no text.
2018-06-15 15:51:51 +02:00
Eugen Rochko
1cc775200e
Add "find friends", "invite people", and more to getting started footer ( #7803 )
...
- Find friends from Twitter (bridge)
- Invite people (when invites enabled)
- Security (change e-mail/password)
- Developers (create OAuth apps/tokens)
2018-06-15 15:51:37 +02:00
Eugen Rochko
0979d4275a
Bump version to 2.4.1
2018-06-10 17:20:56 +02:00
Eugen Rochko
35ae960122
Bump version to 2.4.1rc4
2018-06-10 00:39:56 +02:00
Eugen Rochko
10f51c9886
Fix domain hiding logic ( #7765 )
...
* Send rejections to followers when user hides domain they're on
* Use account domain blocks for "authorized followers" action
Replace soft-blocking (block & unblock) behaviour with follow rejection
* Split sync and async work of account domain blocking
Do not create domain block when removing followers by domain, that
is probably unexpected from the user's perspective.
* Adjust confirmation message for domain block
* yarn manage:translations
2018-06-09 22:46:54 +02:00
Eugen Rochko
17dc07f667
Fix has_one association on Web::PushSubscription ( #7767 )
...
* Fix has_one association on Web::PushSubscription
* Fix code style issues
2018-06-09 21:11:14 +02:00
Eugen Rochko
a043f8d277
Ensure emoji-mart dependency is updated ( #7771 )
...
Regression from 85470ec since version string was not updated
2018-06-09 21:10:53 +02:00
Eugen Rochko
18e1de6a16
Migrate old web push subscriptions to ensure deliveries ( #7764 )
2018-06-09 13:33:04 +02:00
Eugen Rochko
6ba7d9d0d9
Do not accept ActivityPub follow requests from blocked user ( #7756 )
...
* Do not accept ActivityPub follow requests from blocked user
Fix #7745
* Deliver auto-rejection immediately when follow-requested by blocked account
* Fix trailing whitespace
2018-06-08 00:14:06 +02:00
Eugen Rochko
9b9e96eae5
Add "Edit profile" link to public profile page, increase bottom padding ( #7754 )
2018-06-07 22:40:55 +02:00
Eugen Rochko
158cd7ee74
Bump version to 2.4.1rc3
2018-06-06 21:27:06 +02:00
Eugen Rochko
59b42188a7
Filter out blocked/muted people from profile timelines ( #7747 )
...
Fix #7741
2018-06-06 21:13:30 +02:00
Eugen Rochko
c75493755f
Preserve newlines in delete & redraft and desktop notifications ( #7750 )
...
Fix #7748
2018-06-06 20:49:53 +02:00
Eugen Rochko
fab65fb7e5
Bump version to 2.4.1rc2
2018-06-05 11:53:30 +00:00
Eugen Rochko
bd0791d800
Add redraft function ( #7735 )
...
* Add redraft function
Fix #7010
* Add explicit confirmation
* Add explicit confirmation message
2018-06-05 00:17:38 +02:00
Eugen Rochko
1bbe81030c
Display numbers in account header using shortNumberFormat for consistency ( #7723 )
2018-06-04 05:15:50 +02:00
Eugen Rochko
c7405fda11
Fix missing column in select in mastodon:feeds:build task ( #7720 )
2018-06-04 04:21:15 +02:00
Eugen Rochko
e18390cfe6
Fix bug in order of conversations in web UI ( #7721 )
2018-06-04 04:19:16 +02:00
Eugen Rochko
6b2f4f8c09
"Show" instead of "return to" after (remote)-following ( #7718 )
...
Resolve #6326
2018-06-04 03:00:36 +02:00
Eugen Rochko
0deb9fa6b9
Remove trending hashtags ( #7711 )
...
* Delete trends_controller.rb
* Update routes.rb
* Update trending_tags.rb
* Update index.js
* Update index.js
* Update search_results.js
* Update async-components.js
* Update index.js
* Delete trends.js
* Delete trends.js
* Delete trends_container.js
* Delete trends.js
* Update search_results.js
* Update search_results_container.js
2018-06-04 02:18:18 +02:00
Eugen Rochko
6e6c0e9613
Use different algorithm for trending tags ( #7697 )
2018-06-01 19:19:44 +02:00
Eugen Rochko
8d6e4e0485
Fix margin between compose warning, reply indicator and textarea ( #7701 )
2018-06-01 19:19:30 +02:00
Eugen Rochko
73c0c36e7b
Improve trends layout ( #7700 )
...
* Allow collapsing trends, responsively hide trends
* Add trends column
2018-06-01 19:18:37 +02:00
Eugen Rochko
fb1ae0152d
Wrong exception class: ActiveRecord::RecordNotUnique, not PG::UniqueViolation ( #7688 )
...
* Wrong exception class: ActiveRecord::RecordNotUnique, not PG::UniqueViolation
It's completely not obvious but PG::UniqueViolation is just a string inside the exception message, not the actual class of the exception
* Favourite does not have target_account_id
2018-05-31 17:22:33 +02:00
Eugen Rochko
19b4c666f7
Improve account index migration ( #7684 )
...
* Improve account index migration
- Display more progress in stdout
- Catch PG::UniqueViolation when re-attributing favourites
- Skip callbacks and validations when re-attributing other relationships
* Use in_batches to reduce table lock-up during account merge
* Use #say_with_time to benchmark each deduplication
2018-05-31 17:09:09 +02:00
Eugen Rochko
1e938b966e
Exclude unlisted, private and direct toots from affecting trends ( #7686 )
2018-05-31 16:47:28 +02:00
Eugen Rochko
0ce5339a7b
Make the refresh trends button refresh trends ( #7685 )
2018-05-31 16:46:02 +02:00
Eugen Rochko
c61c4565ab
Fix nil error in migration ( #7680 )
...
Under rare circumstances the user record could have already been deleted before...
2018-05-31 02:30:37 +02:00
Eugen Rochko
ad40bf5e0c
Speed up some rake tasks by moving execution to Sidekiq ( #7678 )
...
* Speed up some rake tasks by moving execution to Sidekiq
mastodon:media:remove_silenced
mastodon:media:remove_remote
mastodon:media:redownload_avatars
mastodon:feeds:build
* Fix code style issue
2018-05-30 21:09:30 +02:00
Eugen Rochko
a29f196f95
Bump version to 2.4.1rc1
2018-05-30 19:16:41 +02:00
Eugen Rochko
3623aea6c9
Redirect / to home on mobile layout, to getting started on desktop ( #7677 )
2018-05-30 18:42:06 +02:00
Eugen Rochko
1a7a74ff76
Improve getting started column ( #7676 )
...
* Adjust footer of getting started column
- Improved style
- Moved hotkeys, about this instance and logout to footer
- Removed FAQ, User Guide, Apps links
- Use hamburger icon for the column
* Add edit profile action button to profile and more to dropdown
* Add "Trending now" to getting started column
* Add preferences/security links on mobile layout
2018-05-30 18:41:47 +02:00
Eugen Rochko
a16e06bbf5
Deduplicate accounts and make unique username/domain index case-insensitive ( #7658 )
...
Fix #6937
Fix #6837
Fix #6667
2018-05-30 02:51:26 +02:00
Eugen Rochko
a7d726c383
Improve counter caches on Status and Account ( #7644 )
...
Do not touch statuses_count on accounts table when mass-destroying
statuses to reduce load when removing accounts, same for
reblogs_count and favourites_count
Do not count statuses with direct visibility in statuses_count
Fix #828
2018-05-30 02:50:23 +02:00
Eugen Rochko
461542784b
Reduce wasted work in RemoveStatusService due to inactive followers ( #7672 )
2018-05-29 22:55:33 +02:00
Eugen Rochko
8bb74e50be
Add GET /api/v2/search which returns rich tag objects, adjust web UI ( #7661 )
2018-05-29 02:01:24 +02:00
Eugen Rochko
90b64c0069
Always display tab navigation on local/federated timeline even when empty ( #7663 )
...
Fix #7659
2018-05-29 02:01:04 +02:00
Eugen Rochko
e599d7caf2
Rescue Mastodon::DimensionsValidationError in Remoteable ( #7662 )
...
Fix #7660
2018-05-29 08:39:02 +09:00
Eugen Rochko
04a2cf8bcc
Fix incomplete flex style on trends items ( #7655 )
2018-05-28 19:12:53 +02:00
Eugen Rochko
ab36e0ef72
Record trending tags from ActivityPub, too ( #7647 )
2018-05-28 12:21:04 +09:00
Eugen Rochko
dfbadd6837
Replace recursion in status mapStateToProps ( #7645 )
2018-05-28 02:42:06 +02:00
Eugen Rochko
9bd23dc4e5
Track trending tags ( #7638 )
...
* Track trending tags
- Half-life of 1 day
- Historical usage in daily buckets (last 7 days stored)
- GET /api/v1/trends
Fix #271
* Add trends to web UI
* Don't render compose form on search route, adjust search results header
* Disqualify tag from trends if it's in disallowed hashtags setting
* Count distinct accounts using tag, ignore silenced accounts
2018-05-27 21:45:30 +02:00
Eugen Rochko
63c7b91572
Validate that e-mail resolves with MX and it's not blacklisted ( #7631 )
...
Original patch by @j-a4
2018-05-27 11:58:08 +09:00
Eugen Rochko
182bdbc5f4
Don't use Object.assign with Notification, only display actions for mentions ( #7632 )
...
Fix #7627
2018-05-27 11:55:19 +09:00
Eugen Rochko
ebf2fef029
Catch ActionController::UnknownFormat and return HTTP 406 ( #7621 )
...
An error like that should not appear in production error log.
2018-05-26 01:09:30 +02:00
Eugen Rochko
d87649db07
Disable AMS logging ( #7623 )
...
Especially in production it's just noise and doesn't mix well with the log format
2018-05-26 01:08:31 +02:00
Eugen Rochko
4d81809f36
Yeah, it was supposed to be #create?
2018-05-22 20:05:24 +02:00
Eugen Rochko
7745a22ec7
Bump version to 2.4.0
2018-05-22 19:39:35 +02:00
Eugen Rochko
f8cf85db3b
Remove pointer to light theme until it is more polished ( #7594 )
2018-05-22 19:38:37 +02:00
Eugen Rochko
1a564df586
Do not encode HTML entities in initial Web Push payload body ( #7592 )
2018-05-22 18:12:45 +02:00
Eugen Rochko
36e47a31e3
Enforce order on authorized applications page ( #7587 )
...
Fix #7586
2018-05-22 14:44:53 +02:00
Eugen Rochko
5ea643b279
Save onlyMedia prop when pinning column ( #7575 )
2018-05-21 17:49:10 +02:00
Eugen Rochko
40ef46dbef
Display only domain of report account if remote under comment ( #7574 )
2018-05-21 17:33:20 +02:00
Eugen Rochko
292c987522
Bump version to 2.4.0rc5
2018-05-21 16:05:31 +02:00
Eugen Rochko
22e067bf5c
Use real container width in MediaGallery srcSet ( #7571 )
...
Fix #7568
2018-05-21 16:04:01 +02:00
Eugen Rochko
32d4372381
Use #any? instead of #exists? when checking media attachments ( #7570 )
...
If media_attachments are not loaded, SQL query is the same, but
the #exists? method performs SQL query even if preloaded
2018-05-21 16:01:16 +02:00
Eugen Rochko
e583f110c3
Unescape HTML entities in rich web push notifications in web UI ( #7569 )
2018-05-21 16:00:56 +02:00
Eugen Rochko
05f8c375a2
Remove small pagination limit from context API ( #7564 )
...
Fix #7557
2018-05-21 12:43:05 +02:00
Eugen Rochko
9ada532809
Convert rich push notifications to plaintext in webapp ( #7563 )
...
* Convert rich push notifications to plaintext in webapp
* Fix code style issues
2018-05-21 03:35:37 +02:00
Eugen Rochko
779eb07d75
Improve default background of public profile header ( #7556 )
...
Looks better when no header image is set
2018-05-20 13:09:28 +02:00
Eugen Rochko
8378b72eba
Ensure push subscription is immediately removed when application is revoked ( #7548 )
...
* Ensure push subscription is immediately removed when application is revoked
* When token is revoked from app, unsubscribe too
2018-05-19 21:05:08 +02:00
Eugen Rochko
bcbb6aa46f
Bump version to 2.4.0rc4
2018-05-19 18:38:10 +02:00
Eugen Rochko
1bbe12254d
Improve direct message warning again ( #7546 )
2018-05-19 18:37:33 +02:00
Eugen Rochko
93c66f0c03
In footer, replace text "Mastodon" with logo ( #7545 )
2018-05-19 16:10:55 +02:00
Eugen Rochko
4b94e9c65e
Improve payload format of Web Push API now that it's open ( #7521 )
...
> Good lord what is happening in there
Previously the contents of the Web Push API payloads closely resembled the structure of JavaScript's [Notification](https://developer.mozilla.org/en-US/docs/Web/API/Notification ). But now that the API is open to non-browser apps, and given that there is no required coupling between contents of the payload and a Notification object, here is how I changed the payload:
```json
{
"access_token": "...",
"preferred_locale": "en",
"notification_id": "12345",
"notification_type": "follow",
"title": "So and so followed you",
"body": "This is my bio",
"icon": "https://example.com/avatar.png "
}
```
The title, body and icon attributes are included as a fallback so you can construct a minimal notification if you cannot perform a network request to the API to get more data.
2018-05-19 14:46:47 +02:00
Eugen Rochko
7871d29aff
Skip pagination logic for pinned account timelines in reducer ( #7540 )
...
Fix #7516
2018-05-19 02:51:29 +02:00
Eugen Rochko
97f02f2c08
Do not raise delivery failure on 4xx errors, increase stoplight threshold ( #7541 )
...
* Do not raise delivery failure on 4xx errors, increase stoplight threshold
Stoplight failure threshold from 3 to 10
Status code 429 will raise a failure/get retried
* Oops
2018-05-19 00:23:19 +02:00
Eugen Rochko
9422b3e0d8
Fix double-encoding of display name in title and e-mails ( #7534 )
2018-05-18 15:56:57 +02:00
Eugen Rochko
57b503d4ef
Resolve unknown status from Add activity, skip Remove if unknown ( #7526 )
...
Fix #7518
2018-05-18 11:33:56 +02:00
Eugen Rochko
dafd7afc5e
Use randomized setTimeout when fallback-polling and re-add since_id ( #7522 )
2018-05-18 02:32:35 +02:00
Eugen Rochko
1e02dc8715
Add preference to hide following/followers lists ( #7532 )
...
* Add preference to hide following/followers lists
- Public pages
- ActivityPub collections (does not return pages but does give total)
- REST API (unless it's your own) (does not federate)
Fix #6901
* Add preference
* Add delegation
* Fix issue
* Fix issue
2018-05-18 02:26:51 +02:00
Eugen Rochko
7293b9fc61
Ensure unfilled fields are shown when errors are shown ( #7523 )
...
Fix #7486
2018-05-17 13:00:56 +02:00
Eugen Rochko
dfb6907e08
HTTP signatures spec no longer requires algorithms field ( #7525 )
...
Fix #7520
2018-05-17 04:03:28 +02:00
Eugen Rochko
2b97451168
Fix images resized in browser getting cropped ( #7514 )
...
Fix #7487
2018-05-16 16:24:16 +02:00
Eugen Rochko
8756fd1e82
Bump version to 2.4.0rc3
2018-05-14 17:46:44 +02:00
Eugen Rochko
d75b63e4fb
Bump version to 2.4.0rc2
2018-05-14 14:49:38 +02:00
Eugen Rochko
416f644505
Fix 404 for GET /api/v1/push/subscription ( #7472 )
...
My bad...
2018-05-13 21:45:18 +02:00
Eugen Rochko
97e43ec5f0
Add GET /api/v1/push/subscription REST API ( #7471 )
...
* Add Api::V1::Push::SubscriptionsController#show
* Add to routes
2018-05-13 21:07:31 +02:00
Eugen Rochko
f31e58af9e
Fix nil error in StatusFilter ( #7470 )
...
Fix #7462
2018-05-13 20:26:30 +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
Eugen Rochko
6208ea5a53
If an OStatus message contains nsfw hashtag, mark it as sensitive ( #7398 )
...
* If an OStatus message contains nsfw hashtag, mark it as sensitive
Undo parts of #7048
* Put nsfw hashtag on OStatus messages if they have any media
* Fix code style issues
2018-05-07 14:49:13 +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
d185f3ddaf
Use plaintext value for field value tooltips in web UI ( #7388 )
...
Fix #7383
2018-05-07 09:30:38 +02:00
Eugen Rochko
95595ccd21
Add Corsican localization ( #7390 )
...
* Added Corsican localization
* Declaring Corsican localization
* Fixed activerecord locale
* Added a missing translation and switched to French-style apostrophes
* Fixed a (predictable) mistake made while bulk-replacing apostrophes
* More fixing
* i18n-tasks normalize
2018-05-07 01:34:19 +02:00
Eugen Rochko
50ed1e83ac
Bump version to 2.4.0rc1 ( #7283 )
2018-05-06 11:50:00 +02:00
Eugen Rochko
61a9018607
Enable custom emojis in profiles (notes, field values, display names) ( #7374 )
...
Follow-up to #6124
2018-05-06 11:48:51 +02:00
Eugen Rochko
39efc6d533
Add hint about 7 day cooldown for archive takeout ( #7375 )
2018-05-06 10:53:10 +02:00
Eugen Rochko
b611dbac79
Add contact e-mail hint to 2FA login form ( #7376 )
2018-05-06 10:52:36 +02:00
Eugen Rochko
2f63d52b92
Fallback to old on-the-fly URI for follows/blocks if no stored URI ( #7371 )
...
Fix #7367
2018-05-05 23:07:51 +02:00
Eugen Rochko
c7d1a2e400
Improve admin UI for accounts ( #7360 )
...
* Improve design of account statuses admin UI (consistent with reports)
* Make account moderation notes look consistent with report notes
* i18n-tasks remove-unused
* Fix code style issues
* Fix tests
2018-05-05 23:06:29 +02:00
Eugen Rochko
660db468c0
Do not count search route as compose being mounted in web UI ( #7372 )
...
Fix #7144
2018-05-05 23:05:43 +02:00
Eugen Rochko
8da4bf0f90
4 profile fields max, store only 255 characters per name/value ( #7348 )
...
Fix #7303
2018-05-05 21:11:19 +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
2ef9d65052
Improve rendering of bio fields ( #7353 )
...
Fix #7335
2018-05-05 00:55:09 +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