Commit Graph

96 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 aed0fff4ea scripts daemonize themselves
darcs-hash:20080904184031-84dde-eba2061f3aa898d0c791ffeb70837f759778c567.gz
2008-09-04 14:40:31 -04:00
Evan Prodromou 782fe0130f optionally turn encryption on or off in the XMPP connection
For identi.ca, we had some problems with the XMPP daemon getting
"stuck" in I/O through the encrypted (by default) XMPP socket. Turning
off encryption helped. So, now it's an option.

darcs-hash:20080826131814-84dde-2c4a809c6fb666dfb4b96d0d61205fe418f4e4b4.gz
2008-08-26 09:18:14 -04:00
CiaranG 92645bbc57 XMPP sub/unsub and help commands
darcs-hash:20080822191032-f6e2c-a3a7efbbaad1ec7c48ef132a8ba34fc8b8651969.gz
2008-08-22 15:10:32 -04:00
Evan Prodromou 97341a4c94 fix include path bug
darcs-hash:20080822210654-84dde-68595effcfc11d5e4497c72b189b5f046a8b3ca6.gz
2008-08-22 17:06:54 -04:00
Evan Prodromou a91cd75c17 local-only is optional on public timeline
darcs-hash:20080822210307-84dde-c90f6e7953d11c5b12c7a084ac23e5578412932c.gz
2008-08-22 17:03:07 -04:00
Evan Prodromou 14c9366aac include external libs in a subdir to make install easier
darcs-hash:20080822131714-84dde-6978424ded2ed1041a65142a25560654ac717fcd.gz
2008-08-22 09:17:14 -04:00
Evan Prodromou 5923f958c9 auto-load OAuthRequest
darcs-hash:20080813195408-84dde-a1de441ce50759f50b2c88b45d626dc4e0892d31.gz
2008-08-13 15:54:08 -04:00
Evan Prodromou 37c5e8ca3c make tag dropoff configurable
darcs-hash:20080811175820-84dde-f3d934495fa90fadde5f7d5d0c37c5f2a575a9d8.gz
2008-08-11 13:58:20 -04:00
Evan Prodromou d2807d966e version upgrade
darcs-hash:20080731050632-34904-db9fc10c55321b81a33732a2062bf72914927cec.gz
2008-07-31 01:06:32 -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 984b9b6b42 require validation code
darcs-hash:20080729025156-84dde-f3d9d26db3a500ff04f3a4ce3a3ff1846b6eca08.gz
2008-07-28 22:51:56 -04:00
Mike Cochrane 341563d6cd Auto/Lazy load the class files
darcs-hash:20080724234701-533db-ceab005e4c418a62d49af04e7835e963b67b03e0.gz
2008-07-24 19:47:01 -04:00
mikec a4fa34cecb Resolve conflicts after pull from evan
darcs-hash:20080721135637-edabd-cca33bc0a0936423b9fd2ffdf9413236123d680e.gz
2008-07-21 09:56:37 -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
matthew.gregg 6dd211530f Patch for PITS 00032, 00033, 00034
darcs-hash:20080719003417-982e4-7004f8a4dfb447f941457c30b0b2289eee5582e6.gz
2008-07-18 20:34:17 -04:00
Mike Cochrane 5d84485001 First cut at hastags support.
darcs-hash:20080720055702-533db-193ed842b0d0a952bef71a3c5287213ada0ef15c.gz
2008-07-20 01:57:02 -04:00
Evan Prodromou e97c06e8e2 let admins prevent registration
darcs-hash:20080724235508-84dde-8bac4d9dd772adb9f27d083b3d0b6ed5b7526dbf.gz
2008-07-24 19:55:08 -04:00
Evan Prodromou 60ba63b04e default for mirror in DB
darcs-hash:20080724205456-84dde-855e907d68c9548e99efe1068b5a53733e5555bf.gz
2008-07-24 16:54:56 -04:00
Evan Prodromou 64ed01f0af centralize and optimize with-friends query
darcs-hash:20080722160213-84dde-2e466b9cc4601a8cb7237770a7df17a2f9dcadb9.gz
2008-07-22 12:02:13 -04:00
Evan Prodromou 3642967315 require sms carrier
darcs-hash:20080720193228-84dde-00e82ee00a1c94f6adb079ea3ac6affa5aad280c.gz
2008-07-20 15:32:28 -04:00
Evan Prodromou f50bc70445 increment software version
darcs-hash:20080718164317-34904-693c42830fa5682f49ac2213b31153172815b9a5.gz
2008-07-18 12:43:17 -04:00
Evan Prodromou 3ea1119e50 define syslog variables in common.php
darcs-hash:20080717163613-84dde-2684415a03d1a2754e148e4921ce39ad075bbc5b.gz
2008-07-17 12:36:13 -04:00
Evan Prodromou 753a03d895 public indexers in config file
darcs-hash:20080717134331-84dde-b63c9b7e318d74e2cfea14cc962ec2d519f20d43.gz
2008-07-17 09:43:31 -04:00
Evan Prodromou d9b164b3bd default timezone
darcs-hash:20080716210949-84dde-b12d95acdf6f15887fe83fea8f968c972b862be5.gz
2008-07-16 17:09:49 -04:00
Evan Prodromou 4798cd3126 theme server support
darcs-hash:20080716205947-84dde-fa57c8fc140cc479e14b50479df13447abaef31b.gz
2008-07-16 16:59:47 -04:00
Evan Prodromou 0b1528382b default value for avatar server
darcs-hash:20080716205541-84dde-1c98befb2d53613fe1b161d479b8f91adbfb7f6c.gz
2008-07-16 16:55:41 -04:00
Evan Prodromou 265d267d81 remove tag URI stuff; unused and confusing
darcs-hash:20080716205359-84dde-590916f8812c7c03a2b81b3e7aeb021194ac0f25.gz
2008-07-16 16:53:59 -04:00
Evan Prodromou c265587612 bad default for email on command-line systems
darcs-hash:20080716055326-5a68a-368860d9a9dfd071e7855c3d05a24b7004f59912.gz
2008-07-16 01:53:26 -04:00
Evan Prodromou e81361812f debugging changes on development server
darcs-hash:20080714140209-d018c-02b3372603f4a012c230f0fffb6e7f29e43e013a.gz
2008-07-14 10:02:09 -04:00
Evan Prodromou a25f5010e6 add the logfile entry to common, a little recoding in common_log
darcs-hash:20080712151521-84dde-a81c53bacbe15e77b70fc460ad9143e7e4f8402c.gz
2008-07-12 11:15:21 -04:00
Evan Prodromou 84aee646fa update version number
darcs-hash:20080710042324-84dde-9d26f10470fa0e9614717c2f2b976d6d9e6f4361.gz
2008-07-10 00:23:24 -04:00
Evan Prodromou f6303475aa add replies fancy url and include Reply class
darcs-hash:20080707032348-84dde-e217ed87ae6947d6fdda64dc105ac4a433c7793a.gz
2008-07-06 23:23:48 -04:00
Evan Prodromou 985ba79b4a a couple of things to make queue items work
darcs-hash:20080704052240-34904-c6458bbd6842cd8a86929bba60fb0d4408b56345.gz
2008-07-04 01:22:40 -04:00
Evan Prodromou 73a0271960 enqueue notices for offline broadcast
darcs-hash:20080704050425-84dde-d0106845c7b16b80be8e0d5ee9ac93a457334df7.gz
2008-07-04 01:04:25 -04:00
Evan Prodromou 18849f46e9 bump the version number
darcs-hash:20080702183839-34904-540719c718ab29fc4d808e0d8b1b65b53c2f3b0b.gz
2008-07-02 14:38:39 -04:00
Evan Prodromou c6ddd4268b change version number
Update the version number.

darcs-hash:20080701185305-34904-482a2392e60f26ca80147798cb39d955414050cb.gz
2008-07-01 14:53:05 -04:00
Evan Prodromou f767a8b63b add more contact information
darcs-hash:20080701175611-84dde-59873964e036f3c9bc225ea8272e840535ea7643.gz
2008-07-01 13:56:11 -04:00
Evan Prodromou f874067401 move markdown require to common
darcs-hash:20080630170545-84dde-7bd95c43f3943e9cc5bf9ec6f57da0ff12204601.gz
2008-06-30 13:05:45 -04:00
Evan Prodromou c2d20ccdd8 new version number
darcs-hash:20080626205409-34904-62ff39380f8fc22085825d0cee5fe8cf356459e5.gz
2008-06-26 16:54:09 -04:00
Evan Prodromou 64ba09f9a3 handle host !
darcs-hash:20080626075920-34904-0aad06d788f8dbf3a03d17752ba49d866322594e.gz
2008-06-26 03:59:20 -04:00
Evan Prodromou be3a44651c implement rememberme functionality
Added a checkbox on login or register to remember the current user. If
the login is successful, this sets a cookie with a random code (saved
in the DB). If they come back, and they aren't logged in "normally",
we check to see if they have a rememberme cookie. If so, we log them
in.

However, they can't change settings -- cookie theft is too prevalent.
So we mark a session as having a "real" (password or OpenID) login, or
not. In settings pages, we check to see if the login is "real", and if
not, we redirect to the login page.

darcs-hash:20080624025234-34904-ad20001bf35bf41fcb63a0c357fd929aacc55fdb.gz
2008-06-23 22:52:34 -04:00
Evan Prodromou 7d9372ec50 first pass at a daemon to receive XMPP messages
darcs-hash:20080623022710-84dde-bf3d3e3ce87957b9a91d38c16cf834d07b9933ea.gz
2008-06-22 22:27:10 -04:00
Evan Prodromou d758c11784 disallow nicknames on a blacklist
darcs-hash:20080622180437-34904-4b6313f6fd8845232031663c5c2df00dff725183.gz
2008-06-22 14:04:37 -04:00
Evan Prodromou a554e28e37 version number changed
darcs-hash:20080622172354-34904-6d09d8e6cceafb348b88528fe15e907bf1244347.gz
2008-06-22 13:23:54 -04:00
Evan Prodromou 403039510c require the right class
darcs-hash:20080622155454-34904-2598501f3d1788eb1ead9252e5925637e721a525.gz
2008-06-22 11:54:54 -04:00
Evan Prodromou bf0be3ddb7 confirm email addresses
darcs-hash:20080620051536-5ed1f-231e427832dd20c861eb7a6dc1171315e90f455b.gz
2008-06-20 01:15:36 -04:00
Evan Prodromou d08a2761f2 update version
darcs-hash:20080619150158-5ed1f-e488de5630d8ca131b3ad95c6701bfb3c1e5d569.gz
2008-06-19 11:01:58 -04:00
Evan Prodromou de9cd14a6f default DB driver is DB
darcs-hash:20080619020634-84dde-37a8f87b9f293534ed167e183fa2d08f6714c2ad.gz
2008-06-18 22:06:34 -04:00
Evan Prodromou 024dc6c098 email notification on new subscriptions
darcs-hash:20080615030202-84dde-ebed7919c227ce280dc818f301e15001eb8b5926.gz
2008-06-14 23:02:02 -04:00