Commit graph

6577 commits

Author SHA1 Message Date
Kunal Mehta e11fa6e094 Kill $wgEchoBackendName
All uses of $wgEchoBackendName were hardcoded to 'Db' and removed.

This exposed a interesting bug in MWEchoEmailBundler which was
instantiating a subclass using the parent class's private constructor, a
"feature" of PHP which is supported in 5.2.6+ (http://3v4l.org/h4Mq3).
While it worked, PHPStorm complained about it so I made the constructor
protected, which makes more sense anyways.

Both EmailBatch and EmailBundler need further refactoring, but that will
be done in follow up patches.

Change-Id: I2032f5b2f4f3a62f830cc5344b25a92074bd0c61
2015-06-01 12:13:11 -07:00
Kunal Mehta 94dd86f255 Simplify registration of EventLogging modules
Let EventLogging register the schema modules by using the
EventLoggingRegisterSchemas hook.

Don't modify $wgResourceModules at run time because that's a hack.
Instead register the module in the ResourceLoaderRegisterModules hook
itself.

Change-Id: I9457546c1ec38cf6896fe6f9f445fe1191afe72a
2015-06-01 11:58:37 -07:00
Kunal Mehta 1d4bf45d88 s/wfRunHooks/Hooks::run/
Change-Id: If26de025b0510027c8f1ba514a797c343a575d78
2015-06-01 11:36:35 -07:00
Kunal Mehta 5e4fc8661e Remove todo that we're not going to do
Echo should not care about the job queue backend, that's MediaWiki
core's responsibility.

Change-Id: I29c349e0fedec31a3ad0f28e020849778e155c00
2015-06-01 11:33:44 -07:00
Translation updater bot 1886884006 Localisation updates from https://translatewiki.net.
Change-Id: I003edd16eaf3071d5f7c0a2b3a8c421f9b049e86
2015-05-31 22:11:36 +02:00
Alex Monk 6157c1e7bb Make processEchoEmailBatch check that Echo is actually enabled before doing anything
Like CentralAuth does in createLocalAccount.php. In large wiki clusters where
you want Echo on for some wikis and not others, but don't want to keep a list
of Echo wikis (say, you want to make it on by default), this makes it possible
to safely run the script even on wikis where Echo is not enabled, where it will
just do nothing.

See also Ibde4c0c1, I741d2485

Bug: T59375
Change-Id: I3537206fccb459eb80de9fd61d2213dfb525c5f0
2015-05-31 13:25:37 +01:00
Translation updater bot 405707dfc4 Localisation updates from https://translatewiki.net.
Change-Id: Ic258345f4acd7d5865072922a9cd0b5273b13922
2015-05-30 23:06:43 +02:00
jenkins-bot 363851fa51 Merge "Allow new notifications to be created with old timestamps" 2015-05-28 19:42:57 +00:00
jenkins-bot 5bcdfc6607 Merge "Maintenance script sends notifications immediately" 2015-05-28 07:58:23 +00:00
Erik Bernhardson bb6e7da386 Allow new notifications to be created with old timestamps
Bug: T93109
Change-Id: Ib9596cc058871a6b27cca7a809efc6b1ca75dfb0
2015-05-27 15:15:59 +02:00
Stephane Bisson 3bfa823922 Maintenance script sends notifications immediately
Update the "processEchoEmailBatch" to allow sending all
notifications immediately even if configured to be
daily or weekly.

Change-Id: I6ebeea86708247700d1950e0f6471c7b3d1fecd2
2015-05-27 14:02:51 +02:00
paladox 2e59b04866 Remove i18n shim
Change-Id: I180cbbced3a9bab95baa37a7a6fc25870e8a6bbf
2015-05-27 10:55:20 +01:00
Translation updater bot 964e93f968 Localisation updates from https://translatewiki.net.
Change-Id: I4ff1399e435cb49412dfaedf03e0f0a82cdddfc9
2015-05-26 22:22:01 +02:00
Ori Livneh e79fb20599 Always assume a prefix-length of one.
Update Echo for I1bf1b8e6d: Make the output of UnifiedDiffFormatter match diff -u.

Change-Id: I00435a019753f639155df6572844c7112d717186
2015-05-26 04:32:00 +02:00
Translation updater bot b0a31a0648 Localisation updates from https://translatewiki.net.
Change-Id: I3c19bb7fb202a17273d102fbe000ecbd7cdf9447
2015-05-25 22:27:28 +02:00
Translation updater bot f48e9dc8b2 Localisation updates from https://translatewiki.net.
Change-Id: I4ae5914d504ffbf04878db58e40bb1f0195f9a66
2015-05-24 22:59:01 +02:00
Translation updater bot 43c1cd20ed Localisation updates from https://translatewiki.net.
Change-Id: I42d69be5966465df17eae307f618b6b94e65e66b
2015-05-24 00:03:58 +02:00
Erik Bernhardson a17ae46897 Test with $wgDiff = false when wikidiff2 is installed
Change-Id: I404b26589d0e8788c458f72c1d608af859e98a6f
2015-05-20 22:26:26 -07:00
Erik Bernhardson fb028f7a8c Run DiscussionParserTest with $wgDiff = false to match prod
Change-Id: Ie2f64bdb5c614a71412d935ea1b8e9ce7dc2a9a4
2015-05-20 22:18:07 -07:00
Translation updater bot 042903b771 Localisation updates from https://translatewiki.net.
Change-Id: I2ed001355701687272f1ced73d3fd1258faf02b3
2015-05-20 22:11:00 +02:00
Translation updater bot fd294d0780 Localisation updates from https://translatewiki.net.
Change-Id: I939e9e2dad861fc144ad20aa81489c5997f236fe
2015-05-19 22:24:31 +02:00
Translation updater bot 0334de9c89 Merge "Localisation updates from https://translatewiki.net." 2015-05-18 20:29:16 +00:00
jenkins-bot afc378b6c8 Merge "Use DeferredUpdates::addCallableUpdate for generateEventsForRevision" 2015-05-18 20:29:02 +00:00
jenkins-bot fc82d79b16 Merge "Removed pointless memcached delete()" 2015-05-18 20:24:19 +00:00
Translation updater bot 23c6c0bcde Localisation updates from https://translatewiki.net.
Change-Id: If1971c19c2309683d6dd14a1b99331a69d189af8
2015-05-18 22:14:34 +02:00
Aaron Schulz cad3f78d47 Removed pointless memcached delete()
Change-Id: If000119eb3f3c7acb5e337465958980192459074
2015-05-18 13:00:20 -07:00
Aaron Schulz 02f618d620 Use DeferredUpdates::addCallableUpdate for generateEventsForRevision
* This diff part of this logic is fairly slow

Change-Id: Id9af5c18f852ba7f1c0d2b53257fe11cb87fc510
2015-05-18 12:59:36 -07:00
Translation updater bot 970a090c56 Localisation updates from https://translatewiki.net.
Change-Id: I49d881d74b68692c8be080d2ea9e87b66ec0a955
2015-05-17 22:06:03 +02:00
umherirrender 9b02538429 Replace deprecated $wgSpecialPageGroups
$wgSpecialPageGroups is deprecated since 1.21
override SpecialPage::getGroupName instead

Change-Id: I92eee336132de57b9759ba67fed1f060bd6a881e
2015-05-15 22:41:09 +02:00
Translation updater bot 9edbbe5453 Localisation updates from https://translatewiki.net.
Change-Id: I1d837548f9f8f63cb441b93be2123cb71091ba9d
2015-05-15 21:40:30 +02:00
Translation updater bot 6a6e92be57 Localisation updates from https://translatewiki.net.
Change-Id: Ie1b869007099bb11a91f3d710930af44286bd3ae
2015-05-12 22:16:51 +02:00
Translation updater bot 4bf8ba4613 Localisation updates from https://translatewiki.net.
Change-Id: Ifa08ad40beb68714700904c17b7a86325f3ca731
2015-05-11 21:49:03 +02:00
Translation updater bot 14bbfb3358 Localisation updates from https://translatewiki.net.
Change-Id: Ie3e8d49d2deffe1ecdf9f335df17c594aa6009b9
2015-05-09 21:48:22 +02:00
jenkins-bot d157104f1a Merge "Don't repopulate cache with potentially lagging DB data" 2015-05-08 18:29:51 +00:00
Translation updater bot 79eb49ebfb Localisation updates from https://translatewiki.net.
Change-Id: Iad6aff15fc83e51aa276a93971a7dab750d623b8
2015-05-07 21:26:59 +02:00
Matthias Mullie 6bcece22cc Don't repopulate cache with potentially lagging DB data
getNotificationCount & getLastUnreadNotificationTime have an
argument $cached that allows cache to be bypassed & read from
DB. That result is then stored to cache.

In practice, it seems to be used only for cache invalidation.
getLastUnreadNotificationTime didn't allow to specify the DB
to be read from, and EchoNotificationMapper::fetchUnreadByUser
only read from slave.
So when we wanted to invalidate the cache, we would end up
immediately repopulating it with data from a (potentially and
likely) lagging slave.

I've made it accept the DB type, similar to getNotificationCount.

Bug: T98421
Change-Id: Ie4b09eeb04b9827b454cb2d92ee8c674bdd59a19
2015-05-07 14:01:56 +02:00
Translation updater bot 276b4da02e Localisation updates from https://translatewiki.net.
Change-Id: I860fbc5bc979c9a9211b23b3fe65ea4de614d9e7
2015-05-06 21:59:46 +02:00
Matthias Mullie d150625ce1 Until seentime is recorded, we should treat notifications as unseen
Since we didn't use to save seen time, it is unreliable at first.
I decided to just show them as read then, since we couldn't know
if they had or hadn't been read.
However, it would make more sense to keep them unread until we first
save the time a notifiation is seen: it is in line with the current
behavior (where the badge just stays red, always)

Also fixed a problem where I meant to .get a value but had .set
instead. It wasn't noticable because that function is currently
only called when things have just been seen, so even though it
was wrong, it produced a good result.

Bug: T94634
Change-Id: I7ee447249527feb3914c76cfffd673bbda062b75
2015-05-06 10:53:45 +02:00
Translation updater bot bd4b7e7e48 Localisation updates from https://translatewiki.net.
Change-Id: I57095cf863f2033f1fe8346244edd2991266ceb4
2015-05-05 22:40:15 +02:00
Translation updater bot 17da1f7043 Localisation updates from https://translatewiki.net.
Change-Id: Ia18fb515bc4b27ae49274bcb7491cccb3519a84e
2015-05-04 22:24:20 +02:00
Roan Kattouw 518101e495 Actually pass jscs
Removed exemptions from .jscsrc and fixed the code to make jscs still
pass.

Kept the dangling underscores exemption because leading underscores
are (for now) used as a naming convention for private functions in
this repo.

Change-Id: I18964f8469f52c294276527d92cb6bf9f48c2576
2015-05-04 19:28:01 +00:00
Translation updater bot ae2c2f6e25 Localisation updates from https://translatewiki.net.
Change-Id: Ia0bb5a8330757eaf8bc5138ba88c36f584408f7d
2015-05-03 21:50:23 +02:00
Translation updater bot 2453d6047e Localisation updates from https://translatewiki.net.
Change-Id: I8116c1265890bb1b589ec1b6aeadc9cc0308ed6f
2015-05-02 22:03:15 +02:00
Roan Kattouw 5aefeb3f2e Add Grunt infrastructure for CI
* Update package.json based on Flow's
* Add Gruntfile.js based on Flow's
* Add .csslintrc and .jscsrc with rules to silence errors for now

Change-Id: Ia8e23537d8dccbcff9ee336f667dc463590c0235
2015-05-01 20:35:23 -07:00
jenkins-bot df9de05c68 Merge "Start tests for the built-in notification types" 2015-05-01 20:51:50 +00:00
jenkins-bot 07ba07d649 Merge "Add fallback for enotiftalk in generateEventsForRevision" 2015-05-01 20:49:16 +00:00
Translation updater bot 29a886f2c4 Localisation updates from https://translatewiki.net.
Change-Id: I239cf1bf9b6e232c10a2ab952d6da5be8936d8e1
2015-05-01 22:02:35 +02:00
jenkins-bot fce9b5065f Merge "Display red badge based on time of notifications vs last time panel was opened" 2015-05-01 18:42:19 +00:00
Matthias Mullie da07893647 Display red badge based on time of notifications vs last time panel was opened
I tried to stick as close to the existing code as possible.

Special:Notifications is slightly different from the overlay,
however. I made it add .mw-echo-unread class for consistency,
but that JS doesn't record seen time (it only loads older
entries), not does the CSS fadeout apply there (it marks
everything as read as soon as it's displayed, so different
behavior from overlay)

PS: I'm not sure about browser compat for the fadeout. But
even if some obscure browsers don't support this, meh. It's
not an "important" feature that can't be missed.

Bug: T94634
Change-Id: Ibb201823fb52ef8a3d5eaa39b0b724ede8d271d1
2015-05-01 11:39:45 -07:00
Translation updater bot 712170df7b Localisation updates from https://translatewiki.net.
Change-Id: I39b0119a40b4e6ed4544f179178aa7a8fd6b81a8
2015-04-29 22:32:17 +02:00