Ticket #2273: Fix bookmarklet with URls with special characters
The tartget page's URL was not being URL-escaped when passed as a parameter into the query string. Result was that any URL-encoded bytes in the link would be unescaped and interpreted as raw UTF-8 when our bookmarklet post target page reads its parameters; this would break 8-bit high characters (eg a Latin-1 %FC turning into a corrupt UTF-8 byte) or reserved chars that needed to be kept escaped (eg a %3F turning into literal ?)
Unfortunately as this was a bug in the original bookmarklet's JS code, this'll only fix it for people who grab a fresh copy of the bookmarklet.
Don't save duplicate messages into a user's packed inbox. We've already got the packed box loaded at insert time, so we can simply unpack it and check before doing the update query.
Should help with dupes that come in when inbox distrib jobs die and get restarted, etc.
Conflicts:
classes/Inbox.php
Looks like this was implemented on master recently and not copied up to testing. Merging to my version on testing as I've added some doc comments and extracted a couple functions for future ease of use.
Temporary hack until notice_profile_id_idx is updated
to (profile_id, id) instead of (profile_id, created, id).
It's been falling back to PRIMARY instead, which is really
very inefficient for a profile that hasn't posted in a few
months. Even though forcing the index will cause a filesort,
it's usually going to be better. Even for large profiles it
seems much faster than the badly-indexed query.
Brion Vibber [Tue, 30 Mar 2010 18:07:01 +0000 (11:07 -0700)]
Quick fixes for grouplistall:
* respect count instead of listing all groups
* respect page parameter
* don't spew notice on undefined $id
* don't spew notice on undefined $group->homepage_url (dropped the element since there's nothing to go in it)
Evan Prodromou [Fri, 26 Mar 2010 12:45:23 +0000 (08:45 -0400)]
Do ostatus queue first
We do the OStatus queue first, so if we're sending a notice to the
same server twice (e.g., with OMB), our richer and more featureful
notice comes in first.
Brion Vibber [Thu, 25 Mar 2010 23:08:09 +0000 (16:08 -0700)]
Tweak to OStatus long message cropping: use original source notice URL for the link in the text version, don't shorten the link for the HTML so we can append params to it in JS.
Sarven Capadisli [Tue, 16 Mar 2010 19:53:49 +0000 (20:53 +0100)]
Added extra condition to focusing on notice form on page load. If the
window location contains a fragument identifier, it will skip focus
and do what the UA does natively.
Evan Prodromou [Thu, 25 Mar 2010 17:49:12 +0000 (13:49 -0400)]
Store blacklist patterns in their own tables
We were bumping into limits on the config format in the Blacklist
plugin. So, added new tables for nickname and homepage blacklists, and
changed the plugin to use those instead of config file (actually,
still uses config file in addition, for compatibility).
Brion Vibber [Tue, 23 Mar 2010 16:50:01 +0000 (09:50 -0700)]
Don't add PHPSESSID parameter onto notice and conversation URIs if we save a notice during a session override.
This was being triggered by welcomebot messages created at account creation time, then propagated through replies.
Zach Copley [Tue, 23 Mar 2010 01:54:46 +0000 (18:54 -0700)]
Merge branch 'testing' of gitorious.org:statusnet/mainline into testing
* 'testing' of gitorious.org:statusnet/mainline:
OStatus remote sending test cases. Doesn't actually run within PHPUnit right now, must be run from command line -- specify base URLs to two StatusNet sites that will be able to communicate with each other.
Math_BigInteger doesn't correctly handle serialization/deserialization for a value of 0, which can end up spewing notices to output and otherwise intefering with Salmon signature setup and verification when using memcached.
Log backtraces for non-ClientException exceptions caught at the top-level handler.
Confirm there's actually user and domain portions of acct string before assigning things from output of explode(); avoids notice message when invalid input passed to main/xrd
Fixing HTTP Header LRDD parsing (sites in subdirectories need this)
Replace the "give up and dump object" attachment view fallback with a client-side redirect to the target URL, which will at least be useful.
ignore unrecognized object types
Pull <atom:author> info as well as <activity:actor> when we have an old-style ActivityStreams feed. This fixes subscription setup for Cliqset feeds, which currently have a bogus activity:actor/atom:id but a good atom:author/atom:uri
Accept 'tag' and other non-http id URIs in Ostatus_profile::getActivityObjectProfileURI().
Brion Vibber [Mon, 22 Mar 2010 22:55:13 +0000 (15:55 -0700)]
OStatus remote sending test cases. Doesn't actually run within PHPUnit right now, must be run from command line -- specify base URLs to two StatusNet sites that will be able to communicate with each other.
Current test run includes:
* register accounts (via web form)
* local post
* @-mention using path (@domain/path/to/user)
Subscriptions, webfinger mentions, various paths to subscription and unsubscription, etc to come.
Brion Vibber [Mon, 22 Mar 2010 19:17:45 +0000 (12:17 -0700)]
Math_BigInteger doesn't correctly handle serialization/deserialization for a value of 0, which can end up spewing notices to output and otherwise intefering with Salmon signature setup and verification when using memcached.
Worked around this with a subclass that fixes the wakeup, used for the stored 0 value in the subclassed Crypt_RSA.