Commit graph

90 commits

Author SHA1 Message Date
Fomafix adcebf3bcf Update namespaces of PHP classes
Change-Id: I56209efeb14a6271775d954ea0e50ff44d05ac84
2024-10-03 20:00:02 +00:00
Ed Sanders c47a996eb0 Remove references to finished DiscussionTools A/B test
Bug: T341491
Change-Id: Ia3712e2930fcd971bce44f568430602ce3949f23
2024-06-21 18:15:11 +01:00
jenkins-bot 9219ba7cba Merge "Use PHP type hints where possible" 2024-04-30 18:04:49 +00:00
Fomafix 5ab1e7c67a Update namespace of class RequestContext
Change-Id: I093c54a13aad9c17c4a915c23071ea5d9893571b
2024-04-26 14:46:23 +00:00
Fomafix 6a45353ca2 Use PHP type hints where possible
Also remove the `return true` on onRecentChange_save because this is
optional.

Change-Id: Ic1104ae901384f3e6699269b761c05a99d2334b3
2024-04-25 05:56:02 +00:00
Fomafix 9b7ec7ec48 Use "optional_services" to inject service MobileContext
This change requires a soft dependency on extension MobileFrontend
in project integration/config in file zuul/parameter_functions.py.

Depends-On: Idd55fb06cb166c00817f53287ab17984cae6a7a4
Change-Id: Ia0f6dc59cfac3d201c19bc4a62a5df9590c1ed37
2024-04-05 08:52:21 +00:00
Reedy 5069b235fb Hooks.php: Use namespaced ConfirmEdit class
Bug: T355198
Change-Id: I938ffea8927f572508226acffefbd2dd000977f4
2024-01-17 21:49:36 +00:00
Fomafix 84ece5c258 Remove deprecated function WikiEditorHooks::editPageShowEditFormInitial
The function is hard deprecated since 874741c9a included in REL1_41 and
not used anywhere:
https://codesearch.wmcloud.org/search/?q=editPageShowEditFormInitial

Change-Id: I8ea15bcbdd7b141f2e974381f1e13ca7be656d48
2023-12-28 22:48:16 +00:00
Santiago Faci 394babb9fd Remove partial migration of EditAttemptStep instrument
The partial migration to Metrics Platform has been removed

Bug: T351335
Change-Id: Idb62f92795cda98870c3add99c1b52eea1daac6b
2023-12-12 18:05:03 +01:00
gerritbot 933231e808 Update UserOptionsLookup's FQN
User-options related classes are being moved to the MediaWiki\User\Options namespace in MediaWiki Core; reflect that change here.

Bug: T352284
Depends-On: I9822eb1553870b876d0b8a927e4e86c27d83bd52
Change-Id: Ia3e82b9271fd7d5ecc27e58f3f955c427f83346a
2023-11-29 12:41:20 +00:00
David Lynch cb5929b7e6 Bump EditAttemptStep to 2.0.2
Bug: T237063
Depends-On: I101d17150223c2f4a1ea2338a964d58b8bb7ae95
Change-Id: Iff4c4eb5ce43a67827e9be2202e544dbe7294dc6
2023-10-30 14:39:10 -05:00
jenkins-bot 36e12873ca Merge "Use namespaced classes" 2023-10-03 19:47:07 +00:00
Fomafix 64b8b68377 Use namespaced classes
Change-Id: I2da5bc5871d8e7e229dcae44a303910fd9d21994
2023-10-03 06:57:26 +00:00
Fomafix 874741c9a6 Hard deprecate editPageShowEditFormInitial
This static function is deprecated since 0d4d037968 included in
MediaWiki 1.38.

Change-Id: I9c584f827b12077e48c4680af06459769921c305
2023-10-02 20:07:53 +00:00
thiemowmde de1dbd70ec Make EventLogging code more robust
This code started to fail when executing the FileImporter tests.
FileImporter triggers a hook that ends here.

Two suggestions:
* I think we don't need/don't want to have log entries for PHPUnit
  test runs.
* In test scenarios getSkin() might return null. Since getSkinName
  is also allowed to be null I believe it's fine when we log null in
  such a situation.

Bug: T337270
Change-Id: I9bf946c150d99ab97b4cdf128fac87158c633331
2023-07-28 16:49:42 +02:00
ksarabia d7993a35b8 Update reference in WikiEditor
Logs data from WikiEditor

Bug: T337270
Change-Id: I69b4ea31397915ce1e90cff91e44b3648d57f389
2023-07-25 10:55:35 -05:00
DLynch 3e568552b6 Revert "Remove hacks that avoid duplicate event logging with MobileFrontend"
This reverts commit 929e8463fb.

Reason for revert: we're still seeing double-logging of some events, so this is apparently still needed until we can track down what's causing that.

Change-Id: Ifc32dfc7aa2ca67169759ecd8c278f1aea2dbef8
2023-06-09 15:20:01 -05:00
Sam Smith 457366c2cf Hooks: Also log EditAttemptStep events via Metrics Platform
The EditAttemptStep instrument is a candidate for migration to the
Metrics Platform [0]. The first step of the migration is to log events
both using the Event Platform (i.e. EventLogging::submit()) and using
the Metrics Platform Client (i.e. via
EventLogging::submitMetricsEvent()).

The Metrics Platform Client can mix in additional information -
so-called context attributes [1] - based on the stream configuration.
Since the majority of the default values mixed into each event in
Hooks::doEventLogging() are already known to the Metrics Platform
Client, the majority of Hooks::doMetricsPlatformLogging() is concerned
with remove those values from the event.

[0] https://wikitech.wikimedia.org/wiki/Metrics_Platform
[1] https://gerrit.wikimedia.org/g/mediawiki/libs/metrics-platform/+/aed6738b845/js/src/StreamConfig.d.ts#31
[2] https://wikitech.wikimedia.org/wiki/Metrics_Platform/Creating_a_Stream_Configuration

Bug: T309985
Change-Id: I052159884a9a8b21b3dc9ee01e2cafdbb173ca26
2023-05-16 15:33:06 -06:00
gerritbot 1271e13c56 Update moved class EditPage
See T321882. Moved in Ibefc44eb64aed

Bug: T321681
Change-Id: Ia2582eefeed7c0a70fcc89857fb30995a6c0f1ed
2023-05-06 22:38:36 +00:00
jenkins-bot e312f83cb0 Merge "Remove hacks that avoid duplicate event logging with MobileFrontend" 2023-04-14 16:36:02 +00:00
Bartosz Dziewoński 0c287ea755 Update EditAttemptStep and VisualEditorFeatureUse for IP masking
Bug: T332437
Bug: T332436
Change-Id: I630822accb1ba7332aeca997fa72d0190ed5e75e
2023-04-11 21:58:42 +02:00
Bartosz Dziewoński 929e8463fb Remove hacks that avoid duplicate event logging with MobileFrontend
This reverts 843efa2f46,
no longer needed after I6028fa4a34916a6cd20161009cf5893492286c2d.

Bug: T334263
Depends-On: I6028fa4a34916a6cd20161009cf5893492286c2d
Change-Id: Ie4506d46d350fb53d6d0264763c2d55fc142997e
2023-04-06 22:49:06 +00:00
Bartosz Dziewoński b484833c7d Skip server-side event logging unless WikimediaEvents is installed
The corresponding client-side event logging is implemented in the
WikimediaEvents extension, so logging server-side events only doesn't
make sense.

Bug: T322602
Change-Id: I79b55adca1da0d9abfe60943dfa4f8c86ecb9626
2023-04-06 21:12:04 +02:00
Sam Wilson 56b4ba8476 Realtime Preview: remove Beta Feature and onboarding popup
Delete almost all code realting to the onboarding popup (blue
pulsating dot) and Beta Feature. Leave only one line to delete
any existing localStorage item that was used to remember the
dismissal of the onboarding popup.

Bug: T327515
Change-Id: I8d05e143858a2269dd6f3302dcc6cee6b0855ffd
2023-03-17 15:22:32 +08:00
David Lynch 843efa2f46 Don't do logging if MobileFrontend is active for the current page
Visiting a ?action=edit URL can, depending on user settings, result in
the MobileFrontend overlay appearing on top of WikiEditor. In these
cases, don't log anything.

Bug: T320281
Change-Id: Ib98d2cd6f2e541423e5aeebd3093bad97d6fcc4f
2023-03-07 11:58:43 -06:00
Sam Wilson 68c6d366ce Add config var to disable Beta Feature
Add new $wgWikiEditorRealtimePreviewBeta configuration variable
to make it possible to turn off the RTP Beta Feature even when
the BetaFeatures extension is installed.

Bug: T323033
Change-Id: Ib79f4eaee9cee7404ff883f5e0685610d9dba9d9
2023-01-09 13:08:55 -05:00
Sam Smith 96e5f4e6f3 Hooks: Use $revId of -1 for ::logEvent() calls
EventLogging::logEvent() overwrides the $revId parameter when the schema
has been migrated to the Event Platform. Add a note and use a $revId of
-1 to make this consistent with other calls to EventLogging::logEvent()
for schemas that have been migrated to the Event Platform [0].

[0] https://codesearch.wmcloud.org/search/?q=%3A%3AlogEvent%5C(%20%27%5Cw%2B%27%2C%20-1

Bug: T318263
Change-Id: I5b58161a81ce1f4886f23500ee33ed74397d7107
2022-10-19 14:10:09 +00:00
James D. Forrester 0e3f7c44b2 inEventSample: Avoid invalid character warning from sampling code, hash into hex
Bug: T314896
Change-Id: I377bbe54686fdb9d765543320aef14a99ee2cd7f
2022-08-10 09:24:43 -04:00
David Lynch fd0841a899 Log if an edit attempt began from the sticky header
Bug: T298634
Depends-On: I871494b6e783018b1433f294e09b0d53dded6c3d
Change-Id: I07d3c91a63e78f091a1046ca49830e141f6ef8d4
2022-06-15 02:54:03 -05:00
jenkins-bot b62c5cf06a Merge "Use new ResourceLoader namespace" 2022-05-25 02:16:51 +00:00
Tim Starling 6b2cca3b2b Use new ResourceLoader namespace
Extensions using Phan need to be updated simultaneously with core due
to T308443.

Bug: T308718
Depends-On: Id08a220e1d6085e2b33f3f6c9d0e3935a4204659
Change-Id: I289b8cb5e74b5d87e26bfe6b779a22eaaa1071ee
2022-05-24 22:59:49 +00:00
David Lynch ce2ecf084f Update schema logging of bucket for new DiscussionTools A/B test
Bug: T304030
Depends-On: I5e57bb9b7958576f3a04373748331a86f4626fb5
Change-Id: I084d26c95d5be78eddb4edd1b42aa52eef909356
2022-05-19 09:50:04 -05:00
MusikAnimal b8bdd64ee5 Realtime Preview: add as a Beta Feature
For MW installations where BetaFeatures is not available, Realtime
Preview is enabled solely with the $wgWikiEditorRealtimePreview
configuration setting.

Bug: T304596
Change-Id: I880022883bf526a2aef237f4a75e790b0f9bd4e5
2022-04-06 13:45:44 -04:00
Sam Wilson e6b77fb2ab Persist Realtime Preview state in a user preference
Store the current state (enabled/disabled) of Realtime Preview in
a new user preference `wikieditor-realtimepreview` and set it
when enabling or disabling the preview pane.

Bug: T294599
Change-Id: Id5f51c6d77ed0077906d5d5178cbfa785cc04dcf
2022-03-31 21:01:36 +08:00
MusikAnimal fe81f28aae Add Realtime Preview vars to the virtual package's versionCallback
This should fix the caching issue we're seeing on Beta

Follow-Up: Iaf49f076c5a290ab9049267b0aede1e6b13a9136
Change-Id: Ibe2fc1b48f4ccc22138f6c16d8170a74500d68e6
2022-03-30 16:54:16 -04:00
MusikAnimal f1a2ba96eb Realtime Preview: disable if average response time is very slow
$wgWikiEditorRealtimeDisableDuration is introduced which allows
sysadmins to control the average time after which Realtime Preview
should be disabled. For now, this shows a simple error message that is
intentionally not localized. In a future patch, we will force the
user into a 'manual preview' workflow. See T304568 for more.

Bug: T302282
Change-Id: I2f01eef19fe81c19efedcc0073a28884f0055359
2022-03-30 12:28:23 -04:00
MusikAnimal 68e6561857 RealtimePreview: add config setting for debounce time
Change-Id: Iaf49f076c5a290ab9049267b0aede1e6b13a9136
2022-03-24 02:00:19 -04:00
Sam Wilson 411be83bc3 Add toggle button and two-pane layout for realtime preview
* Toolbar button to toggle a two-pane layout on and off.
* Resizable bar for the width of the two panes.
* Resizable bar for the edit box height, even when realtime preview is off.
* Only enabled when $wgWikiEditorRealtimePreview = true.
* Fires JS hooks when enabled, resized, and disabled.

Bug: T293347
Change-Id: Id09d44519249c0b7f5c33d48d524b7c92a5a9106
2022-03-13 07:28:01 +08:00
Reedy 07c823679c Use namespaced EventLogging class
Change-Id: Ia5a0ba6846ee1bd6a5436e003d65be955a06d565
2022-03-06 16:15:32 +00:00
Reedy 51c3fe42bd Swap to AutoloadNamespaces
Change-Id: I4eb121b4e81b4ec4833ce0bea81ae041abbdacc9
Follows-Up: I0be9b88accafce97f7e9b7524ec740fb576fa11c
2022-02-06 13:55:54 +00:00
David Lynch fda6c3c117 New bucket for abtest data
Bug: T291308
Change-Id: I7aa47139e3fe552833798d6b8daacc1b30517915
2022-02-02 15:50:21 -06:00
jenkins-bot 9a065b82ee Merge "build: Load ConfirmEdit as phan dependency" 2021-12-13 09:48:13 +00:00
Ed Sanders b4f144057e Tag WikiEditor edits with a hidden tag
Bug: T249038
Change-Id: Ia4267bc430ba0f12cce496ebf6f8c1773ae355a6
2021-12-07 23:30:27 +00:00
jenkins-bot 7fbd917c15 Merge "Use HookHandlers, implement hook interfaces and inject services" 2021-11-25 22:02:37 +00:00
Fomafix 0d4d037968 Use HookHandlers, implement hook interfaces and inject services
The static function WikiEditorHooks::editPageShowEditFormInitial is
kept for compatibility because there are usages in other extensions.

Change-Id: I7ba9f56fd3d00d575696f00f9f1c868fa7ad223b
2021-11-25 19:12:16 +00:00
Umherirrender c062d047ce build: Load ConfirmEdit as phan dependency
Bug: T296287
Depends-On: I549a97923fe994820358c65ee1cd725f6d9bba1a
Change-Id: If45b296a24e86d7ef6c581b3d822eb0adfa1f245
2021-11-23 19:30:25 +01:00
Alexander Vorwerk 538e543a32 Fix namespace for ConfirmEditHooks
ConfirmEdit should be added as a phan dependency, so thing like this no
longer happen in the future.

Bug: T296287
Change-Id: Ic9942b3a6d872c0d3c0e3a53d9462df6f82b06c6
2021-11-23 12:09:44 +01:00
Fomafix 4da6f5b3b5 Use namespace MediaWiki\Extension\WikiEditor in PHP
Change-Id: I0be9b88accafce97f7e9b7524ec740fb576fa11c
2021-11-20 09:30:11 +00:00
Sam Wilson 3f275059df Add logging for non-live previews
This isn't strictly WikiEditor business, but other logging is done
here, and soon real-time previewing will be built in WikiEditor,
so it makes sense to keep all the logging for the different types
of preview together.

Bug: T290521
Change-Id: If42697e43c1bec95d743244d0acf96c47df8b681
2021-11-18 08:24:37 +08:00
jenkins-bot fd74287b2f Merge "Replace WebRequest::getVal by WebRequest::getRawVal" 2021-11-12 18:25:38 +00:00