Commit graph

3548 commits

Author SHA1 Message Date
Bartosz Dziewoński 14d9652a78 Backend changes related to topic subjects in message body
Our edit API now recognizes topic subjects in the message body,
generates edit summaries from them, and optionally returns an error
if no subject is provided.

Bug: T334163
Bug: T338390
Change-Id: Iac3778a4a88a4def234be9d10b80d9796d35bceb
2023-06-22 10:35:04 +02:00
Bartosz Dziewoński aa239a1ad1 Suppress the empty state in previews again
It wasn't appearing in normal previews thanks to some redundant checks
elsewhere, but it was appearing in our own internal previews using
ApiDiscussionToolsTrait::previewMessage(). It wasn't causing any
problems until change Iac3778a4a88a4def234be9d10b80d9796d35bceb, which
detects headings in the preview, and it was detecting the empty state
heading.

Follow-up to commits 8fb467896f and
ab40ef62c0, where I replaced a HTML
comment with ParserOutput extension data to indicate this, and then
accidentally removed the cleanup code from removeInteractiveTools()
with no replacement.

Change-Id: I4b650f82c711d65e200758e981ce338202deeaa6
2023-06-22 10:31:29 +02:00
Bartosz Dziewoński cd6bccbb5a Replace the last use of mediawiki.Uri
Depends-On: Ia95a27c7d7ebc9e4779f82598152145f02993b29
Change-Id: I5bd5f1ea0c708d685fbfa104a03844275c61dae7
2023-06-21 15:33:15 +02:00
Translation updater bot 28fdcfc132 Localisation updates from https://translatewiki.net.
Change-Id: I0fedc713d112c09effb898dd32e71c6fd7e29684
2023-06-20 09:50:29 +02:00
Bartosz Dziewoński 9ba9081efb Clean up old localStorage entries
Bug: T339042
Change-Id: Ia07c0234d23f16b04dd6c729fefd33c99f8cf9c6
2023-06-19 15:55:37 +00:00
jenkins-bot 7c0f099529 Merge "Redo wrapper for localStorage integration" 2023-06-19 15:54:16 +00:00
Bartosz Dziewoński f7d98d7690 Redo wrapper for localStorage integration
I think the issues in T329299 are caused by partially autosaved
comments. We store data in multiple localStorage keys, and if some of
them are stored but others are not (due to exceeding storage quota),
our code can't handle the inconsistent state.

We already have a wrapper around localStorage that tries to cover up
these issues. Change it so that all values specific to an instance of
a reply tool are stored under one localStorage key. This ensures that
all updates consistently succeed or fail, with no partially stored
state.

One of the reasons we haven't done this is because this requires the
whole data to be serialized to JSON every time, but our experience
with VE change 4355d697aa shows that this is fast enough.

Extra changes:
* Remove storagePrefix, now redundant
* Remove use of createConflictableStorage, now redundant
* Prefix the key with 'mw' as advised by mw.storage documentation
* Use ES6 syntax for the new code (just for fun)
* Use consistent expiry (T339042)

Bug: T329299
Change-Id: I347115f7187fd7d6afd9c6f368441e262154233b
2023-06-19 16:45:08 +02:00
jenkins-bot 0c7c7de242 Merge "Support ISO 8601 timestamps in the parser" 2023-06-19 12:31:58 +00:00
Translation updater bot a6a267f368 Localisation updates from https://translatewiki.net.
Change-Id: I338af9ae81410e809d74840f63942d6936ed320c
2023-06-19 11:06:46 +02:00
Theodore Dubois 4ca17b8c33 Support ISO 8601 timestamps in the parser
https://wikipesija.org is currently using ISO 8601 as the default date
format. The format is xnY-xnm-xnd"T"xnH:xni:xns and 'xn', 'm', and 's'
need support added.

Change-Id: I235098a578eb92ddd23ea47fa23d60df4b28f590
2023-06-17 11:36:43 -07:00
jenkins-bot e749702d2a Merge "Remove broken code" 2023-06-15 17:46:12 +00:00
jenkins-bot 3a796a228c Merge "Remove a mobile hack for post-edit messages" 2023-06-15 16:33:43 +00:00
jenkins-bot cb77ab66a3 Merge "Make topic subscriptions unavailable to temp users" 2023-06-15 16:33:40 +00:00
jenkins-bot cf1a509313 Merge "Don't try to prefix browser title if a custom message is incompatible" 2023-06-15 05:34:28 +00:00
Ed Sanders 306ae10e0c Remove broken code
The wrong 'this' was being used. I don't think this additional
call is required because we have already disabled the section earlier.

Change-Id: I7c9005463223a3de94de5924bf5d5da22e7ca67c
2023-06-14 18:55:45 +01:00
Ed Sanders 8a8c7270cf Set URL fragment when recovering auto-save on mobile
This triggers Toggler.js in MF to open the section, which
may not be stored in sessionStorage, as DT can recover
from localStorage.

Bug: T338920
Change-Id: I695e2d423b5159ef4cdcefc0f4d4d0a05f46879b
2023-06-14 18:04:19 +01:00
Translation updater bot 98a7afe26e Localisation updates from https://translatewiki.net.
Change-Id: Ib5f9621c8b77abfee12a193790ce070129dc6c16
2023-06-14 13:06:40 +02:00
Bartosz Dziewoński b405fd9b40 Make topic subscriptions unavailable to temp users
Bug: T332432
Change-Id: Icf91f0900ef3435cf3e9eedcf983e61ad9aeea69
2023-06-13 01:05:55 +02:00
Bartosz Dziewoński 6bf6105d2a ApiDiscussionToolsEdit: Allow not returning the new revision content
Sometimes we call this API and then reload the page (or navigate to
another URL), without using the page content it returns. Save some
work and some data transfer and don't generate it in those cases.

Depends-On: Ic5fac61f3ef9b2dfce6ff757f1d414a9f41f217d
Change-Id: If1aea90488e3f22cc31ac1f360139ae65acf000a
2023-06-12 20:28:45 +00:00
Bartosz Dziewoński f6e24150e9 Remove a mobile hack for post-edit messages
No longer needed since Ie0a49e5f37ac5e47066ce74d7e618d933cb30809
in MediaWiki core.

Change-Id: Id8f19cddd594cd82e2348992634015348e356e28
2023-06-12 20:28:36 +00:00
Translation updater bot 648e11dab1 Localisation updates from https://translatewiki.net.
Change-Id: I24b6eb0f178f62fa32f95bffa325e7a5385f6a81
2023-06-12 13:07:14 +02:00
jenkins-bot 18af8d462d Merge "Delay the load of VE modules until we're sure they're needed" 2023-06-09 22:40:35 +00:00
jenkins-bot b6ebb59c5f Merge "EchoHooks: Use symbols instead of string class names" 2023-06-09 20:59:21 +00:00
Ed Sanders 531ced9e31 EchoHooks: Use symbols instead of string class names
Change-Id: I3a4bba84d939f23653b719a271cecaa9395f0cd0
2023-06-09 22:33:27 +02:00
David Lynch ab23c23d48 Delay the load of VE modules until we're sure they're needed
Bug: T336020
Change-Id: I492d7b17a1ee3563f531fd565647ffd1307bddd4
2023-06-09 14:53:44 -05:00
thiemowmde 0cf68818a8 Add various, more specific type hints
* Add @var comments to untyped getService() calls so IDEs and tools
  are able to understand where the callers are.
* Use the more specific IReadableDatabase where possible.
* Fix missing import.

Change-Id: I9c1153cb9fe872227753628a947f40bd5ee447fa
2023-06-09 13:44:42 +02:00
Translation updater bot e45cd4ff8c Localisation updates from https://translatewiki.net.
Change-Id: Ie97881ef3c2170cbc37d4bbdf14e3395d58acafa
2023-06-09 09:13:33 +02:00
jenkins-bot f9580e6817 Merge "Use namespaced Echo classes" 2023-06-08 13:25:14 +00:00
Translation updater bot ac31a93fe5 Localisation updates from https://translatewiki.net.
Change-Id: I8a05944260602fa8339aa6a3757239f79e584782
2023-06-08 10:39:19 +02:00
Siddharth VP 03fcb20810 Use namespaced Echo classes
Change-Id: Id1673cb6ec0ae5f9177db28414d46d216fcabb45
2023-06-08 13:46:31 +05:30
Ed Sanders 0672f4c74a Remove DiscussionToolsEnableMobile
This existed to do a staged rollout to WMF wikis.

Bug: T322497
Change-Id: I4562c166f3f07bce972f9d599de211147d2dc631
2023-06-06 13:25:21 +01:00
Ed Sanders 99f132f05e Remove most DiscussionTools feature configs
Only visual enhancements are yet to be made available everywhere.

Bug: T322497
Change-Id: Ia8a7673f23d1ee31bb7e53d8e75f982d1e48d1ec
2023-06-06 13:25:19 +01:00
Ed Sanders 3b4673bfad Drop the DiscussionToolsEnable feature flag
This existed to do a staged rollout to WMF wikis, which was
finished in March 2021 (T276497).

Bug: T322497
Change-Id: I8851f0243e6920d93f3eb1870d1604bf201ed5a4
2023-06-06 13:08:35 +01:00
Ed Sanders dda86f8ebf Always use the strict equality flag when using in_array
Change-Id: Ia09f5aadc3bbf64645ba174f047e53db49e07925
2023-06-06 13:08:00 +01:00
Translation updater bot a937911b27 Localisation updates from https://translatewiki.net.
Change-Id: I7e3d70206f82c8f284ed7b1a2db8112f214710ed
2023-06-06 08:11:04 +02:00
jenkins-bot ebe98427be Merge "UsernameCompletionAction: Tell widget to remove characters when using insertAndOpen" 2023-06-05 22:41:43 +00:00
jenkins-bot a1d0e3a9d3 Merge "Create HookRunner class and the hook handler interface" 2023-06-05 22:12:23 +00:00
Translation updater bot 77538fc8a6 Localisation updates from https://translatewiki.net.
Change-Id: Icdcf38dd0391adc97156e9ee643d9affac6e31d5
2023-06-05 08:40:39 +02:00
Umherirrender 378769a974 Create HookRunner class and the hook handler interface
Bug: T273303
Change-Id: I6d00848f07fc7d17f3dc7f44b7b6b61553219558
2023-06-04 20:12:56 +02:00
Bartosz Dziewoński e65b49ec43 Don't try to set preferences for temporary accounts
Bug: T337784
Change-Id: I34d35673e5d2651e1da10ba0e7946a0bd54312ea
2023-06-02 20:11:52 +02:00
Ed Sanders d7e56679a4 UsernameCompletionAction: Tell widget to remove characters when using insertAndOpen
Change-Id: Iefad1e10feeb67b9c80580d62bd6215e839c2303
2023-06-02 14:22:37 +01:00
Derick Alangi 6295079d77 phpunit: Use recent overrideConfigValues() over setMwGlobals()
Change-Id: I928dc450adb149e4a4a2260482b148c5cd1670c1
2023-06-02 10:37:15 +03:00
Translation updater bot 914d737705 Localisation updates from https://translatewiki.net.
Change-Id: Id60a916f896418feafc3d7e6b31e5c4bcfd24e1e
2023-06-02 09:23:51 +02:00
Translation updater bot 8b93555014 Localisation updates from https://translatewiki.net.
Change-Id: Ia8615fb2a1dae3fa64084e9954c538e68c0bfcab
2023-06-01 08:43:11 +02:00
Bartosz Dziewoński d5668f0fde Don't try to prefix browser title if a custom message is incompatible
Some wikis customize the 'pagetitle' in ways that are not compatible
with the client-side message parser.

Depends-On: If1979da12777e4ee4e97937640fc5e6176f9b5fe
Bug: T317600
Change-Id: Id05a08f8d350a8d8c6d301a3cb3a53f3a798fe09
2023-06-01 00:09:08 +02:00
Translation updater bot 7a22fedabc Localisation updates from https://translatewiki.net.
Change-Id: I08c2d36ee04bb7b40ed1cab581f69e4e3ef4fe95
2023-05-31 08:20:08 +02:00
Bartosz Dziewoński 2d40cbb6d5 ApiDiscussionToolsPageInfo: Allow excluding signatures
Special:DiscussionToolsDebug falsely promised that the API delivers
the same information, but in fact the API included the signatures in
each comment's HTML unconditionally. Allow excluding them.

Change-Id: Ie1e38d28bed0b6d5713d9051b84cc08a23da94c2
2023-05-30 15:55:41 +02:00
jenkins-bot 2eaf6f81a2 Merge "Prevent squishing headings too much in visual enhancements mode" 2023-05-30 13:08:08 +00:00
jenkins-bot ce29fc2a46 Merge "Remove the new topic tool hint" 2023-05-30 12:10:27 +00:00
Translation updater bot a6b46b4ae2 Localisation updates from https://translatewiki.net.
Change-Id: I3b2bfdaed8123abf445ea324260db4c58fadd922
2023-05-30 08:56:37 +02:00