Brion Vibber [Fri, 13 Aug 2010 18:41:44 +0000 (11:41 -0700)]
Fixes for RSS subscriptions: accept posts with no ActivityStreams object-type set; be more liberal about accepting posts from feeds where the author info doesn't match (we'll post under the feed's profile and just not try to update the profile info).
Brion Vibber [Thu, 12 Aug 2010 22:19:47 +0000 (15:19 -0700)]
Fix for ticket 2513: "Can't linkify" error when some links are shortened
When bogus SSL sites etc were hit through a shortening redirect, sometimes link resolution kinda blew up and the user would get a "Can't linkify" error, aborting their post.
Now catching this case and just passing through the URL without attempting to resolve it. Could benefit from an overall scrubbing of the freaky link/attachment code though...! :)
Brion Vibber [Thu, 12 Aug 2010 19:47:07 +0000 (12:47 -0700)]
TinyMCE: counter support (may not be 100% exact match to server-side count, but there's already discrepencies due to URL shortening)
Fix for bad char conversions also, caused short text to not be saved in some cases.
Brion Vibber [Wed, 11 Aug 2010 20:38:09 +0000 (13:38 -0700)]
TinyMCE: add Shane Tomlinson's linkautodetect plugin so typed URLs get linked for you, fitting expected user behavior better. (IE apparently already does this; plugin adds similar behavior for other browsers.)
Plugin source: http://sourceforge.net/tracker/?func=detail&aid=2770218&group_id=103281&atid=738747
Source JS compressed manually with jsmin.
Note: the link detection doesn't match StatusNet's internal link detection right now. URLs with funky chars, especially like Wikipedia style ones, will often not automatically catch. (But you should still be able to manually link them.)
Brion Vibber [Wed, 11 Aug 2010 19:49:02 +0000 (12:49 -0700)]
TinyMCE: use inlinepopups mode, so linking dialog appears as a lightbox instead of a separate browser window (which may trigger popup blockers, plays very poorly with fullscreen netbook UIs, and is generally annoying)
Brion Vibber [Tue, 10 Aug 2010 20:19:27 +0000 (13:19 -0700)]
Fix for FeedDiscovery test cases: note that some test cases with relative URLs fail that include a schema but not a host. Not 100% sure those are legit, need to check.
Brion Vibber [Mon, 2 Aug 2010 23:08:54 +0000 (16:08 -0700)]
Initial support for third-party fallback hub such as Superfeedr for feed subscriptions.
If set up, this hub will be used to subscribe to feeds that don't specify a hub of their own.
Assumes that the fallback hub will, in fact, handle polling and updates for any feed we throw at it!
Authentication may be specified for the fallback hub.
Also:
* Fix for WordPress-RSS-via-Superfeedr-Atom; if we have <author> info but no ID from a native ActivityStreams actor, don't freak out in the low-level processing code that checks for identity matches.
* enhanced messages for low-level FeedSub exceptions if they make it to outside display
Brion Vibber [Fri, 6 Aug 2010 17:56:18 +0000 (10:56 -0700)]
OStatus/FeedSub: tweaked PuSH feed garbage collection so other plugins can declare usage of a low-level feed or an OStatus profile besides profile subscriptions & group memberships.
SubMirror: redid add-mirror frontend to accept a feed URL, then pass that on to OStatus, instead of pulling from your subscriptions.
Profile: tweaked subscriberCount() so it doesn't subtract 1 for foreign profiles who aren't subscribed to themselves; instead excludes the self-subscription in the count query.
Memcached_DataObject: tweak to avoid extra error spew in the DB error raising
Work in progress: tweaking feedsub garbage collection so we can count other uses
Brion Vibber [Fri, 6 Aug 2010 17:14:07 +0000 (10:14 -0700)]
Partial fix for ticket #2489 -- problems with SNI SSL virtual host certificate validation.
Two prongs here:
* We attempt to enable SNI on the SSL stream context with the appropriate hostname... This requires PHP 5.3.2 and OpenSSL that supports the TLS extensions. Unfortunately this doesn't seem to be working in my testing.
* If set $config['http']['curl'] = true, we'll use the CURL backend if available. In my testing on Ubuntu 10.04, this works. No guarantees on other systems.
I'm not enabling CURL mode by default just yet; want to make sure there's no other surprises.
Brion Vibber [Thu, 5 Aug 2010 20:37:47 +0000 (13:37 -0700)]
SubMirror plugin initial checkin: allows setting up automatic mirroring of posts from any of your subscriptions into your own stream, either via repeat or by copying the text.
The UI for setup and editing is a bit nasty for now. Can be reached via 'Mirroring' tab in account settings, or from a link at top of subscriptions list.
Currently relies on the OStatus plugin to handle actual setup, parsing, and importing of feeds; to support more general feed formatting we may need some further work there to accept weird feeds.
Also requires an actual live subscription, but this could be changed in future. (Ensuring that PSHB feed subscriptions remain live even if nobody's directly subscribed might be tricky.)
The repeat style is our preferred method since it retains full attribution, but right now we don't handle repeats very well across site boundaries; when pushed out to Twitter or to other StatusNet instances via OStatus, currently we end up losing some of the data and can end up with the 'RT @blah' version.
WARNING: There's no loop detection yet; it's most likely possible to set up a fun loop of profiles repeating each others' stuff forever and ever and ever and ever...
Added a note on the label that it requires manual daemon setup. (Note that by default the admin panel won't be shown, so it's no biggie to be hiding this for now.)
Fix for ticket #2286: [mobile] Text extends beyond border of repeat confirmation dialog floater box on iPhone
http://status.net/open-source/issues/2286
This bit of CSS was constricting the vertical size of the popup form for repeats:
.notice-options form {
width:16px;
height:16px;
}
I can only assume this was originally meant to constrain the mini inline AJAX forms to the size of the clickable buttons, but it doesn't make a difference to how those are displayed on iPhone, Android, or Opera Mini.
Removing the statement lets the popup form go to its natural size, covering the button.
Initial fix for #2479: New post should be displayed on timeline only if it belongs there (AJAX post)
Previously we pushed out your latest post into the currently visible timeline regardless of whether it belonged there or not. This could be pretty confusing!
Currently we don't have clearly machine-readable info on the page and returned notice HTML to determine whether it belongs, but we can do a couple checks easily which I've added:
* public timeline (always show)
* 'and friends' timeline (show for your own page only)
* profile timeline (show for your own page only)
Other places that should be added in the future:
* group timelines if it's a group your posting to
* tag timelines if the post contains the tag
* reply & friends timelines for people you've mentioned
Currently those aren't easy since the mention/group target links in the notice HTML are using the canonical form with user or group ID, while the available navigation links we can use to identify the current page use the names.