Page MenuHomePhorge

Wikimania Hackathon 2025 Istanbul
Updated YesterdayPublic

NOTE: This page presents some goals discussed during Wikimedia Hackaton 2023. Thanks for contributing!

What is Phorge?

Wikimedia Phabricator IS NOW REALLY PHORGE T15697

Phorge is your Libre, Open Source, opinionated, fork of Phabricator, with the most beautiful bug trucker ever, supporting for git, Subversion and Mercurial.

Phabricator Workboard.png (916ร—1 px, 359 KB)

Image credits:

https://commons.wikimedia.org/wiki/File:Phorge_Workboard_-_2023_with_Chat.png

https://commons.wikimedia.org/wiki/File:Computer-kitten.jpg

๐Ÿ‘€ Phorge Workboard for WMHACK2025

https://we.phorge.it/tag/wikimedia_hackathon_2025/

And now, the traditional Phorge overview:

โœ… Phorge API: plz add more documentation

๐Ÿ’Œ Requested by [[User:Chlod]] trying to retrieve all comments.

https://phabricator.wikimedia.org/api/transaction.search

Now the API self-documents all the damn 78+ "types" of transactions:

T16057: Conduit transaction.search: document supported values for objectType

Transaction search new documentation table.png (1ร—1 px, 251 KB)

allthethings

โœ… Phorge API: fix crash when trying alien things

๐Ÿ’Œ Repoted by [[User:Chlod]] trying to retrieve all comments.

curl https://phabricator.wikimedia.org/api/transaction.search \
    -d api.token=api-token \
    -d objectType=XACT
get_class() expects parameter 1 to be object, null given

T16054: transaction.search with XACT causes internal error

hammerfix

โœ… Phorge: Improve Project Destruction from command line (๐Ÿ˜ˆ)

Example Project Tree.png (754ร—887 px, 43 KB)

Already-existing interesting warning:

Project Destruction traditional command line.png (951ร—649 px, 58 KB)

lgtm

T15918: When destroying a Project, all Sub-Projects are "You Shall Not Pass: Restricted Project"

T15697: When deleting the last Sub-project, restore its Root Project

T16043: Create Unit Tests to cover Project Destroy

โœ… Also added documentation ๐ŸŒˆ about what happens when you destroy a project!

โœ… Fix nonsense dead code from the Task Report

Affected page: https://phabricator.wikimedia.org/maniphest/report/burn/

Lot of dead code. Solution: Removed 1 billion lines! wooooow!

โœ… T16005: Remove unused table code in ManiphestReportController::renderBurn()

D25902-ab-check.png (481ร—855 px, 30 KB)

โœ… Web Performance: add HTTP preconnect stuff

T15859: Set "preconnect" HTTP header when "security.alternate-file-domain" is set

https://developer.mozilla.org/en-US/docs/Web/Performance/dns-prefetch

bwahaha

โœ… Calendar: You Are Now Recognized from Imported ICS Events

Allow yourself to be Invited in Imported Events

BeforeAfter
Calendar_Clear_sailing.png (324ร—300 px, 16 KB)
Calendar_widget_finally_showing_something.png (344ร—300 px, 17 KB)

T15564: Allow yourself to be Invited in Imported Events

โœ… Triage a totally nonsense query on your own install

T16043: Create Unit Tests to cover Project Destroy

T16055: DifferentialRevisionQuery: avoid nonsense query comparing r.authorPHID with group PHIDs

(
  SELECT 
    `r`.* 
  FROM 
    `differential_revision` r 
  WHERE 
    (
      r.authorPHID IN (               -- โ† โ† โ† โ† โ† โ† โ† NONSENSE ๐Ÿซ  ASDLOL ๐Ÿซ 
        'PHID-PROJ-plufiz5pclartkuv5ggz'
      )
    ) 
  ORDER BY 
    `r`.`id` DESC 
  LIMIT 
    101
) 
UNION 
  DISTINCT (
    SELECT 
      `r`.* 
    FROM 
      `differential_revision` r 
      LEFT JOIN `differential_reviewer` reviewer ON reviewer.revisionPHID = r.phid 
      AND reviewer.reviewerStatus != 'resigned' 
      AND reviewer.reviewerPHID in (
        'PHID-PROJ-plufiz5pclartkuv5ggz'
      ) 
    WHERE 
      (
        (reviewer.reviewerPHID IS NOT NULL)
      ) 
    ORDER BY 
      `r`.`id` DESC 
    LIMIT 
      101
  ) 
ORDER BY 
  `id` DESC 
LIMIT 
  101

wojak_depressed

T16054: transaction.search with XACT causes internal error

T15974: Do not consider emails and custom protocols as internal links

T15541: "arc browse <file>" should support Subversion

T15918: When destroying a Project, all Sub-Projects are "You Shall Not Pass: Restricted Project"

T15973: Fix unit test PhutilRemarkupEngineTestCase

T15967: Fix unit test PhutilPygmentizeParserTestCase

T15697: When deleting the last Sub-project, restore its Root Project

T15697: When deleting the last Sub-project, restore its Root Project

sgtm

.

.

.

.

.

.

Thank you so much Wikimedia Hackathon!

_____________________________________ / Thank you so much hackers! --Phorge \ \ (ex Phabricator) / ------------------------------------- \ . . \ / `. .' " \ .---. < > < > .---. \ | \ \ - ~ ~ - / / | _____ ..-~ ~-..-~ | | \~~~\.' `./~~~/ --------- \__/ \__/ .' O \ / / \ " (_____, `._.' | } \/~~~/ `----. / } | / \__/ `-. | / | / `. ,~~| ~-.__| /_ - ~ ^| /- _ `..-' | / | / ~-. `-. _ _ _ |_____| |_____| ~ - . _ _ _ _ _>
Tags
None
Referenced Files
F3927914: Calendar_widget_finally_showing_something.png
Sun, May 4, 12:21
F3927919: Calendar_Clear_sailing.png
Sun, May 4, 12:21
F3890722: D25902-ab-check.png
Sun, May 4, 12:15
F3950038: Project Destruction traditional command line.png
Sun, May 4, 12:15
F3945765: Example Project Tree.png
Sun, May 4, 11:49
F3942084: Transaction search new documentation table.png
Sun, May 4, 11:49
F337207: Phabricator Workboard.png
Sun, May 4, 11:49
Subscribers
None
Last Author
valerio.bozzolan
Last Edited
Sun, May 4, 12:22