Commit Graph

60112 Commits

Author SHA1 Message Date
Jessica McKellar 22c2a868c1 Factor out json success and error handling.
(imported from commit 1891e077a18615d47710faf56b04c4bd160454fa)
2012-09-05 18:01:07 -04:00
Jessica McKellar cede8e59fb Return a 400 and error message instead of 500ing on a personal to an invalid user.
(imported from commit b8cdf342f2919aa0dbd2e30764c7662b6756aa57)
2012-09-05 18:01:06 -04:00
Keegan McAllister 0788f2efe6 get_updates_longpoll: Retry indefinitely, with exponential backoff
The client still won't recognize when it's reconnected, if there is no traffic.
Probably we should have the server send periodic heartbeat messages to the
clients, and make the clients look for them.

(imported from commit 4dab3ddf20bf3c48a65b9395c1e24b635b70aa81)
2012-09-05 16:37:20 -04:00
Keegan McAllister c3aaf54468 get_updates_longpoll: Timeout and retry
We're currently proxying through Apache, which will eventually drop an idle
connection to the app server.  Before that happens, drop it on the client and
retry.  This may also help with flaky Internet connections.  This timeout isn't
really an error condition and is naturally rate-limited, so we retry
indefinitely.

(imported from commit 45fbf812af63ed331fe046d85c64c97c1ec57611)
2012-09-05 16:37:10 -04:00
Luke Faraone 3366346144 Return subs in JSON based on a query of your subs list rather than sorting through recieved zephyrs.
(imported from commit 451435aee2c2cf6ee542468b1c91c4a15edf2032)
2012-09-05 16:15:38 -04:00
Keegan McAllister db858afe4a apache: Timeout talking to app after 20 minutes only
We need this to be longer than the client-side AJAX timeout (future commit)

(imported from commit a638c8392fd7ee1e5c1bee557012dbdd28f1547f)
2012-09-05 15:53:40 -04:00
Tim Abbott e9b6ce6124 Fix subscriptions page showing huddles.
(imported from commit bed5fd30c509dcd5f169081396f72107dc08c750)
2012-09-05 15:32:06 -04:00
Keegan McAllister 53690d757f Avoid infinite tail recursion in get_updates_longpoll
Javascript doesn't guarantee tail-call optimization.  Also we should yield
control back to the browser in case it needs to catch up on rendering.

(imported from commit 1c35c0c2c39f13311b98bfb6221a1bac1fb22de8)
2012-09-05 14:06:19 -04:00
Keegan McAllister 1f522eddac Move zephyr rendering inside longpoll success callback
(imported from commit f7c2bbb0a31b339892a033e4192e44cb53b0d62c)
2012-09-05 14:06:08 -04:00
Keegan McAllister 162cb075b7 DEBUG: report longpoll events in JS console
(imported from commit f82edf2fcec66ec119319a691281726a16a46b31)
2012-09-05 14:00:56 -04:00
Keegan McAllister 2332fa2c72 Log server events with timestamps
(imported from commit b74274ccafcca716871058b8f9bde8dfe9e081ee)
2012-09-05 13:47:25 -04:00
Tim Abbott 3218f917ae populate_db: Repeat recipients a moderate fraction of the time.
(imported from commit 1a42ec5b585a7a64e24576350c61399601177877)
2012-09-05 13:42:05 -04:00
Tim Abbott 527058a202 Add personals and huddles to populate_db.
(imported from commit 98a8decc18bad4700260f125873ccc4367f73ebe)
2012-09-05 12:38:35 -04:00
Tim Abbott 8eb778dc32 Fix display of which people we're showing personals with.
(imported from commit 4e2f2554c9af4b176dcbbe6300b72c2ce69bc8bd)
2012-09-05 11:48:35 -04:00
Keegan McAllister 04b1c21333 Remove some unnecessary intermediate lists
Use generator comprehensions for efficiency and cleaner code.

(imported from commit 6b4b709515b5c904ef38b8ea33a9d4a4af0f5468)
2012-09-05 11:41:53 -04:00
Tim Abbott 3e51ef8c1c Fix get_huddle handling of id_list.
(imported from commit 0fe1ee15b2fc6b3bef98ac47f1094b89e776c751)
2012-09-05 11:38:09 -04:00
Tim Abbott 254b118bd6 Fix an error in huddle comments.
(imported from commit 85a06b53de1027815e1d2bbd4c6354801495fffe)
2012-09-05 11:32:05 -04:00
Tim Abbott 1f151214c0 Move the huddle recipient uniquification into get_huddle.
(imported from commit 09378b583becce6467d65d6caec71a543e27be2e)
2012-09-05 11:30:40 -04:00
Keegan McAllister 5ac4b4345e Point at the first zephyr if the initial pointer is invalid
(imported from commit 7661a7d23f1d161815f2a22048cd23ede76e1758)
2012-09-05 11:24:29 -04:00
Keegan McAllister 7cb3c05b40 Cleanup / local var in hotkeys
(imported from commit 8df3d84495d0d50b0987037dceb8b16023866119)
2012-09-05 11:24:28 -04:00
Keegan McAllister 49704b84f3 Clean up select_zephyr
Eliminate some global variables, and other style fixes.

(imported from commit 95dfbaa024d709f5b98238afcf904f3e92c8a260)
2012-09-05 11:24:28 -04:00
Tim Abbott 20215eef86 Remove a bunch more trailing whitespace.
(imported from commit 5d1cc8dcb0b26eaf95ddca26574b361b6948cdb8)
2012-09-05 11:23:58 -04:00
Tim Abbott fe43dc008f Clarify comments about huddles.
(imported from commit b4b779c48289e0f78490c0e93ece19b55a6f2dee)
2012-09-05 11:19:31 -04:00
Tim Abbott 08b55de0af Add support for replying to huddle messages.
(imported from commit 21c760838fa87bf524ff178eab6473dfa3c6921c)
2012-09-05 11:19:31 -04:00
Tim Abbott d13e7d5c2a Clean up prepare_personal function.
(imported from commit 497ff1ff2162eba879728755cf37e6317530a641)
2012-09-05 11:19:31 -04:00
Tim Abbott 6e427d4aa1 Remove trailing whitespace in zephyr.js.
(imported from commit d003d9c337239e90f6dbda16f6624c42909a88b7)
2012-09-05 11:19:31 -04:00
Tim Abbott 7105ea9290 Improve the huddle hashing keys.
(imported from commit e8e1f1ac3022f3cecfdd22d1d4f319cc4f1ce886)
2012-09-05 11:19:31 -04:00
Tim Abbott 6de871a698 Fix double-sending to huddle recipients.
(imported from commit 649c01c6d0f1c826d3db9444f48af16ee1eb8d06)
2012-09-05 11:19:31 -04:00
Jessica McKellar 2694183a9d Make clicking on a personals user narrow to the conversation with that user.
Previously, clicking would narrow to all personals. The gp hotkey
combo still does that -- we'll need to think about the UI for making
both types of narrowing easy.

(imported from commit acce1da52de1b9b757ef76a9734d61f399f81a01)
2012-09-05 11:03:53 -04:00
Luke Faraone 3db1766015 Fix broken narrowing on classes with keyboard shortcuts.
(imported from commit e829c55e88a57c4dbe4693c41f15eaf27a025daa)
2012-09-05 10:56:59 -04:00
Luke Faraone be3a69611a Restrict new_zephyrs in add_callback to current user's subs.
(imported from commit 7aab1b081cf9b8602512402547fe3592cf710d82)
2012-09-05 10:43:36 -04:00
Keegan McAllister 3078d9c0b6 Nuke tabs in Apache config
(imported from commit 0a858d7885294cef297bc4e0b3876af2fd1ab93e)
2012-09-05 10:36:01 -04:00
Luke Faraone ebff1bc830 Don't show the user's password when registering.
(imported from commit 9268c07560de744abdedf11b8d39cd8045baeff9)
2012-09-05 10:20:39 -04:00
Keegan McAllister e9ae8b0e0d Remove obsolete wiki user script
Replaced by server-side config.

(imported from commit 54b749e37955111439da5e27a2233ff596214971)
2012-09-04 20:50:34 -04:00
Keegan McAllister c7773ed2aa Script to automate setup of humbug-dev as currently configured (untested)
(imported from commit 8dcb85fad9f04dc393198f8ee2afcca23edf7b51)
2012-09-04 20:35:28 -04:00
Tim Abbott 2ff6a39976 Some huddle cleanups.
(imported from commit 244bfde4da2a4faeb150182f232937f0cb3a9a85)
2012-09-04 19:41:42 -04:00
Tim Abbott 4d284d8a92 [schema] Add support for multi-user personals ("huddles").
This is controlled by listing multiple comma-separate usernames in the
personal message sending box.

(imported from commit 06c9dadb7977b98f88ad31e5df453b59f1afad96)
2012-09-04 19:15:07 -04:00
Tim Abbott 84ece4b3fe Combine the zephyr() and personal_zephyr() functions.
(imported from commit a39b70f019901d0dd6994d4c440002111e4c29e1)
2012-09-04 19:14:46 -04:00
Tim Abbott f0db139e43 Fix missing import socket in views.py.
(imported from commit e00c3a1a16435b8e65bd3bd445fb049c70aee4be)
2012-09-04 19:11:25 -04:00
Tim Abbott af4ed3a9a1 Eliminate trailing whitespace in views.py.
(imported from commit e69b90a7354e4b8ce1221973788d1a0f80530d56)
2012-09-04 18:51:23 -04:00
Luke Faraone 5a37dd459a Use a list comprehension instead of a set comp. for Py2.6 compatability.
(imported from commit d3764623d2b6df13b4912920a10183928c63ae83)
2012-09-04 18:48:46 -04:00
Tim Abbott c059937f31 Remove fixtures from version control.
(imported from commit 32f17aa1b674e47d730a00cced8b5bed8a136755)
2012-09-04 16:34:39 -04:00
Tim Abbott 8f058937a0 Rename recipient.user_or_class to type.id.
(imported from commit 74639cd08d0f53ae39624fc793f6fe55325b6d45)
2012-09-04 16:34:39 -04:00
Luke Faraone 974b560659 Add autocomplete for personals, classes, and instances.
Here we pull in the jqueryui library and a style sheet to provide a widget
to do autocomplete for various fields. We populate a list of all ever-seen
classes, instances, and people (C/I/P) into JS arrays and then pass them to
jqueryui.

Each time a new C/I/P appears, we reinitialise the autocomplete functions
so they will notice the new data.

(imported from commit f1ab69c99d21f68ccf40c015bd43960f463c6ff2)
2012-09-04 16:14:48 -04:00
Jessica McKellar ee9da75f0f Give populate_db an optional number of zephyrs to generate.
(imported from commit ceebabf7d56ceb3bba00129dc9f334c72a4956da)
2012-09-04 14:28:47 -04:00
Keegan McAllister ac2553cdff Replace get_state with a variable embedded into index.html
(imported from commit 3ef4a0163107248618a25e242ab30fdff5da17e0)
2012-09-04 13:01:00 -04:00
Keegan McAllister e86216dff0 Add missing semicolons
(imported from commit f562f6e63368d5cb48ccba3b72981ff36a9cff30)
2012-09-04 13:01:00 -04:00
Keegan McAllister 9b5e47cd45 Don't select a zephyr until we've loaded them.
(imported from commit 04f72ae1e2ca67dfc1220baee11940008e0d2c91)
2012-09-04 13:01:00 -04:00
Keegan McAllister 2e8b1fa14a Use client-side templating to render zephyrs
(imported from commit 5ac650c3df0fa8caa823407d9d1a65a38f7e63c6)
2012-09-04 13:01:00 -04:00
Keegan McAllister 85215733d8 Import ICanHaz.js (yes, really)
(imported from commit b864603cfac2b3626e01d8ba7c89d030f7c0fa43)
2012-09-04 12:27:17 -04:00