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.