]> git.scottworley.com Git - reliable-chat/log
reliable-chat
12 years agoTest message drops due to hitting the limit
Scott Worley [Sun, 19 Aug 2012 05:47:54 +0000 (22:47 -0700)]
Test message drops due to hitting the limit

12 years agoSwitch to using defer to clean up after tests
Scott Worley [Sun, 19 Aug 2012 05:45:14 +0000 (22:45 -0700)]
Switch to using defer to clean up after tests

12 years agogofmt
Scott Worley [Sun, 19 Aug 2012 05:11:29 +0000 (22:11 -0700)]
gofmt

12 years agoCount drops due to reaching the message limit
Scott Worley [Sun, 19 Aug 2012 05:15:18 +0000 (22:15 -0700)]
Count drops due to reaching the message limit

12 years agoMake message limit flag-controlled
Scott Worley [Sun, 19 Aug 2012 05:11:08 +0000 (22:11 -0700)]
Make message limit flag-controlled

12 years agoRemove /frame support
Scott Worley [Sun, 19 Aug 2012 05:08:17 +0000 (22:08 -0700)]
Remove /frame support

12 years agoAdd the Heroku server
Scott Worley [Fri, 17 Aug 2012 06:18:05 +0000 (23:18 -0700)]
Add the Heroku server

12 years agoAdd reliablechat-chk.rhcloud.com:80 server
Scott Worley [Thu, 16 Aug 2012 07:21:30 +0000 (00:21 -0700)]
Add reliablechat-chk.rhcloud.com:80 server

Setup on OpenShift was remarkably fast and straightforward.

12 years agoOptionally specify an address to bind to
Scott Worley [Thu, 16 Aug 2012 07:19:27 +0000 (00:19 -0700)]
Optionally specify an address to bind to

12 years agoColors: Soften the whites a little
Scott Worley [Mon, 6 Aug 2012 07:16:59 +0000 (00:16 -0700)]
Colors: Soften the whites a little

12 years agoMulti-line input box
Scott Worley [Mon, 6 Aug 2012 07:10:42 +0000 (00:10 -0700)]
Multi-line input box

This is really awful.  TODO: Clean this up.

12 years agoSeparate count, timestamp, and message with spaces
Scott Worley [Mon, 6 Aug 2012 06:53:08 +0000 (23:53 -0700)]
Separate count, timestamp, and message with spaces

Separate these with spaces rather than CSS margins so that they aren't
crowded together when you copy/paste the bare text out.

12 years agorobots.txt: Disallow *
Scott Worley [Mon, 6 Aug 2012 05:15:57 +0000 (22:15 -0700)]
robots.txt: Disallow *

In the unlikely event that a robot ever finds this, disallow everything.

12 years agoLink to the project homepage
Scott Worley [Sun, 5 Aug 2012 20:07:51 +0000 (13:07 -0700)]
Link to the project homepage

(Yes, the project homepage is its github page.)

12 years agoLinks should be rel="nofollow"
Scott Worley [Sun, 5 Aug 2012 05:34:18 +0000 (22:34 -0700)]
Links should be rel="nofollow"

Though if this ever becomes relevant, something else has gone wrong.

12 years agoPut the date in the hover as well
Scott Worley [Sat, 4 Aug 2012 23:48:22 +0000 (16:48 -0700)]
Put the date in the hover as well

12 years agoURL detection
Scott Worley [Sat, 4 Aug 2012 20:00:11 +0000 (13:00 -0700)]
URL detection

12 years agoTimestamp hover shows all servers' timestamps
Scott Worley [Sat, 4 Aug 2012 19:21:18 +0000 (12:21 -0700)]
Timestamp hover shows all servers' timestamps

12 years agoClassify different kinds of messages
Scott Worley [Sat, 4 Aug 2012 18:23:55 +0000 (11:23 -0700)]
Classify different kinds of messages

12 years agoTake UI creation out of rcaddmessagetohistory
Scott Worley [Sat, 4 Aug 2012 18:23:08 +0000 (11:23 -0700)]
Take UI creation out of rcaddmessagetohistory

12 years agoDisplay a server count for each message
Scott Worley [Fri, 3 Aug 2012 19:41:18 +0000 (12:41 -0700)]
Display a server count for each message

12 years agoFeed the median-timestamp updates back into the UI
Scott Worley [Fri, 3 Aug 2012 19:22:48 +0000 (12:22 -0700)]
Feed the median-timestamp updates back into the UI

12 years agoPut timestamps in a separate span
Scott Worley [Fri, 3 Aug 2012 19:22:18 +0000 (12:22 -0700)]
Put timestamps in a separate span

This makes them easier to update separately, and also easier to style.

12 years agoFix odd case of median
Scott Worley [Fri, 3 Aug 2012 19:20:43 +0000 (12:20 -0700)]
Fix odd case of median

12 years agoPreserve history's in-order invariant
Scott Worley [Fri, 3 Aug 2012 18:51:03 +0000 (11:51 -0700)]
Preserve history's in-order invariant

In rcupdatemessagetime().

12 years agoKeep messages sorted by timestamp
Scott Worley [Fri, 3 Aug 2012 18:30:52 +0000 (11:30 -0700)]
Keep messages sorted by timestamp

This causes messages that appear on some servers and not others to be
correctly interleaved on initial load.

Note: this is incomplete. rcupdatemessagetime() can break history's
always-in-sorted-order invariant by changing Time after messages have
been inserted.  Fixing this is next.

Consider replacing rcaddmessagetohistory()'s simple backwards linear scan
with a binary search in the unlikely event that its performance is ever
noticed.

12 years agoFix initial servertimes entry.
Scott Worley [Fri, 3 Aug 2012 17:48:05 +0000 (10:48 -0700)]
Fix initial servertimes entry.

(Use the value of the variable server, not the string "server".)

12 years agoCalculate the median of the server timestamps
Scott Worley [Fri, 3 Aug 2012 17:43:26 +0000 (10:43 -0700)]
Calculate the median of the server timestamps

This isn't used yet.  Next: rewrite history each time this is updated.

12 years agoKeep server timestamps for all copies
Scott Worley [Fri, 3 Aug 2012 16:02:45 +0000 (09:02 -0700)]
Keep server timestamps for all copies

Note: This allows a replay attack where a malicious user can cause a
message to appear to be sent later than it was by re-sending it.
I'm not going to worry about any of these types of issues until the
crypto is in place, which will guard against most of them.

12 years agoDocumentation: What's in a message
Scott Worley [Fri, 3 Aug 2012 15:41:15 +0000 (08:41 -0700)]
Documentation: What's in a message

12 years agoKeep messages around as values in seen.
Scott Worley [Fri, 3 Aug 2012 15:27:05 +0000 (08:27 -0700)]
Keep messages around as values in seen.

12 years agoPass message on *after* setting since.
Scott Worley [Fri, 3 Aug 2012 07:58:03 +0000 (00:58 -0700)]
Pass message on *after* setting since.

rcreceivemessages() modifies the message.  The fetch loop needs
to extract the final timestamp for since= feedback before it is
modified.

12 years agoTimestamps for incoming messages
Scott Worley [Fri, 3 Aug 2012 07:45:01 +0000 (00:45 -0700)]
Timestamps for incoming messages

Plan: Outgoing messages will hang around at the bottom and have the
timestamp added when their echos come back from the servers.  This
will happen automatically when we start recalculating the timestamp
on each server arrival (part of switching from using first-timestamp
to median-timestamp).

12 years agoMinor syntax cleanup
Scott Worley [Fri, 3 Aug 2012 07:26:19 +0000 (00:26 -0700)]
Minor syntax cleanup

12 years agorcaddmessagetohistory() accepts a message object
Scott Worley [Fri, 3 Aug 2012 07:20:00 +0000 (00:20 -0700)]
rcaddmessagetohistory() accepts a message object

Not just a string.

12 years agoA little tiny bit of documentation
Scott Worley [Fri, 3 Aug 2012 07:15:13 +0000 (00:15 -0700)]
A little tiny bit of documentation

12 years agoStreamline /command checking a little
Scott Worley [Fri, 3 Aug 2012 07:13:30 +0000 (00:13 -0700)]
Streamline /command checking a little

12 years agoLeave out the anonymous nick reminders for now
Scott Worley [Fri, 3 Aug 2012 07:06:44 +0000 (00:06 -0700)]
Leave out the anonymous nick reminders for now

Status messages complicate some upcoming history representation rework.
Also, theer's a plan for something better than this simple nagging.

12 years agoRemove useless postMessage call
Scott Worley [Fri, 3 Aug 2012 06:23:37 +0000 (23:23 -0700)]
Remove useless postMessage call

Oops.  This is left over from when this used to be in /frame.

12 years agoSend old clients a deprecation warning
Scott Worley [Fri, 3 Aug 2012 05:26:27 +0000 (22:26 -0700)]
Send old clients a deprecation warning

/frame is no longer used by modern clients.

12 years agoLink to the IRC,Better diagram in the README
Scott Worley [Fri, 3 Aug 2012 04:20:12 +0000 (21:20 -0700)]
Link to the IRC,Better diagram in the README

The diagram does pretty much sum up the project.

12 years agoDocumentation digram
Scott Worley [Fri, 3 Aug 2012 04:08:15 +0000 (21:08 -0700)]
Documentation digram

Originally created 2011-09-26.

12 years agoAdd license (AGPL)
Scott Worley [Fri, 3 Aug 2012 03:46:01 +0000 (20:46 -0700)]
Add license (AGPL)

12 years agoMerge skitch's changes.
Scott Worley [Fri, 3 Aug 2012 01:38:31 +0000 (18:38 -0700)]
Merge skitch's changes.

Conflicts:
webclient/rc.html

12 years agoDark color scheme
Jason Hibbs [Fri, 3 Aug 2012 01:35:05 +0000 (18:35 -0700)]
Dark color scheme

12 years agoMove the status indicators to the right.
Jason Hibbs [Fri, 3 Aug 2012 01:34:10 +0000 (18:34 -0700)]
Move the status indicators to the right.

This leaves room for Chrome's "Waiting for ..." status float.

12 years agoScroll history without input. Input above status
Jason Hibbs [Fri, 3 Aug 2012 01:32:27 +0000 (18:32 -0700)]
Scroll history without input.  Input above status

Scroll the history without the input line scrolling away.
Move the input line above the status line.

12 years agoBetter visibility for the server status indicators
Jason Hibbs [Fri, 3 Aug 2012 01:29:41 +0000 (18:29 -0700)]
Better visibility for the server status indicators

12 years ago/me support
Jason Hibbs [Fri, 3 Aug 2012 01:05:32 +0000 (18:05 -0700)]
/me support

12 years agoAuto-focus the input field.
Jason Hibbs [Fri, 3 Aug 2012 00:35:38 +0000 (17:35 -0700)]
Auto-focus the input field.

12 years agoFetch with direct cross-origin XMLHttpRequests
Scott Worley [Wed, 1 Aug 2012 05:40:15 +0000 (22:40 -0700)]
Fetch with direct cross-origin XMLHttpRequests

I swear I tried this before and it didn't work.

12 years agoMake /nick reminder a little more visible
Scott Worley [Wed, 1 Aug 2012 05:15:21 +0000 (22:15 -0700)]
Make /nick reminder a little more visible

12 years agoTrack /frame usage.
Scott Worley [Wed, 1 Aug 2012 05:09:02 +0000 (22:09 -0700)]
Track /frame usage.

We're about to depricate it, so it'd be nice to know when users are
done using it.

12 years agoActually use the command line flags
Scott Worley [Wed, 1 Aug 2012 04:56:22 +0000 (21:56 -0700)]
Actually use the command line flags

12 years agoMove javascript and css into the html file.
Scott Worley [Mon, 30 Jul 2012 06:32:04 +0000 (23:32 -0700)]
Move javascript and css into the html file.

12 years agoMore "var" in variable declarations.
Scott Worley [Mon, 30 Jul 2012 06:28:38 +0000 (23:28 -0700)]
More "var" in variable declarations.

12 years agoImplement nicknames
Scott Worley [Mon, 30 Jul 2012 05:33:27 +0000 (22:33 -0700)]
Implement nicknames

12 years agoActual server list
Scott Worley [Mon, 30 Jul 2012 04:09:22 +0000 (21:09 -0700)]
Actual server list

12 years agoStatus bar indicators
Scott Worley [Mon, 30 Jul 2012 04:07:45 +0000 (21:07 -0700)]
Status bar indicators

12 years agoBidirectional communication!
Scott Worley [Mon, 30 Jul 2012 03:58:58 +0000 (20:58 -0700)]
Bidirectional communication!

This is actually pretty awful.  In order to fetch _data_ cross-origin,
I have to run foreign _code_ and have it window.parent.postMessage().
This seems really, really wrong.

12 years agoSend messages with <img src="...">
Scott Worley [Sun, 29 Jul 2012 18:22:35 +0000 (11:22 -0700)]
Send messages with <img src="...">

12 years agoDon't autocomplete in the input field.
Scott Worley [Sun, 29 Jul 2012 18:22:07 +0000 (11:22 -0700)]
Don't autocomplete in the input field.

12 years agoThis 'form' is never submitted.
Scott Worley [Sun, 29 Jul 2012 05:24:14 +0000 (22:24 -0700)]
This 'form' is never submitted.

12 years agoStart poking at the web client.
Scott Worley [Sun, 29 Jul 2012 04:25:27 +0000 (21:25 -0700)]
Start poking at the web client.

12 years agoFactor out copy/pasted message testing
Scott Worley [Sun, 29 Jul 2012 01:44:38 +0000 (18:44 -0700)]
Factor out copy/pasted message testing

12 years agoAdd an id to messages
Scott Worley [Sun, 29 Jul 2012 00:26:37 +0000 (17:26 -0700)]
Add an id to messages

This is how clients de-dupe.

12 years agoTest with since == message time
Scott Worley [Sat, 28 Jul 2012 21:32:31 +0000 (14:32 -0700)]
Test with since == message time

12 years agoTest partial fetch
Scott Worley [Sat, 28 Jul 2012 19:38:34 +0000 (12:38 -0700)]
Test partial fetch

12 years agogofmt
Scott Worley [Sat, 28 Jul 2012 19:14:58 +0000 (12:14 -0700)]
gofmt

12 years agoTest multiple listeners
Scott Worley [Sat, 28 Jul 2012 19:14:25 +0000 (12:14 -0700)]
Test multiple listeners

12 years agoTest fetch blocking
Scott Worley [Sat, 28 Jul 2012 19:06:43 +0000 (12:06 -0700)]
Test fetch blocking

Fetch blocks until message is sent.
Fetches initiated before a speak return the later-spoken value.

12 years agoCounters!
Scott Worley [Sat, 28 Jul 2012 18:51:42 +0000 (11:51 -0700)]
Counters!

12 years agoAllow port to be specified. Default resonably.
Scott Worley [Sat, 28 Jul 2012 18:38:53 +0000 (11:38 -0700)]
Allow port to be specified.  Default resonably.

12 years agoShut down the message store after each test
Scott Worley [Sat, 28 Jul 2012 18:28:37 +0000 (11:28 -0700)]
Shut down the message store after each test

12 years agoCopy less: pass messages by pointer
Scott Worley [Sat, 28 Jul 2012 18:23:18 +0000 (11:23 -0700)]
Copy less: pass messages by pointer

12 years agoAdd a test
Scott Worley [Sat, 28 Jul 2012 17:45:00 +0000 (10:45 -0700)]
Add a test

12 years agoFetch returns a list of messages
Scott Worley [Sat, 28 Jul 2012 17:34:50 +0000 (10:34 -0700)]
Fetch returns a list of messages

Not a thing that contains a list of messages.

12 years agoWait when since == last message time
Scott Worley [Sat, 28 Jul 2012 17:33:18 +0000 (10:33 -0700)]
Wait when since == last message time

12 years agoDecode URL parameters
Scott Worley [Sat, 28 Jul 2012 17:24:14 +0000 (10:24 -0700)]
Decode URL parameters

12 years agoFirst cut at minimum-functionality server
Scott Worley [Sat, 28 Jul 2012 05:45:54 +0000 (22:45 -0700)]
First cut at minimum-functionality server