pick 7902c6760784ca13535412b7a221e67d4606bb1e Apply new layout pick e4080d22e0563cb6394f1991a2a82ab0c0501550 Somewhat working. pick e6b48df7fb19e28c4a42eff783978dc8eacba7c4 Updated layout pick 033a966b32d0322f72a5a43e844ad0008a6e9449 Config file for using redis. pick dfe48d769840b6f664df92257555ae93024415c0 Fix for non-redis pick 4d110c1ef1054d8a1e50181f01ec820e71282ffa Allow saving objects. pick a1373a9a86de4ac0de92b12b9d0630b7e89c9b90 First steps listening to Redis events. pick da0ae3b1e5c72be46731737742946d91a9dcba81 Working on replication. pick d933f7045be08afe47fd8814c9327e34e60badc0 Basic replication working pick 102454783e96b67424374a3b79c3c6c43f47979f WIP: consumer based communication pick 32334ed9b192198582fb07960e8763792ba0a36b Docs and new broadcast. pick 2efb10920e410cf134f6cefde1b326b07cf11d80 Improved building initial HEAD db pick d388e12c6e537bdda6ed52884853ab40b5c9f85f More or less working, but wrong by design. pick 3e73c059eb7928ebaa2f3031ff2cec89dba742df Start pub/sub pick 4a66a2d95d1147170ac827b5c83d116a7516752d Working replication. pick e9c0b17079bec5b6e5bd2594e75e573d2d75ec5c Further delay profile initialization pick 101e9588c940e9317a6abeb693d02138d784ba49 Make profile data ground. pick 6d50ca968d88a8bd9d722e1c7ecec1c368e30944 Try to get profiles and sessions persistent on redis. pick a1e920684a3808fc5f857b8e47791c19250636c9 Use Redis for keeping track of email confirmations. pick 61314c97e26cae1871ea3f8ccd10eb74636b80a9 Use improved redis library pick 73f58faad1723759ed11bbd7de8c51346a92f14e Handle notifications through redis. pick 5db245be747bd3512ba6958ca22b7cd4aee9bbc9 Make the chat store use Redis pick 070ce3b13f366ec1746f5feecc9a1c9acbd48dd6 Cleanup comments and remove old code pick 7bd25fea2b83298ef2f79a2592fe879696dc9a91 Updated layout pick 097e71734fb7577487f2323e99ba404023e7d5d9 Abstract database access. pick 294cc699c32e42cef57c820344b211bf355b48f9 Fix to storing chat messages. pick 8de8cea5b658f31a0876ef90f9bdc631ff4a65c4 Forgotten abstraction. pick 51af09b374ed6836314abdfed709202f9898f141 WIP moving chat to redis. pick e55bbbdb0a045dc6c98349790dd762033e63adea Maintain the websockets known on Redis. pick b3b3c7568542129baa6c47cef892d8ca3b9304c8 Migrate session_user/2 to use the HTTP session repository. pick 7221b5d7acff756e00d96441caff1f270ed8c9d0 Handle visitor data in Redis. pick 49002815b39a729889efe53412f5f065657475f5 Complete moving dynamic data to redis. pick 4c9337031271d20d662e9eeb4495215f502fc8c5 Fixed various redis commands. pick 6b519f69a28236f04bd4bb16d6e05065194236c8 Associating websockets with Redis consumers. pick f9384cc34e0d231c19b5ea92d2af12a4059f6556 More fixes. pick 2b6457956e37d390d49fa4e1ab938be21d9551f3 Avoid duplication sending messages pick 85745aa478d9cd8940973a6176d8bb99f7a25e5d Scan store immediately, so we can answer requests. pick ffc76c9b49e7eb0b0edb9fc399c1cb1c255276d2 Move PUB/SUB to use a prefix swish: and replay chat messages via Redis. pick a816a41f8298783bb1c3c9c0f7a2c91bb0be0df8 FIXED: swish(updated(File, From, To)) is swish(updated(File, Commit)). pick 43fd96e84813bf19c71560c84af6b1e8dd419eb2 Forward profile changes to friends using Redis. pick 8dbaa9f2368da9820c17981562688945580df400 Avoid killing sessions when starting up. pick da4f25b005aae43beb7dfba64f0539fbd736d678 Use Redis for storing the stats. pick 0b2686d2705fe807c8ad8faea8a2099ddaf62290 Typo pick 80ae6eea9e87b05952fcfc6ef4da479e5cf9fd6a Updated to new Resis `Term as prolog` syntax pick 3e182a468b197159ef0563f068c405f2967d252d GC visitors first to get more accurate count. pick 850c33a41f532030395b9b09cc145ad134c22214 Fixed saving stats pick 7f77ba40ff2acf368927e67c035f780badc8f070 Fixed publish channel pick 22f0fbadde5f24df2a051ce8151452c5c365e2e2 Inform peers. pick 50115bb3b7f066cf892898d29c412c8a62095a9d Typo pick 0e53bf16dfa0a99a3b7d721f9a4fe7a3d1b50ae5 Tell the cluster we left. pick 57ca5d9873ac11280311ab9e6dcaf955dcb2c596 Fixed unsubscription for chat channels when using Redis. pick cf8864d4e98323a98cb4611f08ec4d955736d170 Added lib/redis_transfer to migrate the old data to redis. pick e591a5194027867a36b2d7734b6e6bb1e7c14043 Fix profile transfer. pick 45ca70e9dcef86f3b2e6ed68360f242b54e9511c Document Redis plugin and allow overruling the use of redis by the IDE. pick e6748c09a220ea8e243be8191422a63f0c9bb4a8 Allow normal file based operation if redis is not configured. pick 62a590cc45d58e6ce0a516f9e3323109047968af Updated profile pick 9d561a89a482d539b24820e89bfa0d5a02c7e5c0 Allow deleting all keys pick 33692b34b9e8810cca593fdd057e28cf7d8afbc9 ENHANCED: Avoid full scan (for search) to perform a redis request for each entry as we already have the HEAD hash on the initial request. pick ebf9d6a2c37ec7df3d4335e8b91f3173fca46626 Also use efficient scanning for community examples. pick d6c93bd94c86934b2be24c1fbb99e41e149b716b Fixed LUA script to CAS the head commit. pick 846a9dcfa45959ba38b0ae3b087bcf7939d1b783 Limit initial set of messages to 100. pick 67f4cb70934a9d38dbf995a7259b47b7c91513e0 Fixed getting number of messages on a document from redis. pick f8201b9170a4ee8ad2a3c091e3cff9afc3f2b29c Code cleanup wrt visitor management. pick 3775c529de92fa02d972bbd4990a98af5eb0ad26 Comment pick 4a844abc93346f3b1970bf3e5723904a8624b7a2 Updated profile pack pick 8cf6b8aae07c515bce4e6c262ee05a629b53e0ce Fixed shown number of unread messages. pick 9ef6cc98039cdd3705dab6489fd5b84ccac69afc Updated sCASP pick 6a13fabe0f251ae149c3a10ff644014caebaabb8 ENHANCED: Reduce Redis interaction to maintain the notion of current users. pick 5d20f26d580342856114cf7d6a1c38243a787286 Keep track of active users per cluster member. pick 47d274a33ab603c8cc55d540d16f63e3d9628d32 Fixed user management pick e7e41a95cddea10ec102cde3047c9eb5e8dc70af More reliable save for status to redis pick d6252116ff66b76f63a30c64262907015ef58204 Keep track of cluster peers. pick b870de3822b7bc5d688ae50030a380a7f45fdfcc Keep status updates for each consumer in redis. pick ae8d1f794c06b74cec373ba60705c9eff9efcc20 Avoid rationals for stats aggregation pick f6d78d5bd7f058befad60a8b1a191b19cde46077 Maintain a stats for both local and cluster visitors. pick 01bdb392e8916ff457f7211d6cc429bd05777e3d Provide query access to other cluster members. pick 7d69f594f8c592b1e3e95bb31734e90efc4bae04 Creating a layer around the ajax calls, preparing to be able to dynamically switch the backend server. pick bee40fc1f6d83b6caa6bf4e43363b33ef68a6788 Replaced $.get() with backend.ajax() to arrive at a uniform way for calling the backend. pick fc529cb88f2301c7b160d4632f9ddb1058a07286 Also replace the ajax calls for the CodeMirror mode. pick 97e063de96da579cfd1591ec357cb8956cc2cc02 We must get config from the original backend. pick 57435d446491b1be1d0f52db99d137621e6d9cba Provide /backends endpoint pick fa80f46876fe7e182184134314ce2a2e729b0c72 Added "Backends" menu entry when running as a cluster pick abdfd524f56ac95709ae6595eb98d8c3a18d855d Work on Backends menu pick 882023f7c7d68f6c158b7a7072179688407272e3 Allow cross-origin calls for the backend (partial) pick 90505e332f0e34943edf0b72c5346616d34ab3e3 Actually allow changing the backend (not working yet) pick 50b3e4a22f991b1072acfba9febc4529352e8e2e Support preflight options request for highlighting requests pick 06e1dc58cea8f609d0a0a196c66479d5175ac576 Support pre-flight requests for storage operations pick e3af65a4d8fe814f42c6171e21112223b5833626 Use the Pengine API of the current backend. pick 935f05f98edd4fa7d5c021fef87900ae49af7d1f Pre-flight for websockets? pick 44fc8cf2dc12d6155b9c277eff3fea71671761f4 CORS fix pick 34e69c80462d5a6c8f79eed7b10a97d06fbd3916 Delete backends menu after selecting one pick 79754d6bbda7f2a8d64bbdc08ea0a5caf60ff231 Speedup subscription(+,+,+) for Redis pick 0c6b21b66127d6534e12c5374a2d7be5f12d552f Better ordering pick 386ac41ad27cf7b902a6f9924608b55df50f1679 Avoid verifying the head when searching. We know we have the right hash. pick 8c3bce9e62f444711f3f3e8cdac0e0f2b2915826 Fixed inform_visitor_change/2 for timed out sessions. pick 3279e662ffa0601674b541c905ff3f28c05866c3 Use uglifyjs to compress and mangle the output of r.js. This allows using ES6 code in our code base. Using ES6 modules is probably hard as we still have many dependencies that assume AMD modules. pick a4272e6d6ef3186971cb88f2c8e25d76e4244954 Add uglify-js to package.json pick 7c7613bb825e589fc241342c085483f44d42f373 Add `--source-map` and (for now) delete `-m`. Not sure whether mangling is safe. Increases size from 370Kb to 404Kb. pick 76ccea0ddc93d2a822d660cfd8cd62bb88b909db Add debug info for spurious failures in chat handling. pick a0819fccc074001bc214ae2d05d0b3afd66ba0a6 Better debugging pick 6025a30b3fabd2956680ba67197f636783390ea1 Avoid failure to send messages because the websocket it already dropped. pick f516f7a11519a98c9b561ded7ec82eaf0b5ce2d7 FIXED: Highlight declaration errors, e.g. `:- dynamic p.` pick 8e096f022052fb06e94c5a4fab529cf8d7f0df97 Avoid HEAD lookup when looping to stored content. pick 05ff56be211396216aa61786c842a4ec8afe15cb Added some more debugging. pick b19967d5cf59dd9aa398c6ed779425abceab5b1c FIXED: Possible instantiation error when a user disappears. pick f9a1e429aca26f02478e9bc6b7682c22c1c2392b Transactions seem to deadlock. Will examine more closely. pick ff2d8f384014b2fb0289b8eb0fa449275c540ea7 Protect the swish_stats thread against overflows. pick f413d8d9ac1c134d85f319be90edb0da6903b616 Re-inserted transaction/1 call after fixing deadlock in Prolog. # Rebase 017a0d14..f413d8d9 onto 017a0d14 (108 commands) # # Commands: # p, pick = use commit # r, reword = use commit, but edit the commit message # e, edit = use commit, but stop for amending # s, squash = use commit, but meld into previous commit # f, fixup [-C | -c] = like "squash" but keep only the previous # commit's log message, unless -C is used, in which case # keep only this commit's message; -c is same as -C but # opens the editor # x, exec = run command (the rest of the line) using shell # b, break = stop here (continue rebase later with 'git rebase --continue') # d, drop = remove commit # l, label