]> git.scottworley.com Git - reliable-chat/log
reliable-chat
3 years agoRemove 'or any later version' license choice master
Scott Worley [Wed, 31 Mar 2021 19:40:00 +0000 (12:40 -0700)]
Remove 'or any later version' license choice

Recent drama about FSF leadership continuity makes this less clearly
desirable.

My intention is to add future license versions to this list after
verifying that they are of similar character and spirit to past
versions.

Previous versions of this software, of course, retain the 'or any later
version' license choice option.

8 years agoRename "history" to "hist"
Scott Worley [Thu, 23 Jul 2015 06:46:52 +0000 (23:46 -0700)]
Rename "history" to "hist"

Apparently there's now a top-level "history" object that interferes with
this usage.

11 years agoPrompt new users for a nick explicitly
Scott Worley [Mon, 20 Aug 2012 05:44:35 +0000 (22:44 -0700)]
Prompt new users for a nick explicitly

11 years ago/nick requires an argument
Scott Worley [Sun, 19 Aug 2012 18:31:23 +0000 (11:31 -0700)]
/nick requires an argument

11 years agoDifferent colors for different message types
Scott Worley [Sun, 19 Aug 2012 18:15:55 +0000 (11:15 -0700)]
Different colors for different message types

11 years ago/speak requests are permitted cross-origin
Scott Worley [Sun, 19 Aug 2012 16:54:53 +0000 (09:54 -0700)]
/speak requests are permitted cross-origin

This serves only to quite browser console error messages.
The request is the action, and speaking was working even though the
browser was denying the empty response to the client.

11 years agoMonotonic clock
Scott Worley [Sun, 19 Aug 2012 16:51:53 +0000 (09:51 -0700)]
Monotonic clock

11 years agoUse XMLHttpRequest POST to send messages
Scott Worley [Sun, 19 Aug 2012 15:49:09 +0000 (08:49 -0700)]
Use XMLHttpRequest POST to send messages

11 years agoCSS class for local messages
Scott Worley [Sun, 19 Aug 2012 15:41:34 +0000 (08:41 -0700)]
CSS class for local messages

11 years agoDon't send empty messages
Scott Worley [Sun, 19 Aug 2012 15:14:44 +0000 (08:14 -0700)]
Don't send empty messages

11 years ago/nick currentnick should do nothing
Scott Worley [Sun, 19 Aug 2012 14:30:46 +0000 (07:30 -0700)]
/nick currentnick should do nothing

11 years ago/nosuchcommand shouldn't speak
Scott Worley [Sun, 19 Aug 2012 06:31:11 +0000 (23:31 -0700)]
/nosuchcommand shouldn't speak

11 years ago"/no such command" shouldn't speak
Scott Worley [Sun, 19 Aug 2012 06:19:44 +0000 (23:19 -0700)]
"/no such command" shouldn't speak

11 years agoExport the server start time
Scott Worley [Sun, 19 Aug 2012 05:56:00 +0000 (22:56 -0700)]
Export the server start time

11 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

11 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

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

11 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

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

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

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

11 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.

11 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

11 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

11 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.

11 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.

11 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.

11 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.)

11 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.

11 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

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

11 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

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

11 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

11 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

11 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

11 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.

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

11 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().

11 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.

11 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".)

11 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.

11 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.

11 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

11 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.

11 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.

11 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).

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

11 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.

11 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

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

11 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.

11 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.

11 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.

11 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.

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

Originally created 2011-09-26.

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

11 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

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

11 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.

11 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.

11 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

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

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

11 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.

11 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

11 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.

11 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

11 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.

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

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

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

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

11 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.

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

11 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.

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

11 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.

11 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

11 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.

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

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

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

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

11 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.

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

11 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.

11 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

11 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

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

11 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.

11 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

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

11 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