Brion Vibber [Thu, 24 Feb 2011 00:37:55 +0000 (16:37 -0800)]
Unicodize a couple regexes for tags: fixes linking & detection of non-ASCII tags that match the current regexes.
(Checks for 'letter' and 'number' characters, underscore, dash, and period.)
Brion Vibber [Thu, 24 Feb 2011 00:32:56 +0000 (16:32 -0800)]
replace router regexes with tags with a fixed chunk that takes any non-/ char. This'll let other code decide what's a valid tag.
Brion Vibber [Tue, 22 Feb 2011 00:18:45 +0000 (16:18 -0800)]
Fix ticket #3057: apply HTML escaping on special characters in Twitter import
Changes the replacement of Twitter "entities" from in-place reverse ordering ('to preserve indices') to a forward-facing append-in-chunks that pulls in both the text and link portions, and escapes them all.
This unfortunately means first *de*-escaping the < and > that Twitter helpfully adds for us.... and any literal &blah;s that get written. This seems to match Twitter's web UI, however horrid it is.
Brion Vibber [Tue, 22 Feb 2011 00:10:07 +0000 (16:10 -0800)]
Partial implementation for ticket #2442: MobileProfile plugin should allow manual switching between regular and mobile rendering modes
http://status.net/open-source/issues/2442
Notes:
* Mapstraction causes JavaScript errors in XHTML mode, breaking our code if we're run later so the link doesn't work to get back to Desktop.
* not 100% sure how safe feature detection is here?
* Currently will be useless but visible links if no JS available; need to fall back to server-side for limited browsers
Brion Vibber [Mon, 21 Feb 2011 23:52:12 +0000 (15:52 -0800)]
Ticket #3011: Add attachments/uploads and attachments/file_quota to api/statusnet/config.(xml|json)
file_quota is adjusted from the defined value to take into account the maximum upload size limits in PHP, or cropped to 0 if uploads are disabled.
This can be used by client apps to determine maximum size for an attachment.
Brion Vibber [Mon, 21 Feb 2011 23:01:57 +0000 (15:01 -0800)]
Fix ticket #3001: Twitter bridge was replacing original form of @-mentions with canonical form unexpectedly
Now using the original text form of @-mentions and #-tags, as in Twitter's own HTMLification.
Canonical forms are still used in generating links, where it's polite to match the canonical form.
Brion Vibber [Mon, 21 Feb 2011 22:14:32 +0000 (14:14 -0800)]
Fix issue #3035: search highlighting broke URLs in some imported messages (Twitter)
Search highlighting was being done with a regex on raw HTML text, followed by a second regex undoing replacements within double-quoted attribute values.
This broke on imported Twitter messages, as the way we generate the markup uses single quotes on the attributes, which didn't get matched by the second regex.
I've replaced this do-then-undo cycle by dividing up the import HTML into freetext spans and tags; the freetext gets replaced, while the tags are left untouched.
Brion Vibber [Mon, 21 Feb 2011 19:42:32 +0000 (11:42 -0800)]
Fixes for ticket #3052: some commands started triggering when extra text is supposed to suppress them
Regressions caused by bad refactoring in commit
21feac3bea72b0ecd88a3.
Test cases in tests/CommandInterpreterTest.php were made against the pre-refactoring code, and now check out with the fixed code.
Failures were caused by not changing logic structure when moving from multiple exit points (each if point would return directly with a null or an object) to setting a result variable and then falling through to a common exit point. Without the if statements being restructured, the result variable would just get overridden by the next case.
Brion Vibber [Mon, 21 Feb 2011 20:09:54 +0000 (12:09 -0800)]
CommandInterpreter test cases to guard against regressions
Brion Vibber [Mon, 21 Feb 2011 19:23:07 +0000 (11:23 -0800)]
Issue #3049 - resync doc/im with the help command text (various additions since doc was last edited)
Brion Vibber [Fri, 18 Feb 2011 00:46:08 +0000 (16:46 -0800)]
Blow user:site_owner cache when granting/revoking 'owner' role
Evan Prodromou [Thu, 17 Feb 2011 15:51:00 +0000 (10:51 -0500)]
use fallback URIs for groups when filling in attention in Notice::asActivity()
Evan Prodromou [Wed, 16 Feb 2011 18:56:30 +0000 (13:56 -0500)]
add path separators for Plugin::path()
Evan Prodromou [Mon, 14 Feb 2011 17:41:52 +0000 (12:41 -0500)]
Merge remote branch 'origin/master'
Evan Prodromou [Mon, 14 Feb 2011 17:41:20 +0000 (12:41 -0500)]
backup action is read-only
Zach Copley [Sun, 13 Feb 2011 00:40:28 +0000 (00:40 +0000)]
Atom - output nickname for atom:name in atom:author
Brion Vibber [Fri, 11 Feb 2011 22:11:37 +0000 (14:11 -0800)]
Update translator comment for the url shortener "free service" marker: free as in open
Brion Vibber [Fri, 11 Feb 2011 21:21:53 +0000 (13:21 -0800)]
Fix for failure/exception on subscription/subscriber lists when deleted profiles are stuck in cached list.
Workaround for deleted profiles still appearing in cached subscriptions/subscribers lists: if we couldn't fetch them, don't include them in the ArrayWrapper.
ArrayWrapper doesn't deal well with null entries, which aren't meant to happen in how it works. This code has recently changed from dying directly with a PHP fatal error in that case to throwing an exception, which allows tracking down the caller.
It looks like there might be some cases where profiles and their matching subscriptions get deleted, but the subscription entries don't get properly cleared from cache... that still bears further investigation. The regular code path looks ok; calls Subscription::cancel() from code called in Profile::delete(); but if they're batch-deleted instead of one row at a time, that could fail to trigger.
Evan Prodromou [Fri, 11 Feb 2011 21:01:57 +0000 (16:01 -0500)]
Merge branch 'master' of gitorious.org:statusnet/mainline
Evan Prodromou [Fri, 11 Feb 2011 20:58:47 +0000 (15:58 -0500)]
add plugins/sslpath setting, default to site path/plugins
Brion Vibber [Fri, 11 Feb 2011 20:23:03 +0000 (12:23 -0800)]
add --all and --suspicious options for update-profile-data.php
Brion Vibber [Fri, 11 Feb 2011 20:13:33 +0000 (12:13 -0800)]
refactor for multi....
Brion Vibber [Fri, 11 Feb 2011 20:08:35 +0000 (12:08 -0800)]
woops
Brion Vibber [Fri, 11 Feb 2011 19:55:23 +0000 (11:55 -0800)]
Work in progress: update-profile-data.php to update ostatus profile info from the current feed
Evan Prodromou [Fri, 11 Feb 2011 03:23:06 +0000 (22:23 -0500)]
Merge branch 'master' of gitorious.org:statusnet/mainline
Evan Prodromou [Fri, 11 Feb 2011 03:21:56 +0000 (22:21 -0500)]
Merge remote branch 'dev/master'
Evan Prodromou [Fri, 11 Feb 2011 03:01:24 +0000 (03:01 +0000)]
get the subject first if you go to the feed
Evan Prodromou [Fri, 11 Feb 2011 02:59:18 +0000 (02:59 +0000)]
check legacy <actor> and <subject> first from feed
Brion Vibber [Thu, 10 Feb 2011 20:04:13 +0000 (12:04 -0800)]
Merge branch 'master' into 0.9.x
Brion Vibber [Thu, 10 Feb 2011 18:53:24 +0000 (10:53 -0800)]
Fix for ticket #3039: TwitterBridge was incorrectly sending repeats of Twitter-bound messages if the repeater has sending of things to Twitter disabled.
A repeat/retweet is roughly equivalent to an active direct post, so should follow the posting rules, rather than always sending over as we do for fave notifications.
Zach Copley [Thu, 10 Feb 2011 18:26:36 +0000 (10:26 -0800)]
Merge branch 'master' of gitorious.org:statusnet/mainline
* 'master' of gitorious.org:statusnet/mainline:
Show aside primary on settings pages for all themes.
correct error in README on default for deletion
Zach Copley [Thu, 10 Feb 2011 18:24:38 +0000 (10:24 -0800)]
FacebookBridge - remove unnecessary warning and noisy debugging statement
Samantha Doherty [Thu, 10 Feb 2011 18:23:20 +0000 (13:23 -0500)]
Show aside primary on settings pages for all themes.
Evan Prodromou [Thu, 10 Feb 2011 15:11:30 +0000 (10:11 -0500)]
correct error in README on default for deletion
Evan Prodromou [Thu, 10 Feb 2011 14:39:40 +0000 (09:39 -0500)]
Try not to wipe out good data with empty values in Ostatus_profile::updateProfile()
Output from 0.9.6 PuSH feeds seems to have a rump <author> but no
<activity:actor>. It was overwriting valid and useful data set up at
subscribe time.
This fix tries to avoid overwriting data. However, it may prevent
updates that delete data.
Bug: 3028
Zach Copley [Thu, 10 Feb 2011 07:18:14 +0000 (23:18 -0800)]
Atom output - Reinstate activity:actor and activity:subject
w/deprecation warnings. Also add statusnet:profile_info back into
author/actor.
Brion Vibber [Wed, 9 Feb 2011 21:50:31 +0000 (13:50 -0800)]
Merge branch 'master' of gitorious.org:statusnet/mainline
Brion Vibber [Wed, 9 Feb 2011 21:46:48 +0000 (13:46 -0800)]
Partial revert of
073f3e99: restores the original non-hashbang URLs for twitter users as the remote profile.
Should fix issue #3027: twitter user avatars not getting imported.
Due to the change in URI, all twitter users that had been previously seen were getting new profile entries, which tried to save the same avatar. This would fail as Avatar.url has a unique index.
Note: now anything new seen in the last couple days in production will still potentially conflict.
Evan Prodromou [Wed, 9 Feb 2011 16:04:52 +0000 (11:04 -0500)]
Remove executable bits from Auth_SASL files
Evan Prodromou [Wed, 9 Feb 2011 16:03:44 +0000 (11:03 -0500)]
include Auth_SASL from PEAR in extlib
Brion Vibber [Wed, 9 Feb 2011 08:11:28 +0000 (00:11 -0800)]
Merge branch 'ssltweak'
Brion Vibber [Wed, 9 Feb 2011 08:09:25 +0000 (00:09 -0800)]
Further tweak for ssl paths in plugin check (sslserver may be set but empty)
Evan Prodromou [Wed, 9 Feb 2011 08:09:24 +0000 (03:09 -0500)]
Merge branch 'master' of gitorious.org:statusnet/mainline
Evan Prodromou [Wed, 9 Feb 2011 08:08:52 +0000 (03:08 -0500)]
ensure*() functions throw exceptions for errors
Brion Vibber [Wed, 9 Feb 2011 08:04:01 +0000 (00:04 -0800)]
Tweak to use site/server fallback when no plugins/sslserver or site/sslserver and generating plugin CSS
Brion Vibber [Wed, 9 Feb 2011 07:34:37 +0000 (23:34 -0800)]
LOG_WARN -> LOG_WARNING
Brion Vibber [Wed, 9 Feb 2011 06:55:15 +0000 (22:55 -0800)]
0.9.7beta2 (for js update)
Brion Vibber [Wed, 9 Feb 2011 06:28:23 +0000 (22:28 -0800)]
Revert jQuery Form to r2.17 -- the latest fails with our Meteor stuff the way it tweaks document.domain (which also causes other AJAX-related problems and needs to be destroyed one of these days...)
Zach Copley [Wed, 9 Feb 2011 04:49:39 +0000 (04:49 +0000)]
FacebookBridge plugin - allow Facebook app ID and secret to be
initialized via config.php
Evan Prodromou [Tue, 8 Feb 2011 18:39:41 +0000 (13:39 -0500)]
Merge branch 'testing'
Evan Prodromou [Tue, 8 Feb 2011 18:39:17 +0000 (13:39 -0500)]
Merge remote branch 'origin/pluginstatic' into testing
Evan Prodromou [Tue, 8 Feb 2011 16:53:37 +0000 (11:53 -0500)]
Merge branch 'testing'
Evan Prodromou [Tue, 8 Feb 2011 16:53:30 +0000 (11:53 -0500)]
change alpha1 to beta1
Evan Prodromou [Tue, 8 Feb 2011 16:52:40 +0000 (11:52 -0500)]
Merge branch 'testing'
Conflicts:
plugins/Facebook/facebookaction.php
plugins/Facebook/facebookhome.php
plugins/Facebook/facebookutil.php
Evan Prodromou [Tue, 8 Feb 2011 16:33:36 +0000 (11:33 -0500)]
Make ShowmessageAction not be a subclass of MailboxAction
The ShowmessageAction was using the MailboxAction to do its display of
a single direct message. Since we redid the nickname management, this
was breaking (MailboxAction requires a nickname argument,
ShowmessageAction does not, and nickname validation that used to
quietly fail now throws an exception).
I've moved the message list processing to its own widget class, so the
need to subclass MailboxAction has disappeared. I've rewritten this
action to use the MessageListItem widget, and it works fine now.
Evan Prodromou [Tue, 8 Feb 2011 16:32:35 +0000 (11:32 -0500)]
correctly show the source of messages in a message list
Evan Prodromou [Tue, 8 Feb 2011 16:11:21 +0000 (11:11 -0500)]
Create and use MessageList widget
Our mailbox actions (inbox and outbox) were doing their own display of
messages. This was causing issues with especially showmessage, which
since the more rigourous nickname checks were added, no longer works as
a mailbox subclass.
I've taken the time to rip out the message listing code from MailboxAction
and moved it to a MessageList widget. The different mailboxes now have their
own subclasses that show the correct profile in the list.
Brion Vibber [Mon, 7 Feb 2011 22:38:35 +0000 (14:38 -0800)]
Issue #3025: string -> boolean for profile_background_tile entry in JSON user results from Twitter-compat API
This entry was using the strings 'true' and 'false' instead of literal booleans, which could confuse clients expecting literal booleans as in other places and on Twitter in this place.
Brion Vibber [Mon, 7 Feb 2011 20:39:40 +0000 (12:39 -0800)]
Add a brief explanation of what group inbox is at the top of the page (instructions section), plus a message to show when there are no private messages in the inbox.
Brion Vibber [Mon, 7 Feb 2011 20:20:12 +0000 (12:20 -0800)]
Merge branch 'testing' of gitorious.org:statusnet/mainline into testing
Brion Vibber [Mon, 7 Feb 2011 20:18:41 +0000 (12:18 -0800)]
Fix group regexes that got missed in Nickname::DISPLAY_FMT update: fixes bug where group linking happened, but not actual delivery, when using _underscores_ in the !group_name
Evan Prodromou [Mon, 7 Feb 2011 19:24:35 +0000 (14:24 -0500)]
hide feeds from group page if it's private-only
Evan Prodromou [Mon, 7 Feb 2011 19:21:54 +0000 (14:21 -0500)]
Show a little indicator for private-only groups
Evan Prodromou [Mon, 7 Feb 2011 19:04:58 +0000 (14:04 -0500)]
add hooks for Group profile information
Evan Prodromou [Mon, 7 Feb 2011 17:58:42 +0000 (12:58 -0500)]
Force notices to DMs when privacy = always
Evan Prodromou [Mon, 7 Feb 2011 17:28:58 +0000 (12:28 -0500)]
Change category and copyright year
Evan Prodromou [Mon, 7 Feb 2011 17:27:09 +0000 (12:27 -0500)]
Merge branch 'testing' into privategroup
Evan Prodromou [Mon, 7 Feb 2011 17:08:18 +0000 (12:08 -0500)]
pagination for group inbox
Evan Prodromou [Mon, 7 Feb 2011 16:57:34 +0000 (11:57 -0500)]
Rename PrivateGroup to GroupPrivateMessage to be clearer
Evan Prodromou [Mon, 7 Feb 2011 16:55:16 +0000 (11:55 -0500)]
Add group info to new group message email
Evan Prodromou [Mon, 7 Feb 2011 16:51:38 +0000 (11:51 -0500)]
button on the group page to post a new message
Evan Prodromou [Mon, 7 Feb 2011 16:24:00 +0000 (11:24 -0500)]
Form for posting a group message on group inbox
Evan Prodromou [Mon, 7 Feb 2011 15:23:56 +0000 (10:23 -0500)]
Add a hook for group action list
Evan Prodromou [Mon, 7 Feb 2011 15:18:54 +0000 (10:18 -0500)]
Show group local nav on group inbox
Evan Prodromou [Mon, 7 Feb 2011 14:46:26 +0000 (09:46 -0500)]
Show private messages to groups in a list
Shows the messages to a private group in a list. New classes for
showing a group private message and list of group private messages.
New actions for showing a stream of group private messages and a
single group private message.
Evan Prodromou [Sat, 5 Feb 2011 21:18:59 +0000 (16:18 -0500)]
move MESSAGES_PER_PAGE to common.php
Evan Prodromou [Fri, 4 Feb 2011 20:51:59 +0000 (15:51 -0500)]
Send a private group message with a d command
Evan Prodromou [Thu, 3 Feb 2011 22:06:15 +0000 (17:06 -0500)]
commands are always lowercased in interpreter
Evan Prodromou [Thu, 3 Feb 2011 22:04:16 +0000 (17:04 -0500)]
hooks for commands
Evan Prodromou [Thu, 3 Feb 2011 21:39:52 +0000 (16:39 -0500)]
save group privacy settings
Evan Prodromou [Thu, 3 Feb 2011 21:19:41 +0000 (16:19 -0500)]
hook for new group through a form, same as editing
Evan Prodromou [Thu, 3 Feb 2011 20:30:57 +0000 (15:30 -0500)]
autoload private group classes
Evan Prodromou [Thu, 3 Feb 2011 20:28:41 +0000 (15:28 -0500)]
redo the group dm schema, again
Evan Prodromou [Thu, 3 Feb 2011 18:58:56 +0000 (13:58 -0500)]
only blow public timeline cache if notice is in it
Evan Prodromou [Thu, 3 Feb 2011 17:56:55 +0000 (12:56 -0500)]
Merge branch 'testing' into privategroup
Conflicts:
lib/groupeditform.php
Evan Prodromou [Thu, 3 Feb 2011 17:22:39 +0000 (12:22 -0500)]
FacebookBridge use Plugin::path()
Evan Prodromou [Thu, 3 Feb 2011 17:18:57 +0000 (12:18 -0500)]
Realtime needs to load from own directory, not subclass's
Evan Prodromou [Thu, 3 Feb 2011 17:04:54 +0000 (12:04 -0500)]
Bookmark uses Plugin::path()
Evan Prodromou [Thu, 3 Feb 2011 16:51:58 +0000 (11:51 -0500)]
YammerImport uses Plugin::path()
Evan Prodromou [Thu, 3 Feb 2011 16:49:00 +0000 (11:49 -0500)]
ShareNotice uses Plugin::path()
Evan Prodromou [Thu, 3 Feb 2011 16:46:20 +0000 (11:46 -0500)]
MobileProfile uses Plugin::path()
Evan Prodromou [Thu, 3 Feb 2011 16:42:58 +0000 (11:42 -0500)]
Merge branch 'testing' into pluginstatic
Evan Prodromou [Thu, 3 Feb 2011 16:42:36 +0000 (11:42 -0500)]
fix variable name in NewMenu
Evan Prodromou [Thu, 3 Feb 2011 16:41:47 +0000 (11:41 -0500)]
NewMenu uses Plugin::path()
Evan Prodromou [Thu, 3 Feb 2011 16:38:11 +0000 (11:38 -0500)]
FIXME for Plugin::path() in TinyMCE
Evan Prodromou [Thu, 3 Feb 2011 16:30:14 +0000 (11:30 -0500)]
TabFocus uses Plugin::path()
Evan Prodromou [Thu, 3 Feb 2011 16:28:39 +0000 (11:28 -0500)]
ModPlus uses Plugin::path()
Evan Prodromou [Thu, 3 Feb 2011 16:25:56 +0000 (11:25 -0500)]
LinkPreview uses Plugin::path()
Evan Prodromou [Thu, 3 Feb 2011 16:23:39 +0000 (11:23 -0500)]
InfiniteScroll uses Plugin::path()
Evan Prodromou [Thu, 3 Feb 2011 16:20:57 +0000 (11:20 -0500)]
DirectionDetector uses Plugin::path()