Commit Graph

6690 Commits

Author SHA1 Message Date
ThibG
cac9110533 Cleanup various controllers (#10972)
* Remove skip_session! as it is not supported in Rails 5

* Minor cleanup in StreamEntriesController

* Remove redundant mark_cacheable! calls
2019-06-05 14:02:59 +02:00
ThibG
7fa23ec697 Fix potential private status leak (#10969) 2019-06-05 13:40:20 +02:00
ThibG
d34a3a2cc7 Fix refreshing featured toots when the new collection is empty (#10971)
Fixes #10945
2019-06-05 13:39:59 +02:00
ThibG
6c464cd424 Do not misattribute inlined boosts if attributedTo isn't present (#10967)
* Do not misattribute inlined boosts if `attributedTo` isn't present

Fixes #10950

* Fix tests
2019-06-04 23:24:31 +02:00
Eugen Rochko
ed19f33440
Fix margins on profile metadata in single column mode (#10961) 2019-06-04 23:11:57 +02:00
Eugen Rochko
6a9a759f40
Change reblogs counter to be updated when boosted privately (#10964) 2019-06-04 23:11:44 +02:00
Eugen Rochko
f2b743e715
Refactor all ActivityPub deliveries to be serialized and signed through one concern (#10966) 2019-06-04 23:11:18 +02:00
Thibaut Girka
02b56c7e1a Merge remote-tracking branch 'upstream/master' into glitch-soc/merge-upstream 2019-06-04 20:40:19 +02:00
Eugen Rochko
48fee1a800
Fix poll API not requiring authentication on non-public polls (#10960)
* Fix poll API not requiring authentication on non-public polls

That API does not reveal the content of the status, i.e. the question
itself, nor who the author is, nor which status it belongs to, but it
does reveal the poll options and how many answers they got

Fix #10959

* Add test
2019-06-04 20:10:26 +02:00
Eugen Rochko
6077eca240
Add profile directory link to single column navigation panel (#10963) 2019-06-04 19:50:38 +02:00
Jeong Arm
a1e96b2d8a Add missing Korean translations (#10962)
And change some word.
2019-06-04 18:00:09 +02:00
Jeong Arm
8eb7c3304e [Glitch] Fix profile picture preview
Port e13e4b28db to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-06-03 20:20:33 +02:00
ThibG
3a84bacf86 Handle blank poll options more gracefully (#10946)
Pleroma currently allows (erroneously imho) empty poll options, that is,
options with an empty (but existing) `name`.
2019-06-03 20:04:00 +02:00
Thibaut Girka
76918554a6 Merge remote-tracking branch 'upstream/master' into glitch-soc/merge-upstream
Conflicts:
- Gemfile.lock
- config/webpack/rules/css.js
- package.json
- yarn.lock
2019-06-03 14:54:30 +02:00
Jeong Arm
e13e4b28db Fix profile picture preview (#10931) 2019-06-02 18:04:41 +02:00
Lady Lumb
f9514b08f2 Added env variables for max image and video size.
I changed the IMAGE_LIMIT and VIDEO_LIMIT variables to read from the env, or use default if not set in the env, to make it easier to change this on an instance by instance basis and make it persistent across updates.
2019-06-02 14:38:13 +02:00
Thibaut Girka
5b92910664 Fix expanding status from menu modal in glitch-soc
Fixes #1085
2019-06-02 14:11:32 +02:00
Takeshi Umeda
d93b82af87 Improvement variable height in single column layout (#10917)
* Improvement variable height of compose and navigation panel in single column layout

* Fix wrong quotes and missing commas
2019-06-02 10:05:54 +02:00
Hanage999
7c1ca0c37b Center 2-columns layout without side effect (#10915) 2019-06-01 07:59:21 +03:00
Thibaut Girka
06036081a0 Merge branch 'master' into glitch-soc/merge-upstream 2019-05-30 13:31:01 +02:00
Thibaut Girka
6c0428b7d8 Raise exception when attempting to serialize local-only statuses 2019-05-30 09:04:12 +02:00
slice
22130a0947 Fix incorrect PropType in Glitch AutosuggestInput 2019-05-30 09:04:00 +02:00
slice
e04724296b Remove isRequired from Glitch ReplyIndicator status
This can be null under normal circumstances, which isRequired doesn't
like.
2019-05-30 09:04:00 +02:00
Eugen Rochko
8d9755e5f5
Change links in right panel to open in the same tab (#10848)
For Rambox compatibility
2019-05-29 17:33:35 +03:00
ThibG
3333250ede Fix React warning about legacy lifecycle calls and sensitive status resetting (#10872) 2019-05-29 17:33:15 +03:00
Takeshi Umeda
7f203f7c49 Fix safari post field display issue in single column layout (#10883) 2019-05-29 12:03:56 +03:00
Alix Rossi
33ec9c5095 i18n: Update Corsican front-end translation (#10884) 2019-05-29 17:57:08 +09:00
mayaeh
c6e1229a82 Update Japanese translations. (#10875)
run yarn manage:translations ja && i18n-tasks add-missing ja
2019-05-29 11:09:59 +09:00
Aditoo17
0c2ca1bd38 I18n: Update Czech translation (#10874) 2019-05-29 09:52:41 +09:00
Thibaut Girka
07d4ecfe5e Truncate long URLs while providing alt text for inline images 2019-05-28 19:33:43 +02:00
Thibaut Girka
18b77224d3 Translate incoming remote img tags by a link 2019-05-28 19:33:43 +02:00
Eugen Rochko
56d8faab18 [Glitch] Use <use /> to render transparent SVG logo instead of inserting it
Port SCSS changes from 8d5dcc9301 to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-05-28 17:50:21 +02:00
Thibaut Girka
3d73d76e55 Merge branch 'master' into glitch-soc/merge-upstream 2019-05-28 17:45:06 +02:00
ThibG
fe3b863926 Fix web push notifications for polls (#10864)
Fixes #10861
2019-05-28 00:26:08 +02:00
Eugen Rochko
451e5980b6
Refactor footers in web UI into a single component (#10846) 2019-05-27 21:58:41 +02:00
abcang
3593b85423 Display notifications count on a new single column (#10859) 2019-05-27 21:56:29 +02:00
Thibaut Girka
6d60701bfa Fix video player regressions introduced by blurhash merge 2019-05-27 19:43:15 +02:00
Thibaut Girka
b4d4138cf9 [Glitch] Add keyboard shortcut to hide/show media
Port a472190729 and 988342a56c to glitch-soc
2019-05-27 19:43:15 +02:00
Eugen Rochko
8d5dcc9301
Use <use /> to render transparent SVG logo instead of inserting it (#10845) 2019-05-27 03:33:39 +02:00
Takeshi Umeda
3b9c02506d Fix poll visibility on public pages (#10817)
* Fix poll visibility on public pages

* Revert "Fix poll visibility on public pages"

This reverts commit 54a9608add6f855bc6337fe3c65eaee7ba13db49.

* Revert "Change poll options to alphabetic letters when status text is hidden"

This reverts commit c53d67326201b2061990b1874a3547c3647f50d2.
2019-05-26 23:13:29 +02:00
Thibaut Girka
20d01a954e Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
- app/controllers/settings/preferences_controller.rb
- app/lib/user_settings_decorator.rb
- app/models/user.rb

Conflicts due to the addition of a new preference upstream,
“advanced layout”.
2019-05-26 15:41:40 +02:00
りんすき
fdb3952b20 [Glitch] Fix composer route opening when not needed
Port c1e77b56a9 to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-05-26 13:50:15 +02:00
Neil Moore
63483ee543 Create new click handler for status__expand area in status (#10837)
This click handler only activates on left-click, resolving #10798.
This matches behavior in status_content.js, as added in #536
2019-05-26 13:48:45 +02:00
Eugen Rochko
988342a56c
Fix null error in status component when determining showMedia state (#10838)
* Fix null error in status component when determining showMedia state

Also update the showMedia value if the status passed to the
component changes

* Refactor media visibility computation into a defaultMediaVisibility function

* Fix default media visibility with reblogs
2019-05-26 13:48:16 +02:00
Hanage999
4a818ac2de Fix wrong redirect from getting started to home in advanced Web UI (#10839)
* update Ruby to 2.5.3

* Link to Getting Started will not redirect to Home in multi-column UI (https://github.com/tootsuite/mastodon/pull/10835)
2019-05-26 12:22:33 +02:00
Eugen Rochko
0e445ebb13
Improvements to the single column layout (#10835)
* Improvements to the single column layout

- Add follows and followers link to the right panel
- Increase margins around separators in right panel
- Add follow requests link with counter when account is locked to right panel

* Redirect from getting started to home when navigation panel is visible
2019-05-26 02:55:37 +02:00
ThibG
a472190729 Add a keyboard shortcut to hide/show media (#10647)
* Move control of media visibility to parent component

* Add keyboard shortcut to toggle media visibility
2019-05-25 23:20:51 +02:00
Mélanie Chauvel (ariasuni)
4168aeb234 Avoid cutting bottom of letters of last paragraph of statuses (#10821) 2019-05-25 23:19:39 +02:00
Eugen Rochko
1e5532e693
Add responsive panels to the single-column layout (#10820)
* Add responsive panels to the single-column layout

* Fixes

* Fix not being able to save the preference

* Fix code style issues

* Set max-height on the compose textarea and add a link to relationship manager
2019-05-25 21:27:00 +02:00
Thibaut Girka
7fb76999af Use Sec-WebSocket-Protocol instead of query string to pass WebSocket token
Inspired by https://github.com/kubevirt/kubevirt/issues/1242
2019-05-24 16:08:09 +02:00
Thibaut Girka
652147a3f4 Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
- streaming/index.js
2019-05-24 15:23:52 +02:00
ThibG
d63c3c0cef Improve streaming server security (#10818)
* Check OAuth token scopes in the streaming API

* Use Sec-WebSocket-Protocol instead of query string to pass WebSocket token

Inspired by https://github.com/kubevirt/kubevirt/issues/1242
2019-05-24 15:21:42 +02:00
ThibG
72bf354e97
Merge pull request #1067 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
2019-05-23 22:01:34 +02:00
Thibaut Girka
d6a7d62dc6 Do not share a single Redcarpet::Markdown object across threads
There are apparently thread-safety issues: https://github.com/vmg/redcarpet/pull/672
2019-05-23 21:19:44 +02:00
Thibaut Girka
bf988123ba Merge branch 'master' into glitch-soc/merge-upstream 2019-05-23 21:18:27 +02:00
Eugen Rochko
84dc21d55d
Various improvements to single column layout (#10809)
- Add potential side panels to single column layout
- Hide FAB on large screens
2019-05-23 20:01:10 +02:00
ThibG
9a5561a5b8 Fix possible race condition when processing statuses (#10815) 2019-05-23 20:00:39 +02:00
nzws
a1143a19c0 [Glitch] Fix stacking order of emoji picker
Port 8a378d4c3d to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-05-23 19:16:42 +02:00
Thibaut Girka
c0dc247bce Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
- app/models/account.rb
- app/views/settings/profiles/show.html.haml
- spec/controllers/api/v1/accounts/credentials_controller_spec.rb

Conflicts were due to an increase in account bio length upstream, which
is already covered in glitch-soc through `MAX_BIO_CHARS`.
2019-05-23 19:01:30 +02:00
ThibG
89d600bedb Move signature verification stoplight to the requests themselves (#10813)
* Move signature verification stoplight to the requests themselves

This avoids blocking messages from known keys for 5 minutes when only one fails…

* Put the stoplight on the actual client IP, not a potential reverse proxy
2019-05-23 15:22:39 +02:00
ThibG
9efcca3c54 Retry ActivityPub inbox delivery on HTTP 401 and 408 errors (#10812)
HTTP 401 responses returned by Mastodon's inbox controller may
be temporary if, for instance, the requesting user's actor/key json
could not be retrieved in a timely fashion. This changes allow retries
instead of dropping the message entirely.

Also added HTTP 408 as that error is by nature temporary.
2019-05-23 15:00:30 +02:00
Thibaut Girka
0744d6e571 Make headers font size proportional 2019-05-23 12:41:38 +02:00
Thibaut Girka
7c609bdab9 Allow rel=tag in status text
Fixes tag links in local Markdown or HTML-authored statuses
2019-05-23 12:28:33 +02:00
Eugen Rochko
9ddeb30f90
Add forceSingleColumn prop to <UI /> (#10807)
* Move TabsBar rendering logic from CSS to the ColumnsArea component

* Add forceSingleColumn mode

* Add unread notifications counter to tabs bar

* Add toggle to control `forceSingleColumn`

* Increase paddings in mobile layout responsively at large sizes
2019-05-23 01:35:22 +02:00
nzws
8a378d4c3d Fix stacking order of emoji picker (#10801) 2019-05-22 18:00:34 +02:00
dxwc
ee0e68e97a i18n: Complete frontend Bengali translation (#10800)
* i18n: Complete frontend Bengali translation

* run yarn manage:translations
2019-05-22 10:00:58 +09:00
Thibaut Girka
2332b3f146 Fix local text/html toots not being sanitized 2019-05-21 23:12:43 +02:00
Paul Woolcock
0c933c1b8c Add account_id param to GET /api/v1/notifications (#10796)
* Add `from_account` to notifications API

this adds the ability to filter notifications by the account they
originated from

* passing a non-existent user should cause none to be returned

* Fix codeclimate warnings

* fix more codeclimate warnings

* make requested changes:

* use account id instead of user@domain
* name the param `account_id` instead of `from_account`

* Don't use `return` in a lambda
2019-05-21 13:28:49 +02:00
Thibaut Girka
4fbce23992 Refactor contentType selection in glitch composer 2019-05-20 10:27:31 +02:00
Thibaut Girka
2cd7bfac23 Use glitch-soc's poll component instead of upstream's 2019-05-19 23:24:53 +02:00
trwnh
a6caf919e2 Change bio limit from 160 to 500 (#10790)
* Change note_length validator from 160 to 500

* Change input maxlength from 160 to 500

* update bio test from 160 to 500

* Multiply a string 30 times instead of 10
2019-05-19 22:51:44 +02:00
Thibaut Girka
08a2af27c3 Merge branch 'master' into glitch-soc/merge-upstream 2019-05-19 21:53:44 +02:00
ThibG
ae18386558 Fix “invited by” not showing up for invited accounts in admin interface (#10791) 2019-05-19 21:40:36 +02:00
Hinaloe
bb9d7fad9f fix isSubmitting prop case (#10785) 2019-05-19 18:41:41 +02:00
Thibaut Girka
f509815379 Merge branch 'master' into glitch-soc/merge-upstream 2019-05-19 17:46:31 +02:00
Ben Lubar
2f3e4a64be add og:image:alt for media attachments in embeds (#10779) 2019-05-18 20:57:45 +02:00
Eugen Rochko
6fe474837c
Change poll options to alphabetic letters when status text is hidden (#10685)
Fix #10569
2019-05-18 14:41:16 +02:00
Thibaut Girka
6e227ecb04 Merge branch 'master' into glitch-soc/merge-upstream 2019-05-18 10:04:32 +02:00
ThibG
a1519a8ef5 Prevent from publicly boosting one's own private toots (#10775) 2019-05-18 00:28:51 +02:00
Thibaut Girka
9ca21e93cc Minor optimization 2019-05-17 23:51:14 +02:00
Thibaut Girka
56245a2a72 Export fallback content type and use it as default in WebUI 2019-05-17 23:51:14 +02:00
Thibaut Girka
dd5bf40b97 Properly escape HTML in code blocks 2019-05-17 23:51:14 +02:00
Thibaut Girka
a6b7c23f6f Add option for default toot content-type 2019-05-17 23:51:14 +02:00
Thibaut Girka
0be93820f3 Fix autolinking, and newlines in code blocks
Autolinking is now performed *after* the Markdown pass, by replacing HTML
tags with zero-width spaces and running the twitter-text extractor as usual,
except it does not auto-link URLs to avoid links in links…
2019-05-17 23:51:14 +02:00
Thibaut Girka
9df1ef87c2 Hide content-type dropdown by default 2019-05-17 23:51:14 +02:00
Haelwenn (lanodan) Monnier
c2fa36bbae Content-Type Dropdown: use the selected option icon for the menu
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-05-17 23:51:14 +02:00
Thibaut Girka
93d98f62a8 Support proper content-type in Delete & Redraft 2019-05-17 23:51:14 +02:00
KokaKiwi
f34a402a94 Add status content type dropdown to compose box.
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-05-17 23:51:14 +02:00
Thibaut Girka
14d7ddcb1c Add API support for setting status content-type 2019-05-17 23:51:14 +02:00
Thibaut Girka
b3e68de4d2 Serialize content-type on Delete & Redraft 2019-05-17 23:51:14 +02:00
Thibaut Girka
d7520f8175 Add support for HTML-formatted toots 2019-05-17 23:51:14 +02:00
Thibaut Girka
94aef563b9 Add support for markdown-formatted toots 2019-05-17 23:51:14 +02:00
Thibaut Girka
bfc509f44a Add database row to hold status content type 2019-05-17 23:51:14 +02:00
ThibG
c1cf8c1636
Merge pull request #1049 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
2019-05-15 18:44:21 +02:00
Thibaut Girka
6badf2d252 Merge branch 'master' into glitch-soc/merge-upstream 2019-05-15 17:11:40 +02:00
ThibG
c1c8c7b2c8 Minor performance improvements and cleanup in formatter (#10765) 2019-05-15 06:54:06 +02:00
Neil Moore
4ab094d35e Adds click-able div that expands status (#10733) (#10766)
The clickable div is positioned under the account avatar and covers
all empty space below it to the end of the status.
2019-05-15 06:53:23 +02:00
ThibG
14f6ce2885 Record account suspend/silence time and keep track of domain blocks (#10660)
* Record account suspend/silence time and keep track of domain blocks

* Also unblock users who were suspended/silenced before dates were recorded

* Add tests

* Keep track of suspending date for users suspended through the CLI

* Show accurate number of accounts that would be affected by unsuspending an instance

* Change migration to set silenced_at and suspended_at

* Revert "Also unblock users who were suspended/silenced before dates were recorded"

This reverts commit a015c65d2d1e28c7b7cfab8b3f8cd5fb48b8b71c.

* Switch from using suspended and silenced to suspended_at and silenced_at

* Add post-deployment migration script to remove `suspended` and `silenced` columns

* Use Account#silence! and Account#suspend! instead of updating the underlying property

* Add silenced_at and suspended_at migration to post-migration

* Change account fabricator to translate suspended and silenced attributes

* Minor fixes

* Make unblocking domains always retroactive
2019-05-14 19:05:02 +02:00
Thibaut Girka
4bab7d7640 Fix rich text style in reply indicator 2019-05-13 17:13:02 +02:00
Thibaut Girka
87d16698c2 Fix rich text styling on public pages 2019-05-13 17:13:02 +02:00