Surface API errors to the user, fix race conditions, tag edits and more
This can be broken out into more MRs if needed. Changes include:
- WishlistIntake: API errors are shown to the user ( T369764). For this, the design uses the standard Message component. It is still subject to design review but can be addressed later.
- Fix edit conflict resolution by using the timestamp of when the wish content was fetched.
- DescriptionSection: Fix race condition in loading DescriptionField. This was a bug only discoverable by Selenium!
-
Tag edits with
community-wishlist
. This will be useful for AbuseFilters and monitoring in general.-
IMPORTANT: You must manually create the
community-wishlist
tag at Special:Tags on your wiki.npm run setup
will handle the rest.
-
IMPORTANT: You must manually create the
- DescriptionField: remove some dead code (
syncCallback
) - WishlistIntake: refactor code out of
handleSubmit()
- WishlistIntake: change
getUniquePageTitle()
to start the first duplicate with a suffix of 2 and instead of 1. - WishlistIntake: move
allowCloseWindow.release()
to be after the edit was successfully made. Without this, one might accidentally close the tab and lose their work after a failed save. - Fix issue with CI not knowing about credentials.json
- Add a few JSDoc blocks.
Bug: T369764