Commit graph

2024 commits

Author SHA1 Message Date
Ed Sanders e2f3c2f264 ReplyWidget: Introduce a 'refresh' teardown mode that preserves auto-save
Change-Id: Ibb04f7c2813b9d3cf2bb2434a414c86eb0a7f644
2022-02-02 18:38:22 +00:00
jenkins-bot b0b965512e Merge "Create MemoryStorage wrapper around mw.SafeStorage" 2022-02-02 17:27:37 +00:00
jenkins-bot fabe580343 Merge "Limit where whitespaceParsoidHack() is used" 2022-02-02 17:25:02 +00:00
jenkins-bot fef06b195e Merge "Remove empty lines in visual mode in some more cases" 2022-02-02 17:23:07 +00:00
jenkins-bot 11892a9369 Merge "Remove unused code in JS modifier" 2022-02-02 17:21:37 +00:00
Ed Sanders 9e43f5c261 ReplyWidgetVisual: Fully clear sessionStorage when clearing
Clearing the widget removes all the surfaces, meaning there are
no doc-state variables to cleanup. Switch the order of these
two calls.

Change-Id: I6c095a171096cd700ce4cd31b08fa3b982ab2401
2022-02-02 16:46:57 +00:00
Ed Sanders cb5d585b93 Update wgCurRevisionId/wgRevisionId when refreshing the page
Change-Id: I2b1a7a6fe539a8a4bd5e3f865e4bb7464913d9e0
2022-02-02 16:46:57 +00:00
Ed Sanders dd9d37b555 Create MemoryStorage wrapper around mw.SafeStorage
This means we can guarantee we will be able to recover
auto-saves if we don't reload the page.

Change-Id: Ic867ae6df0c949f35cb32ec4b835688778db29ef
2022-02-02 14:59:47 +00:00
Bartosz Dziewoński fb474efb2b controller: Separate updating page contents from saving the page
Bug: T300502
Change-Id: I52c0a648ee15cc61890413a269708a6cb2bd4df8
2022-02-02 00:42:41 +01:00
Ed Sanders 7381d9d963 Cleanup CommentController and document
* Document all methods
* Rename comment to threadItem
* Use this.threadItem instead of passing in identical
  threadItem in various methods.
* Don't pass threadItem to ReplyWidget as we already
  pass the whole CommentController.

Change-Id: If9aad0bcf9f0e4ebf3342b75631ddac8b57f7d87
2022-02-02 00:05:19 +01:00
Translation updater bot dd9b3d517e Localisation updates from https://translatewiki.net.
Change-Id: Ifae61fbc15016e3947fdf6d7da05c227ea066b83
2022-02-01 08:26:56 +01:00
jenkins-bot 1fdefedc69 Merge "Clear autosave when following links from the legacy hint" 2022-01-31 20:16:21 +00:00
Ed Sanders 6af617ef99 CommentItem: Fix typo in documentation
Change-Id: I95fc9f4ca904a9315fc665618085c6c250b21a2e
2022-01-31 17:01:03 +00:00
Ed Sanders cb828828e2 controller: Fix typo in documentation
Change-Id: Ia68bcac6be0c59146655c5cbce872ea9b9304e37
2022-01-31 15:03:05 +00:00
Translation updater bot 3f77a74c29 Localisation updates from https://translatewiki.net.
Change-Id: Ie027da39e63a932825c9ff89621eb55685cbaff5
2022-01-31 08:21:53 +01:00
Bartosz Dziewoński 15f0867b75 Limit where whitespaceParsoidHack() is used
* We don't need it anywhere in JS, since we're not sending that HTML
  to Parsoid.
* We only need it on the nodes directly containing our reply lines in
  PHP, not all over the place.

Change-Id: I0a04388225f32654dda2f599442cd27a303b5d0a
2022-01-29 22:42:46 +00:00
Bartosz Dziewoński 6572e108f9 Remove empty lines in visual mode in some more cases
After switching from source mode to visual mode, there will be some
Parsoid-generated white space between block nodes, which remains when
the reply is posted in visual mode.

Follow-up to e064f43499.

Bug: T300439
Change-Id: Ia5d2c06f0a4125e9f148eddd3235f95138c9d37f
2022-01-29 22:42:41 +00:00
Bartosz Dziewoński bacf6a8fc6 Remove unused code in JS modifier
I don't think we're going to need this in the client again.

Change-Id: Id38405c14edfd7ac45afad8f32cad64594ae7bc0
2022-01-29 21:39:45 +00:00
David Lynch 3fdaf7ee58 Clear autosave when following links from the legacy hint
Bug: T299270
Change-Id: Ife590b4bea359168f07aa308128425cfb46f71cb
2022-01-27 11:48:42 -06:00
Translation updater bot 4495475fa1 Localisation updates from https://translatewiki.net.
Change-Id: Ie62004aead0918d6db2bfa800c0469b545e82b69
2022-01-27 08:38:38 +01:00
Translation updater bot 883f68920a Localisation updates from https://translatewiki.net.
Change-Id: Ib167106ebb30a4243f3390affc8d12422b3c9e49
2022-01-26 08:24:53 +01:00
Translation updater bot 03344f2f5c Localisation updates from https://translatewiki.net.
Change-Id: I45832232e047fba9c238ab8e1931959e6c55f0a7
2022-01-25 08:32:35 +01:00
jenkins-bot 0b52563b53 Merge "One more tweak for comparing comment ranges to transclusion/DOM ranges" 2022-01-24 23:37:07 +00:00
jenkins-bot 4679dd27b3 Merge "Use class list everywhere for adding/checking CSS classes" 2022-01-24 23:37:05 +00:00
jenkins-bot 51e4fdea9f Merge "Don't try to parse section titles as wikitext in subscription notifs" 2022-01-24 23:23:34 +00:00
jenkins-bot 9892008135 Merge "Simplify handling of sections in bundled notification links" 2022-01-24 23:21:54 +00:00
Bartosz Dziewoński 110a59200f One more tweak for comparing comment ranges to transclusion/DOM ranges
When we encounter a node that doesn't represent comment contents, e.g.:
* a [reply] link we inserted (T297034#7641334)
* an {{outdent}} template (see changed test case)

…we should ignore it together with its descendants (like in
Parser#nextInterestingLeafNode), instead of processing descendants
and possibly detecting comment contents in them.

Follow-up to 8de940b587,
72b9c2c6f5.

Bug: T297034
Change-Id: Ib2fa40c5fa389572b0e88ef558728fa06e3621b0
2022-01-24 17:42:18 +00:00
Bartosz Dziewoński f15693eefa Use class list everywhere for adding/checking CSS classes
In PHP, use DOMCompat::getClassList(), provided by Parsoid.
In JS, use `.classList`, available in all supported browsers.

This may fix some bugs where we were incorrectly checking for exactly
one class. The change in isOurGeneratedNode() is needed for
Ib2fa40c5fa389572b0e88ef558728fa06e3621b0.

Change-Id: Ia28d31678fd3d617b69280c4b7857755300fa515
2022-01-24 18:40:00 +01:00
Translation updater bot ea54d68f2d Localisation updates from https://translatewiki.net.
Change-Id: I4f0fd50eb877b4d2caa90b5f8607458ff7f8c223
2022-01-24 08:27:03 +01:00
jenkins-bot 5fa81c4123 Merge "Restore scrolling to comments when clicking a bundled notification" 2022-01-22 17:24:32 +00:00
Bartosz Dziewoński 35d6a0d853 Restore scrolling to comments when clicking a bundled notification
Follow-up to ebd37369ce.

Bug: T299813
Change-Id: Idd95f21921a89633f5d85aa993ba07aaab59ff20
2022-01-22 03:48:37 +01:00
jenkins-bot 3a4a6bff16 Merge "Add another test case for transclusions overlapping comments" 2022-01-21 22:25:46 +00:00
Translation updater bot 636b646e45 Localisation updates from https://translatewiki.net.
Change-Id: Id98e357f77f901ec7788b8b1db201070c69e058e
2022-01-21 08:13:52 +01:00
jenkins-bot 4a0db2ae45 Merge "Add an optional suffix message to mentions" 2022-01-21 00:36:15 +00:00
jenkins-bot 0e8c9b9536 Merge "Update DiscussionTools phan configuration to match new Parsoid DOM alias config" 2022-01-20 23:34:25 +00:00
Bartosz Dziewoński 5919e4e371 Don't try to parse section titles as wikitext in subscription notifs
Bug: T299572
Depends-On: Idb3a87fd18330f90a8cdc1276994d54288e17b28
Change-Id: I3b58f337bb2ea1f5255fc0a41dbd7a5ad8c433db
2022-01-21 00:12:58 +01:00
Bartosz Dziewoński d2405cc11c Simplify handling of sections in bundled notification links
This code previously ensured that the fragment identifier linking
to a section was only included if all events had the same section.
It doesn't actually seem worth the effort, since we handle scrolling
to the highlighted comments client-side anyway.

And the links were not quite correct, because we didn't parse and
strip the section title as expected by built-in Echo events. Just
use Echo's code for this.

Depends-On: Idb3a87fd18330f90a8cdc1276994d54288e17b28
Change-Id: Icae0d3654dd02109337ff8737b16f55bbd514f43
2022-01-21 00:06:36 +01:00
C. Scott Ananian c643669dbd Update DiscussionTools phan configuration to match new Parsoid DOM alias config
Bug: T240775
Followup-To: I99e1768c4dcbe84d73d13ddd34a181d68e9fcb5e
Depends-On: I68228213a2af937923751dcc2c121551396c6498
Change-Id: I9c5d1fc4c59469f0af9da81f94aac0ccd779d4df
2022-01-20 17:16:35 -05:00
Bartosz Dziewoński 8f937eb9da Prevent assertion failure caused by empty headings
Follow-up to 8de940b587.
See also 8b426c7e5c.

Bug: T299583
Change-Id: Ibd2c459330cfc7664bd36d7840209779450d72d4
2022-01-20 18:56:32 +00:00
Translation updater bot 4b138f128f Localisation updates from https://translatewiki.net.
Change-Id: I2842ad13ded091c3ed7c1c88763304937f3272cc
2022-01-20 09:17:31 +01:00
jenkins-bot 7843aab8af Merge "When using bullet syntax, hide the marker next to the reply tool" 2022-01-20 01:40:27 +00:00
Bartosz Dziewoński b019196e7a When using bullet syntax, hide the marker next to the reply tool
Bug: T259864
Change-Id: I47097c2b06f9deade7c234f08ebacb83d16a1d6d
2022-01-19 23:05:05 +01:00
jenkins-bot 70a701dd13 Merge "Include namespace when referring to page title in empty state messages" 2022-01-19 18:40:41 +00:00
David Lynch dccaa5bf65 Add an optional suffix message to mentions
Wikis like jawiki will then be able to customize the message to include
honorifics as they think appropriate.

Bug: T268588
Change-Id: I213fb9fd0a9ed6592ce3548a5b2c3b11a55c1abc
2022-01-19 10:29:10 -06:00
Translation updater bot 7694243a9f Localisation updates from https://translatewiki.net.
Change-Id: Ic2cc7510e7bf664b4266f3804926bcabd335dd57
2022-01-19 08:23:59 +01:00
Translation updater bot 10acc0ea8f Localisation updates from https://translatewiki.net.
Change-Id: I1ccc84bee60d1d89b33b8981c995dcb3b0455cad
2022-01-18 08:10:49 +01:00
Bartosz Dziewoński 4e4e9f1c80 Add another test case for transclusions overlapping comments
Prior to 8de940b5, the comments on this page would not be marked as
partially transcluded.

Bug: T298408
Change-Id: Ib7eb8b4113151048c0e778b3530600d98dd8f705
2022-01-17 23:52:02 +01:00
Translation updater bot d354e3fff6 Localisation updates from https://translatewiki.net.
Change-Id: I092f62e4b92ba5b108c961e740622d033f3d9339
2022-01-17 08:12:00 +01:00
jenkins-bot ed8560569e Merge "Add tests for bullet indentation" 2022-01-15 02:38:31 +00:00
jenkins-bot 610ca856b2 Merge "Work around Karma test runner timeouts caused by large tests" 2022-01-14 21:52:35 +00:00