Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
JavaScript Ruby
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
src
style
templates
.gitignore
Gemfile
Gemfile.lock
README.org
config.ru
index.html

README.org

unqueued

What is this?

This is an unhosted web app for basic messaging. It uses remoteStorage.js to sync data via the remotestorage protocol. You can use it to read your email.

Overview

There are three parts to this app:

  • a server that delivers the app to the browser and does nothing else,
  • the app itself, which is client-side javascript, and
  • a SMTP bridge, which is a plugin for the Haraka SMTP Server, written in server-side Javascript.

The storage itself is brought by the user. Currently the user also needs to setup the STMP bridge theirselves.

Server side

A simple static webserver. Instead of 404, it falls back to 200 and delivers index.html. That way URLs created by history.pushState still resolve to start the app. Implemented in Ruby (Sinatra).

Setup (assuming you have a working ruby and rubygems installation):

gem install bundler
bundle

Start:

rackup

By default it listens on localhost:9292, use “-p 80” to run on default HTTP port. You may need root privileges to do that.

Client side

All the boring stuff (router, basic views, …) is within src/framework.

A remoteStorage messages module is drafted in src/remoteStorage-messages.js.

src/models/message.js contains glue code between app and messages module.

To figure out the rest, run the app and browse the code.

Bridge to SMTP

See my Haraka fork, it contains a plugin called “queue/remotestorage.js”. Alter config/remotestorage.ini to add your remotestorage credentials. The default configuration should work with the remotestorage example server.

License

Not sure yet.

Something went wrong with that request. Please try again.