Age | Commit message (Collapse) | Author |
|
darcs-hash:20080909072224-f6e2c-881bd2e7fb032f336fecae9ca5ce527dd821d3dc.gz
|
|
darcs-hash:20080916210813-84dde-c2cadb63b09f59ac6c76dc1205a56687de9483ce.gz
|
|
to Twitter
darcs-hash:20080907062118-7b5ce-b4412446bbf245b1d14a78b01ecde0f71f621185.gz
|
|
subscribe/unsubcribe logic broken out into standalone module for sharing
darcs-hash:20080816083422-f6e2c-fb8b4e0581719bd8c3f433e661ec9742e1b84cbc.gz
|
|
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
|
|
darcs-hash:20080904184031-84dde-eba2061f3aa898d0c791ffeb70837f759778c567.gz
|
|
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
|
|
darcs-hash:20080822191032-f6e2c-a3a7efbbaad1ec7c48ef132a8ba34fc8b8651969.gz
|
|
darcs-hash:20080822210654-84dde-68595effcfc11d5e4497c72b189b5f046a8b3ca6.gz
|
|
darcs-hash:20080822210307-84dde-c90f6e7953d11c5b12c7a084ac23e5578412932c.gz
|
|
darcs-hash:20080822131714-84dde-6978424ded2ed1041a65142a25560654ac717fcd.gz
|
|
darcs-hash:20080813195408-84dde-a1de441ce50759f50b2c88b45d626dc4e0892d31.gz
|
|
darcs-hash:20080811175820-84dde-f3d934495fa90fadde5f7d5d0c37c5f2a575a9d8.gz
|
|
darcs-hash:20080731050632-34904-db9fc10c55321b81a33732a2062bf72914927cec.gz
|
|
darcs-hash:20080730035446-84dde-8ce202ea6956bb49e1be98307136fc299862ab9b.gz
|
|
darcs-hash:20080729025156-84dde-f3d9d26db3a500ff04f3a4ce3a3ff1846b6eca08.gz
|
|
darcs-hash:20080724234701-533db-ceab005e4c418a62d49af04e7835e963b67b03e0.gz
|
|
darcs-hash:20080721135637-edabd-cca33bc0a0936423b9fd2ffdf9413236123d680e.gz
|
|
default. http://laconi.ca/PITS/00011
darcs-hash:20080720141325-533db-87cb60501434c9dc0ac13716ba5d8b17754431f5.gz
|
|
darcs-hash:20080719003417-982e4-7004f8a4dfb447f941457c30b0b2289eee5582e6.gz
|
|
darcs-hash:20080720055702-533db-193ed842b0d0a952bef71a3c5287213ada0ef15c.gz
|
|
darcs-hash:20080724235508-84dde-8bac4d9dd772adb9f27d083b3d0b6ed5b7526dbf.gz
|
|
darcs-hash:20080724205456-84dde-855e907d68c9548e99efe1068b5a53733e5555bf.gz
|
|
darcs-hash:20080722160213-84dde-2e466b9cc4601a8cb7237770a7df17a2f9dcadb9.gz
|
|
darcs-hash:20080720193228-84dde-00e82ee00a1c94f6adb079ea3ac6affa5aad280c.gz
|
|
darcs-hash:20080718164317-34904-693c42830fa5682f49ac2213b31153172815b9a5.gz
|
|
darcs-hash:20080717163613-84dde-2684415a03d1a2754e148e4921ce39ad075bbc5b.gz
|
|
darcs-hash:20080717134331-84dde-b63c9b7e318d74e2cfea14cc962ec2d519f20d43.gz
|
|
darcs-hash:20080716210949-84dde-b12d95acdf6f15887fe83fea8f968c972b862be5.gz
|
|
darcs-hash:20080716205947-84dde-fa57c8fc140cc479e14b50479df13447abaef31b.gz
|
|
darcs-hash:20080716205541-84dde-1c98befb2d53613fe1b161d479b8f91adbfb7f6c.gz
|
|
darcs-hash:20080716205359-84dde-590916f8812c7c03a2b81b3e7aeb021194ac0f25.gz
|
|
darcs-hash:20080716055326-5a68a-368860d9a9dfd071e7855c3d05a24b7004f59912.gz
|
|
darcs-hash:20080714140209-d018c-02b3372603f4a012c230f0fffb6e7f29e43e013a.gz
|
|
darcs-hash:20080712151521-84dde-a81c53bacbe15e77b70fc460ad9143e7e4f8402c.gz
|
|
darcs-hash:20080710042324-84dde-9d26f10470fa0e9614717c2f2b976d6d9e6f4361.gz
|
|
darcs-hash:20080707032348-84dde-e217ed87ae6947d6fdda64dc105ac4a433c7793a.gz
|
|
darcs-hash:20080704052240-34904-c6458bbd6842cd8a86929bba60fb0d4408b56345.gz
|
|
darcs-hash:20080704050425-84dde-d0106845c7b16b80be8e0d5ee9ac93a457334df7.gz
|
|
darcs-hash:20080702183839-34904-540719c718ab29fc4d808e0d8b1b65b53c2f3b0b.gz
|
|
Update the version number.
darcs-hash:20080701185305-34904-482a2392e60f26ca80147798cb39d955414050cb.gz
|
|
darcs-hash:20080701175611-84dde-59873964e036f3c9bc225ea8272e840535ea7643.gz
|
|
darcs-hash:20080630170545-84dde-7bd95c43f3943e9cc5bf9ec6f57da0ff12204601.gz
|
|
darcs-hash:20080626205409-34904-62ff39380f8fc22085825d0cee5fe8cf356459e5.gz
|
|
darcs-hash:20080626075920-34904-0aad06d788f8dbf3a03d17752ba49d866322594e.gz
|
|
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
|
|
darcs-hash:20080623022710-84dde-bf3d3e3ce87957b9a91d38c16cf834d07b9933ea.gz
|
|
darcs-hash:20080622180437-34904-4b6313f6fd8845232031663c5c2df00dff725183.gz
|
|
darcs-hash:20080622172354-34904-6d09d8e6cceafb348b88528fe15e907bf1244347.gz
|
|
darcs-hash:20080622155454-34904-2598501f3d1788eb1ead9252e5925637e721a525.gz
|