Evan Prodromou [Tue, 29 Mar 2011 15:53:26 +0000 (11:53 -0400)]
Disallow repeats (retweets) of private notices
We disallow repeating a notice (or whatever) if the scope of the
notice is too private. So, only notices that are public scope
(available to everyone in the world) or site scope (available to
everyone on the site) can be repeated.
Enforce this rule at a low level in Notice.php, and in the API,
commands, and Web UI. Repeat button doesn't appear on tightly-scoped
notices in the Web UI.
Brion Vibber [Mon, 28 Mar 2011 22:13:59 +0000 (15:13 -0700)]
Work in progress: subscription approval policy field in place on user, hooked up to settings. Queue not 100% tidied up, no UI for queue or management yet.
Evan Prodromou [Fri, 25 Mar 2011 20:15:55 +0000 (16:15 -0400)]
Make function signature for getNoticeIds agree
There were some differences between defaults for the
NoticeStream::getNoticeIds() function and some of its subclasses'
implementations. So, I got them rationalized.
Brion Vibber [Fri, 25 Mar 2011 01:41:25 +0000 (18:41 -0700)]
TwitterBridge: discard outgoing queue items instead of retrying when Twitter API returns HTTP 400 or 404 error codes
We get HTTP 400 for various cases of invalid data, where retrying doesn't help at all -- previously those would loop forever, or until something died at least. :)
400 is also used for rate limiting, but retrying *immediately* will just hit the rate limit again, so better to discard if we're going over for now.
Zach Copley [Thu, 24 Mar 2011 21:03:04 +0000 (14:03 -0700)]
Merge branch '1.0.x' into qna
* 1.0.x: (26 commits)
Fix typo in documentation.
Fix i18n.
Change formatting of i18n slightly. Translator hints were not picked up in pot file. May now they are.
Localisation updates from http://translatewiki.net.
Translator documentation updated. i18n/L10n updates. Superfluous whitespace removed. Add FIXME for missing class documentation.
Update translator documentation. Remove superfluous whitespace. L10n/I18n updates. FIXMEs added for missing documentation or headers.
Update translator documentation. i18n/L10n updates. Superfluous whitespace removed. Add FIXME in files with missing documentation.
Fallback for RSVP display when Event is deleted
Enhancement for 'ajax' form class: submit buttons behave more like normal submissions, submitting their name/values through a hidden field.
Retool group join queue list ajax forms to use two buttons in one form, making it more ajax-submit-friendly. Needs util.js fixes for AJAX submission input buttons...
Some fixes to make the notice stream class work
let Inbox class go fingerpokin' in streams
New NoticeStream class to reify streams of notices
Refactoring on notification mail generation: common profile & footer chunks pulled out, notifications added for group joins.
Fix typo in cf45c978
Mass replacement of #-comments with //-comments
Add pending members list to group navigation, if group has joins moderated or if it has pending requests open
Split up some list/form classes, and get the 'approve' and 'cancel' links on group member queue working.
Pending members queue list -- doesn't yet allow approval.
Logic to have group joins turn into pending joins automatically when group is set to mod; allow users to cancel their pending group requests.
...
Brion Vibber [Wed, 23 Mar 2011 22:21:31 +0000 (15:21 -0700)]
Enhancement for 'ajax' form class: submit buttons behave more like normal submissions, submitting their name/values through a hidden field.
This should work well for simple cases, but could conceivably create false positives if there's a click handler on the specific buttons, depending on whether event processing passes it on. Double-check if you're doing such forms along with the 'ajax' class!
Brion Vibber [Wed, 23 Mar 2011 21:56:51 +0000 (14:56 -0700)]
Retool group join queue list ajax forms to use two buttons in one form, making it more ajax-submit-friendly. Needs util.js fixes for AJAX submission input buttons...
Evan Prodromou [Wed, 23 Mar 2011 15:29:55 +0000 (11:29 -0400)]
New NoticeStream class to reify streams of notices
We've been muddling through with 6- or 8-argument functions for managing streams. I'd
like to start thinking of streams as their own thing, and give them some more value.
So, the new NoticeStream class takes over the Notice::stream() function and Notice::getStreamByIds().
There's probably some fine-tuning to do on the object interface.
Evan Prodromou [Tue, 22 Mar 2011 15:54:23 +0000 (11:54 -0400)]
Mass replacement of #-comments with //-comments
like leprous boils in our code. So, I've replaced all of them with //
comments instead. It's a massive, meaningless, and potentially buggy
change -- great one for the middle of a release cycle, eh?
Brion Vibber [Mon, 21 Mar 2011 21:35:29 +0000 (14:35 -0700)]
Switch things from calling Group_member::join & leave & calling events manually to running through Profile::joinGroup() && Profile::leaveGroup(), with the events encapsulated.
Brion Vibber [Mon, 21 Mar 2011 20:30:40 +0000 (13:30 -0700)]
Add request_queue table and user_group.join_policy column, for upcoming join & subscription moderation.
UI for setting the join policy is in, but not yet used.