This doesn't change behavior yet, it's pure wiring to make the
attribute available to Parsoid logic.
Bug: T378567
Change-Id: I6182b601f6fee66a9c32d5006d0a36150eb47e7f
After this patch, Parsoid-rendered pages will include the same
footnote markers as the legacy parser for custom group markers.
The divergent CSS implementation is left intact, for a soft migration.
Bug: T377454
Change-Id: I576dfff4155fb8c2f91ef0d28a65b319aa5bbb07
This isn't needed until patch I576dfff415, but is split into a
predecessor to keep the test and logic changes obviously separate.
Bug: T377454
Change-Id: Iff4a96be77af53a71a1ebe179f31bcc214182bfe
Intended as workaround to make sure that the temp account notice is
closed before opening Citoid. But does not hurt in any case I guess.
Bug: T378537
Bug: T378417
Bug: T377666
Change-Id: I4c3bf156cbb7306eda924bcebc2fbed3b5864f8a
Behavior change: previously, an error would be rendered once the
custom markers run out. After this patch there is a graceful fallback
to default group rendering (eg. "lower-greek 1000").
This is a slight improvement, but is user-facing so should be
discussed before merging.
In future work we'll render custom marks programmatically so this edge
case would be unreachable, and since the error message only exists to
nudge editors to extend the custom group symbol sequence, this would
also become wasted effort.
This patch splits out a lower-level method which produces the bare
mark label, with no link or wikitext formatting. The patch narrows
and simplifies the interface so that the method can be made available
to Parsoid, and will be converted to a service in a separate patch.
Bug: T377454
Change-Id: I719b60b46cdef0be7463d76e9125d75ab4f333ae
Check the array part first and afterwards the property for null,
which does not need the isset() error suppression.
Found by a new phan plugin (2efea9f989)
This bypass a false positive from phan (T378284)
Change-Id: I08651c4b2cd03ecfb38d28ca1cbff599d922208a
We're adding support for Cite error messages in Parsoid. Some of these
error messages do not render in the same way between the legacy parser
and Parsoid; this category aims at tracking them.
Bug: T378386
Change-Id: If1935acc6d23ee5e63c94f037762638e77b38831
isset() should only be used to suppress errors, not for null check.
When the variable is always defined, there is no need to use isset.
Found by a new phan plugin (2efea9f989)
https://www.mediawiki.org/wiki/Manual:Coding_conventions/PHP#isset
Change-Id: I2eee98fdcb21192108183c431b10e0072b951f72
Implicitly marking parameter $... as nullable is deprecated in PHP
8.4. The explicit nullable type must be used instead.
Bug: T376276
Change-Id: I73a4ce1ecd9b4fe040e5bfd22889e783071fab0d
Cite's MWDocumentReferences included a Document, which caused
auto-save serialization to fail silently on the cyclical reference.
This patch moves the caching to per-instance scope, which was the
better choice to begin with. The document refs are recalculated after
each change anyway, and caching is only necessary to work around an
awkward control flow in which each ReferenceNode is responsible for
its footnote number.
Bug: T377484
Change-Id: Iebe4befd603fe07d9da2a5bb6126228ec4d5dfea
Should have moved with the tracking implementation but also seem to
have worked this way.
Bug: T355194
Change-Id: Ie2f161a9be19734f540935c6b5c0de95002f065d
This is not needed anymore. The additional details to a newly
created sub-reference are set using the ReferenceDialog now.
Bug: T375156
Depends-On: Iae32e95b7ede1c9c0891a910537e1e36514f5a0c
Change-Id: I941b6928cbfbc51a77c4381356f2a54ff72847eb
Make it a bit more explicit when we want to remove that node and
be a bit more verbose with comments.
Bug: T375156
Change-Id: Ibb5efefa03037b99b50284071d06231e518530a6
The ReferenceDialog can be used to insert a new sub-ref and set
the additional details for that. Here I'm creating an entry point
for that workflow.
Bug: T375156
Change-Id: I47db21cd44d19ff209f9d5fa736bd6a057b983f2
There's no need to open another dialog to set the additional
details when creating a sub-reference. We can just use the edit
panel that's already added to the ReferenceDialog.
In the edit panel I assume that whenever it is loaded with a
reference that uses the extends attribute and has no content
then the panel is used to create a sub-ref.
Note: SetExtendsContentDialog is still used for the Citoid flow.
Bug: T375156
Change-Id: I8cb3663f2f45a807b1d00f543ae13e8c5f53c6d8
In the setup process the dialog is loaded and initialized. For the
case where the user opens this dialog to directly re-use a
reference, it does not make sense to fill out the form or create
the internal ref model. The edit panel is not used then.
This method might also be an entry point to create a new sub-ref
when triggered from e.g. Citoid. Switching to the re-use panel
still would not require to setup the edit panel.
I'm also moving a setup for the abilities, that's only relevant
in the edit case.
Bug: T375156
Change-Id: I061b88abc6cfd702a53208bac76be7a2ed6812c2