Commit graph

3993 commits

Author SHA1 Message Date
Kosta Harlan 4c7ba1ba0e
CommentFormatterTest: Mock getConfig method
Why:

- Tests may invoke code that calls `getConfig` on the ContextSource

What:

- Mock the `getConfig` method

Follows-Up: I07b312b8c00f9b5d20e285874ed0a0153949dd18
Change-Id: I5c5b0d7cef24af108aeab461ba06b533eae4b739
2023-10-09 21:37:53 +02:00
jenkins-bot f9f9bf11f3 Merge "Always pass whole OutputPage (as IContextSource) to postprocess functions" 2023-10-09 18:05:54 +00:00
jenkins-bot db961ecd24 Merge "Put mobile ellipsis button menu in an overlay" 2023-10-09 17:27:22 +00:00
jenkins-bot f8b757bcae Merge "ThreadItemStore: Fix rows with itr_items_id=0 corrupted by T339882" 2023-10-09 15:34:55 +00:00
Ed Sanders 4447b6d201 Always pass whole OutputPage (as IContextSource) to postprocess functions
Change-Id: I07b312b8c00f9b5d20e285874ed0a0153949dd18
2023-10-09 15:41:28 +01:00
Translation updater bot 97d385e948 Localisation updates from https://translatewiki.net.
Change-Id: Ibd1d3cabf9f5ffd3e4e884282568eb43364badee
2023-10-09 08:55:50 +02:00
Bartosz Dziewoński edc28d3d7c Put mobile ellipsis button menu in an overlay
This avoids unexpected interactions where choosing an option in the
menu behaves like tapping the heading.

Bug: T348217
Change-Id: I7c38bb51fa99606e708d3ff5a2f3d6101dec2fae
2023-10-07 03:05:23 +02:00
Bartosz Dziewoński f1edc47050 Support ignoring "mw-notalk" before/after/between comments
Since 92f5cfd8 we support "mw-notalk" to suppressing comment detection
in pages or sections.

Until now, it only worked when the comment timestamp was surrounded by
a marked element. However, when a marked element was directly adjacent
to a comment, it would sometimes become a part of the comment range.
This can no longer happen now.

Existing use cases for this were the {{outdent}} and {{tracked}}
templates, which we handle specially since 50ad5bb2 and ddd391b6.
It's a bit ugly to hardcode specific templates like that, and this
provides a better solution for the future. The added test case
displays some other potential uses.

Bug: T324132
Change-Id: I7ffd299ef5957b35da8d01f9a0ed5a7a9a78be83
2023-10-07 00:32:27 +00:00
jenkins-bot eef701da1e Merge "Add null check for str_starts_with" 2023-10-06 19:37:12 +00:00
Umherirrender 3aadcace2b Add null check for str_starts_with
Only needed for phan, under php8.1 this internal
function is deprecated about null.
The property $subscriptionName is not null when $subscriptionTitle is
not null and current code is safe, but phan cannot see the dependency
between both properties

Change-Id: I9e67309ec25a70c5de91d7f3e8f18447f205a4e4
2023-10-06 18:49:28 +02:00
jenkins-bot 0f1e29a76a Merge "overflow menu: Display menu next to comments on mobile" 2023-10-06 14:49:05 +00:00
jenkins-bot 2c920d2902 Merge "overflow menu: Add hooks for registering and interacting with items" 2023-10-06 14:48:15 +00:00
Translation updater bot 893846be65 Localisation updates from https://translatewiki.net.
Change-Id: Id8d4080125b73cdbdc4d308da0e5a39499c235e3
2023-10-06 09:19:33 +02:00
Kosta Harlan 351891a063 overflow menu: Display menu next to comments on mobile
Why:

- We want to provide contextual actions adjacent to comments, not just
  topic headings.

What:

- Consolidate the logic for embedding the overflow menu button HTML into
  a function, and add this for both topic and comment items.
- For this patch, this is done only for mobile; in a follow-up patch, we
  can add support for desktop
- This doesn't use a feature flag as 1) no one is implementing the
  DiscussionTools hook yet, 2) the 'edit' menu item is disabled at the
  comment level. Merging this change would be a no-op until an extension
  implements the DiscussionToolsAddOverflowMenuItemsHook.

Bug: T342251
Change-Id: I15a151f151e2fa04398876b559d93d45c42f6ef6
2023-10-05 15:50:38 +01:00
Kosta Harlan c6c7dd2fb0 overflow menu: Add hooks for registering and interacting with items
Why:

- We want to allow extensions to register interactive menu items in the
  overflow menu.

What:

- Create a PHP hook to allow extensions to provide menu items
  for rendering in the overflow menu
  - The hook allows for registering resource loader modules required by
    the menu item
  - The hook passes in some contextual information, like the thread
    item data, context source object, and if the page is editable
- Create a JS hook that fires when a user selects one of the menu items
- Example implementation: Ie9afbedb4f24cbd75eb48bb21dc9f6d8d732d853

Misc:

- Remove b/c code that existed to handle a transitional period where
  JSON encoded overflow menu data did not necessarily exist in the
  parser cache
- Rename code instances of ellipsis button / data / menu to refer to
  "overflow menu"
  - Some renames will have to wait until parser cache is updated; these
    are noted with TODOs

Bug: T342251
Change-Id: I5f2a51791f8ba7619d1399a4b93111e9bb44e172
2023-10-05 15:50:33 +01:00
Ed Sanders 3b9128bdff Permalinks: Fix scroll restoration on mobile
Change-Id: Icc60f089764a31f352fc89982d832653b7f14e07
2023-10-05 14:13:55 +01:00
jenkins-bot f10e95fccb Merge "Permalinks: Factor out copyLink clipboard functionality" 2023-10-05 10:37:34 +00:00
jenkins-bot 4bd631a4e7 Merge "Factor out permalink code into separate file" 2023-10-05 10:33:38 +00:00
Ed Sanders d4819367aa Permalinks: Factor out copyLink clipboard functionality
Change-Id: I8092e8f831b67a32b652a5cb88808f6e463d9b4c
2023-10-05 11:04:01 +01:00
Ed Sanders 58cb277ced Factor out permalink code into separate file
Change-Id: Ib56a0b9766529f517ae8c5f743f891b06f3cf690
2023-10-05 10:55:00 +01:00
jenkins-bot c21ee0057f Merge "Fix mobile section expand icon size after changes in MobileFrontend" 2023-10-05 09:20:31 +00:00
Bartosz Dziewoński fe07a8914e Fix mobile section expand icon size after changes in MobileFrontend
Reverts I0af2707141 due to I5ca0870862f5.

Change-Id: Ib9a0a38774b85b2b80fbac7a0d9b81b7045c9e59
2023-10-05 09:15:00 +00:00
Translation updater bot f01ff88a79 Localisation updates from https://translatewiki.net.
Change-Id: If3e0a39fce3e8020b4ed06ff90996c7092e87051
2023-10-05 09:11:35 +02:00
David Lynch 2b3f430ad2 Mobile reply buttons were overlapping the expanded advanced options
Follow-up to 5b6018b244 which put an
element between the advanced box and the actions wrapper. We can have
the rule use the subsequent sibling selector rather than direct sibling.

Bug: T348143
Change-Id: Ibe1b25bf15d320b17601a0d9471d4b7e6ca4ef19
2023-10-04 10:20:45 -05:00
Translation updater bot 912a4b2245 Localisation updates from https://translatewiki.net.
Change-Id: Iabb6c5d70e3743e547884d834c478c2ef01eddd1
2023-10-04 09:08:02 +02:00
Bartosz Dziewoński d27d9ab7b0 Don't clear comment highlight when clicking on another link
When the user clicks anywhere on the page after following a permalink
(e.g. from a notification), we would remove the comment highlight and
the hash from the URL. Don't do it if the click is on another link:
this avoids inserting extra history entries when clicking on several
permalinks in a row.

Change-Id: I5d77dae4608f74b2be09b9cb92e39a8662529a9f
2023-10-03 22:07:12 +02:00
jenkins-bot 364cf45156 Merge "Permalinks: Don't prevent default when clicking links" 2023-10-03 14:50:29 +00:00
jenkins-bot a475754d68 Merge "Permalinks: Replace hard-coded notification with i18n string" 2023-10-03 14:49:01 +00:00
jenkins-bot 0e6ca97067 Merge "Show a hint for ctrl-enter for comment submission if just enter is used" 2023-10-03 14:41:11 +00:00
Ed Sanders d24ef5396a Permalinks: Don't prevent default when clicking links
The gadget version doesn't do this, and we already have code
to prevent your scroll position from changing.

Allowing default rewrites the address bar and highlights the
copied comment.

Change-Id: I9aec2b2be7498a268d7b2eb3d2b4a4f76e658042
2023-10-03 15:32:30 +01:00
Ed Sanders 8405305f2a Permalinks: Replace hard-coded notification with i18n string
Change-Id: Id68006b67a055c32e2ecccdac94a37e03c0d722e
2023-10-03 15:31:48 +01:00
David Lynch 5b6018b244 Show a hint for ctrl-enter for comment submission if just enter is used
Bug: T326500
Change-Id: I7dc0e2ed7ccc101e896c18969b1f7d679150190b
2023-10-03 09:04:59 -05:00
Translation updater bot c0bcceec3d Localisation updates from https://translatewiki.net.
Change-Id: I58c58015a0372f168ed61cce1bef17769a74bf0c
2023-10-03 09:32:31 +02:00
jenkins-bot 70c62667ce Merge "Turn comment timestamps into permalinks" 2023-10-02 21:06:09 +00:00
jenkins-bot 3d633a0717 Merge "HookUtils: Fix checking page props" 2023-10-02 16:22:11 +00:00
Bartosz Dziewoński 9fb16a40dc HookUtils: Fix checking page props
Follow-up to b4def00ed0.

Bug: T347878
Change-Id: Ia834b0f8d5cf48fce85e83af48d9fdcc789fc8e2
2023-10-02 16:59:57 +02:00
Ed Sanders b63884f561 Turn comment timestamps into permalinks
Bug: T275729
Change-Id: Ica9cfd9743a67fce170e8b078016fa79bf6fbb84
2023-10-02 14:53:47 +01:00
Translation updater bot 906a4f1c36 Localisation updates from https://translatewiki.net.
Change-Id: I612faa30fb4b483cce596eee9abe04c4c38b7150
2023-10-02 10:57:12 +02:00
Translation updater bot 8da1d467d8 Localisation updates from https://translatewiki.net.
Change-Id: Ia74015315f257723dd6b5bdde5d3ae2cf9ee77fa
2023-09-27 09:20:04 +02:00
jenkins-bot 82bab7a4e6 Merge "Show new topics subscription button on history pages" 2023-09-26 17:40:55 +00:00
jenkins-bot ae2f2dcde8 Merge "topicsubscriptions.js: Factor out initNewTopicsSubscription and expose" 2023-09-26 17:40:54 +00:00
Translation updater bot 16ef89d96b Localisation updates from https://translatewiki.net.
Change-Id: I9a43b85363c52f9ebeae638e4d7526052c4988c9
2023-09-26 08:43:45 +02:00
jenkins-bot 5bd37d6e6d Merge "Fix visibility of preview of new topic on mobile" 2023-09-25 18:22:59 +00:00
Ed Sanders a77fd29c67 Fix visibility of preview of new topic on mobile
Bug: T335220
Change-Id: I048e73c7579d822c28e9c648c26401c00b2c471b
2023-09-25 18:17:15 +00:00
Translation updater bot 3d5f4b7953 Localisation updates from https://translatewiki.net.
Change-Id: I032ae6ab8310e18ce3c379ebaafa6926b4e248c7
2023-09-25 08:46:10 +02:00
jenkins-bot e0b34b46d8 Merge "HookUtils: Fetch all needed props in one query" 2023-09-24 00:12:58 +00:00
Bartosz Dziewoński b4def00ed0 HookUtils: Fetch all needed props in one query
Bug: T347123
Change-Id: I54e5dfeb8ee07f0c3b6df4bffd2c6112cc1ad145
2023-09-23 06:35:49 +02:00
jenkins-bot e886923d4a Merge "Action::getPageTitle() should return a Message" 2023-09-22 07:09:07 +00:00
jenkins-bot 9db3ebb3e0 Merge "SpecialPage::getDescription() should return a Message" 2023-09-22 07:08:22 +00:00
Translation updater bot 584b0fb620 Localisation updates from https://translatewiki.net.
Change-Id: I1450870dc40cf3d700775e453894c9cc5cdd9125
2023-09-22 08:46:46 +02:00