Commit Graph

309 Commits

Author SHA1 Message Date
Evan Prodromou
f246b8f2d7 cache noticesWithFriends in memcached
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-15 02:56:16 -04:00
Evan Prodromou
f72b12c7b8 better @ links
darcs-hash:20080904224129-84dde-6844b29ab1818954aacaf6d9ef11371dbb11812a.gz
2008-09-04 18:41:29 -04:00
CiaranG
fff677e6c4 Resolve remote subscribe and omb problems with quotes (Tickets #604 and #567)
darcs-hash:20080904065504-f6e2c-f0c770f52624e7151a93f2ed2b8813657ca88c14.gz
2008-09-04 02:55:04 -04:00
Garret Buell
51caab6e5e Elide_Tags
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-31 22:59:32 -04:00
Garret Buell
cca78b26f7 Allow_multicase_tags
Make "#test", "#Test", and "#tEsT" all preserve appearance but link to the same tag

darcs-hash:20080901001241-e3c0d-b466f35f4f023c6c90a6d2817487c97be9a1bbca.gz
2008-08-31 20:12:41 -04:00
Garret Buell
e333345722 Tags_without_fancy
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-31 19:34:01 -04:00
Evan Prodromou
439c14d986 use common log in error handler rather than echo
darcs-hash:20080830053052-84dde-279d1c52e9b8696079ba686009ce2d71725a690e.gz
2008-08-30 01:30:52 -04:00
Evan Prodromou
c4d6789275 split public stream to its own queue handler
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-29 14:17:02 -04:00
Evan Prodromou
f652418863 harmonize csrf and queues
darcs-hash:20080829174012-84dde-4859ce0a34a50080f8376fa3278c3aa3e3a3046d.gz
2008-08-29 13:40:12 -04:00
Evan Prodromou
241881238c misprint of omb as oms
darcs-hash:20080828012619-84dde-f7e993f345220d3642743e9f2567d7f8e6e4b6ce.gz
2008-08-27 21:26:19 -04:00
Evan Prodromou
7887147603 change return in queue function
darcs-hash:20080828001414-d018c-fa900f60f0af20c01e8b83a74834ddf46829f4b2.gz
2008-08-27 20:14:14 -04:00
Evan Prodromou
cd5dc3246e got two lines reversed
darcs-hash:20080827211940-84dde-d5b404023a2fb6b74b6255dd91910c9ec7df3cc6.gz
2008-08-27 17:19:40 -04:00
Evan Prodromou
b9f0ea6f0e break up monolithic xmppdaemon into multiple queue handlers
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
2008-08-27 16:54:07 -04:00
Evan Prodromou
1df845db78 fix random function name
darcs-hash:20080829021854-84dde-818492a31c07dd0921c2a693095ca7ac901b6d35.gz
2008-08-28 22:18:54 -04:00
Evan Prodromou
54bee1b999 code for session token
darcs-hash:20080829015304-84dde-1c93203bdfbd4c1696cdd3c07212ff16a9f727dd.gz
2008-08-28 21:53:04 -04:00
Evan Prodromou
cf3902d8ac get language before setting it.
darcs-hash:20080828005323-84dde-8f69e1e6115faa544c22436539148dac53ed6f65.gz
2008-08-27 20:53:23 -04:00
Evan Prodromou
4cc84c3225 never allow blank passwords
darcs-hash:20080825185245-84dde-f2ad86c1aedc2a42f7b468775234be53a7e84d5b.gz
2008-08-25 14:52:45 -04:00
Evan Prodromou
cba4b50e44 use common_sql_now() instead of DB_DataObject_Cast
darcs-hash:20080825182338-84dde-ec0edef9469b294b7e23945f1bc7d810da988ed7.gz
2008-08-25 14:23:38 -04:00
Evan Prodromou
e8e91dc29d use UTF-8 as the internal encoding
darcs-hash:20080817153024-84dde-ca566d665fff08d52f1f9796e2731417585d4c6f.gz
2008-08-17 11:30:24 -04:00
Evan Prodromou
2c3ed64027 LOG_ERROR -> LOG_ERR (again)
darcs-hash:20080807234227-84dde-a64619c71de020aa2284ca1a36ea2a71ff8b29a6.gz
2008-08-07 19:42:27 -04:00
Evan Prodromou
80aa8b83db fix config global
darcs-hash:20080806122119-84dde-41fb0645db58ac5ce74b485c8cb68f7275e74915.gz
2008-08-06 08:21:19 -04:00
Evan Prodromou
0d58d4216b fixup locale stuff from mikenz
darcs-hash:20080806040433-84dde-a504751a8a0329a37d866e68a9ecda6a5d629c55.gz
2008-08-06 00:04:33 -04:00
mikec
369354505f Set the C locate to avoid tr_TR php bug see http://www.topolis.lt/php/#35050
darcs-hash:20080804133727-edabd-4bd34431d0ab8519ec512b59be354720925da9a0.gz
2008-08-04 09:37:27 -04:00
Evan Prodromou
4c8dfadf2d make init of lang environment happen earlier, or when user language may have changed
darcs-hash:20080806034515-84dde-e32cbfec2890f50b610d0441659180038b060473.gz
2008-08-05 23:45:15 -04:00
Evan Prodromou
b1f28f4457 try to slim down the top menu so it all fits
darcs-hash:20080731020933-84dde-80d7abb2d681a9f748b16f6245d33396e1f899b2.gz
2008-07-30 22:09:33 -04:00
Evan Prodromou
f2ae665e13 let @rejon do the homework http://ur1.ca/17c
darcs-hash:20080731020433-84dde-641127c2de488087c1525fc773d544ba5b136550.gz
2008-07-30 22:04:33 -04:00
Mike Cochrane
9d89e7b4ac Update some gettext strings and number the arguements so life is easier for translators
darcs-hash:20080729080641-533db-560337e226a02dd6fc671f090883d4bedd50eaaa.gz
2008-07-29 04:06:41 -04:00
Evan Prodromou
353aa5a0d8 move the language info, fix dir for locales
darcs-hash:20080730035446-84dde-8ce202ea6956bb49e1be98307136fc299862ab9b.gz
2008-07-29 23:54:46 -04:00
Evan Prodromou
4577182d2c rel
darcs-hash:20080729182558-84dde-3f3eab4da119cf57fb55896b114146fd72007824.gz
2008-07-29 14:25:58 -04:00
Evan Prodromou
7e8a58923f change 'deletenotice' to 'notice/delete'
darcs-hash:20080726034209-84dde-02b25960aeb361319f8037b17aed6290d477cf7b.gz
2008-07-25 23:42:09 -04:00
Evan Prodromou
b5bd567668 Queue_item correct name in dequeue function
darcs-hash:20080726033958-84dde-09d117b3e5bb997ddfd6548806ce7a51a38434e7.gz
2008-07-25 23:39:58 -04:00
Mike Cochrane
dd3ae36084 Cache the DateTimeZon objects
darcs-hash:20080724234619-533db-015a2751ade3b5b8befb8a735fe89acd4742c4b9.gz
2008-07-24 19:46:19 -04:00
Mike Cochrane
22c51b27ef No errors if it's not set
darcs-hash:20080722082840-533db-6df7b1fe05bbcaef6862d3e9b5ee3bcd277523e7.gz
2008-07-22 04:28:40 -04:00
Mike Cochrane
334b840c3e Only Set reply details if there is something to reply to
darcs-hash:20080722082724-533db-ead12f037aa716dc548d6a4b04493ada5049ec96.gz
2008-07-22 04:27:24 -04:00
matthew.gregg
ed37d83fa3 Opensearch updates
This adds htaccess and searches for people and notices.

darcs-hash:20080720195505-982e4-3f03e6ab4c466ae131e025b6a3c26c7bb9a99c03.gz
2008-07-20 15:55:05 -04:00
Mike Cochrane
88717d8805 User definable timezones. Work in UTC internally and display per user/site default. http://laconi.ca/PITS/00011
darcs-hash:20080720141325-533db-87cb60501434c9dc0ac13716ba5d8b17754431f5.gz
2008-07-20 10:13:25 -04:00
Mike Cochrane
de81e92f0b Strip characters that shouldn't be in xml. Fixes http://laconi.ca/PITS/00253 for future messages, or all after a regeneration of rendered messages
darcs-hash:20080720122832-533db-7fda43b257160b90788f0d860d50df995d463ee8.gz
2008-07-20 08:28:32 -04:00
Mike Cochrane
bd0b6970ae Fix undefined variable error
darcs-hash:20080720100024-533db-d2b5b63f169b6e16e08e81c8da63b7f9f69e7521.gz
2008-07-20 06:00:24 -04:00
Mike Cochrane
92e90ee636 Notice error
darcs-hash:20080720094917-533db-386e12dbeabcfb9bc74cdce11e6bc197964929b7.gz
2008-07-20 05:49:17 -04:00
matthew.gregg
e20362a60a Adds Opensearch description
darcs-hash:20080720015823-982e4-b33e1ef01cd071e958c9c51625190513b86594f3.gz
2008-07-19 21:58:23 -04:00
matthew.gregg
6dd211530f Patch for PITS 00032, 00033, 00034
darcs-hash:20080719003417-982e4-7004f8a4dfb447f941457c30b0b2289eee5582e6.gz
2008-07-18 20:34:17 -04:00
matthew.gregg
faa3933fbb Added notice deletion http://laconi.ca/PITS/00045
Removes selected notice and any replies that reference it.
Attempts to de-queue anything pending.

This patch does not archive notices.

darcs-hash:20080716032045-982e4-a0b5d37ecfa84796f1681dda54110094ad1424c6.gz
2008-07-15 23:20:45 -04:00
Mike Cochrane
5d84485001 First cut at hastags support.
darcs-hash:20080720055702-533db-193ed842b0d0a952bef71a3c5287213ada0ef15c.gz
2008-07-20 01:57:02 -04:00
Mike Cochrane
e4f1d6f504 More notice errors and fix and incorrect variable name
darcs-hash:20080720055558-533db-781488916e178921f1bcd6ea141df10c1a0ace55.gz
2008-07-20 01:55:58 -04:00
Evan Prodromou
e0e5013a32 don't show register link if the site is closed
darcs-hash:20080724235804-84dde-daf159e938289ad2d593d3825ce845bcbecac053.gz
2008-07-24 19:58:04 -04:00
Evan Prodromou
905ba4998b fix content check so it shows zeros
darcs-hash:20080722163618-84dde-5a519a92a84bb94de225fbb3da61af51cfdfdef4.gz
2008-07-22 12:36:18 -04:00
zach
140689800b Twitter-compatible API - Error handling that better matches Twitter's
darcs-hash:20080720070905-ca946-dda57dd92210461361fd58b7a3244bf24c01e801.gz
2008-07-20 03:09:05 -04:00
Evan Prodromou
0876b60006 rewrite for settings of sms
darcs-hash:20080721083758-84dde-76534893df215e9754c00c1e0a6d6351f64f1818.gz
2008-07-21 04:37:58 -04:00
Evan Prodromou
3372a98f8e add sms broadcast to broadcasting
darcs-hash:20080720195549-84dde-4193f27f8efda497fbe55f1c514fe30e4dd8a69d.gz
2008-07-20 15:55:49 -04:00
Evan Prodromou
5fd0a788d5 start sms settings
darcs-hash:20080720193005-84dde-97e098996309550dc98b658923d84620e7715c69.gz
2008-07-20 15:30:05 -04:00