Always store immediately if fromEditedState is true. Also
now that we only store if there is state to recover, remove
the check for transactions before deciding to show the notification.
Change-Id: I5357a9098b91e303f5c71881ea03a080d2969fff
updateSize eventually calls setDimensions, which calls
positionDiffElement, so protect against infinite recursion.
Change-Id: I07992f337394712000e6e12c637c6e1442869722
New changes:
1ef63f783 Replace node instanceof ve.dm.TextNode with node.type === 'text'
2f93c59d3 Only run checkLinearOffset in tests
Change-Id: Id9bf5283be26a282d1986248e5e1a67db396e13a
Specifically, set arabic(extended) and hebrew to 'rtl'.
Logically depends on I14abd3e0c0d23f79aa01d96c216eea913024b4c8
to set the dir attribute in UI.
Bug: T56310
Change-Id: I1c7e28d3d2f20ca84115be6d49650cd9a81d78dd
New changes:
bdb1a680a SpecialCharacterPage: Allow setting lang/dir via special attributes property
37945174e Localisation updates from https://translatewiki.net.
19766f68b Follow-up 37945174e: Add 'myv' language to build to unbreak the repo
a9a87f97e Fix blocked triggers on OSX
76774b366 Map 'Ctrl+D' on OSX to forwards delete key handler
f5c88eb30 Use unsafeDeserialize in restoreChanges
Bug: T56310
Bug: T187920
Change-Id: Ic9853bccae87aab7c8f1d07f715fca3e532017a0
1. It wastes valuable time during setup.
2. If a user reloads the page without making changes we
should give them the latest html from the server to
minimise the chance of an edit conflict.
Change-Id: I9a1f8cfd65ef2552fe2c3d6d2bbf975851b52003
After change 89aecd54ba (2014),
there is no 'border' value for the 'type' attribute, instead
there is a 'borderImage' attribute only present when 'type'
is 'none' or 'frameless'.
Change-Id: Id87ba09b647f5f69b1c9350209e66acdea2c9d69
MWBlockImageNode already can't have any slugs:
* It can't have inline slugs, because it can't directly contain
content (`this.canHaveChildrenNotContent()` is true)
* It can't have block slugs, because it can't contain paragraphs
(`this.isAllowedChildNodeType( 'paragraph' )` is false).
(The only thing it can contain is a mwImageCaption.)
Change-Id: Ice6505da2356f004ef048ed0b1a9e03d08af02d1
Let's keep the ugly regexp and the comments about why we do this in a
single place.
This is mostly without behavior changes, with three exceptions:
* ve.dm.MWImageModel#attachScalable now passes a title with spaces
instead of underscores to the Scalable (this doesn't matter because
it's normalized to use spaces later anyway).
* ve.dm.MWImageNode#getFilename now returns a title with spaces
instead of underscores. This is used in some API queries and when
rendering thumbnails for missing files, and this format is actually
more correct for both of these.
* ve.dm.MWTemplateModel now URI-decodes the template title. This
actually fixes a bug where trying to edit a template transclusion
whose title contains a '?' would throw an exception about invalid
title.
Also, clarify that the return value of ve.dm.MWImageModel#getFilename
and ve.dm.MWImageNode#getFilename is different :(
Change-Id: I8e09015cea82308017ed925ec755b7231518126e
New changes:
21c07f275 Move getDom/Html to surface model
521118e40 autosave: Upstream methods for storing dochtml/state
a5ddae575 Capitalise comments
Change-Id: I109f6c19902baf9c14b8003b03f5bdb0131c4219
Ensure we start with the same HTML (i.e. if an edit has
been made since the crash-recovery):
* Whenever an article target is activated, stash the initial
document html, other parsoid response data, and the request
parameters (pageName, mode, section) in session storage.
* Whenever an article is fetched through the target loader,
recover from session storage if the request parameters match.
Store transactions:
* On document transaction (debounced) append the latest
changes to session storage.
* If a document state is recovered from session storage,
attempt to re-apply the stored transactions.
Clear transactions:
* Whenever the target is torn down (i.e. save, deliberately
closing the editor to go back to read mode)
Other:
* If writing to session storage fails once, disable future
attempts for that session (assume storage quota exceeded)
* Disable tempWikitextEditor when recovering. We don't have
the transaction code loaded yet to perform the recovery.
Bug: T57370
Depends-On: I3832243fc347a99641fcb7e39a887a153c9a3b22
Depends-On: I448fb566fe9f7f5b5a76e88b70ca000e3d35b415
Change-Id: Id9d877f903cf4796a52f90991c030417a9f8786f
New changes:
ca5c7af0b libs: Update jQuery.uls
040a9e56d lib: Remove old classList LICENCE.txt
2c0fdef5c lib: Update jQuery.client to master
adb7d7d39 lib: Update jQuery.i18n to 1.0.4
ab83e52cb lib: Update PapaParse to 4.3.7
23d44d9a5 lib: Update SparkMD5 to 3.0.0
2750f2cfb AuthorItemWidget: Add a color picker
f089f62de Rebaser: color change API
b9107987f ve.ui.DebugBar: Group together runs of text when showing linear model data
bdf88934d demo: Fix standalone autosave demo
Change-Id: Icdb334066764b772a2ea0cdf67e923ac31e5089f
In e19092240 the ability to configure the 2017WTE to be "graduated" out of
beta and available to all. However, for a week of config cut-over, this is
re-using a config switch which previously gated the beta feature, and so
will be immediately available to all users until we put it back under beta
when Ie13215bd is deployed. Oops.
Change-Id: I1bc556849a6eb1e895f03412a9cb78002c8a0aee
New changes:
1c94ebf Create a local copy of ve.dm.ElementLinearData.static.getAnnotationIndexesFromItem
87d1693 Further minification of tranasctions
014ca4c ve.dm.Change: More minification
a8da324 ve.ui.DebugBar: Remove duplicated code block
Bug: T188020
Change-Id: Icd15a6c8332e4b35c13e548fc1d1980cdc3cd92b
New changes:
d81550c2d Minify the serialized form of Transactions
a25ebf010 Minify the serialized form of Changes
Bug: T188020
Change-Id: I406102ba756a55d16f40a78f778c05bc80f1588d