Page MenuHomePhabricator

Fix an issue where RepositoryQuery may fail for viewers who can't use Diffusion
ClosedPublic

Authored by epriestley on Apr 2 2015, 4:57 PM.
Tags
None
Referenced Files
F14767732: D12264.diff
Thu, Jan 23, 6:12 PM
Unknown Object (File)
Sun, Jan 19, 6:36 PM
Unknown Object (File)
Wed, Jan 1, 10:22 PM
Unknown Object (File)
Thu, Dec 26, 3:45 PM
Unknown Object (File)
Dec 12 2024, 10:43 PM
Unknown Object (File)
Dec 5 2024, 8:32 AM
Unknown Object (File)
Dec 4 2024, 7:17 AM
Unknown Object (File)
Nov 27 2024, 7:31 PM
Subscribers

Details

Summary

See IRC. We don't always reach loadPage(), particularly if canViewerUseQueryApplication() fails.

Perform initialization steps in willExecute() instead.

Trace from IRC:

2015/04/02 11:48:32 [error] 26979#0: *48012 FastCGI sent in stderr: "PHP message: [2015-04-02 11:48:32] EXCEPTION: (Exception) You must execute() the query before accessing the identifier map. at [<phabricator>/src/applications/repository/query/PhabricatorRepositoryQuery.php:134]
PHP message:   #0 PhabricatorRepositoryQuery::getIdentifierMap() called at [<phabricator>/src/applications/diffusion/remarkup/DiffusionRepositoryRemarkupRule.php:26]
PHP message:   #1 DiffusionRepositoryRemarkupRule::loadObjects(array) called at [<phabricator>/src/infrastructure/markup/rule/PhabricatorObjectRemarkupRule.php:309]
PHP message:   #2 PhabricatorObjectRemarkupRule::didMarkupText() called at [<phutil>/src/markup/engine/PhutilRemarkupEngine.php:292]
PHP message:   #3 PhutilRemarkupEngine::postprocessText(array) called at [<phabricator>/src/infrastructure/markup/PhabricatorMarkupEngine.php:138]
PHP message:   #4 PhabricatorMarkupEngine::process() called at [<phabricator>/src/infrastructure/markup/PhabricatorMarkupEngine.php:71]
PHP message:   #5 PhabricatorMarkupEngine::renderOneObject(PhabricatorMarkupOneOff, string, PhabricatorUser) called at [<phabricator>/src/infrastructure/customfield/standard/PhabricatorStandardCustomFieldRemarkup.php:47]
PHP message:   #6 PhabricatorStandardCustomFieldRemarkup::renderPropertyViewValue(array) called at [<phabricator>/src/infrastructure/customfield/field/PhabricatorCustomField.php:1191]
PHP message:   #7 PhabricatorCustomField::renderPropertyViewValue(array) called at [<phabricator>/src/infrastructure/customfield/field/PhabricatorCustomFieldList.php:176]
PHP message:   #8 PhabricatorCustomFieldList::appendFieldsToPropertyList(PhabricatorProject, PhabricatorUser, PHUIPropertyListView) called at [<phabricator>/src/applications/project/controller/PhabricatorProjectProfileController.php:220]
PHP message:   #9 PhabricatorProjectProfileController::buildPropertyListView(PhabricatorProject, PhabricatorActionListView) called at [<phabricator>/src/applications/project/controller/PhabricatorProjectPr
Test Plan
  • Used rX in remarkup.
  • Used rX in search.
  • Browed Diffusion, etc.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Fix an issue where RepositoryQuery may fail for viewers who can't use Diffusion.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: btrahan.
btrahan edited edge metadata.
This revision is now accepted and ready to land.Apr 2 2015, 8:08 PM
This revision was automatically updated to reflect the committed changes.