Commit Graph

1933 Commits

Author SHA1 Message Date
Brion Vibber
6291e8201f Fix for failure edge case in TwitterBridge outgoing repeat/retweets.
When the retweet failed with a 403 error (say due to it being a private tweet, which can't be retweeted) we would end up mishandling the return value from our internal error handling.
Instead of correctly discarding the message and closing out the queue item, we ended up trying to save a bogus twitter<->local ID mapping, which threw another exception and lead the queue system to re-run it.

- Fixed the logic check and return values for the retweet case in broadcast_twitter().
- Added doc comments explaining the return values on some functions in twitter.php
- Added check on Notice_to_status::saveNew() for empty input -- throw an exception before we try to actually insert into db. :)
2010-11-12 13:06:41 -08:00
Evan Prodromou
b6af5a25ba don't try to initialize the mapstraction canvas if it doesn't exist 2010-11-12 11:48:17 -05:00
Siebrand Mazeland
456f4a6573 Localisation updates from http://translatewiki.net 2010-10-29 01:21:42 +02:00
Brion Vibber
48492600a8 Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.x 2010-10-28 00:15:59 +00:00
Brion Vibber
e43553a3d9 Tweak for OAuth headers not seen in $_SERVER 2010-10-28 00:14:45 +00:00
Siebrand Mazeland
035b4949fd Merge branch '0.9.x' of git://gitorious.org/statusnet/mainline into 0.9.x 2010-10-28 01:59:45 +02:00
Siebrand Mazeland
7a564276a9 Localisation updates from http://translatewiki.net. 2010-10-28 01:58:43 +02:00
Brion Vibber
9e9b7b972c Merge branch 'instrument' into 0.9.x 2010-10-27 16:47:06 -07:00
Brion Vibber
ace655aecf ApiLogger plugin: dumps some information about API hits to aid in researching future HTTP-level cachability improvements.
Data are sent to the 'info' level of logging, like so:

  [lazarus.local:4812.86b23603 GET /mublog/api/statuses/friends_timeline.atom?since_id=1353]
       STATLOG action:apitimelinefriends method:GET ssl:no query:since_id cookie:no auth:yes
       ifmatch:no ifmod:no agent:Appcelerator Titanium/1.4.1 (iPhone/4.1; iPhone OS; en_US;)

Fields:
* action:  case-normalized name of the action class we're acting on
* method:  GET, POST, HEAD, etc
* ssl:     Are we on HTTPS? 'yes' or 'no'
* query:   Were we sent a query string? 'yes', 'no', or 'since_id' if the only parameter is a since_id
* cookie:  Were we sent any cookies? 'yes' or 'no'
* auth:    Were we sent an HTTP Authorization header? 'yes' or 'no'
* ifmatch: Were we sent an HTTP If-Match header for an ETag? 'yes' or 'no'
* ifmod:   Were we sent an HTTP If-Modified-Since header? 'yes' or 'no'
* agent:   User-agent string, to aid in figuring out what these things are

The most shared-cache-friendly requests will be non-SSL GET requests with no or very predictable
query parameters, no cookies, and no authorization headers. Private caching (eg within a supporting
user-agent) could still be friendly to SSL and auth'd GET requests.

We kind of expect that the most frequent hits from clients will be GETs for a few common timelines,
with auth headers, a since_id-only query, and no cookies. These should at least be amenable to
returning 304 matches for etags or last-modified headers with private caching, but it's very
possible that most clients won't actually think to save and send them. That would leave us expecting
to handle a lot of timeline since_id hits that return a valid API response with no notices.

At this point we don't expect to actually see if-match or if-modified-since a lot since most of our
API responses are marked as uncacheable; so even if we output them they're not getting sent back to
us.

Random subsampling can be enabled by setting the 'frequency' parameter smaller than 1.0:

  addPlugin('ApiLogger', array(
    'frequency' => 0.5 // Record 50% of API hits
  ));
2010-10-27 16:43:38 -07:00
Siebrand Mazeland
d0bbd343f0 i18n/L10n updates and superfluous whitespace removed. 2010-10-28 01:35:40 +02:00
Siebrand Mazeland
04fcfeaf6f * Superfluous whitespace removed.
* i18n review (no changes needed).
2010-10-28 01:23:57 +02:00
Evan Prodromou
5d56d9bb69 UI on profile settings page to opt out of following everyone 2010-10-26 15:33:35 -04:00
Evan Prodromou
7a80ebeb13 flag to let users opt out of following everyone 2010-10-26 15:21:30 -04:00
Evan Prodromou
e5a3b973b8 Plugin to follow all new users by default 2010-10-26 15:10:18 -04:00
Evan Prodromou
22633a5af6 can't subscribe to blacklisted domains/users 2010-10-26 11:48:27 -04:00
Evan Prodromou
bec00094a7 Blacklist plugin checks PuSH and Salmon notices 2010-10-26 11:20:43 -04:00
Siebrand Mazeland
1545c1228b Localisation updates from http://translatewiki.net. 2010-10-23 20:50:55 +02:00
Siebrand Mazeland
3329685beb * onPluginVersion added.
* i18n fix: use _m() in plugins, don't use _()
* some translator documentation added.
* superfluous whitespace removed.
2010-10-23 19:23:25 +02:00
Brion Vibber
e292d8fb65 Fix for 140-char replies being unexpectedly cropped when bridged to Twitter.
This drops the '@' -> ' @' hack for CURL meta-chars in outgoing Twitter bridge, added in commit 04b95c25 back in the day.
The Twitter bridge has since been switched from using direct CURL calls to using HTTPClient, which even with the CURL backend enabled doesn't trigger this issue, as POST parameters are formatted directly.
Prepending the space before we did the message cropping was leading to 140-char messages getting cropped unnecessarily, which was confusing:

Examples of broken messages:
http://identi.ca/notice/57172587 vs http://twitter.com/marjoleink/status/28398050691
http://identi.ca/notice/57172878 vs http://twitter.com/marjoleink/status/28398492563
2010-10-22 12:10:11 -07:00
Brion Vibber
6841a8d093 RegisterThrottlePlugin tweak for silencing checks: make sure we don't crash during registration if another profile registered from this address has been since deleted.
Followup to commit 1caa08429f
2010-10-22 11:07:19 -07:00
Evan Prodromou
1caa08429f Collective guilt for registrants from the same IP address
If someone tries to register from an IP address that a silenced user
has registered from, prevent it.

When silencing someone, silence everyone else who registered from the
same IP address.
2010-10-22 13:29:51 -04:00
Evan Prodromou
07bc50eaed Merge branch 'bettercachelog' into 0.9.x 2010-10-22 09:25:13 -04:00
Evan Prodromou
e1e79e6236 Merge remote branch 'gitorious/0.9.x' into 0.9.x 2010-10-22 09:24:49 -04:00
Evan Prodromou
2484d8edc2 more detailed information in cachelogplugin 2010-10-22 09:24:19 -04:00
Zach Copley
131c339c5a Pass OAuth authorize page's mode paramater to OpenID plugin so it can create a correct
returnto URL
2010-10-22 02:08:38 +00:00
Zach Copley
0b134d3e69 Re-camelcase ApiOauthAuthorizeAction so it will be accessible when
a site is in pivate mode
2010-10-21 18:15:11 -07:00
Zach Copley
a548861dbf OAuth - proper callback handling and better styling for authorization
page when in desktop mode
2010-10-21 14:45:42 -07:00
Siebrand Mazeland
31f52ec37c Update translator documentation and remove superfluous whitespace. 2010-10-21 02:02:37 +02:00
Brion Vibber
c24f4ddfdb Pretty up the OpenID variant of the OAuth login form a bit; change the 'Allow' button to 'Continue' so we're not confused why we get the form again after authenticating. 2010-10-20 16:14:32 -07:00
Brion Vibber
bcc06d05e8 Initial OpenID+OAuth thingy. 2010-10-20 15:59:27 -07:00
Siebrand Mazeland
fb32108707 Localisation updates from http://translatewiki.net. 2010-10-20 19:51:49 +02:00
Siebrand Mazeland
bee51e1cec Localisation updates from http://translatewiki.net. 2010-10-20 02:43:14 +02:00
Siebrand Mazeland
5ee4e52488 Localisation updates from http://translatewiki.net. 2010-10-20 01:24:09 +02:00
Evan Prodromou
0f68fd203d Merge remote branch 'gitorious/0.9.x' into 0.9.x 2010-10-18 16:43:08 -04:00
Evan Prodromou
749fe8ca2e OpenX plugin admin panel 2010-10-18 16:42:43 -04:00
Siebrand Mazeland
3c10602561 Merge branch '0.9.x' of git://gitorious.org/statusnet/mainline into 0.9.x 2010-10-18 22:11:33 +02:00
Siebrand Mazeland
e6df1b19df Localisation updates from http://translatewiki.net 2010-10-18 22:03:29 +02:00
Brion Vibber
aa80d8fee3 Clean up edge cases in OStatus FeedDiscoveryTest 2010-10-18 12:45:55 -07:00
Siebrand Mazeland
a7d818bcdb Remove superfluous whitespace 2010-10-18 21:44:51 +02:00
Brion Vibber
d67a9b437c Avoid notice in DirectionDetectorPlugin when dealing with empty string. 2010-10-18 12:23:01 -07:00
Brion Vibber
e04a6ef93e Make HTTP timeout configurable on OStatus's remote-tests.php (needs to be pumped up a fair amount when doing Salmon pings with queues off on the test boxes, especially without the fast math library) 2010-10-18 11:27:22 -07:00
Siebrand Mazeland
77191f455a Change incorrect use of e.g. to i.e.
Spotted by The Evil IP address.
2010-10-16 14:20:30 +02:00
Siebrand Mazeland
1d6d0cbcbd Use common case instead of WARNING in all caps.
Spotted by The Evil IP address.
2010-10-16 14:15:02 +02:00
Evan Prodromou
ecb582e419 accept profile URL as a LRDD identifier 2010-10-14 11:07:37 -04:00
Evan Prodromou
23ac961624 Show Webfinger, URI and profile page as subject and aliases 2010-10-14 11:06:57 -04:00
Evan Prodromou
ddb60a8191 Merge remote branch 'gitorious/0.9.x' into 0.9.x 2010-10-13 15:18:32 -04:00
Brion Vibber
6c77d86b7f Merge branch 'master' into 0.9.x 2010-10-13 12:04:20 -07:00
Brion Vibber
bca215563f Clean up remote avatar temporary files if we fail before saving them into avatars directory (OMB core, OStatus, WikiHowProfile, YammerImport) 2010-10-13 11:10:04 -07:00
Brion Vibber
90e54f6cf0 ModHelper -> silence only, don't let them sandbox (it's too confusing atm without a good audit trail) 2010-10-13 10:00:16 -07:00
Brion Vibber
bc0d7f14db Merge branch 'master' of gitorious.org:statusnet/mainline into 0.9.x 2010-10-12 14:54:04 -07:00