Compare commits

..

694 Commits
v0.9 ... v1.0

Author SHA1 Message Date
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
ce273c08cd Merge branch 'hoodiek-master' 2017-02-05 01:29:00 +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
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
Eugen Rochko
8c0bc1309f Add CORS to the streaming API 2017-02-03 18:27:42 +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
James
7b7a356aed fix extraneous text in 2fa readme (#592) 2017-02-03 00:10:22 +01:00
Eugen
9cf7da4934 Add tootyfruity 2017-02-02 20:27:53 +01:00
Eugen
9faf4c9dea Update Sponsors.md 2017-02-02 20:14:02 +01:00
Eugen
1511efc8d2 Update Sponsors.md 2017-02-02 19:43:21 +01:00
Eugen
d33dfce34f Updated list of top sponsors 2017-02-02 19:40:15 +01:00
Eugen Rochko
df507f5e6e Fix streaming API queries 2017-02-02 17:10:59 +01:00
Eugen Rochko
889b814385 Fix bug 2017-02-02 16:57:09 +01:00
Eugen Rochko
aa2fa227e9 Adding documentation for streaming API. Fixing filtering bug 2017-02-02 16:35:06 +01:00
Eugen Rochko
61ce15d94b Make node read the right .env file 2017-02-02 16:11:36 +01:00
Eugen Rochko
d1a01dbbdd Add redis configuration to streaming API 2017-02-02 15:29:41 +01:00
Eugen Rochko
b6c922f169 Fix potential resource leaks in streaming server 2017-02-02 15:20:31 +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
0cfd3188b4 Add streaming API in Node.js 2017-02-02 01:31:09 +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
1da0ce5c7c Looks like log level :debug is required for activerecord times to be tracked 2017-02-01 12:13:16 +01:00
Eugen Rochko
65402d9c09 Fix activerecord logging in production 2017-02-01 11:34:50 +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
a2a85e8549 Add capistrano to development environment 2017-01-30 20:03:17 +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
57159804b8 Merge branch 'PurpleBooth-add-missing-back-on-follow' 2017-01-30 15:22:31 +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
James
b12bdd2aea Add 2-FA instructions for non-technical users (#580) 2017-01-29 19:26:27 +01:00
Eugen
2165a0ec63 Update some API docs 2017-01-29 14:40:57 +01:00
Misty De Meo
a30e669df2 Fix avatar scaling on high-DPI displays (#573) 2017-01-29 14:26:50 +01:00
Eugen Rochko
ff90a5ff84 Update sample .env 2017-01-29 13:06:58 +01:00
Eugen Rochko
aa52d5fd1e Add more links to main docs page 2017-01-29 12:59:02 +01:00
Eugen Rochko
ca8a9d5941 Fix JSON formatting in docs 2017-01-29 12:55:12 +01:00
Eugen Rochko
fe9306f346 Update docs with information about push notifications 2017-01-29 12:53:50 +01:00
Eugen Rochko
e70e721a0d Add tests for new API 2017-01-29 12:35:55 +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
1992575d57 Fix #569 - seeds.rb 2017-01-29 00:12:27 +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
76e970c856 Do not automatically login after password reset, as it would circumvent two-factor auth (if enabled)
Do not require e-mail address changes to be re-confirmed, it's only trouble for no real benefit
2017-01-27 20:35:16 +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
Eugen
2a6773d59b Merge pull request #557 from hoodiek/master
fix button outline showing on clicks for prettiness
2017-01-27 18:41:05 +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
dc3e0529ca Update broken links, add new sponsor 2017-01-27 17:01:21 +01: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
nicolas
9f57c7d4a6 Updated translation doc to get working links 2017-01-27 13:17:33 +01:00
Eugen Rochko
f8bd44a747 Fix font weight 2017-01-26 23:34:40 +01:00
Eugen
87667e371c Merge pull request #549 from ineffyble/docs/add-default-account-to-dev-documentation
Add default account details to developer documentation.
2017-01-26 23:03:41 +01:00
Eugen
f7aef16668 Merge pull request #548 from PurpleBooth/make-fonts-local
Move the fonts from Google Fonts to local assets
2017-01-26 23:02:48 +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
6ba302b725 Merge pull request #550 from wchristian/oauth_docs2
document that /oauth/token does not always return json
2017-01-26 20:41:53 +01:00
Eugen Rochko
f6a5977f0b Fix key names in statsd 2017-01-26 19:46:52 +01:00
Eugen Rochko
d567f21d4f Improve StatsD instrumentation 2017-01-26 19:08:05 +01: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
Christian Walde
12eddb5cbe document that /oauth/token does not always return json 2017-01-26 16:28:57 +01:00
Effy Elden
ae2147d40f Add default account details to developer documentation. 2017-01-27 02:03:13 +11: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
Eugen
2f18c77e44 Merge pull request #526 from wchristian/oauth_docs
clarify the intended use of the oauth api call
2017-01-26 12:23:47 +01:00
Eugen
446d6f1643 Merge pull request #543 from ineffyble/tweak/seed-default-admin-account-on-dev-environments
Seed a default, confirmed, admin account on development environments
2017-01-26 12:22:32 +01:00
Eugen
c3a3ce8172 Merge pull request #541 from TrevInc/master
Add brackets to visually distinguish show more / show less text
2017-01-26 11:07:42 +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
Eugen
d53294b933 Merge pull request #542 from ineffyble/tweak/redirect-admin-path-to-admin-settings
Add redirect for /admin => /admin/settings
2017-01-26 10:44:20 +01:00
Eugen
95b0bf9815 Merge pull request #544 from ineffyble/tweak/add-default-local-domain-for-vagrant-environments
Add a default LOCAL_DOMAIN=mastodon.dev to .env.vagrant
2017-01-26 10:43:54 +01:00
Effy Elden
94eccbc5de Add a default LOCAL_DOMAIN=mastodon.dev to .env.vagrant 2017-01-26 19:22:59 +11:00
Effy Elden
198ea2522e Seed a default, confirmed, admin account on development environments 2017-01-26 19:22:00 +11:00
Effy Elden
07b9a10d4d Add redirect for /admin => /admin/settings 2017-01-26 18:59:35 +11: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
Anthony Bellew
3d890c4073 Merge pull request #3 from tootsuite/master
Updating to current
2017-01-25 20:53:57 -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
Eugen
0a391a2872 Merge pull request #536 from blackle/leftclick
Only open status on left mouse press
2017-01-26 02:50:55 +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
Christian Walde
3b6af5245b clarify the intended use of the oauth api call as per this issue:
https://github.com/alin-rautoiu/mastodroid/issues/23
2017-01-25 18:31:15 +01: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
0430f7c0fa Fix spoiler_text not having "not null" constraint 2017-01-25 15:24:19 +01:00
Eugen Rochko
51a7047367 Fix order of migrations 2017-01-25 15:01:00 +01:00
Eugen Rochko
ca04002c93 Add content warning example to docs 2017-01-25 02:54:28 +01:00
Eugen Rochko
ab94ad3504 Add description of Mastodon's current protocol extensions 2017-01-25 02:46:16 +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
ca28d9c2ae Merge branch 'blackle-master' 2017-01-25 01:29:40 +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
Eugen
326c75b35b Merge pull request #521 from mistydemeo/fix_invisible_css
Fix `invisible` CSS class
2017-01-24 21:26:18 +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 Rochko
b06a375ee4 Merge branch 'blackle-boostspin' 2017-01-24 14:28:54 +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
Eugen Rochko
7c015ece45 Fix oembed controller test 2017-01-23 13:36:17 +01:00
Eugen
6062680dd4 Merge pull request #513 from mistydemeo/fix_textarea_selection_clicking
Textarea: fix clicking on name suggestions
2017-01-23 11:34:36 +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
956da43e19 Fix error 2017-01-22 23:07:31 +01:00
Eugen
cea9fb31fe Mitigate inconsistent notifications 2017-01-22 21:50:17 +01:00
Eugen Rochko
61aee0006e Override Rack::Request to use the same trusted proxy settings as Rails 2017-01-22 21:01:28 +01:00
Eugen Rochko
67befe5463 Allow to specify trusted proxies through env 2017-01-22 20:35:49 +01:00
Eugen
c66718afff Merge pull request #509 from ineffyble/docs/developer-docs-additions
Update README.md to match new documentation (missed from previous commit)
2017-01-22 17:07:39 +01:00
Effy Elden
f3cac0b93b Update README.md to match new documentation (missed from previous commit) 2017-01-23 00:11:09 +11:00
Eugen
10fe63d4db Merge pull request #508 from ineffyble/docs/developer-docs-additions
Documentation tweaks
2017-01-22 11:43:07 +01:00
Effy Elden
92a98f73aa Add separate sections for Heroku and Vagrant deployments. Add guide for instance administration. Move 'Contribution guide' to 'Development guide'. 2017-01-22 19:50:40 +11:00
Eugen Rochko
536cde4e99 Rename main docs page so it renders in github 2017-01-21 22:54:49 +01:00
Eugen Rochko
2baf0fabb4 Improve API docs formatting 2017-01-21 22:53:02 +01:00
Eugen Rochko
e92a1cf436 Add wiki contents to docs/ instead 2017-01-21 22:51:02 +01:00
Eugen Rochko
500278eb4c Merge branch 'ineffyble-fix/error-pages' 2017-01-21 22:31:19 +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
f036c6440b Merge branch 'ineffyble-master' 2017-01-21 22:19:27 +01:00
Eugen Rochko
e028406db4 Fix code style 2017-01-21 22:19:13 +01:00
Eugen Rochko
d72dd38c13 Merge branch 'master' of https://github.com/ineffyble/mastodon into ineffyble-master 2017-01-21 22:15:22 +01:00
Eugen Rochko
3a4b5961be Method to fetch a single notification 2017-01-21 22:14:13 +01:00
Eugen
deedf133d3 Merge pull request #506 from ineffyble/fix/issue-492-add-missing-header-image
Add a default missing.png header image - fixes #492
2017-01-21 20:56:11 +01:00
Effy Elden
77746240aa Change missing.png header to 1x1 transparent PNG 2017-01-22 06:42:42 +11:00
Effy Elden
106dd1a484 Add a default missing.png header image - fixes #492 2017-01-22 05:19:31 +11:00
Eugen
6b666db112 Merge pull request #505 from ineffyble/fix/issue-503
Call uniq on the string version of mb_chars tags - fixes #503
2017-01-21 12:37:51 +01:00
Effy Elden
8f21f5522f Call uniq on the string version of mb_chars tags 2017-01-21 21:02:42 +11:00
Effy Elden
5fef55c11a Set remote dev environments to use letter_opener_web, add default .env.vagrant variables 2017-01-21 20:22:49 +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
Eugen
f4e28785f1 Merge pull request #502 from blackle/vistoggle
Show visibility toggle on videos, show regardless of sensitivity
2017-01-20 13:27:20 +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
d7a7baa9a7 Merge pull request #489 from ineffyble/master
Add Heroku deployment support
2017-01-17 18:46:53 +01:00
Effy Elden
ab4f5f5da5 Add Heroku deployment support 2017-01-17 22:00:03 +11: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
Eugen
99fe89026c Merge pull request #486 from blackle/replytimeline
Show 'do not display in public timeline' when replying to self
2017-01-16 16:38:08 +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
a78148f763 Merge branch 'blackle-sensitive' 2017-01-16 11:37:35 +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
Eugen
3778355454 Merge pull request #478 from blackle/backflip
Change boost sprite to look like fa-retweet
2017-01-15 18:45:53 +01: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
16f9490d33 Merge pull request #476 from ineffyble/fix-paperclip-s3-acl
Fix S3 default settings
2017-01-15 14:29:47 +01:00
Eugen Rochko
bfec9aaee0 Merge branch 'ineffyble-feature/toot-app-source' 2017-01-15 14:04:56 +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
a097dd489b Change default S3 ACL string used by Paperclip from 'public' (which is invalid) to 'public-read' 2017-01-15 20:58:46 +11:00
Eugen
777f527d86 Merge pull request #474 from ineffyble/add-back-link-to-settings
Add a 'Back to Mastodon' link to footer of settings pages
2017-01-15 02:15:37 +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
Eugen
88801f7554 Merge pull request #470 from ineffyble/fix/412-hide-public-timeline-option-for-replies
Hide 'Do not display on public timeline' for reply toots
2017-01-14 20:33:10 +01: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
babc6a1528 Merge pull request #461 from vjackson725/master
fix Vagrantfile so that the correct ruby is installed
2017-01-12 13:50:17 +01:00
vjackson725
91dc21c469 fix Vagrantfile so that the correct ruby is installed
Prior to this commit, the vagrantfile installs ruby 2.3.3. Due to commit mastodon@7951e7f, this no longer works.

Change the provision scrip so that 2.3.1 is installed via rbenv. Note this drastically increases provision time.
2017-01-12 23:20:55 +11:00
Eugen Rochko
8f54a8851a Add rake task for clearing out media from silenced accounts 2017-01-12 04:19:04 +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
4292cf60ae Fix env variable name 2017-01-10 22:01:13 +01: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
a1db2a191b Add link to list of apps 2017-01-10 12:23:30 +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
5d558c14b4 Merge branch 'blackle-master' 2017-01-09 14:13:46 +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
d6a456dc71 Merge branch 'blackle-dropdown' 2017-01-09 14:12:00 +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
Eugen
a8e30060ae Merge pull request #446 from blackle/dropdown2
Expand dropdown leftways on status view
2017-01-08 13:34:27 +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
Eugen
e8d6f6c8c1 Merge pull request #436 from krainboltgreene/patch-2
Less complicated determination of subscription
2017-01-08 04:00:22 +01:00
Eugen
db8a088502 Update badges 2017-01-08 03:47:33 +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
Eugen
6d097d559b Merge pull request #434 from vjackson725/fix_vagrantfile
Fix Vagrantfile to include yarn
2017-01-08 02:58:43 +01:00
Eugen
4447c4c7c8 Merge pull request #435 from krainboltgreene/patch-1
Using "rails style" order arguments
2017-01-08 02:58:19 +01:00
Kurtis Rainbolt-Greene
e5d9009d71 Using "rails style" order arguments 2017-01-07 17:55:40 -08:00
vjackson725
db3d5d811c Fix Vagrantfile to include yarn
The current Vagrantfile fails to build upon provisioning, as it lacks yarn.

Change the Vagrantfile to add the yarn repository, and install yarn.
2017-01-08 12:38:04 +11: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
Eugen
679aa35e15 Merge pull request #429 from blackle/emojify_usernames
Emojify display names in notifcations
2017-01-08 00:19:24 +01:00
blackle
57ff221c0f Emojify display names in notifcations 2017-01-07 18:16:14 -05:00
Eugen
165df323ae Merge pull request #428 from blackle/contrast
Improve contrast of bio and username text in account info
2017-01-07 22:51:15 +01:00
blackle
61211b509c Improve contrast of bio and username text in account info 2017-01-07 16:39:30 -05:00
Eugen
2fbb38e4b2 Merge pull request #425 from ineffyble/vagrant
Add Vagrant support for easy development environments
2017-01-07 18:31:59 +01: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
7ddec6e7c3 Add read timeout to paperclip when it's downloading remote images 2017-01-07 15:43:56 +01:00
Effy Elden
11ea7336e9 Tweak Vagrant info in README 2017-01-08 01:30:48 +11:00
Effy Elden
46fb634c79 Improve Vagrantfile, load environment variables from .env.vagrant, always forward localhost:3000 2017-01-08 01:28:49 +11:00
Effy Elden
f1289ca3c0 Add Vagrant development environment support 2017-01-07 23:22:24 +11: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
Eugen Rochko
8b28b82141 Merge branch 'myfreeweb-master' 2017-01-06 20:09:34 +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
6917099a6a Merge pull request #418 from ticky/upgrade-emojione
Upgrade EmojiOne to 2.2.7
2017-01-06 01:13:34 +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
Jessica Stokes
28a2f79dff Upgrade EmojiOne to 2.2.7
Adds support for, among other things, 🏳️‍🌈
2017-01-05 15:16:13 -08:00
Effy Elden
819bfb75c6 Add twitter:card metatag to enable Twitter Cards support 2017-01-06 09:47:40 +11:00
Eugen
9f21eb6064 Merge pull request #415 from ineffyble/master
Prevent duplicate desktop notifications
2017-01-05 23:15:01 +01: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
3354dc117b Merge pull request #406 from Gargron/revert-404-emoji
Revert "Display native emoji on browsers which support it"
2017-01-05 13:45:37 +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
Eugen
26ec24fa1d Merge pull request #401 from mistydemeo/new_toot_cursor_position
Automatically position cursor when writing a reply toot
2017-01-05 13:35:14 +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
Eugen
db21724a5a Merge pull request #393 from ticky/qol-for-four-inch-phones
Improve experience on 4-inch phones
2017-01-05 02:57:13 +01: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
2b0b7ff1b8 Fix #385 - /web now loads a page 2017-01-04 15:35:36 +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
Eugen
18f59df09e Merge pull request #389 from TrevInc/master
Reduce height of media query to hide avatar/bio
2017-01-03 19:58:34 +01:00
Anthony Bellew
febe2449bb Merge pull request #2 from TrevInc/bio-media-query
Reduce height of media query to hide avatar/bio
2017-01-03 11:55:59 -07: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
Anthony Bellew
de154dbd5d Merge pull request #1 from Gargron/master
Catchup merge
2017-01-03 11:51:35 -07:00
Eugen
e6657d7342 Merge pull request #386 from mitchhentges/file-drop-ui
On file-drag, show a border around textarea
2017-01-03 12:59:21 +01: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
91c5426455 Update screenshot 2016-12-31 14:54:03 +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
777bcfc701 Add docker-compose example about rake secret task 2016-12-29 20:53:18 +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
60f2da1b2f Merge pull request #369 (nice) 2016-12-24 01:28:37 +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
3c841c7306 Adjust wording 2016-12-22 23:24:46 +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
6d71044c85 Don't use rack timeout in any but production environments 2016-12-21 19:10:40 +01:00
Eugen Rochko
c4bc5c8930 Federated profile bio now formatted 2016-12-21 19:10:19 +01:00
Eugen Rochko
c128fcee16 Update Rails to 5.0.1 2016-12-21 19:09:59 +01:00
Eugen Rochko
318e63cb79 Fix #250 - no text adjust 2016-12-21 00:56:13 +01:00
Eugen Rochko
c30a3d259c Improve icons 2016-12-21 00:44:42 +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
Eugen
806ffbab63 Merge pull request #366 from tobypinder/smushed_assets
Smush assets for quicker load times/less bandwidth used.
2016-12-20 23:34:14 +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
Eugen Rochko
8bbdd35341 Fix responsiveness of 500 page 2016-12-15 00:49:17 +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
Eugen
a5797139b2 Merge pull request #346 from stamak/declaring_uk
Declare Ukrainian
2016-12-08 18:01:32 +01:00
Stanislav Makar
d2ab41aea4 Declare Ukrainian
Closes: #345
2016-12-08 18:57:58 +02:00
Eugen
1759cf8336 Merge pull request #343 from undrskr/master
Ukrainian translation: Fix some translation errors.
2016-12-08 01:29:00 +01:00
Vladyslav
2c6c912076 Fix some translation errors. 2016-12-07 21:13:57 +02:00
Eugen
46b1f1ec63 Merge pull request #342 from undrskr/master
Ukrainian translation: Final steps
2016-12-07 19:53:09 +01:00
Vladyslav
d85c566960 Final steps for Ukrainian translation 2016-12-07 20:39:22 +02:00
Eugen Rochko
8b93f45f3d Fix paperclip config 2016-12-07 17:19:29 +01:00
Eugen Rochko
f114bc7bb7 Update Paperclip config to allow plugging in Minio instead of AWS 2016-12-07 16:59:18 +01: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
a910cdd54d Merge pull request #338 from stamak/uk.yml
Add Ukrainian localization file uk.yml
2016-12-05 12:30:07 +01:00
Stanislav Makar
0e18bbe3e2 Add Ukrainian localization file uk.yml
Closes: #337
2016-12-05 07:40:45 +02: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
290ffb63cd Fix cloudfront config 2016-12-03 22:12:22 +01:00
Eugen Rochko
d3bd10dfe4 Add Cloudfront support 2016-12-03 22:08:15 +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
253970cb73 Merge pull request #335 from stamak/doorkeeper.uk.yml
Add Ukrainian localization file doorkeeper.uk.yml
2016-12-03 12:15:38 +01:00
Stanislav Makar
ea91286aaa Add Ukrainian localization file doorkeeper.uk.yml
Closes: #334
2016-12-03 09:46:26 +02:00
Eugen Rochko
165498f110 Make data migration more merciful 2016-12-02 15:09:44 +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
e3222feddb Updated README with link to production guide 2016-12-02 14:21:19 +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
Eugen
fe65acd414 Merge pull request #328 from TazeTSchnitzel/fix_crlf
Fix line endings for Portuguese locale
2016-12-01 20:57:26 +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
Eugen
96a2a6523b Merge pull request #322 from unsmell/master
Devise, Doorkeeper, settings & general PT translation
2016-12-01 01:12:38 +01:00
unsmell
2b13df4a8d Create pt.jsx 2016-11-30 23:05:24 -01:00
unsmell
66e55d60e1 Create pt localisation files in /config/locales/ 2016-11-30 23:04:53 -01:00
Eugen
0768c2825f Merge pull request #320 from alexgleason/readme-nginx
Guide readers to production wiki page after Docker setup
2016-11-30 23:18:30 +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
Alex Gleason
5c2ea4da7d Guide readers to production wiki page after Docker setup 2016-11-30 15:25:48 -05: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
872a35011a Merge pull request #261 from alyssais/test_env
Add .env.test
2016-11-29 17:51:24 +01:00
Eugen
157fd07edc Update .env.test 2016-11-29 17:51:16 +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
c0555f2db6 Don't rate-limit PuSH endpoints 2016-11-29 00:44:11 +01:00
Eugen Rochko
4e351baf88 Fix URLs in inline-rendered XML 2016-11-29 00:26:01 +01:00
Eugen
41ef277da3 Fix URLs in ApplicationController.renderer 2016-11-28 21:21:05 +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
397f7dda5d Add IRC channel to readme 2016-11-28 13:40:33 +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
a7769c2672 Merge pull request #296 from TazeTSchnitzel/purge_neo4j
Remove another lingering Neo4J item
2016-11-26 18:29:46 +01:00
Andrea Faulds
1c9c176bec Remove another lingering Neo4J item 2016-11-26 16:35:37 +00: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
6c82dfcf5f Fix CDN_HOST variable requirement 2016-11-26 15:27:05 +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
Eugen
4986c727d9 Merge pull request #280 from TazeTSchnitzel/purge_neo4j
Remove remnants of Neo4J
2016-11-25 19:14:13 +01:00
Eugen Rochko
dda9ac9222 Fix reset date format when rate limited 2016-11-25 18:20:47 +01:00
nicolas
9f731b6a27 Allow vertical resizing of the toot textarea 2016-11-25 18:17:47 +01:00
nicolas
9f9680412f Merge pull request #6 from Gargron/master
Merge
2016-11-25 18:14:42 +01:00
Andrea Faulds
b107a4820a Remove remnants of Neo4J 2016-11-25 16:15:46 +00:00
Eugen Rochko
4495baf451 X-RateLimit-Reset formatted with iso8601 2016-11-25 15:21:22 +01:00
kodacs
b503a5e05e #275 fix missing i18n item 2016-11-25 14:56:28 +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
kodacs
7bd559158b fixing yamls for #275 2016-11-25 13:57:37 +01:00
Eugen
50bec5b999 Merge pull request #276 from nclm/french-translation
French translation update
2016-11-25 13:41:49 +01:00
kodacs
6586408c69 fix #275 2016-11-25 13:35:08 +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
nicolas
9bb885805c Update simple_form.fr.yml 2016-11-25 13:30:52 +01:00
Eugen Rochko
8a3745a4df Remove stale entries from cache results 2016-11-25 13:25:40 +01:00
Eugen Rochko
1ff0d5aea6 Normalized locale files 2016-11-25 13:15:07 +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
d0122045f4 Update simple_form.fr.yml 2016-11-25 09:25:31 +01:00
nicolas
4cc6684881 Update fr.yml 2016-11-25 09:25:29 +01:00
nicolas
03d22fabb7 Update fr.jsx 2016-11-25 09:25:28 +01:00
nicolas
9af6c52a41 Merge pull request #3 from Gargron/master
Merge
2016-11-25 08:53:34 +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
Eugen
c0a223b480 Merge pull request #265 from nclm/french-translation
Forgot to add one `fr` to make the French locale (hopefully) work
2016-11-24 20:31:35 +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
Alyssa Ross
75d0903317 Add .env.test
It took me ages to get Mastodon set up with the tests passing because
the environment variables I needed to define weren't documented and I
had to work them out one at a time.

This change adds a .env.test file, and makes it so it isn't ignored by
git. I think it makes sense for the .env.test file to be in git, since
there's nothing secret in it, but other approaches would be to have a
.env.test.sample (like the corresponding one for production), or to set
these values in a test helper, or to adapt the tests to work with
environments other than this one. I'd be happy to make these changes if
that would be preferred.

Being able to get set up and run the tests is a pretty important part of
being able to contribute to Mastodon (or your test coverage with
suffer!), so having some sort of solution like this one is vital.
2016-11-24 17:48:25 +00: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
Eugen
d74cef45aa Merge pull request #227 from nclm/french-translation
Missing lines in the French translation
2016-11-23 17:18:27 +01: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
nicolas
23677bc51e Merge branch 'master' into french-translation 2016-11-23 15:43:27 +01:00
nicolas
1e95fbb10b Update doorkeeper.fr.yml
e
2016-11-23 14:47:41 +01:00
nicolas
94f96a6e85 Update doorkeeper.fr.yml 2016-11-23 14:45:31 +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
Andrea Faulds
82191b3383 Explain application secrets (#217) 2016-11-23 09:30:53 +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
4b5b953d42 Upgrade to latest Rails, which apparently improves ActionCable performance 2016-11-22 22:26:44 +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
f5dd152e1a Merge pull request #2 from Gargron/master
Merge
2016-11-22 17:26:17 +01:00
Eugen Rochko
95db6cbe28 Merge branch 'nclm-french-translation' 2016-11-22 11:35:15 +01:00
Eugen Rochko
4a422650bb Fix broken locales 2016-11-22 11:34:36 +01:00
nicolas
c7031fd535 Update fr.jsx 2016-11-22 10:49:50 +01:00
nicolas
82cb34916a Update fr.yml 2016-11-22 10:39:15 +01:00
nicolas
ba4c03de71 Update simple_form.fr.yml
silenced mode + edits
2016-11-22 10:32:43 +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
nicolas
64cfbbcc55 Adding French locale 2016-11-21 22:46:59 +01:00
nicolas
46d9076e99 Importing doorkeeper.fr.yml
From https://github.com/doorkeeper-gem/doorkeeper-i18n/blob/master/rails/locales/fr.yml
2016-11-21 22:39:20 +01:00
nicolas
12e9f789ab Importing devise.fr.yml
From https://gist.github.com/qsypoq/4cf3b858ff8242ffb013
2016-11-21 22:34:50 +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
nicolas
a3afea7b9d First version for simple_form.fr.yml 2016-11-21 21:30:13 +01:00
nicolas
fc87243c39 First version for fr.yml 2016-11-21 21:25:27 +01:00
nicolas
05823c325c Create devise.fr.yml 2016-11-21 20:59:41 +01:00
nicolas
753115ff57 Create doorkeeper.fr.yml 2016-11-21 20:59:13 +01:00
nicolas
8504110d45 Create simple_form.fr.yml 2016-11-21 20:58:43 +01:00
nicolas
e9980a9b8b Create fr.yml 2016-11-21 20:57:28 +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
954f344cf7 Merge branch 'victorhck-master' 2016-11-21 11:05:33 +01:00
Eugen Rochko
db58235930 Fixes for the Spanish translation 2016-11-21 11:05:11 +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
Victorhck
c12125e6b5 improvements in text made by Ekaitz 2016-11-20 00:52:06 +01:00
Victorhck
0b48973733 fix typos, and suggestions made by Ekaitz 2016-11-20 00:50:45 +01:00
Eugen Rochko
8977fde8ed Fix up Spanish translations 2016-11-19 22:05:26 +01:00
victorhck
daf90377bd Merge branch 'master' of https://github.com/victorhck/mastodon 2016-11-19 18:44:58 +01:00
victorhck
065f372bd1 Merge remote-tracking branch 'upstream/master' 2016-11-19 18:42:37 +01:00
Victorhck
d68750d7dc Finished spanish translation config files 2016-11-19 18:40:03 +01:00
Eugen
93e47c7135 Fix wrong language declaration 2016-11-19 18:31:36 +01:00
Eugen
5cda7f6bbb Fix wrong language declaration 2016-11-19 18:31:21 +01:00
victorhck
a6ed09441c finished spanish translation config files 2016-11-19 17:45:45 +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
Victorhck
367b05d733 Spanish translation for devise.es.yml 2016-11-18 23:57:03 +01:00
Eugen Rochko
0293a7dd49 Updating some npm packages 2016-11-18 23:55:44 +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
a05fe70c24 finished spanish translation for es.yml 2016-11-18 23:04:26 +01:00
victorhck
084668c170 started sp translations config locales 2016-11-18 20:39:40 +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
c1be1ac7c6 Merge pull request #149 from larkinscott/master
Create .codeclimate.yml
2016-11-17 20:42:52 +01:00
Scott Larkin
e177ff305a Create .codeclimate.yml
Created a .codeclimate.yml configuration file that will work with your existing configurations for ESLint and Rubocop.
2016-11-17 12:40:23 -05: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
cd765f26a9 Upgrade ruby to 2.3.1 2016-11-12 01:55:33 +01:00
Eugen Rochko
ff229aa978 Fix #141 - Add "Server: Mastodon" header to responses 2016-11-10 23:34:33 +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
722 changed files with 219160 additions and 4442 deletions

View File

@@ -1,4 +1,7 @@
{
"presets": ["es2015", "react"],
"plugins": ["transform-object-rest-spread"]
"plugins": [
"transform-decorators-legacy",
"transform-object-rest-spread"
]
}

18
.codeclimate.yml Normal file
View File

@@ -0,0 +1,18 @@
engines:
duplication:
enabled: true
config:
languages:
- ruby
- javascript
rubocop:
enabled: true
eslint:
enabled: true
ratings:
paths:
- "**.rb"
- "**.js"
exclude_paths:
- spec/
- vendor/asset

View File

@@ -6,16 +6,22 @@ DB_USER=postgres
DB_NAME=postgres
DB_PASS=
DB_PORT=5432
NEO4J_HOST=neo4j
NEO4J_PORT=7474
# Federation
LOCAL_DOMAIN=example.com
LOCAL_HTTPS=true
# Application secrets
# Generate each with the `rake secret` task (`docker-compose run --rm web rake secret` if you use docker compose)
PAPERCLIP_SECRET=
SECRET_KEY_BASE=
OTP_SECRET=
# Registrations
# Single user mode will disable registrations and redirect frontpage to the first profile
# SINGLE_USER_MODE=true
# Prevent registrations with following e-mail domains
# EMAIL_DOMAIN_BLACKLIST=example1.com|example2.de|etc
# E-mail configuration
SMTP_SERVER=smtp.mailgun.org
@@ -23,3 +29,19 @@ SMTP_PORT=587
SMTP_LOGIN=
SMTP_PASSWORD=
SMTP_FROM_ADDRESS=notifications@example.com
# Optional asset host for multi-server setups
# CDN_HOST=assets.example.com
# S3 (optional)
# S3_ENABLED=true
# S3_BUCKET=
# AWS_ACCESS_KEY_ID=
# AWS_SECRET_ACCESS_KEY=
# S3_REGION=
# Optional alias for S3 if you want to use Cloudfront or Cloudflare in front
# S3_CLOUDFRONT_HOST=
# Streaming API integration
# STREAMING_API_BASE_URL=

3
.env.test Normal file
View File

@@ -0,0 +1,3 @@
# Federation
LOCAL_DOMAIN=cb6e6126.ngrok.io
LOCAL_HTTPS=true

2
.env.vagrant Normal file
View File

@@ -0,0 +1,2 @@
VAGRANT=true
LOCAL_DOMAIN=mastodon.dev

View File

@@ -15,7 +15,37 @@
"sourceType": "module",
"ecmaFeatures": {
"jsx": true
},
"arrowFunctions": true,
"jsx": true,
"destructuring": true,
"modules": true,
"spread": true
}
},
"rules": {
"no-cond-assign": 2,
"no-console": 1,
"no-irregular-whitespace": 2,
"no-unreachable": 2,
"valid-typeof": 2,
"consistent-return": 2,
"dot-notation": 2,
"eqeqeq": 2,
"no-fallthrough": 2,
"no-unused-expressions": 2,
"strict": 0,
"no-catch-shadow": 2,
"indent": [1, 2],
"brace-style": 1,
"comma-spacing": [1, {"before": false, "after": true}],
"comma-style": [1, "last"],
"no-mixed-spaces-and-tabs": 1,
"no-nested-ternary": 1,
"no-trailing-spaces": 1,
"react/wrap-multilines": 2,
"react/self-closing-comp": 2,
"react/prop-types": 2,
"react/no-multi-comp": 0
}
}

8
.gitignore vendored
View File

@@ -19,6 +19,12 @@ coverage
public/system
public/assets
.env
.env.*
.env.production
node_modules/
neo4j/
# Ignore Vagrant files
.vagrant/
# Ignore Capistrano customizations
config/deploy/*

View File

@@ -18,9 +18,29 @@ Metrics/MethodLength:
CountComments: false
Max: 10
Metrics/ModuleLength:
Metrics/AbcSize:
Max: 100
Metrics/BlockNesting:
Max: 3
Metrics/ClassLength:
CountComments: false
Max: 200
Metrics/CyclomaticComplexity:
Max: 15
Metrics/MethodLength:
Max: 55
Metrics/ModuleLength:
CountComments: false
Max: 200
Metrics/PerceivedComplexity:
Max: 10
Metrics/ParameterLists:
Max: 4
CountKeywordArgs: true
@@ -37,10 +57,10 @@ Style/Documentation:
Enabled: false
Style/DoubleNegation:
Enabled: false
Enabled: true
Style/FrozenStringLiteralComment:
Enabled: false
Enabled: true
Style/SpaceInsideHashLiteralBraces:
EnforcedStyle: space
@@ -51,10 +71,20 @@ Style/TrailingCommaInLiteral:
Style/RegexpLiteral:
Enabled: false
Style/Lambda:
Enabled: false
Rails/HasAndBelongsToMany:
Enabled: false
AllCops:
TargetRubyVersion: 2.2
TargetRubyVersion: 2.3
Exclude:
- 'spec/**/*'
- 'db/**/*'
- 'app/views/**/*'
- 'config/**/*'
- 'bin/*'
- 'Rakefile'
- 'node_modules/**/*'
- 'Vagrantfile'

View File

@@ -1 +1 @@
ruby-2.2.4
2.3.1

View File

@@ -11,20 +11,22 @@ env:
- LOCAL_DOMAIN=cb6e6126.ngrok.io
- LOCAL_HTTPS=true
- RAILS_ENV=test
- NEO4J_HOST=localhost
- NEO4J_PORT=7575
- CXX=g++-4.8
addons:
postgresql: 9.4
rvm:
- 2.2.4
- 2.3.1
services:
- redis-server
bundler_args: --without development production --retry=3 --jobs=3
before_install:
- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
- sudo apt-get -qq update
- sudo apt-get -qq install g++-4.8
install:
- nvm install $TRAVIS_NODE_VERSION
- npm install -g npm@3

13
Capfile Normal file
View File

@@ -0,0 +1,13 @@
require 'capistrano/setup'
require 'capistrano/deploy'
require 'capistrano/scm/git'
install_plugin Capistrano::SCM::Git
require 'capistrano/rbenv'
require 'capistrano/bundler'
require 'capistrano/yarn'
require 'capistrano/rails/assets'
require 'capistrano/rails/migrations'
Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }

View File

@@ -1,4 +1,4 @@
FROM ruby:2.2.4
FROM ruby:2.3.1
ENV RAILS_ENV=production

View File

@@ -1,17 +0,0 @@
FROM neo4j:latest
ENV NEO4J_AUTH=none
RUN cd /var/lib/neo4j/plugins \
&& wget http://products.graphaware.com/download/framework-server-community/graphaware-server-community-all-3.0.6.43.jar \
&& wget http://products.graphaware.com/download/noderank/graphaware-noderank-3.0.6.43.3.jar
RUN echo "dbms.unmanaged_extension_classes=com.graphaware.server=/graphaware" >> /var/lib/neo4j/conf/neo4j.conf
RUN echo 'com.graphaware.runtime.enabled=true\n\
com.graphaware.module.NR.1=com.graphaware.module.noderank.NodeRankModuleBootstrapper\n\
com.graphaware.module.NR.maxTopRankNodes=10\n\
com.graphaware.module.NR.dampingFactor=0.85\n\
com.graphaware.module.NR.propertyKey=nodeRank\n'\
>> /var/lib/neo4j/conf/neo4j.conf
RUN echo 'com.graphaware.runtime.stats.disabled=true\n\
com.graphaware.server.stats.disabled=true\n'\
>> /var/lib/neo4j/conf/neo4j.conf

32
Gemfile
View File

@@ -1,6 +1,9 @@
source 'https://rubygems.org'
# frozen_string_literal: true
gem 'rails', '5.0.0.1'
source 'https://rubygems.org'
ruby '2.3.1'
gem 'rails', '~> 5.0.1.0'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
@@ -14,10 +17,11 @@ gem 'pg'
gem 'pghero'
gem 'dotenv-rails'
gem 'font-awesome-rails'
gem 'best_in_place', '~> 3.0.1'
gem 'paperclip', '~> 4.3'
gem 'paperclip', '~> 5.1'
gem 'paperclip-av-transcoder'
gem 'aws-sdk', '< 2.0'
gem 'aws-sdk', '>= 2.0'
gem 'http'
gem 'httplog'
@@ -27,9 +31,10 @@ gem 'link_header'
gem 'ostatus2'
gem 'goldfinger'
gem 'devise'
gem 'rails_autolink'
gem 'devise-two-factor'
gem 'doorkeeper'
gem 'rabl'
gem 'rqrcode'
gem 'oj'
gem 'hiredis'
gem 'redis', '~>3.2'
@@ -40,8 +45,11 @@ gem 'will_paginate'
gem 'rack-attack'
gem 'rack-cors', require: 'rack/cors'
gem 'sidekiq'
gem 'ledermann-rails-settings'
gem 'neography'
gem 'rails-settings-cached'
gem 'pg_search'
gem 'simple-navigation'
gem 'statsd-instrument'
gem 'ruby-oembed', require: 'oembed'
gem 'react-rails'
gem 'browserify-rails'
@@ -52,6 +60,7 @@ group :development, :test do
gem 'pry-rails'
gem 'fuubar'
gem 'fabrication'
gem 'i18n-tasks', '~> 0.9.6'
end
group :test do
@@ -65,12 +74,19 @@ group :development do
gem 'better_errors'
gem 'binding_of_caller'
gem 'letter_opener'
gem 'letter_opener_web'
gem 'bullet'
gem 'active_record_query_trace'
gem 'capistrano'
gem 'capistrano-rails'
gem 'capistrano-rbenv'
gem 'capistrano-yarn'
end
group :production do
gem 'rails_12factor'
gem 'lograge'
gem 'redis-rails'
gem 'lograge'
gem 'rack-timeout'
end

View File

@@ -1,61 +1,72 @@
GEM
remote: https://rubygems.org/
specs:
actioncable (5.0.0.1)
actionpack (= 5.0.0.1)
actioncable (5.0.1)
actionpack (= 5.0.1)
nio4r (~> 1.2)
websocket-driver (~> 0.6.1)
actionmailer (5.0.0.1)
actionpack (= 5.0.0.1)
actionview (= 5.0.0.1)
activejob (= 5.0.0.1)
actionmailer (5.0.1)
actionpack (= 5.0.1)
actionview (= 5.0.1)
activejob (= 5.0.1)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
actionpack (5.0.0.1)
actionview (= 5.0.0.1)
activesupport (= 5.0.0.1)
actionpack (5.0.1)
actionview (= 5.0.1)
activesupport (= 5.0.1)
rack (~> 2.0)
rack-test (~> 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionview (5.0.0.1)
activesupport (= 5.0.0.1)
actionview (5.0.1)
activesupport (= 5.0.1)
builder (~> 3.1)
erubis (~> 2.7.0)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
active_record_query_trace (1.5.3)
activejob (5.0.0.1)
activesupport (= 5.0.0.1)
activejob (5.0.1)
activesupport (= 5.0.1)
globalid (>= 0.3.6)
activemodel (5.0.0.1)
activesupport (= 5.0.0.1)
activerecord (5.0.0.1)
activemodel (= 5.0.0.1)
activesupport (= 5.0.0.1)
activemodel (5.0.1)
activesupport (= 5.0.1)
activerecord (5.0.1)
activemodel (= 5.0.1)
activesupport (= 5.0.1)
arel (~> 7.0)
activesupport (5.0.0.1)
activesupport (5.0.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (~> 0.7)
minitest (~> 5.1)
tzinfo (~> 1.1)
addressable (2.4.0)
arel (7.1.1)
addressable (2.5.0)
public_suffix (~> 2.0, >= 2.0.2)
airbrussh (1.1.2)
sshkit (>= 1.6.1, != 1.7.0)
arel (7.1.4)
ast (2.3.0)
attr_encrypted (3.0.3)
encryptor (~> 3.0.0)
autoprefixer-rails (6.5.0.2)
execjs
av (0.9.0)
cocaine (~> 0.5.3)
aws-sdk (1.66.0)
aws-sdk-v1 (= 1.66.0)
aws-sdk-v1 (1.66.0)
json (~> 1.4)
nokogiri (>= 1.4.4)
aws-sdk (2.6.28)
aws-sdk-resources (= 2.6.28)
aws-sdk-core (2.6.28)
aws-sigv4 (~> 1.0)
jmespath (~> 1.0)
aws-sdk-resources (2.6.28)
aws-sdk-core (= 2.6.28)
aws-sigv4 (1.0.0)
babel-source (5.8.35)
babel-transpiler (0.7.0)
babel-source (>= 4.0, < 6)
execjs (~> 2.0)
bcrypt (3.1.11)
best_in_place (3.0.3)
actionpack (>= 3.2)
railties (>= 3.2)
better_errors (2.1.1)
coderay (>= 1.0.0)
erubis (>= 2.6.6)
@@ -65,12 +76,30 @@ GEM
browserify-rails (3.1.0)
railties (>= 4.0.0, < 5.1)
sprockets (>= 3.5.2)
builder (3.2.2)
builder (3.2.3)
bullet (5.3.0)
activesupport (>= 3.0.0)
uniform_notifier (~> 1.10.0)
climate_control (0.0.3)
activesupport (>= 3.0)
capistrano (3.7.2)
airbrussh (>= 1.0.0)
capistrano-harrow
i18n
rake (>= 10.0.0)
sshkit (>= 1.9.0)
capistrano-bundler (1.2.0)
capistrano (~> 3.1)
sshkit (~> 1.2)
capistrano-harrow (0.5.3)
capistrano-rails (1.2.2)
capistrano (~> 3.1)
capistrano-bundler (~> 1.1)
capistrano-rbenv (2.1.0)
capistrano (~> 3.1)
sshkit (~> 1.3)
capistrano-yarn (2.0.2)
capistrano (~> 3.0)
chunky_png (1.3.8)
climate_control (0.1.0)
cocaine (0.5.8)
climate_control (>= 0.0.3, < 1.0)
coderay (1.1.1)
@@ -82,8 +111,8 @@ GEM
execjs
coffee-script-source (1.10.0)
colorize (0.8.1)
concurrent-ruby (1.0.2)
connection_pool (2.2.0)
concurrent-ruby (1.0.4)
connection_pool (2.2.1)
crack (0.4.3)
safe_yaml (~> 1.0.0)
debug_inspector (0.0.2)
@@ -93,9 +122,15 @@ GEM
railties (>= 4.1.0, < 5.1)
responders
warden (~> 1.2.3)
devise-two-factor (3.0.0)
activesupport
attr_encrypted (>= 1.3, < 4, != 2)
devise (~> 4.0)
railties
rotp (~> 2.0)
diff-lcs (1.2.5)
docile (1.1.5)
domain_name (0.5.20160826)
domain_name (0.5.20161129)
unf (>= 0.0.5, < 1.0.0)
doorkeeper (4.2.0)
railties (>= 4.2)
@@ -103,8 +138,12 @@ GEM
dotenv-rails (2.1.1)
dotenv (= 2.1.1)
railties (>= 4.0, < 5.1)
easy_translate (0.5.0)
json
thread
thread_safe
encryptor (3.0.0)
erubis (2.7.0)
excon (0.53.0)
execjs (2.7.0)
fabrication (2.15.2)
fast_blank (1.0.0)
@@ -115,7 +154,7 @@ GEM
ruby-progressbar (~> 1.4)
globalid (0.3.7)
activesupport (>= 4.1.0)
goldfinger (1.1.0)
goldfinger (1.1.2)
addressable (~> 2.4)
http (~> 2.0)
nokogiri (~> 1.6)
@@ -129,9 +168,10 @@ GEM
hamlit (>= 1.2.0)
railties (>= 4.0.1)
hashdiff (0.3.0)
highline (1.7.8)
hiredis (0.6.1)
htmlentities (4.3.4)
http (2.0.3)
http (2.1.0)
addressable (~> 2.3)
http-cookie (~> 1.0)
http-form_data (~> 1.0.1)
@@ -143,9 +183,20 @@ GEM
httplog (0.3.2)
colorize
i18n (0.7.0)
i18n-tasks (0.9.6)
activesupport (>= 4.0.2)
ast (>= 2.1.0)
easy_translate (>= 0.5.0)
erubis
highline (>= 1.7.3)
i18n
parser (>= 2.2.3.0)
term-ansicolor (>= 1.3.2)
terminal-table (>= 1.5.1)
jbuilder (2.6.0)
activesupport (>= 3.0.0, < 5.1)
multi_json (~> 1.2)
jmespath (1.3.1)
jquery-rails (4.1.1)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
@@ -153,10 +204,12 @@ GEM
json (1.8.3)
launchy (2.4.3)
addressable (~> 2.3)
ledermann-rails-settings (2.4.2)
activerecord (>= 3.1)
letter_opener (1.4.1)
launchy (~> 2.2)
letter_opener_web (1.3.0)
actionmailer (>= 3.2)
letter_opener (~> 1.0)
railties (>= 3.2)
link_header (0.0.8)
lograge (0.4.1)
actionpack (>= 4, < 5.1)
@@ -170,39 +223,38 @@ GEM
mime-types (3.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2016.0521)
mimemagic (0.3.0)
mimemagic (0.3.2)
mini_portile2 (2.1.0)
minitest (5.9.1)
minitest (5.10.1)
multi_json (1.12.1)
neography (1.8.0)
excon (>= 0.33.0)
json (>= 1.7.7)
multi_json (>= 1.3.2)
os (>= 0.9.6)
rake (>= 0.8.7)
rubyzip (>= 1.0.0)
net-scp (1.2.1)
net-ssh (>= 2.6.5)
net-ssh (4.0.1)
nio4r (1.2.1)
nokogiri (1.6.8.1)
nokogiri (1.7.0.1)
mini_portile2 (~> 2.1.0)
oj (2.17.3)
orm_adapter (0.5.0)
os (0.9.6)
ostatus2 (1.0.2)
addressable (~> 2.4)
http (~> 2.0)
nokogiri (~> 1.6)
paperclip (4.3.7)
activemodel (>= 3.2.0)
activesupport (>= 3.2.0)
paperclip (5.1.0)
activemodel (>= 4.2.0)
activesupport (>= 4.2.0)
cocaine (~> 0.5.5)
mime-types
mimemagic (= 0.3.0)
mimemagic (~> 0.3.0)
paperclip-av-transcoder (0.6.4)
av (~> 0.9.0)
paperclip (>= 2.5.2)
parser (2.3.1.2)
ast (~> 2.2)
pg (0.18.4)
pg_search (1.0.6)
activerecord (>= 3.1)
activesupport (>= 3.1)
arel
pghero (1.6.2)
activerecord
powerpack (0.1.1)
@@ -212,6 +264,7 @@ GEM
slop (~> 3.4)
pry-rails (0.3.4)
pry (>= 0.9.10)
public_suffix (2.0.4)
puma (3.6.0)
rabl (0.13.1)
activesupport (>= 2.3.14)
@@ -223,38 +276,39 @@ GEM
rack
rack-test (0.6.3)
rack (>= 1.0)
rails (5.0.0.1)
actioncable (= 5.0.0.1)
actionmailer (= 5.0.0.1)
actionpack (= 5.0.0.1)
actionview (= 5.0.0.1)
activejob (= 5.0.0.1)
activemodel (= 5.0.0.1)
activerecord (= 5.0.0.1)
activesupport (= 5.0.0.1)
rack-timeout (0.4.2)
rails (5.0.1)
actioncable (= 5.0.1)
actionmailer (= 5.0.1)
actionpack (= 5.0.1)
actionview (= 5.0.1)
activejob (= 5.0.1)
activemodel (= 5.0.1)
activerecord (= 5.0.1)
activesupport (= 5.0.1)
bundler (>= 1.3.0, < 2.0)
railties (= 5.0.0.1)
railties (= 5.0.1)
sprockets-rails (>= 2.0.0)
rails-dom-testing (2.0.1)
rails-dom-testing (2.0.2)
activesupport (>= 4.2.0, < 6.0)
nokogiri (~> 1.6.0)
nokogiri (~> 1.6)
rails-html-sanitizer (1.0.3)
loofah (~> 2.0)
rails-settings-cached (0.6.5)
rails (>= 4.2.0)
rails_12factor (0.0.3)
rails_serve_static_assets
rails_stdout_logging
rails_autolink (1.1.6)
rails (> 3.1)
rails_serve_static_assets (0.0.5)
rails_stdout_logging (0.0.5)
railties (5.0.0.1)
actionpack (= 5.0.0.1)
activesupport (= 5.0.0.1)
railties (5.0.1)
actionpack (= 5.0.1)
activesupport (= 5.0.1)
method_source
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
rainbow (2.1.0)
rake (11.3.0)
rake (12.0.0)
rdoc (4.2.2)
json (~> 1.4)
react-rails (1.8.2)
@@ -264,7 +318,7 @@ GEM
execjs
railties (>= 3.2)
tilt
redis (3.3.1)
redis (3.3.2)
redis-actionpack (5.0.0)
actionpack (>= 4.0.0, < 6)
redis-rack (~> 2.0.0.pre)
@@ -283,6 +337,9 @@ GEM
redis (>= 2.2)
responders (2.3.0)
railties (>= 4.2.0, < 5.1)
rotp (2.1.2)
rqrcode (0.10.1)
chunky_png (~> 1.0)
rspec (3.5.0)
rspec-core (~> 3.5.0)
rspec-expectations (~> 3.5.0)
@@ -313,8 +370,8 @@ GEM
rainbow (>= 1.99.1, < 3.0)
ruby-progressbar (~> 1.7)
unicode-display_width (~> 1.0, >= 1.0.1)
ruby-oembed (0.10.1)
ruby-progressbar (1.8.1)
rubyzip (1.2.0)
safe_yaml (1.0.4)
sass (3.4.22)
sass-rails (5.0.6)
@@ -326,11 +383,13 @@ GEM
sdoc (0.4.1)
json (~> 1.7, >= 1.7.7)
rdoc (~> 4.0)
sidekiq (4.2.1)
sidekiq (4.2.7)
concurrent-ruby (~> 1.0)
connection_pool (~> 2.2, >= 2.2.0)
rack-protection (~> 1.5)
rack-protection (>= 1.5.0)
redis (~> 3.2, >= 3.2.1)
simple-navigation (4.0.3)
activesupport (>= 2.3.2)
simple_form (3.2.1)
actionpack (> 4, < 5.1)
activemodel (> 4, < 5.1)
@@ -340,17 +399,27 @@ GEM
simplecov-html (~> 0.10.0)
simplecov-html (0.10.0)
slop (3.6.0)
sprockets (3.7.0)
sprockets (3.7.1)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
sprockets-rails (3.1.1)
sprockets-rails (3.2.0)
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
sshkit (1.11.5)
net-scp (>= 1.1.2)
net-ssh (>= 2.8.0)
statsd-instrument (2.1.2)
temple (0.7.7)
thor (0.19.1)
term-ansicolor (1.4.0)
tins (~> 1.0)
terminal-table (1.7.0)
unicode-display_width (~> 1.1)
thor (0.19.4)
thread (0.2.2)
thread_safe (0.3.5)
tilt (2.0.5)
tins (1.12.0)
tzinfo (1.2.2)
thread_safe (~> 0.1)
uglifier (3.0.1)
@@ -378,13 +447,19 @@ DEPENDENCIES
active_record_query_trace
addressable
autoprefixer-rails
aws-sdk (< 2.0)
aws-sdk (>= 2.0)
best_in_place (~> 3.0.1)
better_errors
binding_of_caller
browserify-rails
bullet
capistrano
capistrano-rails
capistrano-rbenv
capistrano-yarn
coffee-rails (~> 4.1.0)
devise
devise-two-factor
doorkeeper
dotenv-rails
fabrication
@@ -397,42 +472,51 @@ DEPENDENCIES
htmlentities
http
httplog
i18n-tasks (~> 0.9.6)
jbuilder (~> 2.0)
jquery-rails
ledermann-rails-settings
letter_opener
letter_opener_web
link_header
lograge
neography
nokogiri
oj
ostatus2
paperclip (~> 4.3)
paperclip (~> 5.1)
paperclip-av-transcoder
pg
pg_search
pghero
pry-rails
puma
rabl
rack-attack
rack-cors
rails (= 5.0.0.1)
rack-timeout
rails (~> 5.0.1.0)
rails-settings-cached
rails_12factor
rails_autolink
react-rails
redis (~> 3.2)
redis-rails
rqrcode
rspec-rails
rspec-sidekiq
rubocop
ruby-oembed
sass-rails (~> 5.0)
sdoc (~> 0.4.0)
sidekiq
simple-navigation
simple_form
simplecov
statsd-instrument
uglifier (>= 1.3.0)
webmock
will_paginate
RUBY VERSION
ruby 2.3.1p112
BUNDLED WITH
1.13.0
1.14.3

2
Procfile Normal file
View File

@@ -0,0 +1,2 @@
web: bundle exec puma -C config/puma.rb
worker: bundle exec sidekiq -q default -q mailers -q push

View File

@@ -1,11 +1,11 @@
Mastodon
========
[![Build Status](http://img.shields.io/travis/Gargron/goldfinger.svg)][travis]
[![Code Climate](https://img.shields.io/codeclimate/github/Gargron/mastodon.svg)][code_climate]
[![Build Status](http://img.shields.io/travis/tootsuite/mastodon.svg)][travis]
[![Code Climate](https://img.shields.io/codeclimate/github/tootsuite/mastodon.svg)][code_climate]
[travis]: https://travis-ci.org/Gargron/mastodon
[code_climate]: https://codeclimate.com/github/Gargron/mastodon
[travis]: https://travis-ci.org/tootsuite/mastodon
[code_climate]: https://codeclimate.com/github/tootsuite/mastodon
Mastodon is a free, open-source social network server. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Anyone can run Mastodon and participate in the social network seamlessly.
@@ -13,7 +13,7 @@ An alternative implementation of the GNU social project. Based on ActivityStream
Click on the screenshot to watch a demo of the UI:
[![Screenshot](https://i.imgur.com/pNieDFp.png)][youtube_demo]
[![Screenshot](https://i.imgur.com/T2q5V65.png)][youtube_demo]
[youtube_demo]: https://www.youtube.com/watch?v=YO1jQ8_rAMU
@@ -25,11 +25,11 @@ If you would like, you can [support the development of this project on Patreon][
## Resources
- [List of Mastodon instances](https://github.com/Gargron/mastodon/wiki/List-of-Mastodon-instances)
- [List of Mastodon instances](docs/Using-Mastodon/List-of-Mastodon-instances.md)
- [Use this tool to find Twitter friends on Mastodon](https://mastodon-bridge.herokuapp.com)
- [API overview](https://github.com/Gargron/mastodon/wiki/API)
- [How to use the API via cURL/oAuth](https://github.com/Gargron/mastodon/wiki/Testing-with-cURL)
- [Frequently Asked Questions](https://github.com/Gargron/mastodon/wiki/FAQ)
- [API overview](docs/Using-the-API/API.md)
- [Frequently Asked Questions](docs/Using-Mastodon/FAQ.md)
- [List of apps](docs/Using-Mastodon/Apps.md)
## Features
@@ -52,16 +52,16 @@ If you would like, you can [support the development of this project on Patreon][
- `LOCAL_DOMAIN` should be the domain/hostname of your instance. This is **absolutely required** as it is used for generating unique IDs for everything federation-related
- `LOCAL_HTTPS` set it to `true` if HTTPS works on your website. This is used to generate canonical URLs, which is also important when generating and parsing federation-related IDs
- `HUB_URL` should be the URL of the PubsubHubbub service that your instance is going to use. By default it is the open service of Superfeedr
Consult the example configuration file, `.env.production.sample` for the full list. Among other things you need to set details for the SMTP server you are going to use.
## Requirements
- Ruby
- Node.js
- PostgreSQL
- Redis
- Neo4J (optional)
- GraphAware NodeRank
- Nginx
## Running with Docker and Docker-Compose
@@ -90,8 +90,8 @@ The container has two volumes, for the assets and for user uploads. The default
- `rake mastodon:media:clear` removes uploads that have not been attached to any status after a while, you would want to run this from a periodic cronjob
- `rake mastodon:push:clear` unsubscribes from PuSH notifications for remote users that have no local followers. You may not want to actually do that, to keep a fuller footprint of the fediverse or in case your users will soon re-follow
- `rake mastodon:push:refresh` re-subscribes PuSH for expiring remote users, this should be run periodically from a cronjob and quite often as the expiration time depends on the particular hub of the remote user
- `rake mastodon:feeds:clear` removes all timelines, which forces them to be re-built on the fly next time a user tries to fetch their home/mentions timeline. Only for troubleshooting
- `rake mastodon:graphs:sync` re-imports all follow relationships into Neo4J. Only for troubleshooting
- `rake mastodon:feeds:clear_all` removes all timelines, which forces them to be re-built on the fly next time a user tries to fetch their home/mentions timeline. Only for troubleshooting
- `rake mastodon:feeds:clear` removes timelines of users who haven't signed in lately, which allows to save RAM and improve message distribution. This is required to be run periodically so that when they login again the regeneration process will trigger
Running any of these tasks via docker-compose would look like this:
@@ -113,11 +113,29 @@ And finally,
Which will re-create the updated containers, leaving databases and data as is. Depending on what files have been updated, you might need to re-run migrations and asset compilation.
### Contributing
## Deployment without Docker
Docker is great for quickly trying out software, but it has its drawbacks too. If you prefer to run Mastodon without using Docker, refer to the [production guide](docs/Running-Mastodon/Production-guide.md) for examples, configuration and instructions.
## Deployment on Heroku (experimental)
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)
Mastodon can theoretically run indefinitely on a free [Heroku](https://heroku.com) app. [You can view a guide for deployment on Heroku here.](docs/Running-Mastodon/Heroku-guide.md)
## Development with Vagrant
A quick way to get a development environment up and running is with Vagrant. You will need recent versions of [Vagrant](https://www.vagrantup.com/) and [VirtualBox](https://www.virtualbox.org/) installed.
[You can find the guide for setting up a Vagrant development environment here.](docs/Running-Mastodon/Vagrant-guide.md)
## Contributing
You can open issues for bugs you've found or features you think are missing. You can also submit pull requests to this repository. This section may be updated with more details in the future.
### Extra credits
**IRC channel**: #mastodon on irc.freenode.net
## Extra credits
- The [Emoji One](https://github.com/Ranks/emojione) pack has been used for the emojis
- The error page image courtesy of [Dopatwo](https://www.youtube.com/user/dopatwo)

109
Vagrantfile vendored Normal file
View File

@@ -0,0 +1,109 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
$provision = <<SCRIPT
cd /vagrant # This is where the host folder/repo is mounted
# Add the yarn repo + yarn repo keys
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
sudo apt-add-repository 'deb https://dl.yarnpkg.com/debian/ stable main'
# Add repo for NodeJS
curl -sL https://deb.nodesource.com/setup_4.x | sudo bash -
# Add firewall rule to redirect 80 to 3000 and save
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3000
echo iptables-persistent iptables-persistent/autosave_v4 boolean true | sudo debconf-set-selections
echo iptables-persistent iptables-persistent/autosave_v6 boolean true | sudo debconf-set-selections
sudo apt-get install iptables-persistent -y
# Add packages to build and run Mastodon
sudo apt-get install \
git-core \
g++ \
libpq-dev \
libxml2-dev \
libxslt1-dev \
imagemagick \
nodejs \
redis-server \
redis-tools \
postgresql \
postgresql-contrib \
yarn \
libreadline-dev \
-y
# Install rbenv
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
cd ~/.rbenv && src/configure && make -C src
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
export PATH="$HOME/.rbenv/bin::$PATH"
eval "$(rbenv init -)"
echo "Compiling Ruby 2.3.1: warning, this takes a while!!!"
rbenv install 2.3.1
rbenv global 2.3.1
cd /vagrant
# Configure database
sudo -u postgres createuser -U postgres vagrant -s
sudo -u postgres createdb -U postgres mastodon_development
# Install gems and node modules
gem install bundler
bundle install
yarn install
# Build Mastodon
bundle exec rails db:setup
bundle exec rails assets:precompile
SCRIPT
$start = <<SCRIPT
cd /vagrant
export $(cat ".env.vagrant" | xargs)
rails s -d -b 0.0.0.0
SCRIPT
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.provider :virtualbox do |vb|
vb.name = "mastodon"
vb.customize ["modifyvm", :id, "--memory", "1024"]
end
config.vm.hostname = "mastodon.dev"
# This uses the vagrant-hostsupdater plugin, and lets you
# access the development site at http://mastodon.dev.
# To install:
# $ vagrant plugin install hostsupdater
if defined?(VagrantPlugins::HostsUpdater)
config.vm.network :private_network, ip: "192.168.42.42"
config.hostsupdater.remove_on_suspend = false
end
# Otherwise, you can access the site at http://localhost:3000
config.vm.network :forwarded_port, guest: 80, host: 3000
# Full provisioning script, only runs on first 'vagrant up' or with 'vagrant provision'
config.vm.provision :shell, inline: $provision, privileged: false
# Start up script, runs on every 'vagrant up'
config.vm.provision :shell, inline: $start, run: 'always', privileged: false
end

91
app.json Normal file
View File

@@ -0,0 +1,91 @@
{
"name": "Mastodon",
"description": "A GNU Social-compatible microblogging server",
"repository": "https://github.com/tootsuite/mastodon",
"logo": "https://github.com/tootsuite/mastodon/raw/master/app/assets/images/logo.png",
"env": {
"HEROKU": {
"description": "Leave this as true",
"value": "true",
"required": true
},
"LOCAL_DOMAIN": {
"description": "The domain that your Mastodon instance will run on (this can be appname.herokuapp.com or a custom domain)",
"required": true
},
"LOCAL_HTTPS": {
"description": "Will your domain support HTTPS? (Automatic for herokuapp, requires manual configuration for custom domains)",
"value": "false",
"required": true
},
"PAPERCLIP_SECRET": {
"description": "The secret key for storing media files",
"generator": "secret"
},
"SECRET_KEY_BASE": {
"description": "The secret key base",
"generator": "secret"
},
"SINGLE_USER_MODE": {
"description": "Should the instance run in single user mode? (Disable registrations, redirect to front page)",
"value": "false",
"required": true
},
"S3_ENABLED": {
"description": "Should Mastodon use Amazon S3 for storage? This is highly recommended, as Heroku does not have persistent file storage (files will be lost).",
"value": "true",
"required": false
},
"S3_BUCKET": {
"description": "Amazon S3 Bucket",
"required": false
},
"S3_REGION": {
"description": "Amazon S3 region that the bucket is located in",
"required": false
},
"AWS_ACCESS_KEY_ID": {
"description": "Amazon S3 Access Key",
"required": false
},
"AWS_SECRET_ACCESS_KEY": {
"description": "Amazon S3 Secret Key",
"required": false
},
"SMTP_SERVER": {
"description": "Hostname for SMTP server, if you want to enable email",
"required": false
},
"SMTP_PORT": {
"description": "Port for SMTP server",
"required": false
},
"SMTP_LOGIN": {
"description": "Username for SMTP server",
"required": false
},
"SMTP_PASSWORD": {
"description": "Password for SMTP server",
"required": false
},
"SMTP_DOMAIN": {
"description": "Domain for SMTP server. Will default to instance domain if blank.",
"required": false
}
},
"buildpacks": [
{
"url": "heroku/nodejs"
},
{
"url": "heroku/ruby"
}
],
"scripts": {
"postdeploy": "bundle exec rails db:migrate && bundle exec rails db:seed"
},
"addons": [
"heroku-postgresql",
"heroku-redis"
]
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 334 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 369 KiB

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 366 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 349 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 373 KiB

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 331 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 370 KiB

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 339 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 362 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 378 KiB

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 1.5 MiB

Some files were not shown because too many files have changed in this diff Show More