Commit graph

6690 commits

Author SHA1 Message Date
ThibG
34fa305a00 Fix race condition when processing incoming OStatus messages (#5013)
* Avoid races in incoming OStatus toots processing

* oops

* oops again
2017-09-19 21:44:18 +02:00
Akihiko Odaki
bb4d005a83 Introduce OStatus::TagManager (#5008) 2017-09-19 18:08:08 +02:00
Naoki Kosaka
df1ce2350c Fix non-local statuses are html_encoded in public_page. (#5012) 2017-09-19 17:55:48 +02:00
Nolan Lawson
e5c65b3067 Set touchstart listener to 'passive', remove 'once' (#5011) 2017-09-19 17:00:29 +02:00
nullkal
7d16bb379d Use OrderedCollectionPage to return followers/following list (#4949) 2017-09-19 16:37:06 +02:00
Andrew
0401a24558 Add support for multiple themes (#4959)
* Add support for selecting a theme

* Fix codeclimate issues

* Look up site default style if current user is not available due to e.g. not being logged in

* Remove outdated comment in common.js

* Address requested changes in themes PR

* Fix codeclimate issues

* Explicitly check current_account in application controller and only check theme availability if non-nil

* codeclimate

* explicit precedence with &&

* Fix code style in application_controller according to @nightpool's suggestion, use default style in embedded.html.haml

* codeclimate: indentation + return
2017-09-19 16:36:23 +02:00
unarist
4aea3f88a6 Hide sensitive image in default on the public pages (#5009)
Additionally, this restores previous background / text color for media spoiler.
2017-09-19 16:03:45 +02:00
Eugen Rochko
41e6c8b151 Fix incomplete account records being read (#4998)
* Fix incomplete account records being read

- Put account processing into redis lock
- Do not save until record is complete

* Fix spaces
2017-09-19 06:53:16 +02:00
Yamagishi Kazutoshi
1664e52cbb Fix custom emojis index (#5006) 2017-09-19 05:06:13 +02:00
Eugen Rochko
dce869dfc7 Define emoji context for ActivityPub (#5004)
* Define emoji context for ActivityPub

* Fix the emojo

* Use general Mastodon context instead
2017-09-19 05:05:48 +02:00
Eugen Rochko
09a94b575e Admin interface for listing, adding and removing custom emojis (#5002)
* Admin interface for listing, adding and removing custom emojis

* Only display local ones in the list
2017-09-19 03:52:38 +02:00
Eugen Rochko
81cec35dbf Custom emoji (#4988)
* Custom emoji

- In OStatus: `<link rel="emoji" name="coolcat" href="http://..." />`
- In ActivityPub: `{ type: "Emoji", name: ":coolcat:", href: "http://..." }`
- In REST API: Status object includes `emojis` array (`shortcode`, `url`)
- Domain blocks with reject media stop emojis
- Emoji file up to 50KB
- Web UI handles custom emojis
- Static pages render custom emojis as `<img />` tags

Side effects:

- Undo #4500 optimization, as I needed to modify it to restore
  shortcode handling in emojify()
- Formatter#plaintext should now make sure stripped out line-breaks
  and paragraphs are replaced with newlines

* Fix emoji at the start not being converted
2017-09-19 02:42:40 +02:00
BruWalfas
c155d843f4 A few updates to the Spanish translation and some typos fixing (#4997)
* So Spanish. Much changes. Wow.

* Some little fixes

* Updated es.yml, and fixed some ortographical errors

* Some little changes to simple_form.es.yml

* Yeah, so much translations

* Spanish e-mail messages

* Remove unused message
2017-09-19 07:47:48 +09:00
Nolan Lawson
3d640dc8ac Add will-change to improve scrolling perf (#5001) 2017-09-18 23:29:15 +02:00
unarist
6db034a866 Re-allow underscore on valid_url_path_ending_chars (#4999)
Limiting allowed characters in the last character of the URL is came from twitter-text, but underscore is allowed on there, and Mastodon before #4941.
2017-09-18 21:25:40 +02:00
unarist
17bf3363ac Add published property to ActivityPub activity for reblogs (#5000)
Since reblogs are serialized as Announce activity, its published property can be used for the creation time of reblog.
2017-09-18 20:30:11 +02:00
Yamagishi Kazutoshi
dcf1139ebd Do not add image size without meta to OGP (regression from #4901) (#4995) 2017-09-18 15:00:29 +02:00
Akihiko Odaki
9619b7f727 Use Account.local.sum(statuses_count) instead of Status.local.count (#4996)
It is faster.
2017-09-18 14:59:57 +02:00
Yamagishi Kazutoshi
9e0985d9e4 Add strip_insignificant_zeros: true option to number_to_human (#4993) 2017-09-18 04:55:23 +02:00
febrezo
cf14f4945a Some improvements in the Spanish translation (#4991) 2017-09-18 11:52:34 +09:00
Lynx Kotoura
4c14ff659b Oauth code in input form and add description message (#4986)
* Oauth code in a input form and add description

* New authcode description
2017-09-17 15:23:44 +02:00
unarist
dd6f9a1b82 Validate uri presence for remote status (#4985) 2017-09-17 15:21:57 +02:00
unarist
3f07f1b2b1 Raise an error on getting activity uri for remote status (#4984)
We had returned `nil` for that case, but this raises an error instead, as a wrong usage of the method.
This method is currently only used in ActivitySerializer.
2017-09-17 13:51:34 +02:00
abcang
44245926f1 Fix cancellation of scroll to the right (#4978) 2017-09-17 11:59:23 +02:00
unarist
1eab53ee10 Fix an error when actor json couldn't be fetched in ResolveRemoteAccountService (#4979)
* Fix an error when actor json couldn't be fetched in ResolveRemoteAccountService

* Add specs
2017-09-17 11:54:23 +02:00
BruWalfas
7be3131240 So Spanish. Much changes. Wow. (#4976) 2017-09-17 18:16:43 +09:00
Akihiko Odaki
198a9a4fa4 Remove local_only scope in Status (#4977) 2017-09-17 05:29:43 +02:00
unarist
ec36df97c4 Escape URL parts on formatting local status (#4975) 2017-09-16 21:33:52 +02:00
Mingye Wang
c8969dca35 Minor Chinese check & jsx addition (#4973)
* zh-*: transition from "like" back to "fav"

This commit reverts the translation for the yellow-star "fav" button
back to "fav" in Chinese. Some ambuiguity between "like" and "fav" is
deliberately used in zh-TW/HK by using the existing phrase "最爱"
(favorite (adj.), lit. love-most) instead of "收藏" (favourite (v.),
"collect") in some instances.

Fixes #3511.

* zh-*: apply suggestions for PR #4557

* zh-cn: de-monetize ya account

In Chinese two separate characters, 账 and 帐, can be used to spell the
word for account (账/帐户). However, the one with a 贝 on the left is
evolved from the latter specifically for monetary purposes. Since
people usually can't figure out which one to use, it might be a good
idea to use the original not-so-money one.

* zh-*: complete jsx translation
2017-09-16 18:48:38 +02:00
Lynx Kotoura
1e3b1d7211 Adjust landing pages 2 (#4967)
* Adjust landing pages 2

Fix styles of terms page
Remove action buttons from timeline in about page
Adjust styles of short description
Adjust form inputs
Set autocomplete off for username and email box in registration form. Remove line breakings.

* Revert removing action buttons
2017-09-16 18:39:11 +02:00
unarist
0698c610a6 Fix an error in ReplyDistributionWorker when replied status was deleted (#4974)
Reply distribution is proceed by Sidekiq, so replied status may be deleted before this.
2017-09-16 18:18:00 +02:00
ふぁぼ原
629fae8b3b correct URL pattern used in text length counter in WebUI (#4968) 2017-09-16 15:01:15 +02:00
unarist
c30e6433de Fix AP serialization error when thread is missing (#4970)
`Status#reply?` may returns true even if the thread is missing.
e.g. the replied status was deleted or couldn't be fetched.

Then it raises NoMethodError on various AP json serialization.

This issue won't happen on Atom serialization because it checks thread
existence using `StreamEntry#threaded?` instead.
2017-09-16 15:00:36 +02:00
Naoki Kosaka
cea5597722 Fix hasSize condition in secSet and sizes. (#4969) 2017-09-16 15:00:01 +02:00
Akihiko Odaki
48d77ea1eb Fix filterable_languages method of SettingsHelper (#4966) 2017-09-16 14:59:41 +02:00
Eugen Rochko
54edb4b853 When accessing uncached media attachment, redownload it (#4955)
* When accessing uncached media attachment, redownload it

* Prevent re-download of rejected media
2017-09-16 03:01:45 +02:00
unarist
6c81f9d6e5 Fix invisible load more button (#4962)
* Fix behavior while the button is invisible
e.g. pointer cursor, couldn't open contextmenu
* Avoid rendering the button to remove blank space if no more items are available or no items are rendered
2017-09-16 00:32:43 +02:00
Eugen Rochko
472df24579 When web UI URL used while logged out, redirect to static page (#4954) 2017-09-15 00:57:08 +02:00
Eugen Rochko
0d1215e82f Remove redundant width/height values from SVGs to fix Safari bug (#4956) 2017-09-15 00:51:00 +02:00
Anna e só
e77cc032c2 l10n: PT-BR translation updated (#4953)
* devise.pt-BR.yml now fully translated

* pt-BR.json now fully translated

* pt-BR.yml partially translated; 46 lines left

* pt-BR.yml now fully translated

* simple_form.pt-BR.yml fully translated

* doorkeeper.pt-BR.yml now fully translated

* E-mail instructions on app/views/user_mailer added and fully translated

* PT-BR translation for #4871

* Deleted an unwanted caracter on pt-BR.yml

* Fixing typos on pt-BR.yml

* Added translation for Pinned toots tab on pt-BR.json

* Added missing translation for navigation_bar.pins

* Fixed spelling on pt-BR.yml

* Update pt-BR.json
2017-09-15 00:02:38 +02:00
sdukhovni
67559361e8 Add scheduled worker to purge old user IPs (#4951)
* Add scheduled worker to purge old user IPs

* Use ruby 1.9 hash syntax
2017-09-14 22:26:38 +02:00
ThibG
4a73615193 Fix race condition when receiving an ActivityPub Create multiple times (#4930)
* Fix race condition when receiving an ActivityPub Create multiple times

* Use a RedisLock to avoid concurrent processing of a same Create activity
2017-09-14 22:26:22 +02:00
Yamagishi Kazutoshi
bdcc9e2ceb Add missing Japanese translations (#4947) 2017-09-14 18:03:34 +02:00
ふぁぼ原
3816943e6b Enable to recognize most kinds of characters as URL paths (#4941) 2017-09-14 18:03:20 +02:00
Masoud Abkenar
b39d512ade l10n: update Persian translation (#4946) 2017-09-15 00:13:38 +09:00
Eugen Rochko
04046a4983 Fix #4908 - Do not keep remote file names, generate random (#4934) 2017-09-14 16:41:59 +02:00
unarist
a4c500176b Include requested URL into the message on network errors (#4945) 2017-09-14 16:12:50 +02:00
abcang
1aad015bbb Revert unique retry job (#4937)
* Revert "Enable UniqueRetryJobMiddleware even when called from sidekiq worker (#4836)"

This reverts commit 6859d4c028.

* Revert "Do not execute the job with the same arguments as the retry job (#4814)"

This reverts commit be7ffa2d75.
2017-09-14 15:12:43 +02:00
m4sk1n
94fba44eec i18n: Update Polish translation (#4942)
* i18n: Update Polish translation

Signed-off-by: Marcin Mikołajczak <me@m4sk.in>

* i18n: Update Polish translation

Signed-off-by: Marcin Mikołajczak <me@m4sk.in>

* Update pl.yml
2017-09-14 21:58:48 +09:00
Jeroen
721460a59b Another Dutch language update (#4944)
* Update nl.json

* Update nl.yml

* Update nl.json
2017-09-14 21:52:47 +09:00
Naf
45b595cdca Add Japanese translate for #4911 (#4943) 2017-09-14 18:20:04 +09:00
Quent-in
aad3df6afc l10n update OC/FR video redesign (#4938)
* l10n update for Redesign video player (#4911)

* Update videp

* Update

I hope this time format works well.

* One missing string

* Update time format

I'd like the complete name of the month in the Long format and the short one in the short format.
I hope it works now
2017-09-14 16:32:14 +09:00
Eugen Rochko
596dab06e9 Support OpenGraph video embeds (#4897)
* Support OpenGraph video embeds

It's not really OpenGraph, it's twitter:player property, but it's
not OEmbed so that fits. For example, this allows Twitch clips to
be displayed as embeds.

Also, fixes glitch-soc/mastodon#135

* Fix invalid OpenGraph cards being saved through attaching and
revisit URLs after 14 days
2017-09-14 04:11:36 +02:00
Eugen Rochko
4f0597d579 Give video player fluid max-width (#4935) 2017-09-14 04:03:00 +02:00
Eugen Rochko
2bbf987a0a Redesign video player (#4911)
* Redesign video player

* Use new video player on static public pages too

* Use media gallery component on static public pages too

* Pause video when hiding it

* Full-screen sizing on WebKit

* Add aria labels to video player buttons

* Display link card on public status page

* Fix fullscreen from modal sizing issue

* Remove contain: strict property to fix fullscreen from columns
2017-09-14 03:39:10 +02:00
ThibG
af00220d79 Fix refollowing (#4931)
* Make RefollowWorker ActivityPub-only to avoid potential identifier mismatches

* Don't call RefollowWorker on new accounts
2017-09-14 00:05:25 +02:00
Eugen Rochko
9239e4ce4d Uploads for admin site settings (#4913)
* Improve OpenGraph tags for about pages

* Add thumbnail admin setting

* Fix error

* Fix up
2017-09-14 00:04:30 +02:00
Jeroen
331263270b Updating Dutch translation (#4927)
* Update doorkeeper.nl.yml

* Update nl.yml

* Update simple_form.nl.yml

* Update nl.json

* Update en.json

* Update en.json

* Update nl.json
2017-09-13 23:12:29 +09:00
MitarashiDango
283a5ec1a4 fix share intent. (#4926) 2017-09-13 15:20:03 +02:00
ThibG
550ff677da Fix ActivityPub handling of replies with WEB_DOMAIN (#4895) (#4904)
* Fix ActivityPub handling of replies when LOCAL_DOMAIN ≠ WEB_DOMAIN (#4895)

For all intents and purposes, `local_url?` is used to check if an URL refers
to the Web UI or the various API endpoints of the local instances. Those things
reside on `WEB_DOMAIN` and not `LOCAL_DOMAIN`.

* Change local_url? spec, as all URLs handled by Mastodon are based on WEB_DOMAIN
2017-09-13 14:22:16 +02:00
nullkal
da77f65c46 Add instance search feature (#4925) 2017-09-13 12:30:07 +02:00
nullkal
9e2ff3ef71 Make instance names in into links to user list in the instance (#4924) 2017-09-13 11:34:07 +02:00
Eugen Rochko
b9d241c6f5 Fix #4917 - Add missing suspend checks (#4921) 2017-09-13 11:05:02 +02:00
Eugen Rochko
56af04dbb4 Fix #4918 - Limit pinned toots to 5 (#4923) 2017-09-13 11:04:32 +02:00
abcang
60944d5dca Fix height cache (#4909) 2017-09-13 10:24:33 +02:00
ThibG
f29918e707 [WiP] Whenever a remote keypair changes, unfollow them and re-subscribe to … (#4907)
* Whenever a remote keypair changes, unfollow them and re-subscribe to them

In Mastodon (it could be different for other OStatus or AP-enabled software),
a keypair change is indicative of whole user (or instance) data loss. In this
situation, the “new” user might be different, and almost certainly has an empty
followers list. In this case, Mastodon instances will disagree on follower
lists, leading to unreliable delivery and “shadow followers”, that is users
believed by a remote instance to be followers, without the affected user
knowing.

Drawbacks of this change are:
1. If an user legitimately changes public key for some reason without losing
   data (not possible in Mastodon at the moment), they will have their remote
   followers unsubscribed/re-subscribed needlessly.
2. Depending of the number of remote followers, this may generate quite some
   traffic.
3. If the user change is an attempt at usurpation, the remote followers will
   unknowingly follow the usurper. Note that this is *not* a change of
   behavior, Mastodon already behaves like that, although delivery might be
   unreliable, and the usurper would not have known the former user's
   followers.

* Rename ResubscribeWorker to RefollowWorker

* Process followers in batches
2017-09-12 23:10:40 +02:00
unarist
af10c9fbff Add section for protocol specific information on the admin page (#4910)
This PR adds section for protocol specific information, then always show
both of OStatus and ActivityPub. Specifically, this will help admins to
check PuSH subscription status and unsubscribe manually, even `protocol`
has been changed.

This also includes below changes:

* Add `overflow: hidden` to prevent float leaking
* Add missing fields for ActivityPub
2017-09-12 23:06:10 +02:00
Eugen Rochko
8f8e677630 Clean up and improve generated OpenGraph tags (#4901)
- Return all images as og:image
- Return videos as og:image (preview) and og:video
- Return profile:username on profiles
2017-09-12 05:39:38 +02:00
Eugen Rochko
4931eac280 Fix nil error for old toots that don't have a conversation (#4900) 2017-09-12 00:57:18 +02:00
Eugen Rochko
881856553e Fix #4894 - Merge context hash into final JSON hash after key transform (#4898) 2017-09-12 00:16:18 +02:00
Eugen Rochko
0a6b098668 Fix count numbers from ActivityPub not being saved (#4899)
They are marked as read-only by Rails, but we know what we are doing,
so we are un-marking them as such.

The mastodon:maintenance:update_counter_caches task is not really
supposed to be run anymore (it was a one-time thing during an upgrade)
however, just in case, I have modified it to not touch ActivityPub
accounts.

Also, no point writing to logger from these rake tasks, since they
are not to be run from cron. Better to give stdout feedback.
2017-09-12 00:16:03 +02:00
Eugen Rochko
0ef9d45d05 Fix error when following locked accounts (#4896) 2017-09-11 23:50:37 +02:00
unarist
47d48fed8d Reset preview image if avatar/header image selection was cancelled (#4893) 2017-09-11 16:19:54 +02:00
Anna e só
c2bee07dbc l10n: Full PT-BR translation (#4882)
* devise.pt-BR.yml now fully translated

* pt-BR.json now fully translated

* pt-BR.yml partially translated; 46 lines left

* pt-BR.yml now fully translated

* simple_form.pt-BR.yml fully translated

* doorkeeper.pt-BR.yml now fully translated

* E-mail instructions on app/views/user_mailer added and fully translated

* PT-BR translation for #4871

* Deleted an unwanted caracter on pt-BR.yml

* Fixing typos on pt-BR.yml

* Added translation for Pinned toots tab on pt-BR.json

* Added missing translation for navigation_bar.pins
2017-09-11 08:40:29 +09:00
Masoud Abkenar
a345479de2 l10n: update Persian translation (#4880)
* l10n: update Persian translation

* l10n: fix missing Persian translation
2017-09-11 08:35:27 +09:00
Eugen Rochko
c450ddb613 Fix POST /api/v1/follows error when already following (#4878) 2017-09-10 15:09:06 +02:00
Eugen Rochko
72e662bb0d Hide modal loading screen for media/video/boost/confirm/actions modals (#4873) 2017-09-10 10:26:01 +02:00
Eugen Rochko
7d7844a47f Default follows for new users (#4871)
When a new user confirms their e-mail, bootstrap their home timeline
by automatically following a set of accounts. By default, all local
admin accounts (that are unlocked). Can be customized by new admin
setting (comma-separated usernames, local and unlocked only)
2017-09-10 09:58:38 +02:00
Eugen Rochko
f2cbfb2eb3 Fix dimensions of loading component for compose drawer (#4872) 2017-09-10 08:48:11 +02:00
Quent-in
bc077018b8 i10n minors changes for 1.6 (#4867)
* wrong preposition + typo

* wrong preposition + typo

* Typo

* Typo

* minor changes

* minor changes
2017-09-09 18:22:56 +02:00
Eugen Rochko
90712d4293 Fix errors preventing UnsubscribeService from working (#4866) 2017-09-09 17:36:27 +02:00
Eugen Rochko
6867681c7c Add script to make embedded iframes autosize (#4853) 2017-09-09 16:23:44 +02:00
Eugen Rochko
bdc8b4fd91 Disable mouse-based pause from #4859 (#4865)
It wasn't working ideally and introduced some annoying false positivies
2017-09-09 15:09:50 +02:00
unarist
c7908e2d09 Fix scroll behavior and others on paused timeline (#4864)
Resolved:

* Lot of redundant renders while mouse moving
* Scroll jumping when timeline loaded
* Scroll position isn't kept when statuses below the scrollTop was deleted then new status arrived

Unresolved:

* Scroll position isn't kept when statuses over the scrollTop was deleted then new status arrived
-> It needs to know which statuses are over the scrollTop
* New status indicator should be active when new statuses arrived while mouse moved recently
-> It needs a) update indicator in ScrollableList, or b) set scrollTop status while mouse moving
2017-09-09 14:16:11 +02:00
Yamagishi Kazutoshi
c9d04f1c39 Fix second report (regression from 3b81baaaaf) (#4863) 2017-09-09 13:42:48 +02:00
Eugen Rochko
9e15eeec63 Add missing reject_media check before avatar download via ActivityPub (#4862) 2017-09-09 13:41:45 +02:00
Lynx Kotoura
3c45d3963a Scrollable tables in settings pages (#4857)
* Scrollable tables in settings pages

* Add space before curly brace
2017-09-09 02:26:58 +02:00
Eugen Rochko
baa8b82179 Fix #1004 - Temporarily pause timeline if there's been recent mouse movement (#4859) 2017-09-09 02:26:41 +02:00
Eugen Rochko
4b460bc571 Fix #4852 - Check if already requested from FollowService (#4855) 2017-09-09 02:02:44 +02:00
Eugen Rochko
7ca173be47 Fix #4850 - When visibility missing from API call to toot, fallback to user preference (#4861) 2017-09-09 02:02:29 +02:00
unarist
1ae5d49a71 Refresh timeline after toot while the timeline is disconnected (#4858)
To reflect status posting immediately, we've inserted the status into timelines directly. However, status insertion changes "latest status", and it means next timeline refresh only fetches statuses since the inserted status. This behavior is very bad for disconnected timeline and mobile views.

After this patch, it refreshes timeline for disconnected timelines, instead of direct insertion.
2017-09-08 21:43:34 +02:00
unarist
a12572e074 Handle stream_entry URL correctly in ActivityPub (#4854)
In before, the method uses stream_entry id as status id, so replied status was wrongly selected.

This PR uses StatusFinder which was introduced with `Api::Web::EmbedsController`.
2017-09-08 18:20:03 +02:00
Quent-in
dabc309ca3 i10n update OC and FR (#4849)
* Missing "navigation_bar.pins"

* Missing "navigation_bar.pins"
2017-09-08 13:55:47 +02:00
Eugen Rochko
1caf11ddcc Fix language filter codes (#4841)
* Fix language filter codes

CLD3 returns BCP-47 language identifier, filter settings expect
identifiers in the ISO 639-1 format. Convert between formats,
and exclude duplicate languages from filter choices (zh-CN->zh)

* Fix zh name
2017-09-08 12:32:22 +02:00
Eugen Rochko
95f018a3d4 "Mute conversation" option on all own toots, not just in notifications (#4844)
That way you can mute notifications for a toot before you get replies
to it or boosts or favourites
2017-09-08 12:00:30 +02:00
Eugen Rochko
a4caa7eb62 Fetch statuses/following/followers numbers from ActivityPub collections (#4840) 2017-09-08 12:00:17 +02:00
m4sk1n
7c2d84910c i18n: Update Polish translation (#4845)
Signed-off-by: Marcin Mikołajczak <me@m4sk.in>
2017-09-08 05:51:48 +09:00
Quent-in
b00cc4b9bd i10n OC / FR update Pinned toots (#4842)
* Added column.pins

New strings

* Added column.pins

* Update confirmation_instructions.oc.html.erb

* Update confirmation_instructions.oc.text.erb

* Update password_change.oc.html.erb

* Update password_change.oc.text.erb

* Update reset_password_instructions.oc.html.erb

* Update reset_password_instructions.oc.text.erb

* Update confirmation_instructions.oc.html.erb

* Update confirmation_instructions.oc.text.erb
2017-09-07 22:07:03 +02:00
Eugen Rochko
dd6ede554f Fix #4834 - Adjust Status#local and Status#remote scopes (#4839) 2017-09-07 20:18:34 +02:00
PFM
7d853b514a Use <button> instead of <div role="button"> (#4835) 2017-09-07 16:18:41 +02:00
voidSatisfaction
85c7c42098 Add Pinned toot column (#4817)
* Add Pinned_toot_section

* Fix add frozen_string_literal

* Fix delete no need controller and tests

* Fix replace query strings to axios params

* Fix change value to accountId and disabling more button
2017-09-07 09:58:11 +02:00
voidSatisfaction
8185f98872 Feat add validation for report comment: characters under 1000 valid (#4833) 2017-09-07 09:55:42 +02:00
Quent-in
be75b13d68 i10n update OC and FR files (#4824)
* Onboarding: corrections

Some missing letters and spaces or better wording

* Embed

Translated as Intégrer in FR / Embarcar in OC
2017-09-07 08:55:03 +09:00
Olivier Humbert
9417c9bb8f Update fr.json (#4830)
typo
2017-09-06 22:32:49 +02:00
Eugen Rochko
11bddd31ce Fix locking migration on statuses table. Nullable column and NO default value (#4825) 2017-09-06 20:57:52 +02:00
Eugen Rochko
e7adbf572a Switch to static URIs, new URI format in both protocols for new statuses (#4815)
* Decouple Status#local? from uri being nil

* Replace on-the-fly URI generation with stored URIs

- Generate URI in after_save hook for local statuses
- Use static value in TagManager when available, fallback to tag format
- Make TagManager use ActivityPub::TagManager to understand new format
- Adjust tests

* Use other heuristic for locality of old statuses, do not perform long query

* Exclude tombstone stream entries from Atom feed

* Prevent nil statuses from landing in Pubsubhubbub::DistributionWorker

* Fix URI not being saved (#4818)

* Add more specs for Status

* Save generated uri immediately

and also fix method order to minimize diff.

* Fix alternate HTML URL in Atom

* Fix tests

* Remove not-null constraint from statuses migration to speed it up
2017-09-06 19:01:28 +02:00
voidSatisfaction
13ffa3c59e Add Smartphone screen favourite back button and adjust styles (#4813)
* Feat add get-back button on favourite columnHeader

* Style adjust nice looking get-back button

* Fix delete media query and add padding right

* fix: restore padding and add lastchild style for back-button
2017-09-06 17:32:15 +02:00
Masoud Abkenar
aec5097d44 i18n: update Persian translation (#4822) 2017-09-06 17:31:54 +02:00
Clworld
1646f622a5 fix scroll position (#4821) 2017-09-06 17:29:56 +02:00
PFM
d8d2a54741 fix text position of NSFW for video file (#4819) 2017-09-06 13:55:47 +02:00
Adam Thurlow
6994664a13 swift-enable the paperclip! 📎 (#2322) 2017-09-05 23:17:06 +02:00
abcang
be7ffa2d75 Do not execute the job with the same arguments as the retry job (#4814) 2017-09-05 20:56:20 +02:00
Eugen Rochko
e821c00e74 Fix mentions in direct statuses not being delivered via AP (#4806) 2017-09-05 20:55:25 +02:00
Eugen Rochko
9b994c4aee Fix #4794 - Fake instant follow in API response when account is believed unlocked (#4799) 2017-09-05 17:48:13 +02:00
Lynx Kotoura
4c3dd0b254 Adjust status embeds (#4808)
* Adjust status embeds

Adjust styles of embed code. Adjust styles of embed pages. Fix overflow of embed-modal.

* Remove trailing whitespace

* Using width from the variable
2017-09-05 12:31:24 +02:00
Eugen Rochko
9b50a9dd83 Fix some ActivityPub JSON bugs (#4796)
- Fix assumption that `url` is always a string. Handle it if it's an
  array of strings, array of objects, object, or string, both for
  accounts and for objects
- `sharedInbox` is actually supposed to be under `endpoints`, handle
  both cases and adjust the serializer
2017-09-04 18:26:33 +02:00
nullkal
2293466edd Show pinned statuses only in the top of the profile page (#4803)
* Show pinned statuses only in the top of the profile page

* Refactor AccountsController#show_pinned_statuses?
2017-09-04 12:53:18 +02:00
Eugen Rochko
09cffaaf04 Fix #4551 - Use correct syntax for content preloading (#4798) 2017-09-04 02:14:12 +02:00
abcang
334a633c2a Fix a problem that notification column goes to top (#4792) 2017-09-03 20:31:51 +02:00
Andreas Drop
d3f46a77c3 Make german translation more gender neutral #4755 (#4789) 2017-09-03 15:17:24 +02:00
May Kittens Devour Your Soul
579c7a88e0 Croatian translation - updated (#4183)
* Update hr.json

* Update hr.json
2017-09-03 18:10:53 +09:00
Quent-in
8538170c2d l10n Occitan update for Embed, cancel follow request, ... (#4788)
* Update: some missing strings

* Updates missing strings

* New string

* Update oc.json

* Update oc.yml

* Update oc.json
2017-09-03 18:08:37 +09:00
Eugen Rochko
a187dcefa1 Instantly upgrade account to ActivityPub if we receive ActivityPub payload (#4766) 2017-09-03 01:11:23 +02:00
Eugen Rochko
5d170587e3 Improve client-side German i18n (#4785) 2017-09-02 23:21:48 +02:00
Eugen Rochko
37fdddd927 Rename "locked" to "manuallyApprovesFollowers" in ActivityPub (#4779)
See: <https://www.w3.org/wiki/Activity_Streams_extensions#as:manuallyApprovesFollowers>
2017-09-02 23:13:35 +02:00
abcang
6ec1aa372d Validate data of Imports (#4782) 2017-09-02 20:45:42 +02:00
m4sk1n
2c3544eedd i18n: Improve Polish translation (#4783)
Signed-off-by: Marcin Mikołajczak <me@m4sk.in>
2017-09-02 20:45:20 +02:00
Eugen Rochko
d3b6746173 Make "unfollow" undo pending outgoing follow request too (#4781)
* Make "unfollow" undo pending outgoing follow request too

* Add cancel button to web UI when awaiting follow request approval

* Make the hourglass button do the cancelling
2017-09-02 20:44:41 +02:00
PFM
2a5d1d5a1b fix text position of NSFW in Safari (Mac/iPhone) (#4570) 2017-09-02 18:52:56 +02:00
unarist
6a4e2db661 Raise an error for remote url in StatusFinder (#4776)
* Raise an error for remote url in StatusFinder

Previous implementation had allowed remote url with status id which also exists on local.

Then that bug leads /api/web/embed to return wrong embed url.

* Fix oembed_controller_spec
2017-09-02 17:42:47 +02:00
unarist
bfa7f9ebf2 Fix WebPush (regression from #4524) (#4778)
* Fix NoMethodError in Web::PushSubscription

```
undefined method `site_contact_email' for #<Class:0x00005976d13c40>

/usr/local/bundle/gems/activerecord-5.1.3/lib/active_record/dynamic_matchers.rb:22:in `method_missing'
/usr/local/bundle/gems/attr_encrypted-3.0.3/lib/attr_encrypted.rb:295:in `method_missing'
/usr/local/bundle/gems/attr_encrypted-3.0.3/lib/attr_encrypted/adapters/active_record.rb:129:in `method_missing_with_attr_encrypted'
/mastodon/app/models/web/push_subscription.rb:53:in `push_payload'
```

* Specify serializer in Web::NotificationSerializer
2017-09-02 16:50:42 +02:00
Surinna Curtis
8cc1ed3c55 Don't unconditionally call preventDefault and stopPropagation on all keyup events (#4777)
* UploadArea should only preventDefault for Escape

This will make accessibility for some things less effortful, since we won't have to define a prior event handler to do whatever should be happening by default.

* Remove workaround for fixed bug in SettingToggle

SettingToggle was toggling itself in response to keydown of space, and then the keyup was doing it again
2017-09-02 16:27:16 +02:00
m4sk1n
5e1e466da0 i18n: Update Polish translation (#4775)
Signed-off-by: Marcin Mikołajczak <me@m4sk.in>
2017-09-02 16:25:54 +02:00
Lynx Kotoura
cfe39fb58d Adjust settings pages (#4765)
* views: Adjust heading positions

* Adjust settings pages

Adjust label. Adjust tables. Adjust admin/reports/* pages. Fix 2FA QR code style for narrow devices. Widen several pages. Increase contrast.

* Remove trailing whitespace
2017-09-02 15:49:28 +02:00
Yamagishi Kazutoshi
ba8fb2fd0f Add text color style for noscript link (#4772) 2017-09-02 14:02:15 +02:00
Yamagishi Kazutoshi
6fd2e8c3c5 Fix profile page when use system's font (#4774) 2017-09-02 14:01:59 +02:00
Yamagishi Kazutoshi
15963a15c6 Disable embed modal when private status (#4773)
* Disable embed modal when private status

* Remove `reblogDisabled`
2017-09-02 14:01:44 +02:00
Eugen Rochko
1b5806b744 Define missing JSON-LD properties (#4767)
Using _: property names is discouraged, as in the future,
canonicalization may throw an error when encountering that instead
of discarding it silently like it does now.

We are defining some ActivityStreams properties which we expect
to land in ActivityStreams eventually, to ensure that future versions
of Mastodon will remain compatible with this even once that happens.
Those would be `locked`, `sensitive` and `Hashtag`

We are defining a custom context inline for some properties which we
do not expect to land in any other context. `atomUri`, `inReplyToAtomUri`
and `conversation` are part of the custom defined OStatus context.
2017-09-02 14:01:23 +02:00
mayaeh
ab9f1b6e50 Add japanese translations for embed modal feature. (#4770) 2017-09-02 14:48:51 +09:00
Yamagishi Kazutoshi
b767eb7ff8 Add RoutingHelper (#4769) 2017-09-02 03:03:20 +02:00
m4sk1n
0b32338e3f Add link to 'noscript' message (#4561)
* Add link to 'noscript' message

Signed-off-by: Marcin Mikołajczak <me@m4sk.in>

* remove indent
2017-09-02 01:52:28 +02:00
Eugen Rochko
e482595a5d Add ActivityPub handler for Delete->Actor activities (#4761) 2017-09-01 21:54:42 +02:00
Eugen Rochko
9c04fadec9 Finish up embed modal feature (#4759)
* Add embed button to dropdowns of in-timeline statuses

* yarn run manage:translations
2017-09-01 21:30:13 +02:00
Eugen Rochko
390bfec6da Avoid sending some ActivityPub payloads if the receiver will get them through distribution (#4739) 2017-09-01 21:26:01 +02:00
Eugen Rochko
c2980d5b17 Do not rely on activity arriving exactly once after delete arrived (#4754) 2017-09-01 21:12:59 +02:00
Cygnan
a75aa62f5b Adjust padding on the public profile page (#4757)
* Fix a style issue on the public profile page for some mobile browsers

Signed-off-by: Cygnan <email@cygnan.com>

* Set padding-bottom to 20px

Signed-off-by: Cygnan <email@cygnan.com>
2017-09-01 21:01:23 +02:00
unarist
8fd8f81ae7 Deduplicate with local status on Create activity (#4763) 2017-09-01 21:00:43 +02:00
Eugen Rochko
921cf3e9c8 Fix NoMethodError (#4762) 2017-09-01 20:50:42 +02:00
Eugen Rochko
7dc5035031 Make PreviewCard records reuseable between statuses (#4642)
* Make PreviewCard records reuseable between statuses

**Warning!** Migration truncates preview_cards tablec

* Allow a wider thumbnail for link preview, display it in horizontal layout (#4648)

* Delete preview cards files before truncating

* Rename old table instead of truncating it

* Add mastodon:maintenance:remove_deprecated_preview_cards

* Ignore deprecated_preview_cards in schema definition

* Fix null behaviour
2017-09-01 16:20:16 +02:00
Yamagishi Kazutoshi
2305f7c391 Use system's default font on non web UI pages (#4553)
* Use system's default font on non web UI pages

* Remove import for Redirect
2017-09-01 16:13:31 +02:00
Eugen Rochko
ff7d02b236 Make first use less overwhelming with browser permissions (#4760)
- Ask for desktop notifications after 1 minute of use instead of
  instantly
- Ask for protocol handler permission after 5 minutes of use
  instead of instantly
2017-09-01 16:07:08 +02:00
Damien Erambert
1a0df58878 Update FR locales (#4714)
* Make the fr locales up-to-date with the last changes (new profile view, applications)

* Use the same wording for toots in fr.yml and fr.json

* Translate the pin related strings

* Translate pin-related locales on the front-end

* Add missing locales in doorkeeper.fr.yml and remove un-used ones

* Change "posts" back to "status" in the /about/more page in fr.yml

* Fix typos for "status" in fr.yml

* fix typo for "status" in fr.json

* Remove duplicate string

* Non-breaking space before punctuation

* 'Better' translation for "unpin"

* Put back 'pouet' where it was already

* Fix

* Fix
2017-09-01 14:09:01 +02:00
Eugen Rochko
74437c6bff Refactor Web::PushSubscription, remove welcome message (#4524)
* Refactor Web::PushSubscription, remove welcome message

* Add missing helper

* Use locale of the receiver on push notifications (#4519)

* Remove unused translations

* Fix dir on notifications
2017-09-01 13:35:23 +02:00
unarist
504737e860 Convert OStatus tag to ActivityPub id on in_reply_to resolution (#4756) 2017-09-01 13:34:04 +02:00
unarist
af2d22f88c Fallback from perform_via_activitypub on private posts (#4758)
Currently, private / direct posts via OStatus from AP compatible instance will be dropped due to failing to fetch AP version.

So this fallbacks to OStatus handling:

* when failed to fetch ActivityPub version
* when status is neither :public nor :unlisted
2017-09-01 12:33:02 +02:00
Eugen Rochko
9a5ae09620 Remove identity context from output of LinkedDataSignature (#4753) 2017-08-31 21:32:09 +02:00
unarist
f7937d903c Don't process ActivityPub payload if signature is invalid (#4752)
* Don't process ActivityPub payload if signature is invalid

* Fix style issue
2017-08-31 17:18:49 +02:00
James
6b2be5dbfb Guarantee Subscription service first account has proper URL details (#4732)
* Guarantee Subscription service first account has proper URL details

Subscription Service potentially could break if the first user suspended
themselves, creating a situation where the urls that populate throughout
subscription service's PuSH request would cause the remote API to throw 503 errors.

Guaranteeing that the first account picked is not suspended prevents this problem.

* Fix style issue
2017-08-31 15:44:00 +02:00
Akihiko Odaki
69957ed10a Fix the usages of Detect Passive Events (#4749) 2017-08-31 11:20:54 +02:00
Eugen Rochko
d1a78eba15 Embed modal (#4748)
* Embed modal

* Proxy OEmbed requests from web UI
2017-08-31 03:38:35 +02:00
Eugen Rochko
2db9ccaf3e Add sharedInbox to actors (#4737) 2017-08-31 00:02:59 +02:00
MitarashiDango
fec13735a7 error fixed (when loading pages in single column mode.) (#4746) 2017-08-30 17:30:25 +02:00
Eugen Rochko
7b8f262840 Forward ActivityPub creates that reply to local statuses (#4709)
* Forward ActivityPub creates that reply to local statuses

* Fix test

* Fix wrong signers
2017-08-30 15:37:02 +02:00
Yamagishi Kazutoshi
3f51a22d3b Add close tag of iframe for oEmbed response (#4745)
* Add close tag of iframe for oEmbed response

* add comma
2017-08-30 14:03:17 +02:00
nullkal
39e7a763ff Use request.remote_ip instead of request.ip (#4744) 2017-08-30 10:24:30 +02:00
Eugen Rochko
e95bdec7c5 Update status embeds (#4742)
- Use statuses controller for embeds instead of stream entries controller
- Prefer /@:username/:id/embed URL for embeds
- Use /@:username as author_url in OEmbed
- Add follow link to embeds which opens web intent in new window
- Use redis cache in development
- Cache entire embed
2017-08-30 10:23:43 +02:00
abcang
f59ed3a4fa Scroll smoothly to the right (#4735) 2017-08-29 17:06:19 +02:00
MitarashiDango
7be620775e fix error when single columns mode. (#4734) 2017-08-29 16:11:28 +02:00
Eugen Rochko
4c76402ba1 Serialize ActivityPub alternate link into OStatus deletes, handle it (#4730)
Requires moving Atom rendering from DistributionWorker (where
`stream_entry.status` is already nil) to inline (where
`stream_entry.status.destroyed?` is true) and distributing that.

Unfortunately, such XML renderings can no longer be easily chained
together into one payload of n items.
2017-08-29 16:11:05 +02:00
Akihiko Odaki
9958eba356 Do not scroll the columns area due to redirection (#4541)
Commit 9d1f8b9d6a scrolls the columns area
when the route changes since the user is likely to want to see the
rightmost column in such cases.

However, redirection is automatic and does not indicate users' intension.
Do not scroll the columns area due to one.
2017-08-29 14:16:21 +02:00
abcang
0827c09c44 Generalized the infinite scrollable list (#4697) 2017-08-28 22:23:44 +02:00
unarist
938cd2875b Fix Delete activity handling when the status has been reblogged (#4729) 2017-08-28 22:08:11 +02:00
unarist
7876aed134 Fix deletion of status which has been reblogged (#4728) 2017-08-28 21:38:59 +02:00
abcang
ce9a5f358e rescue HTTP::ConnectionError in RemoteFollowController#create (#4726) 2017-08-28 19:12:09 +02:00
Lynx Kotoura
07994eed00 Adjust "signed in as" pages (#4720)
* Adjust "signed in as" pages


Fix min-width


Set width of .account-header .name

To apply text-overflow and overflow settings
Set overflow for detailed-status__display-name

* Remove trailing whitespace
2017-08-28 00:01:07 +02:00
Lynx Kotoura
bab9afaa09 Adjust public profile pages (#4713)
* Adjust account-grid in public profiles

Full-width card on mobile UI. Set break-word for long name and ID. Fix margin.

* Reduce padding-bottom of public profiles

* Revive next prev buttons in mobile public profiles

In followers followees pages.

* Revert break-word for username

* Fix overflow of display_name

Need re-setting text-overflow and overflow in display: block;
2017-08-27 23:59:51 +02:00
Eugen Rochko
15093f9113 Shorten display of large numbers on public profiles (#4711) 2017-08-27 17:04:45 +02:00
mayaeh
f92d991e52 Add japanese translations for Pinned statuses based on pawoo. (#4717)
Add japanese translations for pin_errors.
2017-08-28 00:03:27 +09:00
Eugen Rochko
26402ee2cb Adjust RTL styles (#4712) 2017-08-27 13:35:18 +02:00
unarist
f095a9f8a5 Allow Symbol keyed Hash in LinkedDataSignature (#4715)
SerializarbleResource#as_json serializes to Symbol keyed Hash, but current
implementation of LinkedDataSignature expects String keyed Hash.

So it generates broken payload.
2017-08-27 13:35:01 +02:00
Eugen Rochko
0d5d11eeff Add _:inReplyToAtomUri to ActivityPub (#4702) 2017-08-26 19:55:10 +02:00
Eugen Rochko
0397c58b61 Forward ActivityPub deletes to followers of rebloggers (#4706) 2017-08-26 18:52:53 +02:00
Eugen Rochko
884b085f53 Use Tombstone and _:atomUri in Delete activities as fallback (#4704) 2017-08-26 16:10:35 +02:00
Eugen Rochko
2a2698e450 Add ActivityPub serializer for Undo of Announce (#4703) 2017-08-26 15:32:40 +02:00
Lynx Kotoura
8ecfdd8795 Set margin between character-counter and compose-form__buttons (#4698)
For some languages publish translation is long.
2017-08-26 14:23:20 +02:00
Eugen Rochko
00840f4f2e Add handling of Linked Data Signatures in payloads (#4687)
* Add handling of Linked Data Signatures in payloads

* Add a way to sign JSON, fix canonicalization of signature options

* Fix signatureValue encoding, send out signed JSON when distributing

* Add missing security context
2017-08-26 13:47:38 +02:00
Anna e só
1cebfed23e Added new translations of error messages, block and mute domains and users, privacy disclaimers, etc (#4700)
* Added new translations of error messages, block and mute domains and users

* Added new translations of error messages, block and mute domains and users
2017-08-26 20:45:35 +09:00
masarakki
649a20ab46 authorize-follow-requests-after-unlocking (#4658) 2017-08-26 12:40:03 +02:00
Yamagishi Kazutoshi
3ac7b353f8 Fix missing at-sign (regression from #4688) (#4705) 2017-08-26 12:39:26 +02:00
Lynx Kotoura
21bb4a6c3b Fix ar.json (#4699)
Remove ! from compose_form.publish
2017-08-25 20:02:44 +02:00
nullkal
c2af138113 Allow multiple pinned statuses to be shown and make them be ordered b… (#4690)
* Allow multiple pinned statuses to be shown and make them be ordered by pinned date

* Set timestamps NOT NULL

* Make single-line pinned_statuses

* Spec for pinned_statuses

* Remove redundant empty line
2017-08-25 18:50:52 +02:00
unarist
fb8aa2b3ba Apply user timezone for the title attribute of .time-ago (#4693) 2017-08-25 17:21:16 +02:00
Yamagishi Kazutoshi
00f9f16f94 Change timezone of the datetime to what browser specifies (#4688) 2017-08-25 17:21:00 +02:00
Lynx Kotoura
18f69fb964 Adjust styles of landing pages. (#4682)
* Adjust about.scss

* Delete trailing whitespace.
2017-08-25 17:19:35 +02:00
Quent-in
04c3fb2189 i18n Updated strings (#4675 - pinned toot) (#4695)
* Added string for pinned toots

* Pinned toot #4675 + missing string

Somehow I deleted it "enabled_success"

* update after advice
2017-08-25 23:04:52 +09:00
Yamagishi Kazutoshi
b88635202f Add label for application scopes (#4691)
* Add label for application scopes

* hint
2017-08-25 13:03:26 +02:00
m4sk1n
409051c22c i18n: Update Polish translation #4675 (#4692)
Signed-off-by: Marcin Mikołajczak <me@m4sk.in>
2017-08-25 17:58:31 +09:00
Eugen Rochko
9caa90025f Pinned statuses (#4675)
* Pinned statuses

* yarn manage:translations
2017-08-25 01:41:18 +02:00
Ratmir Karabut
c5157ef07b Update Russian translation (#4685)
* Add Russian translation (ru)

* Fix a missing comma

* Fix the wording for better consistency

* Update Russian translation

* Arrange Russian setting alphabetically

* Fix syntax error

* Update Russian translation

* Fix formatting error

* Update Russian translation

* Update Russian translation

* Update ru.jsx

* Fix syntax error

* Remove two_factor_auth.warning (appears obsolete)

* Add missing strings in ru.yml

A lot of new strings translated, especially for the newly added admin section

* Fix translation consistency

* Update Russian translation

* Update Russian translation (pluralizations)

* Update Russian translation

* Update Russian translation

* Update Russian translation (pin)

* Update Russian translation (account deletion)

* Fix extra line

* Update Russian translation (sessions)

* Update Russian translation

* Update Russian translation

* Fix merge conflicts (revert)
2017-08-25 07:11:06 +09:00
Damien Erambert
f72ed21cd6 Don't load Roboto webfont when system font is used in the app (#4591)
* Don't load Roboto webfont when system font is used in the app

* remove trailing whitespace
2017-08-24 19:28:49 +02:00
Eugen Rochko
cf615abbf9 Add configuration to disable private status federation over PuSH (#4582) 2017-08-24 17:51:32 +02:00
unarist
b01a19fe39 Fetch reblogs as Announce activity instead of Note object (#4672)
* Process Create / Announce activity in FetchRemoteStatusService

* Use activity URL in ActivityPub for reblogs

* Redirect to the original status on StatusesController#show
2017-08-24 16:21:42 +02:00
Eugen Rochko
c66fe2aeba Minor performance improvement for test suite (#4678) 2017-08-24 13:31:55 +02:00
Yamagishi Kazutoshi
fbe1115114 Remove eslint-disable comments (#4681)
Do not reject console.error and console.warn with ESLint rules.
2017-08-24 12:15:36 +02:00
Quent-in
e4c761f902 l18n update OC new strings (#4664) (#4680)
* New strings

* Update

Thin non breaking spaces

* Update

Thin non breaking spaces

* Update

Thin non breaking spaces
2017-08-24 16:16:32 +09:00
HIKARU KOBORI
2c6a85832c Fix typo in admin/status_controller.rb (#4679) 2017-08-24 04:03:52 +02:00
nullkal
80393a23d0 Use checkboxes for application scope setting (#4671) 2017-08-23 15:16:20 +02:00
unarist
760cfe328f Fix accessing to XML attribute in FetchAtomService (#4668) 2017-08-23 12:25:57 +02:00
Eugen Rochko
c1b086a538 Fix up the applications area (#4664)
- Section it into "Development" area
- Improve UI of application form, index, and details
2017-08-23 00:59:35 +02:00
Daigo 3 Dango
696c2c6f2f Add Mastodon::Source.url (#4643)
* Add Mastodon::Source.url

* Update spec

* Refactor

Move things frmo Mastodon::Source to Mastodon::Version
2017-08-22 22:54:19 +02:00
unarist
5927b43c0f Ignore empty response in ActivityPub::FetchRemoteStatusService (#4661)
* Ignore empty response in ActivityPub::FetchRemoteStatusService

This fixes `NoMethodError: undefined method `[]' for nil:NilClass` error.

* Check json.nil? in JsonLdHelper#supported_context?
2017-08-22 20:00:49 +02:00
Colin Mitchell
871c0d251a Application prefs section (#2758)
* Add code for creating/managing apps to settings section

* Add specs for app changes

* Fix controller spec

* Fix view file I pasted over by mistake

* Add locale strings. Add 'my apps' to nav

* Add Client ID/Secret to App page. Add some visual separation

* Fix rubocop warnings

* Fix embarrassing typo

I lost an `end` statement while fixing a merge conflict.

* Add code for creating/managing apps to settings section

- Add specs for app changes
- Add locale strings. Add 'my apps' to nav
- Add Client ID/Secret to App page. Add some visual separation
- Fix some bugs/warnings

* Update to match code standards

* Trigger notification

* Add warning about not sharing API secrets

* Tweak spec a bit

* Cleanup fixture creation by using let!

* Remove unused key

* Add foreign key for application<->user
2017-08-22 18:33:57 +02:00
unarist
d63de55ef8 Fix bugs which OStatus accounts may detected as ActivityPub ready (#4662)
* Fallback to OStatus in FetchAtomService

* Skip activity+json link if that activity is Person without inbox
* If unsupported activity was detected and all other URLs failed, retry with ActivityPub-less Accept header

* Allow mention to OStatus account in ActivityPub

* Don't update profile with inbox-less Person object
2017-08-22 18:30:15 +02:00
Eugen Rochko
72bb3e03fd Support more variations of ActivityPub keyId in signature (#4630)
- Tries to avoid performing HTTP request if the keyId is an actor URI
- Likewise if the URI is a fragment URI on top of actor URI
- Resolves public key, returns owner if the owner links back to the key
2017-08-21 22:57:34 +02:00
Eugen Rochko
f391a4673a Periodically remove expired PuSH subscribers (#4654) 2017-08-21 22:56:33 +02:00
Lynx Kotoura
143b77e10d Increase contrast in landing pages (#4567)
* Increase contrast in about and about/more page

* Lighten em color in landing pages

* Increase contrast in landing pages


Fix about.scss
2017-08-21 21:59:03 +02:00
Eugen Rochko
4cbb638604 Fix visual line-break glitch with .invisible parts of links (#4655) 2017-08-21 17:59:34 +02:00
Eugen Rochko
3534e115e5 Do not try to re-subscribe to unsubscribed accounts (#4653) 2017-08-21 17:32:41 +02:00
abcang
ea958cae7f Refactoring streaming connections (#4645) 2017-08-21 15:04:34 +02:00
Yamagishi Kazutoshi
10e9a9a3f9 Use URI.join even when S3 enabled (#4652) 2017-08-21 12:42:16 +02:00
Eugen Rochko
6e9eda5331 ActivityPub migration procedure (#4617)
* ActivityPub migration procedure

Once one account is detected as going from OStatus to ActivityPub,
invalidate WebFinger cache for other accounts from the same domain

* Unsubscribe from PuSH updates once we receive an ActivityPub payload

* Re-subscribe to PuSH unless already unsubscribed, regardless of protocol
2017-08-21 01:14:40 +02:00
m4sk1n
4c23544714 i18n: Minor changes in Polish translation (#4649)
* i18n: Minor changes in Polish translation

* i18n: pl
2017-08-21 07:57:28 +09:00
Eugen Rochko
74e5078795 Fix #4637 - Re-add missing doorkeeper_authorize for /api/v1/verify_credentials (#4650) 2017-08-21 00:41:08 +02:00
Yamagishi Kazutoshi
110227ac5e Remove status from favorites list when unfavorited (#4597) 2017-08-20 23:23:05 +02:00
unarist
f26758dc01 Fix .information-board style for Safari (#4602)
flex-basis: 0 allows make flexbox smaller than its contents on Safari <10.

https://github.com/philipwalton/flexbugs#1-minimum-content-sizing-of-flex-items-not-honored
2017-08-20 20:45:44 +02:00
abcang
23792f5a7c Fix hasUnread on HashtagTimeline (#4644) 2017-08-20 17:12:06 +02:00
Eugen Rochko
fe5b66aa08 Handle duplicate ActivityPub activities (#4639)
* Handle duplicate ActivityPub activities

Only perform side-effects when record processed for the first time

* Fast-forward repeat follow requests
2017-08-20 16:53:47 +02:00
takayamaki
d5acf4275f Improve about ja translation standalone.public_title (#4641) 2017-08-20 20:27:14 +09:00
Eugen Rochko
412ea87306 Improve ActivityPub/OStatus compatibility (#4632)
*Note: OStatus URIs are invalid for ActivityPub. But we have them for
as long as we want to keep old OStatus-sourced content and as long as
we remain OStatus-compatible.*

- In Announce handling, if object URI is not a URL, fallback to object URL
- Do not use specialized ThreadResolveWorker, rely on generalized handling
- When serializing notes, if parent's URI is not a URL, use parent's URL
2017-08-19 18:44:48 +02:00
Eugen Rochko
774b8661bc Revert #4616 (#4638) 2017-08-19 02:23:47 +02:00
Eugen Rochko
c7d2619ab1 Parse OStatus tag URIs in ActivityPub handlers when those are local (#4631) 2017-08-18 11:24:44 +02:00
Yamagishi Kazutoshi
2edfdab6e6 Don't send Link header when don't know prev and next links (#4633) 2017-08-18 10:42:59 +02:00
Eugen Rochko
4edf9d849f Make ActivityPub::TagManager#local_uri? recognize local URIs with ports (#4628) 2017-08-18 03:21:59 +02:00
Eugen Rochko
10489b4e4a If url attribute not present in Note, fallback to id attribute (#4629) 2017-08-18 02:29:12 +02:00
Eugen Rochko
40c45f5dd9 Put ActivityPub alternate link into Atom, prefer it when processing Atom (#4623) 2017-08-18 01:03:18 +02:00
nightpool
efec02f153 use existing inflections instead of custom helper (#4624)
* use existing inflections instead of custom helper

* use ActiveSupport versions
2017-08-17 23:20:50 +02:00
Eugen Rochko
116b8a6363 Fix #4607 - Accept/reject activities use FollowRequest, which has inverse relations (#4616) 2017-08-17 22:15:37 +02:00
Eugen Rochko
ad892dbc0c Add _:atomUri property for deduplicating OStatus/ActivityPub legacy records (#4593) 2017-08-17 21:35:00 +02:00
nullkal
075d6a1e13 Show what protocol is used for accounts in admin/accounts#index (#4622)
* Show what protocol used for in admin/accounts#index

* Add frozen_string_literal
2017-08-17 17:52:40 +02:00
m4sk1n
2a04bdc87a i18n: Update Polish translation (#4613)
* i18n: Update Polish translation

* Update pl.json
2017-08-16 22:14:23 +02:00
Eugen Rochko
ca7ea1aba9 Redesign public profiles (#4608)
* Redesign public profiles

* Responsive design

* Change public profile status filtering defaults and add options

- No longer displays private/direct toots even if you are permitted access
- By default omits replies
- "With replies" option
- "Media only" option

* Redesign account grid cards

* Fix style issues
2017-08-16 17:12:58 +02:00
Clworld
f814661fca Make share intent modal to make "signed in as" shown. (#4611)
* Make share intent modal to make "signed in as" shown.

* fix glitch on mobile.
2017-08-16 16:48:44 +02:00
abcang
e120d09c98 Fix require_user! behavior when not logged in (#4604) 2017-08-15 14:14:12 +02:00
Eugen Rochko
4fcbb1f838 Re-add missing transaction around status-from-OStatus creation (#4603) 2017-08-14 21:37:21 +02:00
unarist
a855956185 Fix ActivityPub follow interaction and add more specs (#4601) 2017-08-14 16:57:46 +02:00
unarist
5b9ae7981e Update /admin/accounts/:id view for ActivityPub (#4600)
* Add protocol field
* Switch protocol specific information according to active protocol
* Hide PuSH subscription related buttons if ActivityPub is active
2017-08-14 14:09:00 +02:00
Yamagishi Kazutoshi
5f22c0189d Add support for searching AP users (#4599)
* Add support for searching AP users

* use JsonLdHelper
2017-08-14 14:08:34 +02:00
Eugen Rochko
26d26644ac Require "inbox" to be set on actor to be ActivityPub-ready (#4595) 2017-08-14 11:27:25 +02:00
Eugen Rochko
3c6503038e Add protocol handler. Handle follow intents (#4511)
* Add protocol handler. Handle follow intents

* Add share intent

* Improve code in intents controller

* Adjust share form CSS
2017-08-14 04:53:31 +02:00
Yamagishi Kazutoshi
96e9ed13de Fix search (regression from #4589) (#4594) 2017-08-14 04:50:56 +02:00
Eugen Rochko
6df8bd277b Set correct content-type for ActivityPub JSON (#4592) 2017-08-14 04:16:43 +02:00
Eugen Rochko
4e75f0d889 Hook up URL-based resource look-up to ActivityPub (#4589) 2017-08-14 02:29:36 +02:00
Eugen Rochko
a2aeacbfee Add alternate links to ActivityPub resources from HTML/HEAD variants (#4586) 2017-08-13 00:45:04 +02:00
Eugen Rochko
b7370ac8ba ActivityPub delivery (#4566)
* Deliver ActivityPub Like

* Deliver ActivityPub Undo-Like

* Deliver ActivityPub Create/Announce activities

* Deliver ActivityPub creates from mentions

* Deliver ActivityPub Block/Undo-Block

* Deliver ActivityPub Accept/Reject-Follow

* Deliver ActivityPub Undo-Follow

* Deliver ActivityPub Follow

* Deliver ActivityPub Delete activities

Incidentally fix #889

* Adjust BatchedRemoveStatusService for ActivityPub

* Add tests for ActivityPub workers

* Add tests for FollowService

* Add tests for FavouriteService, UnfollowService and PostStatusService

* Add tests for ReblogService, BlockService, UnblockService, ProcessMentionsService

* Add tests for AuthorizeFollowService, RejectFollowService, RemoveStatusService

* Add tests for BatchedRemoveStatusService

* Deliver updates to a local account to ActivityPub followers

* Minor adjustments
2017-08-13 00:44:41 +02:00
Eugen Rochko
ccdd5a9576 Add serializing/unserializing of "locked" actor attribute (#4585) 2017-08-12 17:41:03 +02:00
Eugen Rochko
3d47154c20 Only PuSH-resubscribe to OStatus accounts (#4583) 2017-08-12 02:54:54 +02:00
Sylvhem
d0a217eb92 Minor fixes in the French translation (#4580)
* Ajout de traductions manquantes

Ajoute des traductions pour les chaînes n’en ayant pas en version 1.5.1.

Add translations for the strings that are missing them in 1.5.1.

* Remplace « ' » par « ’ »

Retire de la traduction les apostrophes droites « ' » (U+0027) au profit des apostrophes typographiques « ’ » (U+2019).
En typographie française, les apostrophes typographiques sont utilisées à la place des apostrophes droites. La traduction était incohérente et utilisait les deux.

Remove from the translation all the vertical apostrophes (U+0027) in favor of the curly ones (U+2019).
In French typography, typographic apostrophes are used instead of vertical ones. The translation was incoherent and used both.

* Ajout d’espaces insécables

Ajoute des espaces insécables suivant les régles nécessaires en typographie française.

Add non-breaking spaces following rules of French typography.

* Remplace « status » par « statut »

Remplace le mot anglais « status » par sa traduction française « statut ».

Replace the English word "status" by its French translation "statut".

* Correction de la politique de confidentialité

Apporte diverses corrections à la traduction de la politique de confidentialité.

Add various fixes to the privacy policy's translation.

* Remplace « mentionné » par « mentionné·e »

Harmonise la traduction en remplaçant « mentionné » par sa forme épicène.

Harmonize the translation by replacing "mentionné" (sure) by its epicene form.

* Remplace « Coup d’œil » par « Jeter un coup d’œil… »

Remplace la première traduction par une forme plus proche de la version originelle.

Replace the first translation by something closer to the original version.

* Remplace « Bon Appétoot ! » par « Bon appouetit ! »

Remplace « Bon Appétoot ! » par « Bon appouetit ! » pour essayer de conserver le jeu de mot.

Replace « Bon Appétoot ! » by « Bon appouetit ! » to keep the pun.

* Remplace « Bon Appétoot ! » par « Bon appouetit ! » (2)

Remplace « Bon Appétoot ! » par « Bon appouetit ! » pour essayer de conserver le jeu de mot.

Replace « Bon Appétoot ! » by « Bon appouetit ! » to keep the pun.f

* Corrections

Corrige des fautes d’orthographe et change « appouetit » pour « appouétit ».

Correct some mistakes and change "appouetit" to "appouétit".
2017-08-12 01:33:30 +02:00
Eugen Rochko
81c1303cd6 Handle ActivityPub follows correctly (#4571)
* Handle ActivityPub follows correctly

ActivityPub follows are follow-requests. Always require an Accept.
If account is not locked, auto-accept.

* Handle ActivityPub Accept/Reject-Follow

* Fix wrong method

* Fix wrong class
2017-08-10 22:33:12 +02:00
Yamagishi Kazutoshi
d9a1fb134a Fix emoji picker scrollbar style (#4572) 2017-08-10 13:41:12 +02:00
Eugen Rochko
fdea173237 Add Digest header to requests with body, handle acct and URI keyId (#4565) 2017-08-09 23:54:14 +02:00
Ondřej Hruška
b1c8a702a4 Add favourited toot to favourites column (#4562)
* Add faved toot to faves column

* renamed append to prepend for clarity
2017-08-09 00:22:26 +02:00
Ondřej Hruška
820099813f add scrollTop to ui/components/column (#4563) 2017-08-09 00:21:58 +02:00
Gergely Nagy
2ebe4ff568 api/instances: Include the stats from the /about/more page (#4074)
To be able to pull some basic statistics from a Mastodon instance, include the
user, status and connected domain counters in the `/api/v1/instance` response.

Fixes #3570.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2017-08-08 22:18:12 +02:00
Ondřej Hruška
61bfce5aa9 add missing @ to the onboarding modal (#4560) 2017-08-08 22:13:04 +02:00
Eugen Rochko
dd7ef0dc41 Add ActivityPub inbox (#4216)
* Add ActivityPub inbox

* Handle ActivityPub deletes

* Handle ActivityPub creates

* Handle ActivityPub announces

* Stubs for handling all activities that need to be handled

* Add ActivityPub actor resolving

* Handle conversation URI passing in ActivityPub

* Handle content language in ActivityPub

* Send accept header when fetching actor, handle JSON parse errors

* Test for ActivityPub::FetchRemoteAccountService

* Handle public key and icon/image when embedded/as array/as resolvable URI

* Implement ActivityPub::FetchRemoteStatusService

* Add stubs for more interactions

* Undo activities implemented

* Handle out of order activities

* Hook up ActivityPub to ResolveRemoteAccountService, handle
Update Account activities

* Add fragment IDs to all transient activity serializers

* Add tests and fixes

* Add stubs for missing tests

* Add more tests

* Add more tests
2017-08-08 21:52:15 +02:00
Lynx Kotoura
dcbc1af38a Fix short description in about/more page (#4554) 2017-08-08 15:49:32 +02:00
Yamagishi Kazutoshi
81c41d8681 Add coalesce option to avatar and header convert processor (#4552)
Resolve #3199
2017-08-08 15:49:14 +02:00
雨宮美羽
ec3be87a2b improve zh-CN translations (#4557) 2017-08-08 15:48:19 +02:00
TheInventrix
c9fd6f386c unify short description styling (#4548)
apply same style class to the About description on both the landing page
and the about/more page
2017-08-08 01:50:15 +02:00
Yamagishi Kazutoshi
1b5d26735e Revert "Set false to animated options for thumbnail processor" (#4550)
* Revert "Adjust tags and accounts page (#4534)"

This reverts commit a3e53bd442.

* Revert "feat: Cache status height to avoid expensive renders (#4439)"

This reverts commit 8eb6d171e6.

* Revert "Refactor Avatar and AvatarOverlay to have 'account' as prop instead of src and staticSrc (#4526)"

This reverts commit 5942347407.

* Revert "Update dependencies for Ruby (#4543)"

This reverts commit 22db947225.

* Revert "[Docker] Add multicore support to "make" and "bundler" (#4544)"

This reverts commit 5d408fd9aa.

* Revert "It makes no sense to try using invalid or expired link again (#4521)"

This reverts commit 47579ec58c.

* Revert "i18n: Update Polish translation (#4545)"

This reverts commit 3363a05539.

* Revert "Set false to animated options for thumbnail processor (#4547)"

This reverts commit 87f10d476c.
2017-08-08 01:49:56 +02:00
Lynx Kotoura
a3e53bd442 Adjust tags and accounts page (#4534)
* Adjust tag and accounts page

* Remove units from 0px paddings
2017-08-07 20:33:06 +02:00
Sorin Davidoi
8eb6d171e6 feat: Cache status height to avoid expensive renders (#4439)
* feat: Cache status height to avoid expensive renders

* feat: Escape content and emojify in reducers

* fix(css): Remove backface-visibility: hidden from .scrollable

* fix(statuses): Avoid creating DOMParses inside a loop
2017-08-07 20:32:03 +02:00
Ondřej Hruška
5942347407 Refactor Avatar and AvatarOverlay to have 'account' as prop instead of src and staticSrc (#4526)
* Refactored Avatar and AvatarOverlay (DRY) to have 'account' as prop.
Also removed animate attribute from compose navigation bar, which should
have never been there. Added test for avatar overlay.

* fix broken tests

* god dammit another bug in tests! travis please let this pass

* formatting in avatar overlay
2017-08-07 19:44:55 +02:00
Yamagishi Kazutoshi
87f10d476c Set false to animated options for thumbnail processor (#4547)
Resolve #3199

Fix the aspect ratio of animated GIF whose background is transparent.
2017-08-07 14:41:21 +02:00
Masoud Abkenar
e7a5a188ef i18n: update Persian translation (#4540) 2017-08-06 23:50:20 +02:00
MitarashiDango
5ee45fa571 fix columns_area.js (#4528) 2017-08-05 20:33:41 +02:00
Eugen Rochko
df605f0f8b Add "signed in as" header to some pages (#4523) 2017-08-05 04:24:58 +02:00
Akihiko Odaki
9d1f8b9d6a Scroll columns area to right when children property is changed (#4517)
The feature to pin column could hide the rightmost column, which is
specified with children property of ColumnsArea.

The user is likely to see the column when the property changed, so scroll
the area in such cases.
2017-08-04 18:57:46 +02:00
Krzysztof Jurewicz
400616813e Fix some mistakes in Polish translation (#4495) 2017-08-04 22:43:28 +09:00
nullkal
dfcd2834f9 Redirect to PasswordController#new when reset_password_token is invalid (#4506) 2017-08-03 17:45:45 +02:00
MIYAGI Hikaru
09e86ef90b make number of comparison in emojify() fewer (#4500)
fix style

"©"削除処理をemojione_lightに移動
2017-08-02 21:05:17 +02:00
TheKinrar
9ba7d526a0 Don't normalize invalid domain names (#4499)
Fixes #4496
2017-08-02 14:54:33 +02:00
unarist
94e233e7b2 Fix column-back-button style for some browsers (#4484)
Use `text-align: unset` instead of `text-align: start` which Edge doesn't support for now.

Also remove default margin on Safari.
2017-08-02 13:09:37 +02:00
Sorin Davidoi
ac53736814 fix(status_list): Use correct keys for keyboard navigation (#4487) 2017-08-02 13:09:09 +02:00
Komic
8c0e78ae43 fr.json update (#4492) 2017-08-02 13:31:49 +09:00
Quent-in
7ef8482568 l10n #4457 update for Occitan language (#4483)
Previous and Next buttons
2017-08-02 00:12:30 +09:00
Jeroen
202942a76f Update Dutch (nl) strings (#4480) 2017-08-01 15:00:41 +02:00
Sorin Davidoi
d4c4820c03 fix(web_push_notifications): Send message with welcome notifications (#4471)
* fix(web_push_notifications): Send grouping title in welcome notification

* fix(web_push_notifications): Read message from last notification
2017-08-01 06:00:13 +02:00
Yamagishi Kazutoshi
8ccb3b96ab Re-add outline (#4474)
* Re-add outline

* respect default of web browser
2017-08-01 01:40:31 +02:00
Ondřej Hruška
e9ee249fd5 do not emojify tm, (R) and (C) (#4472) 2017-08-01 00:16:05 +02:00
Masoud Abkenar
4b6cd1dfdb i18n: update Persian translation (#4470)
* i18n: update Persian translation

* i18n: fix quotes
2017-07-31 19:40:57 +02:00
Yamagishi Kazutoshi
b9ec3b7e7c Load extra polyfills when isIntersecting is undefined (#4469) 2017-07-31 19:40:20 +02:00
Eugen Rochko
c7cc806251 Simplify web UI character counter logic (#4463) 2017-07-31 15:19:48 +02:00
unarist
82b4cf4acb Fix button overflow on confirmation modal for mobile (#4465) 2017-07-31 15:19:30 +02:00
Yamagishi Kazutoshi
3e7a541e09 Change RuboCop rules to loose (#4464) 2017-07-31 15:19:13 +02:00
m4sk1n
93aafa8549 i18n: Update Polish translation (#4467) 2017-07-31 19:40:25 +09:00
Yamagishi Kazutoshi
bb85043f46 Disable sensitive button when with content warnings (#4460) 2017-07-31 05:06:56 +02:00
Eugen Rochko
e1fcad34a9 Fix length validator counting things that look like URIs like URLs (#4462)
URI.extract is too strong, not limited to URLs, matched real text.
Same issue was present in language detector.
2017-07-31 05:06:20 +02:00
unarist
155ba8fd3a Make salutation of email localizable (#4454) 2017-07-31 00:18:44 +02:00
Sorin Davidoi
e44f03bc71 Improve accessibility (part 7) (#4457)
* fix(media_modal): Keyboard navigation

* fix(column_back_button): Use native button

* fix(media_gallery): Keyboard navigation

* fix(status_content): Make CW content focusable
2017-07-31 00:18:15 +02:00
Yamagishi Kazutoshi
970297a138 Change to sensitive when adding content warning from web UI (#4456) 2017-07-30 16:27:57 +02:00
Yamagishi Kazutoshi
29abc9438c Remove outline from focused toot (#4448)
* Remove outline from focused toot

* change style
2017-07-30 16:27:51 +02:00
Yamagishi Kazutoshi
f91284d230 Do not create empty a element when there is no e-mail (#4455)
Empty a element is created when there is no business e-mail input.
2017-07-30 16:24:18 +02:00
unarist
feadf7553d Update Japanese translations (#4453) 2017-07-30 14:14:41 +02:00
Lynx Kotoura
ea33cdc30b Set contact address in about/more as mailto link (#4450)
* Set contact address as mailto link

To be able to copy long email address

* Set style for mailto link
2017-07-30 12:56:04 +02:00
Damien Erambert
ea144ba302 Use a fainted text color for <hr> elements in the landing page (#4443)
* Use a fainted text color for <hr> elements in the landing page

* remove trailing whitespace
2017-07-29 21:20:52 +02:00
Sorin Davidoi
4f04981dde feat(tabs_bar): Avoid optimization for non-touch devices (#4444)
* fix(tabs_bar): Check if transition is necessary

* feat(tabs_bar): Only apply optimization for touch devices
2017-07-29 21:20:34 +02:00
Jeroen
0913351dcf Dutch: only one (new) string (#4440) 2017-07-29 23:54:27 +09:00
Lynx Kotoura
57a794d8eb Fix autocomplete option in haml files (#4438)
* Fix autocomplete in two_factor.html.haml

* Fix autocomplete in registrations edit.html.haml

* Fix autocomplete in passwords edit.html.haml

* Fix autocomplete in _registration.html.haml

* Fix autocomplete in new.html.haml

* Fix autocomplete in show.html.haml

* Add autocomplete option to sessions new.html.haml

* Add autocomplete option to 2FA new.html.haml

* Add autocomplete option to 2FA show.html.haml
2017-07-29 14:20:31 +02:00
unarist
a5e0cf2450 fix(status): Don't add tabIndex to wrapped status (#4437) 2017-07-29 14:20:05 +02:00
みたらしだんご
a46ba4a8f5 fix tabs_bar.js (#4436) 2017-07-29 14:19:49 +02:00
Sorin Davidoi
c71874b84c Improve accessibility (part 6) (#4435)
* fix(status_action_bar): Use aria-pressed for reblog and favourite button

* fix(column_back_button): Keyboard accessible

* fix(status_content): Make focusable and accessible

* fix(dropdown_menu): Use aria-expanded instead of aria-pressed

* fix(emoji_picker_dropdown): Use aria-expanded instead of aria-hidden

* feat(icon_button): Add aria-expanded

* fix(privacy_dropdown): Use aria-expanded instead of aria-hidden
2017-07-29 01:58:53 +02:00
Eugen Rochko
53b2b1b238 Count all URLs in text as 23 characters flat, do not count domain part of usernames (#4427)
* Count all URLs in text as 23 characters flat, do not count domain part of usernames

* Add new status text counting logic to web UI
2017-07-29 00:06:29 +02:00
Sorin Davidoi
634b71ed1d Accessability fixes (#4432)
* fix(modal_root): Read type from props, not from component

* fix(status_list): Do not user event.path
2017-07-28 22:55:19 +02:00
Sorin Davidoi
3d378ed0b4 fix(tabs_bar): Allow animation to end before navigating (#4429)
* fix(tabs_bar): Allow animation to end before navigating

* fix(tabs_bar): Do not use event.path
2017-07-28 22:55:13 +02:00
Eugen Rochko
f0bb2c6d1e Fix web push notifications "boost" icon not being loaded (regression from #4426) (#4431) 2017-07-28 20:26:54 +02:00
Eugen Rochko
13bb1ddc7f Use consistent icons for web push notifications, same as web UI (#4426) 2017-07-28 18:13:42 +02:00
Eugen Rochko
4e2f2fab73 Fix guard clause in WebPushNotificationWorker (#4421) 2017-07-28 17:21:28 +02:00
Eugen Rochko
6e186b9c77 When PuSH subscribe attempts are exhausted, unsubscribe (#4422) 2017-07-28 17:21:14 +02:00
Quent-in
ff9d344d4c i18n update of OC version (#4425)
* Correction of misspellings

* Improve the OC version

* Improve of the OC version

* Improvement of OC version
2017-07-29 00:09:38 +09:00
Eugen Rochko
b3c44e95a9 Improve actions modal style (#4423) 2017-07-28 15:30:53 +02:00
Eugen Rochko
8c0dd33ce4 Fix current session not being displayed in sessions list (#4424) 2017-07-28 15:30:06 +02:00
Yamagishi Kazutoshi
12874eafa6 Unify webpackChunkName to lowercase (#4412) 2017-07-28 13:34:55 +02:00
Lynx Kotoura
afb593b44e Fix protruded infomation board section in about/more page (#4415)
* Fix protruded infomation board section

Set "flexwrap: wrap" for sections. Set upper and lower padding for each section, and adjust clearances around sections accordingly. Settings for viewport threshold 500px is no more needed.

* Fix mistake of reducing information-board padding

In according with this fix, additional padding setting  for maximum 840px width is no more needed.
2017-07-28 13:34:44 +02:00
Sorin Davidoi
296bfa23aa fix(actions-modal): Inconsistent margins (#4418) 2017-07-28 13:34:06 +02:00
Sorin Davidoi
534da4f24f Improve accessibility (part 5) (#4417)
* fix(status): Add tabIndex=0

* fix(status_list): Make keyboard navigable
2017-07-28 13:33:40 +02:00
Yamagishi Kazutoshi
62a9da62a6 Fix column header in landing page (regression from #4405) (#4416) 2017-07-28 13:32:41 +02:00
Yamagishi Kazutoshi
58eea59864 Fix broken PropTypes (#4413) 2017-07-28 13:32:05 +02:00
m4sk1n
c7de92e0df i18n: Update Polish translation (#4414)
Signed-off-by: Marcin Mikołajczak <me@m4sk.in>
2017-07-28 17:53:44 +09:00
Sorin Davidoi
e67fc997dc feat(web_push_notifications): Group notifications (#4388) 2017-07-28 05:06:22 +02:00
Sorin Davidoi
3e01a7e677 fix(web_push_notification): Do not hard reload tab (#4380)
* fix(web_push_notification): Do not hard reload tab

* fix(web_push_notification_worker): Guard against null subscription

* refactor: Incorporate pull request feedback
2017-07-28 05:06:01 +02:00
Sorin Davidoi
b7d47c2aef Improve accessibility (part 4) (#4408)
* fix(dropdown_menu): Keyboard navigation

* fix(icon_button): Add aria-pressed attribute

* fix(privacy_dropdown): Make accessible

* fix(emoji_picker_dropdown): Make accessible

* fix(icon_button): Support tabIndex

* fix(actions_modal): Remove icon from tab order

* fix(dropdown_menu): Add role=group

* fix(setting_toggle): Toggle via space key

* fix(dropdown_menu): Remove redundant handling of Space key

* fix(emoji_picker_dropdown): Remove redundant Space key handling

* fix(privacy_dropdown): Remove redundant Space key handling

* fix(status): Switch to article and add aria-posinset, aria-setsize

* fix(status_list): Use role=feed and pass more ARIA props to Status

* chore(eslint): jsx-a11y/role-supports-aria-props
2017-07-28 04:37:30 +02:00
Sorin Davidoi
9004151e34 feat: Web Share for detailed status and account (#4402)
* feat: Web Share for detailed status and account

* fix(account/action_bar): Move share under mention
2017-07-28 00:55:15 +02:00
Sorin Davidoi
6884dd79ba Improve accessibility (part 3) (#4405)
* fix(compose): Add aria-label for the navigation links

* fix(search): Add input label

* fix(navigation_bar): Link description

* fix(autosuggest_textarea): Add input label

* fix(compose_form): Add input label

* fix(upload_button): Add input label

* fix(account/header): Add link content

* fix(column_header): Use h1 tag

* fix(column_header): Labels move buttons moving column

* fix(settings_text): Add label to input

* fix(column_header): Remove role from h1

* fix(modal_root): Use role=dialog

* fix(modal_root): Focus restauration

* fix(modal_root): Apply inert to sibligs

* fix(column_header): Add role=button

* chore(eslint): Disable jsx-a11y/label-has-for
2017-07-28 00:54:48 +02:00
Sorin Davidoi
f9075577e4 fix(actions_modal): Warning about missing prop (#4406) 2017-07-27 23:01:50 +02:00
Sorin Davidoi
50d38d7605 fix(dropdown_menu): Open as modal on mobile (#4295)
* fix(dropdown_menu): Open as modal on mobile

* fix(dropdown_menu): Open modal on touch

* fix(dropdown_menu): Show status

* fix(dropdown_menu): Max dimensions and reduce padding

* chore(dropdown_menu): Test new functionality

* refactor: Use DropdownMenuContainer instead of DropdownMenu

* feat(privacy_dropdown): Open as modal on touch devices

* feat(modal_root): Do not load actions-modal async
2017-07-27 22:31:59 +02:00
Yamagishi Kazutoshi
f2233c3e25 Update intersection-observer to version 0.4.0 (#4398) 2017-07-27 16:20:48 +02:00
unarist
73890c3cac Fix timeline height on landing page for Safari (#4392)
`height: 100%` in `align-self: stretch` flexboxes doesn't work on Safari < 11.

https://bugs.webkit.org/show_bug.cgi?id=137730

This workaround uses flexbox instead of `height: 100%` to stretch height.
2017-07-27 15:49:56 +02:00
Sorin Davidoi
e1798d0eb0 fix(push_subscription): Use star icon for favourite action (#4396) 2017-07-27 15:46:33 +02:00
Yamagishi Kazutoshi
bb96ba13cf Fallback to site_hostname when site_title is empty (#4394) 2017-07-27 15:13:49 +02:00
nullkal
6654c30033 Fix an error when a user tries to search nonexistent remote user (regression from #4275) (#4400) 2017-07-27 15:11:59 +02:00
Ondřej Hruška
f49339ca9c Fix multipoint shortcode bug (#4387)
* Fix multipoint shortcode bug

* Added testcase for composite emoji shortcode
2017-07-27 01:02:15 +02:00
Clworld
994d948c39 Add callback_url/acct information for Sidekiq PuSH workers Exception. (#4281)
* Add destination informations to exception on SubscribeWorker and DeliveryWorker.

* Simplify delivery error message.

* Prevent changing Exception type...

* fix typo.
2017-07-27 00:38:20 +02:00
Jeroen
f5e228ad2e Update Dutch strings (#4389) 2017-07-27 00:37:35 +02:00
Eugen Rochko
92cb451da8 Fix #4026 - Accept backup codes for disabling 2FA (#4382) 2017-07-26 23:36:33 +02:00
Eugen Rochko
55bee84c97 Fix infinite scroll fluidity (#4381) 2017-07-26 23:35:03 +02:00
Sorin Davidoi
a248be4fce fix(columns_area): Manually set tabs style when swiping (#4320) 2017-07-26 19:03:56 +02:00
Sorin Davidoi
8b43d6bf9c fix(web_push_notification_worker): Guard against deleted notifications (#4379) 2017-07-26 16:14:39 +02:00
Sorin Davidoi
b8adb4d7fa fix(column): Crash when heading is undefined (#4378) 2017-07-26 15:03:23 +02:00
mayaeh
4ba33f99fc Update Japanese translations (#4376)
* Update Japanese translations for remote profile, settings toggle button and web share button.

* Update Japanese translation for remote profile.
2017-07-26 21:57:51 +09:00
Sorin Davidoi
6a6a62f13f Improve accessibility (part 2) (#4377)
* fix(column_header): Invalid ARIA role

* fix(column): Remove hidden nodes from the DOM

* refactor(column_link): Remove unused property hideOnMobile

* fix(column_header): Use aria-pressed

* fix(column_header): Make collapsed content not focusable, add focusable property

* fix(column_loading): Make header non-focusable

* fix(column_settings): Use role to group the toggles
2017-07-26 13:46:53 +02:00
Lynx Kotoura
aa8fa71df6 Fix padding in hero container of landing page (#4373)
* Fix padding in hero container, landing page

Erase hero container padding to fit registration form to full width. By this setting, heading padding disappears, so I adjust heading padding.

* Specify attribute strictly for heading padding

To overwrite padding-bottom in superior settings.

* Make padding shorthand more concise
2017-07-26 13:45:49 +02:00
m4sk1n
7874c6d630 i18n: Update Polish translation (#4371) 2017-07-26 16:09:16 +09:00
Sorin Davidoi
2f8bfb3d38 Improve accessibility (#4369)
* fix(compose): Use nav and remove redundant aria-label

* fix(tabs_tab): Use nav and add aria-label

* fix(app): Add aria-label for settings toggle button

* chore: Run yarn manage:translations
2017-07-26 02:01:27 +02:00
Ondřej Hruška
4115043dc7 Added external link icons to joinmastodon navbar buttons (#4368) 2017-07-26 02:00:36 +02:00
m4sk1n
7062cb764f i18n: Update Polish translation (#4367) 2017-07-25 23:56:04 +02:00
Lynx Kotoura
9891ff80f9 Adjust mobile landing page (#4366)
* Adjust mobile landing page

Change mobile viewport threshold to 840px in consideration of padding. Fix loss of "container hero" padding in about/more under 675px.

* Fix indent
2017-07-25 21:31:56 +02:00
Sorin Davidoi
7232cdf7e8 feat(status_action_bar): Web share button (#4365) 2017-07-25 20:38:39 +02:00
Lynx Kotoura
9f97c8c750 Fix multiple-gif display in user page (#4364)
Divide media-items to equal width, and hide overlaps.
2017-07-25 19:12:57 +02:00
Clworld
edadc93757 Allow longer link text on landing page (reduce padding for Mobile) (#4363)
* Allow longer link text on landing page (reduce padding for Mobile)

* remove empty line
2017-07-25 16:20:26 +02:00
Akihiko Odaki
a6ea7e282f Merge queries in Api::V1::FavouritesController (#4359) 2017-07-25 16:01:03 +02:00
Yamagishi Kazutoshi
e5c0aa6493 Send short account URL to remote instance (regression from #3844) (#4355)
* Send short account URL to remote instance (regression from #3844)

Resolve #4347

* remove format: 'json'
2017-07-25 15:59:43 +02:00
m4sk1n
a31d24ee18 i18n: Update Polish translation (#4361) 2017-07-25 22:39:49 +09:00
Komic
6957c5b5c6 Small fr.json update (#4354)
* Small fr.json update

• Translation for #4342
• Fixed a couple of typos as well as a few weird phrasings

* insert final newline
2017-07-25 12:01:47 +09:00
Sorin Davidoi
696bcff6bf fix(status_list): Guard against missing ref (#4353) 2017-07-25 02:13:05 +02:00
Jeroen
f52ce92f2b Update and (almost) completing Dutch strings for 1.5 (#4351)
* Update and expanding Dutch strings for 1.5

Only privacy policy is not translated, but is included. Hopefully I have time to translate this another time (you can set your own privacy policy now anyway).

* Missing file

* A few changes cause of changes in another file

* Fix

* Update Dutch strings for 1.5

* nl

* fix

don't know how that ended up there

* Update nl.yml
2017-07-25 02:12:50 +02:00
Sorin Davidoi
ebf5a06084 fix(column): Use passive wheel listener (#4348)
* chore(yarn): Install detect-passive-events

* fix(column): Use passive listener
2017-07-25 01:05:51 +02:00
Sorin Davidoi
23e854cb91 fix(components/bundle): Exit early in load function (#4349) 2017-07-25 01:05:44 +02:00
Sorin Davidoi
de105d64d5 fix(getting_started): No scrollbar if not needed (#4350) 2017-07-25 01:05:35 +02:00
Eugen Rochko
07d93716aa Improve remote profile disclaimer (#4342)
* Improve remote profile disclaimer

* yarn run manage:translations
2017-07-24 20:05:29 +02:00
Sorin Davidoi
32fa312b2a fix(compose_from): Do not autofocus on mobile (#4344) 2017-07-24 19:54:39 +02:00
Eugen Rochko
1306d637a2 Fix oddities with public profile CSS (#4341)
* Fix oddities with public profile CSS

* Remove trailing whitespace
2017-07-24 17:56:50 +02:00
Eugen Rochko
029f2c4545 Redesign /terms page (#4338)
* Redesign /terms page

* Fix tests

* Remove unused keys
2017-07-24 17:15:15 +02:00
Lynx Kotoura
b3e7beb7c5 Perfectly center mastodon logo on mobile landing page (#4339)
Setting only padding-left made the logo left-shifted on mobile page. Margin-right was old setting for adjusting clearance between old logo and letter "Mastodon".
2017-07-24 16:52:47 +02:00
Eugen Rochko
467456f7a1 Move clean up of unconfirmed users to sidekiq-scheduler (#4336)
* Move clean up of unconfirmed users to sidekiq-scheduler

* mastodon:daily is now deprecated
2017-07-24 16:17:55 +02:00
Eugen Rochko
2374d63536 Redesign extended information page (#4322)
* Redesign extended information page

* Remove unused keys

* Add $ui-base-lighter-color variable to SCSS
2017-07-24 15:09:08 +02:00
Yamagishi Kazutoshi
117eb3b2bc Change defaultMessage for spoiler placeholder (#4329) 2017-07-24 14:49:06 +02:00
sdukhovni
06d905f415 Allow domain blocks that only reject media without silencing or suspending (#4325)
* Allow domain blocks to reject media without silencing or suspending

* Fix typo

* Hide 'Reject media' button when superfluous, instead of disabling it

* Properly hide 'reject media' checkbox on page load if needed

This may happen when resubmitting the domain block form after an error.

* Don't ask whether undoing a media-only block should be retroactive

* Rename :media_only block to :noop

* Display :noop block as None in frontend, allow blocks that do nothing

* Remove 'coding' line auto-added by emacs
2017-07-24 14:26:55 +02:00
Andrew Zyabin
0ad41be0f3 Update Russian translation for #4313 (#4334) 2017-07-24 13:37:05 +02:00
Yamagishi Kazutoshi
1e665a0bf4 Add space to toot paragraph in landing page (#4331) 2017-07-24 10:43:59 +02:00
m4sk1n
4b4ea1f929 i18n: Update Polish translation (#4327)
* i18n: Update Polish translation

* i18n: Update Polish translation
2017-07-23 23:57:13 +02:00
Sorin Davidoi
9075c90c46 feat: Enable push subscription for mobile devices by default (#4321) 2017-07-23 23:27:23 +02:00
Yamagishi Kazutoshi
63a2566007 Fix manifest description (regression from #4122) (#4324) 2017-07-23 23:04:44 +02:00
Yamagishi Kazutoshi
43cad817e8 Update Japanese translations for #4313 and #4315 (#4323)
* Update Japanese translations for #4313

* Update Japanese translations for #4315
2017-07-23 23:04:25 +02:00
Eugen Rochko
ed4c754fff Add background to media modal (#4317) 2017-07-23 20:28:31 +02:00
Eugen Rochko
1e0c7a0afc Add loading indicator animation (#4316) 2017-07-23 20:28:18 +02:00
Eugen Rochko
3a3b556065 Improve noscript message and style (#4315) 2017-07-23 20:28:06 +02:00
Sylvhem
9244f6b628 Change "Content Warning" to "Write your warning here" (#4313)
Change the placeholder used in the content warning field from "Content Warning" to "Write your warning here". This change should made it easier to understand what the field is about.

Change le message de substitution utilisé dans le champ d’avertissement de « Avertissement » à « Écrivez ici votre avertissement ». Ce changement devrait rendre plus évidente la fonction du champ.
2017-07-23 16:57:32 +02:00
Sorin Davidoi
ff26b72333 fix(getting_started): Scroll on mobile (#4312) 2017-07-23 14:50:26 +02:00
m4sk1n
6803935c4d i18n: Update Polish translation (#4311) 2017-07-23 14:50:10 +02:00
Sorin Davidoi
3757546f1b fix(columns_area): Show correct title for preview columns (#4310) 2017-07-23 14:03:35 +02:00
Quent-in
a677ac8384 i10n Update for Occitan (#4301)
* Update to translate new strings

* Update

* Update

* Indend added

* Update oc.yml
2017-07-23 12:46:40 +02:00
Yamagishi Kazutoshi
4d661e1183 Change logo.png to logo.svg for web UI (#4307) 2017-07-23 11:09:42 +02:00
Eugen Rochko
0e0f18ce7c New logo (#4306)
* Add new logo

* Remove unused images
2017-07-23 02:40:39 +02:00
Eugen Rochko
7964bfccdb Add rake task mastodon:feeds:build to regenerate all active users' feeds (#4303) 2017-07-23 01:15:04 +02:00
Eugen Rochko
3c515f2cd2 Run yarn run manage:translations and i18n-tasks normalize (#4302) 2017-07-23 01:14:57 +02:00
Ondřej Hruška
db73ac92d7 Changed landing page cloud animation to be more relaxed and smoother (#4304) 2017-07-22 22:27:06 +02:00
Damien Erambert
4cd82d442e Update French locales (settings, ToS, & co) (#4261)
* add fr-FR locales to the landing page

* moar french locales

* terms of service/privacy policy

* remove un-used locales in the client (yarn manage:translations)

* update french locales in the client

* remove duplicate locales in fr.yml

* fix typos per PR comments in fr.yml

* put back default messages

* translate untranslated keys on the client

* add "push" after notifications

* correctly ident ToS in fr.yml
2017-07-22 20:28:40 +02:00
Eugen Rochko
311871eefc Turn clouds on landing page into SVGs, use SCSS variables to color them (#4299) 2017-07-22 16:36:54 +02:00
Eugen Rochko
a929f7e6ac Fix #4172 - Mutes now block notifications (#4300) 2017-07-22 16:36:36 +02:00
Sorin Davidoi
3817704806 feat(compose): Change media query for compact mode to max-height: 400px (#4291) 2017-07-21 14:22:29 +02:00
Yamagishi Kazutoshi
f2390e2803 Dynamicaly change avatar and header bg from account setting (#4289) 2017-07-21 12:47:16 +02:00
Eugen Rochko
7bf7ed6123 Fix #3220 - Show avatar/header on edit profile page (#4288) 2017-07-21 05:28:51 +02:00
Eugen Rochko
a390abdefb Use the same emoji data on the frontend and backend (#4284)
* Use the same emoji data on the frontend and backend

* Move emoji.json to repository, add tests

This way you don't need to install node dependencies if you only
want to run Ruby code
2017-07-21 04:27:40 +02:00
Sorin Davidoi
c1bc5e14eb feat(compose): More space on mobile devices (#4282)
* feat(compose): More space on mobile devices

* feat(compose): Hide navigation when typing on mobile devices

* fix(compose): Make animation faster

* fix(navigation_bar): Remove hardcoded title

* fix(compose): Prevent accidental bluring

* fix(compose): Increase max-height to 600px
2017-07-21 01:38:24 +02:00
Eugen Rochko
4b911fea03 Add button to re-subscribe to all accounts from a domain (#4285) 2017-07-20 23:07:13 +02:00
Eugen Rochko
1fcdaafa6f Fix webfinger retries (#4275)
* Do not raise unretryable exceptions in ResolveRemoteAccountService

* Removed fatal exceptions from ResolveRemoteAccountService

Exceptions that cannot be retried should not be raised. New exception
class for those that can be retried (Mastodon::UnexpectedResponseError)
2017-07-20 01:59:07 +02:00
Sorin Davidoi
f24b81e27f feat(css): Remove border radius from WebKit's scrollbars (#4278) 2017-07-20 00:20:54 +02:00
Sorin Davidoi
e01966f7b8 fix(status_list): Update scroll position after toots are appended (#4277) 2017-07-19 22:38:26 +02:00
Sorin Davidoi
dcb9497148 fix(push_subscription): Guard against malformed favourite notification (#4271) 2017-07-19 22:37:52 +02:00
unarist
4f2513337f Update scroll top state on column mounting (#4276) 2017-07-19 20:26:51 +02:00
Sorin Davidoi
015269914e fix: Handle errors without response (#4274) 2017-07-19 19:38:50 +02:00
Eugen Rochko
bbdcfd6baf Add ActivityPub attributes to accounts (#4273) 2017-07-19 17:06:46 +02:00
Akihiko Odaki
f0d6550f16 Fix logging in ProcessFeedService (#4270) 2017-07-19 16:02:03 +02:00
Eugen Rochko
8400bee3b1 Refactor ResolveRemoteAccountService (#4258)
* Refactor ResolveRemoteAccountService

* Remove trailing whitespace

* Use redis locks around critical ResolveRemoteAccountService code

* Add test for race condition of lock
2017-07-19 14:44:04 +02:00
Cygnan
bc1f9dc24b Fix a typo in public.js (double semicolons) (#4269)
Signed-off-by: Cygnan <mail@cygnan.com>
2017-07-19 13:35:22 +02:00
m4sk1n
cdc349a2d1 i18n: Update Polish translation (#4268) 2017-07-19 12:25:06 +02:00
Eugen Rochko
c2c93f8cd6 Fix deprecation warning for non-pipeline assets (#4267) 2017-07-19 12:00:05 +02:00
Yamagishi Kazutoshi
716f4cb11c Add feature to revoke sessions (#4259) 2017-07-19 04:59:04 +02:00
Eugen Rochko
a5a07da892 Correct OStatus inflection (Ostatus -> OStatus) (#4255) 2017-07-19 01:37:26 +02:00
Sorin Davidoi
72108b20e2 feat(emoji): Add back title attribute (#4253) 2017-07-18 22:49:24 +02:00
lindwurm
767117f9b0 Update Japanese translation (chase #4249) (#4251)
Signed-off-by: lindwurm <lindwurm.q@gmail.com>
2017-07-18 20:03:18 +02:00
m4sk1n
fb7f06a752 i18n: Update Polish translation (#4252)
Signed-off-by: Marcin Mikołajczak <me@m4sk.in>
2017-07-18 20:03:06 +02:00
lindwurm
0b4006fc47 Add Japanese translation for #4246 (#4249)
Signed-off-by: lindwurm <lindwurm.q@gmail.com>
2017-07-18 18:43:19 +02:00
lindwurm
0ccd47f413 Update Japanese translations for new landing page (#4159)
Signed-off-by: lindwurm <lindwurm.q@gmail.com>
2017-07-18 18:42:59 +02:00
Yamagishi Kazutoshi
3267e4a785 Add unfollow modal (optional) (#4246)
* Add unfollow modal

* unfollowing someone

* remove unnecessary prop
2017-07-18 17:14:43 +02:00
Akihiko Odaki
89b988cab5 Introduce Ostatus name space (#4164)
* Wrap methods of ProcessFeedService::ProcessEntry in classes

This is a change same with 425acecfdb, except
that it has the following changes:

* Revert irrelevant change in find_or_create_conversation
* Fix error handling for RemoteActivity

* Introduce Ostatus name space
2017-07-18 16:39:47 +02:00
abcang
4d42a38954 Improve admin page (#4121)
* Improve admin page

* Fix test

* Add spec

* Improve select style
2017-07-18 16:38:22 +02:00
Sorin Davidoi
8387b3928e fix(push-subscriptions): Refactor how Sidekiq jobs are handled (#4226) 2017-07-18 16:25:40 +02:00
abcang
afa52e4d63 Fixed issue that the NSFW image is not hidden on detail page (#4244) 2017-07-18 15:24:57 +02:00
Yamagishi Kazutoshi
8949aad030 Add empty alt attribute to img elements in landing page (#4243) 2017-07-18 15:22:09 +02:00
Yamagishi Kazutoshi
f5382ec085 Exclude self toots from regular expression filter (#4245)
* Exclude self toots from regular expression filter

* refactor
2017-07-18 15:20:38 +02:00
Sorin Davidoi
719ab720a7 feat(push-notifications): Open link in current tab if possible (#4228)
* fix(push-notification): Open link in current tab if possible

* feat(sw): Skip waiting and claim clients
2017-07-18 00:19:17 +02:00
Akihiko Odaki
b11ac88692 Require any modules after loading polyfill in entry points (#4231)
app/javascript/mastodon/main.js delayed the execution of modules,
but other entry points didn't. That leads to failure in executing
modules, which requires those polyfills.

Strictly enforce the rule to require any modules after loading
polyfill in entry points.
2017-07-18 00:19:02 +02:00
Lynx Kotoura
681c33d1f4 Quit overwriting style of extended-video-player (#4237)
Though size of extended-video-player is already fixed to 80vw*80vh in components.scss, player size was also set to original video size in extended_video_player.js. Video size is fixed to 80vw*80vh, so video player's size must also be fixed to 80vw*80vh.
2017-07-17 19:05:29 +02:00
Akihiko Odaki
7f35947d8e Improve a query in WebPushNotificationWorker (#4234) 2017-07-17 11:03:48 +02:00
Akihiko Odaki
68941d4dfa Use update method to update session in WebPushNotificationWorker (#4235) 2017-07-17 11:03:42 +02:00
Sorin Davidoi
1d2616b79b fix(emojis): Handle multipoint emojis (e.g. country flags) (#4221) 2017-07-17 10:57:45 +02:00
Eugen Rochko
d4b097a88c Add missing ActivityPub representations (#4230)
- Follow, undo follow
- Accept follow, reject follow
- Like, undo like
- Block, undo block
- Delete (note)
- Update (actor)
2017-07-17 10:57:04 +02:00
Akihiko Odaki
b15f790221 Require images in common.js (#4232) 2017-07-17 10:23:28 +02:00
Eugen Rochko
a47c2e8890 Add public key declaration to actors (#4215) 2017-07-17 02:37:27 +02:00
Lynx Kotoura
d1c3e35d3f Fix style settings for images in media modal (#4220)
* Shrink too wide single image modal

Fix too wide react-swipeable-view-container

Fix 0067f80 shrinking all react-swipeable-view-container

Change to apply max-width of react-swipeable-view-container only under media-modal.

Fix b30b03b just a typo

* Centering contents in image-loader

Centering small img, canvas, and video in image-loader.
2017-07-16 11:52:11 +02:00
Eugen Rochko
a6328fc1b1 Minor ActivityPub JSON fixes (#4214)
- Objects must have attributedTo instead of actor
- The current attribute belongs to CollectionPage, not Collection
2017-07-16 10:28:55 +02:00
unarist
695439775e Fix column swiping (#4211)
This fixes broken behavior and enable animation only on swiping.
2017-07-15 17:25:04 +02:00
ThibG
05cd37097c Optimize uri normalization (#4212)
* Add dependency on idn-ruby to speed up URI normalization

* Use normalized_host instead of normalize.host when applicable

When we are only interested in the normalized host, calling normalized_host
avoids normalizing the other components of the URI as well as creating a
new object
2017-07-15 17:24:35 +02:00
Eugen Rochko
8c45cd0e36 Improve ActivityPub representations (#3844)
* Improve webfinger templates and make tests more flexible

* Clean up AS2 representation of actor

* Refactor outbox

* Create activities representation

* Add representations of followers/following collections, do not redirect /users/:username route if format is empty

* Remove unused translations

* ActivityPub endpoint for single statuses, add ActivityPub::TagManager for better
URL/URI generation

* Add ActivityPub::TagManager#to

* Represent all attachments as Document instead of Image/Video specifically
(Because for remote ones we may not know for sure)

Add mentions and hashtags representation to AP notes

* Add AP-resolvable hashtag URIs

* Use ActiveModelSerializers for ActivityPub

* Clean up unused translations

* Separate route for object and activity

* Adjust cc/to matrices

* Add to/cc to activities, ensure announce activity embeds target status and
not the wrapper status, add "id" to all collections
2017-07-15 03:01:39 +02:00
Eugen Rochko
3fbf1bf35a Fix #3773 - Pin favourites column (#4201) 2017-07-15 00:49:34 +02:00
Eugen Rochko
cd9b2ab2f7 Fix #2672 - Connect signed PuSH subscription requests to instance domain (#4205)
* Fix #2672 - Connect signed PuSH subscription requests to instance domain

Resolves #2739

* Fix return of locate_subscription

* Fix tests
2017-07-14 23:01:20 +02:00
Eugen Rochko
de397f3bc1 Fix subsequent replies to unresolved status not being filtered from home (#4190)
Resolves #4177 - smaller changeset
2017-07-14 22:31:38 +02:00
Sorin Davidoi
72bd73f605 Small style fixes (#4206)
* fix(components/media_modal): Center horizontally in Firefox

* fix(components/status_list): Do not remove load more button
2017-07-14 22:31:25 +02:00
unarist
1896a154f5 Fix response of unreblog/unfavourite APIs (#4204)
Both APIs process asynchronously, so reblogged/favourited fields in the response should be set to `false` manually.
2017-07-14 20:44:53 +02:00
Eugen Rochko
1618b68bfa HTTP signatures (#4146)
* Add Request class with HTTP signature generator

Spec: https://tools.ietf.org/html/draft-cavage-http-signatures-06

* Add HTTP signature verification concern

* Add test for SignatureVerification concern

* Add basic test for Request class

* Make PuSH subscribe/unsubscribe requests use new Request class

Accidentally fix lease_seconds not being set and sent properly, and
change the new minimum subscription duration to 1 day

* Make all PuSH workers use new Request class

* Make Salmon sender use new Request class

* Make FetchLinkService use new Request class

* Make FetchAtomService use the new Request class

* Make Remotable use the new Request class

* Make ResolveRemoteAccountService use the new Request class

* Add more tests

* Allow +-30 seconds window for signed request to remain valid

* Disable time window validation for signed requests, restore 7 days
as PuSH subscription duration (which was previous default due to a bug)
2017-07-14 20:41:49 +02:00
Sorin Davidoi
c1f201c49a 🎄🔨 Force tree shake emojione (#4202)
* chore(yarn): Install babel-plugin-preval as development dependency

* feat(babel): Add preval as a plugin

* feat(emojione_light): Prevaled module what tree-shaked emojione

* refactor(emoji): Use emojione_light

* feat: Preload emojione_picker bundle

* fix(emojione_light): Do not use Object.entries

* fix(emojify): Update tests

* chore(emojione_light): Remove silly ascii art
2017-07-14 20:30:12 +02:00
Eugen Rochko
e2685ccc81 Fix #4149, fix #1199 - Store emojis as unicode (#4189)
- Use unicode when selecting emoji through picker
- Convert shortcodes to unicode when storing text input server-side
- Do not convert shortcodes in JS anymore
2017-07-14 19:47:53 +02:00
Eugen Rochko
c42092ba7a Add option to opt out of search engines on public profile/status pages (#4199) 2017-07-14 16:41:02 +02:00
Albert ARIBAUD
489d162477 fr.json: replace "silencer" with "masquer" (#4196)
"Silencer" as a verb does not exist in French. A good and valid replacement is "masquer".
2017-07-14 12:12:16 +02:00
Yamagishi Kazutoshi
9008ab3407 Do not load unnecessary script files (#4193) 2017-07-14 11:08:56 +02:00
Yamagishi Kazutoshi
87b96f8d33 Add Japanese translations for #3243 (#4192) 2017-07-14 11:03:01 +02:00
masarakki
a49be27145 add validation to tag name (#4194) 2017-07-14 11:02:49 +02:00
unarist
eeb5923e89 Add object-fit polyfill for Edge (#4182) 2017-07-14 01:59:34 +02:00
Sorin Davidoi
a9067167bb Improve swiping (#4188)
* feat(components/columns_area): Toggle animation settings

* fix(components/media_modal): Center non-visible views

* fix(components/media_modal): Check for null

* refactor(columns_area): Better logic
2017-07-14 00:49:01 +02:00
Sorin Davidoi
a9a0c854e1 fix(components/media_modal): Style issues (#4187) 2017-07-13 22:18:18 +02:00
Sorin Davidoi
0c7c188c45 Web Push Notifications (#3243)
* feat: Register push subscription

* feat: Notify when mentioned

* feat: Boost, favourite, reply, follow, follow request

* feat: Notification interaction

* feat: Handle change of public key

* feat: Unsubscribe if things go wrong

* feat: Do not send normal notifications if push is enabled

* feat: Focus client if open

* refactor: Move push logic to WebPushSubscription

* feat: Better title and body

* feat: Localize messages

* chore: Fix lint errors

* feat: Settings

* refactor: Lazy load

* fix: Check if push settings exist

* feat: Device-based preferences

* refactor: Simplify logic

* refactor: Pull request feedback

* refactor: Pull request feedback

* refactor: Create /api/web/push_subscriptions endpoint

* feat: Spec PushSubscriptionController

* refactor: WebPushSubscription => Web::PushSubscription

* feat: Spec Web::PushSubscription

* feat: Display first media attachment

* feat: Support direction

* fix: Stuff broken while rebasing

* refactor: Integration with session activations

* refactor: Cleanup

* refactor: Simplify implementation

* feat: Set VAPID keys via environment

* chore: Comments

* fix: Crash when no alerts

* fix: Set VAPID keys in testing environment

* fix: Follow link

* feat: Notification actions

* fix: Delete previous subscription

* chore: Temporary logs

* refactor: Move migration to a later date

* fix: Fetch the correct session activation and misc bugs

* refactor: Move migration to a later date

* fix: Remove follow request (no notifications)

* feat: Send administrator contact to push service

* feat: Set time-to-live

* fix: Do not show sensitive images

* fix: Reducer crash in error handling

* feat: Add badge

* chore: Fix lint error

* fix: Checkbox label overlap

* fix: Check for payload support

* fix: Rename action "type" (crash in latest Chrome)

* feat: Action to expand notification

* fix: Lint errors

* fix: Unescape notification body

* fix: Do not allow boosting if the status is hidden

* feat: Add VAPID keys to the production sample environment

* fix: Strip HTML tags from status

* refactor: Better error messages

* refactor: Handle browser not implementing the VAPID protocol (Samsung Internet)

* fix: Error when target_status is nil

* fix: Handle lack of image

* fix: Delete reference to invalid subscriptions

* feat: Better error handling

* fix: Unescape HTML characters after tags are striped

* refactor: Simpify code

* fix: Modify to work with #4091

* Sort strings alphabetically

* i18n: Updated Polish translation

it annoys me that it's not fully localized :P

* refactor: Use current_session in PushSubscriptionController

* fix: Rebase mistake

* fix: Set cacheName to mastodon

* refactor: Pull request feedback

* refactor: Remove logging statements

* chore(yarn): Fix conflicts with master

* chore(yarn): Copy latest from master

* chore(yarn): Readd offline-plugin

* refactor: Use save! and update!

* refactor: Send notifications async

* fix: Allow retry when push fails

* fix: Save track for failed pushes

* fix: Minify sw.js

* fix: Remove account_id from fabricator
2017-07-13 22:15:32 +02:00
unarist
c2753fdfb4 Make tag search case insensitive again (#4184) 2017-07-13 19:31:33 +02:00
unarist
c29c20ab3c Add background color for spoiler input, like toot textarea (#4181) 2017-07-13 14:49:57 +02:00
Eugen Rochko
880a5eb25c Fix boolean columns sometimes having a null value (#4162)
* Fix boolean columns sometimes having a null value

* Fix wrong value being set instead of null
2017-07-13 03:12:25 +02:00
Eugen Rochko
e48d3bfd01 Fix #1010 - When spoiler text is set, enforce sensitivity too (#4176) 2017-07-13 01:47:23 +02:00
unarist
5abb3d8150 Rerender modal on property changes (#4175)
Render function for BundleContainer must not be methods.
React doesn't know dependency of the method, so they won't rerender on property updates.

In this case, when you close modal and open another modal immediately,
old modal will be open instead of new one.
2017-07-12 20:51:44 +02:00
m4sk1n
3567ac3d3e i18n: @e19eefe, @056b5ed + consistency improvement (pl) (#4171)
* i18n: @e19eefe (pl)

Signed-off-by: Marcin Mikołajczak <me@m4sk.in>

* i18n: @056b5ed (pl)

Signed-off-by: Marcin Mikołajczak <me@m4sk.in>

* i18n: Improve consistency (pl)

Signed-off-by: Marcin Mikołajczak <me@m4sk.in>
2017-07-12 15:53:50 +02:00
Eugen Rochko
056b5ed72f Improve UI of admin site settings (#4163) 2017-07-12 03:24:04 +02:00
Eugen Rochko
1764c32b9e Fix #4067 - Do not make HTTP round-trip when resolving local URL (#4160) 2017-07-12 00:39:15 +02:00
Naoki Kosaka
b21ab498f8 Fix media modal prev button behavior. (#4158) 2017-07-11 19:56:45 +02:00
nightpool
1c6c6b271c Revert "Wrap methods of ProcessFeedService::ProcessEntry in classes (#4151)" (#4157)
This reverts commit 425acecfdb.
2017-07-11 18:19:16 +02:00
Eugen Rochko
e6c81a635b Fix #2848 - Rake task to redownload avatars/headers (#4156)
Can be filtered by a specific domain
Resolves #2292
2017-07-11 17:25:49 +02:00
Eugen Rochko
f93de3a516 Fix #3462 - Require authentication for search API (#4155)
This makes it consistent with /api/v1/accounts/search and
previous behaviour has been an oversight.
2017-07-11 17:08:26 +02:00
Eugen Rochko
e19eefe219 Redesign the landing page, mount public timeline on it (#4122)
* Redesign the landing page, mount public timeline on it

* Adjust the standalone mounted component to the lacking of router

* Adjust auth layout pages to new design

* Fix tests

* Standalone public timeline polling every 5 seconds

* Remove now obsolete translations

* Add responsive design for new landing page

* Address reviews

* Add floating clouds behind frontpage form

* Use access token from public page when available

* Fix mentions and hashtags links, cursor on status content in standalone mode

* Add footer link to source code

* Fix errors on pages that don't embed the component, use classnames

* Fix tests

* Change anonymous autoPlayGif default to false

* When gif autoplay is disabled, hover to play

* Add option to hide the timeline preview

* Slightly improve alt layout

* Add elephant friend to new frontpage

* Display "back to mastodon" in place of "login" when logged in on frontpage

* Change polling time to 3s
2017-07-11 15:27:59 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
8784bd79d0 Require stylesheets in common.js (#4152)
Require stylesheets in common.js because stylesheets are shared by the
entry points.
2017-07-11 15:15:42 +02:00
Yamagishi Kazutoshi
31366334cb Drawer tab according to column (#4135)
* Add notifications link to drawer

* Remove local and public timeline tab in drawer

* Add home
2017-07-11 14:36:27 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
425acecfdb Wrap methods of ProcessFeedService::ProcessEntry in classes (#4151)
ProcessFeedService::ProcessEntry had many methods, so wrap them in classes
representing activities.
2017-07-11 13:37:05 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
29f314a502 Remove redundant inclusion (#4150) 2017-07-11 11:55:48 +02:00
Sorin Davidoi
cc68d1945b refactor: Rewrite immutablejs import statements using destructuring (#4147) 2017-07-11 01:00:14 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
7bacdd718a Fix PrecomputeFeedService for filtered statuses (#4148) 2017-07-11 01:00:01 +02:00
STJrInuyasha
7a889a8e12 Remote following success page (#4129)
* Added a success page to remote following
Includes follow-through links to web (the old redirect target) and back to the remote user's profile

* Use Account.new in spec instead of a fake with only id
(fixes spec)

* Fabricate(:account) over Account.new

* Remove self from the success text
(and all HTML with it)
2017-07-10 18:05:06 +02:00
Eugen Rochko
34ccc058fa Limit total subscribe retries to 10, but space them out more (#4142)
Since there is little point in retrying so often when a service is down
or does not exist anymore. Subscriptions are renewed 1 day before they
should expire, so retrying in 30 minutes, then 2 hours, then 12 hours
is fine. If even after that, the remote server does not work, there is
little sense in retrying more often than once a day

Also, uniqueness of the job should ensure that failed retries will
not result in multiple retries for the same endpoint when the next
resubscription cycle comes
2017-07-10 18:04:23 +02:00
m4sk1n
7f9a353b94 i18n: @63baab0 (pl) (#4141) 2017-07-10 18:04:06 +02:00
Yamagishi Kazutoshi
31490e0d6c Add Japanese translations (#4140)
* Add Japanese translations for #3879

* Add Japanese translations for #4033

* Add Japanese translations for #4136
2017-07-10 16:32:17 +02:00
のら
ca45bd0361 Add Japanese translation of terms and flash (#4137) 2017-07-10 14:04:05 +02:00
Yamagishi Kazutoshi
63baab088d Fix regular expression for RFC 5646 (regression from #3604) (#4133) 2017-07-10 14:02:18 +02:00
Yamagishi Kazutoshi
2b9721d1b3 Add setting a always mark media as sensitive (#4136) 2017-07-10 14:00:32 +02:00
abcang
617208053c Rescue exceptions related to Goldfinger at FetchRemoteStatusService (#4138) 2017-07-10 13:59:29 +02:00
Lynx Kotoura
1c6cbdd4e4 Fix duplication of tag in columns_area.js (#4131)
Deleted ">" just a typo.
2017-07-10 04:37:10 +02:00
Yamagishi Kazutoshi
f8212da329 Add attribute for default privacy to verify credentials (#4075)
* Add attribute for default privacy to verify credentials

* add raw_note

* source
2017-07-10 03:29:34 +02:00
Sorin Davidoi
4122a837fa fix(components/media_modal): Aspect ratio (#4128)
* fix(components/media_modal): Aspect ratio

* fix: Remove useless style
2017-07-09 18:49:07 +02:00
abcang
307f3e0dd7 Rescue exceptions related to Goldfinger (#4044)
* Rescue exceptions related to Goldfinger

* Exclude Goldfinger::SSLError
2017-07-09 17:33:21 +02:00
Sorin Davidoi
fc4c74660b Swipeable views (#4105)
* feat: Replace react-swipeable with react-swipeable-views

* fix: iOS 9
2017-07-09 15:02:26 +02:00
unarist
caf938562e Avoid async import if the component is previously loaded (#4127) 2017-07-09 14:52:03 +02:00
unarist
ce3a371eee Fix initial loading of pinned Notifications column (#4126) 2017-07-09 13:04:30 +02:00
Sorin Davidoi
37c832cdf7 refactor: Make all reducers sync (#4125) 2017-07-09 12:16:08 +02:00
nullkal
007ab330e6 Use charlock_holmes instead of nkf at FetchLinkCardService (#4080)
* Specs for language detection

* Use CharlockHolmes instead of NKF

* Correct mistakes

* Correct style

* Set hint_enc instead of falling back and strip_tags

* Improve specs

* Add dependencies
2017-07-08 22:44:31 +02:00
abcang
794781d121 Change account link to admin account link on report page (#4119) 2017-07-08 18:35:08 +02:00
Sorin Davidoi
91cacb1e8f fix: Rerender Bundle on route change (#4120) 2017-07-08 18:34:55 +02:00
unarist
46f5d3a2e9 Fix first loading of notifications when the column is pinned (#4114) 2017-07-08 17:22:24 +02:00
Yamagishi Kazutoshi
76318f8830 Don't use preview when image size is unknown (#4113) 2017-07-08 17:21:59 +02:00
Yamagishi Kazutoshi
852bda3d32 Use srcSet only when know width (#4112) 2017-07-08 17:20:53 +02:00
Jeroen
0324f807f4 Update and improvement Dutch language strings (#4117)
* Update

* Update
2017-07-08 17:17:02 +02:00
Eugen Rochko
864e3f8d9c Replace OEmbed and initial state Rabl templates with serializers (#4110)
* Replace OEmbed Rabl template with serializer

* Replace initial state rabl with serializer
2017-07-08 14:51:05 +02:00
unarist
102466ac58 Fix JSON serialization of media_attachment (#4111) 2017-07-08 14:50:45 +02:00
Nolan Lawson
63b77f2320 Avoid using getBoundingClientRect to calculate height (#4001) 2017-07-08 01:57:22 +02:00
Sylvhem
8fecd80108 Various fixes in the French translation (#4107)
* Changement de « Changement de mot de passe » en « Sécurité »

* Suppression de « (Two-factor auth) »

Change la valeur de la chaîne « two_factor_authentication » de « Identification à deux facteurs (Two-factor auth) » à « Identification à deux facteurs ».
La traduction anglaise entre parathentèse était redondante et gênait la lecture.

Change the value of the "two_factor_authentication" from "Identification à deux facteurs (Two-factor auth)" to "Identification à deux facteurs".
The English translation in brackets was superflous and was getting in the way of the reader.

* Remplace « ' » par « ’ »

Retire de la traduction les apostrophes droites « ' » (U+0027) au profit des apostrophes typographiques « ’ » (U+2019).
En typographie française, les apostrophes typographiques sont utilisées à la place des apostrophes droites. La traduction était jusqu’ici incohérente et utilisait les deux.

Remove from the translation all the vertical apostrophes (U+0027) in favor of the curly ones (U+2019).
In French typography, typographic apostrophes are used instead of vertical ones. The translation was incoherent and used both.

* Remplace « ... » par « … »

Remplace les séries de trois points par le caractère dédié « … » (U+2026).

Replace all the series of three dots by the dedicated character "…" (U+2026).

* Mise à jour

Crée config/locales/activerecord.fr.yml, ajoute de nouvelles chaînes et met à jour certains textes.
Les compteurs de caractères pour le pseudonyme et la biographie devrait maintenant pouvoir fonctionner même quand l’interface est en français.

Create config/locales/activerecord.fr.yml, add new strings et update some textes.
The caracters counters for the username and the biography should now work even when the interface is in French.

* Remplace « A » par « À »

Remplace « A » par « À » aux endroits où le mot est mal orthographié.

Replace "A" by "À" when the wrong word is used.

* Ajout d’espaces insécables

Ajoute des espaces insécables suivant les régles nécessaires en typographie française.

Add non-breaking spaces following rules of French typography.

* Remplace « certain » par « certain·e »

Harmonise la traduction en remplaçant « certain » par sa forme épicène.

Harmonize the translation by replacing "certain" (sure) by its epicene form.

* Corrige un angliscisme

Remplace « adresse e-mail » par « adresse électronique ».

Replace "adresse e-mail" (e-mail address) by "adresse électronique" (electronic address).
2017-07-08 01:27:22 +02:00
Sorin Davidoi
348d6f5e75 Lazy load components (#3879)
* feat: Lazy-load routes

* feat: Lazy-load modals

* feat: Lazy-load columns

* refactor: Simplify Bundle API

* feat: Optimize bundles

* feat: Prevent flashing the waiting state

* feat: Preload commonly used bundles

* feat: Lazy load Compose reducers

* feat: Lazy load Notifications reducer

* refactor: Move all dynamic imports into one file

* fix: Minor bugs

* fix: Manually hydrate the lazy-loaded reducers

* refactor: Move all dynamic imports to async-components

* fix: Loading modal style

* refactor: Avoid converting the raw state for each lazy hydration

* refactor: Remove unused component

* refactor: Maintain modal name

* fix: Add as=script to preload link

* chore: Fix lint error

* fix(components/bundle): Check if timestamp is set when computing elapsed

* fix: Load compose reducers for the onboarding modal
2017-07-08 00:06:02 +02:00
Eugen Rochko
00df69bc89 Fix #4058 - Use a long-lived cookie to keep track of user-level sessions (#4091)
* Fix #4058 - Use a long-lived cookie to keep track of user-level sessions

* Fix tests, smooth migrate from previous session-based identifier
2017-07-07 23:25:15 +02:00
Eugen Rochko
6e1261f277 Fix notifications including wrong status in JSON (#4097) 2017-07-07 16:19:28 +02:00
Eugen Rochko
1c1819a78a Fix feed author not being enforced in ProcessFeedService (#4092)
Ensure the only allowed author of top-level entries in feed is the person
the feed belongs to (a verified user). Ensure delete events only apply
if the deleted item belonged to that user.
2017-07-07 04:31:40 +02:00
Eugen Rochko
8b2cad5637 Refactor JSON templates to be generated with ActiveModelSerializers instead of Rabl (#4090) 2017-07-07 04:02:06 +02:00
のら
2d6128672f Togglable filter links (#4021)
* Togglable filter links

* Rename is_selected to selected?
2017-07-07 00:48:09 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
2083000027 Set default From address in config (#3756)
The old implementation sets default From address in mailers. It sets
the address from SMTP_FROM_ADDRESS, or notifications@localhost. The
behavior is occasionally undesired results.

In production environment, notifications@localhost is likely to be
incorrect.
In testing environment, the email address should not be varied by a
environment variable.

After appling this change,

In production environment, it will throw an exception when launching
Mastodon.
In testing environment, the address will be fixed with
notifications@localhost.
2017-07-07 00:12:12 +02:00
Damien Erambert
18d3fa953b Add a setting allowing the use of system's default font in Web UI (#4033)
* add a system_font_ui setting on the server

* Plug the system_font_ui on the front-end

* add EN/FR locales for the new setting

* put Roboto after all other fonts

* remove trailing whitespace so CodeClimate is happy

* fix user_spec.rb

* correctly write user_spect this time

* slightly better way of adding the classes

* add comments to the system-font stack for clarification

* use .system-font for the class instead

* don't use multiple lines for comments

* remove trailing whitespace

* use the classnames module for consistency

* use `mastodon-font-sans-serif` instead of Roboto directly
2017-07-06 22:39:56 +02:00
abcang
f76e71825d Improve Activity stream spoiler (#4088) 2017-07-06 21:31:03 +02:00
STJrInuyasha
6bf6d35637 Parse links in status content on update as well as mount (#4042)
* Update links in status content on update as well as mount
Fixes occasional bugs with mentions and hashtags not being set to open in a new column like they should, and instead opening in a new page

* use classList instead of raw className
2017-07-06 21:30:37 +02:00
unarist
9c03fd9cae Unobserve status on unmount (#4013)
This fixes a warning on status unmounting (e.g. deletion).

This also resets IntersectionObserverWrapper on disconnect to avoid `unobserve()` calls
which has bug in Edge.
2017-07-06 21:26:21 +02:00
Mantas
34c8a46d7d Remove ugly blue highlight on Android browsers (#4031) 2017-07-06 21:26:07 +02:00
Quent-in
26949607d2 l10n Occitan locale (#4089)
* Small adjustments

About the report part.

* Update time format
2017-07-06 21:10:12 +02:00
Shin Kojima
e7c0d87d98 Fix embedded SVG fill attribute (#4086)
* Fix embedded SVG fill attribute

SCSS darken/lighten functions may not return a color value, but a color
name like "white".  See following example:

https://www.sassmeister.com/gist/c41da93b87d536890ddf30a1f42e7816

This patch will normalize $color argument to FFFFFF style.

I also changed the function name from "url-friendly-colour" to
"hex-color", Because...

1. The name "url-friendly" is not meaningful enough to describe what it
   does.

2. It is familier to me using "color" rather than "colour"

    kojima:kojiMac mastodon[master]$ git grep -l colour
    app/javascript/styles/boost.scss
    spec/fixtures/files/attachment.jpg

    kojima:kojiMac mastodon[master]$ git grep -l color
    .rspec
    .scss-lint.yml
    Gemfile.lock
    app/javascript/mastodon/features/status/components/action_bar.js
    app/javascript/styles/about.scss
    app/javascript/styles/accounts.scss
    app/javascript/styles/admin.scss
    app/javascript/styles/basics.scss
    app/javascript/styles/boost.scss
    app/javascript/styles/compact_header.scss
    app/javascript/styles/components.scss
    app/javascript/styles/containers.scss
    app/javascript/styles/footer.scss
    app/javascript/styles/forms.scss
    app/javascript/styles/landing_strip.scss
    app/javascript/styles/reset.scss
    app/javascript/styles/stream_entries.scss
    app/javascript/styles/tables.scss
    app/javascript/styles/variables.scss
    app/views/admin/subscriptions/_subscription.html.haml
    app/views/layouts/application.html.haml
    app/views/layouts/error.html.haml
    app/views/manifests/show.json.rabl
    bin/webpack-dev-server
    config/initializers/httplog.rb
    public/500.html
    public/emoji/1f1e6-1f1e8.svg
    public/emoji/1f1ec-1f1f8.svg
    public/emoji/1f1f3-1f1ee.svg
    public/emoji/1f1fb-1f1ec.svg
    spec/fixtures/requests/idn.txt
    yarn.lock

* Add semicolon
2017-07-06 15:27:02 +02:00
m4sk1n
6d106d3943 i18n: minor changes in Polish translation (#4087)
* i18n: minor changes in Polish translation

* Update pl.json
2017-07-06 15:25:27 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
a37cf9548c Explicitly require MIME::Types (#4083) 2017-07-05 23:58:03 +02:00
abcang
5e6acf9601 Fix Nokogiri::HTML at FetchLinkCardService (#4072) 2017-07-05 14:54:21 +02:00
unarist
b52a5e6bd6 Show LoadMore button on Notifications even if all items are filtered (#4077) 2017-07-05 14:51:53 +02:00
Yamagishi Kazutoshi
bb194ddb3c Format datetime of subscriptions on admin UI (#4078) 2017-07-05 14:51:28 +02:00
Minori Hiraoka
976c18aa5f Fix Korean translation (#4065)
* Added Korean Translation (based on japanese)

* Update korean translation

* Update korean translation: fix syntax error

* Updated korean translation

* Update korean translation

* Update ko.json

Translate non-translated parts

* Update ko.yml

Translated missed parts - and fixed some typos

* Create simple_form.ko.yml

* Update simple_form.ko.yml

Translation error fix - password change form

* Update simple_form.ko.yml

* Update ko.json

Missing translation
2017-07-04 16:48:22 +02:00
Gyuhwan Park
4cddef1cea i18n: Add korean translation (#4064)
* Added Korean Translation (based on japanese)

* Update korean translation

* Update korean translation: fix syntax error

* Updated korean translation

* Update korean translation

* Update ko.json

Translate non-translated parts

* Update ko.yml

Translated missed parts - and fixed some typos

* Create simple_form.ko.yml

* Updated korean translation

* i18n: fix test fails
2017-07-04 16:11:23 +02:00
Yamagishi Kazutoshi
275c5b51ed Customizable privacy policy from admin interface (#4062) 2017-07-04 15:19:24 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
f85dbe83c8 Remove sort in Feed (#4050)
In from_redis method, statuses retrieved from the database was mapped to
the IDs retrieved from Redis. It was equivalent to order from high to low
because those IDs are sorted in the same order.
Statuses are ordered with the ID by default, so we do not have to reorder.
Sorting statuses in the database is even faster since the IDs are indexed
with B-tree.
2017-07-03 13:17:27 +02:00
Yamagishi Kazutoshi
92f1c474f3 Add fa-fw class to user agent icon (#4047) 2017-07-03 11:04:35 +02:00
abcang
a6d02cff36 Rescue exceptions caused by FetchLinkCardService (#4045) 2017-07-03 11:03:34 +02:00
Nolan Lawson
e282580101 Faster emojify() by avoiding str.replace() entirely (#4049) 2017-07-03 11:02:36 +02:00
Damien Erambert
133b892e0d Update French locales (#4034)
* add missing locales for French translation

* accent "Media" in the front-end locales

* images => médias

* Change 'rapport' to 'signalement' in French locales to be more coherent

* fix typo

* remove duplicate EN locale

* translate missing locales

* update missing locale

* fix typo

* unify with "utilisateur⋅ice⋅s"

* address PR comments
2017-07-02 18:36:35 +02:00
Sorin Davidoi
60da49f856 fix(components/columns_area): Increase delta for swipe detection (#4037) 2017-07-02 15:55:50 +02:00
Eugen Rochko
bf50e3e5ae Fix height issue in report modal 2017-07-01 14:50:10 +02:00
Nolan Lawson
a978b88997 Faster emojify() algorithm, avoid regex replace (#4019)
* Faster emojify() algorithm, avoid regex replace

* add semicolon
2017-06-30 17:29:22 +02:00
Yamagishi Kazutoshi
3a7106f05a Fix that AdminMailer does not send (#4012) 2017-06-30 13:40:43 +02:00
Yamagishi Kazutoshi
0e09048537 Fix broken style in media gallery (regression from #3963) (#4014) 2017-06-30 13:40:00 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
7362469d89 Do not raise an error if PrecomputeFeed could not find any status (#4015) 2017-06-30 13:39:42 +02:00
abcang
1273fbf86e Rescue Addressable::URI::InvalidURIError at Remotable (#4017) 2017-06-30 13:38:36 +02:00
Yamagishi Kazutoshi
a27879c0cf Replace state to /web when root path (#4009) 2017-06-30 05:37:41 +02:00
Naoki Kosaka
049cea30b0 Fix media-gallery, overflow is hidden. (#4008) 2017-06-30 05:37:17 +02:00
abcang
b342c81c17 rescue HTTP::ConnectionError (#3992) 2017-06-29 13:04:07 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
f79c10162e Use multiple pairs for zadd in PrecomputeFeedService (#3990) 2017-06-29 01:25:31 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
60b2b56d38 Reduce number of commands in FeedManager#trim (#3989) 2017-06-29 01:17:26 +02:00
Eugen Rochko
71bc75e6ac Do not fail to create access token if superapp was never created (#3986) 2017-06-28 17:43:48 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
7d8e3721ae Overwrite old statuses with reblogs in PrecomputeFeedService (#3984) 2017-06-28 14:50:23 +02:00
m4sk1n
126f929c39 i18n: Use instance name in email notifications instead of Mastodon (pl) (#3976)
Signed-off-by: Marcin Mikołajczak <me@m4sk.in>
2017-06-27 23:10:43 +02:00
m4sk1n
6ad72728f6 i18n: Turn report screen into a modal (pl) (#3974) 2017-06-27 22:14:31 +02:00
Sorin Davidoi
64d9c016bd fix(components/status): Up & down jump due to content being added to the DOM (#3972) 2017-06-27 18:43:53 +02:00
Eugen Rochko
12e7c81dd8 Turn report screen into a modal (#3965) 2017-06-27 18:07:21 +02:00
Midgard
16d0aed403 Use instance name in email notifications instead of "Mastodon" (#3763)
* Use instance name in "password changed" mail

instead of "Mastodon".

Fixes tootsuite#2620.

* Use instance name in password reset mail

instead of "Mastodon".
2017-06-27 14:22:36 +02:00
Sorin Davidoi
be92babd00 Responsive images in media gallery (#3963)
* feat(components/media_gallery): Responsive images

* fix(components/media_gallery): Link to image URL
2017-06-27 13:46:37 +02:00
Yamagishi Kazutoshi
8f2c91568c Maintain aspect ratio for preview image (#3966) 2017-06-27 13:43:53 +02:00
Eugen Rochko
42b8220632 Fix #1624 - Send e-mail notifications to admins about new reports (#3949) 2017-06-27 00:04:00 +02:00
ThibG
a91d968cab Raise an error if salmon request response is unsatisfactory (#3960) 2017-06-26 19:39:58 +02:00
Alda Marteau-Hardi
f53ed108b0 Translate pin/unpin and fix some inconsistencies in gender neutral strings (#3952) 2017-06-26 13:04:36 +02:00
Eugen Rochko
5e8d037e27 Fix #3910 - Require OTP authentication to disable 2FA (#3935)
* Fix #3910 - Require OTP authentication to disable 2FA. Also, remove ability
to generate new OTP backup codes *after* initial backup codes were handed
out during activation

* Restore recovery code re-generation

* Improve display of some 2FA elements
2017-06-25 23:51:46 +02:00
Eugen Rochko
ed7dc1704d Bind web UI access tokens to sessions (#3940)
* Add overview of active sessions

* Better display of browser/platform name

* Improve how browser information is stored and displayed for sessions overview

* Fix test

* Fix #2347 - Bind web UI access token to session

When you logout, session also destroys the access token, so it's no longer
valid. If access token is destroyed some other way, the session is also
destroyed, requiring a re-login.

Fix #1681 - Add scheduler to remove revoked access tokens and grants

* Fix test
2017-06-25 23:51:32 +02:00
Sorin Davidoi
4ce1540094 fix(features/compose): Handle external changes to the textarea (#3632) 2017-06-25 21:43:27 +02:00
Eugen Rochko
f7301bd5b9 Add overview of active sessions (#3929)
* Add overview of active sessions

* Better display of browser/platform name

* Improve how browser information is stored and displayed for sessions overview

* Fix test
2017-06-25 16:54:30 +02:00
PFM
099a3b4eac Fix "undefined" in className (#3939) 2017-06-25 16:02:56 +02:00
unarist
1fc096ec75 Fix elephant in onboarding modal being very small sized on small devices (#3932) 2017-06-24 23:18:32 +02:00
unarist
21c2bc119c Clean column collapsible (#3931)
* Remove unused column_collapsable.js
* Remove old styles
* Extract `> div`  style to independent class
2017-06-24 23:18:11 +02:00
Sorin Davidoi
d23293c762 feat(components/onboarding_modal): Swipe between pages (#3934) 2017-06-24 23:17:39 +02:00
Yamagishi Kazutoshi
79dacea962 Fix #3924 (regression from #3906) (#3925) 2017-06-24 12:24:02 +02:00
unarist
4e6b5e7879 Use debounce for dispatch scrollTopNotification and expandNotifications (#3700) 2017-06-24 02:43:26 +02:00
Daniel Hunsaker
c0979381a4 Fix a typo and give CW'd statuses the right cursor (#3918) 2017-06-23 23:13:27 +02:00
Yamagishi Kazutoshi
c1a8e3d1eb Use Class and Property Decorators (#3730)
ref https://tc39.github.io/proposal-decorators/
2017-06-23 19:36:54 +02:00
Sorin Davidoi
2211e8d1cd Revocable sessions (#3616)
* feat: Revocable sessions

* fix: Tests using sign_in

* feat: Configuration entry for the maximum number of session activations
2017-06-23 18:50:53 +02:00
Eugen Rochko
281f07244b Merge branch 'swipe-gestures' of git://github.com/sorin-davidoi/mastodon into sorin-davidoi-swipe-gestures 2017-06-23 17:52:39 +02:00
Yamagishi Kazutoshi
eff9416469 Remove unused variables (#3906) 2017-06-23 16:05:04 +02:00
Yamagishi Kazutoshi
6fbb3841a6 Add prefix to setting toggle ID (#3907) 2017-06-23 13:55:05 +02:00
Sorin Davidoi
d8c4781377 fix: Apply :hover, :focus and :active only when multiple columns 2017-06-23 13:48:46 +02:00
Sorin Davidoi
bc6e958229 feat: Swipeable media 2017-06-23 13:48:46 +02:00
Sorin Davidoi
a6d8d1036a feat: Swipeable columns 2017-06-23 13:48:46 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
e27f792c24 Some minor change and spec for Account (#3813)
* Introduce domains method to Account relation

Account had followers_domains method, which was excessively specific.
Let relation of Account have domains method instead.

* Move follow_mapping in Account to AccountInteractions

* Introduce shared examples for AccountAvatar inclusion

* Cover Account more
2017-06-22 18:34:27 +02:00
Eugen Rochko
0190aac240 Fix regression from #3842 (#3892)
* Fix regression from #3842

Simplify the query by omitting all direct statuses. Private statuses
are allowed because they are from accounts we are following (so
by definition)

Resolves #3887 (alternative)

* Adjust test
2017-06-22 02:38:50 +02:00
unarist
cc382c5006 Don't attach IntersectionObserver for wrapped statuses (#3883)
(This patch has been merged as bugfix and reverted, but still valuable as
improvement)

Previously, we've attached IntersectionObserver twice for boosted statuses:
wrapper Status and wrapped Status. but wrapped Status don't need to manage
intersection and visibility by itself, because it's a part of wrapper Status.
2017-06-21 06:47:36 +02:00
Eugen Rochko
946a166791 Revert #3851 (#3878) 2017-06-21 01:37:15 +02:00
Eugen Rochko
31cd649041 Revert "Don't attach IntersectionObserver for wrapped statuses" (#3877)
* Revert "Bump version to 1.4.4"

This reverts commit 1585b0c6cc.

* Revert "Fix conversations (fixes #3869) (#3870)"

This reverts commit 15b43f555d.

* Revert "Fix streaming server. Redis connection subscribe for each channel. (#3828)"

This reverts commit d8ec832806.

* Revert "Filter direct statuses in Status.as_home_timeline (#3842)"

This reverts commit bab5a18232.

* Revert "Fix RemoteFollow behavior (#3868)"

This reverts commit a20cf3b64e.

* Revert "Update fabricator for MediaAttachment to attach a file according to type (#3862)"

This reverts commit 356df7ae6b.

* Revert "Upgrade React Router (#3677)"

This reverts commit 8f03fdce7f.

* Revert "Do not call setState from unmounted component (#3853)"

This reverts commit 1fc6cb4997.

* Revert "Replace TextIconButton for SensitiveButton to IconButton (#3759)"

This reverts commit eb832e88f4.

* Revert "Fix RTL detection on Ruby side (#3867)"

This reverts commit b16b69350e.

* Revert "i18n: Fixed typo in Polish translation (#3864)"

This reverts commit da6fa029f6.

* Revert "Don't attach IntersectionObserver for wrapped statuses (#3863)"

This reverts commit 94ad0706f5.
2017-06-21 01:33:14 +02:00
ThibG
15b43f555d Fix conversations (fixes #3869) (#3870)
* Actually create conversations given explicit URIs

* Try to get the parent toot in before validation, to avoid creating a new conversation
2017-06-20 20:44:32 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
bab5a18232 Filter direct statuses in Status.as_home_timeline (#3842)
The classes using Status.as_home_timeline, namely Feed and
PrecomputeFeedService are expected to filter direct statuses as
FanOutWriteService does, but their filtering were incomplete or missing.

This commit solves the problem by filtering direct statuses in
as_home_timeline as the other similar methods such as as_public_timeline
does.
2017-06-20 20:41:23 +02:00
unarist
a20cf3b64e Fix RemoteFollow behavior (#3868)
* Invalid acct is an error. not "2 errors".
* Empty input should be different error from invalid acct
2017-06-20 20:40:56 +02:00
Sorin Davidoi
8f03fdce7f Upgrade React Router (#3677)
* chore(yarn): Remove react-router

* chore(yarn): Remove react-router-scroll

* chore(yarn): Remove history

* chore(yarn): Add react-router-dom

* chore: Remove usages of react-router-scroll

* refactor: Upgrade to react-router-web

* refactor: Use fork of react-router-scroll

This reverts commit 2ddea9a6c8d39fc64b7d0b587f3fbda7a45a7fa2.

* fix: Issues mentions in the PR feedback
2017-06-20 20:40:03 +02:00
alpaca-tc
1fc6cb4997 Do not call setState from unmounted component (#3853)
Stop an executing task if the component already unmounted.
2017-06-20 20:37:09 +02:00
Yamagishi Kazutoshi
eb832e88f4 Replace TextIconButton for SensitiveButton to IconButton (#3759)
* Replace TextIconButton for SensitiveButton to IconButton

* line-height
2017-06-20 19:43:09 +02:00
unarist
b16b69350e Fix RTL detection on Ruby side (#3867)
This fixes below bugs:

* pipe characters being counted as RTL character
* only first word being checked
2017-06-20 18:45:09 +02:00
unarist
94ad0706f5 Don't attach IntersectionObserver for wrapped statuses (#3863)
This fixes a bug that sometimes boosted statuses being hidden on scrolling.

Previously, we've attached IntersectionObserver twice for boosted statuses:
wrapper Status and wrapped Status. This will call intersection handler twice,
so this may results race condition...probably.
2017-06-20 04:12:51 +02:00
unarist
bf8c2c4348 Clicking on the CW text should expand the status (#3855) 2017-06-20 01:34:10 +02:00
unarist
aa58cca040 Set cursor:pointer only when necessary (#3857) 2017-06-19 18:27:07 +02:00
masarakki
ff142eb64d setting-for-account-deletable (#3852) 2017-06-19 15:12:31 +02:00
Daigo 3 Dango
5bd3715a4c Link to /about from public page on a single user instance (#3814)
There was no link for visitors to follow to see the about page.
2017-06-19 11:32:28 +02:00
Gô Shoemake
29a22691d2 Fix character/grapheme count stuff (#3839)
* Bring Toot button in line with counter

Both should use stringz I guess

* Use grapheme_length for character count
2017-06-19 11:31:14 +02:00
alpaca-tc
cf6fe4f8cb Unobserve status on unmount (#3851) 2017-06-19 11:29:57 +02:00
alpaca-tc
8d2b3ada80 Fixes streaming callbacks of HashtagTimeline (#3849) 2017-06-19 10:28:35 +02:00
Eugen Rochko
f3be605286 Rename FollowRemoteAccountService to ResolveRemoteAccountService (#3847)
Rename Activitypub to ActivityPub
2017-06-19 01:51:04 +02:00
Eugen Rochko
aebebdc5d1 Debounce autosuggestions (#3836)
* Debounce autosuggestions

* Remove duplicate import
2017-06-19 01:50:56 +02:00
Nolan Lawson
1f2abd8d67 Fix jittery scrolling for Chromium browsers (#3776) (#3832) 2017-06-18 02:59:29 +02:00
Nolan Lawson
1d9f9352a6 handle resize in a debounce() (#3834) 2017-06-18 02:57:41 +02:00
nightpool
94d0e012de Whitelist allowed classes for federated statuses (#3810)
* Whitelist allowed classes for federated statuses

Allowed classes are currently:

 - Any microformats class (h/p/u/dt/e-*)
 - the classes mention, hashtag, ellipses and invisible.

this last one is somewhat suspect, but Mastodon currently uses it to render hidden link text.

resolved #3790

* Fix code style
2017-06-17 20:26:05 +02:00
abcang
1840a352f5 Fix ogp url (#3802) 2017-06-16 22:38:26 +02:00
Yamagishi Kazutoshi
df4f4e94b3 Add alt attribute to ImageLoader (#3765) 2017-06-15 14:10:41 +02:00
ThibG
51b2f789bd Fix #3633 by not spawning RemoteProfileUpdateWorker from FetchRemoteAccountService (#3642) 2017-06-15 11:04:23 +02:00
Eugen Rochko
8518d005fd Fix regression from #3490 - filter out hidden statuses from ancestors/descendants even if the viewer is anonymous (#3752) 2017-06-15 02:00:08 +02:00
Eugen Rochko
bb911043de Fix regression from #3748 - properly set defaultColumns (#3750) 2017-06-14 23:07:06 +02:00
unarist
d8a0ee1956 Fix merge default columns (#3748)
mergeDeep also merges columns, but it should be replaced simply.

So in the new function, first apply mergeDeep except columns, and set default columns if columns unset.
2017-06-14 21:59:52 +02:00
Eugen Rochko
91c71471ab Fix account delete form not accepting password, update suspended (#3745)
account before removing content for quicker feedback to end-users
2017-06-14 20:30:12 +02:00
Eugen Rochko
80c13bf0ef Save settings when they are changed (#3743) 2017-06-14 18:59:02 +02:00
Eugen Rochko
e17c2e5da5 Batched remove status service (#3735)
* Make Pubsubhubbub::DistributionWorker handle both single stream entry
arguments, as well as arrays of stream entries

* Add BatchedRemoveStatusService, make SuspendAccountService use it

* Improve method names

* Add test

* Add more tests

* Use PuSH payloads of 100 to have a clear mapping of
1000 input statuses -> 10 PuSH payloads

It was nice while it lasted
2017-06-14 18:01:35 +02:00
Eugen Rochko
4a618908e8 Account deletion (#3728)
* Add form for account deletion

* If avatar or header are gone from source, remove them

* Add option to have SuspendAccountService remove user record, add tests

* Exclude suspended accounts from search
2017-06-14 18:01:27 +02:00
Eugen Rochko
dc8a6244fc Fix #2619 - When redis feed is empty, fall back to database (#3721)
* Fix #2619 - When redis feed is empty, fall back to database

* Use redis value to return feed from database only while RegenerationWorker
hasn't finished running

* Fix specs

* Replace usage of reject!
2017-06-14 13:37:03 +02:00
Sorin Davidoi
0f52e42c2d fix(status): Content jump due to height changes (#3734) 2017-06-13 20:46:21 +02:00
Eugen Rochko
47ace633dc Simplify getting started links localization. Link "powered by Mastodon" to joinmastodon.org (#3725) 2017-06-13 03:55:28 +02:00
Eugen Rochko
85d5518b6b Fix #3675 - Adjust quality settings of converted GIFs to reduce filesize (#3723) 2017-06-13 00:51:48 +02:00
Eugen Rochko
5104bd7988 Fix unclickable onboardin modal regression (#3724) 2017-06-13 00:39:31 +02:00
m4sk1n
3e425b51fd i18n: minor fix in Polish translation (#3726)
* i18n: minor fix in Polish translation

* i18n
2017-06-12 23:55:32 +02:00
Eugen Rochko
37dbfa4cd7 Unread indicator was invisible behind column header, adjusted (#3720)
* Unread indicator was invisible behind column header, adjusted

* Unread indicator now a CSS pseudo-element

* Adjust flex
2017-06-12 20:02:17 +02:00
Ratmir Karabut
0d23c81662 Update Russian translation (pin) (#3712)
* Update Russian translation (pin)
2017-06-12 12:53:20 +02:00
Yamagishi Kazutoshi
b436b31d5a Regenerate defaultMessages.json (#3709)
follow up #3564
2017-06-12 12:41:19 +02:00
Yamagishi Kazutoshi
72133fbed6 Re-add clear notifications button (#3708)
* Re-add clear notifications button

* remove connect() in column_settings

* one line

* remove unused props
2017-06-12 12:26:23 +02:00
Eugen Rochko
605e2a417c Fix regression from #3672 - Do not use pipeline around zscore (#3704) 2017-06-12 03:11:12 +02:00
ThibG
f8fe394e7a Fix an error when TagManager.local_url? is called with a bad URI (#3701)
TagManager.local_url? was sometimes called with an URI with a nil host,
leading to a crash in TagManager.local_url?. This fixes moves the
already-existing uri.host.blank? check in front to avoid this case.
2017-06-11 22:53:12 +02:00
Eugen Rochko
ce812466c7 Fix removal of status sending the original status to mentioned users instead of delete Salmon (#3672)
* Fix removal of status sending the original status to mentioned users instead
of delete Salmon, add test

* Create remove_status_service_spec.rb
2017-06-11 17:13:43 +02:00
Eugen Rochko
47bf7a8047 Fix #3665 - Refactor timelines reducer (#3686)
* Move ancestors/descendants out of timelines reducer

* Refactor timelines reducer

All types of timelines now have a flat structure and use the same
reducer functions and actions

* Reintroduce some missing behaviours

* Fix wrong import in reports

* Fix includes typo

* Fix issue related to "next" pagination in timelines and notifications

* Fix bug with timeline's initial state, expandNotifications
2017-06-11 17:07:35 +02:00
René Klačan
85d405c810 Fix Account model deprecation warnings (#3689)
```
DEPRECATION WARNING: The behavior of `attribute_changed?` inside of after callbacks will be changing in the next version of Rails. The new return value will reflect the behavior of calling the method after `save` returned (e.g. the opposite of what it returns now). To maintain the current behavior, use `saved_change_to_attribute?` instead. (called from block in <class:Account> at /Users/rene/Workspace/personal/ruby/mastodon/app/models/account.rb:60)
DEPRECATION WARNING: The behavior of `attribute_changed?` inside of after callbacks will be changing in the next version of Rails. The new return value will reflect the behavior of calling the method after `save` returned (e.g. the opposite of what it returns now). To maintain the current behavior, use `saved_change_to_attribute?` instead. (called from block in <class:Account> at /Users/rene/Workspace/personal/ruby/mastodon/app/models/account.rb:60)
DEPRECATION WARNING: The behavior of `attribute_changed?` inside of after callbacks will be changing in the next version of Rails. The new return value will reflect the behavior of calling the method after `save` returned (e.g. the opposite of what it returns now). To maintain the current behavior, use `saved_change_to_attribute?` instead. (called from block in <class:Account> at /Users/rene/Workspace/personal/ruby/mastodon/app/models/account.rb:60)
DEPRECATION WARNING: The behavior of `attribute_changed?` inside of after callbacks will be changing in the next version of Rails. The new return value will reflect the behavior of calling the method after `save` returned (e.g. the opposite of what it returns now). To maintain the current behavior, use `saved_change_to_attribute?` instead. (called from block in <class:Account> at /Users/rene/Workspace/personal/ruby/mastodon/app/models/account.rb:61)
DEPRECATION WARNING: The behavior of `attribute_changed?` inside of after callbacks will be changing in the next version of Rails. The new return value will reflect the behavior of calling the method after `save` returned (e.g. the opposite of what it returns now). To maintain the current behavior, use `saved_change_to_attribute?` instead. (called from block in <class:Account> at /Users/rene/Workspace/personal/ruby/mastodon/app/models/account.rb:62)
DEPRECATION WARNING: The behavior of `attribute_changed?` inside of after callbacks will be changing in the next version of Rails. The new return value will reflect the behavior of calling the method after `save` returned (e.g. the opposite of what it returns now). To maintain the current behavior, use `saved_change_to_attribute?` instead. (called from block in <class:Account> at /Users/rene/Workspace/personal/ruby/mastodon/app/models/account.rb:63)
```

Here's PR describing changes to Dirty API https://github.com/rails/rails/pull/25337
2017-06-11 17:01:32 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
f596a413ef Localize date in digest and cover NotificationMailer more (#3694)
* Localize date in digest

* Cover NotificationMailer more
2017-06-11 12:04:35 +02:00
Yamagishi Kazutoshi
3690f04e4a Remove comments for eslint-disable (#3691) 2017-06-11 10:42:42 +02:00
Yamagishi Kazutoshi
f3e8bc9f8f Refactor UpdateRemoteProfileService (#3690) 2017-06-11 10:41:59 +02:00
René Klačan
dcf0530218 Make sure email is case insensitive on all places (#3688)
When case insensitivity is enabled via devise's `config.case_insensitive_keys` then `.find_for_authentication` method needs to be used instead of `.find_by` because second mentioned returns `nil` when valid email with different cases is passed.

More info https://github.com/plataformatec/devise/wiki/How-To:-Use-case-insensitive-emails
2017-06-11 02:29:08 +02:00
Jeroen
6fb9726b99 Update NL for 1.4.2 (#3685) 2017-06-10 17:26:01 +02:00
Eugen Rochko
8015fd7600 Improve RTL detection (#3682)
- Use plaintext
- Strip out URLs
- Strip out mentions
- Strip out hashtags
- Strip out whitespace from "overall" count
- Consistent between JS and Ruby
2017-06-10 15:06:50 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
4919b89ab8 Improve default language decision and spec (#3351)
* Improve default language decision

This change allows to takes account of accepted language determined by
the user agent even if the custom default locale of the instance is
configured.

* Cover Localized more

* Fix code style
2017-06-10 09:44:02 +02:00
Matt Jankowski
2925372ff4 Move create/destroy actions for api/v1/statuses to namespace (#3678)
Each of mute, favourite, reblog has been updated to:

- Have a separate controller with just a create and destroy action
- Preserve historical route names to not break the API
- Mild refactoring to break up long methods
2017-06-10 09:39:26 +02:00
m4sk1n
778430b54a i18n: Minor fixes in Polish translation (#3674)
* i18n

* i18n

* i18n

* i18n

* i18n
2017-06-09 23:08:09 +02:00
Matt Jankowski
5282ba862a Move reblogged_by and favourited_by actions out of api/v1/statuses and into unique controllers (#3646)
* Add specs for api statuses routes

* Update favourited_by and reblogged_by api routes

* Move methods into new controllers

* Use load_accounts methods to simplify index actions

* Clean up load_accounts methods

* Clean up link header generation

* Check for link headers in specs

* Remove unused actions from api/v1/statuses controller

* Remove specs for moved actions
2017-06-09 14:12:40 -04:00
Eugen Rochko
9b03cf0ddd Fix #3658 - Update RTL styles (#3669) 2017-06-09 19:46:25 +02:00
Eugen Rochko
cdff1da901 Correct validators so that existing error messages would look correct (#3668) 2017-06-09 19:46:01 +02:00
Matt Jankowski
022008a2a6 Language detection defaults to nil (#3666)
* Default to nil for statuses.language

* Language detection defaults to nil instead of instance UI default
2017-06-09 18:09:37 +02:00
Clworld
a3715598cc adjust the size of 'column-header__back-button' (retry) (#3662) 2017-06-09 16:22:28 +02:00
Yamagishi Kazutoshi
1be48dd805 Refactor views/admin/reports/show.html.haml (#3656) 2017-06-09 15:08:06 +02:00
Yamagishi Kazutoshi
6384041d17 Add includes to Report#statuses (#3655) 2017-06-09 15:07:02 +02:00
Yamagishi Kazutoshi
140e73bc82 Check ready state of document in public pages (#3652)
* Check ready state of document in public pages

* add check interactive
2017-06-09 15:06:38 +02:00
ふぁぼ原
e3fae6f52c adjust the size of column-header__back-button (#3654) 2017-06-09 15:05:26 +02:00
Eugen Rochko
177dd8bb53 Fix regression from #3592 - validation condition nesting (#3644) 2017-06-08 19:10:48 +02:00
Eugen Rochko
c207b4bb33 Fix db:seed - only run some validations when the field was changed (#3592)
* Fix db:seed - only run some validations when the field was changed

* Add tests
2017-06-08 09:22:01 -04:00
Eugen Rochko
b87eb8ea14 Fix #3378 - If favourite/reblog already exists, return it instead of failing (#3641) 2017-06-08 15:07:39 +02:00
Eugen Rochko
8902e265b4 Add explit admin actions to (re)subscribe/unsubscribe remote accounts (#3640)
* Add explit admin actions to (re)subscribe/unsubscribe remote accounts
and re-download avatar/header

* Improve how admin NSFW toggle looks
2017-06-08 14:58:22 +02:00
ThibG
f741673638 Fixes #3605 by returning account from database in case of race condition (#3606) 2017-06-08 13:40:11 +02:00
Yamagishi Kazutoshi
0a0b9a271a Improve RuboCop rules (compatibility to Code Climate) (#3636)
08f8de84eb/Gemfile.lock (L38)
Code Climate is using RuboCop v0.46.0.

Change several rules to maintain compatibility.
2017-06-08 13:24:28 +02:00
Sorin Davidoi
8acadeea76 fix: Warn if JavaScript is disabled (#3634) 2017-06-08 00:52:56 +02:00
Matt Jankowski
73540ffe6b Clean up for api/base controller (#3629)
* Move ApiController to Api/BaseController

* API controllers inherit from Api::BaseController

* Add coverage for various error cases in api/base controller
2017-06-07 20:09:25 +02:00
Sorin Davidoi
8cf8ce4ac0 fix(components/autosuggest_textarea): Race condition regarding onBlur (#3631) 2017-06-07 20:05:53 +02:00
Matt Jankowski
f0634ba876 Coverage improvement and concern extraction for rate limit headers in API controller (#3625)
* Coverage for rate limit headers

* Move rate limit headers methods to concern

* Move throttle check to condition on before_action

* Move match_data variable into method

* Move utc timestamp to separate method

* Move header setting into smaller methods

* specs cleanup
2017-06-07 17:23:26 +02:00
Yamagishi Kazutoshi
1d68fe1a60 Fix Code Climate failed (regression from #3622) (#3624) 2017-06-07 15:57:59 +02:00
unarist
6bd6dcf6df Allow "class" attribute on the "a" tag in sanitization (#3623)
This preserves `<a ... class="u-url mention">` from other Mastodon instances.
2017-06-07 15:57:30 +02:00
ThibG
28d2920472 Fixes #3388 by moving re-entrant shared_status_from_xml before transaction block (#3622)
Steps to reproduce the original issue:
1. Have two remote accounts, A that you don't follow, and B that you follow.
2. Have A post a toot and reply to it.
3. Boost A's reply from remote account B.

This used to cause the local instance to get A's reply but fail to link it to
the original post.
2017-06-07 12:28:16 +02:00
Yamagishi Kazutoshi
34bfea8bbf Small changes to japanese translation (#3620) 2017-06-07 10:15:35 +02:00
STJrInuyasha
2d91944285 Don't show business e-mail if it's blank (#3619) 2017-06-07 09:57:47 +02:00
Eugen Rochko
b623dd12c1 Use preview image in <ImageLoader /> to provide immediate visual feedback (#3595)
before the full-size image is loaded
2017-06-06 19:30:17 +02:00
Eugen Rochko
722d152082 Fix #3063 - Add dynamic app manifest (#3563)
* Fix #3063 - Add dynamic app manifest

* Added short_name

* Add background_color
2017-06-06 19:29:42 +02:00
ふぁぼ原
7623766241 Add regex filters on the community timeline and the public timeline. (#3564)
* Add regex filter on the community timeline and the public timeline

* correcting

* Adjust the height of header buttons

* Remove trailing spaces

* Remove trailing spaces

* Solve some code duplication

* reset the state of the locale files in app/javascript/mastodon/locales

* adjust to upstream

* adjust to upstream

* change keys of locale settings
2017-06-06 16:56:10 +02:00
unarist
e34c5a3503 Fix 500 errors on searching invalid URLs (#3613) 2017-06-06 16:44:48 +02:00
unarist
004672aa6c Fix tag search order and not to use tsvector (#3611)
* Sort results by the name
* Switch search method to simple `LIKE` matching instead of tsvector/tsquery

Previously we used scores from ts_rank_cd() to sort results, but it didn't work
because the function returns same score for all results. It's not for calculate
similarity of single words. Sometimes this bug even push out exact matching tag
from results.

Additionally, PostgreSQL supports prefix searching with standard btree index.
Using it offers simpler code, but also less index size and some speed.
2017-06-06 16:07:06 +02:00
Yamagishi Kazutoshi
d8ae3efec3 Improve ESLint rules for JSX (#3608)
* Add react/no-string-refs ESLint rule

* Add react/jsx-boolean-value ESLint rule

* Add react/jsx-closing-bracket-location ESLint rule

* Add react/jsx-indent ESLint rule

* Add react/jsx-curly-spacing ESLint rule

* Add react/jsx-equals-spacing ESLint rule

* Add react/jsx-first-prop-new-line ESLint rule

* Add react/jsx-no-duplicate-props ESLint rule

* Add react/jsx-tag-spacing ESLint rule
2017-06-06 13:20:07 +02:00
Yamagishi Kazutoshi
cd81a1c52a Add missing key attribute to .search-results__hashtag (#3607) 2017-06-06 13:19:29 +02:00
May Kittens Devour Your Soul
dcf73ddeff Update hr.json (#3609) 2017-06-06 13:19:05 +02:00
Yamagishi Kazutoshi
7a7bfa5170 Add quotes ESLint rules (#3602)
* Add quotes ESLint rule

* Add jsx-quotes ESlint rule

* Sort ESLint rules
2017-06-06 03:56:36 +02:00
Yamagishi Kazutoshi
e969c78645 Disable ESLint rule jsx/anchor-has-content (#3601) 2017-06-06 03:55:56 +02:00
ThibG
7adac1bc51 Try fixing ThreadResolveWorker calls (#3599)
* Try fixing ThreadResolveWorker calls

From my understanding of ActiveRecord, a transaction is commited as soon as
the exit of the outmost ActiveRecord.transaction block. However, inner
transaction blocks will exit without the transaction being commited.

In this case, ThreadResolveWorker were fired *within* a transaction block,
so moving the call out of it should do the trick. However, this is somewhat
fragile, as this whole codepath could be called within yet another transaction.

* Set status thread within the transaction block if it is immediately available from database
2017-06-06 00:09:14 +02:00
Naoki Kosaka
e859d6f259 Fix LoadMore in Notifications. (#3590) 2017-06-05 19:18:26 +02:00
Naoki Kosaka
a0880edc6e Fix (PR #3585) Add hasMore to propTypes and cover handleScroll. (#3589) 2017-06-05 18:18:56 +02:00
unarist
61fcdbbf7e Add back button to hashtag timeline again (#3587) 2017-06-05 17:10:40 +02:00
Shunsuke Michii
43af695ba1 Add th.json. (#3588) 2017-06-05 17:02:41 +02:00
IkUrA
facd90e7a6 Add streaming_api_base_url to /api/v1/instance (#3556)
* Add streaming_api_base_url to /api/v1/instance

* Adjust spaces

* nested view

* re-adjust spaces
2017-06-05 16:37:44 +02:00
Matt Jankowski
6201f96b8a Introduce StatusThreadingConcern (#3490)
* Add a StatusFilter class to identify visibility of statuses by accounts

* Extract StatusThreadingConcern from Status

* Clarify purpose of checking for nil account
2017-06-05 16:07:44 +02:00
unarist
c26cea262b Prevent pinned columns from scroll to top on URL changing (#3586) 2017-06-05 15:20:46 +02:00
Naoki Kosaka
1f1d6bf2a0 Fix LoadMore in following and followers. (#3585) 2017-06-05 14:13:20 +02:00
Daigo 3 Dango
2985d08951 Redirect to streaming_api_base_url (#3579)
* Redirect to streaming_api_base_url

When Rails receives a request to streaming API, it most likely
means that there is another host which is configured to respond
to it. This is to redirect clients to that host if
`STREAMING_API_BASE_URL` is set as another host.

* Use the new Ruby 1.9 hash syntax
2017-06-05 12:09:29 +02:00
Yamagishi Kazutoshi
66ca7157db Add support key shortcut to Onboarding Modal (#3517)
* Add support key shortcut to Onboarding Modal

* this.state.pages -> this.pages
2017-06-05 10:09:14 +02:00
Yamagishi Kazutoshi
4addf051d4 Fix broken embed page (#3577) 2017-06-05 10:08:31 +02:00
René Klačan
037f96c5ae Don't follow account if it's already followed (#3575)
Closes https://github.com/tootsuite/mastodon/issues/3102
2017-06-05 03:24:18 +02:00
Quent-in
370fa70924 l10n update for occitan language (#3557)
* i18n Update : Add preference setting for delete toot modal

Adding a line for "Add preference setting for delete toot modal"

* i18n update for pin/unpin

Update to add two more translations

* i18n update to have the dates in plain occitan

* Removed the blank line

* %{selft} back in the translation
2017-06-05 01:31:10 +02:00
Eugen Rochko
f7a30e2fae Added support for configurable reserved usernames (fix of #1382) (#3566)
* Added support for configurable reserved usernames

* Added reserved usernames from mastodon issue 1355

* Fix reserved usernames
2017-06-05 01:03:45 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
e07b57852e Remove some code in TagManager and spec (#3547)
* Do not fall back to StreamEntry if object_type is unavailable in TagManager

Since 6d6a429af8, when Status, the only model
with stream_entry, and StreamEntry got its own logic in uri_for and
url_for, the purpose of the fallbacks to activity_type of StreamEntry
became unclear.

This commit removes the fallbacks. When adding another model with
stream_entry in future, consider to update uri_for and url_for.

* Cover TagManager more
2017-06-04 16:14:25 +02:00
m4sk1n
7c7c18fdea i18n: Updated Polish translation (#3555) 2017-06-04 15:18:42 +02:00
lindwurm
a84664026e l10n: ja: Change about/more link text (#3539)
ref: #3538 ("Extended information" -> "About this instance") and #3519

Signed-off-by: lindwurm <lindwurm.q@gmail.com>
2017-06-04 15:00:15 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
e674608d10 A minor change for ProviderDiscovery and spec (#3543)
* Do not default the format in ProviderDiscovery

The format should be determined when discovering, as it is in the current
implementation, and it is a flaw if it is not determined.

* Spec ProviderDiscovery
2017-06-04 14:59:40 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
c7af8cbc90 Remove some arguments of Formatter.instance.format and spec (#3541)
* Remove some arguments of Formatter.instance.format

* Improve spec for Formatter
2017-06-04 14:58:57 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
19084d3c6c Remove Targetable (#3548) 2017-06-04 14:56:10 +02:00
Naoki Kosaka
e014bf8ed0 Fix limit_param in favourites_controller.rb (#3553) 2017-06-04 14:52:26 +02:00
Yamagishi Kazutoshi
f6e2309e70 Fix column buttons overflow in Japanese (#3552) 2017-06-04 14:52:02 +02:00
Yamagishi Kazutoshi
9d2154c4ab Add Japanese translations (pin) (#3551)
* Add Japanese translations (pin)

* "ピン留め" is more general
2017-06-04 14:51:35 +02:00
unarist
1dfd27a028 Fix all icons in the column header being hilighted (#3554) 2017-06-04 14:51:06 +02:00
Mingye Wang
b97ebaf620 en.json: change about/more link text to "About this instance" (#3538)
This change follows #3519, which does the same for the Chinese variants. Or should it be simply "About"?
2017-06-04 04:25:18 +02:00
Eugen Rochko
8ee2eb5d2e Allow mounting arbitrary columns (#3207)
* Allow mounting arbitrary columns

* Refactor column headers, allow pinning/unpinning and moving columns around

* Collapse animation

* Re-introduce scroll to top

* Save column settings properly, do not display pin options in
single-column view, do not display collapse icon if there is
nothing to collapse

* Fix one instance of public timeline being closed closing the stream
Fix back buttons inconsistently sending you back to / even if history exists

* Getting started displays links to columns that are not mounted
2017-06-04 01:39:38 +02:00
masarakki
20b647020b refocus-after-toot (#3537) 2017-06-04 01:22:37 +02:00
takayamaki
3eedad2737 change sidekiq queueing to bulk push (#3536) 2017-06-04 00:11:15 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
ce7c0def88 Remove redundant code in AtomSerializer and spec (#3528)
* Remove redundant status.reply? in AtomSerializer#object

* Cover AtomSerializer more
2017-06-03 20:51:08 +02:00
Clworld
dab8fc4584 Execute PushUpdateWorker only for accounts who uses StreamingAPI just now. (#3278)
* Add redis key "subscribed:timeline:#{account.id}" to indicate active streaming API listeners exists.

* Add endpoint for notification only stream.

* Run PushUpdateWorker only for users uses Streaming API now.

* Move close hander streamTo(Http/Ws) -> stream(Http/Ws)End (Deal with #3370)

* Add stream type for stream start log message.
2017-06-03 20:50:53 +02:00
Nolan Lawson
3363f2f4d6 Fix isIntersecting in Chrome (#3525) 2017-06-03 14:43:10 +02:00
Mingye Wang
c7f2d6af55 zh-cn&tw.json: "extended info" -> "about this site" (#3519)
* zh-cn.json: "additional info" -> "more info"

This commit changes the "extended info" (about/more) text to something that translates to "more info", as "additional info" in zh can sound like appending things to the (ugh) navbar, I guess.

Or should I just change it to "about this site" (关于本站)?

* zh-cn.json: navbar.info -> "about this site"

* zh-臺灣.json: navbar.info -> "about this site"
2017-06-03 14:42:47 +02:00
Yamagishi Kazutoshi
336f0b0823 Remove WarmCacheService (#3527)
WarmCacheService is no longer used (removed with 5442083b3c ).
2017-06-03 14:40:47 +02:00
Yamagishi Kazutoshi
3ea3f24a02 Change toggle state when click label (#3530) 2017-06-03 14:40:24 +02:00
ThibG
d567a382e3 Ensure well_known controllers use WEB_DOMAIN by including RoutingHelper (#2388)
This fixes #2375.
2017-06-02 22:21:36 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
10768aa204 Spec response for forgery (#3248)
Remove protect_from_forgery in ApiController, which is disabled by the
following skip_before_action, as well.
2017-06-01 20:56:55 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
e98559c3ff Resolve custom application stylesheet with Webpack (#3373)
This implementation is a bit smaller and still has the following benefits:

* No need of app/javascript/packs/custom.js
For custom stylesheet, it typically has only
"require('../styles/custom.scss')" and is redundant.

* No need to extract vendor stylesheet to another asset
Extracting vendor stylesheet could be forgotten by developers who do not
use custom stylesheet.
2017-06-01 20:56:32 +02:00
Matt Jankowski
2212dc4aaa Update Rails to version 5.1.1 (#3121)
* Update rails to version 5.1.1

* Run `rails app:update`

* Remove the override of polymorphic activity relationship

* Silence warning about otp_secret attribute being unknown to rails

* We will only introduce form_with where we want to use remote data
2017-06-01 20:53:37 +02:00
Yamagishi Kazutoshi
fda5c699c2 Add ESLint rule (object-curly-spacing) (#3498) 2017-06-01 17:25:10 +02:00
Matt Jankowski
d010e270e6 Remove usernames and hashtags from language detection (#3503)
* Add failing specs for hashtag and username extraction in language detector

* Remove usernames and hashtags from text before language detection

* Handle multiple instances of special case, and reduce whitespace
2017-06-01 09:29:14 -04:00
Matt Jankowski
d1e08bd38c Handle nil and blank cases in Account finders (#3500) 2017-06-01 08:20:36 -04:00
unarist
dbccdcc1b1 Focus the submit button on the boost modal (#3494)
Focus the submit button when boost modal is opened.
2017-06-01 04:20:10 +02:00
Matt Jankowski
5c63523972 Spec coverage and refactor for the api/v1/accounts controllers (#3451) 2017-05-31 21:36:24 +02:00
Matt Jankowski
de4681b2be Move admin/pubsubhubbub controller to admin/subscriptions (#3442) 2017-05-31 20:39:35 +02:00
Matt Jankowski
a132332b86 Add Instance class to list admin records (#3443) 2017-05-31 20:38:44 +02:00
Matt Jankowski
b25e42a77f Misc tidying and clean ups (#3445)
* Remove trailing whitespace in i18n mailers

* Use query methods instead of #present? on AR attributes

* Delegate Status#account_domain method

* Delegate Mention #account_username and #account_acct methods
2017-05-31 20:38:17 +02:00
Matt Jankowski
5236a62861 Improve spec coverage and clean up api/v1/blocks controller (#3464) 2017-05-31 20:34:51 +02:00
Matt Jankowski
0f155829b7 Improve spec coverage and clean up api/v1/follow_requests controller (#3465) 2017-05-31 20:32:11 +02:00
Matt Jankowski
84dda45df9 Improve spec coverage and clean up api/v1/domain_blocks controller (#3466) 2017-05-31 20:31:14 +02:00
Matt Jankowski
9c7505489f Refactor api/v1/notifications controller (#3470) 2017-05-31 20:30:55 +02:00
Matt Jankowski
75cad1d9d6 Improve spec coverage and clean up api/v1/favourites controller (#3472) 2017-05-31 20:30:39 +02:00
Matt Jankowski
2cc3111a77 Expand spec coverage and refactor the Account.find_ methods (#3485)
* Move specs for account finder methods to concern spec

* Move account finder methods to concern

* Improve spec wording

* Use more explicit comparison to ensure correct return value

* Add coverage for .find_local! and .find_remote!

* Add some methods to the finder

* Use arel on matching_username method

* Avoid ternary in matching domain method

* Simplify finder methods

* Use an AccountFinder class to simplify lookup
2017-05-31 20:28:45 +02:00
Matt Jankowski
bf811e4d4a Improve spec coverage and clean up api/v1/mutes controller (#3481) 2017-05-31 20:27:34 +02:00
Matt Jankowski
d6774d2ca3 Refactor and spec coverage for api/v1/timelines actions (#3482) 2017-05-31 20:27:17 +02:00
caasi Huang
bd669e3907 Update zh-TW.json (#3480)
* Update zh-TW.json

* Update `search_results.total`
2017-05-31 18:46:57 +02:00
Nolan Lawson
c00ead8a72 Remove react-imageloader (#3423)
* Remove react-imageloader

* add eslint-disable-line

* improve image loading experience

* remove unneeded import

* use PureComponent

* Use componentWillMount instead of constructor
2017-05-31 17:07:25 +02:00
unarist
e49dc6a06e Fix load more on account timelines (regression from #3311) (#3475)
This prevents `next` state from being overridden on the loading *new* statuses.
2017-05-31 15:30:26 +02:00
Nolan Lawson
0e12a8dab9 Improve scheduling of requestIdleCallback tasks (#3477) 2017-05-31 15:11:33 +02:00
alpaca-tc
3652a39de0 Account.find_remote should be raise ActiveRecord::RecordNotFound (#3476) 2017-05-31 15:10:26 +02:00
Matt Jankowski
79335e46fd Refactor api/v1/apps controller (#3471) 2017-05-30 21:16:28 -04:00
Matt Jankowski
7c6e02aaf3 Refactor api/v1/reports controller (#3469) 2017-05-30 21:13:31 -04:00
Matt Jankowski
7f55430652 Refactor api/v1/search controller (#3468) 2017-05-30 21:11:54 -04:00
Matt Jankowski
8235623362 Improve spec coverage and clean up api/v1/media controller (#3467) 2017-05-30 21:11:29 -04:00
Matt Jankowski
83435c49ea Clean up api/subscriptions controller (#3448) 2017-05-31 02:15:09 +02:00
spla
93de41b39b Catalan language updates (#3454)
* Add Catalan language

* Add Catalan language

* Update ca.json

* Update ca.json

* Update ca.json

* Update ca.json

* Update ca.json

* Update ca.json

* Update settings_helper.rb

* Update mastodon.js

* Update index.js

* Update application.rb

* Update ca.yml

* removed extra spaces at line 225

* Catalan translation update

added activerecord.ca.yml

* Update activerecord.ca.yml

Done

* Updated activerecord.ca.yml

* Catalan language updated

* Catalan language updated

* Catalan language updated

* Catalan language updated

* Catalan language updated
2017-05-31 02:14:52 +02:00
Yamagishi Kazutoshi
b1d4b74a44 Change PureComponent to ImmutablePureComponent (#3460)
* Change PureComponent to ImmutablePureComponent

Change PureComponent to ImmutablePureComponent in AttachmentList.

* rm React.
2017-05-31 02:14:26 +02:00
Yamagishi Kazutoshi
bfdf47bc98 Add zh-TW.json (#3459) 2017-05-30 23:09:02 +02:00
Jack Jennings
33f669a5f8 Add status destroy authorization to policy (#3453)
* Add status destroy authorization to policy

* Create explicit unreblog status authorization
2017-05-30 22:56:31 +02:00
Matt Jankowski
3576fa0d59 Improve api oembed controller (#3450)
* Add StreamEntryFinder class to parse URLs

* Use StreamEntryFinder and clean up api/oembed controller
2017-05-30 16:30:06 -04:00
Matt Jankowski
1dcfb90202 Clean up api/salmon controller (#3449) 2017-05-30 16:28:58 -04:00
Matt Jankowski
0ebe7d6d23 Remove exports/base controller in favor of shared concern (#3444) 2017-05-30 19:06:01 +02:00
Akihiko Odaki
7db98aa70e Refactor User and spec (#3431)
* Protect send_devise_notification of User

* Improve spec for User
2017-05-30 15:28:56 +02:00
Jack Jennings
e031fd60ad Move status reblog authorization into policy (#3425) 2017-05-30 15:16:14 +02:00
Yamagishi Kazutoshi
bc4fad9e22 Change libraries path to relative (#3433) 2017-05-30 15:13:04 +02:00
Nolan Lawson
b42bdd80e8 Extract polyfill loading into single module (#3421) 2017-05-30 15:11:15 +02:00
Jack Jennings
3a2003ba86 Extract authorization policy for viewing statuses (#3150) 2017-05-29 18:22:22 +02:00
Nolan Lawson
34a93ccf57 Add IntersectionObserverWrapper to cut down on re-renders (#3406) 2017-05-29 18:17:51 +02:00
Akihiko Odaki
922fb74197 Remove methods from ObfuscateFilename and spec (#3347)
* Remove methods from ObfuscateFilename

* Spec ObfuscateFilename
2017-05-29 18:14:16 +02:00
Atsushi Yamamoto
402c19a924 Add preference setting for delete toot modal (#3368)
* Set delete_modal preference to true by default
* Does not show confirmation modal if delete_modal is false
* Add ja translation for preference setting page
2017-05-29 17:56:13 +02:00
Nolan Lawson
b5e8994844 Prevent wasted render in load_more.js (#3402) 2017-05-29 17:52:45 +02:00
lindwurm
184325077e l10n: Fix Japanese translation (#3410)
* "メデイア" -> "メディア"

Signed-off-by: lindwurm <lindwurm.q@gmail.com>
2017-05-29 17:52:02 +02:00
Nolan Lawson
5e41c26203 Use immutable list in UploadButton to avoid wasteful re-render (#3394) 2017-05-28 19:15:35 +02:00
Eugen Rochko
3fa8512474 Fix video having black border on top due to regression from #2608 (#3392)
The combination of object-fit, relative position 50% from top and translating it
back upwards 50% is what allows us to crop the video properly, so it needs to
be +50%-50%
2017-05-28 19:11:47 +02:00
ster
0e20de9f89 Ukrainian translation: fix typo (#3393) 2017-05-28 19:11:29 +02:00
Nolan Lawson
24d645b7d0 Fix IntersectionObserver isIntersecting in Edge (#3365) 2017-05-28 16:45:42 +02:00
Nolan Lawson
28cbfb9f10 Simplify isIntersecting in status_list.js (#3371) 2017-05-28 16:26:35 +02:00
Masoud Abkenar
b619362a36 Persian translation fixes and updates (#3380)
* Persian translation fix

* Persian translation of new strings
2017-05-28 16:25:45 +02:00
Eugen Rochko
62ca37884a Fix #2922 - Load stylesheet from "custom.css" entrypoint when present (#3332)
* Fix #2922 - Load stylesheet from "custom.css" entrypoint when present

This is pretty much the same way it worked as before, albeit with
having to create app/javascript/packs/custom.js with
require('../styles/custom.scss') (or whatever you want really), which
will be a blank slate for you to import whatever you want

* Remove old assets directory

* Extract font-awesome into common.css and always load it
2017-05-27 16:55:09 +02:00
jeroenpraat
f9180823bc Update Dutch strings for 1.4 (#3363)
* Update nl strings for 1.4

* Update nl strings for 1.4

* Update nl strings for 1.4

* nl strings (+1)

More new OTP strings will be translated another time
2017-05-27 16:28:32 +02:00
Quent-in
4b0c667c09 i18n update for Occitan language (#3362)
* Update simple_form.oc.yml

* Added check spam folder

* Update oc.json

abonats => seguidors

* Update oc.yml

* Update oc.json

Added translations + corrections

* Update confirmation_instructions.oc.html.erb

* Update confirmation_instructions.oc.text.erb

* i18n mailer

* Update reset_password_instructions.oc.html.erb
2017-05-27 15:50:40 +02:00
unarist
ecef03bb15 Fix empty flash message on the settings page (#3345) 2017-05-27 13:04:28 +02:00
happycoloredbanana
9642601126 Avoid comparing domains when looking for an exact match of a local account (#3336) 2017-05-27 00:55:08 +02:00
Eugen Rochko
3836d293a1 Add missing background center on public profile headers (#3340) 2017-05-27 00:54:00 +02:00
Eugen Rochko
44cb08297c Fix some nil errors (#3338)
* Fix nil input not handled well in AuthorExtractor concern

* Fix hard error in ProcessFeedService when replied-to status has been deleted

* Fix nil errors in ProcessInteractionService when favourited status
cannot be found
2017-05-27 00:53:38 +02:00
Eugen Rochko
bd21afb5ed Replace onboarding elephant with friendlier graphic, shorter animation (#3337)
on status fade-in, fix buttons not having pointer cursor
2017-05-27 00:53:25 +02:00
m4sk1n
ef80ad17b3 Updated Polish translation (#3335)
* i18n: updated Polish translation

Signed-off-by: Marcin Mikołajczak <m4sk1n@vivaldi.net>

* i18n: completed Polish translation

Signed-off-by: Marcin Mikołajczak <m4sk1n@vivaldi.net>

* i18n: corrected Polish translation

Signed-off-by: Marcin Mikołajczak <m4sk1n@vivaldi.net>

* i18n: Updated Polish translation

Signed-off-by: Marcin Mikołajczak <me@m4sk.in>

* Update simple_form.pl.yml

* Update simple_form.pl.yml

* updated Polish translation

Signed-off-by: Marcin Mikołajczak <me@m4sk.in>

* Update pl.yml
2017-05-26 19:59:46 +02:00
Eugen Rochko
9ea4f37e78 Add "meta" attribute to return of POST /api/v1/media method as well (#3333) 2017-05-26 18:22:30 +02:00
Eugen Rochko
c48772fd3f Introduce react-textarea-autosize instead of using style.height side effects (#3334) 2017-05-26 18:22:23 +02:00
Akihiko Odaki
860e257a68 Remove redundant call of recent scope in AccountsController (#3330)
recent is included in paginate_by_max_id.
2017-05-26 16:35:25 +02:00
unarist
902d9e34b4 Remove status context construction in the React side (#3331)
because it may causes flicker on the conversation when it contains blocked/muted user's status.

We use `/api/v1/statuses/{id}/context` to obtain status ids in the
conversation which filters blocked/muted user, but also uses internal
cache constructed from `in_reply_to_id` by `normalizeStatus()` in
`reducers/timelines.js` on each status loading which doesn't filter.

So statuses appears in conversation if those are cached, even those
statuses are from blocked/muted user. Then context cache will be updated
with the result of the context API and those statuses will be removed.

I have left the `normalizeStatus()` function itself which is called many
functions in the file as a placeholder for now, but maybe it should be
removed completely.
2017-05-26 16:34:08 +02:00
Akinori MUSHA
f6a93fc150 Go to root after login in single user mode (#3289)
In single user mode, visitors are redirected to the single user's
profile page.  So, if you are the owner without a session, you start
from that page, click the login button and authenticate yourself
expecting you'll soon get started with the home page, but in reality
you'll get redirected back to where you started from -- your own
profile page.

This fixes the behavior by redirecting you home after login if you
have started from your own profile page.
2017-05-26 14:14:03 +02:00
Yamagishi Kazutoshi
4b11675bdc Change anchor to button element (#3321)
Fix warning for ESLint (jsx-a11y/href-no-hash).
2017-05-26 14:10:37 +02:00
Nolan Lawson
2531c5953b Replace onWheel listener with onScroll (#3324)
* Replace onWheel listener with onScroll

* Update column.js
2017-05-26 14:09:13 +02:00
unarist
c6db416ff7 Fix "Cannot read property" on missing status (#3322)
I've found this issue when I clicked replies to muted user on the timeline.

Properties I've removed in here were added with lazy loading using
IntersectionObserver (8e4d1cba), but those statuses are not need to be
tracked anyway because it will be rendered as only empty div.
2017-05-26 14:07:48 +02:00
Nolan Lawson
b00cb2aed3 Improve shouldComponentUpdate for status and status_action_bar (#3323) 2017-05-26 14:05:52 +02:00
Nolan Lawson
7c67cb5997 implement shouldComponentUpdate for relative_timestamp (#3320) 2017-05-26 03:25:41 +02:00
Eugen Rochko
a098d08d12 Fix style regression of buttons not inheriting document font by default (#3310) 2017-05-25 21:15:41 +02:00
Nolan Lawson
bc39ad37c4 Fix "contains" CSS for Chromium <57 (#3317)
Fixes #3277. I've tested in QupZilla on Mac and can confirm it fixes the issue, and that Chrome 58 is not affected (because it has Grid).
2017-05-25 21:14:56 +02:00
Nolan Lawson
a6ba004bf5 Attach ReactPerf to window for easier debugging (#3318) 2017-05-25 21:14:40 +02:00
unarist
b89ab7e69d Add flex: 0 0 auto to some components to avoid bugs on iOS9 (#3313) 2017-05-25 18:59:55 +02:00
Nolan Lawson
33d7338779 Fix Firefox issue with performance marks (#3315) 2017-05-25 18:59:18 +02:00
unarist
cf4fe6cab8 More use of next link header on account (media) timelines (#3311)
This will reduce requests on who have only few statuses.

- Use next link header to detect more items from first request
- Omit next link header if result items are fewer than requested count
(It had omit it only if result was empty before)
2017-05-25 17:09:13 +02:00
Yamagishi Kazutoshi
bca334cd28 Remove arguments in association reader (#3305) 2017-05-25 16:28:14 +02:00
unarist
3e3ec9b2c8 Fix an error on dragging into status_content component (#3308) 2017-05-25 16:27:44 +02:00
Nolan Lawson
71b266377c Remove unnecessary action bar wrapper divs (#3299) 2017-05-25 14:15:12 +02:00
alpaca-tc
08dce5e607 Refactor Setting (#3302)
* @object is not needed

* Remove unneeded dependencies

* Do not call private method

* Prefer #respond_to_missing? over #respond_to?

`#respond_to?` doesn't support `User.settings.method(:method_name)`

* Use find_or_initialize_by instead of
2017-05-25 14:14:36 +02:00
Nolan Lawson
2469fd1cdc Add improved performance marks for development mode (#3297) 2017-05-25 14:09:55 +02:00
Yamagishi Kazutoshi
531c1bb245 Add localization of datetime in public page (#3296) 2017-05-25 14:09:25 +02:00
Audun Larsen
58f5040ee8 Norwegian translation of the onboarding page (#3303)
* Fixes translation placeholder

* Translates onboarding page
2017-05-25 14:06:10 +02:00
Daigo 3 Dango
838f51770b Replace \u2014 with &mdash; (#3301) 2017-05-25 14:05:54 +02:00
unarist
807c192fcf Fix load more feature on the Account media gallery (#3293)
* Add load more button for large screens
* Fix `next` state value on the first loading
* Don't load if `isLoading || !hasMore`
* Start load on near the bottom
2017-05-25 05:22:46 +02:00
masarakki
3b59f9c6c2 fix-cache-returns-nil (#3213) 2017-05-25 05:18:08 +02:00
Nolan Lawson
135bdd149e Name the Webpack chunks (#3291) 2017-05-25 03:30:29 +02:00
Yamagishi Kazutoshi
3572138b16 Fix hovering default value for avatar component (#3290) 2017-05-25 03:08:05 +02:00
unarist
9f69aa3cb1 Prevent contents of the status placeholder from overflowing (#3287)
Since long lines may overflow and cause the status-list horizontally scrollable,
I added `overflow: hidden` to placeholder contents to prevent it.
2017-05-25 02:23:54 +02:00
Yamagishi Kazutoshi
1ec7c87001 Remove unnecessary constructors (#3280) 2017-05-24 17:55:16 +02:00
Sorin Davidoi
8e4d1cba00 Lazy load toots using IntersectionObserver (#3191)
* refactor(components/status_list): Lazy load using IntersectionObserver

* refactor(components/status_list): Avoid setState bottleneck

* refactor(components/status_list): Update state correctly

* fix(components/status): Render if isIntersecting is undefined

* refactor(components/status): Recycle timeout

* refactor(components/status): Reduce animation duration

* refactor(components/status): Use requestIdleCallback

* chore: Split polyfill bundles

* refactor(components/status_list): Increase rootMargin to 300%

* fix(components/status): Check if onRef is not defined

* chore: Add note about polyfill bundle splitting

* fix(components/status): Reduce animation duration to 0.3 seconds
2017-05-24 17:55:00 +02:00
Yamagishi Kazutoshi
676ba50601 Show error message to suspended user (#3281) 2017-05-24 16:39:09 +02:00
Yamagishi Kazutoshi
f937cad68f Skip formatting for cashtag in status text (#3275)
Resolve #3270
2017-05-24 14:32:53 +02:00
Eugen Rochko
be83d450eb Fix DM being highlighted when it's inside a favourite notification (#3267) 2017-05-24 04:22:46 +02:00
unarist
3ce9ca4c99 Fix following/followers API to return correct link headers (#3268)
Link headers in following/followers API should include follow_id as max_id/since_id.

However, these API use current_user's account_id instead of follow_id from #3167.
This causes irrelevant result on loading more users.
2017-05-23 23:26:23 +02:00
Eugen Rochko
2ca1f0737a Fix Devise destroy method being available to delete user record (#3266)
(You may think that we need account deletions, but this way would've just orphaned the db records)
2017-05-23 21:32:42 +02:00
beatrix
19ecde8fe7 don't notify me when my toot is faved by someone i muted (#3245) 2017-05-23 20:05:52 +02:00
alpaca-tc
7ee5fc5d68 Toggle sensitive from admin page (#3261) 2017-05-23 19:45:43 +02:00
Matt Jankowski
4289ed1d13 Refactor of API timeline actions (#3263)
- Increase coverage to exercise all parts of each action
- Move into namespace to share common code
- Misc refactor of each action for smaller methods, simpler code
2017-05-23 18:11:39 +02:00
Akihiko Odaki
ea2ef16ea4 Cover StreamEntriesController more and remove redundant instructions (#3257)
* Cover StreamEntriesController more

* Remove redundant instructions in StreamEntriesController
2017-05-23 15:04:23 +02:00
Akihiko Odaki
bf575a1f5e Introduce recent to Follow (#3247)
Introduce recent to Follow, as Account and other models have.
This change also adds specs for the scope and the dependents.
2017-05-23 13:12:19 +02:00
Yamagishi Kazutoshi
860ffc0560 Focus the submit button (#3253)
Focus the submit button when confirmation modal is opened.

Also, changed cancellation link to button.
This makes the meaning clearer.
2017-05-23 13:10:41 +02:00
Audun Larsen
7eb4abe20a Updates Norwegian translation (#3252) 2017-05-23 13:09:53 +02:00
Ira
1baa75f79f i18n: Latest Hebew strings translated (#3250) 2017-05-23 13:08:16 +02:00
Yamagishi Kazutoshi
1d436a4322 Refactoring. Removed useless import. (#3254)
original: https://github.com/tootsuite/mastodon/pull/2618
2017-05-23 13:08:01 +02:00
Akihiko Odaki
8fd174298d Cover AccountsController more in spec (#3229)
* Introduce recent scope to Status and StreamEntry

Introduce recent scope to Status and StreamEntry as Account has.

* Cover AccountsController more in AccountsController
2017-05-23 02:53:01 +02:00
Matt Jankowski
a28ce13b3e Coverage for api/web/settings controller (#3238) 2017-05-22 23:12:28 +02:00
Matt Jankowski
e1b42e9aa0 Add coverage for ReportFilter and AccountFilter (#3236) 2017-05-22 15:50:58 -04:00
Matt Jankowski
ec34ec63b1 Specs for cleanup workers (#3235)
* Add spec files for feed and media cleanup workers

* Add coverage for feed and media cleanup schedulers

* Clean up feed and media cleanup workers
2017-05-22 19:36:21 +02:00
Eugen Rochko
4a4733b397 Similarly to #2426, put creation of remote statuses in a transaction, (#3233)
so that public timeline/caching would not encounter incomplete data
2017-05-22 19:35:48 +02:00
Tomonori Murakami
7966d3a872 Fix locale bug when change it on preferences (#3223) (#3232) 2017-05-22 17:58:41 +02:00
Eugen Rochko
48e7a22e34 Fix locale regression from #3055 (#3231) 2017-05-22 16:26:54 +02:00
Ratmir Karabut
2bb5486357 Update Russian translation (#3225)
* Add Russian translation (ru)

* Fix a missing comma

* Fix the wording for better consistency

* Update Russian translation

* Arrange Russian setting alphabetically

* Fix syntax error

* Update Russian translation

* Fix formatting error

* Update Russian translation

* Update Russian translation

* Update ru.jsx

* Fix syntax error

* Remove two_factor_auth.warning (appears obsolete)

* Add missing strings in ru.yml

A lot of new strings translated, especially for the newly added admin section

* Fix translation consistency

* Update Russian translation

* Update Russian translation (pluralizations)

* Update Russian translation

* Update Russian translation
2017-05-22 16:03:50 +02:00
Immae
a94c152fd3 Allow alternate domains for mastodon handlers (#3187) 2017-05-22 15:40:04 +02:00
Nolan Lawson
9d04de1c8d Only load Intl data for current language (#3130)
* Only load Intl data for current language

* Extract common chunk only from application.js and public.js

* Generate locale packs, avoid caching on window object
2017-05-22 15:06:06 +02:00
Yamagishi Kazutoshi
73e4468ff3 Change "Account.any?" to "Account.exists?" (#3217) 2017-05-22 15:02:30 +02:00
unarist
361a606edb Keep children of the column-collapsable until the transition is completed (#3218) 2017-05-22 15:01:27 +02:00
unarist
07af8c05fd Fix "Edit profile" on the account action bar (#3222) 2017-05-22 14:57:50 +02:00
Akihiko Odaki
aa662cecad single_user_mode? always returns boolean (#3215)
This change also adds a specification for the method.
2017-05-22 06:00:06 +02:00
Yamagishi Kazutoshi
84608c3ff8 Add translations for counter of profile (#3214)
ref #3101
2017-05-22 04:45:55 +02:00
Masoud Abkenar
b69365e397 Persian translation update (#3206)
* Persian translation update

* Persian translation update: new files

* Persian translation update

* activerecord.fa.yml language code

* Persian translation update

* fix indent
2017-05-22 00:20:13 +02:00
Eugen Rochko
a478af92c3 Fix forgotten to include language attribute in statuses JSON (#3209) 2017-05-21 21:38:09 +02:00
ster
a4c757767f Update Ukrainian translation (#3203) 2017-05-21 18:52:50 +02:00
Akihiko Odaki
2af5cd96fe Fix mutes_controller error and incorrect statuses_controller report (#3202)
This commit fixes a regression in commit
f554807563.
2017-05-21 13:32:13 +02:00
vidarlee
440441ccb3 Enhance for the Chinese translation (#3198)
* Enhance for the Chinese translation

* Add filtered_languages for Chinese Translation include CN/HK/TW for PR #3175
2017-05-21 11:23:59 +02:00
Eugen Rochko
ef900789bc Replace mastodon:media:clear and mastodon:feeds:clear rake tasks with (#3180)
sidekiq-scheduler jobs

Resolves #2495
2017-05-20 19:42:58 +02:00
Eugen Rochko
d78f555254 Improve language filter preferences look (#3184) 2017-05-20 19:42:44 +02:00
Yamagishi Kazutoshi
b280c387c8 Add MS Edge support to public.js (#3179) 2017-05-20 18:15:43 +02:00
spla
b75f13927e Catalan translation update (#3177)
* Add Catalan language

* Add Catalan language

* Update ca.json

* Update ca.json

* Update ca.json

* Update ca.json

* Update ca.json

* Update ca.json

* Update settings_helper.rb

* Update mastodon.js

* Update index.js

* Update application.rb

* Update ca.yml

* removed extra spaces at line 225

* Catalan translation update

added activerecord.ca.yml

* Update activerecord.ca.yml

Done

* Updated activerecord.ca.yml
2017-05-20 17:50:11 +02:00
Akihiko Odaki
22cb286ad7 Fix regressions in api/v1 (#3178)
The regressions are introduced at commit
f554807563 by me (Akihiko Odaki)
2017-05-20 17:48:34 +02:00
Matt Jankowski
8f4b7c1820 Filter languages with opt out (#3175)
* Remove allowed_languages and add filtered_languages

* Use filtered_languages instead of allowed_languages
2017-05-20 17:32:44 +02:00
Yamagishi Kazutoshi
2e112e2406 Improve eslint rules (#3147)
* Add semi to ESLint rules

* Add padded-blocks to ESLint rules

* Add comma-dangle to ESLint rules

* add config/webpack and storyboard

* add streaming/

* yarn test:lint -- --fix
2017-05-20 17:31:47 +02:00
Yamagishi Kazutoshi
6c1122a1d9 Fix block list 500 (#3174) 2017-05-20 17:01:14 +02:00
Nolan Lawson
419226d1f6 Remove unnecessary status__info-time div (#3172) 2017-05-20 16:48:49 +02:00
Akihiko Odaki
f554807563 Use joins for account properties (#3167) 2017-05-20 15:13:51 +02:00
Sorin Davidoi
2c405aed55 Performance improvements (#3168)
* refactor(components/status_list): Avoid quering scrollTop if not necessary

* refactor(components/dropdown_menu): Do not render items if not expanded

* refactor: Cherry-pick react-motion imports

* refactor(compose/privacy_dropdown): Do not render options if not open

* refactor(components/column_collapsable): Do not render children if collapsed
2017-05-20 14:58:13 +02:00
Yamagishi Kazutoshi
da0a18a318 Add Japanese translations (domain block & admin page) (#3160)
https://github.com/tootsuite/mastodon/pull/3100
https://github.com/tootsuite/mastodon/pull/3127
2017-05-20 13:39:03 +02:00
ButterflyOfFire
8ed3fa1693 Update reset_password_instructions.ar.html.erb (#3163)
Forgot to translate this string :p. Now Done !
2017-05-20 13:38:33 +02:00
June Sallou
60fe9983ee Updating the French translations for the web client (#3164) 2017-05-20 13:38:26 +02:00
beatrix
724fc3cbdf guard against empty domain block list in status scope (#3161) 2017-05-20 13:38:13 +02:00
Eugen Rochko
de475cf8d3 Add account media gallery view to web UI (#3120)
* Add account media gallery view to web UI

* Link media view from account dropdown

* Adjust link
2017-05-20 01:28:25 +02:00
Sorin Davidoi
b369fc2de4 feat: Use CSS contain to avoid computations (#3158) 2017-05-20 01:26:46 +02:00
PFM
7eb8b2efad Fix JavaScript error (#3153)
JavaScript error at Safari 10.1(macOS 10.12.4) / iPhone Safari(iOS 10.3.2)
2017-05-19 23:33:42 +02:00
Eugen Rochko
f8ee136c29 Fix federated timeline excluding local toots when any domain blocks are set (#3151) 2017-05-19 21:19:41 +02:00
Eugen Rochko
f1ab70649b Add buttons to block and unblock domain (#3127)
* Add buttons to block and unblock domain

* Relationship API now returns "domain_blocking" status for accounts,
rename "block entire domain" to "hide entire domain", fix unblocking domain,
do not block notifications from domain-blocked-but-followed people, do
not send Salmons to domain blocked users

* Add test

* Personal domain blocks shouldn't affect Salmon after all, since in this
direction of communication the control is very thin when it comes to
public stuff. Best stay consistent and not affect federation in this way

* Ignore followers and follow request from domain blocked folks,
ensure account domain blocks are not created for empty domain,
and avoid duplicates in validation

* Purge followers when blocking domain (without soft-blocks, since they
are useless here)

* Add tests, fix local timeline being empty when having any domain blocks
2017-05-19 21:05:32 +02:00
Sorin Davidoi
1548695c83 Avoid useless renders (#3141)
* feat(eslint): Set react/jsx-no-bind: error

* refactor(notifications/setting_toggle): Do not use bind

* refactor(components/dropdown_menu): Do not use bind

* refactor(components/autosuggest_textarea): Do not use bind

* refactor(compose/privacy_dropdown): Do not use bind

* refactor(compose/upload_form): Do not use bind

* refactor(components/status): Do not use bind

* refactor(components/onboarding_modal): Do not use bind

* refactor: PR feedback

* chore(notifications/setting_toggle): Lint

* refactor: PR feedback
2017-05-19 20:58:12 +02:00
abcang
d22cec81fb Unify the method of extracting tags (#3138) 2017-05-19 20:19:14 +02:00
Matt Jankowski
d2e0edd721 Add spec coverage for regeneration worker (#3143) 2017-05-19 16:55:09 +02:00
Matt Jankowski
3002a89419 Remove unused style helper (#3145) 2017-05-19 16:54:47 +02:00
Matt Jankowski
db4119f971 Specs for precompute feed service (#3142)
* Add spec for precompute feed service

* Refactor PrecomputeFeedService

* spec wip
2017-05-19 16:21:52 +02:00
Yamagishi Kazutoshi
4a3db71692 Remove react-autosuggest (#3140)
react-autosuggest is added from c49f6290eb

Dependence removed from b27066e154
2017-05-19 15:21:34 +02:00
Yamagishi Kazutoshi
dc559d6b7a Downgrade eslint-plugin-jsx-a11y to v4.0.0 (#3131)
In Code Climate, eslint-plugin-jsx-a11y v4.0.0 is used.
Therefore, it seems that a warning is displayed.

ref https://github.com/codeclimate/codeclimate-eslint/pull/273
2017-05-19 11:44:28 +02:00
Matt Jankowski
8e4fc5d5d2 Improve how params from controller are permitted in filter helper (#3129)
The `params` variable here was quite overloaded.

It exists via the controller to hold the request params, and was sometimes being
used in this helper as that object, but other times was being used as a local
variable, or to pass to another method, and this was confusing.

This change renames the args for a method away from `params` for more clarity,
and extracts the actual usage of the controller-provided `params` to a
better-named method for clarity.
2017-05-19 11:43:20 +02:00
Yamagishi Kazutoshi
b8b7b506a2 Replace inline styles with stylesheet (#3115) 2017-05-19 11:42:54 +02:00
alpaca-tc
198ae3e366 Define instance method outside #included (#3128) 2017-05-19 11:41:45 +02:00
Matt Jankowski
6e4c7d6211 Conditional validations no longer accept strings for if/unless (#3124) 2017-05-19 03:11:23 +02:00
Matt Jankowski
d2542dcec0 Use stylesheet_pack_tag in embedded layout, avoids pipeline deprecation warning (#3123) 2017-05-19 03:11:17 +02:00
Matt Jankowski
25e5aa645d Skip asset pipeline for static file in public/ (#3125) 2017-05-19 02:41:56 +02:00
Eugen Rochko
620d0d8029 Account domain blocks (#2381)
* Add <ostatus:conversation /> tag to Atom input/output

Only uses ref attribute (not href) because href would be
the alternate link that's always included also.

Creates new conversation for every non-reply status. Carries
over conversation for every reply. Keeps remote URIs verbatim,
generates local URIs on the fly like the rest of them.

* Conversation muting - prevents notifications that reference a conversation
(including replies, favourites, reblogs) from being created. API endpoints
/api/v1/statuses/:id/mute and /api/v1/statuses/:id/unmute

Currently no way to tell when a status/conversation is muted, so the web UI
only has a "disable notifications" button, doesn't work as a toggle

* Display "Dismiss notifications" on all statuses in notifications column, not just own

* Add "muted" as a boolean attribute on statuses JSON

For now always false on contained reblogs, since it's only relevant for
statuses returned from the notifications endpoint, which are not nested

Remove "Disable notifications" from detailed status view, since it's
only relevant in the notifications column

* Up max class length

* Remove pending test for conversation mute

* Add tests, clean up

* Rename to "mute conversation" and "unmute conversation"

* Raise validation error when trying to mute/unmute status without conversation

* Adding account domain blocks that filter notifications and public timelines

* Add tests for domain blocks in notifications, public timelines
Filter reblogs of blocked domains from home

* Add API for listing and creating account domain blocks

* API for creating/deleting domain blocks, tests for Status#ancestors
and Status#descendants, filter domain blocks from them

* Filter domains in streaming API

* Update account_domain_block_spec.rb
2017-05-19 01:14:30 +02:00
Matt Jankowski
8ec8410651 After remote follow worker specs (#3098)
* Add specs for the after remote follow workers

* Refactor the after remote follow workers
2017-05-18 21:10:41 +02:00
Sorin Davidoi
07e875972a refactor: Import from react-router/lib (#3117) 2017-05-18 19:14:03 +02:00
Yamagishi Kazutoshi
79ef8b3653 Fetch remote image using http.rb (#3114) 2017-05-18 15:43:10 +02:00
Ira
b11c4326d2 i18l: Hebrew translation updates (#3109) 2017-05-18 13:57:58 +02:00
Quent-in
390a2a8ab9 update (#3113) 2017-05-18 12:48:41 +02:00
Yamagishi Kazutoshi
4d1ce3c7ad Add rel="noopener" to getting started (#3104) 2017-05-18 03:05:30 +02:00
Eugen Rochko
76449df903 Fix character counter not updating for bio (#3101) 2017-05-18 00:38:18 +02:00
Eugen Rochko
226c9836e4 Add reset button to admin accounts search, improve looks a little (#3100) 2017-05-18 00:38:01 +02:00
Yamagishi Kazutoshi
05008f3930 Fix minor Japanese translations (#3099)
- add translation "Bon Appetoot!"
- add whitelist what doesn't require translation
- replace exclamation mark full width
- add space after question mark
- remove blank between words
- run yarn manage:translations
2017-05-17 17:50:39 +02:00
alpaca-tc
59ceeae8ea Refactor Status#ancestors/descendants (#3092) 2017-05-17 15:38:16 +02:00
alpaca-tc
b397f69633 Render translated view (#3093) 2017-05-17 15:36:56 +02:00
alpaca-tc
e89e4355eb Add filter to AccountFilter (#2968) 2017-05-17 03:00:34 +02:00
Stephen Burgess
abe0d9421f Catch import promise in application.js (#3041)
* fix(polyfil): Catch error from promise

https://pouchdb.com/2015/05/18/we-have-a-problem-with-promises.html

* fix(catch): Error

Make import promise catch a noop with commented out console.log for a debugging hint.

* fix(eslint): Disable eslint console rule

* fix(application): Use console error
2017-05-17 02:59:43 +02:00
jeroenpraat
eab93992d1 One string NL update (#3090) 2017-05-17 02:54:41 +02:00
Eugen Rochko
0d59d7c680 Fix #2549 - Do not hardcode the exclamation in "toot!", wrap it in an extra locale key (#3089) 2017-05-17 00:54:24 +02:00
Eugen Rochko
1efda1c453 Fix #2572 - Resolve preview cards for remote statuses as well as local ones (#3088) 2017-05-17 00:41:15 +02:00
spla
a51c8074df Add catalan language (#3084)
* Add Catalan language

* Add Catalan language

* Update ca.json

* Update ca.json

* Update ca.json

* Update ca.json

* Update ca.json

* Update ca.json

* Update settings_helper.rb

* Update mastodon.js

* Update index.js

* Update application.rb

* Update ca.yml

* removed extra spaces at line 225
2017-05-17 00:25:10 +02:00
unarist
3722f90865 Make .column-collapse animation simple (#3086)
* Always set `overflow: auto` to allow scroll just after opening
* Remove bounce animation which may cause unintended behavior due to max-height
* Use CSS transition instead of react-motion
* Some CSS refactoring including className changing
2017-05-17 00:24:46 +02:00
geta6
bbaac89eb0 Enable to handle app immediately after closing modal (#3082) 2017-05-16 12:12:38 +02:00
Shunsuke Michii
0dfffb6dcb Make faster ProcessFeedService (#3080)
* Add index accounts on uri.

* Remove a blank line.
2017-05-16 12:12:29 +02:00
masarakki
1b0a5658f1 use-symbol-in-order (#3081) 2017-05-16 12:10:09 +02:00
alpaca-tc
682b68438e Improve Account#triadic_closures (#3079) 2017-05-16 12:06:38 +02:00
alpaca-tc
09ec6e504b Order by symbol value (#3077) 2017-05-16 03:35:17 +02:00
alpaca-tc
a2a2af244c Optimize Status#permitted_for 24x (#3069)
* Build query with arel node

* Add spec for current Status#permitted_for implementation

* Refactor status.rb

* Order by visibility to optimize query
2017-05-16 02:54:17 +02:00
Hiroaki Ninomiya
cb50ecdb07 chore(landing_strip): hide signup path unless the instance allows registration. (#3055) 2017-05-16 00:41:09 +02:00
Eugen Rochko
191696ab30 Fix #2646 - Do not override ctrl/cmd+click on Permalinks (#3073) 2017-05-15 22:36:38 +02:00
Eugen Rochko
af706583bd Fix change of status callbacks not setting in_reply_to_account_id and (#3072)
possibly others when expected. Add some tests for it
2017-05-15 21:20:55 +02:00
Akihiko Odaki
85c9496340 Introduce common JavaScript file (#2981)
* Create common chunk rather than vendor chunk

vendor chunk is a set of modules provided by external vendors, but now we
can have a chunk as a set of modules shared by multiple entry points,
which could be more efficent than having vendor chunk.

* Start rails-ujs in common.js

This is used by /settings/two_factor_authentication.
2017-05-15 20:20:10 +02:00
Kazuhiro NISHIYAMA
6ee3a10f17 Update Japanese tranlsation of conversations muting (#3070) 2017-05-15 18:05:28 +02:00
Eugen Rochko
d0dd9eb5b5 Feature conversations muting (#3017)
* Add <ostatus:conversation /> tag to Atom input/output

Only uses ref attribute (not href) because href would be
the alternate link that's always included also.

Creates new conversation for every non-reply status. Carries
over conversation for every reply. Keeps remote URIs verbatim,
generates local URIs on the fly like the rest of them.

* Conversation muting - prevents notifications that reference a conversation
(including replies, favourites, reblogs) from being created. API endpoints
/api/v1/statuses/:id/mute and /api/v1/statuses/:id/unmute

Currently no way to tell when a status/conversation is muted, so the web UI
only has a "disable notifications" button, doesn't work as a toggle

* Display "Dismiss notifications" on all statuses in notifications column, not just own

* Add "muted" as a boolean attribute on statuses JSON

For now always false on contained reblogs, since it's only relevant for
statuses returned from the notifications endpoint, which are not nested

Remove "Disable notifications" from detailed status view, since it's
only relevant in the notifications column

* Up max class length

* Remove pending test for conversation mute

* Add tests, clean up

* Rename to "mute conversation" and "unmute conversation"

* Raise validation error when trying to mute/unmute status without conversation
2017-05-15 03:04:13 +02:00
Eugen Rochko
a588358f41 Fix style regressions (#3062)
From #2327 - Elephant friend was overlapping with text, oversized in
single column layout

From #2021 - Centered layout goes against design principles, changes
UX for everybody who's already used to the current one

From #2271 - CPU/RAM overusage from keeping columns in DOM (fix #2648,
possibly also #2101)
2017-05-15 01:23:58 +02:00
Paul
bc1a91f4cd Fix only typo (#3035) 2017-05-14 12:58:50 +02:00
Eugen Rochko
657496b5a9 Do not cancel PuSH subscriptions after encountering "permanent" error… (#3046)
* Do not cancel PuSH subscriptions after encountering "permanent" error response

After talking with MMN about it, turns out some servers/php setups do
return 4xx errors while rebooting, so this anti-feature that was meant
to take load off of the hub is doing more harm than good in terms of
breaking subscriptions

* Update delivery_worker.rb
2017-05-14 03:22:48 +02:00
beatrix
fd03a3d957 tiny js fix for 'show more' button in chrome (#3045) 2017-05-13 22:07:58 +02:00
Stephen Burgess
4bd0488a77 feat(count): Just yml count syntax to provide different rule for 1 (#2685)
Update all translation forms that use this "counter" element.
2017-05-13 17:13:17 +02:00
Ira
1b17da6ed9 i18n: Hebrew string updates (#3037) 2017-05-13 17:05:02 +02:00
Shunsuke Michii
89210781cb Fix og:url. (#3031) 2017-05-13 15:56:42 +02:00
alpaca-tc
e9810cbad6 Fixes NoMethodError: undefined method 'first' for nil:NilClass (#3036) 2017-05-13 15:56:12 +02:00
beatrix
3dcb5fa28f Revert HTML CW changes (#3020)
* selectively Revert "Fix regressions from #2683 (#2970)"

This reverts commit 72698bc3b4.

* Revert "Handle hashtags in spoiler_texts (partial fix for #699) (#2683)"

This reverts commit e2491680e6.
2017-05-13 04:03:43 +02:00
Eugen Rochko
1d5dcfcd46 Make direct statuses stand out more (#3025)
Resolves #2515
2017-05-13 01:38:51 +02:00
jeroenpraat
66ff9ed34e Finalizing Dutch strings (#3028)
for this file.
2017-05-13 00:13:08 +02:00
Wonderfall
b65950bb2e fix #3008 : props was not defined (#3022) 2017-05-12 20:58:41 +02:00
Matt Jankowski
0d70fe2659 Spec coverage and refactor for pubsub/delivery worker (#3021)
* Framework for delivery worker spec

* Refactor of pubsub delivery worker
2017-05-12 20:35:36 +02:00
Shel Raphen
a1fc2cfa09 Fix color contrast some more in privacy warning (#3018)
* Fix color contrast some more in privacy warning

Latest master appears to have changed the <strong> to this unreadable grey color. If you want that to be white then it should be pure white. If someone would rather revert this to that strong dark blue color it was before that would be good too.

* Make domain dark blue again

* add missing ;

woops
2017-05-12 20:19:39 +02:00
Koala Yeung
b535966ab5 Allow SCSS variables to be overridden (#2987)
* Allow SCSS variables to be overridden with
  `app/javascript/pack/variables*.scss`

* Allow these SCSS variables to be overriden:
  * `$base-shadow-color`
  * `$base-overlay-background`
  * `$base-border-color`
  * `$simple-background-color`
  * `$primary-text-color`
  * `$valid-value-color
  * `$error-value-color`
2017-05-12 19:22:50 +02:00
Eugen Rochko
5abdc77c80 Add conversation model, <ostatus:conversation /> (#3016)
* Add <ostatus:conversation /> tag to Atom input/output

Only uses ref attribute (not href) because href would be
the alternate link that's always included also.

Creates new conversation for every non-reply status. Carries
over conversation for every reply. Keeps remote URIs verbatim,
generates local URIs on the fly like the rest of them.

* Fix conversation migration

* More spec coverage for status before_create

* Prevent n+1 query when generating Atom with the new conversations

* Improve code style

* Remove redundant local variable
2017-05-12 19:09:21 +02:00
Eugen Rochko
b5a9c6b3d2 Prepend reblogs' wrapper content with "RT @original_author", (#3013)
so that when a reblog parse fails on another instance, it doesn't
look like a misattributed/stolen text
2017-05-12 17:46:44 +02:00
Shel Raphen
60f3230a05 Increase color contrast on privacy warning (#3015)
The current text contrast on the privacy warning is a WCAG violation. I didn't notice this because my instance has a custom theme which is better. On default theme I am barely able to read the text with my impaired vision. This patch brings the contrast to Normal Text WCAG AA compliance, and Large Text WCAG AAA compliance.
2017-05-12 17:46:36 +02:00
Eugen Rochko
43d754eb42 Fix not rejecting remote URIs when parsing out local IDs (#3012) 2017-05-12 16:47:55 +02:00
Eugen Rochko
e0c3ed29d8 Fix locales again (#3010)
* Normalize locales

* Restore "mention" locale key
2017-05-12 14:46:21 +02:00
Yamagishi Kazutoshi
2991a7cfe6 Use ES Class Fields & Static Properties (#3008)
Use ES Class Fields & Static Properties (currently stage 2) for improve class outlook.

Added babel-plugin-transform-class-properties as a Babel plugin.
2017-05-12 14:44:10 +02:00
Yamagishi Kazutoshi
44a3584e2d Remove unnecessary message in video player (#3007)
Remove unnecessary messages added in #1879.
It is duplicated with other keys, causing the correct message not to be displayed.
2017-05-12 14:43:06 +02:00
ButterflyOfFire
62a98a3f0e Update ar.json (#3004)
Updating some arabic translations.
2017-05-12 14:32:35 +02:00
Eugen Rochko
58bcd50f7f Fix #1426 - Trim long usernames in public follower/following lists (#2993)
Fix #2221 - Catch OpenSSL exceptions when loading remote avatars/headers/attachments
Don't strip "rel" attribute from <a> tags when sanitizing (microformats)
2017-05-11 23:14:00 +02:00
Eugen Rochko
d0ef318eaa Fix #2205 - Delete associated notifications when a status is deleted (#2994) 2017-05-11 21:54:47 +02:00
Eugen Rochko
65f9db73b0 Fix #2027 - Accept own ID for remote follow with and without preceding @ (#2991)
* Fix #2027 - Accept own ID for remote follow with and without preceding @
Fix #2177 - Omit leading "acct:" in remote follow redirect template expansion

* Fix test
2017-05-11 21:54:30 +02:00
Eugen Rochko
a2c8da0185 When avatar/header are missing, do not include the missing file into Atom (#2988)
Receiving instances will then use their own missing image

Also, add <content /> to deleted statuses, since there was a reported
problem with the deletes and GNU social
2017-05-11 14:32:03 +02:00
Yamagishi Kazutoshi
88fd5cb688 Focus tab of Mastodon when clicking notification (#2989) 2017-05-11 13:34:05 +02:00
Nolan Lawson
0ec77c5b3e Add dynamic polyfills for older browsers (#2985)
Fixes #2941
2017-05-11 11:26:06 +02:00
Go Shoemake
9cd3a6836b Fixed mention regex to support unicode (#2420) 2017-05-11 03:47:38 +02:00
Yamagishi Kazutoshi
7ff84cb07e Refine unescapeHTML (#2977) 2017-05-11 02:22:40 +02:00
Yamagishi Kazutoshi
e6fbf0334f Remove unnecessary .keep files (#2976)
Follow up #2902
2017-05-11 01:45:42 +02:00
Eugen Rochko
72698bc3b4 Fix regressions from #2683 (#2970)
* Fix regressions from #2683

Properly format spoiler text HTML, while keeping old logic for blankness intact
Process hashtags and mentions in spoiler text
Format spoiler text for Atom
Change "show more" toggle into a button instead of anchor
Fix style regression on dropdowns for detailed statuses

* Fix lint issue

* Convert spoiler text to plaintext in desktop notifications
2017-05-11 00:28:10 +02:00
jeroenpraat
65027657ec Very small fix/update NL strings (#2971)
* Very small fix/update NL strings

* Oops
2017-05-11 00:20:13 +02:00
Matt Jankowski
08949cca41 Pubsub confirmation worker spec (#2974)
* Add specs for valid challenge response from pubsub confirmation worker

* Refactor the pubsub confirmation worker
2017-05-11 00:19:37 +02:00
Eugen Rochko
a231f915a0 Fix #2955 - Send HEAD request ahead of GET when fetching URL previews (#2972) 2017-05-10 23:30:07 +02:00
alpaca-tc
c3ef5d5414 Add account_id DESC to optimize PrecomputeFeedService (#2967) 2017-05-10 20:33:32 +02:00
beatrix
57a3d71c90 fix a regression introduced by e2491680e6 (#2966)
that caused user pages to break when showing toots with CWs
2017-05-10 20:32:59 +02:00
Wonderfall
43db2cf5e7 align buttons with column headers (#2964) 2017-05-10 20:32:26 +02:00
Matt Jankowski
cc9a6a710f Spec feed insert worker (#2965)
* Spec for feed insert worker when missing records

* more specs!

* Refactor feed insert worker
2017-05-10 20:32:05 +02:00
Yamagishi Kazutoshi
2fba4196ef Add boop sounds in Vorbis format (#2963)
Vorbis is audio format of Open Source.
Can play audio in a free environment where you can not play mp3.
2017-05-10 16:58:54 +02:00
Matt Jankowski
d142544159 Spec coverage and refactor of digest mailer worker (#2961) 2017-05-10 15:45:43 +02:00
Koala Yeung
7ac092513c Fix Occitan's locale data plural function (#2957)
* Fix the pluralRuleFunction of the locale data.
* Added more descriptions about how to write it.
2017-05-10 14:44:48 +02:00
AA4ch1
2db53526c9 Fix compose_form.js for #2904 (#2960) 2017-05-10 14:41:39 +02:00
R Tucker
e2491680e6 Handle hashtags in spoiler_texts (partial fix for #699) (#2683)
* services: scan spoiler_text for hashtags (#699)

* views: link hashtags from spoiler_texts

This covers linking hashtags from within the spoiler
text on the server-generated pages.

* services: fix string concat going into hashtag RE

Cleaner Ruby syntax, may handle immutable strings better
2017-05-10 04:47:25 +02:00
Eugen Rochko
3a38322a54 Add spec for Pubsubhubbub::DistributionWorker. PuSH-deliver public items (#2954)
to all subscribers. IDN-normalize callback URLs for subscriptions on insert.
2017-05-10 02:55:43 +02:00
fusshi-
29d8313b28 Disabled auto focus on toot form when search results are shown. (#2942) 2017-05-10 02:51:43 +02:00
Matt Jankowski
682507bc3c Specs for pubsub subscribe service (#2951)
* Add spec for pubsubhubbub/subscribe

* Refactor pubsubhubbub/subscribe service
2017-05-09 20:48:30 +02:00
Matt Jankowski
441d6dc734 Spec and refactor for pubsubhubbub/unsubscribe service (#2946)
* Add coverage for pubsub unsubscribe service

* Refactor pubsub unsubscribe service
2017-05-09 19:58:18 +02:00
Akihiko Odaki
d5cabfe5c6 Use CLD3 (#2949)
Compact Language Detector v3 (CLD3) is the successor of CLD2, which was
used in the previous implementation. CLD3 includes improvements since CLD2,
and supports newer compilers. On the other hand, it has additional
requirements and cld3-ruby, the FFI of CLD3 for Ruby, is still new and may
be still inmature.

Though CLD3 is named after CLD2, it is implemented with a neural network
model, different from the old implementation, which is based on a Naïve
Bayesian classifier.

CLD3 supports newer compilers, such as GCC 6. CLD2 is not compatible with
GCC 6 because it assigns negative values to varibales typed unsigned.
(see internal/cld_generated_cjk_uni_prop_80.cc) The support for GCC 6 and
newer compilers are essential today, when some server operating system
such as Ubuntu Server 16.10 has GCC 6 by default.

On the one hand, CLD3 requires C++11 support. Environments with old
compilers such as Ubuntu Server 14.04 needs to update the system or install
a newer compiler.

CLD3 needs protocol buffers as a new dependency. However,it is not
considered problematic because major server operating systems, CentOS and
Ubuntu Server provide them.

The FFI cld3-ruby was written by me (Akihiko Odaki) for use in Mastodon.
It is still new and may be inmature, but confirmed to pass existing tests.
2017-05-09 19:58:03 +02:00
Akihiko Odaki
af6a84da14 Use RegExp for require.context to filter custom stylesheets (#2950)
ExtractTextWebpackPlugin extracts the content of loaded files, which means
it loads files loaded by require.context but not required after that.
However the former implementation is not aware of that.

require.context can have a RegExp to filter files to load. This change
gives a RegExp which matches with SCSSes with 'custom' prefix to
require.context to take advantage of the feature.
2017-05-09 19:51:45 +02:00
abcang
08e94d1b19 Fixed bug that timeline can not be displayed by InvalidURIError (#2947) 2017-05-09 18:17:41 +02:00
haoyayoi
2fba94b36e add content-type in pubsubhubhub request header (#2943)
* add content-type in pubsubhubhub request header

* fix type
2017-05-09 16:34:47 +02:00
Alda Marteau-Hardi
8c9116dc98 Fix missing or not gender neutral strings. (#2944) 2017-05-09 16:14:44 +02:00
Yamagishi Kazutoshi
42eb841dc2 Remove jquery-ujs (#2939)
* Remove jquery-ujs

* fix for eslint
2017-05-09 14:50:43 +02:00
Yamagishi Kazutoshi
584b45530c Fix duplicated values in nl.json (#2931) 2017-05-09 14:12:35 +02:00
Koala Yeung
f5cdea5122 Update Norwegian translations (#2937)
* Update Norwegian translations

* Updated no.json
* Updated activerecord.no.yml
* Updated no.yml
* Updated simple_form.no.yml

* i18n: fix Unicode character error in no.yml

* Javascript escaping code "\uD83D\uDC18" should be "\U0001f418" in
Ruby / yml

* i18n: remove unused keys in Norwegian translation

* Remove unused keys in no.yml and activerecord.no.yml
  by running: `bundle exec i18n-tasks remove-unused no`

* Add missing keys in activerecord.no.yml and no.yml by
  running: `bundle exec i18n-tasks add-missing no`

* i18n: escape the key 'no' in activerecord.no.yml
2017-05-09 14:01:45 +02:00
Soshi Kato
f36a791227 Fix snackbar notification stacking order (#2935) 2017-05-09 14:01:29 +02:00
HANATANI Takuma
7c249dfd88 Add cursor property to toot user avatar. (#2933) 2017-05-09 03:48:15 +02:00
Matt Jankowski
5bea42412e Services specs for subscribe and unsubscribe (#2928)
* Add specs for unsubscribe service

* Fix non existent methods in unsubscribe service

* Clean up status handling in subscribe service
2017-05-09 00:45:02 +02:00
Matt Jankowski
04166c4a35 Specs for API push controller, with refactor (#2926)
* Coverage for api push controller

* Refactor the api/push controller
2017-05-09 00:44:30 +02:00
Quent-in
fed585e3f4 i18n mailer files for Occitan language (#2924)
* Create reset_password_instructions.oc.html.erb

* Create reset_password_instructions.oc.text.erb

* Create password_change.oc.html.erb

* Create password_change.oc.text.erb

* Create confirmation_instructions.oc.html.erb

* Create confirmation_instructions.oc.text.erb
2017-05-08 23:15:03 +02:00
jeroenpraat
406229d927 Updating and extending Dutch strings (#2930)
* Update nl

* Update nl

* Update nl

* Create confirmation_instructions.nl.html.erb

* Create confirmation_instructions.nl.text.erb

* Create password_change.nl.html.erb

* Create password_change.nl.text.erb

* Create reset_password_instructions.nl.html.erb

* Create reset_password_instructions.nl.text.erb
2017-05-08 23:11:12 +02:00
Matt Jankowski
7a7d12d27f Delegate Account#user_locale method and allow nil (#2927) 2017-05-08 23:10:50 +02:00
ButterflyOfFire
01c4c29b3a Update fr.json (#2915)
* Update fr.json

Updating some missing french translations.

* Update fr.json

Fix repetition in line 41.

* Update fr.json

Fix : adding space between {name} and ? question mark.
2017-05-08 18:24:55 +02:00
Yamagishi Kazutoshi
459bbfa4b2 Prevent selection of unacceptable Content-Type files (#2910)
* Prevent selection of unacceptable Content-Type files

* replace hard code

* media_attachments accept content-types in initial state
2017-05-08 16:49:53 +02:00
ButterflyOfFire
7140def5c9 Update simple_form.ar.yml (#2908)
* Update simple_form.ar.yml

Added missing strings that were introduced to simple_form.ar.yml and completing translation.

* Create confirmation_instructions.ar.html.erb

* Create confirmation_instructions.ar.text.erb

* Create password_change.ar.html.erb

* Create password_change.ar.text.erb

* Create reset_password_instructions.ar.text.erb

* Create reset_password_instructions.ar.html.erb
2017-05-08 15:58:38 +02:00
Matt Jankowski
b85dec2b97 Improve scss color variables (#2912)
- Updates scss variables file to use better-named variables for black/white/etc
- Arranges the "mastodon classic" colors into variables
- Remove all references to `$color-*` naming, replacing with new

This does not in itself introduce "theme" support, but:

- It would probably be easier to start working on theme support after this
  change and others
- Even without the goal of themes, these changes make it more clear how the
  colors are being used.

There is almost definitely some edge case in here where I've guessed the
intent/context of some color usage incorrectly, but it still seems like a net
improvement.
2017-05-08 15:57:49 +02:00
Koala Yeung
cbd673601c Add Thai langauge (#2903)
* Updated Thai language

* locale: remove unused translation in Thai

* locale: add Thai to settings menu and application

* locale: fix activerecord.th.yml format
2017-05-08 15:56:00 +02:00
Yamagishi Kazutoshi
66a3979cba Fix broken features list in RTL languages (#2909)
Fixes #2905
2017-05-08 15:52:51 +02:00
ster
9de254c46e Fix small typo in ru.json (#2906) 2017-05-08 15:03:17 +02:00
HANATANI Takuma
388e70b881 Remove unnecessary keep file. (#2902) 2017-05-08 15:01:19 +02:00
yhirano
48594b18e6 Added haml-lint and fix warnings (#2773)
* add haml_lint to Gemfile

* add .haml-lint.yml

* fix warnings of haml_lint
2017-05-08 03:35:25 +02:00
Matt Jankowski
bba537a7be Improve allowed language handling (#2897)
* Dont allow empty value in user allowed languages

* Sanitize language input to reject blank values in array
2017-05-08 03:32:52 +02:00
Jessica K. Litwin
28e674bc6a small ui change so that the settings buttons at the top of each column are actually aligned properly (#2894) 2017-05-07 23:47:55 +02:00
ster
9d84dda213 Update Ukrainian, Russian translations (#2893)
* Update Ukrainian translation (rebased off Russian translation)

* Update Ukrainian, Russian translations
2017-05-07 23:47:19 +02:00
yhirano
d63c291f86 Enable CodeClimate SCSS Lint checks (#2886)
* add scss_lint to Gemfile

* add .scss-lint.yml

* fix warnings of scss-lint

* chmod -x styles/variables.scss

* Enable CodeClimate SCSS Lint checks
2017-05-07 20:47:31 +02:00
Ratmir Karabut
6ad19036e3 Update Russian translation (#2891)
* Add Russian translation (ru)

* Fix a missing comma

* Fix the wording for better consistency

* Update Russian translation

* Arrange Russian setting alphabetically

* Fix syntax error

* Update Russian translation

* Fix formatting error

* Update Russian translation

* Update Russian translation

* Update ru.jsx

* Fix syntax error

* Remove two_factor_auth.warning (appears obsolete)

* Add missing strings in ru.yml

A lot of new strings translated, especially for the newly added admin section

* Fix translation consistency

* Update Russian translation

* Update Russian translation (pluralizations)

* Update Russian translation
2017-05-07 20:47:19 +02:00
Yamagishi Kazutoshi
3bdcf5d8f0 Add final newline to locale files (#2890) 2017-05-07 19:55:47 +02:00
ButterflyOfFire
c7848f54ff Update ar.json (#2888)
* Update ar.json

Adding more translations (updating the missing non translated strings) and some little minimal corrections.

* Update ar.json

Deleting final new line as suggested in the review.

* Update ar.json

* Update ar.json
2017-05-07 19:37:32 +02:00
masarakki
267ed3d74b raise-when-oembed-not-found (#2882) 2017-05-07 19:00:40 +02:00
alpaca-tc
ca05bfaac7 Refactor account.rb (#2881)
* Call simple query

* Refactor Account#keypair

* Replace escaped single quote

* Extract similar behavior to method

* Gather the same condition to one block

* Remove not needed receiver
2017-05-07 16:40:57 +02:00
Koala Yeung
e4b84c7ba5 locale: add Occitan locale-data for js (#2845)
Translation works by @Quent-in.
2017-05-07 16:39:37 +02:00
Özcan Zafer AYAN
983593ddf4 Add Turkish yml file (#2878)
* Add Turkish yml file

* Add translation files for Turkish

* Deleted click_to_edit key and val

Deleted click_to_edit: Düzenlemek için ilgili ayara tıklayınız line
2017-05-07 16:20:53 +02:00
Ram Lmn
f14df43435 Fix local fonts and change font-face values (#2877)
* Fix local fonts and change font-face values

* Remove eot font files
2017-05-07 15:23:06 +02:00
Yamagishi Kazutoshi
f000673599 Remove local_time gem, and add similar (#2875) 2017-05-07 15:22:54 +02:00
Yamagishi Kazutoshi
139d183485 Fix a aspect ratio for the embedded video (#2872) 2017-05-07 15:21:46 +02:00
Ira
ee1486a7de i18n: Update Hebrew interface translation. (#2880)
* follow the instructions for registering the language as stated on the Tootsuite's docs.

* Added translation strings from latest master

Adding &rlm; characters to many strings that are misdirected in the interface.

A tiny grammar fix

Updates of Hebrew strings to v1.3.1

Hebrew translation of the mailer templates.

Fix strings and a missing comma.

Just discovered two string keys were updated. this should lay Travis' mind to rest at last.

Remove mentions before counting characters to decide RTL ratio

Fixes for PR #2573

updated strings for latest master

Undo RTL counting, moved out to another branch for future consideration...
2017-05-07 15:20:34 +02:00
Matt Jankowski
b8ba719f73 Unblock domain service specs/refactor (#2867)
* Add spec for unblock domain service

* Refactor UnblockDomainService
2017-05-07 14:44:28 +02:00
Koala Yeung
ada8a6cb77 Fix unused key issue in zh-HK (#2870)
* locale: remove unused keys in zh-HK

* locale: update json translations

* handled the untranslated strings.
* removed unused keys.
2017-05-07 14:29:01 +02:00
Yamagishi Kazutoshi
6c678b7472 Fix locale key for account card (#2866) 2017-05-07 03:09:58 +02:00
Nolan Lawson
df81bc4a97 add asynchronous emojione-picker (code-splitting) (#2863) 2017-05-07 02:42:38 +02:00
alpaca-tc
74036a2c9d Hotfix convert string from symbol (#2856)
* Convert key to string from symbol

* Prefer :public_send instead of
2017-05-06 23:06:52 +02:00
alpaca-tc
05b72368ed Fixes slow query in notifications api (#2851)
* Add inclusion validation for activity_type

* When excluding all types with `WHERE NOT IN`, the query search all rows.
2017-05-06 21:55:40 +02:00
Koala Yeung
bd71327180 Fix Croatian localedata issues in mastodon.js (#2844)
* locale: added hr and oc react-intl locale data

* adds Croatian locale data in mastodon.js
* adds Occitan locale data in mastodon.js

Resolves #2667

* locale: sort locale data imports in mastodon.js

* locale: remove oc reference

* [react-intl](https://github.com/yahoo/react-intl) does not provide
  default locale data for Occitan. Hence removed from reference.
2017-05-06 17:30:48 +02:00
Yamagishi Kazutoshi
aa235318fc Add Japanese tranlsation for getting started, and run manage:tranlation (#2839)
* Add Japanese tranlsation for getting started, and run manage:tranlation

* remove unnecessary {apps}
2017-05-06 17:04:53 +02:00
alpaca-tc
a0b1951791 Refactor domain_blocks_controller (#2843)
* Set domain_block by before_action

* Cast value with ActiveRecord::Type

* Batch update
2017-05-06 17:03:34 +02:00
rch850
453fb84c9c Use null as default oEmbed height (#2842)
Height 640 is too big for most toots.
Twitter use null value to support flexible height.
2017-05-06 16:31:43 +02:00
alpaca-tc
59804abc3d Optimize MuteService and AfterBlockService (#2836) 2017-05-06 16:31:07 +02:00
jeroenpraat
496f466d73 Added support options to the bottom right (#2769)
* Added support options to the bottom right

I don't know if this is actually wanted, but I made these changes on my instance, so why not share it. Not wanted? No problem! BTW: Maybe the Mastodon image should leave here, cause there is no space left cause of the increased height of the getting started column.

* 2 paragraphs looks cleaner

* Update

* Good morning
2017-05-06 13:43:43 +02:00
Eugen Rochko
b8e166894b Fix Scheduler::SubscriptionsScheduler (#2834)
* Fix Scheduler::SubscriptionsScheduler, add worker test for it

* Change production log level of Sidekiq to "warn" instead of "info"
2017-05-06 13:05:03 +02:00
alpaca-tc
1f15a15621 Handling failed http response (#2823) 2017-05-06 12:55:59 +02:00
m4sk1n
fd1e29c3f8 i18n: Updated Polish translation (#2832)
* i18n: updated Polish translation

Signed-off-by: Marcin Mikołajczak <m4sk1n@vivaldi.net>

* i18n: completed Polish translation

Signed-off-by: Marcin Mikołajczak <m4sk1n@vivaldi.net>
2017-05-06 11:06:55 +02:00
Nolan Lawson
553e13144f remove legacy decorators, use lodash.debounce (#2830) 2017-05-06 11:05:32 +02:00
Koala Yeung
cf0b753209 Streamline javascript translation by improving translationRunner (#2808)
* package.json: Add "build:*" targets

* Improve react-intl-translations-manager workflow.
  * Added "build:production" to build production bundle.
  * Added "build:development" to build development bundle.

* Fix json translation files

* Run `yarn manage:translations` to fix translation files.
* Fix `pl.json` for syntax error.

* translationRunner: auto detect existing languages

* Auto detect existing rfc5646 language tag in *.json filenames
  in `app/javascript/mastodon/locale` folder. No need to manually
  define every new language in the languages array here.

* translationRunner: add more functionality

* Allow script user to specify language code to check.
* Added available language check.
* Added --force flag to force creation of unexists language.
* Added --help flag and help messages.

* gitignore: ignore npm-debug.log

* Fix webpack error if NODE_ENV is not defined

Default to use 'development' in config/webpack/configuration.js
2017-05-06 04:05:38 +02:00
alpaca-tc
ddc34feb58 Optimize follower_accounts and following_accounts (#2820) 2017-05-06 04:03:07 +02:00
Matt Jankowski
3f5b994ff0 Stream entry specs and refactor to use delegate (#2827)
* Add coverage for stream entry delegated methods

* Use delegate with allow_nil to clean up stream entry
2017-05-06 04:00:21 +02:00
gentaro
dacdfec973 Added japanese version of terms of service and privacy policy (#2703)
* Added japanese version of terms of service and privacy policy

* Fix typo

* Add trasnlation for title.

* Improve translation and update the date.
2017-05-06 02:23:22 +02:00
Matt Jankowski
4e05751346 Move account header and avatar methods to a concern (#2825) 2017-05-05 21:37:02 +02:00
alpaca-tc
ee3e0a93f4 Fixes unknown mime type (#2822) 2017-05-05 21:32:14 +02:00
alpaca-tc
d1290fbd8f Fixes propTypes warning introduced by #2774 (#2824) 2017-05-05 21:31:20 +02:00
Matt Jankowski
484c9709b6 Misc spec coverage improvements (#2821)
* Dont use raise_error by itself (avoids warning)

* Add coverage for AccountFilter

* Improve coverage and refactor for Subscription#lease_seconds

* Improve coverage and refactor for NotificationMailer

* Simplify assignment of min/max threshold on subscription
2017-05-05 14:56:00 -04:00
masarakki
d08f1112d5 use Twitter::Extractor for creating links (#2502) 2017-05-05 19:48:22 +02:00
Koala Yeung
886176f854 Update Locale zh-HK (#2818)
* locale: Add missing translation in zh-HK.yml

* locale: fix consistancy in zh-HK.yml translation

* locale: Improve zh-HK yml translations

* Use "PuSH" in all "PubSubHubBub" occurances.
* Simplify text on front page.
* Improve doorkeeper authorization table translations.
* Simplify setting form text for better layout.
* Improve "Business Email" translation.

* locale: Update zh-HK.json

* Fix untranslated text.
* Improve translations.
2017-05-05 18:48:54 +02:00
Yamagishi Kazutoshi
d397d0d681 Run manage:translations (#2816) 2017-05-05 18:46:51 +02:00
Matt Jankowski
20c37ed0f9 Add specs (and refactor) of FetchRemoteResourceService and SearchService (#2812)
* Coverage for fetch remote resource service

* Refactor fetch remote resource service

* Coverage for search service

* Refactor search service
2017-05-05 17:26:04 +02:00
Yamagishi Kazutoshi
9501a87704 Add Japanese translate to home column when inactive (#2813) 2017-05-05 17:25:42 +02:00
ButterflyOfFire
8f0f4a861a Update ar.json (#2815)
Adding more arabic translated strings.
2017-05-05 17:25:17 +02:00
Eugen Rochko
81584779cb More robust PuSH subscription refreshes (#2799)
* Fix #2473 - Use sidekiq scheduler to refresh PuSH subscriptions instead of cron

Fix an issue where / in domain would raise exception in TagManager#normalize_domain

PuSH subscriptions refresh done in a round-robin way to avoid hammering a single
server's hub in sequence. Correct handling of failures/retries through Sidekiq (see
also #2613). Optimize Account#with_followers scope. Also, since subscriptions
are now delegated to Sidekiq jobs, an uncaught exception will not stop the entire
refreshing operation halfway through

Fix #2702 - Correct user agent header on outgoing http requests

* Add test for SubscribeService

* Extract #expiring_accounts into method

* Make mastodon:push:refresh no-op

* Queues are now defined in sidekiq.yml

* Queues are now in sidekiq.yml
2017-05-05 02:23:01 +02:00
R Tucker
61c33652ad ui: check spoiler_text against regex filter (#1635) (#2665)
* ui: check spoiler_text against regex filter (#1635)

When filtering by regex, also check the spoiler_text if
present.

* ui: concatenate spoiler and content in reducer

Simplifies aa5b03c, clarifies intent of the field
2017-05-04 23:48:48 +02:00
alpaca-tc
74c8ca699c Delete records in smaller transaction (#2802) 2017-05-04 23:44:39 +02:00
Eugen Rochko
eddb95b012 When streaming API is disconnected, poll home/notifications (#2776)
* When streaming API is disconnected, poll home/notifications
Display slightly different empty home timeline message if user is following others
Cull notifications to 20 items when over 40 get added in real-time
Run manage:translations

* Optimize <HomeTimeline /> a little
2017-05-04 23:41:34 +02:00
AA4ch1
a50a87457e Fix language selector on preferences page (#2794) 2017-05-04 14:39:25 -04:00
Yamagishi Kazutoshi
566e0a772d Improve style for form in site settings (#2796) 2017-05-04 14:37:57 -04:00
Masoud Abkenar
11077af52f Persian translation update (#2788)
* Persian translation update

* fix newline typo
2017-05-04 18:32:05 +02:00
Wonderfall
0fc73a6e47 about page : use slightly more space (#2791) 2017-05-04 18:16:00 +02:00
Matt Jankowski
2bd132d458 Replace best_in_place editor on admin settings page (#2789)
* Remove best_in_place

* Replace best_in_place usage with rails helpers

* Move admin/settings#index to #edit action

* Remove click_to__edit from i18n
2017-05-04 18:12:44 +02:00
Akihiko Odaki
0cdcf32865 Use ws protocol in streaming API base URL (#2606) 2017-05-04 15:55:13 +02:00
Yamagishi Kazutoshi
e95983f5df Decode IDNA in PreviewCard (#2781) 2017-05-04 15:52:08 +02:00
unarist
e57e6f509d Show emoji shortname by a tooltip (#2784) 2017-05-04 15:50:09 +02:00
Eugen Rochko
13c16b4e95 Likely fix #2458, fix #2031 - handle out-of-order deletes for statuses (#2734)
* Likely fix #2458, fix #2031 - handle out-of-order deletes for statuses

If a delete arrives before the original status, cache that information
for 6h, and if the original status arrives in that window, ignore it

* Add test case
2017-05-04 04:34:57 +02:00
Eugen Rochko
4fcc0d5ac9 Fix #2725 (#2774) 2017-05-04 01:42:03 +02:00
goofy-bz
44969307c7 Update fr.json (#2757)
ajout espace insécable derrière pouet - pour voir
2017-05-03 23:36:01 +02:00
m4sk1n
4babdff72f i18n: updated Polish translation (#2768)
Signed-off-by: Marcin Mikołajczak <m4sk1n@vivaldi.net>
2017-05-03 23:19:11 +02:00
Tomohiro Suwa
aa6a26a2d5 Correct Account model for rubocop (#2587)
* Correct Account model for rubocop

* Undo these changes
2017-05-03 19:13:04 +02:00
Matt Jankowski
d91ba3c8d0 Remove screenshot image (#2736) 2017-05-03 17:03:10 +02:00
Eugen Rochko
bafd22ecf4 Fix #2706 - Always respond with 200 to PuSH payloads (#2733)
Fix #2196 - Respond with 201 when Salmon accepted, 400 when unverified
Fix #2629 - Correctly handle confirm_domain? for local accounts
Unify rules for extracting author acct from XML, prefer <email>, fall back
to <name> + <uri> (see also #2017, #2172)
2017-05-03 17:02:18 +02:00
Matt Jankowski
8c5ad23b24 Language improvements, replace whatlanguage with CLD (#2753)
* add failing en specs

* add cld2 gem

* Replace WhatLanguage with CLD
2017-05-03 16:59:31 +02:00
ヨイツの賢狼ホロ | 3rd style
1c469ca98b i18n: Update zh-CN [ Chinese (China) ] translations. (#2699)
* Update zh-CN translations.

* Update doorkeeper.zh-CN.yml

* Follow @Artoria2e5 's change advices.

* forget mail for text format ......

* fix some changes

* mail's html version ......

* https://github.com/tootsuite/mastodon/pull/2699#pullrequestreview-35982283

* a space.....

* delete some unused keys
2017-05-03 14:03:16 +02:00
unarist
e61ecf4091 Add styles for small devices to .onboarding-modal (#2748) 2017-05-03 14:02:15 +02:00
kawax
383c0b7802 Show boosted user's avatar (#2518)
* Show boosted user's avatar

* add .status__avatar-boost

* margin

* apply to notifications too.

* account__avatar-boost

* Add inline prop to Avatar component

* Add AvatarOverlay component

* rename mixins.scss

* move files for latest master

* fixed for webpack
2017-05-03 11:43:37 +02:00
unarist
40562fd266 Fix width of .confirmation-modal on narrow screens (#2743) 2017-05-03 11:39:14 +02:00
Yamagishi Kazutoshi
2ab7dc9a55 Use URI.join for generate asset URL (#2741)
* Use URI.join for generate asset URL

* to String
2017-05-03 11:31:21 +02:00
Eugen Rochko
f5bf5ebb82 Replace sprockets/browserify with Webpack (#2617)
* Replace browserify with webpack

* Add react-intl-translations-manager

* Do not minify in development, add offline-plugin for ServiceWorker background cache updates

* Adjust tests and dependencies

* Fix production deployments

* Fix tests

* More optimizations

* Improve travis cache for npm stuff

* Re-run travis

* Add back support for custom.scss as before

* Remove offline-plugin and babili

* Fix issue with Immutable.List().unshift(...values) not working as expected

* Make travis load schema instead of running all migrations in sequence

* Fix missing React import in WarningContainer. Optimize rendering performance by using ImmutablePureComponent instead of
React.PureComponent. ImmutablePureComponent uses Immutable.is() to compare props. Replace dynamic callback bindings in
<UI />

* Add react definitions to places that use JSX

* Add Procfile.dev for running rails, webpack and streaming API at the same time
2017-05-03 02:04:16 +02:00
Matt Jankowski
268dd32d76 Auth sign out (#2511)
* Add a spec for signing out

* Add spec showing that suspended user gets a 403 forbidden on sign out

* Allow suspended account users to sign out
2017-05-02 23:37:58 +02:00
Kaylee
7880671f35 Add option to disable two factor auth in admin accounts panel. (#2584)
* Add option to disable two factor auth in admin accounts panel.
Closes #2578

* Add @mjankowski's suggestions.
* Moves destroy actions behind User#disable_two_factor!
* Adds spec coverage for Admin:TwoFactorAuthenticationsController and User#disable_two_factor!
2017-05-02 21:07:12 +02:00
Matt Jankowski
b5eec34230 Add admin area view partials for each record type (#2700) 2017-05-02 20:56:28 +02:00
Audun Larsen
e68c0ce5f6 Norwegian translation for email notifications (#2673)
* Create confirmation_instructions.no.html.erb

* Create confirmation_instructions.no.text.erb

* Create password_change.no.html.erb

* Create password_change.no.text.erb

* Create reset_password_instructions.no.html.erb

* Create reset_password_instructions.no.text.erb

* Translates html welcome email

* Translates welcome email

* Translates html password changed email

* Translates password changed email

* Translates html reset password email

* Translates reset password email

* Fixes typo in translation

* Fixes typo in translation
2017-05-02 20:18:43 +02:00
Ash Furrow
54dddfe9b8 Darkens colour on stream entries meta. (#2616) 2017-05-02 20:10:55 +02:00
Yamagishi Kazutoshi
46943b64c6 Reset textarea height when press submit key (#2681)
* Reset textarea height when press submit key

* dry

* DON'T NEED props
2017-05-02 20:08:21 +02:00
hakoai
22b1a70274 Fix to completely hide NSFW-tagged images (#2724) 2017-05-02 20:03:00 +02:00
Yamagishi Kazutoshi
6f75c8451d Fix subscription expiration condition (#2715)
* Fix subscription expiration condition

* dry and add spec
2017-05-02 18:21:22 +02:00
Yamagishi Kazutoshi
b9b78549f3 Make it possible to check Subscription that has expired (#2712) 2017-05-02 15:52:30 +02:00
Ira
438ce5809f Add Hebrew interface translation. (#2573)
* follow the instructions for registering the language as stated on the Tootsuite's docs.

* Added translation strings from latest master

Adding &rlm; characters to many strings that are misdirected in the interface.

A tiny grammar fix

Updates of Hebrew strings to v1.3.1

Hebrew translation of the mailer templates.

Fix strings and a missing comma.

Just discovered two string keys were updated. this should lay Travis' mind to rest at last.

Remove mentions before counting characters to decide RTL ratio

Fixes for PR #2573

updated strings for latest master

Undo RTL counting, moved out to another branch for future consideration...
2017-05-02 08:54:35 -04:00
Stephen Burgess
34ae4cf511 fix(boost-icon): Align center for Firefox (#2690) 2017-05-02 02:15:14 +02:00
yhirano
298796cc7b annotate models (#2697)
* add annotate to Gemfile

* rails g annotate:install

* configure annotate_models

* add schema info to models

* fix rubocop to add frozen_string_literal
2017-05-02 02:14:47 +02:00
Matt Jankowski
a4859446ab Coverage for remote follows (#2694)
* Add coverage for create with empty acct value

* Add coverage for create with webfinger failure

* Add coverage for create with webfinger providing bad values

* Add coverage for create when webfinger is good

* Add coverage for session[:remote_follow] having data

* Simplify how remote follow pulls acct from session

* Remote follow behaves more like model

* Move the discovery portions of remote follow out of controller

* Check for suspended accounts
2017-05-02 00:44:23 +02:00
Matt Jankowski
7bffd16024 Error responses cleanup (#2692)
* Use respond_with_error for forbidden errors

* Wrap up common error code into single method
2017-05-01 22:24:36 +02:00
Giuseppe Pignataro
2bd46f442d Italian translation (#2654)
* Added Italian Translation of the following files:
Changes to be committed:
	new file:   app/views/user_mailer/confirmation_instructions.it.html.erb
	new file:   app/views/user_mailer/confirmation_instructions.it.text.erb
	new file:   app/views/user_mailer/password_change.it.html.erb
	new file:   app/views/user_mailer/password_change.it.text.erb
	new file:   app/views/user_mailer/reset_password_instructions.it.html.erb
	new file:   app/views/user_mailer/reset_password_instructions.it.text.erb

* Added italian translation
Changes to be committed:
new file:   config/locales/activerecord.it.yml
2017-05-01 18:14:51 +02:00
Stephen Burgess
11b706acdf fix(scrolling): Center for large screen w/o breaking horiz scroll (#2682) 2017-05-01 18:14:26 +02:00
Stephen Burgess
33b9e8d461 fix(dropdowns): Allow for dropdowns to fill full column (#2684)
* fix(dropdowns): Allow for dropdowns to fill full column

When the text inside a dropdown is longer than it is for English, the text is truncated which can result in a less-than-usable experience for languages such as German with longer words. This commit addresses the following:

* Allow the dropdown to expand to the entire width of the column based on the length of the text in the dropdown
* Align active dropdown arrow in relation to the trigger rather than the dropdown
* Show the right hand side of the dropdown which was previously hidden (could not see border radius)
* Ensure the three places dropdowns of status, account, and emoji appear well in Chrome, Firefox, Safari

* fix(emoji-dropdown): Restore emoji dropdown caret
2017-05-01 18:13:10 +02:00
Matt Jankowski
f025cc6782 Filter on allowed user language preferences (#2361)
* Naive approached to timeline filtering

* Convert allowed_languages into a db column

* Allow users to choose languages to see statuses in

* Style list items as two columns

* Add a hint to explain language filtering preference
2017-05-01 17:42:13 +02:00
yhirano
3988f2dade Fix Rubocop offences (#2630)
* disable Bundler/OrderedGems

* fix rubocop Lint/UselessAssignment

* fix rubocop Style/BlockDelimiters

* fix rubocop Style/AlignHash

* fix rubocop Style/AlignParameters, Style/EachWithObject

* fix rubocop Style/SpaceInLambdaLiteral
2017-05-01 16:31:02 +02:00
Yamagishi Kazutoshi
1899cf5f04 Detect extension for preview card (#2679)
* Detect extension for preview card

* next
2017-05-01 16:20:57 +02:00
Matt Jankowski
5259319cf5 Reports spec for media attachments, clean up method (#2660)
* Add coverage for Report#media_attachments

* Direct query on media attachment
2017-04-30 18:15:49 +02:00
Alvina Putri
282427cdd9 Updating Indonesian locale (#2644)
* update id.jsx file

* update id.yml for new strings and improvements

* add activerecord.id.yml

* improve translation that out of context

* fix another ooc string

* fix main key
2017-04-30 11:35:15 -04:00
Noëlle Anthony
c67d3c990b Additional key checks for browser compatibility (#2539)
Not all browsers recognize e.key === 'Escape'; some use 'Esc' and some only respond to the keyCode.
2017-04-30 09:12:14 -04:00
Hugo Gameiro
2e47fe3e1a Center web app on larger windows sizes (#2021)
* center web app for larger screen sizes

* move center app to components.scss

* center app on larger window sizes

* center .columns-area
2017-04-30 09:01:09 -04:00
AA4ch1
e12bb39c20 Fix character_counter.jsx (#2653)
This commit fixes #2576
2017-04-30 08:58:33 -04:00
Sylvhem
0a46201a66 Minor fixes in the French translation (#2607)
* Changement de « muets » en « silencés »

Utiliser le mot « muet » donne la fausse impression que ces comptes ne diffusent juste rien. Utiliser le mot « silencé » met l’accent sur le fait que ceci résulte d’une action de l’utilisateur·rice.

By using tho word "muet" (mute), we give the false impression that this accounts don't publish anything. Using the "silencé" (muted) put emphasis on the fact that this is the result of one of the user's action.

* Remplacement de « ' » par « ’ »

En français, l’apostrophe utilisée est une apostrophe courbe « ’ » (U+2019) et non pas une apostrophe droite « ' » (U+0027). La plupart des chaînes utilisaient une apostrophe droite. Ce commit harmonise le type d’apostrophe utilisé en remplaçant toutes les apostrophes droites par des apostrophes courbes.

In French, the apostrophe used is the curly one (U+2019) and not the vertical one (U+0027). Almost all the strings used a vertical apostrophe. This commit harmonize the kind of apostrophe used in the French localization by replacing all the vertical apostrophes by curly apostrophes.

* Remplacement de « ... » par « … »

Certaines chaînes utilisaient trois points d’affilié afin de représenter les points de suspension au lieu d’utiliser le caractère dédié « … » (U+2026). Ce commit harmonise la façon de représenter des points en remplaçant toutes les séries de trois points par le caractère dédié.

Some chains used a series of three dots to show the ellipsis instead of using the dedicated character "…" (U+2026). This commit harmonize how the ellipsis is shown in the French localization by replacing all the series of three dots by the dedicated character.

* Ajout d’un point final

Il manque un point à la fin de la dernière phrase de la chaîne « compose_form.privacy_disclaimer ». Ce commit le rajoute.

The last sentence of the "compose_form.privacy_disclaimer" string is missing a final dot. This commit will add it.

* Retrait d’un « s » final à « Mastodon »

Suite à la remarque de @wxcafe, retrait du « s » final à « Mastodon ».

Following @wxcafe comment, this commit remove the final "s" in the word "Mastodon".
2017-04-30 08:51:32 -04:00
ButterflyOfFire
3f248dcaae Update ar.jsx (#2647)
* Update ar.jsx

Updating some (ar) translation.

* Update ar.yml

Pushing some missing translation strings on ar.yml
2017-04-30 08:51:12 -04:00
Audun Larsen
baa43e40a0 Minor changes to Norwegian locale (#2652) 2017-04-30 08:50:49 -04:00
Akihiko Odaki
a6788662b0 Revert "Use PostgreSQL inheritance for blocks and mutes (#2520)" (#2634)
This reverts commit 5135d609b7.
2017-04-30 08:49:24 -04:00
Yamagishi Kazutoshi
4a5f73c8ae Add target=_blank to user note (#2622)
* Add target=_blank to user note

Open new window when click link from user profile in remote instance.

* fix rubocop
2017-04-30 00:28:41 +02:00
Matt Jankowski
fdcf884cf7 Extract user tracking into concern (#2600) 2017-04-30 00:28:16 +02:00
Akihiko Odaki
5135d609b7 Use PostgreSQL inheritance for blocks and mutes (#2520) 2017-04-30 00:27:31 +02:00
Matt Jankowski
f48cb3eb17 More coverage yes more even more (#2627)
* Add coverage for admin/confirmations controller

* Coverage for statuses controller show action

* Add coverage for admin/domain_blocks controller

* Add coverage for settings/profiles#update
2017-04-30 00:25:38 +02:00
yhirano
8325866c61 Downgrade rubocop 0.48.1 => 0.46.0 (#2628)
* downgrade rubocop 0.48.1 => 0.46.0

* exclude vendor/**/* from rubocop target files

* add frozen_string_literal comment line

* fix percent literal delimited by ( and )

* fix alignment

* remove comment disabling unknown cop
2017-04-30 00:23:45 +02:00
Stephen Burgess
e3b60b07d9 fix(video): Position of play icon (#2608)
* fix(video): Position of play icon

#2601

* fix(overlay-button): Positioning

* fix(expand): Bottom align expand icon

* feat(video): Fit landscape videos into preview area
2017-04-29 15:23:27 +02:00
alpaca-tc
96c84da1d4 Expand uploaded thumbnail (#2611) 2017-04-29 14:29:13 +02:00
alpaca-tc
7d36a76180 Remove uneeded ORDER BY query (#2615) 2017-04-29 10:50:10 +02:00
Patrick Figel
197af5de70 Set unknown attachment type when adding domain blocks (#2605)
Follow-up to #2599. When a domain block with `reject_media` is
added or `rake mastodon:media:remove_remote` is invoked, mastodon
deletes the locally cached attachments and avatars but does not
reflect that change in the database, causing the `file` fields to
still have values. This change persists the deletion in the
database and sets the attachment type to unknown.

This also introduces a one-off rake task that sets all attachments
without a local file to the "unknown" type. The upgrade notes for
the next release should contain a post-upgrade step with
`rake mastodon:media:set_unknown`.
2017-04-29 02:44:03 +02:00
Patrick Figel
8ac7fca5d0 Set correct attachment type for rejected media (#2599)
In #2110, a new attachment type "unknown" was introduced for
attachments that were rejected due to a domain being blocked using
reject_media. However, the "type" field was never set to "unknown"
because a default value of "0" (image) is set for that column,
causing the `type.blank?` expression to always equal false.

This version uses type_changed? instead, causing the type to be set
to "unknown" unless a type has been explicitly set. This introduces
a small change in behaviour causing the type to be set to unknown
before paperclip calls `before_post_process`. Presumably this
behaviour is more appropriate than the current one because the
attachment type has not been determined by that point.

Included are new tests for `ProcessFeedService` and
`UpdateRemoteProfileService` which now check that remote media is
downloaded for non-blocked domains and is rejected for others.
2017-04-29 00:18:32 +02:00
Yamagishi Kazutoshi
298d28af51 Fix API for Mastodon version (#2590)
Fix #2589
2017-04-28 17:53:37 +02:00
Mingye Wang
439b2dceda Minor updates to zh-CN JS translation (#2557)
* Minor updates to zh-CN JS translation

* removed "!" from "toot" per #2549 (it's a privacy indicator)
* ellipsis work (from ... to some U+2026 horizontal ellipsis unicode stuff)

* Spillcheck for zh-CN js translations (squash this)

部 [份→分]
2017-04-28 16:45:41 +02:00
Matt Jankowski
9262f6968b Fix broken spec for about/links view partial (#2586) 2017-04-28 16:45:24 +02:00
Yamagishi Kazutoshi
01c206326f Hide get started link when register closed (#2583) 2017-04-28 15:45:37 +02:00
Matt Jankowski
9566893cc9 More controller specs (#2561)
* Add render_views in more places

* Delegate methods from account to user with allow nil true, so that admin accounts show view renders when missing a user

* Use actual account instances in authorize follow controller spec
2017-04-28 15:12:37 +02:00
Wonderfall
0e2589867f Update en locale federation description (#2558) 2017-04-28 15:11:54 +02:00
Ratmir Karabut
4acc386dd5 Update Russian translation (pluralizations) (#2565)
* Add Russian translation (ru)

* Fix a missing comma

* Fix the wording for better consistency

* Update Russian translation

* Arrange Russian setting alphabetically

* Fix syntax error

* Update Russian translation

* Fix formatting error

* Update Russian translation

* Update Russian translation

* Update ru.jsx

* Fix syntax error

* Remove two_factor_auth.warning (appears obsolete)

* Add missing strings in ru.yml

A lot of new strings translated, especially for the newly added admin section

* Fix translation consistency

* Update Russian translation

* Update Russian translation (pluralizations)
2017-04-28 15:11:36 +02:00
Matt Jankowski
429480bb77 Return missing page when tag does not exist (#2563) 2017-04-28 15:11:21 +02:00
Matt Jankowski
effb08edbb More status specs (#2564)
* Add rough outline of coverage needed for public timeline

* Specs for visibility, replies, boosts

* Specs for silenced account

* Specs for local_only option

* Specs for blocks and mutes

* Add tentative spec around including other silenced account statuses

* Add with_public_visibility scope

* Add simple coverage for tag_timeline

* Tag timeline includes replies

* Replace tag.statuses with a tagged_with scope in tag timeline method

* Use with_public_visibility in tag timeline

* Extract common scope between public and tag timelines to method

* Extract local domain check to local_only scope

* Extract local_only check to starting scope method

* Move list of excluded from timeline account ids to account model

* Simplify excluded accounts list on account model

* Only join accounts when needed

* Rename method for account specific filtering

* Extract method for account exclusions

* Fix bug where silenced accounts were not including statuses from other silenced accounts

* DRY up filter application from account or no account

* timeline_scope can be private

* Add spec showing that account can find its excluded accounts ids

* Add spec which fails if local_only does not have a left outer join

* rubocop
2017-04-28 15:10:41 +02:00
Ratmir Karabut
d1b4ebe07d Update Russian translation (#2570)
New column subheadings
2017-04-28 09:08:23 -04:00
ButterflyOfFire
9a085e138e Update settings_helper.rb (#2556)
Correcting language name arabic = العربية
2017-04-28 01:59:19 +02:00
Wonderfall
546b5a9dcf Update onboard federation description (#2555) 2017-04-28 01:58:45 +02:00
Shel Raphen
f51b2cb2e7 Copy edits to reflect changes in post privacy (#2552)
There was still a reference to "private posts" and the phrasing of unlisted in contrast to the others now made it seem strangely more private.
2017-04-28 01:21:26 +02:00
Matt Jankowski
9736753985 Fix remote follow (#2547)
* Add coverage for remote_follow#new

* Fix reference to authorize_follows/card partial
2017-04-28 00:16:44 +02:00
Patrick Figel
074e9612a2 fix partial path in admin/reports (#2546)
In #2505, the authorize_follow views were renamed to
authorize_follows. This change was not applied in the show view
of admin/reports, which causes a 500 when reports are viewed.
2017-04-28 00:09:25 +02:00
Eugen Rochko
7406404fa3 Hotfix remote status formatting (#2543) 2017-04-27 23:37:22 +02:00
unarist
ebbbcfef1c Update Japanese translation (and English translation file) for JavaScript (#2538)
* Update English translation file for JavaScript

* Update Japanese translation for JavaScript
2017-04-27 20:41:25 +02:00
yhirano
3d776de2cb Change permission from 0755 to 0644 (#2536)
* chmod -x assets.rb

* chmod -x assets/fonts

* raname extname from jpeg to jpg
2017-04-27 19:29:41 +02:00
Yamagishi Kazutoshi
831ff60698 Fix broken oEmbed provider (#2537) 2017-04-27 19:29:11 +02:00
Yamagishi Kazutoshi
c25426ca47 Fix Doorkeeper error (#2534)
* Fix Doorkeeper error

* use Doorkeeper::OAuth::Scopes.from_string
2017-04-27 18:04:28 +02:00
jeroenpraat
09b93aaf85 Another (less urgent) Dutch string update (#2533)
* Another (less urgent) update

* Another (less urgent) update

* Dutch strings: consistency:  let's use 'voorkeuren' as a subset of 'instellingen'
2017-04-27 17:54:34 +02:00
Eugen Rochko
d4fedf84e0 Cache Status#ancestors recursive query results (#2527) 2017-04-27 17:07:15 +02:00
Eugen Rochko
2af4f3c4e2 Improve shared status verification (#2525)
* Instead of parsing shared status contents verbatim, make roundtrip
to purported original URL. Confirm that the "original" URL is from the
same domain as the author it claims to be from.

* Fix obvious typo, add comment

* Use URI look-up first

* Add test, update Goldfinger dependency to make less useless HTTP requests per Webfinger lookup
2017-04-27 17:06:47 +02:00
jeroenpraat
b8e7eee837 Last minute Dutch update and fix (after checking on live 1.3RC) (#2529)
* Update and fix

* Update and fix Dutch strings
2017-04-27 17:00:03 +02:00
Eugen Rochko
b48c9013aa Bump version, improve how version is stored for better commit history (#2526) 2017-04-27 15:22:19 +02:00
Matt Jankowski
b48f2cbc8b Catch error when server decryption fails on 2FA (#2512) 2017-04-27 15:18:21 +02:00
Ashley
1736badf28 Added '(dev)' to the title in development mode (#2524)
* Added different title for dev

* Changed indentation
2017-04-27 15:17:55 +02:00
Eugen Rochko
88725d6ce8 OEmbed support for PreviewCard (#2337)
* OEmbed support for PreviewCard

* Improve ProviderDiscovery code failure treatment

* Do not crawl links if there is a content warning, since those
don't display a link card anyway

* Reset db schema

* Fresh migrate

* Fix rubocop style issues
Fix #1681 - return existing access token when applicable instead of creating new

* Fix test

* Extract http client to helper

* Improve oembed controller
2017-04-27 14:42:22 +02:00
Yamagishi Kazutoshi
be0a01145b Sync a locale files for JavaScript (#2513)
There are multiple messages missing in en.jsx.
It is very troublesome when translating other languages.
2017-04-27 12:03:28 +02:00
Tomohiro Suwa
1f805a6377 Don't need to include ActiveModel::Validations (#2521) 2017-04-27 12:02:55 +02:00
Evan Minto
e595ccb294 Add ActivityPub Actor id to WebFinger JSON. (#2522) 2017-04-27 12:02:41 +02:00
Lindsey Bieda
43a29a9d0f Add aria-label to icon driven dropdown menus (#2516) 2017-04-27 12:01:36 +02:00
Kaylee
0dd71af5fa Copy over "Boost" hover text fix to detailed view. (#2508)
from #1754, should close out #1394
2017-04-27 01:53:55 +02:00
Matt Jankowski
0618f09939 Add spec coverage and refactor authorize_follows controller (#2505) 2017-04-27 00:19:53 +02:00
Koala Yeung
a23eaf720e Update Russian translation (rebased) (#2503)
* Fix syntax error

* Remove two_factor_auth.warning (appears obsolete)

* Add missing strings in ru.yml

A lot of new strings translated, especially for the newly added admin section

* Update Russian translation

* Fix merge conflicts

Redid Works by @rkarabut
2017-04-26 22:33:54 +02:00
Matt Jankowski
8857cabca4 Domain block service cleanup (#2490)
* Add coverage for domain block service with silence

* Get rid of warning about find_each and order

* Move domain_block to attr_reader

* Move optional clear_media into silence_accounts method

* Use blocked_domain method to reduce passed vars

* Extract blocked_domain_accounts method to find accounts on the domain

* Extract media_from_blocked_domain method to find relevant attachments

* Separate destruction of account images and account attachments
2017-04-26 20:09:01 +02:00
Benedikt Geißler
0576daf5f9 Update German translation (#2485) 2017-04-26 15:46:14 +02:00
Yamagishi Kazutoshi
6004b143a8 Update Japanese translation (#2487)
follow up #1309 & #2279
2017-04-26 15:45:47 +02:00
Lindsey Bieda
25cbb8454c Red favicon for dev (#2470)
* Set a dev specific favicon

* Consistent spacing

* Add trailing slash for consistency

* Update to remove interpolation
2017-04-26 15:45:27 +02:00
Tomohiro Suwa
416c9675fc Don't toot request with only blank characters (#2154)
* Don't toot request with only blank characters

* Enable toot button if no text
2017-04-26 15:18:09 +02:00
Yamagishi Kazutoshi
6a1e287053 Fix undefined variable in OnboardingModal (#2482) 2017-04-26 15:15:47 +02:00
Koala Yeung
5bda32e460 Update ar.jsx (#2469)
Adding more missing strings.
2017-04-26 14:55:14 +02:00
Wonderfall
234e931db2 fix onboarding modal (#2477) 2017-04-26 14:54:12 +02:00
Eugen Rochko
fdcb55a0a6 Fix various regressions (#2466) 2017-04-26 04:40:27 +02:00
Eugen Rochko
d97a0525aa Fix #2261 - noopener typo (#2463) 2017-04-26 03:55:51 +02:00
Francis Chong
193dddb433 Add media dimensions (#2448)
* Fixes #1985

- add migration AddMediaAttachmentMeta, which add meta field to media_attachments
- before saving attachment, set file meta if needed
- add meta in api

* add spec

* align the “size” format for image and video

* fix code climate

* fixes media_attachment_spec.rb
2017-04-26 03:48:12 +02:00
Keiji, Yoshimi
8fe36654ef attach_media should be in transaction of creation status (#2426) 2017-04-26 03:47:44 +02:00
JP DeVries
3ebaeccec9 Toolbar icons accessible names (#1424)
Closes tootsuite/mastodon#1349

This is my first PR and I’m only checking in the source JSX file.
Please let me know if it should be checked in after being built also.
2017-04-26 01:44:50 +02:00
Guillaume Lo Re
7177e37b99 Stricter whitelist rules (#2213)
* Stricter whitelist rules

* Linting

* Added spec for blacklisting

* Test subdomain blacklist on domain whitelist

* No need to split

* Change spec name
2017-04-26 01:22:51 +02:00
Amelia
fbc5099402 Make the getting started ui more intuitive (#1309) 2017-04-26 01:21:05 +02:00
Mingye Wang
6ae975996e Refine CW placeholder in Chinese jsx files (#2447) 2017-04-25 23:26:46 +02:00
Ash Furrow
48652cb41e Fixes string length issue for multibyte characters. (#2443) 2017-04-25 17:37:51 +02:00
Stephen Burgess
1ce951d0be Adjust status action bar icons (#2424)
Set status action bar to have display flex and center align items so dropdown icon appears center aligned with other icons. Make styles alpha organized.

Add hover state to boost icon - lighten color on hover.
2017-04-25 15:16:09 +02:00
alpaca-tc
9317ec8eb1 Localize with i18n for Devise::FailureApp (#2309)
This PR fixes I18n.locale for rake middlewares. Mastodon uses Devise that depends on Warden.
Warden::Manager can be found in rake middleware. It is outside of the controller.

In the case of authentication failed, warden calls throw(:warden). At the time Warden::Manager
delegates request to failure_app to generate response and flash[:alert] after catching it.
Unfortunately, I18n.locale is already reset then because I18n.with_locale is enabled only
inside the controller. If we used I18n.locale=, Devise::FailureApp could get the current locale.
2017-04-25 15:06:41 +02:00
STJrInuyasha
1b9447853b Login link for single user instances (#2393)
* Login link for single user instances

* Flip the if statement around
Fixes AuthorizationController tests
2017-04-25 15:06:24 +02:00
Evan Minto
122d59ac41 Change ActivityPub paging to match spec. Clean up ActivityPub outbox changes. (#2410)
* Change ActivityPub paging to match spec. Clean up ActivityPub outbox changes.

* Fix code style and test failures for OutboxController.

* Attempt to fix CI errors.
2017-04-25 15:06:06 +02:00
Eugen Rochko
8b5179d006 Fix #2402 - Add Idempotency-Key header to PostStatusService that prevents (#2419)
duplicates. Web UI regenerates UUID for that header every time the compose
form is changed or successfully submitted

Also, fix Farsi i18n overwriting the English one
2017-04-25 15:04:49 +02:00
Yamagishi Kazutoshi
3ea5b948a4 Decodes URL containing IDN (#2436) 2017-04-25 15:03:51 +02:00
Ash Furrow
acc691851d Username above toot box UI changes (#2418)
* Makes username above toot box into a link.

* Prepends username above toot box with an @.
2017-04-25 04:45:27 +02:00
178inaba
d2159deaf2 Optimize account search (#2421) 2017-04-25 04:44:43 +02:00
Eugen
17c591ffba Punycode URI normalization (#2370)
* Fix #2119 - Whenever about to send a HTTP request, normalize the URI

* Add test for IDN request in FetchLinkCardService

* Perform IDN normalization on domains before they are stored in the DB
2017-04-25 02:47:31 +02:00
Masoud Abkenar
bb04a9be52 Persian translation (#2405)
* Persian translation

* adding :fa to make the site use the rtl stylesheet

based on [this comment](https://github.com/tootsuite/mastodon/pull/2405#issuecomment-296721105)

* fix missing quotes

* add 'fa' locale
2017-04-24 22:39:15 +02:00
Stephen Burgess
f098f55cab fix(styles): Spoiler trigger zindex, close modal button position (#2406)
#2338
2017-04-24 20:20:16 +02:00
Stephen Burgess
2d99c962df Only show upload modal when drag event contains files (#2409)
* fix(upload): Only show upload modal when drag even contains files

* fix(firefox): Close drag window ondragend also

Do not only end drag styles on drag leave, but also on drag end. Fixes firefox bug. #687

* fix(drag-modal): Remove drag modal trigger cruft

* fix(upload-modal): Allow close with escape button
2017-04-24 20:19:33 +02:00
Eugen
e59f5c8e13 Add an RTL stylesheet for Arabic i18n (#2378) 2017-04-24 18:03:53 +02:00
Yamagishi Kazutoshi
b073b092c9 Force wrap long email address (#2395) 2017-04-24 17:31:01 +02:00
Matt Jankowski
092fdc89fa Fix flashes partial render error for controllers which don't inherit from application controller (#2400)
* Add failing spec for oauth/authorized_applications controller

* Use explicit reference to flashes partial from admin layout

Because some of the controllers which use the admin layout do not inherit from
application controller, this partial is not in their view path.
2017-04-24 17:30:30 +02:00
Akihiko Odaki
cf845fed38 Hide some components rather than unmounting (#2271)
Hide some components rather than unmounting them to allow to show again
quickly and keep the view state such as the scrolled offset.
2017-04-24 04:49:08 +02:00
Yamagishi Kazutoshi
72c984e105 Fix background-size being overwritten (#2382) 2017-04-24 04:10:32 +02:00
Matt Jankowski
a0dd90a397 Return force_ssl to the controller (#2380) 2017-04-24 02:44:05 +02:00
Yamagishi Kazutoshi
549ce78cf5 Improve Japanese translation (#2376)
ref #2359

- https://github.com/tootsuite/mastodon/pull/2359#discussion_r112838771
- https://github.com/tootsuite/mastodon/pull/2359#discussion_r112838772
- https://github.com/tootsuite/mastodon/pull/2359#discussion_r112838812
- https://github.com/tootsuite/mastodon/pull/2359#discussion_r112838823
- https://github.com/tootsuite/mastodon/pull/2359#discussion_r112838829
2017-04-24 02:18:41 +02:00
Effy Elden
1801a36414 Report processing improvements (#2349)
* Expose media attachments on reported statuses directly

* Comment out unused bulk report checkbox. Add title to report comment for viewing full comment. Add 'contents' column, with icons and numerical indicators to show the number of referenced statuses and media attachments in the report

* Link account name on authorize_follow card back to account

* Add localisation string for report_contents

* Show new admin accounts card partial on report view. Apply simple_format to report comment so newlines are preserved.

* Add new admin accounts card partial, for display quick useful admin stats (e.g. report history, moderation status).

* Fix localized variable
2017-04-24 00:44:37 +02:00
Eugen
501514960a Followers-only post federation (#2111)
* Make private toots get PuSHed to subscription URLs that belong to domains where you have approved followers

* Authorized followers controller, stub for bulk action

* Soft block in the background

* Add simple test for new controller

* Rename Settings::FollowersController to Settings::FollowerDomainsController, paginate results,
rename "private" post setting to "followers-only", fix pagination style, improve post privacy
preferences style, improve warning style

* Extract compose form warnings into own container, show warning when posting to followers-only with unlocked account
2017-04-24 00:38:37 +02:00
Ash Furrow
ef5937da1f Fixes problem with showing non-local accounts. (#2371) 2017-04-23 22:15:10 +02:00
ymmtmdk
072c6f1527 Add link for domain in land strip (#2306)
* Add link for domain in land strip

* Use root_path

* Avoid repeating code
2017-04-23 21:45:03 +02:00
Stephen Burgess
7ee8e50b9c fix(style): Fix styles after classname refactor (#2368)
Float detailed status display avatar left. Only apply display block to display names in status info, not in detailed status. Thanks to @nightpool for finding those. Make star icon in notification show up as gold. Add anchor selector back to status__content__spoiler-link in order to override default anchor style elsewhere.
2017-04-23 21:34:33 +02:00
Stephen Burgess
995f0ad51c feat(cw-button): Add aria controls to CW trigger (#2303)
Add an ID to the CW spoiler input field to give aria-controls a handle on it. Pass that id to the CW trigger button. Modify text icon button component to accept aria controls id value. Add aria-expanded value to text icon button to indicate when it is expanded.
2017-04-23 20:33:44 +02:00
Matt Jankowski
55e1e12b7d Ensure i18n matches options (#2358)
* Add failing spec showing that human_locales does not match what i18n knows about

* Add missing `ar` key for arabic to human locales

* Remove duplicate `id` key from available locales

* Sort keys in human locales list

* Add spec for human_locale helper
2017-04-23 19:09:52 +02:00
Yamagishi Kazutoshi
6e27e08cb4 Add Japanese translation to EmojiPicker component (#2359) 2017-04-23 19:09:34 +02:00
Yamagishi Kazutoshi
d670f72830 Show multibyte URI preview card (#2363) 2017-04-23 19:08:59 +02:00
178inaba
1244630ab4 Add simple_format to simplified_format (#2198) 2017-04-23 14:23:27 +02:00
ThibG
89dc29affb Allow webfinger controller to reply to user@WEB_DOMAIN in addition to user@LOCAL_DOMAIN (#2351)
This provides a hotfix for outbound salmon requests to other Mastodon instances
as they currently will try to resovle user@WEB_DOMAIN instead of user@LOCAL_DOMAIN
(see #2012 and #20312).

Furthermore, this should ease transition from users switching from
LOCAL_DOMAIN = WEB_DOMAIN to another LOCAL_DOMAIN when WEB_DOMAIN does not change.
2017-04-23 14:19:54 +02:00
Ashley
85e09518b9 Halved padding for emoji (#2344) 2017-04-23 14:19:25 +02:00
Stephen Burgess
663f090c45 fix(style): Fix regressions introduced by #2338 (#2345)
Put Column Slim Back Button classnames in order so it is positioned right and top. Add icon button style back to privacy dropdown and upload buttons so they are positioned correctly and do not wiggle. Remove abstracted style from CSS. Add missed class for the upload form thumbnail. Add the missed styles for upload form thumnail. Alphabetize styles for column-back-button. Fix fontSize typo for media-spoiler-video-play-icon.
2017-04-23 14:18:58 +02:00
Joël Quenneville
1cf9e14a41 Test embedded_view related code in a helper (#2282)
The two methods `StreamEntriesHelper#stream_link_target` and
`StreamEntriesHelper#acct` are based on checking whether we are running
in an embedded view.

This adds some test helper code to make the testing easier. We extracted
some "magic strings" to constants to lower the coupling in the specs.
2017-04-23 06:05:52 +02:00
Joël Quenneville
0c2fe22bc1 Add test coverage to CSS class generation (#2285)
The code that generates CSS is based on a lot of boolean conditions.
The possible combinations of these grows exponentially as we add more
conditions.

Since most of the code is conditional on a single boolean, we tested the
following:

1. All `false`
2. All `true`
3. Each individual flag set to `true`

The methods tested are:

* `StreamEntriesHelper#style_classes`
* `StreamEntriesHelper#microformats_classes`
* `StreamEntriesHelper#microformats_h_class`
2017-04-23 06:04:32 +02:00
Koala Yeung
6f0b3b069f Adding arabic string localization (rebased) (#1895)
* Create ar.jsx

* Preparing file for translation.

* Create ar.yml

* Preparing file for translation.

* Create simple_form.ar.yml

* Preparing file for translation.

* Create devise.ar.yml

* Preparing file for translation.

* Create doorkeeper.ar.yml

* Preparing file for translation.

* Update index.jsx

Preparing file for translation.

* Update mastodon.jsx

* Preparing file to translation.
* Correction thanks to @Taekiro
  https://github.com/tootsuite/mastodon/pull/1798#pullrequestreview-32924922

* Update settings_helper.rb

Preparing file to translation.

* Update application.rb

* Preparing file to translation.

* Update simple_form.ar.yml

* Update doorkeeper.ar.yml

* Update devise.ar.yml

* Update ar.yml

* Fix i18n-tasks unused issue (ar)

Remove unused translation strings

* Update application.rb

* Update ar.jsx

* Fix various issues with Arabic translation

* Fix duplication caused in merge
* Fix syntax error in devise.ar.yml
* Fix import error Duplicated incorrect import in mastodon.jsx
* Fix duplication error in locales/index.jsx

* Update ar.yml

* Update ar.jsx

* Update ar.yml

* Update ar.jsx

* Fix ar translation
2017-04-23 05:58:47 +02:00
Ashley
9cd20a7062 Tooltip for boosting depends on toot visibility (#1394) (#1754)
* Made tooltip for boosting depend on visibility

* Removed spaces that were added in merge conflict resolution

* Try again :P

* Added missing bracket

* Changed 'toot' to 'status'
2017-04-23 05:36:40 +02:00
Yamagishi Kazutoshi
219fb317ee Remove unnecessary variable in ColumnLink component (#2341)
Fix bug in cca41ea544 .
2017-04-23 05:21:38 +02:00
Evan Minto
66fd8e7821 ActivityPub: Add basic, read-only support for Outboxes, Notes, and Create/Announce Activities (#2197)
* Clean up collapsible components

* Expose user Outboxes and AS2 representations of statuses

* Save work thus far.

* Fix bad merge.

* Save my work

* Clean up pagination.

* First test working.

* Add tests.

* Add Forbidden error template.

* Revert yarn.lock changes.

* Fix code style deviations and use localized instead of hardcoded English text.
2017-04-23 05:21:10 +02:00
Ash Furrow
723f25a999 Admin UI for confirming users (#2245)
* Shows confirmed status in list.

* Adds ability to confirm users in admin UI.

* Added new english translations.

* Addresses feedback from #2245.

* More feedback.
2017-04-23 04:43:42 +02:00
Eugen
59b1de0bcf Add a confirmation modal: (#2279)
- Deleting a toot
- Muting, blocking someone
- Clearing notifications

Remove source map generation from development environment, as it is a huge
performance sink hole with little gains
2017-04-23 04:39:50 +02:00
Akihiko Odaki
df46864b39 Alter Japanese translations for CW and NSFW (#2305)
The previous translation for NSFW, "不適切" means "impertinent". This change
suggests "閲覧注意", which means the content requires precaution, instead.

However, "閲覧注意" was also a translation for CW. CW is now translated as
"警告", which simply means "warnings".
2017-04-23 04:31:40 +02:00
Stephen Burgess
cca41ea544 Replace inline styles with CSS classes (BEM) (#2338)
* fix(classnames): Status icon style classnames

Take out inline css and put into classnames for the following components: account, avatar, icon button, status action bar, notification.

* fix(status): Move styles from inline to classes for statuses

Move styles to classnames in components.scss for the following components:

display name
media gallery
status
status content
video player

* fix(classnames): Add classnames to rest of components

Take out inline styles and apply them to classnames in the sass for the following components:

button
column back button
slim column back button
collapsable column
dropdown menu
loading indicator
status list

* fix(classnames): Remove all non-dynamic inline styles

Components affected:

autosuggested
permalink
action bar
header
character counter
compose form
emoji dropdown
privacy dropdown
reply indicator
upload form
account auth
followers
getting started
column settings
mutes
settings
reblogs
status checkbox
report
action bar
status
card
boost modal
media modal
video modal

* fix(permalink): Do not lose classname

* fix(tests): Add space back in display name

* fix(status__wrapper): Remove duplicate css name

Remove incorrect style attribute. Remove style attribute all together. Cursor defaults to "auto" when not specified as 'default'.

* fix(nl): do not lose translations
2017-04-23 04:26:55 +02:00
Matt Jankowski
532bec6e56 Clean up flash display in views (#2336)
* Add flashes partial to DRY up admin/auth layouts

* Further consolidate flash messages
2017-04-23 04:22:34 +02:00
Matt Jankowski
ee82d8a876 Move force_ssl check to production config (#2165)
The force_ssl method from controllers does not add all of the options that the
sitewide configuration in a config block does. For example, HSTS enforcement is
not added by the controller method, but is added by this style.
2017-04-23 04:22:22 +02:00
mecab
1646ca75f0 Fix character images' sizing to make it robust (#2327) 2017-04-22 22:28:54 +02:00
jeroenpraat
f876665264 Translation emojis and sorted on alphabet (#2328) 2017-04-22 20:22:46 +02:00
Stephen Burgess
4cfc155560 Improve aria support - Columns and Navigation Drawer Icons (#2299)
* feat(aria): Add aria-labels to underlabelled tab nav items

The drawer tabs which control primary navigation are only labelled by a title which is not available to many screenreaders. Add an aria-label attribute to each link to improve readability with screenreaders. Organize link attributes so link target is first followed by classname.
Issue #1349

* feat(aria): Replace abstract aria role of section with region

Abstract aria roles such as section should not be used in content. Use non-abstract 'region' aria role instead. That role expects an aria-labelledby attribute with an id. Pass an ID to the column header. Remove the aria-label attribute on the ColumnHeader because the same value is output in plaintext as its child.
Issue #1349

* fix(aria): Remove aria-controls attribute until solution is found

Columns do not have wrappers, so these icons can't point to a column wrapper which it controls. Instead these icons function as triggers to show or hide individual columns.
#1349

* fix(typo): Remove type of aria-labelledby instead of aria-label
2017-04-22 17:30:35 +02:00
Wesley Ellis
a1174a6d7e Add og:url tags (#2298)
* add og:url to stream_item view

* add og:url and text to about/show

* add og:url to profile, followers and follows pages
2017-04-22 17:29:46 +02:00
Akihiko Odaki
5357329454 Fix TabsBar update (#2300)
This change allows to update TabsBar according to route changes.
2017-04-22 17:29:02 +02:00
Ashley
7fea36d155 Added strings for emoji category localization (#2302) 2017-04-22 17:28:36 +02:00
Quent-in
ca8ae21b52 missing a var (#2320)
oc variable is missing on the second liste
2017-04-22 15:12:09 +02:00
unarist
4428cf6f07 Fix Japanese translation of privacy disclaimer (#2315) 2017-04-22 15:10:14 +02:00
ThibG
fe43991d02 Add author/actor URI to the list of webfinger aliases (#2319)
This fixes outbound salmon requests to remote GNU Social instances
2017-04-22 15:09:49 +02:00
codl
8565ba68f7 strip leading & trailing spaces from remote follow acct (#997) (#2321) 2017-04-22 15:08:30 +02:00
Matt Jankowski
629d35e6f5 [WIP] Html lang on statuses (#2297)
* Add html lang attributes around statuses

* Remove urls from language detection
2017-04-22 04:26:25 +02:00
Matt Jankowski
67dea31b0f 2FA controller cleanup (#2296)
* Add spec coverage for settings/two_factor_auth area

* extract setup method for qr code

* Move otp required check to before action

* Merge method only used once

* Remove duplicate view

* Consolidate creation of @codes for backup

* Move settings/2fq#recovery_codes to settings/recovery_codes#create

* Rename settings/two_factor_auth#disable to #destroy

* Add coverage for the otp required path on 2fa#show

* Clean up the recovery codes list styles

* Move settings/two_factor_auth to settings/two_factor_authentication

* Reorganize the settings two factor auth area

Updated to use a flow like:

- settings/two_factor_authentication goes to a #show view which has a button
  either enable or disable 2fa on the account
- the disable button turns off the otp requirement for the user
- the enable button cycles the user secret and redirects to a confirmation page
- the confirmation page is a #new view which shows the QR code for user
- that page posts to #create which verifies the code, and creates the recovery
  codes
- that create action shares a view with a recovery codes controller which can be
  used separately to reset codes if needed
2017-04-22 04:23:17 +02:00
Ashley
6af21daac9 Allowed the emoji picker 'Search...' string to be localized (#2294) 2017-04-22 03:36:33 +02:00
Eugen
9d3be5579a Improve bio compatibility (#2278)
* Fix #1057 (close #1819) - Move HTML-formatted bio from <poco:note /> to <summary type="html" />

* Ensure <poco:note /> is plaintext for remote accounts, also, by stripping out HTML
2017-04-22 03:33:24 +02:00
Ashley
05ac28f3e4 Added API for single notification dismissal (#2251)
* Added API backend for notification dismissal

* Added render statement

* Changed statement
2017-04-22 02:30:35 +02:00
Joël Quenneville
974ac467de Add tests for StreamEntriesHelper#rtl? (#2286)
We used some random Arabic characters to test that the various RTL
conditions got triggered.
2017-04-22 00:13:37 +02:00
Rachel H
5abd543766 Put space before image (#1735) 2017-04-21 20:06:25 +02:00
Yamagishi Kazutoshi
1948f9e767 Remove deprecated features at React v15.5 (#1905)
* Remove deprecated features at React v15.5

- [x] React.PropTypes
- [x] react-addons-pure-render-mixin
- [x] react-addons-test-utils

* Uncommented out & Add browserify_rails options

* re-add react-addons-shallow

* Fix syntax error from resolve conflicts

* follow up 59a77923b3
2017-04-21 20:05:35 +02:00
Koala Yeung
935aecdc32 Add Indonesian (Bahasa Indonesia / id) translation (#2200)
* add Indonesian (Bahasa Indonesia) translation

add id.jsx
add translations on email views
add devise.id.yml
add doorkeeper.id.yml
add id.yml
add simple_form.id.yml

update id locale on mastodon.jsx, index.jsx, settings_helper.rb, and
application.rb

* add Indonesian (Bahasa Indonesia) translation

add id.jsx
add translations on email views
add devise.id.yml
add doorkeeper.id.yml
add id.yml
add simple_form.id.yml

update id locale on mastodon.jsx, index.jsx, settings_helper.rb, and
application.rb

* fix InvalidLocaleData on a string

* fix InvalidLocaleData on a string

* Fix language keys in Indonesian ruby locale (id)

Use "id" instead of "en" as object keys.

* Removed obsoleted translation (id)
2017-04-21 19:16:26 +02:00
Koala Yeung
1714f08d75 Add Ido (io) translation (#2202)
* Add Ido (io) translation

* Fix mastodon.jsx for io reference

There is no react-intl support for io. Removed the references.
2017-04-21 19:15:25 +02:00
Matt Jankowski
452dc6b5fe Use local_time gem for timezone replacement (#2174)
For the 'time ago' value of stream entry simple statuses and the timestamp value
of detailed statuses - output their UTC value and use the browser timezone to
convert locally.
2017-04-21 18:19:59 +02:00
Mingye Wang
5c9aa2b732 Fix mangling of ##tag matches (#2194) (#2247)
This commit fixes hashtag_html so it correctly handles matches with multiple hash-signs.

Bug located by @over9001, initial fix suggested by @nightpool.
2017-04-21 18:18:58 +02:00
Ash Furrow
78af88e1f4 Hides superluous details on small screens (#2175)
* Hides superluous details on small screans.

* Addressed feedback from #2175.
2017-04-21 18:17:55 +02:00
Sebastian Morr
74c474a652 Display remaining characters when editing display name and bio (#2219) 2017-04-21 18:17:21 +02:00
Takayoshi Nishida
5e33ad29d4 Fix #2195 - Set locale to error pages (#2255)
* Fix #2195 - Set locale to error pages

* Fix #2195 - Cut duplicate process into one method
2017-04-21 18:11:20 +02:00
Ram Lmn
27a99b19e8 Use local fonts and stop scrollable elements from repainting (#2266) 2017-04-21 18:09:05 +02:00
Yamagishi Kazutoshi
ceecf96208 Add crossorigin="anonymous" to about (#2272) 2017-04-21 18:06:43 +02:00
ik-fib
47a3036ea6 Add Mastodon version to user agent (#2253) 2017-04-21 17:26:23 +02:00
Yamagishi Kazutoshi
60a9b938b4 Upgrade jQuery to v2.x (#2246)
Fix #2199 and minifying assets file.

jQuery v1.x is supports legacy browsers.
But, Mastodon does not support legacy browsers.
I think jQuery v1.x is unnecessary.
2017-04-21 16:46:32 +02:00
Jérémy Benoist
b3329c362e Open authorized application in a new window (#2250)
Like it's already done when you click on an application from a toot, it's opening in a new window.
0254ee9795/app/views/stream_entries/_detailed_status.html.haml (L41)
2017-04-21 16:44:14 +02:00
Ash Furrow
a0ed88a99b Adds version to about/more and API (#2181)
* Adds version.

* Cleans up code.

* Removes standalone endpoint and adds version to instance endpoint.

* Addresses feedback from #2181.
2017-04-21 03:30:59 +02:00
May Kittens Devour Your Soul
25d2853db2 Croatian language updates & fixes (#2203)
* Update hr.jsx

* Update and rename simple.form.hr.yml to simple_form.hr.yml

fixed file name

* Update hr.yml

* Update hr.yml
2017-04-21 03:30:15 +02:00
Quent-in
1930051bde Adjustment of oc.jsx (#2214) 2017-04-21 03:30:01 +02:00
Ash Furrow
6c34eafe02 Enables the Polish translation. (#2235) 2017-04-21 03:29:11 +02:00
jeroenpraat
bbff431e3a Updated Dutch strings and added Dutch onboarding modal strings (#2243)
* A bit of more explanation

* Update nl.yml

* That's more elegant

* More consistent and adding missing translation

* Update

* Update

* Added Dutch onboarding modal strings
2017-04-21 03:29:00 +02:00
Mingye Wang
3660a321f0 zh*: minor jsx whitespace fix (#2231) 2017-04-21 03:28:45 +02:00
Yeechan Lu
e06f307c2d Fix Chinese (China) translation availability (#2230) 2017-04-21 03:28:38 +02:00
Matt Jankowski
2dda356e3f Clean up settings/preferences controller (#2237)
* Add missing fields group on preferences page

* Clean up settings/preferences controller

* Extract a UserSettingsDecorator
2017-04-21 03:26:52 +02:00
Andrey Blinov
972f6bc861 Fix Textarea height should be reset upon sending toot #2189 (#2236) 2017-04-20 23:53:54 +02:00
Shel R
d2514445e1 Repair most egregious mistakes in onboarding modal (#1964)
* Repair most egregious mistakes

The deployed changes broke the pedagogy and curriculum built into the design of the onboarding modals, which had been reviewed and approved by various other contributors. While the changed layouts of the pages make some of the original decisions impossible to re-implement without substantial work, these changes should at least make the modals not outright terrible. 

The empty confusing description of Mastodon was replaced with an actual basic explanation of federation. The language was modified to be friendly and conversational again. Grammatical errors were fixed. The explanations of local and federated timelines were re-ordered to be in the direct that the menus go, top to bottom, and the sentence was re-added which explains that they are what "public timelines" refers to (since this phrasing is used elsewhere in the UI) and suggests the user use them to discover who to follow. A figure of the profile picture that lives above the compose box was padded to page two to serve as a landmark for less technically literate users to easily find the compose box and understand that the next page is moving upwards, so that they can find the search bar. 

Ideally, the elephant artwork should be either removed or replaced with something less depressing.  Room should be made to point users at the notifications column's settings icon because "how do I turn off the notification noise" is one of the most asked questions of new users and those icons are not easily noticeable. This last part may be made obsolete if the settings UI is later re-worked.

* Change copy

This commit addresses copy change suggestions made in the PR discussion

* Add periods to ends of sentences missing periods
* Made "Home" "Federated" "Local" and "Notifications" lowercase
* Separate explanation of "connecting" and the word "instance" into two sentences, to make the sentence less dense.
2017-04-20 18:20:40 +02:00
Alda Marteau-Hardi
daa46f14c4 French translation cleanup (#2223)
* Alphabetically order translation keys

* Fix some missing gender neutral translations in french

* Add a comment to remind contributors to order translations by key
2017-04-20 17:19:05 +02:00
Matt Jankowski
1ada494bb2 Admin settings controller refactor, add specs, cleanup (#2225)
* Add render_views for admin/settings spec

* Add coverage for admin/settings#update

* Add coverage for admin/settings typecasting open_registrations setting

* Simplify how admin/settings finds the value for updating

* Rely on activerecord to not update a value that hasnt changed

* Add coverage for non-existent setting

* Use a constant for boolean settings
2017-04-20 17:18:09 +02:00
Yamagishi Kazutoshi
fdb2689a14 Fix PropTypes warning in OnboardingModal (#2191) 2017-04-20 13:22:54 +02:00
Matt Jankowski
598d3defd5 Use default locale for html lang in layouts (#2212) 2017-04-20 13:09:31 +02:00
Matt Jankowski
7f8044d913 Link to profile/feed/salmon from admin/accounts show page (#2186) 2017-04-20 04:00:02 +02:00
Eugen
cae2a26ee3 Fix #2120 - Use Status#as_tag_timeline on public hashtag page (#2182)
* Fix #2120 - Use Status#as_tag_timeline on public hashtag page

* Update tags_controller.rb
2017-04-20 03:54:02 +02:00
Eugen
2e4afccd9d Fix #2108 - Fix gif uploads (#2171)
* Fix #2108 - Fix gif uploads
Add specs for media attachment gifv conversion

* Add ffmpeg to travis

* Make travis install ffmpeg, not libav

* Switch travis to trusty
2017-04-19 23:21:00 +02:00
Darshak Parikh
43caf1fa5f Add some Spanish translatoins (#2170) 2017-04-19 22:19:41 +02:00
alpaca-tc
2c0d756ad9 Extract error messages to locale file (#2162) 2017-04-19 22:19:32 +02:00
jeroenpraat
f06cba3f60 Dutch language strings: a few important fixes (#2163) 2017-04-19 22:19:19 +02:00
György Nádudvari
09dad88853 Fixed hungarian translation (#2158) 2017-04-19 19:21:44 +02:00
Tomohiro Suwa
7832425fdd Fix css for toot button when uploading images (#2161) 2017-04-19 19:21:23 +02:00
fsubal
abe16a7026 fix broken style when follower has long description (#2159) 2017-04-19 19:20:51 +02:00
Eugen
baabbce672 Fix double-escaping of display names in <title> (#2155) 2017-04-19 17:46:24 +02:00
Eugen
1d47910d3b Fix possibility of unrightful webfinger redirect (#2147)
* Fix possibility of unrightful webfinger redirect

* Add more tests for FollowRemoteAccountService
2017-04-19 17:28:35 +02:00
Matt Jankowski
708bdd53f1 Remove unused view files in accounts/ (#2153) 2017-04-19 17:19:23 +02:00
Yamagishi Kazutoshi
2510119f19 Add meta tags for OGP to following & follow page (#2052)
* Add meta tags for OGP to following & follow page

* simplify render helper

* Follow up #2133

* og:type is only accounts/show

* revert accounts/{following,followers}
2017-04-19 17:17:32 +02:00
matsurai25
fe1ddc3b96 fix Japanese search result translation (#2149)
add 'result' mean, '件' only mean count unit.
2017-04-19 16:41:30 +02:00
Matteo Aquila
a3486e0543 Completed Italian translation (#2151)
* Added it.jsx

* Update index.jsx

* Update mastodon.jsx
2017-04-19 16:40:45 +02:00
matsurai25
30183c0a74 fix search text 'zero' (#2150) 2017-04-19 16:40:24 +02:00
geta6
15a4fc5dcc Automatically change the size of textarea (#2128) 2017-04-19 15:39:46 +02:00
Matt Jankowski
a8e1afc30a Simplify render in controllers (#2144) 2017-04-19 15:37:42 +02:00
Eugen
bfbc2ca0d8 Attachment list for uncached attachments (#2110)
* For undownloaded attachments, set type :unknown, display them as a list in the web UI

* Fix case when attachment type is set explicitly
2017-04-19 15:37:18 +02:00
alpaca-tc
5ce8a1811a Replace User.count -> User.confirmed.count (#2127) 2017-04-19 14:58:27 +02:00
Yamagishi Kazutoshi
dca0ffa1a1 Remove unnecessary word from Japanese locale (#2143) 2017-04-19 14:54:47 +02:00
abcang
70891a99a9 Fix html escape characters in the URL (#2138)
* fix character escaping in URL

* add tests

* put a comma after the last item

* add HTML escape test
2017-04-19 14:52:18 +02:00
857b
3572f4423f enable to scroll the setting's page sidebar (#1347)
* enable to scroll the setting's page sidebar

add scroll:auto and use margin instead of padding for the bottom

* Update admin.scss

* Update admin.scss

* Update admin.scss
2017-04-19 14:30:23 +02:00
Isabelle Knott
97012487ed Do not show link preview card if toot has a spoiler (#1617)
* Do not show link preview card if toot has a spoiler

* == to ===
2017-04-19 14:28:00 +02:00
Ash Furrow
9a7ea7c870 Moves from hamburger icon to asterisk. (#2116) 2017-04-19 14:21:14 +02:00
chrolis
1ac41c873a Improve visibility of mute, block, report menu in Japanese (#2131) 2017-04-19 14:21:00 +02:00
Misty De Meo
2bb54d5c57 Update title text for "reply all" button (#2118) 2017-04-19 14:20:04 +02:00
Matt Jankowski
8bac0350d1 Restful refactor of accounts/ routes (#2133)
* Add routing specs for accounts followers and following actions

* Use more restful route naming for public account follow pages

Moves two actions:
- accounts#followers to accounts/follower_accounts#index
- accounts#following to accounts/following_accounts#index

Adds routing spec to ensure prior URLs are preserved.
2017-04-19 13:52:37 +02:00
Kota Ouchi
c0b30c56db Update ja.yml (follow for #2118) (#2137)
* Update ja.yml (follow for #2118)

* typo fix
2017-04-19 13:44:07 +02:00
Eugen
c6a4ab3b92 Remove unused fonts (#2103) 2017-04-18 23:34:50 +02:00
Eugen
e09ab2c0bd Fix #1642, fix #1912 - Dictate content-type file extension (#2078)
* Fix #1642, fix #1912 - Previous change (#1718) did not modify how original file was saved on upload

* Fix for when file is missing
2017-04-18 23:15:44 +02:00
Matt Jankowski
297c11dba2 Language detection refactor (#2099)
* Extract detect_language to separate class

* Use default locale, not just en

* Add spec to confirm that whatlanguage cant identify empty string

* Allow account locale to override default in language detector

* PostStatusService supplies an account to detect language
2017-04-18 22:20:12 +02:00
happycoloredbanana
0a7588282a Remove API authentication for public statuses (after review) (#1919) 2017-04-18 21:58:57 +02:00
Mingye Wang
3ed219f907 Polish zh-cn js translation (#2090)
* Polish zh-cn js translation

* fixes for problems pointed out by gumblex in #2044
* more effectively differentiate between following/follower

* Fix missing period (zh-cn js)

Maybe squash this commit?

* Fix duplicate word (zh-cn js)
2017-04-18 21:29:31 +02:00
Matt Jankowski
55e1503522 Instances list in admin (#2095)
* Add admin/instances index action

* Add link to instances admin page

* View lists instances

* Instances, grouped by domain, ordered by count

* Use Account.remote scope

* Extract method: Account.by_domain_accounts
2017-04-18 21:09:07 +02:00
Matt Jankowski
66d8f99a30 Admin reports with accounts (#2092)
* Add a ReportFilter class

* Add reports and targeted_reports relationships to Account

* Use ReportFilter from admin/reports controller

* Link to admin/reports filtered views from admin account show view

* Add indexes to reports.account_id and reports.target_account_id
2017-04-18 19:36:18 +02:00
Tomohiro Suwa
f23281e31e Disable toot button when above 500 characters (#2088)
* Disable toot button when above 500 characters

* Consider multibyte characters

* Consider spoiler_text
2017-04-18 19:35:55 +02:00
spf
9783d8b6c0 fix admin input display (#1633) 2017-04-18 17:25:44 +02:00
JP DeVries
7525971561 Moving aria-label to div.column (#1769)
* Use landmark regions on columns

Closes mastodon#1720

* Moving aria-label to div.column
2017-04-18 17:21:25 +02:00
Matt Jankowski
84b5fae8e3 Simplify renders in views (#2084)
* Simplify render in mailer views

* Simplify render in about/more view

* Simplify render in accounts follow views

* Simplify render in recovery code views

* Simplify render in stream entry embed

* Simplify render in stream entries status partial

* Simplify render in authorize follow new view
2017-04-18 17:15:30 +02:00
ik-fib
23ecc681c4 Add "Mastodon" to user agent (#2073)
Remove non-const version string

Freeze option is unnecessary
2017-04-18 16:04:13 +02:00
Keiji, Yoshimi
82bbf57e7a Translate onboarding dialog to japanese (#2062)
* translate onboarding modal to japanese

* fixed translation by feedback
2017-04-18 16:03:27 +02:00
839
e2a1b574ab Avoid dynamic methods due to processing speed (#2080) 2017-04-18 15:57:46 +02:00
Andrey Blinov
880590ad0d Fix header icons in navigation bar (#2081) 2017-04-18 15:57:16 +02:00
Koala Yeung
0a1b024600 Add Occitan (oc) translation (#2077)
* Added oc.yml

* Added `config/locales/oc.yml`.
  Translated in General Occitan (Quent-in).

* Added oc.jsx (Occitan translation)

* Written in General Occitan (lengadocian)
* Added `app/assets/javascripts/components/locales/oc.js`

* Added doorkeeper.oc.yml

* Added `config/locales/doorkeeper.oc.yml` (Quent-in)

* Added simple_form.oc.yml

* Added `config/locales/simple_form.oc.yml` (Quent-in).

* Merge en.yml changes into oc.yml

Added new strings for translations

* Fix typo in oc.yml

* Update javascript locale support (oc)

* Update ruby locale list (oc)

* Fix oc.yml

* Remove obsoleted translations
* Moved old translation of `reports` to `admin.reports`
2017-04-18 15:21:16 +02:00
Ratmir Karabut
50ed72767d Update Russian translation (#1967)
* Add Russian translation (ru)

* Fix a missing comma

* Fix the wording for better consistency

* Update Russian translation

* Arrange Russian setting alphabetically

* Fix syntax error

* Update Russian translation

* Fix formatting error

* Update Russian translation

* Update Russian translation

* Update ru.jsx

* Fix syntax error

* Remove two_factor_auth.warning (appears obsolete)

* Add missing strings in ru.yml

A lot of new strings translated, especially for the newly added admin section

* Fix translation consistency
2017-04-18 15:20:37 +02:00
geta6
75910abd8f Add hasMore field to account timeline (#2066) 2017-04-18 13:10:49 +02:00
Eugen Rochko
42d54dc9ea Adjust visuals of non-autoplaying GIFV 2017-04-18 01:57:50 +02:00
Eugen Rochko
57d784f1e4 Merge branch 'pause-gif' of git://github.com/patf/mastodon into patf-pause-gif 2017-04-18 01:25:50 +02:00
Matt Jankowski
16d50f60d1 Remove unused methods (#1730)
* Remove unused method #set_counters_maps from api controller

* Remove unused method #set_account_counters_maps from api controller

* Remove unused method Account#followers_domains

* Remove unused User.prolific scope

* Add mastodon:users:admins task to list all admin emails

* Use interpolated query style in Account.triadic_closures

* Coverage for Account.triadic_closures
2017-04-18 01:21:55 +02:00
Eugen Rochko
f5cd0b4956 Rename cache key to exclude_account_ids_for:id, adjust formatting 2017-04-18 01:14:02 +02:00
Eugen Rochko
2fd0473aa1 Merge branch 'fix/cache_blocking' of git://github.com/pixiv/mastodon into pixiv-fix/cache_blocking 2017-04-18 01:09:57 +02:00
Damien Erambert
9cefb5731d Add FR locales to the onboarding modal (#1976)
* Add FR locale for the onboarding modal component

* Slightly increase the max-width and max-height of the onboarding modal

This is done so it doesn't break with locales whose strings would be
too long

* Update FR locales for onboarding upon PR comments
2017-04-18 01:02:02 +02:00
Mingye Wang
00a85f31ca Add simplified Chinese js translation (#2044)
This single-file commit, heavily based on the zh-hk version as of
ec9999c, fixes the missing js locale. Intentional, significant
departures from current zh-cn yml localizations have been marked with
rationales given.
2017-04-18 01:01:32 +02:00
Matt Jankowski
389f8f8249 Instance helper to replace site title helper (#2038)
* Move site title helper to instance helper (name change only)

* Remove newline in <title> tag

* Add site_hostname helper method to wrap up local_domain value

* Use site_hostname helper in places that need local_domain value
2017-04-18 00:16:32 +02:00
jeroenpraat
e1e15adf1d Updated, improved and fixed Dutch language strings (#2030)
* Fixed some words

* Improved and more consistent

* Fixes and a bit less 'je'

* Improved and more consistent

* Another round of improvements and consistency

* More improvements and less 'je'

* Update

* Updated with admin strings

* More improvements and additions - not complete yet, but most is there

* This is what we call in Dutch 'the English disease' :-)

* fix comma

* admin.reportsi

* not needed

* hopefully now fixed
2017-04-18 00:16:03 +02:00
Matt Jankowski
f96f8d0176 Use .presence instead of ternary on site description for og: content (#2033) 2017-04-17 23:19:45 +02:00
Sam Hewitt
a05e7582e4 optimized logo (#2020)
- adjusted elements to fit the pixel grid for better scaling
- optimized the PNG asset and the SVG asset
2017-04-17 21:49:51 +02:00
Andrey Blinov
7d1e653ec1 Fix import pt_br locale in mastodon.jsx (#2011) 2017-04-17 21:01:42 +02:00
Zac Anger
7b397b1452 Return early from submit if no text. (#1962) 2017-04-17 20:30:38 +02:00
Matt Jankowski
cc1361c149 Media controller specs (#2022)
* Add spec for media controller

* Add MediaAttachment.attached scope

* Simplify methods in media controller
2017-04-17 20:02:00 +02:00
Eugen
15ec4ae07b Fix #1972, fix #1870 - Fix special characters in XML, add tests (#1988)
Also improve efficiency of the mastodon:maintenance:add_static_avatars task
2017-04-17 19:58:54 +02:00
Eugen
e43071a2f9 Fix #1897 - Return reblogged: false on unreblog (was wrongly named variable) (#1989) 2017-04-17 19:58:38 +02:00
Matt Jankowski
21a767dcfa Improve handling of HTTP_ACCEPT for webfinger (#2008)
This change includes:

- Improve the spec coverage for incoming request to the webfinger action
- For requests without an accept header (ie, what a browser might look like),
  return a JSON response.
- For requests with an explicit format of xml or json, return that format.
- For requests using an accept header, return that format.

Also adds failing spec showing webfinger does not return xml, which covers the
issue described in: https://github.com/tootsuite/mastodon/issues/1983
2017-04-17 19:58:03 +02:00
Tomohiro Suwa
3399dd7a66 Fix nil query_username (#2013) 2017-04-17 19:57:02 +02:00
alpaca-tc
630de52fdd Required foreign keys (#2003)
* Add `required: true` option to foreign column

* Fixes NoMethodError

```
> Favourite.new.valid?
NoMethodError: undefined method `reblog?' for nil:NilClass
```
2017-04-17 15:54:33 +02:00
Christophe Gesché
4082e1ac7f Update fr.jsx "clear" (Nettoyer peut-être ambigu) (#1987)
Un utiliser mal expérimenté pourrait comprendre "retirer les erreurs".
Ici il s'agit d'une suppression pure et simple, pas une épuration/nettoyage.

clear would be translated "remove" instead of "cleaning" Cleaning can be unterstood "keep but clean"
2017-04-17 15:15:14 +02:00
tom
6b8e95ea00 Make contents of boost confirmation dialog scroll (#1710)
This is necessary for boosting long posts on small screens - see this post for video: https://slime.global/@masklayer/102308
2017-04-17 12:27:19 +02:00
Patrick Figel
ffb99325ca Add gif auto-play/pause preference
This introduces a new per-user preference called
"Auto-play animated GIFs", which is enabled by default. When a
user disables this setting, gifs in toots become click-to-play.

Previews of animated gifs were changed to display the video play
button so that users can distinguish them from regular images.

This setting also affects account avatars in the detailed account
view, which was changed to use the same hover-to-play mechanism
that is used for animated avatars in timelines.

Fixes #1652
2017-04-17 12:14:03 +02:00
Dale Price
f3b86c1bda Add mask-icon.svg (#1572) (#1585)
* Add mask-icon (#1572)

* use updated svg logo for mask-icon
2017-04-17 10:39:54 +02:00
Hugo Gameiro
6685106daa Add Brazilian Portuguese and fix European Portuguese (#1966)
* update portuguese translation

added the missing fields and improved the translation

* pt translations fix

* improve last translation commit

* fix damn quotes

* add pt_br to index.jsx

* add pt-BR to import index.jsx

* add pt-BR to mastodon.jsx

* add pt-BR to settings_helper.rb

* add pt-BR to application.rb

* order alphabetically pt.jsx

* create pt-BR.jsx

* Create devise.pt-BR.yml

* language improvements to devise.pt.yml

* created doorkeeper.pt-BR.yml

* fixes to doorkeeper.pt.yml

* create pt-BR.yml

* improvements to pt.yml

* Create simple_form.pt-BR.yml

* Improvements to simple_form.pt.yml

* improvements to pt.yml
2017-04-17 10:38:27 +02:00
May Kittens Devour Your Soul
8ad6722eea Create hr.jsx (#1945)
* Create hr.jsx

Start of Croatian translation

* Update settings_helper.rb

* Update application.rb

* Update application.rb

* Update index.jsx
2017-04-17 10:38:13 +02:00
Yuki Nakagawa
548ff54714 Optimize user setting page for mobile browser (#1924)
* Remove overflow because it blocks scrolling on mobile safari.

* Add “-webkit-overflow-scrolling: touch;” to enable smooth scroll on mobile safari and other webkit browsers.

* Use radio buttons in user setting page.

Because select tags with long text are not fit in the width of mobile devices.

* Add flex property to fit labels to devise width.

* Change font size of select.

It causes auto zooming on mobile safari.
2017-04-17 10:37:00 +02:00
Yamagishi Kazutoshi
6afe70db95 Add human locales for zh-tw (#1984) 2017-04-17 10:35:06 +02:00
usagi-f
b87a08e160 Add function color remaining text (#1980) 2017-04-17 10:34:33 +02:00
anon
f8ae12909c Fix tiny typo, and added link to terms and conditions in confirmation email for Japanese. (#1975) (#1975) 2017-04-17 10:32:09 +02:00
saturday06
d87ee1167e Assign user locale on signup (#1982) 2017-04-17 10:29:08 +02:00
Keiji, Yoshimi
7a5086729a reduce unneed query when post without attachements. (#1907)
* reduce unneed query when post without attachements.

This commit reduce following query:

```
 MediaAttachment Load (0.9ms)  SELECT "media_attachments".* FROM "media_attachments" WHERE "media_attachments"."status
_id" IS NULL AND 1=0 ORDER BY id asc
```

* fixed for more simple changes.
2017-04-17 04:23:13 +02:00
Eugen
1955a3f444 Do not display "reset password" in admin UI for remote accounts (#1960) 2017-04-16 23:15:58 +02:00
Eugen
8ebed7fc68 Fix #1957 - WhatLanguage can return null. Fallback to 'en' (#1959) 2017-04-16 23:12:19 +02:00
Eugen
f902a335f9 Fix #1870 - Strip control characters out of strings in AtomSerializer (#1876)
* Fix #1870 - Strip control characters out of strings in AtomSerializer

* Adjust according to comment by @alpaca-tc
2017-04-16 20:32:27 +02:00
Eugen
e4af4898de Add language detection (#1772)
* Add language detection via WhatLanguage and (de)serialization of it through Atom

* Fix default language in ProcessFeedService

* Re-add newline before 'react-rails' Gem to fix groupings

Fixes Code Climate issue
2017-04-16 20:32:17 +02:00
Eugen
6d70a80263 Onboarding modal (#1883)
* Basic onboarding modal that's shown to users once

* Lay out pages 2 through 5, add images, style modals (#1509)

* Lay out pages 2 through 5

Added images and laid out pages 2 through 5 in the jsx file. SCSS will
come, still working on just seeing if this works at all.

* Fix jsx errors, add images to modal pages, style modal pages

* Add animations to onboarding pager changes, improve wording and styling

* Finishing touches on the onboarding

* Add missing propTypes

* Update wording
2017-04-16 20:32:00 +02:00
Matt Jankowski
f87b51fda8 I18n health warnings (#1949)
* Rename admin.domain_block to admin.domain_blocks in prep for i18n improvement

* Use implicit controller/action path for i18n in admin/domain_blocks

* Add DomainBlock#accounts has_many

* Avoid i18n health warning for `en` locale by using symbol scope with :count

* Remove unused i18n key: plaintext_secret_html

* Remove unused i18n key two_factor_auth.warning

* Remove final will_paginate i18n keys

* Remove unused key two_factor_auth.recovery_codes

* Remove unused key: admin.reports.comment.none

* Remove unused reports. i18n namespace (moved to admin.reports)

* Ignore keys from locales which override activemodel and activerecord errors

* Revert "Remove unused key: admin.reports.comment.none"

This reverts commit 350ef2685fadc069e619bb6d1066190de195d942.

* Update i18n key reference to match moved location

* Add missing `en` keys to i18n

* Tell i18n-tasks to ignore missing attributes that dont need overwriting

* Add i18n-tasks unused to travis
2017-04-16 19:37:01 +02:00
alpaca-tc
19f63ff801 Check @recipient.user at the first (#1939) 2017-04-16 18:04:05 +02:00
Eugen
babbb2135e Fix #1813 - Alleviate extra requests when processing mentions (#1938)
The <link rel="mentioned" /> tag refers to accounts by href. So we were
matching the DB by the url attribute, and falling back to HTTP look-up.
However, GS and Mastodon use profile URLs as URIs, too, and the match
for that was missing. This could potentially alleviate some extra network
requests
2017-04-16 18:01:48 +02:00
Effy Elden
acd33101c5 Merge branch 'master' into fix/cache_blocking 2017-04-17 01:41:33 +10:00
Matt Jankowski
e0b5a94a4b Clean up check that account needs a webfinger update (#1932) 2017-04-16 16:38:29 +02:00
Matt Jankowski
26ec042f38 Remove trailing whitespace in terms.no.html (#1933) 2017-04-16 16:38:13 +02:00
Matt Jankowski
73b0af5c93 Simplify the og:image and og:description code in stream_entries/show (#1934) 2017-04-16 16:38:02 +02:00
Matt Jankowski
7efde22c3a Use local vars in partials (#1935)
* Use local vars in accounts/header partial

* Use local variable in 2fa recovery codes partial
2017-04-16 16:37:49 +02:00
abcang
90760eae4c fix regex filter (#1845)
* fix regex filter

* fixed br to linebreak and, stlip tags.

* change to send raw content

* changed to unescape in reducer
2017-04-16 16:33:38 +02:00
tackeyy
fc34e0e191 Remove .keep in models (#1892) 2017-04-16 16:28:52 +02:00
alpaca-tc
de72db99fa Add presence validation to Import (#1928)
```
*An* `ActiveRecord::StatementInvalid` *occurred while* `POST </settings/import>` *was processed by* `imports#create`
Exception
----------------
PG::NotNullViolation: ERROR:  null value in column "type" violates not-null constraint
```
2017-04-16 16:28:26 +02:00
mshrtkch
2c329f2b69 Fix translation related to "mute" (#1926) 2017-04-16 16:07:58 +02:00
alpaca-tc
8f8319852c Fixed NoMethodError in UnfollowService (#1918) 2017-04-16 14:55:43 +02:00
Matt Jankowski
75f416a492 Fix yaml issue in ja locale (#1916)
* Fix yaml parse issue in ja.yml locale

* Fix issue in locales/ja.jsx
2017-04-16 14:55:04 +02:00
Naouak
24baaa17e8 Syntax error in japanese localisation (#1920)
assets:precompile was failling because of this missing comma.
2017-04-16 14:54:09 +02:00
Erwan Leboucher
c99fc08a0d Add missing french translation. (#1906)
* Add missing french translation.

Causing this error:
[React Intl] Missing message: "navigation_bar.mutes" for locale: "fr",

* Update fr.jsx
2017-04-16 14:15:03 +02:00
Yuki Nakagawa
a8f45c0838 Enlarge font size to avoid autozooming of iPhone. (#1911) 2017-04-16 14:05:16 +02:00
新都心(Neet Shin)
f2997c9715 Update Japanese Translate (#1903)
* [Update ja.jsx] Add Muted, Video_error and sorted

* [Update ja] Added Recovery code's translation

* [Update ja] Added Two-fact/Recovery's translation

* Update ja.jsx
2017-04-16 13:42:16 +02:00
Eugen
5d710b1139 Make file attachment on MediaAttachment optional (#1865)
Create MediaAttachment but without actual file download when domain is blocked with reject_media set to true
Clean up old media files when creating a new domain block with reject_media set to true
Return remote_url in media attachments API if local file is not present
Undo domain block action in admin UI
Ability to enable reject_media from admin UI
2017-04-16 12:51:30 +02:00
Keiji Yoshimi
fd81916e86 cache blockings for reducing queries. 2017-04-16 12:20:38 +09:00
Eugen
8a58942c80 Fix up recovery codes design a little (#1866) 2017-04-16 04:32:57 +02:00
Matt Jankowski
3834e1e69b View spec fix (#1888)
* Add option to disable verify partial doubles

* Add show_landing_strip? helper method

* Use show_landing_strip? helper in accounts and stream entries views

* Fix naming in view specs
2017-04-16 03:40:33 +02:00
Eugen
95bcbaa434 Fix #1852 - Ensure feeds have valid <title> tags (#1875) 2017-04-16 02:40:36 +02:00
Isabelle Knott
911338bdcc Show error message if video cannot be loaded (#1879) 2017-04-16 01:12:47 +02:00
Eugen
e332552816 Indicate when a toot is part of a chain with a "reply all" icon (#1869) 2017-04-15 22:48:41 +02:00
Eugen
0d83569899 Fix cross-origin integrity (#1871)
See <https://glitch.social/users/bea/updates/434>
2017-04-15 22:48:30 +02:00
Eugen
515434ed87 English localization for mention notification was missing (#1867) 2017-04-15 22:48:17 +02:00
Naouak
3d3e32befb Check for a custom css file to help customization of instances (#1368)
* User can create a custom.scss to customize their instance without modifying gitted files.

* Add documentation for customization.

* Forgot the helper file

* Fix Style to pass codeclimate

* Requests from maintainer.
2017-04-15 22:47:48 +02:00
alpaca-tc
00392d3c63 ActiveRecord::NotFound is not defined (#1864) 2017-04-15 21:17:59 +02:00
Marcin Cieślak
1c8477eab2 Give SINGLE_USER a chance to register (#1820)
An attempt to open a brand new Mastodon instance configured
as SINGLE_USER_MODE=true will cause an exception.

Enable temporary registration if we have no users in the database

Fixes #1817
2017-04-15 16:46:27 +02:00
Matt Jankowski
6670e6d33f Add password reset for users from admin accounts area (#1841) 2017-04-15 16:44:59 +02:00
Henry Smith
9d2f55ecc3 Remove isRequired from optional prop (#1843) 2017-04-15 16:44:28 +02:00
Henry Smith
b7ec2fd492 Fix function call name typo (#1851) 2017-04-15 16:41:22 +02:00
Matt Jankowski
3b8908c114 About page contact email (#1839)
* Correct site_contact_email typo

* Separate about more page into partials, add specs
2017-04-15 13:33:25 +02:00
Alex Dunn
0f889523e4 views/about: use Setting.site_title instead of hardcoding (#1508) 2017-04-15 13:28:09 +02:00
Zac Anger
f4045ba3d9 Add eslint-plugin-jsx-a11y (#1651)
* Add eslint-plugin-jsx-a11y.

* Fix npm script.

* Adjust npm scripts so test also runs lint.

* Fix existing lint errors.

* Don't break on a11y issues.

* Add role and tabIndex.

* Add vim and Mac files to .gitignore and .dockerignore.

* Handle htmlFor (partially), a that's actually a button.

* Fix missing tabIndex.

* Add cursor:pointer to load-more

* Revert change to load_more.

* Fixes based on review.

* Update yarn.lock.

* Don't try to install fsevents on Linux (hides warning noise).
2017-04-15 13:27:27 +02:00
Patrick Figel
df4ff9a8e1 Add recovery code support for two-factor auth (#1773)
* Add recovery code support for two-factor auth

When users enable two-factor auth, the app now generates ten
single-use recovery codes. Users are encouraged to print the codes
and store them in a safe place.

The two-factor prompt during login now accepts both OTP codes and
recovery codes.

The two-factor settings UI allows users to regenerated lost
recovery codes. Users who have set up two-factor auth prior to
this feature being added can use it to generate recovery codes
for the first time.

Fixes #563 and fixes #987

* Set OTP_SECRET in test enviroment

* add missing .html to view file names
2017-04-15 13:26:03 +02:00
Amakasu Ryoma
f0f6a3279a Update ja.jsx (#1822)
* Add getting_started.apps
* Add search_results.total
* Fix notifications.settings
2017-04-15 13:24:33 +02:00
Alda Marteau-Hardi
bddd36f260 Add a classname to the loading bar (#1826) 2017-04-15 13:17:54 +02:00
Keiji, Yoshimi
b857551617 fixed privacy mistake of japanese translation of privacy.change (#1832) 2017-04-15 13:17:20 +02:00
alpaca-tc
f9d7ec8971 ActiveRecord::Relation does not respond to #id (#1834) 2017-04-15 13:16:24 +02:00
Matt Jankowski
40fd1de488 Account search service refactor (#1791)
* Begin coverage for account search service

* Coverage for hashtag query

* Coverage for calling local vs remote find based on domain presence

* Spec to check that exact matches are not duped

* Coverage of resolve option

* Coverage for account being provided

* Start to refactor account search service

* Isolate query username and domain methods

* Isolate exact_match method

* Extract methods for local and remote results

* Simplify local vs remote and account isoliation

* Extract methods for local and remote results

* Simplify de-dupe of exact match

* Simplify logic to check for non exact remotes

* Cache some methods

* Remove nil from exact_match from results array

* Return exact matches first

* Use find_remote even with no domain

Account.find_local is just an alias for Account.find_remote(user, nil) - so we
can not bother with the conditional here, and call find_remote directly.
2017-04-15 03:17:07 +02:00
ThibG
31f0bcf804 Refresh webfinger (#1323)
* Refresh local info for remote accounts when webfinger returns new values

It only refreshes account info if one of the URLs or the public-key changes,
in which cases it refreshes the full info, re-downloading the feeds from that
user.

Some special handling should probably be done when the public key changes,
but I have been unable to find any use for it in Mastodon yet.

* Re-fetch remote users we aren't subscribed to.

This might induce performance issues, we might want to only do that for users
we explicitly attempted to subscribe but failed to.

* Refactor changes

* Do not refresh existing remote account details more than once a day

* Avoid re-fetching webfinger info in tests unless otherwise specified
2017-04-15 03:16:05 +02:00
Matt Jankowski
09540192c9 Rename admin/accounts_helper to admin/filter_helper (#1816)
- Add some spec coverage for both methods
- Add explicit constant call-outs for where the params are from
2017-04-15 03:09:55 +02:00
Koala Yeung
08059ddda9 jslint: fix jslint warnings (#1704)
* jslint: remove trailing space

* jslint: fix no-nested-ternary issue

Follow the jslint [no-nested-ternary](http://eslint.org/docs/rules/no-nested-ternary)
rule. Rewritten ternary with if-then.
2017-04-15 02:57:26 +02:00
Koala Yeung
ec9999cdfe Update Traditional Chinese, HK (zh-HK) translation (#1759)
* Fix missing string in javascript locale (zh-HK)

* Change javascript locale (zh-HK)

* Fix some other strings that were still English.
* Improve `search.status_by`.
* Fix `notification.follow`. ("開始開始你")
* Changes according to user feedback.
  * "Back": "較前顯示" -> "返回"
  * "Home": "家" -> "主頁"

* Update ruby locale (zh-HK)

* Fix missing translation
* Normalize yml
* Update translation strings
2017-04-15 02:48:30 +02:00
Fjoerfoks
4ba6acd518 Update nl.jxs (#1766)
Some rewording and switching to infinitive localization.
2017-04-15 02:44:33 +02:00
Ratmir Karabut
5d8d827436 Update Russian translation (#1733)
* Add Russian translation (ru)

* Fix a missing comma

* Fix the wording for better consistency

* Update Russian translation

* Arrange Russian setting alphabetically

* Fix syntax error

* Update Russian translation

* Fix formatting error
2017-04-15 02:43:51 +02:00
Matt Jankowski
cde1f37d93 Use site title on tags#show page (#1802) 2017-04-15 02:37:20 +02:00
Thor Harald Johansen
4bebeb27d3 More Norwegian translations (#1805)
* Working translation for Norwegian.

* Fixes to Norwegian translation.

* Further adjustments to Norwegian translation.

* Further adjustments to Norwegian translation.

* Yet more improvements to the Norwegian translation.

* More Norwegian translations. Better terminology.
2017-04-15 02:33:37 +02:00
Joachim Viide
ef879a8839 Send initial state in a <script type="application/json"> tag (#1806) 2017-04-15 02:32:42 +02:00
Alex Dunn
0655f16cc1 [css] reduce spacing between text elements on about pages (#1510) 2017-04-15 02:29:32 +02:00
ThibG
a9529d3b4b Allow running mastodon on a different domain as the one used for identifying users (#1267)
* Allow running mastodon on a different domain as the one used for identifying users

* Alter documentation of WEB_DOMAIN to make clear it shouldn't be used unless the admin knows what they are doing

* Compare to web_domain instead of local_domain when dealing with feeds/API

* Correctly identify mentions to local accounts

Mentions URLs point to the person's web profile, i.e., the user page served on WEB_DOMAIN.
2017-04-15 02:15:46 +02:00
Patrick Figel
fe8dd58bc1 Add list of muted user to UI and Getting Started (#1799)
Add the same UI that already exists for blocked users for muted
ones and add it to the "Getting Started" menu.
2017-04-15 01:23:49 +02:00
Matt Jankowski
f5cd138323 Improve i18n chooser (#1804)
* Add locale spec with failing locale plus region check

* Use a more accurate locale when supplied by browser headers

Previously we were using a matching option which would use the first locale
available which matched the locale portion, even if a region was specified.

This changes to first try to find an exact match, and then fall back to the
region, and then fall back to the  default.

* Clean up default_locale method
2017-04-15 01:12:39 +02:00
Luc Didry
fa89deb4eb Add title attribute to URLs in statuses (#1755)
Since URLs in statuses are truncated, it would be pleasant to see the
full URL when hovering the URL (like on twitter, yes).
2017-04-14 13:22:56 +02:00
Matt Jankowski
26a892dd90 Fix invalid byte sequence issue in nl.jsx (#1751) 2017-04-14 13:00:03 +02:00
Effy Elden
8321884eef Change usage of gsub to delete, as per Code Climate/Rubocop recommendation (#1753) 2017-04-14 12:50:00 +02:00
西小倉宏信
290e8ef854 Remove .keep in models (#1748) 2017-04-14 12:43:29 +02:00
JP DeVries
1467515d3d Use landmark regions on columns (#1732)
Closes mastodon#1720
2017-04-14 11:12:59 +02:00
Matt Jankowski
8b74aa4217 Admin reports controller improvements (#1714)
* Simplify admin/reports controller filtering for index

* Rename parameter to resolved

* Fix issue where reports view could not access filter_link_to

* Add coverage for admin/reports controller

* DRY up resolution of related reports for target account

* Clean up admin/reports routes

* Add Report#statuses method

* DRY up current account action taken params

* Rubocop styles
2017-04-14 11:10:28 +02:00
maxypy
a6807201d2 Implementing Subresource Integrity (#1729)
* Add sprockets-rails to Gemfile

* Add sprockets-rails to Gemfile.lock

* Update show.html.haml

* Update index.html.haml

* Update admin.html.haml

* Update auth.html.haml

* Update embedded.html.haml

* Update public.html.haml
2017-04-14 11:09:20 +02:00
Eugen Rochko
41c697fd81 Merge branch 'master' of git://github.com/matteoaquila/mastodon into matteoaquila-master 2017-04-13 22:25:07 +02:00
Eugen
c5afe573da Fix drag & drop overlay not appearing on firefox (#1721) 2017-04-13 22:21:34 +02:00
Thomas Citharel
c0c56db0fa Translate admin (#1702)
* Translate the domain_block panel

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

* Translate PubSubHubbub section

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

* translate account section and correct typos

* move reports translation & translate sidebar

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

* normalize l18n
2017-04-13 21:49:07 +02:00
Alyssa Ross
55b56e3f95 terms: remove redundant words (#1578)
"at least X" and "X or older" have identical meanings.
Using both together feels a little jarring.
2017-04-13 19:50:19 +02:00
R Tucker
c4d39b1b3d quick typo fix in en.jsx: Rejec -> Reject (#1701) 2017-04-13 19:37:04 +02:00
Eugen
ac54da9394 Fix #1220, fix #1671 - Hook up comment box to the Redux comment value (#1699)
Fix username styling regression introduced in #1063
Fix report screen background regression introduced in #1415
2017-04-13 19:36:41 +02:00
Eugen
043862f411 Fix #1609, fix #1628 - Revert #1397 (#1700)
When transmitting data in a HTML-encoded element like <content type="html" />,
relying on newlines being preserved is not wise, since HTML by itself
does not care for newlines - it cares for <p> and <br>

Additional fix: reset NSFW toggle after sending toot
2017-04-13 19:23:36 +02:00
INAGAKI Hiroshi
5619099564 translation: Fix comment out issue in en.jsx (#1698) 2017-04-13 17:11:18 +02:00
Koala Yeung
ce80d0b0a9 Fix minor jslint issue (#1697)
* Undefined propType in react component `ColumnSettings`.
  Add proper PropTypes definition.
2017-04-13 17:10:48 +02:00
Eugen Rochko
5f8155482a Add overlay style to buttons, continue video after expanding it 2017-04-13 17:01:09 +02:00
Matteo Aquila
efcf9448da Update settings_helper.rb 2017-04-13 16:16:39 +02:00
Eugen Rochko
e70b84b1dc Merge branch 'videolightbox' of git://github.com/blackle/mastodon into blackle-videolightbox 2017-04-13 16:14:11 +02:00
Rachel H
9362700137 Convert emoji shortnames when sending status (#1666) 2017-04-13 16:03:45 +02:00
Koala Yeung
1206627c59 Add Dutch translation (nl) (#1682)
* Dutch language files for Ruby code

 * Created RoR translation ymls:
   * config/locales/devise.nl.yml
   * config/locales/doorkeeper.nl.yml
   * config/locales/nl.yml
   * config/locales/simple_form.nl.yml

 * Modified RoR config and helper
   * app/helpers/settings_helper.rb
   * config/application.rb

* Dutch language javascript locale

 * Created javascript locale files:
   * app/assets/javascripts/components/locales/index.jsx
   * app/assets/javascripts/components/locales/nl.jsx

 * Reference the newly created locale files:
   * app/assets/javascripts/components/containers/mastodon.jsx

* Fix syntax error in locale file (nl)

* Fix missing translate in js locale (nl)

* Convert all ruby Dutch locale (nl) file to utf8

Fix yml conversion issues.

* Fix duplicated key in devise.nl.yml

* Fix indentation error in doorkeeper.nl.yml
2017-04-13 16:02:23 +02:00
Isabelle Knott
edefcfcf42 Fix issue where 'sensitive content click to show' item takes up whole screen on public view (#1692) 2017-04-13 16:00:56 +02:00
Matt Jankowski
b330d1f000 Organize coverage dirs (#1695)
* Add `Presenters` group to SimpleCov configuration

* Move validators to app/validators, add to simplecov config
2017-04-13 16:00:31 +02:00
Eugen
1a5a54eb4b Merge branch 'master' into master 2017-04-13 16:00:20 +02:00
Isabelle Knott
447b8bc44e Do not show media attachment as og:image if it was marked as NSFW (#1693) 2017-04-13 15:59:43 +02:00
Matt Jankowski
093879c177 Fix language export variables (#1689)
* Fix naming of JS locale constants

* Improve the translation instructions re: const names
2017-04-13 15:59:12 +02:00
Matteo Aquila
905a4faa1c Update settings_helper.rb 2017-04-13 15:32:31 +02:00
Matteo Aquila
5355b7d930 Update settings_helper.rb 2017-04-13 15:31:38 +02:00
blackle
00cc3066a2 Allow video to be expanded into lightbox 2017-04-13 09:09:45 -04:00
YOSHIOKA Eiichiro
a57d30c680 [l10n] ja: update missing Japanese translations (#1687) 2017-04-13 14:39:14 +02:00
Musee U
467d32fce3 [l10n] ja: update missing Japanese translations (#1684) 2017-04-13 13:40:58 +02:00
Hugo Gameiro
282bb55c3c fix Portuguese translation (#1661)
* update portuguese translation

added the missing fields and improved the translation

* pt translations fix

* improve last translation commit

* fix damn quotes
2017-04-13 13:25:34 +02:00
新都心(Neet Shin)
0e4479bb3a Update Japanese translation files (#1640)
* [l10n] ja: Improve Japanese Translations

* ja: about: Fix highlighting
* ja: Update Translations
* ja: Translate admin settings

Signed-off-by: lindwurm <lindwurm.q@gmail.com>

* Update ja.jsx

* Update doorkeeper.ja.yml

* Update ja.yml

* Update ja.jsx

* Update ja.jsx
2017-04-13 13:23:45 +02:00
Ratmir Karabut
af7e880df5 Update Russian translation (#1570)
* Add Russian translation (ru)

* Fix a missing comma

* Fix the wording for better consistency

* Update Russian translation

* Arrange Russian setting alphabetically

* Fix syntax error
2017-04-13 13:23:23 +02:00
Svetlozar Todorov
aa7bf1515c Fix #624 - Add localization for Bulgarian (#645)
* Add translation files and declarations for Bulgarian

* Add a bunch of translations to bg.jsx

* Add rest of translations to bg.jsx

* Add devise translations

* Fix devise translations
2017-04-13 13:16:28 +02:00
Daijiro Wachi
4f781b17cc Use input type number for Two-factor code (#1683) 2017-04-13 13:13:17 +02:00
Matt Jankowski
137100dcf3 Clean up well-known routes/controllers (#1649)
* Add request spec for host meta route returning xml

* Add routing spec for xrd routes

* Update well-known routes

* Move webfinger and host-meta actions to their own controllers
2017-04-13 13:09:07 +02:00
Matt Jankowski
3a9eb81a80 Admin accounts controller cleanup (#1664)
* Remove unused account_params method in admin/accounts controller

* Introduce AccountFilter to find accounts

* Use AccountFilter in admin/accounts controller

* Use more restful routes admin silence and suspension area

* Add admin/silences and admin/suspensions controllers
2017-04-13 13:04:23 +02:00
Matt Jankowski
0e39cc6a35 Settings export refactor (#1646)
* Refactor Export to take an account and know about the export types

* Use Export instance in settings/exports#show
2017-04-13 13:02:02 +02:00
Koala Yeung
faefd8ec8f Update javascript English translation files and some defaultValue (#1676)
* Reorder javascript English locale file

 * Reorder translation string in order of the locale key.

* Add javascript English locale missing language keys

 * Search all javascript language keys by command:
   `grep -REho '<FormattedMessage .*\/>' ./app/assets/javascripts/.`

 * Add all the missing language keys and their values to `en.jsx`.

* Add javascript English locale missing language keys (2)

* Find all `defineMessages` calls with this command:
  `grep -Rl 'defineMessages({.*' ./app/assets/javascripts/.`

* Open all these files. Find the language key (`id`) in these
  statements.

* Add all the missing language keys and their values to `en.jsx`.

* Remove javascript English locale obsoleted language keys

 * Find all language keys that no longer exists in the source code
  and remove them. The removed keys include:

    * "compose_form.private"
    * "compose_form.unlisted"
    * "getting_started.about_addressing"
    * "getting_started.about_shortcuts"
    * "notification.mention"
    * "search.account"
    * "search.hashtag"
    * "tabs_bar.mentions"
    * "tabs_bar.public"

* Javascript English locale file add note

 * Add notes to contributors about the English translation files.
   Hope that will make translation process smoother.

* Update javascript locale defaultValue in code

 * Update the defaultValue in code according to the relevant
   translation in English locale file.
2017-04-13 12:57:41 +02:00
Isabelle Knott
96715d9af5 Clear spoiler when replying to toot that doesn't also have a spoiler (#1662) 2017-04-13 03:17:34 +02:00
tom
af96e71883 Smoother scrolling on older iOS devices (#1654)
This may address the scrolling issues mentioned here: https://github.com/tootsuite/mastodon/issues/1622
2017-04-13 02:50:56 +02:00
Thor Harald Johansen
ccaf3dbc5a Adjustments to the Norwegian translation (#1648)
* Working translation for Norwegian.

* Fixes to Norwegian translation.

* Further adjustments to Norwegian translation.

* Further adjustments to Norwegian translation.
2017-04-13 02:17:26 +02:00
Isabelle Knott
1ea662963f Use shift+click instead of alt+click to bypass boost dialog (#1638) 2017-04-13 02:15:45 +02:00
Eugen
bd834add56 Fix visuals introduced in #1463 (#1634) 2017-04-12 20:54:49 +02:00
lindwurm
9966bd27c2 [l10n] ja: Improve Japanese Translations (#1631)
* ja: about: Fix highlighting
* ja: Update Translations
* ja: Translate admin settings

Signed-off-by: lindwurm <lindwurm.q@gmail.com>
2017-04-12 20:41:50 +02:00
Isabelle Knott
b0ab632531 Fix missing compose box when viewport width is exactly 1024px (#1632) 2017-04-12 20:40:03 +02:00
Knut Erik
e1264bbd92 Added norwegian version of terms of service and privacy policy (#1625) 2017-04-12 20:28:56 +02:00
pinfort
38e24a699b fix Japanese translation (#1623)
* add device.ja.yml

* update device.ja.yml

* add file simple_form.ja.yml

* 👍Added doorkeeper.ja.yml

* add ja.yml

* Update doorkeeper.ja.yml

fixed url to uri

* update ja.yml

* fix some translations

* fix japanese grammar of a translate

* fix some translates

* fix ja.yml

* add ja.jsx

* add Japanese user mail views

* Added japanese translate locales

* Added :ja to available_locales

こっちも

* Added "日本語" to HUMAN_LOCALES

* Imported/Added ja to addLocaleData

* update ja.jsx

* fix translations
翻訳の誤りの修正と改善

* freeの訳修正

* いいねをお気に入りに統一

* Revert "いいねをお気に入りに統一"

This reverts commit 568d5cccfa0b6620ccb6c9db8346c52c0396d99f.
間違ってtranslateブランチにコミットしたため取り消し

* Revert "freeの訳修正"

This reverts commit 565658a60583ff7e1e7a63ef597bf3ac6118e1bf.

* revertでミスったので戻す

* Revert "ミスったので戻す"

This reverts commit 00be7a748a6a2ae85a62be847172424278c52ec7, reversing
changes made to b4e1e06503c77e079cb2569a53ab4d6fcfcfd116.

* freeの訳修正

* いいねをお気に入りに統一

* 一回戻す

* 戻しきれてなかった

* 再度変更

* 戻す

* 再度変更

* 再度変更

* Update doorkeeper.ja.yml

Fixed a lot of unnatural translations

* Update ja.yml

資格情報 isn't easy to understanding. so fixed to ログイン情報.

* Update ja.yml

fixed some unnatural translations

* Update simple_form.ja.yml

Fixed wrong translate 「アカウント」 to 「アイコン画像」

* Update simple_form.ja.yml

* Update doorkeeper.ja.yml

* Revert "多くの不自然な翻訳を解消しました。"

* Update ja.jsx

fixed typo

* 文字化け修正
2017-04-12 20:19:38 +02:00
goofy-bz
9b698bf448 Update fr.jsx (#1551)
fixing to minor typos
2017-04-12 20:11:09 +02:00
Ben Roberts
0254ee9795 significant improvement in microformats markup (#1063)
* significant improvement in microformats markup

This is a huge improvement and I believe will close #965.

Had these microformats reviewed by others in the community to help
ensure they are at least correct, if not complete.

I did not want to change the structure of the page, and so there it does
not fully mark up the entire ancestry chain, or reply chain, only the
direct decendants and direct ancestors are correctly associated, but
this is likely fine as the most important bit is to have access to the
urls for those toots which are now correctly fetchable.

* improve code climate

* trying to pass code climate tests

* code climate

* fix p-summary for content warning posts

* fix error introduced when merging via github
2017-04-12 20:04:33 +02:00
karlyeurl
dab9b5bd3a locale-fr: fix typo (#1603)
In this case, the adjective applies to a feminine noun.
2017-04-12 19:54:16 +02:00
Julien Deswaef
c4baa9fb6b vector (svg) logo with correct inner shape and colors (#1362)
* vector (svg) logo with correct inner shape and colors

* minimized svg logo
2017-04-12 19:10:52 +02:00
David Libeau
c2a31b8032 Fix target blank on "open_in_web" link (#1612)
When you render the "embed" view in an iframe, this link bugs when clicked, due to missing target blank.
2017-04-12 13:09:58 -04:00
Matt Jankowski
c44a700252 Quick best practice cleanup of views/helpers (#1546)
* Remove trailing whitespace

* Use query methods instead of explicit .blank? checks
2017-04-12 18:24:18 +02:00
Matt Jankowski
aa90798386 Webfinger resource to extract username from resource string (#1607)
* Add WebfingerResource class to extract usernames

* Use WebfingerResource in xrd#webfinger
2017-04-12 18:22:38 +02:00
Rachel H
0930ce5560 Focus textarea when text is inserted (#1320)
Place space after uploaded filenames
2017-04-12 18:21:07 +02:00
Matt Jankowski
7f0a865b05 Allow import/export of mutes list (#1541)
* Allow export of mutes list

* Allow importing of mutes list

* Refactor to use Settings::Exports::BaseController and DRY up exports code
2017-04-12 18:20:44 +02:00
Carlos A. Escobar
3064ef96a1 Added missing Spanish translations strings (#1292)
* Added missing Spanish translations strings

* fix bad translation

* resolve conflict with tootsuite/master

* agreements from spanish community

* Add some missing strings
2017-04-12 17:16:40 +02:00
lindwurm
ee69ece7b5 [web] Moving docs link to tootsuite/documentation (#1581)
related: 1236529e39 and fc47c1d00e

Signed-off-by: lindwurm <lindwurm.q@gmail.com>
2017-04-12 17:13:19 +02:00
Thomas Citharel
d90d23699c Make Reporting admin section translatable (#1549)
* Make Reporting admin section translatable

And translate it into english and french

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

* Make subject of emails translatable and improve french translation

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

* Make error pages translatable and translate them in english and french

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

* Translate site setting section

* Insert instance in registration emails and improve them a bit

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-04-12 17:11:49 +02:00
Thor Harald Johansen
1f5ff46fd9 Working translation for Norwegian. (#1611) 2017-04-12 17:07:51 +02:00
Matt Jankowski
13528f50c3 Params compact deprecation warning (#1580)
* Move filter_link_to class formation to separate method in admin/accounts helper

* Remove deprecated #compact method usage on strong parameters
2017-04-12 16:12:56 +02:00
Matt Jankowski
dd1ae3b109 Simplify the way the embed view is created (#1590)
* Add coverage for embedded status view

* Refactor embed view to eliminate @external_links variable
2017-04-12 16:12:42 +02:00
Matt Jankowski
b352a8e5d4 Default to json type for webfinger requests (#1583) 2017-04-12 16:03:37 +02:00
Matt Jankowski
fd102059aa Clean up stylesheet organization (#1591) 2017-04-12 16:01:59 +02:00
Matt Jankowski
323671a653 Silence more scope order warnings (#1604) 2017-04-12 15:58:08 +02:00
Koala Yeung
24eb45425e Add Traditional Chinese, Hong Kong translation (zh-HK) (#1544)
* Added Chinese Traditional Hong Kong (zh-HK) for Ruby

* Added translations for Ruby.

* Added Chinese Traditional Hong Kong (zh-HK) for JS

* Added translations for javascript code.

* Rearrange language references in mastodon.jsx

* Break `addLocaleData` into multiple lines. Make future commit more readable.
* Roughly re-sort the languages in alphabetical orders
  (only manually put English on top because it is default).

* Sort application.rb locale with alphabetical order

With exception that English (default language) goes first.
Improve code readability.

* Resort language selection box alphabetically

Sort HUMAN_LOCALES in the alphabetical order of display name
(except English, the default language, come first).

Improve usability.
2017-04-12 08:50:50 +02:00
Eugen
8ead070b94 Improve emoji picker look (#1493)
* Improve emoji picker look

* Add hover animation to emojis in picker
2017-04-11 23:23:34 +02:00
Eugen
b22b2cbfac Fix #1491 - Fix broken notifications, broken Link header parsing for exclude_types (#1548) 2017-04-11 22:53:58 +02:00
Matt Jankowski
3ddd936b03 Refactor exports controller (#1567)
* Add basic coverage for settings/exports controller

* Remove unused @account variable from settings/exports controller

* Add coverage for download export actions

* Remove deprecated `render :text` in favor of `send_data` for csv downloads

* Add model to handle exports

* Use Export class in settings/exports controller

* Simplify settings/exports controller methods

* Move settings/export to more restful routes
2017-04-11 22:00:43 +02:00
Henry Smith
1921c5416b Fix console error when scrolling a column with no scrollable content (#1574) 2017-04-11 21:58:28 +02:00
lindwurm
fc47c1d00e [about] Moving docs link to tootsuite/documentation (#1573)
related: 1236529e39

Signed-off-by: lindwurm <lindwurm.q@gmail.com>
2017-04-11 21:57:05 +02:00
Thomas Citharel
327a6e166f Update french locale (#1525)
* Update devise.fr.yml fixing minor typos

* add missing strings

* Fix a translation and add translation for devise part

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-04-11 21:54:40 +02:00
pinfort
6f5268b02d Add Japanese translation (#1552)
* add device.ja.yml

* update device.ja.yml

* add file simple_form.ja.yml

* 👍Added doorkeeper.ja.yml

* add ja.yml

* Update doorkeeper.ja.yml

fixed url to uri

* update ja.yml

* fix some translations

* fix japanese grammar of a translate

* fix some translates

* fix ja.yml

* add ja.jsx

* add Japanese user mail views

* Added japanese translate locales

* Added :ja to available_locales

こっちも

* Added "日本語" to HUMAN_LOCALES

* Imported/Added ja to addLocaleData

* update ja.jsx
2017-04-11 21:52:09 +02:00
Matt Jankowski
89e8e110c8 Imports controller errors (#1553)
* Add spec for settings/imports controller

* Add failing spec for settings/imports#create

* Fix broken imports

* Refactor ImportWorker
2017-04-11 21:40:14 +02:00
Eugen Rochko
9f7ea77d0c Merge branch 'master' of github.com:tootsuite/mastodon 2017-04-11 21:30:48 +02:00
Eugen Rochko
960181fd99 Fix look of the modals 2017-04-11 21:24:17 +02:00
Eugen Rochko
2a7602cad4 Merge branch 'master' of https://github.com/blackle/mastodon into blackle-master 2017-04-11 20:43:56 +02:00
Komic
47aacb773b Better background-photo.jpeg (#1560)
Fixed the nasty banding & recompressed it at about the same level
2017-04-11 19:51:13 +02:00
Matt Jankowski
82d9336114 Increase breakpoint size for bio on account show (#1559) 2017-04-11 19:35:06 +02:00
Matt Jankowski
e60286a344 Remove unused methods from StreamEntriesHelper (#1365)
Removes:

- avatar_for_status_url
- relative_time
- reblogged_by_me_class
- favourited_by_me_class
2017-04-11 19:32:02 +02:00
Matt Jankowski
53850bce93 Remove unused AtomBuilderHelper (#1364)
This was used in the views/atom/user_stream.xml.ruby file, which no longer is
used.
2017-04-11 19:31:22 +02:00
blackle
06444bf050 Allow user to disable the boost confirm dialog in preferences 2017-04-11 10:10:16 -04:00
blackle
f53fb6aa66 Bypass boost confirm modal if alt is pressed 2017-04-11 08:34:14 -04:00
Corey Dutson
c9b9225951 Adjust css for user detail page (#1463)
- details a background for contrast
- add 5px padding to the top of the `details-counters` children to line them up with the bio to the right (Which has a 5px padding on the top)
2017-04-11 14:20:18 +02:00
blackle
01e5447e35 Add boost confirm modal 2017-04-10 22:35:55 -04:00
Matt Jankowski
4ada50985a Pagination improvements (#1445)
* Replace will_paginate with kaminari

* Use #page instead of #paginate in controllers

* Replace will_paginate.page_gap with pagination.truncate in i18n

* Customize kaminari views to match prior styles

* Set kaminari options to match prior behavior

* Replace will_paginate with paginate in views
2017-04-11 01:11:41 +02:00
Eugen
12f72e1740 When avatar/header are GIF, generate static versions (#1428)
* When avatar/header are GIF, generate static versions.
Account API returns "avatar"/"avatar_static", "header"/"header_static"
Static version is the same as original for other cases
Web UI de-animates avatars in toots, lists of users

Fix #441, fix #596, prerequisite for #1064

* Fix JS test

* Add rake task to generate static avatars/headers from GIF ones, add test
2017-04-11 00:38:58 +02:00
Matt Jankowski
b57eed4584 Remove order prior to .find_in_batches (#1470)
The `Status` class has a default order on it, so when this query gets built and
gets all the way to `find_in_batches` there is an order already there.

When `find_in_batches` is run it discards any existing order on the query, and
emits a warning to the logs if there is one there.

This change removes the order prior calling `find_in_batches`, which will stop
the logged warning from occurring as well.
2017-04-11 00:38:34 +02:00
Matthias Jouan
3fd5385e7b Add username as a title for mentions (#1385)
Add a title attribute on mention links for both notifications
and mentions in statuses.

Related to #1350
2017-04-11 00:35:35 +02:00
Eugen
2810013b93 API param to exclude notification types from response (#1341)
* Add exclude_types param to /api/v1/notifications

* Exclude notification types in web UI through exclude_types in the API
2017-04-10 23:45:29 +02:00
Matt Jankowski
0687ab8ae3 Clean up generation of account webfinger string (#1477)
* Consolidate webfinger string creation under Account#to_webfinger_s

* Introduce Account#local_username_and_domain for consolidation
2017-04-10 22:58:06 +02:00
Chris Martin
ae57b3a8c5 Add more specific class names to notification divs (#1120) 2017-04-10 22:41:52 +02:00
Rachel H
f690320fb9 Keep newlines in xml (#1397) 2017-04-10 21:32:45 +02:00
Stephen Burgess
553170b77a Fix #1097 When onClick is falsy, do not make status content clickable (#1434) 2017-04-10 21:31:26 +02:00
Jessica Stokes
8a6096a3de Allow typing a toot while an image uploads (#1429)
This patch stops disabling the toot text field when an image is uploading. Instead, you can type to your heart's content and when the image uploads it'll append the image URL, and restore the position of your cursor to wherever it was in the toot text just prior. Effectively, the image URL is appended to the toot, and typing is not interrupted at all! 
2017-04-10 21:30:58 +02:00
Matt Jankowski
d2f6d9b9fb Fix issue with missing emojify class in views (#1455)
* Add missing emojify class to landing strip

* Add missing emojify class to simple_status partial
2017-04-10 21:27:52 +02:00
Matt Jankowski
dbe9f33fdc Admin base controller (#1465)
* Add Admin::BaseController to wrap admin area

Extracts the setting of the `admin` layout and verifying that users are admins
to a common base class for the admin/ controllers.

* Add basic coverage for admin/reports and admin/settings controllers
2017-04-10 21:27:03 +02:00
Corey Dutson
087ca3009b Adjust background of emoji panel (#1461)
Addresses #1451 which notes the emoji picker is too light. I agree, so I submit this adjustment.

Changes:
Changed the background to a darkened version of another system color
2017-04-10 20:56:14 +02:00
Jessica Stokes
db7c7d1af1 Improve scrolling behaviour (#1415)
* Replace column margin with padding

This improves horizontal scrolling behaviour significantly; scrolled flex elements are... a little weird.

* Move clear column button styling to css
2017-04-10 16:27:30 +02:00
Ram Lmn
42fb4faa0f Fix icon and emoji sizes (#1403)
Fixes icons and emoji size issues described in #1233.
2017-04-10 13:02:09 +02:00
Ratmir Karabut
9043b32183 Add Russian translation (ru) (#1023)
* Add Russian translation (ru)

* Fix a missing comma

* Fix the wording for better consistency
2017-04-10 12:52:06 +02:00
Jantso Porali
e30bbb1cb0 Fix for Import issue from URL (#1416) 2017-04-10 12:49:34 +02:00
Gavin Mogan
8bdf02812c Add search to emoji picker (#1395) 2017-04-10 09:58:09 +02:00
Eugen
93db265be7 Do not store last visited URL from API controllers (#1330)
Sign-in redirects you back to last visited URL, but in case of API requests,
this sometimes redirected users to an API URL that, of course, greeted them
with an {"error":"The access token is invalid"}
2017-04-09 22:21:52 +02:00
Eugen
c172919745 Fix #1339 - better Atom titles (#1343) 2017-04-09 20:55:54 +02:00
Eugen
15d442cf9d Fix /api/v1/accounts/update_credentials tests (#1357) 2017-04-09 20:23:14 +02:00
Hugo Gameiro
4ea4ef9d0f update portuguese translation (#1280)
added the missing fields and improved the translation
2017-04-09 18:49:26 +02:00
ThibG
d19ed18388 Get handle from atom feed's author/email field instead of guessing from URL (#1344)
The goal of this change is to enhance Mastodon's handling of remote domains
for which the APIs reside on a different host (see issue #1032).

Indeed, when a remote user unknown to Mastodon is mentionned, only its profile
URL (e.g. https://social.example.org/users/User) is known, and Mastodon has to
build a @username@domain handle for it. To do so, Mastodon fetches the user's
atom feed (e.g., https://social.example.org/users/User.atom) and uses its
content to get the username part of the handle, and the URL's host part to
build the domain (e.g., @User@social.example.org). This handle is then used
for a Webfinger request.

In the case where example.org serves the Webfinger info for @User@example.org
and all feeds and APIs are hosted at social.example.org, Mastodon will still
build @User@social.example.org and fail at resolving the account's details
through Webfinger.

This patch changes this behaviour by using the author's email address from
the atom feed to build the handle. In Mastodon-generated atom feeds, the
email address is always the handle it expects for federation.
2017-04-09 18:43:48 +02:00
David Authier
f0bd439486 Use HTTP Accept-Language to detect locale (#1166)
* Use HTTP Accept-Language to detect locale

* Fix gem order to comply with codeclimate

* Sort gem to comply with rubocop

* I18n.default_locale fallback when there is no accept-language header
2017-04-09 18:40:24 +02:00
David Celis
d4fe6cd2bf Allow users to update their Account in the API (#1179)
* Allow users to update their Account in the API

It would be nice for API clients to be able to allow users to update
their accounts without having to wrap Mastodon in a web view. This patch
adds an API endpoint to let users submit a PATCH for their account.

Signed-off-by: David Celis <me@davidcel.is>

* Add /api/v1/accounts/update_credentials to the API docs

Signed-off-by: David Celis <me@davidcel.is>
2017-04-09 18:33:40 +02:00
Matt Jankowski
ea6c930c04 Helper cleanup (#1348)
* Remove unused helper files

* Add coverage for application helper

* Add coverage for StreamEntriesHelper #display_name
2017-04-09 17:11:37 +02:00
StefOfficiel
12e29c9660 Update fr.jsx (#1329)
* Update fr.jsx

* Remove duplicate translation
2017-04-09 14:58:08 +02:00
Olivier Humbert
082bef3027 French translation update (#1271)
* Update confirmation_instructions.fr.html.erb

consistency across the French translation

* Update 

consistency across the French translation

* Update fr.yml

a bunch of consistency across the French translation + a few typos

* Update doorkeeper.fr.yml

consistency across the French translation (punctuation)
2017-04-09 14:55:58 +02:00
Jonathan Klee
ba2aea3a80 add empty notifications french translation (#1111) 2017-04-09 14:54:02 +02:00
Matt Jankowski
e5282e4ec0 Clean up about page (#1282)
* Add InstancePresenter to expose site details

* Clean up about controller, use instance presenter
2017-04-09 14:47:25 +02:00
Brian Mock
53eb31f124 Fixes #1311 margin shouldn't stay fixed (#1312) 2017-04-09 14:45:26 +02:00
Matt Jankowski
388ec0d5b6 Search cleanup (#1333)
* Clean up SQL output in Tag and Account search methods

* Add basic coverage for Tag.search_for

* Add coverage for Account.search_for

* Add coverage for Account.advanced_search_for
2017-04-09 14:45:01 +02:00
Rachel H
b1881a3d48 Fix nonworking clear notices button (#1316) 2017-04-09 11:35:23 +02:00
Eugen
b89f007862 Make public timelines API not require user context/app credentials (#1291)
* Make /api/v1/timelines/public and /api/v1/timelines/tag/:id public
Fix #1156 - respect query params when generating pagination links in API

* Apply pagination fix to more APIs
2017-04-08 23:39:31 +02:00
Eugen
9acdb166e8 Fix #795, fix #704, fix #835 - 2FA requires confirmation to be enabled (#1278)
* Fix #795, fix #704, fix #835 - 2FA requires confirmation to be enabled
TOTP secret is not shown again after 2FA is enabled

* Clean up
2017-04-08 22:20:08 +02:00
Pavel Djundik
470eb0042e Improve responsiveness of registration form and closed banner (#1265) 2017-04-08 18:31:50 +02:00
Pavel Djundik
fc146a19cc Improve about page responsiveness (#1252) 2017-04-08 15:28:23 +02:00
Eugen
982fef811e Fix #1141, fix #1126 - Avatar/profile info fetching (#1215)
* Fix #1141, fix #1126 - Work through UpdateRemoteProfileService for both <feed> and <entry> top-level tags

* Improve code quality, remove line unrelated to fix
2017-04-08 13:26:03 +02:00
Thomas Citharel
41f8fde83e Update french translation (#1148)
Add french translation for emails sent

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Add non-breaking spaces

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

changes and fixes to the nbsps

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

French update

a few fixes

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

fixes

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-04-08 13:11:16 +02:00
Markus Amalthea Magnuson
157f0a2aa7 Add titles to more icons, and change clear notifications icon. (#1101) 2017-04-08 13:07:55 +02:00
Nicolai von Neudeck
c803f5b440 Updated German translation (#1248)
Fixed various spelling and grammar mistakes.
Used more gender-neutral language.
2017-04-08 13:04:58 +02:00
Alda Marteau-Hardi
35eff3f2d0 Add some missing strings to prevent some React warning in the console (#1230) 2017-04-08 12:16:16 +02:00
Matt Jankowski
ca44c13455 Use Setting.site_title value for og:site_name occurrences (#1194)
* Add helper method to return Setting.site_title

* Use site_title helper in application layout

* Use site_title value for og:site_name
2017-04-08 12:15:40 +02:00
Eugen
7d5ea5c170 Merge pull request #1224 from chrisheninger/patch-1
Add SVG version of logo to repo
2017-04-08 11:37:37 +02:00
Eugen
33849acfa7 Merge pull request #1218 from R0ckweb/patch-2
Fix #1141 on remote follow
2017-04-08 11:37:13 +02:00
Eugen
c141f0a886 Merge pull request #1216 from tootsuite/fix-default-locale-regression
Fix #1165 - Default locale no longer breaks form submissions
2017-04-08 11:36:43 +02:00
Eugen
55d03da303 Merge pull request #1213 from tootsuite/fix-accounts-initial-case
Fix #801 - Respect webfinger's canonical response of username/domain
2017-04-08 11:36:35 +02:00
Kurtis Rainbolt-Greene
40703b96fa Merge branch 'master' into fix-default-locale-regression 2017-04-07 20:50:21 -07:00
Kurtis Rainbolt-Greene
1e4453405b Merge branch 'master' into patch-2 2017-04-07 20:48:27 -07:00
Chris Heninger
0ad694f96b Add SVG version of logo to repo 2017-04-07 20:40:18 -07:00
Shel R
fef478781d Merge branch 'master' into master 2017-04-07 22:21:21 -04:00
Shel R
9f43e3b428 Merge branch 'master' into patch-4 2017-04-07 22:02:26 -04:00
Yann GUERN
485d75a805 #1141 on remote follow
The async action is send before persist, account.id not yet generated

Pull queue receive 'nil' so no profile update.
2017-04-08 03:24:35 +02:00
Eugen Rochko
4b621188ad Fix #1165 - before_action was called before protect_from_forgery 2017-04-08 02:30:50 +02:00
Eugen Rochko
b2a7218ab7 Fix #801 - Respect webfinger's canonical response of username/domain 2017-04-08 01:07:42 +02:00
Eugen
1961825ff9 Merge pull request #1183 from thoughtbot/cp-post-status-service-specs
Add specs for PostStatusService
2017-04-07 22:30:28 +02:00
Chad Pytel
ad5ddd5e95 Use I18n for media attachment validation errors
These are currently user facing errors, but are not localized. This adds the
ability for these messages to be localized.
2017-04-07 14:23:18 -04:00
Joël Quenneville
d4c94fa004 DRY up reblog vs original status check
Checking reblog vs original status was happening in multiple places
across the app. For views, this logic was encapsulated in a helper
method named `proper_status` but in the other layers of the app, the
logic was duplicated.

Because the logic is used at all layers of the app, we extracted it into
a `Status#proper` method on the model and changed all uses of the logic
to use this method. There is now a single source of truth for this
condition.

We added test coverage to untested methods that got refactored.
2017-04-07 14:18:30 -04:00
Eugen
4e41cd9ab8 Merge pull request #1146 from tootsuite/fix-object-type-nil-exception
Fix nil#object_type error
2017-04-07 13:08:51 +02:00
Eugen
c9b23a93c7 Merge branch 'master' into fix-object-type-nil-exception 2017-04-07 13:07:36 +02:00
Eugen
0adee18d73 Merge branch 'master' into feature-customized-default-locale 2017-04-07 13:07:03 +02:00
Eugen Rochko
8a6d8de60a Fix nil#object_type error 2017-04-07 13:05:34 +02:00
Jantso Porali
786e6f94b9 Update Finnish translations, add sample Minio config (#954) 2017-04-07 12:58:12 +02:00
Eugen Rochko
e3a3422a65 Allow setting of default language through config
Setting of locale in controller extracted to Localized concern,
the doorkeeper authorized applications controller moved under
custom namespace with inclusion of Localized, which resolves the
"it sometimes appears in a different random language" bug
2017-04-07 12:40:26 +02:00
Eugen Rochko
624a9a7136 Re-add forgotten <author> element on standalone <entry> 2017-04-07 12:21:00 +02:00
Eugen
1c351709bc Force UTF8 encoding on generated XML (#1140) 2017-04-07 11:09:14 +02:00
Eugen
6d6a429af8 Rewrite Atom generation from stream entries to use Ox instead of Nokogiri (#1124)
* Rewrite Atom generation from stream entries to use Ox instead of Nokogiri::Builder

StreamEntry is now limited to only statuses, which allows some optimization. Removed
extra queries on AccountsController#show. AtomSerializer instead of AtomBuilderHelper
used in AccountsController#show, StreamEntriesController#show, StreamEntryRenderer
and PubSubHubbub::DistributionWorker

PubSubHubbub::DistributionWorker moves n+1 DomainBlock query to PubSubHubbub::DeliveryWorker
instead.

All Salmon slaps that aren't based on StreamEntry still use AtomBuilderHelper and Nokogiri

* All Salmon slaps now use Ox instead of Nokogiri. No touch from status on account
2017-04-07 05:56:56 +02:00
Matt Jankowski
97ae53daa8 Reduce size of background-photo.jpeg
Reduced by running through `guetzli` image optimizer.
2017-04-06 16:24:57 -04:00
Eugen Rochko
51d7caaf19 Fix wrong pubsub channel on public timelines 2017-04-06 04:03:23 +02:00
Eugen
a9c0062e80 Merge pull request #1013 from blackle/master
Catch more errors in process_follows so it doesn't fail
2017-04-06 02:35:34 +02:00
Eugen Rochko
dbd529109e Fix notifications delivered to wrong pubsub channel, optimized RemoveStatusService,
slightly optimized FanOutOnWriteService again
2017-04-06 02:26:59 +02:00
blackle
540d6efe88 Catch more errors in process_follows so it doesn't fail 2017-04-05 20:04:13 -04:00
Eugen Rochko
5442083b3c Split SalmonWorker into smaller parts, move profile updating into another job 2017-04-05 21:43:10 +02:00
André Lewin
bf7cefa516 Merge branch 'master' into master 2017-04-05 20:28:58 +02:00
Eugen Rochko
5b95be1c42 Replace calls to FeedManager#inline_render and #broadcast 2017-04-05 19:45:18 +02:00
Eugen
c9ebd5d19f Fix wrong variable used in publish channel 2017-04-05 18:58:32 +02:00
Eugen
1b8c244dff Add proper message to PushUpdateWorker, use redis directly 2017-04-05 18:48:41 +02:00
Eugen
3d8b80e1cc Merge branch 'master' into broadcast-to-worker 2017-04-05 18:44:33 +02:00
tom
8989569dd4 Update components.scss
Use nicer scrollbars in MS edge
2017-04-05 12:10:25 -04:00
Eugen Rochko
220bc48e8e Only render public payload once in FanOutOnWrite 2017-04-05 14:26:17 +02:00
Eugen Rochko
8530f9413b Replace ActionCable broadcast call with simple redis publish 2017-04-05 13:28:46 +02:00
Eugen
1904a1aa14 Merge pull request #919 from JantsoP/master
More updates to Finnish language
2017-04-05 10:27:12 +02:00
Eugen
6b566c6b88 Merge pull request #908 from krainboltgreene/application-worker-for-shared-logic
ApplicationWorker for shared worker behavior
2017-04-05 10:23:52 +02:00
JantsoP
20b53e6add Merge branch 'master' into master 2017-04-05 10:07:17 +02:00
JantsoP
b8a867adcc updated translation
Updated some translations after seeing them in service. Should be better now
2017-04-05 09:56:10 +02:00
Brad Urani
6a1da87cd3 Eliminate unnecessary queries and query clauses with none and all 2017-04-05 06:02:58 +00:00
Kurtis Rainbolt-Greene
22dcadedb4 We're going to want these nice helper methods, lets share them with a parent class that matches Rails 5 practices (application level abstraction) 2017-04-04 21:14:37 -07:00
Kurtis Rainbolt-Greene
7bed4e51db Moved to the worker 2017-04-04 20:51:44 -07:00
Kurtis Rainbolt-Greene
9638894233 Moving in the inline render 2017-04-04 20:51:18 -07:00
Kurtis Rainbolt-Greene
220051b8b2 I don't actually think we need that. 2017-04-04 20:48:22 -07:00
Kurtis Rainbolt-Greene
0069c01285 Moving the queue_at into the worker 2017-04-04 20:39:14 -07:00
Kurtis Rainbolt-Greene
dc5704b0b0 This method isn't used anymore 2017-04-04 20:38:07 -07:00
Kurtis Rainbolt-Greene
96ef933820 Replacing the broadcast method with the one defined in the feed manager 2017-04-04 20:36:03 -07:00
Kurtis Rainbolt-Greene
1e96ce378e By pushing this into a worker we can reduce the amount of time the feed manager using workers eat up a connection 2017-04-04 20:23:40 -07:00
Eugen
4c92f15664 Merge branch 'master' into add_more_tests_to_models 2017-04-05 03:27:38 +02:00
Eugen
afdcdce551 Merge pull request #839 from SirCmpwn/profile-readability
Improve readability of text on profiles
2017-04-05 03:23:16 +02:00
Drew DeVault
c106b6d3e0 Improve readability of text on profiles 2017-04-04 21:13:23 -04:00
Eugen
e76dd52b08 Merge pull request #818 from JantsoP/master
Updated Finnish Translation
2017-04-05 03:09:20 +02:00
Eugen
117b22e905 Merge pull request #852 from peterkeen/email-whitelist-817
[#817] Add email whitelist
2017-04-05 03:04:58 +02:00
Eugen
909d81923e Merge pull request #898 from SirCmpwn/remote-follow-improvements
Remote follow improvements
2017-04-05 02:54:03 +02:00
Eugen
2edeb3fe1c Merge pull request #858 from krainboltgreene/patch-6
Use active record shorthand
2017-04-05 02:53:39 +02:00
Drew DeVault
f7e35d90db Remote follow improvements
This stores the @username@instance you provide in your session and
reuses it the next time you remote follow someone from this instance.
2017-04-04 20:52:31 -04:00
Eugen Rochko
bda37489ac Remove PuSH subscriptions when delivery is answered with a 4xx error 2017-04-05 02:34:33 +02:00
Samy KACIMI
79ef756f64 fix rubocop issues 2017-04-05 00:47:17 +02:00
Samy KACIMI
81c76fe375 add more tests to models 2017-04-05 00:29:56 +02:00
axolotl
8736ef50ad Added Esperanto translation inside the javascripts folder 2017-04-04 20:54:42 +02:00
Eugen Rochko
6fd865c000 Spawn FeedInsertWorker to deliver status into personal feed 2017-04-04 19:21:37 +02:00
Kurtis Rainbolt-Greene
731e650681 Use active record shorthand 2017-04-04 09:04:07 -07:00
Pete Keen
e9a6da6bc7 [#817] Add email whitelist
This adds the ability to filter user signup with a whitelist
instead of or in addition to a blacklist.

Fixes #817
2017-04-04 11:20:15 -04:00
Eugen Rochko
5f54981846 New admin setting: open/close registrations, with custom message, from the admin UI 2017-04-04 15:28:12 +02:00
JantsoP
10a8666e04 updated line 28 about GitHub 2017-04-04 15:07:15 +02:00
Eugen
405c495c23 Merge pull request #804 from fhalna/development
Accessibility Fix.
2017-04-04 14:52:27 +02:00
Eugen Rochko
82aaedec46 Reduce number of items in feeds, optimize regeneration worker slightly,
make regeneration worker unique, (only schedule/execute once at a time)
2017-04-04 13:58:34 +02:00
Eugen Rochko
b1f3499c38 Optimize FeedManager#unmerge, and slightly optimize FeedManager#merge 2017-04-04 13:43:36 +02:00
Eugen Rochko
b21f7c28f6 Move OStatus processing back into default queue 2017-04-04 13:02:49 +02:00
Eugen Rochko
ce9df2fa82 Optimize filter methods in FeedManager a bit, use redis pipelining on merge/unmerge feed methods,
do not re-create a dynamic class on each feed push call, make sure redis-rb uses hiredis
2017-04-04 13:01:14 +02:00
halna_Tanaguru
3abb0f7bc7 Merge branch 'master' into development 2017-04-04 12:06:53 +02:00
JantsoP
db4a41cf58 Merge branch 'master' into master 2017-04-04 08:41:46 +02:00
JantsoP
b8243c1b49 changed line 25 for better translation 2017-04-04 08:26:59 +02:00
Eugen Rochko
eb023beb49 Fix #808 - smaller elephant friend PNG for frontpage 2017-04-04 02:03:16 +02:00
Eugen Rochko
b510a56c0c Only call regeneration worker after first login after a 14 day break 2017-04-04 02:00:10 +02:00
Eugen Rochko
4c53af64f0 Fix ActionController::Parameters in API issue 2017-04-04 01:33:34 +02:00
Eugen Rochko
f722bd2387 Separate background jobs into different queues. ATTENTION: new queue "pull"
must be added to the Sidekiq invokation in your systemd file

The pull queue will handle link crawling, thread resolving, and OStatus
processing. Such tasks are more likely to hang for a longer time (due to
network requests) so it is more sensible to not make the "in-house" tasks
wait for them.
2017-04-04 00:53:20 +02:00
Eugen Rochko
8232f76c48 Add check for visibility.nil? even though it can't ever be, to check for race conditions 2017-04-03 22:54:46 +02:00
halna_Tanaguru
3f30ae1f97 accessibility fix
eanable focus on ClearColumnButton
2017-04-03 22:45:29 +02:00
axolotl
0700521ef3 added Esperanto (eo) 2017-04-03 20:22:50 +02:00
Eugen Rochko
68f829e11c Add basic logging of who resolved report 2017-04-03 19:35:00 +02:00
Eugen Rochko
71458dc6df When taking action on a report (silence/suspend), it dismisses all other
reports for that user automatically
2017-04-03 19:19:54 +02:00
Eugen Rochko
b7c1b12367 Make default admin UI page reports. Add admin UI for creating a domain block 2017-04-03 18:55:06 +02:00
David Baumgold
5652f00d81 GitHub should be capitalized 2017-04-03 11:44:11 -04:00
JantsoP
a229840ffe fixed typo 2017-04-03 14:16:03 +02:00
JantsoP
bfa99981e5 Merge branch 'master' into master 2017-04-03 13:50:57 +02:00
JantsoP
ae95f35fe6 add finnish translation
add finnish translation
2017-04-03 13:34:26 +02:00
JantsoP
22f88b845a add finnish translation
add finnish translation
2017-04-03 13:33:43 +02:00
JantsoP
eabb86b124 add finnish language
add finnish language
2017-04-03 13:32:10 +02:00
Eugen
5d854f37b4 Merge pull request #764 from ticky/tweak-quick-start-area
Fix the position of the Mastodon mascot in the UI
2017-04-03 12:59:16 +02:00
JantsoP
69fc95a2f5 Create Finnish translation for Mastodon
Create Finnish translation for Mastodon
2017-04-03 12:09:33 +02:00
Marvin Kopf
1236a12cae add mute option in status dropdown 2017-04-03 10:44:08 +02:00
Jessica Stokes
2d384850cb Fix the position of the Mastodon mascot in the UI
The Mastodon mascot was previously anchored to the bottom, and that was since broken. This restores that behaviour!

It also disables the double-scrollbar behaviour that was caused by this area allowing overflow-y in addition to its parent doing so.
2017-04-03 13:16:14 +10:00
Eugen
d2358aefec Merge branch 'master' into master 2017-04-03 01:07:53 +02:00
Eugen
61894582b8 Merge pull request #746 from eramdam/feature/improve-french-locales
Feature/improve french locales (again)
2017-04-03 00:25:56 +02:00
Kazhnuz
c76d20c2a0 Add forgotten comma 2017-04-02 23:39:41 +02:00
Damien Erambert
4f7cce25ac Add more lcoales in fr.jsx 2017-04-02 14:23:40 -07:00
Kazhnuz
633e5ec6f6 Update French Translation 2017-04-02 23:18:01 +02:00
Eugen
09b4b65fde Merge pull request #740 from 0x70b1a5/master
remove black border on video mute/spoiler buttons
2017-04-02 22:22:56 +02:00
Eugen
48cb2dccd2 Merge pull request #741 from eramdam/feature/improve-french-locales
Improve/add some French locales
2017-04-02 22:22:44 +02:00
Eugen Rochko
a23e4380b2 Avoid re-loading already loaded relationships. Also fixes issue where wrong
button would be displayed in account lists for unloaded relationships
2017-04-02 22:02:38 +02:00
Eugen Rochko
aaa4d1b0fb Keep track of which timelines are connected live to avoid redundant
refreshes on navigation
2017-04-02 21:44:06 +02:00
Eugen Rochko
2d07cb5771 Catching rack timeout from rails doesn't work 2017-04-02 21:12:18 +02:00
Tobias Merkle
f25fc04ea1 single-quotes 2017-04-02 14:55:13 -04:00
Tobias Merkle
ca21be3e16 remove black border on buttons 2017-04-02 14:54:24 -04:00
Eugen Rochko
5b12624847 Add proper error page for request timeouts 2017-04-02 19:43:44 +02:00
Olivia Mossberg
30da6440d0 Merge branch 'master' of github.com:tootsuite/mastodon
It's just an upstream merge
2017-04-02 17:04:31 +02:00
Olivia Mossberg
f4b5fe9caf Fix word-break in account profiles
word-break:break-all is a surefire way to break things. It should be set
to normal.
This merge just set it back to what it should be.
Tested on Firefox 52.0.2 and Chrome 56.0.2924.87 with no detected
errors.
2017-04-02 16:54:24 +02:00
Eugen Rochko
4b7dca4713 Fix wording "show reblogs" -> "show boosts", order reports chronologically in
admin UI
2017-04-02 16:45:49 +02:00
Eugen Rochko
d6b965cf08 Fix issue with feed merge-in code as well 2017-04-02 15:58:25 +02:00
Eugen Rochko
e809caa0e1 Fix feed regeneration bug 2017-04-02 15:46:31 +02:00
Eugen Rochko
34aff3e269 Merge branch 'master' of https://github.com/maximeborges/mastodon into maximeborges-master 2017-04-02 12:36:26 +02:00
Damien Erambert
3ed75efc31 Add fr locale for community_timeline in fr.jsx 2017-04-01 23:45:53 -07:00
Eugen Rochko
433cb198fa Fix landing page sign up form ignoring username field 2017-04-02 04:13:22 +02:00
Tobias Merkle
ae43978433 improve video button visibililty 2017-04-01 21:02:30 -04:00
Eugen Rochko
a8c2e44fee Fix broken reference 2017-04-01 22:29:20 +02:00
Eugen Rochko
808017ff18 Paperclip will complain on its own if this variable is missing 2017-04-01 22:16:26 +02:00
Eugen Rochko
60ebfa182f Made modal system more generic 2017-04-01 22:11:28 +02:00
Maxime BORGES
f693ab69f3 Fix word-break in profile's note on profile page and profile component 2017-04-01 20:17:28 +02:00
Eugen Rochko
13dfd8d109 Improve mobile tabs a little 2017-04-01 15:17:35 +02:00
Eugen Rochko
d93d6f5124 Fix reworked search 2017-03-31 22:45:56 +02:00
Eugen Rochko
b4046c5957 Rework search 2017-03-31 21:11:09 +02:00
shel
f20f6b25b9 Merge branch 'master' into patch-2 2017-03-31 10:34:14 -04:00
Eugen Rochko
680f9efe9c Fix web UI profile clickable area overlapping with follow button area 2017-03-31 14:23:44 +02:00
Eugen Rochko
bde5c0eaf9 Fix some views still not using counter caches 2017-03-31 14:02:07 +02:00
Eugen Rochko
5e26295e06 Fix #700 - hide spoilers on static pages 2017-03-31 13:54:36 +02:00
Eugen Rochko
3ac4455160 :active and :focus states same as :hover for buttons 2017-03-31 12:08:51 +02:00
Eugen Rochko
bf61bc1b96 Fix drag & drop overlay flickering 2017-03-31 11:48:25 +02:00
Eugen Rochko
e8875c6046 Import feature for following/blocking lists (addresses #62, #177, #201, #454) 2017-03-30 19:42:33 +02:00
Eugen Rochko
de22c202f5 Add counter caches for a large performance increase on API requests 2017-03-30 15:06:59 +02:00
Eugen Rochko
333e44c3fc Improve emojis - use SVGs where possible 2017-03-29 22:27:24 +02:00
Eugen Rochko
bb7006bda1 Hide drag & drop area on drop event regardless of success 2017-03-28 14:17:24 +02:00
Eugen Rochko
139fc994e2 Fix #408 - link @ names in bios 2017-03-28 14:16:08 +02:00
Eugen Rochko
1c6b02f936 Fix #690 - Webfinger should handle new shortform profile URLs now (nice) 2017-03-28 11:25:43 +02:00
shel
76188d61f2 Clarify post privacy warning
I was informed that the current warning if you @ a remote server in a private post is inadequate. These are suggested changes to better inform users.
2017-03-26 12:49:14 -04:00
Eugen Rochko
c334541011 Add tooltip to privacy dropdown 2017-03-26 13:30:57 +02:00
Eugen Rochko
f864fee116 Fix up some localizations 2017-03-26 13:22:38 +02:00
Eugen Rochko
efbbd42216 Fix style issue 2017-03-26 13:13:41 +02:00
Eugen Rochko
dddb2eb84f Merge branch 'feature/language_zh-cn' of https://github.com/leopku/mastodon into leopku-feature/language_zh-cn 2017-03-26 13:10:04 +02:00
Eugen Rochko
6ec6fe259a Compose form layout fixes 2017-03-26 13:08:15 +02:00
leopku
d5d5afff9c 🌐 add simplified chinese language 2017-03-26 14:13:18 +08:00
shel
5f7c997654 Change to using variables
Thanks garg
2017-03-25 20:42:49 -04:00
shel
2b7e3d56c8 Increase color contrast
Privacy descriptions were very difficult to reason. This is the minimal level of color contrast to be WCAG AA compliant.
2017-03-25 20:02:36 -04:00
shel
c66dc0d114 Clarify privacy options
Descriptions of differences between scope are more clear
2017-03-25 19:59:38 -04:00
Eugen Rochko
1fd88e3bad Fix up visual indicators for compose form privacy 2017-03-25 20:24:30 +01:00
Eugen Rochko
b8f9de8636 Improve sign up page on small screens 2017-03-25 20:13:34 +01:00
Eugen Rochko
a9303e7062 When replying to status with content warning, prefill content warning 2017-03-25 19:30:56 +01:00
Eugen Rochko
ad1af951fb Temporary spacing fix 2017-03-25 19:27:31 +01:00
Eugen Rochko
bd1ceb1daa Privacy dropdown i18n 2017-03-25 19:22:24 +01:00
Eugen Rochko
99ca63a543 Fix public profile pagination links 2017-03-25 19:16:17 +01:00
Eugen Rochko
d8c5a83827 Redesigned compose form 2017-03-25 19:14:12 +01:00
Eugen Rochko
9bf4c34919 Fix #675 - return created_at in notifications API 2017-03-24 03:55:45 +01:00
Eugen Rochko
d7c6c6dbe1 Fancier drag & drop indicator, emoji icon for emoji, upload progress (fix #295) 2017-03-24 03:55:45 +01:00
Eugen Rochko
d6ed2eb512 Prettier account and stream entry URLs 2017-03-22 19:55:14 +01:00
Eugen Rochko
33fac87e81 Shorter timeout on FetchAtomService 2017-03-22 17:41:52 +01:00
Eugen Rochko
5aa3df017b Fix full-text search query quotation, improve tag search performance with an index,
add ability to open status by URL from search (fix #53)
2017-03-22 17:36:34 +01:00
Eugen Rochko
88f32708c3 Web UI support for the new omnisearch 2017-03-22 04:09:28 +01:00
Eugen Rochko
acfee0945c Merge branch 'master' into feature-omnisearch
this merge is necessary,
2017-03-22 03:34:58 +01:00
Eugen Rochko
8aae42f3d8 German toot -> "tröt" 2017-03-22 03:22:44 +01:00
Eugen Rochko
1b09c3cb17 More efficient single account retrieval (0.9ms vs 50ms before) 2017-03-22 03:21:38 +01:00
Eugen Rochko
05cf086766 New API method: /api/v1/search
Returns accounts, statuses, hashtags arrays
2017-03-22 02:32:27 +01:00
Eugen Rochko
98571b0ce4 Don't list "direct" under default post privacy settings 2017-03-21 19:45:25 +01:00
Eugen Rochko
8803ca9efe Improved landing page 2017-03-21 19:18:37 +01:00
Eugen Rochko
6b1db5c2b2 Add landing strip 2017-03-20 03:36:29 +01:00
Eugen Rochko
56d998cbdb Export follow/block lists as CSV 2017-03-19 20:29:41 +01:00
Eugen Rochko
08b96f1b9f Fix wrong HTTP status codes on error pages 2017-03-19 20:03:28 +01:00
Eugen Rochko
2816b1bf8e Federate header images, fix open-uri http->https redirection error 2017-03-18 22:51:20 +01:00
Eugen Rochko
5cfc9c7487 Forgot to hook up API with the latest method 2017-03-17 21:02:47 +01:00
Eugen Rochko
ac406a31b0 Start page links a bit more readable 2017-03-17 20:49:34 +01:00
Eugen Rochko
ad0d82d3ce Make account search blazing fast and rank followers/followees higher in the results 2017-03-17 20:48:14 +01:00
shel
38dceb3bf7 Promote Apps (#670)
"Various apps are available" is now a hyperlink
2017-03-17 16:16:39 +01:00
Eugen Rochko
017350e0ea Add method for retrieving triadic closures 2017-03-16 20:10:51 +01:00
Eugen Rochko
6be7bde243 Fix #525 - Add instance information API 2017-03-15 23:12:48 +01:00
Eugen Rochko
7b58c1a694 Merge branch 'mastodon-site-api' of https://github.com/marrus-sh/ardipithecus into marrus-sh-mastodon-site-api 2017-03-15 22:55:58 +01:00
Eugen Rochko
74ae158c2f Add "direct" visibility level in the backend. Web UI is not yet
adjusted to allow choosing it, yet
2017-03-15 22:55:45 +01:00
Eugen
e245115f47 Merge branch 'master' into mastodon-site-api 2017-03-15 22:55:22 +01:00
Eugen Rochko
02349b3269 Obfuscate filenames better, double rate limits 2017-03-14 15:59:21 +01:00
Eugen Rochko
952bce3023 Replace howler.js with simple <audio />, will hopefully resolve
some weird mobile browser behaviours
2017-03-13 17:12:30 +01:00
Eugen Rochko
a5daa806f2 Fix casuality of processing remote mentions such that notifications
about them would be processed only after the entire status is processed
2017-03-13 16:34:15 +01:00
Eugen Rochko
47bf592db7 Try to detect iOS and *not* autoplay any videos
Technically the check for iOS from components is a side effect, because it's
neither in state nor props, but the user agent does not change, so I think
that's okay.
2017-03-07 09:54:57 +01:00
Eugen Rochko
1fb3e8988b Revert earlier fix due to new bug reports 2017-03-06 02:25:41 +01:00
Eugen Rochko
d6cb4bbe99 Performance improvement for profiles 2017-03-06 01:50:35 +01:00
Eugen Rochko
03a857f59a Use more widely supported MP4 format for gifv's 2017-03-06 00:30:03 +01:00
Eugen Rochko
8d93f0ca56 Increase max bitrate of converted webms, slightly optimized counter queries
(Because postgres can tell that count(*) needs no extra checks, but
counting a specific column requires them)
2017-03-05 23:43:58 +01:00
Eugen Rochko
6382ef2bc6 Add vsync -cfr option when converting gif to webm 2017-03-05 23:27:25 +01:00
Eugen Rochko
79b08c5f0a Higher quality webms? Might improve conversation of some types of gifs 2017-03-05 23:13:21 +01:00
Eugen Rochko
85fce04d1b Detect videos with no sound, handle them like gifv 2017-03-05 22:55:24 +01:00
Eugen Rochko
4fb95c91fb Fix wrongful matching of last period in extended usernames
Fix anchor tags in some wikipedia URLs being matches as a hashtag
2017-03-05 18:08:19 +01:00
Eugen Rochko
5f4e402204 Improved /api/v1/accounts/:id/statuses with new params: only_media, exclude_replies
Redirect /:username to /users/:username
Redirect /:username/:id to /users/:username/updates/:id
Updated API documentation and sponsors
2017-03-05 17:27:17 +01:00
Eugen Rochko
07b166af64 Make gifvs always use media gallery component 2017-03-05 02:04:31 +01:00
Eugen Rochko
caf5b8e975 Fix #431 - convert gif to webm during upload. Web UI treats them like it did
before. In the API, attachments now can be either image, video or gifv. Gifv
is to be treated like images in terms of behaviour, but are videos by file
type.
2017-03-04 23:02:24 +01:00
Eugen Rochko
5d100293fb Rename "the whole known network" timeline to "federated timeline"
Remove note about following Gargron@mastodon.social from getting started text
2017-03-04 00:19:18 +01:00
Eugen Rochko
6b81d10030 Add digest e-mails 2017-03-04 00:00:48 +01:00
Eugen Rochko
4690236724 Make confirmation text more specific 2017-03-02 19:25:11 +01:00
Eugen Rochko
b9345b3fc6 Fix #620 - Add confirmation dialog for notifications clear 2017-03-02 19:24:12 +01:00
Eugen Rochko
4d23a85c29 Fix up storybook 2017-03-02 18:55:15 +01:00
Eugen Rochko
c64a1c25c4 Fix #231 - Muting 2017-03-02 18:49:32 +01:00
Kit Redgrave
442fdbfc53 Mute button progress so far. WIP, doesn't entirely work correctly. 2017-03-01 22:31:21 -06:00
Eugen Rochko
89fc2d7f48 Fix #372 - Emoji picker 2017-03-02 00:57:55 +01:00
Eugen Rochko
95ebfa5610 Simplify passing of prop 2017-03-01 13:57:30 +01:00
Eugen Rochko
1fa2e7cc86 Merge branch 'mastodon-paste-support' of https://github.com/marrus-sh/ardipithecus into marrus-sh-mastodon-paste-support 2017-03-01 13:54:52 +01:00
Kibigo
91c79f2445 Better smart/dumb component separation 2017-03-01 02:56:15 -08:00
Kibigo
5f6f7aaa27 Making the back button a little smarter 2017-02-28 22:24:34 -08:00
Kibigo
e84c1dc95f Support for pasting images from clipboard 2017-02-28 18:52:46 -08:00
Eugen Rochko
5960bac11e Fix incorrect detection of local vs remote user in web UI 2017-03-01 02:00:21 +01:00
Eugen Rochko
3208979655 Fix typo 2017-03-01 01:57:48 +01:00
Eugen Rochko
fbdb3bcf1e Revert infinite scroll in timelines back to looking at ID of oldest
loaded status; do not preload submitted statuses into community/public
timelines, unless those timelines have already been loaded; do not
close streaming API connections for community/public timelines, once
they have been established (most users navigate back to them eventually)
2017-03-01 01:43:29 +01:00
Eugen Rochko
e1b00757a6 Fix #291 - Add visual indication that numbers for remote users may be inaccurate 2017-03-01 01:18:34 +01:00
Eugen Rochko
7f0d1b8cc0 If a status is within 40 statuses from the top of a home feed, do not
reinsert it when someone boosts it
2017-03-01 01:07:11 +01:00
Eugen Rochko
92569b1f0d Improved dropdowns 2017-03-01 00:53:11 +01:00
Eugen Rochko
955e9088d7 Fix #561 - Detect presence of audio in video, hide mute toggle when none 2017-02-28 23:48:41 +01:00
Eugen Rochko
d180aaa2a7 Fix #186 - Add RTL support to the compose form textarea and statuses output 2017-02-28 01:52:31 +01:00
Eugen Rochko
809455aaae Add elephant friend to missing indicator 2017-02-28 00:43:36 +01:00
Eugen
9214b5d02e Add new illustration 2017-02-27 22:51:24 +01:00
Kibigo
4d2af0d664 Character counter fix 2017-02-27 04:32:41 -08:00
Kibigo
620f70e42c Adds site metadata access to the API 2017-02-27 04:06:25 -08:00
Eugen Rochko
af5cb0f853 Only use bigger compose form/search form font on mobile layout 2017-02-27 00:46:45 +01:00
Eugen Rochko
175a9b9caa Fix #104 - Style OAuth authorized applications page
Add ability to search accounts by display name
2017-02-27 00:15:00 +01:00
Eugen Rochko
2826e6dada Fix #612 - Set font size to 16px in compose form and search form to prevent iOS
from zooming in on them
2017-02-26 23:30:18 +01:00
Eugen Rochko
5f511324b6 Add validation of media attachments, clean up mastodon-own exception classes 2017-02-26 23:23:06 +01:00
Eugen Rochko
063432d7e3 Merge branch 'fix_462' of https://github.com/rmhasan/mastodon into rmhasan-fix_462 2017-02-26 23:09:18 +01:00
Eugen Rochko
4fbdf100c4 Add <MissingIndicator /> when status or account are not found, skip alerts
for those errors
2017-02-26 23:06:27 +01:00
Eugen Rochko
4bb8ff7c8e Merge branch 'fix_626' of https://github.com/rmhasan/mastodon into rmhasan-fix_626 2017-02-26 22:44:31 +01:00
Eugen Rochko
b44dd38360 Fix broken dependency on inner react utility function 2017-02-26 01:34:56 +01:00
Eugen Rochko
e2209e1104 Fix local timeline showing unread status of TWKN timeline 2017-02-26 01:27:22 +01:00
Eugen Rochko
2c50687279 Improve compose form performance, upgrade JS dependencies. LightingBox
now allows to cycle through multiple images
2017-02-26 01:23:44 +01:00
Eugen Rochko
3e9d794ea5 Add tuning documentation, add <content> tags back to most salmons,
make status pagination headers generation more lax about next page
existing
2017-02-25 03:34:37 +01:00
Eugen Rochko
9d4cad6307 Improve glow 2017-02-23 02:14:35 +01:00
Eugen Rochko
53ae431867 Skip remote media URLs that don't have a hostname 2017-02-22 19:55:14 +01:00
Eugen Rochko
3202bdd744 Fix #555 - Use a better URL parser 2017-02-22 19:35:11 +01:00
Eugen Rochko
c96fd24f48 Improve status reselect, do not display "load more" when no next link available 2017-02-22 16:30:09 +01:00
Eugen Rochko
c77a54fe0a Fix #651 - Do not reinsert original status into all followers feeds
upon un-reblogging. Check if the reblog was in the feed in the first
place. It might have been filtered on distribution.
2017-02-22 15:52:47 +01:00
Eugen Rochko
974d712fbe Improve performance of compose form 2017-02-22 15:43:07 +01:00
Eugen Rochko
5997bb47a8 Fix #38 - Unread indicator when new content appears above the fold 2017-02-21 00:10:49 +01:00
Eugen
f338cc6c94 Fix scroll to top not registering because of wrong debounce usage 2017-02-20 19:01:47 +01:00
Eugen Rochko
e8ea9669c9 Fix links and wording 2017-02-19 22:42:38 +01:00
Eugen Rochko
6b4ef92c6f Adjust naming of public timeline -> "local timeline" vs "whole known network" 2017-02-19 21:49:14 +01:00
Eugen Rochko
c50256d25c Fix infinite scrolling breaking after navigation 2017-02-19 21:37:04 +01:00
Eugen Rochko
4aa5ebe591 Split public timeline into "public timeline" which is local, and
"whole known network" which is what public timeline used to be

Only domain blocks with suspend severity will block PuSH subscriptions
Silenced accounts should not appear in conversations unless followed
2017-02-19 20:25:54 +01:00
Rakib Hasan
dfd4a42b35 added if else clause in fetchContext
So that if we get an error, then we will
only delete status if it is an 404 error
2017-02-19 10:55:22 +00:00
Rakib Hasan
9433d03705 Removed try clause from create action in status controller
Using catch statement in api_controller.rb to catch NotPermitted
Exception, and render error message
2017-02-19 08:29:56 +00:00
Rakib Hasan
87a6bed9e9 previous commit was creating the status regardless
of mix of video and images in status, just wasn't rendering
the show action. I moved the validation before the status creation
2017-02-19 08:28:33 +00:00
Rakib Hasan
6f9ecd899e revisted fix for #462
Moved validation to services/post_status_service.rb
2017-02-19 08:28:33 +00:00
Rakib Hasan
6d2301988f Fix for issue #462
Modified uploadCompose action to send media ids of attached
media when sending a request. Modified create method in MediaController
to check if when posting a video, there are no other media attached
to the status by looking at the media ids sent from the uploadCompose
action.
2017-02-19 08:28:33 +00:00
Rakib Hasan
910df0f795 Removing dispatch of fetchContextFail
No need to flash error message when status is not found.
The column will display the message "status not found"
2017-02-19 08:21:45 +00:00
Rakib Hasan
8e760d5f62 adding new react class StatusNotFound 2017-02-19 08:21:37 +00:00
Rakib Hasan
9e0dbb7337 Fixing issue #626
The status is not showing anymore after clicking on it
2017-02-19 08:21:05 +00:00
Eugen Rochko
9e99b8c068 Fix #642 - Add "empty column" text to home/notifications 2017-02-18 02:37:59 +01:00
shel
6a6d8f60c4 Add target="_blank" to github link
This makes so clicking the link to the github opens in a new tab or windows.

I just keep getting frustrated clicking the link to github and then losing my place in my home timeline >_> that's all
2017-02-17 14:50:50 -05:00
nicolas
ca57f17d3d French translation update 2017-02-17 10:27:00 +01:00
Eugen Rochko
a1e96ae94f Add foreign key to prevent reblogs of non-existent (after race conditions) statuses from happening
Fix issue with detailed status view not supporting unreblogging/unfavouriting
2017-02-17 02:33:10 +01:00
Eugen Rochko
5ddad41245 Do not display non-Status stream entries anymore 2017-02-17 02:20:52 +01:00
Eugen Rochko
dbd80465c8 Fix small styling issues 2017-02-17 02:05:15 +01:00
Eugen Rochko
f2931af61e Quick fix for avatars with the same URL not being perceived as updated and in need of re-download 2017-02-17 01:50:01 +01:00
Eugen Rochko
8b16f81882 Close dropdown when clicking items 2017-02-17 01:44:06 +01:00
Eugen Rochko
0cbf3a146f Speed up/optimize loading of statuses, context and cards by not re-fetching what is already loaded 2017-02-17 01:34:37 +01:00
Eugen Rochko
8132cf8153 Add GET /api/v1/accounts/:id/statuses/media that returns only statuses with media attachments
Make replies default to privacy settings of the status being replied to
2017-02-17 01:30:24 +01:00
Eugen Rochko
d0f087db2d Add UI to view report details, remove reported statuses, quick links to resolve/silence/suspend from report 2017-02-17 00:42:52 +01:00
Eugen Rochko
24ba7c9762 Adding index overview for reports in admin UI 2017-02-16 02:28:10 +01:00
Eugen Rochko
f722aa8c75 Fix Salmon issue 2017-02-16 01:59:34 +01:00
Eugen Rochko
5426f06ac2 Fix admin UI for accounts somewhat 2017-02-15 00:22:58 +01:00
Eugen Rochko
0a2427f79b Fix #634 - Only include innermost-level statuses in report UI
Fix #635 - Include the initially-reported status in report UI even if it's not
among the user's most recent statuses
2017-02-15 00:01:52 +01:00
Eugen Rochko
3b81baaaaf Adding POST /api/v1/reports API, and a UI for submitting reports 2017-02-14 20:59:26 +01:00
Eugen Rochko
40a4053732 Disable PuSH for blocked domains 2017-02-14 04:01:37 +01:00
Eugen Rochko
63886bdc59 Fix #587 - Display TOTP secret next to QR code 2017-02-13 20:56:03 +01:00
Eugen Rochko
ec521e6bfc Add remote mentions warning when composing a private status 2017-02-13 18:38:00 +01:00
Eugen Rochko
2ab7bd13e2 Merge branch 'patch-5' of https://github.com/yiskah/mastodon into yiskah-patch-5 2017-02-13 17:22:40 +01:00
Eugen Rochko
677e95031e Clean up collapsible components 2017-02-13 17:20:18 +01:00
Eugen Rochko
2d8a4c4390 Add "next" link to Atom feeds 2017-02-13 15:38:45 +01:00
Eugen
63b3cb37db Merge pull request #627 from halcy/style-fixes
Activity stream background should use $color5
2017-02-13 15:16:15 +01:00
Your Name
e4a7e8222e Activity stream background should use $color5 2017-02-13 12:31:52 +00:00
Eugen Rochko
8e08ae5bb9 Add IDs to salmon slaps even if they are transient. Add title, too, mostly
in case of debugging incoming salmons. Add <thr:in-reply-to /> to favourite
salmons because it seems to be required by GS.
2017-02-13 13:30:33 +01:00
Eugen Rochko
df63461ff0 Add handler for salmons of undoing favourites 2017-02-12 19:50:18 +01:00
Eugen Rochko
720ff55262 Adding more unit tests. Fixing Salmon slaps XML 2017-02-12 17:30:15 +01:00
Eugen Rochko
446267d1bf Deduplicate delete salmons (send only one per mentioned-account domain) 2017-02-12 17:30:15 +01:00
Eugen Rochko
db814543c0 Take out private toot distribution out of PuSH again 2017-02-12 01:31:04 +01:00
Eugen Rochko
0518492158 Stop trying to shoehorn all Salmon updates into the poor database-connected
StreamEntry model. Simply render Salmon slaps as they are needed
2017-02-12 01:19:14 +01:00
shel
968fae2603 Add privacy disclaimer
I haven't had a chance to test this, because I don't currently have a fully functioning computer I can set up a dev-environment on, but this *should* make it so when a user toggles a post to be private, a disclaimer appears clarifying what "private" really means.
2017-02-11 17:42:19 -05:00
shel
3893ff1604 Add privacy disclaimer
Add variable for text of privacy disclaimer
2017-02-11 16:47:01 -05:00
Eugen Rochko
94d2182717 Resolve issue with rendering authorize/reject Salmon slaps 2017-02-11 19:42:05 +01:00
Eugen Rochko
31c633e528 Fix Status.permitted_for scope query 2017-02-11 19:16:10 +01:00
Eugen Rochko
50660d54e8 Fix semantics of follow requests another slaps 2017-02-11 17:13:11 +01:00
Eugen Rochko
446aad4ce2 Make PuSH only distribute to subscriptions that match follower domains
Allow PuSH to distribute private toots with that condition
2017-02-11 15:41:39 +01:00
Eugen Rochko
dc851c922e Mentions in private statuses allow mentioned people to see them 2017-02-11 15:10:22 +01:00
Eugen Rochko
00b5731ecb After FollowService, re-fetch remote account asynchronously, do nothing
if account lock info was up to date, otherwise re-do the FollowService
with now updated information
2017-02-11 14:25:01 +01:00
Eugen Rochko
e610555e10 Fix processing of incoming authorizations/rejections 2017-02-11 13:55:07 +01:00
Eugen Rochko
514fdfa268 Don't PuSH-resubscribe if already subscribed 2017-02-11 13:48:28 +01:00
Eugen Rochko
149887a0ff Make follow requests federate 2017-02-11 02:58:00 +01:00
Eugen Rochko
d551e43a9b Improve public tag page 2017-02-10 23:21:01 +01:00
Eugen Rochko
8cca6bc58c Fix spoiler link color in muted context 2017-02-10 23:01:02 +01:00
Eugen Rochko
5c4c046132 Finish up moving colors from JSX to Sass (#584, #348) 2017-02-10 22:58:29 +01:00
Eugen Rochko
d2619e0b53 Site title is now a setting 2017-02-10 22:37:11 +01:00
Eugen
874fffb7dc Merge branch 'master' into patch-3 2017-02-10 19:15:13 +01:00
Eugen
73e388e0d8 Merge pull request #617 from halcy/style-changes
Style changes
2017-02-10 19:10:15 +01:00
shel
3f1f3d0827 Add link to other instances list
This should help federation
2017-02-10 13:06:38 -05:00
Lorenz Diener
cbb962fd77 Move more colours to scss 2017-02-10 16:30:06 +00:00
Lorenz Diener
c9f42a7b85 Move more inline colours to scss 2017-02-10 15:35:19 +00:00
Eugen Rochko
0afed995ce Fix the fix 2017-02-09 21:22:49 +01:00
Eugen Rochko
6331ed16e5 Fix #614 - extra reply-boolean on statuses to account for cases when replied-to
status is not in the system at time of distribution; fix #607 - reset privacy
settings to defaults when cancelling replies
2017-02-09 20:25:39 +01:00
Eugen Rochko
c424df5192 Progress on moving color styles to Sass 2017-02-09 01:20:09 +01:00
Eugen
942a2e7d68 Fix reblogs not having content warnings forwarded 2017-02-08 18:05:46 +01:00
Eugen
d96e031dfc Fix #611 - Layout setting in registrations controller 2017-02-08 03:04:29 +01:00
Isabelle Knott
1d273e4430 Change blocked users icon to fa-ban in getting started view (#608) 2017-02-07 23:48:50 +01:00
Eugen Rochko
02e91a96dd Make streaming API use one pattern-matching redis pubsub connection
Refresh timelines when streaming API reconnects in the UI
2017-02-07 14:39:08 +01:00
Eugen
9d5fb49cd8 Merge pull request #603 from evanminto/activitypub-account
Expose ActivityStreams 2.0 representation of accounts
2017-02-07 02:08:40 +01:00
Evan Minto
28cbb6dc21 Add AS2 format to RABL files 2017-02-06 17:00:55 -08:00
Eugen Rochko
8a081ce588 Fix wrong prediction of whether toot will apear on public timeline in UI 2017-02-07 00:40:35 +01:00
Eugen Rochko
714e41d472 Fix preferences save 2017-02-07 00:23:38 +01:00
Eugen Rochko
ac035108aa Add "clear notifications" button, exclude posts from people who have blocked *you* from public/hashtag timelines 2017-02-07 00:06:40 +01:00
Eugen Rochko
c8252759df Add streaming API channels for local-only statuses 2017-02-06 23:46:14 +01:00
Eugen Rochko
347a153b3d Add API modifiers to limit returned toots from public/hashtag timelines
to only those from local users; Add link to "extended information" to
getting started in the UI; Add defaults for posting privacy; Change
how publish button looks depending on posting privacy chosen
2017-02-06 23:16:20 +01:00
Evan Minto
53234e5947 Add trailing newline 2017-02-06 12:15:47 -08:00
Evan Minto
3fa5d05997 Simplify RABL 2017-02-06 11:39:08 -08:00
Evan Minto
94e213c6c1 Reuse existing controller and route 2017-02-06 01:19:26 -08:00
Eugen Rochko
0af3401553 Don't allow people to follow people they blocked without unblocking first 2017-02-05 21:04:22 +01:00
Eugen Rochko
eee8afb0b7 Remove bios from blocked users list, filter out broken entries from API response 2017-02-05 19:39:00 +01:00
Eugen Rochko
c5a08eb56e Add link to blocked users to getting started page 2017-02-05 19:22:05 +01:00
Eugen Rochko
920ba5fc4e Fix #61 - Add list of blocked users to the UI; clean up failed push notifications API
Try to fix Travis CI setup
2017-02-05 19:18:11 +01:00
Eugen Rochko
77e13c2bc9 Removing failed push notification API, make context loads use cache 2017-02-05 17:51:44 +01:00
Eugen Rochko
19b9e1e2c3 Preheat status cache 2017-02-05 17:24:18 +01:00
Eugen Rochko
6fa4e01139 Fix showing ellipsis even when link hasn't been cut off 2017-02-05 15:29:16 +01:00
Eugen Rochko
87830f99e7 Fix #552 - Replace image links with image icons in status text in the UI 2017-02-05 15:25:55 +01:00
Eugen Rochko
ff2da21d3c Fix content warning margin 2017-02-05 14:50:58 +01:00
Eugen Rochko
b5bf807a34 Remove react-dnd as it was interfering with text selection. Move content
warning mentions preview into area where actual content would be
2017-02-05 04:11:14 +01:00
Eugen Rochko
fb6aa7ad5c Add tracking of delay to streaming API 2017-02-05 03:19:04 +01:00
Eugen Rochko
6cdcac1396 Fix #598 - arrow keys to navigate media; fix #481 - non-exact matches no longer
overshadow requirement for remote-lookup
2017-02-05 03:01:23 +01:00
Eugen Rochko
44fad0160f Add next/previous navigation in modal for media attachments 2017-02-05 02:48:11 +01:00
Eugen Rochko
21972bb398 No replies filter on home timeline no longer hides self-replies 2017-02-05 02:02:46 +01:00
Eugen Rochko
dbb7e5a644 Getting started on draggable columns 2017-02-05 01:58:25 +01:00
Eugen Rochko
a012e4c7ff Fix column settings not being scrollable on short screens 2017-02-05 01:27:31 +01:00
Eugen Rochko
af007f2def Display mentions prepended to the content warning 2017-02-05 01:19:27 +01:00
Evan Minto
8bd8ea7c04 Remove unnecessary leftover code 2017-02-04 14:49:24 -08:00
Evan Minto
e2fbf8bc74 Add an account endpoint for ActivityPub and link to it on HTML profile pages 2017-02-04 14:46:23 -08:00
hoodie
d4d3a10c25 untested!! spoiler hotfix for replies
untested, my vagrant is bugged again, submitted at gargron's request
2017-02-04 17:33:46 -05:00
Eugen Rochko
ccb8ac8573 Make the streaming API also handle websockets (because trying to get the browser EventSource interface to
work flawlessly was a nightmare). WARNING: This commit makes the web UI connect to the streaming API instead
of ActionCable like before. This means that if you are upgrading, you should set that up beforehand.
2017-02-04 00:34:31 +01:00
hoodie
ac3f5a8316 easier comprehension of toot settings and properties (#595)
sounds complex, but really it just reorganizes the posting options and
adds a seperator line
2017-02-03 15:54:23 +01:00
Eugen Rochko
889b814385 Fix bug 2017-02-02 16:57:09 +01:00
Eugen Rochko
1ee4a17f37 Add logging and filtering to the node.js streaming API 2017-02-02 13:56:14 +01:00
Eugen Rochko
17ae7d132c Prevent potential issue with public/hashtag statuses arriving after
they have been loaded and favourited/reblogged from another source

Since the status JSON returned from public/hashtag streams does not
contain favourited/reblogged attributes, merging them should not
override existing ones.
2017-02-02 00:49:25 +01:00
Eugen Rochko
ede04cdb24 Move rendering of JSON payloads for public/hashtag timelines to
FanOutOnWriteService. The only recipient-specific part on them
is reblogged/favourited. But since only newly created statuses
appear on them, it is safe to assume that both attributes would
be false
2017-02-02 00:39:17 +01:00
Eugen Rochko
d9ca46b464 Cleaning up format of broadcast real-time messages, removing
redis-backed "mentions" timeline as redundant (given notifications)
2017-02-02 00:03:31 +01:00
Eugen Rochko
bf60f2898d Fix #529 - Make hashtag timelines show conversations, fix hashtag loading in the UI 2017-01-31 22:35:38 +01:00
Eugen Rochko
8ef79d8dc9 Revert to animating avatars by default 2017-01-31 19:16:35 +01:00
Eugen Rochko
8b9c537d5a Fix elephant friend 2017-01-31 19:08:24 +01:00
Eugen Rochko
52d68be157 Fix CORS issue on avatars resampling 2017-01-31 19:06:13 +01:00
tom
b84d1533d4 Fix text overlapping image in Edge and on mobile (#582)
Changing the way the background image is positioned and the box is sized should fix problems with the text overlapping the image on mobile browsers and Edge.
2017-01-31 19:06:03 +01:00
Eugen Rochko
c2fbd144cf Add "open in web" link to detailed public status pages 2017-01-30 23:01:37 +01:00
Eugen Rochko
86b3cb5120 Fix not reloading account/fetching relationship on newly independent components 2017-01-30 22:35:36 +01:00
Eugen Rochko
f21e7d6ac0 Make profile header scroll along with contents. AccountTimeline, Followers and Following are no longer
nested inside a common parent (<Account>), instead they all embed <HeaderContainer />
2017-01-30 21:44:11 +01:00
Eugen Rochko
404d2050d3 Add explicit "load more" link to the bottom of StatusList and notifications 2017-01-30 18:07:17 +01:00
Eugen Rochko
02cd2e42b2 Improve avatar resampling of non-animated canvas 2017-01-30 15:43:48 +01:00
Eugen Rochko
9bde804ba2 Resolve confusion between ColumnBackButton and the slim version that
the public timeline has been using
2017-01-30 15:22:04 +01:00
Billie Thompson
b1571b1e1d
Add missing back button to "Follow Requests"
Currently we have the problem where the follow request button is missing
from the Follow request tab. This means that when you visit that tab you
either have to press the back button in the browser or re-enter the home
page, which breaks the app flow.

This will resolve that issue by adding a new back button to that tab,
in the same way that the public timeline, and favourites have.
2017-01-29 18:53:51 +00:00
Misty De Meo
a30e669df2 Fix avatar scaling on high-DPI displays (#573) 2017-01-29 14:26:50 +01:00
Eugen Rochko
83ccdeb87a Fix tests 2017-01-29 12:25:10 +01:00
Eugen Rochko
3f075c7794 API for apps to register for push notifications 2017-01-29 01:30:32 +01:00
Eugen Rochko
9b2c728251 Fix settings design on mobile 2017-01-28 21:57:03 +01:00
Eugen Rochko
23b997ae55 Split 2FA login into two prompts 2017-01-28 20:43:38 +01:00
Eugen Rochko
36c57ef8af Add pixel background to modal images 2017-01-28 04:04:09 +01:00
Eugen Rochko
f4bc9620a9 Update settings to re-use admin layout, one big navigation tree, improve settings forms 2017-01-28 03:56:10 +01:00
Eugen Rochko
04bce0cdf2 Clean up 2017-01-27 20:38:35 +01:00
Eugen Rochko
ba192f12e3 Added optional two-factor authentication 2017-01-27 20:35:16 +01:00
Zachary Spector
237cb41ab4 Less ambiguous sensitive content toggle label (#556) 2017-01-27 19:31:14 +01:00
hoodie
6c37285580 fix button outline showing on clicks for prettiness
remove button outlines on-click for retweet, boost, favourite, and reply
buttons
2017-01-27 12:39:36 -05:00
Eugen Rochko
450ad43180 Do not run FetchLinkCardService on local URLs, increase file size limit to 8MB,
fix ProcessFeedService pushing status into distribution if called a second time
while the first is still running (i.e. when a PuSH comes after a Salmon slap),
fix not running escape on spoiler text before emojify
2017-01-27 16:57:23 +01:00
Eugen Rochko
f8bd44a747 Fix font weight 2017-01-26 23:34:40 +01:00
Billie Thompson
55fa8e61e2
Move the fonts from Google Fonts to local assets
Currently we have two problems that are resolved by this change.

The first is that we have a dependency on Google Fonts, which means
that should it ever go down, or it have issues we would also have
issues. This will resolve this by moving the dependencies we load from
there to the local server.

The second issue is that Google Fonts is currently returning the
`local()` css font source. This causes a problem where the users browser
fails to fallback to a missing glyph, resulting in many unusual
characters displaying the failure glyph. This will resolve this by
creating a font-family definition that does not use the `local()`
source.

I did not update the error pages with local fonts, they still use the
remote google fonts api, so they're a self contained page that does not
use the asset pipeline.

This resolves tootsuite/mastodon#531 and tootsuite/mastodon#12
2017-01-26 20:09:03 +00:00
Eugen Rochko
7329fbd8a4 Fix up timeout, improve contrast on "show more", add responsive style
for extremely wide monitors
2017-01-26 18:48:56 +01:00
Eugen Rochko
cc5c1e5feb Removed accidental n+1 query from notifications, updated some deps,
improved how "show more" link looks
2017-01-26 14:52:07 +01:00
Anthony Bellew
589837cfc7 Removed line break before spoiler link, changed color of bg for spoiler link 2017-01-26 03:07:02 -07:00
Anthony Bellew
ebe5095665 Add Padding to inline styles for spoiler 2017-01-26 03:03:26 -07:00
Anthony Bellew
8f18c8f9ad Added inline spoiler button styles 2017-01-26 03:02:42 -07:00
Anthony Bellew
d944946c52 Moved brackets outside of localized strings at Gargron's suggestion 2017-01-26 00:24:52 -07:00
Anthony Bellew
baa52984e9 Add brackets to visually distinguish show more / show less text 2017-01-25 20:56:33 -07:00
Eugen Rochko
905c829179 Improve infinite scroll on notifications 2017-01-26 04:30:40 +01:00
Eugen Rochko
57f7cf8349 Follow request authorizations faster 2017-01-26 03:56:26 +01:00
Eugen Rochko
eb62778bec Fix #537 - opengraph description should display spoiler text when present 2017-01-26 03:45:14 +01:00
Eugen Rochko
1c507ff172 Fix #538 - Darken buttons to increase contrast 2017-01-26 03:32:00 +01:00
Eugen Rochko
3a310e8f63 Fix CSS mistake 2017-01-26 03:17:48 +01:00
Eugen
97d9517b6b Merge pull request #534 from yiskah/patch-2
Increase color contrast on getting started text
2017-01-26 02:51:27 +01:00
blackle
6bba337080 Only open status on left mouse press 2017-01-25 20:43:41 -05:00
shel
33e09cc76b Increase color contrast on getting started text
Currently, the getting started text fails WCAG standards for color contrast by a lot. Especially on the part overlapping with the elephant graphic which is nearly unreadable even for users with 20|20 vision. This change doesn't fix the elephant overlap but at least makes the text meet AAA WCAG Small Text color contrast standards, making it easier to read.
2017-01-25 20:19:37 -05:00
Eugen Rochko
97da56d02b Fix loading of avatars before drawing them to canvas 2017-01-25 17:23:17 +01:00
Eugen Rochko
00fa850bdc Fix #187, address #441 - <Avatar> component now plays gifs only while hovered 2017-01-25 17:07:57 +01:00
Eugen Rochko
3beb24ad55 Use <summary> to encode content warnings instead 2017-01-25 16:53:30 +01:00
Eugen Rochko
51a7047367 Fix order of migrations 2017-01-25 15:01:00 +01:00
Eugen
41f5459af5 Merge pull request #524 from blackle/master
fix up spoilers
2017-01-25 02:16:36 +01:00
blackle
ca13ec04a8 fix up spoilers 2017-01-24 20:14:20 -05:00
Eugen Rochko
10ffd455a8 Fix #522 - prevent blocked users from reblogging 2017-01-25 01:48:46 +01:00
Eugen Rochko
999cde94a6 Instead of using spoiler boolean and spoiler_text, simply check for non-blank spoiler_text
Federate spoiler_text using warning attribute on <content /> instead of a <category term="spoiler" />
Clean up schema file from accidental development migrations
2017-01-25 01:29:16 +01:00
Eugen
f8da0dd490 Merge branch 'master' into master 2017-01-24 21:56:06 +01:00
Eugen Rochko
8a880a3d46 Make blocks create entries and unfollows instantly, but do the clean up
in the background instead. Should fix delay where blocked person
can interact with blocker for a short time before background job
gets processed
2017-01-24 21:40:41 +01:00
Misty De Meo
adda642c63 Fix invisible CSS class 2017-01-24 11:49:31 -08:00
Eugen Rochko
e47b8e778b Fix links in toots opening the toot at first 2017-01-24 18:51:09 +01:00
Eugen Rochko
80cefd5b3c Fix #204, fix #515 - URL truncating is now a style so copypasting is not
affected, replaced onClick handler with onMouseUp/Down to detect text
selection not trigger onClick handler then
2017-01-24 17:05:44 +01:00
Eugen
4f3264d291 Merge branch 'master' into boostspin 2017-01-24 14:27:13 +01:00
blackle
4a146a0d18 Make boost animation an SVG that uses SCSS colours 2017-01-24 07:48:13 -05:00
Eugen Rochko
21c209636d Set isLoading false on timelines when request fails 2017-01-24 13:04:12 +01:00
Eugen Rochko
1f5792c834 API now respects ?limit param as long as it's within 2x default limit 2017-01-24 04:22:10 +01:00
Eugen Rochko
d9022884c6 Smarter infinite scroll 2017-01-24 04:12:10 +01:00
blackle
bf0f6eb62d Implement a click-to-view spoiler system 2017-01-23 21:07:40 -05:00
Eugen Rochko
1761d3f9c3 Fix mistake 2017-01-23 22:18:08 +01:00
Eugen Rochko
d00189b55a Domains with reject_media? set to true won't download avatars either 2017-01-23 21:55:29 +01:00
Eugen Rochko
8aab692034 Less re-rendering 2017-01-23 21:40:48 +01:00
Eugen Rochko
434cf8237e Optional domain block attribute that prevents media attachments from being downloaded 2017-01-23 21:36:08 +01:00
Eugen Rochko
cca82bf0a2 Move merging/unmerging of timelines into background. Move blocking into
background as well since it's a computationally expensive
2017-01-23 21:29:34 +01:00
Eugen Rochko
f392030ab8 Add /api/v1/notifications/clear, non-existing link cards for statuses will
now return empty hash instead of throwing a 404 error. When following,
merge into timeline will filter statuses
2017-01-23 21:09:27 +01:00
Eugen Rochko
f2e08ff568 Remove unneeded block check 2017-01-23 17:40:23 +01:00
Eugen Rochko
6d98a73180 Domain blocks now have varying severity - auto-suspend vs auto-silence 2017-01-23 17:38:38 +01:00
Eugen Rochko
ef2b924679 Forgot to commit 2017-01-23 17:18:41 +01:00
Eugen Rochko
f855d645b2 Move all hex colors in SASS to variables and all variations to darken/lighten 2017-01-23 16:01:46 +01:00
Eugen Rochko
d4d56b8af0 Fix #365, 1/2 of #408 - replace rails_autolink with URI.regexp, run link_hashtags on simplified_format 2017-01-23 14:45:09 +01:00
Eugen Rochko
aa9c51a34c Fix a couple unhandled exceptions 2017-01-23 13:56:57 +01:00
Eugen Rochko
a1894786cf Potentially fix notifications issue 2017-01-23 13:43:14 +01:00
Misty De Meo
33fd8a7d95 Textarea: fix clicking on name suggestions
This was broken in c3e9ba6a, which added an onBlur to hide the
suggestions when the textarea loses focus. Unfortunately, this fired
even when the textarea lost focus to its own suggestions box, and that
meant that onSuggestionClick is never called.

Setting a short window in which onSuggestionClick can still happen
before hiding the suggestion area ensures that clicking still works,
while still hiding the suggestions if the user clicks on something else.
2017-01-22 22:57:58 -08:00
Eugen
1953e3b6ed Fix inflection 2017-01-22 23:08:51 +01:00
Eugen
cea9fb31fe Mitigate inconsistent notifications 2017-01-22 21:50:17 +01:00
Eugen Rochko
e22a56183a Improve error page layouting. 500 page has to stay static because it's
used from nginx when Rails fails.
2017-01-21 22:30:47 +01:00
Eugen Rochko
b4a4eb73ae Merge branch 'fix/error-pages' of https://github.com/ineffyble/mastodon into ineffyble-fix/error-pages 2017-01-21 22:20:01 +01:00
Eugen Rochko
3a4b5961be Method to fetch a single notification 2017-01-21 22:14:13 +01:00
Effy Elden
8f21f5522f Call uniq on the string version of mb_chars tags 2017-01-21 21:02:42 +11:00
Eugen Rochko
1aae0cfc2c Fix #475 - add space after autocomplete 2017-01-20 21:39:41 +01:00
Eugen Rochko
9bd3b11cfb Instead of refusing to create accounts, domain blocks auto-suspend new accounts from that domain 2017-01-20 20:14:02 +01:00
Eugen Rochko
05abd977c1 Fix preview cards layout, do preview card crawling for remote statuses 2017-01-20 18:31:49 +01:00
blackle
7f63edd820 Show visibility toggle on videos, show regardless of sensitivity 2017-01-19 21:24:30 -05:00
Eugen Rochko
c8e4b9c663 No loading bars for cards, no failure if it 404s (that's expected) 2017-01-20 01:07:53 +01:00
Eugen Rochko
f0de621e76 Fix #463 - Fetch and display previews of URLs using OpenGraph tags 2017-01-20 01:00:14 +01:00
Eugen Rochko
8d0284f8d9 Hide more non-essential loading bars 2017-01-19 11:23:24 +01:00
Eugen Rochko
98560b232a Don't show loading bar when re-loading already loaded status. Don't even try to fetch ancestors from DB when in_reply_to_id is nil 2017-01-19 11:06:06 +01:00
Eugen Rochko
9b0941182f Don't show loading bar when checking account timeline for newer stuff 2017-01-19 11:01:01 +01:00
Eugen Rochko
46be4631ae Fix #222 - Update followers count when following/unfollowing
Also, since the root component connects to the stream that updates home/notification columns,
there is pretty much no case for refreshing those columns beyond initial load. So, move the
loading of those columns into the root component, to prevent unneccessary reloads when switching tabs
on mobile or resizing desktop window between mobile/desktop layouts
2017-01-19 10:54:18 +01:00
Eugen Rochko
f051c2e813 Fix statsd null backend not being initialized properly 2017-01-19 09:37:07 +01:00
Eugen
8b9206f7d9 Try to avoid any potential loops 2017-01-19 02:14:57 +01:00
Eugen Rochko
306eb6e9c9 Add optional StatsD performance tracking 2017-01-18 23:44:29 +01:00
Eugen Rochko
7cfd5b680a Fix forgotten change of settings 2017-01-17 20:37:54 +01:00
Eugen Rochko
c468446f4c Fix boops? 2017-01-17 20:28:32 +01:00
Eugen Rochko
cde0476ca2 Fix #487 2017-01-17 20:11:16 +01:00
Eugen Rochko
fcb5a85cdd Add sounds for notifications. Boop by @jk@mastodon.social 2017-01-17 20:09:03 +01:00
Eugen Rochko
6cf44ca92c Improve how the list entry Account component looks when target is blocked/follow is requested 2017-01-16 19:36:32 +01:00
blackle
889709a2a6 Show 'do not display in public timeline' when replying to self 2017-01-16 10:26:44 -05:00
Eugen Rochko
1a33e4042e Fix upload file input being re-rendered needlessly 2017-01-16 14:21:55 +01:00
Eugen Rochko
7d53ee73f3 Fix #238 - Add "favourites" column 2017-01-16 13:28:25 +01:00
Eugen Rochko
da5d366230 Fix #414 - Improve lightbox, add loading indicator 2017-01-16 12:04:02 +01:00
Eugen Rochko
2ae0fb4419 Merge branch 'sensitive' of https://github.com/blackle/mastodon into blackle-sensitive 2017-01-16 11:36:02 +01:00
Eugen Rochko
0439c7d58b Move follow requests link above logout link in getting started column 2017-01-16 11:35:32 +01:00
blackle
144402ec7e Show visibility toggle on media gallery for sensitive images 2017-01-15 20:27:08 -05:00
blackle
383114add3 Change boost sprite to look like fa-retweet 2017-01-15 11:40:05 -05:00
Eugen Rochko
926459fc0a Fix typo introduced in #470 which made unlisted toggle only fade in/out and not also collapse 2017-01-15 14:59:25 +01:00
Eugen Rochko
7d7a11250c Fix #427 - don't suggest hashtag if the search value contains a space 2017-01-15 14:47:39 +01:00
Eugen Rochko
1d5cbfa356 Fix #449 - don't do relationships fetch for empty array of IDs 2017-01-15 14:47:39 +01:00
Eugen Rochko
cc1eccc8bc Fix #466 - when logged in, make "get started" link to the frontpage instead of sign up 2017-01-15 14:47:39 +01:00
Eugen Rochko
e9737c2235 Fix tests, add applications to eager loading/cache for statuses, fix
application website validation, don't link to app website if website isn't set,
also comment out animated boost icon from #464 until it's consistent with non-animated version
2017-01-15 14:01:33 +01:00
Eugen Rochko
ab165547fd Merge branch 'feature/toot-app-source' of https://github.com/ineffyble/mastodon into ineffyble-feature/toot-app-source 2017-01-15 13:23:47 +01:00
Eugen
1f7c0ad8d3 Merge pull request #464 from blackle/backflip
Make boost button spin around
2017-01-15 13:19:15 +01:00
Effy Elden
e45fed58cb Add a textual 'Back to Mastodon' link in footer of settings pages 2017-01-15 11:03:35 +11:00
Effy Elden
ed41f9f0b1 Add nice error page for CSRF errors/cookie issue, and fix error page handling altogether 2017-01-15 10:30:23 +11:00
Effy Elden
3f84816b24 Add nice error page for CSRF errors/cookie issue, and fix error page handling altogether 2017-01-15 10:27:54 +11:00
blackle
a67ffcbf56 Make boost button arrows spin around 2017-01-14 17:56:24 -05:00
Effy Elden
f81dc7a33a Merge branch 'feature/toot-app-source' of github.com:ineffyble/mastodon into feature/toot-app-source 2017-01-15 09:12:11 +11:00
Effy Elden
6c002cf615 Test for presence of Application in haml before trying to render details, to fix errors identified by CI 2017-01-15 09:10:44 +11:00
Effy Elden
65122798b2 Fix typo in rel 2017-01-15 09:04:14 +11:00
Effy Elden
d6bc0e8db4 Add tracking of OAuth app that posted a status, extend OAuth apps to have optional website field, add application details to API, show application name and website on detailed status views. Resolves #11 2017-01-15 08:58:50 +11:00
Effy Elden
32d756fb22 Hide 'Do not display on public timeline' for reply toots. Fixes #412. 2017-01-15 06:10:23 +11:00
Eugen
f63f0c4625 Fix too late return 2017-01-14 02:22:16 +01:00
Eugen Rochko
7cde08e30b Improve extended about page layout 2017-01-13 20:27:02 +01:00
Eugen Rochko
c01dd089ff Adding about/more page with extended information that can be set up by an admin 2017-01-13 20:16:38 +01:00
Eugen Rochko
e25170f960 Add extended about page stub 2017-01-13 03:24:41 +01:00
Eugen Rochko
2939e9898b Extend rails-settings-cached to merge db-saved hash values with defaults 2017-01-13 02:42:22 +01:00
Eugen Rochko
ca50ceeaf0 Add settings for contact information 2017-01-12 20:54:14 +01:00
Eugen Rochko
b11fdc3ae3 Migrate from ledermann/rails-settings to rails-settings-cached which allows global settings
with YAML-defined defaults. Add admin page for editing global settings. Add "site_description"
setting that would show as a paragraph on the frontpage
2017-01-12 20:46:24 +01:00
Eugen Rochko
4a2ee43e80 Fix #457 - escape JSON in INITIAL_STATE (this bug only ever allowed a user to xss themselves rather than anyone else) 2017-01-12 03:54:50 +01:00
Eugen Rochko
7951e7ffd5 Add ruby version to Gemfile, move devDependencies in package.json to dependencies,
fix bug in process feed service
2017-01-11 15:39:31 +01:00
Eugen
10739df458 Merge pull request #456 from ineffyble/fix-repo-url
Fix repo URL
2017-01-11 14:19:19 +01:00
Eugen Rochko
3ad0496ccb Better animations 2017-01-11 04:21:49 +01:00
Effy Elden
f876a8681d Update the Mastodon repository URL from Gargron/ to tootsuite/ in various places 2017-01-11 13:24:14 +11:00
Eugen Rochko
18b11100e7 Fix issue when settings are not defined for column type 2017-01-10 17:33:32 +01:00
Eugen Rochko
312c51b5c8 Home column filters 2017-01-10 17:25:10 +01:00
Eugen Rochko
1e9d2c4b1e Add "not found" component to UI 2017-01-10 13:50:59 +01:00
Eugen
67a31454ad Merge pull request #450 from blackle/master
simplify emojification on public pages with .emojify class
2017-01-10 12:21:06 +01:00
blackle
917cf0bf5d simplify emojification on public pages with .emojify class 2017-01-09 22:41:47 -05:00
Eugen Rochko
205ba00017 Fix sandboxed iOS login again 2017-01-09 19:43:53 +01:00
Eugen Rochko
def1f8c5b3 Merge branch 'master' of https://github.com/blackle/mastodon into blackle-master 2017-01-09 14:12:40 +01:00
Eugen Rochko
3bddd647e0 Merge branch 'dropdown' of https://github.com/blackle/mastodon into blackle-dropdown 2017-01-09 14:10:32 +01:00
Eugen Rochko
75f80bef10 Persist UI settings, add missing localizations for German 2017-01-09 14:00:55 +01:00
Eugen Rochko
23ebf60b95 Improve initialState loading 2017-01-09 12:37:53 +01:00
blackle
131bae89fd Generate key for each input so we can upload the same file even after deleting 2017-01-08 21:00:13 -05:00
blackle
d64c454cfe Switch to compose view when tapping 'mention' in dropdown on mobile 2017-01-08 17:12:00 -05:00
Eugen Rochko
2e71bb031b Fix Paperclip timeout setting. Fix bug introduced in #437 2017-01-08 19:12:54 +01:00
Eugen
38bc85e695 Merge pull request #443 from blackle/master
Add call-to developers on getting started page
2017-01-08 13:36:02 +01:00
blackle
05e964688d Expand dropdown leftways on status view 2017-01-08 06:32:37 -05:00
blackle
b4f09bae1d Add call-to developers on getting started page 2017-01-08 00:23:22 -05:00
Eugen
69643338f6 Merge pull request #437 from krainboltgreene/patch-1
Simplifying followers mappings
2017-01-08 04:14:54 +01:00
Kurtis Rainbolt-Greene
abe3ae1cc2 Simplifying followers mappings
Deduplicating some logic and switching to pluck, to avoid pulling the entire model in memory.
2017-01-07 18:09:00 -08:00
Kurtis Rainbolt-Greene
4a7e3e5082 Less complicated determination 2017-01-07 17:59:51 -08:00
Kurtis Rainbolt-Greene
e5d9009d71 Using "rails style" order arguments 2017-01-07 17:55:40 -08:00
Eugen
7a0a13ab53 Merge pull request #432 from blackle/volume-icon
Show correct volume icons on video player
2017-01-08 02:36:12 +01:00
blackle
8a571158c9 Show correct volume icons on video player 2017-01-07 20:23:15 -05:00
Eugen
cec7e69827 Merge pull request #430 from blackle/logout_mobile
Show logout button on getting started so it's available on mobile
2017-01-08 01:24:06 +01:00
blackle
e1ca354956 Show logout button on getting started so it's available on mobile 2017-01-07 18:41:57 -05:00
blackle
57ff221c0f Emojify display names in notifcations 2017-01-07 18:16:14 -05:00
blackle
61211b509c Improve contrast of bio and username text in account info 2017-01-07 16:39:30 -05:00
Eugen Rochko
be6ae3546f Replace getting started icon on desktop nav bar with asterisk instead of hamburger 2017-01-07 15:46:39 +01:00
Eugen Rochko
5c7add2176 Fix #147 - Unreblogging will leave original status in feeds 2017-01-07 15:44:22 +01:00
Eugen Rochko
989c3f4002 Add tab bar alternative to desktop UI, upgrade react & react-redux 2017-01-06 22:09:55 +01:00
Eugen Rochko
1bfbce7b45 Clean up h-card mess of divs 2017-01-06 20:24:51 +01:00
Eugen Rochko
72c3a41bef Fix h-card classes and remote follow button appearing when it shouldn't 2017-01-06 20:15:24 +01:00
Greg V
18deeb9db5 Add Microformats2 markup
h-feed, h-card and h-entry
2017-01-06 18:10:10 +03:00
Eugen
92bd5f62f6 Merge pull request #417 from ineffyble/twitter-card-metadata
Twitter Cards support
2017-01-06 01:16:45 +01:00
Eugen Rochko
7b9f8766e8 Fix #416 - Generate random unique 14-byte (19 characters) shortcodes
for local attachments, use them in URLs. Check status privacy
before redirecting to actual file.
2017-01-06 00:29:12 +01:00
Effy Elden
819bfb75c6 Add twitter:card metatag to enable Twitter Cards support 2017-01-06 09:47:40 +11:00
Effy Elden
10a9ebae3b Add tag property to desktop notifications, preventing duplicates (i.e. when multiple Mastodon tabs are open) 2017-01-06 08:26:45 +11:00
Eugen Rochko
00b9ba64c9 Fixed unexpected error 2017-01-05 14:23:59 +01:00
Eugen Rochko
a1de2e332d Fix compose form bug 2017-01-05 14:18:38 +01:00
Eugen Rochko
ca7dce4a5a Fix selection resetting in compose form after unrelated data updates 2017-01-05 14:11:18 +01:00
Eugen Rochko
10e6288444 Revert to Roboto for all 2017-01-05 13:59:58 +01:00
Eugen
9e6ceb3201 Revert "Display native emoji on browsers which support it" 2017-01-05 13:45:21 +01:00
Eugen
87f76d4095 Merge pull request #403 from ticky/use-system-fonts
Use system fonts on more platforms
2017-01-05 13:37:48 +01:00
Eugen
c3c9879b5e Merge pull request #404 from mistydemeo/emoji
Display native emoji on browsers which support it
2017-01-05 13:37:29 +01:00
Eugen
df89cb5488 Merge pull request #399 from ticky/public-timeline-de-hoist
Public timeline de-hoist
2017-01-05 13:36:55 +01:00
Eugen
92638308ee Merge pull request #400 from ticky/differentiate-settings-links
Differentiate settings links
2017-01-05 13:36:13 +01:00
Misty De Meo
53b765f4b1 Bump emoji requirement to Unicode 9 2017-01-04 22:47:51 -08:00
Misty De Meo
c318e6e42e Display native emoji on browsers which support it 2017-01-04 22:23:02 -08:00
Jessica Stokes
1f3c895ffb
Use system fonts on more platforms
This allows other platforms such as Windows, macOS and iOS to use their system fonts rather than downloading a copy of Roboto. It also makes the app feel a little closer to native on those platforms!
2017-01-04 20:24:27 -08:00
Misty De Meo
c100b83b98 Automatically position cursor when writing a reply toot 2017-01-04 20:04:14 -08:00
Jessica Stokes
7ac55d2674
Differentiate settings links
The "settings" links in the Getting Started section (or, if #399 were to happen, "more" menu) and compose sections are now different; the "compose" link is "Edit profile," while the one in the Getting Started section is now "Preferences."

All languages have been updated to accommodate this, based on the existing usages of these phrases in language files in the Rails part of the app!

addresses part of #384
2017-01-04 19:47:02 -08:00
Jessica Stokes
05cc5636d8
Remove hamburger from "getting started" 2017-01-04 19:30:39 -08:00
Jessica Stokes
9c493b1ea2
Replace "Public" in tab bar with "More" hamburger 2017-01-04 19:30:22 -08:00
Jessica Stokes
0c600e9db6
Move "getting started" to its own route 2017-01-04 19:30:02 -08:00
Eugen
9bb1b97d2a Merge pull request #394 from ticky/email-reblog-to-boost
"Reblog" -> "boost" in more places
2017-01-05 03:35:22 +01:00
Eugen
3b604d2786 Merge pull request #395 from ticky/hide-media-list-if-no-media
Don't render the media list when there's no media
2017-01-05 03:34:49 +01:00
Eugen
879aa9ad26 Merge pull request #397 from ticky/friendlier-unknown-errors
Friendlier unknown errors
2017-01-05 03:34:06 +01:00
Eugen
52850c51db Merge pull request #396 from ticky/fix-cmd-enter
Fix Command-enter tooting
2017-01-05 03:34:01 +01:00
Jessica Stokes
cc46c6b493
Friendlier unknown errors
Don't ask users to check the console - if they're on mobile, they probably can't anyway ;)
2017-01-04 18:31:45 -08:00
Jessica Stokes
1da73ecade
Fix Command-enter tooting
metaKey is only set correctly on keyDown, not keyUp, so this swaps to using that
2017-01-04 18:29:43 -08:00
Eugen Rochko
6c28886317 Improve background jobs params and error handling 2017-01-05 03:28:21 +01:00
Eugen Rochko
251b04298e Fix undesired delivering of private toot to remote accounts that follow author 2017-01-05 03:17:23 +01:00
Eugen Rochko
98729d50c8 Make shortcode emojis work, make getting started area scrollable 2017-01-05 03:14:33 +01:00
Jessica Stokes
cbcb7e1241
Don't render the media list when there's no media
This stops the empty compose view from scrolling on 4-inch devices.
2017-01-04 18:10:45 -08:00
Jessica Stokes
bb033c1d37
"Reblog" -> "boost" in more places
A couple of places were using "reblog" rather than "boost" - this updates them to match the web UI
2017-01-04 18:00:50 -08:00
Jessica Stokes
aaee8c9b5d
Disallow compose navbar from being shrunk 2017-01-04 17:44:41 -08:00
Jessica Stokes
312736cd1b
Stop Mastodon friend from overlapping text 🐘 2017-01-04 17:33:05 -08:00
Jessica Stokes
5b75f6d0f3
Make tabs bar take up less room on 4-inch phones 2017-01-04 17:32:11 -08:00
Jessica Stokes
3807b0b171
Improve quality of life for 4-inch phones
Removes extra UI margins < 360px, and allows the tab bar to scroll. Also slightly improves horizontal scrolling behaviour on desktop.
2017-01-04 17:29:09 -08:00
Eugen Rochko
98b83aca37 Fix #391 - relative timestamps now contain an exact datetime in title 2017-01-04 15:43:28 +01:00
Eugen Rochko
1bbcd71cd4 Fix #390 - fix redirect after sign-up (to login page instead of homepage) 2017-01-04 15:31:25 +01:00
Anthony Bellew
1fcb807d91 Reduce height of media query to hide avatar/bio
An additional selector was provided to make the bio only hide on the timeline and not on the user page itself.
2017-01-03 11:55:36 -07:00
Mitchell Hentges
4d300e2507 On file-drag, show a border around textarea 2017-01-03 00:43:45 -08:00
Eugen Rochko
3125dd8920 Add "back" button on column headers of public and hashtag timelines. The "back"
button takes you back to getting started page
2017-01-03 01:15:42 +01:00
Eugen Rochko
86be6d48c9 Fix accidental distribution of hidden stream entries to PuSH subscribers 2017-01-03 00:44:23 +01:00
Eugen Rochko
f79ba2de83 Fix admin UI not loading JS, make sure to strip "acct:" out of remote account's usernames when authorizing follow 2017-01-02 22:31:10 +01:00
Eugen Rochko
136e18b875 Unblocks also federate 2017-01-02 14:19:02 +01:00
Eugen Rochko
65647a2472 See #244 - Added notifications column settings to filter what's displayed
in the column and what appears as desktop notifications. Settings do not
persist yet
2017-01-02 14:09:57 +01:00
Eugen Rochko
75122e162d Fix uri expansion during remote follow 2017-01-02 12:19:02 +01:00
Eugen Rochko
c04002b340 Federate blocks with the http://mastodon.social/schema/1.0 verb namespace 2017-01-02 12:17:51 +01:00
Eugen Rochko
9f9e11ce07 Update screenshot on about page 2017-01-01 19:55:33 +01:00
Eugen Rochko
8f47f6a7ec Adding remote follow button 2017-01-01 19:54:34 +01:00
Eugen Rochko
8d44281677 Set in_reply_to_account on statuses to non-self value when possible, thus
resolving the confusion from self-chain replies ultimately linking to a
non-self status. Adjust filters
2016-12-31 14:36:25 +01:00
Eugen Rochko
a302e56f9a Add API for retrieving favourites 2016-12-29 20:33:26 +01:00
Eugen Rochko
49834a6e7f Add API for retrieving blocked accounts 2016-12-29 20:12:32 +01:00
Eugen Rochko
8724094ed0 Support remote follow request providing URL instead of acct 2016-12-29 17:23:27 +01:00
Eugen Rochko
d7dc84439c Add ability to use remote follow function on other sites 2016-12-29 16:54:54 +01:00
Eugen Rochko
8b94d283fb Fix wrong person being notified after nested reblog call, fix favourites leaking private toots in Atom feeds 2016-12-28 13:21:12 +01:00
Eugen Rochko
e2c2fefc36 Add illustration to getting started column 2016-12-27 23:30:11 +01:00
Eugen
9aaf223ae2 Add getting started illustration 2016-12-27 23:18:56 +01:00
Eugen Rochko
eca6110fc4 Add preferences for follow request notification e-mails 2016-12-26 22:04:16 +01:00
Eugen Rochko
5418df467d Only display follow requests link in getting started window if account is locked 2016-12-26 21:55:52 +01:00
Eugen Rochko
2146ac91a0 Follow requests send e-mail notifications, but are excluded from notifications API
Better initial state for unlisted/nsfw toggles
2016-12-26 21:52:03 +01:00
Eugen Rochko
3689c119f0 Replacing follow requests in the settings area with in-UI column 2016-12-26 21:33:51 +01:00
Eugen Rochko
004382e4d0 Adding follow requests API 2016-12-26 19:30:45 +01:00
Eugen Rochko
7376af90f7 Don't show statuses to blocked users 2016-12-26 19:13:56 +01:00
Eugen Rochko
3282448878 Fix #86 - resolve layout breaking on zoom-out on accounts grid 2016-12-26 18:48:33 +01:00
Eugen Rochko
c3e9ba6a66 Fix #357 - Also make textarea blur close suggestions which make it more accessible on touch devices 2016-12-24 01:39:14 +01:00
Eugen Rochko
0a84ab43d2 Fix #367 - Lock icon instead of retweet icon on boost button on private statuses 2016-12-24 01:33:55 +01:00
Eugen Rochko
0bc6da89d2 Hide unlisted toggle when private is active, hide nsfw toggle when no files added 2016-12-24 01:28:10 +01:00
Anthony Bellew
538d109a82 Re-add unlisted toggle to the UI 2016-12-24 01:28:02 +01:00
Eugen Rochko
6e064cf715 Fix account timelines bug 2016-12-23 01:13:16 +01:00
Eugen Rochko
26f969665d Fix alignment 2016-12-23 00:45:16 +01:00
Eugen Rochko
b191afcb5b Fix confirmation email being sent to old address when changing it 2016-12-23 00:43:03 +01:00
Eugen Rochko
de9b6e3a6a Compose form in the UI now has public/private toggle instead of public/unlisted 2016-12-23 00:38:16 +01:00
Eugen Rochko
b302b9202b Add page for authorizing/rejecting follow requests 2016-12-23 00:04:52 +01:00
Eugen Rochko
05b13c38b5 Re-enable Webfinger for locked accounts but don't handle "follow" events
coming in via Salmon.

Currently no way to prevent remote follows, but they will only receive public
and unlisted posts
2016-12-22 23:17:57 +01:00
Eugen Rochko
f729cfc881 Private posts mentioning non-followers should not notify them, neither locally nor via Salmon 2016-12-22 23:14:24 +01:00
Eugen Rochko
9d42bff285 Hide follow/unfollow button from public page if follow already requested 2016-12-22 23:07:46 +01:00
Eugen Rochko
b891a81008 Follow call on locked account creates follow request instead
Reflect "requested" relationship in API and UI
Reflect inability of private posts to be reblogged in the UI
Disable Webfinger for locked accounts
2016-12-22 23:03:57 +01:00
Eugen Rochko
2d2154ba75 Add "locked" flag to accounts, prevent blocked users from following, force-unfollow blocked users 2016-12-22 21:34:19 +01:00
Eugen Rochko
f91b6fa9e1 Merge branch 'master' into development 2016-12-22 11:35:00 +01:00
Eugen Rochko
3caf0cfb03 Ensure that reblogs and favs always refer to the original status rather than a reblog wrapper 2016-12-22 11:34:05 +01:00
Eugen Rochko
025f7bb223 Fix notifications reducer bug 2016-12-22 11:23:30 +01:00
Eugen Rochko
80e02b90e4 Private visibility on statuses prevents non-followers from seeing those
Filters out hidden stream entries from Atom feed
Blocks now generate hidden stream entries, can be used to federate blocks
Private statuses cannot be reblogged (generates generic 422 error for now)
POST /api/v1/statuses now takes visibility=(public|unlisted|private) param instead of unlisted boolean
Statuses JSON now contains visibility=(public|unlisted|private) field
2016-12-21 20:04:13 +01:00
Eugen Rochko
c4bc5c8930 Federated profile bio now formatted 2016-12-21 19:10:19 +01:00
Eugen Rochko
318e63cb79 Fix #250 - no text adjust 2016-12-21 00:56:13 +01:00
Eugen Rochko
587bf6820e Improved launcher icon on Android 2016-12-21 00:28:57 +01:00
Eugen Rochko
e09d3a2c66 Fix #249 - use window.location hack to let people login from sandboxed iOS homescreen 2016-12-21 00:13:13 +01:00
Toby Pinder
ae7a2957aa Smush assets for quicker load times/less bandwidth used. 2016-12-20 19:49:44 +00:00
Eugen Rochko
4c6809f6ab Adding some rescues to workers, e.g. don't fail removal job when status can't be found in the first place (already removed) 2016-12-19 09:31:12 +01:00
Eugen Rochko
0542773bca Make unfavouriting async to prevent timeout errors from leaving orphaned records behind 2016-12-19 09:12:29 +01:00
Eugen
6b67b55cee Merge pull request #356 from victorhck/master
added two missings spanish  translations
2016-12-18 21:22:46 +01:00
Eugen Rochko
5ae1b39ec9 Adjusting public display of statuses to look similar to logged-in UI,
fix #361 with rich OEmbed display via iframe, fix #237 by hiding sensitive
content behind a spoiler on public pages
2016-12-18 19:47:11 +01:00
Eugen Rochko
aed25932b5 Add OEmbed iframe HTML, convert emojis on public pages, increase size of attachment thumbnails 2016-12-18 15:20:39 +01:00
Eugen Rochko
6de079a5af Removing external hub completely, fix #333 fixing digit-only hashtags,
removing web app capability from non-webapp pages
2016-12-18 12:24:37 +01:00
Eugen Rochko
c4ffffbeed Add a better cropped image 2016-12-15 01:07:58 +01:00
Eugen Rochko
642e464670 Adding art by cutewitchirl, open graph tags for about page 2016-12-15 00:59:49 +01:00
victorhck
f5c8d64b6d added to missings spanish translations 2016-12-14 18:43:00 +01:00
Eugen Rochko
4df38516e6 Fix key up listener on compose form 2016-12-14 18:38:28 +01:00
Eugen Rochko
b27066e154 Re-implemented autosuggestions component for the compose form
Fix #205, fix #156, fix #124
2016-12-14 18:21:31 +01:00
Eugen Rochko
4284093aa3 Fixed AS delete verb 2016-12-14 15:13:39 +01:00
Eugen Rochko
76ec907993 Improved admin UI 2016-12-13 13:42:10 +01:00
Eugen Rochko
668013265c Restoring old async behaviour of thread resolving as it proved to be more robust 2016-12-12 21:12:19 +01:00
Eugen Rochko
908fcf83c6 Fix timelines loading bug 2016-12-12 14:39:18 +01:00
Eugen Rochko
6d1066fe61 Adding some navigation items from #262 to the getting started screen 2016-12-12 14:27:52 +01:00
Eugen Rochko
6e7e97c849 Fix metaKey usage 2016-12-11 23:54:32 +01:00
Eugen Rochko
73c142fb94 Fix #167 - Enable cmd+enter on Mac to submit form 2016-12-11 23:39:25 +01:00
Eugen Rochko
cda297450f Fix #171 - You can now drag & drop files to be uploaded 2016-12-11 23:35:06 +01:00
Eugen Rochko
f92cb02b9b Fix #203 - try/catch around JSON parse 2016-12-11 23:18:41 +01:00
Eugen Rochko
2b22c33039 Fix #157 - labels/titles on follow/unfollow buttons 2016-12-11 23:13:54 +01:00
Eugen Rochko
6a5036ab19 Fix whitespace preservation in status text 2016-12-11 23:08:46 +01:00
Eugen Rochko
e90fcb46e3 Sensitive content federates using the "nsfw" hashtag 2016-12-11 22:49:25 +01:00
Eugen Rochko
f90133d2ad Thread resolving no longer needs to be separate from ProcessFeedService,
since that is only ever called in the background
2016-12-11 22:23:11 +01:00
Eugen Rochko
6c60757e99 Improve images in opengraph meta tags 2016-12-09 12:08:39 +01:00
Eugen Rochko
c8e0ceed56 Fix OpenGraph meta tags 2016-12-09 11:56:27 +01:00
Eugen Rochko
0c491ea928 Fix translations 2016-12-09 11:52:09 +01:00
Stanislav Makar
d2ab41aea4 Declare Ukrainian
Closes: #345
2016-12-08 18:57:58 +02:00
Vladyslav
d85c566960 Final steps for Ukrainian translation 2016-12-07 20:39:22 +02:00
Eugen Rochko
06dd359239 Downsize attachment previews, but improve quality from 80 to 90 2016-12-07 12:09:20 +01:00
Eugen Rochko
bf5f8a2449 Fix #341 - Remove react-responsive in favour of simpler resize handler/window width 2016-12-06 19:18:37 +01:00
Eugen Rochko
2ef9f36cf2 Improve suspend account service 2016-12-06 18:32:36 +01:00
Eugen Rochko
f978b06dd1 Add suspend account functionality to admin UI 2016-12-06 18:22:59 +01:00
Eugen Rochko
f406e01fcf Add filters for suspended accounts 2016-12-06 18:03:30 +01:00
Eugen Rochko
2488162733 Adding suspend account service 2016-12-06 17:41:42 +01:00
Eugen Rochko
1357c1cb3d Add single user mode 2016-12-06 17:19:26 +01:00
Eugen Rochko
84d2371d6a Fix 2016-12-06 00:24:33 +01:00
Eugen Rochko
39cc9fde8a Add account suspension 2016-12-05 22:59:30 +01:00
Eugen Rochko
64d109dc0e Downsize originals in media attachments, small fixes 2016-12-05 17:13:44 +01:00
Eugen Rochko
b362de2232 Adding configurable e-mail blacklist 2016-12-04 19:07:02 +01:00
Eugen Rochko
41b4be699f Fix rule 2016-12-04 18:34:30 +01:00
Eugen Rochko
d5da55c6cc Fix mutating objects 2016-12-04 18:32:31 +01:00
Eugen Rochko
d4559402e4 Better responsiveness 2016-12-04 18:13:07 +01:00
Eugen Rochko
9d9f796130 Adding more to admin accounts UI 2016-12-04 18:10:40 +01:00
Eugen Rochko
d236dcded2 Fix public tags page 2016-12-04 16:56:45 +01:00
Eugen Rochko
00e9dac1d3 Automatically block outgoing notifications from silenced accounts to users
who don't follow them
2016-12-04 16:51:49 +01:00
Eugen Rochko
f763e844e8 Do not use expiring links after all 2016-12-04 13:02:43 +01:00
Eugen Rochko
24e692b0cf Set a specific S3 expiration time so that files can be cached 2016-12-04 12:58:35 +01:00
Eugen Rochko
80c44ed9c1 Do not autoplay videos, display play button instead. Use expiring links when using S3. Do not keep originals
for avatars/headers, resize avatars down to 120x120 instead of 300x300. Set cache headers on S3 stuff, also
make it private (aka only accessible via expiring links to prevent hotlinking)
2016-12-04 12:28:10 +01:00
Eugen Rochko
565cd95bca Keep timelines in the UI trimmed when possible 2016-12-03 21:04:57 +01:00
Eugen Rochko
b14b5e3b44 Improve notification model 2016-12-03 20:04:19 +01:00
Eugen Rochko
5abf64d647 Add "next" pagination to public profiles 2016-12-03 19:30:13 +01:00
Eugen Rochko
ec44cff9a2 Admin accounts page lists accounts 2016-12-03 19:08:07 +01:00
Eugen Rochko
816284d739 Fix #248 - Reload all accounts when fetching from cache 2016-12-03 18:21:26 +01:00
Eugen Rochko
8cfcc52876 Make all account links into permalinks (open public except on left click) 2016-12-02 15:05:50 +01:00
Eugen Rochko
470f629b06 Fix #284 - Alignment in notifications column 2016-12-02 14:52:41 +01:00
Eugen Rochko
d9232959df Fix #298 - Esc to close modal 2016-12-02 14:37:00 +01:00
Eugen Rochko
3114e55c7a Fix #323 - self-replies to appear in public timelines again 2016-12-02 14:33:20 +01:00
Eugen Rochko
58b3f4fd67 Fix #329 - avatar errors no longer prevent remote accounts from being saved
(without avatar). Also improved search position of exact matches
2016-12-02 14:14:49 +01:00
Eugen
2b2797d6a5 Merge pull request #327 from TazeTSchnitzel/clearer_unlisted
Replace “Unlisted mode” with “Do not show on public timeline”
2016-12-01 20:58:00 +01:00
Andrea Faulds
1c1102008f Fix line endings for Portuguese locale 2016-12-01 17:27:47 +00:00
Andrea Faulds
fd01f13b3c Replace "Unlisted mode" with more explicit text 2016-12-01 17:19:58 +00:00
Eugen Rochko
1d0321fc45 Fix pt translations, improve pre-cache queries, removing will_paginate
from accounts/tags because it's a terribly inefficient way to paginate
large sets of data
2016-12-01 16:26:25 +01:00
Eugen
bdf7d8f8fd Fix opengraph preview image 2016-12-01 01:56:43 +01:00
unsmell
2b13df4a8d Create pt.jsx 2016-11-30 23:05:24 -01:00
Eugen Rochko
6ff93845d5 Add basic OEmbed provider API, fix #247 2016-11-30 23:01:03 +01:00
Eugen Rochko
14bd46946d Per-status control for unlisted mode, also federation for unlisted mode
Fix #233, fix #268
2016-11-30 21:34:59 +01:00
Eugen Rochko
1b447c190e Preparing sensitive content for text 2016-11-30 16:10:19 +01:00
Eugen Rochko
a21bcac9e1 Further abstract caching for includes 2016-11-30 15:57:56 +01:00
Eugen Rochko
356d3874eb Normalize localizations, add stub for admin/accounts 2016-11-30 15:32:26 +01:00
Eugen Rochko
4a2347da41 Track successful PuSH deliveries 2016-11-30 15:24:57 +01:00
Eugen Rochko
ff21ff1489 Make User#current_sign_in_at actually track when user was last active,
by updating it at least every 24h if the user visits the site
2016-11-30 15:17:03 +01:00
Eugen
18da021529 Merge pull request #235 from TazeTSchnitzel/settings_contrast
Improve contrast for settings pages (fixes #173)
2016-11-29 17:50:19 +01:00
Eugen
1e99a2bb03 Fix trying to PuSH-publish updates of remote removals 2016-11-29 17:41:47 +01:00
Eugen Rochko
7e90772c92 Unify collection caching code 2016-11-29 15:49:39 +01:00
Eugen Rochko
93a90cd9c3 Delete statuses asynchronously but provide instant feedback in the API 2016-11-29 15:32:25 +01:00
Eugen Rochko
5973ca3d11 Upgrade Paperclip to 5, AWS-SDK to 2, do not generate medium/small versions of avatars 2016-11-29 14:20:15 +01:00
Eugen Rochko
cc70f28f19 Adding rack timeout of 30sec, PuSH jobs moved to push queue so they
can be processed separately
2016-11-29 02:07:14 +01:00
Eugen Rochko
4e351baf88 Fix URLs in inline-rendered XML 2016-11-29 00:26:01 +01:00
Eugen Rochko
5b076cbafb Fix delete Salmons 2016-11-28 19:44:27 +01:00
Eugen Rochko
3ba6531611 Fix setting of confirmed=true on successful confirmation 2016-11-28 19:24:49 +01:00
Eugen Rochko
50638174c8 More logging to ConfirmationWorker 2016-11-28 19:15:28 +01:00
Eugen Rochko
4eba76711b Adding backtracing to Salmon/Processing workers 2016-11-28 19:11:36 +01:00
Eugen Rochko
27fc49d745 Add simple admin overview of PuSH subscriptions 2016-11-28 18:45:13 +01:00
Eugen Rochko
7e5e33df48 Fix Pubsubhubbub::UnsubscribeService 2016-11-28 18:14:49 +01:00
Eugen Rochko
79e41fbd51 Forgot to enable hungarian translation in the frontend 2016-11-28 13:55:45 +01:00
Eugen Rochko
66ab0d0d56 Enabling portuguese and hungarian translations, which are awfully incomplete 2016-11-28 13:55:03 +01:00
Eugen
ea05fdaa57 Merge pull request #304 from unsmell/patch-1
activate portuguese translation
2016-11-28 13:51:09 +01:00
Eugen Rochko
f860d15d39 Fix order of attachments (see #269) 2016-11-28 13:49:55 +01:00
Eugen Rochko
2d2c81765b Adding embedded PuSH server 2016-11-28 13:36:47 +01:00
unsmell
7109711b71 activate portuguese translation 2016-11-27 14:57:09 -01:00
Eugen
26287b6e7d Merge pull request #275 from kodacs/master
Hungarian translation for Mastodon.
2016-11-26 18:33:48 +01:00
Eugen
0cfb8dbd20 Merge pull request #282 from nclm/misc
Allow vertical resizing of the toot textarea
2016-11-26 18:30:03 +01:00
Eugen Rochko
8a4913fde0 Public and hashtag timelines now exclude reblogs and replies
Fix #289 - don't download avatar unless the URL is http/https
Fix #293 - reblog/reblogged is now boost/boosted
2016-11-26 15:45:35 +01:00
Eugen Rochko
054138797f Fix #288 - Strip first @ from search query, don't search accounts if it begins with # 2016-11-26 15:32:29 +01:00
Eugen Rochko
950312bada Fix #278 - Use mb_chars.downcase on hashtags 2016-11-26 15:24:14 +01:00
Eugen Rochko
2cb3dc5e5a Update hub URL and re-subscribe if hub URL changes 2016-11-26 15:18:21 +01:00
nicolas
9f731b6a27 Allow vertical resizing of the toot textarea 2016-11-25 18:17:47 +01:00
Eugen Rochko
4495baf451 X-RateLimit-Reset formatted with iso8601 2016-11-25 15:21:22 +01:00
Eugen Rochko
898ab66e2e Fix checkbox spacing 2016-11-25 14:02:12 +01:00
nicolas
c1aab76da4 Checkboxes label adjustement
When the label of a checkbox is more than one line long, avoid unalignment.
2016-11-25 14:02:12 +01:00
nicolas
959e4b8198 Merge branch 'master' into french-translation 2016-11-25 13:33:00 +01:00
nicolas
effdb42f4c Update fr.jsx 2016-11-25 13:31:46 +01:00
Eugen Rochko
8a3745a4df Remove stale entries from cache results 2016-11-25 13:25:40 +01:00
Eugen
1c9e21a507 Merge pull request #273 from nclm/french-translation
French localisation update
2016-11-25 13:14:30 +01:00
Eugen Rochko
71401659b8 Fix #65 - Options to block notifications from people you don't follow/who don't follow you 2016-11-25 13:13:16 +01:00
kodacs
eb3a12bba6 Server side HU translation + Toot fix. 2016-11-25 12:43:23 +01:00
Eugen Rochko
e3ed212b85 Filter statuses that mention blocked users 2016-11-25 12:35:52 +01:00
kodacs
7d6c461739 Hungarian translation 2016-11-25 09:43:19 +01:00
nicolas
03d22fabb7 Update fr.jsx 2016-11-25 09:25:28 +01:00
Eugen Rochko
543d06971e Fix bad reference 2016-11-24 23:56:37 +01:00
Eugen Rochko
34e18eb251 Fix forgotten reference 2016-11-24 23:49:45 +01:00
Eugen Rochko
8efa081f21 Remove Neo4J 2016-11-24 23:46:27 +01:00
Eugen Rochko
fca183968e Center header in account column, hide media in "muted" status components (notifications) 2016-11-24 23:09:53 +01:00
nicolas
60577f4c6e Merge branch 'master' into french-translation 2016-11-24 20:13:30 +01:00
nicolas
5e33445c5f Update index.jsx
Forgot to add `fr` here.
2016-11-24 20:12:16 +01:00
Eugen Rochko
8e34bed7cc Mini Profiler not working well, remove it 2016-11-24 19:59:11 +01:00
Eugen Rochko
b6ee2fb1c6 Add some OpenGraph tags to public statuses 2016-11-24 18:28:10 +01:00
Eugen Rochko
4f1d863615 Only distribute statuses to followers who signed in in the last 2 weeks, add rake task for clearing feeds of inactive users 2016-11-24 18:17:58 +01:00
Eugen
7baca3fe4d Merge pull request #242 from TazeTSchnitzel/media_uri_obfuscation
Rename media to avoid exposing filename (fixes #207)
2016-11-24 16:27:32 +01:00
Alyssa Ross
cefef2c571 Extract filename obfuscation into module 2016-11-24 00:30:58 +00:00
Eugen Rochko
cbc50016eb Follow/unfollow button outside of dropdown, also make favs/reblogs update indicator instantly and
then adjust to failure later if the request fails
2016-11-23 23:34:12 +01:00
Eugen Rochko
7cee27f517 Fix unfollows not clearing reblogs, fix blocks not clearing reblogs and notifications,
skip ActionCable for follow/unfollow/block events, instead clear UI from
blocked account's posts instantly if block request succeeds. Add forgotten
i18n for sensitive content
2016-11-23 22:57:57 +01:00
Andrea Faulds
7161f91313 Rename media to avoid exposing filename (fixes #207) 2016-11-23 21:03:03 +00:00
Eugen Rochko
3373ae02de Merge branch 'development' 2016-11-23 19:01:12 +01:00
Eugen Rochko
79a0135869 Cache accounts/:id/statuses and single statuses too 2016-11-23 19:00:43 +01:00
Eugen Rochko
2112a81e86 Adding content sensitivity toggle, spoilers for media 2016-11-23 18:53:23 +01:00
Andrea Faulds
8e936b03d5 Improve contrast for settings pages (fixes #173) 2016-11-23 17:37:10 +00:00
nicolas
e8725d2d98 Rename ‘Publier’ to ‘Pouet’ in French locale.
🎺 https://mastodon.social/users/Pierrec/updates/100589
2016-11-23 15:53:49 +01:00
Eugen Rochko
5434ad3002 Add content spoilers for media in sensitive-content statuses 2016-11-23 11:23:32 +01:00
Eugen Rochko
0603971894 Adding sensitive marker to statuses in API 2016-11-23 10:46:48 +01:00
Eugen Rochko
4bdb6a0eaf Rename "publish" to "toot" in english locale, fix lightbox showing old image
before loading new one, cache notifications API, fix missing follow button
on public profiles
2016-11-23 09:20:34 +01:00
Eugen Rochko
9b53c7d353 Fix #168 - Turn off e-mail notifications by default 2016-11-23 08:39:04 +01:00
Eugen Rochko
cf912e01fd Implement includes caching for timelines APIs 2016-11-23 08:34:35 +01:00
Eugen Rochko
5c78547198 More query optimizations 2016-11-22 23:18:54 +01:00
Eugen Rochko
fc90d38893 Moving some counter queries out of subqueries in the API 2016-11-22 22:59:54 +01:00
Eugen Rochko
45c7ee39b3 Remove unneeded indices, improve error handling in background workers, don't needlessly reload reblogged status, send Devise e-mails asynchronously 2016-11-22 17:32:51 +01:00
nicolas
c7031fd535 Update fr.jsx 2016-11-22 10:49:50 +01:00
nicolas
89dab7c534 Merging code updates (Unlisted Mode) 2016-11-22 10:25:17 +01:00
nicolas
f9bd3d8808 Adding French locale to mastodon.jsx 2016-11-22 10:21:56 +01:00
nicolas
115ce90578 Adding French locale to settings_helper.rb 2016-11-22 10:20:28 +01:00
Eugen Rochko
1788164352 Local accounts can control "silenced" attribute which removes them from public timeline 2016-11-21 23:06:41 +01:00
Eugen Rochko
7abbb02824 Fix #163 - No need for Safari chrome on iOS 2016-11-21 22:33:44 +01:00
nicolas
835d5483fe First version for fr.jsx 2016-11-21 22:06:05 +01:00
Eugen Rochko
7944ed6fe5 Adding option to specify asset server, filter followers query by local accounts
during Fan Out On Write to load less stuff into memory
2016-11-21 22:04:10 +01:00
nicolas
6b6243a186 Create fr.jsx 2016-11-21 21:51:34 +01:00
Eugen Rochko
627a85f4e4 Better error message in doorkeeper json response 2016-11-21 16:19:35 +01:00
Eugen Rochko
f88ca4a206 Performance improvement for notifications API 2016-11-21 16:10:42 +01:00
Eugen Rochko
52119104b9 Remove some n+1 queries from notifications API 2016-11-21 15:16:04 +01:00
Eugen Rochko
e8c27767aa Remove orphaned notifications, add scopes param to app create API 2016-11-21 14:59:13 +01:00
Eugen Rochko
e3665c1d67 Try to fix for browsers that don't support notifications 2016-11-21 10:59:59 +01:00
Eugen Rochko
c41dc5e8e9 Icon for desktop notifications 2016-11-21 10:55:49 +01:00
Eugen Rochko
d32e0364f9 Switch to compose route when replying and compose is not mounted 2016-11-21 10:52:11 +01:00
Eugen Rochko
93577f74e7 Use old rules for mention notifications as for mentions timeline 2016-11-21 10:37:34 +01:00
Eugen Rochko
fb48cc3b74 Desktop notifications 2016-11-21 10:24:50 +01:00
Eugen Rochko
e616ffc5d6 Fix responsive layout breakpoint, replace mentions column with notifications 2016-11-21 10:03:55 +01:00
Eugen Rochko
29b12f9e0a Call NotifyService about remote reblogs 2016-11-21 09:56:01 +01:00
Eugen Rochko
38dd85daab Adding notifications column 2016-11-20 19:39:58 +01:00
Eugen Rochko
da2ef4d676 Adding unified streamable notifications 2016-11-20 19:39:58 +01:00
caesarologia
3838e6836d Portuguese translation (front-end) 2016-11-20 11:40:26 +01:00
Eugen Rochko
51dc725794 Graphic emoji in usernames in the "reblogged" string above status 2016-11-19 00:28:42 +01:00
Eugen Rochko
39533190c2 Display human names of locales in dropdown 2016-11-19 00:19:57 +01:00
Eugen Rochko
c7a1b78536 Activating Spanish i18n 2016-11-19 00:10:47 +01:00
Eugen Rochko
ac2403fb24 Add more Spanish i18n 2016-11-19 00:01:02 +01:00
Eugen Rochko
7dea6a23f7 Move Salmon processing to background as well as PuSH 2016-11-18 23:24:57 +01:00
Eugen Rochko
2c58e7e06a Catch validation errors in ProcessFeedService so that one failing entry wouldn't stop others from going through 2016-11-18 23:19:38 +01:00
Eugen Rochko
e4f56fa942 Don't create attachments if remote file cannot be fetched 2016-11-18 23:16:34 +01:00
Eugen Rochko
882de42bab Validate presence of text even for remote statuses 2016-11-18 23:14:41 +01:00
Eugen Rochko
7b7bf834e9 Fix OAuth authorization page and add a spec for it 2016-11-18 23:10:44 +01:00
victorhck
2f1b6d4f41 fixed typos 2016-11-18 20:07:48 +01:00
Victorhck
1fd2ac774f Added spanish translation (#150) 2016-11-18 19:12:44 +01:00
Eugen
3794e4e307 Fix syntax error 2016-11-18 19:10:38 +01:00
victorhck
9d9bb1d728 doing spanish translation 2016-11-18 19:06:33 +01:00
victorhck
305d0375ab added spanish translation 2016-11-18 18:52:48 +01:00
Eugen Rochko
85d1b74ac3 Adding german localization 2016-11-18 15:53:46 +01:00
Eugen Rochko
a6e4f754fc Add an Intl polyfill 2016-11-17 16:34:36 +01:00
Eugen Rochko
7ac574d9a9 Fix #148 - Devise mailer fixed, test spec added so it won't slip past again 2016-11-17 12:29:11 +01:00
Eugen Rochko
b2e504616a Remove broken test 2016-11-16 19:11:30 +01:00
Eugen Rochko
116ab27e08 i18n for devise mailer too 2016-11-16 18:25:21 +01:00
Eugen Rochko
2c766bd4b4 Add user locale setting 2016-11-16 17:56:31 +01:00
Eugen Rochko
01e43c3e57 Adding react-intl i18n to the frontend. No translations yet 2016-11-16 17:20:52 +01:00
Eugen Rochko
546c4718e7 Localizations for most server-side strings 2016-11-16 00:55:33 +01:00
Eugen Rochko
3ce6ac0ce2 Adding some localizations 2016-11-15 23:02:57 +01:00
Eugen Rochko
a4313224d9 Improve how public status pages look slightly 2016-11-15 18:45:54 +01:00
Eugen Rochko
489bd99803 Support emojis in display name, bio 2016-11-15 18:38:57 +01:00
Eugen Rochko
4f07fb1f0a Fix #144 - Filter statuses from blocked users out of ancestors/descendants results 2016-11-15 17:33:41 +01:00
Eugen Rochko
fdc17bea58 Fix rubocop issues, introduce usage of frozen literal to improve performance 2016-11-15 16:56:29 +01:00
Eugen Rochko
a91c3ef6ce Delegate processing of incoming PuSH data to background workers 2016-11-15 15:43:33 +01:00
Eugen Rochko
cea28e0c1d Fix wrong link header on followers API, wrong link in tabs component, order
account results
2016-11-14 01:19:25 +01:00
Eugen Rochko
f8f15e5697 Fix #63 - Filter mentions that reply to blocked users 2016-11-13 21:11:45 +01:00
Eugen Rochko
bcfa49aea7 Fix another mistake with infinite user list for following 2016-11-13 21:02:10 +01:00
Eugen Rochko
4286d49ade Fix another mistake 2016-11-13 20:55:24 +01:00
Eugen Rochko
44f236e889 Fix infinite scrolling mistake 2016-11-13 20:52:11 +01:00
Eugen Rochko
dbfe1e4be6 Infinite scroll for followers/following lists 2016-11-13 20:42:54 +01:00
Eugen Rochko
49b7896953 Fix stale reference 2016-11-13 19:44:19 +01:00
Eugen Rochko
3f54fba0d3 Use privacy policy from Discourse 2016-11-13 19:35:45 +01:00
Eugen Rochko
7ce4670164 Force utf-8 encoding when processing XML 2016-11-13 19:12:40 +01:00
Eugen Rochko
50d3083cbd Making upload button into a smaller icon button 2016-11-13 19:08:52 +01:00
Eugen Rochko
d42ed78aa4 Fix #110 - Make web UI use browser history, change links in e-mails to link to that 2016-11-13 14:02:34 +01:00
Eugen Rochko
c4eb63c1d4 Debounce autosuggestions requests 2016-11-13 13:13:36 +01:00
Eugen Rochko
f0bdfadab7 Search component 2016-11-13 13:04:18 +01:00
Eugen Rochko
8152584cf5 Fix #142 - Escape ILIKE special characters from Account.find_remote 2016-11-13 11:27:13 +01:00
Eugen Rochko
20aa777c58 Weigh username matches higher than domain matches in account search 2016-11-12 14:56:40 +01:00
Eugen Rochko
afded319d2 Add limit to search results 2016-11-12 14:49:28 +01:00
Eugen Rochko
09218d4c01 Use full-text search for autosuggestions 2016-11-12 14:36:10 +01:00
Eugen Rochko
1c17b932fe Enable emojis in reply indicator as well 2016-11-10 23:30:42 +01:00
Eugen Rochko
82fd74d101 Fix modals sizing and add animation to it, fix #140 by only making the text of
status clickable (this also fixes multiple dropdown being openable at the same
time)
2016-11-10 23:21:24 +01:00
Eugen Rochko
0320ea4b85 Fix public timeline query 2016-11-10 21:58:22 +01:00
Eugen Rochko
36921be9aa Fix #131 - Make active favourite buttons yellow 2016-11-10 01:32:32 +01:00
Eugen Rochko
ca3b364aea Fix #122 - Add microformats-2 classes to mention links 2016-11-10 01:19:33 +01:00
Eugen Rochko
bf5f55a6bb Fix live status removal from public/hashtag channels 2016-11-10 00:47:47 +01:00
Eugen Rochko
aabf884c5f Discard misattributed remote statuses, improve timelines filter 2016-11-10 00:15:49 +01:00
Eugen Rochko
17903c6dae Improve filtering of public/hashtag timelines, both in backlog and real-time 2016-11-10 00:03:33 +01:00
Eugen Rochko
c5e03a2e0d Status removal is broadcast to public/hashtag timelines too 2016-11-09 19:16:27 +01:00
Eugen Rochko
448ab18a20 Replace setting custom CORS headers with rack-cors, set it on /oauth/token endpoint 2016-11-09 18:06:01 +01:00
Eugen Rochko
b13e7dda1f API pagination for all collections using Link header 2016-11-09 17:48:44 +01:00
Eugen Rochko
9aecc0f48a Move timelines API from statuses to its own controller, add a check for
resources that require a user context vs those that don't (such as public timeline)

/api/v1/statuses/public   -> /api/v1/timelines/public
/api/v1/statuses/home     -> /api/v1/timelines/home
/api/v1/statuses/mentions -> /api/v1/timelines/mentions
/api/v1/statuses/tag/:tag -> /api/v1/timelines/tag/:tag
2016-11-08 23:29:08 +01:00
Eugen Rochko
86574ea524 Adding Emoji One 2016-11-08 21:46:29 +01:00
Eugen Rochko
b6832553ff Adding more logging 2016-11-08 19:37:08 +01:00
Eugen Rochko
cff0b03cbb Fix for thread resolve service and process feed service url method 2016-11-08 19:09:22 +01:00
Eugen Rochko
2f21f4cc01 Fix region setting for AWS gem 2016-11-08 18:55:46 +01:00
Eugen Rochko
bb4d1eb2e8 Improve feed regeneration 2016-11-08 02:08:32 +01:00
Eugen Rochko
096bfbad96 Fix typo 2016-11-08 01:48:17 +01:00
Eugen Rochko
11cbe49ffc ProcessFeedService refactor 2016-11-08 01:44:51 +01:00
Eugen Rochko
dbe00a4156 Improved configuration from ENV, cleaned up timeline filter methods
to be more readable, add extra logging to process feed service
2016-11-07 23:20:52 +01:00
Eugen Rochko
0400734df7 Click video player to toggle playback 2016-11-07 19:05:32 +01:00
Eugen Rochko
a39a92bd22 Fix #135 - More prominent focus style for inputs 2016-11-07 18:45:44 +01:00
Eugen Rochko
bec47e40f5 Better look/behaviours for video player/lightbox 2016-11-07 18:42:39 +01:00
Eugen Rochko
d0d799f911 Replace react-skylight with own solution that centers images better 2016-11-07 18:23:36 +01:00
Eugen Rochko
f5c6baf29d Fix account and hashtag regex 2016-11-07 17:35:25 +01:00
Eugen Rochko
c3559d18a3 Do not modify scroll position unless content has been added to the top, not bottom 2016-11-07 02:11:38 +01:00
Eugen Rochko
4a6cc46e81 Keep scroll position when scrolled down and new content is added 2016-11-07 02:02:55 +01:00
Eugen Rochko
23fc424b7a Account notes (bios) can now contain links. Character limit upped to 160 2016-11-07 01:14:12 +01:00
Eugen Rochko
d14967e1c8 Fix URL configuration when S3 is enabled 2016-11-06 20:43:16 +01:00
Eugen Rochko
93212bc2c4 Add test for FanOutOnWriteService 2016-11-06 15:56:34 +01:00
Eugen Rochko
7bb28bf780 Improve @mention regex 2016-11-05 22:09:51 +01:00
Eugen Rochko
262adb9791 Fix remote hashtag linking 2016-11-05 17:54:19 +01:00
Eugen Rochko
eb47409036 Fix mistake 2016-11-05 17:48:53 +01:00
Eugen Rochko
a698b767c1 Fix linking of remote hashtags in UI, add public view of hashtags 2016-11-05 17:44:14 +01:00
Eugen Rochko
48b9619439 Adding hashtags 2016-11-05 17:13:14 +01:00
Eugen Rochko
62292797ec Adding hashtag model 2016-11-04 19:12:59 +01:00
Eugen Rochko
4ea13d8dc9 Fix web app manifests 2016-11-04 14:19:58 +01:00
Eugen Rochko
2463c72006 Add forgotten reducer for FAVOURITES_FETCH_SUCCESS 2016-11-04 14:15:25 +01:00
Eugen Rochko
087b993892 Adding list of who favourited status 2016-11-04 13:39:24 +01:00
Eugen Rochko
6d5ef89356 Reduce code duplication, add touch scrolling behaviour for webkit browsers
on scrollable areas
2016-11-04 13:32:14 +01:00
Eugen Rochko
98c3a5e9c3 Optimize how statuses are re-rendered and relative time intervals 2016-11-04 12:48:53 +01:00
Eugen Rochko
6d26bfd147 Add list of who reblogged status 2016-11-03 20:16:14 +01:00
Eugen Rochko
0405ef977a Aria-labels actually didn't work in React, so removing. Fixing some bugs 2016-11-03 19:52:09 +01:00
Eugen Rochko
159203a7bc Fix #136: Add aria-labels 2016-11-03 19:19:39 +01:00
Eugen Rochko
1828df9bc0 Disable accounts caching too 2016-11-03 19:06:11 +01:00
Eugen Rochko
abf664b560 Disable caching of statuses (maybe this will help with the weird bug) 2016-11-03 18:55:55 +01:00
Eugen Rochko
3731230c6d Allow @username@domain/@username in follow form, prevent duplicate accounts
created via remote look-up when domains differ but point to the same resource
2016-11-03 16:57:44 +01:00
Eugen Rochko
e4671adc25 Fix reblogged/favourited caching; add API endpoints for who favd/reblogged status 2016-11-03 14:50:22 +01:00
Eugen Rochko
c003e70758 Caching should work correctly now (fingers crossed) 2016-11-03 14:12:45 +01:00
Eugen Rochko
562044f36a Need to disable caching again due to bug in Rabl 2016-11-03 13:59:31 +01:00
Eugen Rochko
0160d1d9b5 Enable caching for some rabl views 2016-11-03 13:28:36 +01:00
Eugen Rochko
aff22bfdb5 Add own composed status to home without waiting for websocket event
This makes the UI appear less laggy. After all, the status *is* created
right there and then, it's the distribution to home timelines that can take
a while
2016-11-03 11:06:55 +01:00
Eugen Rochko
4b357ecf98 Fix subtle bugs, new icon button 2016-11-02 22:29:19 +01:00
Eugen
d427df4a8a Merge pull request #132 from marcus-herrmann/master
a11y: Improve icon button component regarding semantics, screen reader usage
2016-11-02 21:53:05 +01:00
Eugen
76a717d549 Merge pull request #129 from fhemberger/fix/a11y-labels
a11y: Add labels to input fields for screenreader
2016-11-02 21:53:00 +01:00
mhe
87aabeb7af a11y: Improve icon button component regarding semantics and screen reader usage 2016-11-02 20:18:39 +01:00
Eugen
bc1dba22c5 Fix syntax errors 2016-11-02 17:13:47 +01:00
Frederic Hemberger
e7cd6da938 Add touch icons for Chrome, iOS and Windows 10 2016-11-02 16:05:08 +01:00
Frederic Hemberger
5ff2762fcf a11y: Add labels to input fields for screenreader
See: https://dequeuniversity.com/rules/axe/2.1/label
2016-11-02 14:53:39 +01:00
Eugen Rochko
9467b900a2 Make cookies https-only if LOCAL_HTTPS is true, set X-Frame-Options to DENY,
add permissive CORS to API controllers
2016-11-02 12:58:15 +01:00
Frederic Hemberger
d991869498 a11y: Add HTML lang attribute and utf8 encoding meta tag
See: https://dequeuniversity.com/rules/axe/2.1/html-has-lang
2016-11-02 11:01:18 +01:00
Eugen Rochko
dd03118098 Fix follow icon changing plus to minus, add terms page stub 2016-11-01 18:05:55 +01:00
Eugen Rochko
57304ac375 Catch 404 errors when downloading remote media, add screenshot to landing page 2016-11-01 16:58:13 +01:00
Eugen Rochko
bab4904492 Actually fix the reblogs/favs reducer issue 2016-10-31 18:11:49 +01:00
Eugen
d88d148d89 Fix forgotten reducers for reblogs/favourites 2016-10-31 16:59:36 +01:00
Eugen
50aaf4667f Fix accounts not being normalized from context statuses 2016-10-31 01:27:19 +01:00
Eugen Rochko
7e35650398 Actually complete the autosuggestion feature 2016-10-30 18:21:38 +01:00
Eugen Rochko
c49f6290eb Basic username autocomplete for text area 2016-10-30 18:13:05 +01:00
Eugen Rochko
fa1cc2d05a Limit returned followees/followers by API to 40 for now 2016-10-30 15:14:07 +01:00
Eugen Rochko
f10feb2e70 Fix common followers API 2016-10-30 15:08:36 +01:00
Eugen Rochko
e8ff4c8e56 Refactoring redux state into different reducers 2016-10-30 15:06:43 +01:00
Eugen Rochko
7060bdf04b Hide notes on user lists for now 2016-10-29 01:31:33 +02:00
Eugen Rochko
e0a197650a Adding common followers API, fixing fallback query again 2016-10-29 01:29:19 +02:00
Eugen Rochko
c913bdfc98 Fix follow suggestion fallback to exclude already followed users 2016-10-28 20:35:30 +02:00
Eugen Rochko
bfb6cc5f2c Make suggestions box also use user list components 2016-10-28 20:26:49 +02:00
Eugen Rochko
ac4f53a3a2 Improved how user lists look, added follow button to them 2016-10-28 20:05:44 +02:00
Eugen Rochko
1c84d505c8 Adding following/followers lists to the UI 2016-10-27 21:59:56 +02:00
Eugen Rochko
909d0d5e88 Adding public timeline silencing 2016-10-27 19:33:04 +02:00
Eugen Rochko
e5565a7e4a Fix suggestions fallback query 2016-10-27 19:03:05 +02:00
Eugen Rochko
c1a0633a12 Guard against unexisting statuses rendering 2016-10-25 11:13:16 +02:00
Eugen Rochko
de50eff6ac Add opening images in a modal window 2016-10-24 18:08:23 +02:00
Eugen Rochko
f8f40f15da Move status components inside individual containers. We still need to select
all statuses/accounts to assemble, but at least lists don't have to be
re-rendered all the time now. Also add "mention" dropdown option
2016-10-24 18:08:23 +02:00
Eugen Rochko
b746a931a5 Fix OAuth authorization redirect 2016-10-23 12:05:55 +02:00
Eugen Rochko
abb8f5837e Fix public channel 2016-10-23 11:56:04 +02:00
Eugen Rochko
a9e40a3d80 Adding OAuth access scopes, fixing OAuth authorization UI, adding rate limiting
to the API
2016-10-22 19:39:44 +02:00
Eugen Rochko
852c82435d Fix method return when rescuing 2016-10-20 18:36:12 +02:00
Eugen Rochko
04bbc57690 Fix #100 - Add "back" button to certain views
Also fix reloading of timelines after merge-type events
2016-10-19 18:20:19 +02:00
Eugen Rochko
8698cd3281 Remember scroll position when navigating back, do not needlessly reload
entire timelines (only fetch since last known ID). Side effect: account
timelines no longer update in real-time
2016-10-18 23:06:28 +02:00
Eugen Rochko
1d2175f73c Do not force-transcode uploaded videos to webm (leave mp4 as-is) 2016-10-18 17:51:45 +02:00
Eugen Rochko
f88b8ce757 Improve how errors are displayed in the UI 2016-10-18 17:09:45 +02:00
Eugen Rochko
aea151a0de Fix #97 - plain text version of devise e-mails 2016-10-18 16:39:21 +02:00
Eugen Rochko
43df35213e Improving all forms 2016-10-18 16:37:15 +02:00
Eugen Rochko
2e0a38d07c Added e-mail edit field to settings, proper format default for webfinger 2016-10-18 03:34:26 +02:00
Eugen Rochko
d5e086a47b Adding application/jrd+json webfinger resource 2016-10-18 02:54:49 +02:00
Eugen Rochko
7bb72ff198 Small clean up 2016-10-18 01:48:46 +02:00
Eugen Rochko
b62c31306e This should fix it 2016-10-18 01:44:31 +02:00
Eugen Rochko
f8b9b0810d Debugging 2016-10-18 01:38:32 +02:00
Eugen Rochko
225ce8cfce More debugging 2016-10-18 01:34:38 +02:00
Eugen Rochko
ea44d89383 More debugging 2016-10-18 01:31:03 +02:00
Eugen Rochko
dd02fc0ec4 More debugging 2016-10-18 01:22:28 +02:00
Eugen Rochko
f3e5625d2d More debugging 2016-10-18 01:16:50 +02:00
Eugen Rochko
fdd30af595 Will this fix the issue? 2016-10-18 01:11:00 +02:00
Eugen Rochko
6611e3a2ef More debugging 2016-10-18 00:59:18 +02:00
Eugen Rochko
564e01eaf6 Add console.error to all axios failures 2016-10-18 00:42:04 +02:00
Eugen Rochko
6c05e3063a Include <id> (identical value to <uri>) on person-type objects in Atom
This might help with GS compatibility
2016-10-17 15:36:37 +02:00
Eugen Rochko
a782e3b39d Actually fix public timeline 2016-10-17 01:59:34 +02:00
Eugen Rochko
e865673175 Fix #82 - only show latest reblog of status in UI 2016-10-17 01:34:16 +02:00
Eugen Rochko
b5c6d00afa Fix #99 - public timeline not just reblogs, fix #98 infinite scrolling issues 2016-10-17 01:23:41 +02:00
Eugen Rochko
13ee88926d Increase default number of loaded suggestions to 10 2016-10-16 19:30:01 +02:00
Eugen Rochko
f0f791bb76 Don't preload timelines as props, load them when timeline component is mounted
This prevents the bug where if you go "back" to the UI after navigating to
another page it loads with the old set of statuses
2016-10-16 19:23:17 +02:00
Eugen Rochko
0895ff414e Fix RemoveStatusService trying to send delete salmons on behalf of remote statuses 2016-10-16 19:14:23 +02:00
Eugen Rochko
de1f3aab86 Fix #16 - Optimize n+1 queries when checking reblogged/favourited values for status lists in API 2016-10-16 19:10:16 +02:00
Eugen Rochko
1de2833f30 Filter out reblogs of blocked users from public timeline (the not real-time variant) 2016-10-16 18:35:20 +02:00
Eugen Rochko
b8eda3026f Fix scrolling on small devices for account timelines and compose column 2016-10-16 17:09:00 +02:00
Eugen Rochko
4470330385 Backfill follow suggestions with fallback when not enough results. Cycling
through suggestions in UI
2016-10-16 17:04:13 +02:00
Eugen Rochko
db4671fd3f Fix suggestions fallback 2016-10-15 17:34:00 +02:00
Eugen Rochko
6e0b3ddb0d Fix follow suggestions order 2016-10-15 17:19:18 +02:00
Eugen Rochko
df2c0b8dad Fix typo 2016-10-15 16:57:10 +02:00
Eugen Rochko
04bfd4262f Fix follow suggestions ranking 2016-10-15 16:54:50 +02:00
Eugen Rochko
7075cef8f9 Adding sort by node rank to follow suggestions and fallback to most influential users 2016-10-15 16:46:15 +02:00
Eugen Rochko
67b35a601a Exclude blocked users from follow suggestions, fix tests 2016-10-15 13:48:38 +02:00
Eugen Rochko
aa9d48343d Fix suggestions box style for long names 2016-10-15 13:05:37 +02:00
Eugen Rochko
edefd87adf Fix multiple results return from FollowSuggestion.get 2016-10-15 13:00:21 +02:00
Eugen Rochko
4d336cefac Add sync command for neo4j, fix configuration, add neo4j to docker-compose, fix seed 2016-10-15 12:37:43 +02:00
Eugen Rochko
20f581f796 Display follow suggestions 2016-10-15 12:06:30 +02:00
Eugen Rochko
e21a3fe0cd Adding sync of follow relationships to Neo4J, accounts/suggestions API 2016-10-14 23:10:07 +02:00
Eugen Rochko
91144d46ec Fix duplication of media attachments when a remote status reblogs a local one 2016-10-14 20:15:37 +02:00
Eugen Rochko
244d1307a3 Fix remove status service sending salmons 2016-10-14 20:09:33 +02:00
Eugen Rochko
a3384b6ea6 Add "edit profile" link to dropdown on own profile 2016-10-14 02:45:20 +02:00
Eugen Rochko
7a6d95f70c E-mail preferences page 2016-10-14 02:28:49 +02:00
Eugen Rochko
9b195f5dd3 Add window titles to auth pages and about page, link sign up/login from about page 2016-10-14 01:03:12 +02:00
Eugen Rochko
33f7e1cf99 Shorten rendered links (strip protocol and www, truncate to 30 chars), redirect
to sign in page after sign up instead of root path which redirects to /about
2016-10-13 16:51:34 +02:00
Eugen Rochko
157f03f8bd No-op for Salmons without body, fail fast if Webfinger does not contain
all required resource links (profile page, salmon, atom feed, magic key)
2016-10-13 13:41:06 +02:00
Eugen Rochko
36e7eeb6b9 Treat dfrn:owner like xmlns:author for Friendica compatibility 2016-10-12 22:55:00 +02:00
Eugen Rochko
64302b3c99 Improve Friendica support (but still not there yet) 2016-10-12 21:07:00 +02:00
Eugen Rochko
160b5148ec Fix magic key in webfinger XRD href 2016-10-12 19:30:41 +02:00
Eugen Rochko
c257b29d86 Fix up a few exceptions 2016-10-12 19:25:46 +02:00
Eugen Rochko
f7f3e6e3be Fix styles 2016-10-12 19:14:47 +02:00
Eugen Rochko
2ddf4e09f9 Change how convert options are escaped 2016-10-12 14:39:54 +02:00
Eugen Rochko
cdc49c6b4b Allow mp4 uploads, convert to WebM 2016-10-12 14:29:10 +02:00
Eugen Rochko
45776b55b0 Responsively changing layout to single-column + nav on smaller screens 2016-10-12 13:17:17 +02:00
Eugen Rochko
77efdfa110 Fixing namespaces issue 2016-10-10 19:16:23 +02:00
Eugen Rochko
451733961b Show media of reblogged statuses in public html view 2016-10-10 18:23:08 +02:00
Eugen Rochko
68eed8c61f Stop logging incoming Atom 2016-10-10 18:16:39 +02:00
Eugen Rochko
87b618ab02 Fix namespace parsing in Atom feeds 2016-10-10 18:16:07 +02:00
Eugen Rochko
f49ed8c819 Log incoming Atom from PuSH 2016-10-10 17:40:28 +02:00
Eugen Rochko
38ce960ff9 Use Account#find_remote method when possible 2016-10-10 17:30:49 +02:00
Eugen Rochko
cfba03bd27 Don't return unsaved status from ProcessFeedService 2016-10-10 16:49:05 +02:00
Eugen Rochko
81065bc06c Adding test for ProcessFeedService 2016-10-10 16:03:38 +02:00
Eugen Rochko
3306a5d524 Improve process feed service 2016-10-10 15:27:39 +02:00
Eugen Rochko
dd5e724c3f Fix reblog mentions Atom 2016-10-10 15:08:24 +02:00
Eugen Rochko
f249a8c187 Include mentions and media attachments of reblogged posts in Atom 2016-10-10 14:22:09 +02:00
Eugen Rochko
65ae9637d6 PuSH unsubscribe needs correct callback URL 2016-10-10 03:40:08 +02:00
Eugen Rochko
aec51e40ee Make account domains case-insensitive, downcase before checking against local 2016-10-10 03:34:15 +02:00
Eugen Rochko
5f737c7228 Fix default assumed object type (note->activity), make stream entry threaded? check aware of orphaned replies 2016-10-10 02:55:30 +02:00
Eugen Rochko
0634e8dee5 Improved how in-UI profiles look 2016-10-09 22:19:15 +02:00
Eugen Rochko
29e79f770f Making AccountTimeline into a sub-route 2016-10-09 20:18:54 +02:00
Eugen Rochko
427ba27641 Public timeline to exclude users you blocked 2016-10-09 15:15:21 +02:00
Eugen Rochko
769b1ebbe0 Filter block users and reblogs of them from public timeline 2016-10-09 15:05:07 +02:00
Eugen Rochko
22a8801dbc Adding domain blocks 2016-10-09 14:48:59 +02:00
Yann Vaillant
35de03fbe3
Strip exif data from uploaded images
Using `-strip` cli options from ImageMagick

http://www.imagemagick.org/script/command-line-options.php#strip

fix #85
2016-10-08 15:18:20 +02:00
Eugen Rochko
d85df27053 Fix mistake 2016-10-08 00:39:46 +02:00
Eugen Rochko
bef4d8dab8 Add link to public timeline to getting started screen 2016-10-08 00:30:56 +02:00
Eugen Rochko
ef9d4f4e06 Use reselect to memoize denormalization in UI state
Also upgrade react-redux to latest version. This is a performance update
2016-10-08 00:01:22 +02:00
Eugen Rochko
1f650d327d Adding public timeline 2016-10-07 16:00:11 +02:00
Eugen Rochko
06016453bd Adding user settings (model and mailer), no form yet 2016-10-07 13:17:56 +02:00
Eugen Rochko
943c69c65d Fix #73 - Click on in-UI profile avatar/name to open public profile 2016-10-06 23:15:50 +02:00
Eugen Rochko
a4b8069cf5 Styling loading indicator, removing unused routes, adding "getting started" explanation
Also, only update relative time every minute instead of 6 seconds. My bad
2016-10-06 22:47:35 +02:00
Eugen Rochko
e8a8703a4b Fix how missing display name is displayed (fallback to username) 2016-10-06 22:07:32 +02:00
Eugen Rochko
296ce2d45a Adjusting new CSS for smaller screens 2016-10-06 22:00:56 +02:00
Eugen Rochko
2af3abd279 Fix #79 - break too long lines and hide overflowing characters in status content 2016-10-06 21:56:07 +02:00
Eugen Rochko
05af66d6b9 Fix #80 - pretty scrollbars for lucky webkit users 2016-10-06 21:39:30 +02:00
Eugen Rochko
d772db4344 Fix #83 - if user cannot be found (or is self) throw error, don't return empty 200
This prevents the undefined profile from being opened in the first place on such an error
2016-10-06 21:33:33 +02:00
Eugen Rochko
3554d638b3 Fix #72 - add follow/unfollow button to public profiles 2016-10-06 21:27:58 +02:00
Eugen Rochko
87ba52ad3f Fix delete option missing from statuses in detailed view 2016-10-06 17:27:07 +02:00
Eugen Rochko
15d01a5e08 Better comparison of "local" domain 2016-10-06 16:36:16 +02:00
Eugen Rochko
b304cc07d5 Fix #76 - set scrollTop property of element node rather than use scrollTo() method 2016-10-06 16:18:32 +02:00
Eugen Rochko
b60430fe8f Fix sign-in redirecting "back" to a missing image because missing static files hit the raise_not_found method 2016-10-06 15:42:00 +02:00
Eugen Rochko
8bdbe99d69 Fix #71 - Add logout link to UI 2016-10-06 15:34:11 +02:00
Eugen Rochko
68402228f3 Fix #70 - disable autocomplete on follow form 2016-10-06 15:24:28 +02:00
Eugen Rochko
5cfc9efad3 Update OStatus2 to handle malformed Salmon without raising unexpected exceptions 2016-10-06 14:47:38 +02:00
Eugen Rochko
2f5b205916 Catch Paperclip errors on /api/v1/media, return early from update profile service if XML given is nil 2016-10-06 14:40:15 +02:00
Yann Vaillant
038a407b9e
Update default devise wording to include reference to Mastodon
Fix #68
2016-10-06 07:45:07 +02:00
Eugen Rochko
3319473b2c Move PubSubHubbub pinging to a background worker
It can take as much as 0.5s if not longer to complete
2016-10-05 13:50:21 +02:00
Eugen Rochko
2febc6ed65 Fix typo 2016-10-05 13:40:14 +02:00
Eugen Rochko
fe77921e47 Catching more exceptions that slipped through, removing AR logging from
production as it's very verbose and not very useful
2016-10-05 13:26:44 +02:00
Eugen Rochko
b078885414 Catch :warden correctly 2016-10-03 19:19:03 +02:00
Eugen Rochko
feda1e6554 Catch warden throw in actioncable 2016-10-03 19:10:56 +02:00
Eugen Rochko
70e9dd0b5b Blocking will prevent e-mail notifications from blocked user, blocks in UI 2016-10-03 18:49:52 +02:00
Eugen Rochko
7b9a4af311 API for blocking and unblocking 2016-10-03 18:17:06 +02:00
Eugen Rochko
2c9e672ee2 Integrating block relationships into the API (read-only for now) 2016-10-03 17:16:58 +02:00
Eugen Rochko
9d59d7b463 Adding a block model and filter mentions from blocked users (fix #60) 2016-10-03 17:12:13 +02:00
Eugen Rochko
a488b05726 Cleaning up unused views 2016-10-03 16:52:45 +02:00
Eugen Rochko
fc198a8b4c Adding e-mail confirmations 2016-10-03 16:51:00 +02:00
Eugen Rochko
b3c7c8700d Fix most pages on small screens 2016-10-03 16:17:28 +02:00
Eugen Rochko
188c6f326b Making public pages responsive, removing reblogs/favs counts from them 2016-10-03 00:26:00 +02:00
Eugen Rochko
d74da1a89a Small fixes 2016-10-02 23:46:25 +02:00
Eugen Rochko
9fd3d7b6cd Add since_id param to feeds 2016-10-02 22:35:27 +02:00
Eugen Rochko
a0f85774c4 Redirect after sign in to previous page (unless it's a sign in/up/etc page) 2016-10-02 17:11:08 +02:00
Eugen Rochko
6d7290f47c Add API for getting info about authenticated user: /api/v1/accounts/verify_credentials 2016-10-02 16:14:21 +02:00
Eugen Rochko
31a0202546 Slightly improved e-mail notifications 2016-10-02 15:37:35 +02:00
Eugen Rochko
2d4f9ecebf Validate against multiple reblogs of same status by same account 2016-10-02 15:33:24 +02:00
Eugen Rochko
be86d4e0a3 Preparing feeds for better filtering 2016-10-02 15:28:47 +02:00
Eugen Rochko
1fce687f8e Unreblogging and unfavouriting from the UI 2016-10-02 15:14:26 +02:00
Eugen Rochko
4909bbf415 Add logging for outgoing http requests 2016-10-02 14:58:06 +02:00
Eugen Rochko
96ad9b0db1 Meaningful validation errors in API response 2016-09-30 22:31:16 +02:00
Eugen Rochko
62b057b085 Adjust client registration API 2016-09-30 00:03:08 +02:00
Eugen Rochko
ef2b50c9ac Deleting statuses from UI 2016-09-30 00:00:45 +02:00
Eugen Rochko
a4f7eca5fa Fix #25 - Only latest reblog of status kept on feed as zset value is set to "true" status ID 2016-09-29 21:40:37 +02:00
Eugen Rochko
927333f4f8 Improve code style 2016-09-29 21:28:21 +02:00
Eugen Rochko
e4aebad35a Fix handling of multiple Link headers (that should not be a thing though) 2016-09-27 23:49:12 +02:00
Eugen Rochko
e63aebff7a Adding landing page 2016-09-27 23:12:33 +02:00
Eugen Rochko
45a96e899e Fix #58 - disable compose form while image is uploading 2016-09-27 17:02:30 +02:00
Eugen Rochko
4f9b7432dd Fix #52 - Add API versioning (v1) 2016-09-27 16:59:08 +02:00
Eugen
3f75f52285 Fix subtle home feed filtering bug 2016-09-27 10:52:37 +02:00
Eugen Rochko
7e14eefc81 Replace logo, fix #57 - delete/unreblog/unfavourite API, fix #45 - app
registration API
2016-09-26 23:56:53 +02:00
Eugen Rochko
210362e665 Improve redirect handling in FetchAtomService 2016-09-26 17:04:05 +02:00
Eugen Rochko
c6b0311b86 Fix #54 - Fetch remote accounts by URL from mentions
Fetching atom extracted from FetchRemoteAccountService and FetchRemoteStatusService
into FetchAtomService. Mentions of the constant "http://activityschema.org/collection/public"
skipped as it's not a real URL/user.
2016-09-26 16:44:40 +02:00
Eugen Rochko
0bd4608ad1 Fix #55 - Filter self from pre-filled mentions 2016-09-26 15:49:28 +02:00
Eugen Rochko
693383234c Improved style of settings page 2016-09-25 15:48:20 +02:00
Eugen Rochko
e9bc4a4a08 Limit usernames to 30 chars, statuses to 500, open account after follow form success 2016-09-25 15:26:56 +02:00
Eugen Rochko
62b384824d Improved styling for media/videos in detailed status view 2016-09-25 14:58:07 +02:00
Eugen Rochko
15f51dbf8c Better styling for selected status in detailed view 2016-09-25 14:20:29 +02:00
Eugen Rochko
1215ab57ff Some extra scopes for user sorting 2016-09-24 14:59:52 +02:00
Eugen Rochko
a706f1af04 Don't generate stream entries for streamables of remote accounts 2016-09-24 14:42:29 +02:00
Eugen Rochko
fb94013796 Improved partial rendering for threads 2016-09-24 14:34:44 +02:00
Eugen Rochko
db6df6ddb3 Only load JS on homepage, no other page uses it 2016-09-24 13:47:51 +02:00
Eugen Rochko
57583f3fb8 Improve partial rendering and Haml performance (Haml->Hamlit) 2016-09-24 13:40:42 +02:00
Eugen Rochko
95d72b2249 Temporarily link "settings" to the static version of the form 2016-09-23 21:59:21 +02:00
Eugen Rochko
0c75ce1122 Improved ColumnsArea on smaller windows, improved how ActionBar looks 2016-09-23 21:52:28 +02:00
Eugen Rochko
3f9708edc4 Change output of api/accounts/:id/follow and unfollow to return relationship
Track relationship in redux state. Display follow/unfollow and following-back
information on account view (unstyled)
2016-09-23 20:23:26 +02:00
Eugen Rochko
c6d893a71d Uploading/undoing media modifies status text. Also: status text trimmed before validation 2016-09-22 21:39:53 +02:00
Eugen Rochko
b1a670af8d Handle remote account mentions a little better by trying a URL lookup in the db 2016-09-22 21:10:36 +02:00
Eugen Rochko
2a84271e85 Infinite scroll for account timelines 2016-09-22 20:58:35 +02:00
Eugen Rochko
4a670780f0 Fix #51 - prevent duplicate attachments for remote statuses 2016-09-22 20:42:20 +02:00
Eugen Rochko
2c0261ac25 Infinite scroll for timeline columns 2016-09-22 01:08:35 +02:00
Eugen Rochko
74dfefabd3 Make in-text mentions open account detailed view when possible 2016-09-22 00:32:27 +02:00
Eugen Rochko
bc98865c1a API returns mentions for statuses, compose form pre-fills all relevant usernames into the form when replying 2016-09-22 00:09:21 +02:00
Eugen Rochko
c0e9603c92 Fix #50 - Order ancestors/descendants by tree path 2016-09-21 23:18:28 +02:00
Eugen Rochko
e46abc71ca Fix notifications in UI, added new API for fetching account relationships 2016-09-21 22:07:18 +02:00
Eugen Rochko
4bec613897 Fix #24 - Thread resolving for remote statuses
This is a big one, so let me enumerate:

Accounts as well as stream entry pages now contain Link headers that
reference the Atom feed and Webfinger URL for the former and Atom entry
for the latter. So you only need to HEAD those resources to get that
information, no need to download and parse HTML <link>s.

ProcessFeedService will now queue ThreadResolveWorker for each remote
status that it cannot find otherwise. Furthermore, entries are now
processed in reverse order (from bottom to top) in case a newer entry
references a chronologically previous one.

ThreadResolveWorker uses FetchRemoteStatusService to obtain a status
and attach the child status it was queued for to it.

FetchRemoteStatusService looks up the URL, first with a HEAD, tests
if it's an Atom feed, in which case it processes it directly. Next
for Link headers to the Atom feed, in which case that is fetched
and processed. Lastly if it's HTML, it is checked for <link>s to the Atom
feed, and if such is found, that is fetched and processed. The account for
the status is derived from author/name attribute in the XML and the hostname
in the URL (domain). FollowRemoteAccountService and ProcessFeedService
are used.

This means that potentially threads are resolved recursively until a dead-end
is encountered, however it is performed asynchronously over background jobs,
so it should be ok.
2016-09-21 01:50:31 +02:00
Eugen Rochko
6d89edc4f7 Fix #47 by renaming TIMELINE_SET action to TIMELINE_REFRESH_SUCCESS 2016-09-20 23:18:00 +02:00
Eugen Rochko
1d2856c2af Since GNU Social hubs don't seem to return a hub.lease_seconds param in the subscription confirmation request,
we'll have to default that value to the GS "minimum" (from their code) which is 24 hours.
2016-09-20 03:24:04 +02:00
Eugen Rochko
246330493b More debugging for PuSH confirmations 2016-09-20 03:18:55 +02:00
Eugen Rochko
a66d34878c Add more logging to PuSH callback 2016-09-20 03:12:23 +02:00
Eugen Rochko
608a2bfffc Upgrade to PubSubHubbub 0.4 (removing verify_token) 2016-09-20 02:43:20 +02:00
Eugen Rochko
a86f21cf90 Fix rake tasks and loading bar 2016-09-20 01:53:30 +02:00
Eugen Rochko
1cfc9aa20e OStatus2 and Goldfinger gems now have timeouts for requests 2016-09-20 01:10:51 +02:00
Eugen Rochko
059ebbf48d Separate PuSH subscriptions from following, add mastodon:push:refresh task,
respect hub.lease_seconds (fix #46)
2016-09-20 00:43:36 +02:00
Eugen Rochko
1245ee42fb Update OStatus2 library 2016-09-19 23:52:42 +02:00
Eugen Rochko
98de6927f3 Remove background mask from avatars 2016-09-19 23:28:22 +02:00
Eugen Rochko
337462aa5e Re-organizing components to be more modular, adding loading bars 2016-09-19 23:26:21 +02:00
Eugen Rochko
f820edb463 Fix type mistake in account component 2016-09-18 18:44:52 +02:00
Eugen Rochko
ee770c3fd3 Live update account timelines, small fix for replyCompose 2016-09-18 18:38:44 +02:00
Eugen Rochko
0967961de7 Improve how account detailed view looks, load account's statuses 2016-09-18 18:18:46 +02:00
Eugen Rochko
dafcb02153 Remove unused action constants 2016-09-18 13:45:39 +02:00
Eugen Rochko
9863196f7b Small rubocop offences removed 2016-09-18 13:42:24 +02:00
Eugen Rochko
08896f7dcf Detailed status view scrollable 2016-09-18 13:03:37 +02:00
Eugen Rochko
ab7291b8fe Add ancestors/descendants during normalization in timeline reducer
This way replies will appear in the detailed view live if they are from
statuses that would be delivered to the user normally
2016-09-18 12:51:09 +02:00
Eugen Rochko
dfd5deacf4 Volume toggle control in VideoPlayer 2016-09-18 12:39:00 +02:00
Eugen Rochko
adffc7a495 Fix #43 2016-09-18 12:28:49 +02:00
Eugen Rochko
5342629a0a Adding webm playback to UI 2016-09-17 18:05:02 +02:00
Eugen Rochko
bd5ad304ba Adding media controller, 1 webm/compose form allowed, previews generated 2016-09-17 17:47:26 +02:00
Eugen Rochko
183a23943b Fix how other services used old FollowRemoteAccountService 2016-09-17 17:07:45 +02:00
Eugen Rochko
0e9c1a297a Improved error handling for FollowRemoteService 2016-09-17 17:03:36 +02:00
Eugen Rochko
8c0b19012b Fix #41, debug #42 2016-09-17 16:36:10 +02:00
Eugen
e906677092 Stop event propagation after IconButton onClick 2016-09-16 11:20:39 +02:00
Eugen Rochko
5b0cef9781 Setting up preliminary "detailed" routes in the UI, new API end-point for fetching status context 2016-09-16 00:21:51 +02:00
Eugen Rochko
2e7aac793a Adding sense of self to the UI, cleaning up routing, adding third (detail) column 2016-09-13 02:24:40 +02:00
Eugen Rochko
d6a64f45fd Adding a notification stack for error messages 2016-09-12 19:20:55 +02:00
Eugen Rochko
05b0c985b4 Send "delete" Salmons to remote mentioned accounts on status removal
Fixes #27
2016-09-12 18:33:34 +02:00
Eugen Rochko
ce29624c6d Fixing image upload limits, allowing webm, merge/unmerge events trigger
timeline reload in UI, other small fixes
2016-09-12 18:22:43 +02:00
Eugen Rochko
3d566279cb Fix formatter return block 2016-09-10 19:18:17 +02:00
Eugen Rochko
0077fc26df Merge and unmerge timelines on follow/unfollow, solves #21, #22 2016-09-10 18:36:48 +02:00
Eugen Rochko
7d45a4e692 Fix local mention regex so it works on newlines in HTML (with a preceding tag) 2016-09-10 10:19:50 +02:00
Eugen Rochko
457625591d Styling for paragraphs in statuses 2016-09-10 10:14:36 +02:00
Eugen Rochko
73615d7a79 Newlines and paragraphs in local statuses properly formatted 2016-09-10 10:07:56 +02:00
Eugen Rochko
76c40cbfb1 Disallow self-follow 2016-09-10 10:01:08 +02:00
Eugen Rochko
33ad2e5423 Shorten mentions to only usernames 2016-09-10 09:57:41 +02:00
Eugen Rochko
d6b3113304 Validates local username, max sizes for uploads. Fixes #32 2016-09-10 09:43:45 +02:00
Eugen
de7eb2341a Fix typo in deleteFromTimelines action creator 2016-09-09 20:54:49 +02:00
Eugen Rochko
3cc47beb6e Refactored generation of unique tags, URIs and object URLs into own classes,
as well as formatting of content
2016-09-09 20:04:34 +02:00
Eugen Rochko
735b4cc62e Probably fixes #31 2016-09-09 15:29:41 +02:00
Eugen Rochko
762157ee4e Fix for single status pages 2016-09-08 21:23:29 +02:00
Eugen Rochko
85d89b472d Optimized n+1 queries in accounts Atom and HTML views
Added stack trace for SQL queries in development
Removed badly thought out accounts/lookup API
2016-09-08 20:36:01 +02:00
Eugen Rochko
a4cc966476 Removing default avatars 2016-09-08 18:23:59 +02:00
Eugen Rochko
509c18eb13 Fix local follows, 404 in logs 2016-09-08 02:40:51 +02:00
Eugen Rochko
0f4bc56719 Improving production logs, removing n+1 on media attachments in atom,
adding attachments display to static views
2016-09-08 01:24:26 +02:00
Eugen Rochko
87576e1ab1 Fixing atom feeds for accounts, adding tests that would catch such bugs in future 2016-09-08 00:33:07 +02:00
Eugen Rochko
499beb4484 UI for uploading media attachments (and cancelling them)
Mostly resolves #8, though attachments are still not displayed in public view
2016-09-07 18:21:57 +02:00
Eugen
1efa8e48d1 Fix enclosures not being parsed for reblogged statuses 2016-09-06 12:30:15 +02:00
Eugen Rochko
aca988a16b Fix for Drawer growing horizontally 2016-09-06 01:45:17 +02:00
Eugen Rochko
75fbde1c1a Fixed styling for media attachments in statuses (margins) 2016-09-06 01:27:40 +02:00
Eugen Rochko
ac77170d19 Add icons to column headers, click them to scroll to top 2016-09-06 00:44:28 +02:00
Eugen Rochko
1f18cf97b5 Fix styling of media attachments in statuses 2016-09-06 00:23:27 +02:00
Eugen
265215dae9 Fix reply bug introduced when compose form started using normalized data 2016-09-05 22:43:34 +02:00
Eugen Rochko
5f36d8828a Better layout for attachments in <MediaGallery> 2016-09-05 20:59:56 +02:00
Eugen Rochko
fc222dfa49 Displaying media attachments in timelines 2016-09-05 20:38:31 +02:00
Eugen Rochko
14fb0ab4a2 Improve JSON output for media attachments, generate :small preview for them 2016-09-05 19:26:24 +02:00
Eugen Rochko
ed94e998bc Fix for media attachments remote URL download 2016-09-05 19:11:25 +02:00
Eugen Rochko
1d9c886518 Adding enclosures to Atom and statuses JSON 2016-09-05 18:57:59 +02:00
Eugen Rochko
eec0dc46a6 PostStatusService can attach media to status, ProcessFeedService likewise 2016-09-05 18:39:53 +02:00
Eugen Rochko
ae1fac0062 Add API to upload media attachments 2016-09-05 17:46:36 +02:00
Eugen Rochko
05001d54d1 Make compose form also use normalized data 2016-09-05 16:56:43 +02:00
Eugen Rochko
926eea89b5 RemoveStatusService fleshed out, still doesn't send Salmon slaps though 2016-09-05 01:59:46 +02:00
Eugen Rochko
b5ebf99439 Possibly fix issue with stale favourite/reblog information after API call 2016-09-04 21:28:48 +02:00
Eugen Rochko
35dfc0fbcb Fixed more case-sensitivity issues 2016-09-04 21:15:52 +02:00
Eugen Rochko
29996a7e8b Fix wrongful mentions breaking status update 2016-09-04 21:07:29 +02:00
Eugen Rochko
54ea7f5dfe Case-insensitive search by usernames 2016-09-04 21:06:04 +02:00
Eugen Rochko
a82f2e4b82 Fix timelines for users whose user id and account_id are not the same 2016-09-04 19:22:27 +02:00
Eugen Rochko
a289c1d52f Handle delete Salmons, todo: clean up timelines 2016-09-04 14:44:16 +02:00
Eugen Rochko
1022d682dc Normalized data in Redux, fix for asset URLs when rendered outside request 2016-09-04 14:04:26 +02:00
Eugen Rochko
d0e2733f63 Fix reblogs of reblogs in UI, add follow form in UI 2016-09-03 14:01:42 +02:00
Eugen Rochko
2d57bcf1b7 Preparing for follow form 2016-09-01 15:13:02 +02:00
Eugen Rochko
c249ceb10c Reblogs fixed 2016-09-01 14:12:11 +02:00
Eugen Rochko
595c8dda60 Favouriting works, reblogging is a little broken because of <Status> 2016-09-01 13:21:48 +02:00
Eugen Rochko
c2a4d70265 Small style fixes 2016-09-01 12:13:41 +02:00
Eugen Rochko
2093cda89a Fixing one more typo 2016-08-31 23:07:46 +02:00
Eugen Rochko
d6873797ac Fix typo 2016-08-31 23:03:01 +02:00
Eugen Rochko
dbae8062f4 Replies in the compose form 2016-08-31 22:58:10 +02:00
Eugen Rochko
1e0e17ba85 Improving styling a little bit 2016-08-31 16:48:21 +02:00
Eugen Rochko
72591cc6d5 Cleaning up action names and compose drawer 2016-08-31 16:15:12 +02:00
Eugen Rochko
92afd29650 The frontend will now be an OAuth app, auto-authorized. The frontend will use an access token for API requests
Adding better errors for the API controllers, posting a simple status works from the frontend now
2016-08-26 19:12:19 +02:00
Eugen Rochko
44e57f64dd Improving statuses, adding a composer drawer, which doesn't work yet 2016-08-25 19:52:55 +02:00
Eugen
f5e1127894 Forgotten return 2016-08-24 23:33:46 +02:00
Eugen Rochko
a541e937ca More styling for statuses 2016-08-24 21:08:00 +02:00
Eugen Rochko
bc0692d75b Removing mini-profiler that doesn't work, formatting timelines a bit better 2016-08-24 19:23:37 +02:00
Eugen Rochko
03f5ffcd06 Dockerfile adjustments 2016-08-24 18:51:36 +02:00
Eugen Rochko
49520d6e62 Adding React.js, Redux, revamping dashboard 2016-08-24 17:56:44 +02:00
Eugen Rochko
8985f8e66c Fixing more configuration issues with ActionCable 2016-08-18 18:39:35 +02:00
Eugen Rochko
8459acd123 Fix for force SSL issue with websockets 2016-08-18 17:48:57 +02:00
Eugen Rochko
6426819b6f Fix tests 2016-08-18 17:22:44 +02:00
Eugen Rochko
6deb9f966e Live timelines using ActionCable 2016-08-18 15:49:51 +02:00
Eugen Rochko
10ba09f546 Upgrade to Rails 5.0.0.1 2016-08-17 17:58:00 +02:00
Eugen Rochko
ff2cbc0753 Remember me enabled by default 2016-03-28 00:06:52 +02:00
Eugen Rochko
c38ad208c3 Fix mentions regex to exclude usernames in Medium URLs 2016-03-27 23:51:18 +02:00
Eugen Rochko
039e6f951c Fix issue with unresolvable usernames 2016-03-27 23:38:46 +02:00
Eugen Rochko
882c94a6bf Cleaning up status partial 2016-03-26 14:42:05 +01:00
Eugen Rochko
85b00d19b8 Moving Salmon notifications to background processing, fixing mini-profiler
behaviour with Turbolinks enabled, optimizing Rabl for production
2016-03-26 13:42:10 +01:00
Eugen Rochko
da4b675aca Fix favourite handling in ProcessInteractionService 2016-03-26 01:34:12 +01:00
Eugen Rochko
43bb8a25e7 Remember user logins by default 2016-03-26 01:14:37 +01:00
Eugen Rochko
f2da848a3e Add alternate link to entries Atom 2016-03-26 01:10:18 +01:00
Eugen Rochko
5764d52b04 Fix Sidekiq pooling issues. Remove API docs from homepage, replace with
a basic home timeline
2016-03-25 16:10:14 +01:00
Eugen Rochko
318886287b Fixing some stuff for Turbolinks, adding gzip on top, fixing a n+1 query 2016-03-25 15:09:40 +01:00
Eugen Rochko
e24bfbde1a Fixing FanOutOnWriteService, fixing Sidekiq not having enough DB connections
in the pool, adding a throttle of 60rpm per IP, adding mini profiler, adding
admin status to users
2016-03-25 14:12:24 +01:00
Eugen Rochko
8eeec389c1 Add link to github project to footer, move FanOutOnWriteService calls to
DistributionWorker. That isn't the heaviest service, yet, but gotta start
somewhere
2016-03-25 03:22:26 +01:00
Eugen Rochko
a08e724476 Fix subscriptions:clear task, refactor feeds, refactor streamable activites
and atom feed generation to some extent, as well as the way mentions are
stored
2016-03-25 02:13:30 +01:00
Eugen Rochko
9594f0e858 Fix preloading 2016-03-24 13:28:11 +01:00
Eugen Rochko
97d5aba1ec Do not try to send notification e-mails for reblogs if the reblog is not of a
local account
2016-03-24 13:25:33 +01:00
Eugen Rochko
0f5bbb999c Pre-loading polymorphic associations for Atom feeds 2016-03-24 13:21:53 +01:00
Eugen Rochko
7e58303a8d Limit Atom feeds to 20 items by default, add pagination by max_id
(But there are no Atom feed pagination elements yet)
2016-03-24 12:49:34 +01:00
Eugen Rochko
c8999a116e Sanitize remote html in atom feeds, API (not just UI), use cached mention
relations on Status#mentions
2016-03-24 12:43:55 +01:00
Eugen Rochko
7cd3de3494 Do display top-level content on remote shared notices 2016-03-24 12:34:32 +01:00
Eugen Rochko
082e1cbe5a Fix default max_id query in paginate_by_max_id 2016-03-22 21:53:33 +01:00
Eugen Rochko
12559b01ea Add pagination by max_id instead of offset/limit 2016-03-22 21:38:47 +01:00
Eugen Rochko
02e4fb2e06 Only re-download avatar if URL changed (fix #19) 2016-03-22 21:05:23 +01:00
Eugen Rochko
921f40c187 Omit empty tags in Atom feed 2016-03-22 20:20:37 +01:00
Eugen Rochko
12d1d9dd80 Reblogs in Atom feeds now have published, updated, and activity:verb. Still related to #20 2016-03-22 09:49:54 +01:00
Eugen Rochko
78137929e6 Fix #20, reblogs in Atom should be formatted correctly now 2016-03-22 09:03:03 +01:00
Eugen Rochko
f14f462eaf Adding Turbolinks, adding status posting form on homepage 2016-03-21 18:26:47 +01:00
Eugen Rochko
c28971c70c Fixed the lookup API method 2016-03-21 17:33:04 +01:00
Eugen Rochko
5b10329394 Resize default avatar cat to fit circle better 2016-03-21 17:22:17 +01:00
Eugen Rochko
02696a063e Change default avatar, redirect to home after sign up 2016-03-21 17:18:30 +01:00
Eugen Rochko
9d55529318 Fix text color in dashboard inputs, sanitize remote status content in UI,
simplify FanOutOnWriteService, add /api/accounts/lookup method
2016-03-21 17:02:16 +01:00
Eugen Rochko
bf08d46e58 Improving borders between predecessor/successor statuses 2016-03-21 12:14:19 +01:00
Eugen Rochko
35aafdba96 Ancestors and descendants of statuses 2016-03-21 11:43:21 +01:00
Eugen Rochko
7e00a21ea6 Small optimizations in Atom feeds 2016-03-21 10:31:20 +01:00
Eugen Rochko
19a259915e Security update 2016-03-21 10:08:19 +01:00
Eugen Rochko
2ba6537f52 Escape PuSH challenge and change subscriptions and salmon APIs to text/plain 2016-03-21 09:24:29 +01:00
Eugen Rochko
46cbb9c551 Increase note truncation length on account grids, improve FanOutOnWrite a bit,
fix tests (the recorded Salmon fixture expects LOCAL_DOMAIN to be something
specific unfortunately)
2016-03-21 08:44:30 +01:00
Eugen Rochko
253ab26520 Adding more tests for helpers 2016-03-20 13:50:22 +01:00
Eugen Rochko
b640f35621 Writing out more tests, fixed some bugs 2016-03-20 13:03:06 +01:00
Eugen Rochko
e14b76c7cb On following/followers pages, show most recent first 2016-03-19 22:54:40 +01:00
Eugen Rochko
7e53efae31 Fix for incoming favourites 2016-03-19 22:46:58 +01:00
Eugen Rochko
f4ad2fb35a Strip out HTML in plain text notification e-mails. Oh, and fix #14 2016-03-19 19:34:31 +01:00
Eugen Rochko
2b116131d7 Adding e-mail notifications about mentions, follows, favourites and reblogs. Fixing another mention recording bug 2016-03-19 19:20:07 +01:00
Eugen Rochko
5d72b92271 Improving account grid cards layout for longer usernames and notes 2016-03-19 14:11:09 +01:00
Eugen Rochko
71ae4dd3d2 Adding public following and followers pages, fix #3 2016-03-19 14:02:30 +01:00
Eugen Rochko
c349200761 Removing some unused gems, adding pagination to profiles, fix #10 2016-03-19 12:49:34 +01:00
Eugen Rochko
d4892ace62 Adding more test stubs 2016-03-19 12:13:47 +01:00
Eugen Rochko
66a2107527 Turns out that replies don't have to have the type comment. Changed handling
of those to depend on presence of <thr:in-reply-to /> instead
2016-03-19 11:59:23 +01:00
Eugen Rochko
f97fc9744f Use FanOutOnWriteService AFTER processing mentions 2016-03-19 00:41:29 +01:00
Eugen Rochko
47d1cb4e21 TIL a return from a block seems to return from the whole method rather than
the block, even though the last line of a block is an implicit return. I am
confused to say the least
2016-03-19 00:23:46 +01:00
Eugen Rochko
071f64d317 Fix #13, Atom feeds now contain formatted post content 2016-03-19 00:16:04 +01:00
Eugen Rochko
580b91c387 Fix more subtle bugs with first_or_create 2016-03-19 00:02:39 +01:00
Eugen Rochko
48aeacd5f9 Fixed ANOTHER first_or_create bug. Seriously who came up with that API smh 2016-03-18 23:47:02 +01:00
Eugen Rochko
9a7485d034 Fix typo on /api/accounts/:id/statuses, fix potential case-sensitivity issue
when registering incoming status mentions, add Travis CI file
2016-03-18 23:23:19 +01:00
Eugen Rochko
323474c97e Fix #2, add rake task for PuSH-unsubscribing from remote users who have no
local followers. Remote users' usernames SHOULD be case-sensitive
2016-03-17 12:02:45 +01:00
Eugen Rochko
af7ae348d7 Include AtomBuilderHelper (which declared url_for_target) to all services 2016-03-16 22:44:04 +01:00
Eugen Rochko
e239fc3050 Fix error when unfollowing somebody who wasn't followed in the first place 2016-03-16 21:23:40 +01:00
Eugen Rochko
d022975444 Fixing small bug with FollowRemoteAccountService usage 2016-03-16 21:20:50 +01:00
Eugen Rochko
086d487145 Fix unfollows 2016-03-16 21:14:39 +01:00
Eugen Rochko
9cb690c706 Access tokens no longer expire, case-insensitive local username validation, as well as case-insensitive Webfinger look-up 2016-03-16 18:29:52 +01:00
Eugen Rochko
8767a98fbb Adding CSS for form errors, adding missing indices 2016-03-16 11:46:25 +01:00
Eugen Rochko
a9db42a956 Validations for local profiles 2016-03-16 11:18:09 +01:00
Eugen Rochko
5c99e304e5 Deleting statuses, deletion propagation 2016-03-16 10:58:58 +01:00
Eugen Rochko
75b3339a99 Respect "delete" verb on remote feeds 2016-03-16 10:46:15 +01:00
Eugen Rochko
6fec8afc3f Bind oauth applications to users 2016-03-14 17:49:13 +01:00
Eugen Rochko
25d7c1b6ea Customizing the last of doorkeeper views, adding CSS for dashboard forms 2016-03-14 17:41:13 +01:00
Eugen Rochko
3441361568 Adding simple_form, adding profile settings, header image 2016-03-12 20:47:22 +01:00
Eugen Rochko
1aa477ac2f Customized more doorkeeper views, only logged in users can create oauth apps 2016-03-12 19:46:06 +01:00
Eugen Rochko
aab9f57e36 Adding config for puma, dashboard layout, fixing some queries 2016-03-12 16:21:53 +01:00
Eugen Rochko
447cfef62d Improving feed queries, switching API to doorkeeper authentication 2016-03-11 16:47:36 +01:00
Eugen Rochko
b919f39b31 Customizing doorkeeper views for authorizing app 2016-03-11 01:58:55 +01:00
Eugen Rochko
d4b9b289e8 Adding Mastodon logo 2016-03-11 01:26:59 +01:00
Eugen Rochko
6c4c84b161 Distrubute statuses as a fan-out-on-write system, with optional precomputing 2016-03-08 20:20:45 +01:00
Eugen Rochko
fe57f6330f API methods for retrieving home and mentions timelines 2016-03-07 13:25:26 +01:00
Eugen Rochko
f099bc6091 Adding API for favouriting a status 2016-03-07 12:58:42 +01:00
Eugen Rochko
ffe48fd7c6 Improving how the API responses look 2016-03-07 12:52:25 +01:00
Eugen Rochko
ab6696e855 Adding doorkeeper, adding a REST API
POST /api/statuses                  Params: status (text contents), in_reply_to_id (optional)
GET  /api/statuses/:id
POST /api/statuses/:id/reblog

GET  /api/accounts/:id
GET  /api/accounts/:id/following
GET  /api/accounts/:id/followers
POST /api/accounts/:id/follow
POST /api/accounts/:id/unfollow

POST /api/follows                  Params: uri (e.g. user@domain)

OAuth authentication is currently disabled, but the API can be used with HTTP Auth.
2016-03-07 12:42:33 +01:00
Eugen Rochko
3824c58853 Adding GNU Public license, adding home timeline, reblog/favourite counters 2016-03-06 17:52:23 +01:00
Eugen Rochko
c605b828b5 Adding routes to follow, unfollow, favourite and reblog (locally known models) 2016-03-06 12:51:55 +01:00
Eugen Rochko
aab330eb2d Adjusting design of public pages, optimizing account page queries 2016-03-06 12:34:39 +01:00
Eugen Rochko
ab80ebdeec Adjusting design of profile and entry pages, linkify mentions in statuses 2016-03-05 23:42:40 +01:00
Eugen Rochko
6045b6cb18 Customizing devise views and controllers 2016-03-05 22:43:05 +01:00
Eugen Rochko
7e93da3f8d Removing grape and adding devise 2016-03-05 13:12:24 +01:00
Eugen Rochko
3b4e04dc32 Fixing some bugs, adding pending test examples 2016-03-05 12:50:59 +01:00
Eugen Rochko
23d08c6749 Changing the use of config constants to the Rails configuration object 2016-02-29 20:06:39 +01:00
Eugen Rochko
0e8f59c16f Refactoring Grape API methods into normal controllers & other things 2016-02-29 19:42:08 +01:00
Eugen Rochko
11ff92c9d7 Adding a test for ReblogService, fixing mentions for remote statuses 2016-02-28 21:22:56 +01:00
Eugen Rochko
47d50b0e39 A lot of fixes from a live test 2016-02-28 15:46:29 +01:00
Eugen Rochko
f1654da7ad Added <link> tags to profiles and entries 2016-02-28 14:41:01 +01:00
Eugen Rochko
9ec03ab5f5 Ping hubs when following somebody, too 2016-02-28 14:34:25 +01:00
Eugen Rochko
8fada4fae2 When posting a status or reblogging one, ping hubs about the feed update 2016-02-28 14:33:13 +01:00
Eugen Rochko
ad5ae3f60e Update profile information and download avatar of remote accounts 2016-02-28 14:26:26 +01:00
Eugen Rochko
2825991e09 Improving status display design, including replies and threads 2016-02-28 14:02:53 +01:00
Eugen Rochko
5ae54f9e36 Adding avatars to profile page and statuses 2016-02-28 00:51:05 +01:00
Eugen Rochko
2c70f0ecaa Adding paperclip for avatars, fixing design of the public pages 2016-02-28 00:02:59 +01:00
Eugen Rochko
fa29ef3a41 Improving design 2016-02-26 21:11:52 +01:00
Eugen Rochko
24646d5769 Adding views for the profile and entry pages 2016-02-26 20:48:20 +01:00
Eugen Rochko
f16b31f077 Adding a bunch of tests 2016-02-26 15:28:08 +01:00
Eugen Rochko
44c5958203 Fixed small bugs and code style offences 2016-02-25 00:22:46 +01:00
Eugen Rochko
71fe24096c Adding a Mention model, test stubs 2016-02-25 00:17:01 +01:00
Eugen Rochko
42eeecba3f Service to reblog statuses 2016-02-24 18:50:16 +01:00
Eugen Rochko
c967802c43 Notify remote users about mentions 2016-02-24 18:44:03 +01:00
Eugen Rochko
79609d6270 Add service for posting statuses (normal and replies), mention regex to
fetch webfinger information of mentioned accounts
2016-02-24 18:25:04 +01:00
Eugen Rochko
8da8387afe Add shared statuses to the database 2016-02-24 17:23:59 +01:00
Eugen Rochko
fa7868675d Send Salmon interactions 2016-02-24 12:57:29 +01:00
Eugen Rochko
10eb47a33e Do not PuSH-subscribe to remote accounts when creating them for salmon 2016-02-24 03:05:40 +01:00
Eugen Rochko
784b9cca6a Forgotten argument fix 2016-02-24 02:15:58 +01:00
Eugen Rochko
9411e8c35a Feed processing except fetching remote statuses 2016-02-24 01:28:53 +01:00
Eugen Rochko
79baf2fd99 Process favourites, reblogs and replies from Salmon 2016-02-24 00:57:47 +01:00
Eugen Rochko
ee73d35eea Incoming Salmon requests can be turned into follows and unfollows 2016-02-23 22:17:07 +01:00
Eugen Rochko
fa33750105 Adding reblogs, favourites, improving atom generation 2016-02-23 19:17:37 +01:00
Eugen Rochko
3b0bc18db9 Improved Atom rendering templates, added README 2016-02-23 13:08:01 +01:00
Eugen Rochko
2bc48e9064 Individual atom entries 2016-02-22 19:11:07 +01:00
Eugen Rochko
1dad72bf13 Fixes and general progress 2016-02-22 18:10:30 +01:00
Eugen Rochko
709c6685a9 Made some progress 2016-02-22 16:00:20 +01:00
Eugen Rochko
9c4856bdb1 Initial commit 2016-02-20 22:53:20 +01:00