Emelia Smith
078aa8b5ae
Improve require_admin! and require_staff! filters ( #7018 )
...
Previously these returns 302 redirects instead of 403s, which meant posting links to admin pages in slack caused them to unfurl, rather than stay as a link. Additionally, require_admin! doesn't appear to be actively used, on require_staff!
2018-04-03 13:07:32 +02:00
mayaeh
b505eec7e5
i18n: Add Japanese translations for #7000 ( #7022 )
...
* run yarn manage:translations.
* run i18n-tasks add-missing ja.
* Update Japanese translations.
2018-04-03 18:21:33 +09:00
Emelia Smith
5373b138e8
Feature: Report improvements ( #6967 ) ( #7000 )
...
* Implement Assignment of Reports (#6967 )
* Change translation of admin.report.comment.label to "Report Comment" for clarity
As we'll soon add the ability for reports to have comments on them, this clarification makes sense.
* Implement notes for Reports
This enables moderators to leave comments about a report whilst they work on it
* Fix display of report moderation notes
* Allow reports to be reopened / marked as unresolved
* Redirect to reports listing upon resolution of report
* Implement "resolve with note" functionality
* Add inverse relationship for report notes
* Remove additional database querying when loading report notes
* Fix tests for reports
* Fix localisations for report notes / reports
2018-04-02 22:04:14 +02:00
Eugen Rochko
ec74c3d7da
Do not default SMTP verify mode to "peer", default to "none" ( #6996 )
2018-04-02 19:19:51 +02:00
unarist
d88504ec84
Add missing rejection handling for Promises ( #7008 )
...
* Add eslint-plugin-promise to detect uncaught rejections
* Move alert generation for errors to actions/alert
* Add missing rejection handling for Promises
* Use catch() instead of onReject on then()
Then it will catches rejection from onFulfilled. This detection can be
disabled by `allowThen` option, though.
2018-04-02 14:51:02 +02:00
Emelia Smith
0408944627
Implement the ability for an Administrator or Moderator to remove an account avatar ( #6998 )
2018-04-02 13:45:07 +02:00
Emelia Smith
4be5383b91
Fix issues with sending direct messages from user profile ( #6999 )
...
* Clear compose textarea when starting a new direct message
Previous behaviour resulted in potentially misdirected direct messages.
* Hide search when starting to compose a direct message
2018-04-02 13:44:19 +02:00
Yamagishi Kazutoshi
21fa7b6520
Weblate translations (2018-04-02) ( #7007 )
...
* Translated using Weblate (Galician)
Currently translated at 100.0% (587 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/gl/
* Translated using Weblate (Dutch)
Currently translated at 100.0% (587 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/nl/
* Translated using Weblate (Catalan)
Currently translated at 100.0% (587 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ca/
* Translated using Weblate (Arabic)
Currently translated at 76.4% (449 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ar/
* Translated using Weblate (Japanese)
Currently translated at 99.8% (586 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ja/
* Translated using Weblate (Slovak)
Currently translated at 92.3% (542 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/
* Translated using Weblate (Slovak)
Currently translated at 92.3% (542 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/
* Translated using Weblate (Slovak)
Currently translated at 100.0% (58 of 58 strings)
Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/sk/
* Translated using Weblate (Polish)
Currently translated at 98.9% (581 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pl/
* Translated using Weblate (French)
Currently translated at 99.6% (585 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.8% (586 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pt_BR/
* Translated using Weblate (Catalan)
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ca/
* Translated using Weblate (Persian)
Currently translated at 100.0% (75 of 75 strings)
Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/fa/
* Translated using Weblate (Persian)
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fa/
* Translated using Weblate (French)
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fr/
* Translated using Weblate (Japanese)
Currently translated at 99.8% (586 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ja/
* Translated using Weblate (Japanese)
Currently translated at 99.8% (586 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ja/
* Translated using Weblate (Slovak)
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sk/
* Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hant/
* Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (62 of 62 strings)
Translation: Mastodon/Devise
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/zh_Hant/
* Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (75 of 75 strings)
Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/zh_Hant/
* Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (62 of 62 strings)
Translation: Mastodon/Devise
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/zh_Hant/
* Translated using Weblate (Esperanto)
Currently translated at 100.0% (587 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eo/
* Translated using Weblate (Esperanto)
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eo/
* Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (75 of 75 strings)
Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/zh_Hant/
* Translated using Weblate (Arabic)
Currently translated at 76.6% (450 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ar/
* Translated using Weblate (Esperanto)
Currently translated at 100.0% (587 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eo/
* Translated using Weblate (Esperanto)
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eo/
* Translated using Weblate (Slovak)
Currently translated at 92.6% (544 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/
* Translated using Weblate (Slovak)
Currently translated at 100.0% (75 of 75 strings)
Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/sk/
* Translated using Weblate (Arabic)
Currently translated at 82.9% (487 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ar/
* Translated using Weblate (Arabic)
Currently translated at 98.6% (74 of 75 strings)
Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/ar/
* Translated using Weblate (Slovak)
Currently translated at 93.6% (550 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/
* Translated using Weblate (Slovak)
Currently translated at 95.4% (560 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/
* Translated using Weblate (Japanese)
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ja/
* Translated using Weblate (Indonesian)
Currently translated at 100.0% (75 of 75 strings)
Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/id/
* Translated using Weblate (Korean)
Currently translated at 100.0% (58 of 58 strings)
Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/ko/
* Translated using Weblate (Korean)
Currently translated at 99.8% (586 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ko/
* Translated using Weblate (Korean)
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ko/
* Translated using Weblate (Esperanto)
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eo/
* Translated using Weblate (Arabic)
Currently translated at 82.9% (487 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ar/
* Translated using Weblate (Arabic)
Currently translated at 99.2% (278 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ar/
* Translated using Weblate (Arabic)
Currently translated at 87.3% (513 of 587 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ar/
* Translated using Weblate (Arabic)
Currently translated at 99.6% (279 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ar/
* bundle exec i18n-tasks normalize && yarn manage:translations
* revert
2018-04-02 13:43:30 +02:00
Evgeny Petrov
2964c7a7b8
Russian language updated ( #7005 )
...
* Russian language updated
* Small fixes for RU language
* bundle exec i18n-tasks normalize
2018-04-02 19:49:06 +09:00
luzi82
89d3bc36a3
i18n: update zh-HK translation ( #7004 )
...
* i18n: update zh-HK translation
* i18n: update zh-HK translation
* i18n-tasks normalize
2018-04-02 19:11:37 +09:00
Eugen Rochko
40afedc030
Support all ActivityPub actor types ( #6997 )
...
Fix #6973
2018-04-02 02:10:53 +02:00
Eugen Rochko
10fc551576
Fix unpermitted parameters warning when generating pagination URLs ( #6995 )
2018-04-02 02:09:50 +02:00
David Underwood
44274257de
[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
Yamagishi Kazutoshi
1fbeac0c82
Update Ruby to version 2.4.4 ( #6964 )
...
https://www.ruby-lang.org/en/news/2018/03/28/ruby-2-4-4-released/
> This release includes some bug fixes and some security fixes.
>
> - CVE-2017-17742: HTTP response splitting in WEBrick
> - CVE-2018-6914: Unintentional file and directory creation with directory traversal in tempfile and tmpdir
> - CVE-2018-8777: DoS by large request in WEBrick
> - CVE-2018-8778: Buffer under-read in String#unpack
> - CVE-2018-8779: Unintentional socket creation by poisoned NUL byte in UNIXServer and UNIXSocket
> - CVE-2018-8780: Unintentional directory traversal by poisoned NUL byte in Dir
> - Multiple vulnerabilities in RubyGems
2018-04-01 23:43:08 +02:00
Emelia Smith
7d791f494b
Fix: Prevent submission using same logic as submit button disabling. ( #6993 )
...
This prevents submission through ctrl/cmd+enter when the submit button is disabled.
2018-04-01 22:19:43 +02:00
luzi82
3233c46796
improve zh-HK localization by referring zh-TW and zh-CN ( #6988 )
2018-04-01 21:57:26 +09:00
Marcin Mikołajczak
9458e263d5
i18n: Update Polish translation ( #6985 )
...
Signed-off-by: Marcin Mikołajczak <me@m4sk.in>
2018-04-01 10:31:38 +02:00
mayaeh
e0046b2c13
i18n: Add Japanese translations for domain blocks ( #6979 )
...
* run yarn manage:translations
* Update Japanese translations for domain blocks.
2018-03-31 21:09:39 +09:00
Daniel Hunsaker
9eb4735e0a
[Nanobox] Enable ElasticSearch support by default ( #6977 )
...
Admins can still disable the feature by adding `ES_ENABLED=false` to their environment, if they prefer not to use it. Be sure to set the variable before you deploy!
2018-03-31 13:17:25 +02:00
unarist
11fb748041
Ignore AbortError when cancelled sharing ( #6978 )
...
`navigator.share()` rejects Promise if user cancelled sharing, and it may
print it as an error on JavaScript console.
This patch ignores it and prints other errors on the console.
2018-03-31 13:16:38 +02:00
ThibG
1cda8b247a
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
ThibG
aa4a16c94f
Add some UI for user-defined domain blocks ( #6628 )
...
* Keep list of blocked domains
Might be overkill, but I'm trying to follow the same logic as for blocked users
* Add basic domain block UI
* Add the domain blocks UI to Getting Started
* Fix undefined URL in `fetchDomainBlocks`
* Update all known users' domain_blocking relationship instead of just one's
2018-03-30 12:38:00 +02:00
Pierre-Morgan Gate
ccacb263da
Upgrade charlock_holmes to version 0.7.6 ( #6966 )
...
This version fixes compilation errors when trying to build its native extension with ICU 61.
2018-03-30 09:52:44 +02:00
takayamaki
43ab4a3985
update ja locale ( #6965 )
...
related https://github.com/tootsuite/mastodon/pull/6956
2018-03-30 10:04:04 +09:00
Emelia Smith
df62fc20bf
Feature: Direct message from menu ( #6956 )
...
* Implement ability to send direct messages from the user menu
* Implement message warning users that direct messages are visible to all mentioned users
* Update locales
2018-03-29 19:08:34 +02:00
unarist
2974df3c2f
Fix ReferenceError when Cache API is missing ( #6953 )
...
Cache API is not supported on Safari 11.0 / iOS 11.
Since those caching is optional, this patch simply ignores it.
2018-03-29 14:57:02 +02:00
unarist
5a9c8aeb42
Fix TypeError on follow notification ( #6950 )
...
`notification.status` may not be present, e.g. follow notification.
2018-03-29 12:59:12 +02:00
ThibG
f7a96189b6
Do not ignore unknown media attachments, only skip them ( #6948 )
...
That way, they are displayed in a list below the corresponding toot.
2018-03-29 00:52:24 +02:00
Yuto Tokunaga
7551951094
Add double-tap zoom functionary to ZoomableImage
( #6944 )
...
add <div.zoomable-image__margin/> to keep margin of the image on zooming
move setting `scrollLeft` and `scrollTop` of container from callback of
`setState` to `componentDidUpdate`
add 'hammerjs' package for touch gesture detection
rewrite `ZoomableImage` using 'hammerjs'
2018-03-28 20:40:51 +02:00
Akihiko Odaki
aec3ebab81
Document CORS requirement for asset host ( #6941 )
2018-03-28 20:40:18 +02:00
unarist
2111defbbf
Fix LoadMore on account media gallery ( #6933 )
...
max_id in the fetch request should be a status id, but media attachment id was used.
2018-03-27 16:53:52 +02:00
unarist
cfd1fe74c9
Clone response before put it to the cache ( #6932 )
...
`Response.prototype.clone()` must be called before the response used.
This fixes an error from ServiceWorker and failing to load image when the
image is not cached.
2018-03-27 15:18:35 +02:00
unarist
9487e8a4c0
Add missing null handling in notification reducer ( #6930 )
...
This patch adds null item (i.e. gap) handling on below functions to avoid TypeError.
* `filterNotifications` called on user mute/block
* `deleteByStatus` called on status deletion
2018-03-27 13:05:59 +02:00
Akihiko Odaki
e829c21cc6
Cache media ( #6902 )
2018-03-27 12:32:30 +02:00
Yuto Tokunaga
5eea3f9877
fix #6846 ( #6914 )
2018-03-27 12:30:28 +02:00
unarist
0fb7252ac4
Add a spec for UniqueUsernameValidator ( #6927 )
...
Note that this spec has a pending test about dots in the username,
because allowing it has been reverted for now.
2018-03-27 05:22:58 +02:00
Eugen Rochko
ebba6fb7f5
Fix UniqueUsernameValidator comparison ( #6926 )
...
Comparison was downcasing only one side, therefore if previously
existing account had a non-lowercase spelling, it would be ignored
when checking for duplicates.
New rake task `mastodon:maintenance:find_duplicate_usernames` will
help find constraint violations that might have occured from the
presence of this bug.
Bump version to 2.3.3
2018-03-27 04:33:57 +02:00
Akihiko Odaki
acece7a2e6
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
Stephen Burgess
f9e88856e3
feat(ShowMore): Add classname to show more/show less button ( #6904 )
2018-03-26 13:59:44 +02:00
Yuto Tokunaga
480131a376
Refactor scss ( #6913 )
...
* Refactoring scss
introduce scss variables for the media modal
fix css block structure corresponding to react components
fix flex layouts
remove background image of the loaded image on the media modal
* Fix typo
2018-03-26 13:59:21 +02:00
unarist
351203118c
Fix moved account handling in IndexedDB feature ( #6915 )
...
* Fix stack overflow on importFetchedAccounts
When the account has moved property, it should process destination
account instead of source account itself.
* Set account id instead of account object for moved property
This restores "foo has moved to" indication on account view, and
fixes `reblog` index on `accounts` object store.
2018-03-26 12:48:01 +02:00
Yann Klis
740f44ecc4
Missing OTP_SECRET in scalingo.json ( #6917 )
2018-03-26 12:47:34 +02:00
Marcin Mikołajczak
29dfe740f6
i18n: Update Polish translation ( #6903 )
...
Signed-off-by: Marcin Mikołajczak <me@m4sk.in>
2018-03-25 23:33:07 +09:00
Akihiko Odaki
9eaa47845c
Allow clients to fetch notifications made while they were offline ( #6886 )
2018-03-24 22:07:23 +01:00
Akihiko Odaki
34cb1a5461
Allow clients to fetch statuses made while they were offline ( #6876 )
2018-03-24 15:25:15 +01:00
Akihiko Odaki
42786040d1
Rename variables to have semantic meanings in notifications reducer ( #6890 )
2018-03-24 13:36:44 +01:00
Akihiko Odaki
43f2b0281d
Store objects to IndexedDB ( #6826 )
2018-03-24 13:06:27 +01:00
Yamagishi Kazutoshi
6daa722e87
Revert "Revert "Upgrade Paperclip to version 6.0.0" ( #6807 )" ( #6808 )
...
This reverts commit d35272245e
.
2018-03-24 12:52:45 +01:00
Akihiko Odaki
47d2277ef1
Show media modal on public pages ( #6801 )
2018-03-24 12:52:26 +01:00
Marcin Mikołajczak
3386112fb1
Change “Toots with replies” to “Toots and replies” ( #6875 )
...
Signed-off-by: Marcin Mikołajczak <me@m4sk.in>
2018-03-24 12:51:51 +01:00