Commit Graph

  • 6c51f14723 Hogfather message round trip. master Ian Gulliver 2016-01-08 15:39:13 -08:00
  • 3a4614f977 Correct function naming, actually get a test passing. Ian Gulliver 2016-01-08 15:27:34 -08:00
  • 883c07e16c Correct naming convention. gh-pages Ian Gulliver 2016-01-08 15:25:52 -08:00
  • c9cb04d420 Make Shutdown() do something. Ian Gulliver 2016-01-08 15:22:47 -08:00
  • 918243b296 Make hogfather.PublicChat.Start() private. Ian Gulliver 2016-01-08 15:15:56 -08:00
  • f40f4292a7 Hogfather externs. Ian Gulliver 2016-01-08 15:15:39 -08:00
  • 4471dfd05c typeEventLogoutDetail Ian Gulliver 2016-01-08 14:40:33 -08:00
  • 327ec69b05 Static uuid() Ian Gulliver 2016-01-07 21:12:11 -08:00
  • c744a2cde6 Type annotations for EventTarget imports. Ian Gulliver 2016-01-07 21:09:38 -08:00
  • f569e12dbf removeEventListener() and dispatchEvent() Ian Gulliver 2016-01-07 21:09:20 -08:00
  • 87b4e4257a Drop the www Ian Gulliver 2016-01-07 21:02:00 -08:00
  • b2bac74955 Disable deprecated pagespeed Ian Gulliver 2016-01-07 20:58:29 -08:00
  • a782d7170c addEventListener() Ian Gulliver 2016-01-07 20:57:24 -08:00
  • 7dcae7e88f Remove duplicate function. Ian Gulliver 2016-01-07 20:55:25 -08:00
  • c9626a7616 Add isConnected() Ian Gulliver 2016-01-07 20:51:46 -08:00
  • 5eb3674833 Batch saving to localStorage on initial subscribe; makes a big difference when we have lots of messages. Ian Gulliver 2016-01-05 22:47:31 -08:00
  • 5280b710d2 Shortcut calling onMessage for everything in cache. Ian Gulliver 2016-01-05 20:44:28 -08:00
  • 77227df9aa Don't re-write the message cache while we're processing it. Ian Gulliver 2016-01-05 19:12:57 -08:00
  • 59fab5e3c6 localStorage cache for subject messages. Ian Gulliver 2016-01-05 18:51:27 -08:00
  • 49f14e54cf Stop some pathological datastore behavior when a client is fetching many messages. Ian Gulliver 2016-01-05 18:12:59 -08:00
  • 6ee8dc4f05 Switch to a PRNG implementation that doesn't have a birthday problem. Ian Gulliver 2015-12-30 22:01:25 -08:00
  • 8cfa55c722 Add requestAccess(), denyRequest(), addOwner(), and addWriter(). Also add request, request_denied and acl_change events. Ian Gulliver 2015-12-29 19:11:56 -08:00
  • fb85596501 Better error description. Add a TODO to fix pin() error handling. Ian Gulliver 2015-12-29 15:14:14 -08:00
  • 13ff0dc5d1 Update text to reflect better error descriptions. Ian Gulliver 2015-12-29 15:13:58 -08:00
  • 3b3755f7f5 Add amOwner() and amWriter(). Reject sendMessage() if we lack write access. Ian Gulliver 2015-12-29 12:00:35 -08:00
  • 415c6ad1fd Lint fixes. Ian Gulliver 2015-12-29 11:48:33 -08:00
  • 976a5bd49f Factor out ACL code. Keep a manifest copy of hogfather messages. Ian Gulliver 2015-12-29 11:42:54 -08:00
  • 78b92347a7 Start enforcing writer restrictions. Ian Gulliver 2015-12-29 10:43:47 -08:00
  • 9aa04cfbca Hogfather now emits message events. Ian Gulliver 2015-12-27 21:40:00 -08:00
  • 17d7c470fd Lint cleanups. Ian Gulliver 2015-12-27 21:21:23 -08:00
  • 076238eb99 Include cosmo metadata in returned messages. Ian Gulliver 2015-12-27 21:19:33 -08:00
  • fdd1b85539 Allow uuid() to be called statically. Ian Gulliver 2015-12-27 21:08:36 -08:00
  • 53840a0cdd Add getMessages() and sendMessage() Ian Gulliver 2015-12-27 20:48:50 -08:00
  • 199dd020ba Add getID() Ian Gulliver 2015-12-27 20:06:27 -08:00
  • 1acbeaee12 Delay hogfather promise resolution until subscription syncs up. Ian Gulliver 2015-12-27 17:12:12 -08:00
  • 6789c42703 Rip out hogfather's early complexity and move toward implementing the public chat first. Ian Gulliver 2015-12-27 17:04:46 -08:00
  • 3f37741ae7 Avoid log spam on invalid instance channels. Ian Gulliver 2015-12-27 16:43:19 -08:00
  • 7be8b4e9b6 Add Hogfather.Create() factory. Ian Gulliver 2015-12-25 14:23:04 -08:00
  • 30a3e89bfc Fix several cases of assuming that a Profile always has a numeric ID, rather than a named key, which is untrue. Ian Gulliver 2015-12-24 15:26:43 -08:00
  • b90d3d7b44 More hogfather structure. Ian Gulliver 2015-12-24 15:12:25 -08:00
  • 6e879ce1d5 Add hogfather basic structure. Ian Gulliver 2015-12-24 15:00:26 -08:00
  • 8b6f5c916d First Hogfather test. Ian Gulliver 2015-10-17 16:04:37 +02:00
  • 69aa0e711a Start of hogfather code. Ian Gulliver 2015-10-17 15:55:43 +02:00
  • cec8a6c9d3 Fix the remaining lint errors. Ian Gulliver 2015-10-16 16:23:29 +02:00
  • f77007e047 Fix some lint errors from previous commit. Ian Gulliver 2015-10-15 21:55:55 +02:00
  • a59f7f97f3 Add support for "local" subjects, which don't get pushed to the serve and get destroyed on unsubscribe. Ian Gulliver 2015-10-15 19:05:39 +02:00
  • 9b5a55b737 Add two event listener tests, mostly as examples. Ian Gulliver 2015-10-14 17:04:01 +02:00
  • be831f40d3 Fix the thread locking model to be harder to screw up. Ian Gulliver 2015-07-06 04:12:33 +00:00
  • d52d5df148 Add a sanity assertion. Ian Gulliver 2015-07-06 01:43:56 +00:00
  • 34154d3939 Remove duplicate line. Ian Gulliver 2015-07-06 01:21:04 +00:00
  • ecdfce7970 Hide some additional includes. Ian Gulliver 2015-07-06 01:20:16 +00:00
  • 0e5723b9d0 Checkpoint: add helgrind target, switch to timespec_get(), add cosmo_random() Ian Gulliver 2015-07-06 01:11:40 +00:00
  • 9e8891884b Add cosmo_get_profile(), test_subscribe_acl Ian Gulliver 2015-07-05 02:59:07 +00:00
  • afc201f69c Actually verify message ordering in test_message_ordering Ian Gulliver 2015-07-04 21:32:08 +00:00
  • fdc74ed53c Add test_message_ordering. Make all functions static so we know if any aren't in use. Ian Gulliver 2015-07-03 22:17:06 +00:00
  • bd103b15bf Fix result of send_message() when chaos monkey intervenes post-request. Ian Gulliver 2015-07-03 22:16:42 +00:00
  • a416119ea3 Add subscribe_barrier test Ian Gulliver 2015-07-02 19:51:06 +00:00
  • 6585fb3445 Add another promise test. Ian Gulliver 2015-07-02 04:37:23 +00:00
  • ac4437b7b2 Restructure promise API, use it in cosmo, add test. Ian Gulliver 2015-07-01 04:48:25 +00:00
  • 13fe1a07ce Actually start calling promises. Ian Gulliver 2015-06-28 12:22:23 -07:00
  • f2a3b3c677 TODO about locking issues Ian Gulliver 2015-06-28 11:56:41 -07:00
  • d1a4510d2b Refactoring for sanity, avoid some unnecessary copies. Ian Gulliver 2015-06-28 11:55:09 -07:00
  • a3b6977088 More promise plumbing. Ian Gulliver 2015-06-28 11:43:17 -07:00
  • 4b79ef06de Plumbing for promise integration. Ian Gulliver 2015-06-28 11:18:05 -07:00
  • b29690734a Move command queue to our own linked list, so we can attach promises. Fix OS X build. Ian Gulliver 2015-06-28 09:54:03 -07:00
  • f3e38ec8a6 Add double subscribe test. Ian Gulliver 2015-06-24 04:26:51 +00:00
  • e5e81673ff Add getmessages test. Ian Gulliver 2015-06-24 04:20:43 +00:00
  • 92d40db1cd Add a TODO Ian Gulliver 2015-06-24 04:05:46 +00:00
  • 1482d81883 Strengthen some SSL options, pave the way for future options and public key pinning. Ian Gulliver 2015-06-24 04:01:32 +00:00
  • e04f06e2e5 Autogenerate client IDs to make instantiation easier. Set us up for client ID rotation later. Ian Gulliver 2015-06-24 03:01:24 +00:00
  • db9b63cec8 Switch to uuid names for Event keys, because appengine reuses model ids. Ian Gulliver 2015-06-22 20:56:27 -07:00
  • f3bde736f7 Log timestamp of torture run start. Ian Gulliver 2015-06-23 03:45:00 +00:00
  • e29838a58e Fix reconnect test failure. Ian Gulliver 2015-06-20 17:42:54 +00:00
  • 494a1060f9 Debug log callbacks fired. Ian Gulliver 2015-06-20 15:37:21 +00:00
  • a994c7e7ec Clean up debug logging story. Ian Gulliver 2015-06-20 15:32:57 +00:00
  • 7ab52899de Test-only fix, torture improvements. Ian Gulliver 2015-06-20 06:22:38 +00:00
  • e382392170 Torture test script. Ian Gulliver 2015-06-20 05:48:45 +00:00
  • 0603c2c601 Merge branch 'master' of github.com:flamingcowtv/cosmopolite Ian Gulliver 2015-06-20 05:45:39 +00:00
  • 33ce1fe805 More resilient method for determining when we've reconnected. Ian Gulliver 2015-06-20 05:45:26 +00:00
  • a8d0661626 Forgot the cron handler. Ian Gulliver 2015-06-19 22:43:41 -07:00
  • 33f368910f Better method for tracking reconnect of polling clients. Ian Gulliver 2015-06-19 22:43:20 -07:00
  • 9a726558ca Add complex object test. Ian Gulliver 2015-06-20 02:56:03 +00:00
  • aa5751c89d Bulk subscribe support (mainly just to mirror JS) Ian Gulliver 2015-06-20 01:16:50 +00:00
  • 65c118ce6c Debugging support. Ian Gulliver 2015-06-19 22:57:11 +00:00
  • f434b5ff7b Rename and reorder tests to match test.js Ian Gulliver 2015-06-19 22:35:16 +00:00
  • 457cc92e1e Add login callback. Ian Gulliver 2015-06-19 22:27:28 +00:00
  • a850c79817 Hide cosmo struct definition from the public API. Ian Gulliver 2015-06-19 22:18:24 +00:00
  • d89d1cc2f6 disconnect callback Ian Gulliver 2015-06-18 05:43:05 +00:00
  • d0d0ed1e21 Add a connect callback. Ian Gulliver 2015-06-18 04:27:17 +00:00
  • c72f2ff30e Add resubscription after reconnect, with a test. Ian Gulliver 2015-06-18 04:11:13 +00:00
  • f89e936f55 Don't delete all events, just the ones that are acked. Ian Gulliver 2015-06-15 21:31:21 -07:00
  • 1102701bea Merge branch 'master' of github.com:flamingcowtv/cosmopolite Ian Gulliver 2015-06-15 21:25:25 -07:00
  • 0ead64a41d Tell polling clients when we've recreated their connection and they need to resubscribe. Ian Gulliver 2015-06-15 21:25:00 -07:00
  • 601c82427a Framework for resubscribing on reconnect, some parsing cleanups. Ian Gulliver 2015-06-16 04:24:43 +00:00
  • 2790b6bce1 Subscription state tracking, some parsing cleanups. Ian Gulliver 2015-06-16 02:15:17 +00:00
  • 1325ad570e Event cleanup pipeline. Ian Gulliver 2015-06-14 21:48:36 -07:00
  • 4a6cb1f9bd Boom, real passing tests. Ian Gulliver 2015-06-15 03:26:41 +00:00
  • 0df573171d Change lots of keys to IDs for length. Ian Gulliver 2015-06-14 19:56:13 -07:00
  • 71514b7655 Move events from keys to ids. Ian Gulliver 2015-06-14 19:33:40 -07:00
  • a006375441 Polling and acks. Ian Gulliver 2015-06-15 02:27:03 +00:00