Commit graph

3063 commits

Author SHA1 Message Date
jenkins-bot ad0c94bf22 Merge "Annotate TODOs with task number" 2020-01-09 12:48:49 +00:00
jenkins-bot 6d02c1569d Merge "Final clean-ups for a more consistent parameter order" 2020-01-09 12:44:55 +00:00
Adam Wight 170484e933 Annotate TODOs with task number
Each of these TODOs is something that needs to be fixed or implemented,
so it's helpful to map them to tasks.

Change-Id: I807208392d8a609d7f3b371dc3560a48f3578092
2020-01-09 13:13:48 +01:00
jenkins-bot 953030386a Merge "Replace all # single line comments with //" 2020-01-09 11:40:24 +00:00
jenkins-bot 9bbaeb6f24 Merge "Consistent empty lines between @param and @return PHPDoc tags" 2020-01-09 11:40:23 +00:00
jenkins-bot 89df0f1c62 Merge "Simplify a for-loop in ReferenceStack" 2020-01-09 11:40:02 +00:00
jenkins-bot 0be582dc12 Merge "Report conflicting extends="…" with an error message" 2020-01-09 11:37:27 +00:00
Thiemo Kreuz 013e1bfa90 Final clean-ups for a more consistent parameter order
* Always have an empty line between @param and @return to improve
readability as well as consistency within this codebase (before, both
styles have been used).

* Flip parameter order in validateRefInReferences() for consistency with
the rest of the code.

* In Cite::guardedRef() the Parser was now the 1st parameter. I changed
all related functions the same way to make the code less surprising.

* Same in CiteUnitTest. This is really just the @dataProvider. But I feel
it's still helpful to have the arguments in the same order everywhere, if
possible.

* Add a few strict type hints.

* It seems the preferred style for PHP7 return types is `… ) : string {`
with a space before the `:`. There is currently no PHPCS sniff for this.
However, I think this codebase should be consistent, one way or the other.

Change-Id: I91d232be727afd26ff20526ab4ef63aa5ba6bacf
2020-01-09 12:13:54 +01:00
Thiemo Kreuz 04c5773953 Replace all # single line comments with //
There is currently no strict CodeSniffer rule for this. I think we
need to have one sooner or later. Anyway, what I find important is to
have a consistent code style in one codebase.

I refused to do this change previously because I don't like to mess
with Git blame if it's not really necessary. However, at this point all
code was moved around anyway.

I ended removing a comment that appears misplaced now, and doesn't help
maiing the code more readable. I like not having a dot at the end if
it's not really a sentence.

Change-Id: Id1d4f43277c69080c512c1a5ceff4c948bfa05be
2020-01-09 12:13:34 +01:00
Thiemo Kreuz 446524f8a9 Consistent empty lines between @param and @return PHPDoc tags
In the end I don't care much if we agree on having this newline, or
not. What I care about more is that this codebase is consistent.

Personally I prefer having the newline. It creates a visible separation
between what "goes in" and what "goes out" (@throws and @return).

Change-Id: Ibc60af621132e415a5579397c01688fa21eb0be5
2020-01-09 12:00:35 +01:00
jenkins-bot b9b6905171 Merge "Fix incomplete undo/redo stack implementation" 2020-01-09 10:58:35 +00:00
jenkins-bot d3c585ceb1 Merge "Remove old comments talking about removed code" 2020-01-09 10:58:34 +00:00
Translation updater bot 5aff516ccb Localisation updates from https://translatewiki.net.
Change-Id: I0b59e4d7f12ce70b88fbbf46d76f2ec7c6baf4f8
2020-01-09 08:28:37 +01:00
libraryupgrader 88ecc77735 build: Updating npm dependencies
* grunt-stylelint: 0.12.0 → 0.13.0
* stylelint-config-wikimedia: 0.7.0 → 0.8.0

Additional changes:
* Added .eslintcache to .gitignore.

Change-Id: Iabe4cd32a742fbf64bfc24adb326f88c0f13dc3a
2020-01-09 04:19:24 +00:00
jenkins-bot 1f8c99aa72 Merge "Don't process references defined inside template-generated reflists" 2020-01-08 23:32:33 +00:00
jenkins-bot a6c33abc57 Merge "Remove invalid test case" 2020-01-08 17:04:21 +00:00
Thiemo Kreuz 04fbbbd3ca Report conflicting extends="…" with an error message
Bug: T242110
Change-Id: I04342b2c219981dfb9575ea58cfccf6c2ba1066c
2020-01-08 16:47:07 +00:00
Thiemo Kreuz d07110b790 Fix incomplete undo/redo stack implementation
The rollback feature was not able to properly restore a __placeholder__.
That's why a specific use case was behaving different. This already
worked just fine:

<ref extends="a">…</ref>
<references>
<ref name="a">…</ref>
</references>

But this didn't, even if it is the exact same from the users
perspective:

<ref extends="a">…</ref>
{{#tag:references|
<ref name="a">…</ref>
}}

Bug: T239810
Change-Id: I163a1bffb9450a9e7f776e32e66fb08d0452cdb9
2020-01-08 17:43:02 +01:00
jenkins-bot 70e53556a4 Merge "Make native selection over reference nodes visible" 2020-01-08 16:31:18 +00:00
Adam Wight b7c9dbb0d5 Remove invalid test case
Unnamed references are never merged.

Bug: T239788
Bug: T240459
Change-Id: I8dd3706c688108bf2e3c0e9b55f123084b325d16
2020-01-08 16:59:28 +01:00
Thiemo Kreuz 87642f4fb8 Simplify a for-loop in ReferenceStack
The main motivation is to remove the not needed variable $i. As well
as getting rid of the break.

Change-Id: Idd9f83c2166b1c0da7054a616cd8c3d5540ebc12
2020-01-08 16:55:49 +01:00
Thiemo Kreuz e5640b4415 Remove old comments talking about removed code
Change-Id: I75d9180ce8d94e9397249f9557ac1e6cfafdca8b
2020-01-08 16:54:02 +01:00
jenkins-bot 861c4edba7 Merge "Test cases for extends pointing to the <references> section" 2020-01-08 10:42:14 +00:00
Translation updater bot 612be4396b Localisation updates from https://translatewiki.net.
Change-Id: Iabc33a6d75ed662ed928cb83ad54c47b97e39807
2020-01-08 08:41:55 +01:00
Thiemo Kreuz 6ddfd9983b Fix bad numbering when reusing sub-references
Note this leaves *another* bug behind. When a <ref> is properly reused
by name="…", and the content is fine (either missing or identical),
possibly conflicting extends="…" attributes are currently entirely
ignored. However, this is already much better than what happened before.

Bug: T242110
Change-Id: Id808ce31c8036cc290f68bb3e8c5a7b12f4f44cf
2020-01-07 16:34:05 +01:00
WMDE-Fisch b74a88a3f9 Reduce indentation margin for book references
This should now roughly resemble 2nd level indentation for nested
list elements. CSS Janus should take care of RTL compatibily.

Bug: T239329
Change-Id: I2eb5b63033f558555b1d79faba82b5a774ddd934
2020-01-07 13:04:52 +01:00
Thiemo Kreuz 5db90fb5a9 Test cases for extends pointing to the <references> section
This is an extremely relevant use case, but we never had a test for
this:

Some text.<ref extends="book">Page 2</ref>

<references>
  <ref name="book">Title of the book</ref>
</references>

What this means: There is no reference in the text that points to the
book as a whole, only references that point to individual pages. The
base <ref> is not used in the text.

This is already properly rendered. There is no "jump back to the text"
link. However, this fails when <references> is wrapped in {{#tag:…}}.

Bug: T239810
Change-Id: Id22db0238266a4fd6131d1a10eb6bf6227552c19
2020-01-07 12:43:18 +01:00
Translation updater bot c8ed9fe18e Localisation updates from https://translatewiki.net.
Change-Id: I0aabcffb2a955650c0e34c5dc51dab0cb546f773
2020-01-07 08:47:49 +01:00
jenkins-bot 44f3f5bf44 Merge "build: Updating mediawiki/mediawiki-phan-config to 0.9.0" 2020-01-07 03:47:57 +00:00
jenkins-bot b98875bf7c Merge "Consolidate refCallStack-gnosticism" 2020-01-06 12:55:37 +00:00
jenkins-bot ce5dc41597 Merge "Correction to error message" 2020-01-06 12:48:29 +00:00
Adam Wight 2aed80be24 Consolidate refCallStack-gnosticism
The rollbackRefs function no longer needs to "know" details about
how to turn a refCallStack item into a redo item.  This is better a
responsibility of the subroutine, where the items are unpacked.

Change-Id: I1e2ff77cb5e66d70e451ee09e641ff752c770ab4
2020-01-06 12:43:16 +00:00
Translation updater bot 40d3cb1e8c Localisation updates from https://translatewiki.net.
Change-Id: I62aafceebc2aa593c9d163fc9966e675dec9de79
2020-01-06 08:48:26 +01:00
Bartosz Dziewoński b475eca1b9 Don't process references defined inside template-generated reflists
As a result, the references are now treated like any other
template-generated reference, e.g. they can't be edited.

Previously they could be edited as if they weren't template-generated,
causing trouble. Editing them had no effect (changes would not be
saved), and copy-pasting them into another page resulted in
"substituted" content (template metadata was lost).

Bug: T209493
Change-Id: I4e75ccd57cd752a726653c725d8c29a09306e83b
2020-01-04 15:53:21 +01:00
Bartosz Dziewoński 52646d1a7c Make native selection over reference nodes visible
Bug: T241880
Change-Id: Ie712d4edc2ef49dd3b1f4ca186b2e2d539ab8659
2020-01-04 14:00:40 +01:00
Translation updater bot 15fc463994 Localisation updates from https://translatewiki.net.
Change-Id: I0486c53563c6bf1aacd51e48b51f0395d30794c3
2020-01-03 08:44:57 +01:00
Translation updater bot 94e47e5908 Localisation updates from https://translatewiki.net.
Change-Id: I689527e190c21c11c5efa605a4c8680f6ebb9a8c
2020-01-02 08:57:51 +01:00
jenkins-bot 166f8ef565 Merge "Add missing parser tests for relevant responsive edge cases" 2019-12-30 18:48:23 +00:00
jenkins-bot 5c09f8de16 Merge "Clean up i18n messages" 2019-12-29 21:30:05 +00:00
Translation updater bot 78f7e4e276 Localisation updates from https://translatewiki.net.
Change-Id: Ib464e48e4d818a76e8c5ca66b54fdaa600f66e22
2019-12-29 20:40:09 +01:00
Thiemo Kreuz 38d5bd5f39 Add missing parser tests for relevant responsive edge cases
I tried to run these tests with a very old version of this code base
(from 2018) to confirm this is the correct behavior.

Bug: T241303
Change-Id: Id97d016b199458aa178ca732282e9c0e91e291a4
2019-12-28 20:59:23 +00:00
Bartosz Dziewoński 6f3fa70913 Fix handling of <references responsive="" />
The logic was changed in 51ff3cc819.
Only `responsive="0"` is supposed to disable responsive references,
any other value should enable it.

Bug: T241303
Change-Id: I8c99bf93c739d6dba348785b1b6452cfce2c57c9
2019-12-28 18:40:48 +00:00
libraryupgrader 2e0792a0dd build: Updating mediawiki/mediawiki-phan-config to 0.9.0
One of the most significant changes is when I noticed that the $group
can never be null. We set it to DEFAULT_GROUP before. That's an empty
string.

I'm not very happy with the two @phan-suppress-next-line. Is there a
better way to fix these lines?

Change-Id: I33c1681e2f3857cb6701da71f4ed8893caff4d1e
2019-12-27 19:45:17 +00:00
Translation updater bot f888533855 Localisation updates from https://translatewiki.net.
Change-Id: I9f15597897901de8c682f335fc33bcdd04ac168b
2019-12-26 16:18:56 +01:00
jenkins-bot c3823ce172 Merge "Harden logic assertions" 2019-12-24 13:47:22 +00:00
Translation updater bot d5dccb0e1b Localisation updates from https://translatewiki.net.
Change-Id: Ib064b4e168f8c15abbaaa3f3e48a75f243ef2d8b
2019-12-24 10:01:27 +01:00
Translation updater bot 001c3563e4 Localisation updates from https://translatewiki.net.
Change-Id: Ifc0189e07a7ecce26de1d50904dfeedf6d01c2d0
2019-12-22 17:40:12 +01:00
Adam Wight 2a3879eafa Harden logic assertions
These should be impossible conditions, we don't want to continue with
processing.

I hate this patch, it's a temporary workaround until someone rewrites
or replaces the rollback logic, for example with a two-pass parse.

Change-Id: I6a1327e397d4272fa412c3f290c2107d867d2854
2019-12-20 14:53:29 +01:00
Adam Wight 7bde21d49a Correction to error message
In historical versions of the Cite extension, unclosed <ref> tags were
sometimes caught and rendered as another, unrelated validation error.
This is no longer the case thanks to a more accurate check for
unclosed <ref> tags.

Remove user-facing text explaining the edge condition.

Change-Id: Ic27e120213e39e3774ad7c8ee76eabd2faa74234
2019-12-20 13:33:21 +01:00
Adam Wight 377cdb3b9f Less checkered error message style
We print error messages in red, bold, large text so that they stand
out from content.  "<code>" spans, which are prevalent in our messages,
were styled with black text by accident, this patch turns them red.

This should cause less annoyance on readers.

Change-Id: Ic911552909ecc5ace4be927cad5b835e1006355e
2019-12-20 10:58:56 +01:00