diff --git a/.gitignore b/.gitignore
index bd8338dc5..1fbfd2e04 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,3 +19,4 @@ bin/*
nbproject
config/initializers/secret_token.rb
public/source.tar
+config/fb_config.yml
diff --git a/README.md b/README.md
index f21676bdd..57bb01c4e 100644
--- a/README.md
+++ b/README.md
@@ -18,13 +18,11 @@ instructions.
You are welcome to contribute, add to and extend Diaspora however you see fit. We
will do our best to incorporate everything that meets our guidelines.
-We need you to fill out a
-[contributor agreement form](https://spreadsheets.google.com/a/joindiaspora.com/viewform?formkey=dGI2cHA3ZnNHLTJvbm10LUhXRTJjR0E6MQ&theme=0AX42CRMsmRFbUy1iOGYwN2U2Mi1hNWU0LTRlNjEtYWMyOC1lZmU4ODg1ODc1ODI&ifq)
-before we can accept your patches. The agreement gives Diaspora joint
-ownership of the patch so the copyright isn't scattered. You can find it
-[here](https://spreadsheets.google.com/a/joindiaspora.com/viewform?formkey=dGI2cHA3ZnNHLTJvbm10LUhXRTJjR0E6MQ&theme=0AX42CRMsmRFbUy1iOGYwN2U2Mi1hNWU0LTRlNjEtYWMyOC1lZmU4ODg1ODc1ODI&ifq).
+Please do not rebase our tree into yours.
+See [here](http://www.mail-archive.com/dri-devel@lists.sourceforge.net/msg39091.html)
+for when to rebase.
-All commits must be tested, and after each commit, all tests should be green
+All commits must be tested, and all your tests should be green
before a pull request is sent. Please write your tests in Rspec.
GEMS: We would like to keep external dependencies unduplicated. We're using
@@ -32,6 +30,12 @@ Nokogiri, Mongomapper, and EM::HttpRequest as much as possible. We have a few
gems in the project we'd rather not use, but if you can, use dependencies we
already have.
+We need you to fill out a
+[contributor agreement form](https://spreadsheets.google.com/a/joindiaspora.com/viewform?formkey=dGI2cHA3ZnNHLTJvbm10LUhXRTJjR0E6MQ&theme=0AX42CRMsmRFbUy1iOGYwN2U2Mi1hNWU0LTRlNjEtYWMyOC1lZmU4ODg1ODc1ODI&ifq)
+before we can accept your patches. The agreement gives Diaspora joint
+ownership of the patch so the copyright isn't scattered. You can find it
+[here](https://spreadsheets.google.com/a/joindiaspora.com/viewform?formkey=dGI2cHA3ZnNHLTJvbm10LUhXRTJjR0E6MQ&theme=0AX42CRMsmRFbUy1iOGYwN2U2Mi1hNWU0LTRlNjEtYWMyOC1lZmU4ODg1ODc1ODI&ifq).
+
## Resources
We are maintaining a
diff --git a/app/controllers/aspects_controller.rb b/app/controllers/aspects_controller.rb
index cf9cc1583..3b9180be8 100644
--- a/app/controllers/aspects_controller.rb
+++ b/app/controllers/aspects_controller.rb
@@ -52,7 +52,7 @@ class AspectsController < ApplicationController
@fb_access_url = MiniFB.oauth_url(FB_APP_ID, APP_CONFIG[:pod_url] + "services/create",
:scope=>MiniFB.scopes.join(","))
- @posts = current_user.visible_posts(:public => true).paginate :page => params[:page], :per_page => 15, :order => 'created_at DESC'
+ @posts = current_user.visible_posts(:person_id => current_user.person.id, :public => true).paginate :page => params[:page], :per_page => 15, :order => 'created_at DESC'
respond_with @aspect
end
diff --git a/app/controllers/photos_controller.rb b/app/controllers/photos_controller.rb
index 4d865573c..dca510374 100644
--- a/app/controllers/photos_controller.rb
+++ b/app/controllers/photos_controller.rb
@@ -9,7 +9,8 @@ class PhotosController < ApplicationController
respond_to :json, :only => :show
def create
- album = Album.find_by_id params[:album_id]
+ album = current_user.find_visible_post_by_id( params[:album_id] )
+
begin
######################## dealing with local files #############
diff --git a/app/controllers/publics_controller.rb b/app/controllers/publics_controller.rb
index e3c90fc16..311fdf73f 100644
--- a/app/controllers/publics_controller.rb
+++ b/app/controllers/publics_controller.rb
@@ -28,6 +28,12 @@ class PublicsController < ApplicationController
end
end
+ def hub
+ if params['hub.mode'] == 'subscribe' || params['hub.mode'] == 'unsubscribe'
+ render :text => params['hub.challenge'], :status => 202, :layout => false
+ end
+ end
+
def receive
render :nothing => true
return unless params[:xml]
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 4a68d8bd2..ab8939b87 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -13,7 +13,7 @@ class UsersController < ApplicationController
@user = current_user
@person = @user.person
@profile = @user.person.profile
- @photos = Photo.find_all_by_person_id(@person.id).paginate :page => params[:page], :order => 'created_at DESC'
+ @photos = current_user.visible_posts(:person_id => current_user.person.id, :_type => 'Photo').paginate :page => params[:page], :order => 'created_at DESC'
@fb_access_url = MiniFB.oauth_url(FB_APP_ID, APP_CONFIG[:pod_url] + "services/create",
:scope=>MiniFB.scopes.join(","))
@@ -49,7 +49,7 @@ class UsersController < ApplicationController
director = Diaspora::Director.new
ostatus_builder = Diaspora::OstatusBuilder.new(user)
- render :xml => director.build(ostatus_builder)
+ render :xml => director.build(ostatus_builder), :content_type => 'application/atom+xml'
else
flash[:error] = "User #{params[:username]} does not exist!"
redirect_to root_url
diff --git a/app/models/person.rb b/app/models/person.rb
index 28503e921..a6d295529 100644
--- a/app/models/person.rb
+++ b/app/models/person.rb
@@ -110,7 +110,7 @@ class Person
hcard = HCard.find profile.hcard.first[:href]
new_person.url = hcard[:url]
- new_person.profile = Profile.new(:first_name => hcard[:given_name], :last_name => hcard[:family_name])
+ new_person.profile = Profile.new(:first_name => hcard[:given_name], :last_name => hcard[:family_name], :image_url => hcard[:photo])
if new_person.save
new_person
else
diff --git a/app/models/status_message.rb b/app/models/status_message.rb
index c616efc5e..b509bfe5a 100644
--- a/app/models/status_message.rb
+++ b/app/models/status_message.rb
@@ -13,12 +13,13 @@ class StatusMessage < Post
def to_activity
<<-XML
- http://activitystrea.ms/schema/1.0/post
- #{self.message}
-
- #{person.url}status_messages/#{self.id}
- #{self.created_at.xmlschema}
- #{self.updated_at.xmlschema}
+ #{self.message}
+
+ #{person.url}status_messages/#{self.id}
+ #{self.created_at.xmlschema}
+ #{self.updated_at.xmlschema}
+ http://activitystrea.ms/schema/1.0/post
+ http://activitystrea.ms/schema/1.0/note
XML
end
diff --git a/app/models/user.rb b/app/models/user.rb
index 2f63f4b5f..15c3515c2 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -167,6 +167,8 @@ class User
target_people = target_people | aspect.people
}
+ push_to_hub(post) if post.respond_to?(:public) && post.public
+
push_to_people(post, target_people)
end
@@ -179,10 +181,14 @@ class User
end
def push_to_person( person, xml )
- Rails.logger.debug("Adding xml for #{self} to message queue to #{url}")
- QUEUE.add_post_request( person.receive_url, xml )
- QUEUE.process
+ Rails.logger.debug("Adding xml for #{self} to message queue to #{self.url}")
+ QUEUE.add_post_request( person.receive_url, xml )
+ QUEUE.process
+ end
+ def push_to_hub(post)
+ Rails.logger.debug("Pushing update to pubsub server #{APP_CONFIG[:pubsub_server]} with url #{self.public_url}")
+ QUEUE.add_hub_notification(APP_CONFIG[:pubsub_server], self.public_url)
end
def salmon( post )
diff --git a/app/views/publics/hcard.erb b/app/views/publics/hcard.erb
index 9e3f27796..17b0ebdb7 100644
--- a/app/views/publics/hcard.erb
+++ b/app/views/publics/hcard.erb
@@ -33,6 +33,12 @@
<%= @person.url%>
+
+
Photo
+
+ <%= @person.profile.image_url%>
+
+
Note
Diaspora is awesome! vi is better than emacs!
diff --git a/app/views/publics/webfinger.erb b/app/views/publics/webfinger.erb
index 47b76e6e6..b689f2a54 100644
--- a/app/views/publics/webfinger.erb
+++ b/app/views/publics/webfinger.erb
@@ -5,5 +5,8 @@
+
+
+
diff --git a/app/views/shared/_aspect_friends.haml b/app/views/shared/_aspect_friends.haml
index f8e635f8d..e24dc5537 100644
--- a/app/views/shared/_aspect_friends.haml
+++ b/app/views/shared/_aspect_friends.haml
@@ -6,11 +6,11 @@
= owner_image_link
- for friend in @friends
= person_image_link(friend)
- - if @logged_in && (@aspect == :public)
- %h3 Facebook Friends
- - @fb_friends = MiniFB.get(@access_token, 'me', :type => "friends")
- - @fb_friends[:data].each do |friend|
- = image_tag( "http://graph.facebook.com/#{friend[:id]}/picture" )
+ - if @logged_in && (@aspect == :public)
+ %h3 Facebook Friends
+ - @fb_friends = MiniFB.get(@access_token, 'me', :type => "friends")
+ - @fb_friends[:data].each do |friend|
+ = image_tag( "http://graph.facebook.com/#{friend[:id]}/picture" )
-unless (@aspect == :all) || (@aspect == :public)
= link_to (image_tag('add_friend_button.png', :height => "50px", :width => "50px")), "#add_request_pane", :id => 'add_request_button'
diff --git a/app/views/users/_profile.haml b/app/views/users/_profile.haml
index 78304d183..8cffa53cb 100644
--- a/app/views/users/_profile.haml
+++ b/app/views/users/_profile.haml
@@ -57,7 +57,7 @@
#submit_block
= link_to t('.cancel'), root_path
- or
+ = t('.or')
= f.submit t('.update_profile')
#content_bottom
diff --git a/app/views/users/_services.haml b/app/views/users/_services.haml
index f2d976a79..fd1894d11 100644
--- a/app/views/users/_services.haml
+++ b/app/views/users/_services.haml
@@ -5,19 +5,20 @@
%h2 Services
-%h3 Facebook
-%p
- - if @logged_in
- = connected_fb_as(@access_token)
-
- %p
- - @fb_friends = MiniFB.get(@access_token, 'me', :type => "friends")
- - @fb_friends[:data].each do |friend|
- = image_tag( "http://graph.facebook.com/#{friend[:id]}/picture" )
+- if FACEBOOK
+ %h3 Facebook
+ %p
+ - if @logged_in
+ = connected_fb_as(@access_token)
+
+ %p
+ - @fb_friends = MiniFB.get(@access_token, 'me', :type => "friends")
+ - @fb_friends[:data].each do |friend|
+ = image_tag( "http://graph.facebook.com/#{friend[:id]}/picture" )
- = link_to "Disconnect from Facebook", services_destroy_path
- - else
- = link_to "Connect to Facebook (DO NOT USE WITH A REAL ACCOUNT)", @fb_access_url
+ = link_to "Disconnect from Facebook", services_destroy_path
+ - else
+ = link_to "Connect to Facebook (DO NOT USE WITH A REAL ACCOUNT)", @fb_access_url
#content_bottom
.back
diff --git a/config/deploy.rb b/config/deploy.rb
index 98d8971f7..66c642885 100644
--- a/config/deploy.rb
+++ b/config/deploy.rb
@@ -56,6 +56,11 @@ namespace :deploy do
run "ln -s -f #{shared_path}/app_config.yml #{current_path}/config/app_config.yml"
end
+ task :symlink_fb_config do
+ run "touch #{shared_path}/fb_config.yml"
+ run "ln -s -f #{shared_path}/fb_config.yml #{current_path}/config/fb_config.yml"
+ end
+
task :start do
start_mongo
start_thin
@@ -152,4 +157,4 @@ namespace :db do
end
-after "deploy:symlink", "deploy:symlink_images", "deploy:symlink_bundle", 'deploy:symlink_config'
+after "deploy:symlink", "deploy:symlink_images", "deploy:symlink_bundle", 'deploy:symlink_config', 'deploy:symlink_fb_config'
diff --git a/config/deploy_config.yml b/config/deploy_config.yml
index c53f90d60..c7477314a 100644
--- a/config/deploy_config.yml
+++ b/config/deploy_config.yml
@@ -6,7 +6,7 @@ cross_server:
deploy_to: '/usr/local/app/diaspora'
user: 'root'
repo: 'git://github.com/diaspora/diaspora.git'
- branch: 'salmon_refactor'
+ branch: 'master'
default_env: 'development'
servers:
tom:
diff --git a/config/environment.rb b/config/environment.rb
index 6b960209f..ddfc9c247 100644
--- a/config/environment.rb
+++ b/config/environment.rb
@@ -7,13 +7,17 @@ require File.expand_path('../application', __FILE__)
Haml::Template.options[:format] = :html5
Haml::Template.options[:escape_html] = true
-# Load facebook connection application credentials
-fb_config = YAML::load(File.open(File.expand_path("./config/fb_config.yml")))
-FB_API_KEY = fb_config['fb_api_key']
-FB_SECRET = fb_config['fb_secret']
-FB_APP_ID = fb_config['fb_app_id']
-HOST = fb_config['host']
-
+if File.exists?(File.expand_path("./config/fb_config.yml"))
+ # Load facebook connection application credentials
+ fb_config = YAML::load(File.open(File.expand_path("./config/fb_config.yml")))
+ FB_API_KEY = fb_config['fb_api_key']
+ FB_SECRET = fb_config['fb_secret']
+ FB_APP_ID = fb_config['fb_app_id']
+ HOST = fb_config['host']
+ FACEBOOK = true
+else
+ FACEBOOK = false
+end
# Initialize the rails application
Diaspora::Application.initialize!
diff --git a/config/fb_config.yml.example b/config/fb_config.yml.example
new file mode 100644
index 000000000..5bb145316
--- /dev/null
+++ b/config/fb_config.yml.example
@@ -0,0 +1,4 @@
+fb_api_key: {key}
+fb_secret: {secret}
+fb_app_id: {app_id}
+host: http://localhost:3000/
diff --git a/config/locales/devise/devise.he.yml b/config/locales/devise/devise.he.yml
index c33cfa678..997ab6df0 100644
--- a/config/locales/devise/devise.he.yml
+++ b/config/locales/devise/devise.he.yml
@@ -18,7 +18,7 @@ he:
invalid: "הססמה או הדוא״ל שגויים."
invalid_token: "אסימון האימות שגוי."
timeout: "ההפעלה שלך פגה, נא להיכנס שוב כדי להמשיך."
- inactive: "חשבונך לא הופעל עדין."
+ inactive: "חשבונך לא הופעל עדיין."
sessions:
signed_in: "נכנסת בהצלחה."
signed_out: "יצאת בהצלחה."
diff --git a/config/locales/diaspora/en.yml b/config/locales/diaspora/en.yml
index 838339641..5595c4caa 100644
--- a/config/locales/diaspora/en.yml
+++ b/config/locales/diaspora/en.yml
@@ -113,6 +113,7 @@ en:
albums: "Albums"
you_dont_have_any_photos: "You don't have any photos! Go to the"
page_to_upload_some: "page to upload some."
+ or: "or"
comments:
comment:
ago: "ago"
diff --git a/config/locales/diaspora/he.yml b/config/locales/diaspora/he.yml
index 47f2a52c2..1105a3bcb 100644
--- a/config/locales/diaspora/he.yml
+++ b/config/locales/diaspora/he.yml
@@ -86,7 +86,7 @@ he:
add_a_new_aspect: "הוספת היבט חדש"
create: "יציאה"
create:
- success: "יש ללחוץ על סמל הפלוס שמימין כדי לומר לדיאספורה מי יעול לצפות בהיבט החדש שלך."
+ success: "יש ללחוץ על סמל הפלוס שמימין כדי לומר לדיאספורה מי יכול לצפות בהיבט החדש שלך."
destroy:
success: "%{name} הוסר בהצלחה."
update:
@@ -99,7 +99,7 @@ he:
success: "כעת יופיע בפני החברים שלך היבט אחר שלך."
helper:
remove: "הסרה"
- aspect_not_empty: "ההיסט אינו ריק"
+ aspect_not_empty: "ההיבט אינו ריק"
users:
edit:
editing_profile: "עריכת הפרופיל"
@@ -134,13 +134,13 @@ he:
delete_photo: "מחיקת תמונה"
photo:
show_comments: "הצגת הערות"
- posted_a_new_photo_to: "פורסמה תמונה חדשה אל"
+ posted_a_new_photo_to: "פורסמה תמונה חדשה באלבום"
new:
new_photo: "תמונה חדשה"
back_to_list: "חזרה לרשימה"
post_it: "פרסום!"
create:
- runtime_error: "העלאת התמונה נכשלה. האם החגורה שלך מהודקת?"
+ runtime_error: "העלאת התמונה נכשלה. הידקת את החגורה?"
integrity_error: "העלאת התמונה נכשלה. האם זו באמת הייתה תמונה?"
type_error: "העלאת התמונה נכשלה. האם באמת נוספה תמונה?"
update:
@@ -155,7 +155,7 @@ he:
success: "הצטרפת לדיאספורה!"
status_messages:
new_status_message:
- tell_me_something_good: "בא לי לשמוע סיפור טוב"
+ tell_me_something_good: "בא לי לשמוע סיפור נחמד"
oh_yeah: "אחלה!"
status_message:
show_comments: "הצגת הערות"
@@ -165,7 +165,7 @@ he:
status_message: "הודעת מצב"
comments: "הערות"
are_you_sure: "בבטחה?"
- destroy: "הריבה"
+ destroy: "הריסה"
view_all: "צפייה בכול"
message: "הודעה"
owner: "בעלים"
diff --git a/config/locales/diaspora/it.yml b/config/locales/diaspora/it.yml
index 24681fbe0..fe4b305cc 100644
--- a/config/locales/diaspora/it.yml
+++ b/config/locales/diaspora/it.yml
@@ -85,6 +85,7 @@ it:
create: "Crea"
create:
success: "Clicca sul segno più nella parte sinistra per dire a Diaspora chi può vedere il tuo nuovo aspetto."
+ failure: "Creazione dell'aspetto fallita."
destroy:
success: "%{name} è stato rimosso con successo."
update:
diff --git a/config/locales/diaspora/ru.yml b/config/locales/diaspora/ru.yml
index daeb35915..f432c82d6 100644
--- a/config/locales/diaspora/ru.yml
+++ b/config/locales/diaspora/ru.yml
@@ -66,7 +66,10 @@ ru:
add_a_new_aspect: "Добавить аспект"
create: "Создать"
create:
- success:"Нажмите на плюс слева, для того, что-бы указать Diaspora тех, кто может видеть ваш новый аспект."
+ success:"Нажмите на плюс слева, для того, что-бы указать Diaspora тех, кто может видеть ваш новый аспект
+ helper:
+ remove: "Удалить"
+ aspect_not_empty: "Аспект не пуст"
users:
edit:
editing_profile: "Редактирование профиля"
@@ -79,8 +82,9 @@ ru:
picture: "Аватар"
editing_profile: "Редактирование профиля"
albums: "Альбомы"
- you_dont_have_any_photos: "У вас нет ни одной фотографии! Перейдите на "
- page_to_upload_some: "страницу для загрузки."
+ you_dont_have_any_photos: "У вас нет ни одной фотографии! Перейдите в"
+ page_to_upload_some: "для загрузки."
+ or: "или"
comments:
comment:
ago: "ранее"
@@ -142,3 +146,18 @@ ru:
save: "сохранить"
are_you_sure: "Вы уверены?"
remove_friend: "удалить друга"
+ requests:
+ new_request:
+ add_a_new_friend_to: "добавить нового друга к"
+ enter_a_diaspora_username: "Введите имя пользователя Diaspora:"
+ your_diaspora_username_is: "Ваше имя пользователя Diaspora: %{diaspora_handle}"
+ friends_username: "Имя пользователя друга"
+ destroy:
+ success: "Теперь вы друзья."
+ error: "Выберите аспект!"
+ ignore: "Игнорированные запросы дружбы."
+ create:
+ error: "Для этого адреса не найдено семя Diaspora!"
+ already_friends: "Вы уже друзья с %{destination_url}!"
+ success: "Запрос на дружбу выслан к %{destination_url}."
+ horribly_wrong: "Что-то пошло совсем не так."
diff --git a/config/routes.rb b/config/routes.rb
index 56ec559c9..16f6a9c98 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -43,6 +43,8 @@ Diaspora::Application.routes.draw do
match 'webfinger', :to => 'publics#webfinger'
match 'hcard/users/:id', :to => 'publics#hcard'
+ match 'hub', :to => 'publics#hub'
+
match '.well-known/host-meta',:to => 'publics#host_meta'
match 'receive/users/:id', :to => 'publics#receive'
match 'log', :to => "dev_utilities#log"
diff --git a/lib/diaspora/ostatus_builder.rb b/lib/diaspora/ostatus_builder.rb
index 997e538f3..f75495ad2 100644
--- a/lib/diaspora/ostatus_builder.rb
+++ b/lib/diaspora/ostatus_builder.rb
@@ -24,40 +24,41 @@ module Diaspora
end
def create_headers
- <<-XML.strip
-
-
- Diaspora
- #{@user.username}/public
- Stream
- its a stream
- #{Time.now.xmlschema}
-
- #{@user.real_name}
- #{@user.public_url}
-
+ <<-XML
+
+
+Diaspora
+#{@user.public_url}.atom
+#{@user.real_name}'s Public Feed
+its a stream
+#{Time.now.xmlschema}
+
+ #{@user.real_name}
+ #{@user.public_url}
+
XML
end
def create_endpoints
<<-XML
-
+
+
XML
end
def create_subject
<<-XML
-
- http://activitystrea.ms/schema/1.0/person
- #{@user.public_url}
- #{@user.real_name}
-
-
+
+ http://activitystrea.ms/schema/1.0/person
+ #{@user.public_url}
+ #{@user.real_name}
+
+
XML
end
def create_body
- @user.visible_posts(:public=>true).inject("") do |xml,curr|
+ @user.visible_posts(:person_id => @user.person.id, :public=>true).inject("") do |xml,curr|
if curr.respond_to?(:to_activity)
unless xml
curr.to_activity
@@ -70,7 +71,7 @@ module Diaspora
def create_footer
<<-XML
-
+
XML
end
end
diff --git a/lib/hcard.rb b/lib/hcard.rb
index 5640e711b..e6baa49fd 100644
--- a/lib/hcard.rb
+++ b/lib/hcard.rb
@@ -7,6 +7,7 @@ module HCard
doc = Nokogiri::HTML(Net::HTTP.get URI.parse(url))
{:given_name => doc.css(".given_name").text,
:family_name => doc.css(".family_name").text,
- :url => doc.css("#pod_location").text}
+ :url => doc.css("#pod_location").text,
+ :photo => doc.css(".photo")}
end
end
diff --git a/lib/message_handler.rb b/lib/message_handler.rb
index e6ce75ffc..351ca99d6 100644
--- a/lib/message_handler.rb
+++ b/lib/message_handler.rb
@@ -20,6 +20,10 @@ class MessageHandler
[*destinations].each{|dest| @queue.push(Message.new(:post, dest, :body => b))}
end
+ def add_hub_notification(hub_url, feed_url)
+ @queue.push(Message.new(:hub_publish, hub_url, :body => feed_url))
+ end
+
def process
@queue.pop{ |query|
case query.type
@@ -29,6 +33,9 @@ class MessageHandler
when :get
http = EventMachine::HttpRequest.new(query.destination).get :timeout => TIMEOUT
http.callback {process}
+ when :hub_publish
+ http = EventMachine::PubSubHubbub.new(query.destination).publish :timeout => TIMEOUT
+ http.callback {process; Rails.logger.debug(http.response)}
else
raise "message is not a type I know!"
end
diff --git a/public/javascripts/fancybox/jquery.easing-1.3.pack.js b/public/javascripts/fancybox/jquery.easing-1.3.pack.js
old mode 100755
new mode 100644
diff --git a/public/javascripts/fancybox/jquery.fancybox-1.3.1.css b/public/javascripts/fancybox/jquery.fancybox-1.3.1.css
old mode 100755
new mode 100644
diff --git a/public/javascripts/fancybox/jquery.fancybox-1.3.1.js b/public/javascripts/fancybox/jquery.fancybox-1.3.1.js
old mode 100755
new mode 100644
diff --git a/public/javascripts/fancybox/jquery.fancybox-1.3.1.pack.js b/public/javascripts/fancybox/jquery.fancybox-1.3.1.pack.js
old mode 100755
new mode 100644
diff --git a/public/javascripts/fancybox/jquery.mousewheel-3.0.2.pack.js b/public/javascripts/fancybox/jquery.mousewheel-3.0.2.pack.js
old mode 100755
new mode 100644
diff --git a/public/javascripts/fileuploader.js b/public/javascripts/fileuploader.js
old mode 100755
new mode 100644
diff --git a/public/javascripts/jquery.cycle/jquery.cycle.lite.min.js b/public/javascripts/jquery.cycle/jquery.cycle.lite.min.js
old mode 100755
new mode 100644
diff --git a/public/javascripts/jquery.infieldlabel.js b/public/javascripts/jquery.infieldlabel.js
old mode 100755
new mode 100644
diff --git a/public/javascripts/web_socket.js b/public/javascripts/web_socket.js
old mode 100755
new mode 100644
diff --git a/public/stylesheets/blueprint/src/grid.css b/public/stylesheets/blueprint/src/grid.css
old mode 100755
new mode 100644
diff --git a/public/stylesheets/blueprint/src/print.css b/public/stylesheets/blueprint/src/print.css
old mode 100755
new mode 100644
diff --git a/public/stylesheets/blueprint/src/reset.css b/public/stylesheets/blueprint/src/reset.css
old mode 100755
new mode 100644
diff --git a/public/stylesheets/brandongrotesque_light/Brandon_light-webfont.svg b/public/stylesheets/brandongrotesque_light/Brandon_light-webfont.svg
old mode 100755
new mode 100644
diff --git a/public/stylesheets/brandongrotesque_light/demo.html b/public/stylesheets/brandongrotesque_light/demo.html
old mode 100755
new mode 100644
diff --git a/public/stylesheets/brandongrotesque_light/stylesheet.css b/public/stylesheets/brandongrotesque_light/stylesheet.css
old mode 100755
new mode 100644
diff --git a/public/stylesheets/fileuploader.css b/public/stylesheets/fileuploader.css
old mode 100755
new mode 100644
diff --git a/script/server b/script/server
index da43895fd..c5357a32e 100755
--- a/script/server
+++ b/script/server
@@ -7,9 +7,13 @@ then
echo "Mongod not started"
else
mkdir -p -v log/thin/
- #force AGPL
- tar cf ../_source.tar -X .gitignore *
- mv ../_source.tar public/source.tar
+ #force AGPL
+ test -w public -a ! -e public/source.tar &&
+ tar cf public/source.tar --exclude='source.tar' -X .gitignore *
+ test -e public/source.tar || {
+ echo "Can't find, or even create, public/source.tar. Giving up"
+ exit 2
+ }
bundle exec ruby ./script/websocket_server.rb&
bundle exec thin start $@
fi
diff --git a/spec/lib/message_handler_spec.rb b/spec/lib/message_handler_spec.rb
index cb0592e9a..ddc822334 100644
--- a/spec/lib/message_handler_spec.rb
+++ b/spec/lib/message_handler_spec.rb
@@ -94,6 +94,26 @@ describe MessageHandler do
end
end
+ describe "Hub publish" do
+ it 'should correctly queue up a pubsubhubbub publish request' do
+ destination = "http://identi.ca/hub/"
+ feed_location = "http://google.com/"
+
+ EventMachine.run {
+ @handler.add_hub_notification(destination, feed_location)
+ q = @handler.instance_variable_get(:@queue)
+
+ message = ""
+ q.pop{|m| message = m}
+
+ message.destination.should == destination
+ message.body.should == feed_location
+
+ EventMachine.stop
+ }
+ end
+ end
+
describe "Mixed Queries" do
it 'should process both POST and GET requests in the same queue' do
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index 7d072bdd5..d21b1d57c 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -12,12 +12,16 @@ describe User do
user = Factory.build(:user, :username => "ALLUPPERCASE")
user.valid?
user.username.should == "alluppercase"
+
+ user = Factory.build(:user, :username => "someUPPERCASE")
+ user.valid?
+ user.username.should == "someuppercase"
end
end
describe '#diaspora_handle' do
it 'uses the pod config url to set the diaspora_handle' do
- user.diaspora_handle.should == user.username + "@example.org"
+ user.diaspora_handle.should == user.username + "@" + APP_CONFIG[:terse_pod_url]
end
end