Ed Sanders
d5376e28fc
Improve ThreadItem documentation
...
Change-Id: Ia266fc22b02af0edbb32f356b4e0d92fe3a4da5f
2020-06-26 14:56:19 +02:00
Ed Sanders
811f8bdf02
Allow non-lists to be passed to unwrapList
...
Bug: T256292
Change-Id: I036e0fdf3dde51c33f64abb7df142e26ebe66554
2020-06-24 19:19:06 +01:00
Ed Sanders
badbd823b2
Use $wgLocaltimezone global instead of request context
...
Bug: T255704
Change-Id: Ic26a1d77a64f52addcb45131ea2f9cd41c7c51e2
2020-06-17 23:14:13 +02:00
James D. Forrester
d6c3df31f5
Remove various phan suppressions and fix issues
...
Change-Id: I73b535f284566a0a8876a3198b9784b47567fac6
2020-06-12 20:35:59 +01:00
Ed Sanders
7be0cc3209
Create ThreadItem classes
...
Change-Id: Id2c5324d74eccb1209ccb76768c557722c6d9400
2020-06-12 20:35:59 +01:00
Ed Sanders
ba295c81dd
Replace 'whitelist' in documentation
...
Bug: T254646
Change-Id: Ie67b0f801dcd95142b6b2ba5793cb87fa1fb5932
2020-06-11 04:51:39 +00:00
Ed Sanders
a4d767d97c
CommentModifier.php: Remove unnecessary toLowerCase
...
We only need .toLowerCase() or strtolower() when doing
case insensitive comparisons.
Change-Id: I19caca50139a42d86ff20e1ee0224cd3deb0d092
2020-06-10 22:06:16 +01:00
Umherirrender
48e860916a
build: Add mediawiki/mediawiki-phan-config
...
Replace phan-taint-check-plugin by phan, it is now included
Change-Id: I0e682a83afd30faa8967e3c586431be4ae9a29b3
2020-06-10 22:21:07 +02:00
jenkins-bot
94bbaa846f
Merge "Depend on Linter"
2020-06-04 16:46:57 +00:00
jenkins-bot
203df3aabc
Merge "Call the linter API directly if installed"
2020-06-04 16:24:36 +00:00
David Lynch
068ff29e88
Depend on Linter
...
Depends-On: I8b183d816748245722ca1a459203333614f58f32
Change-Id: If2252d54a39a9d12744ccdee08e334a211f41d46
2020-06-04 18:23:57 +02:00
Ed Sanders
e9f2bb80d1
Call the linter API directly if installed
...
If the Linter extension is not installed, just allow the page
to be edited.
Bug: T253799
Change-Id: Id3e4c9c2d48aa7ab0b270f41d33ec19184af9a48
2020-06-04 09:46:07 -05:00
Ed Sanders
62c0080850
Fix whitespace handling in unwrapList
...
Update 'referenceNode' before modifying the DOM.
Bug: T254308
Change-Id: I76af898e238c1e6d3db96d3e6156e80e55c87820
2020-06-03 13:54:36 +01:00
Ed Sanders
0d14fcea6a
wt->visual: Don't unwrap template lists
...
Bug: T253150
Change-Id: I1584d9834e29c38edf4234f2f022c1c48bfd485f
2020-06-01 22:32:23 +01:00
Ed Sanders
da433037a3
Move getTranscludedFromElement to Utils
...
Change-Id: I8bdd757f949c013ba426150a192d71243fadf45d
2020-06-01 22:32:23 +01:00
Bartosz Dziewoński
79ae8a32c5
Support parsing when timestamp is wrapped in a link
...
Bug: T252059
Change-Id: Ib8952fb80503bad407e8d0fe725103a0fae12a6a
2020-05-27 22:47:17 +02:00
Bartosz Dziewoński
01b4a8f4f4
Support replying when timestamp is template-generated
...
* Move modifier#getFullyCoveredWrapper to utils
* Use that method to find the node where we start searching for
template wrappers, rather than using endContainer
Bug: T252058
Change-Id: I55de58102f3468fce01290bd413a7fdc96d322d6
2020-05-27 21:16:03 +02:00
Bartosz Dziewoński
420c514091
Insert replies outside of decorative comment frames
...
When there is a wrapper element whose range matches the range of
a comment, any replies will now be added outside of that wrapper,
instead of directly after the comment (inside the wrapper).
Bug: T250126
Change-Id: I6b42c4db019ae998e91eebd324f9cbd2aa791b4f
2020-05-22 15:01:12 +01:00
Ed Sanders
b3ca37c1c5
Create ImmutableRange class in PHP
...
TODO: Create one in JS as well
Change-Id: I6c9dc2455afcb8d0b68674a2985c5e43dd94b6fb
2020-05-22 15:01:09 +01:00
jenkins-bot
838dcdccad
Merge "Avoid deprecated User::getOption()"
2020-05-21 16:21:36 +00:00
jenkins-bot
c53cecac10
Merge "Create a user preference to store visual/source mode"
2020-05-21 16:21:34 +00:00
Bartosz Dziewoński
5675eea4d0
Avoid deprecated User::getOption()
...
Change-Id: Iad32c3e63116c54c47cd3aa2aaf142c5dd5404c5
2020-05-21 13:12:49 +00:00
Ed Sanders
5feb69612f
Create a user preference to store visual/source mode
...
Bug: T250523
Depends-On: I5b3b47feeeca2085fcd283d55d7e9ceafa73be70
Change-Id: I18f5d38f9d694b12e5f983be7b3b165f135a890d
2020-05-20 22:16:19 +01:00
Bartosz Dziewoński
515af82061
Reduce duplication between PHP parser and data gen for JS parser
...
Also, make the handling of TranslateNumerals and digitsRegexp the same
between PHP and JS.
Change-Id: I1d81343d0b59ab3ecd59ba1c2ad99a729d983ac4
2020-05-19 20:54:44 +02:00
jenkins-bot
366aca2ccd
Merge "Stop printing console warnings"
2020-05-18 22:52:30 +00:00
Bartosz Dziewoński
219339551c
Stop printing console warnings
...
It was useful when I was debugging those parts of the code, but now
it's usually annoying.
The warnings can still sometimes be useful for understanding how the
tool parses some discussion, though. To keep that functionality, add
displaying warnings for each comment in the debug mode.
Change-Id: I2d218a8a394f179bcc0990ff988a0567c275ccf2
2020-05-18 23:37:37 +02:00
Ed Sanders
607440498e
Spell check pass
...
Change-Id: Ia20da358297126bd52a968bd77c960f81fe82b8f
2020-05-18 21:24:14 +00:00
Bartosz Dziewoński
c848d8a90e
Parser tweaks
...
Follow-up to Ic1438d516e223db462cb227f6668e856672f538c.
Minor corrections and comment improvements in PHP parser,
and "backporting" some changes to JS parser that I like.
Change-Id: I5e54121914ec6b323e556dd133bcb71b3aefbb61
2020-05-18 19:53:26 +00:00
Ed Sanders
b1427163af
Parser.php: Add tests for getTranscludedFrom
...
Requires an implementation of unwrapParsoidSections
Change-Id: I96c929b1117ba652dbd5af6a1ee37a5f9e87ed1e
2020-05-18 19:53:01 +00:00
Ed Sanders
d1e58841af
Rename removeListItem to removeAddedListItem and remove in PHP
...
This method shouldn't be required on the server. Leave comments
relating to it in addListItem so JS & PHP can be kept in sync.
Change-Id: I849fac660faf6e750272c20776f96b9250f96b1b
2020-05-18 19:25:08 +00:00
jenkins-bot
0496e6b7e6
Merge "PHP: More missing typehints"
2020-05-18 17:54:16 +00:00
jenkins-bot
a41eadfc51
Merge "Modifier: Pass document to createWikitext"
2020-05-18 17:54:15 +00:00
Ed Sanders
bc437fc43f
PHP: More missing typehints
...
Change-Id: I483c9e70b65dcd685436b4099bcfc4925c65b002
2020-05-16 16:46:25 +01:00
Ed Sanders
5e996fdfdd
Modifier: Pass document to createWikitext
...
Change-Id: I1793e1d690835af746a4e25a50e2e0a474811e8e
2020-05-15 22:47:54 +01:00
jenkins-bot
9cc665a8bc
Merge "Add missing use MWException"
2020-05-15 21:46:21 +00:00
jenkins-bot
a6fcb965ea
Merge "Fix return type of callable"
2020-05-15 21:46:20 +00:00
jenkins-bot
db29a29306
Merge "Don't call non static functions statically"
2020-05-15 21:46:20 +00:00
Reedy
ac6cd26ca0
Don't call non static functions statically
...
Change-Id: I2db66a8da3ab325f2bbabb37afd276d4a62077e9
2020-05-15 22:02:57 +01:00
Reedy
70c5a1e435
Fix return type of callable
...
Change-Id: I7e594a9f9f6f9d4737fd880e449c43b9b2cf24fb
2020-05-15 22:01:21 +01:00
Reedy
c3a7ba1d13
Add missing use MWException
...
Change-Id: I4d00106718c0f7e32060d23aaa2bc8c74a4d6d1f
2020-05-15 22:00:30 +01:00
Reedy
08a6a83f9d
Replace stObject with stdClass
...
Change-Id: Id380c34cf0ca85a0a9a0d044474aa228b620c78f
2020-05-15 21:57:28 +01:00
jenkins-bot
21a892d5e7
Merge "Follow-up b78fb3f4
: Make sure we're using a MW User"
2020-05-15 20:38:42 +00:00
James D. Forrester
d775f30791
Follow-up b78fb3f4
: Make sure we're using a MW User
...
Change-Id: Iafd4d3b17a873c0702a64e063a1d0d7e19cf572b
2020-05-15 13:18:06 -07:00
Ed Sanders
e6e0b1ead9
PHP: Add missing typehints
...
Change-Id: I5639f8cbdae9aaa9cfa06136e19cc94f9fad10ea
2020-05-15 22:04:47 +02:00
Ed Sanders
b78fb3f4c1
Move all PHP to the MediaWiki\Extension\DiscussionTools namespace
...
Change-Id: I654ebb3e646a6d8d62f7bd14d48805e39f836d7e
2020-05-15 21:57:13 +02:00
Ed Sanders
340572bc05
Create a Utils class in PHP
...
Also move htmlTrim to utils in JS.
Change-Id: Ia5356d713c1c5d521c396cc28bcd4ecc7ee5bbbb
2020-05-15 00:25:32 +01:00
Ed Sanders
a3889fd400
Port modifier.js to PHP
...
Change-Id: I03b9e4377cb3ce6a5ca9d06e49dca9b2516f4979
2020-05-15 00:20:41 +01:00
Bartosz Dziewoński
6f32369b6a
tests: Fix comparing PHP and JS ranges
...
In JS, strings are internally encoded as UTF-16, and properties like
.length return values in UTF-16 code units.
In PHP, strings are internally encoded as UTF-8, and we have the
option of using methods that return bytes like strlen() or UTF-8 code
units like mb_strlen().
However, the values produced by preg_match( …, PREG_OFFSET_CAPTURE )
are in bytes, and there's nothing we can do about that. So let's use
bytes throughout, mixing the two types results in meaningless numbers.
Then in the test code, we have to calculate UTF-16 code units offsets
based on the UTF-8 byte offsets.
We also have to copy the entire workaround for mw:Entity nodes… Maybe
the parser should be fixed to return the real nodes for ranges' ends
in this case.
Change-Id: I05804489d7de0d60be6e9f84e6a49a885e9fb870
2020-05-14 22:37:34 +00:00
Bartosz Dziewoński
76289cdf73
tests: Fix failures due to CDATA handling in PHP
...
It appears PHP's DOM library always uses CDATA nodes for the contents of
<style> tags, even if there is no such markup in the source HTML.
Change-Id: Id04b27086c5e7a0b016a3a440b2b4895d6b13c93
2020-05-14 22:37:23 +00:00
Bartosz Dziewoński
33d69e26c9
tests: Fix different whitespace trimming in PHP and JS
...
Notably, JS trims the no-break space, while PHP doesn't. There are
some other differences that don't come up in our tests. What we really
want is to trim the ASCII whitespace as defined in the HTML spec.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim
https://www.php.net/manual/en/function.trim.php
https://infra.spec.whatwg.org/#ascii-whitespace
Change-Id: I95b8fb38878716a2fa7ec84c9f2e8065ebe77c0d
2020-05-14 21:37:26 +00:00