Code Monkey home page Code Monkey logo

holla's Introduction

#Intro

Holla is a group chat app. The UI is built in a RIA fashion - i.e. is totally asynchronous and super fast. I've open sourced it for a book I'm writing on building Rich Internet Applications with JavaScript.

A WebKit based browser (Safari/Chrome) is required due to specific CSS optimizations.

#Live Demo

Checkout a live demo here

Good examples for:

Screenshot

Prerequisites

  • Ruby 1.9.2
  • Bundler
  • Redis

Installation

Now go to http://localhost:3000

holla's People

Contributors

maccman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

holla's Issues

Image upload hangs

dragging an image into the browser causes it to be published in the chat for all participants; the progress bar fills up, but when complete, only the participant who pasted it sees the transition from the placeholder to the image -- everyone else sees the placeholder remain with a full progress bar. refreshing the page doesn't change anything, except that for the user who uploaded the photo, it reverts to the placeholder instead of the image itself.

Use holla without twitter?

Is there a way to test out and use Holla without a twitter login? I don't use twitter. How else can I login to the application?

Any steps to get started?

I've run bundle install, rake db:create, and launched the server. When I try to open the app I get "...messages table doesn't exist." thanks.

Tests fail with "no such table: chats"

$ bundle exec rake test

results in:

4 tests, 0 assertions, 0 failures, 4 errors, 0 skips

Test run options: --seed 29828
Errors running test:units, test:functionals!

First is:

  1) Error:
test_the_truth(ChannelTest):
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: chats:
DELETE FROM "chats" WHERE 1=1

The other 3 fail for the same reason.

Strange Search Results (1 char)

When I start typing a search the results are strange... if I type the letter 'c' for example I see multiple copies of chat messages that have the letter 'c' in them. It does not seem to have anything to do with the number of times the letter 'c' appears inside of the message, I don't see extra copies for the message that has extra 'c' characters in it.

There's not any case where messages with only one 'c' show up only one time when searching for 'c'... everything shows up two or three times when searching for a single character string.

The extra copies go away when I am searching for anything with more than one letter. So if I search for 'chairs' I will only see one copy of the message that has the word 'chairs' in it.

I am using Holla from git head.

Thanks,
Kingdon

Trying to customize east to west drag and drop of elements

Hey man...
I am trying to customize the drag and drop feature and am running into a few issues.

Basically I need the left side items to be drag and droppable to the right side items.

I analyzed this http://ui-dev.jquery.com/demos/droppable/#revert but couldn't get it to work from left to right (i.e. I did get it to work on the left side only).

Right now, when you drag an item from the left (i.e. ul#named-tag... see the code below), and try to drop it on the right, it just gets added as a new tag. The right and left are both sortable and I connectWith works only with like items right?

In "connectWith" in the code below, it just has 'ul#item-list'. Do you know how I might be able to target each chat item?
It looks like the data in the chat side on the right is being stored as 'in memory data', so I am not able to view source and readily see li tag id's.

<script type="text/javascript"> $(document).ready(function(){ $("ul#people-tag").sortable({connectWith: 'ul#item-list', helper: 'clone', start: function(event, ui){ $("ul#people-tag").find('li:hidden').show(); } }); $("ul#named-tag").sortable({connectWith: 'ul#item-list', helper: 'clone', start: function(event, ui){ $("ul#named-tag").find('li:hidden').show(); } }); $("ul#item-list").sortable({receive: function(event, ui){ txt = 'Tag : ' + ui.item.text().trim(); if (ui.item.hasClass('people-tag')){ $("ul#people-tag").append(ui.item) }else{ $("ul#named-tag").append(ui.item) alert("hello"); } $('#text-area').val(txt) jQuery.ajax({ data: 'id='+ui.item.attr('tag-id')+'&session_id='+ui.item.attr('session'), dataType: 'script', type: 'post', url: "/ria/create_tag_for_session" }); $('#share-data').submit() } }); }); </script>

Thanks for any help or direction on this.

ChatTest is Failing

For example:

  1. Error:
    test_the_truth(JuggernautObserverTest):
    ActiveRecord::StatementInvalid: Mysql2::Error: Table 'holla2_test.chats' doesn't exist: DELETE FROM chats

It doesn't appear that there is anything in the db schema that ever creates this table? What am I missing?

http://getholla.com/ is broken

The demo site listed in README.markdown is returning:

It works!

This is the default web page for this server.

The web server software is running but no content has been added, yet.

I couldn't figure out a better place to report that, so please accept my apology if it is totally inappropriate here!

Can't connect with custom host/port

I installed Juggernaut on Heroku using this Gist:

https://gist.github.com/1003748

Now I'm trying to test out connecting to it from my local webserver.

var jug = new Juggernaut({
    host: 'mywebapp.herokuapp.com',
    port: 80
});

console.log(jug.options.host); // mywebapp.herokuapp.com
console.log(jug.options.port); // 80

jug.on('connect', function() { 
    console.log('connect');
});

jug.on('disconnect', function() { 
    console.log('disconnect');
});

jug.subscribe('channel1', function(data) {
    console.log("Got data: " + data); 
});

This produces an error:

Invalid url for WebSocket ws://[object Object]:5000/socket.io/websocket

It seems to be using my local port and the host is an object?

clients on local network send but don't receive.

Hello.

I have Holla set up as described in readme.md on a Mac on a local network. The router is an Apple Airport. Messages sent from a browser running on the server machine are properly echoed back to that browser. If I log in from another machine on the network, messages sent from that machine's browser will make it to the server and display on the browser running on that server, but will not display in the chat on the client machine's browser.

Any idea where to look to trouble shoot? Juggernaut's log does register the receipt and broadcast of these messages.

Demo not working

Your connection is not secure

The owner of maccman-holla.heroku.com has configured their website improperly. To protect your information from being stolen, Firefox has not connected to this website.

This site uses HTTP Strict Transport Security (HSTS) to specify that Firefox may only connect to it securely. As a result, it is not possible to add an exception for this certificate.

Juggernaut is down, no feedback

I tried deploying this on my Debian GNU/kFreeBSD server only to learn that Node.JS is not supported on that platform.

So I wasn't able to bring up Juggernaut. But everything else works. Except. When you publish messages to a server that does not have Juggernaut, you should get some feedback that your messages are not going out. I'm thinking something less obtrusive than an alert. Like turbogears alerts. Just a visual control that lets you know that there is no web socket backend, without getting in your way, so that when you try to send messages, you don't have the expectation that they're being saved or going anywhere.

KPB

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.