summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-12-09Additional in-process cache plugin InProcessCacheEvan Prodromou
Some of our caching systems, like the disk cache or memcached, have significant overhead (network connections or disk I/O). This plugin adds an additional layer of in-process cache, so we don't need to reconnect to external cache systems when we've already received a data item from the cache. There are some concurrency issues here, but typically they won't be important at the level of a single web hit.
2010-12-08Merge branch 'master' into 0.9.xBrion Vibber
2010-12-08Tweak to PiwikAnalytics plugin to help browsers to pre-load piwik.js, may ↵Brion Vibber
shave a little off load time. Piwik's current default recommended JS for loading creates a <script> tag via document.write(). In addition to being generally evil, this means the browser doesn't know it's going to need piwik.js until that chunk of script gets executed... which can't happen until all scripts referenced *before* it have been loaded and executed. The only reason for that bit of script though seems to be to pick 'http' or 'https' depending on the current page's scheme. This can be done more simply by using a protocol-relative link (eg "//piwik.status.net/piwik.js"), which the browser will resolve as appropriate. Since it's now sitting in the <script> tag, the browser's lookahead code will now see it and be able to start loading it while earlier things are parsing/executing. May be better still to move to an asynchronous load after DOM-ready, but I'm not sure if that'll screw with the analytics code (eg, not being able to start things on the DOM-ready events since they're past).
2010-12-08Merge branch 'master' into 0.9.xBrion Vibber
2010-12-08Mapstraction plugin: use minified sources for OpenLayersBrion Vibber
The default full build of OpenLayers.js is 943kb as of 2.10; this gzips down to a couple hundred kb but is still rather nasty, plus loading it off a remote host could slow things down. Using a local copy let us cut down the size significantly by discarding unused features, and further minification with yui-compressor shaves a bit more off. Cuts down to about 1/5 the size of the original. Also threw in a bundled & minified copy of the Mapstraction classes plus our usermap.js, which covers the common case of using the default OpenLayers provider. This cuts out three additional script loads, two of which weren't getting launched until after the mxn.js main file got loaded.
2010-12-08Create a bundled & minified JS file for Mapstraction's common case (using ↵Brion Vibber
OpenLayers); this'll avoid waiting on additional script loads for mxn.core.js and mxn.openlayers.core.js, and removes the need to load usermap.js separately as well.
2010-12-08Add stripped and minified local copy of OpenLayers 2.10, about 1/5 the size ↵Brion Vibber
of the full version. Included Makefile will recreate the OpenLayers.js using the statusnet.cfg strip configuration file and yui-compressor to do some extra minification at the end. Requires fetching the OpenLayers source download and dropping it in: http://openlayers.org/download/OpenLayers-2.10.tar.gz
2010-12-08Don't cache user-specific information for Notice atom entriesEvan Prodromou
2010-12-08Don't cache user-specific information for Notice atom entriesEvan Prodromou
2010-12-07whitespace problems in lib/routerEvan Prodromou
2010-12-07generate links for apinamespace.org/atom and /twitter in userxrdEvan Prodromou
2010-12-07allow <Property> elements in <Link> in XRDEvan Prodromou
2010-12-07fix whitespace in lib/xrdaction.phpEvan Prodromou
2010-12-07Merge branch 'master' of gitorious.org:statusnet/mainlineBrion Vibber
2010-12-07Quick hack to discard twitter broadcast queue items on failure *IF* config ↵Brion Vibber
option 'twitter' 'ignore_errors' is on: $config['twitter']['ignore_errors'] = true; A longer-term solution is to patch up the indirect retry handling to count retries better, or delay for later retry sensibly.
2010-12-06For good measure, don't return autocomplete results when not logged in.Brion Vibber
2010-12-06reindentBrion Vibber
2010-12-06Tweak router target URL for Autocomplete suggestionsBrion Vibber
2010-12-06Update Autocomplete readme: current state seems to work fine on private ↵Brion Vibber
sites, so removing that note.
2010-12-06Ticket #2924: include mini avatars in Autocomplete plugin drop-down listBrion Vibber
Ticket #2923: don't show "(null)" for some profiles with no full name set
2010-12-06Start tweaking Autocomplete jsBrion Vibber
2010-12-06fix breakage in AutocompletePluginBrion Vibber
2010-12-06Merge branch 'linkpreview-fix' into 0.9.xBrion Vibber
2010-12-06minify LinkPreview JS codeBrion Vibber
2010-12-06Ticket #2921: cleanup on LinkPreview to make fewer requests while typing. ↵Brion Vibber
Will now wait for each link's preview request to complete (successfully or unsuccessfully) before re-running it)
2010-12-06use codeKey() in activity cachingEvan Prodromou
2010-12-06Merge branch '0.9.x' into cacheactivityEvan Prodromou
2010-12-06Merge branch 'master' into 0.9.xEvan Prodromou
2010-12-06Merge branch 'master' of gitorious.org:statusnet/mainlineEvan Prodromou
2010-12-06Config flag to disable router caching if neededEvan Prodromou
2010-12-06use Cache::codeKey() in Router classEvan Prodromou
2010-12-06Make code-dependent cache entries more volatileEvan Prodromou
If a cache entry is dependent on the code that's running, upgrading (or enabling/disabling plugins) can generate hard-to-track inconsistencies. This change adds a close-to-unique fingerprint of the running code to some cache keys, so that if the fingerprint changes, the old values are ignored and new values are used. If the automated uniqueness fails, an administrator can add an extra config value, $config['site']['build'], that's thrown into the key also.
2010-12-06Config flag to disable router caching if neededEvan Prodromou
2010-12-06use Cache::codeKey() in Router classEvan Prodromou
2010-12-06Make code-dependent cache entries more volatileEvan Prodromou
If a cache entry is dependent on the code that's running, upgrading (or enabling/disabling plugins) can generate hard-to-track inconsistencies. This change adds a close-to-unique fingerprint of the running code to some cache keys, so that if the fingerprint changes, the old values are ignored and new values are used. If the automated uniqueness fails, an administrator can add an extra config value, $config['site']['build'], that's thrown into the key also.
2010-12-06cache generated activity infoEvan Prodromou
2010-12-06Use short API-style error responses for LinkPreview's oembed proxyBrion Vibber
2010-12-06Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.xEvan Prodromou
2010-12-06correctly generate enclosure in Activity::asString()Evan Prodromou
2010-12-06Merge branch 'master' of gitorious.org:statusnet/mainline into 0.9.xBrion Vibber
Conflicts: classes/User.php
2010-12-06Added User::singleUserNickname() as (temporary?) fallback for single-user ↵Brion Vibber
lookup as a workaround for site setup of 1user sites. We found that an external tool attempting to spin up StatusNet and then register the user would fail because StatusNet's router setup dies on being unable to find its single-user account, since the nickname is needed in setting up routing entries. This tweak will let it survive, using the configured setting as a fallback if it can't actually find the user account.
2010-12-06remove common_debug() from Activity::asString()Evan Prodromou
2010-12-05updated NoticeTitle plugin to use new activity eventsEvan Prodromou
2010-12-05Change documentation for notice-to-activity eventsEvan Prodromou
Because I changed Notice::asAtomEntry() to use Notice::asActivity(), all the events that happened in that function have been removed. I removed the documentation for those events, and added documentation for the new events.
2010-12-05Convert Notice::asAtomEntry() to use Notice::asActivity() and ↵Evan Prodromou
Activity::asString() We had two ways to generate an activity entry from a notice; one through Notice::asAtomEntry() and one through Notice::asActivity() and Activity::asString(). The code paths had already diverged somewhat. I took the conditions that were in Notice::asAtomEntry() and made sure they were replicated in the other two functions. Then, I rewrote Notice::asAtomEntry() to use the other two functions instead. This change passes the ActivityGenerationTests unit tests, but there may be some other stuff that's not getting covered.
2010-12-02URL shortening fix for direct messages: if we're going to shorten the text, ↵Brion Vibber
shorten the rendered text too.
2010-12-02Fix for tickets #2917, #2262: user URL shortening options not being applied ↵Brion Vibber
in non-web channels common_shorten_links() can only access the web session's logged-in user, so never properly took user options into effect for posting via XMPP, API, mail, etc. Adds an optional $user parameter on common_shorten_links(), and a $user->shortenLinks() as a clearer interface for that. Tweaked some lower-level functions so $user gets passed down -- making the $notice_id param previously there for saving URLs at notice save time generalized a little. Note also ticket #2919: there's a lot of duplicate code calling the shortening, checking the length, and reporting near-identical error messages. These should be consolidated to aid in code and translation maintenance.
2010-12-02* fix typo in parameter notationSiebrand Mazeland
* add FIXME for unused message * remove superfluous whitespace
2010-12-02* Fix an incorrectly formatted message parameter in line 334.Siebrand Mazeland
* i18n/L10n updates * translator documentation updated
2010-12-01Ticket #2912 further cleanup: use JS on emailsettings form to help connect ↵Brion Vibber
the 'I want to post by email' checkbox with the controls for adding or removing a post-by-email alias. Now, when you first come up the checkbox will most likely be off and the button to create an address is grayed out. Checking the box enables use of the 'new' button to generate an email address -- it's left disabled until you check the box, so you can't accidentally trip it. Actually adding the address now enables the post-by-mail option, as well, thus ensuring that it's saved. WARNING: OTHER CHANGES ON THE FORM WILL STILL BE LOST. Removing the address now disables the post-by-mail option, so it's not sitting around confusingly enabled but useless. You can still disable the checkbox manually without removing the address, in case you want to keep it for later. It's also still possible to actually save it in the state where the option is enabled, but there's no configured address, but that shouldn't happen too often. Possibly that should be prevented outright though.