Skip to content

Commit c1c5fbc

Browse files
author
Chad Little
committed
Rebuild Conpherence
Summary: Minor rebuild / redesign of Conpherence. Most of this is new UX and tossing out things like widgets, device fallbacks. I expect some of the UI to get more polished after next pass, but most everything here is in place. - Removed "Widgets", now just a single Participants pane - Added "Topic" - New header - Settings, Edit are action icons - Removed a lot of JS - Simplified CSS as much as I could Test Plan: Desktop, Tablet, Mobile. Adding and removing people. Setting new topics, new rooms. {F1828662} {F1828669} Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Differential Revision: https://secure.phabricator.com/D16550
1 parent 98a62c9 commit c1c5fbc

31 files changed

+582
-931
lines changed

resources/celerity/map.php

Lines changed: 53 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
*/
88
return array(
99
'names' => array(
10-
'conpherence.pkg.css' => 'fdc05791',
11-
'core.pkg.css' => '1ca373de',
10+
'conpherence.pkg.css' => '7bddd31a',
11+
'core.pkg.css' => 'dc6d08e3',
1212
'core.pkg.js' => '1d376fa9',
1313
'darkconsole.pkg.js' => 'e7393ebb',
1414
'differential.pkg.css' => '3fb7f532',
@@ -19,7 +19,7 @@
1919
'maniphest.pkg.js' => '949a7498',
2020
'rsrc/css/aphront/aphront-bars.css' => '231ac33c',
2121
'rsrc/css/aphront/dark-console.css' => 'f54bf286',
22-
'rsrc/css/aphront/dialog-view.css' => '913c172e',
22+
'rsrc/css/aphront/dialog-view.css' => '593d3f67',
2323
'rsrc/css/aphront/lightbox-attachment.css' => '7acac05d',
2424
'rsrc/css/aphront/list-filter-view.css' => '5d6f0526',
2525
'rsrc/css/aphront/multi-column.css' => 'fd18389d',
@@ -46,12 +46,13 @@
4646
'rsrc/css/application/config/setup-issue.css' => 'f794cfc3',
4747
'rsrc/css/application/config/unhandled-exception.css' => '4c96257a',
4848
'rsrc/css/application/conpherence/durable-column.css' => '194ac487',
49+
'rsrc/css/application/conpherence/header-pane.css' => 'bdba8a5b',
4950
'rsrc/css/application/conpherence/menu.css' => '8344d122',
50-
'rsrc/css/application/conpherence/message-pane.css' => 'ee0e27be',
51+
'rsrc/css/application/conpherence/message-pane.css' => 'c075e8fe',
5152
'rsrc/css/application/conpherence/notification.css' => '6cdcc253',
52-
'rsrc/css/application/conpherence/transaction.css' => '2c71247c',
53-
'rsrc/css/application/conpherence/update.css' => 'faf6be09',
54-
'rsrc/css/application/conpherence/widget-pane.css' => 'a131d5b6',
53+
'rsrc/css/application/conpherence/transaction.css' => '46253e19',
54+
'rsrc/css/application/conpherence/update.css' => '53bc527a',
55+
'rsrc/css/application/conpherence/widget-pane.css' => '827a21f1',
5556
'rsrc/css/application/contentsource/content-source-view.css' => '4b8b05d4',
5657
'rsrc/css/application/countdown/timer.css' => '16c52f5c',
5758
'rsrc/css/application/daemon/bulk-job.css' => 'df9c1d4a',
@@ -108,7 +109,7 @@
108109
'rsrc/css/core/core.css' => 'd0801452',
109110
'rsrc/css/core/remarkup.css' => 'cd912f2c',
110111
'rsrc/css/core/syntax.css' => '769d3498',
111-
'rsrc/css/core/z-index.css' => '2b01a823',
112+
'rsrc/css/core/z-index.css' => 'a847e919',
112113
'rsrc/css/diviner/diviner-shared.css' => 'aa3656aa',
113114
'rsrc/css/font/font-aleo.css' => '8bdb2835',
114115
'rsrc/css/font/font-awesome.css' => '2b7ebbcc',
@@ -437,11 +438,11 @@
437438
'rsrc/js/application/conpherence/ConpherenceThreadManager.js' => '01774ab2',
438439
'rsrc/js/application/conpherence/behavior-drag-and-drop-photo.js' => 'cf86d16a',
439440
'rsrc/js/application/conpherence/behavior-durable-column.js' => 'd3506890',
440-
'rsrc/js/application/conpherence/behavior-menu.js' => '1d45c74d',
441+
'rsrc/js/application/conpherence/behavior-menu.js' => '7a2f5952',
442+
'rsrc/js/application/conpherence/behavior-participants-pane.js' => '08872fb7',
441443
'rsrc/js/application/conpherence/behavior-pontificate.js' => '21ba5861',
442444
'rsrc/js/application/conpherence/behavior-quicksand-blacklist.js' => '7927a7d3',
443-
'rsrc/js/application/conpherence/behavior-toggle-widget.js' => 'b151bbbc',
444-
'rsrc/js/application/conpherence/behavior-widget-pane.js' => '65845387',
445+
'rsrc/js/application/conpherence/behavior-toggle-widget.js' => '9bdbbab0',
445446
'rsrc/js/application/countdown/timer.js' => 'e4cc26b3',
446447
'rsrc/js/application/daemon/behavior-bulk-job-reload.js' => 'edf8a145',
447448
'rsrc/js/application/dashboard/behavior-dashboard-async-panel.js' => '469c0d9e',
@@ -601,7 +602,7 @@
601602
'almanac-css' => 'dbb9b3af',
602603
'aphront-bars' => '231ac33c',
603604
'aphront-dark-console-css' => 'f54bf286',
604-
'aphront-dialog-view-css' => '913c172e',
605+
'aphront-dialog-view-css' => '593d3f67',
605606
'aphront-list-filter-view-css' => '5d6f0526',
606607
'aphront-multi-column-view-css' => 'fd18389d',
607608
'aphront-panel-view-css' => '8427b78d',
@@ -617,13 +618,14 @@
617618
'config-options-css' => '0ede4c9b',
618619
'config-page-css' => '8798e14f',
619620
'conpherence-durable-column-view' => '194ac487',
621+
'conpherence-header-pane-css' => 'bdba8a5b',
620622
'conpherence-menu-css' => '8344d122',
621-
'conpherence-message-pane-css' => 'ee0e27be',
623+
'conpherence-message-pane-css' => 'c075e8fe',
622624
'conpherence-notification-css' => '6cdcc253',
623625
'conpherence-thread-manager' => '01774ab2',
624-
'conpherence-transaction-css' => '2c71247c',
625-
'conpherence-update-css' => 'faf6be09',
626-
'conpherence-widget-pane-css' => 'a131d5b6',
626+
'conpherence-transaction-css' => '46253e19',
627+
'conpherence-update-css' => '53bc527a',
628+
'conpherence-widget-pane-css' => '827a21f1',
627629
'd3' => 'a11a5ff2',
628630
'differential-changeset-view-css' => '9ef7d354',
629631
'differential-core-view-css' => '5b7b8ff4',
@@ -665,9 +667,9 @@
665667
'javelin-behavior-comment-actions' => '0300eae6',
666668
'javelin-behavior-config-reorder-fields' => 'b6993408',
667669
'javelin-behavior-conpherence-drag-and-drop-photo' => 'cf86d16a',
668-
'javelin-behavior-conpherence-menu' => '1d45c74d',
670+
'javelin-behavior-conpherence-menu' => '7a2f5952',
671+
'javelin-behavior-conpherence-participants-pane' => '08872fb7',
669672
'javelin-behavior-conpherence-pontificate' => '21ba5861',
670-
'javelin-behavior-conpherence-widget-pane' => '65845387',
671673
'javelin-behavior-countdown-timer' => 'e4cc26b3',
672674
'javelin-behavior-dark-console' => 'f411b6ae',
673675
'javelin-behavior-dashboard-async-panel' => '469c0d9e',
@@ -773,7 +775,7 @@
773775
'javelin-behavior-test-payment-form' => 'fc91ab6c',
774776
'javelin-behavior-time-typeahead' => '522431f7',
775777
'javelin-behavior-toggle-class' => '92b9ec77',
776-
'javelin-behavior-toggle-widget' => 'b151bbbc',
778+
'javelin-behavior-toggle-widget' => '9bdbbab0',
777779
'javelin-behavior-typeahead-browse' => '635de1ec',
778780
'javelin-behavior-typeahead-search' => '93d0c9e3',
779781
'javelin-behavior-view-placeholder' => '47830651',
@@ -881,7 +883,7 @@
881883
'phabricator-uiexample-reactor-select' => 'a155550f',
882884
'phabricator-uiexample-reactor-sendclass' => '1def2711',
883885
'phabricator-uiexample-reactor-sendproperties' => 'b1f0ccee',
884-
'phabricator-zindex-css' => '2b01a823',
886+
'phabricator-zindex-css' => 'a847e919',
885887
'phame-css' => '8efb0729',
886888
'pholio-css' => 'ca89d380',
887889
'pholio-edit-css' => '07676f51',
@@ -1057,6 +1059,15 @@
10571059
'javelin-stratcom',
10581060
'javelin-vector',
10591061
),
1062+
'08872fb7' => array(
1063+
'javelin-behavior',
1064+
'javelin-dom',
1065+
'javelin-stratcom',
1066+
'javelin-workflow',
1067+
'javelin-util',
1068+
'phabricator-notification',
1069+
'conpherence-thread-manager',
1070+
),
10601071
'0a0b10e9' => array(
10611072
'javelin-behavior',
10621073
'javelin-stratcom',
@@ -1135,20 +1146,6 @@
11351146
'javelin-request',
11361147
'javelin-uri',
11371148
),
1138-
'1d45c74d' => array(
1139-
'javelin-behavior',
1140-
'javelin-dom',
1141-
'javelin-util',
1142-
'javelin-stratcom',
1143-
'javelin-workflow',
1144-
'javelin-behavior-device',
1145-
'javelin-history',
1146-
'javelin-vector',
1147-
'javelin-scrollbar',
1148-
'phabricator-title',
1149-
'phabricator-shaped-request',
1150-
'conpherence-thread-manager',
1151-
),
11521149
'1def2711' => array(
11531150
'javelin-install',
11541151
'javelin-dom',
@@ -1484,19 +1481,6 @@
14841481
'javelin-request',
14851482
'javelin-workflow',
14861483
),
1487-
65845387 => array(
1488-
'javelin-behavior',
1489-
'javelin-dom',
1490-
'javelin-stratcom',
1491-
'javelin-workflow',
1492-
'javelin-util',
1493-
'phabricator-notification',
1494-
'javelin-behavior-device',
1495-
'phuix-dropdown-menu',
1496-
'phuix-action-list-view',
1497-
'phuix-action-view',
1498-
'conpherence-thread-manager',
1499-
),
15001484
'680ea2c8' => array(
15011485
'javelin-install',
15021486
'javelin-dom',
@@ -1587,6 +1571,20 @@
15871571
'javelin-behavior',
15881572
'javelin-quicksand',
15891573
),
1574+
'7a2f5952' => array(
1575+
'javelin-behavior',
1576+
'javelin-dom',
1577+
'javelin-util',
1578+
'javelin-stratcom',
1579+
'javelin-workflow',
1580+
'javelin-behavior-device',
1581+
'javelin-history',
1582+
'javelin-vector',
1583+
'javelin-scrollbar',
1584+
'phabricator-title',
1585+
'phabricator-shaped-request',
1586+
'conpherence-thread-manager',
1587+
),
15901588
'7a68dda3' => array(
15911589
'owners-path-editor',
15921590
'javelin-behavior',
@@ -1755,6 +1753,13 @@
17551753
'phabricator-phtize',
17561754
'changeset-view-manager',
17571755
),
1756+
'9bdbbab0' => array(
1757+
'javelin-behavior',
1758+
'javelin-dom',
1759+
'javelin-util',
1760+
'javelin-workflow',
1761+
'javelin-stratcom',
1762+
),
17581763
'9ef7d354' => array(
17591764
'phui-inline-comment-view-css',
17601765
),
@@ -1850,13 +1855,6 @@
18501855
'javelin-util',
18511856
'phabricator-shaped-request',
18521857
),
1853-
'b151bbbc' => array(
1854-
'javelin-behavior',
1855-
'javelin-dom',
1856-
'javelin-util',
1857-
'javelin-workflow',
1858-
'javelin-stratcom',
1859-
),
18601858
'b1f0ccee' => array(
18611859
'javelin-install',
18621860
'javelin-dom',
@@ -2311,6 +2309,7 @@
23112309
'conpherence-transaction-css',
23122310
'conpherence-update-css',
23132311
'conpherence-widget-pane-css',
2312+
'conpherence-header-pane-css',
23142313
),
23152314
'core.pkg.css' => array(
23162315
'phabricator-core-css',

resources/celerity/packages.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@
159159
'conpherence-transaction-css',
160160
'conpherence-update-css',
161161
'conpherence-widget-pane-css',
162+
'conpherence-header-pane-css',
162163
),
163164
'differential.pkg.css' => array(
164165
'differential-core-view-css',
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ALTER TABLE {$NAMESPACE}_conpherence.conpherence_thread
2+
ADD topic VARCHAR(255) NOT NULL COLLATE {$COLLATE_TEXT};

src/__phutil_library_map__.php

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -300,10 +300,11 @@
300300
'ConpherenceNewRoomController' => 'applications/conpherence/controller/ConpherenceNewRoomController.php',
301301
'ConpherenceNotificationPanelController' => 'applications/conpherence/controller/ConpherenceNotificationPanelController.php',
302302
'ConpherenceParticipant' => 'applications/conpherence/storage/ConpherenceParticipant.php',
303+
'ConpherenceParticipantController' => 'applications/conpherence/controller/ConpherenceParticipantController.php',
303304
'ConpherenceParticipantCountQuery' => 'applications/conpherence/query/ConpherenceParticipantCountQuery.php',
304305
'ConpherenceParticipantQuery' => 'applications/conpherence/query/ConpherenceParticipantQuery.php',
306+
'ConpherenceParticipantView' => 'applications/conpherence/view/ConpherenceParticipantView.php',
305307
'ConpherenceParticipationStatus' => 'applications/conpherence/constants/ConpherenceParticipationStatus.php',
306-
'ConpherencePeopleWidgetView' => 'applications/conpherence/view/ConpherencePeopleWidgetView.php',
307308
'ConpherencePicCropControl' => 'applications/conpherence/view/ConpherencePicCropControl.php',
308309
'ConpherenceQueryThreadConduitAPIMethod' => 'applications/conpherence/conduit/ConpherenceQueryThreadConduitAPIMethod.php',
309310
'ConpherenceQueryTransactionConduitAPIMethod' => 'applications/conpherence/conduit/ConpherenceQueryTransactionConduitAPIMethod.php',
@@ -329,9 +330,6 @@
329330
'ConpherenceUpdateController' => 'applications/conpherence/controller/ConpherenceUpdateController.php',
330331
'ConpherenceUpdateThreadConduitAPIMethod' => 'applications/conpherence/conduit/ConpherenceUpdateThreadConduitAPIMethod.php',
331332
'ConpherenceViewController' => 'applications/conpherence/controller/ConpherenceViewController.php',
332-
'ConpherenceWidgetConfigConstants' => 'applications/conpherence/constants/ConpherenceWidgetConfigConstants.php',
333-
'ConpherenceWidgetController' => 'applications/conpherence/controller/ConpherenceWidgetController.php',
334-
'ConpherenceWidgetView' => 'applications/conpherence/view/ConpherenceWidgetView.php',
335333
'DarkConsoleController' => 'applications/console/controller/DarkConsoleController.php',
336334
'DarkConsoleCore' => 'applications/console/core/DarkConsoleCore.php',
337335
'DarkConsoleDataController' => 'applications/console/controller/DarkConsoleDataController.php',
@@ -4768,10 +4766,11 @@
47684766
'ConpherenceNewRoomController' => 'ConpherenceController',
47694767
'ConpherenceNotificationPanelController' => 'ConpherenceController',
47704768
'ConpherenceParticipant' => 'ConpherenceDAO',
4769+
'ConpherenceParticipantController' => 'ConpherenceController',
47714770
'ConpherenceParticipantCountQuery' => 'PhabricatorOffsetPagedQuery',
47724771
'ConpherenceParticipantQuery' => 'PhabricatorOffsetPagedQuery',
4772+
'ConpherenceParticipantView' => 'AphrontView',
47734773
'ConpherenceParticipationStatus' => 'ConpherenceConstants',
4774-
'ConpherencePeopleWidgetView' => 'ConpherenceWidgetView',
47754774
'ConpherencePicCropControl' => 'AphrontFormControl',
47764775
'ConpherenceQueryThreadConduitAPIMethod' => 'ConpherenceConduitAPIMethod',
47774776
'ConpherenceQueryTransactionConduitAPIMethod' => 'ConpherenceConduitAPIMethod',
@@ -4803,9 +4802,6 @@
48034802
'ConpherenceUpdateController' => 'ConpherenceController',
48044803
'ConpherenceUpdateThreadConduitAPIMethod' => 'ConpherenceConduitAPIMethod',
48054804
'ConpherenceViewController' => 'ConpherenceController',
4806-
'ConpherenceWidgetConfigConstants' => 'ConpherenceConstants',
4807-
'ConpherenceWidgetController' => 'ConpherenceController',
4808-
'ConpherenceWidgetView' => 'AphrontView',
48094805
'DarkConsoleController' => 'PhabricatorController',
48104806
'DarkConsoleCore' => 'Phobject',
48114807
'DarkConsoleDataController' => 'PhabricatorController',

src/applications/conpherence/application/PhabricatorConpherenceApplication.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public function getRoutes() {
4242
'search/(?:query/(?P<queryKey>[^/]+)/)?'
4343
=> 'ConpherenceRoomListController',
4444
'panel/' => 'ConpherenceNotificationPanelController',
45-
'widget/(?P<id>[1-9]\d*)/' => 'ConpherenceWidgetController',
45+
'participant/(?P<id>[1-9]\d*)/' => 'ConpherenceParticipantController',
4646
'update/(?P<id>[1-9]\d*)/' => 'ConpherenceUpdateController',
4747
),
4848
);

src/applications/conpherence/conduit/ConpherenceCreateThreadConduitAPIMethod.php

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@ public function getMethodDescription() {
1313

1414
protected function defineParamTypes() {
1515
return array(
16-
'title' => 'optional string',
17-
'message' => 'required string',
16+
'title' => 'required string',
17+
'topic' => 'optional string',
18+
'message' => 'optional string',
1819
'participantPHIDs' => 'required list<phids>',
1920
);
2021
}
@@ -27,28 +28,30 @@ protected function defineErrorTypes() {
2728
return array(
2829
'ERR_EMPTY_PARTICIPANT_PHIDS' => pht(
2930
'You must specify participant phids.'),
30-
'ERR_EMPTY_MESSAGE' => pht(
31-
'You must specify a message.'),
31+
'ERR_EMPTY_TITLE' => pht(
32+
'You must specify a title.'),
3233
);
3334
}
3435

3536
protected function execute(ConduitAPIRequest $request) {
3637
$participant_phids = $request->getValue('participantPHIDs', array());
3738
$message = $request->getValue('message');
3839
$title = $request->getValue('title');
40+
$topic = $request->getValue('topic');
3941

4042
list($errors, $conpherence) = ConpherenceEditor::createThread(
4143
$request->getUser(),
4244
$participant_phids,
4345
$title,
4446
$message,
45-
$request->newContentSource());
47+
$request->newContentSource(),
48+
$topic);
4649

4750
if ($errors) {
4851
foreach ($errors as $error_code) {
4952
switch ($error_code) {
50-
case ConpherenceEditor::ERROR_EMPTY_MESSAGE:
51-
throw new ConduitException('ERR_EMPTY_MESSAGE');
53+
case ConpherenceEditor::ERROR_EMPTY_TITLE:
54+
throw new ConduitException('ERR_EMPTY_TITLE');
5255
break;
5356
case ConpherenceEditor::ERROR_EMPTY_PARTICIPANTS:
5457
throw new ConduitException('ERR_EMPTY_PARTICIPANT_PHIDS');

src/applications/conpherence/constants/ConpherenceWidgetConfigConstants.php

Lines changed: 0 additions & 42 deletions
This file was deleted.

0 commit comments

Comments
 (0)