Bartosz Dziewoński
b8d7a75c34
Fix performance of DiscussionToolsCommentParser::childIndexOf()
...
Profiling reveals that >87% of the run time of our test suite is spent
in this tiny method. Apparently, DOMNodeList::item() is extremely slow
(possibly it's linear time instead of constant time?).
Profiled using XDebug and KCacheGrind:
https://phabricator.wikimedia.org/F31815264
We can calculate the child's index in its parent by counting its
precending siblings instead, which turns out to be much faster.
Before:
1. 275444ms to run DiscussionToolsCommentParserTest:testGetComments with data set #2
2. 12668ms to run DiscussionToolsCommentParserTest:testGetComments with data set #3
...
After:
1. 9545ms to run DiscussionToolsCommentParserTest:testGetComments with data set #2
2. 5549ms to run DiscussionToolsCommentParserTest:testGetComments with data set #3
...
That's still kind of slow but now it's bearable to run the test suite.
Change-Id: I49155f7aa2e231a9a20bf282cf6aaa28fc902e0b
2020-05-13 02:56:39 +02:00
Ed Sanders
745101c02b
PHP tests: Move some test utils to a parent class
...
Change-Id: I6ae5aa85f8aaa02e1b9323820a841c06c5d62b64
2020-05-12 12:33:04 +01:00
Ed Sanders
a000b8c7b1
Add comment tests to PHP
...
TODO: Make the assertions less slow (currently ~50s)
Change-Id: I1d774e353c070484b5bae18e2ec3e3e41da68202
2020-05-12 12:33:04 +01:00
Roan Kattouw
7b7a2cd69c
The Great Parser JS to PHP port of 2020!*
...
* Not to be confused with the Parsing Team's
"Great Parser JS to PHP port of 2019"
Gasp as OR hacks are changed to null coalescing operators.
Applaud as variable declarations are dropped.
Cheer as parameters and return values are type-hinted.
Shudder as DomNodeLists have no indexOf method.
Moving discussion parsing to the server should allow
us to implement much cleaner APIs for commenting.
Bug: T252252
Co-authored-by: Ed Sanders <esanders@wikimedia.org>
Change-Id: Ic1438d516e223db462cb227f6668e856672f538c
2020-05-12 12:33:04 +01:00
Translation updater bot
111dbeba9a
Localisation updates from https://translatewiki.net .
...
Change-Id: I538a737b31c25fd354c8cc1cd197116c803d10ec
2020-05-12 08:20:57 +02:00
jenkins-bot
8415b44837
Merge "Modifier: Fix missing docs and variable names"
2020-05-11 22:17:41 +00:00
jenkins-bot
ee102a5a89
Merge "Modifier: Separate out test data"
2020-05-11 22:17:28 +00:00
Ed Sanders
07439609c4
Modifier: Fix missing docs and variable names
...
Change-Id: Ia5a7974f1efbe7465235fd1f1f548f53848ca960
2020-05-11 22:56:21 +02:00
Ed Sanders
6aa2fac2f8
Give username completion a min width of 10em
...
Change-Id: Id98643714e092f33034dcc84a97845fb2945bfb0
2020-05-11 19:44:52 +01:00
Ed Sanders
76bd22fe59
Show no remote users when input is empty
...
This could cause unrelated remote users to be shown
if you typed '@x<backspace>'.
Change-Id: I03c63ede4fce53c201398b6ba5256b68aa90391c
2020-05-11 19:35:48 +01:00
Bartosz Dziewoński
6237f0fe0f
Show real error message when an exception is thrown
...
Exceptions were being treated like API errors, resulting in the
incorrect message "Invalid response from server." being shown to the
user. Instead show the error message.
Bug: T252238
Change-Id: Idbaee7d2b710812673992d30a17a9b5fe856a5a6
2020-05-11 19:04:54 +02:00
Ed Sanders
4397bda8cb
Modifier: Separate out test data
...
Change-Id: I63d868a47daebee180c229b424311d10b80d2e89
2020-05-11 16:58:00 +01:00
Ed Sanders
78aba45909
Hooks: Remove unused variable
...
Change-Id: I80f5dd63a2224f1c523ab1aa53da435851c2789d
2020-05-11 16:55:08 +01:00
jenkins-bot
dc2fe46032
Merge "parser.js: Fix some typos and variable names"
2020-05-11 15:19:36 +00:00
Translation updater bot
ac35652811
Localisation updates from https://translatewiki.net .
...
Change-Id: I3b60e7c771859b72c9f2621aa0ac946b51ac6718
2020-05-11 08:37:03 +02:00
Ed Sanders
ea0b95be05
Manually clear out session storage on teardown
...
We used to rely on this happening in onInputChange but
that listener is now detached.
Bug: T252176
Change-Id: I6654d68dc6107cd78172c455db9cba6cb9eabddf
2020-05-08 23:01:17 +01:00
Ed Sanders
77f1be3bd1
parser.js: Fix some typos and variable names
...
Change-Id: Ib80fd87893f8fad47eaeac8edabe03472b78b75c
2020-05-08 20:22:49 +01:00
jenkins-bot
4c8e92e0fb
Merge "Disable VisualEditor page takeovers while a reply widget is open"
2020-05-08 14:24:26 +00:00
jenkins-bot
af2fd3f8d8
Merge "Fix typo in parser.js 'dl' => 'dd'"
2020-05-08 14:20:14 +00:00
jenkins-bot
c236306d16
Merge "Separate out more data from parser.tests.js"
2020-05-08 14:20:13 +00:00
Ed Sanders
4f22e32304
Fix typo in parser.js 'dl' => 'dd'
...
Doesn't actually affect the behaviour as we are
computing indentation level.
Change-Id: I8b6824460ffbee1c0acb361c26503d3b6c439025
2020-05-08 14:24:15 +01:00
Ed Sanders
41d5aa1d37
Separate out more data from parser.tests.js
...
Change-Id: Ib1c3ec30796dd6bff36835e4555b6974e2a5b376
2020-05-08 12:12:11 +01:00
Translation updater bot
99904ad553
Localisation updates from https://translatewiki.net .
...
Change-Id: I1994571dbb2b6547ccf0879bcf08ac4a3ad3f222
2020-05-08 09:28:10 +02:00
David Lynch
2f92e5d114
Disable VisualEditor page takeovers while a reply widget is open
...
This allows the unload handler to trigger on these links.
Depends-On: If52aa9d619eac08456874fc75c0f6e1adff01246
Bug: T244942
Change-Id: I9904e8af4a60b0f5e9a6e263cd4fd8e1e3fd1f98
2020-05-07 21:46:15 +02:00
jenkins-bot
f0f457562d
Merge "Handle and other entities in the timestamp/timezone"
2020-05-07 19:44:12 +00:00
Translation updater bot
545e2f9570
Localisation updates from https://translatewiki.net .
...
Change-Id: I9e6c0305c75bda16ce08cd4b051e209c6a67c0ac
2020-05-07 08:34:14 +02:00
jenkins-bot
6ee5865228
Merge "Config: Separate useVisualEditor into enableVisual and use2017Wikitext"
2020-05-06 20:27:53 +00:00
jenkins-bot
6e8899ee10
Merge "Switching between VE & wikitext (plain)"
2020-05-06 20:27:51 +00:00
jenkins-bot
6078c5b1a2
Merge "Disable IP mentioning until outstanding issues resolved"
2020-05-06 19:57:29 +00:00
jenkins-bot
2d6c8bfa94
Merge "Allow visual mode to tested with ?dtvisual=1"
2020-05-06 19:14:05 +00:00
Ed Sanders
63492f1276
Disable IP mentioning until outstanding issues resolved
...
Bug: T251478
Change-Id: Ied56673c08d9a9803eb58b0e373a866d21a8945f
2020-05-06 19:15:19 +01:00
Ed Sanders
cb90e6edee
Move IP users to bottom of suggestions
...
Bug: T251478
Change-Id: I55088f9724303d2c46d829a14e0dc8abd5dc38b8
2020-05-06 18:53:02 +01:00
Ed Sanders
9fab4add17
Config: Separate useVisualEditor into enableVisual and use2017Wikitext
...
Currently use2017Wikitext is missing some implementations.
Change-Id: Ib5f9bcc588561a80ca11de85518e6fae64e5b104
2020-05-06 18:03:36 +01:00
Ed Sanders
56d8721fd7
Switching between VE & wikitext (plain)
...
Bug: T234403
Change-Id: I84a639ab8e31ec9f683a63b0ecf184f426df09dd
2020-05-06 18:03:36 +01:00
Ed Sanders
d18496f025
Allow visual mode to tested with ?dtvisual=1
...
Bug: T251963
Change-Id: Ie86ed2097e3dc008f73d9b498627f9d025b865d5
2020-05-06 18:03:12 +01:00
Ed Sanders
fdae56ea82
Add messages for source/visual tabs
...
Separated from commit that uses them so they can start
to be translated.
Change-Id: Ifa30e231bd8aa8d9d387bb92e267f9a305615e62
2020-05-06 17:31:35 +01:00
Translation updater bot
d11ba3afbe
Localisation updates from https://translatewiki.net .
...
Change-Id: Ie262dcb39417d3fc1995a314ecc564269d0252ca
2020-05-06 08:29:33 +02:00
Ed Sanders
44fd8ec0ef
Parser: Return mw.Title from getTitleFromUrl
...
Change-Id: I2c3ce50c5ff7486d6c1f3a0c26cb3a9f1c252b60
2020-05-05 21:34:46 +00:00
Bartosz Dziewoński
0269626adc
Handle and other entities in the timestamp/timezone
...
Bug: T251838
Change-Id: Iba8d7c71e332c63229eec4bc7c80b10627135784
2020-05-05 22:38:16 +02:00
David Lynch
b7ad053105
@Username completion in VE (source or visual) mode
...
Bug: T232601
Depends-On: I075cac9aa195574c3d416a40bbdc5ec2d64424e2
Change-Id: Ie605e783b333be0f81099d8d953725c38eb4cee1
2020-05-05 09:44:08 -05:00
jenkins-bot
078d37f576
Merge "parser: Have getAuthors return a list"
2020-05-05 14:37:42 +00:00
Ed Sanders
5da26e2d0b
parser: Have getAuthors return a list
...
Change-Id: Ieda881a26f802a9e8c73822fcbcc70dd6035bbb6
2020-05-05 12:13:12 +01:00
Translation updater bot
661365effa
Localisation updates from https://translatewiki.net .
...
Change-Id: I642b1d7ff7e8dc69aecad27a6674a1973c0a823d
2020-05-05 08:30:17 +02:00
jenkins-bot
66576f2498
Merge "Move CommentController to separate file"
2020-05-04 19:03:35 +00:00
jenkins-bot
a52fba83e4
Merge "Allow inspectors to position beyond the surface"
2020-05-04 19:03:34 +00:00
Translation updater bot
00e0d647b9
Localisation updates from https://translatewiki.net .
...
Change-Id: I7d0711300eb67997eb1c07aa382df66be71470cc
2020-05-04 09:15:17 +02:00
Ed Sanders
011c13c930
Link the "Reply" tag to mediawiki.org
...
Bug: T250520
Change-Id: I0162c922eb22607e51b38e2ecebbe8738fd7c541
2020-05-02 12:50:00 +01:00
Translation updater bot
210dfb5b10
Localisation updates from https://translatewiki.net .
...
Change-Id: I028dc290ab0894222a7a9dcf62dfd242d536eb25
2020-05-01 10:00:38 +02:00
Ed Sanders
5271b3eafd
Move CommentController to separate file
...
Change-Id: I6dbf16801058e7e41d38a0ce5753c298d380b780
2020-04-30 17:05:04 +01:00
Ed Sanders
2aa6e5f583
Allow inspectors to position beyond the surface
...
Change-Id: I3cd0e433ea117b1b469e5a2111f4c7988c48abfd
2020-04-30 17:05:02 +01:00