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

2720 commits

Author SHA1 Message Date
epriestley
83b1b4fdbd Add Slowvote and Countdown applications
Summary: See D3572.

Test Plan: Loaded /applications/, saw applications.

Reviewers: vrana, btrahan

Reviewed By: vrana

CC: aran

Differential Revision: https://secure.phabricator.com/D3577
2012-10-01 12:56:02 -07:00
vrana
395ab91b9a Fix comment in field specification
Test Plan: Logged type of 'arc:unit'.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3565
2012-10-01 09:35:32 -07:00
epriestley
a0070d8bf4 Make AphrontRequest::getHost() work properly in the presence of a port
Summary: This currently gives us back "domain.com:port" if there's a port, which messes up the new Phame logic. Make `getHost()` do what one would reasonably expect it to.

Test Plan: Loaded my local, which is on 8080.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D3571
2012-09-30 21:19:35 -07:00
epriestley
054ea7dc4a Simplify upvote/downvote implementation
Summary:
Use sigils to simplify the vote implementation and move most rendering to the server.

Use unicode glyphs in place of graphics.

Test Plan: {F19539}

Reviewers: pieter, starruler

Reviewed By: pieter

CC: aran

Maniphest Tasks: T1644

Differential Revision: https://secure.phabricator.com/D3518
2012-09-30 20:12:35 -07:00
epriestley
e48fa0398b Use responsive elements for Ponder "add answer" view
Summary: Side nav, plus "add answer".

Test Plan: {F19533}

Reviewers: pieter, starruler

Reviewed By: pieter

CC: aran

Maniphest Tasks: T1644

Differential Revision: https://secure.phabricator.com/D3516
2012-09-30 20:12:18 -07:00
epriestley
ec3a11a3a1 Remove PonderQuestionFeedView
Summary: No use sites left after D3513.

Test Plan: `grep`

Reviewers: pieter, starruler

Reviewed By: pieter

CC: aran

Maniphest Tasks: T1644

Differential Revision: https://secure.phabricator.com/D3515
2012-09-30 20:11:05 -07:00
epriestley
dfef3251be Restore pager to Your Questions and All Questions
Summary: Restore the pager, using `executeWithOffsetPager()` to handle slicing, etc. Simplify and generalize `PonderQuestionQuery`.

Test Plan:
Set page size to 1, used pager to page.

{F19531}

Reviewers: pieter, starruler

Reviewed By: pieter

CC: aran

Maniphest Tasks: T1644

Differential Revision: https://secure.phabricator.com/D3513
2012-09-30 20:09:51 -07:00
epriestley
da627522ca Separate "your questions" from "your answers"
Summary: The aoff/qoff thing is pretty awkward and putting these both on the same page is probably only at all useful when looking at someone else's questions/answers -- we should just pursue main profile integration for that.

Test Plan: {F19529}

Reviewers: pieter, starruler

Reviewed By: pieter

CC: aran

Maniphest Tasks: T1644

Differential Revision: https://secure.phabricator.com/D3512
2012-09-30 20:09:39 -07:00
epriestley
9d87510ff3 Use responsive form elements in Ponder create view
Summary: Use flexible form and application side nav.

Test Plan: {F19525}

Reviewers: pieter, starruler

Reviewed By: pieter

CC: aran

Maniphest Tasks: T1644

Differential Revision: https://secure.phabricator.com/D3511
2012-09-30 20:09:18 -07:00
Bob Trahan
27c97571c0 Make pastes inherit visibility from their parent
Summary: good title

Test Plan: set a paste visibility to administrator then forked it. noted new paste had administrators selected. saved it and verified administrators was the value.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1833

Differential Revision: https://secure.phabricator.com/D3570
2012-09-30 20:08:37 -07:00
epriestley
9f09144117 Use responsive UI elements in Ponder list views
Summary:
Use the new `PhabricatorObjectItemListView` in Ponder so it works with the new UI. It will also get some features like flags "for free" in the future.

This removes the pager; I'll restore it in the next diff.

Test Plan: Looked at feed.

Reviewers: pieter, starruler

Reviewed By: pieter

CC: aran, chad

Maniphest Tasks: T1644

Differential Revision: https://secure.phabricator.com/D3507
2012-09-30 20:08:22 -07:00
epriestley
6b1c27eb0e Make "public" pastes meaningfully visible to logged-out users
Summary:
  - Introduce `shouldAllowPublic()`, indicating that logged-out users are OK in a controller if the install is configured to permit public policies.
  - Make Paste views and lists allow public users.
  - Make UI do sensible things with respect to disabling links, etc.
  - Improve behavior of "you need to login" with respect to policy exceptions and Ajax requests.

Test Plan: Looked at "public" paste, saw all unavailable UI disabled, clicked it, got appropraite prompts.

Reviewers: vrana, btrahan

Reviewed By: vrana

CC: aran

Maniphest Tasks: T603

Differential Revision: https://secure.phabricator.com/D3502
2012-09-30 19:44:09 -07:00
Bob Trahan
9e1b643896 Phame - allow blogs to specify custom URIs
Summary: this then enables people to create blog.theircompany.com. And for us, blog.phacility.com...!

Test Plan:
 - created custom URIs of various goodness and verified the error messages were sensical.
 - verified if "false" in configuration then custom uri stuff disappears

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1373

Differential Revision: https://secure.phabricator.com/D3542
2012-09-30 17:10:27 -07:00
Wez Furlong
f29804a62a Fix fatal with some pastes
Summary: Avoid a BadMethodCallException for some pastes

Test Plan: Call up a paste from a day or so ago (in the FB environment)

Reviewers: nh, vrana

Reviewed By: nh

CC: aran, epriestley

Differential Revision: https://secure.phabricator.com/D3560
2012-09-27 17:16:01 -07:00
vrana
5a5d0b2b56 Allow custom request checker prior to displaying page
Summary: We want to allow a broader access to our installation but we need to check the request in that case.

Test Plan:
Created a simple `PhabricatorRequestChecker` returning a custom controller.
Verified that this controller is used when accessing any page.
Returned `null` from this checker and verified that all 209 Phabricator pages are accessible.

Reviewers: epriestley

Reviewed By: epriestley

CC: scottmac, aran, Korvin, btrahan

Differential Revision: https://secure.phabricator.com/D2488
2012-09-27 15:34:54 -07:00
vrana
057d857568 Fix whitespace in Package e-mail
Test Plan: Changed package, verified e-mail.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3559
2012-09-27 15:07:19 -07:00
Vasyl Vavrychuk
4d4b4f4837 document running phabricator on builtin PHP webserver
Summary: This is based on info from https://github.com/facebook/phabricator/pull/165

Test Plan: View configuration guide

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3467
2012-09-27 14:14:41 -07:00
Evan Priestley
7dd8851a61 Merge pull request #207 from vvavrychuk/daemon
use available api to check daemon status
2012-09-27 12:53:54 -07:00
hfcorriez
065e977b3c Fix $_SERVER['CONTENT_TYPE'] trigger a NOTICE error
See T1762.

Reviewed by: epriestley
2012-09-27 12:50:09 -07:00
Vasyl Vavrychuk
18ee51ac7b use available api to check daemon status
Summary:
Replace executing 'ps aux' with usage of available api to
control daemons PhabricatorDaemonControl.

This fixes isPullDaemonRunningOnThisMachine returning wrong status
under Fedora & lighttpd & SELinux because SELinux with default
settings blocked getting all processes in 'ps aux'.

Test Plan: start stop daemon and check repository app

Reviewers: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3557
2012-09-27 22:27:51 +03:00
vrana
7ed8b6d7fa Recheck if revision hasn't been already closed in commit parser
Summary:
If attaching a commit or checking if there are any changes takes nonzero time then the revision may be closed by someone else.

Cleaner solution would be to do it inside a transaction and mark the SELECT as FOR UPDATE but it would be blocking.

Test Plan: Patched `$should_close` to be true, reparsed an already closed commit.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3555
2012-09-26 21:12:03 -07:00
Christopher Blizzard
f1d4755c61 Fix unit test updates so a diff update has a predictable unit test status
Test Plan: Tested with various unit test states and noted that the
worst unit test result was always the state used for the entire diff.

Reviewers: nh, epriestley

Reviewed By: nh

Differential Revision https://secure.phabricator.com/D3465
2012-09-24 17:02:03 -07:00
epriestley
fc0a7bf302 Update Celerity map. 2012-09-24 13:56:04 -07:00
vrana
e0e97b08b8 Open editor on first modified line
Test Plan: Created diff, opened the file from Differential, opened the file in Diffusion.

Reviewers: btrahan, epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3538
2012-09-24 11:07:59 -07:00
Bob Trahan
cad1eed24a Fix error on paste create via conduit
Summary: default policy to most liberal policy available for the installation

Test Plan: echo "sup man?" | arc paste   Was able to view resultant paste with no errors!

Reviewers: epriestley, vrana

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1815

Differential Revision: https://secure.phabricator.com/D3548
2012-09-24 11:05:58 -07:00
vrana
0248c74914 Fix add comment view with no draft 2012-09-22 15:10:37 -07:00
vrana
49f75d2554 Don't store empty copy:lines
Summary: The [[ https://secure.phabricator.com/diffusion/P/browse/master/src/applications/differential/parser/DifferentialChangesetParser.php;8d0918885da2c22b$1364 | callsite ]] is fine with that.

Test Plan: This diff.

Reviewers: btrahan, epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3537
2012-09-21 15:22:07 -07:00
vrana
f466c54fc0 Simplify AphrontRequest::getStrList()
Test Plan: https://secure.phabricator.com/diffusion/P/browse/master/src/aphront/__tests__/AphrontRequestTestCase.php;65bbd24974974672$68-75

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3531
2012-09-21 13:05:26 -07:00
vrana
d119ac672f Remember action in Differential comment draft
Summary:
It happens to me quite often that I leave the window with revision (by closing it or by visiting a link from it).
When I return then the comment draft is there so I clowncopterize it but forget that I wanted to take some other action than Comment.

Test Plan: Selected "Add Reviewers", added some reviewers, closed the window, opened it - the action and reviewers were still there.

Reviewers: btrahan, epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3530
2012-09-21 13:05:09 -07:00
vrana
8d0918885d Check filename before reading file from cache
Test Plan: Downloaded empty file, got proper filename.

Reviewers: btrahan, epriestley

Reviewed By: btrahan

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3534
2012-09-21 11:23:22 -07:00
vrana
0e097a5867 Sort elasticsearch results by date created
Summary: Similar to MySQL search.

Test Plan: Displayed Edit Dependencies dialog on revision.

Reviewers: epriestley, btrahan

Reviewed By: btrahan

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3519
2012-09-20 10:44:35 -07:00
vrana
f7a38df5a5 Add TODO comment to commit attacher 2012-09-19 12:30:27 -07:00
Bob Trahan
557cc5b29c Make a PhabricatorRemarkupControl to de-duplicate code usage around adding a Remarkup reference to a TextAreaControl.
Summary: ...also makes Maniphest Task Edit Controller use this when its not appropriate to upsell email.

Test Plan: played around with each tool and verified the Remarkup reference was present

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1756

Differential Revision: https://secure.phabricator.com/D3468
2012-09-19 12:27:28 -07:00
vrana
5b6513e6e8 Pass branch to Diffusion URI in Owners and Externals
Test Plan: Visited detail of package in SVN and Git.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3514
2012-09-17 16:59:44 -07:00
vrana
8481f7ef09 Don't open symbols on double click
Summary:
My average double click speed is 10 ms but I tried to double click as I think normal people double clicks and it was around 200 ms.
I don't want to make the timeout much longer because it looks like that something doesn't work.

Test Plan:
Double clicked on symbol.
Clicked on symbol.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3509
2012-09-17 16:08:53 -07:00
zacharyg
76d78acfae Disallow contentless ponder questions
Test Plan:
* submitted various comments (empty, whitespace, real) and
verified response

Reviewers: pieter, epriestley

CC: vrana, aran, Korvin

Maniphest Tasks: T1644

Differential Revision: https://secure.phabricator.com/D3505
2012-09-17 13:54:14 -07:00
zacharyg
e2ae82d455 Disallow contentless Ponder answers
Summary:
Any answer without non whitespace characters results in an
error.

Test Plan:
 - Submitted an empty answer, was told off
 - Submitted an answer full of whitespace, didn't like that either
 - Submitted a real answer, accepted

Reviewers: pieter, epriestley, vrana

Reviewed By: epriestley

CC: aran, Korvin, davidreuss

Maniphest Tasks: T1644

Differential Revision: https://secure.phabricator.com/D3492
2012-09-17 13:48:36 -07:00
vrana
cfea1d29ee Unuse short ternary operator
Summary: We still support PHP 5.2.

Test Plan:
  $ arc lint

Reviewers: nh, epriestley

Reviewed By: epriestley

CC: aran, epriestley

Differential Revision: https://secure.phabricator.com/D3503
2012-09-17 13:45:49 -07:00
vrana
8e7ae7b33a Optimize reindex_everything.php
Summary:
We have two troubles with this script:

# Our revisions and commits don't fit in the memory. (Our tasks do :-).)
# Reindexing revisions is slow.

Test Plan: Ran it.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3483
2012-09-17 13:34:41 -07:00
vrana
3c2cb13153 Fix bad rebase
Auditors: nh
2012-09-17 13:29:09 -07:00
Nick Harper
5978bbfc64 Do sampled profiling of requests
Summary:
People have occasionally complained about phabricator being slow. We have
the access log to look at to see when slowness happens, but it doesn't tell
us much about why it happened. Since it's usually a sporadic issue that's
reported, it's hard to reproduce and then profile. This change will allow us
to collect sampled profiles so we can look at them when slowness occurs.

Test Plan:
checking that sampling works correctly:
- set rate to 0; do several page loads; check no new entries in table
- set rate to 1; check that there's a new row in the table for each page load
- set rate to 10; check that some requests write to table and some don't
check new ui for samples:
- load /xhprof/list/all/, see a list with a lot of samples
- load /xhprof/list/sampled/, see only sampled runs
- load /xhprof/list/manual/, see only non-sampled runs
- load /xhprof/list/my-runs/, se only my manual runs

Reviewers: vrana, epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3458
2012-09-17 10:53:45 -07:00
epriestley
a52af0b3ae Make it more clear that "Public" really means "Public"
Summary: In the long term I think we can probably just explain this feature better, but for now I want to make sure no one makes a mistake with "Public". This seems like a reasonable way to do it.

Test Plan: Looked at the policy selector dropdown.

Reviewers: vrana, btrahan

Reviewed By: vrana

CC: aran

Differential Revision: https://secure.phabricator.com/D3486
2012-09-17 10:17:25 -07:00
vrana
eaf7aedb05 Enforce blame in Skip Past This Commit
Test Plan:
# Set default view to non-blame.
# Visit URL with '?view=blame'.
# Click //Skip Past This Commit//.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3494
2012-09-14 09:52:55 -07:00
epriestley
2d66798c5d Fix one more issue for username "0". 2012-09-13 17:05:53 -07:00
epriestley
b77b4f7155 Fix another missing strlen for users with username "0". 2012-09-13 17:00:53 -07:00
epriestley
0e672e2435 Fix GitHub login failure for user with username "0". 2012-09-13 16:47:14 -07:00
Pieter Hooimeijer
390dfa210d fix ponder escaping issue
Summary: Question titles were not escaped; now they are.

Test Plan: Observe the escaping.

Reviewers: epriestley

Reviewed By: epriestley

CC: nh, aran, Korvin

Differential Revision: https://secure.phabricator.com/D3490
2012-09-13 12:18:52 -07:00
vrana
34dfbdaf44 Open editor on highlighted line in Diffusion
Test Plan:
Edited:

  path$33
  path$33-35
  path

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3488
2012-09-13 11:22:00 -07:00
zacharyg
d714978f3f Fix error in ponder comment hiding.
Summary: I'm a tard

Test Plan: - view page

Reviewers: pieter

Reviewed By: pieter

CC: aran, epriestley, vrana

Maniphest Tasks: T1775

Differential Revision: https://secure.phabricator.com/D3487
2012-09-13 10:56:31 -07:00
zacharyg
09d8120b79 Hide Ponder add comment behind link
Summary: Does what it says on the tin

Test Plan: Viewed ponder question, expanded link, added comment

Reviewers: pieter, epriestley

Reviewed By: pieter

CC: vrana, aran, Korvin

Maniphest Tasks: T1775

Differential Revision: https://secure.phabricator.com/D3485
2012-09-13 10:43:04 -07:00
epriestley
a1df1f2b70 Allow projects to be set as policies
Summary:
  - Renames `PhabricatorPolicyQuery` to `PhabricatorPolicyAwareQuery` (a query which respects policy settings).
  - Introduces `PhabricatorPolicyQuery`, which loads available policies (e.g., "member of project X").
  - Introduces `PhabricatorPolicy`, which describes a policy.
  - Allows projects to be set as policies.
  - Allows Paste policies to be edited.
  - Covers crazy cases where you make projects depend on themselves or each other because you are a dastardly villan.

Test Plan: Set paste and project policies, including crazy policies like A -> B -> A, A -> A, etc.

Reviewers: vrana, btrahan

Reviewed By: vrana

CC: aran

Maniphest Tasks: T603

Differential Revision: https://secure.phabricator.com/D3476
2012-09-13 10:15:08 -07:00
epriestley
b39175342d Add paste policy storage
Summary: Add storage to Pastes for view policies.

Test Plan: Set policies on pastes, see next diff.

Reviewers: vrana, btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T603

Differential Revision: https://secure.phabricator.com/D3474
2012-09-13 10:11:14 -07:00
Pieter Hooimeijer
5883b4f50c adding comments to ponder
Summary: This is pretty spartan, but it does the job.

Test Plan:
Patch, update storage, add some comment
to your favorite question or answer.

Reviewers: nh, vrana, epriestley

Reviewed By: epriestley

CC: aran, Korvin, starruler, syrneus, me.here, victorzarate7

Maniphest Tasks: T1645

Differential Revision: https://secure.phabricator.com/D3471
2012-09-11 12:13:20 -07:00
epriestley
903f985983 Test commit for T945
Resolves T945 as fixed. (Also tweaks the regexp slightly.)
2012-09-11 10:43:49 -07:00
epriestley
346747c788 Detect tasks referenced in commit messages and either link or update the mentioned tasks. Refs T945
Summary: This takes the place of D2721 which I am going to abandon.

Test Plan:
* Make a commit with "Closes T###" in the summary field. See that the mentioned task gets closed.
* Make a commit with "refs T###" in the summary. See that it gets added as a related commit via edges.

Reviewers: 20after4

Reviewed By: epriestley

CC: aran, Korvin, champo

Maniphest Tasks: T945

Differential Revision: https://secure.phabricator.com/D3466
2012-09-11 10:37:30 -07:00
epriestley
303ad93996 Modernize UIExamples
Summary:
  - Get rid of an AphrontSideNavView callsite.
  - Modernize and simplify the application implementation.
  - Doesn't work perfectly on tablet/phone but that's because not all the UI examples work there yet.

Test Plan: Looked at /applications/ and /uiexample/.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D3431
2012-09-11 09:56:40 -07:00
epriestley
1b7f04914c Make AphrontErrorView work on devices
Summary:
This is the last Paste UI element that doesn't work properly on tablets/phones. Make it flexible.

Also add empty states to Paste.

Test Plan: Viewed various errors, and `/uiexample/errors/`.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D3429
2012-09-11 09:55:27 -07:00
vrana
d28c591e74 Don't fatal on duplicate field in commit message
Summary:
If the actual commit message has a duplicate field and we shouldAutoclose it then the commit message parser fails.
Put the error in `$errors` instead.

Test Plan:
Reparsed commit with duplicate field in message.
Tried to `arc diff` message with duplicate field.

Reviewers: epriestley, nh

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3470
2012-09-10 17:24:39 -07:00
vrana
99949bec8d Link Phabricator tests
Test Plan: This diff.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3457
2012-09-07 15:04:44 -07:00
vrana
e18fb4406e Don't include view in Diffusion line permalink
Summary:
Including view in permalink seemed like the correct solution to me.
Instead, I delete it all the time when copying somewhere else.

Test Plan:
Clicked on the link.
Changed view on permalink.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3453
2012-09-07 08:15:40 -07:00
Nick Harper
ab01ef562e Don't require working copy to generate URIs in owners tool
Summary:
Owners packages might include repositories that are no longer tracked
(or checked out locally), and there's no reason why we need a working copy
to generate a diffusion link. Instead of displaying a red error box, this
diff allows the owners tool to render correctly.

Test Plan:
viewed /owners/view/all/ and /owners/package/395/ and verified no error box
for not having a checkout of the repository.

Reviewers: epriestley, vrana, wez

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3452
2012-09-06 20:38:19 -07:00
Nick Harper
90b60bc3c9 Load relationships for revision
Summary:
In the commit message parser worker, it tries to get relationships for a
revision without first loading them. (D3444 introduced the change.) This
is where the get happens, so I'm adding the load here - maybe it should be
added in the CommitMessageParserWorker instead?

Test Plan: Made this change, and my taskmaster daemons stopped failing.

Reviewers: epriestley, vrana

Reviewed By: vrana

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3448
2012-09-06 15:46:51 -07:00
vrana
958e6cd109 Add missing break statement 2012-09-06 15:12:57 -07:00
epriestley
0736592cff Add didParseCommit() to DifferentialFieldSpecification
Summary:
This is mostly ripped from D2721, but doesn't implement the T945 part.

After we parse a commit message, give DifferentialFieldSpecifications an opportunity to react to the message as well (e.g., by updating related objects).

Test Plan: Impelmented a var_dump() body, ran `reparse.php` on a commit.

Reviewers: vrana, 20after4, btrahan, edward

Reviewed By: 20after4

CC: aran

Maniphest Tasks: T945, T1544

Differential Revision: https://secure.phabricator.com/D3444
2012-09-06 12:13:51 -07:00
Nick Harper
7e1f5bc9df Allow redirecting when not logged in
Summary:
Without this, the https redirect doesn't work if you're not logged in, because
the login check in willBeginExecution happens before the redirect controller
can redirect. This also has the unpleasant effect of the login page on http
(when it should have redirected to https) not having any css or js.

Test Plan:
With the https redirect enabled, loaded phabricator without being logged in,
and saw that I got redirected to the https login page instead of seeing a
http login page.

Reviewers: epriestley, vrana

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3438
2012-09-05 14:16:46 -07:00
vrana
b3d7ed3e8e Respect users with duplicate real names in commit parser
Test Plan:
  $parser->resolveUserPHID('Lei Zhao');
  $parser->resolveUserPHID('Jakub Vrana');

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3437
2012-09-05 12:24:35 -07:00
epriestley
492b6e7a6d Improve Arcanist event doucmentation
Summary:
  - Soft dependencies on D3423, D3422, D3421.
  - Document the availability of 'workflow' on all events.
  - Improve instructions on building, configuring and debugging event handlers.

Test Plan: Read documentation.

Reviewers: vrana, nh

Reviewed By: vrana

CC: aran

Differential Revision: https://secure.phabricator.com/D3424
2012-09-05 11:41:32 -07:00
epriestley
9afb186c77 Move Ponder to AphrontSideNavFilterView
Summary: AphrontSideNavView is oldschool and I want to kill it.

Test Plan: Viewed Ponder, clicked both nav options.

Reviewers: pieter, vrana, btrahan

Reviewed By: pieter

CC: aran

Differential Revision: https://secure.phabricator.com/D3430
2012-09-05 11:41:19 -07:00
epriestley
dbc8218f06 Add 'viewer' to some Remarkup callsites
Summary:
I want to implement a `{P123}` rule to embed pastes, but we need viewers everywhere before it will work with privacy.

This is not exhaustive; many Remarkup callsites haven't been converted to `PhabricatorMarkupInterface` yet.

Test Plan: Looked at Maniphest, Differential, Diffusion, Phriction; added markup, made edits and hit previews.

Reviewers: vrana, btrahan

Reviewed By: vrana

CC: aran

Differential Revision: https://secure.phabricator.com/D3428
2012-09-05 11:40:48 -07:00
vrana
9b843a3d44 Allow linking unit tests
Summary:
We have lots of info about unit tests.
This allows linking them from Unit field.

Test Plan: Monkey patched `$test['link']`, clicked on it.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3434
2012-09-05 11:02:06 -07:00
vrana
8ff52c0b6c Set viewer for all handles loaded in controllers
Summary:
I've replaced all `id(new PhabricatorObjectHandleData(...))->loadHandles()` by `$this->loadViewerHandles(...)`.
Lint caught one usage in a static method.

Test Plan: Displayed revision with sporadic author.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3432
2012-09-04 23:14:26 -07:00
vrana
efd59322f2 Display 'away date' in blame
Summary: I've done D3432 in the hope that it will fix also this...

Test Plan: Blamed sporadic author.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3433
2012-09-04 23:14:10 -07:00
vrana
285cb172e9 Try literal search if operator search fails in elasticsearch
Test Plan: Searched for `[test]` in /search/ and in revision dependencies.

Reviewers: epriestley

Reviewed By: epriestley

CC: tbrzezinsky, aran, Korvin

Maniphest Tasks: T1757

Differential Revision: https://secure.phabricator.com/D3427
2012-09-04 13:45:49 -07:00
epriestley
ee05fe81a4 Add redirect to HTTPS option
Summary: Rehash of D3411. In cgi/fcgi setups we have no idea if the request is HTTP or HTTPS as far as I can tell, so make this config-triggered again. Also handle @vrana's "off" case.

Test Plan: Set this flag, observed redirect to https when `$_SERVER['HTTPS']` was absent.

Reviewers: nh, vrana

Reviewed By: nh

CC: aran

Differential Revision: https://secure.phabricator.com/D3420
2012-09-04 09:56:30 -07:00
epriestley
e3c6dc687a Fall back to LDAP search attribute if username attribute is not configured
Summary:
See discussion in D3340. Some configurations set only a search attribute because their records are indexed by username (this is probably not quite the correct LDAP terminology). Other configurations use one attribute to search and a different attribute to select usernames.

After D3340, installs which set only a search attribute broke. Instead, fall back to the search attribute if no username attribute is present.

Test Plan: Successfully logged in on my test slapd.

Reviewers: yunake, voldern, briancline

Reviewed By: voldern

CC: aran

Differential Revision: https://secure.phabricator.com/D3406
2012-09-03 06:41:49 -07:00
vrana
ada5f81614 Display 'away until' in owners and revision comment
Summary: It would be best to add this everywhere at once but I'm too lazy for it.

Test Plan: Displayed package list and detail and revision comment with away users.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3419
2012-08-31 15:09:55 -07:00
epriestley
2ea5c0bdda Sort ghost children correctly in Phriction
Summary:
Currently, if some page /x/ has a grandchild at /x/y/z/ but /x/y/ does not exist, we insert a ghost entry for it in the "Document Hierarchy". However, we don't sort the hierarchy properly after inserting ghosts, so they always appear at the bottom and in an unuseful order.

Instead, sort children again after any ghost insertions.

Test Plan: Created /x/a/, /y/a/, /z/a/, verified ghosts sorted incorrectly before this patch and correctly afterward.

Reviewers: btrahan, vrana

Reviewed By: vrana

CC: aran

Maniphest Tasks: T1750

Differential Revision: https://secure.phabricator.com/D3418
2012-08-31 11:52:24 -07:00
epriestley
cc2225e34c Revert "Redirect to https"
This reverts commit 8afc7fc2cd.
2012-08-30 19:05:01 -07:00
epriestley
129bff016b Show tooltips in the application nav
Summary: Replaces the full names after D3413.

Test Plan: See screenshot.

Reviewers: vrana

Reviewed By: vrana

CC: aran

Differential Revision: https://secure.phabricator.com/D3414
2012-08-30 18:59:08 -07:00
epriestley
5c006193dd Always collapse the left nav on desktops
Summary:
There is basically no reason for anyone to ever use the uncollapsed mode for more than the first 2 minutes of using the tool.

Delete all code related to collapse/expand.

(I'm going to add tooltips next.)

Also move the drag bar a few pixels to the right, so it does not overlap with the scrollbar on the "local" nav if there is one.

Test Plan: Viewed in desktop/tablet/phone modes.

Reviewers: vrana

Reviewed By: vrana

CC: aran

Differential Revision: https://secure.phabricator.com/D3413
2012-08-30 18:58:59 -07:00
epriestley
c4ed47929c Make the top nav non-fixed-position
Summary:
See some discussion in D1673.

  - There's a concrete (if minor) problem with this in Firefox with wrapping search.
  - People complain about how we're stealing all their pixels.
  - There isn't much of a functional purpose to it since all the operations are fairly rare.
  - This addresses the aesthetic purpose of the fixed-position nav (not making the side nav ugly) by making the side nav scroll up 44px and then stop.

Test Plan: Scrolled in desktop, tablet modes.

Reviewers: vrana

Reviewed By: vrana

CC: aran

Differential Revision: https://secure.phabricator.com/D3412
2012-08-30 18:58:51 -07:00
vrana
c4fcc8091d Unfinal AphrontApplicationConfiguration::willBuildRequest()
Summary: We need to do something here.

Test Plan: None.

Reviewers: epriestley, nh

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3415
2012-08-30 18:51:30 -07:00
Evan Priestley
5ba9ad330e Merge pull request #197 from KorvinSzanto/master
D3410: Fix irc server login
2012-08-30 16:53:47 -07:00
Nick Harper
8afc7fc2cd Redirect to https
Summary:
If the phabricator.base-uri is set up with https and phabricator receives
a request that isn't over ssl, we will issue a redirect response to the user
to force them to use https.

Test Plan:
With this disabled, verified that pages still load correctly over http.
Enabled it; verified I get redirected to the same path but on https when I
make an http request; verified https requests get served without a redirect.

Reviewers: epriestley, vrana

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3411
2012-08-30 16:11:23 -07:00
KorvinSzanto
da2fc57d77 Fix irc server login
Summary: Previously, the identification string was thrown at the server long before you were connected, I've moved this to the end of the motd raw, and now errthangz gud

Test Plan: Register an account for your bot to use, give your bot the correct nick and password, then watch

Reviewers: epriestley

CC: aran

Differential Revision: https://secure.phabricator.com/D3410
2012-08-30 13:52:33 -07:00
epriestley
daabc41fa1 Add detailed instructions for installing PHP on Windows
Summary: This isn't very obvious, provide some more specific instructions.

Test Plan: Followed the instructions on my Windows machine, got a working `php`.

Reviewers: btrahan, vrana, jungejason

Reviewed By: vrana

CC: aran

Differential Revision: https://secure.phabricator.com/D2555
2012-08-30 13:51:53 -07:00
vrana
a64f5b0148 Link manual diff from lint error displayed at commit diff
Summary:
Some fields require displayed diff (e.g. Lines), some require last manual diff (Lint, Unit).
Lint requires both - it needs to find if the line with the error is displayed or not.

Test Plan: Displayed committed diff with lint errors, clicked on them, got last manual diff at the correct line.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3331
2012-08-30 13:43:43 -07:00
vrana
1752435255 Display away data in revision fields
Summary:
Ball is more obvious and visible than I thought.
Delete the status word and display until date in title.

Also display the until date in revision list.
Also display near future dates with DoW instead of year.

Test Plan: Displayed revision and revision list with away reviewers.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3407
2012-08-30 12:50:03 -07:00
epriestley
7cfad01ce3 Document some undocumented events
Summary: See D3408.

Test Plan: Read somewhat carefully.

Reviewers: vrana, btrahan

Reviewed By: vrana

CC: aran

Differential Revision: https://secure.phabricator.com/D3409
2012-08-30 12:28:43 -07:00
vrana
0f9f8b5f30 Tidy context displayed in gap
Summary:
We have some complaints on this feature:

- It's not clear that the displayed code is context from gap.
- It would be better if the context would be displayed with its real indentation.
- It's not clear how far the context is from the displayed code.
- Links revealing gap aren't on consistent place.

This solves all these problems and introduces new one:
It now seems that the reveal links works only with the left side.
Anyway, I think that this is better overall.

I don't want to put the context on a separate line to not waste space.

Test Plan: Displayed various contexts, revealed context.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin, bh, jwatzman

Differential Revision: https://secure.phabricator.com/D3404
2012-08-29 17:25:17 -07:00
Bob Trahan
cc0b74b01a bin/accountadmin - allow creation of system accounts and create workflow for system accounts that are in trouble
Summary: the former is self explanatory. the latter is necessary for installations that require email verification. since many system agents are given bogus email address there can become a problem where these accounts can't be verified

Test Plan: created system agent account from scratch. edited user and toggled system agent accountness. created system agent with unverified email address and verified it.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1656

Differential Revision: https://secure.phabricator.com/D3401
2012-08-29 11:07:29 -07:00
vrana
c52d66e5ba Display dependent revisions in revision detail
Summary:
I have a chain of revisions sometimes.
I want to see also revisions depending on me.

Test Plan: Displayed revision in the middle of chain.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3399
2012-08-28 15:30:16 -07:00
Bob Trahan
3aa54782a7 Differential - add a configuration option to allow any user to close a revision that has been accepted
Summary: this is useful for certain workflows, typically where the reviewer is a gatekeeper of sorts who does the acutal commit. Special thanks to D2900 which made this relatively brain-dead to code up.

Test Plan: set to "true" in my local development environment and verified test user "xerxes" could close my stuff

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1732

Differential Revision: https://secure.phabricator.com/D3398
2012-08-28 14:17:23 -07:00
Bob Trahan
cdfc71ced5 Only send the "this is blank silly" error message email if the email is sent *just* to Phabricator.
Summary: said differently, if the user included another to address or one or more cc's, don't send the error message email.

Test Plan: played around in the metamta test console and verified that blank replies generated the error handler.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1643

Differential Revision: https://secure.phabricator.com/D3345
2012-08-28 14:09:37 -07:00
epriestley
7fbcdfc52c Make CelerityController extend PhabricatorController
Summary:
Currently, CelerityController extends AphrontController, not PhabricatorController. (I think I imagined Celerity being somewhat stand-alone and didn't want to create a dependency.)

This creates a concrete problem if a static resource is missing, since we throw an exception, but the higher-level exception handlers depend on the User existing in order to show an appropriate response page. This is the only controller which doesn't extend PhabricatorController, and it doesn't seem worthwhile to make a weird edge case out of it.

Specific repro case is:

  - Remove `externals/javelin/` (or forget to run `git submodule update --init`).
  - Load a static resource.
  - Get "[Rendering Exception] Argument 1 passed to PhabricatorMainMenuView::setUser() must be an instance of PhabricatorUser, null given, called in /services/apache/phabricator/phabricator/src/view/page/PhabricatorStandardPageView.php on line 435 and defined"

Test Plan:
  - Followed above steps, no more fataling.
  - Verified this is the only weird controller.

Reviewers: voldern, vrana, btrahan

Reviewed By: voldern

CC: aran

Differential Revision: https://secure.phabricator.com/D3389
2012-08-28 13:46:35 -07:00
Pieter Hooimeijer
bc6aa91059 Fix for search URL for ponder-related search results.
Summary: Forgot a /

Test Plan: Observe the /

Reviewers: epriestley, nh, vrana

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3397
2012-08-28 13:12:32 -07:00
vrana
8b715a64b5 Don't waste too much cache by a single changeset
Summary:
We have `max_allowed_packet` 1 GiB but our replication dies if the query is longer than unknown value (it dies with 293 MB long query).

Anyway, there's no reason why we should not save the cache if you have small `max_allowed_packet`.

Test Plan: Lowered `$size` to 100, deleted cache from DB, displayed changeset, verified issued queries in DarkConsole, verified DB.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3390
2012-08-27 16:51:05 -07:00
vrana
5f3dc3b7ae Make storage.mysql-engine.max-size independent on max_allowed_packet
Summary:
I like systems that just work. It is possible to store files larger than max_allowed_packet in MySQL and we shouldn't demand it.

It also fixes a problem when file was smaller than `storage.mysql-engine.max-size` but its escaped version was larger than `max_allowed_packet`.

Test Plan: Reduced the size to 5e4, uploaded 90 kB file, checked the queries in DarkConsole, downloaded the file.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3392
2012-08-27 15:56:45 -07:00
epriestley
c4efeb3c97 Minor, fix an issue where recaptcha is included over HTTP on HTTPS installs and blocked by Chrome. 2012-08-27 14:22:15 -07:00
vrana
8d7f5eefae Properly change device after resizing left nav
Summary: Also allow left nav to hide.

Test Plan:
# Resize left nav.
# Shrink browser width to switch device.
# Increase the width again.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3383
2012-08-27 12:08:42 -07:00