Yuto Tokunaga
5021c4e9ca
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
4f9136d2d5
Document CORS requirement for asset host ( #6941 )
2018-03-28 20:40:18 +02:00
unarist
3523aa440b
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
f5ed5f3860
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
2f3ac14a43
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
ca42f9b0eb
Cache media ( #6902 )
2018-03-27 12:32:30 +02:00
Yuto Tokunaga
31e7b73084
fix #6846 ( #6914 )
2018-03-27 12:30:28 +02:00
unarist
a1d0915585
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
2a90da1837
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
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
Stephen Burgess
18965cb0e6
feat(ShowMore): Add classname to show more/show less button ( #6904 )
2018-03-26 13:59:44 +02:00
Yuto Tokunaga
f691afaae9
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
605a92b460
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
3b2c7a33a9
Missing OTP_SECRET in scalingo.json ( #6917 )
2018-03-26 12:47:34 +02:00
Marcin Mikołajczak
85a395fab6
i18n: Update Polish translation ( #6903 )
...
Signed-off-by: Marcin Mikołajczak <me@m4sk.in>
2018-03-25 23:33:07 +09:00
Akihiko Odaki
cbf97c03bb
Allow clients to fetch notifications made while they were offline ( #6886 )
2018-03-24 22:07:23 +01:00
Akihiko Odaki
9a1a55ce52
Allow clients to fetch statuses made while they were offline ( #6876 )
2018-03-24 15:25:15 +01:00
Akihiko Odaki
59657e24b9
Rename variables to have semantic meanings in notifications reducer ( #6890 )
2018-03-24 13:36:44 +01:00
Akihiko Odaki
fe398a098e
Store objects to IndexedDB ( #6826 )
2018-03-24 13:06:27 +01:00
Yamagishi Kazutoshi
28384c1771
Revert "Revert "Upgrade Paperclip to version 6.0.0" ( #6807 )" ( #6808 )
...
This reverts commit 40871caa4b
.
2018-03-24 12:52:45 +01:00
Akihiko Odaki
ff7941e652
Show media modal on public pages ( #6801 )
2018-03-24 12:52:26 +01:00
Marcin Mikołajczak
1c15329cce
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
Akihiko Odaki
b2a4ffd3a9
Change columns in notifications nonnullable ( #6764 )
2018-03-24 12:51:28 +01:00
Akihiko Odaki
fa310695fa
Note if the user is already following the target when authorizing follow ( #6325 )
2018-03-24 12:50:41 +01:00
Jeroen
580835ab69
Invites: Add '1 week' as expire option ( #6872 )
...
* Invites: Add '1 week' as expire option
IMO a max. of 1 day is too short. Not everyone has the time and motivation to use an invite in a 24 hour period. 1 week as a max. is I think a good compromise between convenience and security.
* Invites: Add '1 week' as expire option
IMO a max. of 1 day is too short. Not everyone has the time and motivation to use an invite in a 24 hour period. 1 week as a max. is I think a good compromise between convenience and security.
* Update en.yml
2018-03-24 12:50:14 +01: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
Akihiko Odaki
4e71b104e6
Internationalize unexpected error message ( #6887 )
2018-03-24 10:54:19 +01:00
Yamagishi Kazutoshi
65c10c0bc8
Weblate translations (2018-03-23) ( #6874 )
...
* 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/
* bundle exec i18n-tasks normalize && yarn manage:translations
2018-03-24 01:04:02 +01:00
Quentí
ecdc5957a3
[i18n] Occitan update ( #6869 )
...
* Update oc.yml
* Update simple_form.oc.yml
* Update oc.json
* Update oc.yml
* bundle exec i18n-tasks normalize
2018-03-23 18:52:25 +09:00
Eugen Rochko
6cc432bbc4
Bump version to 2.3.2
2018-03-22 14:13:46 +01:00
Eugen Rochko
dafae9818d
Bump version to 2.3.2rc5
2018-03-22 11:31:52 +01:00
Eugen Rochko
9fe1619db9
Do not re-query mentions from serializers ( #6858 )
...
Fix performance regression from #6836
2018-03-22 11:31:17 +01:00
Eugen Rochko
da70aca28e
Restore username validation to disallow dots, for now ( #6863 )
...
Usernames with dots in them do not work with routes, because the dot usually separates the desired page format (e.g. json). I don't want to mess with changing route constraints for this patch release.
2018-03-22 11:30:22 +01:00
ThibG
6f531d140b
Fix MENTION_RE to not match nil usernames ( #6862 )
2018-03-22 10:45:48 +01:00
Eugen Rochko
f66a786029
Hide floating action button on thread views ( #6859 )
2018-03-22 09:33:14 +01:00
Patrick Figel
d97903a358
Update sanitize and loofah ( #6855 )
...
Fixes CVE-2018-8048 and CVE-2018-3740, two medium-severity XSS
vulnerabilities present in these gems when built against
libxml2 >= 2.9.2.
2018-03-21 17:43:28 +01:00
Eugen Rochko
93897134ca
Permit dots in usernames with conditions ( #6844 )
...
* Permit dots in usernames with conditions
- Dot cannot be the start or end of username
- a.lice and al.ice are considered the same during sign-up
* Fix regex mixin flags
2018-03-21 10:26:53 +01:00
Akihiko Odaki
a6b59cd1a3
Remove debug option from Babel preset env ( #6852 )
2018-03-21 10:26:15 +01:00
Eugen Rochko
f64af6473f
Bump version to 2.3.2rc4
2018-03-20 23:49:24 +01:00
Eugen Rochko
ac49c7932d
Add LDAP_TLS_NO_VERIFY option, don't require LDAP_ENABLED outside .env ( #6845 )
...
Fix #6816 , fix #6790
2018-03-20 19:41:51 +01:00
Akihiko Odaki
61dcb686a8
Fix i18n fallback configuration conflicts with environment configurations ( #6843 )
2018-03-20 16:36:20 +01: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
ThibG
a5c6c748e0
Cancel outdated pending compose suggestions ( #6838 )
2018-03-20 12:40:12 +01:00
Rey Tucker
36b5703796
request: in the event of failure, try other IPs ( #6761 ) ( #6813 )
...
* request: in the event of failure, try other IPs (#6761 )
In the case where a name has multiple A/AAAA records, we should
try subsequent records instead of immediately failing when we have a
failure on the first IP address.
This significantly improves delivery success when there are network
connectivity problems affecting only IPv4 or IPv6.
* fix method call style
* request_spec: adjust test case to use Addrinfo
* request: Request/open: move private addr check to within begin/rescue
* request_spec: add case to test failover, fix exception check
* Double Addrinfo.foreach so that it correctly yields instances
2018-03-20 09:06:08 +01:00
ThibG
ff6b8a6443
Serialize mentions in the order they are added ( #6836 )
...
Up until now, the order seemed to be in the *opposite* order,
which caused the WebUI to populate mentions in reversed order
when replying to toots local to one's instance.
2018-03-19 20:19:35 +01:00
ThibG
6b76a6212d
Display content warning in mail notification emails ( #6832 )
2018-03-19 20:12:20 +01:00
Alexander
33ee347c99
rename pam email environment variable to something more understandable and default to LOCAL_DOMAIN (better fallback) ( #6833 )
2018-03-19 20:09:26 +01:00
Alexander
0306e3e9be
bugfixes and gem update ( #6831 )
...
* update to new version of devise_pam_authenticatable2
* fix behaviour if suffix is nil, fix environment loading, fix user email creation
* code cleanup/fix linter warning
2018-03-19 20:08:56 +01:00
ThibG
357f9298bd
Fix e-mail changed notification ( fixes #6778 ) ( #6835 )
...
In Devise::Mailer#email_changed, the new email might be in the email attr.
See: https://github.com/plataformatec/devise/blob/master/app/views/devise/mailer/email_changed.html.erb
2018-03-19 20:07:47 +01:00
Renato "Lond" Cerqueira
f7c46fc113
Weblate translations 20180319 ( #6827 )
...
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pt_BR/
* Translated using Weblate (Spanish)
Currently translated at 99.6% (579 of 581 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/es/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (58 of 58 strings)
Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/es/
* 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 (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 (Spanish)
Currently translated at 100.0% (58 of 58 strings)
Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/es/
* Translated using Weblate (Indonesian)
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/id/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/es/
* Translated using Weblate (Indonesian)
Currently translated at 94.6% (71 of 75 strings)
Translation: Mastodon/Doorkeeper
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/doorkeeper/id/
* Translated using Weblate (Indonesian)
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/id/
* Translated using Weblate (Arabic)
Currently translated at 100.0% (62 of 62 strings)
Translation: Mastodon/Devise
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/ar/
* Translated using Weblate (Indonesian)
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/id/
* Translated using Weblate (Dutch)
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/nl/
* Translated using Weblate (Arabic)
Currently translated at 75.5% (439 of 581 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ar/
* Translated using Weblate (Arabic)
Currently translated at 76.2% (443 of 581 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ar/
* Translated using Weblate (Russian)
Currently translated at 95.8% (557 of 581 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ru/
* Translated using Weblate (Finnish)
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fi/
* 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 (Slovak)
Currently translated at 91.7% (533 of 581 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/
* Translated using Weblate (Dutch)
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/nl/
* Translated using Weblate (Spanish)
Currently translated at 99.8% (580 of 581 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/es/
* Translated using Weblate (Finnish)
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fi/
* 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 (Spanish)
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/es/
* Translated using Weblate (Swedish)
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sv/
* Translated using Weblate (Finnish)
Currently translated at 93.1% (54 of 58 strings)
Translation: Mastodon/Preferences
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/fi/
* Translated using Weblate (Arabic)
Currently translated at 76.7% (446 of 581 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ar/
* Translated using Weblate (Slovak)
Currently translated at 93.2% (542 of 581 strings)
Translation: Mastodon/Backend
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/
* Translated using Weblate (Arabic)
Currently translated at 100.0% (280 of 280 strings)
Translation: Mastodon/React
Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ar/
* Normalize translations
Ran i18n-tasks normalize && yarn manage:translations
2018-03-19 15:12:06 +01:00