Commit graph

203 commits

Author SHA1 Message Date
John "Elwin" Edwards
0c75cdca4a Mostly finish README.txt. 2014-03-09 16:15:42 -07:00
John "Elwin" Edwards
64d9d8cd54 WebTTY: remove polling.
Communication now uses WebSockets only.
2014-01-27 16:02:27 -08:00
John "Elwin" Edwards
de69f47fc1 termemu.js: implement cursor hiding. 2014-01-26 19:56:02 -08:00
John "Elwin" Edwards
d5b4cb5de0 Implement another control sequence.
CSI c queries terminal attributes.
2014-01-25 22:10:01 -08:00
John "Elwin" Edwards
668f6d246d Check that the ttyrec stream has an fd before passing it to fstat.
The stream might not have an fd, presumably if the open isn't complete.
Calling fstat then causes crashes.
2014-01-06 09:11:35 -05:00
John "Elwin" Edwards
bc69ffcd64 Remove ptyhelper.c because the pty module has replaced it. 2014-01-01 14:13:10 -05:00
John "Elwin" Edwards
2708beece7 Add a README though it's still incomplete. 2014-01-01 14:11:40 -05:00
John "Elwin" Edwards
d1ed2c911a Use SVG for the bell icon instead of PNG.
Browsers that support WebSockets tend to support SVG too.  This also
removes the need to install Inkscape to convert the file to PNG.
2013-10-31 20:44:35 -07:00
John "Elwin" Edwards
cf4fd96592 RLGWebD: game binaries have moved to /usr/bin. 2013-10-28 22:11:14 -07:00
John "Elwin" Edwards
29edae364e sqlickrypt: add support for salted SHA-512 passwords, and fix NULL bug.
Passwords will now be securely encrypted with random salt.  Also avoid
storing NULL in the database, because that makes dgamelaunch segfault.
2013-10-20 21:19:13 -07:00
John "Elwin" Edwards
b760c1d444 RLGWebD: inprogress dirs have moved 2013-10-20 19:26:39 -07:00
John "Elwin" Edwards
49640d131e RLGWebD: use NODE_PATH to find modules. 2013-08-14 08:04:36 -07:00
John "Elwin" Edwards
d7df88f3cf WebTTY: use WebSockets when possible. 2013-07-22 07:51:53 -07:00
John "Elwin" Edwards
fabaea6849 Replace the daemon module with posix.
The daemon module doesn't include chroot() anymore, so a replacement
is needed.  Detaching a daemon keeps getting harder to do in Node, so
some setup has been moved into a shell script.
2013-07-20 12:23:53 -07:00
John "Elwin" Edwards
95fddfb788 termemu.js: handle some tmux-produced control sequences. 2013-07-18 10:43:41 -07:00
John "Elwin" Edwards
5b85a979e0 webtty: don't hardcode paths. 2013-07-18 10:36:58 -07:00
John "Elwin" Edwards
e0b1aa3668 Added tag beta6 for changeset e4f27a093d1e 2012-09-12 17:34:27 -07:00
John "Elwin" Edwards
b73bb2de18 Bump the version number. 2012-09-12 17:33:27 -07:00
John "Elwin" Edwards
ae626f11a9 Update the documentation. 2012-09-12 17:31:21 -07:00
John "Elwin" Edwards
b343678129 Options-related UI improvements.
Hide as-yet-unnecessary elements on the options page, and link the
home and options pages from each other.
2012-09-12 16:03:09 -07:00
John "Elwin" Edwards
363c88f00f Logins don't time out anymore.
No more login timestamps either.
2012-09-12 15:48:41 -07:00
John "Elwin" Edwards
75db6d0f73 Options page: improve some CSS. 2012-08-29 15:31:13 -07:00
John "Elwin" Edwards
a1f56007d0 Options page: handle not being logged in.
The options page now displays whether or not the user is logged in.
2012-08-29 07:55:26 -07:00
John "Elwin" Edwards
eb2e44e13e Make the options page functional.
The options page now uses the /uinfo interface to change e-mail and
password values.
2012-08-28 17:38:25 -07:00
John "Elwin" Edwards
0f71a90f8b Initial layout of the options page.
Now that login keys persist, the options can be put on a separate
page.  An as-yet nonfunctional layout for options.html has been added.
2012-08-27 21:28:10 -07:00
John "Elwin" Edwards
16e66858c0 RLG-Web client: store login key in DOM Storage.
Keep the login key in sessionStorage.  This lets the user navigate
away and return without needing to log in again.
2012-08-27 13:43:12 -07:00
John "Elwin" Edwards
47cc4d29b6 RLG-Web server: allow changing e-mail and password.
Logged-in users can change their e-mail addresses and passwords with a
POST to the /uinfo interface.
2012-08-26 19:04:57 -07:00
John "Elwin" Edwards
48b5b5d32a Improve the /uinfo interface.
Change the URL scheme to /uinfo/<property>?key=<key> because that makes
more sense.
2012-08-25 19:33:31 -07:00
John "Elwin" Edwards
81e772545a Add a user information interface at /uinfo.
User information can be retrieved at /uinfo?key=<login key>&<prop>.
The only property currently retrievable is email; eventually these will
also be settable via POST.
2012-08-13 09:07:28 -07:00
John "Elwin" Edwards
acae714a6b sqlickrypt: fix typo in database filename. 2012-08-13 08:53:46 -07:00
John "Elwin" Edwards
1bb3671a58 Improve the probability of detecting numpad 5.
Firefox now, in some circumstances, thinks numpad 5 is the clear key,
with keycode 12.  This makes it detectable.
2012-08-12 08:22:55 -07:00
John "Elwin" Edwards
51978efd4e Correct the clear sequence for srogue.
rlgwebd sets TERM to xterm-256color, which uses CSI H CSI 2J to clear
the screen.  The description of srogue had been CSI H CSI J, which is
the sequence for screen.
2012-08-11 21:30:12 -07:00
John "Elwin" Edwards
e4ce0b48a3 Add support for Advanced Rogue 5. 2012-08-11 19:48:25 -07:00
John "Elwin" Edwards
85708c5810 sqlickrypt: add setpw command.
Allow changing a user's password.
2012-07-28 07:49:33 -07:00
John "Elwin" Edwards
f1c5196829 rlgterm.js: display the game's proper name when starting. 2012-07-23 09:32:46 -07:00
John "Elwin" Edwards
931bc5cb87 sqlickrypt: add getmail and setmail commands.
Add the ability to retrieve and alter users' e-mail addresses, and
clean up some of the code too.
2012-07-18 17:00:05 -07:00
John "Elwin" Edwards
55f7c3e7de Fix WebSocket support checking.
Check for window.WebSocket instead of WebSocket.
2012-07-16 14:52:04 -07:00
John "Elwin" Edwards
59f3a10220 Added tag beta5 for changeset 86c1b79cf662 2012-07-16 10:28:55 -07:00
John "Elwin" Edwards
078bcbb836 Call this beta5.
Increment the version number and update some documentation.
2012-07-16 10:28:49 -07:00
John "Elwin" Edwards
2f37cf2d94 RLG-Web server: update timestamps for WebSocket games.
The login timestamps will now be refreshed when games are started via
WebSockets or stopped.
2012-07-16 10:09:57 -07:00
John "Elwin" Edwards
f7f56fedae RLG-Web: improvements to choices and status messaging.
Server-side, have gamemux 'end' events include the name and game, so
they can be sent to WebSockets connected to /status.  This means a
WebSocket client only needs to update its choice list when it gets a
begin or end message with its own username.  So it only needs to check
/pstatus/<name> at those times and can stop polling.
2012-07-16 08:23:51 -07:00
John "Elwin" Edwards
a0be18657b Replace taking over games with forced saves.
Instead of reusing the id, just SIGHUP the game process.  This works
whether it is using polling, WebSockets, or dgamelaunch.
2012-07-15 22:33:44 -07:00
John "Elwin" Edwards
a847191450 RLG-Web: fix lockfile mixup.
Put the terminal dimensions into the lockfile in the proper order.
2012-07-15 21:03:36 -07:00
John "Elwin" Edwards
854519a7bd RLG-Web: improve taking over sessions.
WebSocket sessions should not be taken over, and polling sessions are
not yet convertible to WebSockets.  Eventually the current method of
taking over via Player#reset() should be replaced with autosaving the
game, which will always work.
2012-07-15 20:30:33 -07:00
John "Elwin" Edwards
3abb05683e RLG-Web client: add playing through WebSockets.
Add client-side support for WebSocket play.
2012-07-15 18:18:53 -07:00
John "Elwin" Edwards
d11eb5e22a RLG-Web server: add playing through WebSockets.
Games can be played with a WebSocket connection to
/play/<game>?key=<loginkey>&w=<cols>&h=<rows>
2012-07-15 09:04:39 -07:00
John "Elwin" Edwards
185ea6a9ef RLG-Web client: determine the host for WebSocket connections.
Construct the URLs for WebSocket connections using window.location.host
instead of hardcoding them.
2012-07-14 10:11:13 -07:00
John "Elwin" Edwards
1ef1b16014 RLG-Web client: use WebSockets for game lists.
Use the WebSocket connection to /status to create the list of current
games.
2012-07-14 09:46:26 -07:00
John "Elwin" Edwards
bec02aea9e RLG-Web server: send status events over WebSockets.
A WebSocket connection to /status will be sent periodic listings, along
with notifications of the beginning and end of games.
2012-07-13 22:26:20 -07:00
John "Elwin" Edwards
4174840c3e RLG-Web server: refactor statusmsg() to work with WebSockets.
Separate the game-listing and http-responding components of statusmsg()
so the listing function can be reused for WebSockets.
2012-07-13 09:17:05 -07:00