Commit Graph

1984 Commits

Author SHA1 Message Date
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
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
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
Siebrand Mazeland
ca6d7f1042 Localisation updates from http://translatewiki.net. 2010-11-05 01:25:50 +01: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
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
Siebrand Mazeland
68bfeaa6c6 Localisation updates from http://translatewiki.net. 2010-10-31 01:38:57 +02: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