Commit graph

1518 commits

Author SHA1 Message Date
jenkins-bot ef5f45d3bd Merge "Use short array destructuring instead of list()" 2022-11-09 13:04:45 +00:00
thiemowmde 9ab1d92c9c Fix PHP 8.1 compatibility issue in ForeignNotifications
Passing null to functions that expect a string is no longer allowed.
Here in this code it can apparently only happen in test scenarios.
That's why I use a very minimal workround that still calls the same
code. The lookup will return an empty string and trigger the expected
code path below.

Bug: T311448
Change-Id: If04924a22b82ae29b8f9327668e8965d6d2a490d
2022-11-08 20:56:48 +01:00
Fomafix 096e4a709f Use short array destructuring instead of list()
Introduced in PHP 7.1. Because it's shorter and looks nice.

Change-Id: I395e791aed6cc99b7ce1273f51c292e29360443a
2022-11-08 16:41:24 +00:00
Reedy 5c596d2d1b Namespace Special
Change-Id: If194554d8af60369699b057af5b4a2e5dab4897e
2022-11-05 16:53:56 +00:00
Alexander Vorwerk 5bd08e95ee Update job name to match $wgJobClasses key
The key must match what is specified in the constructor of the
EchoNotificationDeleteJob.

The job specify their name in the constructor through __CLASS__, which
means that with the class rename this key also needs to be updated.

Bug: T322342
Change-Id: Id1eebb0cc3ddcdabe31c5531cd32f032ed52a69c
2022-11-05 16:33:27 +01:00
Reedy c85fe25fe7 Namespace Mapper
Change-Id: I8a02082466ef39db32ffa7562b02db61929346cd
2022-11-04 18:05:34 +00:00
Reedy 0f0c6c4fa6 Namespace Iterator
Change-Id: I87fa703da9e7725370d72c58fc40eb204a309e67
2022-11-02 16:51:39 -06:00
Reedy 3609edf153 Namespace Cache
Change-Id: I8ead3ee485528f08f71c21cf401880bf369dbeac
2022-11-02 16:37:48 -06:00
Reedy 6046c48593 Namespace Jobs
Change-Id: Ib8870284465e00308f475fe492fa579babe23d79
2022-11-02 14:52:32 -06:00
Reedy d3cc06cc6a Namespace Controller
Change-Id: Ice356e774c153c353eb6ed71b8a02afd1ad1e654
2022-11-02 14:52:29 -06:00
Reedy fb4478454d Namespace Gateway
Change-Id: I7501be6e57cec92b2b4175b8772d213c7fd031d4
2022-11-02 14:52:04 -06:00
Reedy 8aa42e0946 Namespace Exception
Change-Id: I71a995adb8000ec32de3d99c7bf33bf0fa7d0176
2022-11-02 14:03:10 -06:00
thiemowmde 44eb02cae8 Fix incompatible type null vs. string failing in PHP 8.1
This is not allowed to be null. It was always forcefully cast to an
empty string anyway.

Change-Id: I4134da00014d84818751f68b2c85dbc28b042034
2022-11-02 12:31:26 +01:00
Reedy 7619a76877 Namespace Echo Formatters
Change-Id: I5bf398cdb76a577543f6526ac1bee4a73897103d
2022-11-01 21:20:06 -06:00
Reedy bd062137bb formatters: Minor cleanup
* Fix some indenting
* Remove some unnecessary temporary variables

Change-Id: I2330238a090b7f5ccd14d8e44aeaff10d731352e
2022-11-01 15:39:23 -06:00
jenkins-bot f74cee0b4f Merge "MWEchoEventLogging: Use $revId of -1 for Echo* schemas" 2022-11-01 21:11:43 +00:00
Reedy adba9cbfcd Convert 10 hook subscribers to HookHandlers
Bug: T315938
Change-Id: I734ad484b049a90e579e712d1d38f07922f189de
2022-10-31 17:16:48 -06:00
Reedy a7ef347530 Convert 5 hook subscribers to HookHandlers
Bug: T315938
Change-Id: I6e967524d0327043c6eed4a18861e96c20aaecf6
2022-10-31 17:16:04 -06:00
Reedy 56dfaea949 Convert 9 hooks subscribers to HookHandlers
Bug: T315938
Change-Id: I4d061216da8a492fd0d28518d55e67f92e38ee78
2022-10-31 17:15:17 -06:00
jenkins-bot 5e048d083e Merge "Fall back to local notification count when no global user is found" 2022-10-26 10:49:31 +00:00
Umherirrender b34e2c0697 Fall back to local notification count when no global user is found
When MWEchoNotifUser::getGlobalMemcKey does not find a global user,
MWEchoNotifUser::getCountsAndTimestamps can return null for 'global' key

Just fall back to the local count/timestamp

Bug: T317330
Change-Id: Ie11b0c93c0a45fb1f873bd26788beaa3d0c6a9d7
2022-10-26 10:33:02 +00:00
jenkins-bot f88c75c2e9 Merge "Add PreferencesGetIconHook" 2022-10-20 16:53:18 +00:00
jenkins-bot 391ebd4b8b Merge "Api: Minor code updates" 2022-10-15 18:04:22 +00:00
jenkins-bot 7b68f3328b Merge "Namespace Api classes" 2022-10-15 18:04:20 +00:00
suecarmol 97209c3330 Add PreferencesGetIconHook
Added PreferencesGetIconHook to add an icon on the Special:Preferences section.

Bug: T317419
Depends-On: I6d5730d47e7595b1705787995fe5db2fe734d7f5
Change-Id: Ia5eefad09f533f4654bbda123b4588f246bc1ace
2022-10-13 20:00:13 -05:00
libraryupgrader 4835b6b1cb build: Updating mediawiki/mediawiki-phan-config to 0.12.0
Change-Id: Id35b9a47ce7ad7c96e70f43b2f4fe0933e12a9d4
2022-10-10 21:03:50 +00:00
Reedy a83e588549 Api: Minor code updates
Change-Id: Iea3c38d6c9ddcb9b03886f4fdab3db9fb03bc462
2022-10-03 00:05:53 +01:00
Reedy 38a9330753 Namespace Api classes
Change-Id: I414234f10c16b8ccaa7ddbaf8e9033e70dfceab8
2022-10-03 00:05:21 +01:00
Jon Robson e9d656e1cd Add icon definitions to Echo badges
This should result in no visual change to Echo, but allows
us to change the Vector implementation here.

Removes all styling when vectorvisualenhancementnext=1
is enabled.

Bug: T257143
Change-Id: Ice602ba246b51252ff0527a531aa4d5d3baee64e
2022-09-23 17:34:13 +00:00
Sam Smith 844a64ff9a MWEchoEventLogging: Use $revId of -1 for Echo* schemas
EventLogging::logEvent() overwrides the $revId parameter when the schema
has been migrated to the Event Platform. Add a note and use a $revId of
-1 to make this consistent with other calls to EventLogging::logEvent()
for schemas that have been migrated to the Event Platform [0].

[0] https://codesearch.wmcloud.org/search/?q=%3A%3AlogEvent%5C(%20%27%5Cw%2B%27%2C%20-1

Bug: T318263
Change-Id: I5fa515d853326307619b044d25c2f672bcb6de63
2022-09-23 12:15:12 +01:00
jenkins-bot 691c79072b Merge "WatchlistChange: Include namespace in presentation" 2022-08-24 05:38:27 +00:00
jenkins-bot d8df7743ae Merge "Simplify linking to fragments of Special:Preferences" 2022-08-22 00:13:55 +00:00
Umherirrender 90639411fa schema: Remove IF EXISTS from DROP FOREIGN KEY
It is not supported by mysql, but supported by mariadb
Use one of the new index to detect, if the schema update was not running
yet

https://dev.mysql.com/doc/refman/8.0/en/alter-table.html
https://dev.mysql.com/doc/refman/8.0/en/create-index.html
https://dev.mysql.com/doc/refman/8.0/en/drop-index.html

Bug: T314779
Follow-Up: I4bd29a6d0f9515e1a678c2a967799b90ef22f7b9
Change-Id: I820d79285afee854f086ca8c1590948393f496bc
2022-08-08 21:25:33 +02:00
Umherirrender f837f5663e Simplify linking to fragments of Special:Preferences
Change-Id: I0950000edd402020a1e0179b8e4829640ad33835
2022-08-06 00:54:37 +02:00
jenkins-bot 1c812bddc0 Merge "EchoPlainTextEmailFormatter: correctly handle getPrimaryLink() returning false" 2022-07-19 20:03:13 +00:00
Umherirrender 3536de166e postgres: Convert timestamp in EchoUnreadWikis
The compare with DEFAULT_TS_DB does not work, because postgres using
different timestamp format on the database

Bug: T244898
Change-Id: I81fe88f78d94499ae9082a4fb6b1191bd432f977
2022-07-16 16:33:40 +00:00
jenkins-bot 327239d8bf Merge "Remove some repetition in EchoGetBundleRules hook handler" 2022-07-14 23:03:41 +00:00
jenkins-bot c7f6c1daad Merge "Convert to abstract schema" 2022-07-13 15:50:40 +00:00
jenkins-bot a3af2dcf89 Merge "schema: Drop foreign keys from table echo_push_subscription" 2022-07-13 15:50:37 +00:00
jenkins-bot c75396d7f3 Merge "schema: Move all sql files to own folder" 2022-07-13 15:26:25 +00:00
jenkins-bot aae35b8344 Merge "Bump minimum required version for upgrade to 1.31" 2022-07-13 15:24:16 +00:00
Mark A. Hershberger 43d004fc3d
Make interface compatible with RecursiveIterator
Seen when running phpunit tests.

Bug: T289879
Change-Id: I6f05b2cf21cd7c51b6d3234e6e0356c8a563202a
2022-07-09 22:48:39 -04:00
Kunal Mehta 4cc56d1b26 Remove some repetition in EchoGetBundleRules hook handler
I kept the "watchlist-change" and "minor-watchlist-change" rules
separate for now since while those are the same pattern the $bundleString
prefix isn't exactly the event type.

Change-Id: I360849870793d7730385dec0f57c92cdabf549d1
2022-07-09 17:31:22 -07:00
Universal Omega 7b2bed7cce EchoPlainTextEmailFormatter: correctly handle getPrimaryLink() returning false
It is declared to be able to, but is not checked here expecting an array, resulting in `PHP Notice: Trying to access array offset on value of type bool` if false.

Change-Id: I8b3ebdd3b5e6fea9c84816b890198194951ea5c0
2022-07-09 16:34:37 +00:00
Umherirrender a9511f4180 Convert to abstract schema
This adds the postgres schema to the extension

Bug: T259375
Change-Id: Ib0dca100c9885b12bc53228eddac72a5fb855d26
2022-07-05 21:00:41 +00:00
Reedy b86fb539fa Add return type to jsonSerialize()
Bug: T311919
Change-Id: Ie16d4e175250b5239e33026046adfb4ab9097bd1
2022-07-02 15:35:42 +00:00
Reedy aae5cb2579 Add return type to EchoFilteredSequentialIterator::getIterator()
Bug: T311448
Change-Id: I600135064aaaf05019da09e6dc610b8759ce0913
2022-06-27 21:04:48 +00:00
Matěj Suchánek d8168ca071 Do minor code cleanup
Change-Id: I0beba40920e5ddc0abbf49f9765a1ef9e3d3d1e5
2022-06-24 13:25:43 +02:00
Jon Robson a7dd4a9d5c Drop SkinMinervaReplaceNotificationsBadge hook
This is now dead code that was removed in
Id611cc07aebfb94e50bde8902cbc0627393fa926

Bug: T309748
Change-Id: Ic4f9881301aa313e7c380d602c6742aff1a886db
2022-06-22 15:36:11 +00:00
jenkins-bot 598c879c6f Merge "Only call hasMinorRevision once per event" 2022-06-20 11:08:23 +00:00
Matěj Suchánek ce32984e39 Only call hasMinorRevision once per event
The code would repeatedly read primary, always getting
the same result. Let's avoid this and do the query
at most once.

Change-Id: I4c09b92cac5e4dc7fd8d36f9751be4f9149181cb
2022-06-19 17:06:55 +02:00
Umherirrender d35c502b60 schema: Drop foreign keys from table echo_push_subscription
MediaWiki does not use foreign keys in the database schema

Additional changes to the schema:
- Mysql and sqlite creates index for each foreign keys, keep the index
  to allow fast joins with this columns by explicit statement on new
  wikis
- Explicit create statement for the UNIQUE index on column
  eps_token_sha256 to make the index more visible on the sql file
- Rename existing index to match the prefix for existing indexes

Bug: T306473
Change-Id: I4bd29a6d0f9515e1a678c2a967799b90ef22f7b9
2022-06-14 23:29:48 +02:00
Umherirrender 0a387990a5 schema: Move all sql files to own folder
Change-Id: Icb227fb5c23eabba8df9e06833779d009218755b
2022-06-11 08:26:48 +02:00
Umherirrender c81dad3efc Replace deprecated WikiPage::factory/newFromID
Replaced WikiPage::newFromID with newFromTitle,
because a Title object exists and could be reused

Bug: T297688
Change-Id: Ide30f259477ed8e0b48df31f5a23cafeb38d7316
2022-06-03 23:25:37 +02:00
Kosta Harlan cd96b697db
WatchlistChange: Include namespace in presentation
Bug: T203941
Change-Id: I50d9e8ae3f243c053f19aa6bf5092315c4d7f94e
2022-06-03 09:38:27 +02:00
Umherirrender b0f33729d9 Bump minimum required version for upgrade to 1.31
Change-Id: Ib02f8b37f22238b878dafacc1337dc371ea9d192
2022-05-27 19:20:29 +02:00
Tim Starling 60e2f04942 Use new ResourceLoader namespace
Extensions using Phan need to be updated simultaneously with core due
to T308443.

Bug: T308718
Depends-On: Id08a220e1d6085e2b33f3f6c9d0e3935a4204659
Change-Id: I08d1a4122d1c8052d1cdfc6f8249abdaa80067a7
2022-05-20 13:12:43 +10:00
Aaron Schulz ef06fb78aa Remove redundant call to JobQueueGroup::deduplicateRootJob()
Change-Id: Ibef15fa9f0b4ba2f6092565df2b99b0f5596c435
2022-05-18 23:46:51 -07:00
Nicholas Ray 8fb87e32a8 Prevent layout shift of the notification icon in the mobile site
The notification icon was previously server rendered without the
`mw-ui-button` and `mw-ui-quiet` classes and then these classes were
added when the JS kicked in which resulted in a 1px layout shift as
`mw-ui-button` applied a 1px border. `mw-ui-quiet` is needed to make the
border transparent.

Change-Id: If44919798815eb6959e6dd9873db5f0bc533d742
2022-05-18 14:25:52 -06:00
Kosta Harlan 0abeb2bfeb
Use watchlist-progressive icon for WatchlistChangePresentationModel
Bug: T203941
Change-Id: I8c252c5a48296fd47f0e30462a9771baf7fd7804
2022-05-11 13:57:09 +02:00
Jon Robson 5752542981 Prepare for removal of SkinMinervaReplaceNotificationsBadge hook
Bug: T301263
Change-Id: I7b9cf401936be2421d0ad4efe963486404d50e6a
2022-05-06 14:26:16 +00:00
Aryeh Gregor 3af6a04c69 Use IteratorDecorator from core
As far as I can tell, EchoIteratorDecorator is functionally identical to
IteratorDecorator from includes/libs/iterators/ in core, so why have a
separate copy? (EchoIteratorDecorator does pass through the return value
of next() or rewind(), if any, but there shouldn't be any per the
Iterator interface.)

Change-Id: Ic763ec19c15f67d9c9b42ebffb88c52b9056ed22
2022-05-02 13:44:41 +03:00
Aryeh Gregor de4a85b7f8 Don't mention deprecated UserRightsProxy
Instead, prepare for UserIdentity being returned by the
UserGroupsChanged hook instead of a User
(If0b3533804aa750faed1d5f96bac98129639586d), check that the user is
local, and convert to User with a UserFactory.

Bug: T255309
Change-Id: I9e246022e7dd15ea1979dbe87b5ab0eedbbde117
2022-05-01 18:42:52 +03:00
Reedy b64c1f3642 Move EchoPush\Api namespace to MediaWiki\Extension\Notifications\Push\Api
Bug: T305667
Change-Id: I6168b386f532c83333cdc6700ba7e2917385a39c
2022-04-25 13:56:16 +01:00
Reedy c76761eff3 Move EchoPush namespace to MediaWiki\Extension\Notifications\Push
Bug: T305667
Change-Id: I5a7846a0fc383bddbf6511d6ba73c8be7d7760c7
2022-04-25 13:56:09 +01:00
Reedy 3555ea1089 Move EchoOOUI namespace to MediaWiki\Extension\Notifications\OOUI
Bug: T305667
Change-Id: Ibd9bb70b714acfb34ae89960c0e1e44ead5d997d
2022-04-25 13:55:57 +01:00
Reedy f9c1a0fedb Namespace Hooks class
Change-Id: If948e7d376b40cf29480a9fcbf72a65a0eebacb7
2022-04-25 13:55:41 +01:00
jenkins-bot 75b3a92fd9 Merge "updater: Improve updater for table echo_unread_wikis" 2022-04-19 20:11:00 +00:00
Umherirrender b442f100cd updater: Improve updater for table echo_unread_wikis
Follow-Up: I227801f850bb9d60488b5dd8b1f84c4c22708f5d
Change-Id: Idcc577a86045ffb2ea3f11d990b324ce6ab91cef
2022-04-19 21:27:11 +02:00
jenkins-bot 047d92d059 Merge "Drop unused zero class" 2022-04-17 22:07:11 +00:00
Umherirrender 42a61c84a6 Bump minimum required version for upgrade from 1.28 to 1.29
Remove sql patches, mention the gerrit change to check version
- Drop field etp_user in Ib57510e6b0e9202a7e035f8ea59955dca8a0b24a
- Add index echo_notification_event in
I99fc31a62b37259d7000577583c8e8a599e400f9
- Maintenance script RemoveOrphanedEvents in
Id42a893be81176f37d9d5e3fd7e850d3a6d42e10
- Add field event_deleted in Iacd098573efd92bb1e3fcd7da4cd40cea9522f15
- Add index echo_notification_user_read_timestamp in
Iacd098573efd92bb1e3fcd7da4cd40cea9522f15
- Add index echo_target_page_page_event in
Iacd098573efd92bb1e3fcd7da4cd40cea9522f15
- Add index echo_event_page_id in
I15abd7c901df58f7eb9e5476d58a1bc12835645e

Change-Id: I227801f850bb9d60488b5dd8b1f84c4c22708f5d
2022-04-12 16:20:19 +01:00
jenkins-bot 7d54187ce0 Merge "Call IDatabase::timestamp before inserting echo_unread_wikis" 2022-04-11 23:28:32 +00:00
jenkins-bot ad0d9d64a0 Merge "Call IDatabase::timestamp before inserting notification_read_timestamp" 2022-04-11 23:14:42 +00:00
Umherirrender c650698ac5 Call IDatabase::timestamp before inserting echo_unread_wikis
The default timestamp of 00000000000000 cannot represent as timestamp,
because it gets a negative timestamp -00011130000000

This is needed for proper cross-RDBMS support

This reapply a change from I46206e0b3a687dff3168a81cf0020e669133e876,
reverted with I1c8c409b7820512b3e31246a7f3d8c1cf4db209c.

Bug: T244898
Change-Id: I109b783de0a8d60ccb161b280ce5fa09e145017b
2022-04-11 23:12:02 +00:00
Taavi Väänänen 30306fd923 SECURITY: Send original client info on x-wiki requests
Bug: T285116
Change-Id: I0551fe64042676f8a2b35afb82a3b4e9c09ea673
2022-04-04 15:42:18 -05:00
Jon Robson 5350bba546 Drop unused zero class
Not used anywhere.

Change-Id: I848650e4e3497664d712537437d8a10b22d6afb1
2022-04-04 18:20:27 +00:00
gerritbot 49696ea763 Fix usage of ApiBase::PARAM_* deprecated constants
The ones that are replaced with ParamValidator

Bug: T275455
Change-Id: I6a096fa34fbd543d0ee4354f5487c73b8b3d37c7
2022-04-04 00:14:28 +00:00
gerritbot d9a082373d Replace deprecated ApiBase::PARAM_ with IntegerDef ones
The rest of ApiBase::PARAM_  will be done in separate patches

Bug: T275455
Change-Id: I897f02f9bae8a53b720a5a35e9689679c003c714
2022-04-03 22:14:48 +02:00
jenkins-bot 9c14f7b821 Merge "MarkRead: Remove redundant setAction()" 2022-03-31 12:41:51 +00:00
Func 8e13fddf35 MarkRead: Remove redundant setAction()
Using setTitle() should be enough.

Change-Id: I1ec8f2db0bd6781ac13b558da031c1809dcbc459
2022-03-27 21:03:43 +08:00
Ed Sanders 73d563cad9 Tweak primary button action styles in emails
Make buttons match the style guide a bit more closely:
* Use bold text
* Add border-radius
* Tweak padding

Change-Id: Idc929f2b7846c71c9a3011376402aaee65b32dcf
2022-03-26 23:29:18 +00:00
Ed Sanders 2c8c9e5b82 Split email CSS over multiple lines
Change-Id: I539f91b98ca833158b851b9ce826286c02141a8f
2022-03-26 23:29:15 +00:00
Umherirrender 592e53a925 Call IDatabase::timestamp before inserting notification_read_timestamp
This is needed for proper cross-RDBMS support

This reapply a change from I46206e0b3a687dff3168a81cf0020e669133e876,
reverted with I1c8c409b7820512b3e31246a7f3d8c1cf4db209c.

Bug: T244898
Change-Id: I8b1387aff18d88088a993bc099165e9882658ac0
2022-03-23 22:09:19 +01:00
jenkins-bot 3ce93e3368 Merge "Revert "Call IDatabase::timestamp before inserting rows"" 2022-03-21 14:02:39 +00:00
Hashar 9433b83f2d Revert "Call IDatabase::timestamp before inserting rows"
This reverts commit 4eb8fa23e4.

Reason for revert:

 Wikimedia\Timestamp\ConvertibleTimestamp::getTimestamp:
 The timestamp cannot be represented in the specified format

Bug: T304307
Change-Id: I1c8c409b7820512b3e31246a7f3d8c1cf4db209c
2022-03-21 13:28:37 +00:00
jenkins-bot 0acd3fea47 Merge "Call IDatabase::timestamp before inserting rows" 2022-03-18 13:56:59 +00:00
jenkins-bot 011cb2dec5 Merge "Make some DiscussionParser methods public instead of private for reusability" 2022-03-11 12:21:29 +00:00
Reedy 0efcb843dd Use namespaced EventLogging class
Change-Id: I42affe2633f39a3be02a78e4a6b5dd32b23ff7bd
2022-03-06 16:11:17 +00:00
Jack Phoenix 9ed8612642 Make some DiscussionParser methods public instead of private for reusability
Comments has been duplicating these methods for quite some time for no real reason other than that they're private here.
Duplicating these methods appears to be necessary if and when working with extensions where users can be @mentioned but which are
not implemented as ContentHandler subclasses or otherwise related to regular wikitext pages.

Change-Id: I9c097bab9c5eed8f2399c86897b1f8968126c765
2022-02-17 14:21:09 +02:00
Umherirrender 4eb8fa23e4 Call IDatabase::timestamp before inserting rows
This is needed for proper cross-RDBMS support

Bug: T244898
Change-Id: I46206e0b3a687dff3168a81cf0020e669133e876
2022-02-11 23:22:17 +00:00
Umherirrender 6af1473ca6 Replace deprecated wfReadOnly()
Bug: T283978
Change-Id: I5c796a0473599c71848b6079874bc7a969ee6f88
2022-02-11 23:39:06 +01:00
Umherirrender ffeee975a4 Replace deprecated User::newFromIdentity with UserFactory
Moved the factory deeper into the code right before the one usage it
still needed a full user object

Narrow done method arguments from User to UserIdentity
and use the identity directly

Change-Id: Ic118f23ef504c7fda892480df61ea68c10915f78
2022-02-11 20:35:49 +00:00
Umherirrender f21d2a5088 build: Remove unneeded phan suppression
Bug: T290624
Change-Id: Ie0209c72863aae8ac020a09e625f0c4613decca5
2022-02-11 20:57:34 +01:00
Siddharth VP d983f99f49 Exclude dynamic namespaces for page-linked-title muted list
The form UI currently allows selecting Special/Media pages, even though these notifications are not applicable on those pages.

Also:
- Update some comments regarding LoadUserOptions hook
- Remove $titleFactory as MultiTitleFilter doesn't require it any longer

Change-Id: I74f7b0091cb5f47c34a54958656e2bce20a394ec
2022-01-29 04:51:06 +00:00
Umherirrender 9bf6ceb738 Replace deprecated JobQueueGroup::singleton()
Change-Id: I298d8507f4ec706c235087b726b7b230ed5e9ac6
2022-01-25 22:24:53 +01:00
jenkins-bot a8af58f362 Merge "Parse section titles in notifs as if they weren't at the start of line" 2022-01-24 05:43:44 +00:00
jenkins-bot 302d272480 Merge "Allow overriding section title presentation in subclasses" 2022-01-24 05:42:12 +00:00
jenkins-bot ef3c4ff4e3 Merge "Avoid double-escaping in notification watch links" 2022-01-21 17:08:30 +00:00
jenkins-bot cc111b95bf Merge "Make JsonSerializable PHP 8.1 compatible" 2022-01-21 13:01:50 +00:00
Gergő Tisza 7a9bb5b7f2
Avoid double-escaping in notification watch links
Bug: T270156
Change-Id: I6973b6112fbb5caf409de168844ae2af20117bd7
2022-01-21 01:25:22 -08:00