Commit graph

1562 commits

Author SHA1 Message Date
Ed Sanders 2fb7b81caf ArticleTarget: Don't throw error on new heading node
Change-Id: I4e0566de9ffa2112d99d9d574621ce57ce8b37f2
2024-12-01 21:20:17 +00:00
Ed Sanders b8f032d266 Handle view tab clicks even on edit pages
This allows the proper "discard changes" dialog to show.
A few more steps of the teardown now happen in the client,
but eventually in DesktopArticleTarget#teardown we check
again if we weren't on a view page and redirect (as this
is what we do after save).

Bug: T379367
Change-Id: I995649f37e5d841b6c1784a74f3bd353adfbe69f
2024-11-08 14:05:09 +00:00
Ed Sanders 4cd67004de editcheck: Remove mw.editcheck.Diff
This object just contained a pointer to the surface and dm,
and had one utility method.

Move the method to mw.editcheck, and pass around a surface model
or document model to other methods as appropriate.

Change-Id: Ie81d76dea2823b633328f982ee20027808bfc8e3
2024-10-17 17:10:02 +01:00
Ed Sanders 365950cbe6 Get attached node from document model, instead of surface
Change-Id: I37b3dfeabe7666878884d21113f928691363a39a
Depends-On: I813c341cb1a0751443880d2e05aa209d3d973a00
2024-10-01 15:01:43 +00:00
Bartosz Dziewoński b4fc696ad5 Reattempt save as temporary user only when we were previously anon
…but not when we were previously logged-in. Temporary accounts no
longer leak IP addresses, but it's still not nice to lose attribution
of edits by logged-in users.

Follow-up to 317d6dd724.

Bug: T345975
Change-Id: I24c786c0f060921f773e1d6d1c7463f1cc79aab2
2024-08-27 23:23:11 +02:00
Jamie Kuppens 317d6dd724 Reattempt save when refreshing temporary user if session expired
A notice already appears and informs the user of the visual editor that
they're not logged in if their session has ended. Showing an additional
error dialog informing the editor of this when saving changes is not
needed.

Bug: T345975
Change-Id: I20a904dbc6d3c2f0d08e4ceea27e35ee1b65bb71
2024-08-13 16:33:55 -07:00
James D. Forrester 8c9605921c DesktopArticleTarget: Set wgCurRevisionId and wgRevisionId once publish goes through
Bug: T370771
Change-Id: I0100c155352ec55275f40616f87e69af52d6e97b
2024-07-25 12:28:15 -04:00
Ed Sanders bc9c900b6a Use transitionend events instead of hard coding animation time
transitionend is supported by all our target browsers.

Also use requestAnimationFrame without a fallback as
this is also supported by all browsers.

Change-Id: I563cacdc8b2365ad4b69dfccb7e46a9f176dbd9b
2024-07-03 00:43:19 +01:00
jenkins-bot c3f87d277f Merge "Remove VE user-agent based browser compatibility checks" 2024-06-20 17:05:08 +00:00
David Lynch 955bfc4b68 findAddedContentNeedingReference was removed accidentally
Replace it with a hasAddedContentNeedingReference that'll need to be
kept in-sync with the internal logic in AddReferenceEditCheck while
we're tagging this.

Follow-up to d69d366469.

Bug: T367920
Change-Id: I9f4f96bf5c6c4b7b3131b1435426b2e283c9833a
2024-06-18 16:12:30 -05:00
Ed Sanders 8cb070f4d7 Remove VE user-agent based browser compatibility checks
Bug: T367735
Change-Id: I07fb1bbbd2f907672400cb9bc74fd40dea973da9
2024-06-17 13:03:04 +01:00
jenkins-bot 8e4d4959fc Merge "Avoid Array.concat" 2024-05-29 22:02:03 +00:00
Ed Sanders b9b966de6e Avoid Array.concat
See I9addf43b2857de7bcac.

Change-Id: Ic1998ab6f7dedf6946d7ae63a985a76031f8eecf
2024-05-29 21:16:25 +01:00
Novem Linguae 9ffbfc77cd JSDoc: convert @cfg to @param
Bug: T250843
Change-Id: I53ef4fa4a65b017eec90cc1f2cbb7e7f0681e317
2024-05-26 21:59:02 -07:00
Ed Sanders cb657e0bdf ESLint: Re-enable prefer-const and fix
Change-Id: I9dbc12335016a326f00bf5b9a960551f828c685d
2024-05-21 17:50:12 +01:00
Ed Sanders dbc696124f ESLint: Enforce no-var and autofix
Temporarily disable prefer-const as this requires
manual fixing.

Change-Id: I477b69a57e8d33535c6fc71dba196a8605780725
2024-05-21 17:40:52 +01:00
Ed Sanders 2615070b42 Convert function to arrow function to fix context
Bug: T364783
Change-Id: I02100e193554fa359b7be2c52d1ee67f63734a2d
2024-05-13 22:31:00 +01:00
Ed Sanders b247c70a22 ArticleTarget: Fix return of getVisualDiffGeneratorPromise
The promise is supposed to return a function that can be used
to lazily generate the visual diff, not the visual diff itself.
This was broken when switching to arrow functions.

Bug: T364635
Change-Id: Ifa971333aa22af346bb62d031dc20afc8979992c
2024-05-10 20:09:09 +00:00
Ed Sanders eb757c4c9f Remove unnecessary context binding when using arrow functions
Change-Id: Ie25e90aeb0519b1e0f793348b27d4d4a6b686698
2024-05-03 12:47:47 +01:00
jenkins-bot 8a35d3cf83 Merge "JSDoc: {Mixed} -> {any}" 2024-05-02 18:20:12 +00:00
Ed Sanders 29e42695e4 Follow-up Ifdb15ea9: Restore deleted 'new' keyword
Change-Id: I6cd6a617ae63347df1a2b7de111cac6860950cf3
2024-05-02 12:28:51 +01:00
Ed Sanders 673dea4852 JSDoc: {Mixed} -> {any}
Change-Id: I457475a9c436c40a384675027c052294e6b1305d
2024-05-02 10:39:25 +01:00
Ed Sanders 4db99d7a27 Use more arrow functions
Change-Id: Ifdb15ea9e5ca606e02ddaf822bfd6397c3ce639e
2024-05-01 14:11:55 +01:00
Ed Sanders e3659d4846 Prefer arrow callbacks
Change-Id: Ia05b27f7c71c33580ffd0718e3bbc673dd8b3d63
2024-05-01 14:11:54 +01:00
Ed Sanders 8093aa43c1 JSDoc: Update jsdoc-wmf-theme to 1.0.0
Change-Id: Ibca8da2015bdbcc08817c9852c5cda7c72e07b38
2024-04-30 12:32:58 +01:00
Ed Sanders 373538d206 JSDoc: Add namespaces
Change-Id: Id9a5e2633667786d3bd1c900893007f0ec71a8a5
2024-04-30 12:24:10 +01:00
Ed Sanders 97955431aa JSDoc: Fix some more documentation warnings
Change-Id: Ib5cf7fd8a544d45274935e77b6c64f868e25ac85
2024-04-30 12:00:19 +01:00
Ed Sanders afbed7c5b3 JSDoc: Fix event documentation and complex return types
Change-Id: I5dbce39294a34a999303ccfec88261d8c92b17ca
2024-04-29 19:14:26 +01:00
James D. Forrester b518e55ef9 docs: Replace JSDuck with JSDoc (and pull-through VE with said change)
This is not great, but it's a start (and unblocks other pull-throughs).

New changes:
c401efc98 build: Replace jsduck with jsdoc for documentation
16ba162a0 JSDoc: @mixins -> @mixes
9e0a1f53b JSDoc: Fix complex return types
449b6cc0f Prefer arrow function callbacks
1539af2c8 Remove 'this' bindings in arrow functions
b760f3b14 Use arrow functions in OO.ui.Process steps
57c24109e Use arrow functions in jQuery callbacks
9622ccef9 Convert some remaining functions callbacks to arrow functions
f6c885021 Remove useless local variable
1cd800020 Clear branch node cache when rebuilding tree

Bug: T250843
Bug: T363329
Change-Id: I0f4878ca84b95e3f388b358b943f105637e455f9
2024-04-29 16:16:50 +01:00
Thiemo Kreuz (WMDE) 835a8aff6d Revert "[DNM] Add …-toolbar-open class after toolbarSetupDeferred resolved"
This reverts commit 5a54315fc2.

Reason for revert: Merged by mistake. Probably doesn't hurt, but
doesn't help either.

Change-Id: Ic38f1f0b0628968888763f15c85ef3a2f4a9890f
2024-04-05 08:19:00 +00:00
thiemowmde 5a54315fc2 [DNM] Add …-toolbar-open class after toolbarSetupDeferred resolved
Test for I5a35a5f.

Bug: T358657
Change-Id: I23094e9084b260c7ba9a6e47fd30bf40c3a0b904
2024-04-02 14:54:45 +02:00
jenkins-bot d52c967bb6 Merge "Move saveWorkflowBegin to before the saveProcess" 2024-03-26 16:38:38 +00:00
jenkins-bot ef3c244834 Merge "Compatibility with new heading HTML" 2024-03-14 18:48:26 +00:00
Ed Sanders 2158fd57b8 ve.collab: Disable auto-save in clients
Change-Id: I85518c5f2290c3e563a179cd10957d59f7220bb1
2024-03-13 15:44:20 -07:00
Bartosz Dziewoński 5fb480fa9e Compatibility with new heading HTML
Small fix to support new HTML markup for headings, which will soon be
used by Parsoid page views (T269630) and by the old parser (T13555).

This fixes two issues that were only apparent when using
`$wgVisualEditorEnableVisualSectionEditing = true`:

* When starting an edit from a section edit link, the viewport was
  not scrolled to align with the clicked heading and thus didn't
  provide a smooth transition into edit mode.

* If the editor was started from a section edit link, then when
  leaving the editor without saving changes, the viewport would jump
  to the top of the page instead of returning to the clicked heading.

This is similar to change If71d4d8292 in MobileFrontend editor.

Bug: T13555
Change-Id: I89f8abac521e635f8eaa782703bdb6f6323098b0
2024-03-08 18:54:45 +00:00
David Lynch 01f17958de Move saveWorkflowBegin to before the saveProcess
This causes saveWorkflowBegin/saveIntent to fire as soon as the save
button is pressed. If edit check is enabled, it will be part of the save
workflow in timings.

Mobile was already behaving this way.

Bug: T352130
Change-Id: I3942fd63057c97365d28a443bcc5ac1cd43a8ae6
2024-03-07 15:28:09 -06:00
thiemowmde 81c90568b0 Remove comment mentioning a deleted message
The message is gone via I160a119.

Change-Id: Iaa55aaa62f9f8964b2449ac2e9b22eaa51d96707
2024-01-07 17:52:29 +00:00
Ed Sanders d42a0772bb Move verbose copyright message to AUTHORS.txt
Avoids having to update the date in every file every year,
which we stopped doing.

Change-Id: I7bf7aa0937eef911e00772470091753a7b06fd3d
2023-12-01 16:07:39 +00:00
Ed Sanders 3966573f02 build: Update ESLint to 0.26.0 and autofix
Change-Id: Ia5e15684c1c3dcd69985445a09fc4e4910368b5b
2023-11-28 11:18:09 +00:00
Bartosz Dziewoński 5667832c1b Attach content to teleport target instead of <body>, remove Vector hacks
In MediaWiki, OO.ui.getTeleportTarget() is overridden to return
a different element (itself attached to body), which is supposed
to be styled appropriately by skins (e.g. z-index above any
floating header, font-size same as body text, etc.).

As a result, we no longer need to do weird things with the
'vector-body' class to achieve correct font size on Vector,
and we can remove some font-size overrides for Vector and MonoBook.

Bug: T348288
Bug: T339058
Change-Id: I6329b3023573b3dcfc8f471c4693be9bb1e9e430
2023-11-06 14:29:12 +00:00
Ed Sanders 284fb20da4 Restore help toolbar title
Was lost when we converted it from a PopupTool
in I81d217bc1ab9.

Also visualeditor-help-title is unused since that commit,
and remove debugging code.

Change-Id: Ic1d40bac8ef76fbb6f009dd8cecec8dc74c1aa4b
2023-11-03 15:38:40 +00:00
Ed Sanders 09d60e784b Fix remaining uses of 'parent'->'super'
Bug: T120821
Change-Id: Id6ccb82d6d6027265d1595dbf11c1c4abeabc392
2023-11-02 16:42:31 +00:00
C. Scott Ananian 43e4a3363b Update comment w/ rename of Article::getRedirectHeaderHtml()
Change-Id: I20f29af6856129bd952bbb003ae967376a203984
Depends-On: I4d0de0e72473ae039dca420a2733bc746d8c2951
2023-09-15 15:14:19 -04:00
David Lynch 8c47e0ecb0 Update edit check decline reasons and record tags for them
Bug: T329593
Change-Id: Ib8f465c31a6c601545d55bd58a6c1fa78139757a
2023-09-08 15:49:09 +01:00
jenkins-bot 54cae18fb8 Merge "Update messages when becoming logged-in/logged-out for IP masking" 2023-08-30 13:37:00 +00:00
jenkins-bot 69c37c9863 Merge "Fix showing temp user popup after page reload" 2023-08-30 13:32:37 +00:00
jenkins-bot 4e9baea69a Merge "Acquire a temporary user username before previewing" 2023-08-30 13:20:46 +00:00
Bartosz Dziewoński cc2b4e27d8 Fix showing temp user popup after page reload
I apparently forgot to pass the parameter to fireHookOnPageReload()
that I introduced exactly for this purpose. As a result, the basic
post-edit popup appeared, but the temp user popup did not.

Also rearrange code so that fireHookOnPageReload() is still called if
we need to redirect to complete creation of the temp user.

Bug: T344879
Change-Id: I36c64f27d2b8866ca88642621a135e7e25a91ce1
2023-08-24 16:09:12 +00:00
Bartosz Dziewoński 59a665c424 Acquire a temporary user username before previewing
Abortable promises are definitely among my least favorite things.
It takes all of this bookkeeping to make .abort() work consistently
(so that it always aborts a request if one is in flight, and always
causes the final promise to be rejected even if we didn't start a
request yet or it has already finished). But, if you squint and ignore
every line with the word "abort", it's like a normal promise chain.

Depends-On: Iec8a15dadd595bed0f7e54f907fbb8e192b45cf3
Bug: T331397
Change-Id: I67309c79e6d211d69630fe89cbf5402f8fbd350c
2023-08-22 23:40:55 +02:00
Ed Sanders 3ece481e71 Implement add a reference edit check
Change-Id: I4cebc5bbaa34300d1c5bb5fde8277269b14779c9
2023-08-16 17:19:28 +01:00