2011-01-16 22:51:39 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This file is automatically generated. Use 'phutil_mapper.php' to rebuild it.
|
|
|
|
* @generated
|
|
|
|
*/
|
|
|
|
|
|
|
|
phutil_register_library_map(array(
|
|
|
|
'class' =>
|
|
|
|
array(
|
2011-05-09 10:10:40 +02:00
|
|
|
'Aphront304Response' => 'aphront/response/304',
|
2011-01-30 21:08:40 +01:00
|
|
|
'Aphront400Response' => 'aphront/response/400',
|
2011-01-16 22:51:39 +01:00
|
|
|
'Aphront404Response' => 'aphront/response/404',
|
2011-01-25 20:57:47 +01:00
|
|
|
'AphrontAjaxResponse' => 'aphront/response/ajax',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontApplicationConfiguration' => 'aphront/applicationconfiguration',
|
Improve drag-and-drop uploader
Summary:
Make it discoverable, show uploading progress, show file thumbnails, allow you
to remove files, make it a generic form component.
Test Plan:
Uploaded ducks
Reviewed By: tomo
Reviewers: aran, tomo, jungejason, tuomaspelkonen
CC: anjali, aran, epriestley, tomo
Differential Revision: 334
2011-05-23 01:11:41 +02:00
|
|
|
'AphrontAttachedFileView' => 'view/control/attachedfile',
|
Fix conservative CSRF token cycling limit
Summary:
We currently cycle CSRF tokens every hour and check for the last two valid ones.
This means that a form could go stale in as little as an hour, and is certainly
stale after two.
When a stale form is submitted, you basically get a terrible heisen-state where
some of your data might persist if you're lucky but more likely it all just
vanishes. The .js file below outlines some more details.
This is a pretty terrible UX and we don't need to be as conservative about CSRF
validation as we're being. Remedy this problem by:
- Accepting the last 6 CSRF tokens instead of the last 1 (i.e., pages are
valid for at least 6 hours, and for as long as 7).
- Using JS to refresh the CSRF token every 55 minutes (i.e., pages connected
to the internet are valid indefinitely).
- Showing the user an explicit message about what went wrong when CSRF
validation fails so the experience is less bewildering.
They should now only be able to submit with a bad CSRF token if:
- They load a page, disconnect from the internet for 7 hours, reconnect, and
submit the form within 55 minutes; or
- They are actually the victim of a CSRF attack.
We could eventually fix the first one by tracking reconnects, which might be
"free" once the notification server gets built. It will probably never be an
issue in practice.
Test Plan:
- Reduced CSRF cycle frequency to 2 seconds, submitted a form after 15
seconds, got the CSRF exception.
- Reduced csrf-refresh cycle frequency to 3 seconds, submitted a form after 15
seconds, got a clean form post.
- Added debugging code the the csrf refresh to make sure it was doing sensible
things (pulling different tokens, finding all the inputs).
Reviewed By: aran
Reviewers: tuomaspelkonen, jungejason, aran
CC: aran, epriestley
Differential Revision: 660
2011-07-13 23:05:18 +02:00
|
|
|
'AphrontCSRFException' => 'aphront/exception/csrf',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontController' => 'aphront/controller',
|
2011-03-13 01:17:34 +01:00
|
|
|
'AphrontCrumbsView' => 'view/layout/crumbs',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontDatabaseConnection' => 'storage/connection/base',
|
|
|
|
'AphrontDefaultApplicationConfiguration' => 'aphront/default/configuration',
|
|
|
|
'AphrontDefaultApplicationController' => 'aphront/default/controller',
|
|
|
|
'AphrontDialogResponse' => 'aphront/response/dialog',
|
|
|
|
'AphrontDialogView' => 'view/dialog',
|
|
|
|
'AphrontErrorView' => 'view/form/error',
|
2011-01-26 22:21:12 +01:00
|
|
|
'AphrontException' => 'aphront/exception/base',
|
2011-05-23 02:06:42 +02:00
|
|
|
'AphrontFilePreviewView' => 'view/layout/filepreview',
|
2011-01-23 03:33:00 +01:00
|
|
|
'AphrontFileResponse' => 'aphront/response/file',
|
2011-01-26 02:40:21 +01:00
|
|
|
'AphrontFormCheckboxControl' => 'view/form/control/checkbox',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontFormControl' => 'view/form/control/base',
|
2011-02-05 02:53:14 +01:00
|
|
|
'AphrontFormDividerControl' => 'view/form/control/divider',
|
Improve drag-and-drop uploader
Summary:
Make it discoverable, show uploading progress, show file thumbnails, allow you
to remove files, make it a generic form component.
Test Plan:
Uploaded ducks
Reviewed By: tomo
Reviewers: aran, tomo, jungejason, tuomaspelkonen
CC: anjali, aran, epriestley, tomo
Differential Revision: 334
2011-05-23 01:11:41 +02:00
|
|
|
'AphrontFormDragAndDropUploadControl' => 'view/form/control/draganddropupload',
|
2011-01-23 03:33:00 +01:00
|
|
|
'AphrontFormFileControl' => 'view/form/control/file',
|
2011-06-10 00:28:29 +02:00
|
|
|
'AphrontFormLayoutView' => 'view/form/layout',
|
2011-01-24 20:36:53 +01:00
|
|
|
'AphrontFormMarkupControl' => 'view/form/control/markup',
|
2011-01-31 20:55:26 +01:00
|
|
|
'AphrontFormPasswordControl' => 'view/form/control/password',
|
|
|
|
'AphrontFormRecaptchaControl' => 'view/form/control/recaptcha',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontFormSelectControl' => 'view/form/control/select',
|
2011-01-23 03:33:00 +01:00
|
|
|
'AphrontFormStaticControl' => 'view/form/control/static',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontFormSubmitControl' => 'view/form/control/submit',
|
|
|
|
'AphrontFormTextAreaControl' => 'view/form/control/textarea',
|
|
|
|
'AphrontFormTextControl' => 'view/form/control/text',
|
2011-04-04 00:50:06 +02:00
|
|
|
'AphrontFormToggleButtonsControl' => 'view/form/control/togglebuttons',
|
2011-01-25 22:48:05 +01:00
|
|
|
'AphrontFormTokenizerControl' => 'view/form/control/tokenizer',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontFormView' => 'view/form/base',
|
2011-02-20 21:50:28 +01:00
|
|
|
'AphrontHeadsupActionListView' => 'view/layout/headsup/actionlist',
|
|
|
|
'AphrontHeadsupActionView' => 'view/layout/headsup/action',
|
2011-04-30 19:11:41 +02:00
|
|
|
'AphrontIsolatedDatabaseConnection' => 'storage/connection/isolated',
|
|
|
|
'AphrontIsolatedDatabaseConnectionTestCase' => 'storage/connection/isolated/__tests__',
|
2011-06-08 20:53:10 +02:00
|
|
|
'AphrontKeyboardShortcutsAvailableView' => 'view/widget/keyboardshortcuts',
|
2011-04-04 00:50:06 +02:00
|
|
|
'AphrontListFilterView' => 'view/layout/listfilter',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontMySQLDatabaseConnection' => 'storage/connection/mysql',
|
|
|
|
'AphrontNullView' => 'view/null',
|
|
|
|
'AphrontPageView' => 'view/page/base',
|
2011-04-01 02:06:33 +02:00
|
|
|
'AphrontPagerView' => 'view/control/pager',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontPanelView' => 'view/layout/panel',
|
2011-04-30 09:18:13 +02:00
|
|
|
'AphrontQueryAccessDeniedException' => 'storage/exception/accessdenied',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontQueryConnectionException' => 'storage/exception/connection',
|
|
|
|
'AphrontQueryConnectionLostException' => 'storage/exception/connectionlost',
|
|
|
|
'AphrontQueryCountException' => 'storage/exception/count',
|
2011-01-31 06:28:45 +01:00
|
|
|
'AphrontQueryDuplicateKeyException' => 'storage/exception/duplicatekey',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontQueryException' => 'storage/exception/base',
|
|
|
|
'AphrontQueryObjectMissingException' => 'storage/exception/objectmissing',
|
|
|
|
'AphrontQueryParameterException' => 'storage/exception/parameter',
|
|
|
|
'AphrontQueryRecoverableException' => 'storage/exception/recoverable',
|
2011-01-26 22:21:12 +01:00
|
|
|
'AphrontRedirectException' => 'aphront/exception/redirect',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontRedirectResponse' => 'aphront/response/redirect',
|
2011-05-16 20:43:39 +02:00
|
|
|
'AphrontReloadResponse' => 'aphront/response/reload',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontRequest' => 'aphront/request',
|
2011-01-30 18:15:01 +01:00
|
|
|
'AphrontRequestFailureView' => 'view/page/failure',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontResponse' => 'aphront/response/base',
|
2011-01-24 18:00:29 +01:00
|
|
|
'AphrontSideNavView' => 'view/layout/sidenav',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontTableView' => 'view/control/table',
|
2011-03-23 04:41:02 +01:00
|
|
|
'AphrontTokenizerTemplateView' => 'view/control/tokenizer',
|
2011-04-04 04:20:47 +02:00
|
|
|
'AphrontTypeaheadTemplateView' => 'view/control/typeahead',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontURIMapper' => 'aphront/mapper',
|
|
|
|
'AphrontView' => 'view/base',
|
|
|
|
'AphrontWebpageResponse' => 'aphront/response/webpage',
|
2011-01-31 20:55:26 +01:00
|
|
|
'CelerityAPI' => 'infrastructure/celerity/api',
|
|
|
|
'CelerityResourceController' => 'infrastructure/celerity/controller',
|
|
|
|
'CelerityResourceMap' => 'infrastructure/celerity/map',
|
|
|
|
'CelerityStaticResourceResponse' => 'infrastructure/celerity/response',
|
2011-01-24 18:00:29 +01:00
|
|
|
'ConduitAPIMethod' => 'applications/conduit/method/base',
|
|
|
|
'ConduitAPIRequest' => 'applications/conduit/protocol/request',
|
2011-01-24 20:30:10 +01:00
|
|
|
'ConduitAPI_conduit_connect_Method' => 'applications/conduit/method/conduit/connect',
|
2011-06-14 21:17:14 +02:00
|
|
|
'ConduitAPI_conduit_getcertificate_Method' => 'applications/conduit/method/conduit/getcertificate',
|
2011-02-19 07:36:32 +01:00
|
|
|
'ConduitAPI_conduit_ping_Method' => 'applications/conduit/method/conduit/ping',
|
2011-03-15 21:38:14 +01:00
|
|
|
'ConduitAPI_daemon_launched_Method' => 'applications/conduit/method/daemon/launched',
|
|
|
|
'ConduitAPI_daemon_log_Method' => 'applications/conduit/method/daemon/log',
|
2011-01-24 20:01:53 +01:00
|
|
|
'ConduitAPI_differential_creatediff_Method' => 'applications/conduit/method/differential/creatediff',
|
2011-02-06 22:49:23 +01:00
|
|
|
'ConduitAPI_differential_createrevision_Method' => 'applications/conduit/method/differential/createrevision',
|
2011-02-06 23:43:06 +01:00
|
|
|
'ConduitAPI_differential_find_Method' => 'applications/conduit/method/differential/find',
|
2011-04-21 00:29:02 +02:00
|
|
|
'ConduitAPI_differential_getalldiffs_Method' => 'applications/conduit/method/differential/getalldiffs',
|
2011-02-09 18:41:26 +01:00
|
|
|
'ConduitAPI_differential_getcommitmessage_Method' => 'applications/conduit/method/differential/getcommitmessage',
|
2011-02-19 07:28:03 +01:00
|
|
|
'ConduitAPI_differential_getcommitpaths_Method' => 'applications/conduit/method/differential/getcommitpaths',
|
2011-02-19 07:15:28 +01:00
|
|
|
'ConduitAPI_differential_getdiff_Method' => 'applications/conduit/method/differential/getdiff',
|
2011-04-21 01:38:16 +02:00
|
|
|
'ConduitAPI_differential_getrevision_Method' => 'applications/conduit/method/differential/getrevision',
|
2011-04-20 01:24:45 +02:00
|
|
|
'ConduitAPI_differential_getrevisionfeedback_Method' => 'applications/conduit/method/differential/getrevisionfeedback',
|
2011-02-09 18:48:26 +01:00
|
|
|
'ConduitAPI_differential_markcommitted_Method' => 'applications/conduit/method/differential/markcommitted',
|
2011-02-06 22:42:00 +01:00
|
|
|
'ConduitAPI_differential_parsecommitmessage_Method' => 'applications/conduit/method/differential/parsecommitmessage',
|
2011-01-24 21:07:34 +01:00
|
|
|
'ConduitAPI_differential_setdiffproperty_Method' => 'applications/conduit/method/differential/setdiffproperty',
|
2011-02-06 23:00:32 +01:00
|
|
|
'ConduitAPI_differential_updaterevision_Method' => 'applications/conduit/method/differential/updaterevision',
|
2011-04-22 03:47:04 +02:00
|
|
|
'ConduitAPI_differential_updatetaskrevisionassoc_Method' => 'applications/conduit/method/differential/updatetaskrevisionassoc',
|
2011-06-09 01:16:59 +02:00
|
|
|
'ConduitAPI_differential_updateunitresults_Method' => 'applications/conduit/method/differential/updateunitresults',
|
2011-04-14 01:39:08 +02:00
|
|
|
'ConduitAPI_diffusion_getcommits_Method' => 'applications/conduit/method/diffusion/getcommits',
|
2011-05-20 00:36:17 +02:00
|
|
|
'ConduitAPI_diffusion_getrecentcommitsbypath_Method' => 'applications/conduit/method/diffusion/getrecentcommitsbypath',
|
2011-07-05 17:35:18 +02:00
|
|
|
'ConduitAPI_feed_publish_Method' => 'applications/conduit/method/feed/publish',
|
2011-05-21 18:53:50 +02:00
|
|
|
'ConduitAPI_file_download_Method' => 'applications/conduit/method/file/download',
|
2011-01-24 18:00:29 +01:00
|
|
|
'ConduitAPI_file_upload_Method' => 'applications/conduit/method/file/upload',
|
2011-06-27 10:00:28 +02:00
|
|
|
'ConduitAPI_maniphest_info_Method' => 'applications/conduit/method/maniphest/info',
|
2011-06-14 07:21:30 +02:00
|
|
|
'ConduitAPI_paste_info_Method' => 'applications/conduit/method/paste/info',
|
2011-04-12 06:51:36 +02:00
|
|
|
'ConduitAPI_path_getowners_Method' => 'applications/conduit/method/path/getowners',
|
2011-07-13 04:18:20 +02:00
|
|
|
'ConduitAPI_slowvote_info_Method' => 'applications/conduit/method/slowvote/info',
|
2011-01-24 20:36:53 +01:00
|
|
|
'ConduitAPI_user_find_Method' => 'applications/conduit/method/user/find',
|
2011-04-08 03:27:39 +02:00
|
|
|
'ConduitAPI_user_whoami_Method' => 'applications/conduit/method/user/whoami',
|
2011-01-24 18:00:29 +01:00
|
|
|
'ConduitException' => 'applications/conduit/protocol/exception',
|
2011-02-02 22:48:52 +01:00
|
|
|
'DarkConsole' => 'aphront/console/api',
|
2011-02-12 01:48:43 +01:00
|
|
|
'DarkConsoleConfigPlugin' => 'aphront/console/plugin/config',
|
2011-02-02 22:48:52 +01:00
|
|
|
'DarkConsoleController' => 'aphront/console/controller',
|
|
|
|
'DarkConsoleCore' => 'aphront/console/core',
|
|
|
|
'DarkConsoleErrorLogPlugin' => 'aphront/console/plugin/errorlog',
|
2011-02-03 07:38:42 +01:00
|
|
|
'DarkConsoleErrorLogPluginAPI' => 'aphront/console/plugin/errorlog/api',
|
2011-02-02 22:48:52 +01:00
|
|
|
'DarkConsolePlugin' => 'aphront/console/plugin/base',
|
|
|
|
'DarkConsoleRequestPlugin' => 'aphront/console/plugin/request',
|
|
|
|
'DarkConsoleServicesPlugin' => 'aphront/console/plugin/services',
|
|
|
|
'DarkConsoleXHProfPlugin' => 'aphront/console/plugin/xhprof',
|
|
|
|
'DarkConsoleXHProfPluginAPI' => 'aphront/console/plugin/xhprof/api',
|
2011-04-30 02:23:25 +02:00
|
|
|
'DatabaseConfigurationProvider' => 'applications/base/storage/configuration',
|
2011-01-24 03:10:20 +01:00
|
|
|
'DifferentialAction' => 'applications/differential/constants/action',
|
2011-01-30 20:02:22 +01:00
|
|
|
'DifferentialAddCommentView' => 'applications/differential/view/addcomment',
|
2011-01-26 02:17:19 +01:00
|
|
|
'DifferentialCCWelcomeMail' => 'applications/differential/mail/ccwelcome',
|
2011-01-24 03:10:20 +01:00
|
|
|
'DifferentialChangeType' => 'applications/differential/constants/changetype',
|
2011-01-24 20:01:53 +01:00
|
|
|
'DifferentialChangeset' => 'applications/differential/storage/changeset',
|
2011-01-24 22:18:41 +01:00
|
|
|
'DifferentialChangesetDetailView' => 'applications/differential/view/changesetdetailview',
|
2011-01-25 20:57:47 +01:00
|
|
|
'DifferentialChangesetListView' => 'applications/differential/view/changesetlistview',
|
2011-01-25 00:52:35 +01:00
|
|
|
'DifferentialChangesetParser' => 'applications/differential/parser/changeset',
|
|
|
|
'DifferentialChangesetViewController' => 'applications/differential/controller/changesetview',
|
2011-01-30 19:37:36 +01:00
|
|
|
'DifferentialComment' => 'applications/differential/storage/comment',
|
2011-01-30 21:08:40 +01:00
|
|
|
'DifferentialCommentEditor' => 'applications/differential/editor/comment',
|
|
|
|
'DifferentialCommentMail' => 'applications/differential/mail/comment',
|
2011-02-01 03:05:20 +01:00
|
|
|
'DifferentialCommentPreviewController' => 'applications/differential/controller/commentpreview',
|
2011-01-30 21:08:40 +01:00
|
|
|
'DifferentialCommentSaveController' => 'applications/differential/controller/commentsave',
|
2011-02-06 22:42:00 +01:00
|
|
|
'DifferentialCommitMessage' => 'applications/differential/parser/commitmessage',
|
2011-02-09 18:41:26 +01:00
|
|
|
'DifferentialCommitMessageData' => 'applications/differential/data/commitmessage',
|
2011-06-29 21:05:19 +02:00
|
|
|
'DifferentialCommitMessageField' => 'applications/differential/data/commitmessage',
|
2011-06-29 00:47:43 +02:00
|
|
|
'DifferentialCommitMessageModifier' => 'applications/differential/data/commitmessage',
|
2011-02-06 22:42:00 +01:00
|
|
|
'DifferentialCommitMessageParserException' => 'applications/differential/parser/commitmessage/exception',
|
2011-01-24 22:18:41 +01:00
|
|
|
'DifferentialController' => 'applications/differential/controller/base',
|
2011-01-24 20:01:53 +01:00
|
|
|
'DifferentialDAO' => 'applications/differential/storage/base',
|
|
|
|
'DifferentialDiff' => 'applications/differential/storage/diff',
|
2011-01-26 02:17:19 +01:00
|
|
|
'DifferentialDiffContentMail' => 'applications/differential/mail/diffcontent',
|
2011-02-05 21:20:18 +01:00
|
|
|
'DifferentialDiffCreateController' => 'applications/differential/controller/diffcreate',
|
2011-01-24 21:07:34 +01:00
|
|
|
'DifferentialDiffProperty' => 'applications/differential/storage/diffproperty',
|
2011-01-24 22:18:41 +01:00
|
|
|
'DifferentialDiffTableOfContentsView' => 'applications/differential/view/difftableofcontents',
|
|
|
|
'DifferentialDiffViewController' => 'applications/differential/controller/diffview',
|
2011-05-01 04:40:05 +02:00
|
|
|
'DifferentialExceptionMail' => 'applications/differential/mail/exception',
|
2011-01-24 20:01:53 +01:00
|
|
|
'DifferentialHunk' => 'applications/differential/storage/hunk',
|
2011-02-02 00:52:04 +01:00
|
|
|
'DifferentialInlineComment' => 'applications/differential/storage/inlinecomment',
|
2011-02-02 01:42:36 +01:00
|
|
|
'DifferentialInlineCommentEditController' => 'applications/differential/controller/inlinecommentedit',
|
2011-02-03 04:38:43 +01:00
|
|
|
'DifferentialInlineCommentPreviewController' => 'applications/differential/controller/inlinecommentpreview',
|
2011-02-02 01:42:36 +01:00
|
|
|
'DifferentialInlineCommentView' => 'applications/differential/view/inlinecomment',
|
2011-01-24 03:10:20 +01:00
|
|
|
'DifferentialLintStatus' => 'applications/differential/constants/lintstatus',
|
2011-01-26 02:17:19 +01:00
|
|
|
'DifferentialMail' => 'applications/differential/mail/base',
|
|
|
|
'DifferentialNewDiffMail' => 'applications/differential/mail/newdiff',
|
2011-06-08 21:39:03 +02:00
|
|
|
'DifferentialPrimaryPaneView' => 'applications/differential/view/primarypane',
|
2011-05-01 04:40:05 +02:00
|
|
|
'DifferentialReplyHandler' => 'applications/differential/replyhandler',
|
2011-01-26 02:17:19 +01:00
|
|
|
'DifferentialReviewRequestMail' => 'applications/differential/mail/reviewrequest',
|
2011-01-24 20:01:53 +01:00
|
|
|
'DifferentialRevision' => 'applications/differential/storage/revision',
|
2011-01-30 19:37:36 +01:00
|
|
|
'DifferentialRevisionCommentListView' => 'applications/differential/view/revisioncommentlist',
|
|
|
|
'DifferentialRevisionCommentView' => 'applications/differential/view/revisioncomment',
|
2011-01-24 20:01:53 +01:00
|
|
|
'DifferentialRevisionControlSystem' => 'applications/differential/constants/revisioncontrolsystem',
|
2011-04-13 00:57:29 +02:00
|
|
|
'DifferentialRevisionDetailRenderer' => 'applications/differential/controller/customrenderer',
|
2011-01-27 23:55:52 +01:00
|
|
|
'DifferentialRevisionDetailView' => 'applications/differential/view/revisiondetail',
|
2011-01-25 22:26:09 +01:00
|
|
|
'DifferentialRevisionEditController' => 'applications/differential/controller/revisionedit',
|
2011-01-26 02:17:19 +01:00
|
|
|
'DifferentialRevisionEditor' => 'applications/differential/editor/revision',
|
2011-01-26 00:19:06 +01:00
|
|
|
'DifferentialRevisionListController' => 'applications/differential/controller/revisionlist',
|
2011-01-27 20:35:04 +01:00
|
|
|
'DifferentialRevisionListData' => 'applications/differential/data/revisionlist',
|
2011-01-24 03:10:20 +01:00
|
|
|
'DifferentialRevisionStatus' => 'applications/differential/constants/revisionstatus',
|
2011-01-27 23:55:52 +01:00
|
|
|
'DifferentialRevisionUpdateHistoryView' => 'applications/differential/view/revisionupdatehistory',
|
|
|
|
'DifferentialRevisionViewController' => 'applications/differential/controller/revisionview',
|
2011-02-19 23:36:13 +01:00
|
|
|
'DifferentialSubscribeController' => 'applications/differential/controller/subscribe',
|
2011-04-22 02:53:18 +02:00
|
|
|
'DifferentialTasksAttacher' => 'applications/differential/tasks',
|
2011-01-24 03:10:20 +01:00
|
|
|
'DifferentialUnitStatus' => 'applications/differential/constants/unitstatus',
|
2011-06-09 01:16:59 +02:00
|
|
|
'DifferentialUnitTestResult' => 'applications/differential/constants/unittestresult',
|
Differential Updates View
Summary:
This adds a new view to differential called Updates.
The high-level goal of Updates is to enabled differential to be
effectively used without email notifications. I've tried doing things
like automatically deleting differential emails where I'm in the 'to'
line since they show up on the main diffential page but then there's
always the chance an important diff flies by without me seeing it. Also,
sometimes someone comments on a diff post-commit but differential
doesn't surface those diffs.
I re-created a test db on my devserver using mysqldump to get data on
revs > 230000 so I would have some test data. We need to add a simple
viewtime table but I didn't want to do that in production. Here's the
table:
CREATE TABLE differential_viewtime (
viewerPHID varchar(64) not null,
objectPHID varchar(64) not null,
viewTime int unsigned not null,
PRIMARY KEY (viewerPHID, objectPHID)
);
Issues:
-Once we turn this on, all diffs will be 'unviewed'. What do you think
about a 'Clear All' button or something?
-Maybe we should add a pager
This feature would be insanely useful, let me know what you think.
Test Plan:
Loaded Updates in my sandbox
http://phabricator.dev1577.snc6.facebook.com/differential/filter/updates/
Clicked a diff, then went back, made sure diff disappeared from Updates
list
Reviewed By: tuomaspelkonen
Reviewers: epriestley, jungejason, tuomaspelkonen
Commenters: epriestley
CC: epriestley, elynde, tuomaspelkonen
Differential Revision: 169
2011-04-27 10:27:06 +02:00
|
|
|
'DifferentialViewTime' => 'applications/differential/storage/viewtime',
|
2011-03-13 01:17:34 +01:00
|
|
|
'DiffusionBranchInformation' => 'applications/diffusion/data/branch',
|
|
|
|
'DiffusionBranchQuery' => 'applications/diffusion/query/branch/base',
|
|
|
|
'DiffusionBranchTableView' => 'applications/diffusion/view/branchtable',
|
2011-03-08 02:25:47 +01:00
|
|
|
'DiffusionBrowseController' => 'applications/diffusion/controller/browse',
|
2011-03-08 18:54:55 +01:00
|
|
|
'DiffusionBrowseFileController' => 'applications/diffusion/controller/file',
|
2011-03-08 02:25:47 +01:00
|
|
|
'DiffusionBrowseQuery' => 'applications/diffusion/query/browse/base',
|
|
|
|
'DiffusionBrowseTableView' => 'applications/diffusion/view/browsetable',
|
2011-03-14 06:03:30 +01:00
|
|
|
'DiffusionChangeController' => 'applications/diffusion/controller/change',
|
2011-03-11 18:34:22 +01:00
|
|
|
'DiffusionCommitChangeTableView' => 'applications/diffusion/view/commitchangetable',
|
|
|
|
'DiffusionCommitController' => 'applications/diffusion/controller/commit',
|
2011-03-08 00:13:36 +01:00
|
|
|
'DiffusionController' => 'applications/diffusion/controller/base',
|
2011-03-31 02:36:16 +02:00
|
|
|
'DiffusionDiffController' => 'applications/diffusion/controller/diff',
|
|
|
|
'DiffusionDiffQuery' => 'applications/diffusion/query/diff/base',
|
2011-03-08 18:54:55 +01:00
|
|
|
'DiffusionFileContent' => 'applications/diffusion/data/filecontent',
|
|
|
|
'DiffusionFileContentQuery' => 'applications/diffusion/query/filecontent/base',
|
2011-03-13 01:17:34 +01:00
|
|
|
'DiffusionGitBranchQuery' => 'applications/diffusion/query/branch/git',
|
2011-03-08 02:25:47 +01:00
|
|
|
'DiffusionGitBrowseQuery' => 'applications/diffusion/query/browse/git',
|
2011-03-31 03:17:36 +02:00
|
|
|
'DiffusionGitDiffQuery' => 'applications/diffusion/query/diff/git',
|
2011-03-08 18:54:55 +01:00
|
|
|
'DiffusionGitFileContentQuery' => 'applications/diffusion/query/filecontent/git',
|
2011-03-09 02:31:44 +01:00
|
|
|
'DiffusionGitHistoryQuery' => 'applications/diffusion/query/history/git',
|
2011-03-31 08:27:06 +02:00
|
|
|
'DiffusionGitLastModifiedQuery' => 'applications/diffusion/query/lastmodified/git',
|
2011-03-21 01:46:02 +01:00
|
|
|
'DiffusionGitPathIDQuery' => 'applications/diffusion/query/pathid/base',
|
2011-03-08 23:29:02 +01:00
|
|
|
'DiffusionGitRequest' => 'applications/diffusion/request/git',
|
2011-03-09 02:31:44 +01:00
|
|
|
'DiffusionHistoryController' => 'applications/diffusion/controller/history',
|
|
|
|
'DiffusionHistoryQuery' => 'applications/diffusion/query/history/base',
|
|
|
|
'DiffusionHistoryTableView' => 'applications/diffusion/view/historytable',
|
2011-03-08 00:13:36 +01:00
|
|
|
'DiffusionHomeController' => 'applications/diffusion/controller/home',
|
2011-03-31 08:27:06 +02:00
|
|
|
'DiffusionLastModifiedController' => 'applications/diffusion/controller/lastmodified',
|
|
|
|
'DiffusionLastModifiedQuery' => 'applications/diffusion/query/lastmodified/base',
|
2011-03-09 02:31:44 +01:00
|
|
|
'DiffusionPathChange' => 'applications/diffusion/data/pathchange',
|
2011-03-14 00:19:39 +01:00
|
|
|
'DiffusionPathChangeQuery' => 'applications/diffusion/query/pathchange/base',
|
2011-04-04 04:20:47 +02:00
|
|
|
'DiffusionPathCompleteController' => 'applications/diffusion/controller/pathcomplete',
|
|
|
|
'DiffusionPathValidateController' => 'applications/diffusion/controller/pathvalidate',
|
2011-03-13 01:17:34 +01:00
|
|
|
'DiffusionRepositoryController' => 'applications/diffusion/controller/repository',
|
2011-03-08 02:25:47 +01:00
|
|
|
'DiffusionRepositoryPath' => 'applications/diffusion/data/repositorypath',
|
2011-03-08 23:29:02 +01:00
|
|
|
'DiffusionRequest' => 'applications/diffusion/request/base',
|
2011-03-13 01:17:34 +01:00
|
|
|
'DiffusionSvnBrowseQuery' => 'applications/diffusion/query/browse/svn',
|
2011-03-31 02:36:16 +02:00
|
|
|
'DiffusionSvnDiffQuery' => 'applications/diffusion/query/diff/svn',
|
2011-03-14 06:03:30 +01:00
|
|
|
'DiffusionSvnFileContentQuery' => 'applications/diffusion/query/filecontent/svn',
|
2011-03-13 01:17:34 +01:00
|
|
|
'DiffusionSvnHistoryQuery' => 'applications/diffusion/query/history/svn',
|
2011-03-31 08:27:06 +02:00
|
|
|
'DiffusionSvnLastModifiedQuery' => 'applications/diffusion/query/lastmodified/svn',
|
2011-03-23 03:34:47 +01:00
|
|
|
'DiffusionSvnRequest' => 'applications/diffusion/request/svn',
|
2011-03-13 01:17:34 +01:00
|
|
|
'DiffusionView' => 'applications/diffusion/view/base',
|
2011-03-22 21:22:40 +01:00
|
|
|
'HeraldAction' => 'applications/herald/storage/action',
|
|
|
|
'HeraldActionConfig' => 'applications/herald/config/action',
|
|
|
|
'HeraldApplyTranscript' => 'applications/herald/storage/transcript/apply',
|
2011-04-04 08:23:36 +02:00
|
|
|
'HeraldCommitAdapter' => 'applications/herald/adapter/commit',
|
2011-03-22 21:22:40 +01:00
|
|
|
'HeraldCondition' => 'applications/herald/storage/condition',
|
|
|
|
'HeraldConditionConfig' => 'applications/herald/config/condition',
|
|
|
|
'HeraldConditionTranscript' => 'applications/herald/storage/transcript/condition',
|
|
|
|
'HeraldContentTypeConfig' => 'applications/herald/config/contenttype',
|
2011-03-22 21:49:46 +01:00
|
|
|
'HeraldController' => 'applications/herald/controller/base',
|
2011-03-22 21:22:40 +01:00
|
|
|
'HeraldDAO' => 'applications/herald/storage/base',
|
2011-03-24 19:07:36 +01:00
|
|
|
'HeraldDeleteController' => 'applications/herald/controller/delete',
|
2011-03-25 05:32:26 +01:00
|
|
|
'HeraldDifferentialRevisionAdapter' => 'applications/herald/adapter/differential',
|
2011-03-24 21:49:21 +01:00
|
|
|
'HeraldDryRunAdapter' => 'applications/herald/adapter/dryrun',
|
2011-03-22 21:22:40 +01:00
|
|
|
'HeraldEffect' => 'applications/herald/engine/effect',
|
|
|
|
'HeraldEngine' => 'applications/herald/engine/engine',
|
|
|
|
'HeraldFieldConfig' => 'applications/herald/config/field',
|
2011-03-22 21:49:46 +01:00
|
|
|
'HeraldHomeController' => 'applications/herald/controller/home',
|
2011-03-22 21:22:40 +01:00
|
|
|
'HeraldInvalidConditionException' => 'applications/herald/engine/engine/exception',
|
|
|
|
'HeraldInvalidFieldException' => 'applications/herald/engine/engine/exception',
|
2011-03-22 22:34:38 +01:00
|
|
|
'HeraldNewController' => 'applications/herald/controller/new',
|
2011-03-24 21:49:21 +01:00
|
|
|
'HeraldObjectAdapter' => 'applications/herald/adapter/base',
|
2011-03-22 21:22:40 +01:00
|
|
|
'HeraldObjectTranscript' => 'applications/herald/storage/transcript/object',
|
|
|
|
'HeraldRecursiveConditionsException' => 'applications/herald/engine/engine/exception',
|
2011-05-28 00:52:26 +02:00
|
|
|
'HeraldRepetitionPolicyConfig' => 'applications/herald/config/repetitionpolicy',
|
2011-03-22 21:22:40 +01:00
|
|
|
'HeraldRule' => 'applications/herald/storage/rule',
|
2011-03-22 23:27:52 +01:00
|
|
|
'HeraldRuleController' => 'applications/herald/controller/rule',
|
2011-03-22 21:22:40 +01:00
|
|
|
'HeraldRuleTranscript' => 'applications/herald/storage/transcript/rule',
|
2011-03-24 21:49:21 +01:00
|
|
|
'HeraldTestConsoleController' => 'applications/herald/controller/test',
|
2011-03-22 21:22:40 +01:00
|
|
|
'HeraldTranscript' => 'applications/herald/storage/transcript/base',
|
2011-03-25 05:32:26 +01:00
|
|
|
'HeraldTranscriptController' => 'applications/herald/controller/transcript',
|
|
|
|
'HeraldTranscriptListController' => 'applications/herald/controller/transcriptlist',
|
2011-03-22 21:22:40 +01:00
|
|
|
'HeraldValueTypeConfig' => 'applications/herald/config/valuetype',
|
2011-01-31 20:55:26 +01:00
|
|
|
'Javelin' => 'infrastructure/javelin/api',
|
2011-01-16 22:51:39 +01:00
|
|
|
'LiskDAO' => 'storage/lisk/dao',
|
2011-04-30 19:11:59 +02:00
|
|
|
'LiskIsolationTestCase' => 'storage/lisk/dao/__tests__',
|
|
|
|
'LiskIsolationTestDAO' => 'storage/lisk/dao/__tests__',
|
|
|
|
'LiskIsolationTestDAOException' => 'storage/lisk/dao/__tests__',
|
2011-07-04 22:04:22 +02:00
|
|
|
'ManiphestConstants' => 'applications/maniphest/constants/base',
|
2011-02-08 19:53:59 +01:00
|
|
|
'ManiphestController' => 'applications/maniphest/controller/base',
|
|
|
|
'ManiphestDAO' => 'applications/maniphest/storage/base',
|
2011-05-10 01:31:26 +02:00
|
|
|
'ManiphestReplyHandler' => 'applications/maniphest/replyhandler',
|
2011-02-08 19:53:59 +01:00
|
|
|
'ManiphestTask' => 'applications/maniphest/storage/task',
|
2011-05-21 03:56:18 +02:00
|
|
|
'ManiphestTaskDescriptionChangeController' => 'applications/maniphest/controller/descriptionchange',
|
2011-02-08 19:53:59 +01:00
|
|
|
'ManiphestTaskDetailController' => 'applications/maniphest/controller/taskdetail',
|
2011-02-20 23:15:53 +01:00
|
|
|
'ManiphestTaskEditController' => 'applications/maniphest/controller/taskedit',
|
2011-02-08 19:53:59 +01:00
|
|
|
'ManiphestTaskListController' => 'applications/maniphest/controller/tasklist',
|
|
|
|
'ManiphestTaskListView' => 'applications/maniphest/view/tasklist',
|
2011-05-28 23:13:12 +02:00
|
|
|
'ManiphestTaskOwner' => 'applications/maniphest/constants/owner',
|
2011-02-08 19:53:59 +01:00
|
|
|
'ManiphestTaskPriority' => 'applications/maniphest/constants/priority',
|
2011-06-30 01:16:33 +02:00
|
|
|
'ManiphestTaskProject' => 'applications/maniphest/storage/taskproject',
|
|
|
|
'ManiphestTaskQuery' => 'applications/maniphest/query',
|
2011-02-08 19:53:59 +01:00
|
|
|
'ManiphestTaskStatus' => 'applications/maniphest/constants/status',
|
2011-07-07 19:24:49 +02:00
|
|
|
'ManiphestTaskSubscriber' => 'applications/maniphest/storage/subscriber',
|
2011-02-08 19:53:59 +01:00
|
|
|
'ManiphestTaskSummaryView' => 'applications/maniphest/view/tasksummary',
|
|
|
|
'ManiphestTransaction' => 'applications/maniphest/storage/transaction',
|
|
|
|
'ManiphestTransactionDetailView' => 'applications/maniphest/view/transactiondetail',
|
|
|
|
'ManiphestTransactionEditor' => 'applications/maniphest/editor/transaction',
|
|
|
|
'ManiphestTransactionListView' => 'applications/maniphest/view/transactionlist',
|
2011-05-10 17:29:28 +02:00
|
|
|
'ManiphestTransactionPreviewController' => 'applications/maniphest/controller/transactionpreview',
|
2011-02-08 19:53:59 +01:00
|
|
|
'ManiphestTransactionSaveController' => 'applications/maniphest/controller/transactionsave',
|
|
|
|
'ManiphestTransactionType' => 'applications/maniphest/constants/transactiontype',
|
2011-07-04 22:04:22 +02:00
|
|
|
'ManiphestView' => 'applications/maniphest/view/base',
|
2011-01-30 01:16:09 +01:00
|
|
|
'Phabricator404Controller' => 'applications/base/controller/404',
|
2011-01-31 06:28:45 +01:00
|
|
|
'PhabricatorAuthController' => 'applications/auth/controller/base',
|
2011-01-24 18:00:29 +01:00
|
|
|
'PhabricatorConduitAPIController' => 'applications/conduit/controller/api',
|
2011-06-14 21:17:14 +02:00
|
|
|
'PhabricatorConduitCertificateToken' => 'applications/conduit/storage/token',
|
2011-01-24 18:00:29 +01:00
|
|
|
'PhabricatorConduitConnectionLog' => 'applications/conduit/storage/connectionlog',
|
|
|
|
'PhabricatorConduitConsoleController' => 'applications/conduit/controller/console',
|
|
|
|
'PhabricatorConduitController' => 'applications/conduit/controller/base',
|
|
|
|
'PhabricatorConduitDAO' => 'applications/conduit/storage/base',
|
|
|
|
'PhabricatorConduitLogController' => 'applications/conduit/controller/log',
|
|
|
|
'PhabricatorConduitMethodCallLog' => 'applications/conduit/storage/methodcalllog',
|
2011-06-14 21:17:14 +02:00
|
|
|
'PhabricatorConduitTokenController' => 'applications/conduit/controller/token',
|
2011-01-23 02:48:55 +01:00
|
|
|
'PhabricatorController' => 'applications/base/controller/base',
|
2011-06-13 01:06:17 +02:00
|
|
|
'PhabricatorCountdownController' => 'applications/countdown/controller/base',
|
|
|
|
'PhabricatorCountdownDAO' => 'applications/countdown/storage/base',
|
|
|
|
'PhabricatorCountdownDeleteController' => 'applications/countdown/controller/delete',
|
|
|
|
'PhabricatorCountdownEditController' => 'applications/countdown/controller/edit',
|
|
|
|
'PhabricatorCountdownListController' => 'applications/countdown/controller/list',
|
|
|
|
'PhabricatorCountdownViewController' => 'applications/countdown/controller/view',
|
2011-03-07 07:29:22 +01:00
|
|
|
'PhabricatorDaemon' => 'infrastructure/daemon/base',
|
2011-05-03 02:05:22 +02:00
|
|
|
'PhabricatorDaemonCombinedLogController' => 'applications/daemon/controller/combined',
|
2011-03-10 22:48:29 +01:00
|
|
|
'PhabricatorDaemonConsoleController' => 'applications/daemon/controller/console',
|
2011-03-14 23:43:56 +01:00
|
|
|
'PhabricatorDaemonControl' => 'infrastructure/daemon/control',
|
2011-03-10 22:48:29 +01:00
|
|
|
'PhabricatorDaemonController' => 'applications/daemon/controller/base',
|
2011-03-15 21:38:14 +01:00
|
|
|
'PhabricatorDaemonDAO' => 'infrastructure/daemon/storage/base',
|
|
|
|
'PhabricatorDaemonLog' => 'infrastructure/daemon/storage/log',
|
|
|
|
'PhabricatorDaemonLogEvent' => 'infrastructure/daemon/storage/event',
|
2011-05-03 02:05:22 +02:00
|
|
|
'PhabricatorDaemonLogEventsView' => 'applications/daemon/view/daemonlogevents',
|
|
|
|
'PhabricatorDaemonLogListController' => 'applications/daemon/controller/loglist',
|
|
|
|
'PhabricatorDaemonLogListView' => 'applications/daemon/view/daemonloglist',
|
2011-03-15 21:38:14 +01:00
|
|
|
'PhabricatorDaemonLogViewController' => 'applications/daemon/controller/logview',
|
2011-03-14 23:43:56 +01:00
|
|
|
'PhabricatorDaemonReference' => 'infrastructure/daemon/control/reference',
|
2011-03-11 18:34:22 +01:00
|
|
|
'PhabricatorDaemonTimelineConsoleController' => 'applications/daemon/controller/timeline',
|
|
|
|
'PhabricatorDaemonTimelineEventController' => 'applications/daemon/controller/timelineevent',
|
2011-07-20 07:48:38 +02:00
|
|
|
'PhabricatorDefaultFileStorageEngineSelector' => 'applications/files/engineselector/default',
|
2011-07-17 20:06:02 +02:00
|
|
|
'PhabricatorDifferenceEngine' => 'infrastructure/diff/engine',
|
2011-01-23 02:48:55 +01:00
|
|
|
'PhabricatorDirectoryCategory' => 'applications/directory/storage/category',
|
|
|
|
'PhabricatorDirectoryCategoryDeleteController' => 'applications/directory/controller/categorydelete',
|
|
|
|
'PhabricatorDirectoryCategoryEditController' => 'applications/directory/controller/categoryedit',
|
|
|
|
'PhabricatorDirectoryCategoryListController' => 'applications/directory/controller/categorylist',
|
|
|
|
'PhabricatorDirectoryController' => 'applications/directory/controller/base',
|
|
|
|
'PhabricatorDirectoryDAO' => 'applications/directory/storage/base',
|
|
|
|
'PhabricatorDirectoryItem' => 'applications/directory/storage/item',
|
|
|
|
'PhabricatorDirectoryItemDeleteController' => 'applications/directory/controller/itemdelete',
|
|
|
|
'PhabricatorDirectoryItemEditController' => 'applications/directory/controller/itemedit',
|
|
|
|
'PhabricatorDirectoryItemListController' => 'applications/directory/controller/itemlist',
|
|
|
|
'PhabricatorDirectoryMainController' => 'applications/directory/controller/main',
|
2011-05-12 19:06:54 +02:00
|
|
|
'PhabricatorDisabledUserController' => 'applications/auth/controller/disabled',
|
2011-02-06 01:57:21 +01:00
|
|
|
'PhabricatorDraft' => 'applications/draft/storage/draft',
|
|
|
|
'PhabricatorDraftDAO' => 'applications/draft/storage/base',
|
2011-03-31 04:21:09 +02:00
|
|
|
'PhabricatorEditPreferencesController' => 'applications/preferences/controller/edit',
|
2011-01-31 20:55:26 +01:00
|
|
|
'PhabricatorEmailLoginController' => 'applications/auth/controller/email',
|
|
|
|
'PhabricatorEmailTokenController' => 'applications/auth/controller/emailtoken',
|
|
|
|
'PhabricatorEnv' => 'infrastructure/env',
|
2011-07-10 00:44:49 +02:00
|
|
|
'PhabricatorFeedConstants' => 'applications/feed/constants/base',
|
2011-07-05 17:35:18 +02:00
|
|
|
'PhabricatorFeedController' => 'applications/feed/controller/base',
|
|
|
|
'PhabricatorFeedDAO' => 'applications/feed/storage/base',
|
2011-07-10 03:03:59 +02:00
|
|
|
'PhabricatorFeedPublicStreamController' => 'applications/feed/controller/publicstream',
|
2011-07-05 17:35:18 +02:00
|
|
|
'PhabricatorFeedQuery' => 'applications/feed/query',
|
|
|
|
'PhabricatorFeedStory' => 'applications/feed/story/base',
|
|
|
|
'PhabricatorFeedStoryData' => 'applications/feed/storage/story',
|
2011-07-10 00:44:49 +02:00
|
|
|
'PhabricatorFeedStoryDifferential' => 'applications/feed/story/differential',
|
2011-07-12 16:23:04 +02:00
|
|
|
'PhabricatorFeedStoryPhriction' => 'applications/feed/story/phriction',
|
2011-07-05 17:35:18 +02:00
|
|
|
'PhabricatorFeedStoryPublisher' => 'applications/feed/publisher',
|
|
|
|
'PhabricatorFeedStoryReference' => 'applications/feed/storage/storyreference',
|
2011-07-09 22:28:09 +02:00
|
|
|
'PhabricatorFeedStoryStatus' => 'applications/feed/story/status',
|
2011-07-10 00:44:49 +02:00
|
|
|
'PhabricatorFeedStoryTypeConstants' => 'applications/feed/constants/story',
|
2011-07-05 17:35:18 +02:00
|
|
|
'PhabricatorFeedStoryUnknown' => 'applications/feed/story/unknown',
|
|
|
|
'PhabricatorFeedStoryView' => 'applications/feed/view/story',
|
|
|
|
'PhabricatorFeedStreamController' => 'applications/feed/controller/stream',
|
|
|
|
'PhabricatorFeedView' => 'applications/feed/view/base',
|
2011-01-23 03:33:00 +01:00
|
|
|
'PhabricatorFile' => 'applications/files/storage/file',
|
|
|
|
'PhabricatorFileController' => 'applications/files/controller/base',
|
|
|
|
'PhabricatorFileDAO' => 'applications/files/storage/base',
|
2011-05-22 20:55:10 +02:00
|
|
|
'PhabricatorFileDropUploadController' => 'applications/files/controller/dropupload',
|
2011-04-14 00:15:48 +02:00
|
|
|
'PhabricatorFileImageMacro' => 'applications/files/storage/imagemacro',
|
2011-01-23 03:33:00 +01:00
|
|
|
'PhabricatorFileListController' => 'applications/files/controller/list',
|
2011-05-03 19:45:45 +02:00
|
|
|
'PhabricatorFileMacroDeleteController' => 'applications/files/controller/macrodelete',
|
|
|
|
'PhabricatorFileMacroEditController' => 'applications/files/controller/macroedit',
|
|
|
|
'PhabricatorFileMacroListController' => 'applications/files/controller/macrolist',
|
2011-05-02 23:20:24 +02:00
|
|
|
'PhabricatorFileProxyController' => 'applications/files/controller/proxy',
|
|
|
|
'PhabricatorFileProxyImage' => 'applications/files/storage/proxyimage',
|
2011-01-23 03:33:00 +01:00
|
|
|
'PhabricatorFileStorageBlob' => 'applications/files/storage/storageblob',
|
2011-07-20 07:48:38 +02:00
|
|
|
'PhabricatorFileStorageEngine' => 'applications/files/engine/base',
|
|
|
|
'PhabricatorFileStorageEngineSelector' => 'applications/files/engineselector/base',
|
2011-05-22 23:40:51 +02:00
|
|
|
'PhabricatorFileTransformController' => 'applications/files/controller/transform',
|
2011-01-25 00:52:35 +01:00
|
|
|
'PhabricatorFileURI' => 'applications/files/uri',
|
2011-01-23 03:33:00 +01:00
|
|
|
'PhabricatorFileUploadController' => 'applications/files/controller/upload',
|
|
|
|
'PhabricatorFileViewController' => 'applications/files/controller/view',
|
2011-07-03 18:47:31 +02:00
|
|
|
'PhabricatorGarbageCollectorDaemon' => 'infrastructure/daemon/garbagecollector',
|
2011-03-10 22:48:29 +01:00
|
|
|
'PhabricatorGoodForNothingWorker' => 'infrastructure/daemon/workers/worker/goodfornothing',
|
2011-02-17 23:32:01 +01:00
|
|
|
'PhabricatorHandleObjectSelectorDataView' => 'applications/phid/handle/view/selector',
|
2011-05-28 20:36:00 +02:00
|
|
|
'PhabricatorHelpController' => 'applications/help/controller/base',
|
|
|
|
'PhabricatorHelpKeyboardShortcutController' => 'applications/help/controller/keyboardshortcut',
|
2011-05-15 18:29:48 +02:00
|
|
|
'PhabricatorIRCBot' => 'infrastructure/daemon/irc/bot',
|
|
|
|
'PhabricatorIRCHandler' => 'infrastructure/daemon/irc/handler/base',
|
|
|
|
'PhabricatorIRCMessage' => 'infrastructure/daemon/irc/message',
|
2011-05-17 23:40:25 +02:00
|
|
|
'PhabricatorIRCObjectNameHandler' => 'infrastructure/daemon/irc/handler/objectname',
|
2011-05-15 18:29:48 +02:00
|
|
|
'PhabricatorIRCProtocolHandler' => 'infrastructure/daemon/irc/handler/protocol',
|
2011-06-26 17:37:47 +02:00
|
|
|
'PhabricatorImageTransformer' => 'applications/files/transform',
|
Bring Javelin into Phabricator via git submodule, not copy-and-paste
Summary:
Javelin is currently embedded in Phabricator via copy-and-paste of prebuilt
packages. This is not so great.
Pull it in as a submodule instead and make all the Phabriator resources declare
proper dependency trees. Add Javelin linting.
Test Plan:
I tried to run through pretty much all the JS functionality on the site. This is
still a high-risk change, but I did a pretty thorough test
Differential: inline comments, revealing diffs, list tokenizers, comment
preview, editing/deleting comments, add review action.
Maniphest: list tokenizer, comment actions
Herald: rule editing, tokenizers, add/remove rows
Reviewed By: tomo
Reviewers: aran, tomo, mroch, jungejason, tuomaspelkonen
CC: aran, tomo, epriestley
Differential Revision: 223
2011-05-04 00:11:55 +02:00
|
|
|
'PhabricatorJavelinLinter' => 'infrastructure/lint/linter/javelin',
|
|
|
|
'PhabricatorLintEngine' => 'infrastructure/lint/engine',
|
2011-01-23 02:48:55 +01:00
|
|
|
'PhabricatorLiskDAO' => 'applications/base/storage/lisk',
|
2011-07-20 07:48:38 +02:00
|
|
|
'PhabricatorLocalDiskFileStorageEngine' => 'applications/files/engine/localdisk',
|
2011-01-31 06:28:45 +01:00
|
|
|
'PhabricatorLoginController' => 'applications/auth/controller/login',
|
|
|
|
'PhabricatorLogoutController' => 'applications/auth/controller/logout',
|
2011-01-26 18:33:31 +01:00
|
|
|
'PhabricatorMailImplementationAdapter' => 'applications/metamta/adapter/base',
|
2011-02-08 06:08:32 +01:00
|
|
|
'PhabricatorMailImplementationAmazonSESAdapter' => 'applications/metamta/adapter/amazonses',
|
2011-01-26 18:33:31 +01:00
|
|
|
'PhabricatorMailImplementationPHPMailerLiteAdapter' => 'applications/metamta/adapter/phpmailerlite',
|
2011-05-26 19:00:26 +02:00
|
|
|
'PhabricatorMailImplementationSendGridAdapter' => 'applications/metamta/adapter/sendgrid',
|
Fix a threading issue with Amazon SES
Summary:
Amazon SES does not allow us to set a Message-ID header, which means
that threads are incorrect in Mail.app (and presumably other applications
which respect In-Reply-To and References) because the initial email does not
have anything which attaches it to the rest of the thread. To fix this, never
rely on Message-ID if the mailer doesn't support Message-ID.
(In the Amazon SES case, Amazon generates its own Message-ID which we can't
know ahead of time).
I additionally used all the Lisk isolation from the other tests to make this
testable and wrote tests for it.
I also moved the idea of a thread ID lower in the stack and out of
DifferentialMail, which should not be responsible for implementation details.
NOTE: If you push this, it will cause a one-time break of threading for
everyone using Outlook since I've changed the seed for generating Thread-Index.
I feel like this is okay to avoid introducing more complexity here.
Test Plan:
Created and then updated a revision, messages delivered over Amazon
SES threaded correctly in Mail.app. Verified headers. Unit tests.
Reviewed By: rm
Reviewers: aran, tuomaspelkonen, jungejason, rm
Commenters: aran
CC: aran, rm, epriestley
Differential Revision: 195
2011-04-30 20:47:00 +02:00
|
|
|
'PhabricatorMailImplementationTestAdapter' => 'applications/metamta/adapter/test',
|
2011-05-10 01:31:26 +02:00
|
|
|
'PhabricatorMailReplyHandler' => 'applications/metamta/replyhandler/base',
|
Generalize the markup engine factory
Summary:
This thing services every app but it lives inside Differential right now. Pull
it out, and separate the factory interfaces per-application.
This will let us accommodate changes we need to make for Phriction to support
wiki linking.
Test Plan: Tested remarkup in differential, diffusion, maniphest, people,
slowvote.
Reviewed By: hsb
Reviewers: hsb, codeblock, jungejason, tuomaspelkonen, aran
CC: aran, hsb
Differential Revision: 646
2011-07-12 00:58:32 +02:00
|
|
|
'PhabricatorMarkupEngine' => 'applications/markup/engine',
|
2011-01-26 02:40:21 +01:00
|
|
|
'PhabricatorMetaMTAController' => 'applications/metamta/controller/base',
|
|
|
|
'PhabricatorMetaMTADAO' => 'applications/metamta/storage/base',
|
2011-02-10 02:39:55 +01:00
|
|
|
'PhabricatorMetaMTADaemon' => 'applications/metamta/daemon/mta',
|
2011-06-01 17:33:14 +02:00
|
|
|
'PhabricatorMetaMTAEmailBodyParser' => 'applications/metamta/parser',
|
|
|
|
'PhabricatorMetaMTAEmailBodyParserTestCase' => 'applications/metamta/parser/__tests__',
|
2011-01-26 02:40:21 +01:00
|
|
|
'PhabricatorMetaMTAListController' => 'applications/metamta/controller/list',
|
|
|
|
'PhabricatorMetaMTAMail' => 'applications/metamta/storage/mail',
|
Fix a threading issue with Amazon SES
Summary:
Amazon SES does not allow us to set a Message-ID header, which means
that threads are incorrect in Mail.app (and presumably other applications
which respect In-Reply-To and References) because the initial email does not
have anything which attaches it to the rest of the thread. To fix this, never
rely on Message-ID if the mailer doesn't support Message-ID.
(In the Amazon SES case, Amazon generates its own Message-ID which we can't
know ahead of time).
I additionally used all the Lisk isolation from the other tests to make this
testable and wrote tests for it.
I also moved the idea of a thread ID lower in the stack and out of
DifferentialMail, which should not be responsible for implementation details.
NOTE: If you push this, it will cause a one-time break of threading for
everyone using Outlook since I've changed the seed for generating Thread-Index.
I feel like this is okay to avoid introducing more complexity here.
Test Plan:
Created and then updated a revision, messages delivered over Amazon
SES threaded correctly in Mail.app. Verified headers. Unit tests.
Reviewed By: rm
Reviewers: aran, tuomaspelkonen, jungejason, rm
Commenters: aran
CC: aran, rm, epriestley
Differential Revision: 195
2011-04-30 20:47:00 +02:00
|
|
|
'PhabricatorMetaMTAMailTestCase' => 'applications/metamta/storage/mail/__tests__',
|
2011-01-26 19:40:38 +01:00
|
|
|
'PhabricatorMetaMTAMailingList' => 'applications/metamta/storage/mailinglist',
|
|
|
|
'PhabricatorMetaMTAMailingListEditController' => 'applications/metamta/controller/mailinglistedit',
|
|
|
|
'PhabricatorMetaMTAMailingListsController' => 'applications/metamta/controller/mailinglists',
|
2011-05-05 08:09:42 +02:00
|
|
|
'PhabricatorMetaMTAReceiveController' => 'applications/metamta/controller/receive',
|
|
|
|
'PhabricatorMetaMTAReceivedListController' => 'applications/metamta/controller/receivedlist',
|
|
|
|
'PhabricatorMetaMTAReceivedMail' => 'applications/metamta/storage/receivedmail',
|
2011-01-26 02:40:21 +01:00
|
|
|
'PhabricatorMetaMTASendController' => 'applications/metamta/controller/send',
|
2011-05-30 20:07:05 +02:00
|
|
|
'PhabricatorMetaMTASendGridReceiveController' => 'applications/metamta/controller/sendgridreceive',
|
2011-01-26 18:08:26 +01:00
|
|
|
'PhabricatorMetaMTAViewController' => 'applications/metamta/controller/view',
|
2011-07-20 07:48:38 +02:00
|
|
|
'PhabricatorMySQLFileStorageEngine' => 'applications/files/engine/mysql',
|
2011-02-28 04:47:22 +01:00
|
|
|
'PhabricatorOAuthDefaultRegistrationController' => 'applications/auth/controller/oauthregistration/default',
|
2011-02-21 07:47:56 +01:00
|
|
|
'PhabricatorOAuthDiagnosticsController' => 'applications/auth/controller/oauthdiagnostics',
|
|
|
|
'PhabricatorOAuthFailureView' => 'applications/auth/view/oauthfailure',
|
|
|
|
'PhabricatorOAuthLoginController' => 'applications/auth/controller/oauth',
|
|
|
|
'PhabricatorOAuthProvider' => 'applications/auth/oauth/provider/base',
|
|
|
|
'PhabricatorOAuthProviderFacebook' => 'applications/auth/oauth/provider/facebook',
|
|
|
|
'PhabricatorOAuthProviderGithub' => 'applications/auth/oauth/provider/github',
|
2011-02-28 04:47:22 +01:00
|
|
|
'PhabricatorOAuthRegistrationController' => 'applications/auth/controller/oauthregistration/base',
|
2011-02-22 07:51:34 +01:00
|
|
|
'PhabricatorOAuthUnlinkController' => 'applications/auth/controller/unlink',
|
2011-01-26 18:02:09 +01:00
|
|
|
'PhabricatorObjectHandle' => 'applications/phid/handle',
|
|
|
|
'PhabricatorObjectHandleData' => 'applications/phid/handle/data',
|
2011-02-17 07:14:09 +01:00
|
|
|
'PhabricatorObjectSelectorDialog' => 'view/control/objectselector',
|
2011-04-03 23:48:36 +02:00
|
|
|
'PhabricatorOwnersController' => 'applications/owners/controller/base',
|
|
|
|
'PhabricatorOwnersDAO' => 'applications/owners/storage/base',
|
2011-04-04 07:03:27 +02:00
|
|
|
'PhabricatorOwnersDeleteController' => 'applications/owners/controller/delete',
|
2011-04-03 23:48:36 +02:00
|
|
|
'PhabricatorOwnersDetailController' => 'applications/owners/controller/detail',
|
2011-04-04 07:03:27 +02:00
|
|
|
'PhabricatorOwnersEditController' => 'applications/owners/controller/edit',
|
2011-04-03 23:48:36 +02:00
|
|
|
'PhabricatorOwnersListController' => 'applications/owners/controller/list',
|
|
|
|
'PhabricatorOwnersOwner' => 'applications/owners/storage/owner',
|
|
|
|
'PhabricatorOwnersPackage' => 'applications/owners/storage/package',
|
|
|
|
'PhabricatorOwnersPath' => 'applications/owners/storage/path',
|
2011-01-23 06:09:13 +01:00
|
|
|
'PhabricatorPHID' => 'applications/phid/storage/phid',
|
2011-03-03 03:58:21 +01:00
|
|
|
'PhabricatorPHIDConstants' => 'applications/phid/constants',
|
2011-01-23 06:09:13 +01:00
|
|
|
'PhabricatorPHIDController' => 'applications/phid/controller/base',
|
|
|
|
'PhabricatorPHIDDAO' => 'applications/phid/storage/base',
|
|
|
|
'PhabricatorPHIDListController' => 'applications/phid/controller/list',
|
2011-01-26 18:02:09 +01:00
|
|
|
'PhabricatorPHIDLookupController' => 'applications/phid/controller/lookup',
|
2011-06-10 08:53:53 +02:00
|
|
|
'PhabricatorPaste' => 'applications/paste/storage/paste',
|
|
|
|
'PhabricatorPasteController' => 'applications/paste/controller/base',
|
|
|
|
'PhabricatorPasteCreateController' => 'applications/paste/controller/create',
|
|
|
|
'PhabricatorPasteDAO' => 'applications/paste/storage/base',
|
2011-06-14 04:12:30 +02:00
|
|
|
'PhabricatorPasteListController' => 'applications/paste/controller/list',
|
2011-06-10 08:53:53 +02:00
|
|
|
'PhabricatorPasteViewController' => 'applications/paste/controller/view',
|
2011-01-24 03:09:16 +01:00
|
|
|
'PhabricatorPeopleController' => 'applications/people/controller/base',
|
|
|
|
'PhabricatorPeopleEditController' => 'applications/people/controller/edit',
|
|
|
|
'PhabricatorPeopleListController' => 'applications/people/controller/list',
|
Provide an activity log for login and administrative actions
Summary: This isn't complete, but I figured I'd ship it for review while it's still smallish.
Provide an activity log for high-level system actions (logins, admin actions). This basically allows two things to happen:
- The log itself is useful if there are shenanigans.
- Password login can check it and start CAPTCHA'ing users after a few failed attempts.
I'm going to change how the admin stuff works a little bit too, since right now you can make someone an agent, grab their certificate, revert them back to a normal user, and then act on their behalf over Conduit. This is a little silly, I'm going to move "agent" to the create workflow instead. I'll also add a confirm/email step to the administrative password reset flow.
Test Plan: Took various administrative and non-administrative actions, they appeared in the logs. Filtered the logs in a bunch of different ways.
Reviewers: jungejason, tuomaspelkonen, aran
CC:
Differential Revision: 302
2011-05-18 03:42:21 +02:00
|
|
|
'PhabricatorPeopleLogsController' => 'applications/people/controller/logs',
|
2011-01-24 03:09:16 +01:00
|
|
|
'PhabricatorPeopleProfileController' => 'applications/people/controller/profile',
|
2011-02-20 03:28:41 +01:00
|
|
|
'PhabricatorPeopleProfileEditController' => 'applications/people/controller/profileedit',
|
2011-03-31 04:21:09 +02:00
|
|
|
'PhabricatorPreferencesController' => 'applications/preferences/controller/base',
|
2011-06-18 10:13:56 +02:00
|
|
|
'PhabricatorProfileView' => 'view/layout/profile',
|
2011-02-21 03:41:23 +01:00
|
|
|
'PhabricatorProject' => 'applications/project/storage/project',
|
|
|
|
'PhabricatorProjectAffiliation' => 'applications/project/storage/affiliation',
|
|
|
|
'PhabricatorProjectAffiliationEditController' => 'applications/project/controller/editaffiliation',
|
|
|
|
'PhabricatorProjectController' => 'applications/project/controller/base',
|
2011-06-26 17:37:47 +02:00
|
|
|
'PhabricatorProjectCreateController' => 'applications/project/controller/create',
|
2011-02-21 03:41:23 +01:00
|
|
|
'PhabricatorProjectDAO' => 'applications/project/storage/base',
|
|
|
|
'PhabricatorProjectListController' => 'applications/project/controller/list',
|
|
|
|
'PhabricatorProjectProfile' => 'applications/project/storage/profile',
|
|
|
|
'PhabricatorProjectProfileController' => 'applications/project/controller/profile',
|
2011-06-18 10:13:56 +02:00
|
|
|
'PhabricatorProjectProfileEditController' => 'applications/project/controller/profileedit',
|
|
|
|
'PhabricatorProjectStatus' => 'applications/project/constants/status',
|
2011-07-20 07:48:38 +02:00
|
|
|
'PhabricatorProjectSubproject' => 'applications/project/storage/subproject',
|
2011-04-04 19:29:46 +02:00
|
|
|
'PhabricatorRedirectController' => 'applications/base/controller/redirect',
|
Fix conservative CSRF token cycling limit
Summary:
We currently cycle CSRF tokens every hour and check for the last two valid ones.
This means that a form could go stale in as little as an hour, and is certainly
stale after two.
When a stale form is submitted, you basically get a terrible heisen-state where
some of your data might persist if you're lucky but more likely it all just
vanishes. The .js file below outlines some more details.
This is a pretty terrible UX and we don't need to be as conservative about CSRF
validation as we're being. Remedy this problem by:
- Accepting the last 6 CSRF tokens instead of the last 1 (i.e., pages are
valid for at least 6 hours, and for as long as 7).
- Using JS to refresh the CSRF token every 55 minutes (i.e., pages connected
to the internet are valid indefinitely).
- Showing the user an explicit message about what went wrong when CSRF
validation fails so the experience is less bewildering.
They should now only be able to submit with a bad CSRF token if:
- They load a page, disconnect from the internet for 7 hours, reconnect, and
submit the form within 55 minutes; or
- They are actually the victim of a CSRF attack.
We could eventually fix the first one by tracking reconnects, which might be
"free" once the notification server gets built. It will probably never be an
issue in practice.
Test Plan:
- Reduced CSRF cycle frequency to 2 seconds, submitted a form after 15
seconds, got the CSRF exception.
- Reduced csrf-refresh cycle frequency to 3 seconds, submitted a form after 15
seconds, got a clean form post.
- Added debugging code the the csrf refresh to make sure it was doing sensible
things (pulling different tokens, finding all the inputs).
Reviewed By: aran
Reviewers: tuomaspelkonen, jungejason, aran
CC: aran, epriestley
Differential Revision: 660
2011-07-13 23:05:18 +02:00
|
|
|
'PhabricatorRefreshCSRFController' => 'applications/auth/controller/refresh',
|
2011-02-12 03:06:43 +01:00
|
|
|
'PhabricatorRemarkupRuleDifferential' => 'infrastructure/markup/remarkup/markuprule/differential',
|
2011-04-11 12:02:19 +02:00
|
|
|
'PhabricatorRemarkupRuleDiffusion' => 'infrastructure/markup/remarkup/markuprule/diffusion',
|
2011-04-14 00:15:48 +02:00
|
|
|
'PhabricatorRemarkupRuleImageMacro' => 'infrastructure/markup/remarkup/markuprule/imagemacro',
|
2011-02-12 03:06:43 +01:00
|
|
|
'PhabricatorRemarkupRuleManiphest' => 'infrastructure/markup/remarkup/markuprule/maniphest',
|
2011-06-24 19:59:57 +02:00
|
|
|
'PhabricatorRemarkupRuleMention' => 'infrastructure/markup/remarkup/markuprule/mention',
|
2011-05-31 19:23:31 +02:00
|
|
|
'PhabricatorRemarkupRuleObjectName' => 'infrastructure/markup/remarkup/markuprule/objectname',
|
2011-06-27 08:57:43 +02:00
|
|
|
'PhabricatorRemarkupRulePaste' => 'infrastructure/markup/remarkup/markuprule/paste',
|
2011-07-12 05:14:46 +02:00
|
|
|
'PhabricatorRemarkupRulePhriction' => 'infrastructure/markup/remarkup/markuprule/phriction',
|
2011-05-02 23:20:24 +02:00
|
|
|
'PhabricatorRemarkupRuleProxyImage' => 'infrastructure/markup/remarkup/markuprule/proxyimage',
|
2011-05-27 21:50:02 +02:00
|
|
|
'PhabricatorRemarkupRuleYoutube' => 'infrastructure/markup/remarkup/markuprule/youtube',
|
2011-02-13 03:26:15 +01:00
|
|
|
'PhabricatorRepository' => 'applications/repository/storage/repository',
|
2011-04-06 05:49:31 +02:00
|
|
|
'PhabricatorRepositoryArcanistProject' => 'applications/repository/storage/arcanistproject',
|
|
|
|
'PhabricatorRepositoryArcanistProjectEditController' => 'applications/repository/controller/arcansistprojectedit',
|
2011-03-07 07:29:22 +01:00
|
|
|
'PhabricatorRepositoryCommit' => 'applications/repository/storage/commit',
|
2011-03-11 18:34:22 +01:00
|
|
|
'PhabricatorRepositoryCommitChangeParserWorker' => 'applications/repository/worker/commitchangeparser/base',
|
|
|
|
'PhabricatorRepositoryCommitData' => 'applications/repository/storage/commitdata',
|
2011-03-07 07:29:22 +01:00
|
|
|
'PhabricatorRepositoryCommitDiscoveryDaemon' => 'applications/repository/daemon/commitdiscovery/base',
|
2011-04-04 08:23:36 +02:00
|
|
|
'PhabricatorRepositoryCommitHeraldWorker' => 'applications/repository/worker/herald',
|
2011-04-02 02:11:05 +02:00
|
|
|
'PhabricatorRepositoryCommitMessageDetailParser' => 'applications/repository/parser/base',
|
2011-03-11 18:34:22 +01:00
|
|
|
'PhabricatorRepositoryCommitMessageParserWorker' => 'applications/repository/worker/commitmessageparser/base',
|
|
|
|
'PhabricatorRepositoryCommitParserWorker' => 'applications/repository/worker/base',
|
|
|
|
'PhabricatorRepositoryCommitTaskDaemon' => 'applications/repository/daemon/committask',
|
2011-02-13 03:26:15 +01:00
|
|
|
'PhabricatorRepositoryController' => 'applications/repository/controller/base',
|
|
|
|
'PhabricatorRepositoryCreateController' => 'applications/repository/controller/create',
|
|
|
|
'PhabricatorRepositoryDAO' => 'applications/repository/storage/base',
|
2011-03-07 07:29:22 +01:00
|
|
|
'PhabricatorRepositoryDaemon' => 'applications/repository/daemon/base',
|
2011-04-02 02:11:05 +02:00
|
|
|
'PhabricatorRepositoryDefaultCommitMessageDetailParser' => 'applications/repository/parser/default',
|
2011-05-05 21:53:39 +02:00
|
|
|
'PhabricatorRepositoryDeleteController' => 'applications/repository/controller/delete',
|
2011-02-13 03:26:15 +01:00
|
|
|
'PhabricatorRepositoryEditController' => 'applications/repository/controller/edit',
|
2011-03-11 18:34:22 +01:00
|
|
|
'PhabricatorRepositoryGitCommitChangeParserWorker' => 'applications/repository/worker/commitchangeparser/git',
|
2011-03-07 07:29:22 +01:00
|
|
|
'PhabricatorRepositoryGitCommitDiscoveryDaemon' => 'applications/repository/daemon/commitdiscovery/git',
|
2011-03-11 18:34:22 +01:00
|
|
|
'PhabricatorRepositoryGitCommitMessageParserWorker' => 'applications/repository/worker/commitmessageparser/git',
|
2011-03-21 01:46:02 +01:00
|
|
|
'PhabricatorRepositoryGitFetchDaemon' => 'applications/repository/daemon/gitfetch',
|
2011-02-13 03:26:15 +01:00
|
|
|
'PhabricatorRepositoryGitHubNotification' => 'applications/repository/storage/githubnotification',
|
|
|
|
'PhabricatorRepositoryGitHubPostReceiveController' => 'applications/repository/controller/github-post-receive',
|
|
|
|
'PhabricatorRepositoryListController' => 'applications/repository/controller/list',
|
2011-03-31 09:33:44 +02:00
|
|
|
'PhabricatorRepositoryShortcut' => 'applications/repository/storage/shortcut',
|
2011-03-11 23:13:23 +01:00
|
|
|
'PhabricatorRepositorySvnCommitChangeParserWorker' => 'applications/repository/worker/commitchangeparser/svn',
|
2011-03-11 18:34:22 +01:00
|
|
|
'PhabricatorRepositorySvnCommitDiscoveryDaemon' => 'applications/repository/daemon/commitdiscovery/svn',
|
|
|
|
'PhabricatorRepositorySvnCommitMessageParserWorker' => 'applications/repository/worker/commitmessageparser/svn',
|
2011-03-07 07:29:22 +01:00
|
|
|
'PhabricatorRepositoryType' => 'applications/repository/constants/repositorytype',
|
2011-05-05 20:00:05 +02:00
|
|
|
'PhabricatorSQLPatchList' => 'infrastructure/setup/sql',
|
2011-02-15 00:34:20 +01:00
|
|
|
'PhabricatorSearchAbstractDocument' => 'applications/search/index/abstractdocument',
|
2011-05-16 20:43:39 +02:00
|
|
|
'PhabricatorSearchAttachController' => 'applications/search/controller/attach',
|
2011-02-15 00:34:20 +01:00
|
|
|
'PhabricatorSearchBaseController' => 'applications/search/controller/base',
|
2011-06-20 06:02:48 +02:00
|
|
|
'PhabricatorSearchCommitIndexer' => 'applications/search/index/indexer/repository',
|
2011-02-15 00:34:20 +01:00
|
|
|
'PhabricatorSearchController' => 'applications/search/controller/search',
|
|
|
|
'PhabricatorSearchDAO' => 'applications/search/storage/base',
|
|
|
|
'PhabricatorSearchDifferentialIndexer' => 'applications/search/index/indexer/differential',
|
|
|
|
'PhabricatorSearchDocument' => 'applications/search/storage/document/document',
|
|
|
|
'PhabricatorSearchDocumentField' => 'applications/search/storage/document/field',
|
|
|
|
'PhabricatorSearchDocumentIndexer' => 'applications/search/index/indexer/base',
|
|
|
|
'PhabricatorSearchDocumentRelationship' => 'applications/search/storage/document/relationship',
|
|
|
|
'PhabricatorSearchExecutor' => 'applications/search/execute/base',
|
|
|
|
'PhabricatorSearchField' => 'applications/search/constants/field',
|
2011-06-15 16:43:43 +02:00
|
|
|
'PhabricatorSearchIndexController' => 'applications/search/controller/index',
|
2011-02-15 00:34:20 +01:00
|
|
|
'PhabricatorSearchManiphestIndexer' => 'applications/search/index/indexer/maniphest',
|
|
|
|
'PhabricatorSearchMySQLExecutor' => 'applications/search/execute/mysql',
|
2011-07-12 02:29:08 +02:00
|
|
|
'PhabricatorSearchPhrictionIndexer' => 'applications/search/index/indexer/phriction',
|
2011-02-15 00:34:20 +01:00
|
|
|
'PhabricatorSearchQuery' => 'applications/search/storage/query',
|
|
|
|
'PhabricatorSearchRelationship' => 'applications/search/constants/relationship',
|
Improve search result listing
Summary:
Make it prettier, paginate, add user pictures, show document types, clean some
stuff up a little. Plenty of room for improvement but this should make it a lot
more useful.
Test Plan:
Here's what the new one looks like:
https://secure.phabricator.com/file/view/PHID-FILE-edce2b83c2e3a121c2b7/
Reviewed By: jungejason
Reviewers: tomo, jungejason, aran, tuomaspelkonen, mroch
Commenters: tomo
CC: aran, tomo, jungejason, epriestley
Differential Revision: 545
2011-06-28 23:35:02 +02:00
|
|
|
'PhabricatorSearchResultView' => 'applications/search/view/searchresult',
|
2011-05-16 20:43:39 +02:00
|
|
|
'PhabricatorSearchSelectController' => 'applications/search/controller/select',
|
2011-06-23 22:31:20 +02:00
|
|
|
'PhabricatorSearchUserIndexer' => 'applications/search/index/indexer/user',
|
2011-05-05 20:00:05 +02:00
|
|
|
'PhabricatorSetup' => 'infrastructure/setup',
|
2011-07-08 20:13:11 +02:00
|
|
|
'PhabricatorSlowvoteChoice' => 'applications/slowvote/storage/choice',
|
|
|
|
'PhabricatorSlowvoteComment' => 'applications/slowvote/storage/comment',
|
|
|
|
'PhabricatorSlowvoteController' => 'applications/slowvote/controller/base',
|
|
|
|
'PhabricatorSlowvoteCreateController' => 'applications/slowvote/controller/create',
|
|
|
|
'PhabricatorSlowvoteDAO' => 'applications/slowvote/storage/base',
|
|
|
|
'PhabricatorSlowvoteListController' => 'applications/slowvote/controller/list',
|
|
|
|
'PhabricatorSlowvoteOption' => 'applications/slowvote/storage/option',
|
|
|
|
'PhabricatorSlowvotePoll' => 'applications/slowvote/storage/poll',
|
|
|
|
'PhabricatorSlowvotePollController' => 'applications/slowvote/controller/poll',
|
2011-01-23 02:48:55 +01:00
|
|
|
'PhabricatorStandardPageView' => 'view/page/standard',
|
2011-04-08 20:13:29 +02:00
|
|
|
'PhabricatorStatusController' => 'applications/status/base',
|
2011-07-06 21:12:17 +02:00
|
|
|
'PhabricatorSyntaxHighlighter' => 'applications/markup/syntax',
|
2011-03-10 22:48:29 +01:00
|
|
|
'PhabricatorTaskmasterDaemon' => 'infrastructure/daemon/workers/taskmaster',
|
2011-04-30 19:11:41 +02:00
|
|
|
'PhabricatorTestCase' => 'infrastructure/testing/testcase',
|
2011-03-10 22:48:29 +01:00
|
|
|
'PhabricatorTimelineCursor' => 'infrastructure/daemon/timeline/storage/cursor',
|
|
|
|
'PhabricatorTimelineDAO' => 'infrastructure/daemon/timeline/storage/base',
|
|
|
|
'PhabricatorTimelineEvent' => 'infrastructure/daemon/timeline/storage/event',
|
|
|
|
'PhabricatorTimelineEventData' => 'infrastructure/daemon/timeline/storage/eventdata',
|
|
|
|
'PhabricatorTimelineIterator' => 'infrastructure/daemon/timeline/cursor/iterator',
|
2011-06-13 01:06:17 +02:00
|
|
|
'PhabricatorTimer' => 'applications/countdown/storage/timer',
|
2011-05-22 23:40:51 +02:00
|
|
|
'PhabricatorTransformedFile' => 'applications/files/storage/transformed',
|
2011-01-25 22:48:05 +01:00
|
|
|
'PhabricatorTypeaheadCommonDatasourceController' => 'applications/typeahead/controller/common',
|
|
|
|
'PhabricatorTypeaheadDatasourceController' => 'applications/typeahead/controller/base',
|
2011-04-01 02:06:33 +02:00
|
|
|
'PhabricatorUIExample' => 'applications/uiexample/examples/base',
|
|
|
|
'PhabricatorUIExampleController' => 'applications/uiexample/controller/base',
|
|
|
|
'PhabricatorUIExampleRenderController' => 'applications/uiexample/controller/render',
|
2011-04-04 00:50:06 +02:00
|
|
|
'PhabricatorUIListFilterExample' => 'applications/uiexample/examples/listfilter',
|
2011-04-01 02:06:33 +02:00
|
|
|
'PhabricatorUIPagerExample' => 'applications/uiexample/examples/pager',
|
2011-01-24 03:09:16 +01:00
|
|
|
'PhabricatorUser' => 'applications/people/storage/user',
|
2011-07-18 17:02:00 +02:00
|
|
|
'PhabricatorUserAccountSettingsPanelController' => 'applications/people/controller/settings/panels/account',
|
|
|
|
'PhabricatorUserConduitSettingsPanelController' => 'applications/people/controller/settings/panels/conduit',
|
2011-01-24 03:09:16 +01:00
|
|
|
'PhabricatorUserDAO' => 'applications/people/storage/base',
|
2011-07-18 17:02:00 +02:00
|
|
|
'PhabricatorUserEmailSettingsPanelController' => 'applications/people/controller/settings/panels/email',
|
Provide an activity log for login and administrative actions
Summary: This isn't complete, but I figured I'd ship it for review while it's still smallish.
Provide an activity log for high-level system actions (logins, admin actions). This basically allows two things to happen:
- The log itself is useful if there are shenanigans.
- Password login can check it and start CAPTCHA'ing users after a few failed attempts.
I'm going to change how the admin stuff works a little bit too, since right now you can make someone an agent, grab their certificate, revert them back to a normal user, and then act on their behalf over Conduit. This is a little silly, I'm going to move "agent" to the create workflow instead. I'll also add a confirm/email step to the administrative password reset flow.
Test Plan: Took various administrative and non-administrative actions, they appeared in the logs. Filtered the logs in a bunch of different ways.
Reviewers: jungejason, tuomaspelkonen, aran
CC:
Differential Revision: 302
2011-05-18 03:42:21 +02:00
|
|
|
'PhabricatorUserLog' => 'applications/people/storage/log',
|
2011-02-21 07:47:56 +01:00
|
|
|
'PhabricatorUserOAuthInfo' => 'applications/people/storage/useroauthinfo',
|
2011-07-18 17:02:00 +02:00
|
|
|
'PhabricatorUserOAuthSettingsPanelController' => 'applications/people/controller/settings/panels/oauth',
|
2011-03-31 04:21:09 +02:00
|
|
|
'PhabricatorUserPreferences' => 'applications/people/storage/preferences',
|
2011-02-20 03:28:41 +01:00
|
|
|
'PhabricatorUserProfile' => 'applications/people/storage/profile',
|
2011-02-06 07:36:21 +01:00
|
|
|
'PhabricatorUserSettingsController' => 'applications/people/controller/settings',
|
2011-07-18 17:02:00 +02:00
|
|
|
'PhabricatorUserSettingsPanelController' => 'applications/people/controller/settings/panels/base',
|
2011-03-10 22:48:29 +01:00
|
|
|
'PhabricatorWorker' => 'infrastructure/daemon/workers/worker',
|
|
|
|
'PhabricatorWorkerDAO' => 'infrastructure/daemon/workers/storage/base',
|
|
|
|
'PhabricatorWorkerTask' => 'infrastructure/daemon/workers/storage/task',
|
|
|
|
'PhabricatorWorkerTaskData' => 'infrastructure/daemon/workers/storage/taskdata',
|
2011-03-27 07:55:18 +02:00
|
|
|
'PhabricatorWorkerTaskDetailController' => 'applications/daemon/controller/workertaskdetail',
|
2011-04-07 04:17:05 +02:00
|
|
|
'PhabricatorXHPASTViewController' => 'applications/xhpastview/controller/base',
|
|
|
|
'PhabricatorXHPASTViewDAO' => 'applications/xhpastview/storage/base',
|
|
|
|
'PhabricatorXHPASTViewFrameController' => 'applications/xhpastview/controller/viewframe',
|
|
|
|
'PhabricatorXHPASTViewFramesetController' => 'applications/xhpastview/controller/viewframeset',
|
|
|
|
'PhabricatorXHPASTViewInputController' => 'applications/xhpastview/controller/viewinput',
|
|
|
|
'PhabricatorXHPASTViewPanelController' => 'applications/xhpastview/controller/viewpanel',
|
|
|
|
'PhabricatorXHPASTViewParseTree' => 'applications/xhpastview/storage/parsetree',
|
|
|
|
'PhabricatorXHPASTViewRunController' => 'applications/xhpastview/controller/run',
|
|
|
|
'PhabricatorXHPASTViewStreamController' => 'applications/xhpastview/controller/viewstream',
|
|
|
|
'PhabricatorXHPASTViewTreeController' => 'applications/xhpastview/controller/viewtree',
|
2011-02-02 22:48:52 +01:00
|
|
|
'PhabricatorXHProfController' => 'applications/xhprof/controller/base',
|
|
|
|
'PhabricatorXHProfProfileController' => 'applications/xhprof/controller/profile',
|
|
|
|
'PhabricatorXHProfProfileSymbolView' => 'applications/xhprof/view/symbol',
|
|
|
|
'PhabricatorXHProfProfileTopLevelView' => 'applications/xhprof/view/toplevel',
|
2011-07-12 16:23:04 +02:00
|
|
|
'PhrictionActionConstants' => 'applications/phriction/constants/action',
|
|
|
|
'PhrictionConstants' => 'applications/phriction/constants/base',
|
2011-07-11 21:34:53 +02:00
|
|
|
'PhrictionContent' => 'applications/phriction/storage/content',
|
2011-07-11 17:54:22 +02:00
|
|
|
'PhrictionController' => 'applications/phriction/controller/base',
|
|
|
|
'PhrictionDAO' => 'applications/phriction/storage/base',
|
2011-07-17 20:06:02 +02:00
|
|
|
'PhrictionDiffController' => 'applications/phriction/controller/diff',
|
2011-07-11 17:54:22 +02:00
|
|
|
'PhrictionDocument' => 'applications/phriction/storage/document',
|
|
|
|
'PhrictionDocumentController' => 'applications/phriction/controller/document',
|
2011-07-17 03:25:45 +02:00
|
|
|
'PhrictionDocumentPreviewController' => 'applications/phriction/controller/documentpreview',
|
2011-07-12 17:08:03 +02:00
|
|
|
'PhrictionDocumentTestCase' => 'applications/phriction/storage/document/__tests__',
|
2011-07-11 21:34:53 +02:00
|
|
|
'PhrictionEditController' => 'applications/phriction/controller/edit',
|
2011-07-12 00:06:19 +02:00
|
|
|
'PhrictionHistoryController' => 'applications/phriction/controller/history',
|
2011-07-12 00:42:12 +02:00
|
|
|
'PhrictionListController' => 'applications/phriction/controller/list',
|
2011-01-16 22:51:39 +01:00
|
|
|
),
|
|
|
|
'function' =>
|
|
|
|
array(
|
|
|
|
'_qsprintf_check_scalar_type' => 'storage/qsprintf',
|
|
|
|
'_qsprintf_check_type' => 'storage/qsprintf',
|
2011-01-31 20:55:26 +01:00
|
|
|
'celerity_generate_unique_node_id' => 'infrastructure/celerity/api',
|
|
|
|
'celerity_register_resource_map' => 'infrastructure/celerity/map',
|
|
|
|
'javelin_render_tag' => 'infrastructure/javelin/markup',
|
2011-06-18 22:07:02 +02:00
|
|
|
'phabricator_date' => 'view/utils',
|
|
|
|
'phabricator_datetime' => 'view/utils',
|
2011-01-31 03:24:57 +01:00
|
|
|
'phabricator_format_relative_time' => 'view/utils',
|
|
|
|
'phabricator_format_timestamp' => 'view/utils',
|
|
|
|
'phabricator_format_units_generic' => 'view/utils',
|
2011-02-15 00:34:20 +01:00
|
|
|
'phabricator_render_form' => 'infrastructure/javelin/markup',
|
2011-06-18 22:07:02 +02:00
|
|
|
'phabricator_time' => 'view/utils',
|
2011-01-16 22:51:39 +01:00
|
|
|
'qsprintf' => 'storage/qsprintf',
|
|
|
|
'queryfx' => 'storage/queryfx',
|
|
|
|
'queryfx_all' => 'storage/queryfx',
|
|
|
|
'queryfx_one' => 'storage/queryfx',
|
2011-01-31 20:55:26 +01:00
|
|
|
'require_celerity_resource' => 'infrastructure/celerity/api',
|
2011-01-16 22:51:39 +01:00
|
|
|
'vqsprintf' => 'storage/qsprintf',
|
|
|
|
'vqueryfx' => 'storage/queryfx',
|
2011-01-27 20:35:04 +01:00
|
|
|
'vqueryfx_all' => 'storage/queryfx',
|
2011-01-16 22:51:39 +01:00
|
|
|
'xsprintf_query' => 'storage/qsprintf',
|
|
|
|
),
|
|
|
|
'requires_class' =>
|
|
|
|
array(
|
2011-05-09 10:10:40 +02:00
|
|
|
'Aphront304Response' => 'AphrontResponse',
|
2011-01-30 21:08:40 +01:00
|
|
|
'Aphront400Response' => 'AphrontResponse',
|
2011-01-16 22:51:39 +01:00
|
|
|
'Aphront404Response' => 'AphrontResponse',
|
2011-01-25 20:57:47 +01:00
|
|
|
'AphrontAjaxResponse' => 'AphrontResponse',
|
Improve drag-and-drop uploader
Summary:
Make it discoverable, show uploading progress, show file thumbnails, allow you
to remove files, make it a generic form component.
Test Plan:
Uploaded ducks
Reviewed By: tomo
Reviewers: aran, tomo, jungejason, tuomaspelkonen
CC: anjali, aran, epriestley, tomo
Differential Revision: 334
2011-05-23 01:11:41 +02:00
|
|
|
'AphrontAttachedFileView' => 'AphrontView',
|
Fix conservative CSRF token cycling limit
Summary:
We currently cycle CSRF tokens every hour and check for the last two valid ones.
This means that a form could go stale in as little as an hour, and is certainly
stale after two.
When a stale form is submitted, you basically get a terrible heisen-state where
some of your data might persist if you're lucky but more likely it all just
vanishes. The .js file below outlines some more details.
This is a pretty terrible UX and we don't need to be as conservative about CSRF
validation as we're being. Remedy this problem by:
- Accepting the last 6 CSRF tokens instead of the last 1 (i.e., pages are
valid for at least 6 hours, and for as long as 7).
- Using JS to refresh the CSRF token every 55 minutes (i.e., pages connected
to the internet are valid indefinitely).
- Showing the user an explicit message about what went wrong when CSRF
validation fails so the experience is less bewildering.
They should now only be able to submit with a bad CSRF token if:
- They load a page, disconnect from the internet for 7 hours, reconnect, and
submit the form within 55 minutes; or
- They are actually the victim of a CSRF attack.
We could eventually fix the first one by tracking reconnects, which might be
"free" once the notification server gets built. It will probably never be an
issue in practice.
Test Plan:
- Reduced CSRF cycle frequency to 2 seconds, submitted a form after 15
seconds, got the CSRF exception.
- Reduced csrf-refresh cycle frequency to 3 seconds, submitted a form after 15
seconds, got a clean form post.
- Added debugging code the the csrf refresh to make sure it was doing sensible
things (pulling different tokens, finding all the inputs).
Reviewed By: aran
Reviewers: tuomaspelkonen, jungejason, aran
CC: aran, epriestley
Differential Revision: 660
2011-07-13 23:05:18 +02:00
|
|
|
'AphrontCSRFException' => 'AphrontException',
|
2011-03-13 01:17:34 +01:00
|
|
|
'AphrontCrumbsView' => 'AphrontView',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontDefaultApplicationConfiguration' => 'AphrontApplicationConfiguration',
|
|
|
|
'AphrontDefaultApplicationController' => 'AphrontController',
|
|
|
|
'AphrontDialogResponse' => 'AphrontResponse',
|
|
|
|
'AphrontDialogView' => 'AphrontView',
|
|
|
|
'AphrontErrorView' => 'AphrontView',
|
2011-05-23 02:06:42 +02:00
|
|
|
'AphrontFilePreviewView' => 'AphrontView',
|
2011-01-23 03:33:00 +01:00
|
|
|
'AphrontFileResponse' => 'AphrontResponse',
|
2011-01-26 02:40:21 +01:00
|
|
|
'AphrontFormCheckboxControl' => 'AphrontFormControl',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontFormControl' => 'AphrontView',
|
2011-02-05 02:53:14 +01:00
|
|
|
'AphrontFormDividerControl' => 'AphrontFormControl',
|
Improve drag-and-drop uploader
Summary:
Make it discoverable, show uploading progress, show file thumbnails, allow you
to remove files, make it a generic form component.
Test Plan:
Uploaded ducks
Reviewed By: tomo
Reviewers: aran, tomo, jungejason, tuomaspelkonen
CC: anjali, aran, epriestley, tomo
Differential Revision: 334
2011-05-23 01:11:41 +02:00
|
|
|
'AphrontFormDragAndDropUploadControl' => 'AphrontFormControl',
|
2011-01-23 03:33:00 +01:00
|
|
|
'AphrontFormFileControl' => 'AphrontFormControl',
|
2011-06-10 00:28:29 +02:00
|
|
|
'AphrontFormLayoutView' => 'AphrontView',
|
2011-01-24 20:36:53 +01:00
|
|
|
'AphrontFormMarkupControl' => 'AphrontFormControl',
|
2011-01-31 20:55:26 +01:00
|
|
|
'AphrontFormPasswordControl' => 'AphrontFormControl',
|
|
|
|
'AphrontFormRecaptchaControl' => 'AphrontFormControl',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontFormSelectControl' => 'AphrontFormControl',
|
2011-01-23 03:33:00 +01:00
|
|
|
'AphrontFormStaticControl' => 'AphrontFormControl',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontFormSubmitControl' => 'AphrontFormControl',
|
|
|
|
'AphrontFormTextAreaControl' => 'AphrontFormControl',
|
|
|
|
'AphrontFormTextControl' => 'AphrontFormControl',
|
2011-04-04 00:50:06 +02:00
|
|
|
'AphrontFormToggleButtonsControl' => 'AphrontFormControl',
|
2011-01-25 22:48:05 +01:00
|
|
|
'AphrontFormTokenizerControl' => 'AphrontFormControl',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontFormView' => 'AphrontView',
|
2011-02-20 21:50:28 +01:00
|
|
|
'AphrontHeadsupActionListView' => 'AphrontView',
|
|
|
|
'AphrontHeadsupActionView' => 'AphrontView',
|
2011-04-30 19:11:41 +02:00
|
|
|
'AphrontIsolatedDatabaseConnection' => 'AphrontDatabaseConnection',
|
|
|
|
'AphrontIsolatedDatabaseConnectionTestCase' => 'PhabricatorTestCase',
|
2011-06-08 20:53:10 +02:00
|
|
|
'AphrontKeyboardShortcutsAvailableView' => 'AphrontView',
|
2011-04-04 00:50:06 +02:00
|
|
|
'AphrontListFilterView' => 'AphrontView',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontMySQLDatabaseConnection' => 'AphrontDatabaseConnection',
|
|
|
|
'AphrontNullView' => 'AphrontView',
|
|
|
|
'AphrontPageView' => 'AphrontView',
|
2011-04-01 02:06:33 +02:00
|
|
|
'AphrontPagerView' => 'AphrontView',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontPanelView' => 'AphrontView',
|
2011-04-30 09:18:13 +02:00
|
|
|
'AphrontQueryAccessDeniedException' => 'AphrontQueryRecoverableException',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontQueryConnectionException' => 'AphrontQueryException',
|
|
|
|
'AphrontQueryConnectionLostException' => 'AphrontQueryRecoverableException',
|
|
|
|
'AphrontQueryCountException' => 'AphrontQueryException',
|
2011-01-31 06:28:45 +01:00
|
|
|
'AphrontQueryDuplicateKeyException' => 'AphrontQueryException',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontQueryObjectMissingException' => 'AphrontQueryException',
|
|
|
|
'AphrontQueryParameterException' => 'AphrontQueryException',
|
|
|
|
'AphrontQueryRecoverableException' => 'AphrontQueryException',
|
2011-01-26 22:21:12 +01:00
|
|
|
'AphrontRedirectException' => 'AphrontException',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontRedirectResponse' => 'AphrontResponse',
|
2011-05-16 20:43:39 +02:00
|
|
|
'AphrontReloadResponse' => 'AphrontRedirectResponse',
|
2011-01-30 18:15:01 +01:00
|
|
|
'AphrontRequestFailureView' => 'AphrontView',
|
2011-01-24 18:00:29 +01:00
|
|
|
'AphrontSideNavView' => 'AphrontView',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontTableView' => 'AphrontView',
|
2011-03-23 04:41:02 +01:00
|
|
|
'AphrontTokenizerTemplateView' => 'AphrontView',
|
2011-04-04 04:20:47 +02:00
|
|
|
'AphrontTypeaheadTemplateView' => 'AphrontView',
|
2011-01-16 22:51:39 +01:00
|
|
|
'AphrontWebpageResponse' => 'AphrontResponse',
|
2011-01-25 18:59:31 +01:00
|
|
|
'CelerityResourceController' => 'AphrontController',
|
2011-01-24 20:30:10 +01:00
|
|
|
'ConduitAPI_conduit_connect_Method' => 'ConduitAPIMethod',
|
2011-06-14 21:17:14 +02:00
|
|
|
'ConduitAPI_conduit_getcertificate_Method' => 'ConduitAPIMethod',
|
2011-02-19 07:36:32 +01:00
|
|
|
'ConduitAPI_conduit_ping_Method' => 'ConduitAPIMethod',
|
2011-03-15 21:38:14 +01:00
|
|
|
'ConduitAPI_daemon_launched_Method' => 'ConduitAPIMethod',
|
|
|
|
'ConduitAPI_daemon_log_Method' => 'ConduitAPIMethod',
|
2011-01-24 20:01:53 +01:00
|
|
|
'ConduitAPI_differential_creatediff_Method' => 'ConduitAPIMethod',
|
2011-02-06 22:49:23 +01:00
|
|
|
'ConduitAPI_differential_createrevision_Method' => 'ConduitAPIMethod',
|
2011-02-06 23:43:06 +01:00
|
|
|
'ConduitAPI_differential_find_Method' => 'ConduitAPIMethod',
|
2011-04-21 00:29:02 +02:00
|
|
|
'ConduitAPI_differential_getalldiffs_Method' => 'ConduitAPIMethod',
|
2011-02-09 18:41:26 +01:00
|
|
|
'ConduitAPI_differential_getcommitmessage_Method' => 'ConduitAPIMethod',
|
2011-02-19 07:28:03 +01:00
|
|
|
'ConduitAPI_differential_getcommitpaths_Method' => 'ConduitAPIMethod',
|
2011-02-19 07:15:28 +01:00
|
|
|
'ConduitAPI_differential_getdiff_Method' => 'ConduitAPIMethod',
|
2011-04-21 01:38:16 +02:00
|
|
|
'ConduitAPI_differential_getrevision_Method' => 'ConduitAPIMethod',
|
2011-04-20 01:24:45 +02:00
|
|
|
'ConduitAPI_differential_getrevisionfeedback_Method' => 'ConduitAPIMethod',
|
2011-02-09 18:48:26 +01:00
|
|
|
'ConduitAPI_differential_markcommitted_Method' => 'ConduitAPIMethod',
|
2011-02-06 22:42:00 +01:00
|
|
|
'ConduitAPI_differential_parsecommitmessage_Method' => 'ConduitAPIMethod',
|
2011-01-24 21:07:34 +01:00
|
|
|
'ConduitAPI_differential_setdiffproperty_Method' => 'ConduitAPIMethod',
|
2011-02-06 23:00:32 +01:00
|
|
|
'ConduitAPI_differential_updaterevision_Method' => 'ConduitAPIMethod',
|
2011-04-22 03:47:04 +02:00
|
|
|
'ConduitAPI_differential_updatetaskrevisionassoc_Method' => 'ConduitAPIMethod',
|
2011-06-09 01:16:59 +02:00
|
|
|
'ConduitAPI_differential_updateunitresults_Method' => 'ConduitAPIMethod',
|
2011-04-14 01:39:08 +02:00
|
|
|
'ConduitAPI_diffusion_getcommits_Method' => 'ConduitAPIMethod',
|
2011-05-20 00:36:17 +02:00
|
|
|
'ConduitAPI_diffusion_getrecentcommitsbypath_Method' => 'ConduitAPIMethod',
|
2011-07-05 17:35:18 +02:00
|
|
|
'ConduitAPI_feed_publish_Method' => 'ConduitAPIMethod',
|
2011-05-21 18:53:50 +02:00
|
|
|
'ConduitAPI_file_download_Method' => 'ConduitAPIMethod',
|
2011-01-24 18:00:29 +01:00
|
|
|
'ConduitAPI_file_upload_Method' => 'ConduitAPIMethod',
|
2011-06-27 10:00:28 +02:00
|
|
|
'ConduitAPI_maniphest_info_Method' => 'ConduitAPIMethod',
|
2011-06-14 07:21:30 +02:00
|
|
|
'ConduitAPI_paste_info_Method' => 'ConduitAPIMethod',
|
2011-04-12 06:51:36 +02:00
|
|
|
'ConduitAPI_path_getowners_Method' => 'ConduitAPIMethod',
|
2011-07-13 04:18:20 +02:00
|
|
|
'ConduitAPI_slowvote_info_Method' => 'ConduitAPIMethod',
|
2011-01-24 20:36:53 +01:00
|
|
|
'ConduitAPI_user_find_Method' => 'ConduitAPIMethod',
|
2011-04-08 03:27:39 +02:00
|
|
|
'ConduitAPI_user_whoami_Method' => 'ConduitAPIMethod',
|
2011-02-12 01:48:43 +01:00
|
|
|
'DarkConsoleConfigPlugin' => 'DarkConsolePlugin',
|
2011-02-03 07:38:42 +01:00
|
|
|
'DarkConsoleController' => 'PhabricatorController',
|
2011-02-02 22:48:52 +01:00
|
|
|
'DarkConsoleErrorLogPlugin' => 'DarkConsolePlugin',
|
|
|
|
'DarkConsoleRequestPlugin' => 'DarkConsolePlugin',
|
|
|
|
'DarkConsoleServicesPlugin' => 'DarkConsolePlugin',
|
|
|
|
'DarkConsoleXHProfPlugin' => 'DarkConsolePlugin',
|
2011-01-30 20:02:22 +01:00
|
|
|
'DifferentialAddCommentView' => 'AphrontView',
|
2011-01-26 02:17:19 +01:00
|
|
|
'DifferentialCCWelcomeMail' => 'DifferentialReviewRequestMail',
|
2011-01-24 20:01:53 +01:00
|
|
|
'DifferentialChangeset' => 'DifferentialDAO',
|
2011-01-24 22:18:41 +01:00
|
|
|
'DifferentialChangesetDetailView' => 'AphrontView',
|
2011-01-25 20:57:47 +01:00
|
|
|
'DifferentialChangesetListView' => 'AphrontView',
|
2011-01-25 00:52:35 +01:00
|
|
|
'DifferentialChangesetViewController' => 'DifferentialController',
|
2011-01-30 19:37:36 +01:00
|
|
|
'DifferentialComment' => 'DifferentialDAO',
|
2011-01-30 21:08:40 +01:00
|
|
|
'DifferentialCommentMail' => 'DifferentialMail',
|
2011-02-01 03:05:20 +01:00
|
|
|
'DifferentialCommentPreviewController' => 'DifferentialController',
|
2011-01-30 21:08:40 +01:00
|
|
|
'DifferentialCommentSaveController' => 'DifferentialController',
|
2011-01-24 22:18:41 +01:00
|
|
|
'DifferentialController' => 'PhabricatorController',
|
2011-01-24 20:01:53 +01:00
|
|
|
'DifferentialDAO' => 'PhabricatorLiskDAO',
|
|
|
|
'DifferentialDiff' => 'DifferentialDAO',
|
2011-01-26 02:17:19 +01:00
|
|
|
'DifferentialDiffContentMail' => 'DifferentialMail',
|
2011-02-05 21:20:18 +01:00
|
|
|
'DifferentialDiffCreateController' => 'DifferentialController',
|
2011-01-24 21:07:34 +01:00
|
|
|
'DifferentialDiffProperty' => 'DifferentialDAO',
|
2011-01-24 22:18:41 +01:00
|
|
|
'DifferentialDiffTableOfContentsView' => 'AphrontView',
|
|
|
|
'DifferentialDiffViewController' => 'DifferentialController',
|
2011-05-01 04:40:05 +02:00
|
|
|
'DifferentialExceptionMail' => 'DifferentialMail',
|
2011-01-24 20:01:53 +01:00
|
|
|
'DifferentialHunk' => 'DifferentialDAO',
|
2011-02-02 00:52:04 +01:00
|
|
|
'DifferentialInlineComment' => 'DifferentialDAO',
|
2011-02-02 01:42:36 +01:00
|
|
|
'DifferentialInlineCommentEditController' => 'DifferentialController',
|
2011-02-03 04:38:43 +01:00
|
|
|
'DifferentialInlineCommentPreviewController' => 'DifferentialController',
|
2011-02-02 01:42:36 +01:00
|
|
|
'DifferentialInlineCommentView' => 'AphrontView',
|
2011-01-26 02:17:19 +01:00
|
|
|
'DifferentialNewDiffMail' => 'DifferentialReviewRequestMail',
|
2011-06-08 21:39:03 +02:00
|
|
|
'DifferentialPrimaryPaneView' => 'AphrontView',
|
2011-05-10 01:31:26 +02:00
|
|
|
'DifferentialReplyHandler' => 'PhabricatorMailReplyHandler',
|
2011-01-26 02:17:19 +01:00
|
|
|
'DifferentialReviewRequestMail' => 'DifferentialMail',
|
2011-01-24 20:01:53 +01:00
|
|
|
'DifferentialRevision' => 'DifferentialDAO',
|
2011-01-30 19:37:36 +01:00
|
|
|
'DifferentialRevisionCommentListView' => 'AphrontView',
|
|
|
|
'DifferentialRevisionCommentView' => 'AphrontView',
|
2011-01-27 23:55:52 +01:00
|
|
|
'DifferentialRevisionDetailView' => 'AphrontView',
|
2011-01-25 22:26:09 +01:00
|
|
|
'DifferentialRevisionEditController' => 'DifferentialController',
|
2011-01-26 00:19:06 +01:00
|
|
|
'DifferentialRevisionListController' => 'DifferentialController',
|
2011-01-27 23:55:52 +01:00
|
|
|
'DifferentialRevisionUpdateHistoryView' => 'AphrontView',
|
|
|
|
'DifferentialRevisionViewController' => 'DifferentialController',
|
2011-02-19 23:36:13 +01:00
|
|
|
'DifferentialSubscribeController' => 'DifferentialController',
|
Differential Updates View
Summary:
This adds a new view to differential called Updates.
The high-level goal of Updates is to enabled differential to be
effectively used without email notifications. I've tried doing things
like automatically deleting differential emails where I'm in the 'to'
line since they show up on the main diffential page but then there's
always the chance an important diff flies by without me seeing it. Also,
sometimes someone comments on a diff post-commit but differential
doesn't surface those diffs.
I re-created a test db on my devserver using mysqldump to get data on
revs > 230000 so I would have some test data. We need to add a simple
viewtime table but I didn't want to do that in production. Here's the
table:
CREATE TABLE differential_viewtime (
viewerPHID varchar(64) not null,
objectPHID varchar(64) not null,
viewTime int unsigned not null,
PRIMARY KEY (viewerPHID, objectPHID)
);
Issues:
-Once we turn this on, all diffs will be 'unviewed'. What do you think
about a 'Clear All' button or something?
-Maybe we should add a pager
This feature would be insanely useful, let me know what you think.
Test Plan:
Loaded Updates in my sandbox
http://phabricator.dev1577.snc6.facebook.com/differential/filter/updates/
Clicked a diff, then went back, made sure diff disappeared from Updates
list
Reviewed By: tuomaspelkonen
Reviewers: epriestley, jungejason, tuomaspelkonen
Commenters: epriestley
CC: epriestley, elynde, tuomaspelkonen
Differential Revision: 169
2011-04-27 10:27:06 +02:00
|
|
|
'DifferentialViewTime' => 'DifferentialDAO',
|
2011-03-13 01:17:34 +01:00
|
|
|
'DiffusionBranchTableView' => 'DiffusionView',
|
2011-03-08 02:25:47 +01:00
|
|
|
'DiffusionBrowseController' => 'DiffusionController',
|
2011-03-08 18:54:55 +01:00
|
|
|
'DiffusionBrowseFileController' => 'DiffusionController',
|
2011-03-13 01:17:34 +01:00
|
|
|
'DiffusionBrowseTableView' => 'DiffusionView',
|
2011-03-14 06:03:30 +01:00
|
|
|
'DiffusionChangeController' => 'DiffusionController',
|
2011-03-13 01:17:34 +01:00
|
|
|
'DiffusionCommitChangeTableView' => 'DiffusionView',
|
2011-03-11 18:34:22 +01:00
|
|
|
'DiffusionCommitController' => 'DiffusionController',
|
2011-03-08 00:13:36 +01:00
|
|
|
'DiffusionController' => 'PhabricatorController',
|
2011-03-31 02:36:16 +02:00
|
|
|
'DiffusionDiffController' => 'DiffusionController',
|
2011-03-13 01:17:34 +01:00
|
|
|
'DiffusionGitBranchQuery' => 'DiffusionBranchQuery',
|
2011-03-08 02:25:47 +01:00
|
|
|
'DiffusionGitBrowseQuery' => 'DiffusionBrowseQuery',
|
2011-03-31 03:17:36 +02:00
|
|
|
'DiffusionGitDiffQuery' => 'DiffusionDiffQuery',
|
2011-03-08 18:54:55 +01:00
|
|
|
'DiffusionGitFileContentQuery' => 'DiffusionFileContentQuery',
|
2011-03-09 02:31:44 +01:00
|
|
|
'DiffusionGitHistoryQuery' => 'DiffusionHistoryQuery',
|
2011-03-31 08:27:06 +02:00
|
|
|
'DiffusionGitLastModifiedQuery' => 'DiffusionLastModifiedQuery',
|
2011-03-08 23:29:02 +01:00
|
|
|
'DiffusionGitRequest' => 'DiffusionRequest',
|
2011-03-09 02:31:44 +01:00
|
|
|
'DiffusionHistoryController' => 'DiffusionController',
|
2011-03-13 01:17:34 +01:00
|
|
|
'DiffusionHistoryTableView' => 'DiffusionView',
|
2011-03-08 00:13:36 +01:00
|
|
|
'DiffusionHomeController' => 'DiffusionController',
|
2011-03-31 08:27:06 +02:00
|
|
|
'DiffusionLastModifiedController' => 'DiffusionController',
|
2011-04-04 04:20:47 +02:00
|
|
|
'DiffusionPathCompleteController' => 'DiffusionController',
|
|
|
|
'DiffusionPathValidateController' => 'DiffusionController',
|
2011-03-13 01:17:34 +01:00
|
|
|
'DiffusionRepositoryController' => 'DiffusionController',
|
|
|
|
'DiffusionSvnBrowseQuery' => 'DiffusionBrowseQuery',
|
2011-03-31 02:36:16 +02:00
|
|
|
'DiffusionSvnDiffQuery' => 'DiffusionDiffQuery',
|
2011-03-14 06:03:30 +01:00
|
|
|
'DiffusionSvnFileContentQuery' => 'DiffusionFileContentQuery',
|
2011-03-13 01:17:34 +01:00
|
|
|
'DiffusionSvnHistoryQuery' => 'DiffusionHistoryQuery',
|
2011-03-31 08:27:06 +02:00
|
|
|
'DiffusionSvnLastModifiedQuery' => 'DiffusionLastModifiedQuery',
|
2011-03-23 03:34:47 +01:00
|
|
|
'DiffusionSvnRequest' => 'DiffusionRequest',
|
2011-03-13 01:17:34 +01:00
|
|
|
'DiffusionView' => 'AphrontView',
|
2011-03-22 21:22:40 +01:00
|
|
|
'HeraldAction' => 'HeraldDAO',
|
|
|
|
'HeraldApplyTranscript' => 'HeraldDAO',
|
2011-04-04 08:23:36 +02:00
|
|
|
'HeraldCommitAdapter' => 'HeraldObjectAdapter',
|
2011-03-22 21:22:40 +01:00
|
|
|
'HeraldCondition' => 'HeraldDAO',
|
2011-03-22 21:49:46 +01:00
|
|
|
'HeraldController' => 'PhabricatorController',
|
2011-03-22 21:22:40 +01:00
|
|
|
'HeraldDAO' => 'PhabricatorLiskDAO',
|
2011-03-24 19:07:36 +01:00
|
|
|
'HeraldDeleteController' => 'HeraldController',
|
2011-03-25 05:32:26 +01:00
|
|
|
'HeraldDifferentialRevisionAdapter' => 'HeraldObjectAdapter',
|
2011-03-24 21:49:21 +01:00
|
|
|
'HeraldDryRunAdapter' => 'HeraldObjectAdapter',
|
2011-03-22 21:49:46 +01:00
|
|
|
'HeraldHomeController' => 'HeraldController',
|
2011-03-22 22:34:38 +01:00
|
|
|
'HeraldNewController' => 'HeraldController',
|
2011-03-22 21:22:40 +01:00
|
|
|
'HeraldRule' => 'HeraldDAO',
|
2011-03-22 23:27:52 +01:00
|
|
|
'HeraldRuleController' => 'HeraldController',
|
2011-03-24 21:49:21 +01:00
|
|
|
'HeraldTestConsoleController' => 'HeraldController',
|
2011-03-22 21:22:40 +01:00
|
|
|
'HeraldTranscript' => 'HeraldDAO',
|
2011-03-25 05:32:26 +01:00
|
|
|
'HeraldTranscriptController' => 'HeraldController',
|
|
|
|
'HeraldTranscriptListController' => 'HeraldController',
|
2011-04-30 19:11:59 +02:00
|
|
|
'LiskIsolationTestCase' => 'PhabricatorTestCase',
|
|
|
|
'LiskIsolationTestDAO' => 'LiskDAO',
|
2011-02-08 19:53:59 +01:00
|
|
|
'ManiphestController' => 'PhabricatorController',
|
|
|
|
'ManiphestDAO' => 'PhabricatorLiskDAO',
|
2011-05-10 01:31:26 +02:00
|
|
|
'ManiphestReplyHandler' => 'PhabricatorMailReplyHandler',
|
2011-02-08 19:53:59 +01:00
|
|
|
'ManiphestTask' => 'ManiphestDAO',
|
2011-05-21 03:56:18 +02:00
|
|
|
'ManiphestTaskDescriptionChangeController' => 'ManiphestController',
|
2011-02-08 19:53:59 +01:00
|
|
|
'ManiphestTaskDetailController' => 'ManiphestController',
|
2011-02-20 23:15:53 +01:00
|
|
|
'ManiphestTaskEditController' => 'ManiphestController',
|
2011-02-08 19:53:59 +01:00
|
|
|
'ManiphestTaskListController' => 'ManiphestController',
|
2011-07-04 22:04:22 +02:00
|
|
|
'ManiphestTaskListView' => 'ManiphestView',
|
|
|
|
'ManiphestTaskOwner' => 'ManiphestConstants',
|
|
|
|
'ManiphestTaskPriority' => 'ManiphestConstants',
|
2011-06-30 01:16:33 +02:00
|
|
|
'ManiphestTaskProject' => 'ManiphestDAO',
|
2011-07-04 22:04:22 +02:00
|
|
|
'ManiphestTaskStatus' => 'ManiphestConstants',
|
2011-07-07 19:24:49 +02:00
|
|
|
'ManiphestTaskSubscriber' => 'ManiphestDAO',
|
2011-07-04 22:04:22 +02:00
|
|
|
'ManiphestTaskSummaryView' => 'ManiphestView',
|
2011-02-08 19:53:59 +01:00
|
|
|
'ManiphestTransaction' => 'ManiphestDAO',
|
2011-07-04 22:04:22 +02:00
|
|
|
'ManiphestTransactionDetailView' => 'ManiphestView',
|
|
|
|
'ManiphestTransactionListView' => 'ManiphestView',
|
2011-05-10 17:29:28 +02:00
|
|
|
'ManiphestTransactionPreviewController' => 'ManiphestController',
|
2011-02-08 19:53:59 +01:00
|
|
|
'ManiphestTransactionSaveController' => 'ManiphestController',
|
2011-07-04 22:04:22 +02:00
|
|
|
'ManiphestTransactionType' => 'ManiphestConstants',
|
|
|
|
'ManiphestView' => 'AphrontView',
|
2011-01-30 01:16:09 +01:00
|
|
|
'Phabricator404Controller' => 'PhabricatorController',
|
2011-01-26 22:21:12 +01:00
|
|
|
'PhabricatorAuthController' => 'PhabricatorController',
|
2011-01-24 18:00:29 +01:00
|
|
|
'PhabricatorConduitAPIController' => 'PhabricatorConduitController',
|
2011-06-14 21:17:14 +02:00
|
|
|
'PhabricatorConduitCertificateToken' => 'PhabricatorConduitDAO',
|
2011-01-24 18:00:29 +01:00
|
|
|
'PhabricatorConduitConnectionLog' => 'PhabricatorConduitDAO',
|
|
|
|
'PhabricatorConduitConsoleController' => 'PhabricatorConduitController',
|
|
|
|
'PhabricatorConduitController' => 'PhabricatorController',
|
|
|
|
'PhabricatorConduitDAO' => 'PhabricatorLiskDAO',
|
|
|
|
'PhabricatorConduitLogController' => 'PhabricatorConduitController',
|
|
|
|
'PhabricatorConduitMethodCallLog' => 'PhabricatorConduitDAO',
|
2011-06-14 21:17:14 +02:00
|
|
|
'PhabricatorConduitTokenController' => 'PhabricatorConduitController',
|
2011-01-23 02:48:55 +01:00
|
|
|
'PhabricatorController' => 'AphrontController',
|
2011-06-13 01:06:17 +02:00
|
|
|
'PhabricatorCountdownController' => 'PhabricatorController',
|
|
|
|
'PhabricatorCountdownDAO' => 'PhabricatorLiskDAO',
|
|
|
|
'PhabricatorCountdownDeleteController' => 'PhabricatorCountdownController',
|
|
|
|
'PhabricatorCountdownEditController' => 'PhabricatorCountdownController',
|
|
|
|
'PhabricatorCountdownListController' => 'PhabricatorCountdownController',
|
|
|
|
'PhabricatorCountdownViewController' => 'PhabricatorCountdownController',
|
2011-03-07 07:29:22 +01:00
|
|
|
'PhabricatorDaemon' => 'PhutilDaemon',
|
2011-05-03 02:05:22 +02:00
|
|
|
'PhabricatorDaemonCombinedLogController' => 'PhabricatorDaemonController',
|
2011-03-10 22:48:29 +01:00
|
|
|
'PhabricatorDaemonConsoleController' => 'PhabricatorDaemonController',
|
|
|
|
'PhabricatorDaemonController' => 'PhabricatorController',
|
2011-03-15 21:38:14 +01:00
|
|
|
'PhabricatorDaemonDAO' => 'PhabricatorLiskDAO',
|
|
|
|
'PhabricatorDaemonLog' => 'PhabricatorDaemonDAO',
|
|
|
|
'PhabricatorDaemonLogEvent' => 'PhabricatorDaemonDAO',
|
2011-05-03 02:05:22 +02:00
|
|
|
'PhabricatorDaemonLogEventsView' => 'AphrontView',
|
|
|
|
'PhabricatorDaemonLogListController' => 'PhabricatorDaemonController',
|
|
|
|
'PhabricatorDaemonLogListView' => 'AphrontView',
|
2011-03-15 21:38:14 +01:00
|
|
|
'PhabricatorDaemonLogViewController' => 'PhabricatorDaemonController',
|
2011-03-11 18:34:22 +01:00
|
|
|
'PhabricatorDaemonTimelineConsoleController' => 'PhabricatorDaemonController',
|
|
|
|
'PhabricatorDaemonTimelineEventController' => 'PhabricatorDaemonController',
|
2011-07-20 07:48:38 +02:00
|
|
|
'PhabricatorDefaultFileStorageEngineSelector' => 'PhabricatorFileStorageEngineSelector',
|
2011-01-23 02:48:55 +01:00
|
|
|
'PhabricatorDirectoryCategory' => 'PhabricatorDirectoryDAO',
|
|
|
|
'PhabricatorDirectoryCategoryDeleteController' => 'PhabricatorDirectoryController',
|
|
|
|
'PhabricatorDirectoryCategoryEditController' => 'PhabricatorDirectoryController',
|
|
|
|
'PhabricatorDirectoryCategoryListController' => 'PhabricatorDirectoryController',
|
|
|
|
'PhabricatorDirectoryController' => 'PhabricatorController',
|
|
|
|
'PhabricatorDirectoryDAO' => 'PhabricatorLiskDAO',
|
|
|
|
'PhabricatorDirectoryItem' => 'PhabricatorDirectoryDAO',
|
|
|
|
'PhabricatorDirectoryItemDeleteController' => 'PhabricatorDirectoryController',
|
|
|
|
'PhabricatorDirectoryItemEditController' => 'PhabricatorDirectoryController',
|
|
|
|
'PhabricatorDirectoryItemListController' => 'PhabricatorDirectoryController',
|
|
|
|
'PhabricatorDirectoryMainController' => 'PhabricatorDirectoryController',
|
2011-05-12 19:06:54 +02:00
|
|
|
'PhabricatorDisabledUserController' => 'PhabricatorAuthController',
|
2011-02-06 01:57:21 +01:00
|
|
|
'PhabricatorDraft' => 'PhabricatorDraftDAO',
|
|
|
|
'PhabricatorDraftDAO' => 'PhabricatorLiskDAO',
|
2011-03-31 04:21:09 +02:00
|
|
|
'PhabricatorEditPreferencesController' => 'PhabricatorPreferencesController',
|
2011-01-31 20:55:26 +01:00
|
|
|
'PhabricatorEmailLoginController' => 'PhabricatorAuthController',
|
|
|
|
'PhabricatorEmailTokenController' => 'PhabricatorAuthController',
|
2011-07-05 17:35:18 +02:00
|
|
|
'PhabricatorFeedController' => 'PhabricatorController',
|
|
|
|
'PhabricatorFeedDAO' => 'PhabricatorLiskDAO',
|
2011-07-10 03:03:59 +02:00
|
|
|
'PhabricatorFeedPublicStreamController' => 'PhabricatorFeedController',
|
2011-07-05 17:35:18 +02:00
|
|
|
'PhabricatorFeedStoryData' => 'PhabricatorFeedDAO',
|
2011-07-10 00:44:49 +02:00
|
|
|
'PhabricatorFeedStoryDifferential' => 'PhabricatorFeedStory',
|
2011-07-12 16:23:04 +02:00
|
|
|
'PhabricatorFeedStoryPhriction' => 'PhabricatorFeedStory',
|
2011-07-05 17:35:18 +02:00
|
|
|
'PhabricatorFeedStoryReference' => 'PhabricatorFeedDAO',
|
2011-07-09 22:28:09 +02:00
|
|
|
'PhabricatorFeedStoryStatus' => 'PhabricatorFeedStory',
|
2011-07-10 00:44:49 +02:00
|
|
|
'PhabricatorFeedStoryTypeConstants' => 'PhabricatorFeedConstants',
|
2011-07-05 17:35:18 +02:00
|
|
|
'PhabricatorFeedStoryUnknown' => 'PhabricatorFeedStory',
|
|
|
|
'PhabricatorFeedStoryView' => 'PhabricatorFeedView',
|
|
|
|
'PhabricatorFeedStreamController' => 'PhabricatorFeedController',
|
|
|
|
'PhabricatorFeedView' => 'AphrontView',
|
2011-01-23 03:33:00 +01:00
|
|
|
'PhabricatorFile' => 'PhabricatorFileDAO',
|
|
|
|
'PhabricatorFileController' => 'PhabricatorController',
|
|
|
|
'PhabricatorFileDAO' => 'PhabricatorLiskDAO',
|
2011-05-22 20:55:10 +02:00
|
|
|
'PhabricatorFileDropUploadController' => 'PhabricatorFileController',
|
2011-04-14 00:15:48 +02:00
|
|
|
'PhabricatorFileImageMacro' => 'PhabricatorFileDAO',
|
2011-01-23 03:33:00 +01:00
|
|
|
'PhabricatorFileListController' => 'PhabricatorFileController',
|
2011-05-03 19:45:45 +02:00
|
|
|
'PhabricatorFileMacroDeleteController' => 'PhabricatorFileController',
|
|
|
|
'PhabricatorFileMacroEditController' => 'PhabricatorFileController',
|
|
|
|
'PhabricatorFileMacroListController' => 'PhabricatorFileController',
|
2011-05-02 23:20:24 +02:00
|
|
|
'PhabricatorFileProxyController' => 'PhabricatorFileController',
|
|
|
|
'PhabricatorFileProxyImage' => 'PhabricatorFileDAO',
|
2011-01-23 03:33:00 +01:00
|
|
|
'PhabricatorFileStorageBlob' => 'PhabricatorFileDAO',
|
2011-05-22 23:40:51 +02:00
|
|
|
'PhabricatorFileTransformController' => 'PhabricatorFileController',
|
2011-01-23 03:33:00 +01:00
|
|
|
'PhabricatorFileUploadController' => 'PhabricatorFileController',
|
|
|
|
'PhabricatorFileViewController' => 'PhabricatorFileController',
|
2011-07-03 18:47:31 +02:00
|
|
|
'PhabricatorGarbageCollectorDaemon' => 'PhabricatorDaemon',
|
2011-03-10 22:48:29 +01:00
|
|
|
'PhabricatorGoodForNothingWorker' => 'PhabricatorWorker',
|
2011-05-28 20:36:00 +02:00
|
|
|
'PhabricatorHelpController' => 'PhabricatorController',
|
|
|
|
'PhabricatorHelpKeyboardShortcutController' => 'PhabricatorHelpController',
|
2011-05-15 18:29:48 +02:00
|
|
|
'PhabricatorIRCBot' => 'PhabricatorDaemon',
|
2011-05-17 23:40:25 +02:00
|
|
|
'PhabricatorIRCObjectNameHandler' => 'PhabricatorIRCHandler',
|
2011-05-15 18:29:48 +02:00
|
|
|
'PhabricatorIRCProtocolHandler' => 'PhabricatorIRCHandler',
|
Bring Javelin into Phabricator via git submodule, not copy-and-paste
Summary:
Javelin is currently embedded in Phabricator via copy-and-paste of prebuilt
packages. This is not so great.
Pull it in as a submodule instead and make all the Phabriator resources declare
proper dependency trees. Add Javelin linting.
Test Plan:
I tried to run through pretty much all the JS functionality on the site. This is
still a high-risk change, but I did a pretty thorough test
Differential: inline comments, revealing diffs, list tokenizers, comment
preview, editing/deleting comments, add review action.
Maniphest: list tokenizer, comment actions
Herald: rule editing, tokenizers, add/remove rows
Reviewed By: tomo
Reviewers: aran, tomo, mroch, jungejason, tuomaspelkonen
CC: aran, tomo, epriestley
Differential Revision: 223
2011-05-04 00:11:55 +02:00
|
|
|
'PhabricatorJavelinLinter' => 'ArcanistLinter',
|
|
|
|
'PhabricatorLintEngine' => 'PhutilLintEngine',
|
2011-01-23 02:48:55 +01:00
|
|
|
'PhabricatorLiskDAO' => 'LiskDAO',
|
2011-07-20 07:48:38 +02:00
|
|
|
'PhabricatorLocalDiskFileStorageEngine' => 'PhabricatorFileStorageEngine',
|
2011-01-26 22:21:12 +01:00
|
|
|
'PhabricatorLoginController' => 'PhabricatorAuthController',
|
2011-01-31 03:52:29 +01:00
|
|
|
'PhabricatorLogoutController' => 'PhabricatorAuthController',
|
2011-02-10 02:39:55 +01:00
|
|
|
'PhabricatorMailImplementationAmazonSESAdapter' => 'PhabricatorMailImplementationPHPMailerLiteAdapter',
|
2011-01-26 18:33:31 +01:00
|
|
|
'PhabricatorMailImplementationPHPMailerLiteAdapter' => 'PhabricatorMailImplementationAdapter',
|
2011-05-26 19:00:26 +02:00
|
|
|
'PhabricatorMailImplementationSendGridAdapter' => 'PhabricatorMailImplementationAdapter',
|
Fix a threading issue with Amazon SES
Summary:
Amazon SES does not allow us to set a Message-ID header, which means
that threads are incorrect in Mail.app (and presumably other applications
which respect In-Reply-To and References) because the initial email does not
have anything which attaches it to the rest of the thread. To fix this, never
rely on Message-ID if the mailer doesn't support Message-ID.
(In the Amazon SES case, Amazon generates its own Message-ID which we can't
know ahead of time).
I additionally used all the Lisk isolation from the other tests to make this
testable and wrote tests for it.
I also moved the idea of a thread ID lower in the stack and out of
DifferentialMail, which should not be responsible for implementation details.
NOTE: If you push this, it will cause a one-time break of threading for
everyone using Outlook since I've changed the seed for generating Thread-Index.
I feel like this is okay to avoid introducing more complexity here.
Test Plan:
Created and then updated a revision, messages delivered over Amazon
SES threaded correctly in Mail.app. Verified headers. Unit tests.
Reviewed By: rm
Reviewers: aran, tuomaspelkonen, jungejason, rm
Commenters: aran
CC: aran, rm, epriestley
Differential Revision: 195
2011-04-30 20:47:00 +02:00
|
|
|
'PhabricatorMailImplementationTestAdapter' => 'PhabricatorMailImplementationAdapter',
|
2011-01-26 02:40:21 +01:00
|
|
|
'PhabricatorMetaMTAController' => 'PhabricatorController',
|
|
|
|
'PhabricatorMetaMTADAO' => 'PhabricatorLiskDAO',
|
2011-03-17 01:46:29 +01:00
|
|
|
'PhabricatorMetaMTADaemon' => 'PhabricatorDaemon',
|
2011-06-01 17:33:14 +02:00
|
|
|
'PhabricatorMetaMTAEmailBodyParserTestCase' => 'PhabricatorTestCase',
|
2011-01-26 02:40:21 +01:00
|
|
|
'PhabricatorMetaMTAListController' => 'PhabricatorMetaMTAController',
|
|
|
|
'PhabricatorMetaMTAMail' => 'PhabricatorMetaMTADAO',
|
Fix a threading issue with Amazon SES
Summary:
Amazon SES does not allow us to set a Message-ID header, which means
that threads are incorrect in Mail.app (and presumably other applications
which respect In-Reply-To and References) because the initial email does not
have anything which attaches it to the rest of the thread. To fix this, never
rely on Message-ID if the mailer doesn't support Message-ID.
(In the Amazon SES case, Amazon generates its own Message-ID which we can't
know ahead of time).
I additionally used all the Lisk isolation from the other tests to make this
testable and wrote tests for it.
I also moved the idea of a thread ID lower in the stack and out of
DifferentialMail, which should not be responsible for implementation details.
NOTE: If you push this, it will cause a one-time break of threading for
everyone using Outlook since I've changed the seed for generating Thread-Index.
I feel like this is okay to avoid introducing more complexity here.
Test Plan:
Created and then updated a revision, messages delivered over Amazon
SES threaded correctly in Mail.app. Verified headers. Unit tests.
Reviewed By: rm
Reviewers: aran, tuomaspelkonen, jungejason, rm
Commenters: aran
CC: aran, rm, epriestley
Differential Revision: 195
2011-04-30 20:47:00 +02:00
|
|
|
'PhabricatorMetaMTAMailTestCase' => 'PhabricatorTestCase',
|
2011-01-26 19:40:38 +01:00
|
|
|
'PhabricatorMetaMTAMailingList' => 'PhabricatorMetaMTADAO',
|
|
|
|
'PhabricatorMetaMTAMailingListEditController' => 'PhabricatorMetaMTAController',
|
|
|
|
'PhabricatorMetaMTAMailingListsController' => 'PhabricatorMetaMTAController',
|
2011-05-05 08:09:42 +02:00
|
|
|
'PhabricatorMetaMTAReceiveController' => 'PhabricatorMetaMTAController',
|
|
|
|
'PhabricatorMetaMTAReceivedListController' => 'PhabricatorMetaMTAController',
|
|
|
|
'PhabricatorMetaMTAReceivedMail' => 'PhabricatorMetaMTADAO',
|
2011-01-26 02:40:21 +01:00
|
|
|
'PhabricatorMetaMTASendController' => 'PhabricatorMetaMTAController',
|
2011-05-30 20:07:05 +02:00
|
|
|
'PhabricatorMetaMTASendGridReceiveController' => 'PhabricatorMetaMTAController',
|
2011-01-26 18:08:26 +01:00
|
|
|
'PhabricatorMetaMTAViewController' => 'PhabricatorMetaMTAController',
|
2011-07-20 07:48:38 +02:00
|
|
|
'PhabricatorMySQLFileStorageEngine' => 'PhabricatorFileStorageEngine',
|
2011-02-28 04:47:22 +01:00
|
|
|
'PhabricatorOAuthDefaultRegistrationController' => 'PhabricatorOAuthRegistrationController',
|
2011-02-21 07:47:56 +01:00
|
|
|
'PhabricatorOAuthDiagnosticsController' => 'PhabricatorAuthController',
|
|
|
|
'PhabricatorOAuthFailureView' => 'AphrontView',
|
|
|
|
'PhabricatorOAuthLoginController' => 'PhabricatorAuthController',
|
|
|
|
'PhabricatorOAuthProviderFacebook' => 'PhabricatorOAuthProvider',
|
|
|
|
'PhabricatorOAuthProviderGithub' => 'PhabricatorOAuthProvider',
|
2011-02-28 04:47:22 +01:00
|
|
|
'PhabricatorOAuthRegistrationController' => 'PhabricatorAuthController',
|
2011-02-22 07:51:34 +01:00
|
|
|
'PhabricatorOAuthUnlinkController' => 'PhabricatorAuthController',
|
2011-04-03 23:48:36 +02:00
|
|
|
'PhabricatorOwnersController' => 'PhabricatorController',
|
|
|
|
'PhabricatorOwnersDAO' => 'PhabricatorLiskDAO',
|
2011-04-04 07:03:27 +02:00
|
|
|
'PhabricatorOwnersDeleteController' => 'PhabricatorOwnersController',
|
2011-04-03 23:48:36 +02:00
|
|
|
'PhabricatorOwnersDetailController' => 'PhabricatorOwnersController',
|
2011-04-04 07:03:27 +02:00
|
|
|
'PhabricatorOwnersEditController' => 'PhabricatorOwnersController',
|
2011-04-03 23:48:36 +02:00
|
|
|
'PhabricatorOwnersListController' => 'PhabricatorOwnersController',
|
|
|
|
'PhabricatorOwnersOwner' => 'PhabricatorOwnersDAO',
|
|
|
|
'PhabricatorOwnersPackage' => 'PhabricatorOwnersDAO',
|
|
|
|
'PhabricatorOwnersPath' => 'PhabricatorOwnersDAO',
|
2011-01-23 06:09:13 +01:00
|
|
|
'PhabricatorPHID' => 'PhabricatorPHIDDAO',
|
|
|
|
'PhabricatorPHIDController' => 'PhabricatorController',
|
|
|
|
'PhabricatorPHIDDAO' => 'PhabricatorLiskDAO',
|
|
|
|
'PhabricatorPHIDListController' => 'PhabricatorPHIDController',
|
2011-01-26 18:02:09 +01:00
|
|
|
'PhabricatorPHIDLookupController' => 'PhabricatorPHIDController',
|
2011-06-10 08:53:53 +02:00
|
|
|
'PhabricatorPaste' => 'PhabricatorPasteDAO',
|
|
|
|
'PhabricatorPasteController' => 'PhabricatorController',
|
|
|
|
'PhabricatorPasteCreateController' => 'PhabricatorPasteController',
|
|
|
|
'PhabricatorPasteDAO' => 'PhabricatorLiskDAO',
|
2011-06-14 04:12:30 +02:00
|
|
|
'PhabricatorPasteListController' => 'PhabricatorPasteController',
|
2011-06-10 08:53:53 +02:00
|
|
|
'PhabricatorPasteViewController' => 'PhabricatorPasteController',
|
2011-01-24 03:09:16 +01:00
|
|
|
'PhabricatorPeopleController' => 'PhabricatorController',
|
|
|
|
'PhabricatorPeopleEditController' => 'PhabricatorPeopleController',
|
|
|
|
'PhabricatorPeopleListController' => 'PhabricatorPeopleController',
|
Provide an activity log for login and administrative actions
Summary: This isn't complete, but I figured I'd ship it for review while it's still smallish.
Provide an activity log for high-level system actions (logins, admin actions). This basically allows two things to happen:
- The log itself is useful if there are shenanigans.
- Password login can check it and start CAPTCHA'ing users after a few failed attempts.
I'm going to change how the admin stuff works a little bit too, since right now you can make someone an agent, grab their certificate, revert them back to a normal user, and then act on their behalf over Conduit. This is a little silly, I'm going to move "agent" to the create workflow instead. I'll also add a confirm/email step to the administrative password reset flow.
Test Plan: Took various administrative and non-administrative actions, they appeared in the logs. Filtered the logs in a bunch of different ways.
Reviewers: jungejason, tuomaspelkonen, aran
CC:
Differential Revision: 302
2011-05-18 03:42:21 +02:00
|
|
|
'PhabricatorPeopleLogsController' => 'PhabricatorPeopleController',
|
2011-01-24 03:09:16 +01:00
|
|
|
'PhabricatorPeopleProfileController' => 'PhabricatorPeopleController',
|
2011-02-20 03:28:41 +01:00
|
|
|
'PhabricatorPeopleProfileEditController' => 'PhabricatorPeopleController',
|
2011-03-31 04:21:09 +02:00
|
|
|
'PhabricatorPreferencesController' => 'PhabricatorController',
|
2011-06-18 10:13:56 +02:00
|
|
|
'PhabricatorProfileView' => 'AphrontView',
|
2011-02-21 03:41:23 +01:00
|
|
|
'PhabricatorProject' => 'PhabricatorProjectDAO',
|
|
|
|
'PhabricatorProjectAffiliation' => 'PhabricatorProjectDAO',
|
|
|
|
'PhabricatorProjectAffiliationEditController' => 'PhabricatorProjectController',
|
|
|
|
'PhabricatorProjectController' => 'PhabricatorController',
|
2011-06-26 17:37:47 +02:00
|
|
|
'PhabricatorProjectCreateController' => 'PhabricatorProjectController',
|
2011-02-21 03:41:23 +01:00
|
|
|
'PhabricatorProjectDAO' => 'PhabricatorLiskDAO',
|
|
|
|
'PhabricatorProjectListController' => 'PhabricatorProjectController',
|
|
|
|
'PhabricatorProjectProfile' => 'PhabricatorProjectDAO',
|
|
|
|
'PhabricatorProjectProfileController' => 'PhabricatorProjectController',
|
2011-06-18 10:13:56 +02:00
|
|
|
'PhabricatorProjectProfileEditController' => 'PhabricatorProjectController',
|
2011-07-20 07:48:38 +02:00
|
|
|
'PhabricatorProjectSubproject' => 'PhabricatorProjectDAO',
|
2011-04-04 19:29:46 +02:00
|
|
|
'PhabricatorRedirectController' => 'PhabricatorController',
|
Fix conservative CSRF token cycling limit
Summary:
We currently cycle CSRF tokens every hour and check for the last two valid ones.
This means that a form could go stale in as little as an hour, and is certainly
stale after two.
When a stale form is submitted, you basically get a terrible heisen-state where
some of your data might persist if you're lucky but more likely it all just
vanishes. The .js file below outlines some more details.
This is a pretty terrible UX and we don't need to be as conservative about CSRF
validation as we're being. Remedy this problem by:
- Accepting the last 6 CSRF tokens instead of the last 1 (i.e., pages are
valid for at least 6 hours, and for as long as 7).
- Using JS to refresh the CSRF token every 55 minutes (i.e., pages connected
to the internet are valid indefinitely).
- Showing the user an explicit message about what went wrong when CSRF
validation fails so the experience is less bewildering.
They should now only be able to submit with a bad CSRF token if:
- They load a page, disconnect from the internet for 7 hours, reconnect, and
submit the form within 55 minutes; or
- They are actually the victim of a CSRF attack.
We could eventually fix the first one by tracking reconnects, which might be
"free" once the notification server gets built. It will probably never be an
issue in practice.
Test Plan:
- Reduced CSRF cycle frequency to 2 seconds, submitted a form after 15
seconds, got the CSRF exception.
- Reduced csrf-refresh cycle frequency to 3 seconds, submitted a form after 15
seconds, got a clean form post.
- Added debugging code the the csrf refresh to make sure it was doing sensible
things (pulling different tokens, finding all the inputs).
Reviewed By: aran
Reviewers: tuomaspelkonen, jungejason, aran
CC: aran, epriestley
Differential Revision: 660
2011-07-13 23:05:18 +02:00
|
|
|
'PhabricatorRefreshCSRFController' => 'PhabricatorAuthController',
|
2011-05-31 19:23:31 +02:00
|
|
|
'PhabricatorRemarkupRuleDifferential' => 'PhabricatorRemarkupRuleObjectName',
|
2011-04-11 12:02:19 +02:00
|
|
|
'PhabricatorRemarkupRuleDiffusion' => 'PhutilRemarkupRule',
|
2011-04-14 00:15:48 +02:00
|
|
|
'PhabricatorRemarkupRuleImageMacro' => 'PhutilRemarkupRule',
|
2011-05-31 19:23:31 +02:00
|
|
|
'PhabricatorRemarkupRuleManiphest' => 'PhabricatorRemarkupRuleObjectName',
|
2011-06-24 19:59:57 +02:00
|
|
|
'PhabricatorRemarkupRuleMention' => 'PhutilRemarkupRule',
|
2011-05-31 19:23:31 +02:00
|
|
|
'PhabricatorRemarkupRuleObjectName' => 'PhutilRemarkupRule',
|
2011-06-27 08:57:43 +02:00
|
|
|
'PhabricatorRemarkupRulePaste' => 'PhabricatorRemarkupRuleObjectName',
|
2011-07-12 05:14:46 +02:00
|
|
|
'PhabricatorRemarkupRulePhriction' => 'PhutilRemarkupRule',
|
2011-05-02 23:20:24 +02:00
|
|
|
'PhabricatorRemarkupRuleProxyImage' => 'PhutilRemarkupRule',
|
2011-05-27 21:50:02 +02:00
|
|
|
'PhabricatorRemarkupRuleYoutube' => 'PhutilRemarkupRule',
|
2011-02-13 03:26:15 +01:00
|
|
|
'PhabricatorRepository' => 'PhabricatorRepositoryDAO',
|
2011-04-06 05:49:31 +02:00
|
|
|
'PhabricatorRepositoryArcanistProject' => 'PhabricatorRepositoryDAO',
|
|
|
|
'PhabricatorRepositoryArcanistProjectEditController' => 'PhabricatorRepositoryController',
|
2011-03-07 07:29:22 +01:00
|
|
|
'PhabricatorRepositoryCommit' => 'PhabricatorRepositoryDAO',
|
2011-03-11 18:34:22 +01:00
|
|
|
'PhabricatorRepositoryCommitChangeParserWorker' => 'PhabricatorRepositoryCommitParserWorker',
|
|
|
|
'PhabricatorRepositoryCommitData' => 'PhabricatorRepositoryDAO',
|
2011-03-07 07:29:22 +01:00
|
|
|
'PhabricatorRepositoryCommitDiscoveryDaemon' => 'PhabricatorRepositoryDaemon',
|
2011-04-04 08:23:36 +02:00
|
|
|
'PhabricatorRepositoryCommitHeraldWorker' => 'PhabricatorRepositoryCommitParserWorker',
|
2011-03-11 18:34:22 +01:00
|
|
|
'PhabricatorRepositoryCommitMessageParserWorker' => 'PhabricatorRepositoryCommitParserWorker',
|
|
|
|
'PhabricatorRepositoryCommitParserWorker' => 'PhabricatorWorker',
|
|
|
|
'PhabricatorRepositoryCommitTaskDaemon' => 'PhabricatorRepositoryDaemon',
|
2011-02-13 03:26:15 +01:00
|
|
|
'PhabricatorRepositoryController' => 'PhabricatorController',
|
2011-03-11 23:13:23 +01:00
|
|
|
'PhabricatorRepositoryCreateController' => 'PhabricatorRepositoryController',
|
2011-02-13 03:26:15 +01:00
|
|
|
'PhabricatorRepositoryDAO' => 'PhabricatorLiskDAO',
|
2011-03-07 07:29:22 +01:00
|
|
|
'PhabricatorRepositoryDaemon' => 'PhabricatorDaemon',
|
2011-04-02 02:11:05 +02:00
|
|
|
'PhabricatorRepositoryDefaultCommitMessageDetailParser' => 'PhabricatorRepositoryCommitMessageDetailParser',
|
2011-05-05 21:53:39 +02:00
|
|
|
'PhabricatorRepositoryDeleteController' => 'PhabricatorRepositoryController',
|
2011-03-11 23:13:23 +01:00
|
|
|
'PhabricatorRepositoryEditController' => 'PhabricatorRepositoryController',
|
2011-03-11 18:34:22 +01:00
|
|
|
'PhabricatorRepositoryGitCommitChangeParserWorker' => 'PhabricatorRepositoryCommitChangeParserWorker',
|
2011-03-07 07:29:22 +01:00
|
|
|
'PhabricatorRepositoryGitCommitDiscoveryDaemon' => 'PhabricatorRepositoryCommitDiscoveryDaemon',
|
2011-03-11 18:34:22 +01:00
|
|
|
'PhabricatorRepositoryGitCommitMessageParserWorker' => 'PhabricatorRepositoryCommitMessageParserWorker',
|
2011-03-21 01:46:02 +01:00
|
|
|
'PhabricatorRepositoryGitFetchDaemon' => 'PhabricatorRepositoryDaemon',
|
2011-02-13 03:26:15 +01:00
|
|
|
'PhabricatorRepositoryGitHubNotification' => 'PhabricatorRepositoryDAO',
|
|
|
|
'PhabricatorRepositoryGitHubPostReceiveController' => 'PhabricatorRepositoryController',
|
2011-03-11 23:13:23 +01:00
|
|
|
'PhabricatorRepositoryListController' => 'PhabricatorRepositoryController',
|
2011-03-31 09:33:44 +02:00
|
|
|
'PhabricatorRepositoryShortcut' => 'PhabricatorRepositoryDAO',
|
2011-03-11 23:13:23 +01:00
|
|
|
'PhabricatorRepositorySvnCommitChangeParserWorker' => 'PhabricatorRepositoryCommitChangeParserWorker',
|
2011-03-11 18:34:22 +01:00
|
|
|
'PhabricatorRepositorySvnCommitDiscoveryDaemon' => 'PhabricatorRepositoryCommitDiscoveryDaemon',
|
|
|
|
'PhabricatorRepositorySvnCommitMessageParserWorker' => 'PhabricatorRepositoryCommitMessageParserWorker',
|
2011-05-16 20:43:39 +02:00
|
|
|
'PhabricatorSearchAttachController' => 'PhabricatorSearchController',
|
2011-02-15 00:34:20 +01:00
|
|
|
'PhabricatorSearchBaseController' => 'PhabricatorController',
|
2011-06-20 06:02:48 +02:00
|
|
|
'PhabricatorSearchCommitIndexer' => 'PhabricatorSearchDocumentIndexer',
|
2011-02-15 00:34:20 +01:00
|
|
|
'PhabricatorSearchController' => 'PhabricatorSearchBaseController',
|
|
|
|
'PhabricatorSearchDAO' => 'PhabricatorLiskDAO',
|
|
|
|
'PhabricatorSearchDifferentialIndexer' => 'PhabricatorSearchDocumentIndexer',
|
|
|
|
'PhabricatorSearchDocument' => 'PhabricatorSearchDAO',
|
|
|
|
'PhabricatorSearchDocumentField' => 'PhabricatorSearchDAO',
|
|
|
|
'PhabricatorSearchDocumentRelationship' => 'PhabricatorSearchDAO',
|
2011-06-15 16:43:43 +02:00
|
|
|
'PhabricatorSearchIndexController' => 'PhabricatorSearchBaseController',
|
2011-02-15 00:34:20 +01:00
|
|
|
'PhabricatorSearchManiphestIndexer' => 'PhabricatorSearchDocumentIndexer',
|
|
|
|
'PhabricatorSearchMySQLExecutor' => 'PhabricatorSearchExecutor',
|
2011-07-12 02:29:08 +02:00
|
|
|
'PhabricatorSearchPhrictionIndexer' => 'PhabricatorSearchDocumentIndexer',
|
2011-02-15 00:34:20 +01:00
|
|
|
'PhabricatorSearchQuery' => 'PhabricatorSearchDAO',
|
Improve search result listing
Summary:
Make it prettier, paginate, add user pictures, show document types, clean some
stuff up a little. Plenty of room for improvement but this should make it a lot
more useful.
Test Plan:
Here's what the new one looks like:
https://secure.phabricator.com/file/view/PHID-FILE-edce2b83c2e3a121c2b7/
Reviewed By: jungejason
Reviewers: tomo, jungejason, aran, tuomaspelkonen, mroch
Commenters: tomo
CC: aran, tomo, jungejason, epriestley
Differential Revision: 545
2011-06-28 23:35:02 +02:00
|
|
|
'PhabricatorSearchResultView' => 'AphrontView',
|
2011-05-16 20:43:39 +02:00
|
|
|
'PhabricatorSearchSelectController' => 'PhabricatorSearchController',
|
2011-06-23 22:31:20 +02:00
|
|
|
'PhabricatorSearchUserIndexer' => 'PhabricatorSearchDocumentIndexer',
|
2011-07-08 20:13:11 +02:00
|
|
|
'PhabricatorSlowvoteChoice' => 'PhabricatorSlowvoteDAO',
|
|
|
|
'PhabricatorSlowvoteComment' => 'PhabricatorSlowvoteDAO',
|
|
|
|
'PhabricatorSlowvoteController' => 'PhabricatorController',
|
|
|
|
'PhabricatorSlowvoteCreateController' => 'PhabricatorSlowvoteController',
|
|
|
|
'PhabricatorSlowvoteDAO' => 'PhabricatorLiskDAO',
|
|
|
|
'PhabricatorSlowvoteListController' => 'PhabricatorSlowvoteController',
|
|
|
|
'PhabricatorSlowvoteOption' => 'PhabricatorSlowvoteDAO',
|
|
|
|
'PhabricatorSlowvotePoll' => 'PhabricatorSlowvoteDAO',
|
|
|
|
'PhabricatorSlowvotePollController' => 'PhabricatorSlowvoteController',
|
2011-01-23 02:48:55 +01:00
|
|
|
'PhabricatorStandardPageView' => 'AphrontPageView',
|
2011-04-08 20:13:29 +02:00
|
|
|
'PhabricatorStatusController' => 'PhabricatorController',
|
2011-03-10 22:48:29 +01:00
|
|
|
'PhabricatorTaskmasterDaemon' => 'PhabricatorDaemon',
|
2011-04-30 19:11:41 +02:00
|
|
|
'PhabricatorTestCase' => 'ArcanistPhutilTestCase',
|
2011-03-07 07:29:22 +01:00
|
|
|
'PhabricatorTimelineCursor' => 'PhabricatorTimelineDAO',
|
|
|
|
'PhabricatorTimelineDAO' => 'PhabricatorLiskDAO',
|
|
|
|
'PhabricatorTimelineEvent' => 'PhabricatorTimelineDAO',
|
|
|
|
'PhabricatorTimelineEventData' => 'PhabricatorTimelineDAO',
|
2011-06-13 01:06:17 +02:00
|
|
|
'PhabricatorTimer' => 'PhabricatorCountdownDAO',
|
2011-05-22 23:40:51 +02:00
|
|
|
'PhabricatorTransformedFile' => 'PhabricatorFileDAO',
|
2011-01-25 22:48:05 +01:00
|
|
|
'PhabricatorTypeaheadCommonDatasourceController' => 'PhabricatorTypeaheadDatasourceController',
|
|
|
|
'PhabricatorTypeaheadDatasourceController' => 'PhabricatorController',
|
2011-04-01 02:06:33 +02:00
|
|
|
'PhabricatorUIExampleController' => 'PhabricatorController',
|
|
|
|
'PhabricatorUIExampleRenderController' => 'PhabricatorUIExampleController',
|
2011-04-04 00:50:06 +02:00
|
|
|
'PhabricatorUIListFilterExample' => 'PhabricatorUIExample',
|
2011-04-01 02:06:33 +02:00
|
|
|
'PhabricatorUIPagerExample' => 'PhabricatorUIExample',
|
2011-01-24 03:09:16 +01:00
|
|
|
'PhabricatorUser' => 'PhabricatorUserDAO',
|
2011-07-18 17:02:00 +02:00
|
|
|
'PhabricatorUserAccountSettingsPanelController' => 'PhabricatorUserSettingsPanelController',
|
|
|
|
'PhabricatorUserConduitSettingsPanelController' => 'PhabricatorUserSettingsPanelController',
|
2011-01-24 03:09:16 +01:00
|
|
|
'PhabricatorUserDAO' => 'PhabricatorLiskDAO',
|
2011-07-18 17:02:00 +02:00
|
|
|
'PhabricatorUserEmailSettingsPanelController' => 'PhabricatorUserSettingsPanelController',
|
Provide an activity log for login and administrative actions
Summary: This isn't complete, but I figured I'd ship it for review while it's still smallish.
Provide an activity log for high-level system actions (logins, admin actions). This basically allows two things to happen:
- The log itself is useful if there are shenanigans.
- Password login can check it and start CAPTCHA'ing users after a few failed attempts.
I'm going to change how the admin stuff works a little bit too, since right now you can make someone an agent, grab their certificate, revert them back to a normal user, and then act on their behalf over Conduit. This is a little silly, I'm going to move "agent" to the create workflow instead. I'll also add a confirm/email step to the administrative password reset flow.
Test Plan: Took various administrative and non-administrative actions, they appeared in the logs. Filtered the logs in a bunch of different ways.
Reviewers: jungejason, tuomaspelkonen, aran
CC:
Differential Revision: 302
2011-05-18 03:42:21 +02:00
|
|
|
'PhabricatorUserLog' => 'PhabricatorUserDAO',
|
2011-02-21 07:47:56 +01:00
|
|
|
'PhabricatorUserOAuthInfo' => 'PhabricatorUserDAO',
|
2011-07-18 17:02:00 +02:00
|
|
|
'PhabricatorUserOAuthSettingsPanelController' => 'PhabricatorUserSettingsPanelController',
|
2011-03-31 04:21:09 +02:00
|
|
|
'PhabricatorUserPreferences' => 'PhabricatorUserDAO',
|
2011-02-20 03:28:41 +01:00
|
|
|
'PhabricatorUserProfile' => 'PhabricatorUserDAO',
|
2011-02-06 07:36:21 +01:00
|
|
|
'PhabricatorUserSettingsController' => 'PhabricatorPeopleController',
|
2011-07-18 17:02:00 +02:00
|
|
|
'PhabricatorUserSettingsPanelController' => 'PhabricatorPeopleController',
|
2011-03-10 22:48:29 +01:00
|
|
|
'PhabricatorWorkerDAO' => 'PhabricatorLiskDAO',
|
|
|
|
'PhabricatorWorkerTask' => 'PhabricatorWorkerDAO',
|
|
|
|
'PhabricatorWorkerTaskData' => 'PhabricatorWorkerDAO',
|
2011-03-27 07:55:18 +02:00
|
|
|
'PhabricatorWorkerTaskDetailController' => 'PhabricatorDaemonController',
|
2011-04-07 04:17:05 +02:00
|
|
|
'PhabricatorXHPASTViewController' => 'PhabricatorController',
|
|
|
|
'PhabricatorXHPASTViewDAO' => 'PhabricatorLiskDAO',
|
|
|
|
'PhabricatorXHPASTViewFrameController' => 'PhabricatorXHPASTViewController',
|
|
|
|
'PhabricatorXHPASTViewFramesetController' => 'PhabricatorXHPASTViewController',
|
|
|
|
'PhabricatorXHPASTViewInputController' => 'PhabricatorXHPASTViewPanelController',
|
|
|
|
'PhabricatorXHPASTViewPanelController' => 'PhabricatorXHPASTViewController',
|
|
|
|
'PhabricatorXHPASTViewParseTree' => 'PhabricatorXHPASTViewDAO',
|
|
|
|
'PhabricatorXHPASTViewRunController' => 'PhabricatorXHPASTViewController',
|
|
|
|
'PhabricatorXHPASTViewStreamController' => 'PhabricatorXHPASTViewPanelController',
|
|
|
|
'PhabricatorXHPASTViewTreeController' => 'PhabricatorXHPASTViewPanelController',
|
2011-02-02 22:48:52 +01:00
|
|
|
'PhabricatorXHProfController' => 'PhabricatorController',
|
|
|
|
'PhabricatorXHProfProfileController' => 'PhabricatorXHProfController',
|
|
|
|
'PhabricatorXHProfProfileSymbolView' => 'AphrontView',
|
|
|
|
'PhabricatorXHProfProfileTopLevelView' => 'AphrontView',
|
2011-07-12 16:23:04 +02:00
|
|
|
'PhrictionActionConstants' => 'PhrictionConstants',
|
2011-07-11 21:34:53 +02:00
|
|
|
'PhrictionContent' => 'PhrictionDAO',
|
2011-07-11 17:54:22 +02:00
|
|
|
'PhrictionController' => 'PhabricatorController',
|
|
|
|
'PhrictionDAO' => 'PhabricatorLiskDAO',
|
2011-07-17 20:06:02 +02:00
|
|
|
'PhrictionDiffController' => 'PhrictionController',
|
2011-07-11 17:54:22 +02:00
|
|
|
'PhrictionDocument' => 'PhrictionDAO',
|
|
|
|
'PhrictionDocumentController' => 'PhrictionController',
|
2011-07-17 03:25:45 +02:00
|
|
|
'PhrictionDocumentPreviewController' => 'PhrictionController',
|
2011-07-12 17:08:03 +02:00
|
|
|
'PhrictionDocumentTestCase' => 'PhabricatorTestCase',
|
2011-07-11 21:34:53 +02:00
|
|
|
'PhrictionEditController' => 'PhrictionController',
|
2011-07-12 00:06:19 +02:00
|
|
|
'PhrictionHistoryController' => 'PhrictionController',
|
2011-07-12 00:42:12 +02:00
|
|
|
'PhrictionListController' => 'PhrictionController',
|
2011-01-16 22:51:39 +01:00
|
|
|
),
|
|
|
|
'requires_interface' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
));
|