Commit graph

3353 commits

Author SHA1 Message Date
jenkins-bot 17b160b125 Merge "Remove obsolete comment; this functionality is now in place" 2015-04-15 00:52:31 +00:00
jenkins-bot 2fb464e552 Merge "Focus on the first input in template dialog" 2015-04-14 22:43:37 +00:00
Roan Kattouw 86b82b537d Make activation timings sent to EventLogging not lie
The activation timing was always a bit of a lie even pre-TargetLoader,
because the timer only started when the first RL request for VE
modules had loaded. But at least the process it covered was consistent,
which is no longer true with TargetLoader. Now that we start the
request for the HTML together with the RL request, the activation
time might include some, all or none of the HTML request depending
on how fast the RL request was.

This change makes the activation timings more useful by measuring
from the moment the user clicks "edit" to the moment the editor
is done loading, which is what actually matters.

* Moved start of activation timing to VPT init
** For mobile this falls back to when mw.Target#load is called;
   we'll have to fix that in MobileFrontend later
* Moved end of activation timing out of TargetEvents#onSurfaceReady
  into individual onSurfaceReady handlers
** This is necessary because VPT's onSurfaceReady does quite a lot,
   and we want to include the time that takes in our measurements

Change-Id: Ie44f0b839b39a2b3b22dcd86e20f0d1170cb6069
2015-04-14 21:57:11 +00:00
jenkins-bot ec01cdfb94 Merge "Comment potential override of wikitextRef sequence" 2015-04-14 21:46:42 +00:00
Translation updater bot 660fdfa635 Localisation updates from https://translatewiki.net.
Change-Id: I26100d5e756fa033ebee6e9094cad81631ac1e3e
2015-04-14 22:36:57 +02:00
jenkins-bot 2db2e4c4c7 Merge "Remove HTML escaping from createTextNode" 2015-04-14 18:57:20 +00:00
Ed Sanders 4b15914047 Remove HTML escaping from createTextNode
Change-Id: Icb5ad749ed48808f6cf377bdd368bff3cf035913
2015-04-14 19:30:21 +01:00
jenkins-bot 54afadf9d1 Merge "Replace abstract functions that just throw with null" 2015-04-14 16:57:10 +00:00
Timo Tijhof 66c9d538c5 MWPopupTool: Don't assume editnotice html has a single wrapping element
In case of FlaggedRevs, for example, the software is given a loose
string of html with a Bold element, Text nodes, and Anchor element.

Bug: T95989
Change-Id: I3d345677507ffc08feec0f7785e148ac98f19cb7
2015-04-14 12:39:42 +01:00
Roan Kattouw 95bffa22a0 Stop using this.$
Has been a backwards-compatibility alias since OOjs UI 0.7.0.

Change-Id: I17d7c03e9d1b9fa991d88444d22abfd403269ee0
2015-04-14 02:54:01 +01:00
Matthew Flaschen fee6681049 Remove obsolete comment; this functionality is now in place
Change-Id: I2752c69e871965ac408aaa70eb268e129b587013
2015-04-13 19:11:34 -04:00
Translation updater bot 6335f08963 Localisation updates from https://translatewiki.net.
Change-Id: I4a65b2b95c71551f37c6be20c2b2ff9d252b6455
2015-04-13 22:36:28 +02:00
jenkins-bot 8c29e52202 Merge "mw.ViewPageTarget: Use new simplified ve.ui.Surface#getDom" 2015-04-13 19:06:13 +00:00
Ed Sanders 502272a1bc mw.ViewPageTarget: Use new simplified ve.ui.Surface#getDom
Depends on I6355cf484b8 in core.

Change-Id: I3dcce40af346b1c5ab75c0da81aee8ae02937f44
2015-04-13 18:38:56 +00:00
Ed Sanders 91923e815b Remove useless ve.init.Platform overrides
The parent methods (ve.init.Platform) are now identical.

Change-Id: Idbf18d64b723ce2465e7c0c994c88b4b63c87445
2015-04-13 18:30:57 +00:00
Translation updater bot 56125724e4 Localisation updates from https://translatewiki.net.
Change-Id: I7fd073dff4328b6f6e1951734fe3c85451ba2ea7
2015-04-12 21:58:20 +02:00
Translation updater bot aec2a80a44 Localisation updates from https://translatewiki.net.
Change-Id: Ifcd84e4b3bd96294e362a12cc2d29807e6e4f325
2015-04-11 21:34:32 +02:00
Ed Sanders 2bbcb13e9d Comment potential override of wikitextRef sequence
Change-Id: Iac6df7ecd5482fd65ec91927f3a02e4efdcd617e
2015-04-11 12:03:58 +01:00
Translation updater bot d415113e39 Localisation updates from https://translatewiki.net.
Change-Id: Ifa79dd1622f06aac4181007d75eaa76cc5c84026
2015-04-10 21:51:51 +02:00
Moriel Schottlender 35059ee54c Focus on the first input in template dialog
When the dialog opens make sure the first input is focused.

** Depends on OOUI change I9f1e908e0d **

Bug: T95450
Change-Id: I789bcf98ada7c3e2b9544426546775f65bab0edd
2015-04-10 16:45:22 +00:00
Ori Livneh 30772ee3f5 Update RESTBase pre-connect URL to hit /_preconnect
/_preconnect is a special end-point that is handled by Varnish with an HTTP
204, sparing the RESTBase backend. See I95a716592.

Change-Id: I0c0430014768d7a1c6673d078569d0cf4062d338
2015-04-09 17:43:53 -07:00
Moriel Schottlender c10483999e Focus the search box in the re-use citation dialog
Bug: T91479
Change-Id: I3ad7c99d2fded2d2f21bd210dd57ad9807d88e13
2015-04-09 16:28:17 -07:00
James D. Forrester 916eba05a5 Replace abstract functions that just throw with null
Per Timo, this avoids us having pointless code that is never
executed, and the replacement notification to the user (that
ve.blah.UnicornAnnotation.foo is null and not a method) is
sufficiently clear that the issue lies in the lack of existence
of the ve.blah.UnicornAnnotation#foo method.

Only ones in this repo appear to be in ve.init.mw.ApiResponseCache.

Bug: T54482
Change-Id: If44b8d63b8e7b2a5c289fe7278ad54e722b185fa
2015-04-09 23:20:07 +00:00
Moriel Schottlender 7c0b307d8a Allow for citation tools to work under the reference dialog
Set up the surface widget as inside the reference dialog, and let
the citation action notify the template dialog the name of the
dialog it is in. If the tool was executed from within the reference
dialog, skip over creating a reference and instead insert the
citation as a template.

* Depends on ve-core fix I709eeb0de475 *

Bug: T94621
Change-Id: I4871f8c0afe190117cc90e88227b37f292a71e20
2015-04-09 12:18:54 -07:00
Ori Livneh c741db5378 Pre-fetch RESTBase DNS and negotiate TLS
Keep VisualEditor load times snappy by eagerly establishing a connection with
RESTBase via a beacon request, which is deferred until after window.onload /
setTimeout to ensure it does not slow down the loading of the page.

Task: T94784
Change-Id: I19fd2ef6beffe1c4c4f05c2716da079b49e88b95
2015-04-09 11:54:27 -07:00
jenkins-bot 0f76888310 Merge "Split AlienExtensionNode into inline and block" 2015-04-09 17:37:57 +00:00
Translation updater bot 471fbe5219 Merge "Localisation updates from https://translatewiki.net." 2015-04-09 17:37:22 +00:00
Translation updater bot 23cdc8c1d6 Localisation updates from https://translatewiki.net.
Change-Id: I4d57690e6310b81acac375da1834ffc84b7628a1
2015-04-09 19:35:40 +02:00
jenkins-bot 65fe5399a3 Merge "Set targetName for apiLoad and restbaseLoad metrics to the correct values again" 2015-04-09 17:25:49 +00:00
Ed Sanders fdcd42f73a Split AlienExtensionNode into inline and block
MWExtensionNode:
* Inherit from LeafNode at the top level. Inline and block only
  differ in CE where inline has isContent set.

MWAlienExtensionNode:
* Inhert from MW(Inline|Block)ExtensionNode respectively. Both
  mixin MWAlienExtensionNode.

Bonus:
* Bring in paragraph unwrapping on inline nodes from MWMathNode

Bug: T93712
Change-Id: Ib04234f740cf1f27c861d8b3cfeea5e323b94678
2015-04-09 16:32:02 +01:00
Alex Monk 19dc7d31fe Set targetName for apiLoad and restbaseLoad metrics to the correct values again
If70ff601 didn't really fix anything. The only reason you'd want this data is
to distinguish between mobile and desktop data, but it just set the value to
the desktop version always...

Bug: T95432
Change-Id: I76722e3ad8b7dbe644374b24093bec696f27f48c
2015-04-09 13:57:25 +01:00
Ed Sanders ed4278912c [BREAKING CHANGE] Make MWExtensionInspector inherit from NodeInspector
Also fix up logic duplicated between ExtensionInspector
and LiveExtensionInspector.

BREAKING CHANGE:
* nodeModel property no longer exists, use NodeInspector's modelClasses
  property, which is an array.

Bug: T93592
Change-Id: Ib0131c9485a903d73b770090bf8a938056782ba3
2015-04-08 20:51:20 +00:00
jenkins-bot 685e7ffacb Merge "Adding minimum width and height to MWAlienExtensionNodes" 2015-04-08 17:17:42 +00:00
Ritsyy d67543745f Adding minimum width and height to MWAlienExtensionNodes
Bug: T92868
Change-Id: I9387f17e0ff1cf88283f290488ce900418ef3150
2015-04-08 18:08:00 +01:00
Ed Sanders 4379275062 Update VE core submodule to master (7058807)
New changes:
4c1a5ea [BREAKING CHANGE] Give the converter a 'fromClipboard' mode
d855043 Add core tests for annotation merging
fae083e Localisation updates from https://translatewiki.net.
11710e9 Encode and decode HTML entities in comment nodes

Local changes:
* Update getModelFromDom signature

Change-Id: Ida1b9b33d5e25e7d467ef16dd2240442270b9d32
2015-04-07 18:13:06 -07:00
jenkins-bot 8000633fee Merge "Set default size to category popup widgets" 2015-04-07 21:18:13 +00:00
Translation updater bot fc01f12be8 Localisation updates from https://translatewiki.net.
Change-Id: Iba4edca318763cde388a77fd25f7d2dd1e8e36a4
2015-04-07 22:21:15 +02:00
jenkins-bot e8d2a657be Merge "Fix opening of specific reference dialog" 2015-04-07 15:43:46 +00:00
Ed Sanders 7d38c3023f Fix opening of specific reference dialog
Don't bypass WindowAction which does necessary things to the surface.

Bug: T95069
Change-Id: I1a3a480f000aa7500d1954cbe13787cd23f68360
2015-04-07 16:35:30 +01:00
Alex Monk 411a5578b5 Fix constructor name for ve.ce.MWNowikiAnnotation
Change-Id: I7d69b6f836f94a611c3fc6197035d4a793ab31d1
2015-04-06 21:47:56 +01:00
Translation updater bot 5d0c0b575e Localisation updates from https://translatewiki.net.
Change-Id: I1fe2618ebf734e83eb876ad7023ab2b15cf78478
2015-04-06 21:51:44 +02:00
jenkins-bot 5de7b8a461 Merge "Merge MW internal link annotations if they have the same target" 2015-04-06 19:32:05 +00:00
Ed Sanders dfdf7c3f28 Merge MW internal link annotations if they have the same target
Currently we compare some HTML attributes, but as wikitext doesn't
allow you to set arbitrary attributes on a link they can never
represent a meaningful difference (unlike <b style="color:red;"> vs. <b>)

Bug: T95028
Change-Id: I267604e4b2140d3c4fe4f9ab07961c6f17a1f2fa
2015-04-06 12:07:03 +01:00
Alex Monk 23e734b93a Only try to load 'site' and 'user' modules on desktop
These simply won't work with MobileFrontend, per jdlrobson

Bug: T95044
Change-Id: I3b899f55b31d4ed40e65e8d1b2f65b75d9ec339f
2015-04-03 21:41:33 +01:00
Roan Kattouw dd5608598f Use .apply() in MWInternalLinkAnnotation.static.toDomElements
Otherwise other parameters (there are 4 in total) get dropped.

Change-Id: I91cbb8391218cb7e9179b6b655bbfe22d21ade26
2015-04-03 08:54:45 +00:00
jenkins-bot b8f9e43187 Merge "Use ve.safeDecodeURIComponent()" 2015-04-03 08:49:55 +00:00
Moriel Schottlender de4a1d7012 Set default size to category popup widgets
Don't rely on this.$element.width()/height() when showing the
category widget popups - instead use the default sizing. If one
thing goes wrong and the popup is clipped, all subsequent popups will
have a smaller and wrong sizing.

Change-Id: I38ac0ae97dd5d7c38cdcdcfb31f736b19837bd5a
2015-04-02 16:50:25 -07:00
Translation updater bot 66944cac44 Localisation updates from https://translatewiki.net.
Change-Id: Ic07260057e3edc5a56820e085dda8b8a3487c1df
2015-04-02 21:28:14 +02:00
Translation updater bot 792e1444de Localisation updates from https://translatewiki.net.
Change-Id: I5a3ee85aeafea151e80b42d0481c9f554ba33c27
2015-04-01 22:40:34 +02:00
Federico Leva 68e137afde Restore Leli Forte's mt translations
Follow up to 23b5f323: I pasted the removed translations, sorted and
removed duplicates.

Change-Id: Id59b5fcc1651abe9c1f6170de8c39ff6d62ec4e9
2015-04-01 10:35:30 +02:00
jenkins-bot 15e214f764 Merge "mw.ViewPageTarget: Disable pointer events on dimmed elements" 2015-04-01 03:47:47 +00:00
Timo Tijhof 8475d40b77 mw.ViewPageTarget: Disable pointer events on dimmed elements
Reduces event overhead and prevents accidental interaction with
content while loading, and with content sub while editing.

Change-Id: Ief997cd4d5cf444fb2ee0d28c709301d26e814f9
2015-04-01 01:46:22 +00:00
jenkins-bot aabd6a6274 Merge "Follow-up 7c0ba1e: Revert catastrophic breakage of qqq.json" 2015-03-31 22:38:41 +00:00
Roan Kattouw f3b7ccdefb Use ve.safeDecodeURIComponent()
Depends on Iacc50230a in VE core.

Change-Id: I7fc505c261726f8d83c86a9cc352a0bf9fcb455a
2015-03-31 22:08:46 +00:00
James D. Forrester 23b5f32351 Follow-up 7c0ba1e: Revert catastrophic breakage of qqq.json
Change-Id: I3baa8a2007eb1fe5f60de55bd58f2434198d1e21
2015-03-31 15:05:27 -07:00
Moriel Schottlender 545791648f Open the proper window when adding citation from the general dialog
When a citation is selected from the general citation dialog that
opens from the citoid inspector, make sure it opens the correct
citation window, namely the relevant cite-XXX window rather than
the transclusion window.

Bug: T94602
Change-Id: Idc8dd653e42011bd02c4bcec4aa9a02c9e2b7567
2015-03-31 14:38:52 -07:00
Translation updater bot 7c0ba1efb9 Localisation updates from https://translatewiki.net.
Change-Id: Ib32c52f279eaf08d356a49bf2871cebe5e701534
2015-03-31 21:49:19 +02:00
jenkins-bot e5ac4236a1 Merge "MWInternalLinkAnnotation: Remove useless .toString() call" 2015-03-31 19:23:17 +00:00
jenkins-bot 9652d321e2 Merge "Fake <base href> if missing or invalid" 2015-03-31 19:20:51 +00:00
James D. Forrester b53f81361a i18n: Re-sort alphabetically
Change-Id: I68fecddaf30881541b19012e252d72374b50a443
2015-03-31 07:53:45 -07:00
Roan Kattouw 37bb76e13b Fake <base href> if missing or invalid
If the Parsoid document has an invalid base URI or none at all,
construct one based on wgArticlePath so link href resolution
still works properly. This is needed especially when creating
a new page, because the "Parsoid HTML" is an empty document
in that case.

Bug: T94315
Change-Id: I5d9709725ef471c7ce1987ce887708ac5ee4259a
2015-03-30 21:30:58 -07:00
Roan Kattouw 5026e9b4f5 MWInternalLinkAnnotation: Remove useless .toString() call
ve.resolveUrl() always returns a string, so .toString() is not needed.

Change-Id: Ia699821148687ca16ef642bf94740384779ecb5a
2015-03-30 21:14:27 -07:00
jenkins-bot ef304b3755 Merge "Fix choose event listeners" 2015-03-30 21:41:40 +00:00
jenkins-bot 026c015696 Merge "Correct font sizes of everything on MonoBook" 2015-03-30 21:25:33 +00:00
jenkins-bot 2a8c61b57f Merge "Support an "other" page for special characters" 2015-03-30 20:51:23 +00:00
jenkins-bot 2dbe12bc66 Merge "Handle a further 70 WikiEditor special characters" 2015-03-30 20:50:19 +00:00
jenkins-bot de41c333a8 Merge "mw.Target: Defer parsing of edit notices to MWNoticesPopupTool" 2015-03-30 20:26:09 +00:00
jenkins-bot 156ea81167 Merge "mw.Target: Remove visible text filter for edit notices" 2015-03-30 20:26:06 +00:00
Translation updater bot 6403e1c469 Localisation updates from https://translatewiki.net.
Change-Id: Ie41623a1bcfab60c46afc0dca631e76a0dceb02c
2015-03-30 21:50:17 +02:00
Timo Tijhof eca25738df mw.Target: Defer parsing of edit notices to MWNoticesPopupTool
Also use an array instead of an object. The keys were already
meaningless (index numbers). A "wikimedia/*" Git search did not
show any usage outside MWNoticesPopupTool. However, the array is
backward-compatible with any code using it as an object for keys
or looping (just in case).

This should also make the order more reliable.

Bug: T87412
Change-Id: I683cc902bda5ba768e962af6725e657871b79b9a
2015-03-30 20:47:25 +01:00
Timo Tijhof 97d7da6643 mw.Target: Remove visible text filter for edit notices
This removes the hack for bug 43013, since T91715 has been fixed.

Bug: T87412
Change-Id: I7f477d0815a8b9a7ca2f4405e4c2d6e914868c56
2015-03-30 20:43:25 +01:00
Ed Sanders f86b8aef74 Use new isVisible method
Also make sure only one icon is appended in the case where
$element consists of multiple siblings.

Depends on I7b4d9a54c in core.

Change-Id: I5a7985b7a2c709f079afcdfd5108d73cc7bfc688
2015-03-30 11:28:54 -07:00
jenkins-bot c9084affd9 Merge "Try not to die when RESTbase returns a 404" 2015-03-30 17:40:11 +00:00
jenkins-bot b07a2e83f7 Merge "Update border width transition hack" 2015-03-30 16:28:58 +00:00
Ed Sanders 8c0122a2d5 Update border width transition hack
Upstream was reduced from 4px to 2px so reflect that here.

Change-Id: Id8990d15b9fbd4207648c5c93492fb37e5fdab5e
2015-03-30 14:40:17 +01:00
Alex Monk c68b58eedf Try not to die when RESTbase returns a 404
Just assume content = '' like we did with Parsoid

Change-Id: I1b076f4e37a8c54733da0e4535adb7a50ae2a7e5
2015-03-30 08:44:31 +01:00
Alex Monk 5af4564097 Support an "other" page for special characters
Change-Id: I9a1404dff1a970fbbc7bdf822398dbb7057159bf
2015-03-30 03:02:10 +01:00
Alex Monk 14d5b4e930 Handle a further 70 WikiEditor special characters
VE core changes would be needed for the remaining 9. (To deal with 3 titles in
the UI, and 6 encapsulating the selected text with one character before and one
after).

Change-Id: Id7c0fa06b1c873ab286cffb7a83016a2d37ab744
2015-03-30 02:26:11 +01:00
jenkins-bot 1b3a655ac6 Merge "Simplify context item for MWAlienExtensionNodes" 2015-03-29 21:39:21 +00:00
Translation updater bot 52b89ca996 Localisation updates from https://translatewiki.net.
Change-Id: I3f09a5073999605395857e7a09c8cc04eeb6a93d
2015-03-29 15:11:36 +02:00
jenkins-bot 4b2ee8f310 Merge "Load all of WikiEditor's special characters" 2015-03-28 03:00:06 +00:00
jenkins-bot 51de927b65 Merge "Parent constructor simplification" 2015-03-28 02:58:52 +00:00
jenkins-bot 08afdfadbd Merge "Use parseInt(), not Number.parseInt()" 2015-03-27 23:23:22 +00:00
Roan Kattouw b858332667 Use parseInt(), not Number.parseInt()
For whatever reason, Number.parseInt doesn't exist in IE11.

Change-Id: I62366ee027283a8f70d3fff2e29c4f333ad5f697
2015-03-27 16:14:13 -07:00
Alex Monk e084df2df6 Load all of WikiEditor's special characters
Relies on If9c5cdbe and I8fafd734

Bug: T91608
Change-Id: I3fafc561ceae969e4ecc12881154cd8a3568bebb
2015-03-27 22:13:38 +00:00
jenkins-bot f7adb9d7d6 Merge "Don't position category popups -10px up" 2015-03-27 19:30:18 +00:00
Trevor Parscal a3c2ed7d27 Don't position category popups -10px up
Bug: T94114
Change-Id: I05ddbeb42b49dab925fe9b46caf12c6201e68441
2015-03-27 12:14:09 -07:00
Ed Sanders 06ad00bf71 Simplify context item for MWAlienExtensionNodes
Just show the name of extension. 'MediaWiki extension' is meaningless
to most people.

Change-Id: I64dc4914874b3fb3f807d7e0155ad31f2a8e703e
2015-03-27 19:05:26 +00:00
Ed Sanders 2e654c01f0 Parent constructor simplification
Change-Id: I93be028cb76d7586c5bb56eb0b63c87d99413683
2015-03-27 18:56:16 +00:00
jenkins-bot 4fbb11e40a Merge "Verify welcome dialog exists before trying to close it" 2015-03-27 18:48:39 +00:00
Moriel Schottlender db9e565a09 Verify welcome dialog exists before trying to close it
When deactivating, verify first that the welcome dialog was
initialized before calling 'close' on it.

Change-Id: Ife98b396f3d8641e2bd313c549fe867bcd84db9b
2015-03-27 11:45:26 -07:00
Bartosz Dziewoński 4bfc19349a Correct font sizes of everything on MonoBook
This is not pretty and probably isn't optimal, but it works well
enough. The bug about getting rid of this all is T91152.

Bug: T94071
Change-Id: If926286f1d0c7835489914ed653a0d65ed24f53a
2015-03-27 19:42:33 +01:00
ecotg 175e60edaf Strip X-Parsoid Performance Headers from Visual Editor
Stripped out X-Parsoid Performance Headers, previously used to gather and
forward Parsoid's performance information, from ApiVisualEditor.php,
ve.init.mw.Target.js and ve.init.mw.TargetLoader.js. Change I936ada7b1 strips
out the corresponding X-Parsoid Performance Headers from Parsoid. Parsoid's
current performance instrumentation is achieved using Graphite and txstatsd.

Change-Id: I57d6f866a7d8287a5115e6236b0fb25bc4d0eabd
2015-03-27 12:03:15 -06:00
Amir E. Aharoni 9962663f81 [BrowserTest] Disable the Cite button screenshot
It looks differently in different languages,
and it is likely changing now with Citoid being deployed,
so it shold be disabled for now and revived when Citoid deployment
stabilizes.

Change-Id: If6a6ecf450060eb1387aaf90fd0cfb937b08bd3d
2015-03-27 14:46:39 +03:00
Amir E. Aharoni 8cb387a269 [BrowserTest] Redefine the Apply changes element for language screenshot
Redefine the element to include the full button
and remove the padding, which is now not needed.

Change-Id: I1ac244bc97b38c9d8b47ddd778a653783a748a49
2015-03-27 14:16:48 +03:00
Amir E. Aharoni d941263d33 [BrowserTest] Add padding to some more screenshots
Change-Id: If103488927e3309479b7b5f9f380135052c7ac9d
2015-03-27 14:11:14 +03:00
Ed Sanders 0a2fa11a4e Fix choose event listeners
* Choose can't emit with null
* Connect search straight to results' choose event.

Change-Id: I434829511ea70859d14e26f39095e0d094dea6c0
2015-03-27 10:51:06 +00:00
jenkins-bot a0fbb388f6 Merge "[BrowserTest] Add padding to the "Apply changes" button screenshot" 2015-03-27 08:23:56 +00:00
jenkins-bot 6d2aa585e1 Merge "[BrowserTest] Add padding to screenshots of the page settings dialog" 2015-03-27 08:23:54 +00:00
jenkins-bot 0ef3c0c20c Merge "[BrowserTest] Add padding to the Edit Links screenshot" 2015-03-27 08:23:52 +00:00