JSXC Development

From diaspora* project wiki
Work in progressWork in progress:This article is a work in progress, it may contain incomplete or inaccurate information. There may be additional information on the talk page.

The JavaScript XMPP Client (JSXC) is the front end of diaspora*s built-in chat feature.

To start contributing code you'll first need to set up a development pod and enable the chat feature. (You won't need any certificates)

Now fork the diapora* JSXC repository on github, download the code

git clone git@github.com:<YOUR_GITHUB_USERNAME>/jsxc.git
git submodule update --init

and add the upstream repository as a remote

git remote add upstream https://github.com/diaspora/jsxc.git

Given you are using RVM we are now going to create a modified version of the JSXC files which link to your local repository

cd ~/.rvm/gems/ruby-<CURRENT_RUBY_VERSION>@diaspora/gems/
# Backup the original files
cp -r rails-assets-diaspora_jsxc-<CURRENT_JSXC_VERSION> rails-assets-diaspora_jsxc-<CURRENT_JSXC_VERSION>_orig
rm rails-assets-diaspora_jsxc-<CURRENT_JSXC_VERSION>/app/assets/javascripts/diaspora_jsxc/jsxc.min.js
# Symlink to your local repository
ln -s <YOUR_JSXC_REPO>/jsxc.lib.js rails-assets-diaspora_jsxc-<CURRENT_JSXC_VERSION>/app/assets/javascripts/diaspora_jsxc/jsxc.min.js

Start the server

./script/server