Commit Graph

2070 Commits

Author SHA1 Message Date
Brion Vibber
b5fc71253c LinkPreview: restructure a bit so we can pass config over 2010-11-16 14:27:01 -08:00
Brion Vibber
eeb7f02b98 LinkPreview: piggyback on the counter update logic, cache lookups. 2010-11-16 14:16:23 -08:00
Brion Vibber
f103a55052 LinkPreview: link the thumbnails 2010-11-16 13:58:22 -08:00
Brion Vibber
5166e71d24 LinkPreview plugin more or less functioning (though not pretty), using oohembed remote lookup and fixed sizes. 2010-11-16 13:49:23 -08:00
Brion Vibber
e851882f96 LinkPreview: flesh out stub JS code a bit. URL splitting doesn't quite match core, note. 2010-11-16 13:16:25 -08:00
Brion Vibber
450707fec6 Stub LinkPreview plugin 2010-11-16 12:41:35 -08:00
Zach Copley
4f63b5cff6 FacebookSSO -> FacebookBridge 2010-11-16 02:33:17 +00:00
Zach Copley
bd566b6f85 Merge branch '0.9.x' into facebook-upgrade 2010-11-16 02:32:46 +00:00
Zach Copley
ca4c0a1601 - Map notices to Facebook stream items
- rename plugin FacebookBridgePlugin
- delete/like/unlike notices across the bridge
2010-11-16 02:30:08 +00:00
Brion Vibber
eb0495d107 Merge branch 'master' into 0.9.x 2010-11-15 17:46:43 -08:00
Brion Vibber
54de6d3260 Forgot to commit the JS for ModPlus. :) 2010-11-15 17:45:58 -08:00
Brion Vibber
e4eb3b3dfd Merge branch 'master' of gitorious.org:statusnet/mainline into 0.9.x 2010-11-15 17:36:48 -08:00
Brion Vibber
25170f272c visual cleanup on ModPlus remote profile info popup menu 2010-11-15 17:32:33 -08:00
Brion Vibber
fdcaac3653 Tweak remote profile action: hide stats from sidebar, tweak wording on remote notice 2010-11-15 16:38:18 -08:00
Brion Vibber
5fdcba472b RemoteProfileAction cleanup:
- meta robots to prevent spidering
- a little notice if silenced
2010-11-15 16:12:16 -08:00
Brion Vibber
88c35c2cce visual tweaks for RemoteProfileAction 2010-11-15 15:57:57 -08:00
Brion Vibber
16f1c764c0 RemoteProfileAction: redirect to the regular user profile page if given a local user. 2010-11-15 15:40:07 -08:00
Brion Vibber
0e763b4902 Stub RemoteprofileAction to show the standard profile header stuff for offsite users -- provides a way to get at the mod & block controls for remote users. 2010-11-15 15:34:12 -08:00
Brion Vibber
227d4b6889 Stub ModPlus plugin: will hold experimental UI improvements for mod actions 2010-11-15 14:15:41 -08:00
Brion Vibber
398e622fec Save attached URLs when importing a Twitter status: this lets our thumbnail detection handle photos and videos linked to by Twitter posters. 2010-11-12 17:40:34 -08:00
Brion Vibber
65eeb7cba5 Merge branch 'master' of gitorious.org:statusnet/mainline into 0.9.x
Conflicts:
	actions/newgroup.php
2010-11-12 13:32:48 -08:00
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
Evan Prodromou
fdf3a23da7 don't try to initialize the mapstraction canvas if it doesn't exist 2010-11-12 11:46:45 -05:00
Evan Prodromou
2d55bc0e5b give users a chance to opt out of email summaries 2010-11-11 14:51:14 -05:00
Evan Prodromou
adb16b8098 fix update of email prefs in queue handler 2010-11-11 14:50:53 -05:00
Zach Copley
3c921f38de Add an action to handle deauthorization callbacks from Facebook 2010-11-10 01:18:06 +00:00
Zach Copley
5b94d9e86b Merge branch '0.9.x' into facebook-upgrade 2010-11-09 23:16:17 +00:00
Zach Copley
17ae690d59 Make a richer StatusNet profile from a user's Facebook profile 2010-11-09 23:14:50 +00:00
Evan Prodromou
e87323e426 change width of notices table to display better 2010-11-09 13:04:11 -05:00
Evan Prodromou
17ab5c31ed some alignment in the table layout 2010-11-09 07:04:50 -05:00
Evan Prodromou
76aed36f38 set height and width of avatar td in email summary 2010-11-09 06:59:16 -05:00
Zach Copley
cd236efe12 - Still send notices to Facebook from existing Facebook app users
- Turns out we don't need the old REST lib to use the old REST API
(removed)
2010-11-09 00:56:53 +00:00
Evan Prodromou
974e41aa4b change to a table for HTML output 2010-11-08 18:14:13 -05:00
Evan Prodromou
37407d8c77 stylesheet for outgoing email 2010-11-08 17:31:21 -05:00
Evan Prodromou
0a56523461 Fixup headers for HTML email 2010-11-08 17:22:16 -05:00
Evan Prodromou
797059340e Complete email summary sending system
Added the necessary classes to send email summaries. First, added a
script to run on a daily basis. Second, added a queue handler for
sending email summaries for users, and another to queue summaries for
all users on the site. Fixed up the email_summary_status table to
store the last-sent notice id, rather than a datetime (since we don't
support 'since' parameters anymore). Finally, made the plugin class
load the right modules when needed.
2010-11-08 13:10:09 -05:00
Evan Prodromou
9003769609 Merge branch '0.9.x' into emailsummary 2010-11-08 13:09:25 -05:00
Evan Prodromou
35931e3a0e first steps for email summary 2010-11-08 10:36:19 -05:00
Siebrand Mazeland
f8b2ec4b53 Localisation updates from http://translatewiki.net. 2010-11-07 22:33:23 +01:00
Siebrand Mazeland
7aa24cbc67 Localisation updates from http://translatewiki.net 2010-11-07 22:04:44 +01:00
Siebrand Mazeland
91e8e6f385 Fix typo. Spotted by EugeneZelenko. 2010-11-06 00:54:34 +01:00
Zach Copley
035081a803 Much more reliable Facebook SSO 2010-11-05 06:34:06 +00:00
Siebrand Mazeland
ca6d7f1042 Localisation updates from http://translatewiki.net. 2010-11-05 01:25:50 +01:00
Zach Copley
c0cce18913 - Some reorganizing
- Making the Facebook bridging work
2010-11-04 00:43:40 +00:00
Brion Vibber
a3928e5583 UserFlagPlugin fix for ticket #2118 and ticket #2847: flagged state wasn't reflected in profile lists such as group members page and profile search .
Pulled common code for the profile page and profile list cases to give them the same logic on checking. Also fixes the problem that you'd get a flag button for yourself in profile lists, while we explicitly exclude that from the profile page -- it's now skipped in both places.
2010-11-03 14:06:06 -07:00
Brion Vibber
6e03456753 Migrate some more code from manually constructing "fullname (nickname)" to using Profile->getFancyName(). Encapsulates common logic and allows for localization of the parens. 2010-11-03 13:10:42 -07:00
Brion Vibber
dc4fafbbd1 General cleanup & part of ticket #2864: use User_group->getFancyName() instead of replicating the logic in various places. Encapsulates and allows for localization of parens. 2010-11-03 12:59:19 -07:00
Brion Vibber
5592333b73 Fix for ticket #2168: if we've already flagged a profile from another window, let the 'Flag' form submission gracefully show the updated state instead of throwing an error (error message isn't even exposed properly in AJAX submissions) 2010-11-03 12:32:11 -07:00
Brion Vibber
607d958977 UserFlag fixes to prevent PHP notices breaking AJAX submissions when display_errors is on. Key & seq defs weren't quite right, which caused accesses to unset array indices in DB_DataObject. 2010-11-03 12:20:25 -07:00
Brion Vibber
1ceaa50cb0 Merge branch 'twitstream' into 0.9.x 2010-11-02 16:55:55 -07:00
Brion Vibber
9cbda32768 Pull out the 'tweetctl' queue for now; these should go over control signals, and actual handling isn't implemented yet anyway. 2010-11-02 16:51:07 -07:00
Brion Vibber
a2f0f68d75 fakestream.php can now take --all option to pull the latest messages from multiple locally-authed accounts when generating simulated sitestreams info 2010-11-02 16:43:01 -07:00
Brion Vibber
445b306b54 fakestream.php: script to build an emulated Twitter Site Stream from live Twitter data, for testing. 2010-11-02 16:27:14 -07:00
Brion Vibber
28703deb8f Allow custom apiroot for site streams testing on streamtest 2010-11-02 16:26:51 -07:00
Zach Copley
e716c3ebaf Merge branch '0.9.x' into facebook-upgrade 2010-11-02 23:17:07 +00:00
Zach Copley
5ea0461145 Facebook SSO - Log the user out of Facebook when s/he logs out of StatusNet 2010-11-02 23:16:32 +00:00
Siebrand Mazeland
ec79572964 Localisation updates from http://translatewiki.net. 2010-11-03 00:04:26 +01:00
Siebrand Mazeland
973a48bded i18n/L10n fixes and translator documentation addded/updated. 2010-11-02 23:48:36 +01:00
Brion Vibber
905d621b6f Merge branch '0.9.x' into twitstream 2010-11-02 15:10:56 -07:00
Brion Vibber
c6d4612f49 Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.x 2010-11-02 13:14:42 -07:00
Brion Vibber
86201761ea Use SN.msg() and onEndScriptMessages() to export localized UI messages from Realtime plugin and its descendents. 2010-11-02 13:12:58 -07:00
Brion Vibber
5a9bb0adc4 Tossing in a basic i18n message export to script code. Plugins can hook StartScriptMessage/EndScriptMessage, or directly add needed mappings in Action::getScriptMessages(). Exported entries are accessible as SN.msg(key) at runtime.
StatusNet core code now sets the tooltip text on .attachment.more links when they receive their attachment-expansion magic; this will override the hardcoded tooltip text saved from OStatus plugin when displaying timelines in the web UI.
2010-11-02 13:05:16 -07:00
Siebrand Mazeland
194bb02252 * add POT file
* remove superfluous whitespace
* break lines at 80 or before in README
2010-11-02 20:49:34 +01:00
Brion Vibber
151eebcc28 Starting on making Realtime plugin's UI messages localizable: pause/play, popup button text and tooltip text are now loaded from PHP code where we can get at gettext. 2010-11-02 11:46:29 -07:00
Brion Vibber
23f69c80b5 Merge branch '0.9.x' into twitstream 2010-11-02 11:15:57 -07:00
Zach Copley
5ccc548bbc Facebook SSO - new settings page 2010-11-02 01:41:31 +00:00
Zach Copley
b54afa0cbc Facebook SSO - add ability to register a new user or connect to an
existing local account
2010-11-01 23:50:45 +00:00
Zach Copley
2306f7a7f4 Merge branch '0.9.x' into facebook-upgrade 2010-11-01 19:13:31 +00:00
Siebrand Mazeland
68bfeaa6c6 Localisation updates from http://translatewiki.net. 2010-10-31 01:38:57 +02:00
Zach Copley
5738e0e4a9 Beginnings of a new Facebook integration plugin 2010-10-30 00:44:16 +00:00
Brion Vibber
62408fef09 Work in progress on twitter import daemon 2010-10-29 14:12:40 -07:00
Brion Vibber
d743539cf7 Fixups for twitter streaming daemon 2010-10-29 13:41:15 -07:00
Brion Vibber
47eada3a95 Work in progress on site streams-aware TwitterDaemon 2010-10-29 13:18:03 -07:00
Brion Vibber
86adc575ec TweetInQueueHandler: run incoming tweets through the queues to keep the Twitter streaming daemon clear. 2010-10-29 13:14:12 -07:00
Brion Vibber
15b108620e Fix a couple 'continue's from old looping code in Twitter importer (-> return null) 2010-10-29 13:06:32 -07:00
Brion Vibber
e76028b629 Work in progress: starting on new TwitterDaemon using the Site Streams API -- code is incomplete, pulling bits from streamtest.php pending a chance to test the actual site-streams mode 2010-10-28 18:26:48 -07:00
Brion Vibber
e62254f8cc Merge branch '0.9.x' into twitstream 2010-10-28 16:30:40 -07: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
Brion Vibber
8ff44a1fb9 Merge branch '0.9.x' into twitstream 2010-10-26 15:39:31 -07: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