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.
Zach Copley [Mon, 21 Mar 2011 02:25:32 +0000 (19:25 -0700)]
Merge branch '1.0.x' into qna
* 1.0.x: (23 commits)
ModPlus plugin -- Ticket #3095: add remote profile options popup to group membership and other profile lists
fix ModPlus 'remote profile options' popup for Realtime
Fixes for GroupPrivateMessage, OStatus due to changes in group output events, and some internal bugs using wrong vars
Tickets #1610, #1949: show permalinks on Popular Notices, attachments aside sections
Localisation updates from http://translatewiki.net.
Translator documentation added/updated. Superfluous whitespace removed. L10n update.
Add myself to contributors array.
i18n updates. Translator documentation added. Superfluous whitespace removed.
Translator documentation added/updated. i18n updates. Superfluous whitespace removed.
Fixed issues with plural handling. L10n/I18n updates. Translator documentation added. Superfluous whitespace removed.
Translator documentation added/updates. L10n/i18n updates. Superfluous whitespace removed.
Update/add translator documentation. L10n/i18n updates. Superfluous whitespace removed.
* Add FIXME: $profile appears to be undefined. * Update translator documentation.
Caching for conversation root lookup, some logic fixes in threaded view
Use cached sources for favorites & repeats info on threaded notice lists
ajax load for additional inline replies; /replies variant of conversationview
Fixes for race conditions between Realtime plugin and the AJAX display of inline replies.
Initial use of inline reply area for marking repeats...
Initial inline listing of favoriters
Favored lists in progress: 'foo, bar and baz'
...
Brion Vibber [Fri, 18 Mar 2011 23:23:22 +0000 (16:23 -0700)]
fix ModPlus 'remote profile options' popup for Realtime
Switched from one-time setup to live stuff that'll work without per-notice setup.
Used to not matter because Realtime wouldn't include the extra stuff, but new Realtime pulls the full rendering, so yay!
Brion Vibber [Fri, 18 Mar 2011 20:58:13 +0000 (13:58 -0700)]
Tickets #1610, #1949: show permalinks on Popular Notices, attachments aside sections
These mini notice lists were previously not actually showing links to the notices, making them hard to use. There was code to output a link, but it had been unused due to the config options triggering it not being set. The links also looked bad ("( see )" with bad spacing).
Replaced that code with a call into NoticeListItem's existing code to format a relative timestamp with the notice permalink, which looks nice. Used a div rather than p to avoid clearing the float, so it flows nicely.
Brion Vibber [Thu, 17 Mar 2011 22:54:40 +0000 (15:54 -0700)]
Fixes for race conditions between Realtime plugin and the AJAX display of inline replies.
* keep the notice-reply-placeholder around, but hidden
* insert things before the placeholder, rather than appending to the end of the list.
* append the active form after the hidden placeholder, so things inserted before the placeholder never come after it
* Realtime: check pre-existing notice visibility a second time after loading the HTML for a notice. Fixes bug where sometimes your own post would be shown twice because the Realtime notification arrived before the AJAX posting returned, but Realtime's AJAX fetch of the notice returned after.
Brion Vibber [Wed, 16 Mar 2011 23:52:37 +0000 (16:52 -0700)]
Allow plugins to modify or append command help text; broke the command help down into pieces which also will aid translators in future, as the entire message blob won't change every time something gets fiddled with.
Brion Vibber [Wed, 16 Mar 2011 23:10:43 +0000 (16:10 -0700)]
Detect and show AJAX errors on FormXHR submission handling.
Previously we threw away errore reported by the actual AJAX submission and only used whatever error the browser reported to us; this didn't help if we reached the server ok but had a problem there.
We now extract the #error if given and use that in the alert().
Also should now show 'Unknown error' instead of a crappy generic 'something died in jQuery' when we get a 200 response but bogus return data.
Brion Vibber [Wed, 16 Mar 2011 21:54:14 +0000 (14:54 -0700)]
Output avatar/author along with ProfileNoticeListItem items on ShowProfileAction -- they get hidden in CSS anyway, and we need the author data for the inline reply form if you end up replying to yourself/someone else from a profile stream view.
Note that the other modification -- of the repeat line -- is still going to be inconsistent between things originally on the page and anything that comes over Realtime.