summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2008-09-15make NoticeWrapper extend Notice so methods workEvan Prodromou
darcs-hash:20080915073006-84dde-8ea7daa73743647711a8c1d7389894b25f2b077d.gz
2008-09-15another attribute errorEvan Prodromou
darcs-hash:20080915072738-84dde-377131613c91dcb353bc6aaf55bae8ce1b7f13e5.gz
2008-09-15misused instance attribute in noticewrapperEvan Prodromou
darcs-hash:20080915072553-84dde-6de01a486dfcf3440643584d1f698fe1b188f351.gz
2008-09-15subscriptions clear user with-friends cache, tooEvan Prodromou
darcs-hash:20080915071500-84dde-765c8c289d5cf7f71c2a49967bde4ecda28d9ea8.gz
2008-09-15array_count -> countEvan Prodromou
darcs-hash:20080915070951-84dde-be26f8844c884b0210cfd6165fd3403ce760195e.gz
2008-09-15cache noticesWithFriends in memcachedEvan Prodromou
noticesWithFriends is turning out to be one of our most expensive queries. The join is costly, and this method is hit over and over and over by desktop clients and other API users. So, I've added a first pass at caching the results. I store a "window" of notices -- equal to the first 3 pages of notices, plus one for pagination -- in the memcached cache. If with-friends notices are requests, I fetch the whole window out of the cache and grab the slice requested. If the requested notices are outside the window, we just do the query. If there's nothing in the cache, we request the window and store it, then return a slice. I had to add a NoticeWrapper class that works like DB_DataObject (well, just the fetch() part...) but just holds an array of notices instead of a DB cursor. Finally, saving a new notice blows away the caches for subscribed users. darcs-hash:20080915065616-84dde-1b1e814c2294498a10b763b779cbb62c3f96aa84.gz
2008-09-13LOG_ERROR -> LOG_ERREvan Prodromou
darcs-hash:20080913161107-84dde-30b694455d509a7ec2d12e8418f54ce695aa0993.gz
2008-09-11reverse order of queries for galleriesEvan Prodromou
darcs-hash:20080911144742-84dde-235a1af2d958500b1f1c503f21785284ca4b5c8a.gz
2008-09-08error checking in subscriptionsEvan Prodromou
darcs-hash:20080908201020-84dde-233d38e3cb65f1778a34456193cd3f013e8d94a8.gz
2008-09-07remove some debugging code from omb.phpEvan Prodromou
darcs-hash:20080907200344-84dde-3cc68af343e2da1ae852df07bdc1738865c122f0.gz
2008-09-07lots of debugging code in OMB sendEvan Prodromou
darcs-hash:20080907195242-84dde-b2adc3cd10cfe516c4635d26830ed43b8151d6f0.gz
2008-09-07debugging for ombEvan Prodromou
darcs-hash:20080907193402-84dde-cc5ecd5d02a00e3dfb7523f93d7f0a9ddbe6fb1b.gz
2008-09-05free memory in SMS daemon, tooEvan Prodromou
darcs-hash:20080906015621-84dde-ae1a53e6757a743f82f3078947212b7bbe984dde.gz
2008-09-05free and unset DB_DataObjects after we're done with themEvan Prodromou
darcs-hash:20080906015501-84dde-e787962b9805759224389dd42a211dfa21da3473.gz
2008-09-04change sms broadcast to use a joinEvan Prodromou
darcs-hash:20080905022019-84dde-d53b1dda2cd0ec996b8dda99a00d01e6da000d3f.gz
2008-09-04use a join for omb broadcastEvan Prodromou
darcs-hash:20080905004701-84dde-c8b27c6b3b4ad634cd954ec51d45a92d2ad32389.gz
2008-09-04better @ linksEvan Prodromou
darcs-hash:20080904224129-84dde-6844b29ab1818954aacaf6d9ef11371dbb11812a.gz
2008-09-04add some processTime() to the send loops to avoid filling the bufferEvan Prodromou
darcs-hash:20080904213257-84dde-c046a708c6ac9f8f7ed2135f29241d70abe4104f.gz
2008-09-04abstract XMPP-related queue handling to a common superclassEvan Prodromou
darcs-hash:20080904194035-84dde-480b3605862d26eff6a2cac6eec02775628287e4.gz
2008-09-04add newline at the end of pidfileEvan Prodromou
darcs-hash:20080904191517-84dde-7bc5b62f26d10c7e865b483df90356a5eaea0205.gz
2008-09-04more robust code for setting daemon uid/gidEvan Prodromou
darcs-hash:20080904191031-84dde-bb457c429c76eedb9bd4ea838b7ccad28844effd.gz
2008-09-04add .pid to pidfile namesEvan Prodromou
darcs-hash:20080904190254-84dde-57d24d7a82e4c7eabef87d60ebb69292832e31ac.gz
2008-09-04scripts daemonize themselvesEvan Prodromou
darcs-hash:20080904184031-84dde-eba2061f3aa898d0c791ffeb70837f759778c567.gz
2008-09-04Resolve remote subscribe and omb problems with quotes (Tickets #604 and #567)CiaranG
darcs-hash:20080904065504-f6e2c-f0c770f52624e7151a93f2ed2b8813657ca88c14.gz
2008-08-31Elide_TagsGarret Buell
Make "#sanfrancisco", "#SanFrancisco", "#san_francisco", "#San.Francisco", and "#SAN-FRANCISCO" all link to http://identi.ca/tag/sanfrancisco but preserve appearance darcs-hash:20080901025932-e3c0d-c0a939eaf7e242d88cbcb0d651c9d53718c60a9d.gz
2008-08-31Allow_multicase_tagsGarret Buell
Make "#test", "#Test", and "#tEsT" all preserve appearance but link to the same tag darcs-hash:20080901001241-e3c0d-b466f35f4f023c6c90a6d2817487c97be9a1bbca.gz
2008-08-31Tags_without_fancyGarret Buell
Change common_tag_link to format the tag link based on the setting of $config['site']['fancy'] darcs-hash:20080831233401-e3c0d-4e0e43f5a53a6659c49d65a2b1f2a47c5cdec228.gz
2008-08-26try to make the reply button do the right thing if there's no notification box.Evan Prodromou
darcs-hash:20080827015010-84dde-d5ed6a0a290273e400b71e4623a54ac88ee29173.gz
2008-08-30switch around how XMLStream does processingEvan Prodromou
darcs-hash:20080831003210-84dde-92ccffd5b2e1d50963b18babd93c70fb1d20cdba.gz
2008-09-01restore HTML in output, remove rump pubsub event codeEvan Prodromou
darcs-hash:20080902030403-84dde-5f1576104104ea57d3e23401b59493c03d5a84d4.gz
2008-09-01slightly more robust connection codeEvan Prodromou
darcs-hash:20080902030331-84dde-bb2db886d90623785f930bb7c5c3c406d407f808.gz
2008-09-01separate out presence from connection, send different presence types from ↵Evan Prodromou
queuehandlers darcs-hash:20080902012604-84dde-073a583da9b09c80e5e9a47a5eddd144fad8e87a.gz
2008-08-31halt sending HTML in JabberEvan Prodromou
darcs-hash:20080831114642-84dde-c1e486fe03752882e212bd6e3930477042f993be.gz
2008-08-30forgot to use the array for avoiding dupesEvan Prodromou
darcs-hash:20080830094252-84dde-bf6c17d7036c84bfeaf41d2fc704cc8656a083c1.gz
2008-08-30use priority in connectionEvan Prodromou
darcs-hash:20080830091522-84dde-75121e8794f2a43b8a4c5bff7ec42cac40d5520c.gz
2008-08-30get rid of Laconica_XMPP and ignore priorityEvan Prodromou
darcs-hash:20080830084423-84dde-7749d00c4c2fcada9e0f30af044637c48c0512c3.gz
2008-08-30some fixes from on the jabber serverevan
darcs-hash:20080830083502-5b646-d6a66157d86ca84cfa6cf6280bb2eb17bc20e02d.gz
2008-08-30forgot to get the profile in public queue handlerEvan Prodromou
darcs-hash:20080830071232-84dde-90bad1be7a7e141927175e42d39cb21d7bba337e.gz
2008-08-30less sleeping, slightlyEvan Prodromou
darcs-hash:20080830064431-84dde-42629109de11f65da9d876aee168abdf7c4ced3d.gz
2008-08-30use common log in error handler rather than echoEvan Prodromou
darcs-hash:20080830053052-84dde-279d1c52e9b8696079ba686009ce2d71725a690e.gz
2008-08-29lost $sent_to in jabber_public_noticeEvan Prodromou
darcs-hash:20080829200859-84dde-d1c4c5897096a06dec8be14e81499d70a79c78d2.gz
2008-08-29many jabber queue management changesEvan Prodromou
Added a method to QueueManager to let subclasses do stuff when idle. Needed so that XMPP queue manager can service its message queue. Cleaned up jabber_broadcast_message quite a bit. Use custom joins instead of loop-and-query, should fix some problems with users who are getting messages even after turning off notification. Only build $msg and $entry once, and use the XMPPHP function for messages with a payload, rather than rolling our own. darcs-hash:20080829200352-84dde-427e4ca8c81d4222a36f78e7c580b611ff0bf765.gz
2008-08-29split public stream to its own queue handlerEvan Prodromou
Add another queue handler for the public stream. Should further parallelize the work of sending out messages. darcs-hash:20080829181702-84dde-594505aa73d2380b13bd98917b70b02bac597d12.gz
2008-08-29harmonize csrf and queuesEvan Prodromou
darcs-hash:20080829174012-84dde-4859ce0a34a50080f8376fa3278c3aa3e3a3046d.gz
2008-08-27misprint of omb as omsEvan Prodromou
darcs-hash:20080828012619-84dde-f7e993f345220d3642743e9f2567d7f8e6e4b6ce.gz
2008-08-27don't clear claims immediatelyEvan Prodromou
darcs-hash:20080828002610-84dde-d9cb46cb08ac50b8efbdf5683baeb2de168fc4b1.gz
2008-08-27correct presence in jabber functionEvan Prodromou
darcs-hash:20080828001936-84dde-e4ec2fef30c49d1254d5358624a4391930811832.gz
2008-08-27change return in queue functionEvan Prodromou
darcs-hash:20080828001414-d018c-fa900f60f0af20c01e8b83a74834ddf46829f4b2.gz
2008-08-27got two lines reversedEvan Prodromou
darcs-hash:20080827211940-84dde-d5b404023a2fb6b74b6255dd91910c9ec7df3cc6.gz
2008-08-27break up monolithic xmppdaemon into multiple queue handlersEvan Prodromou
Eventually, the poor xmppdaemon has become overloaded with extra tasks. So, I've broken it up. Now, we have 5 background scripts, and more coming: * xmppdaemon.php - handles incoming XMPP messages only. * xmppqueuehandler.php - sends notices from the queue out through XMPP. * smsqueuehandler.php - sends notices from the queue out over SMS * ombqueuehandler.php - sends notices from the queue out over OMB * xmppconfirmhandler.php - sends confirmation requests out over XMPP. This is in addition to maildaemon.php, which takes incoming messages. None of these are "true" daemons -- they don't daemonize themselves automatically. Use nohup or another tool to background them. monit can also be useful to keep them running. At some point, these might become fork()'ing daemons, able to handle more than one notice at a time. For now, I'm just running multiple instances, hoping they don't interfere. darcs-hash:20080827205407-84dde-97884a12f5f4e54c93bc785bd280683d1ee7e749.gz