Permalink
Switch branches/tags
Nothing to show
Commits on Oct 5, 2012
  1. Allow editing macros

    vrana committed Oct 5, 2012
    Summary: Attempt to edit macro said that there is a name conflict.
    
    Test Plan: Edited macro.
    
    Reviewers: wez, epriestley
    
    Reviewed By: epriestley
    
    CC: aran, Korvin
    
    Differential Revision: https://secure.phabricator.com/D3644
  2. Handle empty array argv in daemon log view

    vrana committed Oct 5, 2012
  3. Add basic "Subscriptions" application

    epriestley committed Oct 5, 2012
    Summary:
    Basic infrastructure for generalizing subscriptions/CCs for T1808, T1514 and T1663.
    
      - Implement `PhabricatorSubscribableInterface` and you'll get a subscribe/unsubscribe button for free.
      - If there are any auto-subscribed users (like the question author) you can specify them; this makes more sense for Tasks and Revisions than Ponder probably, but maybe the author should be auto-subscribed.
      - Subscriptions are either "explicit" (the user clicked 'subscribe') or "implicit" (the user did something which causes them to become subscribed naturally). If a user unsubscribes, they'll no longer be added by implicit subscriptions. This may or may not be relevant to Ponder but is an existing Herald feature in Differential.
      - Helper method on PhabricatorSubscribersQuery to load subscribers.
      - This doesn't handle actually sending email, etc. I think that's all so application-specific that it doesn't belong here.
      - Now seems to work.
    
    Test Plan:
    {F20552}
    {F20553}
    
    Reviewers: pieter, btrahan
    
    Reviewed By: pieter
    
    CC: aran
    
    Maniphest Tasks: T1663, T1514, T1808
    
    Differential Revision: https://secure.phabricator.com/D3637
  4. Avoid fatal if a macro has no file

    wez committed Oct 5, 2012
    Summary:
    Not sure how this triggers, but we have a macro that has no file
    associated with it, and this caused a fatal on the /macro endpoint.
    
    Test Plan: https://phabricator.fb.com/macro/?page=100
    
    Reviewers: vrana, nh, epriestley
    
    Reviewed By: epriestley
    
    CC: aran, epriestley
    
    Differential Revision: https://secure.phabricator.com/D3642
  5. Use action list and property list elements in Ponder

    epriestley committed Oct 5, 2012
    Summary: This is sort of silly as-is, but automatically exposes flagging and will give subscribe/unsubscribe and "Subscribers" a place to plug into shortly. For context, see D3637 and T1808.
    
    Test Plan: {F20550}
    
    Reviewers: pieter, btrahan
    
    Reviewed By: btrahan
    
    CC: aran
    
    Maniphest Tasks: T1808
    
    Differential Revision: https://secure.phabricator.com/D3641
  6. Create metamta.user-address-format configuration option

    bobtrahan committed Oct 5, 2012
    Summary: this lets users specify what "name" to use in email addresses
    
    Test Plan: changed the conf setting in my local instance and used phabricator. observed name format changes
    
    Reviewers: epriestley
    
    Reviewed By: epriestley
    
    CC: aran, Korvin
    
    Maniphest Tasks: T1862
    
    Differential Revision: https://secure.phabricator.com/D3639
  7. Display full picture in image macro editing

    vrana committed Oct 5, 2012
    Summary:
    Users are complaining that they don't see how the image macro looks until they use it.
    Click leads to edit form.
    Display it there.
    
    Test Plan:
    Edited macro.
    Attempted to create macro with duplicate name.
    
    Reviewers: epriestley
    
    Reviewed By: epriestley
    
    CC: chad, aran, Korvin
    
    Differential Revision: https://secure.phabricator.com/D3636
  8. Handle empty argv in daemon log view

    vrana committed Oct 4, 2012
    Summary: This could be empty probably for old logs
    
    Test Plan: Ran the controller.
    
    Reviewers: epriestley
    
    Reviewed By: epriestley
    
    CC: aran, Korvin
    
    Differential Revision: https://secure.phabricator.com/D3633
Commits on Oct 4, 2012
  1. Optimize feed query

    vrana committed Oct 4, 2012
    Summary:
    This was killing us. `EXPLAIN` after:
    
    <table>
    <tr><th>id</th><th>select_type</th><th>table</th><th>type</th><th>possible_keys</th><th>key</th><th>key_len</th><th>ref</th><th>rows</th><th>Extra</th></tr>
    <tr><td>1</td><td>SIMPLE</td><td>story</td><td>index</td><td>chronologicalKey</td><td>chronologicalKey</td><td>8</td><td></td><td>201</td><td> </td></tr>
    <tr><td>1</td><td>SIMPLE</td><td>ref</td><td>ref</td><td>chronologicalKey</td><td>chronologicalKey</td><td>8</td><td>phabricator_feed.story.chronologicalKey</td><td>1</td><td>Using index</td></tr>
    </table>
    
    Test Plan: /feed/
    
    Reviewers: epriestley
    
    Reviewed By: epriestley
    
    CC: aran, Korvin
    
    Differential Revision: https://secure.phabricator.com/D3628
  2. Expose "withAnyProjects()" in the UI

    epriestley committed Oct 4, 2012
    Summary:
    Add an "Any Projects" field to the custom search UI.
    
    This is starting to get ugly but we'll do a design pass on it before toooo long.
    
    Test Plan: {F20423}
    
    Reviewers: btrahan
    
    Reviewed By: btrahan
    
    CC: aran
    
    Maniphest Tasks: T1610
    
    Differential Revision: https://secure.phabricator.com/D3632
  3. Rename ManiphestTaskQuery::withProjects() to withAllProjects()

    epriestley committed Oct 4, 2012
    Summary: After D3630, make the API more clear: withAllProjects() vs withAnyProjects()
    
    Test Plan: Loaded project page, maniphest task query, reports, filtered by project and "noproject". Grep.
    
    Reviewers: btrahan
    
    Reviewed By: btrahan
    
    CC: aran
    
    Maniphest Tasks: T1610
    
    Differential Revision: https://secure.phabricator.com/D3631
  4. Improve implementation of ManiphestTaskQuery

    epriestley committed Oct 4, 2012
    Summary:
    Currently, we have a single `projectPHIDs` field, and a separate flag which makes it act like AND or OR.
    
    This is silly. Make two separate methods for setting `AND` vs `OR` projects. This also simplifies the implmentation.
    
    This doesn't change the UI or any behavior (yet), it just makes the API more usable.
    
    Test Plan: Loaded homepage, "All Projects" task view, verified queries made sense and returned correct results. Grepped for changed method name.
    
    Reviewers: btrahan
    
    Reviewed By: btrahan
    
    CC: aran
    
    Maniphest Tasks: T1610
    
    Differential Revision: https://secure.phabricator.com/D3630
  5. Update database.schema doc to include how to upgrade the schema

    bobtrahan committed Oct 4, 2012
    Summary: plus update the phid section a little
    
    Test Plan: read it, looked good.
    
    Reviewers: epriestley
    
    Reviewed By: epriestley
    
    CC: aran, Korvin
    
    Maniphest Tasks: T1287
    
    Differential Revision: https://secure.phabricator.com/D3629
  6. Declare used properties

    vrana committed Oct 4, 2012
    Summary: Also fix couple of other errors.
    
    Test Plan: Executed controllers.
    
    Reviewers: epriestley
    
    Reviewed By: epriestley
    
    CC: aran, Korvin
    
    Differential Revision: https://secure.phabricator.com/D3627
  7. Add a defaulty priority configuration flag for maniphest tasks

    bobtrahan committed Oct 4, 2012
    Summary: instance-wide this setting be
    
    Test Plan: made a new task and noted the default priority honored what was in btrahan.conf
    
    Reviewers: epriestley
    
    Reviewed By: epriestley
    
    CC: aran, Korvin
    
    Maniphest Tasks: T1842
    
    Differential Revision: https://secure.phabricator.com/D3626
  8. Remove all optimistic lock code from Lisk

    epriestley committed Oct 4, 2012
    Summary: We never use this and almost certainly never will. It's been in Lisk for ~7 years but is a solution in search of a problem. It causes a conflict with any DAO that has a `version` column.
    
    Test Plan: Browsed around, performed inserts and updates. Edited a Phriction document.
    
    Reviewers: vrana, btrahan
    
    Reviewed By: btrahan
    
    CC: aran, leslie.chong
    
    Differential Revision: https://secure.phabricator.com/D3625
  9. Fix typo in route

    vrana committed Oct 4, 2012
  10. allow arcanist projects to be deleted via the ui

    bobtrahan committed Oct 4, 2012
    Summary: tricky part is purging symbols at that time too. override "delete" method to get there, use transactions, etc.
    
    Test Plan: deleted an arcanist project - it worked!
    
    Reviewers: epriestley
    
    Reviewed By: epriestley
    
    CC: aran, Korvin, mbishopim3
    
    Maniphest Tasks: T1738
    
    Differential Revision: https://secure.phabricator.com/D3613
  11. Fix a use of $method in Conduit which is not available in scope

    epriestley committed Oct 4, 2012
    Summary:
    This got refactored at some point and lost access to $method. Also make the error a little more helpful.
    
    See https://groups.google.com/forum/?fromgroups=#!topic/phabricator-dev/05voYIPV7uU
    
    Test Plan:
      $ arc list --conduit-uri=http://local.aphront.com:8080/
      Exception
      ERR-CONDUIT-CORE: Invalid parameter information was passed to method 'conduit.connect', could not decode JSON serialization. Data: xxx{"client":"arc","clientVersion":5,"clientDescription":"orbital:\/INSECURE\/devtools\/arcanist\/bin\/..\/scripts\/arcanist.php list --conduit-uri=http:\/\/local.aphront.com:8080\/","user":"epriestley","host":"http:\/\/local.aphront.com:8080\/api\/","authToken":1349367823,"authSignature":"54bc136589c076ea06f8e5fb77c76ea7d57aec5b"}
      (Run with --trace for a full exception trace.)
    
    Reviewers: vrana, btrahan
    
    Reviewed By: vrana
    
    CC: aran
    
    Differential Revision: https://secure.phabricator.com/D3622
  12. Catch unhandled exceptions in index.php

    vrana committed Oct 4, 2012
    Summary:
    When there is an exception in `index.php` then we currently get only blank screen.
    Print it instead.
    
    Test Plan: Thrown exceptions on several places of `index.php` and controller, got best results.
    
    Reviewers: epriestley, btrahan
    
    Reviewed By: epriestley
    
    CC: aran, Korvin
    
    Differential Revision: https://secure.phabricator.com/D3619
  13. Fix displaying gap context when showing first lines

    vrana committed Oct 4, 2012
    Summary: Show First 20 Lines doesn't display gap context and emits error.
    
    Test Plan: Showed first 20 lines, last 20 lines, middle 20 lines - saw context and no error.
    
    Reviewers: epriestley
    
    Reviewed By: epriestley
    
    CC: aran, Korvin
    
    Differential Revision: https://secure.phabricator.com/D3616
  14. Include comment drafts in revision draft query

    vrana committed Oct 4, 2012
    Summary: Previously, only inline comment drafts were included.
    
    Test Plan:
    **/differential/** - verified that there are drafts where they weren't before.
    
    Checked executed queries.
    
    Reviewers: epriestley
    
    Reviewed By: epriestley
    
    CC: aran, Korvin
    
    Differential Revision: https://secure.phabricator.com/D3615
  15. Improve error message printed in SEV

    vrana committed Oct 4, 2012
    Summary:
    D3542 caused a SEV for us.
    Make it better for future.
    
    Test Plan: SEV
    
    Reviewers: btrahan, epriestley
    
    Reviewed By: epriestley
    
    CC: aran, Korvin
    
    Differential Revision: https://secure.phabricator.com/D3614
  16. Liberate

    vrana committed Oct 4, 2012
Commits on Oct 3, 2012
  1. Update ponder answer view to use newer fangled abstractions

    bobtrahan committed Oct 3, 2012
    Summary: also did a wee bit o' formatting stuff while I was in there.
    
    Test Plan: it looks... well, it looks like its using the new UI component and all the information is there!
    
    Reviewers: epriestley, pieter
    
    CC: aran, Korvin
    
    Maniphest Tasks: T1845
    
    Differential Revision: https://secure.phabricator.com/D3611
  2. Fix error when deleting revision

    bobtrahan committed Oct 3, 2012
    Summary: DifferentialAffectedPath has no id or phid key so delete() won't work and we have to do things this other way.
    
    Test Plan: deleted a few diffs on my test reproduction. aside from warnings about missing keys (epriestley is on it as I write this) no errors found and diff observed as deleted
    
    Reviewers: epriestley
    
    Reviewed By: epriestley
    
    CC: aran, Korvin
    
    Maniphest Tasks: T1846
    
    Differential Revision: https://secure.phabricator.com/D3610
  3. Make it obvious how autodetecting language in Paste works

    vrana committed Oct 2, 2012
    Test Plan: /paste/
    
    Reviewers: epriestley
    
    Reviewed By: epriestley
    
    CC: aran, Korvin
    
    Maniphest Tasks: T1841
    
    Differential Revision: https://secure.phabricator.com/D3595
  4. Mark revision as closed before attaching commit and loading changes

    vrana committed Oct 3, 2012
    Summary:
    D3555 stopped multiple commenting but it still attaches multiple diffs.
    
    Save earlier to stop doing unnecessary work.
    
    Test Plan: Reparsed the same commit twice at the same time.
    
    Reviewers: epriestley
    
    Reviewed By: epriestley
    
    CC: aran, Korvin
    
    Differential Revision: https://secure.phabricator.com/D3598
  5. Group applications into groups on /applications/

    epriestley committed Oct 3, 2012
    Summary: So they're maybe a little easier to deal with? I'm going to take this formally to "plz @chad plz help" land.
    
    Test Plan: {F20329}
    
    Reviewers: btrahan, vrana, chad
    
    Reviewed By: vrana
    
    CC: aran
    
    Differential Revision: https://secure.phabricator.com/D3609
  6. Load only valid properties in LiskDAO::loadFromArray()

    epriestley committed Oct 3, 2012
    Summary:
    Fixes a TODO, and silences a warning introduced by D3601.
    
    There are several cases where we load data like:
    
      SELECT *, ... AS extraData FROM ...
    
    ...and then pass it to `loadAllFromArray()`. Currently, this causes us to set an `extraData` property on the object.
    
    This idiom seems fairly useful and non-dangerous, so I made `loadFromArray()` just drop extra keys.
    
    Since we hit this loop a potentially huge number of times (10,000+ for full Maniphest pages) I did some microoptimization. Lisk is hot enough that it's one of the few places where it's worthwhile (see D1291).
    
    Test Plan: Loaded homepage, no longer got warnings about `viewerIsMember` from Project queries. Browsed ~10 apps, didn't see any issues.
    
    Reviewers: vrana
    
    Reviewed By: vrana
    
    CC: aran
    
    Differential Revision: https://secure.phabricator.com/D3606
  7. Restore flavor text to applications

    epriestley committed Oct 3, 2012
    Summary: D3581 removed some flavor text. Allow applications to provide flavor text instead of status information if they so desire.
    
    Test Plan: {F20325}
    
    Reviewers: vrana, btrahan
    
    Reviewed By: btrahan
    
    CC: aran, chad
    
    Differential Revision: https://secure.phabricator.com/D3608
  8. Fix height of DarkConsole request log

    vrana committed Oct 3, 2012
    Summary: When I have displayed DarkConsole and write a comment it keeps scrolling because new AJAX requests pop up.
    
    Test Plan: Displayed it, issued couple of AJAX requests.
    
    Reviewers: btrahan, epriestley
    
    Reviewed By: epriestley
    
    CC: aran, Korvin
    
    Maniphest Tasks: T1316
    
    Differential Revision: https://secure.phabricator.com/D3605
  9. Declare used property

    vrana committed Oct 3, 2012
  10. Implement getHelpURI() for new applications

    epriestley committed Oct 3, 2012
    Summary: A bunch of recently-created applications have help available; link to it.
    
    Test Plan: Clicked each app, clicked help link in menu bar, ended up in relevant documentation.
    
    Reviewers: vrana, btrahan
    
    Reviewed By: btrahan
    
    CC: aran
    
    Differential Revision: https://secure.phabricator.com/D3602
  11. Warn against writing to undeclared properties

    vrana committed Oct 3, 2012
    Summary:
    I make this error quite often: I forget to declare a property I am writing to or I make a typo in it.
    PHP implicitly creates a public property which I don't like.
    
    I would much rather see a linter warning me against this than this runtime check but writing it is very difficult:
    
    - We need to explore all parents of the class we are checking.
    - It is even possible that children will declare that property but it's OK to treat this as error anyway.
    - We can extend also builtin or external classes.
    - It's somewhat doable for `$this` but even more complex for any `$obj` because we don't know the class of it.
    
    This should catch significant part of these errors and I'm fine with that.
    
    I don't plan escalating to exception because this error is not fatal and should not stop the application from working.
    
    Test Plan: Loaded homepage, checked log.
    
    Reviewers: epriestley
    
    Reviewed By: epriestley
    
    CC: aran, Korvin
    
    Differential Revision: https://secure.phabricator.com/D3601