Fix typo on /api/accounts/:id/statuses, fix potential case-sensitivity issue

when registering incoming status mentions, add Travis CI file
main
Eugen Rochko 2016-03-18 23:23:19 +01:00
parent 15476d505d
commit 9a7485d034
5 changed files with 19 additions and 8 deletions

9
.travis.yml Normal file
View File

@ -0,0 +1,9 @@
language: ruby
cache: bundler
rvm:
- 2.2.4
bundler_args: --without development --retry=3 --jobs=3
script: bundle exec rspec

View File

@ -1,6 +1,8 @@
Mastodon Mastodon
======== ========
[![Build Status](https://travis-ci.org/Gargron/mastodon.svg?branch=master)](https://travis-ci.org/Gargron/mastodon)
Mastodon is a federated microblogging engine. An alternative implementation of the GNU Social project. Based on ActivityStreams, Webfinger, PubsubHubbub and Salmon. Mastodon is a federated microblogging engine. An alternative implementation of the GNU Social project. Based on ActivityStreams, Webfinger, PubsubHubbub and Salmon.
**Current status of the project is early development. Documentation &co will be added later** **Current status of the project is early development. Documentation &co will be added later**
@ -18,12 +20,6 @@ Mastodon is a federated microblogging engine. An alternative implementation of t
- Upload header image for profile page - Upload header image for profile page
- Deleting statuses, deletion propagation - Deleting statuses, deletion propagation
Missing:
- Media attachments (photos, videos)
- Streaming API
- Blocking users, blocking remote instances
## Configuration ## Configuration
- `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_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

View File

@ -15,7 +15,7 @@ class Api::AccountsController < ApiController
end end
def statuses def statuses
@statuses = @account.statuses.with_includes.with_counts.order('created_at desc') @statuses = @account.statuses.with_includes.with_counters.order('created_at desc')
end end
def follow def follow

View File

@ -104,6 +104,12 @@ class Account < ActiveRecord::Base
self.where(table[:username].matches(username)).where(domain: nil).take! self.where(table[:username].matches(username)).where(domain: nil).take!
end end
def self.find_local(username)
self.find_local!(username)
rescue ActiveRecord::RecordNotFound
nil
end
before_create do before_create do
if local? if local?
keypair = OpenSSL::PKey::RSA.new(Rails.env.test? ? 1024 : 2048) keypair = OpenSSL::PKey::RSA.new(Rails.env.test? ? 1024 : 2048)

View File

@ -45,7 +45,7 @@ class ProcessFeedService < BaseService
href = Addressable::URI.parse(mention_link.attribute('href').value) href = Addressable::URI.parse(mention_link.attribute('href').value)
if href.host == Rails.configuration.x.local_domain if href.host == Rails.configuration.x.local_domain
mentioned_account = Account.find_by(username: href.path.gsub('/users/', ''), domain: nil) mentioned_account = Account.find_local(href.path.gsub('/users/', ''))
unless mentioned_account.nil? unless mentioned_account.nil?
mentioned_account.mentions.first_or_create(status: status) mentioned_account.mentions.first_or_create(status: status)