Commit Graph

11200 Commits

Author SHA1 Message Date
Evan Prodromou
b3d47ed6cc Make code-dependent cache entries more volatile
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-06 17:05:32 -05:00
Evan Prodromou
8564fc51c5 cache generated activity info 2010-12-06 16:38:02 -05:00
Brion Vibber
fb1fc8a046 Use short API-style error responses for LinkPreview's oembed proxy 2010-12-06 13:37:57 -08:00
Evan Prodromou
da8b268e06 Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.x 2010-12-06 15:52:03 -05:00
Evan Prodromou
0c0418bdfb correctly generate enclosure in Activity::asString() 2010-12-06 15:51:42 -05:00
Brion Vibber
2617c40e04 Merge branch 'master' of gitorious.org:statusnet/mainline into 0.9.x
Conflicts:
	classes/User.php
2010-12-06 12:44:19 -08:00
Brion Vibber
76f3dc32e0 Added User::singleUserNickname() as (temporary?) fallback for single-user 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-06 12:39:09 -08:00
Evan Prodromou
1f0949f9ac remove common_debug() from Activity::asString() 2010-12-06 15:22:52 -05:00
Evan Prodromou
89f5dd4c18 updated NoticeTitle plugin to use new activity events 2010-12-05 16:31:43 -05:00
Evan Prodromou
f7cb854fcd Change documentation for notice-to-activity events
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-05 16:20:00 -05:00
Evan Prodromou
b28266b3d6 Convert Notice::asAtomEntry() to use Notice::asActivity() and 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-05 16:15:05 -05:00
Brion Vibber
043f0ad152 URL shortening fix for direct messages: if we're going to shorten the text, shorten the rendered text too. 2010-12-02 13:59:51 -08:00
Brion Vibber
aa96c3c1d9 Fix for tickets #2917, #2262: user URL shortening options not being applied 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 13:41:56 -08:00
Siebrand Mazeland
c4f67f7647 * fix typo in parameter notation
* add FIXME for unused message
* remove superfluous whitespace
2010-12-02 12:42:58 +01:00
Siebrand Mazeland
086d6c9f36 * Fix an incorrectly formatted message parameter in line 334.
* i18n/L10n updates
* translator documentation updated
2010-12-02 12:33:03 +01:00
Brion Vibber
5d9d0d7349 Ticket #2912 further cleanup: use JS on emailsettings form to help connect 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.
2010-12-01 14:23:56 -08:00
Brion Vibber
36d605a1e9 Ticket #2912 tweaks: clean up wording on the incoming email generator box a bit. 2010-12-01 13:10:54 -08:00
Brion Vibber
3048f9100d Ticket #2912: move 'I want to post notices by email" checkbox up from the email *output* prefs up into the box for the address to post to, so they're next to each other. 2010-12-01 13:04:18 -08:00
Brion Vibber
bc9fcaf2eb Fix for ticket #2911: Hitting enter on the "associate with current account" in OpenID flow failed due to forms being mixed together
Separating the two forms (one to create a local account, the other to attach the OpenID to an existing account) gets them working -- enter activates the appropriate default button.
2010-12-01 12:21:00 -08:00
Brion Vibber
f68d4e7d06 Fix dumb mistake -- changed function names partway through writing Nickname and forgot to update a couple places. :) 2010-12-01 11:21:00 -08:00
Evan Prodromou
0410462c4b add OpenID data to the Webfinger XRD file so you can login with it elsewhere 2010-12-01 13:43:34 -05:00
Evan Prodromou
86383ecb14 Merge remote branch 'gitorious/0.9.x' into 0.9.x 2010-12-01 09:48:58 -05:00
Brion Vibber
18cbdfb49b Ticket #2913: Realtime background update marker no longer triggers false positives when clearing the marker on switching away from the tab in Firefox 4
We were clearing the counter on the window title in the blur event, which gets fired *after* we switch away, thus triggering Firefox to mark the tab as updated again.
Clearing the counter on *focus* instead avoids this, and keeps the counter out of the way as well.
2010-12-01 01:09:14 +00:00
Brion Vibber
c6f5975554 Fix ticket #2914: Realtime no longer tells you it's got a message queued up when it's really the one you just sent out and is already visible. 2010-11-30 16:46:11 -08:00
Brion Vibber
f222e2132d Went through realtimeupdate.js and added documentation comments -- does not alter the minified version. :)
Identified several bugs and fixmes, and added more thorough labeling of the issues with replicating the entire HTML structure of notices (no i18n, missing new features, maintenance problems, possible other issues)
2010-11-30 16:39:09 -08:00
Brion Vibber
749367e12f Merge branch 'master' of gitorious.org:statusnet/mainline into 0.9.x
Conflicts:
	lib/router.php
2010-11-30 16:34:52 -08:00
Brion Vibber
b4fc54c308 Flush router cache when saving Twitter admin settings: adding/removing keys can enable/disable some actions. This avoids having users' Twitter settings unreachable after adding your keys to an installation with TwitterBridge on but not pre-configured. 2010-11-30 12:46:33 -08:00
Brion Vibber
bcccbd6d8a BitlyPlugin: fix for shortening URLs containing ampersand (&) 2010-11-30 12:40:23 -08:00
Siebrand Mazeland
6bdce2b1e5 Localisation updates from http://translatewiki.net. 2010-11-30 21:35:25 +01:00
Evan Prodromou
c9493b55d7 Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.x 2010-11-30 14:46:45 -05:00
Evan Prodromou
7aa201fa52 Merge branch 'master' into 0.9.x
Conflicts:
	lib/router.php
2010-11-30 14:46:26 -05:00
Evan Prodromou
af31767b63 was using Cache::get() and ::set() wrong 2010-11-30 14:44:16 -05:00
Siebrand Mazeland
ee67a0673d Localisation updates from http://translatewiki.net. 2010-11-30 18:53:04 +01:00
Evan Prodromou
0d99a01d74 a quick script to flush the router from cache if needed 2010-11-30 10:27:52 -05:00
Evan Prodromou
0cc332eab6 a quick script to flush the router from cache if needed 2010-11-30 10:27:32 -05:00
Evan Prodromou
c86dff9901 use a CRC32 of the plugin names rather than actual names 2010-11-30 10:11:53 -05:00
Evan Prodromou
8c993a502c use a CRC32 of the plugin names rather than actual names 2010-11-30 10:11:39 -05:00
Evan Prodromou
f5c8549068 Squashed commit of the following:
commit 39fdd181d95d2c39a3ea1ca330b10a99a92b961f
Author: Evan Prodromou <evan@status.net>
Date:   Mon Nov 29 10:37:49 2010 -0500

    use cache key prefix for router cache key

commit 4cb9e56941922489b83d6425c059cf770991e68f
Author: Evan Prodromou <evan@status.net>
Date:   Mon Nov 29 10:31:21 2010 -0500

    use a unique hashkey based on the software version and loaded plugins

commit 44458b48aef719543e11f83b41fded65cbcb8be9
Author: Evan Prodromou <evan@status.net>
Date:   Sat Nov 27 17:04:15 2010 -0500

    cache the NUM object

commit 809c188307a9b4ada15f3d7fa573a6034341efef
Author: Evan Prodromou <evan@status.net>
Date:   Sat Nov 27 15:44:12 2010 -0500

    accelerate routing by pivoting paths on actions
2010-11-30 09:58:00 -05:00
Evan Prodromou
02da858cef Squashed commit of the following:
commit 39fdd181d95d2c39a3ea1ca330b10a99a92b961f
Author: Evan Prodromou <evan@status.net>
Date:   Mon Nov 29 10:37:49 2010 -0500

    use cache key prefix for router cache key

commit 4cb9e56941922489b83d6425c059cf770991e68f
Author: Evan Prodromou <evan@status.net>
Date:   Mon Nov 29 10:31:21 2010 -0500

    use a unique hashkey based on the software version and loaded plugins

commit 44458b48aef719543e11f83b41fded65cbcb8be9
Author: Evan Prodromou <evan@status.net>
Date:   Sat Nov 27 17:04:15 2010 -0500

    cache the NUM object

commit 809c188307a9b4ada15f3d7fa573a6034341efef
Author: Evan Prodromou <evan@status.net>
Date:   Sat Nov 27 15:44:12 2010 -0500

    accelerate routing by pivoting paths on actions
2010-11-30 09:57:02 -05:00
Brion Vibber
8161bf0797 Merge branch 'namecase' into 0.9.x 2010-11-29 16:47:51 -08:00
Brion Vibber
3be352551a Normalize username strings in command parsing 2010-11-29 16:44:40 -08:00
Brion Vibber
3f0557aa8e General code safety: validate input and escape SQL strings in common_relative_profile() 2010-11-29 16:44:01 -08:00
Brion Vibber
e03d2584aa Use Nickname::DISPLAY_FMT instead of manual regex fragments in router setup for nickname parameters. 2010-11-29 16:02:35 -08:00
Zach Copley
f1f67c2af5 FacebookBridge:
- Don't try to access Foreign_link if it doesn't exist
- Remove noisy debugging statement
2010-11-29 23:57:41 +00:00
Brion Vibber
8d3577da34 Replace a couple plugin usages of NICKNAME_FMT with Nickname::normalize() 2010-11-29 15:11:07 -08:00
Brion Vibber
82799f675f Add Nickname test cases for @-reply regexes in common_find_mentions 2010-11-29 15:07:55 -08:00
Brion Vibber
fffc10a230 Nickname class to encapsulate validation & common regexes for nickname formats.
This provides initial infrastructure for decoupling display names from internal canonical names, but continues to have us storing and using the canonical forms.

It should be/become possible to provide mixed-case and underscore-containing names in links, @-mention, !-group, etc, but we don't store those alternate forms generally.
2010-11-29 14:46:10 -08:00
Brion Vibber
dc350b5463 Work in progress on nickname validation changes. lib/nickname.php appears to have been destroyed by NetBeans and will be rewritten shortly. Sigh. 2010-11-29 14:15:25 -08:00
Brion Vibber
6e249b4ab5 doc comments on User::allowed_nickname 2010-11-29 11:57:27 -08:00
Brion Vibber
b7e0078d10 Start on some nickname-validation test cases: several of these fail right now because we had regressions in 0.8 or 0.9 where we lost normalization of uppercase and some other chars. 2010-11-29 11:31:33 -08:00