Skip to content
Snippets Groups Projects
Commit 02f37c61 authored by ilya's avatar ilya
Browse files

Merge branch 'master' of github.com:diaspora/diaspora

Conflicts:
	spec/controllers/aspects_controller_spec.rb
parents 8fddb4ec 929fe050
No related branches found
No related tags found
No related merge requests found
Showing
with 130 additions and 159 deletions
...@@ -36,10 +36,8 @@ class UsersController < ApplicationController ...@@ -36,10 +36,8 @@ class UsersController < ApplicationController
flash[:error] = "Password Change Failed" flash[:error] = "Password Change Failed"
end end
else else
data = clean_hash params[:user] prep_image_url(params[:user])
prep_image_url(data) if @user.update_profile params[:user][:profile]
if @user.update_profile data
flash[:notice] = "Profile updated" flash[:notice] = "Profile updated"
else else
flash[:error] = "Failed to update profile" flash[:error] = "Failed to update profile"
...@@ -120,15 +118,4 @@ class UsersController < ApplicationController ...@@ -120,15 +118,4 @@ class UsersController < ApplicationController
end end
end end
def clean_hash(params)
return {
:profile =>
{
:first_name => params[:profile][:first_name],
:last_name => params[:profile][:last_name],
:image_url => params[:profile][:image_url]
}
}
end
end end
...@@ -60,7 +60,7 @@ module ApplicationHelper ...@@ -60,7 +60,7 @@ module ApplicationHelper
image_location = person.profile.image_url image_location = person.profile.image_url
image_location ||= "/images/user/default.png" image_location ||= "/images/user/default.png"
image_tag image_location, :class => "avatar", :alt => person.real_name, :title => person.real_name image_tag image_location, :class => "avatar", :alt => person.real_name, :title => person.real_name, "data-person_id" => person.id
end end
def person_image_link(person) def person_image_link(person)
......
...@@ -293,7 +293,7 @@ class User ...@@ -293,7 +293,7 @@ class User
########### Profile ###################### ########### Profile ######################
def update_profile(params) def update_profile(params)
if self.person.update_attributes(params) if self.person.profile.update_attributes(params)
push_to_aspects profile, :all push_to_aspects profile, :all
true true
else else
......
...@@ -76,7 +76,10 @@ ...@@ -76,7 +76,10 @@
%div{:id => @photo.id} %div{:id => @photo.id}
#show_photo #show_photo
= linked_scaled_photo @photo, @album .edit_pane
.controls{:data=>{:actor=>"#{@photo.person.owner.id}",:actor_person=>"#{@photo.person.id}",:image_url=>"#{@photo.url(:thumb_medium)}"}}
= link_to 'make profile photo', '#', :class => "make_profile_photo"
= linked_scaled_photo @photo, @album
.caption .caption
-if current_user.owns? @photo -if current_user.owns? @photo
-if @photo.caption and @photo.caption != "" -if @photo.caption and @photo.caption != ""
......
...@@ -7,6 +7,7 @@ default: ...@@ -7,6 +7,7 @@ default:
debug: false debug: false
socket_debug : false socket_debug : false
socket_host: 0.0.0.0 socket_host: 0.0.0.0
socket_pidfile: "log/diaspora-wsd.pid"
socket_port: 8080 socket_port: 8080
socket_collection_name: 'websocket' socket_collection_name: 'websocket'
pubsub_server: 'https://pubsubhubbub.appspot.com/' pubsub_server: 'https://pubsubhubbub.appspot.com/'
...@@ -18,7 +19,7 @@ default: ...@@ -18,7 +19,7 @@ default:
smtp_authentication: 'plain' smtp_authentication: 'plain'
smtp_username: 'no-reply@example.com' smtp_username: 'no-reply@example.com'
smtp_password: 'secret' smtp_password: 'secret'
development: development:
......
...@@ -12,11 +12,11 @@ aimed for packaging purposes. ...@@ -12,11 +12,11 @@ aimed for packaging purposes.
Prerequisites: Prerequisites:
- ruby-1.8, rubygem, git and rake as described in - ruby-1.8, rubygem, git and rake as described in
http://github.com/diaspora/diaspora/wiki/Rpm-installation-on-fedora [RPM installation Fedora](http://github.com/diaspora/diaspora/wiki/Rpm-installation-on-fedora)
or http://github.com/diaspora/diaspora/wiki/Installing-on-CentOS-Fedora or [Installing-on-CentOS-Fedora](http://github.com/diaspora/diaspora/wiki/Installing-on-CentOS-Fedora)
- A personal environment to build RPM:s, also described in - A personal environment to build RPM:s, also described in
http://github.com/diaspora/diaspora/wiki/Rpm-installation-on-fedora [RPM installation Fedora](http://github.com/diaspora/diaspora/wiki/Rpm-installation-on-fedora)
Install g++ (possibly unnnecessary?): Install g++ (possibly unnnecessary?):
% yum install gcc-c++ % yum install gcc-c++
...@@ -46,7 +46,7 @@ Start development server: ...@@ -46,7 +46,7 @@ Start development server:
cd /usr/share/diaspora/master cd /usr/share/diaspora/master
./script/server ./script/server
See http://github.com/diaspora/diaspora/wiki/Using-apache for See [Using Apache](http://github.com/diaspora/diaspora/wiki/Using-apache) for
apache/passenger setup. After configuration, start with: apache/passenger setup. After configuration, start with:
/sbin/service diaspora-wsd start /sbin/service diaspora-wsd start
/sbin/service httpd restart /sbin/service httpd restart
...@@ -120,7 +120,8 @@ directory, copy-paste previous version nr. It will be updated. ...@@ -120,7 +120,8 @@ directory, copy-paste previous version nr. It will be updated.
This has been confirmed to start up and provide basic functionality both using This has been confirmed to start up and provide basic functionality both using
the thin webserver and apache passenger, on 32/64 bit systems and in the the thin webserver and apache passenger, on 32/64 bit systems and in the
mock build environment. mock build environment. Irregular nightly builds are available form time to time
at [ftp://mumin.dnsalias.net/pub/leamas/diaspora/builds](ftp://mumin.dnsalias.net/pub/leamas/diaspora/builds)
#### Implementation #### Implementation
......
...@@ -39,10 +39,11 @@ else ...@@ -39,10 +39,11 @@ else
exit 1 exit 1
fi fi
# %attr(0777, diaspora, diaspora) doesn't work in specfile due to umask 022.
chmod 777 /var/lib/diaspora/uploads
chown -R diaspora /var/log/diaspora chown -R diaspora /var/log/diaspora
sed -i '/socket_pidfile:/s|:.*|: /var/run/diaspora/diaspora-wsd.pid|' \
config/app_config.yml
hostname=$( awk '/pod_url:/ { print $2; exit }' <config/app_config.yml) hostname=$( awk '/pod_url:/ { print $2; exit }' <config/app_config.yml)
if [ -n "$arg_hostname" ]; then if [ -n "$arg_hostname" ]; then
......
...@@ -33,9 +33,9 @@ cd /usr/share/diaspora ...@@ -33,9 +33,9 @@ cd /usr/share/diaspora
RETVAL=0 RETVAL=0
prog="Diaspora websocket server" prog="Diaspora websocket server"
exec="script/websocket_server.rb" exec="script/websocket_server.rb"
pidfile="/var/run/diaspora-wsd" pidfile="/var/run/diaspora/diaspora-wsd"
lockfile="/var/lock/subsys/diaspora-wsd" lockfile="/var/lock/subsys/diaspora-wsd"
logfile=/var/log/diaspora-wsd.log logfile="/var/log/diaspora/diaspora-wsd.log"
[ -n "$OPTIONS" ] && OPTIONS=" $OPTIONS" [ -n "$OPTIONS" ] && OPTIONS=" $OPTIONS"
ruby_cmd="ruby -C $PWD $exec$OPTIONS" ruby_cmd="ruby -C $PWD $exec$OPTIONS"
......
...@@ -77,6 +77,7 @@ mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/diaspora/tmp ...@@ -77,6 +77,7 @@ mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/diaspora/tmp
cp %SOURCE2 $RPM_BUILD_ROOT/%{_datadir}/diaspora cp %SOURCE2 $RPM_BUILD_ROOT/%{_datadir}/diaspora
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/log/diaspora mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/log/diaspora
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/run/diaspora
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/diaspora/uploads mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/diaspora/uploads
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/diaspora/tmp mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/diaspora/tmp
...@@ -94,6 +95,8 @@ find -L $RPM_BUILD_ROOT/%{_datadir}/diaspora -type f \ ...@@ -94,6 +95,8 @@ find -L $RPM_BUILD_ROOT/%{_datadir}/diaspora -type f \
cat files >> dirs && mv -f dirs files cat files >> dirs && mv -f dirs files
sed -i -e '\|.*/master/config.ru"$|d' \ sed -i -e '\|.*/master/config.ru"$|d' \
-e '\|.*/master/config/environment.rb"$|d' \ -e '\|.*/master/config/environment.rb"$|d' \
-e '\|.*/run/diaspora"$|d' \
-e '\|.*/pkg/fedora/dist"$|d' \
-e 's|%{buildroot}||' -e 's|//|/|' -e '/""/d' \ -e 's|%{buildroot}||' -e 's|//|/|' -e '/""/d' \
files files
...@@ -101,6 +104,7 @@ sed -i -e '\|.*/master/config.ru"$|d' \ ...@@ -101,6 +104,7 @@ sed -i -e '\|.*/master/config.ru"$|d' \
%post wsd %post wsd
/sbin/chkconfig --add diaspora-wsd || : /sbin/chkconfig --add diaspora-wsd || :
%preun wsd %preun wsd
if [ $1 -eq 0 ] ; then if [ $1 -eq 0 ] ; then
service diaspora-wsd stop &>/dev/null || : service diaspora-wsd stop &>/dev/null || :
...@@ -117,9 +121,11 @@ rm -fr $RPM_BUILD_ROOT ...@@ -117,9 +121,11 @@ rm -fr $RPM_BUILD_ROOT
%doc AUTHORS README.md GNU-AGPL-3.0 COPYRIGHT README-Fedora.md %doc AUTHORS README.md GNU-AGPL-3.0 COPYRIGHT README-Fedora.md
%attr(-, diaspora, diaspora) %{_datadir}/diaspora/master/config.ru %attr(-, diaspora, diaspora) %{_datadir}/diaspora/master/config.ru
%attr(-, diaspora, diaspora) %{_datadir}/diaspora/master/config/environment.rb %attr(-, diaspora, diaspora) %{_datadir}/diaspora/master/config/environment.rb
%attr(-, diaspora, diaspora) %{_datadir}/diaspora/master/pkg/fedora/dist
%attr(-, diaspora, diaspora) %{_localstatedir}/log/diaspora %attr(-, diaspora, diaspora) %{_localstatedir}/log/diaspora
%attr(-, diaspora, diaspora) %{_localstatedir}/lib/diaspora/uploads %attr(-, diaspora, diaspora) %{_localstatedir}/lib/diaspora/uploads
%attr(-, diaspora, diaspora) %{_localstatedir}/lib/diaspora/tmp %attr(-, diaspora, diaspora) %{_localstatedir}/lib/diaspora/tmp
%attr(-, diaspora, diaspora) %{_localstatedir}/run/diaspora
%{_datadir}/diaspora/master/tmp %{_datadir}/diaspora/master/tmp
%{_datadir}/diaspora/master/public/uploads %{_datadir}/diaspora/master/public/uploads
......
...@@ -181,7 +181,6 @@ function make_bundle() ...@@ -181,7 +181,6 @@ function make_bundle()
# Usage: make_bundle [ commit, defaults to HEAD] # Usage: make_bundle [ commit, defaults to HEAD]
# #
{ {
set -x
checkout ${1:-'HEAD'} >/dev/null checkout ${1:-'HEAD'} >/dev/null
bundle_id=$( git_id dist/diaspora/Gemfile) bundle_id=$( git_id dist/diaspora/Gemfile)
bundle_name="diaspora-bundle-$VERSION-$bundle_id" bundle_name="diaspora-bundle-$VERSION-$bundle_id"
......
...@@ -5,6 +5,7 @@ work as a first step towards packaging, but should be usable as is. ...@@ -5,6 +5,7 @@ work as a first step towards packaging, but should be usable as is.
### Synopsis ### Synopsis
Bootstrap the distribution from git: Bootstrap the distribution from git:
% sudo apt-get install git-core % sudo apt-get install git-core
% git clone git://github.com/diaspora/diaspora.git % git clone git://github.com/diaspora/diaspora.git
...@@ -34,22 +35,17 @@ The normal procedure to update is to just ...@@ -34,22 +35,17 @@ The normal procedure to update is to just
$ ./make-dist.sh bundle $ ./make-dist.sh bundle
$ ./make-dist.sh source $ ./make-dist.sh source
And then use diaspora-install and diaspora-install-bundle as above. and then use diaspora-install and diaspora-install-bundle as above.
It's necessary to always have the correct bundle. The *./make-dist.sh bundle* It's necessary to always have the correct bundle. The *./make-dist.sh bundle*
above will use a cached bundle if it's still valid, else build a new. above will use a cached bundle if it's still valid, else build a new.
In most cases only source will need to be built, which is fast. In most cases only source will need to be built, which is fast.
### Notes ### Notes
./make-dist.sh bundle|source occasionally fails on bad Gemfile.lock. The The diaspora websocket service can be comtrolled through upstart.
root cause is a bad Gemfile.lock in the git repo. Possible fixes includes To start/stop:
using a older version known to work: % sudo service diaspora-wsd start
% ./make-dist.sh -c c818885b6 bundle % sudo service diaspora-wsd stop
% ./make-dist.sh -c c818885b6 source
or forcing a complete update of Gemfile.lock using 'bundle update' (a
potentially problematic operation):
% ./make-dist.sh -f bundle
./make-dist.sh bundle|source occasionally fails on bad Gemfile.lock. The ./make-dist.sh bundle|source occasionally fails on bad Gemfile.lock. The
root cause is a bad Gemfile.lock in the git repo. Possible fixes includes root cause is a bad Gemfile.lock in the git repo. Possible fixes includes
...@@ -58,7 +54,7 @@ using a older version known to work: ...@@ -58,7 +54,7 @@ using a older version known to work:
% ./make-dist.sh -c c818885b6 source % ./make-dist.sh -c c818885b6 source
or forcing a complete update of Gemfile.lock using 'bundle update' (a or forcing a complete update of Gemfile.lock using 'bundle update' (a
potential problematic operation): potentially problematic operation):
% ./make-dist.sh -f bundle % ./make-dist.sh -f bundle
The application lives in /usr/share/diaspora/master. All writable areas The application lives in /usr/share/diaspora/master. All writable areas
...@@ -79,19 +75,11 @@ dependencies lives in the application - nothing is installed by user or ...@@ -79,19 +75,11 @@ dependencies lives in the application - nothing is installed by user or
on system level. on system level.
This has been tested on a Ubuntu 32-bit 10.10 , clean server and on 10.04 This has been tested on a Ubuntu 32-bit 10.10 , clean server and on 10.04
Lucid desktop, also clean installation. Lucid desktop, also clean installation. Irregular nightly builds are
available from time to time at
[ftp://mumin.dnsalias.net/pub/leamas/diaspora/builds](ftp://mumin.dnsalias.net/pub/leamas/diaspora/builds)
mongodb is having problems occasionally. Sometimes the dependencies are not mongodb is having problems occasionally. Sometimes the dependencies are not
installed, and mongod refuses to start. invoke */usr/bin/mongod -f installed, and mongod refuses to start. invoke */usr/bin/mongod -f
/etc/mongodb.conf* to test. The lockfile /var/lib/mongodb/mongod.conf is /etc/mongodb.conf* to test. The lockfile /var/lib/mongodb/mongod.conf is
also a potential problem. Remove to make it start again. also a potential problem. Remove to make it start again.
The diaspora-wsd is just placeholder FTM, it does **not** work.
...@@ -30,9 +30,8 @@ sed -i '/BUNDLE_PATH/s|:.*|: /usr/lib/diaspora-bundle/bundle|' \ ...@@ -30,9 +30,8 @@ sed -i '/BUNDLE_PATH/s|:.*|: /usr/lib/diaspora-bundle/bundle|' \
cp master/GNU-AGPL-3.0 master/COPYRIGHT master/README.md master/AUTHORS . cp master/GNU-AGPL-3.0 master/COPYRIGHT master/README.md master/AUTHORS .
cp master/config/app_config.yml.example ./app_config.yml cp master/config/app_config.yml.example ./app_config.yml
cp master/pkg/ubuntu/diaspora-wsd /etc/init.d cp master/pkg/ubuntu/diaspora-wsd.conf /etc/init
sed -i '/^cd /s|.*|cd /usr/share/diaspora/master|' /etc/init.d/diaspora-wsd
cp master/pkg/ubuntu/diaspora.logrotate /etc/logrotate.d/diaspora cp master/pkg/ubuntu/diaspora.logrotate /etc/logrotate.d/diaspora
...@@ -41,8 +40,8 @@ cp master/pkg/ubuntu/diaspora-setup . ...@@ -41,8 +40,8 @@ cp master/pkg/ubuntu/diaspora-setup .
mkdir -p /var/log/diaspora mkdir -p /var/log/diaspora
mkdir -p /var/lib/diaspora/uploads mkdir -p /var/lib/diaspora/uploads
mkdir -p /var/lib/diaspora/tmp mkdir -p /var/lib/diaspora/tmp
mkdir -p /var/run/diaspora
mkdir -p /etc/diaspora mkdir -p /etc/diaspora
mkdir -p /usr/share/diaspora/master/pkg/ubuntu/dist
ln -sf /var/log/diaspora ./master/log ln -sf /var/log/diaspora ./master/log
cp master/config/app_config.yml.example /etc/diaspora/app_config.yml cp master/config/app_config.yml.example /etc/diaspora/app_config.yml
...@@ -65,5 +64,6 @@ chown diaspora:diaspora /var/log/diaspora ...@@ -65,5 +64,6 @@ chown diaspora:diaspora /var/log/diaspora
chown diaspora:diaspora /var/lib/diaspora/uploads chown diaspora:diaspora /var/lib/diaspora/uploads
chown diaspora:diaspora /var/lib/diaspora/tmp chown diaspora:diaspora /var/lib/diaspora/tmp
chown diaspora:diaspora /var/lib/diaspora chown diaspora:diaspora /var/lib/diaspora
chown diaspora:diaspora /var/run/diaspora
chown diaspora:diaspora /usr/share/diaspora/master/pkg/ubuntu/dist chown diaspora:diaspora /usr/share/diaspora/master/pkg/ubuntu/dist
...@@ -43,9 +43,11 @@ else ...@@ -43,9 +43,11 @@ else
exit 1 exit 1
fi fi
chmod 777 /var/lib/diaspora/uploads
chown -R diaspora /var/log/diaspora chown -R diaspora /var/log/diaspora
sed -i '/socket_pidfile:/s|:.*|: /var/run/diaspora/diaspora-wsd.pid|' \
config/app_config.yml
hostname=$( awk '/pod_url:/ { print $2; exit }' <config/app_config.yml) hostname=$( awk '/pod_url:/ { print $2; exit }' <config/app_config.yml)
if [ -n "$arg_hostname" ]; then if [ -n "$arg_hostname" ]; then
......
#!/bin/bash
#
# /etc/rc.d/init.d/diaspora-wsd
#
# SHOULD start the diaspora websocket daemon, but it doesn't. No way.
#
# chkconfig: - 80 80
# description: Diaspora websocket daemon
### BEGIN INIT INFO
# Provides: diaspora-wsd
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Should-Start: $remote_fs
# Should-Stop: $remote_fs
# Default-Start:
# Default-Stop: 0 1 2 3 4 5 6
# Short-Description: start and stop Diaspora websocket server
# Description: The websocket server provides websocket services for
# diaspora.
### END INIT INFO
# Source function library.
. /etc/init.d/functions
if [ -f /etc/sysconfig/diaspora-wsd -a $UID -eq 0 ]; then
. /etc/sysconfig/diaspora-wsd
fi
# Note: this line is patched by installation scripts.
cd /usr/share/diaspora
RETVAL=0
prog="Diaspora websocket server"
exec="script/websocket_server.rb"
pidfile="/var/run/diaspora-wsd"
lockfile="/var/lock/subsys/diaspora-wsd"
logfile=/var/log/diaspora-wsd.log
[ -n "$OPTIONS" ] && OPTIONS=" $OPTIONS"
ruby_cmd="ruby -C $PWD $exec$OPTIONS"
start() {
[ $UID -eq 0 ] || exit 4
[ -f $exec ] || exit 5
echo -n $"Starting $prog: "
daemon --pidfile $pidfile "$ruby_cmd >>$logfile 2>&1 &"
RETVAL=$?
echo
if test $RETVAL = 0; then
touch $lockfile
pgrep -f "$ruby_cmd" > $pidfile || {
echo "Warning: cannot find running diaspora-webserver"
exit 7
}
fi
}
stop() {
[ $UID -eq 0 ] || exit 4
echo -n $"Stopping $prog: "
killproc -p $pidfile $exec
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f $lockfile
echo
}
#
# See how we were called.
#
case "$1" in
start)
start
;;
stop)
stop
;;
force-reload|restart)
stop
sleep 1
start
RETVAL=$?
;;
condrestart|try-restart)
if [ -f $lockfile ]; then
stop
sleep 3
start
fi
;;
status)
status -p $pidfile $exec
RETVAL=$?
;;
*)
echo $"Usage: $0 {condrestart|try-restart|start|stop|restart|force-reload|status}"
RETVAL=2
[ "$1" = 'usage' ] && RETVAL=0
esac
exit $RETVAL
# Ubuntu upstart file at /etc/init/diaspora-wsd.conf
start on runlevel [5]
stop on runlevel [06]
script
if [ -f /etc/default/diaspora ]; then
. /etc/default/diaspora;
fi;
cd /usr/share/diaspora/master;
start-stop-daemon --start \
--chuid diaspora:diaspora \
--chdir $PWD \
--exec "/usr/local/bin/bundle" \
-- exec ruby -C $PWD script/websocket_server.rb;
end script
...@@ -67,7 +67,6 @@ $(document).ready(function(){ ...@@ -67,7 +67,6 @@ $(document).ready(function(){
}; };
}); });
});//end document ready });//end document ready
...@@ -105,3 +104,20 @@ function openVideo(type, videoid, link) { ...@@ -105,3 +104,20 @@ function openVideo(type, videoid, link) {
$(container).slideDown('fast', function() { }); $(container).slideDown('fast', function() { });
link.onclick = function() { $(container).slideToggle('fast', function() { } ); } link.onclick = function() { $(container).slideToggle('fast', function() { } ); }
} }
$(".make_profile_photo").live("click", function(){
var user_id = $(this).closest(".controls").attr('data-actor');
person_id = $(this).closest(".controls").attr('data-actor_person');
photo_url = $(this).closest(".controls").attr('data-image_url');
$.ajax({
type: "PUT",
url: '/users/'+user_id,
data: {"user":{"profile":{ "image_url": photo_url }}},
success: function(){
$("img[data-person_id='"+ person_id +"']").each( function() {
$(this).attr('src', photo_url);
});
}
});
});
...@@ -733,6 +733,11 @@ h1.big_text ...@@ -733,6 +733,11 @@ h1.big_text
:display inline :display inline
:float right :float right
form
:margin
:right 0
:top 0
.back .back
:font :font
:size 12px :size 12px
...@@ -936,6 +941,7 @@ h1.big_text ...@@ -936,6 +941,7 @@ h1.big_text
:color #333 :color #333
:border-radius 5px :border-radius 5px
:color #ccc
a a
:color #ccc :color #ccc
...@@ -1083,3 +1089,29 @@ header ...@@ -1083,3 +1089,29 @@ header
img img
:height 27px :height 27px
:width 27px :width 27px
.edit_pane
:display inline
:position relative
.controls
:display none
:background
:color rgba(51,51,51,0.9)
:padding 10px
:position absolute
:right 0
a
:font
:weight bold
:color #eee
:text-shadow 0 1px #000
&:hover
:color #fff
&:hover
.controls
:display inline
...@@ -5,6 +5,25 @@ ...@@ -5,6 +5,25 @@
require File.dirname(__FILE__) + '/../config/environment' require File.dirname(__FILE__) + '/../config/environment'
require File.dirname(__FILE__) + '/../lib/diaspora/websocket' require File.dirname(__FILE__) + '/../lib/diaspora/websocket'
at_exit do
begin
File.delete(PID_FILE)
rescue
puts 'Cannot remove pidfile: ' + (PID_FILE ? PID_FILE : "NIL")
end
end
def write_pidfile
begin
f = File.open(PID_FILE, "w")
f.write(Process.pid)
f.close
rescue => e
puts "Can't write to pidfile!"
puts e.inspect
end
end
CHANNEL = Magent::GenericChannel.new('websocket') CHANNEL = Magent::GenericChannel.new('websocket')
def process_message def process_message
if CHANNEL.queue_count > 0 if CHANNEL.queue_count > 0
...@@ -36,7 +55,8 @@ begin ...@@ -36,7 +55,8 @@ begin
ws.onclose { Diaspora::WebSocket.unsubscribe(ws.request['Path'].gsub('/',''), sid) } ws.onclose { Diaspora::WebSocket.unsubscribe(ws.request['Path'].gsub('/',''), sid) }
} }
end end
PID_FILE = APP_CONFIG[:socket_pidfile]
write_pidfile
puts "Websocket server started." puts "Websocket server started."
process_message process_message
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment