Page MenuHomePhabricator

Identify approachable tasks on the Cite workboard
Closed, ResolvedPublic


To warm up for the upcoming work on the Cite extension and related code for references, let's identify tasks on the Cite workboard that seems to make sens and ideally don't involve PM/UX resources.

Suggested to pick

Small tasks that are mostly only bugfixes, require no or not much attention from non-dev roles, and are a good fit in preparation for the Cite-Extends project.


Test coverage

Error handling

(Small) design issues

Directly related to Cite-Extends

Investigation only

Documentation and other Technical-Debt

Product decisions needed

We suspect these require at least some attention from PM, UX, and/or COM before we can pick them.

Out of scope

We could look at these as well and see if we can make the necessary product decisions. But unless we have a very good reason to do so we suggest to not invest to much time into these.

Closed tasks: See below at T351997#9402158.

Working document:

Related Objects

Mentioned Here
T321217: Get rid of Cite formatting i18n messages that are not actually localized
T10033: Allow hiding of Cite.php references
T10167: support scientific or more generally bibtex/latex citation style
T11091: Request Hook in Cite.php function stack
T18294: Update to cite.php refs: ids fixed, footnotes, globbed links
T18330: When nesting refs using cite.php extension, the ordering is wrong
T20103: removal of principal named reference silently breaks others
T23209: Provide new special pages for statistics on the number of references tags <ref> per article
T24134: <ref> acting as a citation template using attributes of the ref element
T24323: Tag cite error revisions
T25455: Cite: Suppress backlink for a huge number of named references
T32763: Cite: If there's no <references /> block on the page, insert the wikitext for one automatically in the right place
T58404: Add a hook to Cite to let other extensions cause <ref>, </ref> and everything in between to render as blank
T115809: Coded unreadable reference name in 3 media wiki messages in non-ASCII languages
T127666: <references /> block should only show refs above it, not all refs on the page
T244890: cite button is generating incorrect isbn data for isbn 978-3-443-01063-8
T245700: For talk pages have references occur in each section
T337467: ref in #if is shown
T210281: Find a better way to highligth letters then bold
T22707: Nested refs fail inside references block
T26600: Cite: 'Cite error references missing key' not properly invoked
T30843: Cite error uses lego messages breaking localisation and customisation, should be deprecated
T36589: Content of <references/> not shown when other parser extensions are active
T43442: Superscript reference numbers cause increase in line height with devanagari text
T64335: Cite: Using capitalized <ref> inside reference list creates extra backlink
T104926: Remove the old wikitext styling code from Cite
T105000: Cite parser tests fail on the Klingon test
T105710: Stray italic/bold apostrophes in <ref> tags appear outside ref in ref list
T111475: Integration tests in combination with Cite returns a Notice: Undefined property: Parser::$extCite
T125480: Zero-width joiner before references on Wikipedia
T132266: Line breaks between punctuation and footnote
T152070: Reusing a citation and replacing the reference list template removes the original citation
T156167: Add a warning when <ref> tags are in a message, but no <references /> tag.
T180361: Allow a wiki to natively show separators between references
T185309: Insert non-breaking spaces after the number inside a footnote
T194511: Highlight the jump mark letter where you came from (#6 2017)
T198021: Resolve inconsistent numbering of references in text and in bibliography
T202593: Show a warning if the same named ref tag has two conflicting dir values
T220318: Flaky wdio test "Cite backlinks clickable up arrow is hidden"
T236802: Blank page when CX is used without Cite
T238187: Remove (slow) Cite parser tests that aren't needed any more
T239011: Write Cite tests for page and section preview
T239460: Parser tests for alternative footnote numbering
T239572: Remove almost all uses of recursiveTagParse from Cite
T239911: [Spike] Decide how to guarantee Cite footnote body numbering
T239988: Review feature: Reference errors are split by user interface language
T239989: Use category rather than page prop to mark Book Referencing pages
T242227: Edge case: don't allow following a subreference
T243058: Test that we correctly roll back errors during Cite parsing
T243221: Rewrite LogicException in Cite using safer alternatives
T245549: Cleanup and document code dealing with incomplete follow
T253481: The number of citation doesn't match when using `/api/rest_v1/page/mobile-sections/`
T264183: Move visualeditor-cite-tool-definition.json to cite-tool-definition.json
T269531: Define a named ref in <references> without using this named ref results into a wrong error message
T274432: References that are identical in everything but the name are not merged
T275029: Investigation: should we merge the Reference Previews and Citoid configuration?
T284607: Do not include references in copy and paste
T332007: Reference popup does not show for refs whose names contain a hash sign (#)
T334934: [EPIC] Replace WikimediaUI Base variables with Codex design tokens (
T335129: Check different formating of references on wikis
T352179: Reference previews broken for references with % in the name
T297430: cite_ref shows different letter (თ) than cite_note (ჱ) on Georgian Wikipedia
T298278: Broken links between marker and footnote when name contains certain HTML entities
T299280: Message cite_error_ref_too_many_keys is confusing
T343230: Cite's use of dynamic Parser::$extCite should be rewritten/removed
T349068: Cite: Argument 1 passed to Cite\AnchorFormatter::refKey() must be of the type string, null given

Event Timeline

Individual developers started collecting a few first candidates in A few of them already made it to the WMDE-TechWish-Sprint-2023-11-22 board. I think we haven't really reviewed the Cite board systematically yet.

For reference, as part of this project I closed the following ~24 older tickets without action (e.g. declined or marked as obsolete/invalid):

thiemowmde claimed this task.

The past weeks we already fixed the following smaller issues:

  • T298278: Sometimes the link from the inline footnote marker down to the citation and back wouldn't work when the reference name contains certain special characters. This got finally fixed.
  • T352179: For the same reason it was possible to see broken Reference Previews popups, e.g. when the reference name contains % characters.
  • T332007: A similar issues in the mobile MinervaNeue skin also resulted in broken reference popups, this time because of the "#" character.
  • T299280: We added a new error messages, relevant for the follow="…" feature used on Wikisource.
  • As part of T299280 we improved a confusing error message that talked about "to many keys" for purely historical reasons (explained in T299280#9384546). The message correctly mentions "invalid parameters" now.
  • T64335: A capitalized <REF> would sometimes cause weird numbering mistakes. The issue is so rare, it took 5 years before it got reported for the first time and 9 more years before it got fixed.
  • As part of T321217 the messages cite_references_no_link, cite_reference_link_key_with_num, cite_reference_link_suffix, and cite_references_link_suffix have been removed. They have never been used for anything on Wikimedia wikis.
  • We updated the codebase to use more recent coding standards like ES6.