diff options
Diffstat (limited to '_darcs/inventories/20080922225224-84dde-625df932503bbcfc34e4eecc6aec09c5a0509315.gz')
-rw-r--r-- | _darcs/inventories/20080922225224-84dde-625df932503bbcfc34e4eecc6aec09c5a0509315.gz | 869 |
1 files changed, 869 insertions, 0 deletions
diff --git a/_darcs/inventories/20080922225224-84dde-625df932503bbcfc34e4eecc6aec09c5a0509315.gz b/_darcs/inventories/20080922225224-84dde-625df932503bbcfc34e4eecc6aec09c5a0509315.gz new file mode 100644 index 000000000..da247966a --- /dev/null +++ b/_darcs/inventories/20080922225224-84dde-625df932503bbcfc34e4eecc6aec09c5a0509315.gz @@ -0,0 +1,869 @@ +Starting with tag: +[TAG 0.5.0 +Evan Prodromou <evan@controlezvous.ca>**20080731050646] +[add edo's tagcloud code +Evan Prodromou <evan@prodromou.name>**20080731132302] +[extend length of source for notices +Evan Prodromou <evan@prodromou.name>**20080731152731] +[added conneg for action/userbyid so that foaf can be delivered to clients that want application/rdf+xml +ehs@pobox.com**20080801164623] +[update .pot from source code +Evan Prodromou <evan@prodromou.name>**20080803232102] +[change no-such-user error to a 404 instead of a 400 +Evan Prodromou <evan@prodromou.name>**20080804132001] +[use an outstanding unconfirmed email address for password recovery if available +Evan Prodromou <evan@prodromou.name>**20080804130914] +[better handling of unconfirmed email addresses +Evan Prodromou <evan@prodromou.name>**20080804133253] +[use noreply address as fallback if no incoming email address exists +Evan Prodromou <evan@prodromou.name>**20080804133933] +[add commands to turn sms notification on and off +Evan Prodromou <evan@prodromou.name>**20080804190749] +[ignore OTR messages over Jabber (I think) +Evan Prodromou <evan@prodromou.name>**20080806002134] +[make init of lang environment happen earlier, or when user language may have changed +Evan Prodromou <evan@prodromou.name>**20080806034515] +[Set the C locate to avoid tr_TR php bug see http://www.topolis.lt/php/#35050 +mikec@mikenz.geek.nz**20080804133727] +[Add other languages to drop down +Mike Cochrane <mikec@mikenz.geek.nz>**20080805020520] +[fixup locale stuff from mikenz +Evan Prodromou <evan@prodromou.name>**20080806040433] +[fix config global +Evan Prodromou <evan@prodromou.name>**20080806122119] +[update French translation with msgmerge +Evan Prodromou <evan@prodromou.name>**20080806161748] +[LOG_ERROR -> LOG_ERR (again) +Evan Prodromou <evan@prodromou.name>**20080807234227] +[emergency fixup for bad notices in notice search +Evan Prodromou <evan@prodromou.name>**20080811175318] +[make tag dropoff configurable +Evan Prodromou <evan@prodromou.name>**20080811175820] +[Twitter-compatible API - /statuses/update.format now decodes HTML chars, such as & +zach@copley.name**20080731224911] +[Twitter-compatible API: filled in the source attr for notices accessed via API +zach@copley.name**20080809001240] +[fix problem with new notices +Evan Prodromou <evan@prodromou.name>**20080811181158] +[correct sitemapindex output +Evan Prodromou <evan@prodromou.name>**20080811200058] +[fix some errors in sitemaps +Evan Prodromou <evan@prodromou.name>**20080812011600 + + Only show notices that don't have a remote URL. That should include + only local notices. + + Also, don't do an avatar sitemap; apparently nobody indexes these + anyways. + +] +[correctly show URL for rare notice without an URI +Evan Prodromou <evan@prodromou.name>**20080812121832] +[get rid of dataobject.ini -- again +Evan Prodromou <evan@prodromou.name>**20080813180239] +[auto-load OAuthRequest +Evan Prodromou <evan@prodromou.name>**20080813195408] +[move user registration to a single static method +Evan Prodromou <evan@prodromou.name>**20080814002038] +[Twitter-compatible API: removed redundant decoding step; already taken care of by util.php's common_render_content() +zach@copley.name**20080813193327] +[Twitter-compatible API: support for new in_reply_to_status_id in statuses/update +zach@copley.name**20080815185317] +[name omb_listener param so we can refer to it in error msg +Evan Prodromou <evan@prodromou.name>**20080816151057] +[make settings and search menus localisable +Evan Prodromou <evan@prodromou.name>**20080817150244] +[move command-line scripts to their own dir +Evan Prodromou <evan@prodromou.name>**20080813154603] +[accept 140-character UTF-8 strings to content +Evan Prodromou <evan@prodromou.name>**20080817151751] +[debug for content too long +Evan Prodromou <evan@prodromou.name>**20080817152419] +[use UTF-8 as the internal encoding +Evan Prodromou <evan@prodromou.name>**20080817153024] +[remove hack to count bytes, not chars, in JS, since we now use chars +Evan Prodromou <evan@prodromou.name>**20080817153143] +[typo in forgotten password string +Evan Prodromou <evan@prodromou.name>**20080817163324] +[accept 140 chars in API, too +Evan Prodromou <evan@prodromou.name>**20080817192710] +[use mb_substr for xmpp daemon check +Evan Prodromou <evan@prodromou.name>**20080818025549] +[first step towards adding favorites to the system +Evan Prodromou <evan@prodromou.name>**20080813142637] +[Database uses UTF-8 by default +Evan Prodromou <evan@prodromou.name>**20080817151728] +[restore fave table lost when doing utf8 upgrade +Evan Prodromou <evan@prodromou.name>**20080817152108] +[trim whitespace in laconica.sql +Evan Prodromou <evan@prodromou.name>**20080817152133] +[set internal encoding in XMPP daemon +Evan Prodromou <evan@prodromou.name>**20080818033049] +[broadcast remote notices +Evan Prodromou <evan@prodromou.name>**20080819182724] +[add remote flag to broadcast of notices +Evan Prodromou <evan@prodromou.name>**20080819182824] +[add database tables for foreign services +Evan Prodromou <evan@prodromou.name>**20080819221214] +[Twitter-compatible API - running all strings through gettext() now +zach@controlyourself.ca**20080819002903] +[Twitter-compatible API - moved show() to the right file +zach@controlyourself.ca**20080819003931] +[Twitter-compatible API - /statuses/destroy method implemented +zach@controlyourself.ca**20080819194610] +[Twitter-compatible API - Added /statuses/followers to methods that +zach@controlyourself.ca**20080819195431 + require bareauth only if no nickname/id is supplied. +] +[Twitter-compatible API - /statuses/show - better err msg if notice doesn't exist +zach@controlyourself.ca**20080819202318] +[Twitter-compatible API - RESTfulness checks as per Twitter +zach@controlyourself.ca**20080819214923] +[add Cincinnati Bell Wireless +Evan Prodromou <evan@prodromou.name>**20080821125306] +[include external libs in a subdir to make install easier +Evan Prodromou <evan@prodromou.name>**20080822131714] +[local-only is optional on public timeline +Evan Prodromou <evan@prodromou.name>**20080822210307] +[add note to config.php.sample about localonly +Evan Prodromou <evan@prodromou.name>**20080822210415] +[fix include path bug +Evan Prodromou <evan@prodromou.name>**20080822210654] +[better error reporting in user authorization action +Evan Prodromou <evan@prodromou.name>**20080822212111] +[XMPP bounce message when too long (ticket #112) +CiaranG <ciaran@ciarang.com>**20080818213031] +[Fix bug in xmpp on/off (ticket #528) +CiaranG <ciaran@ciarang.com>**20080819071321] +[Define xmpp daemon claim timeout time +CiaranG <ciaran@ciarang.com>**20080822185955] +[XMPP sub/unsub and help commands +CiaranG <ciaran@ciarang.com>**20080822191032] +[Fixed attempt to read nonexistent match in JID regex +CiaranG <ciaran@ciarang.com>**20080822191751] +[Escape profile url in xmpp in case fancy urls off (Ticket #521) +CiaranG <ciaran@ciarang.com>**20080823052534] +[Prevent jabber.php error by checking key exists +CiaranG <ciaran@ciarang.com>**20080823053548] +[request token is not readonly +Evan Prodromou <evan@prodromou.name>**20080824011706] +[be a little more liberal for sites that accidentally put whitespace before the xml decl +Evan Prodromou <evan@prodromou.name>**20080824013803] +[move README to main dir +Evan Prodromou <evan@prodromou.name>**20080824113719] +[big scarygram warning in config.php.sample about using DB_DataObject's debug mode +Evan Prodromou <evan@prodromou.name>**20080824171202] +[notify user of remote subscriptions +Evan Prodromou <evan@prodromou.name>**20080824200517] +[use mb_strlen instead of strlen in xmpp daemon +Evan Prodromou <evan@prodromou.name>**20080825173105] +[use common_sql_now() instead of DB_DataObject_Cast +Evan Prodromou <evan@prodromou.name>**20080825182338] +[change DataObject_Cast to use sql_now +Evan Prodromou <evan@prodromou.name>**20080825183005] +[use better SQL date, fix security problem with OpenID logins +Evan Prodromou <evan@prodromou.name>**20080825184104] +[never allow blank passwords +Evan Prodromou <evan@prodromou.name>**20080825185245] +[optionally turn encryption on or off in the XMPP connection +Evan Prodromou <evan@prodromou.name>**20080826131814 + + 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. + +] +[only send local messages to public XMPP stream +Evan Prodromou <evan@prodromou.name>**20080826205341] +[use notice URI if it's not local and it's an HTTP URL +Evan Prodromou <evan@prodromou.name>**20080826210314] +[fix error storing uris of remote notices +Evan Prodromou <evan@prodromou.name>**20080826211108] +[import upstream XMPPHP with @ciarang's fix +Evan Prodromou <evan@prodromou.name>**20080827124430] +[fixup whitespace +Evan Prodromou <evan@prodromou.name>**20080827131603] +[don't show unknown (debug) errors +Evan Prodromou <evan@prodromou.name>**20080827132346] +[XMPP daemon that doesn't eat messages - note change to XMPPHP as well (Ticket #551) +CiaranG <ciaran@ciarang.com>**20080826200057] +[restoring upstream XMLStream.php after pulling ciarang's patch +Evan Prodromou <evan@prodromou.name>**20080827133048] +[add back in a session start handler +Evan Prodromou <evan@prodromou.name>**20080827135422] +[don't do too many broadcasts or confirms before checking the message queue +Evan Prodromou <evan@prodromou.name>**20080827142336] +[get language before setting it. +Evan Prodromou <evan@prodromou.name>**20080828005323] +[add session token check to password change +Evan Prodromou <evan@prodromou.name>**20080829014515] +[code for session token +Evan Prodromou <evan@prodromou.name>**20080829015304] +[fix random function name +Evan Prodromou <evan@prodromou.name>**20080829021854] +[return after failed token +Evan Prodromou <evan@prodromou.name>**20080829023731] +[add CSRF protection to avatar +Evan Prodromou <evan@prodromou.name>**20080829023919] +[CSRF protection in deletenotice +Evan Prodromou <evan@prodromou.name>**20080829025127] +[show error in delete notice +Evan Prodromou <evan@prodromou.name>**20080829025559] +[add a token for CSRF avoidance +Evan Prodromou <evan@prodromou.name>**20080829034854] +[CSRF protection for OpenID form +Evan Prodromou <evan@prodromou.name>**20080829035934] +[swap around some stuff to show the form correctly on a CSRF error in openidlogin +Evan Prodromou <evan@prodromou.name>**20080829040925] +[CSRF protection in openidsettings +Evan Prodromou <evan@prodromou.name>**20080829042908] +[add csrf protection to profile settings +Evan Prodromou <evan@prodromou.name>**20080829043909] +[CSRF protection in smssettings.php +Zach Copley <zach@controlyourself.ca>**20080829035118] +[CSRF protection in imsettings.php +Zach Copley <zach@controlyourself.ca>**20080829035707] +[CSRF protection for subscription/unsubscription +Evan Prodromou <evan@prodromou.name>**20080829051104] +[better client error on CSRF problem with subscribe/unsubscribe +Evan Prodromou <evan@prodromou.name>**20080829051628] +[csrf protection in userauthorization +Evan Prodromou <evan@prodromou.name>**20080829052732] +[session token in userauthorization form +Evan Prodromou <evan@prodromou.name>**20080829052847] +[CSRF protection in recoverpassword +Zach Copley <zach@controlyourself.ca>**20080829052824] +[CSRF protection in user registration +Evan Prodromou <evan@prodromou.name>**20080829054017] +[CSRF protection in emailsettings +Zach Copley <zach@controlyourself.ca>**20080829053337] +[CSRF protection in remotesubscribe +Zach Copley <zach@controlyourself.ca>**20080829054038] +[clean up username entered at login +Evan Prodromou <evan@prodromou.name>**20080829225258] +[break up monolithic xmppdaemon into multiple queue handlers +Evan Prodromou <evan@prodromou.name>**20080827205407 + + 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. + +] +[remove unimplemented methods from XmppDaemon +Evan Prodromou <evan@prodromou.name>**20080827210429] +[change queue_item to use a compound primary key +Evan Prodromou <evan@prodromou.name>**20080827211239 + + Breaking up to use multiple queue handlers means we need multiple + queue items for the same notice. So, change the queue_item table to + have a compound pkey, (notice_id,transport). + +] +[got two lines reversed +Evan Prodromou <evan@prodromou.name>**20080827211940] +[change return in queue function +Evan Prodromou <evan@dev.controlezvous.ca>**20080828001414] +[correct presence in jabber function +Evan Prodromou <evan@prodromou.name>**20080828001936] +[don't clear claims immediately +Evan Prodromou <evan@prodromou.name>**20080828002610] +[correct return values from start() in queue handlers +Evan Prodromou <evan@prodromou.name>**20080828003013] +[extend QueueHandler +Evan Prodromou <evan@prodromou.name>**20080828003829] +[XmppQueueHandler extends QueueHandler too +Evan Prodromou <evan@prodromou.name>**20080828004224] +[$this->log to common_log in Queue_item +Evan Prodromou <evan@prodromou.name>**20080828004503] +[return correct values for success in handling messages +Evan Prodromou <evan@prodromou.name>**20080828011002] +[misprint of omb as oms +Evan Prodromou <evan@prodromou.name>**20080828012619] +[return results of broadcasting by sms +Evan Prodromou <evan@prodromou.name>**20080828012635] +[add a bash script to start all the daemons +Evan Prodromou <evan@prodromou.name>**20080828134856] +[add a script to stop daemons, too +Evan Prodromou <evan@prodromou.name>**20080828135011] +[harmonize csrf and queues +Evan Prodromou <evan@prodromou.name>**20080829174012] +[split public stream to its own queue handler +Evan Prodromou <evan@prodromou.name>**20080829181702 + + Add another queue handler for the public stream. Should further + parallelize the work of sending out messages. + +] +[fix name of instantiated class +Evan Prodromou <evan@prodromou.name>**20080829182112] +[a little more robust confirm handler +Evan Prodromou <evan@prodromou.name>**20080829182349] +[many jabber queue management changes +Evan Prodromou <evan@prodromou.name>**20080829200352 + + 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. + +] +[lost $sent_to in jabber_public_notice +Evan Prodromou <evan@prodromou.name>**20080829200859] +[strip script ending from end of xmppdaemon +Evan Prodromou <evan@prodromou.name>**20080829202613] +[add 'raw' to payload to allow getting to the raw xml +Evan Prodromou <evan@prodromou.name>**20080830000314] +[forward messages from queuehandler to listener +Evan Prodromou <evan@prodromou.name>**20080830040717 + + The queuehandler sends messages to the user. If the user replies, the + messages are typically sent directly to the queuehandler (including + resource), not the default bot JID. + + We add a little code for the xmppqueuehandler to periodically service + its queue of received messages. Received messages are forwarded to the + listener to deal with. We use XEP 33, 'addresses', to note the + original sender. + + The xmppdaemon checks to see if the 'from' on a message is the daemon + address. If so, it looks for a XEP 33 'addresses' stanza, with an + 'ofrom' address, which shows who it was originally is from. + + This should let us send from one resource ID and still process + incoming messages in a different connection. + +] +[strtolower jids for comparison +Evan Prodromou <evan@prodromou.name>**20080830052143] +[typo preventing detection of addresses +Evan Prodromou <evan@prodromou.name>**20080830052810] +[use common log in error handler rather than echo +Evan Prodromou <evan@prodromou.name>**20080830053052] +[log transport when claiming a notice +Evan Prodromou <evan@prodromou.name>**20080830054933] +[better logging in ombqueuehandler +Evan Prodromou <evan@prodromou.name>**20080830055416] +[get address from addresses +Evan Prodromou <evan@prodromou.name>**20080830055640] +[better debugging output for forwarded messages +Evan Prodromou <evan@prodromou.name>**20080830055938] +[debug xml input +Evan Prodromou <evan@prodromou.name>**20080830060732] +[log fetch +Evan Prodromou <evan@prodromou.name>**20080830062246] +[correctly use attrs array rather than nonexistent attunction +Evan Prodromou <evan@prodromou.name>**20080830062744] +[less sleeping, slightly +Evan Prodromou <evan@prodromou.name>**20080830064431] +[don't clear old claims +Evan Prodromou <evan@prodromou.name>**20080830070135] +[require mail for sms, not omb +Evan Prodromou <evan@prodromou.name>**20080830070309] +[sms handler was handling omb wrongly +Evan Prodromou <evan@prodromou.name>**20080830071007] +[forgot to get the profile in public queue handler +Evan Prodromou <evan@prodromou.name>**20080830071232] +[some fixes from on the jabber server +evan@controlezvous.ca**20080830083502] +[get rid of Laconica_XMPP and ignore priority +Evan Prodromou <evan@prodromou.name>**20080830084423] +[check for self in forwards, too +Evan Prodromou <evan@prodromou.name>**20080830085607] +[eliminate loops in forwarding +Evan Prodromou <evan@prodromou.name>**20080830090148] +[make XMPP take a priority for presence +Evan Prodromou <evan@prodromou.name>**20080830091430] +[use priority in connection +Evan Prodromou <evan@prodromou.name>**20080830091522] +[forgot to use the array for avoiding dupes +Evan Prodromou <evan@prodromou.name>**20080830094252] +[check the state of the queue before diving in to process it +Evan Prodromou <evan@prodromou.name>**20080830095709] +[better check for ready state on connection +Evan Prodromou <evan@prodromou.name>**20080830171441] +[public queue handler and xmpp confirm handler service their message queues +Evan Prodromou <evan@prodromou.name>**20080830172217] +[add initialization info to the queue handlers +Evan Prodromou <evan@prodromou.name>**20080831020325] +[add some sanity-check stuff for long-running daemons +Evan Prodromou <evan@prodromou.name>**20080831023844] +[halt sending HTML in Jabber +Evan Prodromou <evan@prodromou.name>**20080831114642] +[separate out presence from connection, send different presence types from queuehandlers +Evan Prodromou <evan@prodromou.name>**20080902012604] +[slightly more robust connection code +Evan Prodromou <evan@prodromou.name>**20080902030331] +[restore HTML in output, remove rump pubsub event code +Evan Prodromou <evan@prodromou.name>**20080902030403] +[dnd -> available, just looks bad as dns +Evan Prodromou <evan@prodromou.name>**20080902030910] +[switch around how XMLStream does processing +Evan Prodromou <evan@prodromou.name>**20080831003210] +[debug logging in __process +Evan Prodromou <evan@prodromou.name>**20080831012136] +[floor +Evan Prodromou <evan@prodromou.name>**20080831013132] +[int div games +Evan Prodromou <evan@prodromou.name>**20080831013603] +[slightly better int math +Evan Prodromou <evan@prodromou.name>**20080831014404] +[use updated xmpphp library +Evan Prodromou <evan@prodromou.name>**20080902163718] +[add reconnect handlers to main XMPP-handling scripts +Evan Prodromou <evan@prodromou.name>**20080902165319] +[better connection handling in scripts +Evan Prodromou <evan@prodromou.name>**20080902165735] +[set the reconnect timeout +Evan Prodromou <evan@prodromou.name>**20080902171740] +[variable name conflict on reconnect +Evan Prodromou <evan@prodromou.name>**20080902172039] +[reconnect timeout +Evan Prodromou <evan@prodromou.name>**20080902172256] +[license block on util.js +Evan Prodromou <evan@prodromou.name>**20080827013835] +[try to make the reply button do the right thing if there's no notification box. +Evan Prodromou <evan@prodromou.name>**20080827015010] +[move broadcast in OMB postnotice for bad case +Evan Prodromou <evan@prodromou.name>**20080828221420] +[Tags_without_fancy +Garret Buell <terragb@gmail.com>**20080831233401 + Change common_tag_link to format the tag link based on the setting of $config['site']['fancy'] +] +[Allow_multicase_tags +Garret Buell <terragb@gmail.com>**20080901001241 + Make "#test", "#Test", and "#tEsT" all preserve appearance but link to the same tag +] +[Elide_Tags +Garret Buell <terragb@gmail.com>**20080901025932 + Make "#sanfrancisco", "#SanFrancisco", "#san_francisco", "#San.Francisco", and "#SAN-FRANCISCO" all link to http://identi.ca/tag/sanfrancisco but preserve appearance +] +[RequirePassword +Garret Buell <terragb@gmail.com>**20080830195036 + Require a password with at least 6 characters when registering. +] +[Resolve remote subscribe and omb problems with quotes (Tickets #604 and #567) +CiaranG <ciaran@ciarang.com>**20080904065504] +[Fix typo in presence message (x3) +CiaranG <ciaran@ciarang.com>**20080904081542] +[Some Notice::saveNew cleanups. +Ori Avtalion <ori@avtalion.name>**20080902173804 + * No need to check $source's value before inserting + * No need to update the notice if the $uri was known in advance +] +[fix bad args in postnotice for new notices +Evan Prodromou <evan@prodromou.name>**20080904195720] +[Fix typo in finishremotesubscribe +CiaranG <ciaran@ciarang.com>**20080904201921] +[scripts daemonize themselves +Evan Prodromou <evan@prodromou.name>**20080904184031] +[add .pid to pidfile names +Evan Prodromou <evan@prodromou.name>**20080904190254] +[more robust code for setting daemon uid/gid +Evan Prodromou <evan@prodromou.name>**20080904191031] +[add newline at the end of pidfile +Evan Prodromou <evan@prodromou.name>**20080904191517] +[new format for startdaemons; not sure how to do stopdaemons so punting +Evan Prodromou <evan@prodromou.name>**20080904192220] +[better feedback when starting daemons +Evan Prodromou <evan@prodromou.name>**20080904192851] +[make confirmhandler a subclass of queuehandler +Evan Prodromou <evan@prodromou.name>**20080904193118] +[abstract XMPP-related queue handling to a common superclass +Evan Prodromou <evan@prodromou.name>**20080904194035] +[change xmppqueuedaemon to jabberqueuedaemon in startdaemons +Evan Prodromou <evan@prodromou.name>**20080904194346] +[require xmppqueuehandler in jabberqueuehandler +Evan Prodromou <evan@prodromou.name>**20080904194456] +[better logging for confirm handler update +Evan Prodromou <evan@prodromou.name>**20080904203502] +[add some processTime() to the send loops to avoid filling the buffer +Evan Prodromou <evan@prodromou.name>**20080904213257] +[better @ links +Evan Prodromou <evan@prodromou.name>**20080904224129] +[use a join for omb broadcast +Evan Prodromou <evan@prodromou.name>**20080905004701] +[change sms broadcast to use a join +Evan Prodromou <evan@prodromou.name>**20080905022019] +[return in the status textarea will submit the form +Evan Prodromou <evan@prodromou.name>**20080905045415] +[do submit on keydown +Evan Prodromou <evan@prodromou.name>**20080905045736] +[stop default handling of return in browser +Evan Prodromou <evan@prodromou.name>**20080905050356] +[set focus to status text area +Evan Prodromou <evan@prodromou.name>**20080905050824] +[free and unset DB_DataObjects after we're done with them +Evan Prodromou <evan@prodromou.name>**20080906015501] +[free memory in SMS daemon, too +Evan Prodromou <evan@prodromou.name>**20080906015621] +[debugging for omb +Evan Prodromou <evan@prodromou.name>**20080907193402] +[lots of debugging code in OMB send +Evan Prodromou <evan@prodromou.name>**20080907195242] +[remove some debugging code from omb.php +Evan Prodromou <evan@prodromou.name>**20080907200344] +[error checking in subscriptions +Evan Prodromou <evan@prodromou.name>**20080908201020] +[Disallow 'tag' and 'tags' as usernames. Fixes ticket #584 +Ori Avtalion <ori@avtalion.name>**20080905114534] +[Fix for reply arrow in profile page +Michael Landers <ez4u2sai@gmail.com>**20080905090848] +[Fix confusing comment in config.sample.php (Ticket #616) +CiaranG <ciaran@ciarang.com>**20080905162732] +[add a sample RewriteBase +Evan Prodromou <evan@prodromou.name>**20080910180050] +[add a line for mail domain +Evan Prodromou <evan@prodromou.name>**20080910154632] +[update information about queues +Evan Prodromou <evan@prodromou.name>**20080910154754] +[reverse order of queries for galleries +Evan Prodromou <evan@prodromou.name>**20080911144742] +[LOG_ERROR -> LOG_ERR +Evan Prodromou <evan@prodromou.name>**20080913161107] +[duplicate confirmation to avoid where clause +Evan Prodromou <evan@prodromou.name>**20080913164333] +[only use MyISAM for tables with fulltext indices +Evan Prodromou <evan@prodromou.name>**20080915053955] +[cache noticesWithFriends in memcached +Evan Prodromou <evan@prodromou.name>**20080915065616 + + 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. + +] +[$INSTALLDIR -> INSTALLDIR +Evan Prodromou <evan@prodromou.name>**20080915070413] +[array_count -> count +Evan Prodromou <evan@prodromou.name>**20080915070951] +[subscriptions clear user with-friends cache, too +Evan Prodromou <evan@prodromou.name>**20080915071500] +[compress window-getting to one function +Evan Prodromou <evan@prodromou.name>**20080915071835] +[misused instance attribute in noticewrapper +Evan Prodromou <evan@prodromou.name>**20080915072553] +[another attribute error +Evan Prodromou <evan@prodromou.name>**20080915072738] +[make NoticeWrapper extend Notice so methods work +Evan Prodromou <evan@prodromou.name>**20080915073006] +[fix cache deletion code +Evan Prodromou <evan@prodromou.name>**20080915073215] +[fixup SQL code +Evan Prodromou <evan@prodromou.name>**20080915073412] +[can actually take all the data in the window +Evan Prodromou <evan@prodromou.name>**20080920174700] +[blow subscriptions cache when the user deletes a notice +Evan Prodromou <evan@prodromou.name>**20080920175339] +[use common-config instead of $config in common_language +Evan Prodromou <evan@prodromou.name>**20080922172631] +[data classes for invitations +Evan Prodromou <evan@prodromou.name>**20080823191015] +[start the invite form +Evan Prodromou <evan@prodromou.name>**20080825192946] +[add invite to htaccess.sample +Evan Prodromou <evan@prodromou.name>**20080825193149] +[add invite to the nav menu +Evan Prodromou <evan@prodromou.name>**20080825193235] +[invite fancy url +Evan Prodromou <evan@prodromou.name>**20080825193333] +[fix the invite url +Evan Prodromou <evan@prodromou.name>**20080825193450] +[fix instructions +Evan Prodromou <evan@prodromou.name>**20080825193738] +[skip preview, just send the darn thing +Evan Prodromou <evan@prodromou.name>**20080826021227] +[added a created timestamp to invitations +Evan Prodromou <evan@prodromou.name>**20080826023116] +[clean up some whitespace in DB script +Evan Prodromou <evan@prodromou.name>**20080826024015] +[helper functions that take a user object +Evan Prodromou <evan@prodromou.name>**20080827001348] +[updates for invitations +Evan Prodromou <evan@prodromou.name>**20080827001927 + + Add the code to registration to handle invitation codes. + + Some edge cases on invitations: is the user already subbed to this + person? Tell them. Is the person already on the system? Sub the user + to them, then, and tell the user. + + Add some code to User to auto-sub invitees whenever the email address + changes. Call it from a new registration with an invite code, and also + from confirmaddress. + + Some whitespace cleanup in the files touched. + +] +[correct output on invitations +Evan Prodromou <evan@prodromou.name>**20080827003529] +[save invitation code and improve format of outgoing mail +Evan Prodromou <evan@prodromou.name>**20080827004410] +[fix format for subject +Evan Prodromou <evan@prodromou.name>**20080827004755] +[fix runon string in invites format +Evan Prodromou <evan@prodromou.name>**20080827004854] +[send personal message through to send_invitation function +Evan Prodromou <evan@prodromou.name>**20080827005155] +[lost the names when making a new function send_invitation +Evan Prodromou <evan@prodromou.name>**20080827005418] +[fix format string, again again +Evan Prodromou <evan@prodromou.name>**20080827010138] +[Invite -> Invitation +Evan Prodromou <evan@prodromou.name>**20080827010515] +[removed the preview, so use "Send" for the button +Evan Prodromou <evan@prodromou.name>**20080827011921] +[add a foreign_link table with prefs for the link +Evan Prodromou <evan@prodromou.name>**20080827032423] +[update to translation +Evan Prodromou <evan@prodromou.name>**20080827185817] +[Bounce oversized XMPP messages back to user (Ticket #112) +CiaranG <ciaran@ciarang.com>**20080814083856] +[XMPP daemon updates including help, sub and subsub commands, plus subscribe/unsubcribe logic broken out into standalone module for sharing +CiaranG <ciaran@ciarang.com>**20080816083422] +[Added missing subs.php +CiaranG <ciaran@ciarang.com>**20080816153917] +[remove custom xmppdaemon error handler +Evan Prodromou <evan@prodromou.name>**20080830162128] +[merge in changes for CSRF, too +Evan Prodromou <evan@prodromou.name>**20080830162223] +[initial non-Ajax version of favorites +Evan Prodromou <evan@prodromou.name>**20080908181624] +[change input buttons to submit buttons +Evan Prodromou <evan@prodromou.name>**20080908182353] +[fix requires in dis/favor and correct url in form +Evan Prodromou <evan@prodromou.name>**20080908182559] +[correct action for showfavorites in disfavor +Evan Prodromou <evan@prodromou.name>**20080908182716] +[better styling for favor/disfavor buttons +Evan Prodromou <evan@prodromou.name>**20080908183515] +[styling on the favor/disfavor forms to show inline +Evan Prodromou <evan@prodromou.name>**20080908201751] +[write our own submit so there's no <p> +Evan Prodromou <evan@prodromou.name>**20080908202226] +[move fave form, float right +Evan Prodromou <evan@prodromou.name>**20080908202717] +[make favorites form use Ajax +Evan Prodromou <evan@prodromou.name>**20080908211610] +[missed a closing curly +Evan Prodromou <evan@prodromou.name>**20080908211656] +[enjitqueuehandler added +Evan Prodromou <evan@prodromou.name>**20080916174105] +[rationalize with repository version +Evan Prodromou <evan@prodromou.name>**20080916174400] +[change some more tables to InnoDB +Evan Prodromou <evan@prodromou.name>**20080916174515] +[Database and classes for direct messages +Evan Prodromou <evan@prodromou.name>**20080916185126] +[inbox and outbox for direct messages +Evan Prodromou <evan@prodromou.name>**20080916195346 + + Added an inbox and outbox for direct messages. + + Factored common code to mailbox.php. Factored common code with + stream.php to personal.php. + +] +[fixup CSS for messages +Evan Prodromou <evan@prodromou.name>**20080916195620] +[correctly show top +Evan Prodromou <evan@prodromou.name>**20080916200445] +[instructions for inbox and outbox +Evan Prodromou <evan@prodromou.name>**20080916200703] +[correct title on inbox and outbox +Evan Prodromou <evan@prodromou.name>**20080916200942] +[Twitter integration - SQL ref data for Twitter +zach@controlyourself.ca**20080822034054] +[Twitter integration - Oh look, a Twitter settings tab. +zach@controlyourself.ca**20080822034157] +[Twitter-integration - Twitter settings tab now saves Twitter credentials +zach@controlyourself.ca**20080826225615] +[Twitter integration - Add and remove Twitter accnt now working +Zach Copley <zach@controlyourself.ca>**20080827000327] +[Twitter integration - Foreign_user::getForeignUser() to retrieve +Zach Copley <zach@controlyourself.ca>**20080827005444 + Foreign_user by multi-part key: user_id + service +] +[Twitter integration - decided to change Twitter to service ID #1 +Zach Copley <zach@controlyourself.ca>**20080827021635] +[fork daemon +Evan Prodromou <evan@prodromou.name>**20080626224011] +[fork daemon +Evan Prodromou <evan@prodromou.name>*-20080626224011] +[translation updates +Evan Prodromou <evan@prodromou.name>**20080817160451] +[Twitter integration - support for new foreign_link table and prefs now save/update +Zach Copley <zach@controlyourself.ca>**20080828072205] +[Twitter integration - Notices now broadcast (directly) to Twitter from linked accts. +Zach Copley <zach@controlyourself.ca>**20080828192509] +[CSRF protection for invites.php +Zach Copley <zach@controlyourself.ca>**20080829045441] +[CSRF protection in twittersettings.php +Zach Copley <zach@controlyourself.ca>**20080829045724] +[Conflated Avatar and Profile settings + removed a bunch of unnecessary whitespace +Zach Copley <zach@controlyourself.ca>**20080905194732] +[Moved avatar upload down below timezone on profile settings +Zach Copley <zach@controlyourself.ca>**20080906070651] +[Fold password form into profile settings +Zach Copley <zach@controlyourself.ca>**20080907053604] +[Twitter integration - added $config option for source attribute when posting to Twitter +Zach Copley <zach@controlyourself.ca>**20080907062118] +[Twitter integration - wording change +Zach Copley <zach@controlyourself.ca>**20080907063339] +[Disallow 'api' nickname +Zach Copley <zach@controlyourself.ca>**20080909000650] +[Twitter-compatible API - JSONP callbacks for all methods emitting JSON +Zach Copley <zach@controlyourself.ca>**20080910025013] +[integrate local changes with Zach's +Evan Prodromou <evan@prodromou.name>**20080916210813] +[Initial support for PostgreSQL +CiaranG <ciaran@ciarang.com>**20080909072224] +[Fix remote sub when redirected via login (Ticket #618) +CiaranG <ciaran@ciarang.com>**20080909202259] +[PostgreSQL - reply.modified needs a default +CiaranG <ciaran@ciarang.com>**20080910073741] +[Fix unquoted array key, causes b0rkage on some php setups (via @bopuc) +CiaranG <ciaran@ciarang.com>**20080911163558] +[PostgreSQL: Make tag cloud query work - also fixes what is surely an ignored error in the mysql query +CiaranG <ciaran@ciarang.com>**20080911192348] +[PostgreSQL: support for full text searching (notice and people) +CiaranG <ciaran@ciarang.com>**20080914201744] +[PostgreSQL: Quote table name in manually formed query - fixes profile settings update +CiaranG <ciaran@ciarang.com>**20080915070256] +[Further updates to sample config +CiaranG <ciaran@ciarang.com>**20080915081246] +[Fix missing nickname in rss replies to title +CiaranG <ciaran@ciarang.com>**20080915190953] +[Get correct configured language when all else fails +CiaranG <ciaran@ciarang.com>**20080916172706] +[rationalize with ciarang's pgsql changes +Evan Prodromou <evan@prodromou.name>**20080916214134] +[add in ciarang's changes to config.php.sample +Evan Prodromou <evan@prodromou.name>**20080916214206] +[use common_local_url() in tagging, add canonicalization function +Evan Prodromou <evan@prodromou.name>**20080917112234] +[move rendering stuff that doesn't depend on notice to a separate function +Evan Prodromou <evan@prodromou.name>**20080917112730] +[newmessage and showmessage +Evan Prodromou <evan@controlyourself.ca>**20080917174741] +[add new message link to showstream +Evan Prodromou <evan@controlyourself.ca>**20080917175356] +[don't show message link on your own page +Evan Prodromou <evan@controlyourself.ca>**20080917175512] +[fancy urls for show message, new message +Evan Prodromou <evan@controlyourself.ca>**20080917180244] +[to parameter is an ID not a nickname +Evan Prodromou <evan@controlyourself.ca>**20080917185142] +[not a nickname so don't canonicalize +Evan Prodromou <evan@controlyourself.ca>**20080917185723] +[correct urls from fancy url for show-message +Evan Prodromou <evan@controlyourself.ca>**20080917185950] +[fix missing variable in save-new-message +Evan Prodromou <evan@controlyourself.ca>**20080917190306] +[skip over Mailbox::handle to Action::handle +Evan Prodromou <evan@controlyourself.ca>**20080917190445] +[fix titles in showmessage +Evan Prodromou <evan@controlyourself.ca>**20080917190745] +[save created date +Evan Prodromou <evan@controlyourself.ca>**20080917191652] +[some minor fixes for new messages +Evan Prodromou <evan@controlyourself.ca>**20080917192121] +[style for message form +Evan Prodromou <evan@controlyourself.ca>**20080918021421] +[rearrange paragraphs in message form +Evan Prodromou <evan@controlyourself.ca>**20080918021727] +[change id of message textarea +Evan Prodromou <evan@controlyourself.ca>**20080918021926] +[no instructions for 'to' dropdown +Evan Prodromou <evan@controlyourself.ca>**20080918022410] +[set message form label to display inline +Evan Prodromou <evan@controlyourself.ca>**20080918022558] +[try to move the message box up a bit +Evan Prodromou <evan@controlyourself.ca>**20080918022756] +[scootch it down a bit again +Evan Prodromou <evan@controlyourself.ca>**20080918022841] +[return correct data structure for messages in showmessage +Evan Prodromou <evan@controlyourself.ca>**20080918023032] +[fetch -> find +Evan Prodromou <evan@controlyourself.ca>**20080918025232] +[fix htaccess so pass message param correctly +Evan Prodromou <evan@controlyourself.ca>**20080918025428] +[more id -> message shenanigans +Evan Prodromou <evan@controlyourself.ca>**20080918025543] +[remove tabs from showmessage +Evan Prodromou <evan@controlyourself.ca>**20080918025713] +[split favor forms code +Evan Prodromou <evan@controlyourself.ca>**20080918032048] +[big changes to the README, part 1 +Evan Prodromou <evan@controlyourself.ca>**20080918135502] +[if favor/disfavor submitted through ajax, return micro-html of form +Evan Prodromou <evan@controlyourself.ca>**20080918135608] +[Gee, maybe I shouldn't try to write DOM code from memory +Evan Prodromou <evan@controlyourself.ca>**20080918140533] +[ah, turns out each() stuff is called as a method +Evan Prodromou <evan@controlyourself.ca>**20080918140756] +[get the zeroth form in the returned array +Evan Prodromou <evan@controlyourself.ca>**20080918145545] +[replace -> replaceWith +Evan Prodromou <evan@controlyourself.ca>**20080918150120] +[ajaxForm on returned forms +Evan Prodromou <evan@controlyourself.ca>**20080918150438] +[have to add the ajaxHidden thing, too +Evan Prodromou <evan@controlyourself.ca>**20080918150753] +[dis -> fav +Evan Prodromou <evan@controlyourself.ca>**20080918151642] +[correct background of dis/favor form on hover +Evan Prodromou <evan@controlyourself.ca>**20080918151907] +[input changes +Evan Prodromou <evan@controlyourself.ca>**20080918152124] +[add favor/disfavor to profile +Evan Prodromou <evan@controlyourself.ca>**20080918152612] +[don't notify you favor your own notice +Evan Prodromou <evan@controlyourself.ca>**20080918152823] +[correct a couple of bugs +Evan Prodromou <evan@controlyourself.ca>**20080922190937] +[clear and rebuild db scripts +Evan Prodromou <evan@controlyourself.ca>**20080922195824] +[add additional licenses into extlib subdir +Evan Prodromou <evan@controlyourself.ca>**20080922212120] +[hide IM settings if xmpp disabled +Evan Prodromou <evan@controlyourself.ca>**20080922214003] +[finish the README file +Evan Prodromou <evan@controlyourself.ca>**20080922223239] +[A working stopdaemons.sh, and no parameter needed for startdaemons.sh +CiaranG <ciaran@ciarang.com>**20080906202242] +[merge CiaranG's changes for subs +Evan Prodromou <evan@prodromou.name>**20080922225031]
\ No newline at end of file |