1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-28 01:32:42 +01:00
Commit graph

4480 commits

Author SHA1 Message Date
epriestley
30b15e094c Load commits affected by revert language in Diffusion message parser
Summary:
Ref T1751. This still doesn't do anything very interesting, but loads the acutal Commit objects that a commit message claims to revert.

The only tricky thing here is that we need to interpret "reverts rnnn" or "reverts nnn" in an SVN repository as "reverts rXnnn", where "X" is the current repository. This adds a method to do allow `DiffusionCommitQuery` to do that.

Test Plan:
Used `reparse.php --message` to reparse several commits with revert language and verify they loaded the correct affected commits.

In an SVN repository, created a commit with ambiguous revert language ("reverts n", "reverts rn", "reverts n, n") and verified it identified the affected commits correctly despite ambiguity.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T1751

Differential Revision: https://secure.phabricator.com/D5842
2013-05-06 18:05:33 -07:00
epriestley
5263c2d0f3 Show prices in "$... USD" in Phortune
Summary:
Ref T2787. See discussion in D5834.

  - Replace `PhortuneUtil` with `PhortuneCurrency`, which feels a little better and more flexible / future-proof.
  - Add unit tests.
  - Display prices explicitly as "$... USD".

Test Plan: Hit product list, cart, purchase flow, verified displays.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2787

Differential Revision: https://secure.phabricator.com/D5841
2013-05-06 18:04:45 -07:00
deedydas
6eb82ebfd4 xDiffs and Revisions Generating
Summary: Ref T2903

Test Plan: Revisions and Diffs are visually being generated

Reviewers: epriestley, xask.linus

Reviewed By: epriestley

CC: AnhNhan, aran, Korvin

Maniphest Tasks: T2903

Differential Revision: https://secure.phabricator.com/D5835
2013-05-06 14:11:37 -07:00
Chad Little
54b2953dec Adds 'setSubHead' to Objectlist
Summary: There are a few places a third text row in ObjectItemListView is needed or make things easier to read. Built and rolled out in Config.

Test Plan: Tested in Config Groups.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5837
2013-05-06 14:01:57 -07:00
Bryan Cuccioli
c5692bb9bf No longer send welcome mail from a real user.
Summary: Remove lines that set from field.

Test Plan: Check that emails are sent without from field.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Differential Revision: https://secure.phabricator.com/D5845
2013-05-06 14:00:40 -07:00
deedydas
ace8ac83ef Made Changes to Mock and File generation after pushing some methods to superclass
Summary: Ref T2903

Test Plan: Generation working properly. Was broken before.

Reviewers: epriestley

CC: AnhNhan, aran, Korvin

Maniphest Tasks: T2903

Differential Revision: https://secure.phabricator.com/D5844
2013-05-06 13:32:01 -07:00
epriestley
2b2641192a Parse VCS revert langauge in commit messages
Summary:
Ref T1751. When commit messages include language like "reverts X", parse it. This change doesn't do anything with the commits yet.

I attempted to cover all "natural" VCS messages and all reasonable human variations of these messages.

Test Plan: Added unit tests. Added `var_dump()` and used `scripts/repository/reparse.php --message X` to reparse some commit messages, with expected results.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T1751

Differential Revision: https://secure.phabricator.com/D5840
2013-05-06 12:33:37 -07:00
epriestley
b51117790e Add initial cut of PayPal and pay-once-at-checkout providers to Phortune
Summary:
Paypal doesn't let us capture cards in a PCI-free way like Stripe and Balanced do, but we can provide a "pay with paypal" option at checkout. (For subscriptions, we'll have to invoice monthly to retain control over billing, but this doesn't seem wildly unreasonable.) The bitcoin provider MtGox works in a similar way, as do some other providers we might some day want to implement.

This adds:

  - Hooks to providers so they can offer "pay once at checkout" workflows.
  - Hooks so providers can have controllers, for redirect-based third-party workflows.
  - Basic Paypal integration using the "Express Checkout Merchant API", which seems like the best fit for our use case. This only goes as far as shoving the user through the payment flow; we don't actually capture payments yet (paypal has around 35 different APIs, but this one seems to be the only PCI-free one which wouldn't give users an awful experience).

This diff is fairly checkpointey, but Phortune doesn't really bill anything yet anyway. Ref T2787.

Test Plan: Ran through Paypal sandbox workflow; "paid" for stuff.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2787

Differential Revision: https://secure.phabricator.com/D5834
2013-05-06 11:44:24 -07:00
epriestley
67459092d7 Expand comments on page load only when the anchor points into them
Summary:
Ref T3099. Currently, we expand comments in Differential when //any// anchor is present. This creates a scrolling issue described in T3099. Instead, expand them only when the anchor contains `comment`.

We can go further here, but this should fix the immediate issue.

Test Plan: Viewed `/D22`, `/D22#toc`, and `/D22#comment-3`. The first two did not expand comments; the last one did.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T3099

Differential Revision: https://secure.phabricator.com/D5836
2013-05-06 11:44:15 -07:00
Afaque Hussain
f76ecd9e76 Adding Handle Suport
Summary: Added PHID_TYPE_XUSR to loadObjectsofType() of PhabricatorObjectHandle data. Was trying to solve the setActor() issue. Created a getPhabricator method in PhabricatorExternalAccount. When I try to set authorPHID using setAuthorPHID() in PhabricatorExternalAccount it's saying bad setter call, if I don't, then it's saying authorPHID can't be null. Sending you diff for comments on this.

Test Plan:
{F42523}

{F42525}

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Differential Revision: https://secure.phabricator.com/D5839
2013-05-06 11:34:48 -07:00
deedydas
16ba0275c0 Files Generating
Summary: Ref T2903

Test Plan: Files are being generating, albeit temporary.

Reviewers: epriestley, AnhNhan

Reviewed By: AnhNhan

CC: aran, Korvin, AnhNhan, chad

Maniphest Tasks: T2903

Differential Revision: https://secure.phabricator.com/D5801
2013-05-06 10:30:38 -07:00
Chad Little
c2014bb4db Increase font size on mobile action menu
Summary: Fixes T3041

Test Plan: tested on iPhone

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T3041

Differential Revision: https://secure.phabricator.com/D5838
2013-05-06 09:46:53 -07:00
Bryan Cuccioli
e7904ed59d Add advanced search ability to paste.
Summary: Partially complete advanced search (building a form that might be right).

Test Plan: Check that form appears for advanced filter.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Differential Revision: https://secure.phabricator.com/D5807
2013-05-06 07:28:49 -07:00
epriestley
c87ff2622b Apply D5832 to Phabricator
Summary: Brings the Javelin change in D5832 into Phabricator.

Test Plan: Hit a `/?&x` URI without hanging Safari.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D5833
2013-05-06 07:24:00 -07:00
James Rhodes
cb4263620b Fixing issue when running 'arc diff'
Summary:
There's a crash when `arc diff` is running it's lint / unit test
phase which describes that this function should be public instead
of private:

```Fatal error: Access level to PhabricatorPholioMockTestDataGenerator::loadPhabrictorUserPHID() must be public (as in class PhabricatorTestDataGenerator) in /srv/www/tychaia.com/phab/phabricator/src/applications/pholio/lipsum/PhabricatorPholioMockTestDataGenerator.php on line 102```

Test Plan: `arc diff` should not crash.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5828
2013-05-04 04:08:12 -07:00
Chad Little
8eb85683f0 pht for Releeph
Summary: Went and pht'd most everything I could find, except exceptions. Fixes T3091

Test Plan: Bopped around the application, didn't seem to break anything but didn't test all flows. Should be safe.

Reviewers: epriestley, edward

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T3091

Differential Revision: https://secure.phabricator.com/D5825
2013-05-03 18:33:49 -07:00
yitao
ff41013481 Support animated gif in meme
Summary:
Use imagemagick convert to first detect the number of gif frames,
then +adjoin to split them in tmpfile, then call applyMemeTo to
each frame, then convert them back.

Test Plan:
Add memes in sandbox
with both gifs and non-gifs. Note that gifs are quite slow.

CC: aran, epriestley, chad

Differential Revision: https://secure.phabricator.com/D5821
2013-05-03 16:22:48 -07:00
epriestley
16b54a6e76 Successfully Generated Mocks
Summary: Ref T2903

Test Plan: Pholio Mocks are being generated successfully.

Reviewers: epriestley

Reviewed By: epriestley

CC: AnhNhan, aran, Korvin

Maniphest Tasks: T2903

Differential Revision: https://secure.phabricator.com/D5818
2013-05-03 16:00:30 -07:00
Lauri-Henrik Jalonen
271d6605a9 Countdown revamp
Summary:
countdown_timer table named to countdown.
datepoint and related stuff renamed to epoch.
Countdowns now have phids.
Various UI items changed from timer to countdown.

Test Plan: Did run storage upgrade and added some countdowns.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Maniphest Tasks: T2624

Differential Revision: https://secure.phabricator.com/D5812
2013-05-03 15:53:36 -07:00
Lauri-Henrik Jalonen
1fa307750d Embed slowvotes have basic interaction
Summary: User can now vote through embed slowvote

Test Plan: Voted'n stuff

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, chad, AnhNhan

Maniphest Tasks: T2883

Differential Revision: https://secure.phabricator.com/D5743
2013-05-03 15:49:00 -07:00
Gareth Evans
67da5d6e4b Add Subscribe option to maniphest
Summary:
Same as //Subscribe//, //Unsubscribe// and //Automatically Subscribed// in differential.

Manually updated library map as windows is fun!

Test Plan: Subscribe, Unsubscribe!

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5809
2013-05-03 15:47:39 -07:00
deedydas
0ca15f1f3b Fixed Project Generation
Summary: Ref T2903

Test Plan: Projects still generating with @epriestley's recommendations

Reviewers: epriestley, AnhNhan

Reviewed By: AnhNhan

CC: aran, Korvin, AnhNhan

Maniphest Tasks: T2903

Differential Revision: https://secure.phabricator.com/D5800
2013-05-03 08:13:58 -07:00
Mohamed Fawzy
89747c0ea4 Return the changeset ID as part of the changeset dict
Summary:
getDiffDict method returns the JSON for the changesets in a diff
The JSON descriping a changeset didn't containt the changeset ID
in some scenarios, knowing the changeset ID is really useful for the
clients.(i.e. when you want to open a standalone view of the changeset,
    you need to know its ID)

Test Plan: existing

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5816
2013-05-03 08:13:12 -07:00
Bob Trahan
bda2c5784d Conpherence - fix no conpherences fatal
Summary: Fixes T3087. I guess I didn't load up the actual Conpherence UI last time I was in here with my 'noconpherences' user. :/

Test Plan: noconpherences user loaded /conpherence/ with no error

Reviewers: epriestley, chad

Reviewed By: chad

CC: aran, Korvin

Maniphest Tasks: T3087

Differential Revision: https://secure.phabricator.com/D5815
2013-05-02 15:23:55 -07:00
Bob Trahan
7573ad9a70 DiffusionBranchQuery => Conduit
Summary: ref T2784. This one had a few fun spots where I had to move data around. Also, is there some common object (or should I add it?) that can do this toDictionary newFromConduit stuff? Also, this assumes D5803 is largely correct at the time of this diff.

Test Plan: browsed mercurial and git repository page. saw the branches i expected.

Reviewers: epriestley

Reviewed By: epriestley

CC: chad, aran, Korvin

Maniphest Tasks: T2784

Differential Revision: https://secure.phabricator.com/D5810
2013-05-01 14:56:36 -07:00
Bob Trahan
c79d26144a Diffusion - move DiffusionExistsQuery to work over conduit
Summary: le title. However, this also "is the first" conversion so sets the precedence for how this will all work. See comments in the code. I think this helps us keep the new code we're writing to a minimum. Wondering if the conduit end point could be more generic, and rather than have a switch statement on VCS type, one can just implement the "handleSubversion" version and have that called?  Ref T2784

Test Plan: slapped an "or true" in the conditional protecting this code path. verified it worked on all 3 vcs systems, including typing in garbage and getting a 404

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2784

Differential Revision: https://secure.phabricator.com/D5803
2013-05-01 14:44:28 -07:00
Bob Trahan
ea78f920dd Conpherence - workflow the Message link on people profiles
Summary: Fixes T2416. I was tired of looking at this task in the list, interns be damned. :D

Test Plan: it is now a workflow when you click it

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2416

Differential Revision: https://secure.phabricator.com/D5811
2013-05-01 14:42:58 -07:00
epriestley
2ed29980db Make DiffusionQuery extend PhabricatorQuery
Summary: Ref T2683. Provides access to `formatWhereClause()`, etc. I plan to eventually unify the various DiffusionQuery execute methods as well, which all have special names right now (`loadModifiedPaths()`, `loadWhateverBlah()`, etc).

Test Plan: Ran EverythingImplemented test. Browsed Diffusion.

Reviewers: vrana

Reviewed By: vrana

CC: aran

Maniphest Tasks: T2683

Differential Revision: https://secure.phabricator.com/D5251
2013-04-30 10:54:02 -07:00
Bryan Cuccioli
7ad2eae47f Implement saving queries.
Summary: Enable saved query objects to actually be saved to the database.

Test Plan: Insert a call to save() and check that the query is written correctly.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Maniphest Tasks: T2625

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

Conflicts:

	src/infrastructure/storage/patch/PhabricatorBuiltinPatchList.php
2013-04-30 10:48:16 -07:00
deedydas
c7be6f4aa1 Task Generation with Transactions, Auxiliary Fields, and Projects
Summary: Ref T2903

Test Plan: Task Generation is visibly functional with additional changes.

Reviewers: epriestley

Reviewed By: epriestley

CC: AnhNhan, aran, Korvin

Maniphest Tasks: T2903

Differential Revision: https://secure.phabricator.com/D5799
2013-04-30 10:42:33 -07:00
deedydas
0ecc5dec0e Finished Project Generation
Summary: Progress on T2903

Test Plan: Projects are generating.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Maniphest Tasks: T2903

Differential Revision: https://secure.phabricator.com/D5794
2013-04-29 12:17:55 -07:00
Afaque Hussain
977ac2a8fe Highlighting the current day in calendar.
Summary:
Highlights the current day :)
I am not great in choosing colors. @chad can suggest some improvements :)

Test Plan: {F41738}

Reviewers: epriestley

Reviewed By: epriestley

CC: chad, aran, Korvin, AnhNhan

Maniphest Tasks: T2627

Differential Revision: https://secure.phabricator.com/D5790
2013-04-29 12:15:38 -07:00
deedydas
9885165fb9 Updated the CLI for smoother use
Summary: Ref T2903

Test Plan: Tested all CLI possibilities

Reviewers: epriestley, AnhNhan

Reviewed By: epriestley

CC: AnhNhan, aran, Korvin, jqh9804

Maniphest Tasks: T2903

Differential Revision: https://secure.phabricator.com/D5711
2013-04-29 12:14:54 -07:00
deedydas
1b4dde8027 Completed Paste Generation
Summary: Ref T2903

Test Plan: Pastes being generated with all types of parents, view policies, code, etc.

Reviewers: epriestley, AnhNhan

Reviewed By: epriestley

CC: AnhNhan, aran, Korvin

Maniphest Tasks: T2903

Differential Revision: https://secure.phabricator.com/D5707
2013-04-29 12:11:01 -07:00
Gareth Evans
eaa4362979 Updates to phrequent's landing page
Summary:
https://secure.phabricator.com/D5554#comment-4

Implemented the changes outlined above.

Test Plan: Go to the page, click the new nav links, try the user filter

Reviewers: epriestley, hach-que

CC: hach-que, aran, Korvin

Differential Revision: https://secure.phabricator.com/D5789
2013-04-29 12:01:02 -07:00
Zedstar
f53cde8f92 Using PhabricatorExternalAccount
Summary: Using PhabricatorExternalAccount in place maniphest.default-public-author.

Test Plan:
Using receivemail to see if the a new entry is made in the 'phabircator_user.user_externalaccount' table. Few things, I noticed that phabricator creates table 'user_externalaccout'. And now it throws up error 'Unknown column 'dateCreated' in 'field list''. Awaiting your comments.
{F41370}

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Maniphest Tasks: T1205

Differential Revision: https://secure.phabricator.com/D5747
2013-04-28 13:22:33 -07:00
Bob Trahan
09ed95583c Conpherence - fix a bug
Summary: gotta idx() on this as the user may have no conpherences at all.

Test Plan: loaded up my 'noconpherences' user and observed no errors in the error log. my normal test user still worked okay too.

Reviewers: epriestley, garoevans

Reviewed By: garoevans

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5791
2013-04-28 11:00:43 -07:00
Bob Trahan
11cb2f4f6c Conpherence - paginate thread list
Summary: this is D5750 but just the conpherence part. fixes a few random conpherence bugs / quirks as well. Also messes with ApplicationTransactionEditor to expose the xactions so Conpherence doesn't over-update participation rows. Fixes T2429.

Test Plan: set LIMIT to 3. verified I could scroll down all conpherences. next, picked a conpherence "in the middle" to load. verified I could page up and down. next, picked a conpherence in the middle then had another user update that conpherence. verified as I paged up the conpherence re-loaded properly selected

Reviewers: epriestley

Reviewed By: epriestley

CC: chad, aran, Korvin, vrana

Maniphest Tasks: T2429

Differential Revision: https://secure.phabricator.com/D5783
2013-04-26 10:30:41 -07:00
epriestley
664fe7ef73 Add a User-Agent header to OAuth requests
Summary: GitHub now requires this: http://developer.github.com/changes/2013-04-24-user-agent-required/

Test Plan: Used GitHub auth to login.

Reviewers: btrahan, chad

Reviewed By: chad

CC: aran

Differential Revision: https://secure.phabricator.com/D5787
2013-04-26 07:52:58 -07:00
epriestley
614dcbb2d9 Flip strings for 'metamta.differential.unified-comment-context' config
Summary: These should be in (true, false) order, not (false, true) order. This was a transcritpion error in porting the config over.

Test Plan: Edited config from the web, verified the labels matched the underlying values.

Reviewers: tberman, btrahan

Reviewed By: tberman

CC: aran

Differential Revision: https://secure.phabricator.com/D5786
2013-04-26 06:19:07 -07:00
Jakub Vrana
0c85a8de87 Display bullet next to request with errors in DarkConsole.
Summary:
I always put a `phlog()` somewhere or something fails and I have hard times figuring out which request it was.

Also fix safe HTML in panel.

Test Plan: Looked at DarkConsole with error on main page, AJAX request and both.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5784
2013-04-25 18:30:13 -07:00
Jakub Vrana
889958e876 Invert italics in emphasized Remarkup blockquote
Test Plan:
  lang=remarkup
  > a //b//

Reviewers: chad, epriestley

Reviewed By: epriestley

CC: aran, epriestley

Differential Revision: https://secure.phabricator.com/D5782
2013-04-25 12:51:15 -07:00
epriestley
00dec3f5ea Make public feed show all stories, using the omnipotent user
Auditors: chad
2013-04-25 11:07:15 -07:00
epriestley
f30f0b30f8 Allow PhortuneTestProvider to add payment methods
Summary: Provide a bare implementation so that you can add PhortuneTestProvider as a payment method. Ref 2787.

Test Plan: Added "cards" through the test provider.

Reviewers: btrahan, chad

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2787

Differential Revision: https://secure.phabricator.com/D5772
2013-04-25 09:50:08 -07:00
epriestley
7a5f622820 General cleanup for adding payment methods in Phortune
Summary:
This has no real behavioral changes (except better error handling), it just factors things out to be a bit cleaner. In particular:

  - Move more shared form behaviors into the common JS form component.
  - Move more error handling into shared pathways.
  - Make the specialized Stripe / Balanced methods do less work.

This needs some more polish for nontrival errors (especially on the Balanced side) but none of the error behavior is worse than it was and a lot of it is much better.

Ref T2787.

Test Plan: Hit all invalid form errors, added valid payment methods with Stripe and Balacned.

Reviewers: btrahan, chad

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2787

Differential Revision: https://secure.phabricator.com/D5771
2013-04-25 09:49:32 -07:00
epriestley
6efba56448 Implement Balanced Payments as a PhortunePaymentProvider
Summary:
Allows Balanced payment methods to be added. This works essentially the same way as Stripe, except everything is a little bit different.

Slightly more stuff could be shared, but I feel //mostly// good about this. I'll probably do a bit more cleanup next. Some of the error handling is messy, in particular.

Ref T2787.

Test Plan: Added Balanced and Stripe payment methods.

Reviewers: btrahan, chad

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2787

Differential Revision: https://secure.phabricator.com/D5765
2013-04-25 09:48:04 -07:00
epriestley
a8bc87578e Clean up rendering of credit card form
Summary:
General cleanup and separation into generic vs Stripe blocks of code.

  - There was an old CC form view for Stripe stuff that I never cleaned up; clean that up.
  - Move non-Stripe CC form rendering into a base class (Balanced can reuse it).
  - Move non-Stripe CC form JS into a shareable class.
  - Simplify JS a bit (JX.Workflow can add extra parameters to a request, so we don't need hidden inputs).
  - Genericize CSS.
  - Depend on Stripe JS directly, if they're down we're not going to be able to add cards anyway.

Ref T2787.

Test Plan: Hit all Stripe errors and added new cards.

Reviewers: btrahan, chad

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2787

Differential Revision: https://secure.phabricator.com/D5758
2013-04-25 09:46:59 -07:00
epriestley
9c43029277 Genericize "Add Payment Method" form
Summary:
Ref T2787. For payment methods that allow you to add a billable method (i.e., a credit card), move all the logic into the provider. In particular:

  - Providers may (Stripe, Balanced) or may not (Paypal, MtGox) allow you to add rebillable payment methods. Providers which don't allow rebillable methods will appear at checkout instead and we'll just invoice you every month if you don't use a rebillable method.
  - Providers which permit creation of rebillable methods handle their own data entry, since this will be per-provider.
  - "Add Payment Method" now prompts you to choose a provider. This is super ugly and barely-usable for the moment. When there's only one choice, we'll auto-select it in the future.

Test Plan: Added new Stripe payment methods; hit all the Stripe errors.

Reviewers: btrahan, chad

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2787

Differential Revision: https://secure.phabricator.com/D5756
2013-04-25 09:46:32 -07:00
epriestley
f790a2aeec Add basic payment providers to Phortune
Summary: Abstract out the Stripiness of payment providers so we can add a Test provider (and maybe MtGox / Balanced / Paypal / etc). Ref T2787.

Test Plan: Ran unit tests.

Reviewers: btrahan, chad

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2787

Differential Revision: https://secure.phabricator.com/D5752
2013-04-25 09:45:43 -07:00
epriestley
2b5c0c4b3b Add "Carts" to Phortune
Summary: Although I imagine we aren't really going to have an "add to cart" type storefront, putting this in place makes a lot of other workflows simpler. No storage yet, just allows reasonable construction of a "buy stuff" page.

Test Plan: {F41342}

Reviewers: chad, btrahan

Reviewed By: chad

CC: aran

Maniphest Tasks: T2787

Differential Revision: https://secure.phabricator.com/D5745
2013-04-25 09:45:07 -07:00
epriestley
897274eed6 Add a class to the Tokenizer container while it is focused
Summary: For some evil design purpose.

Test Plan: Focused, blurred tokenizers.

Reviewers: chad

Reviewed By: chad

CC: aran

Differential Revision: https://secure.phabricator.com/D5780
2013-04-25 08:51:27 -07:00
deedydas
1e2f01efc2 Fixed Task Generation
Summary: Ref T2903

Test Plan: Successfully generated tasks with authors and owners.

Reviewers: epriestley, AnhNhan

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan, chad

Maniphest Tasks: T2903

Differential Revision: https://secure.phabricator.com/D5704
2013-04-24 18:17:31 -07:00
Jakub Vrana
f302751a23 Don't report zero grep results as error
Test Plan: Grepped for non-existing string.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5776
2013-04-24 17:10:39 -07:00
Jakub Vrana
1c507f14af Support Mercurial commands on Windows
Test Plan: Grepped Hg repo.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5774
2013-04-24 17:09:19 -07:00
Chad Little
76ec31cebf Feed Story UI Examples.
Summary: This provides some new display methods and examples to PHUIFeedStory.

Test Plan: Tested UIExamples Page, mobile layouts, and existing Feed Pages (feed, profile, etc). I want to add a bit more but am stopping here since it's not a priority.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5749
2013-04-24 15:18:58 -07:00
Afaque Hussain
3f7ae27b58 Sql Patch to update the user_externalaccount table.
Summary: Sql Patch to rename the externalaccount table to user_externalaccount and to add dateCreated, dateModified fields to the updated table.

Test Plan: {F41442}

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Differential Revision: https://secure.phabricator.com/D5770
2013-04-24 15:14:26 -07:00
Jakub Vrana
fe36c28f42 Define background for table header
Summary: It looks bad before the background image loads.

Test Plan: Looked at table header.

Reviewers: chad

Reviewed By: chad

CC: aran, epriestley

Differential Revision: https://secure.phabricator.com/D5777
2013-04-24 12:20:27 -07:00
slawekbiel
9ccb3068f8 [conduit: query owners packages by repository]
Summary:
There wasn't an easy way to see all the packages that cover a particular
directory. This adds the option

This is useful to see what's covered within a repo.

Test Plan:
* Queried with a valid repository and path - got the results
as before.
* Queried with a repository and no path - got an error as before.
* Queried with a repository and an asterix as the path - got all the
packages within the repository.

Revert Plan: sure

Other Notes:

Reviewers: epriestley, edward

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T3016

Differential Revision: https://secure.phabricator.com/D5763
2013-04-24 06:07:26 -07:00
Jakub Vrana
3bfad75764 Put JX.phtize in package 2013-04-23 17:58:56 -07:00
Chad Little
482be727ab Adds a background color for the body
Summary: Less jarring if the background image doesn't load.

Test Plan: reload page, test without background-image

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5769
2013-04-23 13:03:45 -07:00
epriestley
0db56ed37d Rebuild the Celerity map, which ended up in a bad state after after the
application/core stuff.
2013-04-23 11:32:24 -07:00
Jakub Vrana
eff3089650 Allow searching in repositories
Summary: We may later integrate it in the global search but I want to leave it here too for the case that you want to search just some repository or some part of it.

Test Plan: Browsed repo in SVN and Git, searched in Git.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, chad

Differential Revision: https://secure.phabricator.com/D5738
2013-04-23 11:12:02 -07:00
Jakub Vrana
6a0ac6b532 Translate differential-dropdown-menus
Summary: This is a simpler version of D5649.

Test Plan: Switched to ALL CAPS translation and clicked View Options.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1139

Differential Revision: https://secure.phabricator.com/D5759
2013-04-23 11:09:23 -07:00
Jakub Vrana
a265e10c42 Move js/application/core/ one level up
Test Plan: Pressed `?` on homepage.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5761
2013-04-23 10:56:46 -07:00
Jakub Vrana
141233565a Fix whitespace around methods 2013-04-23 09:42:35 -07:00
Jakub Vrana
4767068ab7 Improve page title in Diffusion history
Test Plan: Looked at it.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5748
2013-04-22 20:11:52 -07:00
Chad Little
50ba02b38d Leafy
Summary: Yummy greens

Test Plan: Celerity

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5755
2013-04-22 16:43:29 -07:00
Chad Little
5c100c0d69 Payment sprite icons.
Summary: Adds some icons for taking money.

Test Plan: UIExamples

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5753
2013-04-22 16:41:00 -07:00
Chad Little
8872d5b6d1 PHUI Text View
Summary: Adds basic colors and text styles for shorthand use.

Test Plan: UIExamples

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5751
2013-04-22 14:28:23 -07:00
Chad Little
00a1102e6e Add up, down, and token action icons.
Summary: Will use these in feed, other places.

Test Plan: Photoshop, uiexamples.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5746
2013-04-22 11:21:00 -07:00
Chad Little
fdde45c623 Make PHUIIconView extend AprontTagView
Summary: Less code, more options.

Test Plan: Test UIExamples page (action headers, tokens, icons and images). No visible difference.

Reviewers: epriestley, btrahan, vrana

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5742
2013-04-22 09:49:06 -07:00
Jakub Vrana
e8dd67b88c Properly escape inline <script>
Test Plan:
Loaded Phabricator page, checked the source code. Also:

    $c_uri = '//connect.facebook.net/en_US/all.js#xfbml=1&appId=';
    echo CelerityStaticResourceResponse::renderInlineScript(
      jsprintf(
        'console.log(%s); // </script>
        %s',
        $c_uri,
        "</script><b>x</b>"));

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5741
2013-04-20 17:55:47 -07:00
Jakub Vrana
b216dc9c2c Document where Arcanist configuration can be set
Test Plan: Read it.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5732
2013-04-20 11:44:29 -07:00
epriestley
e5af167ec9 Cleanup chaos/order modes for Firefox
Summary:
  - Moves z-index rules to z-index CSS.
  - Fixes Order mode in Firefox with JS. ;_;

Test Plan: Used Order mode in FF, Safari, Chrome.

Reviewers: AnhNhan, chad, btrahan

Reviewed By: chad

CC: aran

Differential Revision: https://secure.phabricator.com/D5740
2013-04-20 07:53:04 -07:00
epriestley
2fc17489a8 Contain the chaos
Auditors: vrana
2013-04-20 07:03:14 -07:00
Jakub Vrana
6a5807eba4 Link external bug trackers
Summary: Fixes T2971.

Test Plan:
/rG1.
Set regexp to one line and URL, then /rG1.
Set regexp to two lines, then /rG1.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2971

Differential Revision: https://secure.phabricator.com/D5676
2013-04-19 21:56:13 -07:00
epriestley
e6720bd6d6 Implement order and chaos modes for Remarkup editing
Summary:
Ref T2599.

Implements an "order" mode which fullscreens the editor and reduces distractions, similar to Asana's "focus" mode and GitHub's "zen" mode. This can help users who need fewer distractions get work done.

Implements a "chaos" mode which does the opposite. This can help users who need more distractions to get work done.

Test Plan: Clicked "order" and "chaos" buttons.

Reviewers: chad, btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2599

Differential Revision: https://secure.phabricator.com/D5735
2013-04-19 19:50:21 -07:00
Chad Little
f4ab0da50a New remarkup icons
Summary: serious and non-serious full screen icons.

Test Plan: photoshop, doinitlive

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5737
2013-04-19 19:08:59 -07:00
Chad Little
7aea37c443 PHUIIconView
Summary: Adds a base class for displaying images and icons.

Test Plan: Tested giving and taking tokens, viewed action headers, uiexamples for icons, workboards.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5736
2013-04-19 17:44:20 -07:00
Afaque Hussain
dc6cfe6e01 Created PhabricatorExternalAccount Class and Sql patch to create an external_account table.
Summary: Created PhabricatorExternalAccount class with only data members. Will discuss with you regarding the necessary functions to be implemented in this class. Sql Patch to create a new table for external_accounts. Will I have to write unit tests the new storage object? Sending you this diff so that you can comment on this to further improve :).

Test Plan: {F40977}

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Maniphest Tasks: T1536, T1205

Differential Revision: https://secure.phabricator.com/D5724
2013-04-19 11:40:24 -07:00
Bryan Cuccioli
0f0c2a6f9e Partially refactor paste search.
Summary: Move some search code from the paste application to the search infrastructure.

Test Plan: Check paste searches still work.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Maniphest Tasks: T2625

Differential Revision: https://secure.phabricator.com/D5734
2013-04-19 08:51:37 -07:00
Jakub Vrana
725373386a Pull only existing authorPHIDs in blame
Summary:
I've hit this error by exhausting memory limit on blaming a big file with lots of unknown authors.
It triggered the error ~1000 times with stack trace containing the whole ~100 kB file.
The memory ran out when it tried to JSON serialize the stack traces for the DarkConsole.

Test Plan: Blamed file with unknown authors.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5730
2013-04-18 20:20:43 -07:00
Bob Trahan
d2874a96b8 DERP 2 with my last diff - shouldn't have pulled this outside the conditional 2013-04-18 17:22:05 -07:00
Bob Trahan
3b4ca71d47 DERP - left this constant at 2 as I was testing... 2013-04-18 16:56:38 -07:00
Bob Trahan
68d1441b42 Conpherence -- finish off the "show older" functionality
Summary: Fixes T2956. Ref T2399.

Test Plan: set message limit to 2 and verified "show older" showed up, and that clicking it again and again and again showed the right stuff, ultimately not showing a "show older" UI anymore.

Reviewers: epriestley, chad

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2399, T2956

Differential Revision: https://secure.phabricator.com/D5721
2013-04-18 16:54:06 -07:00
Chad Little
1406051208 Fix list item heirarchy in Phriction ToC.
Summary: Unintential breakage

Test Plan: Make many lists in phriction. Fixes T3018

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5729
2013-04-18 14:51:01 -07:00
Anh Nhan Nguyen
7924e67287 Making DifferentialListController more mobile-friendly
Summary:
We now have the app menu top-right, so we don't need the side navbar anymore

Refs T2014

Test Plan: Visited list view in narrow / wide browser. Could access everything either directly (tables :P) or the top right menus

Reviewers: epriestley, chad

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2014

Differential Revision: https://secure.phabricator.com/D5728
2013-04-18 12:11:03 -07:00
Anh Nhan Nguyen
d4938c349b Applying (user )?monospace font to remarkup code blocks
Summary:
I feel that remarkup code blocks are still kind of small. This should help with my reading problems. Hesitating to add `.PhabricatorMonospaced` to the remarkup rule, since it's pretty specific to Phabricator.

Pasting in the diff btw, since my `arc`'s going crazy (doubt that's `arc.exe`, since it's not landed yet).

Test Plan:
Set font to something large. viewed code block. Was not large.

Applied change. Viewed code block again. It was //**HUGE**//!

Also verified that the `init.js` was still there. I think that's the one being inserted `$5`.

Reviewers: epriestley, chad

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5727
2013-04-18 11:50:59 -07:00
Chad Little
663612fdb4 PHUIBoxView
Summary: Adds a basic div box that takes some styles. Not sure this is the best approach for the spacing, but overall hoping people can spend less time in CSS and just use this class.

Test Plan: UIExamples

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Differential Revision: https://secure.phabricator.com/D5723
2013-04-18 11:34:02 -07:00
Chad Little
5bc684ad36 Fix Ponder missing menu items.
Summary: Not sure what happened here, maybe crumbs got clobbered.

Test Plan: Tested 'Ask Question' on all pages. Tested mobile.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5725
2013-04-17 15:02:32 -07:00
Bob Trahan
9d5fc041f6 Conpherence - fix some text to use "Message"
Summary: nice title

Test Plan: looks good, still loads

Reviewers: epriestley, chad

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5718
2013-04-16 14:56:30 -07:00
Jakub Vrana
ed02823eaf Condense renames in Differential ToC
Summary: It's currently quite confusing.

Test Plan:
  lang=diff
  diff --git a/bin/config b/bin/x
  similarity index 100%
  rename from bin/config
  rename to bin/x
  diff --git a/bin/aphlict b/bin/y/aphlict
  similarity index 100%
  rename from bin/aphlict
  rename to bin/y/aphlict
  diff --git a/bin/diviner b/scripts/z
  similarity index 100%
  rename from bin/diviner
  rename to scripts/z

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Differential Revision: https://secure.phabricator.com/D5708
2013-04-16 11:02:04 -07:00
Jakub Vrana
ef3d1150fc Don't fatal with error in transaction diff
Test Plan: /config/edit/metamta.mail-adapter/

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5679
2013-04-16 08:41:36 -07:00
Afaque Hussain
1e4162f81b Changed PhabricatorMetaMTAReceiveController to accept email addresses as input along with objects.
Summary: Similar to title. I tried to test as specified. I thought I had to configure inbound and outbound mail. I had installed lamson too :O. when it started to become complicated I asked you :P. Please have a look at the code and let me know where I am going wrong or have understood correctly or not :)

Test Plan: Send an email using /mail/recieve/ form to an email id pointed to by maniphest.public-create-email and see if creates a maniphest task.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Maniphest Tasks: T1205

Differential Revision: https://secure.phabricator.com/D5681
2013-04-16 08:36:34 -07:00
Jakub Vrana
a9099912bb Handle SVN root changes correctly
Summary: If there is a change in SVN root (perhaps properties change) then we try to list its parent (which doesn't exist) and mark the root itself as deleted.

Test Plan: Parsed SVN commit with property change of root.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5709
2013-04-16 08:28:38 -07:00
epriestley
de9b00b8be Add a basic random image generator
Summary: Adds an abstract base class for random image generation. Implements a concrete subclass for generating Mondrian-like images.

Test Plan:
{F40759}
{F40760}
{F40761}
{F40762}
{F40763}

Reviewers: DeedyDas, AnhNhan

Reviewed By: AnhNhan

CC: chad, aran

Differential Revision: https://secure.phabricator.com/D5705
2013-04-16 08:19:45 -07:00
Lauri-Henrik Jalonen
5943ae4670 v0 embedding slowvotes
Summary: Slowvotes can now be embed using {V*} syntax. Nothing fancy there yet.

Test Plan: {F40842}

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, chad

Maniphest Tasks: T2883

Differential Revision: https://secure.phabricator.com/D5713
2013-04-16 08:19:04 -07:00
Bob Trahan
42c1e39ae6 Conpherence - mobilized
Summary:
makes conpherence switch to a liquid layout once we go from desktop -> less than that. When we make the switch conpherence updates to show a few more "Widgets" -- the list of conpherences and the current conversation -- and the switcher starts working. As you transition from device to device you are automagically forced to have the "conversation" widget toggled on initial change to smaller than desktop and then file widget once you get back to desktop.

Generally looks good when I make my browser small. Does not look as good on iOS simulator - in particular there seems to be a weird visual artifact on the "add people" widget that is present in all tokenizers, and the pontificate UI on mobile could use some work. ref T2399.

Test Plan: played in Safari, FF, Chrome and iOS Simulator. The first 3 were all pretty spiffy, and otherwise iOS add people widget was a bit ugly.

Reviewers: epriestley, chad

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Maniphest Tasks: T2399

Differential Revision: https://secure.phabricator.com/D5674
2013-04-15 16:27:41 -07:00
Chad Little
bcbdb44e2f Fix long URLs on mobile chatlog
Summary: Really long words or URLs from IRC break mobile layout, so this breaks the word if it hits the edge of the screen.

Test Plan: Duderpooooooooooooooooooooooooooooooooooooooooo

Reviewers: epriestley, btrahan

Reviewed By: btrahan

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5703
2013-04-15 15:54:15 -07:00
Chad Little
c301b049d8 Add dust, remove header on Applications
Summary: Minor, for consistency

Test Plan: Tested Chrome and iOS

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5702
2013-04-15 15:22:43 -07:00
Chad Little
73d006a588 Missed updated resources.
Summary: arc liberate, leefy-greens

Test Plan: reload

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5701
2013-04-15 15:09:50 -07:00
Chad Little
6e86a04ab1 Update feed on projects, profile.
Summary: Does a few things, standardizes feed a bit more on people, projects. Cleans up Project pages to be more dashboard like. Adds usable mobile support. Remove extenal public feed styles. The Project pages won't win any design awards, but they are much more usable and responsive (mobile). I assume the default view to be workboard still at some point.

Test Plan: Test out Profile, Project Profile, Public Feed, normal Feed. Mobile and Chrome.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5700
2013-04-15 13:07:54 -07:00
Juan Pablo Civile
141228343c Fix error in D5634
Summary:
The original code seemed to assume the last level of edges was the destination edge, when it was an array under the destination edge key.
Using `array_keys` fixes the crashes that resulted when commits had tasks, projects or revisions attached.

Test Plan: Open up a commit with a revision attached.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, vrana

Differential Revision: https://secure.phabricator.com/D5698
2013-04-15 08:42:02 -07:00
Anh Nhan Nguyen
bd350abbe9 Probably added app menu for mobile
Summary:
Messy POC. I hope I did this one right :P

Refs T2014

Test Plan: Switched browser forcefully into `device-phone`, saw filters in the menu top right. Browsed around Differential in desktop mode, nothing was broken, I think.

Reviewers: epriestley, chad, btrahan

CC: aran, Korvin

Maniphest Tasks: T2014

Differential Revision: https://secure.phabricator.com/D5693
2013-04-15 06:52:29 -07:00
Anh Nhan Nguyen
cf4ff8318e Adding an own application for search
Summary:
Refs T2989

Renamed file

Libery

Test Plan: Nothing broken, that's always a good sign.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2989

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

Conflicts:

	src/__phutil_library_map__.php
2013-04-15 06:44:03 -07:00
Anh Nhan Nguyen
6efe8d4a9d Greyed out some icons, removed colors from Phriction updates
Summary:
@chad The colors were indeed terrible. Why didn't you tell me

Also greyed out diff icons when no diff available. Makes it more clear that you can't click it on mobile.

Test Plan: Saw it on mobile and desktop.

Reviewers: epriestley, chad

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5694
2013-04-15 05:17:48 -07:00
Chad Little
4c2a87f208 PHUIFeedStoryView, Update Profile
Summary: This moves Feed's rendering over to a PHUI class. I want to build it out and have it power Ponder, Phame, Feed, as well as Profiles and Projects in some fashion. It also provides some more data depth over ObjectItemView. Also updated Profile for mobile and fixed some other display issues there.

Test Plan: Tested Feed, Profile. Used iOS and Chrome.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Differential Revision: https://secure.phabricator.com/D5687
2013-04-14 19:32:26 -07:00
deedydas
5107cc908e Successfully Generated People
Summary: Ref T2903

Test Plan: Added new person whose profile was visible afterwards.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan, btrahan

Maniphest Tasks: T2903

Differential Revision: https://secure.phabricator.com/D5682
2013-04-14 19:10:34 -07:00
Chad Little
8ea5c8c74e Modernize Phame
Summary: Adds crumbs, mobile layouts, mobile navs, phts

Test Plan: Tested Phame in iOS and Chrome

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5684
2013-04-14 08:02:29 -07:00
Bryan Cuccioli
1b4f03b5a8 Move paste search to generic search.
Summary: Begin implementing generic application search and refactoring paste search.

Test Plan: See if the paste search still works.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5621
2013-04-14 06:54:29 -07:00
Jakub Vrana
a1664d4c64 Mark customized config values in Current Settings
Test Plan: /config/all/

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5677
2013-04-13 09:31:24 -07:00
Chad Little
6229b7bd88 Refresh Feed Design
Summary: Refreshes feed's design a bit, adds app icons, works nicer on mobile.

Test Plan: Tested many feed stories, not sure I got them all, but seems fine.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5673
2013-04-13 09:09:42 -07:00
Chad Little
4bbebc06cf Touch up Chatlog Design / Mobile
Summary: Updated Chatlog to work on mobile, minor style updates.

Test Plan: Tested mobile, Chrome.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5675
2013-04-13 07:50:34 -07:00
epriestley
dd4d8067f1 Add wait for setup issue fallback disk cache
Summary: See D5657. Also cleans up the namespacing stuff a little bit.

Test Plan: Disabled APC and verified that setup checks didn't run normally, but did run after restart and on `/config/issue/`.

Reviewers: vrana

Reviewed By: vrana

CC: aran

Differential Revision: https://secure.phabricator.com/D5658
2013-04-13 07:09:32 -07:00
Jakub Vrana
e31e998f3b Convert differential.revisionPHID commit detail to edge
Summary: Migration doesn't delete differential.revisionPHID but maybe it should?

Test Plan: Reparsed commit, ran the migration, deleted differential.revisionPHID, looked at task with attached commit with attached revision.

Reviewers: epriestley, edward

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Differential Revision: https://secure.phabricator.com/D5634
2013-04-12 22:48:16 -07:00
deedydas
4fb1a9e00f First Diff of Test Data Generator
Summary: Progress to fix T2903

Test Plan: Ran './bin/lipsum help' and 'generate' workflows.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2903

Differential Revision: https://secure.phabricator.com/D5672
2013-04-12 14:07:16 -07:00
epriestley
1e6deff8ba Don't use deprected "1" value to cURL CURLOPT_SSL_VERIFYHOST
Summary: Fixes T2962. That task discusses this issue.

Test Plan: Read php-curl documentation to verify this change makes sense. Sent an email with SES.

Reviewers: btrahan, garoevans

Reviewed By: garoevans

CC: aran

Maniphest Tasks: T2962

Differential Revision: https://secure.phabricator.com/D5669
2013-04-12 08:10:22 -07:00
Bob Trahan
649f5cc178 Phame - fix some issues with feed reported on github (290, 291)
Summary: we need a link with type=self to pass xml validation. Note we will always fail validation until we remove any sigil-related stuff from the resultant HTML since we just made that up for our purposes. Also serves up the feed link on the blog view controller, complete with tooltip about how the custom domain stuff isn't supported.

Test Plan: viewed a blog page and liked the feed uri property. viewed a feed and verified the new link self stuff. post push I'll try the validator again.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, vrana

Differential Revision: https://secure.phabricator.com/D5667
2013-04-11 16:10:09 -07:00
Chad Little
7b9b872b29 Phriction Redesign
Summary: This is mostly minor, but visually it makes the wiki feel more 'page like' and better separates the actual content from other data displayed.

Test Plan: Tested Chrome, iPhone, and iPad.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Maniphest Tasks: T2686

Differential Revision: https://secure.phabricator.com/D5366
2013-04-11 15:05:50 -07:00
James Rhodes
8ba593b3f3 Implemented support for different export formats.
Summary:
This adds support for different export formats to Excel
via a drop-down on the Export page as per the discussion
in D5443.

Test Plan:
Export some things from Maniphest.  Do a simple implementation
of ManiphestExcelFormat just for testing and make sure that
it appears in the list after you run `arc liberate`.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2575

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

Conflicts:

	src/applications/maniphest/controller/ManiphestExportController.php
2013-04-11 11:27:36 -07:00
epriestley
bdef566f2e Fix Excel export of date columns
Summary:
In D4567, I made column formatting more strict, but possibly too strict. @anjali reports date columns showing internal Excel date formats ("42391.2292", etc).

@jack, if you have a chance, can you apply this and verify the behavior with @anjali? Repro steps should be:

  - View any tasks in Maniphest.
  - Click "Export to Excel".
  - Open document in Excel.
  - Date column should show dates, not integers around 42,000.

Otherwise I'll test this locally, I just need to rebuild some dependencies first which is a bit involved.

Test Plan: None yet.

Reviewers: jack, btrahan

Reviewed By: btrahan

CC: anjali, aran

Differential Revision: https://secure.phabricator.com/D5467
2013-04-11 11:20:30 -07:00
Chad Little
7899068cec Minor Conpherence CSS tweaks
Summary:
- Elastic scrolling in message view
- Form now 100% wide in mobile

Test Plan: Mobile iOS, Chrome

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5665
2013-04-11 11:04:25 -07:00
epriestley
95f57756aa Move all external JS into webroot/rsrc/externals
Summary:
Currently, Celerity map rebuilds on Windows don't put Stripe or Raphael into the map. Move them into `webroot/rsrc/externals/` so they get picked up.

At some point we should maybe let the mapper load resources from mulitple locations, but this is more straightforward for now.

See https://github.com/facebook/phabricator/issues/294

Test Plan: Rebuilt map, verified Burnup Rate + Stripe work.

Reviewers: vrana, btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D5661
2013-04-11 10:06:05 -07:00
epriestley
985a85ec72 Show diffs of removed and propchanged files in Mercurial correctly
Summary:
By default, `hg log -- x` does not show commits which remove the file `x`, nor commits which only change properties on `x`. By passing the flag `--removed`, commits which remove or just change properties are shown. We expect these commits to be shown in callers (this is the default behavior in Git).

Fixes T2608.

Test Plan: Created commits which remove a file and change properties on a file. Verified `hg log --removed -- x` reported them correctly, and Diffusion showed them correctly.

Reviewers: btrahan, DurhamGoode

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2608

Differential Revision: https://secure.phabricator.com/D5656
2013-04-11 10:05:55 -07:00
Anh Nhan Nguyen
1e1c99c97b Restored title for object handles
Summary: I shouldn't delete code because it has no call-sites :P

Test Plan: Set my status to away, verified I got a hover title (no card).

Reviewers: vrana, epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5662
2013-04-11 08:15:31 -07:00
epriestley
5ea0873275 Rebuild celerity map
There's an underlying issue here with symlinks + Windows, I think.
2013-04-11 06:32:41 -07:00
deedydas
d028790dd7 Close all DB connections when Daemons sleep
Summary: Fixes T2933

Test Plan:
As guided by Evan - by setting $tasks = array(); in PhabricatorTaskmasterDaemon.php
and running 'phd debug taskmaster' and 'show full processlist' on mysql as root. No extra connections
detected.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2933

Differential Revision: https://secure.phabricator.com/D5654
2013-04-10 14:52:29 -07:00
epriestley
9bbce8de42 Fix some beta/install Application issues
Summary:
Currently, we give you an "Install" button for Beta apps even when "phabricator.show-beta-applications" is disabled. This is unclear.

Instead, disable the button and tell the user about the config when it is clicked.

Arguably, we should restructure this so you can selectively install "Beta" apps without setting the config, but almost all the beta apps are terrible so just make things consistent for now.

Test Plan: Tried to install a beta app without beta apps enabled.

Reviewers: btrahan, chad

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D5652
2013-04-10 14:52:20 -07:00
epriestley
9087e4805e Note that arc land supports Mercurial in arc docs
Summary: Also mentioned a few other features which have come into existence since this was last updated. Ref T2922.

Test Plan: Proofread.

Reviewers: DurhamGoode, btrahan

Reviewed By: btrahan

CC: adityar7, aran

Maniphest Tasks: T2922

Differential Revision: https://secure.phabricator.com/D5628
2013-04-10 14:08:55 -07:00
Chad Little
c51f45fbcd Add actions to mobile crumbs
Summary: Adds in the ActionList into Crumbs for mobile on many applications.

Test Plan: Tested each application except probably drydock since not sure how to test that. Also cleaned up Ponder a little.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5648
2013-04-10 13:08:36 -07:00
deedydas
0b1410b1d7 Fixed T2630
Summary: Fixes T2630

Test Plan: Did not test yet.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2630

Differential Revision: https://secure.phabricator.com/D5456
2013-04-10 13:11:22 -07:00
deedydas
1df4357251 Meme Documentation
Summary: Fixes T2396

Test Plan: Copied changes into Remarkup to ensure correct formatting

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2396

Differential Revision: https://secure.phabricator.com/D5650
2013-04-10 13:09:36 -07:00
Bob Trahan
8ede9dc061 Conpherence - continue the load less quest
Summary: basically makes it so we only really load what we need from the server for any particular update action. the javascript thus then has some things deleted from it. made a spot or two ready for when the pertinent UI won't be there as well. also added a feature in javascript -- updating the document title to the current conpherence title.  Ref T2867 T2399

Test Plan: played with conpherence for quite a bit.

Reviewers: epriestley, chad

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2867

Differential Revision: https://secure.phabricator.com/D5625
2013-04-10 11:37:04 -07:00
Jakub Vrana
7e93e9fbe9 Trigger hovercards on mousemove
Summary:
I often scroll with keyboard with cursor being somewhere on the screen.
Popping hovercards under the cursor is quite distracting.

Test Plan:
It works like I want in Firefox.
There's surprisingly no flickering even though I expected some.
It works like before in Chrome, perhaps it sends mousemove events anyway?

Reviewers: AnhNhan, epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5632
2013-04-10 09:38:46 -07:00
Chad Little
925c507705 Close icons
Summary: Icons for close or delete in action headers

Test Plan: photoshop, diffcamp

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5643
2013-04-10 07:26:15 -07:00
Jakub Vrana
c48bb5494a Add setup check for missing SQL patches
Test Plan: Saw the warning, upgraded storage, didn't see it.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5618
2013-04-09 21:37:20 -07:00
Jakub Vrana
677f4ae83f Remember active tab in DarkConsole
Summary: If I select a tab in DarkConsole and then select another request then the tab is forgotten.

Test Plan: Select tab, switch request, see the same tab.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5633
2013-04-09 21:36:26 -07:00
Chad Little
8bf3ee4f65 Move Aphront bars and notes out of 'core'
Summary: Don't seem to be core

Test Plan: Reran celerity

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5641
2013-04-09 20:39:54 -07:00
Chad Little
b8ea6c441f Allow AphrontDialogView to use PhabricatorActionHeaderView
Summary: We're baking some useful things into ActionHeader, would like to consolidate it's use around the site for consistency.

Test Plan: Tested log out dialog, attach dependencies, delete document in phriction.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin, AnhNhan

Differential Revision: https://secure.phabricator.com/D5635
2013-04-09 15:50:48 -07:00
Chad Little
e187312177 Action Menu (mobile)
Summary: First pass here, still needs some UI work (maybe? tablets?). Getting it out to see if implementation is corrrect.

Test Plan: Shrink Maniphest task on Chrome, see new UI. Toggle menu. Test on iOS.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5631
2013-04-09 12:42:03 -07:00
epriestley
46c7b46516 Move hovercard z-index up
Summary: Fixes T2912. I put this above dialogs but below tooltips, which I think is the right place.

Test Plan: {F39797}

Reviewers: chad, AnhNhan, edward

Reviewed By: chad

CC: aran

Maniphest Tasks: T2912

Differential Revision: https://secure.phabricator.com/D5629
2013-04-09 11:17:46 -07:00
Chad Little
57f8527886 Fix IE dust.
Summary: Silly IE.

Test Plan: IE, Chrome

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5626
2013-04-09 09:48:46 -07:00
Afaque Hussain
a78b02e193 Placed Radio buttons for Home Page Preferences Settings
Summary: Replaced AphrontFormSelectControl in PhabricatorSettingsPanelHomePreferences with AphrontFormRadioButtonControl :).

Test Plan: By checking out Home page prefreces setting and playing around the values to see if it works !

Reviewers: epriestley, chad

Reviewed By: epriestley

CC: aran, Korvin, chad, demo, AnhNhan

Maniphest Tasks: T2340

Differential Revision: https://secure.phabricator.com/D5414
2013-04-09 09:43:42 -07:00
Jakub Vrana
c621da8e97 Delete maniphest.enabled and phriction.enabled
Summary: @edward, you would need to delete these options from FB config to avoid setup warning.

Test Plan: /T1

Reviewers: epriestley, edward

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5620
2013-04-08 20:47:59 -07:00
Jakub Vrana
9da6c9ff15 Delete LiskDAO::IDS_PHID
Test Plan: Searched for `IDS_PHID` and loaded homepage.

Reviewers: epriestley, edward

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5619
2013-04-08 20:46:54 -07:00
Chad Little
d1daf80d0d CSS gradient buttons
Summary: Creates CSS Gradients for buttons. Also tweaked hover and active styles. "Fixed" disabled state (this may require follow up diffs to correct around site)

Test Plan: Tested Maniphest and UI Examples in Chrome and IE10/9/8

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5624
2013-04-08 15:00:55 -07:00
epriestley
1e2b6faadd Allow tokenizer construction to fail
Summary: See some discussion in D5622. Javelin explicitly prevents you from putting `<script>` tags into `JX.$H()`, which is probably a good idea, so just let this behavior fail less abruptly instead. We currently have no cases where we load something into a cache and then make a decision about whether to put it into the document or not later on; this should hold us over until we do. If and when we do, we can let those endpoints capture behaviors and replay them later or something.

Test Plan: Verified tokenizers still work correctly.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D5623
2013-04-08 13:42:45 -07:00
Bob Trahan
e07077ae4e Conpherence - fix JS and add code to repair old bad data
Summary:
the JS is fragile with respect to the tokenizer coming in from the people widget. make sure to always try to load this up. Note this generally needs to get cleaned up where the server should only send down the *exact* bits the client needs. This is all TODO as part of getting this on mobile perfectly. Also note this fragility exists still in that you can break conpherence by clicking quickly before the initial tokenizer load loads.

For old bad data, at some point we weren't updating participation as well as we do today in the editor class. the result is with the migration and code change some conversation participants have bad "last seen message" counts. the simplest case is the test user talking to themselves -- threads before the editor code fixes / changes will have the entire thread as unread for these folks. The other buggy case I saw was where the "last reply" to a thread wasn't being count. These issues showed up for threads February and older which is old.

Test Plan: edited conpherence meta data and no JS bugs. pontificated and no JS bugs. added a person and no JS bugs.

Reviewers: chad, epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5622
2013-04-08 13:41:34 -07:00
Anh Nhan Nguyen
73c49775c1 Displaying links instead of dumping raw remarkup in Phriction mails
Summary:
Fixes T2900 - Display link to document version and diff for edited Phriction Documents.

Also display the target document for moved pages.

Test Plan: Edited/Moved some pages, verified that the links are linking to the correct versions.

Reviewers: epriestley

Reviewed By: epriestley

CC: adityar7, aran, Korvin

Maniphest Tasks: T2900

Differential Revision: https://secure.phabricator.com/D5615
2013-04-08 11:54:49 -07:00
Bob Trahan
18c76b8a46 Conpherence - make conpherence load the bare minimum of data
Summary: also re-enables the updating of the widgets and "cleans up" the javascript a tad. Ref T2867

Test Plan: all sorts of conpherence fun like adding people to threads, adding files, pontificating, etc

Reviewers: epriestley, chad

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2867

Differential Revision: https://secure.phabricator.com/D5595
2013-04-08 11:13:35 -07:00
Anh Nhan Nguyen
dbcd38aa88 Fix the attempt of graceful alignment for Hovercards
Summary:
Refs T1048; Fixes T2902 - (Probably) fixes @vrana's issue. I managed
to repro it on Ubuntu FF (though on Windows with 1.0GHz/512MB it's
really worse...).

This revises the approach to the graceful degradation for
`too-far-to-the-screen-edge-edge-case`.

I noticed that `x` could become very negative, up to about ~`-170px`.
This is due to the //"already-on-the-left-side"// nature of object tags.
`50 - 200 - 20` = `negative`. Adding `100px` (node.dimension.x / 4) to
that won't really help, as the hovercard would still be offscreen.

Instead, display them left-aligned with the object tags on the left edge
per default, and offer centerization in center cases. This is also better
for Pholio, Phriction, which have a way lower min-x than Maniphest,
Differential.

I also disabled placing the hovercard below the tag in case there's not
enough space on the north side. The hovercard would not display 99.99% of
the times after being hidden (and it retains the flickering behaviour).
Another reason is also our current hide-behaviour, which only assumes
north-side alignment. Adding south-side didn't really work (I'm bad with
JS), so I didn't bother with it. Disabling this is //acceptable//, since
it only really affects Pholio, Phriction. And nobody places object tags
in the first line, anyway. Except for my test pages, of course :/

Btw, this also removes the weird jaggy horizontal shifts for object of
various lengths (e.g. `{D4356}`, `{rP32ofhw0842obw}` etc.). I think
that's only good.

Test Plan:
Hovered in Pholio, Phriction in Chrome, FF. Did not touch
left screen border.

Hovered in Maniphest, Differential. Tags farther to the left were
aligned left, tags more in the center were pretty centered.

Reviewers: epriestley, vrana

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1048, T2902

Differential Revision: https://secure.phabricator.com/D5612
2013-04-07 18:10:53 -07:00
epriestley
3c1a0b76fa Add a custom "Header" Maniphest field type
Summary: Simple alternative to D5448. Adds a "header" type which renders a visual separator.

Test Plan:
{F39507}
{F39508}

Reviewers: jamesr, btrahan, chad

Reviewed By: chad

CC: aran

Differential Revision: https://secure.phabricator.com/D5616
2013-04-07 15:58:17 -07:00
epriestley
be586de965 Remove logic which hides commit names in commit table when they're the same as previous commit names
Summary:
See discussion in T2832. In particular, this is pretty confusing:

{F38674}

The confusion created in situations like this is much worse than the tiny benefit in parseability the UI rule provides. We'll probably rewrite this table in terms of ObjectListView anyway.

Fixes T2832.

Test Plan: Looked at Audit list.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2832

Differential Revision: https://secure.phabricator.com/D5610
2013-04-07 15:50:21 -07:00
Chad Little
57ad790de3 Hovercard tweaks
Summary: Tightens up spacing, remove some of the borders, add alpha channel, make them all blue (sorry, red green and yellow are for 'status'). If we want to do more colors just for hovercards, I have a brown and a black in the mock, but would like to try just blue for now.

Test Plan: UIExamples, Tasks, People, Diffs, and Pastes.

Reviewers: epriestley, AnhNhan, btrahan

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5609
2013-04-06 21:16:55 -07:00
Anh Nhan Nguyen
3c8365538a Fix flickering hovercards
Summary:
Refs T1048, T2902 - This //should// fix flickering hovercards. Probably does not fix displaced hovercards, though could (because of the flickering doing something bad to rendering).

I'm bad with JS D:

Test Plan: Tried out plenty of reload & hover combos. No flickering anymore. Never again.

Reviewers: epriestley, vrana

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1048

Differential Revision: https://secure.phabricator.com/D5607
2013-04-06 13:47:49 -07:00
Jakub Vrana
fa41a3d6c6 Don't mark URL in creating macro as required
Test Plan: /macro/create/

Reviewers: mattrobenolt, epriestley

Reviewed By: epriestley

CC: aran, epriestley, Korvin

Differential Revision: https://secure.phabricator.com/D5405
2013-04-06 11:47:47 -07:00
Jakub Vrana
338851ac54 Merge attached revisions and commits in task detail
Summary:
With freetext fields, most tasks would have attached revisions when they have attached commits.
See T1048 for example.
Merge these two fields together.

Test Plan:
Displayed task with commit and unrelated revision.
Displayed task with commit and related revision:
{F39394,size=full}

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5601
2013-04-06 11:40:43 -07:00
Jakub Vrana
3231df7625 Deprecate 'maniphest.enabled' and 'phriction.enabled'
Summary:
Also join concepts of installed and enabled applications.
Also respect uninstalled Maniphest where disabled Maniphest was checked.

Test Plan:
Visited T1, D1.
Uninstalled Maniphest then visited T1, D1.
Disabled Maniphest then visited T1.
Visited /config/edit/maniphest.enabled/.

Reviewers: epriestley, Afaque_Hussain, edward

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5602
2013-04-06 11:39:59 -07:00
epriestley
6587c1d5a5 Add a "byline" element to ObjectItemListView
Summary: At least for non-workboard views, try plain text for author information instead of profile images. Some discussion in D5451.

Test Plan:
{F39411}
{F39412}
{F39413}
{F39414}
{F39415}
{F39416}

Reviewers: chad

Reviewed By: chad

CC: AnhNhan, aran

Differential Revision: https://secure.phabricator.com/D5605
2013-04-06 11:38:43 -07:00
Anh Nhan Nguyen
c668988a26 Fixing non-square profile images for hovercards
Summary: Refs T1048 - disables bg repeat, centers profile image

Test Plan: looked at my own hovercard in my local install, which has a non-square prof pic

Reviewers: epriestley, chad

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1048

Differential Revision: https://secure.phabricator.com/D5604
2013-04-06 11:26:43 -07:00
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