Merge branch 'master' into skylight

This commit is contained in:
Eugen Rochko 2017-04-06 20:50:05 +02:00
commit 4d1217d8f9
9 changed files with 22 additions and 14 deletions

View file

@ -5,3 +5,4 @@ public/assets
node_modules node_modules
storybook storybook
neo4j neo4j
vendor/bundle

View file

@ -1,2 +1,5 @@
node_modules/ node_modules/
.cache/ .cache/
docs/
spec/
storybook/

View file

@ -5,7 +5,7 @@ ENV RAILS_ENV=production \
WORKDIR /mastodon WORKDIR /mastodon
COPY . /mastodon COPY Gemfile Gemfile.lock package.json yarn.lock /mastodon/
RUN BUILD_DEPS=" \ RUN BUILD_DEPS=" \
postgresql-dev \ postgresql-dev \
@ -28,4 +28,6 @@ RUN BUILD_DEPS=" \
&& apk del $BUILD_DEPS \ && apk del $BUILD_DEPS \
&& rm -rf /tmp/* /var/cache/apk/* && rm -rf /tmp/* /var/cache/apk/*
COPY . /mastodon
VOLUME /mastodon/public/system /mastodon/public/assets VOLUME /mastodon/public/system /mastodon/public/assets

View file

@ -58,15 +58,15 @@ class FanOutOnWriteService < BaseService
Rails.logger.debug "Delivering status #{status.id} to hashtags" Rails.logger.debug "Delivering status #{status.id} to hashtags"
status.tags.pluck(:name).each do |hashtag| status.tags.pluck(:name).each do |hashtag|
Redis.current.publish("hashtag:#{hashtag}", @payload) Redis.current.publish("timeline:hashtag:#{hashtag}", @payload)
Redis.current.publish("hashtag:#{hashtag}:local", @payload) if status.local? Redis.current.publish("timeline:hashtag:#{hashtag}:local", @payload) if status.local?
end end
end end
def deliver_to_public(status) def deliver_to_public(status)
Rails.logger.debug "Delivering status #{status.id} to public timeline" Rails.logger.debug "Delivering status #{status.id} to public timeline"
Redis.current.publish('public', @payload) Redis.current.publish('timeline:public', @payload)
Redis.current.publish('public:local', @payload) if status.local? Redis.current.publish('timeline:public:local', @payload) if status.local?
end end
end end

View file

@ -70,14 +70,14 @@ class RemoveStatusService < BaseService
def remove_from_hashtags(status) def remove_from_hashtags(status)
status.tags.pluck(:name) do |hashtag| status.tags.pluck(:name) do |hashtag|
Redis.current.publish("hashtag:#{hashtag}", @payload) Redis.current.publish("timeline:hashtag:#{hashtag}", @payload)
Redis.current.publish("hashtag:#{hashtag}:local", @payload) if status.local? Redis.current.publish("timeline:hashtag:#{hashtag}:local", @payload) if status.local?
end end
end end
def remove_from_public(status) def remove_from_public(status)
Redis.current.publish('public', @payload) Redis.current.publish('timeline:public', @payload)
Redis.current.publish('public:local', @payload) if status.local? Redis.current.publish('timeline:public:local', @payload) if status.local?
end end
def redis def redis

View file

@ -46,7 +46,7 @@ class ImportWorker
begin begin
FollowService.new.call(from_account, row[0]) FollowService.new.call(from_account, row[0])
rescue Goldfinger::Error, HTTP::Error, OpenSSL::SSL::SSLError rescue Mastodon::NotPermittedError, ActiveRecord::RecordNotFound, Goldfinger::Error, HTTP::Error, OpenSSL::SSL::SSLError
next next
end end
end end

View file

@ -8,6 +8,6 @@ Scalingo guide
* You can use a .scalingo.io domain, which will be simple to set up, or you can use a custom domain. * You can use a .scalingo.io domain, which will be simple to set up, or you can use a custom domain.
* You will want Amazon S3 for file storage. The only exception is for development purposes, where you may not care if files are not saved. Follow a guide online for creating a free Amazon S3 bucket and Access Key, then enter the details. * You will want Amazon S3 for file storage. The only exception is for development purposes, where you may not care if files are not saved. Follow a guide online for creating a free Amazon S3 bucket and Access Key, then enter the details.
* If you want your Mastodon to be able to send emails, configure SMTP settings here (or later). Consider using [Mailgun](https://mailgun.com) or similar, who offer free plans that should suit your interests. * If you want your Mastodon to be able to send emails, configure SMTP settings here (or later). Consider using [Mailgun](https://mailgun.com) or similar, who offer free plans that should suit your interests.
3. Deploy! The app should be set up, with a working web interface and database. You can change settings and manage versions from the Heroku dashboard. 3. Deploy! The app should be set up, with a working web interface and database. You can change settings and manage versions from the Scalingo dashboard.
You may need to use the `scalingo` CLI application to run `USERNAME=yourUsername rails mastodon:make_admin` to make yourself an admin. To make yourself an admin, you can use the `scalingo` CLI: `scalingo run -e USERNAME=yourusername rails mastodon:make_admin`.

View file

@ -17,6 +17,8 @@ To create and provision a new virtual machine for Mastodon development:
cd mastodon cd mastodon
vagrant up vagrant up
**Note:** On Linux hosts, you will need to [enable NFS support](https://www.vagrantup.com/docs/synced-folders/nfs.html).
Running `vagrant up` for the first time will run provisioning, which will: Running `vagrant up` for the first time will run provisioning, which will:
- Download the Ubuntu 14.04 base image, if there isn't already a copy on your machine - Download the Ubuntu 14.04 base image, if there isn't already a copy on your machine
@ -61,4 +63,4 @@ To run the `rspec` tests and `rubocop` style checker, you may either:
## Support/help ## Support/help
If you are confused, or having any issues with the above, the Mastodon IRC channel ( irc.freenode.net #mastodon ) is a good place to find assistance. If you are confused, or having any issues with the above, the Mastodon IRC channel ( irc.freenode.net #mastodon ) is a good place to find assistance.

View file

@ -1,7 +1,7 @@
{ {
"name": "Mastodon", "name": "Mastodon",
"description": "A GNU Social-compatible microblogging server", "description": "A GNU Social-compatible microblogging server",
"repository": "https://github.com/johnsudaar/mastodon", "repository": "https://github.com/tootsuite/mastodon",
"logo": "https://github.com/tootsuite/mastodon/raw/master/app/assets/images/logo.png", "logo": "https://github.com/tootsuite/mastodon/raw/master/app/assets/images/logo.png",
"env": { "env": {
"LOCAL_DOMAIN": { "LOCAL_DOMAIN": {