Commit graph

2473 commits

Author SHA1 Message Date
jenkins-bot 03b7995d83 Merge "Initialize notifications model outside of the widget" 2015-11-07 01:08:07 +00:00
Translation updater bot e7d03773ae Localisation updates from https://translatewiki.net.
Change-Id: I030ee453ae72e0aec61c407e86590fc12dbbd32d
2015-11-06 22:25:17 +01:00
Moriel Schottlender 02530f19e1 Implement SortedList in Echo notifications
This is especially important for combined notifications and
notification lists from different sources; the model list should
be sorted to reflect items by timestamp and unread status.

Note: The dm.List and dm.SortedList now mirror the structures
OO.EmitterList and OO.SortedEmitterList that are awaiting to be
added for oojs in Ib94e4e4a49 and  I3fd569691549 respectively.
Once those are available, the dm.List and dm.SortedList can
be removed, and the model can mixin OO.SortedEmitterList instead.

Change-Id: I97e1ecbe5dccc478be527a94f037500f78f74b14
2015-11-06 11:01:10 -08:00
Moriel Schottlender f4deb6829c Allow notification model and widget to show combined notifications
Make sure it's possible to create a combined notification widget
that features both alerts and messages.

Change-Id: I4b3f263039f54430a61acc1a261d8aca8e894a90
2015-11-06 18:50:06 +00:00
Moriel Schottlender 44c2afbfee Initialize notifications model outside of the widget
Change-Id: I19c239326b04eaa07b62e0b06f181c86ff0a0ef8
2015-11-06 10:49:11 -08:00
jenkins-bot 1619c87109 Merge "Make EchoEvent::create() a no-op if the DB is read-only" 2015-11-06 18:22:24 +00:00
Translation updater bot c43e52aaff Localisation updates from https://translatewiki.net.
Change-Id: Ic2ee672ac64c45e6764bd3650a79767cb1409161
2015-11-05 21:42:51 +01:00
jenkins-bot 188310641a Merge "Add an APIHandler to Echo notifications" 2015-11-05 19:57:43 +00:00
Moriel Schottlender 61f75f4c1e Make 'x' button in notifications bigger
Bug: T112217
Change-Id: Id645a14406accb006736df038fab667cdd9aabd1
2015-11-05 19:44:24 +00:00
Moriel Schottlender 466858bbe8 Add an APIHandler to Echo notifications
This simplifies the operation of the API a bit, but more importantly
this will let us create a demo where we can manipulate the API result
and test various new notification formats while the work on the
backend API responses is ongoing, and also will allow us to have a
constant test for all notifications types, including backwards
compatibility.

Change-Id: I6081329a287cda4f5f1f1604ace5d04ff8d9fe3d
2015-11-05 10:50:03 -08:00
Stephane Bisson 7e1a6e7b6f Output body in flyout
* Also rename getBodyText to getBodyMessage
  since it returns a Message.

Change-Id: I2aad6f766407c13625b1c35df3ae209f75849970
2015-11-04 16:24:37 -05:00
Translation updater bot ba86ffb623 Localisation updates from https://translatewiki.net.
Change-Id: Ice2660c4cb283eec384b74bb7bedfe9e18d25d34
2015-11-04 21:19:53 +01:00
jenkins-bot bc4888169d Merge "Add a presentation model for Echo "Welcome" notification" 2015-11-04 18:34:33 +00:00
Moriel Schottlender c3787f4c51 Don't mark read notifications as unseen
If a notification is already read it is by definition seen. Don't
mark those as unseen. This can actually happen if our seenTime is
invalid (like a cache miss)

Change-Id: Id943691599116597b6c68d2cc40e7b89a25ce05e
2015-11-03 15:34:09 -08:00
Moriel Schottlender c4ad851fc3 Prep for mobile rewrite in Echo
Fix event documentation and add mobile target for ext.echo.ui

Change-Id: I86131293ec83359fa2dc6eaccf35a2824e0cf051
2015-11-03 14:51:20 -08:00
Translation updater bot 4e64ea6a42 Localisation updates from https://translatewiki.net.
Change-Id: I6f7d7495e77963591146ff68f6457026b40b6316
2015-11-03 21:50:20 +01:00
Timo Tijhof 59e1be5af9 Migrate LocalCache from MapCacheLRU to HashBagOStuff
Depends on If39d72983 for HashBagOStuff::clear().

Change-Id: I90a03ea44430223ef420be9175bea9bcc8da8cf5
2015-11-03 06:49:50 +00:00
Timo Tijhof b99048e9aa LocalCache: Fix bad type hint of getTargets()
Change-Id: Ib05064b6d812b89948f7927caa6a6bf5634a6a08
2015-11-03 06:02:31 +00:00
Moriel Schottlender 88b558f44d Add a presentation model for Echo "Welcome" notification
Bug: T116843
Change-Id: Ia43ce2c467873390c2b36439af1db8932708cda9
2015-11-02 16:02:06 -08:00
Kunal Mehta 38e54e14fb Allow notifications to not have a primary link
Because 'welcome' doesn't.

Returning `false` indicates that there is no link, and the
FlyoutFormatter was updated accordingly.

Change-Id: Ifd329b396f3361fc7c08c607a6407181ffdb8bf6
2015-11-02 15:55:17 -08:00
Translation updater bot 2b10ece420 Localisation updates from https://translatewiki.net.
Change-Id: I6052db71b0fe307cce8997214e5c8e0c1ed8a48d
2015-11-02 22:36:28 +01:00
Aaron Schulz e261aa7593 Make EchoEvent::create() a no-op if the DB is read-only
This seems better for availability than stopping the world
and rolling everything back (or just throwing post-commit
errors that didn't stop the original change anyway).

Change-Id: I816b3cb5f0d26de608e620a01571a332aa832c05
2015-11-02 11:17:05 -08:00
Translation updater bot f60eff1e66 Localisation updates from https://translatewiki.net.
Change-Id: Iaee36a109993e5aeaa567071f424bf03408859c3
2015-11-01 21:39:39 +01:00
Translation updater bot 357a8dd40f Localisation updates from https://translatewiki.net.
Change-Id: I5a92fce5d3d72d3311329652a35d3c5134928eed
2015-10-31 21:05:33 +01:00
jenkins-bot a306a2dcab Merge "IDatabase::delete() does not take a fourth parameter" 2015-10-31 02:21:25 +00:00
Translation updater bot cf0d71ff7f Localisation updates from https://translatewiki.net.
Change-Id: I4a2a46f090acee50747be19b78cc152a6e078b7a
2015-10-30 21:47:59 +01:00
Kunal Mehta 558cc64bc2 IDatabase::delete() does not take a fourth parameter
And don't use the deprecated getDB() function.

Change-Id: I824fb1e69262298d6b76fb22b499d961c1189f98
2015-10-30 10:49:59 -07:00
Kunal Mehta 74b50cad30 Move some boilerplate code into EchoEventFormatter
The conversion of EchoEvent into a EchoEventPresentationModel is now
done by EchoFlyoutFormatter, instead of having each subclass do it. It
also does the canRender() check so subclasses don't need to worry about
it.

The subclasses no longer have access to the underlying EchoEvent object,
so the timestamp is exposed in EchoEventPresentationModel.

Change-Id: I7f0a650373eebac7aa2231b1795b51a6d031ad67
2015-10-29 21:22:54 +00:00
Translation updater bot a1282bcec0 Localisation updates from https://translatewiki.net.
Change-Id: I257b549ea4d8b6ea639dfdce463921c47a579d25
2015-10-29 21:23:34 +01:00
Kunal Mehta 94004aeda5 Re-enable presentation model for mentions
T116888 has been resolved.

Change-Id: I5380d06252878b8808e4c81e12de05145a3f992c
2015-10-29 10:52:04 -07:00
jenkins-bot 5b74ffce63 Merge "build: Enable phpcs rule 'MediaWiki.VariableAnalysis.UnusedGlobalVariables' and make pass" 2015-10-29 17:40:49 +00:00
jenkins-bot f7ffecf3d8 Merge "build: Enable phpcs rule 'MediaWiki.WhiteSpace.SpaceAfterControlStructure.Incorrect' and make pass" 2015-10-29 17:39:48 +00:00
jenkins-bot 507c7f083a Merge "build: Enable phpcs rule 'Squiz.Classes.ValidClassName.NotCamelCaps' and make pass" 2015-10-29 17:39:45 +00:00
jenkins-bot 0442658bf3 Merge "Document that text from getSecondaryLinks() isn't escaped" 2015-10-29 17:33:20 +00:00
jenkins-bot a40ed3d4ca Merge "Fix @return doc on EchoEventPresentationModel::getPrimaryLink()" 2015-10-29 17:33:18 +00:00
James D. Forrester 1e01328018 build: Enable phpcs rule 'MediaWiki.VariableAnalysis.UnusedGlobalVariables' and make pass
Change-Id: I1af3e34531ff9d02183a7ad0052712d9f137609c
2015-10-29 17:25:51 +00:00
James D. Forrester 9871108189 build: Enable phpcs rule 'MediaWiki.WhiteSpace.SpaceAfterControlStructure.Incorrect' and make pass
Change-Id: If230a568463a048b59138850ededa2b02fb61f46
2015-10-29 17:25:45 +00:00
James D. Forrester a49e3a592e build: Enable phpcs rule 'Squiz.Classes.ValidClassName.NotCamelCaps' and make pass
Change-Id: I3d8b9c04ef2be3fe456c2c66bb10afa11ba0cd45
2015-10-29 18:24:45 +01:00
James D. Forrester 429f0e47ae build: Enable phpcs rule 'MediaWiki.NamingConventions.PrefixedGlobalFunctions.wfPrefix' and make pass
Change-Id: Iaffa931acfc2f0eb4b4a6cf61d63593bb860d25c
2015-10-29 13:06:44 +01:00
James D. Forrester 1b04af5aca build: Enable phpcs rule 'PSR2.Classes.PropertyDeclaration.VarUsed' and make pass
Change-Id: I74a33b511363c0b8ae81a0a5b6b6c9c32f0df09d
2015-10-29 13:06:43 +01:00
James D. Forrester eb4e17f15d build: Enable phpcs rule 'PSR2.Classes.PropertyDeclaration.ScopeMissing' and make pass
Change-Id: I96b295bba43185085631722e10a5e5cfa7ecf27f
2015-10-29 13:06:43 +01:00
James D. Forrester 7f7e6b8159 build: Enable phpcs rule 'PSR2.Methods.MethodDeclaration.StaticBeforeVisibility' and make pass
Change-Id: Iff0709c3a30f8c39d54bab2361e109c96aea6aa0
2015-10-29 13:06:43 +01:00
James D. Forrester 42e2764494 build: Enable phpcs rule 'PSR2.Methods.MethodDeclaration.AbstractAfterVisibility' and make pass
Change-Id: I316d30e5474646cfc7a8a03b540c09741cd7fdc6
2015-10-29 13:06:43 +01:00
James D. Forrester cd8c77df29 build: Enable phpcs rule 'MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment' and make pass
Change-Id: Ied1a479e6f5aa82d03e449ec10d655a921cd37e4
2015-10-29 13:06:14 +01:00
James D. Forrester 852ddaf903 build: Enable phpcs rule 'MediaWiki.Usage.DirUsage.FunctionFound' and make pass
Change-Id: I05c9299944a5a8e215ecb2996f1a3846e257e12c
2015-10-29 12:57:40 +01:00
James D. Forrester 1ee78723d9 build: Enable phpcs rule 'Generic.PHP.ForbiddenFunctions.FoundWithAlternative' and make pass
Change-Id: Ib883696662745641ee8b59ddb4fe478a44c46a02
2015-10-29 12:57:15 +01:00
James D. Forrester 18969bf227 build: Enable phpcs rule 'Generic.Functions.FunctionCallArgumentSpacing.SpaceBeforeComma' and make pass
Change-Id: I5493cb692525ab6c0d560aebbe131f40b6016232
2015-10-29 12:57:02 +01:00
James D. Forrester becbea0941 build: Enable phpcs rule 'Squiz.WhiteSpace.LanguageConstructSpacing.Incorrect' and make pass
Change-Id: I9379c18263474ed13921791b920c7b06e58a84ad
2015-10-29 12:56:33 +01:00
Kunal Mehta cb82edfe94 Run phpcs through "composer test", disabling failing rules
Disabling:
* Generic.Files.LineLength
* Generic.Functions.FunctionCallArgumentSpacing.SpaceBeforeComma
* Generic.PHP.ForbiddenFunctions.FoundWithAlternative
* MediaWiki.NamingConventions.PrefixedGlobalFunctions.wfPrefix
* MediaWiki.Usage.DirUsage.FunctionFound
* MediaWiki.VariableAnalysis.UnusedGlobalVariables
* MediaWiki.WhiteSpace.SpaceAfterControlStructure.Incorrect
* MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment
* PSR2.Classes.PropertyDeclaration.ScopeMissing
* PSR2.Classes.PropertyDeclaration.VarUsed
* PSR2.Methods.MethodDeclaration.AbstractAfterVisibility
* PSR2.Methods.MethodDeclaration.StaticBeforeVisibility
* Squiz.Classes.ValidClassName.NotCamelCaps
* Squiz.WhiteSpace.LanguageConstructSpacing.Incorrect

Disabled rules will be enabled individually in follow-up patches.

Bug: T101074
Change-Id: I1d52d891eb8e4f5877d1f1f3fa3aa9fc28dff004
2015-10-29 12:52:32 +01:00
Kunal Mehta 39edc4ce48 Document that text from getSecondaryLinks() isn't escaped
Change-Id: Ia87faa54df7631522e41871d7bbb37345d5bce0e
2015-10-29 00:35:13 -07:00