Page MenuHomePhabricator

[EPIC] Add Codex PHP library to Vendor
Closed, ResolvedPublic

Description

In order to use Codex PHP inside of MediaWiki, we need to add it to the mediawiki/vendor repo (it can't just be installed using composer require).

For more details see: https://www.mediawiki.org/wiki/Manual:External_libraries

T379800: Application Security Review Request : Codex PHP has been filed to request a security review (which will mostly concern this library's 3rd-party dependencies).

Acceptance Criteria

  • The security review requested at T379800 is complete
  • Any necessary changes from the security review have been addressed
  • Update mediawiki/vendor to add wikimedia/codex at the latest version (currently 0.4.0)
  • Update MW core's composer.json file to match
  • Announce on wikitech-l and in Tech News moved to T399523

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
lwatson set the point value for this task to 1.Nov 12 2024, 6:02 PM
egardner renamed this task from [placeholder] Add Codex PHP library to Vendor to Add Codex PHP library to Vendor.Nov 12 2024, 11:50 PM
egardner updated the task description. (Show Details)

Change #1087213 had a related patch set uploaded (by Abaris; author: Abaris):

[mediawiki/core@master] composer.json: Add wikimedia/codex to require

https://gerrit.wikimedia.org/r/1087213

egardner subscribed.

I'm going to set this as blocked pending T379800.

CCiufo-WMF renamed this task from Add Codex PHP library to Vendor to [EPIC] Add Codex PHP library to Vendor.Nov 18 2024, 8:44 PM
CCiufo-WMF removed the point value 1 for this task.
CCiufo-WMF moved this task from Now to Next on the Design-System-Team (Roadmap) board.

Change #1087213 abandoned by Abaris:

[mediawiki/core@master] composer.json: Add wikimedia/codex to require

https://gerrit.wikimedia.org/r/1087213

Change #1122262 had a related patch set uploaded (by Eric Gardner; author: Eric Gardner):

[mediawiki/vendor@master] Vendor: Add Codex-PHP v0.6.0

https://gerrit.wikimedia.org/r/1122262

Change #1122263 had a related patch set uploaded (by Eric Gardner; author: Eric Gardner):

[mediawiki/core@master] Add wikimedia/codex (Codex PHP) v0.6.0

https://gerrit.wikimedia.org/r/1122263

This task is blocked on T227447, but hopefully we will be able to un-block this work soon once this patch in vendor and https://gerrit.wikimedia.org/r/c/design/codex-php/+/1123709 are merged.

Context: Codex PHP currently uses the krinkle/intuition library for handling i18n message strings outside of MW. To add a new composer package to MW vendor, we must also add all of its dependencies. But Intuition is not really intended for use in MW and we don't want to add it to the vendor repo here.

@Dogu just posted a patch to replace Intuition with the new wikimedia/messages library that is hopefully going to be added to the vendor repo shortly.

I am hopeful that these patches can both be merged in the next week or so; at that point I will update the patch that adds Codex PHP to vendor.

CCiufo-WMF changed the task status from Open to Stalled.Mar 3 2025, 6:21 PM
CCiufo-WMF moved this task from Next to Now on the Design-System-Team (Roadmap) board.
CCiufo-WMF removed a project: Patch-For-Review.
CCiufo-WMF removed the point value 2 for this task.
CCiufo-WMF moved this task from Inbox to Roadmap on the Design-System-Team board.
Catrope moved this task from Backlog to Upcoming on the Codex board.
Catrope moved this task from Upcoming to Code Review on the Codex board.

Change #1122262 merged by jenkins-bot:

[mediawiki/vendor@master] Add wikimedia/codex v0.7.1 (Codex PHP)

https://gerrit.wikimedia.org/r/1122262

Change #1122263 merged by jenkins-bot:

[mediawiki/core@master] Add wikimedia/codex (Codex PHP) v0.7.1

https://gerrit.wikimedia.org/r/1122263

Dogu updated the task description. (Show Details)
Catrope updated the task description. (Show Details)
Catrope updated the task description. (Show Details)

Closing this task because Codex-PHP has been added to MW core and MW vendor. Announcing it (and the additional work we need to do before we can do that) is tracked separately as T399523.