./src/applications/fact/controller/PhabricatorFactChartController.php:33: if (PhabricatorEnv::getEnvConfig('phabricator.developer-mode')) { ./src/applications/auth/controller/PhabricatorAuthStartController.php:93: 'This Phabricator install is not configured with any enabled '. ./src/applications/auth/controller/PhabricatorAuthConfirmLinkController.php:57: 'able to log in to your Phabricator account.', ./src/applications/auth/controller/contact/PhabricatorAuthContactNumberTestController.php:42: 'This is a terse test text message from Phabricator (%s).', ./src/applications/auth/controller/PhabricatorAuthLinkController.php:59: 'Your Phabricator account is already linked to an external '. ./src/applications/auth/controller/PhabricatorAuthRegisterController.php:87: 'Phabricator account. Choose a different, valid address.', ./src/applications/auth/controller/PhabricatorAuthRegisterController.php:105: 'register a new Phabricator account. Choose a different, valid '. ./src/applications/auth/controller/PhabricatorAuthRegisterController.php:125: 'email address (%s). This Phabricator install only allows '. ./src/applications/auth/controller/PhabricatorAuthRegisterController.php:160: 'You are creating a new Phabricator account linked to an '. ./src/applications/auth/controller/PhabricatorAuthRegisterController.php:161: 'existing external account from outside Phabricator.')) ./src/applications/auth/controller/PhabricatorAuthRegisterController.php:165: 'is already in use by an existing Phabricator account. Multiple '. ./src/applications/auth/controller/PhabricatorAuthRegisterController.php:166: 'Phabricator accounts may not have the same email address, so '. ./src/applications/auth/controller/PhabricatorAuthRegisterController.php:168: 'Phabricator account.', ./src/applications/auth/controller/PhabricatorAuthRegisterController.php:177: 'If you want to link an existing Phabricator account to this '. ./src/applications/auth/controller/PhabricatorAuthRegisterController.php:190: 'that is already in use ("%s") by an existing Phabricator account. '. ./src/applications/auth/controller/PhabricatorAuthRegisterController.php:191: 'Choose a new, valid email address to register a new Phabricator '. ./src/applications/auth/controller/PhabricatorAuthLoginController.php:75: // The account is already attached to a Phabricator user, so this is ./src/applications/auth/controller/PhabricatorAuthLoginController.php:84: 'not configured to allow logins on this Phabricator install. '. ./src/applications/auth/controller/PhabricatorAuthLoginController.php:98: 'associated with another Phabricator user account. Log in to the '. ./src/applications/auth/controller/PhabricatorAuthLoginController.php:99: 'other Phabricator account and unlink the external account before '. ./src/applications/auth/controller/PhabricatorAuthLoginController.php:100: 'linking it to a new Phabricator account.', ./src/applications/auth/controller/PhabricatorAuthLoginController.php:104: // The account is not yet attached to a Phabricator user, so this is ./src/applications/auth/controller/PhabricatorAuthLoginController.php:113: 'not configured to allow registration on this Phabricator '. ./src/applications/auth/controller/PhabricatorAuthLoginController.php:138: 'Your Phabricator account is already connected to an external '. ./src/applications/auth/controller/PhabricatorAuthLoginController.php:152: 'not configured to allow account linking on this Phabricator '. ./src/applications/auth/controller/PhabricatorAuthLoginController.php:172: 'with a valid Phabricator user.')); ./src/applications/auth/controller/config/PhabricatorAuthDisableController.php:52: 'their existing external accounts to register new Phabricator '. ./src/applications/auth/controller/config/PhabricatorAuthDisableController.php:57: 'in to Phabricator using linked accounts.'); ./src/applications/auth/controller/config/PhabricatorAuthEditController.php:223: "able to register a Phabricator account. To restrict who can register ". ./src/applications/auth/controller/config/PhabricatorAuthEditController.php:241: 'Allow users to register new Phabricator accounts using this '. ./src/applications/auth/controller/config/PhabricatorAuthEditController.php:252: 'existing Phabricator accounts. There is normally no reason to '. ./src/applications/auth/controller/config/PhabricatorAuthEditController.php:261: 'existing Phabricator accounts. If you disable this, Phabricator '. ./src/applications/auth/controller/config/PhabricatorAuthEditController.php:268: 'Phabricator will skip email verification for accounts registered '. ./src/applications/auth/controller/config/PhabricatorAuthEditController.php:274: 'Phabricator will automatically login with this provider if it is '. ./src/applications/auth/controller/config/PhabricatorAuthListController.php:56: 'a provider, which will let users register new Phabricator accounts '. ./src/applications/auth/controller/PhabricatorAuthSetExternalController.php:45: 'You can link your Phabricator account to an external account to '. ./src/applications/auth/controller/PhabricatorAuthNeedsMultiFactorController.php:205: 'Before you can use Phabricator, you need to add multi-factor '. ./src/applications/auth/controller/PhabricatorAuthUnlinkController.php:89: 'configured Phabricator to make links to "%s" accounts permanent.', ./src/applications/auth/controller/PhabricatorAuthUnlinkController.php:126: 'log in to Phabricator.', ./src/applications/auth/controller/PhabricatorMustVerifyEmailController.php:37: 'new email message from Phabricator with verification instructions '. ./src/applications/auth/controller/PhabricatorAuthSSHKeyGenerateController.php:108: pht('Phabricator will not retain a copy of the private key.')) ./src/applications/auth/controller/PhabricatorAuthController.php:257: ->setHeader(pht('Welcome to Phabricator!')) ./src/applications/auth/controller/PhabricatorAuthController.php:261: '%s has invited you to join Phabricator.', ./src/applications/auth/factor/PhabricatorSMSAuthFactor.php:391: 'Phabricator (%s) MFA Code: %s', ./src/applications/auth/factor/PhabricatorDuoAuthFactor.php:136: 'username' => pht('Use Phabricator Username'), ./src/applications/auth/factor/PhabricatorDuoAuthFactor.php:513: 'This factor has been removed from your device, so Phabricator '. ./src/applications/auth/factor/PhabricatorDuoAuthFactor.php:550: // Duo but Phabricator won't issue a new challenge yet. ./src/applications/auth/adapter/PhutilPhabricatorAuthAdapter.php:4: * Authentication adapter for Phabricator OAuth2. ./src/applications/auth/adapter/PhutilPhabricatorAuthAdapter.php:92: 'Expected valid JSON response from Phabricator %s request.', ./src/applications/auth/management/PhabricatorAuthManagementTrustOAuthClientWorkflow.php:12: 'Set Phabricator to trust an OAuth client. Phabricator '. ./src/applications/auth/management/PhabricatorAuthManagementTrustOAuthClientWorkflow.php:49: 'Phabricator already trusts OAuth client "%s".', ./src/applications/auth/management/PhabricatorAuthManagementTrustOAuthClientWorkflow.php:60: 'Updated; Phabricator trusts OAuth client %s.', ./src/applications/auth/management/PhabricatorAuthManagementRecoverWorkflow.php:13: 'of Phabricator.')) ./src/applications/auth/management/PhabricatorAuthManagementUntrustOAuthClientWorkflow.php:12: 'Set Phabricator to not trust an OAuth client. Phabricator '. ./src/applications/auth/management/PhabricatorAuthManagementUntrustOAuthClientWorkflow.php:49: 'Phabricator already does not trust OAuth client "%s".', ./src/applications/auth/management/PhabricatorAuthManagementUntrustOAuthClientWorkflow.php:60: 'Updated; Phabricator does not trust OAuth client %s.', ./src/applications/auth/engine/PhabricatorAuthSessionEngine.php:242: * Issue a new session key for a given identity. Phabricator supports ./src/applications/auth/engine/PhabricatorAuthSessionEngine.php:251: * session types in the Phabricator configuration. ./src/applications/auth/provider/PhabricatorAmazonAuthProvider.php:17: 'NOTE: Amazon **requires** HTTPS, but your Phabricator install does '. ./src/applications/auth/provider/PhabricatorPhabricatorAuthProvider.php:6: const PROPERTY_PHABRICATOR_NAME = 'oauth2:phabricator:name'; ./src/applications/auth/provider/PhabricatorPhabricatorAuthProvider.php:7: const PROPERTY_PHABRICATOR_URI = 'oauth2:phabricator:uri'; ./src/applications/auth/provider/PhabricatorPhabricatorAuthProvider.php:16: "**Step 1 of 2 - Name Phabricator OAuth Instance**\n\n". ./src/applications/auth/provider/PhabricatorPhabricatorAuthProvider.php:18: 'Phabricator. //This// instance of Phabricator uses this name '. ./src/applications/auth/provider/PhabricatorPhabricatorAuthProvider.php:20: 'Phabricator, in case the URL changes later.'); ./src/applications/auth/provider/PhabricatorPhabricatorAuthProvider.php:32: "**Step 2 of 2 - Configure Phabricator OAuth Instance**\n\n". ./src/applications/auth/provider/PhabricatorPhabricatorAuthProvider.php:33: "To configure Phabricator OAuth, create a new application here:". ./src/applications/auth/provider/PhabricatorPhabricatorAuthProvider.php:109: $errors[] = pht('Phabricator instance name is required.'); ./src/applications/auth/provider/PhabricatorPhabricatorAuthProvider.php:113: 'Phabricator instance name must contain only lowercase letters, '. ./src/applications/auth/provider/PhabricatorPhabricatorAuthProvider.php:119: $errors[] = pht('Phabricator base URI is required.'); ./src/applications/auth/provider/PhabricatorPhabricatorAuthProvider.php:125: 'Phabricator base URI should include protocol (like "%s").', ./src/applications/auth/provider/PhabricatorPhabricatorAuthProvider.php:164: ->setLabel(pht('Phabricator Instance Name')) ./src/applications/auth/provider/PhabricatorPhabricatorAuthProvider.php:173: '`phabricator.oauthserver`')))); ./src/applications/auth/provider/PhabricatorPhabricatorAuthProvider.php:178: ->setLabel(pht('Phabricator Instance Name')) ./src/applications/auth/provider/PhabricatorPhabricatorAuthProvider.php:185: ->setLabel(pht('Phabricator Base URI')) ./src/applications/auth/provider/PhabricatorPhabricatorAuthProvider.php:190: 'The URI where the OAuth server instance of Phabricator is '. ./src/applications/auth/provider/PhabricatorPhabricatorAuthProvider.php:192: phutil_tag('tt', array(), 'https://phabricator.mycompany.com/'))) ./src/applications/auth/provider/PhabricatorGitHubAuthProvider.php:22: " Phabricator install, the correct value is: `%s`\n". ./src/applications/auth/provider/PhabricatorJIRAAuthProvider.php:172: "Install the 'openssl' extension, restart Phabricator, and try ". ./src/applications/auth/provider/PhabricatorJIRAAuthProvider.php:201: "Choose a permanent name for this instance of JIRA. Phabricator ". ./src/applications/auth/provider/PhabricatorJIRAAuthProvider.php:285: 'emails Phabricator sends.')), ./src/applications/auth/provider/PhabricatorLDAPAuthProvider.php:14: 'LDAP credentials to log in to Phabricator.'); ./src/applications/auth/provider/PhabricatorLDAPAuthProvider.php:315: "When a user types their LDAP username and password into Phabricator, ". ./src/applications/auth/provider/PhabricatorLDAPAuthProvider.php:316: "Phabricator can either bind to LDAP with those credentials directly ". ./src/applications/auth/provider/PhabricatorAuthProvider.php:250: // always already have a Phabricator account (since there's no way they ./src/applications/auth/provider/PhabricatorWordPressAuthProvider.php:22: " Phabricator install, the correct value is: `%s`\n". ./src/applications/auth/constants/PhabricatorCookies.php:4: * Consolidates Phabricator application cookies, including registration ./src/applications/auth/guidance/PhabricatorAuthProvidersGuidanceEngineExtension.php:45: 'Phabricator is configured with an email domain whitelist (in %s), so '. ./src/applications/auth/guidance/PhabricatorAuthProvidersGuidanceEngineExtension.php:56: 'Anyone who can browse to this Phabricator install will be able to '. ./src/applications/meta/controller/PhabricatorApplicationEmailCommandsController.php:38: 'After configuring Phabricator to process inbound mail, you can '. ./src/applications/meta/controller/PhabricatorApplicationEmailCommandsController.php:40: 'information on configuring Phabricator, see '. ./src/applications/meta/controller/PhabricatorApplicationEmailCommandsController.php:43: 'In most cases, you can reply to email you receive from Phabricator '. ./src/applications/meta/controller/PhabricatorApplicationEmailCommandsController.php:55: "When Phabricator receives your mail, it will process any commands ". ./src/applications/meta/controller/PhabricatorApplicationEmailCommandsController.php:125: "Phabricator is not currently configured to accept inbound mail. ". ./src/applications/meta/controller/PhabricatorApplicationUninstallController.php:29: 'phabricator.show-prototypes'); ./src/applications/meta/controller/PhabricatorApplicationUninstallController.php:41: 'Phabricator configuration.', ./src/applications/meta/controller/PhabricatorApplicationUninstallController.php:42: phutil_tag('tt', array(), 'phabricator.show-prototypes'))); ./src/applications/meta/controller/PhabricatorApplicationUninstallController.php:101: 'content on the Phabricator home page. You should only '. ./src/applications/meta/controller/PhabricatorApplicationUninstallController.php:118: 'because it is required for Phabricator to work.')); ./src/applications/meta/controller/PhabricatorApplicationDetailViewController.php:194: 'phabricator.show-prototypes'); ./src/applications/meta/xactions/PhabricatorApplicationUninstallTransaction.php:9: $key = 'phabricator.uninstalled-applications'; ./src/applications/meta/xactions/PhabricatorApplicationUninstallTransaction.php:33: $key = 'phabricator.uninstalled-applications'; ./src/applications/meta/xactions/PhabricatorApplicationPolicyChangeTransaction.php:21: $key = 'phabricator.application-settings'; ./src/applications/conduit/controller/PhabricatorConduitAPIController.php:160: * Authenticate the client making the request to a Phabricator user account. ./src/applications/conduit/controller/PhabricatorConduitAPIController.php:264: 'This request originates from outside of the Phabricator '. ./src/applications/conduit/controller/PhabricatorConduitAPIController.php:360: // If this is a "clr-" token, Phabricator must be configured in cluster ./src/applications/conduit/controller/PhabricatorConduitAPIController.php:367: 'This request originates from outside of the Phabricator '. ./src/applications/conduit/controller/PhabricatorConduitTokenEditController.php:90: 'This token is automatically generated by Phabricator, and used '. ./src/applications/conduit/controller/PhabricatorConduitTokenEditController.php:91: 'to make requests between nodes in a Phabricator cluster. You '. ./src/applications/conduit/method/ConduitConnectConduitAPIMethod.php:83: "server version, '%d'. Upgrade your Phabricator install.", ./src/applications/conduit/query/PhabricatorConduitSearchEngine.php:91: 'version of Phabricator.')), ./src/applications/lipsum/management/PhabricatorLipsumGenerateWorkflow.php:32: $config_key = 'phabricator.developer-mode'; ./src/applications/differential/storage/DifferentialDiff.php:550: pht('The callsign of the repository in Phabricator.'), ./src/applications/differential/storage/DifferentialDiff.php:552: pht('The PHID of the repository in Phabricator.'), ./src/applications/differential/conduit/DifferentialConduitAPIMethod.php:170: 'phabricator:projects' => ./src/applications/differential/conduit/DifferentialConduitAPIMethod.php:172: 'phabricator:depends-on' => ./src/applications/differential/field/DifferentialTagsCommitMessageField.php:6: const FIELDKEY = 'phabricator:projects'; ./src/applications/differential/field/DifferentialAuditorsCommitMessageField.php:6: const FIELDKEY = 'phabricator:auditors'; ./src/applications/differential/field/DifferentialAuditorsCommitMessageField.php:29: return 'phabricator:auditors'; ./src/applications/differential/field/DifferentialJIRAIssuesCommitMessageField.php:20: return 'phabricator:jira-issues'; ./src/applications/differential/field/__tests__/DifferentialCommitMessageFieldTestCase.php:20: $env->overrideEnvConfig('phabricator.base-uri', $base_uri); ./src/applications/differential/field/DifferentialBlameRevisionCommitMessageField.php:19: return 'phabricator:blame-revision'; ./src/applications/differential/field/DifferentialRevertPlanCommitMessageField.php:13: return 'phabricator:revert-plan'; ./src/applications/differential/config/PhabricatorDifferentialConfigOptions.php:214: 'Phabricator), you can set this flag to treat the "Accepted" '. ./src/applications/differential/config/PhabricatorDifferentialConfigOptions.php:231: 'If you set this to true, Phabricator will attach patches to '. ./src/applications/differential/customfield/DifferentialJIRAIssuesField.php:9: return 'phabricator:jira-issues'; ./src/applications/differential/customfield/DifferentialJIRAIssuesField.php:169: 'Phabricator account is not linked to a JIRA account.', ./src/applications/differential/customfield/DifferentialRevertPlanField.php:7: return 'phabricator:revert-plan'; ./src/applications/differential/customfield/DifferentialBlameRevisionField.php:7: return 'phabricator:blame-revision'; ./src/applications/differential/customfield/DifferentialAuditorsField.php:7: return 'phabricator:auditors'; ./src/applications/calendar/codex/PhabricatorCalendarEventPolicyCodex.php:74: 'Imported events can not be edited in Phabricator.')); ./src/applications/transactions/storage/PhabricatorApplicationTransaction.php:1058: $developer_mode = 'phabricator.developer-mode'; ./src/applications/transactions/storage/PhabricatorApplicationTransaction.php:1158: $developer_mode = 'phabricator.developer-mode'; ./src/applications/transactions/conduit/TransactionSearchConduitAPIMethod.php:18:When an object (like a task) is edited, Phabricator creates a "transaction" ./src/applications/transactions/conduit/TransactionSearchConduitAPIMethod.php:20:essentially all edits and comments in Phabricator. Reviewing the transaction ./src/applications/transactions/editengine/PhabricatorEditEngine.php:1644: $is_serious = PhabricatorEnv::getEnvConfig('phabricator.serious-business'); ./src/applications/passphrase/controller/PassphraseCredentialRevealController.php:83: $is_serious = PhabricatorEnv::getEnvConfig('phabricator.serious-business'); ./src/applications/passphrase/query/PassphraseCredentialSearchEngine.php:127: pht('Credential management for re-use in other areas of Phabricator '. ./src/applications/almanac/management/AlmanacManagementTrustKeyWorkflow.php:65: 'Phabricator. The private key will be able to sign requests that '. ./src/applications/almanac/management/AlmanacManagementTrustKeyWorkflow.php:70: 'when building a Phabricator cluster. This feature is very '. ./src/applications/almanac/management/AlmanacManagementRegisterWorkflow.php:151: 'yet known to Phabricator. Associate the public key with an '. ./src/applications/almanac/servicetype/AlmanacServiceType.php:43: * Return `true` if this service type is a Phabricator cluster service type. ./src/applications/almanac/servicetype/AlmanacServiceType.php:45: * These special services change the behavior of Phabricator, and require ./src/applications/almanac/servicetype/AlmanacServiceType.php:48: * @return bool True if this is a Phabricator cluster service type. ./src/applications/almanac/servicetype/AlmanacClusterDatabaseServiceType.php:13: return pht('Phabricator Cluster: Database'); ./src/applications/almanac/servicetype/AlmanacClusterDatabaseServiceType.php:18: 'Defines a database service for use in a Phabricator cluster.'); ./src/applications/almanac/servicetype/AlmanacClusterRepositoryServiceType.php:13: return pht('Phabricator Cluster: Repository'); ./src/applications/almanac/servicetype/AlmanacClusterRepositoryServiceType.php:18: 'Defines a repository service for use in a Phabricator cluster.'); ./src/applications/diviner/controller/DivinerMainController.php:51: "(NOTE) **Looking for Phabricator documentation?** ". ./src/applications/diviner/controller/DivinerMainController.php:52: "If you're looking for help and information about Phabricator, ". ./src/applications/diviner/controller/DivinerMainController.php:53: "you can [[https://secure.phabricator.com/diviner/ | ". ./src/applications/diviner/controller/DivinerMainController.php:54: "browse the public Phabricator documentation]] on the live site.\n\n". ./src/applications/diviner/controller/DivinerMainController.php:56: "Phabricator documentation.\n\n". ./src/applications/diviner/controller/DivinerMainController.php:59: "local copy of the Phabricator documentation and have it appear ". ./src/applications/diffusion/panel/DiffusionSetPasswordSettingsPanel.php:117: 'To access repositories hosted by Phabricator over HTTP, you must '. ./src/applications/diffusion/panel/DiffusionSetPasswordSettingsPanel.php:159: 'phabricator.serious-business'); ./src/applications/diffusion/controller/DiffusionRepositoryEditEnormousController.php:26: 'because Phabricator does not control what users are allowed '. ./src/applications/diffusion/controller/DiffusionRepositoryURICredentialController.php:41: 'You can not set a credential for builtin URIs which Phabricator '. ./src/applications/diffusion/controller/DiffusionRepositoryURICredentialController.php:42: 'hosts and serves. Phabricator does not fetch from these URIs or '. ./src/applications/diffusion/controller/DiffusionRepositoryEditDangerousController.php:26: 'because Phabricator does not control what users are allowed '. ./src/applications/diffusion/controller/DiffusionServeController.php:424: 'Phabricator does not support HTTP access to Subversion '. ./src/applications/diffusion/controller/DiffusionRepositoryEditUpdateController.php:48: 'Normally, Phabricator automatically updates repositories '. ./src/applications/diffusion/controller/DiffusionRepositoryEditUpdateController.php:60: 'To learn more about how Phabricator updates repositories, '. ./src/applications/diffusion/conduit/DiffusionLookSoonConduitAPIMethod.php:16: 'Advises Phabricator to look for new commits in a repository as soon '. ./src/applications/diffusion/management/DiffusionRepositoryURIsManagementPanel.php:133: $host_message = pht('Phabricator will host this repository.'); ./src/applications/diffusion/management/DiffusionRepositoryURIsManagementPanel.php:135: $host_message = pht('Phabricator is hosting this repository.'); ./src/applications/diffusion/management/DiffusionRepositoryURIsManagementPanel.php:142: 'Phabricator will observe a remote repository.'); ./src/applications/diffusion/management/DiffusionRepositoryURIsManagementPanel.php:145: 'This repository is hosted remotely. Phabricator is observing it.'); ./src/applications/diffusion/protocol/DiffusionRepositoryClusterEngine.php:276: 'has any repository version information. Phabricator can not '. ./src/applications/diffusion/query/DiffusionResolveUserQuery.php:5: * `"Abraham Lincoln "`, into a valid Phabricator user ./src/applications/diffusion/config/PhabricatorDiffusionConfigOptions.php:110: "Phabricator can serve repositories over HTTP, using HTTP basic ". ./src/applications/diffusion/config/PhabricatorDiffusionConfigOptions.php:115: "long as Phabricator uses HTTPS, but it presents a much lower ". ./src/applications/diffusion/config/PhabricatorDiffusionConfigOptions.php:129: 'Phabricator supports Git LFS, a Git extension for storing large '. ./src/applications/diffusion/config/PhabricatorDiffusionConfigOptions.php:131: 'the extension to store file data in Phabricator.')), ./src/applications/diffusion/config/PhabricatorDiffusionConfigOptions.php:153: 'If you accept Phabricator SSH traffic on a different host '. ./src/applications/diffusion/request/DiffusionRequest.php:564: 'on this machine ("%s"). Make sure you havestarted the Phabricator '. ./src/applications/diffusion/editor/DiffusionRepositoryEditEngine.php:220: "Configure **Repository Automation** to allow Phabricator to ". ./src/applications/diffusion/editor/DiffusionRepositoryEditEngine.php:237: 'you can set a path in **Import Only**. Phabricator will ignore '. ./src/applications/diffusion/editor/DiffusionRepositoryEditEngine.php:259: 'future version of Phabricator.'); ./src/applications/diffusion/ssh/DiffusionSSHWorkflow.php:120: 'to proxy an SSH request within the Phabricator cluster.')); ./src/applications/diffusion/ssh/DiffusionGitUploadPackSSHWorkflow.php:58: if (PhabricatorEnv::getEnvConfig('phabricator.show-prototypes')) { ./src/applications/doorkeeper/option/PhabricatorAsanaConfigOptions.php:36: 'When Phabricator creates tasks in Asana, it can add the tasks '. ./src/applications/doorkeeper/option/PhabricatorAsanaConfigOptions.php:38: 'object in Phabricator comes from. For example, you can add code '. ./src/applications/doorkeeper/worker/DoorkeeperAsanaFeedWorker.php:5: * updates the tasks as the corresponding Phabricator objects are updated. ./src/applications/doorkeeper/worker/DoorkeeperAsanaFeedWorker.php:259: // First, find all the object references in Phabricator for tasks that we ./src/applications/doorkeeper/worker/DoorkeeperAsanaFeedWorker.php:285: // Remove any edges in Phabricator which don't have valid tasks in Asana. ./src/applications/doorkeeper/worker/DoorkeeperAsanaFeedWorker.php:515: "\xE2\x98\xA0 Your changes will not be reflected in Phabricator.\n". ./src/applications/doorkeeper/worker/DoorkeeperFeedWorker.php:38: * see if Phabricator is linked to applicable external systems. ./src/applications/doorkeeper/worker/DoorkeeperFeedWorker.php:160: if (PhabricatorEnv::getEnvConfig('phabricator.silent')) { ./src/applications/doorkeeper/worker/DoorkeeperFeedWorker.php:161: $this->log("%s\n", pht('Phabricator is running in silent mode.')); ./src/applications/celerity/controller/CelerityPhabricatorResourceController.php:42: $developer_on = PhabricatorEnv::getEnvConfig('phabricator.developer-mode'); ./src/applications/celerity/controller/CelerityResourceController.php:44: $dev_mode = PhabricatorEnv::getEnvConfig('phabricator.developer-mode'); ./src/applications/celerity/CelerityStaticResourceResponse.php:366: if (PhabricatorEnv::getEnvConfig('phabricator.developer-mode')) { ./src/applications/system/controller/PhabricatorFaviconController.php:11: // See PHI1719. Phabricator uses " tags in the document body ./src/applications/system/controller/robots/PhabricatorRobotsPlatformController.php:25: // seems like a reasonable tradeoff, since most Phabricator installs are ./src/applications/system/controller/PhabricatorSystemReadOnlyController.php:19: 'An administrator has placed Phabricator into read-only mode.'); ./src/applications/system/controller/PhabricatorSystemReadOnlyController.php:27: 'yelling "Hey! Why is Phabricator in read-only mode??!" using '. ./src/applications/system/controller/PhabricatorSystemReadOnlyController.php:38: 'Phabricator is currently configured with no writable ("master") '. ./src/applications/system/controller/PhabricatorSystemReadOnlyController.php:40: 'Phabricator will run in read-only mode until an administrator '. ./src/applications/system/controller/PhabricatorSystemReadOnlyController.php:55: 'Phabricator was unable to connect to the writable ("master") '. ./src/applications/system/controller/PhabricatorSystemReadOnlyController.php:62: 'Phabricator will recover momentarily.'); ./src/applications/system/controller/PhabricatorSystemReadOnlyController.php:65: 'If this interruption does not resolve on its own, Phabricator '. ./src/applications/system/controller/PhabricatorSystemReadOnlyController.php:73: 'Phabricator has consistently been unable to reach the writable '. ./src/applications/system/controller/PhabricatorSystemReadOnlyController.php:79: 'Phabricator will periodically retry the connection and recover '. ./src/applications/system/management/PhabricatorSystemRemoveDestroyWorkflow.php:112: 'objects, and the Phabricator upstream will not help you fix '. ./src/applications/system/events/PhabricatorSystemDebugUIEventListener.php:22: if (!PhabricatorEnv::getEnvConfig('phabricator.developer-mode')) { ./src/applications/dashboard/paneltype/PhabricatorDashboardQueryPanelType.php:197: 'The application search engine "%s" is not known to Phabricator!', ./src/applications/dashboard/storage/PhabricatorDashboardPanel.php:100: 'Phabricator.', ./src/applications/dashboard/engine/PhabricatorDashboardPanelRenderingEngine.php:144: 'Phabricator.', ./src/applications/dashboard/engine/PhabricatorDashboardPanelRenderingEngine.php:428: 'panels, purchase a subscription to Phabricator Gold.', ./src/applications/phortune/pdf/PhabricatorPDFInfoObject.php:7: $this->writeLine('/Producer (Phabricator 20190801)'); ./src/applications/phragment/controller/PhragmentController.php:213: "additional security when serving files across Phabricator.", ./src/applications/phragment/util/PhragmentPatchUtil.php:8: * Calculate the DiffMatchPatch patch between two Phabricator files. ./src/applications/drydock/operation/DrydockLandRepositoryOperation.php:394: 'version of Phabricator which did not support staging areas, so '. ./src/applications/drydock/operation/DrydockLandRepositoryOperation.php:403: 'version of Phabricator which did not support staging areas for '. ./src/applications/drydock/operation/DrydockLandRepositoryOperation.php:435: 'The server may be running an out-of-date version of Phabricator, '. ./src/applications/config/response/PhabricatorConfigResponse.php:24: return pht('Phabricator Setup Error'); ./src/applications/config/controller/services/PhabricatorConfigClusterDatabasesController.php:210: pht('Phabricator is not configured in cluster mode.')) ./src/applications/config/controller/PhabricatorConfigConsoleController.php:59: ->setHeaderText(pht('Phabricator Configuation')) ./src/applications/config/controller/PhabricatorConfigConsoleController.php:75: ->setTitle(pht('Phabricator Configuation')) ./src/applications/config/controller/PhabricatorConfigConsoleController.php:134: ->setHeaderText(pht('Phabricator Version Information')) ./src/applications/config/controller/PhabricatorConfigConsoleController.php:177: $upstream_pattern = '(github\.com/phacility/|secure\.phabricator\.com/)'; ./src/applications/config/controller/settings/PhabricatorConfigEditController.php:21: 'or have existed in a previous version of Phabricator.'); ./src/applications/config/option/PhabricatorDeveloperConfigOptions.php:11: return pht('Options for Phabricator developers, including debugging.'); ./src/applications/config/option/PhabricatorDeveloperConfigOptions.php:35: "you are developing or debugging Phabricator.\n\n". ./src/applications/config/option/PhabricatorDeveloperConfigOptions.php:94: 'Normally, Phabricator issues HTTP redirects after a successful '. ./src/applications/config/option/PhabricatorDeveloperConfigOptions.php:98: 'Phabricator will show a page instead of automatically '. ./src/applications/config/option/PhabricatorDeveloperConfigOptions.php:109: "Normally, Phabricator profiles pages only when explicitly ". ./src/applications/config/option/PhabricatorDeveloperConfigOptions.php:131: "can use this data to help you understand what Phabricator is ". ./src/applications/config/option/PhabricatorDeveloperConfigOptions.php:143: $this->newOption('phabricator.developer-mode', 'bool', false) ./src/applications/config/option/PhabricatorClusterConfigOptions.php:11: return pht('Configure Phabricator to run on a cluster of hosts.'); ./src/applications/config/option/PhabricatorClusterConfigOptions.php:28:This option allows you to make Phabricator aware of database read replicas so ./src/applications/config/option/PhabricatorClusterConfigOptions.php:58: 'Define a Phabricator cluster by providing a whitelist of host '. ./src/applications/config/option/PhabricatorClusterConfigOptions.php:70: 'When cluster addresses are defined, Phabricator hosts will also '. ./src/applications/config/option/PhabricatorClusterConfigOptions.php:104: 'injecting it with a `%s`), Phabricator will pass it to '. ./src/applications/config/option/PhabricatorClusterConfigOptions.php:118: 'Switch Phabricator to read-only mode. In this mode, users will '. ./src/applications/config/option/PhabricatorAuthenticationConfigOptions.php:47: "Newly registered Phabricator accounts can either be placed ". ./src/applications/config/option/PhabricatorAuthenticationConfigOptions.php:51: "who can register an account and access Phabricator.\n\n". ./src/applications/config/option/PhabricatorAuthenticationConfigOptions.php:54: "otherwise configured Phabricator to prevent unauthorized ". ./src/applications/config/option/PhabricatorAuthenticationConfigOptions.php:110: 'If you set up Phabricator to automatically synchronize account '. ./src/applications/config/option/PhabricatorAWSConfigOptions.php:45: '`amazon-s3.region`. Phabricator can not determine the correct '. ./src/applications/config/option/PhabricatorMetaMTAConfigOptions.php:25:commenting on a Differential revision), Phabricator can either send that mail ./src/applications/config/option/PhabricatorMetaMTAConfigOptions.php:29:The user experience is generally better if Phabricator uses the user's real ./src/applications/config/option/PhabricatorMetaMTAConfigOptions.php:35: corporate @corp.example.com addresses and any hosts Phabricator is running ./src/applications/config/option/PhabricatorMetaMTAConfigOptions.php:51:a code review), Phabricator can either deliver one email to everyone (e.g., "To: ./src/applications/config/option/PhabricatorMetaMTAConfigOptions.php:65: recipients. Phabricator will try not to send mail to users who already ./src/applications/config/option/PhabricatorMetaMTAConfigOptions.php:107:prefixed with "Re:". If you enable this option, Phabricator will add "Re:" to ./src/applications/config/option/PhabricatorMetaMTAConfigOptions.php:124:If you enable `%s`, Phabricator uses "From" to authenticate users. You can ./src/applications/config/option/PhabricatorMetaMTAConfigOptions.php:145:By default, Phabricator generates unique reply-to addresses and sends a separate ./src/applications/config/option/PhabricatorMetaMTAConfigOptions.php:158:If you want to use a single mailbox for Phabricator reply mail, you can use this ./src/applications/config/option/PhabricatorMetaMTAConfigOptions.php:159:and set a common prefix for reply addresses generated by Phabricator. It will ./src/applications/config/option/PhabricatorMetaMTAConfigOptions.php:171:When email is sent, what format should Phabricator use for user's email ./src/applications/config/option/PhabricatorMetaMTAConfigOptions.php:195:Phabricator will automatically generate and use a suitable mailbox on the ./src/applications/config/option/PhabricatorMetaMTAConfigOptions.php:200:by Phabricator and some mail sent by users will bounce. If you point it at a ./src/applications/config/option/PhabricatorMetaMTAConfigOptions.php:229: 'Controls whether Phabricator sends one email with multiple '. ./src/applications/config/option/PhabricatorMetaMTAConfigOptions.php:241: 'Controls whether Phabricator sends email "From" users.')) ./src/applications/config/option/PhabricatorMetaMTAConfigOptions.php:249: ->addExample('phabricator.example.com', ''), ./src/applications/config/option/PhabricatorMetaMTAConfigOptions.php:274: 'Phabricator can use less-secure but mailing list friendly public '. ./src/applications/config/option/PhabricatorMetaMTAConfigOptions.php:279: pht('Allow Phabricator to use a single mailbox for all replies.')) ./src/applications/config/option/PhabricatorMetaMTAConfigOptions.php:288: ->setSummary(pht('Control how Phabricator renders user names in mail.')) ./src/applications/config/option/PhabricatorExtendingPhabricatorConfigOptions.php:11: return pht('Make Phabricator even cooler!'); ./src/applications/config/option/PhabricatorSyntaxHighlightingConfigOptions.php:34: 'Phabricator can highlight PHP by default and use Pygments for '. ./src/applications/config/option/PhabricatorSyntaxHighlightingConfigOptions.php:40: pht('Should Phabricator use Pygments to highlight code?')) ./src/applications/config/option/PhabricatorSyntaxHighlightingConfigOptions.php:48: 'Phabricator supports syntax highlighting a few languages by '. ./src/applications/config/option/PhabricatorSyntaxHighlightingConfigOptions.php:57: '(`pygments.enabled`) to make Phabricator use Pygments when '. ./src/applications/config/option/PhabricatorSyntaxHighlightingConfigOptions.php:62: 'You may need to clear Phabricator\'s caches to get previously '. ./src/applications/config/option/PhabricatorAccessLogConfigOptions.php:76: "To enable the Phabricator access log, specify a path. The ". ./src/applications/config/option/PhabricatorAccessLogConfigOptions.php:77: "Phabricator access than normal HTTP access logs (for instance, ". ./src/applications/config/option/PhabricatorAccessLogConfigOptions.php:101: "To enable the Phabricator SSH log, specify a path. The ". ./src/applications/config/option/PhabricatorAccessLogConfigOptions.php:124: 'To enable the Phabricator SSH error log, specify a path. Errors '. ./src/applications/config/option/PhabricatorAccessLogConfigOptions.php:125: 'occurring in contexts where Phabricator is serving SSH requests '. ./src/applications/config/option/PhabricatorUIConfigOptions.php:11: return pht('Configure the Phabricator UI, including colors.'); ./src/applications/config/option/PhabricatorUIConfigOptions.php:54: pht('Sets the default color scheme of Phabricator.')) ./src/applications/config/option/PhabricatorUIConfigOptions.php:64: "Phabricator logo in the site header.\n\n". ./src/applications/config/option/PhabricatorPHDConfigOptions.php:53: 'Phabricator imports or manages. This option is new and '. ./src/applications/config/option/PhabricatorNotificationConfigOptions.php:38: 'host' => 'phabricator.mycompany.com', ./src/applications/config/option/PhabricatorSecurityConfigOptions.php:70:By default, Phabricator allows users to add multi-factor authentication to ./src/applications/config/option/PhabricatorSecurityConfigOptions.php:90: 'By default, Phabricator serves files from the same domain '. ./src/applications/config/option/PhabricatorSecurityConfigOptions.php:122: "to `true` to make Phabricator redirect HTTP requests to HTTPS.". ./src/applications/config/option/PhabricatorSecurityConfigOptions.php:131: "IMPORTANT: Phabricator determines if a request is HTTPS or not ". ./src/applications/config/option/PhabricatorSecurityConfigOptions.php:134: "automatically, but if you run Phabricator as CGI/FCGI (e.g., ". ./src/applications/config/option/PhabricatorSecurityConfigOptions.php:139: "If you configure Phabricator in cluster mode, note that this ". ./src/applications/config/option/PhabricatorSecurityConfigOptions.php:180: 'Phabricator will refuse to issue a HTTP "Location" redirect to a '. ./src/applications/config/option/PhabricatorSecurityConfigOptions.php:184: 'you remove one or both protocols, some Phabricator features '. ./src/applications/config/option/PhabricatorSecurityConfigOptions.php:251: 'Phabricator users can make requests to other services from '. ./src/applications/config/option/PhabricatorSecurityConfigOptions.php:252: 'the Phabricator host in some circumstances (for example, by '. ./src/applications/config/option/PhabricatorSecurityConfigOptions.php:253: 'creating a repository with a remote URL or having Phabricator '. ./src/applications/config/option/PhabricatorSecurityConfigOptions.php:262: 'This option defines a list of netblocks which Phabricator '. ./src/applications/config/option/PhabricatorSecurityConfigOptions.php:329: "e.g. '%s' is OK, but '%s' is not. Phabricator must be installed ". ./src/applications/config/option/PhabricatorSecurityConfigOptions.php:332: 'http://phabricator.example.com/', ./src/applications/config/option/PhabricatorMySQLConfigOptions.php:41: pht('The namespace that Phabricator databases should use.')) ./src/applications/config/option/PhabricatorMySQLConfigOptions.php:44: "Phabricator puts databases in a namespace, which defaults to ". ./src/applications/config/option/PhabricatorMySQLConfigOptions.php:48: "unless you are developing Phabricator and using namespaces to ". ./src/applications/config/option/PhabricatorCoreConfigOptions.php:41:This option allows you to stop Phabricator from sending data to most external ./src/applications/config/option/PhabricatorCoreConfigOptions.php:45:This option is intended to allow a Phabricator instance to be exported, copied, ./src/applications/config/option/PhabricatorCoreConfigOptions.php:73: $this->newOption('phabricator.base-uri', 'string', null) ./src/applications/config/option/PhabricatorCoreConfigOptions.php:75: ->setSummary(pht('URI where Phabricator is installed.')) ./src/applications/config/option/PhabricatorCoreConfigOptions.php:78: 'Set the URI where Phabricator is installed. Setting this '. ./src/applications/config/option/PhabricatorCoreConfigOptions.php:82: ->addExample('http://phabricator.example.com/', pht('Valid Setting')), ./src/applications/config/option/PhabricatorCoreConfigOptions.php:83: $this->newOption('phabricator.production-uri', 'string', null) ./src/applications/config/option/PhabricatorCoreConfigOptions.php:88: 'If you have multiple Phabricator environments (like a '. ./src/applications/config/option/PhabricatorCoreConfigOptions.php:90: 'Phabricator, and a production environment for deploying it), '. ./src/applications/config/option/PhabricatorCoreConfigOptions.php:95: 'phabricator.base-uri')) ./src/applications/config/option/PhabricatorCoreConfigOptions.php:96: ->addExample('http://phabricator.example.com/', pht('Valid Setting')), ./src/applications/config/option/PhabricatorCoreConfigOptions.php:97: $this->newOption('phabricator.allowed-uris', 'list', array()) ./src/applications/config/option/PhabricatorCoreConfigOptions.php:99: ->setSummary(pht('Alternative URIs that can access Phabricator.')) ./src/applications/config/option/PhabricatorCoreConfigOptions.php:103: "on your Phabricator install. Other features such as OAuth ". ./src/applications/config/option/PhabricatorCoreConfigOptions.php:110: $this->newOption('phabricator.timezone', 'string', null) ./src/applications/config/option/PhabricatorCoreConfigOptions.php:112: pht('The timezone Phabricator should use.')) ./src/applications/config/option/PhabricatorCoreConfigOptions.php:118: $this->newOption('phabricator.cookie-prefix', 'string', null) ./src/applications/config/option/PhabricatorCoreConfigOptions.php:122: 'Set a string Phabricator should use to prefix cookie names.')) ./src/applications/config/option/PhabricatorCoreConfigOptions.php:126: 'Phabricator instances are running on both domains, this will '. ./src/applications/config/option/PhabricatorCoreConfigOptions.php:129: $this->newOption('phabricator.show-prototypes', 'bool', false) ./src/applications/config/option/PhabricatorCoreConfigOptions.php:144: "Phabricator includes prototype applications which are in an ". ./src/applications/config/option/PhabricatorCoreConfigOptions.php:148: "this option to install them if you're developing Phabricator ". ./src/applications/config/option/PhabricatorCoreConfigOptions.php:157: $this->newOption('phabricator.serious-business', 'bool', false) ./src/applications/config/option/PhabricatorCoreConfigOptions.php:167: 'By default, Phabricator includes some flavor text in the UI, '. ./src/applications/config/option/PhabricatorCoreConfigOptions.php:192: 'By default, Phabricator links object names in Remarkup fields '. ./src/applications/config/option/PhabricatorCoreConfigOptions.php:203: "Phabricator occasionally shells out to other binaries on the ". ./src/applications/config/option/PhabricatorCoreConfigOptions.php:207: "user running Phabricator (normally 'apache', 'httpd', or ". ./src/applications/config/option/PhabricatorCoreConfigOptions.php:233: $this->newOption('phabricator.env', 'string', null) ./src/applications/config/option/PhabricatorCoreConfigOptions.php:239: $this->newOption('phabricator.uninstalled-applications', 'set', array()) ./src/applications/config/option/PhabricatorCoreConfigOptions.php:251: $this->newOption('phabricator.application-settings', 'wild', array()) ./src/applications/config/option/PhabricatorCoreConfigOptions.php:254: pht('Customized settings for Phabricator applications.')), ./src/applications/config/option/PhabricatorCoreConfigOptions.php:255: $this->newOption('phabricator.cache-namespace', 'string', 'phabricator') ./src/applications/config/option/PhabricatorCoreConfigOptions.php:258: $this->newOption('phabricator.silent', 'bool', false) ./src/applications/config/option/PhabricatorCoreConfigOptions.php:265: ->setSummary(pht('Stop Phabricator from sending any email, etc.')) ./src/applications/config/option/PhabricatorCoreConfigOptions.php:276: if ($key == 'phabricator.base-uri' || ./src/applications/config/option/PhabricatorCoreConfigOptions.php:277: $key == 'phabricator.production-uri') { ./src/applications/config/option/PhabricatorCoreConfigOptions.php:309: "e.g. '%s' is OK, but '%s' is not. Phabricator must be installed ". ./src/applications/config/option/PhabricatorCoreConfigOptions.php:312: 'http://phabricator.example.com/', ./src/applications/config/option/PhabricatorCoreConfigOptions.php:318: if ($key === 'phabricator.timezone') { ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:43: "Phabricator. It has no effect, and should be corrected or deleted.", ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:121: 'phabricator.uninstalled-applications', ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:122: 'phabricator.application-settings', ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:158: 'of Phabricator will stop respecting database values for locked '. ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:194: 'of Phabricator.'. ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:252: 'phabricator.oauth-uri', ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:253: 'phabricator.auth-enabled', ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:254: 'phabricator.registration-enabled', ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:255: 'phabricator.auth-permanent', ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:256: 'phabricator.application-id', ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:257: 'phabricator.application-secret', ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:286: 'Phabricator no longer supports global customization of monospaced '. ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:349: 'Phabricator now has meaningful global access controls. See `%s`.', ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:359: 'Phabricator now manages typeahead strategies automatically.'), ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:365: 'phabricator.show-beta-applications' => pht( ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:369: 'phabricator.show-prototypes'), ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:386: 'Phabricator now automatically discovers available storage engines '. ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:389: 'Phabricator now supports arbitrarily large files. Consult the '. ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:395: 'Phabricator no longer shows reply hints in mail.'), ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:409: 'Phabricator now always sends transaction mail with '. ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:416: 'Phabricator now automatically discovers available search engines '. ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:472: 'Phabricator now automatically selects the best available '. ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:476: 'Phabricator now has application-level management of partitioning '. ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:514: 'phabricator.csrf-key' => pht( ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:520: 'phabricator.allow-email-users' => pht( ./src/applications/config/check/PhabricatorExtraConfigSetupCheck.php:544: 'Phabricator daemons no longer use PID files.'), ./src/applications/config/check/PhabricatorTimezoneSetupCheck.php:31: PhabricatorEnv::getEnvConfig('phabricator.timezone'), ./src/applications/config/check/PhabricatorTimezoneSetupCheck.php:43: "set the PHP configuration value '%s' or the Phabricator ". ./src/applications/config/check/PhabricatorTimezoneSetupCheck.php:46: 'phabricator.timezone'); ./src/applications/config/check/PhabricatorTimezoneSetupCheck.php:55: ->addPhabricatorConfig('phabricator.timezone'); ./src/applications/config/check/PhabricatorElasticsearchSetupCheck.php:72: 'Either the Phabricator schema for Elasticsearch has changed '. ./src/applications/config/check/PhabricatorManualActivitySetupCheck.php:45: 'You can rebuild the search index while Phabricator is running.'); ./src/applications/config/check/PhabricatorManualActivitySetupCheck.php:87: 'The mapping from VCS users to Phabricator users has changed '. ./src/applications/config/check/PhabricatorManualActivitySetupCheck.php:93: 'The way Phabricator attributes VCS activity to Phabricator users '. ./src/applications/config/check/PhabricatorManualActivitySetupCheck.php:96: '") and the Phabricator user that gets associated '. ./src/applications/config/check/PhabricatorManualActivitySetupCheck.php:98: 'are incorrectly associated with commits by Phabricator making bad '. ./src/applications/config/check/PhabricatorManualActivitySetupCheck.php:99: 'guesses about the identity of the corresponding Phabricator user. '. ./src/applications/config/check/PhabricatorManualActivitySetupCheck.php:103: 'are likely to encounter problems with future Phabricator features '. ./src/applications/config/check/PhabricatorManualActivitySetupCheck.php:107: 'You can rebuild repository identities while Phabricator is running.'); ./src/applications/config/check/PhabricatorDatabaseSetupCheck.php:180: 'host or reconfigure Phabricator.', ./src/applications/config/check/PhabricatorAuthSetupCheck.php:12: // redirect and login URIs using `phabricator.base-uri`) and it won't ./src/applications/config/check/PhabricatorMailSetupCheck.php:15: 'You haven\'t configured mailers yet, so Phabricator won\'t be able '. ./src/applications/config/check/PhabricatorMySQLSetupCheck.php:69: 'Phabricator is developed and tested in "STRICT_ALL_TABLES" mode so '. ./src/applications/config/check/PhabricatorMySQLSetupCheck.php:91: 'can safely ignore this warning. Phabricator will work correctly '. ./src/applications/config/check/PhabricatorMySQLSetupCheck.php:276: "have 4GB of RAM on the machine you have installed Phabricator on, ". ./src/applications/config/check/PhabricatorMySQLSetupCheck.php:280: "case. There are no concerns specific to Phabricator which make it ". ./src/applications/config/check/PhabricatorDaemonsSetupCheck.php:29: 'You must start the Phabricator daemons to send email, rebuild '. ./src/applications/config/check/PhabricatorDaemonsSetupCheck.php:33: 'The Phabricator daemons are not running, so Phabricator will not '. ./src/applications/config/check/PhabricatorDaemonsSetupCheck.php:50: ->setName(pht('Phabricator Daemons Are Not Running')) ./src/applications/config/check/PhabricatorBinariesSetupCheck.php:18: "Without '%s', Phabricator can not test for the availability ". ./src/applications/config/check/PhabricatorBinariesSetupCheck.php:30: "Without '%s', Phabricator will not be able to generate or render ". ./src/applications/config/check/PhabricatorBinariesSetupCheck.php:171: "add that directory to '%s' in the Phabricator configuration.", ./src/applications/config/check/PhabricatorBinariesSetupCheck.php:179: "it resides, or add that directory to '%s' in the Phabricator ". ./src/applications/config/check/PhabricatorBinariesSetupCheck.php:203: 'the program changed its version format string recently and Phabricator '. ./src/applications/config/check/PhabricatorBinariesSetupCheck.php:211: 'You may be able to resolve this issue by updating Phabricator, since '. ./src/applications/config/check/PhabricatorBinariesSetupCheck.php:212: 'a newer version of Phabricator is likely to be able to parse the '. ./src/applications/config/check/PhabricatorBinariesSetupCheck.php:215: 'If updating Phabricator does not fix this, you can report the issue '. ./src/applications/config/check/PhabricatorPHPConfigSetupCheck.php:24: 'No REMOTE_ADDR is available, so Phabricator cannot determine the '. ./src/applications/config/check/PhabricatorPHPConfigSetupCheck.php:25: 'origin address for requests. This will prevent Phabricator from '. ./src/applications/config/check/PhabricatorPHPConfigSetupCheck.php:79: 'Phabricator will work with the older extension, but upgrading to the '. ./src/applications/config/check/PhabricatorPHPConfigSetupCheck.php:99: 'features (like support for query timeouts) which allow Phabricator '. ./src/applications/config/check/PhabricatorPHPConfigSetupCheck.php:102: 'Phabricator will work with the older driver, but upgrading to the '. ./src/applications/config/check/PhabricatorPHPConfigSetupCheck.php:137: 'Phabricator to connect to a malicious MySQL server, you should '. ./src/applications/config/check/PhabricatorBaseURISetupCheck.php:10: $base_uri = PhabricatorEnv::getEnvConfig('phabricator.base-uri'); ./src/applications/config/check/PhabricatorBaseURISetupCheck.php:20: '"Host" header is not making it to Phabricator, or that you are '. ./src/applications/config/check/PhabricatorBaseURISetupCheck.php:41: 'serve Phabricator from a base URI with a dot (like '. ./src/applications/config/check/PhabricatorBaseURISetupCheck.php:42: '"https://phabricator.mycompany.com"), not a bare domain '. ./src/applications/config/check/PhabricatorBaseURISetupCheck.php:79: 'Phabricator, like "http://phabricator.example.com/".'. ./src/applications/config/check/PhabricatorBaseURISetupCheck.php:92: ->newIssue('config.phabricator.base-uri') ./src/applications/config/check/PhabricatorBaseURISetupCheck.php:101: './bin/config set phabricator.base-uri %s', ./src/applications/config/check/PhabricatorStorageSetupCheck.php:86: 'storage. Phabricator needs memory available to store these '. ./src/applications/config/check/PhabricatorStorageSetupCheck.php:100: "Phabricator process memory.". ./src/applications/config/check/PhabricatorGDSetupCheck.php:13: "Phabricator will not be able to process or resize images ". ./src/applications/config/check/PhabricatorGDSetupCheck.php:44: "Phabricator will be unable to process images of the missing ". ./src/applications/config/check/PhabricatorSecuritySetupCheck.php:34: 'To learn more about how this issue affects Phabricator, see %s.', ./src/applications/config/check/PhabricatorSecuritySetupCheck.php:40: 'href' => 'https://secure.phabricator.com/T6185', ./src/applications/config/check/PhabricatorSecuritySetupCheck.php:64: 'Phabricator is currently configured to serve user uploads '. ./src/applications/config/check/PhabricatorPHPPreflightSetupCheck.php:18: 'You are running PHP version %s. Phabricator does not support PHP '. ./src/applications/config/check/PhabricatorPHPPreflightSetupCheck.php:21: 'PHP removed signal handling features that Phabricator requires in '. ./src/applications/config/check/PhabricatorPHPPreflightSetupCheck.php:34: pht('Phabricator PHP 7 Compatibility Information')); ./src/applications/config/check/PhabricatorPHPPreflightSetupCheck.php:42: "You have '%s' enabled in your PHP configuration, but Phabricator ". ./src/applications/config/check/PhabricatorPHPPreflightSetupCheck.php:57: // and classes and still have Phabricator work fine, it's unreasonably ./src/applications/config/check/PhabricatorPHPPreflightSetupCheck.php:59: // are enabled. Phabricator needs access to the most dangerous functions, ./src/applications/config/check/PhabricatorPHPPreflightSetupCheck.php:61: // provides a benefit while guaranteeing Phabricator will run properly. ./src/applications/config/check/PhabricatorPHPPreflightSetupCheck.php:92: "This option is not compatible with Phabricator. Remove ". ./src/applications/config/check/PhabricatorPHPPreflightSetupCheck.php:111: "This option is not compatible with Phabricator. Disable ". ./src/applications/config/check/PhabricatorPHPPreflightSetupCheck.php:134: "Your server is configured with '%s', which prevents Phabricator ". ./src/applications/config/check/PhabricatorPygmentSetupCheck.php:45: 'Phabricator has %s available in %s, but the binary '. ./src/applications/config/check/PhabricatorPygmentSetupCheck.php:67: 'Phabricator can highlight a few languages by default, '. ./src/applications/config/check/PhabricatorRepositoriesSetupCheck.php:48: "readable by the webserver. Phabricator uses this directory to store ". ./src/applications/config/check/PhabricatorFileinfoSetupCheck.php:13: "support, Phabricator may not be able to determine the MIME types ". ./src/applications/config/check/PhabricatorSetupCheck.php:68: return $cache->getKey('phabricator.setup.issue-keys'); ./src/applications/config/check/PhabricatorSetupCheck.php:73: $cache->deleteKey('phabricator.setup.issue-keys'); ./src/applications/config/check/PhabricatorSetupCheck.php:76: $server_cache->deleteKey('phabricator.in-flight'); ./src/applications/config/check/PhabricatorSetupCheck.php:87: $db_cache->deleteKey('phabricator.setup.issue-keys'); ./src/applications/config/check/PhabricatorSetupCheck.php:104: $cache->setKey('phabricator.setup.issue-keys', $keys); ./src/applications/config/check/PhabricatorSetupCheck.php:107: $server_cache->setKey('phabricator.in-flight', 1); ./src/applications/config/check/PhabricatorSetupCheck.php:113: $db_cache->setKey('phabricator.setup.issue-keys', $json); ./src/applications/config/check/PhabricatorSetupCheck.php:124: $value = $db_cache->getKey('phabricator.setup.issue-keys'); ./src/applications/config/check/PhabricatorSetupCheck.php:147: return $cache->getKey('phabricator.setup.needs-repair'); ./src/applications/config/check/PhabricatorSetupCheck.php:152: $cache->setKey('phabricator.setup.needs-repair', $needs_repair); ./src/applications/config/check/PhabricatorSetupCheck.php:159: 'phabricator.setup.needs-repair', ./src/applications/config/check/PhabricatorSetupCheck.php:160: 'phabricator.setup.issue-keys', ./src/applications/config/check/PhabricatorSetupCheck.php:199: // If Phabricator is configured in a cluster with multiple web devices, ./src/applications/config/check/PhabricatorSetupCheck.php:237: return (bool)$cache->getKey('phabricator.in-flight'); ./src/applications/config/check/PhabricatorPathSetupCheck.php:16: 'The environmental variable %s is empty. Phabricator will not '. ./src/applications/config/check/PhabricatorPathSetupCheck.php:21: "The environmental variable %s is empty. Phabricator needs to execute ". ./src/applications/config/check/PhabricatorPathSetupCheck.php:24: "%s. You can set additional paths in Phabricator configuration.", ./src/applications/config/check/PhabricatorPathSetupCheck.php:123: "Phabricator will be unable to find or execute binaries located ". ./src/applications/config/check/PhabricatorWebServerSetupCheck.php:19: 'Phabricator received an "X-Mod-Pagespeed" or "X-Page-Speed" '. ./src/applications/config/check/PhabricatorWebServerSetupCheck.php:22: 'compatible with Phabricator. You should disable it.')); ./src/applications/config/check/PhabricatorWebServerSetupCheck.php:25: $base_uri = PhabricatorEnv::getEnvConfig('phabricator.base-uri'); ./src/applications/config/check/PhabricatorWebServerSetupCheck.php:27: // If `phabricator.base-uri` is not set then we can't really do ./src/applications/config/check/PhabricatorWebServerSetupCheck.php:94: 'Phabricator appears to be installed on a very small EC2 instance '. ./src/applications/config/check/PhabricatorWebServerSetupCheck.php:96: 'Phabricator regularly needs CPU, and these instances are often '. ./src/applications/config/check/PhabricatorWebServerSetupCheck.php:105: 'Do not install Phabricator on an instance class with '. ./src/applications/config/check/PhabricatorWebServerSetupCheck.php:124: 'Phabricator sent itself a request with "Accept-Encoding: gzip", '. ./src/applications/config/check/PhabricatorWebServerSetupCheck.php:166: 'Phabricator sent itself a test request with the '. ./src/applications/config/check/PhabricatorWebServerSetupCheck.php:176: 'Phabricator sent itself a test request and expected to get a bare '. ./src/applications/config/check/PhabricatorWebServerSetupCheck.php:202: 'Phabricator sent itself a test request with an "Authorization" HTTP '. ./src/applications/config/check/PhabricatorWebServerSetupCheck.php:204: 'they were absent or incorrect when received. Phabricator sent '. ./src/applications/config/check/PhabricatorWebServerSetupCheck.php:225: 'Phabricator sent itself a test request with an unusual path, to '. ./src/applications/config/check/PhabricatorWebServerSetupCheck.php:229: 'Phabricator sent a request to path "%s", and expected the webserver '. ./src/applications/config/check/PhabricatorWebServerSetupCheck.php:261: 'Phabricator sent itself a test request with an HTTP GET parameter, '. ./src/applications/config/check/PhabricatorWebServerSetupCheck.php:266: 'Phabricator will not work until this issue is corrected.'. ./src/applications/config/check/PhabricatorWebServerSetupCheck.php:323: 'Phabricator sent itself a test request that was compressed with '. ./src/applications/config/check/PhabricatorWebServerSetupCheck.php:345: 'The request body Phabricator sent began:'); ./src/applications/config/check/PhabricatorWebServerSetupCheck.php:349: 'The request body Phabricator received began:'); ./src/applications/config/check/PhabricatorWebServerSetupCheck.php:355: 'decompressing or mangling requests and disable it. Phabricator '. ./src/applications/config/issue/PhabricatorSetupIssue.php:31: "Make sure Phabricator and MySQL are correctly configured.", ./src/applications/config/issue/PhabricatorSetupIssue.php:142: * If Phabricator has changed a value by the time a config issue is raised, ./src/applications/config/engine/PhabricatorSetupEngine.php:40: // This can happen if Phabricator starts during a disaster and some ./src/applications/config/engine/PhabricatorSetupEngine.php:41: // databases can not be reached. We allow Phabricator to start up in ./src/applications/config/view/PhabricatorSetupIssueView.php:93: "PHP extensions is not specific to Phabricator, and any instructions ". ./src/applications/config/view/PhabricatorSetupIssueView.php:98: 'After installing new PHP extensions, restart Phabricator '. ./src/applications/config/view/PhabricatorSetupIssueView.php:100: 'Phabricator, see %s in the documentation.', ./src/applications/config/view/PhabricatorSetupIssueView.php:252: 'The current Phabricator configuration has these %d value(s):', ./src/applications/config/view/PhabricatorSetupIssueView.php:463: 'After editing the PHP configuration, restart Phabricator for '. ./src/applications/config/view/PhabricatorSetupIssueView.php:465: 'Phabricator, see %s in the documentation.', ./src/applications/config/editor/PhabricatorConfigEditor.php:11: return pht('Phabricator Configuration'); ./src/applications/config/editor/PhabricatorConfigEditor.php:54: // old version of Phabricator or a configuration file misspelling) ./src/applications/notification/setup/PhabricatorAphlictSetupCheck.php:10: "Phabricator is configured to use a notification server, but is ". ./src/applications/notification/setup/PhabricatorAphlictSetupCheck.php:29: 'Phabricator is configured to use a notification server, '. ./src/applications/notification/controller/PhabricatorNotificationClearController.php:43: PhabricatorEnv::getEnvConfig('phabricator.serious-business'); ./src/applications/base/controller/__tests__/PhabricatorAccessControlTestCase.php:56: $env->overrideEnvConfig('phabricator.base-uri', 'http://'.$host); ./src/applications/base/PhabricatorApplication.php:69: $prototypes = PhabricatorEnv::getEnvConfig('phabricator.show-prototypes'); ./src/applications/base/PhabricatorApplication.php:75: 'phabricator.uninstalled-applications'); ./src/applications/base/PhabricatorApplication.php:503: $config = PhabricatorEnv::getEnvConfig('phabricator.application-settings'); ./src/applications/base/PhabricatorApplication.php:560: 'This application is required for Phabricator to operate, so all '. ./src/applications/cache/PhabricatorCaches.php:15: return PhabricatorEnv::getEnvConfig('phabricator.cache-namespace'); ./src/applications/cache/spec/PhabricatorCacheSpec.php:99: 'PHP configuration. Enabling these extensions will improve Phabricator '. ./src/applications/cache/spec/PhabricatorOpcodeCacheSpec.php:59: $is_dev = PhabricatorEnv::getEnvConfig('phabricator.developer-mode'); ./src/applications/cache/spec/PhabricatorOpcodeCacheSpec.php:80: ->addPhabricatorConfig('phabricator.developer-mode'); ./src/applications/cache/spec/PhabricatorOpcodeCacheSpec.php:88: 'but Phabricator is running in development mode. This option should '. ./src/applications/cache/spec/PhabricatorOpcodeCacheSpec.php:100: ->addPhabricatorConfig('phabricator.developer-mode'); ./src/applications/cache/spec/PhabricatorOpcodeCacheSpec.php:128: $is_dev = PhabricatorEnv::getEnvConfig('phabricator.developer-mode'); ./src/applications/cache/spec/PhabricatorOpcodeCacheSpec.php:151: ->addPhabricatorConfig('phabricator.developer-mode'); ./src/applications/cache/spec/PhabricatorOpcodeCacheSpec.php:168: ->addPhabricatorConfig('phabricator.developer-mode'); ./src/applications/cache/spec/PhabricatorOpcodeCacheSpec.php:177: 'Phabricator performance. Edit the "%s" setting to '. ./src/applications/cache/spec/PhabricatorDataCacheSpec.php:73: 'This extension is strongly recommended. Without it, Phabricator '. ./src/applications/cache/spec/PhabricatorDataCacheSpec.php:143: $namespace = PhabricatorEnv::getEnvConfig('phabricator.cache-namespace'); ./src/applications/settings/panel/PhabricatorEmailAddressesSettingsPanel.php:401: 'If you change your primary address, Phabricator will send all '. ./src/applications/settings/panel/PhabricatorExternalEditorSettingsPanel.php:132: 'Phabricator is not configured to allow any editor protocols.')) ./src/applications/settings/panel/PhabricatorNotificationsSettingsPanel.php:72: 'notifications for this Phabricator instance.'), ./src/applications/settings/panel/PhabricatorNotificationsSettingsPanel.php:87: 'notifications for this Phabricator instance.')); ./src/applications/settings/panel/PhabricatorNotificationsSettingsPanel.php:92: 'for this Phabricator instance. Consult your browser settings / '. ./src/applications/settings/panel/PhabricatorNotificationsSettingsPanel.php:149: 'Phabricator can send real-time notifications to your web browser '. ./src/applications/settings/setting/PhabricatorOlderInlinesSetting.php:25: 'When a revision is updated, Phabricator attempts to bring inline '. ./src/applications/settings/setting/PhabricatorTitleGlyphsSetting.php:25: 'Phabricator uses unicode glyphs in page titles to provide a compact '. ./src/applications/settings/setting/PhabricatorEmailSelfActionsSetting.php:25: 'If you disable **Self Actions**, Phabricator will not notify '. ./src/applications/settings/setting/PhabricatorAccessibilitySetting.php:22: 'If you have difficulty reading the Phabricator UI, this setting '. ./src/applications/settings/setting/PhabricatorAccessibilitySetting.php:23: 'may make Phabricator more accessible.'); ./src/applications/settings/setting/PhabricatorDarkConsoleSetting.php:30: 'Phabricator applications. After enabling DarkConsole, press the '. ./src/applications/settings/setting/PhabricatorEmailFormatSetting.php:25: 'You can opt to receive plain text email from Phabricator instead '. ./src/applications/settings/setting/PhabricatorUnifiedDiffsSetting.php:25: 'Phabricator normally shows diffs in a side-by-side layout on large '. ./src/applications/settings/setting/PhabricatorEditorSetting.php:24: "such an editor, Phabricator can generate links that you can click ". ./src/applications/settings/setting/PhabricatorTranslationSetting.php:26: 'Choose which language you would like the Phabricator UI to use.'); ./src/applications/settings/setting/PhabricatorTranslationSetting.php:88: $is_serious = PhabricatorEnv::getEnvConfig('phabricator.serious-business'); ./src/applications/settings/setting/PhabricatorTranslationSetting.php:93: // Omit limited and test translations if Phabricator is not in developer ./src/applications/settings/setting/PhabricatorTranslationSetting.php:95: $is_dev = PhabricatorEnv::getEnvConfig('phabricator.developer-mode'); ./src/applications/settings/setting/PhabricatorEmailStampsSetting.php:25:Phabricator stamps mail with labels like `actor(alice)` which can be used to ./src/applications/settings/setting/PhabricatorEmailNotificationsSetting.php:25: 'If you disable **Email Notifications**, Phabricator will never '. ./src/applications/pholio/controller/PholioMockViewController.php:219: $is_serious = PhabricatorEnv::getEnvConfig('phabricator.serious-business'); ./src/applications/policy/storage/PhabricatorPolicy.php:251: 'do not have a Phabricator account.'); ./src/applications/policy/config/PhabricatorPolicyConfigOptions.php:40: "Phabricator allows you to set the visibility of objects (like ". ./src/applications/policy/config/PhabricatorPolicyConfigOptions.php:62: 'Phabricator has application policies which can dictate whether '. ./src/applications/policy/filter/PhabricatorPolicyFilter.php:900: $is_serious = PhabricatorEnv::getEnvConfig('phabricator.serious-business'); ./src/applications/guides/module/PhabricatorGuideQuickStartModule.php:135: pht('See all the applications included in Phabricator.'); ./src/applications/guides/module/PhabricatorGuideQuickStartModule.php:162: pht('Invite the rest of your team to get started on Phabricator.'); ./src/applications/guides/module/PhabricatorGuideQuickStartModule.php:175: 'If you\'re new to Phabricator, these optional steps can help you learn '. ./src/applications/guides/module/PhabricatorGuideQuickStartModule.php:176: 'the basics. Conceptually, Phabricator is structured as a graph, and '. ./src/applications/guides/module/PhabricatorGuideQuickStartModule.php:178: 'Feel free to set up Phabricator for how you work best, and explore '. ./src/applications/guides/module/PhabricatorGuideInstallModule.php:69: 'log in to Phabricator.'); ./src/applications/guides/module/PhabricatorGuideInstallModule.php:98: 'Learn how to configure mail and other options in Phabricator.'); ./src/applications/guides/module/PhabricatorGuideInstallModule.php:151: 'Phabricator can deliver notifications in real-time with WebSockets.'); ./src/applications/guides/module/PhabricatorGuideInstallModule.php:164: 'Phabricator has been successfully installed. These next guides will '. ./src/applications/nuance/source/NuancePhabricatorFormSourceDefinition.php:7: return pht('Phabricator Form'); ./src/applications/nuance/source/NuanceSourceDefinition.php:125: * A human readable string like "Twitter" or "Phabricator Form". ./src/applications/releeph/controller/request/ReleephRequestEditController.php:267: 'or give a Phabricator commit identifier like rFOO1234.'))); ./src/applications/releeph/conduit/work/ReleephWorkNextRequestConduitAPIMethod.php:79: * discovered by Phabricator (using the `id` column to perform that ./src/applications/releeph/field/specification/ReleephFieldSpecification.php:216: * rendered through the Phabricator markup pipeline. ./src/applications/daemon/management/PhabricatorDaemonManagementStartWorkflow.php:11: 'Start the standard configured collection of Phabricator daemons. '. ./src/applications/daemon/management/PhabricatorDaemonManagementRestartWorkflow.php:27: 'to another Phabricator instance.'), ./src/applications/daemon/management/PhabricatorDaemonManagementWorkflow.php:96: 'Phabricator is configured to run daemons as "%s", '. ./src/applications/daemon/management/PhabricatorDaemonManagementWorkflow.php:582: 'PID "%d" is not a known Phabricator daemon PID.', ./src/applications/daemon/management/PhabricatorDaemonManagementStopWorkflow.php:24: 'to another Phabricator instance.'), ./src/applications/daemon/application/PhabricatorDaemonsApplication.php:10: return pht('Manage Phabricator Daemons'); ./src/applications/subscriptions/command/PhabricatorSubscriptionsSubscribeEmailCommand.php:29: 'subscribed if Phabricator knows which accounts are linked to their '. ./src/applications/repository/response/PhabricatorVCSResponse.php:45: 'Basic realm="Phabricator Repositories"', ./src/applications/repository/storage/PhabricatorRepositoryCommit.php:677: pht('The callsign of the repository in Phabricator.'), ./src/applications/repository/storage/PhabricatorRepositoryCommit.php:679: pht('The PHID of the repository in Phabricator.'), ./src/applications/repository/storage/PhabricatorRepository.php:1483: $directories[] = $root.'/hooks/pre-receive-phabricator.d/'; ./src/applications/repository/storage/PhabricatorRepository.php:1485: $directories[] = $root.'/.git/hooks/pre-receive-phabricator.d/'; ./src/applications/repository/storage/PhabricatorRepository.php:1489: $directories[] = $root.'/hooks/pre-commit-phabricator.d/'; ./src/applications/repository/storage/PhabricatorRepository.php:1946: 'Requests routed within the cluster by Phabricator are always '. ./src/applications/repository/storage/PhabricatorRepository.php:2208: 'authenticated method call within the Phabricator cluster. '. ./src/applications/repository/storage/PhabricatorRepository.php:2223: 'authenticated method call within the Phabricator cluster. '. ./src/applications/repository/storage/PhabricatorRepositoryURI.php:368: // If Phabricator is running on a nonstandard port, use that as the default ./src/applications/repository/storage/PhabricatorRepositoryURI.php:504: 'Phabricator will observe changes to this URI and copy them.'), ./src/applications/repository/storage/PhabricatorRepositoryURI.php:512: 'Phabricator will push a copy of any changes to this URI.'), ./src/applications/repository/storage/PhabricatorRepositoryURI.php:520: 'Phabricator will not push or pull any changes to this URI.'), ./src/applications/repository/storage/PhabricatorRepositoryURI.php:528: 'Phabricator will serve a read-only copy of the repository from '. ./src/applications/repository/storage/PhabricatorRepositoryURI.php:537: 'Phabricator will serve a read/write copy of the repository from '. ./src/applications/repository/worker/PhabricatorRepositoryIdentityChangeWorker.php:14: // T13444. This can be removed in some future version of Phabricator once ./src/applications/repository/management/PhabricatorRepositoryManagementCacheWorkflow.php:50: pht('Path "%s" is not known to Phabricator.', $path_name)); ./src/applications/repository/config/PhabricatorRepositoryConfigOptions.php:31: 'data about repositories. Phabricator will control and manage '. ./src/applications/repository/engine/PhabricatorRepositoryMirrorEngine.php:17: if (PhabricatorEnv::getEnvConfig('phabricator.silent')) { ./src/applications/repository/engine/PhabricatorRepositoryMirrorEngine.php:19: pht('Phabricator is running in silent mode; declining to mirror.')); ./src/applications/repository/engine/PhabricatorRepositoryPullEngine.php:229: "directory.\n\nPhabricator will run any executables in this directory ". ./src/applications/repository/engine/PhabricatorRepositoryPullEngine.php:788: 'pretxnchangegroup.phabricator = TERM=dumb %s %s %s', ./src/applications/repository/engine/PhabricatorRepositoryPullEngine.php:795: 'prepushkey.phabricator = TERM=dumb %s %s %s', ./src/applications/repository/xaction/PhabricatorRepositoryVCSTransaction.php:51: 'recognized by Phabricator. Valid systems are: %s.', ./src/applications/oauthserver/panel/PhabricatorOAuthServerAuthorizationsSettingsPanel.php:71: 'This application will no longer be able to access Phabricator '. ./src/applications/oauthserver/controller/PhabricatorOAuthServerAuthController.php:212: 'This application ("%s") is authorized to use your Phabricator '. ./src/applications/oauthserver/controller/PhabricatorOAuthServerAuthController.php:251: 'access your Phabricator account data, including your primary '. ./src/applications/oauthserver/controller/PhabricatorOAuthServerAuthController.php:274: 'version of Phabricator, or may be from a future version of '. ./src/applications/oauthserver/controller/PhabricatorOAuthServerAuthController.php:275: 'Phabricator. They will not be granted.')); ./src/applications/oauthserver/controller/client/PhabricatorOAuthClientSecretController.php:47: $is_serious = PhabricatorEnv::getEnvConfig('phabricator.serious-business'); ./src/applications/oauthserver/controller/client/PhabricatorOAuthClientDisableController.php:46: 'able to authenticate against it, nor access Phabricator using '. ./src/applications/oauthserver/application/PhabricatorOAuthServerApplication.php:40: 'name' => pht('Using the Phabricator OAuth Server'), ./src/applications/oauthserver/application/PhabricatorOAuthServerApplication.php:42: 'Using the Phabricator OAuth Server'), ./src/applications/owners/query/PhabricatorOwnersPackageSearchEngine.php:172: 'areas of Phabricator, like Herald rules.')) ./src/applications/project/menuitem/PhabricatorProjectReportsProfileMenuItem.php:28: if (!PhabricatorEnv::getEnvConfig('phabricator.show-prototypes')) { ./src/applications/project/__tests__/PhabricatorProjectCoreTestCase.php:66: 'phabricator.application-settings', ./src/applications/herald/controller/HeraldRuleController.php:111: 'view or edit it in this older version. Upgrade your Phabricator '. ./src/applications/herald/controller/HeraldWebhookViewController.php:54: if (PhabricatorEnv::getEnvConfig('phabricator.silent')) { ./src/applications/herald/controller/HeraldWebhookViewController.php:56: 'Phabricator is currently configured in silent mode, so it will not '. ./src/applications/herald/controller/HeraldWebhookViewController.php:58: '@{config:phabricator.silent} in Config.'); ./src/applications/herald/worker/HeraldWebhookWorker.php:37: if (PhabricatorEnv::getEnvConfig('phabricator.silent')) { ./src/applications/remarkup/conduit/RemarkupProcessConduitAPIMethod.php:14: return pht('Process text through remarkup in Phabricator context.'); ./src/applications/console/plugin/DarkConsoleEventPlugin.php:10: return pht('Information about Phabricator events and event listeners.'); ./src/applications/maniphest/config/PhabricatorManiphestConfigOptions.php:222:is configured with `phabricator.serious-business` set to true. ./src/applications/maniphest/constants/ManiphestTaskStatus.php:29: $is_serious = PhabricatorEnv::getEnvConfig('phabricator.serious-business'); ./src/applications/maniphest/constants/ManiphestTaskPriority.php:128: * Return the default priority for this instance of Phabricator. ./src/applications/slowvote/controller/PhabricatorSlowvotePollController.php:141: $is_serious = PhabricatorEnv::getEnvConfig('phabricator.serious-business'); ./src/applications/harbormaster/step/HarbormasterHTTPRequestBuildStepImplementation.php:47: if (PhabricatorEnv::getEnvConfig('phabricator.silent')) { ./src/applications/harbormaster/step/HarbormasterUploadArtifactBuildStepImplementation.php:11: return pht('Upload a file from a host to Phabricator.'); ./src/applications/harbormaster/step/HarbormasterCircleCIBuildStepImplementation.php:87: if (PhabricatorEnv::getEnvConfig('phabricator.silent')) { ./src/applications/harbormaster/step/HarbormasterBuildkiteBuildStepImplementation.php:75: if (PhabricatorEnv::getEnvConfig('phabricator.silent')) { ./src/applications/harbormaster/step/HarbormasterBuildkiteBuildStepImplementation.php:111: 'phabricator:build:id' => (int)$build->getID(), ./src/applications/harbormaster/step/HarbormasterBuildkiteBuildStepImplementation.php:112: 'phabricator:build:url' => ./src/applications/harbormaster/step/HarbormasterBuildkiteBuildStepImplementation.php:114: 'phabricator:buildable:id' => (int)$buildable->getID(), ./src/applications/harbormaster/step/HarbormasterBuildkiteBuildStepImplementation.php:115: 'phabricator:buildable:url' => ./src/applications/harbormaster/step/HarbormasterBuildStepImplementation.php:327: 'Declining to make service call because `phabricator.silent` is '. ./src/applications/harbormaster/customfield/HarbormasterBuildStepCoreCustomField.php:33: 'external system, you may want to have Phabricator wait for that '. ./src/applications/harbormaster/artifact/HarbormasterFileArtifact.php:14: 'Phabricator.'); ./src/applications/harbormaster/stepgroup/HarbormasterPrototypeBuildStepGroup.php:17: return PhabricatorEnv::getEnvConfig('phabricator.show-prototypes'); ./src/applications/legalpad/controller/LegalpadDocumentSignController.php:210: // document to use Phabricator; in that case try really hard to ./src/applications/legalpad/controller/LegalpadDocumentSignController.php:268: // Phabricator and they haven't signed it, don't show the "Manage" button, ./src/applications/legalpad/controller/LegalpadDocumentSignController.php:684: "in Phabricator:\n\n". ./src/applications/legalpad/query/LegalpadDocumentSearchEngine.php:189: 'other areas of Phabricator, like CLAs.')) ./src/applications/legalpad/editor/LegalpadDocumentEditor.php:104: 'require signing to use Phabricator.'), ./src/applications/uiexample/examples/PHUIBadgeExample.php:59: ->setHeader(pht('Phabricator User')) ./src/applications/uiexample/examples/PhabricatorProjectBuiltinsExample.php:10: return pht('Builtin Project Images that ship with Phabricator.'); ./src/applications/feed/worker/FeedPublisherHTTPWorker.php:6: if (PhabricatorEnv::getEnvConfig('phabricator.silent')) { ./src/applications/feed/config/PhabricatorFeedConfigOptions.php:27:in a future version of Phabricator. ./src/applications/phame/storage/PhameBlog.php:112: * to point at this Phabricator instance. If there is an error in ./src/applications/phame/storage/PhameBlog.php:157: 'For custom domains to work, this Phabricator instance must be '. ./src/applications/phame/site/PhameSite.php:6: $base_uri = PhabricatorEnv::getEnvConfig('phabricator.base-uri'); ./src/applications/files/controller/PhabricatorFileDataController.php:23: $base_uri = PhabricatorEnv::getEnvConfig('phabricator.base-uri'); ./src/applications/files/controller/PhabricatorFileDataController.php:104: // Phabricator in this mode are knowingly accepting a security risk ./src/applications/files/controller/PhabricatorFileUploadController.php:49: 'desktop onto this page or the Phabricator home page.'))); ./src/applications/files/PhabricatorImageTransformer.php:20: * Phabricator can not encode images in the given format (based on available ./src/applications/files/config/PhabricatorFilesConfigOptions.php:184: "Phabricator provides a local disk storage engine, which just ". ./src/applications/files/markup/PhabricatorEmbedFileRemarkupRule.php:8: const KEY_EMBED_FILE_PHIDS = 'phabricator.embedded-file-phids'; ./src/applications/phurl/storage/PhabricatorPhurlURL.php:110: $domain = PhabricatorEnv::getEnvConfig('phabricator.base-uri'); ./src/applications/people/controller/PhabricatorPeopleApproveController.php:55: 'Allow %s to access this Phabricator install?', ./src/applications/people/controller/PhabricatorPeopleNewController.php:205: 'Although bots do not normally receive email from Phabricator, '. ./src/applications/people/controller/PhabricatorPeopleNewController.php:213: " - If you send email //to// Phabricator on behalf of the ". ./src/applications/people/controller/PhabricatorPeopleInviteSendController.php:80: '%s has invited you to join Phabricator.', ./src/applications/people/controller/PhabricatorPeopleInviteSendController.php:177: 'To invite users to Phabricator, enter their email addresses below. '. ./src/applications/people/controller/PhabricatorPeopleEmpowerController.php:47: 'perform administrative functions on this Phabricator install.', ./src/applications/people/controller/PhabricatorPeopleEmpowerController.php:56: 'perform other administrative functions on this Phabricator install.', ./src/applications/people/controller/PhabricatorPeopleDisableController.php:93: 'Disable %s? They will no longer be able to access Phabricator or '. ./src/applications/people/controller/PhabricatorPeopleDisableController.php:103: 'Enable %s? They will be able to access Phabricator and receive '. ./src/applications/people/controller/PhabricatorPeopleCreateController.php:27: 'Create a standard user account. These users can log in to Phabricator, '. ./src/applications/people/storage/PhabricatorUserEmail.php:194: $is_serious = PhabricatorEnv::getEnvConfig('phabricator.serious-business'); ./src/applications/people/storage/PhabricatorUserEmail.php:245: 'Going forward, Phabricator will send all email to your new primary '. ./src/applications/people/storage/PhabricatorUserEmail.php:279: 'Phabricator will send all email here.', ./src/applications/people/markup/PhabricatorMentionRemarkupRule.php:8: const KEY_MENTIONED = 'phabricator.mentioned-user-phids'; ./src/applications/people/xaction/PhabricatorUserApproveTransaction.php:25: 'Phabricator Account "%s" Approved', ./src/applications/people/xaction/PhabricatorUserApproveTransaction.php:31: 'Your Phabricator account (%s) has been approved by %s. You can '. ./src/applications/people/mail/PhabricatorPeopleWelcomeMailEngine.php:63: $message[] = pht('Welcome to Phabricator!'); ./src/applications/people/mail/PhabricatorPeopleWelcomeMailEngine.php:83: 'To log in to Phabricator, follow this link and set a password:'); ./src/applications/people/mail/PhabricatorPeopleWelcomeMailEngine.php:86: 'After you have set a password, you can log in to Phabricator in '. ./src/applications/people/mail/PhabricatorPeopleWelcomeMailEngine.php:94: 'After you set up your account, you can log in to Phabricator in '. ./src/applications/people/mail/PhabricatorPeopleWelcomeMailEngine.php:126: $is_serious = PhabricatorEnv::getEnvConfig('phabricator.serious-business'); ./src/applications/people/mail/PhabricatorPeopleEmailLoginMailEngine.php:49: $is_serious = PhabricatorEnv::getEnvConfig('phabricator.serious-business'); ./src/applications/people/mail/PhabricatorPeopleEmailLoginMailEngine.php:75: "You can use this link to reset your Phabricator password:". ./src/applications/people/mail/PhabricatorPeopleEmailLoginMailEngine.php:87: "Best Wishes,\nPhabricator\n", ./src/applications/people/mail/PhabricatorPeopleEmailLoginMailEngine.php:93: "You can use this login link to regain access to your Phabricator ". ./src/applications/people/mail/PhabricatorPeopleUsernameMailEngine.php:43: '%s (%s) has changed your Phabricator username.', ./src/applications/search/fulltextstorage/PhabricatorFulltextStorageEngine.php:4: * Base class for Phabricator search engine providers. Each engine must offer ./src/applications/search/controller/PhabricatorApplicationSearchController.php:893: $is_dev = PhabricatorEnv::getEnvConfig('phabricator.developer-mode'); ./src/applications/metamta/storage/PhabricatorMetaMTAReceivedMail.php:266: 'associated with a Phabricator account. To interact with '. ./src/applications/metamta/storage/PhabricatorMetaMTAReceivedMail.php:267: 'Phabricator via email, add this address to your account.', ./src/applications/metamta/storage/PhabricatorMetaMTAReceivedMail.php:273: 'Phabricator can not process this mail because no application '. ./src/applications/metamta/storage/PhabricatorMetaMTAReceivedMail.php:358: * If Phabricator sent the mail, always drop it immediately. This prevents ./src/applications/metamta/storage/PhabricatorMetaMTAReceivedMail.php:423: // Only send an error email if the user is talking to just Phabricator. ./src/applications/metamta/storage/PhabricatorMetaMTAReceivedMail.php:439: 'Phabricator can not do anything useful with it. Make sure comment '. ./src/applications/metamta/storage/PhabricatorMetaMTAReceivedMail.php:487:Your email to Phabricator was not processed, because an error occurred while ./src/applications/metamta/storage/PhabricatorMetaMTAReceivedMail.php:566: 'Phabricator over email.', ./src/applications/metamta/storage/PhabricatorMetaMTAReceivedMail.php:572: 'interact with Phabricator over email until your account is '. ./src/applications/metamta/storage/PhabricatorMetaMTAReceivedMail.php:580: 'with Phabricator over email.', ./src/applications/metamta/storage/PhabricatorMetaMTAMail.php:1078: // Older versions of Phabricator did not filter headers, and thus did ./src/applications/metamta/management/PhabricatorMailManagementListOutboundWorkflow.php:9: ->setSynopsis(pht('List outbound messages sent by Phabricator.')) ./src/applications/metamta/management/PhabricatorMailManagementListInboundWorkflow.php:9: ->setSynopsis(pht('List inbound messages received by Phabricator.')) ./src/applications/metamta/query/PhabricatorMetaMTAActor.php:146: 'mail from Phabricator).'), ./src/applications/metamta/util/PhabricatorMailUtil.php:9: * Phabricator can be configured to prepend a prefix to all reply addresses, ./src/applications/metamta/receiver/PhabricatorObjectMailReceiver.php:75: '("%s"), but public replies are not enabled on this Phabricator '. ./src/applications/metamta/engine/PhabricatorMailEmailEngine.php:166: if (PhabricatorEnv::getEnvConfig('phabricator.silent')) { ./src/applications/metamta/engine/PhabricatorMailEmailEngine.php:169: 'Phabricator is running in silent mode. See `%s` '. ./src/applications/metamta/engine/PhabricatorMailEmailEngine.php:171: 'phabricator.silent')); ./src/applications/metamta/constants/MetaMTAReceivedMailStatus.php:24: self::STATUS_FROM_PHABRICATOR => pht('Phabricator Mail'), ./src/applications/metamta/applicationpanel/PhabricatorMetaMTAApplicationEmailPanel.php:267: 'internet to create objects in Phabricator by sending email to '. ./src/docs/book/flavor.book:3: "title": "Phabricator Flavor Text", ./src/docs/book/flavor.book:8: "https://secure.phabricator.com/diffusion/P/browse/master/%f$%l", ./src/docs/book/flavor.book:30: "name": "Phabricator Lore" ./src/docs/book/contributor.book:3: "title": "Phabricator Contributor Documentation", ./src/docs/book/contributor.book:4: "short": "Phabricator Contributor Docs", ./src/docs/book/contributor.book:5: "preface": "Information for Phabricator contributors and developers.", ./src/docs/book/contributor.book:8: "https://secure.phabricator.com/diffusion/P/browse/master/%f$%l", ./src/docs/book/user.book:3: "title": "Phabricator User Documentation", ./src/docs/book/user.book:4: "short": "Phabricator User Docs", ./src/docs/book/user.book:5: "preface": "Instructions for installing, configuring, and using Phabricator.", ./src/docs/book/user.book:8: "https://secure.phabricator.com/diffusion/P/browse/master/%f$%l", ./src/docs/book/phabricator.book:3: "title": "Phabricator Technical Documentation", ./src/docs/book/phabricator.book:4: "short": "Phabricator Tech Docs", ./src/docs/book/phabricator.book:5: "preface": "Technical reference material for Phabricator developers.", ./src/docs/book/phabricator.book:8: "https://secure.phabricator.com/diffusion/P/browse/master/%f$%l", ./src/docs/tech/handles.diviner:9:Most objects in Phabricator have PHIDs, which are globally unique identifiers ./src/docs/contributor/version.diviner:22:Phabricator Version ./src/docs/contributor/version.diviner:25:To get Phabricator version information: ./src/docs/contributor/version.diviner:55:If you've forked Phabricator and have local commits, please make sure you are ./src/docs/contributor/version.diviner:71:you to reproduce the issue against a clean copy of Phabricator before we ./src/docs/contributor/using_oauthserver.diviner:1:@title Using the Phabricator OAuth Server ./src/docs/contributor/using_oauthserver.diviner:4:How to use the Phabricator OAuth Server. ./src/docs/contributor/using_oauthserver.diviner:8:Phabricator includes an OAuth Server which supports the ./src/docs/contributor/using_oauthserver.diviner:15:Phabricator instance in a secure way with granular data access. ./src/docs/contributor/using_oauthserver.diviner:16:For example, Phabricator can be used as a central identity store for any ./src/docs/contributor/using_oauthserver.diviner:44:POST or GET `https://phabricator.example.com/oauthserver/auth/` with the ./src/docs/contributor/using_oauthserver.diviner:72:Phabricator domain if there is reason to believe there is something fishy ./src/docs/contributor/using_oauthserver.diviner:79:POST or GET `https://phabricator.example.com/oauthserver/token/` ./src/docs/contributor/using_oauthserver.diviner:104:```https://phabricator.example.com/api/user.whoami?access_token=ykc7ly7vtibj334oga4fnfbuvnwz4ocp``` ./src/docs/contributor/developer_setup.diviner:4:How to configure a Phabricator development environment. ./src/docs/contributor/developer_setup.diviner:10:or debugging Phabricator. ./src/docs/contributor/developer_setup.diviner:16:To adjust Phabricator for development: ./src/docs/contributor/developer_setup.diviner:18: - Enable `phabricator.developer-mode` to enable some options and show ./src/docs/contributor/developer_setup.diviner:20: - Enable `phabricator.show-prototypes` to show all the incomplete ./src/docs/contributor/developer_setup.diviner:54:Until you do this, Phabricator won't recognize your new, moved, or renamed ./src/docs/contributor/developer_setup.diviner:94:Phabricator routes all requests based on host headers, so alternate domains ./src/docs/contributor/n_plus_one.diviner:42:server-side generation cost for most Phabricator pages should be. ./src/docs/contributor/javascript_coding_standards.diviner:4:This document describes Javascript coding standards for Phabricator and Javelin. ./src/docs/contributor/javascript_coding_standards.diviner:9:Phabricator and Javelin. Contributors should also follow these guidelines. Many ./src/docs/contributor/bug_reports.diviner:4:Effective June 1, 2021: Phabricator is no longer actively maintained and no longer accepts bug reports. ./src/docs/contributor/cla.diviner:68:While we do not currently plan to relicense Phabricator, we do not want to ./src/docs/contributor/cla.diviner:84:to relicense Phabricator under a closed, proprietary, or literally evil license. ./src/docs/contributor/cla.diviner:87:do not contribute to Phabricator. ./src/docs/contributor/cla.diviner:107:to Phabricator is that we publish and maintain their changes so they do not ./src/docs/contributor/reproduction_steps.diviner:9:When you submit a bug report about Phabricator, you **MUST** include ./src/docs/contributor/reproduction_steps.diviner:18: clean, up-to-date install of Phabricator. ./src/docs/contributor/reproduction_steps.diviner:73:reproduce the problem locally on an up-to-date install of Phabricator. We will ./src/docs/contributor/reproduction_steps.diviner:83:**anyone** to reproduce the issue on a new, empty install of Phabricator. If ./src/docs/contributor/reproduction_steps.diviner:104:of Phabricator. ./src/docs/contributor/reproduction_steps.diviner:138:Phabricator on Phacility in about a minute at . ./src/docs/contributor/reproduction_steps.diviner:147:`secure.phabricator.com` which you can push commits to if you need to build ./src/docs/contributor/reproduction_steps.diviner:244:[[ https://secure.phabricator.com/w/consulting/ | Consulting ]] for details. ./src/docs/contributor/using_edges.diviner:10:framework, Phabricator Edges are substantially similar. ./src/docs/contributor/css_coding_standards.diviner:4:This document describes CSS features and coding standards for Phabricator. ./src/docs/contributor/css_coding_standards.diviner:9:Phabricator. ./src/docs/contributor/css_coding_standards.diviner:11:Phabricator has a limited CSS preprocessor. This document describes the features ./src/docs/contributor/contrib_intro.diviner:4:Introduction to contributing to Phabricator and Arcanist. ./src/docs/contributor/contrib_intro.diviner:9:If you'd like to contribute to Phabricator, this document can guide you though ./src/docs/contributor/contrib_intro.diviner:22:contribute to Phabricator: ./src/docs/contributor/contrib_intro.diviner:28: - Recommend Phabricator to people who you think might find it useful. Our ./src/docs/contributor/contrib_intro.diviner:30: about Phabricator helps the project grow. If writing a tweet sounds like ./src/docs/contributor/contrib_intro.diviner:34:> Phabricator seems like it's pretty okay ./src/docs/contributor/contrib_intro.diviner:36:> I am not being paid to mention Phabricator in this extemporaneous, completely organic tweet ./src/docs/contributor/contrib_intro.diviner:38:> Phabricator is objectively the best thing. Source: I am a certified, internationally recognized expert. ./src/docs/contributor/running_builtin_php_webserver.diviner:6:not be used in production. Phabricator can be executed under it with the ./src/docs/contributor/unit_tests.diviner:4:Simple guide to Arcanist and Phabricator unit tests. ./src/docs/contributor/unit_tests.diviner:8:Arcanist and Phabricator provide and use a simple unit test framework. This ./src/docs/contributor/unit_tests.diviner:19:To add new tests to a Arcanist or Phabricator module: ./src/docs/contributor/unit_tests.diviner:23: @{class:PhabricatorTestCase} (in Phabricator) or ./src/docs/contributor/unit_tests.diviner:67:By default, Phabricator isolates unit tests from the database. It makes a crude ./src/docs/contributor/adding_new_classes.diviner:4:Guide to adding new classes to extend Phabricator. ./src/docs/contributor/adding_new_classes.diviner:9:Phabricator is highly modular, and many parts of it can be extended by adding ./src/docs/contributor/adding_new_classes.diviner:11:expand the behavior of Phabricator. ./src/docs/contributor/adding_new_classes.diviner:18:Phabricator primarily discovers functionality by looking at concrete subclasses ./src/docs/contributor/adding_new_classes.diviner:19:of some base class. For example, Phabricator determines which applications are ./src/docs/contributor/adding_new_classes.diviner:21:@{class@phabricator:PhabricatorApplication}. It ./src/docs/contributor/adding_new_classes.diviner:27:new classes with no other work. Phabricator will automatically discover and ./src/docs/contributor/adding_new_classes.diviner:45:The easiest way to extend Phabricator by adding new classes is to drop them ./src/docs/contributor/adding_new_classes.diviner:49:features, or get started on a larger project. Extending Phabricator like this ./src/docs/contributor/adding_new_classes.diviner:79:A more powerful (but more complicated) way to extend Phabricator is to create ./src/docs/contributor/adding_new_classes.diviner:88: - Configure Phabricator or Arcanist to load the library. ./src/docs/contributor/adding_new_classes.diviner:149:If you aren't using this library with Phabricator (e.g., you are only using it ./src/docs/contributor/adding_new_classes.diviner:153:But, if you intend to use this library with Phabricator, you need to define its ./src/docs/contributor/adding_new_classes.diviner:154:dependency on Phabricator by creating a `.arcconfig` file which points at ./src/docs/contributor/adding_new_classes.diviner:155:Phabricator. For example, you might write this file to ./src/docs/contributor/adding_new_classes.diviner:168:tells `arc liberate` that it should look for symbols in Phabricator when ./src/docs/contributor/adding_new_classes.diviner:171:NOTE: If Phabricator isn't located next to your custom library, specify a ./src/docs/contributor/adding_new_classes.diviner:177:Finally, edit your Phabricator config to tell it to load your library at ./src/docs/contributor/adding_new_classes.diviner:188:Now, Phabricator will be able to load classes from your custom library. ./src/docs/contributor/adding_new_classes.diviner:209:Arcanist and Phabricator are strict about extensibility of classes and ./src/docs/contributor/adding_new_classes.diviner:218:When developing libraries to work with Arcanist and Phabricator, you should ./src/docs/contributor/adding_new_classes.diviner:222:Phabricator code, here are some approaches you may be able to take: ./src/docs/contributor/adding_new_classes.diviner:255: - visiting the [[ https://secure.phabricator.com/w/community_resources/ | ./src/docs/contributor/feature_requests.diviner:4:Effective June 1, 2021: Phabricator is no longer actively maintained, and there is no way to file a feature request. ./src/docs/contributor/database.diviner:10:Phabricator uses MySQL or another MySQL-compatible database (like MariaDB ./src/docs/contributor/database.diviner:13:Phabricator uses the InnoDB table engine. The only exception is the ./src/docs/contributor/database.diviner:24:Phabricator supports [[ http://www.php.net/book.mysql | MySQL ]] and ./src/docs/contributor/database.diviner:30:Each Phabricator application has its own database. The names are prefixed by ./src/docs/contributor/database.diviner:33:Phabricator uses a separate database for each application. To understand why, ./src/docs/contributor/database.diviner:34:see @{article:Why does Phabricator need so many databases?}. ./src/docs/contributor/database.diviner:39:Phabricator specifies if it will use any opened connection just for reading or ./src/docs/contributor/database.diviner:60:Phabricator uses `camelCase` names for columns. The main advantage is that they ./src/docs/contributor/database.diviner:68:Phabricator defines a set of abstract data types (like `uint32`, `epoch`, and ./src/docs/contributor/database.diviner:72:Phabricator uses `utf8mb4` character sets where available (MySQL 5.5 or newer), ./src/docs/contributor/database.diviner:78:Phabricator stores dates with an `epoch` abstract data type, which maps to ./src/docs/contributor/database.diviner:137:Each globally referencable object in Phabricator has an associated PHID ./src/docs/contributor/database.diviner:138:("Phabricator ID") which serves as a global identifier, similar to a GUID. ./src/docs/contributor/database.diviner:172:Phabricator uses schema denormalization sparingly. Avoid denormalization unless ./src/docs/contributor/phabricator_code_layout.diviner:1:@title Phabricator Code Layout ./src/docs/contributor/phabricator_code_layout.diviner:4:Guide to Phabricator code layout, including how URI mapping works through ./src/docs/contributor/phabricator_code_layout.diviner:9:When a user visits a Phabricator URI, the Phabricator infrastructure parses ./src/docs/contributor/phabricator_code_layout.diviner:12:The Phabricator infrastructure knows where a given controller class lives on ./src/docs/contributor/phabricator_code_layout.diviner:58:the basic set of class types from which most Phabricator applications are ./src/docs/contributor/adding_new_css_and_js.diviner:4:Explains how to add new CSS and JS files to Phabricator. ./src/docs/contributor/adding_new_css_and_js.diviner:8:Phabricator uses a system called **Celerity** to manage static resources. If you ./src/docs/contributor/adding_new_css_and_js.diviner:12:This document is intended for Phabricator developers and contributors. This ./src/docs/contributor/describing_problems.diviner:46:> Phabricator in my job as a developer. I'm having difficulty... ./src/docs/contributor/describing_problems.diviner:74:> feature. Phabricator should have that feature too. ./src/docs/contributor/assistive_technologies.diviner:4:Information about making Phabricator accessible to assistive technologies. ./src/docs/contributor/assistive_technologies.diviner:13:Phabricator has some support for assistive technologies, and we'd like to have ./src/docs/contributor/assistive_technologies.diviner:15:features to improve the accessibility of Phabricator. ./src/docs/contributor/assistive_technologies.diviner:75:make Phabricator render the page with styles that reveal aural-only elements and ./src/docs/contributor/php_coding_standards.diviner:4:This document describes PHP coding standards for Phabricator and related ./src/docs/contributor/php_coding_standards.diviner:10:Phabricator and Arcanist. Contributors should also follow these guidelines. ./src/docs/contributor/general_coding_standards.diviner:4:This document is a general coding standard for contributing to Phabricator, ./src/docs/contributor/general_coding_standards.diviner:63:In Phabricator, you can usually use the builtin XHProf profiling to quickly ./src/docs/contributor/internationalization.diviner:4:Describes Phabricator translation and localization. ./src/docs/contributor/internationalization.diviner:9:Phabricator partially supports internationalization, but many of the tools ./src/docs/contributor/internationalization.diviner:61:version of the text, if the viewer is using Phabricator in one of those ./src/docs/contributor/internationalization.diviner:278:string in the @{class@phabricator:PhabricatorUSEnglishTranslation} file: ./src/docs/contributor/rendering_html.diviner:4:Rendering HTML in the Phabricator environment. ./src/docs/contributor/rendering_html.diviner:8:Phabricator attempts to prevent XSS by treating strings as default-unsafe when ./src/docs/contributor/rendering_html.diviner:54:In Phabricator, the @{function:javelin_tag} function is similar to ./src/docs/contributor/rendering_html.diviner:120:Subclasses of @{class:AphrontView} in Phabricator should return a ./src/docs/contributor/contributing_code.diviner:4:Effective June 1, 2021: Phabricator is no longer actively maintained, and no longer accepting contributions. ./src/docs/user/installation_guide.diviner:4:This document contains basic install instructions to get Phabricator up and ./src/docs/user/installation_guide.diviner:10:Phabricator is a LAMP (Linux, Apache, MySQL, PHP) application. To install ./src/docs/user/installation_guide.diviner:11:Phabricator, you will need: ./src/docs/user/installation_guide.diviner:15: - a domain name (like `phabricator.mycompany.com`); ./src/docs/user/installation_guide.diviner:28: in EC2. Phabricator installs properly and works well on a normal computer. ./src/docs/user/installation_guide.diviner:34: Although you may be able to install Phabricator on specialized hardware, it ./src/docs/user/installation_guide.diviner:40: you should not install Phabricator on these devices. Instead, install it on ./src/docs/user/installation_guide.diviner:43:To install the Phabricator server software, you will need an **operating ./src/docs/user/installation_guide.diviner:46:Phabricator from any operating system with a web browser. However, the server ./src/docs/user/installation_guide.diviner:53: operating system possessed of many desirable qualities, and Phabricator will ./src/docs/user/installation_guide.diviner:67: - **PHP Builtin Server**: Phabricator will not work with the builtin ./src/docs/user/installation_guide.diviner:68: webserver because Phabricator depends on making requests to itself on some ./src/docs/user/installation_guide.diviner:79:NOTE: Phabricator must be installed on an entire domain. You can not install it ./src/docs/user/installation_guide.diviner:81:install it to an entire domain or subdomain, like `phabricator.example.com`. ./src/docs/user/installation_guide.diviner:86:To install and administrate Phabricator, you'll need to be comfortable with ./src/docs/user/installation_guide.diviner:98:We assume users installing and administrating Phabricator are comfortable with ./src/docs/user/installation_guide.diviner:110: [[ https://secure.phabricator.com/diffusion/P/browse/master/scripts/install/install_rhel-derivs.sh ./src/docs/user/installation_guide.diviner:113: [[ https://secure.phabricator.com/diffusion/P/browse/master/scripts/install/install_ubuntu.sh ./src/docs/user/installation_guide.diviner:134:Now that you have all that stuff installed, grab Phabricator and its ./src/docs/user/installation_guide.diviner:139: somewhere/ $ git clone https://github.com/phacility/phabricator.git ./src/docs/user/installation_guide.diviner:146: - configuring Phabricator with the @{article:Configuration Guide}; or ./src/docs/user/installation_guide.diviner:147: - learning how to keep Phabricator up to date with ./src/docs/user/introduction.diviner:4:This document provides a high-level overview of the Phabricator project. ./src/docs/user/introduction.diviner:6:= What is Phabricator? = ./src/docs/user/introduction.diviner:10:with teams. Phabricator is largely based on Facebook's internal tools. ./src/docs/user/introduction.diviner:12:The major components of Phabricator are: ./src/docs/user/introduction.diviner:19:Phabricator also includes a number of smaller tools. ./src/docs/user/introduction.diviner:21:= Why use Phabricator? = ./src/docs/user/introduction.diviner:23:Phabricator gives you a box of solid tools for a comparatively small setup cost. ./src/docs/user/introduction.diviner:25:and open source. You own all your data. Phabricator is extremely fast and proven ./src/docs/user/introduction.diviner:30:However, Phabricator may also not be a good solution for you: ./src/docs/user/introduction.diviner:43: - installing Phabricator with the @{article:Installation Guide}. ./src/docs/user/field/repository_imports.diviner:10:a hosted repository), Phabricator imports those commits in the background. ./src/docs/user/field/repository_imports.diviner:23:Phabricator first performs commit discovery on repositories. This examines ./src/docs/user/field/repository_imports.diviner:114:Phabricator. Collect as much information as you can about what makes the commit ./src/docs/user/field/repository_imports.diviner:135:(usually 0 or 1). The "Expires" column is showing how long Phabricator is ./src/docs/user/field/repository_imports.diviner:175:force Phabricator to re-queue the tasks to recover from it if it does occur. ./src/docs/user/field/repository_imports.diviner:190:second task to perform publishing, which could cause Phabricator to send a ./src/docs/user/field/xhprof.diviner:10:performance in Phabricator. ./src/docs/user/field/xhprof.diviner:63:You can then upload this file to Phabricator (using `arc upload` may be easiest) ./src/docs/user/field/repository_hints.diviner:20: you can provide hints so that Phabricator doesn't try to read them. ./src/docs/user/field/repository_hints.diviner:79:Phabricator won't treat commits without any hint specially. ./src/docs/user/field/repository_hints.diviner:107:Phabricator will show users that the commit was rewritten in the web UI. ./src/docs/user/field/repository_hints.diviner:113:The `"unreadable"` hint allows you to tell Phabricator that it should not ./src/docs/user/field/repository_hints.diviner:133:Phabricator won't try to read, parse, import, or display the changes associated ./src/docs/user/field/permanently_destroying_data.diviner:9:Phabricator intentionally makes it difficult to permanently destroy data, but ./src/docs/user/field/permanently_destroying_data.diviner:39:In almost all cases, Phabricator requires operational access from the CLI to ./src/docs/user/field/permanently_destroying_data.diviner:59:No Phabricator command can rewind time, and once data is written to Phabricator ./src/docs/user/field/permanently_destroying_data.diviner:61:systems which Phabricator can not interact with via email, webhooks, API calls, ./src/docs/user/field/permanently_destroying_data.diviner:69:**Revoking Credentials**: If Phabricator credentials were accidentally ./src/docs/user/field/permanently_destroying_data.diviner:78:leaking in the first place. Phabricator supports some technical measures that ./src/docs/user/field/darkconsole.diviner:9:DarkConsole is a debugging console built into Phabricator which exposes ./src/docs/user/field/conduit_changes.diviner:28: Phabricator and callers should cease using it. ./src/docs/user/field/performance.diviner:26:resolve. The intent is for Phabricator to perform well in all reasonable cases, ./src/docs/user/field/performance.diviner:31:However, some pages are slow because Phabricator legitimately needs to do a lot ./src/docs/user/field/performance.diviner:33:Phabricator will need substantial time to process it, it will take a long time ./src/docs/user/field/performance.diviner:37:We may be able to improve performance in some cases, but Phabricator is not ./src/docs/user/field/restarting.diviner:5:changes in Phabricator. ./src/docs/user/field/worker_queue.diviner:9:Phabricator uses daemonized worker processes to execute some tasks (like ./src/docs/user/field/worker_queue.diviner:19:Tasks queued by Phabricator use these default priority levels: ./src/docs/user/field/worker_queue.diviner:36:Phabricator would never naturally queue tasks at that level. For example, you ./src/docs/user/field/worker_queue.diviner:51:Although Phabricator will automatically process imports of new repositories at ./src/docs/user/field/exit_codes.diviner:4:Explains the use of exit codes in Phabricator command line scripts. ./src/docs/user/field/exit_codes.diviner:24:With rare exception, Phabricator uses //all other codes// to signal ./src/docs/user/field/exit_codes.diviner:41:operate a Phabricator cluster at larger scales. It makes it slightly harder to ./src/docs/user/field/exit_codes.diviner:59:In particular, we manage a Phabricator cluster (Phacility) and believe that ./src/docs/user/field/exit_codes.diviner:63:on top of Phabricator management scripts. ./src/docs/user/field/exit_codes.diviner:231:for it. However, we operate a large production cluster of Phabricator instances ./src/docs/user/field/exit_codes.diviner:237:If you just want to write `bash` scripts on top of Phabricator scripts and you ./src/docs/user/cluster/cluster.diviner:4:Guide to configuring Phabricator across multiple hosts for availability and ./src/docs/user/cluster/cluster.diviner:15:Phabricator can be configured to run on multiple hosts with redundant services ./src/docs/user/cluster/cluster.diviner:23:Each Phabricator service has an array of clustering options that can be ./src/docs/user/cluster/cluster.diviner:58:To begin deploying Phabricator in cluster mode, set up `cluster.addresses` ./src/docs/user/cluster/cluster.diviner:68:dedicated Phabricator VPC, whitelist the whole VPC as a Phabricator cluster, ./src/docs/user/cluster/cluster.diviner:69:and then deploy only Phabricator services into that VPC. ./src/docs/user/cluster/cluster.diviner:87:**Trusted HTTP Headers**: Normally, Phabricator distrusts the load balancer ./src/docs/user/cluster/cluster.diviner:137:Configuring replicas allows Phabricator to run in read-only mode if you lose ./src/docs/user/cluster/cluster.diviner:150:on Phabricator, but less important if you host repositories elsewhere ./src/docs/user/cluster/cluster.diviner:246:By default, Phabricator uses MySQL as a fulltext search engine, so deploying ./src/docs/user/cluster/cluster.diviner:260:services work well together. Phabricator clusters usually do not need to be ./src/docs/user/cluster/cluster_ssh.diviner:4:Configuring Phabricator to use multiple SSH servers. ./src/docs/user/cluster/cluster_ssh.diviner:9:You can run Phabricator on multiple SSH servers. The advantages of doing this ./src/docs/user/cluster/cluster_ssh.diviner:27:First, deploy the Phabricator software and configuration to a host, then ./src/docs/user/cluster/cluster_ssh.diviner:34:Phabricator SSH servers are stateless, so you can pull them in and out of ./src/docs/user/cluster/cluster_daemons.diviner:4:Configuring Phabricator to use multiple daemon hosts. ./src/docs/user/cluster/cluster_daemons.diviner:41:to run any services (like HTTP or SSH). Simply deploy the Phabricator software ./src/docs/user/cluster/cluster_databases.diviner:4:Configuring Phabricator to use multiple database hosts. ./src/docs/user/cluster/cluster_databases.diviner:9:You can deploy Phabricator with multiple database hosts, configured as a master ./src/docs/user/cluster/cluster_databases.diviner:18:If you lose the master, Phabricator can degrade automatically into read-only ./src/docs/user/cluster/cluster_databases.diviner:22:Phabricator will not currently send read traffic to replicas unless the master ./src/docs/user/cluster/cluster_databases.diviner:24:from the master. Future versions of Phabricator are expected to be able to ./src/docs/user/cluster/cluster_databases.diviner:27:Phabricator can not currently be configured into a multi-master mode, nor can ./src/docs/user/cluster/cluster_databases.diviner:32:Phabricator applications //can// be partitioned across multiple database ./src/docs/user/cluster/cluster_databases.diviner:35:Phabricator. For details, see ./src/docs/user/cluster/cluster_databases.diviner:47:deploying it in production: Phabricator layers on top of it, and does not ./src/docs/user/cluster/cluster_databases.diviner:50:Some useful notes for configuring replication for Phabricator: ./src/docs/user/cluster/cluster_databases.diviner:52:**Binlog Format**: Phabricator issues some queries which MySQL will detect as ./src/docs/user/cluster/cluster_databases.diviner:61:**Copying Data to Replicas**: Phabricator currently uses a mixture of MyISAM ./src/docs/user/cluster/cluster_databases.diviner:67:consistent dump is to leave Phabricator running but configured in read-only ./src/docs/user/cluster/cluster_databases.diviner:72: web UI should now show that Phabricator is in "Read Only" mode. ./src/docs/user/cluster/cluster_databases.diviner:84:Once you have a working replica, continue below to tell Phabricator about it. ./src/docs/user/cluster/cluster_databases.diviner:90:Once your replicas are in working order, tell Phabricator about them by ./src/docs/user/cluster/cluster_databases.diviner:92:the command line or in configuration files because Phabricator needs to read ./src/docs/user/cluster/cluster_databases.diviner:108: - `disabled`: //Optional bool.// If set to `true`, Phabricator will not ./src/docs/user/cluster/cluster_databases.diviner:116:Once you've configured this option, restart Phabricator for the changes to take ./src/docs/user/cluster/cluster_databases.diviner:134:**Connection**: Phabricator tries to connect to each configured database, then ./src/docs/user/cluster/cluster_databases.diviner:144:To report this status, the user Phabricator is connecting as must have the ./src/docs/user/cluster/cluster_databases.diviner:166:Phabricator will attempt to prevent clients from seeing out-of-date views, but ./src/docs/user/cluster/cluster_databases.diviner:171:server. After several checks in a row fail, Phabricator will mark the server ./src/docs/user/cluster/cluster_databases.diviner:192:If things have been set up properly, Phabricator should degrade to a temporary ./src/docs/user/cluster/cluster_databases.diviner:205:configuration. This will put Phabricator into read-only mode immediately ./src/docs/user/cluster/cluster_databases.diviner:214:when, why, and how Phabricator degrades. ./src/docs/user/cluster/cluster_databases.diviner:224:Phabricator will degrade to read-only mode when any of these conditions occur: ./src/docs/user/cluster/cluster_databases.diviner:231:When Phabricator is running in read-only mode, users can still read data and ./src/docs/user/cluster/cluster_databases.diviner:242: - to permanently archive a Phabricator install. ./src/docs/user/cluster/cluster_databases.diviner:249:If Phabricator is unable to reach the master database, it will degrade into ./src/docs/user/cluster/cluster_databases.diviner:261:If you lose access to the master database, Phabricator will degrade into ./src/docs/user/cluster/cluster_databases.diviner:266:Phabricator will return to full working order after a few moments. ./src/docs/user/cluster/cluster_databases.diviner:298:This section describes how Phabricator determines that a master has been lost, ./src/docs/user/cluster/cluster_databases.diviner:301:Phabricator degrades into read-only mode automatically in two ways: very ./src/docs/user/cluster/cluster_databases.diviner:306:to, Phabricator will temporarily degrade into read-only mode for the remainder ./src/docs/user/cluster/cluster_databases.diviner:307:of that request. The alternative is to fail abruptly, but Phabricator can ./src/docs/user/cluster/cluster_databases.diviner:317:disruption. If the anomaly is temporary, Phabricator should recover immediately ./src/docs/user/cluster/cluster_databases.diviner:324:The second way Phabricator degrades is by running periodic health checks ./src/docs/user/cluster/cluster_databases.diviner:329:If a database fails several health checks in a row, Phabricator will mark it as ./src/docs/user/cluster/cluster_databases.diviner:339:before Phabricator marks the database as healthy or unhealthy, so it will ./src/docs/user/cluster/cluster_databases.diviner:343:If all of the recent checks fail, Phabricator will mark the database as ./src/docs/user/cluster/cluster_databases.diviner:345:was marked as unhealthy, Phabricator will actively degrade into read-only mode ./src/docs/user/cluster/cluster_databases.diviner:353:Once all of the recent checks succeed, Phabricator will mark the database as ./src/docs/user/cluster/cluster_databases.diviner:400:not add it to the `cluster.databases` configuration: Phabricator should never ./src/docs/user/cluster/cluster_devices.diviner:9:This document describes a step in configuring Phabricator to run on ./src/docs/user/cluster/cluster_devices.diviner:41:The tool Phabricator uses to manage cluster devices is the **Almanac** ./src/docs/user/cluster/cluster_devices.diviner:55: - Install Phabricator on the host. ./src/docs/user/cluster/cluster_devices.diviner:79:experience with Phabricator clustering. ./src/docs/user/cluster/cluster_devices.diviner:90:For each host you plan to make part of a Phabricator cluster, go to the ./src/docs/user/cluster/cluster_devices.diviner:94:Add **interfaces** to each device record so Phabricator can tell how to ./src/docs/user/cluster/cluster_devices.diviner:110:Phabricator `sshd` that you connect to to clone and push repositories. ./src/docs/user/cluster/cluster_devices.diviner:112:You should specify the Phabricator `sshd` port, **not** the standard `sshd` ./src/docs/user/cluster/cluster_devices.diviner:165:If you haven't already, install Phabricator on each device you plan to enroll ./src/docs/user/cluster/cluster_devices.diviner:168:Phabricator `sshd` on these hosts. ./src/docs/user/cluster/cluster_devices.diviner:171:Phabricator. ./src/docs/user/cluster/cluster_devices.diviner:176:Once Phabricator is installed, you can enroll the devices in the cluster by ./src/docs/user/cluster/cluster_search.diviner:7:You can configure Phabricator to connect to one or more fulltext search ./src/docs/user/cluster/cluster_search.diviner:10:By default, Phabricator will use MySQL for fulltext search. This is suitable ./src/docs/user/cluster/cluster_search.diviner:36:When a user makes a change to a document, Phabricator writes the updated ./src/docs/user/cluster/cluster_search.diviner:39:When a user issues a query, Phabricator tries configured, readable services ./src/docs/user/cluster/cluster_search.diviner:169: - Phabricator is using an Elasticsearch 2 service as its primary fulltext ./src/docs/user/cluster/cluster_webservers.diviner:4:Configuring Phabricator to use multiple web servers. ./src/docs/user/cluster/cluster_webservers.diviner:9:You can run Phabricator on multiple web servers. The advantages of doing this ./src/docs/user/cluster/cluster_webservers.diviner:25:First, deploy the Phabricator software and configuration to a host, then ./src/docs/user/cluster/cluster_webservers.diviner:32:Phabricator web servers are stateless, so you can pull them in and out of ./src/docs/user/cluster/cluster_partitioning.diviner:4:Guide to partitioning Phabricator applications across multiple database hosts. ./src/docs/user/cluster/cluster_partitioning.diviner:21:it. Phabricator will normally run comfortably with a single database master ./src/docs/user/cluster/cluster_partitioning.diviner:44:When you partition Phabricator, you move all of the data for one or more ./src/docs/user/cluster/cluster_partitioning.diviner:46:because Phabricator stores data for each application in its own logical ./src/docs/user/cluster/cluster_partitioning.diviner:157: new "default". This will let Phabricator interact with it, but won't send ./src/docs/user/cluster/cluster_partitioning.diviner:166: - Reconfigure the "partition" setup so that Phabricator knows the databases ./src/docs/user/cluster/cluster_partitioning.diviner:181:If you have multiple masters, Phabricator keeps the entire set of schemata up ./src/docs/user/cluster/cluster_partitioning.diviner:200:Phabricator does not perform joins across logical databases, so there are no ./src/docs/user/cluster/cluster_partitioning.diviner:215:With persistent connections enabled, Phabricator will keep a pool of database ./src/docs/user/cluster/cluster_partitioning.diviner:227:MySQL `max_connections` setting: although Phabricator will make far fewer ./src/docs/user/cluster/cluster_notifications.diviner:4:Configuring Phabricator to use multiple notification servers. ./src/docs/user/cluster/cluster_notifications.diviner:32:Generally, Phabricator works fine without notifications configured at all, so ./src/docs/user/cluster/cluster_repositories.diviner:4:Configuring Phabricator to use multiple repository hosts. ./src/docs/user/cluster/cluster_repositories.diviner:9:If you use Git, you can deploy Phabricator with multiple repository hosts, ./src/docs/user/cluster/cluster_repositories.diviner:25:Phabricator repository replicas are multi-master: every node is readable and ./src/docs/user/cluster/cluster_repositories.diviner:29:Phabricator maintains an internal version for each repository, and increments ./src/docs/user/cluster/cluster_repositories.diviner:80:Repository hosts must run a complete, fully configured copy of Phabricator, ./src/docs/user/cluster/cluster_repositories.diviner:126: - Create a new service of type **Phabricator Cluster: Repository** in ./src/docs/user/cluster/cluster_repositories.diviner:173:This command only changes how Phabricator connects to the repository; it does ./src/docs/user/cluster/cluster_repositories.diviner:176:When Phabricator needs information about a non-clustered repository, it just ./src/docs/user/cluster/cluster_repositories.diviner:177:runs a command like `git log` directly on disk. When Phabricator needs ./src/docs/user/cluster/cluster_repositories.diviner:216:As soon as you add active bindings to a service, Phabricator will begin ./src/docs/user/cluster/cluster_repositories.diviner:218:need to copy any repository data to the device: Phabricator will automatically ./src/docs/user/cluster/cluster_repositories.diviner:300:**Version**: When a repository is mutated by a push, Phabricator increases ./src/docs/user/cluster/cluster_repositories.diviner:338:Phabricator can detect these issues, and responds by freezing the repository ./src/docs/user/cluster/cluster_repositories.diviner:360:Phabricator can not commit changes to a working copy (stored on disk) and to ./src/docs/user/cluster/cluster_repositories.diviner:366:In these cases, Phabricator fails into a frozen state where further writes ./src/docs/user/cluster/cluster_repositories.diviner:414:repository have been lost. Phabricator will freeze the repository refuse to ./src/docs/user/cluster/cluster_repositories.diviner:477:bound to multiple active devices. In this case, Phabricator will not know which ./src/docs/user/cluster/cluster_repositories.diviner:480:When Phabricator can not tell which device in a cluster is a leader, it freezes ./src/docs/user/cluster/cluster_repositories.diviner:485:To resolve this, you need to tell Phabricator which device has the most ./src/docs/user/cluster/cluster_repositories.diviner:517:Phabricator push log or the Git reflog so it is less important to retain ./src/docs/user/cluster/cluster_repositories.diviner:546:won't prevent users or Phabricator itself from performing writes to the same ./src/docs/user/cluster/cluster_repositories.diviner:547:working copy at the same time. Phabricator does not compromise the lower-level ./src/docs/user/support.diviner:5:Effective June 1, 2021: Phabricator is no longer actively supported. ./src/docs/user/upgrading.diviner:4:This document contains instructions for keeping Phabricator up to date. ./src/docs/user/upgrading.diviner:9:Phabricator is under active development, and new features are released ./src/docs/user/upgrading.diviner:21:We release a weekly [[https://secure.phabricator.com/w/changelog | Changelog]], ./src/docs/user/upgrading.diviner:30:You can either run the `master` or `stable` branch of Phabricator. The `stable` ./src/docs/user/upgrading.diviner:53:IMPORTANT: You **MUST** restart Phabricator after upgrading. For help, see ./src/docs/user/upgrading.diviner:58:Phabricator runs on many different systems, with many different webservers. ./src/docs/user/upgrading.diviner:72:This template script roughly outlines the steps required to upgrade Phabricator. ./src/docs/user/upgrading.diviner:81:# This is an example script for updating Phabricator, similar to the one used to ./src/docs/user/upgrading.diviner:82:# update . It might not work perfectly on your ./src/docs/user/reporting_security.diviner:4:Describes how to report security vulnerabilities in Phabricator. ./src/docs/user/reporting_security.diviner:9:Phabricator runs a disclosure and award program through ./src/docs/user/reporting_security.diviner:36:[[ https://secure.phabricator.com/w/changelog/ | Changelog ]]. ./src/docs/user/userguide/forms.diviner:4:Guide to prefilling and customizing forms in Phabricator applications. ./src/docs/user/userguide/forms.diviner:197:When a user visits the application, Phabricator finds all the form ./src/docs/user/userguide/forms.diviner:204:If there is only one such form, Phabricator renders a single "Create" button. ./src/docs/user/userguide/forms.diviner:207:If there are several such forms, Phabricator renders a dropdown which allows ./src/docs/user/userguide/forms.diviner:449: - regardless of any policy controls in Phabricator, they can screenshot, ./src/docs/user/userguide/forms.diviner:476:Phabricator instance is open to the public. ./src/docs/user/userguide/calendar.diviner:32:Across all applications, Phabricator shows a red dot next to usernames if the ./src/docs/user/userguide/reviews_vs_audit.diviner:9:Phabricator supports two similar but separate code review workflows: "review" ./src/docs/user/userguide/reviews_vs_audit.diviner:114: - Audits are driven entirely by Phabricator: users do not need to install ./src/docs/user/userguide/multimeter.diviner:12:Phabricator resource usage. In particular, it can help quickly identify sources ./src/docs/user/userguide/multimeter.diviner:29:Multimeter shows you what Phabricator has spent time doing recently. By ./src/docs/user/userguide/multimeter.diviner:39:The main screen of Multimeter shows you everything Phabricator has spent ./src/docs/user/userguide/drydock_security.diviner:17:results back to Phabricator). In contrast, automating merge requests on Drydock ./src/docs/user/userguide/drydock_security.diviner:65:runs on. This is only suitable for developing or testing Phabricator. Any ./src/docs/user/userguide/drydock_security.diviner:66:Drydock operation can potentially compromise Phabricator. It is intentionally ./src/docs/user/userguide/drydock_security.diviner:68:operations on the Phabricator host is strongly discouraged. ./src/docs/user/userguide/drydock_security.diviner:108: - compromising Phabricator; and ./src/docs/user/userguide/drydock_security.diviner:115:containing this "unit test" for review. If Phabricator is configured to ./src/docs/user/userguide/drydock_security.diviner:129:attacker tries to compromise Phabricator itself (for example, to make themselves ./src/docs/user/userguide/drydock_security.diviner:132:This is made possible if Drydock is running on the same host as Phabricator or ./src/docs/user/userguide/drydock_security.diviner:133:runs on a privileged subnet with access to resources like Phabricator database ./src/docs/user/userguide/drydock_security.diviner:139:`phabricator.mycompany.com` host or pool. ./src/docs/user/userguide/drydock_security.diviner:143:Phabricator). Be aware that tests can hijack credentials they are run with, ./src/docs/user/userguide/utf8.diviner:4:How Phabricator handles character encodings. ./src/docs/user/userguide/utf8.diviner:8:Phabricator stores all internal text data as UTF-8, processes all text data ./src/docs/user/userguide/utf8.diviner:20: - Configure Phabricator to convert files into UTF-8 from whatever encoding ./src/docs/user/userguide/utf8.diviner:27:Phabricator has some support for encodings other than UTF-8. ./src/docs/user/userguide/drydock_hosts.diviner:44:You do **not** need to install PHP, arcanist, or Phabricator on the ./src/docs/user/userguide/drydock_hosts.diviner:49:Phabricator, the simplest way to set this up is something like this: ./src/docs/user/userguide/drydock_hosts.diviner:51: - Create a new bot user in Phabricator. ./src/docs/user/userguide/drydock_hosts.diviner:57:This will let processes on the host access Phabricator as the bot user, and ./src/docs/user/userguide/harbormaster.diviner:13:for Phabricator. ./src/docs/user/userguide/harbormaster.diviner:98: build, then report the results back to Phabricator by calling the ./src/docs/user/userguide/harbormaster.diviner:152:With `arc patch`, the build system downloads patches from Phabricator and ./src/docs/user/userguide/harbormaster.diviner:204:Phabricator as patches and apply them with `arc patch`. This mechanism is the ./src/docs/user/userguide/drydock_repository_automation.diviner:4:Configuring repository automation so Phabricator can push commits. ./src/docs/user/userguide/drydock_repository_automation.diviner:14:Automation** for a repository. This will allow Phabricator to make changes ./src/docs/user/userguide/drydock_repository_automation.diviner:28:Configuring repository automation amounts to telling Phabricator where it ./src/docs/user/userguide/diffusion_hooks.diviner:8:Phabricator installs pre-receive/pre-commit hooks in hosted repositories ./src/docs/user/userguide/diffusion_hooks.diviner:27: - **SVN** Put hooks in `hooks/pre-commit-phabricator.d/`. ./src/docs/user/userguide/diffusion_hooks.diviner:28: - **Git** Put hooks in `hooks/pre-receive-phabricator.d/`. ./src/docs/user/userguide/diffusion_hooks.diviner:29: - **Mercurial** Phabricator does not currently support custom hooks in ./src/docs/user/userguide/diffusion_hooks.diviner:40: Phabricator is otherwise ready to accept the commit or push. ./src/docs/user/userguide/diffusion_hooks.diviner:47: - `PHABRICATOR_USER` The Phabricator username that the session is ./src/docs/user/userguide/diffusion.diviner:4:Guide to Diffusion, the Phabricator application for hosting and browsing ./src/docs/user/userguide/diffusion.diviner:19:Diffusion is integrated with the other tools in the Phabricator suite. For ./src/docs/user/userguide/diffusion.diviner:64:Phabricator repository hosts can be set up in a cluster configuration so you ./src/docs/user/userguide/diffusion.diviner:91: - understand how Phabricator updates repositories with ./src/docs/user/userguide/remarkup.diviner:9:Phabricator uses a lightweight markup language called "Remarkup", similar to ./src/docs/user/userguide/remarkup.diviner:334:URIs are automatically linked: http://phabricator.org/ ./src/docs/user/userguide/remarkup.diviner:344:work within Phabricator or on the internet at large: ./src/docs/user/userguide/remarkup.diviner:355:You can link to Phabricator objects, such as Differential revisions, Diffusion ./src/docs/user/userguide/remarkup.diviner:369:See the Phabricator configuration setting `remarkup.ignored-object-names` to ./src/docs/user/userguide/remarkup.diviner:504:TrueType font in the Phabricator subfolder `/resources/font/`. If Remarkup ./src/docs/user/userguide/phame.diviner:10:through Phame is integrated with other Phabricator applications (like Feed, ./src/docs/user/userguide/phame.diviner:17:In the upstream, we use several Phame blogs to discuss changes to Phabricator, ./src/docs/user/userguide/phame.diviner:64:Phame integrates with other Phabricator applications, so you can do a few ./src/docs/user/userguide/phame.diviner:93:your Phabricator install is also public. You can make an install public by ./src/docs/user/userguide/phame.diviner:118:Finally, configure DNS for `blog.mycompany.com` to point at Phabricator. ./src/docs/user/userguide/arcanist_coverage.diviner:4:Explains code coverage features in Arcanist and Phabricator. ./src/docs/user/userguide/arcanist_coverage.diviner:30:= Enabling Coverage for Arcanist and Phabricator = ./src/docs/user/userguide/arcanist_coverage.diviner:32:If you're contributing, Arcanist and Phabricator support coverage if ./src/docs/user/userguide/conduit.diviner:9:Conduit is the HTTP API for Phabricator. It is roughly JSON-RPC: you usually ./src/docs/user/userguide/conduit.diviner:33:can check the [[ https://secure.phabricator.com/w/community_resources/ | ./src/docs/user/userguide/diffusion_updates.diviner:9:When Phabricator is configured to import repositories which are hosted ./src/docs/user/userguide/diffusion_updates.diviner:18: - Phabricator chooses a default poll interval based on repository ./src/docs/user/userguide/diffusion_updates.diviner:22: - If you use `arc` to push commits, or you host repositories on Phabricator, ./src/docs/user/userguide/diffusion_updates.diviner:31:By default, Phabricator determines how frequently to poll repositories by ./src/docs/user/userguide/diffusion_updates.diviner:80:If you want Phabricator to update a repository more quickly than the default ./src/docs/user/userguide/diffusion_updates.diviner:82:tell Phabricator that it should schedule an update as soon as possible. ./src/docs/user/userguide/diffusion_updates.diviner:89: - If your repository is hosted on Phabricator, this will also be done for you ./src/docs/user/userguide/diffusion_updates.diviner:94: hints to Phabricator that it should poll a repository as soon as it can. ./src/docs/user/userguide/diffusion_uris.diviner:9:Phabricator can create, host, observe, mirror, proxy, and import repositories. ./src/docs/user/userguide/diffusion_uris.diviner:12:**Host Repositories**: Phabricator can host repositories locally. Phabricator ./src/docs/user/userguide/diffusion_uris.diviner:18:**Observe Repositories**: Phabricator can create a copy of an repository which ./src/docs/user/userguide/diffusion_uris.diviner:20:repository. This will create a read-only copy of the repository in Phabricator. ./src/docs/user/userguide/diffusion_uris.diviner:22:**Mirror Repositories**: Phabricator can publish any repository to mirrors, ./src/docs/user/userguide/diffusion_uris.diviner:24:the source changes. This works with both local repositories that Phabricator is ./src/docs/user/userguide/diffusion_uris.diviner:25:hosting and remote repositories that Phabricator is observing. ./src/docs/user/userguide/diffusion_uris.diviner:28:to read Phabricator's copy of the repository. Phabricator supports granular ./src/docs/user/userguide/diffusion_uris.diviner:33:host on Phabricator, you can observe the remote repository first, then turn ./src/docs/user/userguide/diffusion_uris.diviner:35:copy an existing repository and begin hosting it in Phabricator. ./src/docs/user/userguide/diffusion_uris.diviner:40:You configure the behavior of a Phabricator repository by adding and ./src/docs/user/userguide/diffusion_uris.diviner:53:You can create new repositories that Phabricator will host, like you would ./src/docs/user/userguide/diffusion_uris.diviner:54:create repositories on services like GitHub or Bitbucket. Phabricator will ./src/docs/user/userguide/diffusion_uris.diviner:56:and push changes to Phabricator. ./src/docs/user/userguide/diffusion_uris.diviner:58:If you haven't already, you may need to configure Phabricator for hosting ./src/docs/user/userguide/diffusion_uris.diviner:67:Phabricator will create an empty repository and allow you to fetch from it and ./src/docs/user/userguide/diffusion_uris.diviner:75:Bitbucket, or a private server) that you want to work with in Phabricator, ./src/docs/user/userguide/diffusion_uris.diviner:76:you can configure Phabricator to observe it. ./src/docs/user/userguide/diffusion_uris.diviner:78:When observing a repository, Phabricator will keep track of changes in the ./src/docs/user/userguide/diffusion_uris.diviner:91:Phabricator will perform an initial import of the repository, creating a local ./src/docs/user/userguide/diffusion_uris.diviner:101:You can create a read-only mirror of an existing repository. Phabricator will ./src/docs/user/userguide/diffusion_uris.diviner:105:For example, if you have a repository hosted in Phabricator that you want to ./src/docs/user/userguide/diffusion_uris.diviner:106:mirror to GitHub, you can configure Phabricator to automatically maintain the ./src/docs/user/userguide/diffusion_uris.diviner:110:mirror will be undone when Phabricator updates it. The mirroring process copies ./src/docs/user/userguide/diffusion_uris.diviner:115:You can mirror any repository, even if Phabricator is only observing it and not ./src/docs/user/userguide/diffusion_uris.diviner:136:Phabricator, there are three ways to do it: ./src/docs/user/userguide/diffusion_uris.diviner:172:By default, Phabricator automatically exposes and activates HTTP, HTTPS and ./src/docs/user/userguide/diffusion_uris.diviner:189: - The `phabricator.base-uri` protocol must be `https://`. ./src/docs/user/userguide/diffusion_uris.diviner:201:clone URIs other than the URIs that Phabricator serves or interacts with, you ./src/docs/user/userguide/diffusion_uris.diviner:221:**Default**: This setting has Phabricator guess the correct option for the ./src/docs/user/userguide/diffusion_uris.diviner:231:**Observe**: Phabricator will observe this repository and regularly fetch any ./src/docs/user/userguide/diffusion_uris.diviner:243:copy that Phabricator maintains will be deleted and replaced with the state of ./src/docs/user/userguide/diffusion_uris.diviner:247:**Mirror**: Phabricator will push any changes made to this repository to the ./src/docs/user/userguide/diffusion_uris.diviner:256:hosted by Phabricator by adding that other repository's URI, although this is ./src/docs/user/userguide/diffusion_uris.diviner:260:will be replaced with the state of the working copy Phabricator maintains. If ./src/docs/user/userguide/diffusion_uris.diviner:264:**None**: Phabricator will not fetch changes from or push changes to this URI. ./src/docs/user/userguide/diffusion_uris.diviner:270:clone URIs are displayed to the user but don't want Phabricator to interact ./src/docs/user/userguide/diffusion_uris.diviner:273:**Read Only**: Phabricator will serve the repository from this URI in read-only ./src/docs/user/userguide/diffusion_uris.diviner:276:Because Phabricator must be able to serve the repository from URIs configured ./src/docs/user/userguide/diffusion_uris.diviner:279:**Read/Write**: Phabricator will serve the repository from this URI in ./src/docs/user/userguide/diffusion_uris.diviner:287:Because Phabricator must be able to serve the repository from URIs configured ./src/docs/user/userguide/diffusion_uris.diviner:296:**Default**: Phabricator will guess the correct option for the URI. It ./src/docs/user/userguide/diffusion_uris.diviner:318: - configuring Phabricator to host repositories with ./src/docs/user/userguide/calendar_imports.diviner:12:You can import events into Phabricator to other calendar applications or from ./src/docs/user/userguide/calendar_imports.diviner:14:into Phabricator. ./src/docs/user/userguide/calendar_imports.diviner:17:Phabricator. Importing events allows you to share events or keep track of ./src/docs/user/userguide/calendar_imports.diviner:19:applications in Phabricator. ./src/docs/user/userguide/calendar_imports.diviner:39:Phabricator in two ways: ./src/docs/user/userguide/calendar_imports.diviner:44:This will create a copy of the event in Phabricator. ./src/docs/user/userguide/calendar_imports.diviner:50:into Phabricator. ./src/docs/user/userguide/calendar_imports.diviner:71:When you import an event using an `.ics` file, Phabricator can not ./src/docs/user/userguide/calendar_imports.diviner:73:there are changes to the event or calendar later, so Phabricator can learn ./src/docs/user/userguide/calendar_imports.diviner:81:`.ics` URI, you can subscribe to it in Phabricator. This will import the entire ./src/docs/user/userguide/calendar_imports.diviner:90:Phabricator will periodically update the events it imports from this source. ./src/docs/user/userguide/calendar_imports.diviner:124:Phabricator can not automatically keep events imported in this way up to date. ./src/docs/user/userguide/audit.diviner:4:Guide to using Phabricator to audit published commits. ./src/docs/user/userguide/audit.diviner:10:Phabricator supports two code review workflows, "review" (pre-publish) and ./src/docs/user/userguide/audit.diviner:62: - Later, Bailey logs into Phabricator and sees the audit request. She ignores ./src/docs/user/userguide/audit.diviner:69: - Later, Alice logs into Phabricator and sees that Bailey has raised a ./src/docs/user/userguide/diffusion_symbols.diviner:8:Phabricator can maintain a symbol index, which keeps track of where classes ./src/docs/user/userguide/diffusion_symbols.diviner:28:Phabricator includes a script which can identify symbols in PHP projects: ./src/docs/user/userguide/diffusion_symbols.diviner:32:Phabricator also includes a script which can identify symbols in any ./src/docs/user/userguide/diffusion_symbols.diviner:86: Phabricator lists "Arcanist" because it uses classes and functions defined ./src/docs/user/userguide/almanac.diviner:14:administrators to configure advanced Phabricator features. In most cases, ./src/docs/user/userguide/almanac.diviner:22:Today, the primary use cases for Almanac are internal to Phabricator: ./src/docs/user/userguide/almanac.diviner:26: - Configuring Phabricator to operate in a cluster setup. ./src/docs/user/userguide/arcanist_new_project.diviner:18:for your Phabricator install. A simple, valid file looks something like this: ./src/docs/user/userguide/arcanist_new_project.diviner:22: "phabricator.uri" : "https://phabricator.example.com/" ./src/docs/user/userguide/arcanist_new_project.diviner:34: - **phabricator.uri**: the URI for the Phabricator install that `arc` should ./src/docs/user/userguide/arcanist_new_project.diviner:65: connecting to Phabricator. ./src/docs/user/userguide/arcanist_new_project.diviner:67: connecting to Phabricator. ./src/docs/user/userguide/arcanist_new_project.diviner:185: - You will need to set a default Phabricator URI with ./src/docs/user/userguide/drydock.diviner:259: - allowing Phabricator to write to repositories with ./src/docs/user/userguide/diffusion_existing.diviner:13:Observing a repository creates a read-only copy in Phabricator that is kept ./src/docs/user/userguide/diffusion_existing.diviner:34:This creates a read-only copy of the repository in Phabricator. Phabricator ./src/docs/user/userguide/prototypes.diviner:9:Phabricator includes //prototype applications//, which are applications in an ./src/docs/user/userguide/prototypes.diviner:32:`phabricator.show-prototypes` configuration setting to enable prototypes. ./src/docs/user/userguide/arcanist_diff.diviner:17:Phabricator applications, the primary use of `arc` is to send changes for ./src/docs/user/userguide/arcanist_diff.diviner:170:Phabricator will also automatically close revisions if the changes are pushed ./src/docs/user/userguide/external_editor.diviner:33:When you open a file in an external editor, Phabricator needs to be able to ./src/docs/user/userguide/diffusion_managing.diviner:40:uppercase string like "P" (for Phabricator) or "ARC" (for Arcanist). ./src/docs/user/userguide/diffusion_managing.diviner:58:repository, and so on, while Phabricator uses "P" and Arcanist uses "ARC". ./src/docs/user/userguide/diffusion_managing.diviner:62:If you configure a callsign like `XYZ`, Phabricator will activate callsign URIs ./src/docs/user/userguide/diffusion_managing.diviner:107:so Phabricator can convert from it properly when reading content to embed in ./src/docs/user/userguide/diffusion_managing.diviner:198:the web UI and clone, fetch, or check it out from Phabricator. ./src/docs/user/userguide/diffusion_managing.diviner:223:This policy has no effect if Phabricator is not hosting the repository, because ./src/docs/user/userguide/diffusion_managing.diviner:233:sophisticated rules that evaluate when Phabricator receives a push. To get ./src/docs/user/userguide/diffusion_managing.diviner:244:The **URIs** panel allows you to add and manage URIs which Phabricator will ./src/docs/user/userguide/diffusion_managing.diviner:295:The **Branches** panel allows you to configure how Phabricator interacts with ./src/docs/user/userguide/diffusion_managing.diviner:302:default in the UI. If no branch is provided, Phabricator will use `master` in ./src/docs/user/userguide/diffusion_managing.diviner:327:metadata that you don't want to bring into Phabricator. ./src/docs/user/userguide/diffusion_managing.diviner:333:By default, Phabricator considers all branches to be permanent refs. If you ./src/docs/user/userguide/diffusion_managing.diviner:359:The **Automation** panel configures support for allowing Phabricator to make ./src/docs/user/userguide/diffusion_managing.diviner:403:For example, if you type `R123` or `rXY` into a comment, Phabricator will ./src/docs/user/userguide/diffusion_managing.diviner:424:Git and Mercurial use commit hashes to identify commits, and Phabricator will ./src/docs/user/userguide/diffusion_managing.diviner:432:When rendering the name of a Git or Mercurial commit hash, Phabricator tends to ./src/docs/user/userguide/arcanist.diviner:4:Guide to Arcanist, a command-line interface to Phabricator. ./src/docs/user/userguide/arcanist.diviner:6:Arcanist provides command-line access to many Phabricator tools (like ./src/docs/user/userguide/arcanist.diviner:15: ./src/docs/user/userguide/arcanist.diviner:146: is `C:\ProgramData\Phabricator\Arcanist\config`). ./src/docs/user/userguide/spaces.diviner:141:model Phabricator uses. ./src/docs/user/userguide/amazon_rds.diviner:9:Phabricator works with Amazon RDS. However, most of our documentation and setup ./src/docs/user/userguide/tone.diviner:4:Explains why Phabricator uses a lighthearted tone. ./src/docs/user/userguide/tone.diviner:9:Phabricator uses a lighthearted tone in documentation and some interfaces, and ./src/docs/user/userguide/tone.diviner:24:disable most of the flavor by turning on the `phabricator.serious-business` ./src/docs/user/userguide/tone.diviner:31:confusion for you or your users and makes it harder to use Phabricator, let us ./src/docs/user/userguide/drydock_quick_start.diviner:33:If your repository and/or staging area are hosted in Phabricator, you may want ./src/docs/user/userguide/calendar_exports.diviner:12:You can export events from Phabricator to other calendar applications like ./src/docs/user/userguide/calendar_exports.diviner:14:how to export event data from Phabricator. ./src/docs/user/userguide/calendar_exports.diviner:20:you edit Phabricator events from another application. ./src/docs/user/userguide/calendar_exports.diviner:78:to export, even if they don't have a Phabricator account! Be careful about how ./src/docs/user/userguide/arcanist_quick_start.diviner:43: "phabricator.uri" : "https://phabricator.example.com/" ./src/docs/user/userguide/arcanist_quick_start.diviner:46:Set `phabricator.uri` to the URI for your Phabricator install (where `arc` ./src/docs/user/userguide/arcanist_quick_start.diviner:61:to your Phabricator account. ./src/docs/user/userguide/diffusion_api.diviner:93:However, if you want Phabricator to observe an existing remote, you'll ./src/docs/user/userguide/differential.diviner:8:Phabricator supports two code review workflows, "review" (pre-push) and ./src/docs/user/userguide/differential.diviner:17:Code review in Phabricator is a lightweight, asynchronous web-based process. If ./src/docs/user/userguide/multi_factor_auth.diviner:4:Explains how multi-factor authentication works in Phabricator. ./src/docs/user/userguide/multi_factor_auth.diviner:33:you'll enter it into Phabricator. ./src/docs/user/userguide/multi_factor_auth.diviner:35:If you're logging in, Phabricator will log you in after you enter the code. ./src/docs/user/userguide/multi_factor_auth.diviner:37:If you're taking a sensitive action, Phabricator will sometimes put your ./src/docs/user/userguide/multi_factor_auth.diviner:67:you enter authorization codes from your mobile phone into Phabricator. The codes ./src/docs/user/userguide/multi_factor_auth.diviner:83:Phabricator. ./src/docs/user/userguide/multi_factor_auth.diviner:86:the application, read the authorization code, and type it into Phabricator. ./src/docs/user/userguide/multi_factor_auth.diviner:89:Don't lose your phone! You'll need it to log into Phabricator in the future. ./src/docs/user/userguide/multi_factor_auth.diviner:126:New Phabricator installs start without any multi-factor providers enabled. ./src/docs/user/userguide/mail_rules.diviner:1:@title User Guide: Managing Phabricator Email ./src/docs/user/userguide/mail_rules.diviner:4:How to effectively manage Phabricator email notifications. ./src/docs/user/userguide/mail_rules.diviner:9:Phabricator uses email as a major notification channel, but the amount of email ./src/docs/user/userguide/mail_rules.diviner:32:Phabricator also adds mail headers (see below) which can allow you to write ./src/docs/user/userguide/mail_rules.diviner:38:Phabricator sends various information in mail headers that can be useful in ./src/docs/user/userguide/projects.diviner:11:Phabricator projects are flexible, general-purpose groups of objects that you ./src/docs/user/userguide/projects.diviner:40:unexpected, but the rule in Phabricator is simple: **adding and removing ./src/docs/user/userguide/projects.diviner:127:of Phabricator if you have other pages which are relevant to a project. ./src/docs/user/userguide/projects.diviner:281:Phabricator projects are a flexible, general-purpose, freeform tool. This is a ./src/docs/user/userguide/projects.diviner:287:In Phabricator, each object (like a task) can be tagged with multiple projects. ./src/docs/user/userguide/differential_land.diviner:4:Configuring Phabricator so you can "Land Revision" from the web UI. ./src/docs/user/userguide/differential_land.diviner:12:Phabricator can be configured so that approved revisions may be published ./src/docs/user/userguide/webhooks.diviner:10:If you'd like to react to events in Phabricator or publish them into external ./src/docs/user/userguide/webhooks.diviner:46:from Phabricator. An attacker or mischievous user can normally call your hook ./src/docs/user/userguide/webhooks.diviner:51:verify that Phabricator originated a request. ./src/docs/user/userguide/webhooks.diviner:127: Phabricator. If your hook is doing something like copying events into ./src/docs/user/userguide/webhooks.diviner:201:simultaneous call to the same webhook from Phabricator. If you have a firehose ./src/docs/user/userguide/diviner.diviner:11:This article is maintained in a text file in the Phabricator repository and ./src/docs/user/userguide/diffusion_hosting.diviner:4:Guide to configuring Phabricator repository hosting. ./src/docs/user/userguide/diffusion_hosting.diviner:9:Phabricator can host repositories and provide authenticated read and write ./src/docs/user/userguide/diffusion_hosting.diviner:16:Phabricator supports hosting over these protocols: ./src/docs/user/userguide/diffusion_hosting.diviner:50:Phabricator uses two system user accounts, plus a third account if you ./src/docs/user/userguide/diffusion_hosting.diviner:53:runs on, not Phabricator user accounts. ./src/docs/user/userguide/diffusion_hosting.diviner:55:The system accounts Phabricator uses are: ./src/docs/user/userguide/diffusion_hosting.diviner:76: `vcs-user@phabricator.yourcompany.com`, so common names for this user are ./src/docs/user/userguide/diffusion_hosting.diviner:237:other Phabricator SSH services. ./src/docs/user/userguide/diffusion_hosting.diviner:239:NOTE: The Phabricator `sshd` service **MUST** be 6.2 or newer, because ./src/docs/user/userguide/diffusion_hosting.diviner:240:Phabricator relies on the `AuthorizedKeysCommand` option. ./src/docs/user/userguide/diffusion_hosting.diviner:276:Phabricator `sshd` on port 22. This is somewhat complicated and can be a bit ./src/docs/user/userguide/diffusion_hosting.diviner:285:Host phabricator.corporation.com ./src/docs/user/userguide/diffusion_hosting.diviner:298:`HostName` options. If you choose to do this, be aware that Phabricator uses ./src/docs/user/userguide/diffusion_hosting.diviner:330:as `diffusion.ssh-port` in your Phabricator config: ./src/docs/user/userguide/diffusion_hosting.diviner:339:**Configure and Start Phabricator SSHD**: Now, you'll configure and start a ./src/docs/user/userguide/diffusion_hosting.diviner:340:copy of `sshd` which will serve Phabricator services, including repositories, ./src/docs/user/userguide/diffusion_hosting.diviner:344:Phabricator to handle authentication and command execution. ./src/docs/user/userguide/diffusion_hosting.diviner:369:`phabricator/resources/sshd/sshd_config.phabricator.example` to somewhere like ./src/docs/user/userguide/diffusion_hosting.diviner:379:**Start SSHD**: Now, start the Phabricator `sshd`: ./src/docs/user/userguide/diffusion_hosting.diviner:386:$ echo {} | ssh vcs-user@phabricator.yourcompany.com conduit conduit.ping ./src/docs/user/userguide/diffusion_hosting.diviner:392:{"result":"phabricator.yourcompany.com","error_code":null,"error_info":null} ./src/docs/user/userguide/diffusion_hosting.diviner:424: - Make sure `diffusion.allow-http-auth` is enabled in your Phabricator config. ./src/docs/user/userguide/diffusion_hosting.diviner:459: Host Repository on Phabricator > ./src/docs/user/userguide/diffusion_hosting.diviner:477: $ ssh -T -p 2222 vcs-user@phabricator.yourcompany.com ./src/docs/user/userguide/diffusion_hosting.diviner:478: phabricator-ssh-exec: Welcome to Phabricator. ./src/docs/user/userguide/diffusion_hosting.diviner:483: interactive shell, but Phabricator does not provide an interactive shell over ./src/docs/user/userguide/diffusion_hosting.diviner:501: public key to Phabricator in the Settings panel. ./src/docs/user/userguide/diffusion_hosting.diviner:528:Phabricator will run it. This can give you better error messages about issues ./src/docs/user/userguide/diffusion_hosting.diviner:536: where `svnlook` is located to the Phabricator configuration ./src/docs/user/userguide/diffusion_hosting.diviner:546:make Phabricator repository URIs cleaner, this section has some tips. ./src/docs/user/userguide/diffusion_hosting.diviner:549:balancer in front of Phabricator and having it accept TCP traffic on port 22 ./src/docs/user/userguide/diffusion_hosting.diviner:585:Now you can move the Phabricator `sshd` to port 22, then adjust the value ./src/docs/user/userguide/diffusion_hosting.diviner:586:for `diffusion.ssh-port` in your Phabricator configuration. ./src/docs/user/userguide/diffusion_hosting.diviner:594:Phabricator. This is not supported: writes to hosted repositories must go ./src/docs/user/userguide/diffusion_hosting.diviner:595:through Phabricator so it can perform authentication, enforce permissions, ./src/docs/user/userguide/diffusion_hosting.diviner:619:by Phabricator when a request passes through the authentication layer that this ./src/docs/user/userguide/diffusion_hosting.diviner:621:request did not pass through Phabricator. ./src/docs/user/userguide/unlocking.diviner:9:Phabricator tries to make it difficult for users to lock themselves out of ./src/docs/user/userguide/herald.diviner:16:Herald works very similarly, but operates on Phabricator objects (like revisions ./src/docs/user/userguide/users.diviner:21:In Phabricator, administrators are more like //janitors//. ./src/docs/user/userguide/events.diviner:4:Using Phabricator event listeners to customize behavior. ./src/docs/user/userguide/events.diviner:12:Phabricator and Arcanist allow you to install custom runtime event listeners ./src/docs/user/userguide/events.diviner:17:These listeners are PHP classes which you install beside Phabricator or ./src/docs/user/userguide/events.diviner:18:Arcanist, and which Phabricator loads at runtime and runs in-process. They ./src/docs/user/userguide/events.diviner:22:= Installing Event Listeners (Phabricator) = ./src/docs/user/userguide/events.diviner:24:To install event listeners in Phabricator, follow these steps: ./src/docs/user/userguide/events.diviner:29: - Configure Phabricator to load the library by adding it to `load-libraries` ./src/docs/user/userguide/events.diviner:30: in the Phabricator config. ./src/docs/user/userguide/events.diviner:31: - Configure Phabricator to install the event listener by adding the class ./src/docs/user/userguide/events.diviner:32: name to `events.listeners` in the Phabricator config. ./src/docs/user/userguide/events.diviner:46: - Configure Phabricator to load the library by adding it to `load` ./src/docs/user/userguide/events.diviner:57:Phabricator includes an example event listener, ./src/docs/user/userguide/events.diviner:83:You can find a list of all Phabricator events in @{class:PhabricatorEventType}. ./src/docs/user/userguide/events.diviner:187: - If you're getting an error about Phabricator being unable to find the ./src/docs/user/userguide/events.diviner:189: configured Phabricator to load the library with `load-libraries`. ./src/docs/user/userguide/profile_menu.diviner:133: somewhere else in Phabricator, or to an external site. ./src/docs/user/userguide/diffusion_permanent.diviner:10:appear in a repository (either because they were pushed to Phabricator, or ./src/docs/user/userguide/diffusion_permanent.diviner:11:because they were pushed to some remote which Phabricator is observing). ./src/docs/user/userguide/diffusion_permanent.diviner:27:"tmp-hack-ignore-123". This is formally discouraged by Phabricator, but the ./src/docs/user/userguide/diffusion_permanent.diviner:31:Phabricator will import these commits and create pages for them so you can view ./src/docs/user/userguide/diffusion_permanent.diviner:43:When a commit is published, Phabricator acts on it and: ./src/docs/user/userguide/search.diviner:4:Introduction to searching for documents in Phabricator. ./src/docs/user/userguide/search.diviner:9:Phabricator has two major ways to search for documents and objects (like tasks, ./src/docs/user/userguide/search.diviner:37:If you choose the **Current Application** scope, Phabricator will search for ./src/docs/user/userguide/search.diviner:44:Phabricator will search all documents. ./src/docs/user/userguide/search.diviner:56:This interface supports standard Phabricator search and filtering features, ./src/docs/user/userguide/legalpad.diviner:39:your users must sign before they can use Phabricator, like a terms of service ./src/docs/user/userguide/legalpad.diviner:87:not use most Phabricator functions, they can browse other Legalpad documents ./src/docs/user/userguide/legalpad.diviner:133:https://secure.phabricator.com/T5505 ./src/docs/user/configuration/notifications.diviner:9:By default, Phabricator delivers information about events (like users creating ./src/docs/user/configuration/notifications.diviner:13:Phabricator can also be configured to deliver notifications in real time, by ./src/docs/user/configuration/notifications.diviner:124:After starting the server, configure Phabricator to connect to it by adjusting ./src/docs/user/configuration/notifications.diviner:126:that Phabricator should interact with. ./src/docs/user/configuration/notifications.diviner:134: "host": "phabricator.mycompany.com", ./src/docs/user/configuration/notifications.diviner:181:If you serve Phabricator over HTTPS, you must also serve websockets over HTTPS. ./src/docs/user/configuration/notifications.diviner:184:If a client connects to Phabricator over HTTPS, Phabricator will automatically ./src/docs/user/configuration/notifications.diviner:244:```lang=nginx, name=/etc/nginx/sites-enabled/phabricator.example.com.conf ./src/docs/user/configuration/notifications.diviner:246: server_name phabricator.example.com; ./src/docs/user/configuration/notifications.diviner:263:**Phabricator Configuration**: The entry in `notification.servers` with type ./src/docs/user/configuration/notifications.diviner:266: - Set `host` to the Phabricator host. ./src/docs/user/configuration/configuring_preamble.diviner:9:If Phabricator is deployed in an environment where HTTP headers behave oddly ./src/docs/user/configuration/configuring_preamble.diviner:16:problems and set up the environment which Phabricator expects. ./src/docs/user/configuration/configuring_preamble.diviner:43:If your install is behind a load balancer, Phabricator may incorrectly detect ./src/docs/user/configuration/configuring_preamble.diviner:50:preamble to tell Phabricator that you expect to receive requests from a ./src/docs/user/configuration/configuring_preamble.diviner:92:If your install is behind an SSL terminating load balancer, Phabricator may ./src/docs/user/configuration/configuring_preamble.diviner:94:Phabricator to generate links with the wrong protocol, issue cookies without ./src/docs/user/configuration/configuring_preamble.diviner:106:You can also set this value to `false` to explicitly tell Phabricator that a ./src/docs/user/configuration/configuring_backups.diviner:4:Advice for backing up Phabricator, or migrating from one machine to another. ./src/docs/user/configuration/configuring_backups.diviner:10:Phabricator does not currently have a comprehensive backup system, but creating ./src/docs/user/configuration/configuring_backups.diviner:11:backups is not particularly difficult and Phabricator does have a few basic ./src/docs/user/configuration/configuring_backups.diviner:18: - your Phabricator configuration files. ./src/docs/user/configuration/configuring_backups.diviner:27:WARNING: You need to restart Phabricator after restoring data. ./src/docs/user/configuration/configuring_backups.diviner:29:Restarting Phabricator after performing a restore makes sure that caches are ./src/docs/user/configuration/configuring_backups.diviner:40:but will only dump databases Phabricator owns. ./src/docs/user/configuration/configuring_backups.diviner:62:If you host repositories in Phabricator, you should back them up. You can use ./src/docs/user/configuration/configuring_backups.diviner:90:Phabricator. ./src/docs/user/configuration/configuring_backups.diviner:94:you told Phabricator to put files (the `storage.local-disk.path` configuration ./src/docs/user/configuration/configuring_backups.diviner:111:deploy or administrate Phabricator (like a customized upgrade script). The best ./src/docs/user/configuration/configuring_backups.diviner:134:MySQL dumps have no builtin encryption and most data in Phabricator is stored in ./src/docs/user/configuration/configuring_backups.diviner:136:them shell access to the machine Phabricator runs on. In particular, a user who ./src/docs/user/configuration/configuring_backups.diviner:144:present a risk. If you restrict access to the Phabricator host or database, you ./src/docs/user/configuration/configuring_file_storage.diviner:9:This document describes how to configure Phabricator to support large file ./src/docs/user/configuration/configuring_file_storage.diviner:10:uploads, and how to choose where Phabricator stores files. ./src/docs/user/configuration/configuring_file_storage.diviner:20:How Phabricator Stores Files ./src/docs/user/configuration/configuring_file_storage.diviner:23:Phabricator stores files in "storage engines", which are modular backends ./src/docs/user/configuration/configuring_file_storage.diviner:27:Phabricator stores large files by breaking them up into many chunks (a few ./src/docs/user/configuration/configuring_file_storage.diviner:65:Set the applicable limit to at least **32MB**. Phabricator can not read these ./src/docs/user/configuration/configuring_file_storage.diviner:72: exceed this, Phabricator will give you a useful error. This often defaults ./src/docs/user/configuration/configuring_file_storage.diviner:73: to `8M`. Set this to at least `32MB`. Phabricator will give you a setup ./src/docs/user/configuration/configuring_file_storage.diviner:76: before Phabricator can adjust the memory limit. If you exceed this, PHP ./src/docs/user/configuration/configuring_file_storage.diviner:78: recommended that you set this to `-1` to disable it. Phabricator will ./src/docs/user/configuration/configuring_file_storage.diviner:90: Phabricator will give you a useful error. This often defaults to `2M`. Set ./src/docs/user/configuration/configuring_file_storage.diviner:101:Phabricator supports several different file storage engines: ./src/docs/user/configuration/configuring_file_storage.diviner:113:By default, Phabricator is configured to store files up to 1MB in MySQL, and ./src/docs/user/configuration/configuring_file_storage.diviner:175:a file onto the Phabricator home page. If engines have been configured ./src/docs/user/configuration/troubleshooting_https.diviner:8:If you're having trouble connecting to an HTTPS install of Phabricator, and ./src/docs/user/configuration/troubleshooting_https.diviner:20: `phabricator.example.com`. ./src/docs/user/configuration/troubleshooting_https.diviner:53:you installed Phabricator on `phabricator.example.com`, you need to generate a ./src/docs/user/configuration/troubleshooting_https.diviner:76:is an Apache server that does not explicitly name the Phabricator domain as a ./src/docs/user/configuration/custom_fields.diviner:8:Several Phabricator applications allow the configuration of custom fields. These ./src/docs/user/configuration/custom_fields.diviner:137:Internally, Phabricator implements some additional custom field types and ./src/docs/user/configuration/custom_fields.diviner:152:you can write a custom field as an extension and add it to Phabricator. ./src/docs/user/configuration/custom_fields.diviner:170:`phabricator/src/extensions/`. If Phabricator is configured in development ./src/docs/user/configuration/custom_fields.diviner:172:restart Phabricator (for help, see @{article:Restarting Phabricator}). ./src/docs/user/configuration/custom_fields.diviner:214: - learning more about extending Phabricator with custom code in ./src/docs/user/configuration/managing_garbage.diviner:9:Phabricator generates various logs and caches during normal operation. Some of ./src/docs/user/configuration/configuration_locked.diviner:60:available before Phabricator can read configuration from the database. ./src/docs/user/configuration/configuration_locked.diviner:62:If you stored `mysql.host` only in the database, Phabricator would not know how ./src/docs/user/configuration/configuration_locked.diviner:66:in the bootstrapping process, before Phabricator connects to the database. ./src/docs/user/configuration/configuration_locked.diviner:70:`phabricator.base-uri`, can effectively disable the web UI if they are ./src/docs/user/configuration/configuration_locked.diviner:86:similar options), could potentially reconfigure Phabricator to send mail ./src/docs/user/configuration/configuration_locked.diviner:120: - In some earlier version of Phabricator, this configuration was not locked. ./src/docs/user/configuration/configuration_locked.diviner:125:When Phabricator was originally released, locked configuration did not yet ./src/docs/user/configuration/configuration_locked.diviner:137:affects installs that have used Phabricator for a long time. ./src/docs/user/configuration/configuration_locked.diviner:139:At time of writing (February 2019), Phabricator currently respects these old ./src/docs/user/configuration/configuration_locked.diviner:140:database values. However, some future version of Phabricator will refuse to ./src/docs/user/configuration/advanced_configuration.diviner:4:Configuring Phabricator for multiple environments. ./src/docs/user/configuration/advanced_configuration.diviner:8:Phabricator reads configuration from multiple sources. This document explains ./src/docs/user/configuration/advanced_configuration.diviner:14:this topic to install Phabricator. ./src/docs/user/configuration/advanced_configuration.diviner:18:Phabricator supports the following configuration sources, from highest priority ./src/docs/user/configuration/advanced_configuration.diviner:29: - **Defaults**: Defaults hard-coded in the Phabricator source, which can not ./src/docs/user/configuration/advanced_configuration.diviner:33:Normally, you install and configure Phabricator by writing enough configuration ./src/docs/user/configuration/advanced_configuration.diviner:36:configure Phabricator. ./src/docs/user/configuration/advanced_configuration.diviner:110:After creating and selecting a configuration file, restart Phabricator (for ./src/docs/user/configuration/configuring_accounts_and_registration.diviner:4:Describes how to configure user access to Phabricator. ./src/docs/user/configuration/configuring_accounts_and_registration.diviner:9:Phabricator supports a number of login systems. You can enable or disable these ./src/docs/user/configuration/configuring_accounts_and_registration.diviner:29:associate an existing Phabricator account with a GitHub OAuth account) or users ./src/docs/user/configuration/configuring_accounts_and_registration.diviner:36:If you accidentally lock yourself out of Phabricator (for example, by disabling ./src/docs/user/configuration/configuring_outbound_email.diviner:4:Instructions for configuring Phabricator to send email and other types of ./src/docs/user/configuration/configuring_outbound_email.diviner:10:Phabricator sends outbound messages through "mailers". Most mailers send ./src/docs/user/configuration/configuring_outbound_email.diviner:14:Phabricator can send outbound messages through multiple different mailers, ./src/docs/user/configuration/configuring_outbound_email.diviner:44:Phabricator sends mail in the background, so the daemons need to be running for ./src/docs/user/configuration/configuring_outbound_email.diviner:53:When Phabricator sends outbound mail, it must select some "From" address to ./src/docs/user/configuration/configuring_outbound_email.diviner:56:When mail only has "CC" recipients, Phabricator generates a dummy "To" address, ./src/docs/user/configuration/configuring_outbound_email.diviner:68:anything. Phabricator will automatically create a `noreply@` mailbox which ./src/docs/user/configuration/configuring_outbound_email.diviner:73:address for Phabricator to use. You can do this by setting ./src/docs/user/configuration/configuring_outbound_email.diviner:313:API. To use SMTP, configure Phabricator to use an `smtp` mailer. ./src/docs/user/configuration/configuring_outbound_email.diviner:346: - `message-id`: Optional bool. Set to `false` if Phabricator will not be ./src/docs/user/configuration/configuring_outbound_email.diviner:368: - `message-id`: Optional bool. Set to `false` if Phabricator will not be ./src/docs/user/configuration/configuring_outbound_email.diviner:409:By default, Phabricator will try each mailer in order: it will try the first ./src/docs/user/configuration/configuring_outbound_email.diviner:414:a primary, you can set `priority`. Phabricator will start with mailers in the ./src/docs/user/configuration/configuring_outbound_email.diviner:444:Phabricator will start with servers in the highest priority group (the group ./src/docs/user/configuration/configuring_outbound_email.diviner:448:If both fail, Phabricator will move on to the next priority group. In this ./src/docs/user/configuration/configuring_outbound_email.diviner:451:If it still hasn't sent the mail, Phabricator will try servers which are not ./src/docs/user/configuration/configuring_outbound_email.diviner:460:correctly in mail clients. Normally, Phabricator is free to select its own ./src/docs/user/configuration/configuring_outbound_email.diviner:467:When Phabricator adds other mail headers which affect threading, like ./src/docs/user/configuration/configuring_outbound_email.diviner:496:Phabricator that it should not assume it can select a value for this header. ./src/docs/user/configuration/configuring_outbound_email.diviner:500:a "Message-ID" header), your `smtp` configuration in Phabricator should ./src/docs/user/configuration/configuring_file_domain.diviner:9:Serving files that users upload from the same domain that Phabricator runs on ./src/docs/user/configuration/configuring_file_domain.diviner:20:For example, if Phabricator is hosted at `https://phabricator.example.com/`, ./src/docs/user/configuration/configuring_file_domain.diviner:51:your Phabricator install as an origin (make sure you point it at the primary ./src/docs/user/configuration/configuring_file_domain.diviner:60:Phabricator error page indicating that Phabricator does not recognize the ./src/docs/user/configuration/configuring_file_domain.diviner:71:features will break Phabricator in strange and mysterious ways that ./src/docs/user/configuration/configuring_file_domain.diviner:79:CNAME record to forward a subdomain to your Phabricator install. ./src/docs/user/configuration/configuring_file_domain.diviner:85:Phabricator error page indicating that Phabricator does not recognize the ./src/docs/user/configuration/configuring_file_domain.diviner:95:error page indicating that Phabricator does not recognize the domain. This ./src/docs/user/configuration/configuring_file_domain.diviner:110:After you've set up a CDN or an alternate domain, configure Phabricator to ./src/docs/user/configuration/configuring_file_domain.diviner:117:Phabricator should now serve CSS, JS, images, profile pictures, and user ./src/docs/user/configuration/storage_adjust.diviner:9:Phabricator uses a workflow called //storage adjustment// to make some minor ./src/docs/user/configuration/storage_adjust.diviner:25:Storage adjustments make minor changes to the Phabricator MySQL schemata to ./src/docs/user/configuration/storage_adjust.diviner:100:sets on newer MySQL. The net effect is that Phabricator works consistently and ./src/docs/user/configuration/storage_adjust.diviner:146:you've encountered and continue using Phabricator normally until the issue can ./src/docs/user/configuration/storage_adjust.diviner:159:Generally, "Surplus" means that Phabricator does not expect the table or column ./src/docs/user/configuration/storage_adjust.diviner:163:deleting them destroys data and Phabricator can not be sure that the table or ./src/docs/user/configuration/storage_adjust.diviner:181:Phabricator will ignore tables that aren't in databases it owns, so you can ./src/docs/user/configuration/storage_adjust.diviner:182:safely move anything you aren't sure about outside of the Phabricator databases. ./src/docs/user/configuration/configuration_guide.diviner:4:This document contains basic configuration instructions for Phabricator. ./src/docs/user/configuration/configuration_guide.diviner:14: - Access Phabricator with your browser. ./src/docs/user/configuration/configuration_guide.diviner:27:installing on. You can either install Phabricator on a subdomain (like ./src/docs/user/configuration/configuration_guide.diviner:28:phabricator.example.com) or an entire domain, but you can not install it in ./src/docs/user/configuration/configuration_guide.diviner:36:Now create a VirtualHost entry for Phabricator. It should look something like ./src/docs/user/configuration/configuration_guide.diviner:42: ServerName phabricator.example.com ./src/docs/user/configuration/configuration_guide.diviner:55:where you put Phabricator, you may also need to add `` section. The ./src/docs/user/configuration/configuration_guide.diviner:84: server_name phabricator.example.com; ./src/docs/user/configuration/configuration_guide.diviner:170:MySQL works, you need to load the Phabricator schemata into it. To do this, run: ./src/docs/user/configuration/configuration_guide.diviner:185:NOTE: When you update Phabricator, run `storage upgrade` again to apply any ./src/docs/user/configuration/configuration_guide.diviner:203: - configuring Phabricator so it can send mail with ./src/docs/user/configuration/configuration_guide.diviner:212: - contributing to Phabricator with @{article:Contributor Introduction}. ./src/docs/user/configuration/managing_caches.diviner:4:Discusses Phabricator caches and cache management. ./src/docs/user/configuration/managing_caches.diviner:9:Phabricator uses various caches to improve performance, similar to the caches ./src/docs/user/configuration/managing_caches.diviner:14:the first time. When they're rendered again, Phabricator can read the cache ./src/docs/user/configuration/managing_caches.diviner:31:cached data and force Phabricator to recompute the results. ./src/docs/user/configuration/managing_caches.diviner:47:other data if Phabricator needs it. ./src/docs/user/configuration/managing_daemons.diviner:4:Explains Phabricator daemons and the daemon control program `phd`. ./src/docs/user/configuration/managing_daemons.diviner:8:Phabricator uses daemons (background processing scripts) to handle a number of ./src/docs/user/configuration/managing_daemons.diviner:19:You do not need to run daemons for most parts of Phabricator to work, but some ./src/docs/user/configuration/managing_daemons.diviner:31: phd - phabricator daemon launcher ./src/docs/user/configuration/managing_daemons.diviner:46:NOTE: When you upgrade Phabricator or change configuration, you should restart ./src/docs/user/configuration/configuring_inbound_email.diviner:5:may interact with some Phabricator applications via email. ./src/docs/user/configuration/configuring_inbound_email.diviner:10:Phabricator can process inbound mail in two general ways: ./src/docs/user/configuration/configuring_inbound_email.diviner:13:Phabricator can turn email into comments on the relevant discussion thread. ./src/docs/user/configuration/configuring_inbound_email.diviner:24: - Configure some mail domain to submit mail to Phabricator for processing. ./src/docs/user/configuration/configuring_inbound_email.diviner:37:delivered to Phabricator for processing. This step can be made much easier if ./src/docs/user/configuration/configuring_inbound_email.diviner:38:you use a third-party mail service which can submit mail to Phabricator via ./src/docs/user/configuration/configuring_inbound_email.diviner:41:Some available approaches for delivering mail to Phabricator are: ./src/docs/user/configuration/configuring_inbound_email.diviner:50:The remainder of this document walks through configuring Phabricator to ./src/docs/user/configuration/configuring_inbound_email.diviner:52:to Phabricator. ./src/docs/user/configuration/configuring_inbound_email.diviner:58:By default, Phabricator uses a `noreply@phabricator.example.com` email address ./src/docs/user/configuration/configuring_inbound_email.diviner:62:When a user takes an action that generates mail, Phabricator sets the ./src/docs/user/configuration/configuring_inbound_email.diviner:65:be recorded in Phabricator; and users will not be able to use email commands ./src/docs/user/configuration/configuring_inbound_email.diviner:71:`phabricator.example.com`. Once you set this key, email will use a ./src/docs/user/configuration/configuring_inbound_email.diviner:72:"Reply-To" like `T123+273+af310f9220ad@phabricator.example.com`, which -- when ./src/docs/user/configuration/configuring_inbound_email.diviner:77:If you don't want Phabricator to take up an entire domain (or subdomain) you ./src/docs/user/configuration/configuring_inbound_email.diviner:80:prefix of your choice, and Phabricator will prepend this to the "Reply-To" ./src/docs/user/configuration/configuring_inbound_email.diviner:90:email. For example, you could configure `bugs@phabricator.example.com` to ./src/docs/user/configuration/configuring_inbound_email.diviner:107:Phabricator by following the instructions below. Phabricator will let you add ./src/docs/user/configuration/configuring_inbound_email.diviner:145:NOTE: Phabricator does not currently attempt to verify "From" addresses because ./src/docs/user/configuration/configuring_inbound_email.diviner:158:help you determine if mail is being delivered to Phabricator or not: ./src/docs/user/configuration/configuring_inbound_email.diviner:182: `forward("https://phabricator.example.com/mail/mailgun/")`. Replace the ./src/docs/user/configuration/configuring_inbound_email.diviner:194:https:///mail/postmark/ ./src/docs/user/configuration/configuring_inbound_email.diviner:209: `phabricator.example.com MX 10 mx.sendgrid.net.` or similar. ./src/docs/user/configuration/configuring_inbound_email.diviner:213: - Add the URL `https://phabricator.example.com/mail/sendgrid/` as the "Url", ./src/docs/user/configuration/configuring_inbound_email.diviner:219: - Set `metamta.reply-handler-domain` to `phabricator.example.com` ./src/docs/user/configuration/configuring_inbound_email.diviner:223:to `anything@phabricator.example.com` and it should appear in ./src/docs/user/configuration/configuring_inbound_email.diviner:267:Now, you can actually configure sendmail to deliver to Phabricator. In ./src/docs/user/configuration/configuring_inbound_email.diviner:270: phabricator: "| /path/to/phabricator/scripts/mail/mail_handler.php" ./src/docs/user/configuration/configuring_inbound_email.diviner:289:That will forward all mail to @yourdomain.com to the Phabricator processing ./src/docs/user/configuration/configuring_encryption.diviner:9:Phabricator supports at-rest encryption of uploaded file data stored in the ./src/docs/user/configuration/configuring_encryption.diviner:16:Attackers who compromise a Phabricator host can read the master key and decrypt ./src/docs/user/configuration/configuring_encryption.diviner:84:the behavior of Phabricator if you haven't configured anything. ./src/docs/flavor/recommendations_on_branching.diviner:10:This document is purely advisory. Phabricator works with a variety of branching ./src/docs/flavor/recommendations_on_branching.diviner:16:This document describes a branching strategy used by Facebook and Phabricator to ./src/docs/flavor/recommendations_on_branching.diviner:121: - Phabricator just adds config options but defaults them to off. When ./src/docs/flavor/writing_reviewable_code.diviner:6:This document is purely advisory. Phabricator works with a variety of revision ./src/docs/flavor/writing_reviewable_code.diviner:13:Facebook and in Phabricator. In essence: ./src/docs/flavor/writing_reviewable_code.diviner:74:We generally follow these practices in Phabricator. The median change size for ./src/docs/flavor/writing_reviewable_code.diviner:75:Phabricator is 35 lines. ./src/docs/flavor/writing_reviewable_code.diviner:149:Phabricator does not have guidelines for this stuff. You can obviously set ./src/docs/flavor/so_many_databases.diviner:1:@title Why does Phabricator need so many databases? ./src/docs/flavor/so_many_databases.diviner:4:Phabricator uses about 60 databases (and we may have added more by the time you ./src/docs/flavor/so_many_databases.diviner:11:small startups to be able to install Phabricator and have it grow with them as ./src/docs/flavor/so_many_databases.diviner:14:A cost of this approach is that it makes Phabricator more difficult to install ./src/docs/flavor/so_many_databases.diviner:16:each database. However, Phabricator does a lot of advanced or complex things ./src/docs/flavor/so_many_databases.diviner:29:You can get a full list of the databases Phabricator needs with `bin/storage ./src/docs/flavor/so_many_databases.diviner:92:If you aren't developing Phabricator and never look at the data in the ./src/docs/flavor/so_many_databases.diviner:94:are a developer or want to extend Phabricator or look under the hood, it's ./src/docs/flavor/so_many_databases.diviner:121:run Phabricator on a shared host. These issues are why we strongly discourage ./src/docs/flavor/things_you_should_do_now.diviner:137:a solution in place yet, the Phabricator implementation of `qsprintf()` is ./src/docs/flavor/project_history.diviner:1:@title Phabricator Project History ./src/docs/flavor/project_history.diviner:60:Phabricator. ./src/docs/flavor/about_flavor_text.diviner:9:development in general, not necessarily to Phabricator specifically. ./src/docs/flavor/recommendations_on_revision_control.diviner:6:This document is purely advisory. Phabricator works with a variety of revision ./src/docs/flavor/recommendations_on_revision_control.diviner:11:representative of the views of the Phabricator team as a whole. ./src/aphront/response/__tests__/AphrontRedirectResponseTestCase.php:11: 'http://phabricator.example.com/a', ./src/aphront/AphrontRequest.php:6: * @task cluster Working With a Phabricator Cluster ./src/aphront/AphrontRequest.php:357: 'You are trying to save some data to Phabricator, but the request '. ./src/aphront/AphrontRequest.php:375: if (PhabricatorEnv::getEnvConfig('phabricator.developer-mode')) { ./src/aphront/AphrontRequest.php:501: $base_uri = PhabricatorEnv::getEnvConfig('phabricator.base-uri'); ./src/aphront/AphrontRequest.php:506: $alternates = PhabricatorEnv::getEnvConfig('phabricator.allowed-uris'); ./src/aphront/AphrontRequest.php:584: $configured_as = PhabricatorEnv::getEnvConfig('phabricator.base-uri'); ./src/aphront/AphrontRequest.php:590: 'This Phabricator install is configured as "%s", but you are '. ./src/aphront/AphrontRequest.php:592: 'set a cookie. Access Phabricator on the configured primary '. ./src/aphront/AphrontRequest.php:593: 'domain or a configured alternate domain. Phabricator will not '. ./src/aphront/AphrontRequest.php:815:/* -( Working With a Phabricator Cluster )--------------------------------- */ ./src/aphront/AphrontRequest.php:819: * Is this a proxied request originating from within the Phabricator cluster? ./src/aphront/site/PhabricatorPlatformSite.php:16: $base_uri = PhabricatorEnv::getEnvConfig('phabricator.base-uri'); ./src/aphront/site/PhabricatorPlatformSite.php:23: $uris[] = PhabricatorEnv::getEnvConfig('phabricator.production-uri'); ./src/aphront/site/PhabricatorPlatformSite.php:25: $allowed = PhabricatorEnv::getEnvConfig('phabricator.allowed-uris'); ./src/aphront/configuration/AphrontApplicationConfiguration.php:23: $cookie_prefix = PhabricatorEnv::getEnvConfig('phabricator.cookie-prefix'); ./src/aphront/configuration/AphrontApplicationConfiguration.php:121: if (PhabricatorEnv::getEnvConfig('phabricator.developer-mode')) { ./src/aphront/configuration/AphrontApplicationConfiguration.php:189: // has not configured "phabricator.base-uri" yet, we'll use this to generate ./src/aphront/configuration/AphrontApplicationConfiguration.php:422: 'Phabricator is configured to operate in cluster mode, but '. ./src/aphront/configuration/AphrontApplicationConfiguration.php:424: 'configuration needs to forward %s to PHP so Phabricator can '. ./src/aphront/configuration/AphrontApplicationConfiguration.php:434: 'Phabricator is configured in cluster mode and the address '. ./src/aphront/handler/PhabricatorPolicyRequestExceptionHandler.php:91: $is_developer = PhabricatorEnv::getEnvConfig('phabricator.developer-mode'); ./src/aphront/handler/PhabricatorDefaultRequestExceptionHandler.php:54: if (PhabricatorEnv::getEnvConfig('phabricator.developer-mode')) { ./src/infrastructure/storage/lisk/PhabricatorLiskDAO.php:141: 'database "%s") because Phabricator is in read-only mode. Whatever '. ./src/infrastructure/storage/management/workflow/PhabricatorStorageManagementDestroyWorkflow.php:50: 'all storage for Phabricator data on host "%s"? This operation '. ./src/infrastructure/storage/management/workflow/PhabricatorStorageManagementUpgradeWorkflow.php:49: 'Phabricator web interface and stop any running Phabricator '. ./src/infrastructure/storage/management/workflow/PhabricatorStorageManagementDumpWorkflow.php:141: // Phabricator may have had a table that was later dropped. We assume ./src/infrastructure/storage/management/workflow/PhabricatorStorageManagementDatabasesWorkflow.php:10: ->setSynopsis(pht('List Phabricator databases.')); ./src/infrastructure/storage/management/workflow/PhabricatorStorageManagementQuickstartWorkflow.php:13: 'useful when developing Phabricator.')) ./src/infrastructure/storage/management/workflow/PhabricatorStorageManagementWorkflow.php:50: 'Phabricator is configured in cluster mode, with multiple database '. ./src/infrastructure/storage/management/workflow/PhabricatorStorageManagementWorkflow.php:101: 'Phabricator is currently in read-only mode. Use --force to '. ./src/infrastructure/storage/management/workflow/PhabricatorStorageManagementWorkflow.php:192: "You can exit this workflow, continue using Phabricator without ". ./src/infrastructure/storage/management/workflow/PhabricatorStorageManagementWorkflow.php:829: 'You have surplus schemata (extra tables or columns which Phabricator '. ./src/infrastructure/storage/management/workflow/PhabricatorStorageManagementWorkflow.php:847: 'all of the database or tables that Phabricator uses. You need to '. ./src/infrastructure/storage/management/workflow/PhabricatorStorageManagementWorkflow.php:854: 'tables or columns which Phabricator does not expect). These are '. ./src/infrastructure/storage/management/workflow/PhabricatorStorageManagementWorkflow.php:861: 'If you are not developing Phabricator itself, report this issue to '. ./src/infrastructure/storage/management/workflow/PhabricatorStorageManagementWorkflow.php:865: 'If you are developing Phabricator, these errors usually indicate '. ./src/infrastructure/contentsource/PhabricatorContentSource.php:45: 'Content source type "%s" is not known to Phabricator!', ./src/infrastructure/export/format/PhabricatorExcelExportFormat.php:36:installed. This software component is required for Phabricator to create ./src/infrastructure/cluster/PhabricatorDatabaseRefParser.php:93: 'Phabricator is configured with multiple master databases, '. ./src/infrastructure/cluster/PhabricatorDatabaseRef.php:355: '"REPLICATION CLIENT" permission to allow Phabricator to '. ./src/infrastructure/util/password/PhabricatorPasswordHasher.php:310: 'hasher is known to Phabricator.', ./src/infrastructure/util/PhabricatorHash.php:25: "Set a '%s' in your Phabricator configuration!", ./src/infrastructure/testing/PhabricatorTestCase.php:102: 'phabricator.uninstalled-applications', ./src/infrastructure/testing/PhabricatorTestCase.php:105: 'phabricator.show-prototypes', ./src/infrastructure/testing/PhabricatorTestCase.php:110: 'phabricator.application-settings', ./src/infrastructure/testing/PhabricatorTestCase.php:120: 'phabricator.base-uri', ./src/infrastructure/testing/PhabricatorTestCase.php:121: 'http://phabricator.example.com'); ./src/infrastructure/testing/PhabricatorTestCase.php:128: $this->env->overrideEnvConfig('phabricator.silent', false); ./src/infrastructure/daemon/workers/management/PhabricatorWorkerManagementFloodWorkflow.php:13: 'use when developing and debugging Phabricator.')) ./src/infrastructure/daemon/PhabricatorDaemon.php:8: $phabricator = phutil_get_library_root('phabricator'); ./src/infrastructure/daemon/PhabricatorDaemon.php:9: $root = dirname($phabricator); ./src/infrastructure/daemon/overseer/PhabricatorDaemonOverseerModule.php:23: * Calculate a version number for the current Phabricator configuration. ./src/infrastructure/env/PhabricatorConfigFileSource.php:17: $dictionary['phabricator.env'] = $config; ./src/infrastructure/env/PhabricatorEnv.php:12: * Phabricator configuration, @{method:getEnvConfig}: ./src/infrastructure/env/PhabricatorEnv.php:97: // Force a valid timezone. If both PHP and Phabricator configuration are ./src/infrastructure/env/PhabricatorEnv.php:99: $tz = self::getEnvConfig('phabricator.timezone'); ./src/infrastructure/env/PhabricatorEnv.php:218: // pull in all options from non-phabricator libraries now they are loaded. ./src/infrastructure/env/PhabricatorEnv.php:423: $production_domain = self::getEnvConfig('phabricator.production-uri'); ./src/infrastructure/env/PhabricatorEnv.php:450: $allowed_uris = self::getEnvConfig('phabricator.allowed-uris'); ./src/infrastructure/env/PhabricatorEnv.php:498: 'https://secure.phabricator.com/diviner/find/', ./src/infrastructure/env/PhabricatorEnv.php:516: $base_uri = self::getEnvConfig('phabricator.base-uri'); ./src/infrastructure/env/PhabricatorEnv.php:526: 'phabricator.base-uri')); ./src/infrastructure/env/PhabricatorEnv.php:557: 'Phabricator is in read-only mode (no writable database '. ./src/infrastructure/env/PhabricatorEnv.php:561: 'Phabricator is in read-only mode (unreachable master).'); ./src/infrastructure/env/PhabricatorEnv.php:564: 'Phabricator is in read-only mode (major interruption).'); ./src/infrastructure/env/PhabricatorEnv.php:567: return pht('Phabricator is in read-only mode.'); ./src/infrastructure/env/PhabricatorEnv.php:887: 'Phabricator is not configured to serve cluster requests. '. ./src/infrastructure/env/PhabricatorEnv.php:976: * user accounts that Phabricator acts as. ./src/infrastructure/env/__tests__/PhabricatorEnvTestCase.php:229: $env->overrideEnvConfig('phabricator.base-uri', $base_uri); ./src/infrastructure/env/__tests__/PhabricatorEnvTestCase.php:230: $env->overrideEnvConfig('phabricator.allowed-uris', $allowed_uris); ./src/infrastructure/markup/render.php:38: // in Phabricator. ./src/infrastructure/events/PhabricatorExampleEventListener.php:4: * Example event listener. For details about installing Phabricator event hooks, ./src/infrastructure/internationalization/translation/PhabricatorUSEnglishTranslation.php:499: 'The current Phabricator configuration has these %d value(s):' => array( ./src/infrastructure/internationalization/translation/PhabricatorUSEnglishTranslation.php:500: 'The current Phabricator configuration has this value:', ./src/infrastructure/internationalization/translation/PhabricatorUSEnglishTranslation.php:501: 'The current Phabricator configuration has these values:', ./src/infrastructure/internationalization/translation/PhabricatorUSEnglishTranslation.php:1059: 'Phabricator is configured with an email domain whitelist (in %s), so '. ./src/infrastructure/internationalization/translation/PhabricatorUSEnglishTranslation.php:1063: 'Phabricator is configured with an email domain whitelist (in %s), '. ./src/infrastructure/internationalization/translation/PhabricatorUSEnglishTranslation.php:1066: 'Phabricator is configured with an email domain whitelist (in %s), '. ./src/infrastructure/internationalization/translation/PhabricatorBritishEnglishTranslation.php:23: 'Configure the Phabricator UI, including colors.' => ./src/infrastructure/internationalization/translation/PhabricatorBritishEnglishTranslation.php:24: 'Configure the Phabricator UI, including colours.', ./src/infrastructure/javelin/markup.php:92: // This can be confusing, if you're developing for Phabricator and ./src/view/page/PhabricatorBarePageView.php:4: * This is a bare HTML page view which has access to Phabricator page ./src/view/page/PhabricatorStandardPageView.php:4: * This is a standard Phabricator page with menus, Javelin, DarkConsole, and ./src/view/page/PhabricatorStandardPageView.php:279: 'Phabricator thinks you are using %s, but your '. ./src/view/page/PhabricatorStandardPageView.php:457: if (PhabricatorEnv::getEnvConfig('phabricator.developer-mode') && ./src/view/page/AphrontPageView.php:62: if (PhabricatorEnv::getEnvConfig('phabricator.developer-mode')) { ./src/view/widget/AphrontStackTraceView.php:18: $path = 'https://secure.phabricator.com/diffusion/%s/browse/master/src/';