1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-10 17:02:41 +01:00
Commit graph

4320 commits

Author SHA1 Message Date
epriestley
97ff7fe259 Make "isInstalled()" respect beta apps
Summary:
Currently, `isInstalled()` and `getAllInstalledApplications()` are inconsistent:

  - `isInstalled()` returns true for beta apps, even if `phabricator.show-beta-applications` is false.
  - `getAllInstalledApplications()` omits beta apps if `phabricator.show-beta-applications` is false.

Making the beta config control installs (not just homepage visibility) makes far more sense as we roll out more thorough application integrations.

Make `isInstalled()` respect beta, and clean up some callsites.

D5602 builds on this.

Test Plan: Installed/uninstalled beta apps, verified Conpherence menu/panel and other application integrations dropped out of the UI.

Reviewers: vrana, btrahan

Reviewed By: vrana

CC: aran

Differential Revision: https://secure.phabricator.com/D5603
2013-04-06 09:25:13 -07:00
Chad Little
a138641795 Add a 7th column to AphrontMultiColumnView
Summary: Adds a 7th column, useful for fluid calendars.

Test Plan: UIExamples

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2898

Differential Revision: https://secure.phabricator.com/D5597
2013-04-06 07:23:59 -07:00
Chad Little
482963bca3 Fix applications icon
Summary: Typo

Test Plan: Reload homepage, get the globe.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5598
2013-04-06 07:23:36 -07:00
James Rhodes
3b1a1ae7e3 [SECURITY] Prevented PhabricatorSetupIssueView from exposing sensitive config options.
Summary:
Currently PhabricatorSetupIssueView will show the current values of
configuration options regardless of whether or not they are defined
as hidden options.  This means that if the MySQL server stops, Phabricator
will present the MySQL connection credentials to anyone who can access
the Phabricator page.

Test Plan:
Stop the MySQL server for a Phabricator instance.  It should display 'hidden'
instead of the MySQL password.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5596
2013-04-06 00:39:53 -07:00
Jakub Vrana
bbfc8a0937 Fix typo in comment 2013-04-06 00:27:21 -07:00
Jakub Vrana
3391e3d34b Use (a = ? AND b = ?) instead of (a, b) IN (?, ?)
Summary: MySQL is not able to use indexes with searching for tuples.

Test Plan:
Explained the query before and after, saw `key_len` 16 instead of 8.
Also saw time 0.0 s instead of 2.9 s (but that was probably caused by warming up).

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5580
2013-04-05 23:02:06 -07:00
Jakub Vrana
8716b295e7 Specify phd.start-taskmasters in documentation
Test Plan: Read it.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5591
2013-04-05 22:51:39 -07:00
Jakub Vrana
324dd3c0d6 Reduce wait_timeout to max. allowed value
Summary: http://dev.mysql.com/doc/mysql/en/server-system-variables.html#sysvar_wait_timeout

Test Plan:
  $ arc unit

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5590
2013-04-05 22:42:27 -07:00
Anh Nhan Nguyen
b951a38a07 Adding hovercard event listeners for Users, Revisions, Conpherence and Commits
Summary:
Refs T1048

Adding Differential Hovercard EventListener

Adding People Hovercard EventListener

Adding basic Diffusion hovercard

Adding Conpherence Hovercard EventListener

Test Plan:
Used in a combo with working hovercards. So beautiful.

Also visited test page. Works alright.

awesometown

Reviewers: epriestley, chad, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1048

Differential Revision: https://secure.phabricator.com/D5576
2013-04-05 17:01:54 -07:00
Anh Nhan Nguyen
843d0bdcde Introduce some convenience methods for handle rendering
Summary:
So I don't have to copy/paste everything again.

Used them at places I could find with my limited `grep` skills.

Test Plan: Visited hovercards, revision and tasks. No crashes.

Reviewers: epriestley, btrahan, chad

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5592
2013-04-05 17:01:44 -07:00
Jakub Vrana
886f3d507e Fix typo in PHP string 2013-04-05 15:45:23 -07:00
Bob Trahan
53f6936b8a Phame - "fix" blog feed
Summary: we don't post enough so this got reported as broken. Instead of specifying a published after date, just let the query class fetch the natural pagination limit ordered by id, and PHP will sort by publishedDate per usual. While its possible we might not get the right stuff relative to published date, its highly, highly unlikely given the large pagination size.

Test Plan: loaded up the blog xml link

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5593
2013-04-05 12:12:49 -07:00
epriestley
c2960aa743 Load hovercards on-demand
Summary: See discussion in D5563. This loads hovercards on-demand, and shows them once they load. Ref T1048.

Test Plan: Made a preview comment like `T1`, waved my mouse over it, got a hovercard shortly thereafter.

Reviewers: AnhNhan

Reviewed By: AnhNhan

CC: aran

Maniphest Tasks: T1048

Differential Revision: https://secure.phabricator.com/D5588
2013-04-05 11:01:56 -07:00
epriestley
9f81f63010 Get dem vitamins. 2013-04-05 10:35:49 -07:00
Gareth Evans
52e9e5b2aa Include "Add CCs" and "Remove CCs" to batch editor
Summary:
Ref T2756

... didn't update celerity map, I'm on windows :)

Test Plan: Add CCs, Remove CCs, make sure everything else works.

Reviewers: epriestley

CC: aran, Korvin

Maniphest Tasks: T2756

Differential Revision: https://secure.phabricator.com/D5589
2013-04-05 10:34:44 -07:00
Anh Nhan Nguyen
f2828481aa Use PhabricatorTagView in user mentions
Summary:
Refs T1048 - Use `PhabricatorTagView` in user mention remarkup rules. Emits hovercards now :D

Also introduces `PhabricatorTagView::COLOR_INEXISTENT`

Test Plan: Inspected HTML to find sigil & meta ref. Hovered above them (with hovercard patch, sold separately). Hovercard appeared.

Reviewers: epriestley, chad, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1048

Differential Revision: https://secure.phabricator.com/D5573
2013-04-05 09:17:36 -07:00
Anh Nhan Nguyen
635bd1ef07 Hovercard front-end code & stuff
Summary:
Refs T1048; Depends on D5557, D5558

They hover right above your eyes. Try it out at home :D (in that case, don't forget to checkout D5557 and D5558)

Worth a lot of improvement. But it's great for now after a little bit of styling.

Scrape load (search current document for all hovercards and pre-load them) and lazy load (e.g. previewing comments which is not covered by scrape load) implemented.

Added some seemingly useful graceful situations. Too much to the left, too much to the top.

Test Plan:
Tested on Ubuntu, Chrome and FF. No Windows yet, since I have it live at no place. Works pretty fine, at least it will appear.

Could test left graceful fallback. Don't know what happens if you place it too far to the top. I expect either good results or placement about the center of the screen in case of glitches.

For now, they'll disappear right away once the mouse leaves the object tag. Intended is when leaving both tag and hovercard.

Reviewers: epriestley, chad, btrahan

CC: aran, Korvin

Maniphest Tasks: T1048

Differential Revision: https://secure.phabricator.com/D5563

Conflicts:

	src/__celerity_resource_map__.php
2013-04-05 08:44:53 -07:00
Chad Little
a8418990d0 Fix urls in Action Headers
Summary: Missed this when fixing this morning.

Test Plan: reload action headers in uiexamples.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5586
2013-04-05 08:31:12 -07:00
Anh Nhan Nguyen
9f42bd7912 Based hovercards on ActionHeader
Summary: Refs T1048 - Makes it look //way// better

Test Plan: {F39347}

Reviewers: chad, epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1048

Differential Revision: https://secure.phabricator.com/D5587
2013-04-05 08:21:08 -07:00
Anh Nhan Nguyen
576804f67f Changing default fallback behaviour of hovercard view
Summary:
Refs T1048; Depends on D5571 - Use names instead of `substr($handle->getType(), 0, 1).$handle->getAlternateID()`, which did not work for 70% of the handles

This, of course, breaks UI Examples, which was pretty off before anyway.

Unbreak UIExamples.

Test Plan: UIExamples, Hovercard Controller in human test mode

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1048

Differential Revision: https://secure.phabricator.com/D5572
2013-04-05 08:11:29 -07:00
Chad Little
d61ac3468b PhabricatorActionHeaderView v0
Summary: Initial pass at an action header. The idea is to support current and future planned needs in 'headers' with various colors and icons. The overall goal here is to keep markup light and allow other classes to wrap and extend with more specific features.

Test Plan: Tested UIExamples and Workboards.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Differential Revision: https://secure.phabricator.com/D5585
2013-04-05 07:40:27 -07:00
Bob Trahan
754705df4e Conpherence - get back-end prepped for loading less transactions all the time
Summary: this just does the back-end migration. I realized that we don't need to keep track of cacheTitle and cachePhoto since those are based off recent participation handles and dynamic relative to who is viewing it. Also kept the "last seen phid" as I think that will be useful to have auto-scroll to where you last read.  Ref T2867.

Test Plan: did the migration. observed sensical values in the database. created a new conpherence - again sensical values. updated a conpherence - more sensical values.

Reviewers: epriestley, chad

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Maniphest Tasks: T2867

Differential Revision: https://secure.phabricator.com/D5567
2013-04-04 16:57:38 -07:00
epriestley
a56846e62a Allow transactions to require read locks during edits
Summary:
Let applicationtransaction editors request locks when applying certain transactions. See D5567.

We should probably do this for all not-guaranteed-safe operations, but let's put our toe in the water with Conpherence first. I believe the cost of these locks is very small and my cautious stance toward acquiring them isn't really warranted, but I've also never seen, e.g., a race on a title edit.

Test Plan: Added comments with and without locks, verified both pathways worked correctly.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D5582
2013-04-04 15:16:42 -07:00
Anh Nhan Nguyen
d3020af97b Uniformized handle data
Summary:
This sets more reasonable values for the object handle fields imo. It's not like I ever want to find out what letter to use and then do `substr($handle->getType(), 0, 1).$handle->getID()` to get `D1` each time I use handles.

Name:

- D1
- T1
- M1
- P1
- etc.

Fullname:

- D1: Something
- T1: Something
- etc.

In addition, this helps me to reasonable prefill Hovercards in case there is no application-specific event listener.

Also deletes `title` and `alternateID` completely. They deserved that.

Test Plan:
Visited places, nothing broke (We only ever used `$handle->getName()` for users and commits).

Tested mail reply handler. Did not test the other way around, but should be fine.

Hovercards broken until D5572 (would love to induce a cyclic dependency)

Reviewers: epriestley, chad, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5571
2013-04-04 13:10:19 -07:00
epriestley
1d4c9b8d8b Leafy greens. 2013-04-04 11:35:22 -07:00
epriestley
32a7282cc1 Correct Arcanist repository hooks documentation
Summary: Long ago this was a symlink, but now it's a shell script because symlinks and Windows don't really work. Fixes T2884.

Test Plan: Inspection.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2884

Differential Revision: https://secure.phabricator.com/D5575
2013-04-04 11:34:53 -07:00
Gareth Evans
81377dd922 Add "Any User Projects" to Maniphest Custom Query
Summary: Added a new way of filtering projects in Maniphest custom queries. This will filter on any project that a user is associated with.

Test Plan:
- Create some tasks.
- Create a project (auto join).
- Add the project to some of the tasks.
- Run custom query, see the correct task.
- Save custom query, check the same tasks are there.
- Add the project to another task, check task was added in the custom query list view.
- Remove the project from a task and check the task disappeared from the custom query list view.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5570
2013-04-04 10:58:17 -07:00
Chad Little
74609d9366 Action Icons
Summary: First pass at 'action icons' for headers and other items. Ties into future diff.

Test Plan: photoshop, read the css.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Differential Revision: https://secure.phabricator.com/D5565
2013-04-04 10:38:50 -07:00
Chad Little
406ee10b36 Celery 2013-04-04 07:03:45 -07:00
Bob Trahan
1387196c7a Conpherence - make the calendar have a better calendar looking view up top
Summary: Ref T2400 and M14.

Test Plan: had a few conpherences with various status set amongst participants; views were sensical.

Reviewers: epriestley, chad

Reviewed By: chad

CC: aran, Korvin

Maniphest Tasks: T2400

Differential Revision: https://secure.phabricator.com/D5541
2013-04-03 17:30:20 -07:00
epriestley
64a2096684 Adding hovercard support for object tags
Summary: Refs T1048 - Adds sigil and metadata to emitted tags.

Test Plan: Inspected HTML, verified sigil and meta data reference. Hooked up behaviours in a future broken diff. Could successfully load hovercards from endpoint. I'm bad with JS though.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1048

Differential Revision: https://secure.phabricator.com/D5558
2013-04-03 14:21:37 -07:00
epriestley
8f3ec9d977 Enable hovercard controller to send ajax ready responses
Summary: Refs T1048 - Resolves the TODO

Test Plan: Used in a future diff. Used JX.log to verify JSON format and correct gibberish HTML output of input (I will never understand how browsers can be so evil and ignore `Content-Type`).

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1048

Differential Revision: https://secure.phabricator.com/D5557
2013-04-03 14:20:39 -07:00
epriestley
8b6fc615f4 Ignore and README for support/bin
Summary:
See D5561. Ref T2378.

  - Add `support/bin/*` to .gitignore so any symlinks or binaries won't get picked up by Git.
  - Add a README so Git preserves the directory and there's at least //some// documentation of its existence.

Test Plan: ummmmm

Reviewers: jevripio, codeblock, btrahan

Reviewed By: jevripio

CC: aran

Maniphest Tasks: T2378

Differential Revision: https://secure.phabricator.com/D5562
2013-04-03 12:58:39 -07:00
Angelos Evripiotis
bfdce02689 prepend path/to/phabricator/support/bin/ to $PATH
Summary:
It's sometimes necessary to specify the paths to individual binaries
explicitly, e.g. a particular build of 'javelinsymbols' or a newer
version of git than is installed on your shared system.

By adding symlinks in the .../phabricator/support/bin/ directory you
can now spell these out using the file system.

Test Plan:
Ran on local Ubuntu VM:

  .. add 'TEST' repo to diffusion ..
  .. visit 127.0.01/diffusion/TEST - see ok ..

  $ cd /opt
  $ sudo sh -c 'echo "exit 1" > badgit'
  $ sudo chmod +x /opt/badgit
  $ sudo mkdir goodgit
  $ sudo mv /usr/bin/git /opt/goodgit/

  .. unset environment.append-paths ..
  .. visit 127.0.01/diffusion/TEST - see error 'git: not found' ..
  .. set environment.append-paths to /opt/goodgit/ ..
  .. visit 127.0.01/diffusion/TEST - see ok ..

  $ sudo ln -s /opt/badgit /usr/bin/git
  .. visit 127.0.01/diffusion/TEST - see error 'error #1' ..
  sudo ln -s /opt/goodgit/git web/phabricator/support/bin/git
  .. visit 127.0.01/diffusion/TEST - see ok ..

  .. unset environment.append-paths ..
  .. visit 127.0.01/diffusion/TEST - see ok ..

  $ sudo rm web/phabricator/support/bin/git
  .. visit 127.0.01/diffusion/TEST - see error 'error #1' ..

  $ sudo rm /usr/bin/git
  $ sudo mv /opt/goodgit/git /usr/bin/
  .. visit 127.0.01/diffusion/TEST - see ok ..

Note that 'DIRECTORY_SEPARATOR' was not used because apparently it's
portable and ok to just use '/'.
http://alanhogan.com/tips/php/directory-separator-not-necessary
(I'm pretty new to PHP so looking for guidance :)

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2378

Differential Revision: https://secure.phabricator.com/D5561
2013-04-03 12:49:46 -07:00
Chad Little
a13390a919 Flags on mobile, fix some filter-css
Summary: Sets device flag on mobile, cleans up filter css a bit.

Test Plan: Tested filters on homepage, maniphest, flags, uiexamples.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5559
2013-04-03 11:29:58 -07:00
Anh Nhan Nguyen
7c9bd8bf35 Added separation of flags according to ordering
Summary:
Refs T2841 - Exactly what it says on the tin

Turned some ordering around.

 - Color is `ASC` to be in line with the flag dialog
 - Object type is `DESC`, since `TASK` and `DREV` are sure more of
   interest than `CMIT`

NOTE: May not work properly without D5514, since only a few
object handle types implement `getTypeName()` properly. The fallback
return value is `null`, after which we group when sorting per object
type. Dis gun b gud!

.

NOTE: Technically does not de-pend on D5517, though you may get a merge conflict. Prefer this one if you for some reason happen to push this one before D5517

Test Plan:
{F38202}
{F38203}
{F38204}

Reviewers: epriestley, btrahan

CC: aran, Korvin

Maniphest Tasks: T2841

Differential Revision: https://secure.phabricator.com/D5518

Conflicts:

	src/applications/flag/controller/PhabricatorFlagListController.php
2013-04-03 11:08:34 -07:00
Chad Little
9ca8c8cd9c Mobile feed css
Summary: Makes the width fluid under mobile devices.

Test Plan: Test in small Chrome and iOS.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5556
2013-04-03 10:18:09 -07:00
Anh Nhan Nguyen
b14883bc6e Add Maniphest Hovercard event listener
Summary:
Refs T1048
badassery

Test Plan: Used in a future diff. Verified correct appearance of hovercard

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1048

Differential Revision: https://secure.phabricator.com/D5544
2013-04-03 10:06:24 -07:00
Angelos Evripiotis
81389e79e7 Fix config name typo in SetupCheckPygment
Summary:
Use correct spelling of 'environment.append-paths' so that the current
value of the variable will display as expected in the
'pygmentize Not Found' setup issue screen.

Test Plan:
* Enabled Pygments but haven't installed it
* Follow 'unresolved setup issues' link to 'Not Found' screen
* See that 'envinronment.append-paths' is None
* Set 'environment.append-paths'
* See that 'envinronment.append-paths' is still None
* Apply this fix
* See that 'environment.append-paths' is now '/usr/bin'

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5555
2013-04-03 10:04:17 -07:00
Gareth Evans
7d35625ea9 Added sort order and ended filter to Phrequent.
Summary:
Fixed order by duration, wasn't order by duration.

Added some sorting and filtering.

Test Plan: set some timers, stop them, look at phrequent, sort and filter them.

Reviewers: epriestley, hach-que

CC: aran, Korvin, hach-que

Maniphest Tasks: T2857

Differential Revision: https://secure.phabricator.com/D5554
2013-04-03 08:35:47 -07:00
Anh Nhan Nguyen
d5841fe499 Added basic hovercard controller
Summary:
Refs T1048; Depends on D5542, D5543, D5544 - It currently just renders multiple hovercards nicely for test purposes. More is on the way.

Mode `test`: Human test chamber.
Mode `retrieve`: For JS. Added so it would not clash with search key routing.

badassery

Test Plan:
`/search/hovercard/test/?phids[hover-T4]=PHID-TASK-g5pduvwrrwvkq5gkx736&phids[hover-T2]=PHID-TASK-gta6lzaaagziavkktima`

Verified the appearance of two tasks with correct rendering and correct ids

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1048

Differential Revision: https://secure.phabricator.com/D5545
2013-04-03 08:35:41 -07:00
Chad Little
c9cc59a73c Tighten up object list 2px
Summary: Pulls in the top 2px and left 2px. Also reduces to 13px as standard. The 14px never looked decent to me. Main objective here is to have it feel more table-like instead of a sea of white space.

Test Plan: Tested layouts in Maniphest, Config, and UIExamples.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5551
2013-04-03 08:28:22 -07:00
Chad Little
1b76ec7b0f Fix spelling blip
Summary: going to miss lolling at this.

Test Plan: n/a

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5552
2013-04-03 08:27:05 -07:00
Chad Little
063f93a106 Rework desktop header
Summary: Removes the glow icons and uses a hover change. Fixes phantom anchors.

Test Plan: Review in Chrome at various sizes (phone tablet). Check that icons still work. Check that mobile menus render when clicked.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2876

Differential Revision: https://secure.phabricator.com/D5549
2013-04-03 08:26:36 -07:00
Anh Nhan Nguyen
4c6ab5060e Streamline tag rendering for Differential and Maniphest
Summary:
Well, I'm just putting it into the DAO classes, or am I doing something wrong?

Will be used by future event listeners

Test Plan: Visited some tasks and revisions. Look fine.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5542
2013-04-03 08:28:18 -07:00
epriestley
8270b0e92d Forgot some things in hover card view
Summary:
Refs T1048
- Add IDs to hovercard view
- Fixed title
- Added fatal for no handle

Test Plan: Used in future diff. Verified fatal for no handle. Correct display of title and id

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1048

Differential Revision: https://secure.phabricator.com/D5543
2013-04-02 16:51:03 -07:00
epriestley
3ed75109e6 Simplify handle rendering in search view
Summary:
Commits don't need special treatment since we have commit summaries. They're cool.

Also, this saves us some queries (I think, not sure).

Test Plan: Searched before and after this patch. Results look cool (the same).

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5546
2013-04-02 16:49:14 -07:00
Chad Little
42b47fd23c Update icons
Summary: Add icons for releeph, phage, workphlow, prequent, adventure, and xhprof. Accidentally includes phame.

Test Plan: photoshop

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5540
2013-04-02 14:28:11 -07:00
epriestley
960fea160f Minor, remove access log debugging code. 2013-04-02 12:28:23 -07:00
epriestley
4d6f1cd9a1 Minor, celerity map.
(I've removed my merge rule; I think it's no good after the arc land updates of a while ago.)
2013-04-02 11:28:33 -07:00
epriestley
9db4feda09 Further corrections to Conpherence updates
Summary:
Apparently I am crazy and didn't test D5537 propertly at all. In particular:

  - Currently, the update sends back new "people" and "files" widgets. The "people" widget has a tokenizer, which fatals when the behavior initializes without the widget in the DOM. For now, disable widget updates on replies. I'll fix this in a future diff.
  - Currently, we don't update the "last_transaction_id" in the form itself, so the first reply sends back 1 message, the next 2 messages, etc. Update the input.
  - The transaction paging doesn't and has never worked, I am crazy. Make it actually work.

Test Plan:
computers are too hard

(also, this is why I hate Javascript)

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D5538
2013-04-02 11:27:58 -07:00
Chad Little
d7951bec56 Build an AphrontMultiColumnView, use on workboards.
Summary: Abstract out the multi-column code from workboards and have it be available separately. I feel like there will be some benefit here especially for custom developers in how they present infromation (like releeph). It also scales back to tablet and mobile fairly well, so they get those things for free.

Test Plan: Tested mobile, tablet and chrome layouts.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5529
2013-04-02 11:23:24 -07:00
epriestley
1f8b237a0f Stop Conpherence from reloading all messages on reply
Summary:
Currently, when you reply to a Conpherence thread, we load //all// the messages, not just the most recent ones. I don't //think// I broke this, it's just hard to tell that's what's happening unless the thread is very short or you scroll up.

The issue is that we're loading //threads// after some ID, but actually need to load //messages// (transactions) after that ID. Also, the way "before" and "after" work is sort of weird so this actually needs to be "before" (we should probably invert the meanings). Ref T2421.

Test Plan: Replied to a very short thread; saw no duplicate messages.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2421

Differential Revision: https://secure.phabricator.com/D5537
2013-04-02 10:34:24 -07:00
epriestley
c13f9d157b Fix double-stops on profiler sampling
Summary:
For some time, we've stopped the profiler twice when it was invoked by the sampling mechanism. The first time it actually stops, and we write a profile. The second time it hadn't been started, so it returns empty and we write an invalid profile.

Instead, keep track of whether it is running or not, and don't stop it a second time.

Ref T2870.

Test Plan: Set sample rate to 1-in-3, observed valid sample profiles generate.

Reviewers: btrahan, chad

CC: aran

Maniphest Tasks: T2870

Differential Revision: https://secure.phabricator.com/D5534
2013-04-02 10:05:43 -07:00
epriestley
cde1416446 Guarantee the existence of the Phabricator access log
Summary:
We have a fair number of conditionals on the existence of the access log. Instead, always build it and just don't write it if the user doesn't want a version on disk.

Also, formalize logged-in user PHID (avoids object existence juggling) in the access log and move microseconds-since-startup to PhabricatorStartup (simplifies index.php).

Depends on D5532. Fixes T2860. Ref T2870.

Test Plan: Disabled access log, verified XHProf writes occurred correctly.

Reviewers: btrahan, chad

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2860, T2870

Differential Revision: https://secure.phabricator.com/D5533
2013-04-02 09:53:56 -07:00
epriestley
0f9bfa3bfd Fix XHProf index page
Summary:
Ref T2870. This resolves a few issues:

  - No proper Application. Define one.
  - Routes are in the default controller. Move them to the application.
  - UI doesn't work on mobile.
  - Overescaping in the link column.

Test Plan:
Old page:

{F38444}

New page:

{F38445}

Reviewers: btrahan, chad

Reviewed By: chad

CC: aran, AnhNhan, edward

Maniphest Tasks: T2870

Differential Revision: https://secure.phabricator.com/D5531
2013-04-02 09:52:52 -07:00
Bob Trahan
a97968b9ff Conpherence - people widget
Summary:
adds ye olde people widget. Features include

 - handle-based display, so we get status for free. (Note less pretty than M14 would have it!)
 - can add a person
 - can remove a person
 - can see the people already in the conpherence

Test Plan: added and removed people and noted they joined / re-added as appropriate. Tried to add someone already in the conpherence and got a "transaction has no effect" message

Reviewers: epriestley, chad

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2399

Differential Revision: https://secure.phabricator.com/D5466
2013-04-02 09:32:40 -07:00
Anh Nhan Nguyen
5bd54e35bc First pass at hovercard design
Summary:
Refs T1048 - I'm pretty happy and happy to tell you

Savepoint CR

Everything's dummy right now. If you are testing locally, don't forget to edit the PHIDs. Or populate your own handles. Doesn't really matter.

I'm mainly sending it in for the CSS, not the messy PHP code. Ignore the `margin: auto`, that's just for looking nice.

Test Plan: UI Example » Hovercard

Reviewers: epriestley, chad

CC: aran, Korvin

Maniphest Tasks: T1048

Differential Revision: https://secure.phabricator.com/D5519
2013-04-02 09:16:23 -07:00
Anh Nhan Nguyen
b0d408c5d3 Fix failing unit test testParentEdgeCases under Windows
Summary: Noticed that this one was failing under Windows for the test cases where the root path (`/`) was supposed to be returned. Was returned Windows-style, made it return UNIX-style. All others work fine (return slashes as-is).

Test Plan:
`arc unit --everything` before and after this patch on Windows.

Will try out Ubuntu in near future.

Reviewers: epriestley, vrana

Reviewed By: vrana

CC: aran, Korvin, vrana

Differential Revision: https://secure.phabricator.com/D5497
2013-04-02 09:01:33 -07:00
Anh Nhan Nguyen
86312d6986 Fix Main Directory Jump Nav CSS leak
Summary: Good that this isn't a water leak. Else I'd be screwed.

Test Plan:
Visited Main Dir. Looks normal.

Visited Maniphest. Saw ominous shadow on top for saved query. Saw normal paddings for populated list filters.

Reviewers: epriestley, chad

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5536
2013-04-02 09:01:14 -07:00
Anh Nhan Nguyen
37b86b91b9 Adding Phriction 'Document Index' link to the crumbs actions
Summary:
removed references to doc index from document controller / content display / whatever name it currently has

Refs T2686

Test Plan: saw it - touched it - tested it

Reviewers: epriestley, chad

Reviewed By: chad

CC: aran, Korvin

Maniphest Tasks: T2686

Differential Revision: https://secure.phabricator.com/D5342

Conflicts:

	src/applications/phriction/controller/PhrictionDocumentController.php
2013-04-02 09:00:42 -07:00
Anh Nhan Nguyen
f46e3badae Modernized People Ldap Controller a tiny little bit
Summary: somewhat. de-uglified panels, add dust, etc. you get it.

Test Plan:
Visited, looked at nice new form.
Visited `http://phab.van/people/ldap/?import=true&usernames[]=anh&usernames[]=han&email[anh]=anh%40nhan.com&email[han]=han%40nhan.com&name[anh]=Nhan&name[han]=Nguyen` to hack in a few users. Did not work (CSRF ¬.¬), but saw what I wanted. Beautiful `PhabricatorObjectItemView`s. With color bars
These images where before the diff update. Error messages would appear as attributes (good for you that I did not include them, since it looks horrible)

The looks of it (refuse to take THIS in mobile):
{F36428}
{F36429}

Reviewers: epriestley, chad, btrahan

Reviewed By: btrahan

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5387
2013-04-02 08:58:53 -07:00
Anh Nhan Nguyen
70e0deb368 Empty list filters won't display if empty
Summary: Exactly what it says on the tin

Test Plan: No shadow when visiting saved custom queries in Maniphest. Still appears normally for other use sites

Reviewers: epriestley, chad

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5535
2013-04-02 08:58:18 -07:00
epriestley
bb5cc76b55 Allow drag-and-drop uploads from Chrome download shelf
Summary: Fixes T2811. Chrome requires this, but only for files dragged from the download shelf, I guess? Not entirely sure what's going on here. I couldn't find much documentation on this and figured it out mostly by process of elimination.

Test Plan: Drag and drop still works everywhere, plus from the Chrome download shelf.

Reviewers: blc, btrahan, skrul

Reviewed By: skrul

CC: aran

Maniphest Tasks: T2811

Differential Revision: https://secure.phabricator.com/D5528
2013-04-02 06:45:20 -07:00
epriestley
0dfcb35377 Provide needAllTransactions() for ConpherenceThreadQuery
Summary:
Conphrenece is pretty slow right now; one reason is that threads can not be loaded without also loading all of their transactions. I want to get rid of this requirement, so make it explicit and then make all existing queries require it.

In particular, loading a page like `/conpherence/1/` means we load all the transactions four times: to check that the thread exists, to build the thread list (which also loads all transactions for all other visible threads), to build the thread itself, and load all the transactions to build the widget panels.

Ref T2421.

Test Plan: Viewed threads, lists, widgets; replied to threads.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2421

Differential Revision: https://secure.phabricator.com/D5509
2013-04-02 06:44:55 -07:00
epriestley
068de86fd5 Prevent double-load of Conpherence threads
Summary: We may execute the Conpherence behavior before the initial device change, in which case we'll get a desktop -> desktop device event. This currently causes us to double-load the thread list. Instead, don't do anything if the device is the same as our current understanding of device state.

Test Plan: No double thread list in profiler.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D5525
2013-04-02 06:44:31 -07:00
epriestley
b048bd0593 Add platform detection and a Windows-specific monospaced font override
Summary: Use UA strings to detect platform; override general monospaced settings with platform-specific ones. Fixes T2868.

Test Plan: whatcouldgowrong

Reviewers: chad

Reviewed By: chad

CC: aran

Maniphest Tasks: T2868

Differential Revision: https://secure.phabricator.com/D5526
2013-04-01 13:48:57 -07:00
epriestley
7bf20ece81 Replace /conpherence/N/ with /conpherence/view/N/.
Summary:
  - Move `/N/` to `/thread/N/`.
  - Move `/view/N/` to `/N`/.
  - This makes the mobile "Conpherence -> click thread -> see thread" workflow work correctly. This also makes permalinks work correctly on mobile.

Ref T2421.

Test Plan: Clicked flows on desktop, mobile.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2421

Differential Revision: https://secure.phabricator.com/D5508
2013-04-01 12:53:40 -07:00
epriestley
acb32a6b72 Fill thread list on thread view in Conpherence
Summary:
When we access `/conpherence/view/2/` on the desktop, load the thread on the initial response and ajax in the thread list. Basically, the idea is:

  - When we load the thread list, an individual thread, or the widget panel, we send back the piece the user asked for in the response.
  - On mobile, we stop there: we don't ajax in anything else, and just hide the other parts of the layout.
  - On Desktop, we fill out the other layout components via Ajax.

Ref T2421.

Test Plan: Hit `/conpherence/view/2/`, got a full page.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2421

Differential Revision: https://secure.phabricator.com/D5507
2013-04-01 12:52:56 -07:00
epriestley
5ba5cb5675 Add "thread" role and allow threads to render without thread lists
Summary: The actual layout on mobile is a bit silly since the thread ends up being like 5px tall for now, but it technically works. Ref T2644.

Test Plan: {F38106}

Reviewers: btrahan

Reviewed By: btrahan

CC: aran, chad

Maniphest Tasks: T2421

Differential Revision: https://secure.phabricator.com/D5506
2013-04-01 12:52:30 -07:00
epriestley
0b2bcf2793 Add layout roles and CSS rules for devices for Conpherence
Summary: Currently, `/conpherence/` shows the widget panel on devices. Make it show the thread list instead.

Test Plan: {F38099}

Reviewers: btrahan

Reviewed By: btrahan

CC: aran, chad

Maniphest Tasks: T2421

Differential Revision: https://secure.phabricator.com/D5505
2013-04-01 12:50:51 -07:00
epriestley
f8ff590360 Render Conpherence threads as a separate menu inside the layout, not a side nav
Summary: Currently, the thread list is in a standard side nav, but that makes it awkward to render (rendering logic needs to live in the base controller) and gives it some bad beahviors (like autohiding on mobile). Instead, move it into its own view and make it a little more custom. Ref T2421.

Test Plan: {F38098}

Reviewers: btrahan

Reviewed By: btrahan

CC: aran, chad

Maniphest Tasks: T2421

Differential Revision: https://secure.phabricator.com/D5504
2013-04-01 12:50:39 -07:00
epriestley
7b52dd767c Fix some bad merging; I landed an old branch for D5502.
Auditors: btrahan
2013-04-01 12:50:17 -07:00
epriestley
787cc1dd82 Make id/phid Conpherence stuff more consistent
Summary:
Currently, `selected_conpherence_id` is actually a PHID. Instead, use ids everywhere.

Also, use replaceState instead of pushState. This means "back" takes you out of conpherence (not back to the last thread you looked at) but I think that's more consistent with user expectation.

Test Plan: Loaded thread list, loaded specific thread.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D5503
2013-04-01 12:44:00 -07:00
epriestley
1fd063277b Move first-thread selection to the client in Conpherence
Summary: Ref T2421. For mobile, we don't want to select the first thread, since we'll just show a list of threads. Move this behavior to the client and do it when the page is shown on a desktop (or the view is changed to a desktop).

Test Plan: Viewed `/conpherence/`, saw first thread selected. Switched threads.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2421

Differential Revision: https://secure.phabricator.com/D5502
2013-04-01 12:43:21 -07:00
epriestley
7ef2edd300 Consolidate Conpherence frame rendering
Summary: Conpherence frame rendering is spread out a bit across ConpherenceController, ConpherenceListController, and previously ConpherenceNewController. I want to let the Thread and Widget controllers render the frame for mobile. Ref T2421.

Test Plan: Viewed conpherences, switched between conpherences.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2421

Differential Revision: https://secure.phabricator.com/D5501
2013-04-01 12:43:07 -07:00
epriestley
7b07f6ab3d Improve remarkup performance (Phabricator)
Summary: As we've moved more remarkup logic post-cache (e.g., to implement policy-aware rules), we're paying more of a price for it. Improve performance in Phabricator by sharing engine instances where possible.

Test Plan: With next diff, this drops 75% of the cost of markup handling in Conpherence.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D5510
2013-04-01 12:06:02 -07:00
epriestley
cd07182e9c Provide a local cache for PhabricatorEnv
Summary: We hit some env config fairly often (~200 calls on the home page) and it's not especially cheap right now. This saves about 10ms on home, which is ~8% of the page weight on my machine.

Test Plan: Clicked around, everything seemed fine. Unit tests.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D5512
2013-04-01 12:05:49 -07:00
Chad Little
80e9fb72bb Add dust to homepage
Summary: With the jump panel re-format, lets move to dust on the homepage for depth.

Test Plan: Tested Chrome Mac and PC

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5524
2013-04-01 11:53:18 -07:00
Anh Nhan Nguyen
e34aa8add7 Switched Main Directory Jump Panel to a Jump List Filter
Summary:
Sorry, I'm bad with puns

{F38258}

vs

{F38259}

It was a tough decision. We went with the latter. See chatlog today.

Test Plan: See screens

Reviewers: epriestley, chad, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5522
2013-04-01 08:33:14 -07:00
Bryan Cuccioli
2334f63c2c Paginate token leader board.
Summary: Add pagination to leader board. Add key on token count in db.

Test Plan: Set page size to 1 and give tokens to two tasks.

Reviewers: epriestley, AnhNhan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5513
2013-04-01 08:16:01 -07:00
Anh Nhan Nguyen
cdcd49e4ee Revising Flag UI
Summary:
Re-adding side nav (feels less spacy now).

Replaced header with crumb. Looks nicer with the filter imo.

Test Plan: {F38201}

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5517
2013-04-01 06:28:38 -07:00
Anh Nhan Nguyen
6e197fe91c Styling up Jump Nav text box
Summary:
This actually gives it a smooth look across all OS and browsers. Copy-paste from form inputs.

= Motivation (aka Disclaimer) =

I felt kind of... disturbed that it looked different in every browser / OS combination I have at my disposal. The range is from ugly (Chrome on Ubuntu) to pretty (IE9 on Win7 ¬.¬). I give a few examples

 - Ubuntu
   - Firefox
     - Actually looking very nice. Rounded borders and orange border on focus are default from UA style sheet?
   - Chrome
     - Looks ugly. 2px inset mid-grey border. What you would expect from Win '95
     - 1px inset mid-grey border (Win '98 style) + orange webkit outline.
 - Windows
   - IE9
     - Nice blocky text input with black border. Blue border upon hover. Really black border on focus?
   - IE10
     - Kind of same as IE9, though I had the feeling that it had a deeper black border
   - Firefox
     - Looks so normal that it is actually boring
   - Chrome
     - Looks pretty much normal, until focus where you get the webkit outlines. Ugly

No Mac, since I have no Mac. Also no iPhone/iPad. Have Android 4.1/WP8, though I never visited Phabricator with them

Test Plan:
Looked at it in

 - Ubuntu
   - Mozilla Firefox
   - Google Chrome
 - Windows 7/8
   - IE 9/10
   - Opera (Opera?)
   - Mozilla Firefox
   - Google Chrome

Everything smooth (exceptions in case of no border-radius/box-shadow)

Reviewers: epriestley, btrahan, chad

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5515
2013-04-01 06:27:46 -07:00
Anh Nhan Nguyen
48f1a578f8 Adding some type names to object handles
Summary:
I browsed through the applications and searched for all flaggable objects and gave them names. Only flaggable ones, since they were the only ones I deemed important for my future diff(s). Also, I thought that this method may be deprecated in some way, since it only included some older applications

Also adding proper fallback. Without makes my future diff(s) non-fatal in a user-confusing way (imagine you are displaying the object type ## ## (`null` ^^))

Also usable for Refs T1048

Test Plan: Used in a future diff, names appear, fallback works as expected.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1048

Differential Revision: https://secure.phabricator.com/D5514
2013-04-01 06:18:45 -07:00
epriestley
d9cd458946 Minor, fix celerity map. 2013-03-31 20:07:47 -07:00
epriestley
c9e42fab4f Fix Control + Enter for Pontificate
Summary: Simplifies the Pontificate button and makes Control + Enter work again.

Test Plan: Submitted the form by clicking, hitting return, hitting control+enter.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D5472
2013-03-31 14:41:33 -07:00
epriestley
ef30820cf4 Decrease fragility of conpherence-pontificate behavior
Summary:
Currently, this behavior binds a ton of IDs. This makes the behavior fragile: if it is invoked on a page without all the right elements, some `JX.$()` tends to explode.

Instead, don't assume anything is present on the page. This allows the behavior to be invoked on other pages (like the "New Conpherence" page) or pages without some elements (like some future thread-only mobile view) without creating JS errors.

Test Plan:
Added comments, added comments with files. Viewed "New conphenrece" page.

NOTE: Control+Enter is currently broken, but this diff didn't change that behavior.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D5468
2013-03-31 14:41:13 -07:00
epriestley
e9fe1f4beb Make "New Conversation" a workflow dialog in Conpherence
Summary: Ref T2416. My actual goal here is to stop having two places where we call the "load and display a list of threads" logic, but this is generally weird and no longer necessary with drag-and-drop-to-upload-remarkup.

Test Plan: {F37992}

Reviewers: btrahan, chad

Reviewed By: chad

CC: aran

Maniphest Tasks: T2416

Differential Revision: https://secure.phabricator.com/D5475
2013-03-31 12:44:12 -07:00
epriestley
89b75c72fd Remove drag-and-drop upload debugging code
Summary: Blames to me. :o

Test Plan: derps

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D5474
2013-03-31 12:43:33 -07:00
Anh Nhan Nguyen
a01a799c84 Creating subtask in Maniphest also implies template from parent
Summary:
Refs T2598 (or should it fix)

If no template was specified, and we are creating a subtask of a task, we can safely assume that we
can take the parent as a template. Copy Projects, CCs and the like (even the guy assigned to).

Test Plan:
Only in my imagination.

Jk, I'm currently on Windows, and it always gives 404s (without chrome), so I can't test. I'll switch over to Ubuntu later today to test this.

I'm confident that this works, though.

Reviewers: epriestley

CC: hfcorriez, aran, Korvin

Maniphest Tasks: T2598

Differential Revision: https://secure.phabricator.com/D5499
2013-03-31 12:41:08 -07:00
Chad Little
16c562ba1c Actions for Workboards.
Summary: Adds an action panel on the left side of the workboard.

Test Plan: Tested Fluid and mobile layouts

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5496
2013-03-31 12:28:50 -07:00
epriestley
52de3c9cf7 Fix pager for tokens given
Summary: Several small bugs here, I just never tested this properly.

Test Plan: Set page size to 2, paged through tokens given.

Reviewers: blc, btrahan, chad

Reviewed By: chad

CC: aran

Differential Revision: https://secure.phabricator.com/D5500
2013-03-31 12:30:06 -07:00
epriestley
5e57ac0e9f Prevent double-submit with control + enter
Summary: Fixes T2833. Lock forms and prevent double submit on control + enter.

Test Plan: Mashed control + enter a whole bunch in Maniphest, got one comment instead of several.

Reviewers: btrahan, edward

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2833

Differential Revision: https://secure.phabricator.com/D5473
2013-03-31 04:52:35 -07:00
epriestley
1196675697 Fix 403s in Phrequent by rendering actions as forms, and make properties fancier
Summary:
Also cleans up some stuff like logged out users a bit. This provides a more subtle alternative to {D5485}.

(This is fairly rough, and the icons need to be sprited if we stick with this approach.)

Test Plan:
{F38047}
{F38048}

Reviewers: hach-que, btrahan

Reviewed By: hach-que

CC: aran, chad

Maniphest Tasks: T2857

Differential Revision: https://secure.phabricator.com/D5494
2013-03-30 19:37:13 -07:00
epriestley
33f2bf7c32 Provide Sublime Text documentation hint for Arc + windows
Summary: The `-w` flag isn't necessarily obvious.

Test Plan: {F38055}

Reviewers: tido, btrahan, vrana

Reviewed By: tido

CC: aran

Differential Revision: https://secure.phabricator.com/D5495
2013-03-30 19:27:59 -07:00
epriestley
41b32d5fbe Disable JSON shield for uncaught exception responses to Conduit requests
Summary: Modern conduit responses should never have a JSON shield. We disable it for normal responses, but uncaught exceptions hit this higher-level handler block which fails to disable the shield. Disable the shield.

Test Plan: Inspection.

Reviewers: btrahan, andrewjcg

Reviewed By: andrewjcg

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5483
2013-03-30 19:04:40 -07:00
epriestley
e80c59cbc6 Introduce basic bin/mail with a resend workflow
Summary:
Fixes T2458. Ref T2843. @tido's email from T2843 has exhausted its retries and failed, but we want to try it again with the patch from D5464 to capture the actual error. This sort of thing has come up a few times in debugging, too.

Also fixed some stuff that came up while debugging this.

Test Plan:
  - Ran command with no args.
  - Ran resend with no args.
  - Ran resend with bad IDs.
  - Ran resend with already-queued messages, got "already queued" error.
  - Ran resend with already-sent message, got requeue.

Reviewers: btrahan, tido

Reviewed By: tido

CC: aran

Maniphest Tasks: T2458, T2843

Differential Revision: https://secure.phabricator.com/D5493
2013-03-30 15:53:49 -07:00
Chad Little
a2ebfefaad Footer actions for work panels.
Summary: Adds action items in the footer of workpanels.

Test Plan: UIExamples on Chrome.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5492
2013-03-30 14:46:02 -07:00
Jakub Vrana
4741b6cefc Use 'Bacon Ice Cream for Breakfast' only for untitled pages
Test Plan: /

Reviewers: nh, epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5490
2013-03-30 12:46:03 -07:00
Jakub Vrana
0de66e9c75 Hide "Maniphest Task:" in commit template
Summary:
We prefer parsing freetext fields.
We should probably wait for {T2743}.

Test Plan:
  $ arc --conduit-uri=http://phabricator.local/ diff

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5349
2013-03-30 12:15:07 -07:00
Jakub Vrana
4d2cf457d4 Add space in header tags
Test Plan: Double clicked on the last word of title. Tag wasn't selected.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5462
2013-03-30 10:10:30 -07:00
Chad Little
0bcc76151e Workboards
Summary: Adds Workboards and workpanels. This is a preliminary diff, I'm still working on mobile and tablet and a few missing features (header actions)

Test Plan: FF, Chrome, iOS, iPad, iPhone, IE

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5455
2013-03-30 09:51:35 -07:00
James Rhodes
c3c88fd40c Implemented showing the number of objects tracked as application status.
Summary:
Implementing that TODO where we want to show the current number of
objects being tracked by a user on the application icon so that they're
aware of any timers that are running.

Depends on D5479

Test Plan:
Apply this patch and track a Maniphest task.  The counter should show
the number of objects you are tracking in the navigation pane of the
main screen

Reviewers: epriestley

CC: aran, Korvin

Maniphest Tasks: T2857

Differential Revision: https://secure.phabricator.com/D5480
2013-03-30 09:34:00 -07:00
James Rhodes
4a5dfd3819 Updated Phrequent "Time Tracked" page to show time in Started / Ended columns.
Summary:
Small update that shows time as well as date on the Time Tracked page, which
is important given that durations are likely to be less than a day.

Test Plan: Apply the patch and view the "Time Tracked" page under Phrequent.

Reviewers: epriestley

CC: aran, Korvin

Maniphest Tasks: T2857

Differential Revision: https://secure.phabricator.com/D5482
2013-03-30 09:33:30 -07:00
James Rhodes
e555b9025f Implemented Phrequent time tracking functionality.
Summary:
This differential implements Phrequent's time tracking
functionality for users and hooks it up to Maniphest.  It
also includes a basic "Time Tracked" list for the Phrequent
application, where users can review what they've spent time
working on.

Test Plan:
Apply the patch and track some things in Maniphest.  They
should appear in the "Time Tracked" view of Phrequent.

There is also a `phrequent.show-prompt` option which toggles
whether to display a prompt when tracking time.  I'm unsure
of whether the prompt is useful or is more likely to cause
people to click "Track Time", go off and do the task and then
come back to the prompt still waiting for them to confirm.  A
potential solution to the "accidentally clicking the button
and recording 2 seconds of time" might be to show a prompt
on stop if the total time is under 10 seconds, asking whether
the user wants to keep or discard the tracked time.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2857

Differential Revision: https://secure.phabricator.com/D5479
2013-03-30 09:32:47 -07:00
Chad Little
02739ef0ed Add spacing css
Summary: Adds ability to add 20, 10 and 5 px of margin or padding without adding additional rules.

Test Plan: Reloaded any Phabricator Page. It didn't break.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5477
2013-03-30 07:49:32 -07:00
James Rhodes
dd3b3bdd5e Added initial storage structure for Phrequent.
Summary:
Added the initial storage structure (DB tables and DAO classes)
for Phrequent.

Test Plan:
Apply the patch and run `bin/storage upgrade`.  It should
complete successfully.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2857

Differential Revision: https://secure.phabricator.com/D5476
2013-03-29 21:30:15 -07:00
deedydas
c29dbf8189 Made progress on pagination
Summary: Pagination occurs once

Test Plan: Tested on conpherences I made with myself. Lot of bugs still remain, but shows older messages in gaps of 2.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, chad

Maniphest Tasks: T2428

Differential Revision: https://secure.phabricator.com/D5183

Conflicts:

	src/applications/conpherence/controller/ConpherenceViewController.php
	webroot/rsrc/js/application/conpherence/behavior-menu.js
2013-03-29 18:04:37 -07:00
Nick Harper
3b7203dc9f Include more packages in Owned Packages view
Summary:
If a user is a member of a project, and that project is an owner of a package,
it would make sense to display those packages in the list of owned packages.

Test Plan:
create a project that I'm a member of, then create a package that that project
owns, and reload /owners/view/owned/ and see the package listed.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5355
2013-03-28 15:00:11 -07:00
epriestley
abdaf90239 Phortune v0.1: products
Summary:
Ref T2787. A product is the abstract representation of something you can buy or rent/subscribe to. Although the interface isn't locked down yet, this would ultimately be internal/administrative.

Products likely have some user-facing skin on top of them: plans would have a purchasing/comparison flow, physical goods would have a storefront, etc., so products don't have any information like descriptions or images, just the data that Phortune needs to correctly bill accounts.

Generally, this is very basic for the moment.

Test Plan:
{F37594}
{F37595}
{F37596}

Reviewers: chad, btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2787

Differential Revision: https://secure.phabricator.com/D5441
2013-03-28 09:13:07 -07:00
epriestley
4f3b5f0ea9 Phortune v0.1: add payment methods
Summary:
Hook @btrahan's Stripe form to the rest of Phortune.

  - Users can add payment methods.
  - They are saved to Stripe and associated with PhortunePaymentMethods on our side.
  - Payment methods appear on account overview.

Test Plan:
{F37548}
{F37549}
{F37550}

Reviewers: chad, btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2787

Differential Revision: https://secure.phabricator.com/D5438
2013-03-28 09:11:42 -07:00
epriestley
960ac3b2a6 Phortune v0
Summary:
Ref T2787. This does very little so far, but makes inroads on accounts and billing. This is mostly just modeled on what Stripe looks like. The objects are:

  - **Account**: Has one or more authorized users, who can make manage the account. An example might be "Phacility", and the three of us would be able to manage it. A user may be associated with more than one account (e.g., a corporate account and a personal account) but the UI tries to simplify the common case of a single account.
  - **Payment Method**: Something we can get sweet sweet money from; for now, a credit card registered with Stripe. Payment methods are associated with an account.
  - **Product**: A good (one time charge) or service (recurring charge). This might be "t-shirt" or "enterprise plan" or "hourly support" or whatever else.
  - **Purchase**: Represents a user purchasing a Product for an Account, using a Payment Method. e.g., you bought a shirt, or started a plan, or purchased support.
  - **Charge**: Actual charges against payment methods. A Purchase can create more than one charge if it's a plan, or if the first charge fails and we re-bill.

This doesn't fully account for stuff like coupons/discounts yet but they should fit into the model without any issues.

This only implements `Account`, and that only partially.

Test Plan: {F37531}

Reviewers: chad, btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2787

Differential Revision: https://secure.phabricator.com/D5435
2013-03-28 09:10:34 -07:00
epriestley
696498934c Support edge transactions in ApplicationTransactions
Summary: Fixes T2655. Adds generic support for edge edits (e.g., membership or attached objects).

Test Plan: See next diff.

Reviewers: chad, btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2655

Differential Revision: https://secure.phabricator.com/D5434
2013-03-28 08:34:34 -07:00
Nick Harper
d2b7bb9504 Fix title for phabricator home page
Summary:
My browser was showing the url of phabricator as the title instead of the real
title. Fix it so the title set for the home page actually gets used.

Test Plan: load phabricator and see "Bacon Ice Cream for Breakfast" as the title

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, chad

Differential Revision: https://secure.phabricator.com/D5428
2013-03-26 15:40:14 -07:00
Anh Nhan Nguyen
42e875e5bc Make Pholio mock image thumbnails publicly visible
Summary:
Refs T2652 - This should make all of Pholio mocks publicly visible

The rest that is to be done is more generic, like the ActionListView etc.

Test Plan: set mock to public, visited it in another browser without user session

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2652

Differential Revision: https://secure.phabricator.com/D5454
2013-03-26 15:01:51 -07:00
Anh Nhan Nguyen
92003b6822 Vastly expanded macro.query's capabilities
Summary:
Depends on D5420; Fixes T2822

Increased `macro.query`'s capabilities by at least 9001%!

Test Plan: Used it in several combination of query strings. Behaves as expected.

Reviewers: epriestley

CC: aran, Korvin

Maniphest Tasks: T2822

Differential Revision: https://secure.phabricator.com/D5421
2013-03-26 14:29:04 -07:00
Anh Nhan Nguyen
9a6c912ef6 Modernizing Flag Application
Summary:
Fixes a weird string in the flag dialog

Migrated to ObjectItemView (Cards)

Removed filters from side nav (unnecessary)

Go away, go away, panel. Nobody will miss you.

Adding sorting/ordering to Flag (separation like in Maniphest ordering still remaining)

Hacking our way in DifferentialRevisionListController thanks to panels (who added `->setFlush()` btw? It's awesome!)

Test Plan: I would not dare to stand here if it did not work.

Reviewers: epriestley, chad, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5449
2013-03-26 14:10:12 -07:00
Bob Trahan
8fc94b02a9 Fix Conpherence
Summary: D5426 removed mobile menu for messages but missed a few spots

Test Plan: successfully submitted pontifications without JS errors and the form freezing

Reviewers: chad, epriestley

Reviewed By: chad

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5453
2013-03-26 14:06:19 -07:00
epriestley
ebdf5d12de Remove line-related stats from Differential
Summary:
Ref T2825. Line stats are misleading when multiple commits are associated with a revision. It's better to have no data than misleading/bad data.

We can compute them accurately against commits via Fact/ETL at some point far in the future (see T1562 / T1135).

Test Plan: {F37519}

Reviewers: ptarjan

Reviewed By: ptarjan

CC: aran

Maniphest Tasks: T2825

Differential Revision: https://secure.phabricator.com/D5432
2013-03-26 13:59:02 -07:00
Chad Little
426862bb2d Minor spacing on object-list-items
Summary: Ran into a few edge cases under 'Needs Triage', this adds a bit more space under unassigned tasks with projects.

Test Plan: Test Maniphest, Needs Triage, Homepage, and UI Examples.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5452
2013-03-26 13:54:36 -07:00
Bob Trahan
23dc686045 Conpherence - add per thread notification setting
Summary: Introduces a new settings panel for Conpherence specific settings.

Test Plan:
started a thread with a test user, thus two participants total. Replied to conpherence, toggling notification settings in between. Verified 1 or 2 emails were sent as appropos to the current toggle.

Toggled global setting and verified setting was updated in conpherences where nothing was specified. Verified setting conpherence setting overrides global setting.

Reviewers: epriestley, chad

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2521

Differential Revision: https://secure.phabricator.com/D5391
2013-03-26 13:30:35 -07:00
Chad Little
8a0fccf97a Mobile Crumbs.
Summary: Not for full review. This makes crumbs appear consistently in mobile. It helps give a quick link to the apps home, the page title currently on, and action icons for the object. It will take additional clean-up to make this consistent across apps. Passing for early review from a UEX perspective. I actually really like it and think onces it's everywhere, helps mobile feel complete.

Test Plan: Testing in iOS and Simulator.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2796

Differential Revision: https://secure.phabricator.com/D5446
2013-03-26 13:15:15 -07:00
Juan Pablo Civile
6115756e9d API for editing edge data
Summary: Add the ``PhabricatorEdgeDataEditor`` that allows you to edit the data attached to an edge and its inverse.

Test Plan: Create several edges and update the data attached. Once duplicating the data on both the edge and its inverse, and once setting different value for both.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1279

Differential Revision: https://secure.phabricator.com/D5447
2013-03-26 13:08:46 -07:00
Anh Nhan Nguyen
5320d85343 Some pht()'s for People that got missed
Summary: We certainly don't go all-caps enough, else we would have noticed them.

Test Plan: Looked at profiles, people edit page before and after with All-Caps

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5450
2013-03-26 12:47:25 -07:00
Chad Little
e246001bd2 Tighten up CSS on object-list a bit.
Summary:
- Fix unintended round edges.
- Reduce height 4px;
- Align title and date
- Fix mobile/tablet spacing

Test Plan: Photoshop, UIExamples, Config, Paste, Maniphests (all mobile and desktop views)

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5445
2013-03-25 12:20:49 -07:00
Chad Little
ca42d64c82 Add Apple Touch Icon.
Summary: Adds an icon if you add Phabricator as a web app on your iPhone.

Test Plan: Test on simulator and in iOS.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5444
2013-03-25 11:24:17 -07:00
Chad Little
fb38e1049d Update Conpherence CSS
Summary:
Updates Conpherence CSS for mostly responsive design. Notably:
- Clipped nav 20px
- Clipped widgets 40px
- Tested tablet and phone layouts
- Phone layout mostly done.
- Bouncy webkit scroll areas.

Still more work to do, but I think it should be easy now for Bob to lay in the rest of mobile. It probably doesn't need to render the menu and conversation in the widget area, as I think we can now credibly position: fix it in mobile. Not completely sold on tablet layout, but it's still better than current.

Test Plan: Tested layouts on iPhone and iPad simulator.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2421

Differential Revision: https://secure.phabricator.com/D5442
2013-03-25 07:38:27 -07:00
Anh Nhan Nguyen
b0e9371a9c Consolidate User Profile loading
Summary:
Introduce `PhabricatorUserQuery::attachProfilesForUsers()` for batch attachment of user profiles (for a future diff)
Introduce `PhabricatorUser::loadUserProfile()` to load attached user profiles (or load them on their own, if no one is attached).

USed them in code

Test Plan:
verified that use sites did not break

- Uploaded user profile image for bots
- changed my own profile image and blurb
- looked a lot at my own profile

Reviewers: epriestley, btrahan, chad

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5395
2013-03-24 06:42:54 -07:00
Chad Little
1a48c7ac40 Lighten up gradient on cards
Summary: Taller gradient, lighter at bottom. Also fixed right corners.

Test Plan: Chrome, Photoshop

Reviewers: epriestley, asherkin

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5437
2013-03-23 19:50:26 -07:00
epriestley
58a15ad250 Clean up some card issues
Summary:
Ref T2826.

  - Adds a min height (arbitrarily, height of the gradient; other choices are 60px [title + avatar], or 70px [title + projects + closed + avatar]).
  - Color bars 4px -> 6px.
  - Fixes profile image clipping in Firefox, etc.
  - Removes background color from avatars, for transparent GIFs and such.
  - Fixes shift-click to select tasks in views that can't be grabbed.

Test Plan: {F37535}

Reviewers: chad

Reviewed By: chad

CC: aran

Maniphest Tasks: T2826

Differential Revision: https://secure.phabricator.com/D5436
2013-03-23 18:38:03 -07:00
epriestley
dcfe011fc7 Separate object names from object links in other applications
Summary: Move `Fnn`, `Pnn`, etc., out of the link text so they can be double-clicked to select.

Test Plan: Viewed Paste, Files, Ponder.

Reviewers: chad

Reviewed By: chad

CC: aran

Differential Revision: https://secure.phabricator.com/D5433
2013-03-23 15:01:05 -07:00
epriestley
8696b8c64c Small spacing fix.
Auditors: chad
2013-03-23 14:43:33 -07:00
epriestley
8106628dda Minor, bad autoload map merge.
Auditors: chad
2013-03-23 14:41:50 -07:00
epriestley
018de5dec7 Use ObjectItemListView for Maniphest
Summary:
This isn't quite complete, but everything else is technical cleanup. Broadly:

  - Removed checkboxes. Selected state is now indicated with CSS, and toggled with shift-click. When nothing is selected, the text reads "Shift-Click Tasks to Select" to let users discover this feature.
  - Updated drag-to-reorder code to work with ObjectItemListView.
  - Closed/resolved is now shown with a grey footer icon.
  - Assigned is now shown with a user profile image handle icon, with a hover state.

This could probably use some more tweaks, but overall I think it looks pretty reasonable?

Test Plan: {F35897}

Reviewers: chad

Reviewed By: chad

CC: aran

Differential Revision: https://secure.phabricator.com/D5340
2013-03-23 14:38:01 -07:00
epriestley
5e53fc750a Fix some ObjectItemList issues
Summary:
Safari has a weird bug with `border-radius` plus border color:

{F35865}

Move the uncolored borders to an internal div to fix this. Also tweak some positioning on icons for cards, and add a "magenta" color.

Test Plan: {F35866}

Reviewers: chad, btrahan

Reviewed By: chad

CC: aran

Differential Revision: https://secure.phabricator.com/D5338
2013-03-23 14:37:18 -07:00
Jakub Vrana
efe0c135fe Implement text mode for Phabricator Remarkup rules
Test Plan:
  lang=remarkup
  D1
  {D1}
  {C1}
  {F1}
  [[ Test ]]
  iiam
  {meme, src=iiam, above="I\'m not always", below="But I am"}
  @{function:pht}
  @vrana

Reviewers: epriestley, edward

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2617

Differential Revision: https://secure.phabricator.com/D5392
2013-03-22 17:33:36 -07:00
Chad Little
c81592bf5c Remove messages from Conpherence mobile-menu
Summary: These never looked right, and with the revised mobile design, shouldn't be needed.

Test Plan: iOS, Chrome

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5426
2013-03-22 16:38:37 -07:00
Lauri-Henrik Jalonen
9a15f243fa PhabricatorCaches use namespace if set
Summary: PhabricatorCaches now uses namespaced caches if cofig option for cache is set.

Test Plan: noidea

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2786

Differential Revision: https://secure.phabricator.com/D5425
2013-03-22 16:28:28 -07:00
Chad Little
004a8de350 Notications mobile menu
Summary: Adding CSS so the notifications menu renders over content on mobile, also it was sort of broken at some point.

Test Plan: Tested Mobile, Tablet and regular layouts.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5424
2013-03-22 16:15:28 -07:00
Anh Nhan Nguyen
4c57f8aaf1 Modernized Phriction's Diff Controller
Summary:
Refs T2686

 - Added additional crumb to link back to History view
 - Revert buttons hidden for Stub and Move changes, too
 - added colors to the change set to reflect the colors in the diff

Test Plan: looked at various changes, verified correct appearance

Reviewers: epriestley, chad, btrahan

CC: aran, Korvin

Maniphest Tasks: T2686

Differential Revision: https://secure.phabricator.com/D5401
2013-03-22 14:57:52 -07:00
epriestley
cb84cb1c0f Don't require admin privileges to verify email addresses
Summary: Fixes T2821. In D5386 we locked most of this app down, but missed one controller which needs to be accessible by non-admins (this controller should probably be in some other app, like auth, in the long term).

Test Plan: @shanemhansen confirmed this fixed his install

Reviewers: chad, AnhNhan

Reviewed By: chad

CC: shanemhansen, aran

Maniphest Tasks: T2821

Differential Revision: https://secure.phabricator.com/D5422
2013-03-22 14:39:43 -07:00
Anh Nhan Nguyen
178d732575 Fixing a severe bug in PhabricatorMacroQuery
Summary: Just look at it for yourself

Test Plan: Fixed some fatals in a future diff

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5420
2013-03-22 13:48:23 -07:00
Anh Nhan Nguyen
f95710e799 Consolidate Macro loading
Summary:
Fixes T2820

Grepped for `PhabricatorFileImageMacro`, a common approach to load image macros from storage. Cleaned up file loading too (in most cases where I could be sure that I won't break anything).

Did not touch the `add_macro.php` util script, since many users will assume the user `ubuntu` or `ec2-user` to run the script. Add no sessions and no CSRF protection measures...

Test Plan:
Browsed around all kinds of places. Created and looked at memes, created and edited macros. Used them in Remarkup (with flushed cache). Used `macro.query`, verified it did not crash (that's always a good sign).

Could not verify object handles, since I have no idea where they appear right now.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2820

Differential Revision: https://secure.phabricator.com/D5418
2013-03-22 13:07:20 -07:00
epriestley
15c9287d43 Emit "did edit task" event correctly for Maniphest comments
Summary: We emit "did edit task" properly elsewhere, but only emit "will edit task" in this case. Emit the second event correctly.

Test Plan: Added a listener, verified it got hit.

Reviewers: skrul, chad

Reviewed By: skrul

CC: aran

Differential Revision: https://secure.phabricator.com/D5419
2013-03-22 13:07:12 -07:00
Chad Little
84c3f5475b Minor Token updates.
Summary: Add mobile menu, dust

Test Plan: test mobile, click menu

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5417
2013-03-22 12:29:49 -07:00
epriestley
4ffc2a1d00 Minor, fix an order issue in the token leaderboard.
Auditors: chad
2013-03-22 12:25:00 -07:00
epriestley
022ac73d60 Fix iphone scrolling behavior on homepage
Summary: I see a flash of white on my iPhone emulator and on the actual device when I scroll down. Make the texture bigger to prevent it.

Test Plan: Scrolled on emulator, no more white flash.

Reviewers: chad

Reviewed By: chad

CC: aran

Differential Revision: https://secure.phabricator.com/D5416
2013-03-22 12:09:10 -07:00
epriestley
c897dc04e5 Update DarkConsole documentation
Summary: This is a little bit out of date. Notably, the setting changed locations and we no longer have a "Config" tab since it's available in the config app.

Test Plan: Read documentation.

Reviewers: chad, skrul

Reviewed By: skrul

CC: aran

Differential Revision: https://secure.phabricator.com/D5415
2013-03-22 11:54:49 -07:00
Chad Little
919bd4a034 Rework Mobile Header and Mobile Home.
Summary: Mostly finished, wanted to get it into your hands to play with. I need to remove some more dead CSS and figure out where we want to put profile/logout, but overall feels pretty good. Tested a bunch in iOS and other layouts.

Test Plan: Test Home, Maniphest, search bars, app menus.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Maniphest Tasks: T2809

Differential Revision: https://secure.phabricator.com/D5407
2013-03-22 11:50:30 -07:00
Anh Nhan Nguyen
e38b993408 Allow more characters in a file name
Summary:
Refs T1692 - Borrows from D5192, means suffers from the same problems, too (RTL markers and some more)

Extended the list hidden characters though, some characters of which I thought could confuse other parts of Phabricator

Test Plan:
uploaded some files with a suspicious name of ##[[ .,-#'*`hey`?#+~!"$%&?汉字漢字 seig##

Came out as `[[_.,-_*_hey_汉字漢字_seig`

Looks reasonable enough for me

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1692

Differential Revision: https://secure.phabricator.com/D5413
2013-03-22 10:53:45 -07:00
Anh Nhan Nguyen
c4e217e204 Modernized Phriction Document Index
Summary:
Refs T2686

Migrated Document Index to `PhabricatorObjectItemView`

//Updates// page currently depicts change type per object bar color. Icons are planned, though their implemention remains unclear.

Also, @btrahan mentioned the use of getters over properties (for `$this->documents`, `$this->handles`)

Test Plan: Looks good, doesn't it?

Reviewers: epriestley, chad, btrahan

CC: aran, Korvin

Maniphest Tasks: T2686

Differential Revision: https://secure.phabricator.com/D5403
2013-03-22 10:36:30 -07:00
Anh Nhan Nguyen
ecfb720713 Adding some filters and queries to Macro application
Summary:
Fixes T2778

Introduces `PhabricatorMacroQuery`, which should consolidate all queries regarding macros

Adds `PolicyInterface` to `PhabricatorImageMacro`, as else the query would fail (we should consider adding it to the ApplicationTransaction instead, if that was ever planned)

Adds `Active Macros` filter, making it the default

Adds `My Macros` filter. You may ask why it overwrites `$authors`. Well, I did not want the page jump to the conclusion that it is a search result. It //is// one more or less, but the filter would jump to `seach` instead of `my`. If you want `My Macros` removed, tell me. It is useful only to heavy-macro-uploaders-and-users though. Five or six people in `http://secure.phabricator.(org|com)`, and an estimated dozen and a half at bigger installs.

Test Plan: created multiple macros from multiple authors, disabled them at will. browsed around, verified that Macros only appeared in the right filters and that nothing else broke.

Reviewers: epriestley, chad, btrahan

CC: aran, Korvin

Maniphest Tasks: T2778

Differential Revision: https://secure.phabricator.com/D5409
2013-03-22 09:46:22 -07:00
epriestley
ae1f0e3b1b Introduce ReleephProjectQuery
Summary:
Adds a policy-aware query class for selecting Releeph projects. This doesn't really change anything.

  - Make `ReleephProject` implment `PhabricatorPolicyInterface`, beginning the long journey to make it policy-aware.
  - Implement `ReleephProjectQuery`, for querying projects using cursor-based, policy-aware paging.
  - Use it on the list view, so we load only ~100 projects instead of all of them.
  - Tweaked some of the URI routing stuff to make it a little more consistent with common practices.

Ref T2714.

Test Plan:
{F36434}
{F36435}

Reviewers: edward

Reviewed By: edward

CC: aran

Maniphest Tasks: T2714

Differential Revision: https://secure.phabricator.com/D5390
2013-03-22 06:29:37 -07:00
Afaque Hussain
0c2147336c File list now shows only files which are explicitly uploaded
Summary: Added explicit tags to files which are explicitly uploaded. Fixes T2749

Test Plan: Tested by checking out the files application.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2749

Differential Revision: https://secure.phabricator.com/D5406
2013-03-22 04:59:51 -07:00
Bryan Cuccioli
cff9843859 Add basic token leader board functionality.
Summary: Implement basic token leader board. No pagination yet.

Test Plan: Assign some tasks tokens and check that they are displayed properly.

Reviewers: epriestley

CC: aran, Korvin, chad

Maniphest Tasks: T2689

Differential Revision: https://secure.phabricator.com/D5379
2013-03-21 16:04:29 -07:00
James Rhodes
4674b88ff6 Added configurable welcome content for Phabricator home page.
Summary:
The welcome.enabled feature is turned on by default; unsure of
whether this is desired by upstream.

Test Plan:
Apply the patch and see the welcome content.  It's configurable
in the config.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5339
2013-03-21 16:02:35 -07:00
Anh Nhan Nguyen
489f9e7dfe Added subscriptions to Phriction documents
Summary:
Fixes T2694

added edge infrastructure for Phriction

added mail subject prefix option for Phriction

added messy mail support for subscribers

adds edges to the phriction db, along with the subscriber interface
which gives us subscriptions for free.

simple display of subscribers, adequate to the current design and
sufficient fallbacks for exceptional cases. @chad may
be mailed about that one more UI element may be added to his redesign

mail support is messy. not generic at all. only sends to subscribed non-authors.

Test Plan:
tried out all kinds of stuff. applied patch, subscribed, unsubscribed with multiple
accs. verified proper

edited documents, verified that mail was sent in MetaMTA. Verified
contents, tos and stuff by looking into the db, comparing PHIDs etc.

functional testing per serious MTA (that is, AWS SES) worked wonderfully.

Here's how the subscription list looks like:
{F36320, layout=link}

Reviewers: epriestley, chad, btrahan

Reviewed By: epriestley

CC: hfcorriez, aran, Korvin

Maniphest Tasks: T2686, T2694

Differential Revision: https://secure.phabricator.com/D5372

Conflicts:

	src/infrastructure/storage/patch/PhabricatorBuiltinPatchList.php
2013-03-21 10:28:22 -07:00
Chad Little
72606412e4 New Icons
Summary: New Icons for New Apps.

Test Plan: Photoshop

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5399
2013-03-21 10:02:11 -07:00
Anh Nhan Nguyen
34e134b346 Modernized Phriction's History Controller
Summary:
Refs T2686

Migrated History view over to `PhabricatorObjectItemView`

Change type are currently depicted with object bar colors, switch to icon is planned though implementation remains unclear

Test Plan: Looks pretty good

Reviewers: epriestley, chad, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2686

Differential Revision: https://secure.phabricator.com/D5404
2013-03-21 09:27:33 -07:00
Anh Nhan Nguyen
1253e56352 Optimizations to Phriction's Move and Delete Controllers
Summary: Refs T2868

Test Plan: verified expected behaviours still apply (means everything works).

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5402
2013-03-21 09:09:31 -07:00
epriestley
9a515171f4 Phlux v0
Summary:
Yup, it's sitevars.

No conduit or caching or fancy stuff yet.

Ref T2793.

Test Plan:
{F36525}
{F36526}
{F36527}
{F36528}
{F36529}

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2793

Differential Revision: https://secure.phabricator.com/D5397
2013-03-20 18:01:52 -07:00
epriestley
eca49cb91f Exclusion of actor as a mail recipient per preference can be overridden
Summary:
Fixes T2797

Currently, emails are sent in no case to the actor if he has disabled the preference to send emails for his own actions. This won't let us send any test emails from the MetaMTA application to ourselves.

This revision corrects the latter by specifically overriding the option for test emails.

Test Plan:
tried to send emails to myself. verified test mail got blocked with change not applied.

applied the change. verified new change with both preference enabled and disabled did work fine.

Reviewers: epriestley

Reviewed By: epriestley

CC: kai, aran, Korvin

Maniphest Tasks: T2797

Differential Revision: https://secure.phabricator.com/D5398
2013-03-20 15:50:02 -07:00
Lauri-Henrik Jalonen
404d514d0e Pholio inline comment now include a thumbnail and link
Summary: Pholio inline comment now include a thumbnail and link to the Image being commented on

Test Plan: {F36331}

Reviewers: chad, epriestley

Reviewed By: epriestley

CC: aran, Korvin, btrahan

Maniphest Tasks: T2709

Differential Revision: https://secure.phabricator.com/D5375
2013-03-20 05:39:36 -07:00
Bob Trahan
b78fb12324 Conpherence - tweak file display
Summary: using chrome and safari and the mighty "YAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYA.gif", tweak _shorten and CSS to get display just right

Test Plan: will upload screenies

Reviewers: epriestley, chad

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2399

Differential Revision: https://secure.phabricator.com/D5383
2013-03-19 15:54:22 -07:00
Nick Harper
3f708710eb Don't barf on bad commit identifiers
Summary:
If someone provides an invalid svn rev number (like providing a git commit
hash instead) for a diffusion commit, we should ignore it like we ignore
other bad input to DiffusionCommitQuery, instead of barfing.

Test Plan:
put an invalid blame rev with rEsomehash (where E is an svn repo), and
differential loads.

Reviewers: epriestley, wez

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5389
2013-03-19 15:30:16 -07:00
Anh Nhan Nguyen
34e0f617a5 Adding trailing slash to 'Edit Mock' URI
Summary: This one kind of annoyed me when debugging for D5345, since I have stop-on-redirect to on. I know that I have missed showtime, but still, better late than never

Test Plan: Verified that I was not stopped when editing a mock

Reviewers: epriestley, chad, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5388
2013-03-19 15:02:43 -07:00
Afaque Hussain
77a8765824 Schema patch to add a column to Phabricator_File.file table
Summary: Added a column called explicit_upload to Phabricator_File.file table

Test Plan: By chekcing locally if the the column has been added in table using mysql commands.

Reviewers: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5384
2013-03-19 15:00:44 -07:00
Anh Nhan Nguyen
3b801fa567 Adding a proper story feed for moving a Phriction Document
Summary: Display a proper feed title when moving Phriction Documents.

Test Plan:
{F36112, size=full}

Descriptions for the feeds you see in the image.

 # New and cool story feed
 # Fallback for the boring old ones
 # Normal story feed, unchanged

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2686

Differential Revision: https://secure.phabricator.com/D5352
2013-03-19 14:22:26 -07:00
Anh Nhan Nguyen
e3a9ddfc4f Made most of People inaccessible for passer-bys
Summary:
Depends on D5360; Refs T2770

See https://secure.phabricator.com/chatlog/channel/6/?at=54481 for discussion.

This will be a sad day, when I will repeatedly continue to hit a glass wall trying to get into `/people/` to browse the user list J4F at http://secure.phabricator.com/.

Test Plan:
verified that I could not access People as some passer-by.

Verified I could still access user profiles (at least I think I got the right controller for that).

Reviewers: epriestley, chad, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2770

Differential Revision: https://secure.phabricator.com/D5386
2013-03-19 13:48:58 -07:00
Anh Nhan Nguyen
d21880530d Migrated People's listing to PhabricatorObjectListView
Summary:
Depends on D5359

Exactly what it says on a tin

made icons white; replaced panel with header

Made People app God-Mode only; did @epriestley's comments

reverted god-mode changes

Test Plan:
{F36157}

tell my if you like

Reviewers: epriestley, chad, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5360
2013-03-19 13:47:05 -07:00
Anh Nhan Nguyen
3b5d9ff79a Disappear PhabricatorObjectItemView's empty tooltips if is empty
Test Plan: removed one or two labels from uiexample, verified expected behaviour

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5382
2013-03-19 11:16:41 -07:00
Afaque Hussain
d43bcdc1ee Adding pro tips to Differential commit message
Summary: Randomly displaying tips about different features of arc.

Test Plan: Will test by running arc diff and seeing if the tips appear in text-based UI of arc

Reviewers: epriestley, AnhNhan

Reviewed By: AnhNhan

CC: aran, Korvin, AnhNhan

Differential Revision: https://secure.phabricator.com/D5351
2013-03-19 09:29:25 -07:00
epriestley
23ec113ac8 Minor, update celerity map. 2013-03-19 06:48:08 -07:00
Anh Nhan Nguyen
04869c6fcc Made declaration of ReleephRequestDifferentialCreateController::willProcessRequest() consistent with AphrontController::willProcessRequest(array $uri_data)
Summary:
When submitting a diff I noticed that the unit test `testEverythingImplemented` threw an error that did not fail a test.

```
[2013-03-18 16:35:16] ERROR 2048: Declaration of ReleephRequestDifferentialCreateController::willProcessRequest() should be compatible with AphrontController::willProcessRequest(array $uri_data) at [/home/anhnhan/dev/vanilla/phabricator/src/applications/releeph/controller/request/ReleephRequestDifferentialCreateController.php:99]
  #0 PhutilBootloader::executeInclude called at [/home/anhnhan/dev/vanilla/libphutil/src/__phutil_library_init__.php:203]
  #1 PhutilBootloader::executeInclude(/home/anhnhan/dev/vanilla/phabricator/src/applications/releeph/controller/request/ReleephRequestDifferentialCreateController.php) called at [/home/anhnhan/dev/vanilla/libphutil/src/__phutil_library_init__.php:193]
  #2 PhutilBootloader::loadLibrarySource(phabricator, applications/releeph/controller/request/ReleephRequestDifferentialCreateController.php) called at [/home/anhnhan/dev/vanilla/libphutil/src/symbols/PhutilSymbolLoader.php:341]
  #3 PhutilSymbolLoader::loadSymbol(Array of size 4 starting with: { type => class }) called at [/home/anhnhan/dev/vanilla/libphutil/src/symbols/PhutilSymbolLoader.php:246]
  #4 PhutilSymbolLoader::selectAndLoadSymbols() called at [/home/anhnhan/dev/vanilla/phabricator/src/infrastructure/__tests__/PhabricatorInfrastructureTestCase.php:15]
  #5 PhabricatorInfrastructureTestCase::testEverythingImplemented()
  #6 call_user_func_array(Array of size 2 starting with: { 0 => Object PhabricatorInfrastructureTestCase }, Array ) called at [/home/anhnhan/dev/vanilla/arcanist/src/unit/engine/phutil/ArcanistPhutilTestCase.php:441]
  #7 ArcanistPhutilTestCase::run() called at [/home/anhnhan/dev/vanilla/arcanist/src/unit/engine/PhutilUnitTestEngine.php:60]
  #8 PhutilUnitTestEngine::run() called at [/home/anhnhan/dev/vanilla/arcanist/src/workflow/ArcanistUnitWorkflow.php:160]
  #9 ArcanistUnitWorkflow::run() called at [/home/anhnhan/dev/vanilla/arcanist/scripts/arcanist.php:271]
```

Test Plan:
`arc unit --everything` before this change gave error.

applied this change. Re-ran `arc unit --everything`, no error.

Reviewers: edward

Reviewed By: edward

CC: aran, epriestley

Differential Revision: https://secure.phabricator.com/D5373
2013-03-19 06:04:43 -07:00
Anh Nhan Nguyen
038869c056 Fixing D5371
Summary:
Fixes T2765

Wrong brace placement D:

Test Plan: `/api/differential.getcommitmessage` with some set field

Reviewers: epriestley

CC: aran, Korvin

Maniphest Tasks: T2765

Differential Revision: https://secure.phabricator.com/D5376
2013-03-19 06:03:13 -07:00
Bob Trahan
b8c04419f0 Conpherence - fix a few bugs
Summary: fixes the "click edit and it clears title" bug. fixes a "upload the same image again and I get nothing" bug by making the create file codepath also copy dimensions if the file already exists, rather than making a copy sans dimensions. fixes the "title is so long it breaks the widget" bug by truncating the text AND adding some CSS to prevent it from happening.

Test Plan: messed around with a conpherence. changed the title, changed the picture, changed the crop and all worked. uploaded some long file names and verified they were truncated nicely.

Reviewers: epriestley, chad

Reviewed By: chad

CC: aran, Korvin

Maniphest Tasks: T2399

Differential Revision: https://secure.phabricator.com/D5378
2013-03-18 16:31:38 -07:00
Anh Nhan Nguyen
1a92976c14 Deduplicating duplicated field values for Commit Messages / Differential
Summary: Especially when doing 'arc diff' containing multiple commits which have pre-filled template fields. Names would pop up multiple times

Test Plan:
{F36314}

Local `arc diff` with some uber-branch also agrees with me

Reviewers: epriestley, vrana

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5371
2013-03-18 10:37:40 -04:00
Lauri-Henrik Jalonen
23d72d7e24 Implemented a <hr /> remarkup rule to Phabricator
Summary: Implemented a <hr /> remarkup rule to Phabricator

Test Plan: {F36306}

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2744

Differential Revision: https://secure.phabricator.com/D5370
2013-03-18 10:08:59 -04:00
Edward Speyer
66b414188c Remove deprecated call to renderSingleView
Summary: Return an array of renderables instead of rendering things ourselves (which we used to do with `AphrontView->renderSingleView()`.)

Test Plan: View a Releeph branch; gloriously notice no deprecated warnings.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5363
2013-03-18 11:17:02 +00:00
Edward Speyer
c55b866d3c Underp ReleephDefaultFieldSelector
Summary: Oops.  Functions only return stuff when you call the `return()` function on the `lvalue`.

Test Plan: Use `ReleephDefaultFieldSelector` is the field selector in a test Releeph project.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5362
2013-03-18 11:16:23 +00:00
Bob Trahan
f04d3c9e94 fixing file issue -- files can be deleted 2013-03-17 14:36:22 -07:00
Anh Nhan Nguyen
3ad33dbc04 Profile Pictures can only be edited for System Agents
Summary:
I feel pretty disturbed by having the thought of admins,
super-beings among all users, being able to edit my profile picture. So I took away
that capability of theirs.

Test Plan: Tried to edit a sys agent's profile pic, and somebody else's.

Reviewers: epriestley, chad, btrahan, Afaque_Hussain

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5358
2013-03-16 11:44:14 -04:00
Bob Trahan
a161617d8e Conpherence - make the files widget purdy-ish
Summary:
does the title and also a few other small tweaks

- kills the init js behavior; now its part of menu where it belongs.
- adds the underline to the icon when its toggled in the widget menu
- fixed JS initialization errors on the "create conpherence" page. Note I still like keeping all that init stuff in one function because its typing the same data a bunch to be passed over to the JS layer. Other ways to accomplish this obvi...

Only fun wrinkle here is I think Chad intended me to display "when the file was attached". Instead, I display when the file was *uploaded*. I think this jives better with our version where you can't delete and all that. Files are pretty powerful, long-living objects in Phabricator land.

Test Plan: added files to a conpherence and noted widget loaded updated okay. added a file with no author (generated by the system) and verified it still rendered okay. switched between conpherences and verified proper data in each files widget. uploaded image and text files to check the icons were correct.

Reviewers: epriestley, chad

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2530

Differential Revision: https://secure.phabricator.com/D5337
2013-03-15 23:41:36 -07:00
Chad Little
0bd135b1e6 Tweak panel-filter shadow.
Summary: Adds a consistent shadown under crumbs, tweaks filter-panel to look a bit crisper

Test Plan: Tested crumbs with filter, with nothing, and with a header.

Reviewers: epriestley, btrahan

Reviewed By: btrahan

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5353
2013-03-15 17:16:39 -07:00
Chad Little
adca269812 Add gradient to object-list cards
Summary: Adds a gradient, also re-ran sprite generator to attempt to sprite - for some reason all images were un-optimized.

Test Plan: Test on UI Examples page

Reviewers: epriestley, btrahan

Reviewed By: btrahan

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5354
2013-03-15 17:15:57 -07:00
Edward Speyer
2497e5b5ed Releeph (Phabricator part)
Summary: A copy of the Releeph release tool.

Test Plan: Generally, click everything at least once.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Maniphest Tasks: T2094

Differential Revision: https://secure.phabricator.com/D4932
2013-03-15 11:28:43 +00:00
Jakub Vrana
daed35e36c Avoid double slash in Celerity path
Summary: Fished from logs, it probably doesn't cause any real problems.

Test Plan: Looked at logs.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5350
2013-03-14 12:03:26 -07:00
epriestley
dc7b25abed Improve Remarkup embed documentation
Summary: Group all the embed documentation together and mention the new Paste features.

Test Plan: {F35993}

Reviewers: ljalonen

Reviewed By: ljalonen

CC: aran

Differential Revision: https://secure.phabricator.com/D5348
2013-03-14 11:52:20 -07:00
Lauri-Henrik Jalonen
1e8d20d9fc Line count can be set for paste
Summary:
Probably not the ideal way to deal showing only certain amount of lines. Size vary by browsers,
zooming will mess it up albeit only a little and will definitely not work with IE.

Test Plan: {F35989}

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1770

Differential Revision: https://secure.phabricator.com/D5347
2013-03-14 10:51:34 -07:00
Lauri-Henrik Jalonen
dcdf207266 Remarkup allows to point a specific image in a Mock set
Summary: One can point to spesific image in a Mock set using {Mxx|yy} syntax

Test Plan: {F35373}

Reviewers: chad, epriestley

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Maniphest Tasks: T2710

Differential Revision: https://secure.phabricator.com/D5322
2013-03-14 09:38:56 -07:00
Lauri-Henrik Jalonen
30a17c2039 Embed pastes now support highlight
Summary:
- Added support for highlighting to PhabricatorSourceCodeView
- Added support for highlighting to embed pastes

Test Plan: {F35975}

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1770

Differential Revision: https://secure.phabricator.com/D5346
2013-03-14 09:32:02 -07:00
Anh Nhan Nguyen
2f9c981716 Oversight: Prevent deletion/movement of stub pages
Summary: Refs T2686 - Now you also can't delete / move stubbed pages

Test Plan: tried it out - works wonderful

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2686

Differential Revision: https://secure.phabricator.com/D5341
2013-03-14 06:20:35 -07:00
Anh Nhan Nguyen
76ed21d922 added some more rules for dark remarkup environments
Summary:
Added rules for <tt> (##`## [inline code]) (did bright text on somewhat dark bg), `NOTE:` block and tables. These were all the ones I could think of and found that they required triage.

I did not touch minor things like links etc., which may require refinement. I try to stay away from design details.

Test Plan: {F35940}

Reviewers: chad, epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5345
2013-03-14 06:18:44 -07:00
epriestley
369ff790ff Minor, celerity derps. 2013-03-13 16:28:27 -07:00
Afaque Hussain
69d087a1d7 Replaced AphrontCrumbsView with PhabricatorCrumbsView in PhrictionDiffController
Summary: Same as title

Test Plan: By checking in Phriction UI in Phabricator

Reviewers: epriestley, AnhNhan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5327
2013-03-13 15:18:18 -07:00
Bob Trahan
9d806b69cb Conpherence - some cleanup type stuff
Summary:
this diff does a few, not so exciting things

- changes "conpher" to "conpherence" where it snuck into CSS, spritemap, etc -- I believe we now consistently call it conpherence. Feel free to change it, just change it everywhere. :D
- puts the widget icons in the right order per M14
- makes the "mobile-only" widgets show the toggles only in the mobile view
 - also made it so clicking them does nothing for now
- removes the tasks widget since we don't want it

...my time is getting chopped up funny (yay puppy) so this is just an attempt at something that can go into the codebase and not make it worse. Next up is making the widgets that show on desktop look right / not say "TODO"

Test Plan: played around in Conpherence

Reviewers: epriestley, chad

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2530

Differential Revision: https://secure.phabricator.com/D5334
2013-03-13 13:03:51 -07:00
Edward Speyer
293607950c Reinstate AphrontFormCountedToggleButtonsControl's CSS
Summary: Undoes accidental delete from https://secure.phabricator.com/D5314

Test Plan: View awesome new toggle-buttons scheme in Releeph.

Reviewers: chad

Reviewed By: chad

CC: epriestley, aran

Differential Revision: https://secure.phabricator.com/D5332
2013-03-13 18:01:15 +00:00
Anh Nhan Nguyen
f1be01527f Wiped ErrorView from PhrictionDeleteController
Summary: Exactly what it says on the tin

Test Plan: deleted an document in all kinds of fashions. No fatalities, no exceptions, all dialogs appeared fine.

Reviewers: epriestley, chad, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2686

Differential Revision: https://secure.phabricator.com/D5331
2013-03-13 10:30:39 -07:00
Afaque Hussain
05c5c43159 Yell at developers if they don't replace the default revision title with thier new revision title.
Summary: Same as the title

Test Plan: Will test locally by running arc diff

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan, starruler

Maniphest Tasks: T2663

Differential Revision: https://secure.phabricator.com/D5297
2013-03-13 09:34:29 -07:00
Edward Speyer
7487c57401 Make Application->isInstalled canonical
Summary: We currently inspect `phabricator.uninstalled-applications` in two places -- when building a list of `getAllInstalledApplications()` and when asking an application if it `isInstalled()`.  This diff moves that all to the latter function, meaning we can override it in clever and subtle ways for applications that want to add extra defensiveness about whether they should be considered installed or not (e.g. Releeph, in D4932.)

Test Plan: Load the main Phabricator page, pick an application, uninstall it, notice it is absent, then install it and notice the launch icon reappear.

Reviewers: epriestley, Afaque_Hussain

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5326
2013-03-13 16:01:23 +00:00
epriestley
33997d43d0 Fix undefined index in ManiphestTaskSummaryView
Summary:
Currently, my homepage raises a couple of these:

  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message: [2013-03-13 06:44:38] ERROR 8: Undefined index:  at [/INSECURE/devtools/phabricator/src/applications/maniphest/view/ManiphestTaskSummaryView.php:133]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #0 ManiphestTaskSummaryView::render() called at [/INSECURE/devtools/phabricator/src/applications/maniphest/view/ManiphestTaskListView.php:45]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #1 ManiphestTaskListView::render() called at [/INSECURE/devtools/phabricator/src/view/AphrontView.php:63]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #2 AphrontView::producePhutilSafeHTML() called at [/INSECURE/devtools/libphutil/src/markup/render.php:65]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #3 phutil_escape_html(Object ManiphestTaskListView)"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #4 array_map(phutil_escape_html, Array { 0 => Object ManiphestTaskListView }) called at [/INSECURE/devtools/libphutil/src/markup/render.php:120]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #5 phutil_implode_html(, Array { 0 => Object ManiphestTaskListView }) called at [/INSECURE/devtools/phabricator/src/view/layout/AphrontPanelView.php:92]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #6 AphrontPanelView::render() called at [/INSECURE/devtools/phabricator/src/view/AphrontView.php:63]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #7 AphrontView::producePhutilSafeHTML() called at [/INSECURE/devtools/libphutil/src/markup/render.php:65]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #8 phutil_escape_html(Object AphrontPanelView)"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #9 array_map(phutil_escape_html, Array of size 8 starting with: { 0 => Object AphrontPanelView }) called at [/INSECURE/devtools/libphutil/src/markup/render.php:85]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #10 phutil_escape_html(Array of size 8 starting with: { 0 => Object AphrontPanelView })"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #11 array_map(phutil_escape_html, Array of size 2 starting with: { 0 => Array of size 8 starting with: { 0 => Object AphrontPanelView } }) called at [/INSECURE/devtools/libphutil/src/markup/render.php:85]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #12 phutil_escape_html(Array of size 2 starting with: { 0 => Array of size 8 starting with: { 0 => Object AphrontPanelView } })"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #13 array_map(phutil_escape_html, Array of size 2 starting with: { 0 => null }) called at [/INSECURE/devtools/libphutil/src/markup/render.php:85]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #14 phutil_escape_html(Array of size 2 starting with: { 0 => null }) called at [/INSECURE/devtools/libphutil/src/markup/render.php:53]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #15 phutil_tag(div, Array of size 2 starting with: { class => phabricator-nav-content }, Array of size 2 starting with: { 0 => null }) called at [/INSECURE/devtools/phabricator/src/view/layout/AphrontSideNavFilterView.php:297]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #16 AphrontSideNavFilterView::renderFlexNav() called at [/INSECURE/devtools/phabricator/src/view/layout/AphrontSideNavFilterView.php:184]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #17 AphrontSideNavFilterView::render() called at [/INSECURE/devtools/phabricator/src/view/AphrontView.php:63]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #18 AphrontView::producePhutilSafeHTML() called at [/INSECURE/devtools/libphutil/src/markup/render.php:65]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #19 phutil_escape_html(Object AphrontSideNavFilterView)"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #20 array_map(phutil_escape_html, Array { 0 => Object AphrontSideNavFilterView }) called at [/INSECURE/devtools/libphutil/src/markup/render.php:120]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #21 phutil_implode_html(, Array { 0 => Object AphrontSideNavFilterView }) called at [/INSECURE/devtools/phabricator/src/view/page/PhabricatorBarePageView.php:58]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #22 PhabricatorBarePageView::willRenderPage() called at [/INSECURE/devtools/phabricator/src/view/page/PhabricatorStandardPageView.php:104]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #23 PhabricatorStandardPageView::willRenderPage() called at [/INSECURE/devtools/phabricator/src/view/page/AphrontPageView.php:46]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #24 AphrontPageView::render() called at [/INSECURE/devtools/phabricator/src/applications/directory/controller/PhabricatorDirectoryController.php:15]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #25 PhabricatorDirectoryController::buildStandardPageResponse(Object AphrontSideNavFilterView, Array { title => Phabricator }) called at [/INSECURE/devtools/phabricator/src/applications/directory/controller/PhabricatorDirectoryMainController.php:66]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #26 PhabricatorDirectoryMainController::buildMainResponse(Object AphrontSideNavFilterView, Array of size 8 starting with: { 5 => Object PhabricatorProject }) called at [/INSECURE/devtools/phabricator/src/applications/directory/controller/PhabricatorDirectoryMainController.php:27]"
  [13-Mar-2013 06:44:38] WARNING: [pool www] child 27678 said into stderr: "NOTICE: PHP message:   #27 PhabricatorDirectoryMainController::processRequest() called at [/INSECURE/devtools/phabricator/webroot/index.php:91]"

There two cases here:

  - There's no owner. In this case, we might-or-might-not have loaded the handle for the "empty" PHID, but we shouldn't try to render in either case.
  - There is an owner. In this case, we definitely should have loaded the handle, so it's fine for us to fatal if we didn't (it indicates a serious problem with the program).

Test Plan: Loaded home page, no errors.

Reviewers: chad, btrahan

Reviewed By: chad

CC: aran

Differential Revision: https://secure.phabricator.com/D5329
2013-03-13 08:06:10 -07:00
epriestley
5b0e64435b Fix undefined variable on empty Maniphest results pages
Summary: Fixes T2741. If there are no results, `$result_count` is never initialized.

Test Plan: Looked at an empty results page.

Reviewers: btrahan, chad

Reviewed By: chad

CC: aran

Maniphest Tasks: T2741

Differential Revision: https://secure.phabricator.com/D5328
2013-03-13 08:05:44 -07:00
Anh Nhan Nguyen
4b6c81a23c adding a warning upon 'creating' a new document on an existing page
Summary: don't remember what I changed except for add that intermediate dialog

Test Plan:
{F35155}

Ugly, ain't it?

you can edit instead, or admit that it was a mistake to take on Phriction's existing documents

Reviewers: epriestley, chad, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2686

Differential Revision: https://secure.phabricator.com/D5295
2013-03-13 07:41:38 -07:00
epriestley
855e085c6f Uninstall Conduit calls when uninstalling applications
Summary: Fixes T2698. When applications are installed, their Conduit calls should drop out. This will also let us land Releeph without exposing Conduit calls.

Test Plan:
  - Viewed Conduit console; uninstalled some applications and verified their calls dropped out.
  - Tried to make an uninstalled call; got an appropriate error.

Reviewers: edward, btrahan

Reviewed By: edward

CC: aran

Maniphest Tasks: T2698

Differential Revision: https://secure.phabricator.com/D5302
2013-03-13 07:09:05 -07:00
Lauri-Henrik Jalonen
1341c8a6c1 Paste embeds look super cool
Summary: Make Paste embeds look super cool

Test Plan: {F35387}

Reviewers: epriestley

CC: aran, Korvin, chad, btrahan, AnhNhan

Maniphest Tasks: T1770

Differential Revision: https://secure.phabricator.com/D5323
2013-03-13 07:03:39 -07:00
Jakub Vrana
9303bf50bf Display full handle name in PHID lookup
Test Plan: Searched for a commit.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5301
2013-03-13 00:55:07 -07:00
Chad Little
df0c3df3cc Modernize Maniphest
Summary:
A few things
- pht Maniphest where I could
- implement dust background
- optimize pages for mobile
- adds aphront-two-column-layout
- reworks maniphest page with two column layout
- tweaks task table for mobile, though we should move to object-list-view

Stopping here as I want to get feedback in. Super excited about mobile and the new tasks views. Only sort of excited about the sidebar filters, they need more UI work, but we should talk about that.

Test Plan: Test Maniphest, Differential, and Homepage views. Sort tasks, make reports

Reviewers: epriestley, btrahan

Reviewed By: btrahan

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5314
2013-03-12 23:30:03 -07:00
Edward Speyer
9804dab799 pht() AphrontNoteView
Summary: Add `pht()` calls throughout `AphrontNoteView` to allow translation of this example.

Test Plan: /uiexample/view/PhabricatorNoteExample/

Reviewers: chad

Reviewed By: chad

CC: aran, epriestley

Differential Revision: https://secure.phabricator.com/D5325
2013-03-12 13:10:06 +00:00
Edward Speyer
a1b98c5cb7 AphrontFormCountedToggleButtonsControl
Summary: Like AphrontFormToggleButtonsControl, but with mouseover counters.  These counters let you know how many of each thing there are in each category, which is useful when using this control for filtering a list of things in multiple dimensions.

Test Plan: `/uiexample/view/PhabricatorCountedToggleButtonsExample/`

Reviewers: epriestley

CC: aran, Korvin

Maniphest Tasks: T2094

Differential Revision: https://secure.phabricator.com/D5118
2013-03-12 09:43:36 +00:00
epriestley
6ab2db6d4d Minor, fix an extra period in Phriction.
Auditors: anhnhan
2013-03-10 19:48:43 -07:00
Chad Little
f2cec9f973 Apront Two Column View
Summary: Wanted to pull this out in case we don't use it in Maniphest, still useful perhaps in the future. Creates a sidebar that wraps when on mobile.

Test Plan: Tested UIExample

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5321
2013-03-10 19:20:01 -07:00
Chad Little
fbb032c710 Document icons sprite sheet.
Summary: Adds 32 and 64 px images to represent basic documents.

Test Plan: Differential

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5317
2013-03-10 14:16:16 -07:00
epriestley
ca20323b87 Preload images in Pholio and fix dimension rendering
Summary:
Preload all the images when viewing a pholio. Fixes T2692.

We should probably use lower-resolution previews on mobile and only show full resolution when the user taps. We should also suppress the thumbnails from loading on mobile since they aren't visible. But neither is critical for the moment.

Test Plan: Added logging, verified everything loaded.

Reviewers: chad

Reviewed By: chad

CC: aran

Maniphest Tasks: T2692

Differential Revision: https://secure.phabricator.com/D5316
2013-03-10 13:30:41 -07:00
Jakub Vrana
47f6aecb72 Parse "Depends on" in freeform Differential fields
Summary:
I considered also parsing "Depends On:" field in the commit message but it's more involved and I also prefer having this information in the summary where it's more visible.
I also didn't want the field displayed by default so user would have to write "Depends On:" anyway.

Test Plan: Used "Depends on D1" in summary, saw it in dependencies.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5300
2013-03-10 11:00:02 -07:00
epriestley
71d0465331 Fix two Pholio subscriptions issues
Summary:
  - Grouping inline comments made us render `array(null)` for the content of a single comment. Detect that this corresponds to empty text.
  - Don't try to mention-subscribe automatic subscribers, like the author.

Test Plan: Tried to mention-subscribe the author, saw no "x subscribed y" transaction generate. Added a real subscriber, saw no empty content render.

Reviewers: chad

Reviewed By: chad

CC: aran

Differential Revision: https://secure.phabricator.com/D5315
2013-03-10 10:59:03 -07:00
Lauri-Henrik Jalonen
590f54a20e Pholio inline comments have a minimum size
Summary: Pholio inline comments now have minimum size of 16x16 px

Test Plan: Made some inlines

Reviewers: epriestley

CC: aran, Korvin, AnhNhan

Maniphest Tasks: T2647

Differential Revision: https://secure.phabricator.com/D5250
2013-03-10 09:28:54 -07:00
Anh Nhan Nguyen
45a49b99a9 Pimping PhrictionListController
Summary:
- adding dust
- updating filters, removing stubs and moved
- adding Project of a doc

Test Plan: saw them

Reviewers: epriestley, chad, btrahan

CC: aran, Korvin

Maniphest Tasks: T2686

Differential Revision: https://secure.phabricator.com/D5284
2013-03-09 19:48:57 -08:00
epriestley
eb010b2efc Group inline transactions in Pholio
Summary:
Fixes T2639 by grouping related transactions at display time, so all the inlines merge into a nice block.

(Note that this does not do anything about T2709 yet, so there's still no way to figure out where the inlines actually are.)

Test Plan: {F35262}

Reviewers: chad

Reviewed By: chad

CC: aran

Maniphest Tasks: T2639

Differential Revision: https://secure.phabricator.com/D5313
2013-03-09 19:23:50 -08:00
epriestley
a858c14791 Implicitly CC inline commenters in Pholio
Summary: Fixes T2722. Both the "comment" (default) and "inline comment" (needs to be specialized) actions should imply CC.

Test Plan: Made an inline on a mock, got implicitly cc'd.

Reviewers: chad

Reviewed By: chad

CC: aran

Maniphest Tasks: T2722

Differential Revision: https://secure.phabricator.com/D5312
2013-03-09 17:55:14 -08:00
epriestley
b41b1b43db Implement card style and extras for object item lists
Summary:
Initial pass at elements appearing on M10.

Glaring omissions:

  - I cut a single icon out of M10 in a haphazard way.
  - No linear graident texture on the cards.

Test Plan:
{F35248}
{F35249}

Reviewers: chad

Reviewed By: chad

CC: aran

Differential Revision: https://secure.phabricator.com/D5311
2013-03-09 17:55:01 -08:00
epriestley
cd5038e973 Support basic swipe gestures in Pholio
Summary:
Ref 2700. No sexy animation yet, but allows you to swipe left and right to switch photos. Generally feels pretty good to me.

Also fixes a left/right but and a bug where taps could be interpreted as gestures and simplifies some touch code.

derpdog

Test Plan:
Swiped left and right in Pholio.

{F35239}

Reviewers: chad

Reviewed By: chad

CC: aran

Differential Revision: https://secure.phabricator.com/D5309
2013-03-09 13:53:32 -08:00
epriestley
6b5204dca9 Add support for device swipe events
Summary:
Ref T2700. Allow JS to listen for swipes on devices.

There are a bunch of tricky cases here and I probably didn't get them all totally right, but this interaction broadly looks like this:

  - We implement gesture recognition for the mouse in device modes (narrow browser), and for touch events from an actual device.
  - The sigil `touchable` indicates that a node wants to react to touch events.
  - When the user touches a `touchable` node, we start listening for moves. They might be tapping/clicking (in which case we don't care), but they might also be gesturing.
  - Once the user moves their finger/pointer far enough away from the tap origin, we recognize it as a gesture. I hardcoded this at 20px; I wasn't able to find any "official" Apple value, but 20px seems like a common default.
  - At this point, we look at where their finger has moved.
    - If they moved it mostly up/down, we interpret the gesture as "scroll" and just stop listening. The device does its own thing.
    - However, if they moved it mostly left/right, we interpret it as a "swipe". We start killing the moves so the device doesn't scroll.
  - Once we've recognized that a gesture is underway, we send a "gesture.swipe.start" event and then "gesture.swipe.move" events for every move.
  - When the user ends the gesture, we send "gesture.swipe.end".
  - If the user cancels the gesture (currently, only by tapping with a second finger), we send "gesture.swipe.cancel".
  - Gesture events have raw position data and some convenience fields.

Test Plan:
Wrote UI example and used it from the Desktop, iPhone simulator, and a real iphone.

  - The code always seems to get "scroll" vs "swipe" correct (i.e., consistent with my intentions).
  - The threshold feels pretty good to me.
  - Tapping with a second finger cancels the action.

Reviewers: chad, btrahan

Reviewed By: chad

CC: aran

Maniphest Tasks: T2700

Differential Revision: https://secure.phabricator.com/D5308
2013-03-09 13:53:15 -08:00
epriestley
4c914a5c49 Remove all calls to renderSingleView() and deprecate it
Summary: After D5305, this method does nothing since we automatically figure out what we need to do.

Test Plan:
- Viewed a page with the main menu on it (MainMenuView).
- Viewed a revision with transactions on it (TransactionView).
- Viewed timeline UIExample (TimelineView, TimelineEventView).
- Viewed a revision (PropertyListView).
- Viewed a profile (ProfileHeaderView).
- Viewed Pholio list (PinboardView, PinboardItemView).
- Viewed Config (ObjectItemView, ObjectItemListView).
- Viewed Home (MenuView).
- Viewed a revision (HeaderView, CrumbsView, ActionListView).
- Viewed a revision with an inline comment (anchorview).
- Viewed a Phriction diff page (AphrontCrumbsView).
  - Filed T2721 to get rid of this.
- Looked at Pholio and made inlines and comments (mockimages, pholioinlinecomment/save/edit).
- Looked at conpherences.
- Browsed around.

Reviewers: chad, vrana

Reviewed By: chad

CC: edward, aran

Differential Revision: https://secure.phabricator.com/D5307
2013-03-09 13:52:41 -08:00
epriestley
5e41ead7c7 Have AphrontView implement PhutilSafeHTMLProducerInterface
Summary: Allows views to work like tags.

Test Plan: Implemented a few completely arbitrary render() / singleView simplifications. I just picked some that were easy to test. I'll do a more thorough pass on this in a followup; these calls don't really hurt anything.

Reviewers: chad, vrana

Reviewed By: chad

CC: aran

Differential Revision: https://secure.phabricator.com/D5306
2013-03-09 13:52:21 -08:00
epriestley
25738e78a1 Harden custom date fields against userland adventures
Summary: Users do things like change the type of a field. Currently, we throw when this happens. Instead, recover somewhat-gracefully.

Test Plan:
Created a "string" field, then changed it to a "date" field.

{F35241}

Reviewers: btrahan, chad

Reviewed By: chad

CC: aran

Differential Revision: https://secure.phabricator.com/D5310
2013-03-09 13:51:58 -08:00
epriestley
c91253c691 Remove "MetaMTA Transcripts" and "Herald Transcripts" links from Differential
Summary: These actions are dumb, and not smart, and no one likes them.

Test Plan: Looked at a revision and saw fewer actions; higher average action quality.

Reviewers: chad

Reviewed By: chad

CC: aran

Differential Revision: https://secure.phabricator.com/D5304
2013-03-09 09:22:10 -08:00
epriestley
8821ab57c0 Allow speical keys to be bound to keystrokes
Summary: Fixes T2711. Allows special keys (arrows, tab, return) to be bound as shortcuts. Binds left and right as shortcuts in Pholio.

Test Plan: Pressed left. Pressed right.

Reviewers: chad

Reviewed By: chad

CC: aran

Maniphest Tasks: T2711

Differential Revision: https://secure.phabricator.com/D5303
2013-03-08 21:19:24 -08:00
Wez Furlong
eba51d16b9 reduce noise on daemon console
Summary:
this suppresses displaying entries that have not been in the running
state for more than 3 days.

note: We should probably kill off these dead rows similar
to the code at the top of the loop, but without checking to see if we're
the same host and the item is still live, or have some other cruft removal
job to effect the same.

Test Plan: load /daemon/ and rejoice that there are fewer crufty rows.

Reviewers: vrana, nh

Reviewed By: nh

CC: aran, epriestley

Differential Revision: https://secure.phabricator.com/D5299
2013-03-08 13:08:11 -08:00
vrana
4e535b03e5 Adjust the shade of green in blame
Summary:
We are loading blame on background which confuses me a bit - I'm not sure if it's still loading or it's already loaded and the commit changed lots of lines (so I don't see the author) and it was a long time ago (so I don't see green).
Provide a visual feedback even for very old commits.

I want to point out that I really enjoy this kind of work.
Also, this diff is my masterpiece at least for today.

Test Plan: ?view=blame - verified that the gray changed to a decent shade of green even for very old commits.

Reviewers: epriestley, chad

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5292
2013-03-08 10:49:45 -08:00
Chad Little
c05115b367 Fix link colors.
Summary: Fix the visited state on visited closed tasks.

Test Plan: Create and close tasks, visit them, note state doesnt change. Check hover states.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5298
2013-03-08 10:43:20 -08:00
Bob Trahan
ddf97c0e8a Conpherence - Make the files widget more useful and ajaxify some more stuff
Summary: files widget updates as new files are added. made basically all edits "ajax" except for when you change the conpherence image which just does a reload. I will fix this in a future diff but it was starting to spiral out of control a bit.

Test Plan: commented on a task with files and noted the updated file widget. updated header image via drag and drop and dialogue -- noted a full reload. cropped image and re-titled conpherence - ajax updated as expected.

Reviewers: epriestley, chad

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2530

Differential Revision: https://secure.phabricator.com/D5288
2013-03-08 10:40:06 -08:00
Afaque Hussain
95b84881b7 Enabling Admins to set profile pictures for System Agents
Summary: Added an action in Edit option of People application allowing Admins to set profile pictures for System Agents

Test Plan: By trying to set a profile picture for the sytem agents

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5293
2013-03-08 08:31:25 -08:00
Anh Nhan Nguyen
81334651a9 Fix a name mismatch in PhrictionDocumentQuery
Summary: Fix an oversight in {D5285}

Test Plan: works smoothly again :D

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2686

Differential Revision: https://secure.phabricator.com/D5294
2013-03-08 08:03:06 -08:00
Chad Little
f9bd2e5c65 Add hover color to upload files area.
Summary: Adds the hover color to the upload images area on Create Mock.

Test Plan: Hover image, get background change.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Differential Revision: https://secure.phabricator.com/D5291
2013-03-08 07:47:20 -08:00
Chad Little
b861e0cf86 Remove overflow:hidden from form-view
Summary: Typeaheads that are overflow have their contents hidden inside the form view.

Test Plan: Tested Creating a Mock. Would like guidance on what this was solving so we can find something else.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2690

Differential Revision: https://secure.phabricator.com/D5290
2013-03-08 07:38:54 -08:00
Chad Little
ef33c04322 Remove 'Images' from editing a mock
Summary: For now, remove the images field when editing a mock, can add it back if we decide to allow it.

Test Plan: Check edit mock, field gone, check new mock, field is alive and well.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2552

Differential Revision: https://secure.phabricator.com/D5289
2013-03-08 07:36:55 -08:00
epriestley
b799f5671b Implement PhrictionDocumentQuery
Summary:
Companion for D5284. Move all the query logic to a policy-aware query class. In particular:

  - Currently, anyone can view and edit a project's wiki documents. For callsites using this query class, you must be able to view or edit the project to view or edit its documents.
  - There's some very sketchy logic with the content/document joins. This cleans that up.
  - This cleans up loading projects by moving it inside the query. We need to do this anyway to perform policy checks.

Test Plan: Viewed active/all/updated. Set page size to 2, verified pager works.

Reviewers: AnhNhan, chad

Reviewed By: AnhNhan

CC: aran

Differential Revision: https://secure.phabricator.com/D5285
2013-03-08 07:12:24 -08:00
epriestley
06b3f21b61 Implement "user" and "users" Maniphest custom fields
Summary:
Ref T2575. Implements "user" (zero or one users) and "users" (zero or more users) field types.

Also allows custom fields to participate in the handle pipeline.

Test Plan: {F35071}

Reviewers: hach-que, btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2575

Differential Revision: https://secure.phabricator.com/D5287
2013-03-07 17:24:58 -08:00
epriestley
30d6cd91da Implement remarkup custom control
Summary: Ref T2575. Adds "remarkup" control, which displays a remarkup control and uses the remarkup cache. Grants fields access to remarkup pipeline.

Test Plan:
{F35067}
{F35068}

Used DarkConsole to verify cache interaction with services.

Reviewers: hach-que, btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2575

Differential Revision: https://secure.phabricator.com/D5286
2013-03-07 17:24:33 -08:00
epriestley
3f56ca681f Implement Maniphest auxiliary field 'default' key
Summary: Fixes T404. Ref T2575. Allows default to be set for any field. Date defaults are interpreted by `strtotime()`. Other defaults are interpreted as expected.

Test Plan:
  - Created a string custom field with default value "Orange".
  - Created a date custom field with a fixed default value (my birthday).
  - Created a date custom field with a relative default value ("today 4:59 PM").
  - Created/edited tasks with these fields, verified everything behaved sensibly.

Reviewers: hach-que, btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T404, T2575

Differential Revision: https://secure.phabricator.com/D5282
2013-03-07 17:23:30 -08:00
epriestley
ba4649679c Implement Maniphest "date" auxiliary field type
Summary:
Ref T404. Ref T2575. Adds a "date" type to Maniphest.

This doesn't let you default the date to anything other than `time()`; I'll do that in the next diff.

Test Plan: Created and edited a task with date fields.

Reviewers: hach-que, btrahan

Reviewed By: btrahan

CC: aran, mbishopim3

Maniphest Tasks: T404, T2575

Differential Revision: https://secure.phabricator.com/D5281
2013-03-07 17:23:09 -08:00
epriestley
a3099e27bc Provide Maniphest auxiliary fields access to the viewer and task
Summary:
Maniphest auxiliary fields currently do not have access to the viewing user or task. This is fine for very simple fields, but insufficient for more complex fields. Generally, bring these in line with DifferentialFieldSpecifications.

This supercedes the additional $user/$viewer threading provided by D5247 and provides viewers to all fields, as well as access to the task object itself.

Test Plan: Created, viewed and edited a task with custom fields. Created a similar subtask.

Reviewers: hach-que, btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2575

Differential Revision: https://secure.phabricator.com/D5280
2013-03-07 17:22:36 -08:00
Bob Trahan
e3181fcbe7 make applicationTransactionsCommentView have a "Login to comment." button if user is not logged in
Summary: okay title. other apps can get this by implementing shouldAllowPublic and set(ting)RequestURI on TransactionsCommentView. note i put some css inline -- let me know if that belongs someplace else or needs better design.

Test Plan: viewed a mock logged out and saw new button. used new button and ended up on the mock logged in with a clean URI.

Reviewers: epriestley, chad

Reviewed By: chad

CC: aran, Korvin

Maniphest Tasks: T2653

Differential Revision: https://secure.phabricator.com/D5266
2013-03-07 13:02:36 -08:00
Anh Nhan Nguyen
e6c73a8396 fixing unloaded object handles for project member changes in feed view
Summary: Fixes T2688

Test Plan: verified proper display in `/feed/` and activity streams

Reviewers: epriestley, nevogd

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2688

Differential Revision: https://secure.phabricator.com/D5279
2013-03-07 12:57:39 -08:00
Anh Nhan Nguyen
1797e51428 Fixed Phriction status displays when browsing history
Summary: Refs T2686 - also did some pht()'s except one

Test Plan: browsed around in Phriction, including History. looked fine.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2686

Differential Revision: https://secure.phabricator.com/D5275
2013-03-07 08:33:38 -08:00
Lauri-Henrik Jalonen
76880916d0 Pholio mocks embed in a fancy way
Summary: Pholio mocks are now embed in a fancy way

Test Plan: {F34804}

Reviewers: epriestley

Reviewed By: epriestley

CC: chad, aran, Korvin, AnhNhan

Maniphest Tasks: T2626

Differential Revision: https://secure.phabricator.com/D5249
2013-03-07 08:23:45 -08:00
Anh Nhan Nguyen
048fb35b46 pht() for Flags
Summary: This also includes the "Flag for Later" action items

Test Plan:
did a run with all caps

badassery

Reviewers: epriestley, btrahan, chad

Reviewed By: chad

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5276
2013-03-07 08:22:11 -08:00
Anh Nhan Nguyen
0865ed266d Simplified Phriction Move form
Summary: Refs T2686 - only dialog remains, no wrangling between ajax / non-ajax

Test Plan: verified everything still works

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2686

Differential Revision: https://secure.phabricator.com/D5274
2013-03-07 08:20:55 -08:00
Chad Little
b0aa55b160 Make closed tasks appear grey
Summary: In long list of tasks, its hard to differentiate between open and closed tasks. This adds some color in addition to the strikethrough. Hover will still be blue. I'm open to other suggestions as well if you don't think this is needed.

Test Plan: Test Unbeta Pholio

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5270
2013-03-07 08:16:13 -08:00
Anh Nhan Nguyen
b42b1f6817 'Create Document' pre-fills with current slug
Summary:
Fixes T2667

The 'Create Document' link up in the application crumbs now prefills with the slug of the current document - if available, that is

Test Plan: verified that nothing crashed, that the correct slug was pre-filled, and that pages could be created

Reviewers: alexshtuk, epriestley

CC: aran, Korvin

Maniphest Tasks: T2667

Differential Revision: https://secure.phabricator.com/D5273
2013-03-07 08:12:00 -08:00