1. 19 May, 2014 5 commits
    • epriestley's avatar
      Add very basic conflict detection to Phriction · b1ec4a9a
      epriestley authored
      Summary: Ref T4768. This is extremely basic, but will stop conflicts from going silently unnoticed.
      
      Test Plan: {F156219}
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T4768
      
      Differential Revision: https://secure.phabricator.com/D9167
      b1ec4a9a
    • epriestley's avatar
      When a task changes status, update blocked tasks · cc9ee66e
      epriestley authored
      Summary:
      Ref T5008. Three notes:
      
        - I'm not hiding these even if the status change is open -> open or closed -> closed. I think these are OK, but might be a little spammy.
        - These show in feed, but shouldn't, since they're very redundant with stories which will almost always appear adjacently. Probably a bit spammy, see TODO. We can't hide them from feed without also squelching the notifications right now, which I //don't// want to do.
        - You get a notification even if you're on the original task which changed status. This is definitely spammy, see other TODO.
      
      Test Plan: {F156217}
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T5008
      
      Differential Revision: https://secure.phabricator.com/D9166
      cc9ee66e
    • lkassianik's avatar
      Close pholio mocks · 3d457a53
      lkassianik authored
      Summary: Fixes T4299, Add status dropdown to mock edit view
      
      Test Plan: Edit mock, close mock, thumbnail title should read (Disabled). Default mocks list should show only open mocks.
      
      Reviewers: #blessed_reviewers, epriestley
      
      Reviewed By: #blessed_reviewers, epriestley
      
      Subscribers: chad, epriestley, Korvin
      
      Maniphest Tasks: T4299
      
      Differential Revision: https://secure.phabricator.com/D9145
      3d457a53
    • Chad Little's avatar
      Make tags not wrap in Chrome/Blink/Android · 25f9facb
      Chad Little authored
      Summary: Object tags in Chrome/Blink on Android wrap randomly and horribly as if it's their job in life. Let's put an end to that, probably. Fixes T5103
      
      Test Plan: Chrome 34 / Android. Tested Chrome Regular Flavor desktop and mobile.
      
      Reviewers: epriestley
      
      Reviewed By: epriestley
      
      Subscribers: epriestley, Korvin
      
      Maniphest Tasks: T5103
      
      Differential Revision: https://secure.phabricator.com/D9191
      25f9facb
    • Joshua Spence's avatar
      Use the `ArcanistChmodLinter`. · 54071cdd
      Joshua Spence authored
      Summary: Apply the `ArcanistChmodLinter` from D9187.
      
      Test Plan: Removed all other linters from the `.arclint` file and executed `arc lint --everything`. Confirmed that there were no issues raised.
      
      Reviewers: epriestley, #blessed_reviewers
      
      Reviewed By: epriestley, #blessed_reviewers
      
      Subscribers: epriestley, Korvin
      
      Differential Revision: https://secure.phabricator.com/D9188
      54071cdd
  2. 18 May, 2014 3 commits
    • Chad Little's avatar
      Convert rest of SPRITE_STATUS to FontAwesome · 3a81f8c6
      Chad Little authored
      Summary:
      Updates policy, headers, typeaheads to FA over policy icons
      
      Need advice - can't seem to place where icons come from on Typeahead? Wrong icons and wrong colors.... it is late
      
      Test Plan:
      - grepped for SPRITE_STATUS
      - grepped for sprite-status
      - grepped for setStatus for headers
      - grepped individual icons names
      
      Browsed numerous places, checked new dropdowns, see pudgy people.
      
      Reviewers: epriestley
      
      Reviewed By: epriestley
      
      Subscribers: epriestley, Korvin
      
      Maniphest Tasks: T4739
      
      Differential Revision: https://secure.phabricator.com/D9179
      3a81f8c6
    • epriestley's avatar
      Fix JIRA issue URI selection for JIRA installs which are not on the domain root · 7a9d5f8f
      epriestley authored
      Summary: Fixes T4859. See that for details.
      
      Test Plan:
        - Verified things still work on my local (domain root) install.
        - Added some unit tests.
        - Did not verify a non-root install since I don't have one handy, hopefully @salehe can help.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: salehe, epriestley
      
      Maniphest Tasks: T4859
      
      Differential Revision: https://secure.phabricator.com/D8836
      7a9d5f8f
    • epriestley's avatar
      Change LONGTEXT cache column to BINARY · 15c408be
      epriestley authored
      See T4898. As it turns out, `latin1` LONGTEXT is not approximately equivalent
      to LONGBLOB.
      15c408be
  3. 17 May, 2014 8 commits
    • epriestley's avatar
      Fix binary/utf8 issues with Differential changeset parse cache · d744d5d8
      epriestley authored
      Summary:
      Fixes T4898. After we increased the strictness of the `%s` conversion, most `serialize()` output is rejected from the cache.
      
      Drop the cache, change the column type to latin1_bin, and then use `%B` to mark the data as binary during query construction.
      
      Test Plan: Viewed Differential, saw cache fills.
      
      Reviewers: btrahan, spicyj
      
      Reviewed By: spicyj
      
      Subscribers: epriestley
      
      Maniphest Tasks: T4898
      
      Differential Revision: https://secure.phabricator.com/D9171
      d744d5d8
    • epriestley's avatar
      Provide a rough, unstable API for reporting coverage into Diffusion · a74545c9
      epriestley authored
      Summary:
      Ref T4994. This stuff works:
      
        - You can dump a blob of coverage information into `diffusion.updatecoverage`. This wipes existing coverage information and replaces it.
        - It shows up when viewing files.
        - It shows up when viewing commits.
      
      This stuff does not work:
      
        - When viewing files, the Javascript hover interaction isn't tied in yet.
        - We always show this information, even if you're behind the commit where it was generated.
        - You can't do incremental updates.
        - There's no aggregation at the file (this file has 90% coverage), diff (the changes in this commit are 90% covered), or directory (the code in this directory has 90% coverage) levels yet.
        - This is probably not the final form of the UI, storage, or API, so you should expect occasional changes over time. I've marked the method as "Unstable" for now.
      
      Test Plan:
        - Ran `save_lint.php` to check for collateral damage; it worked fine.
        - Ran `save_lint.php` on a new branch to check creation.
        - Published some fake coverage information.
        - Viewed an affected commit.
        - Viewed an affected file.
      
      {F151915}
      
      {F151916}
      
      Reviewers: chad, btrahan
      
      Reviewed By: btrahan
      
      Subscribers: jhurwitz, epriestley, zeeg
      
      Maniphest Tasks: T5044, T4994
      
      Differential Revision: https://secure.phabricator.com/D9022
      a74545c9
    • epriestley's avatar
      Remove some needless +x flags. · baa64416
      epriestley authored
      baa64416
    • epriestley's avatar
      Index inline comments on commits · 4aea3102
      epriestley authored
      Summary: Fixes T3044. We currently don't add these to the index.
      
      Test Plan: Made a unique inline comment on a commit, then searched for it.
      
      Reviewers: btrahan, chad
      
      Reviewed By: chad
      
      Subscribers: epriestley
      
      Maniphest Tasks: T3044
      
      Differential Revision: https://secure.phabricator.com/D9170
      4aea3102
    • epriestley's avatar
      Give audits a clickable commit title, even if they are importing or messageless · 28c198d9
      epriestley authored
      Summary:
      Fixes T3854. Subversion allows commits with no message, and in other cases we might not have imported the message yet. In these cases, we may not render any text inside the link.
      
      When we hit these cases, render appropriate replacement text.
      
      Test Plan: {F156229}
      
      Reviewers: btrahan, chad
      
      Reviewed By: chad
      
      Subscribers: epriestley
      
      Maniphest Tasks: T3854
      
      Differential Revision: https://secure.phabricator.com/D9169
      28c198d9
    • epriestley's avatar
      Allow public countdowns to be viewed by logged out users · 1efb7e94
      epriestley authored
      Summary: Fixes T5093. Ref T4830.
      
      Test Plan:
        - As a logged out user, viewed a public countdown detail page.
        - (Tried to view a nonpublic one, got asked to login.)
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T4830, T5093
      
      Differential Revision: https://secure.phabricator.com/D9162
      1efb7e94
    • Chad Little's avatar
      Allow phui-closed-tag to be readable on hover · 697e4745
      Chad Little authored
      Summary: In general these are fairly readable, but if not it cleans up on hover (and hover card).
      
      Test Plan: tested a closed task in my sandbox
      
      Reviewers: epriestley
      
      Reviewed By: epriestley
      
      Subscribers: epriestley, Korvin
      
      Differential Revision: https://secure.phabricator.com/D9158
      697e4745
    • Chad Little's avatar
      Update PHUIStatusItemView to FontAwesome · 31cd9b21
      Chad Little authored
      Summary: Changes to using FontAwesome
      
      Test Plan:
      Testing UIExamples and each of the pages (except releelph)
      
      {F155942}
      
      Reviewers: epriestley
      
      Reviewed By: epriestley
      
      Subscribers: epriestley, Korvin
      
      Differential Revision: https://secure.phabricator.com/D9157
      31cd9b21
  4. 16 May, 2014 18 commits
    • Tal Shiri's avatar
      can now tell phabricator you trust an auth provider's emails (useful for... · 43d45c49
      Tal Shiri authored
      can now tell phabricator you trust an auth provider's emails (useful for Google OAuth), which will mark emails as "verified" and will skip email verification.
      
      Summary: This is useful when you're trying to onboard an entire office and you end up using the Google OAuth anyway.
      
      Test Plan: tested locally. Maybe I should write some tests?
      
      Reviewers: #blessed_reviewers, epriestley
      
      Reviewed By: #blessed_reviewers, epriestley
      
      Subscribers: epriestley, Korvin
      
      Differential Revision: https://secure.phabricator.com/D9150
      43d45c49
    • epriestley's avatar
      Fix a typo in ManiphestTaskQuery · cf6353e5
      epriestley authored
      Summary: This doesn't have any impact on anything right now (we don't persist the query) but could in the future, so I just left it as-is but fixed the typo.
      
      Test Plan: looked at it carefully
      
      Reviewers: btrahan, chad
      
      Reviewed By: chad
      
      Subscribers: WikiChad, epriestley
      
      Differential Revision: https://secure.phabricator.com/D9155
      cf6353e5
    • epriestley's avatar
      Serve .eot and .ttf through Celerity · 1ec21dc8
      epriestley authored
      Summary:
      D9153 fixed half of this, but exposed another issue, which is that we don't actually serve ".eot" and ".ttf" through Celerity right now.
      
      Make sure we include them in the routes.
      
      Test Plan:
        - Downloaded CSS, JS, TTF, EOT, WOFF, JPG, etc., through Celerity.
      
      Reviewers: btrahan, chad
      
      Reviewed By: chad
      
      Subscribers: epriestley
      
      Differential Revision: https://secure.phabricator.com/D9154
      1ec21dc8
    • epriestley's avatar
      Celerity update for good measure. · 404cc16c
      epriestley authored
      404cc16c
    • epriestley's avatar
      Properly transform Celerity resource URIs with query strings and anchors · 0b4f2c85
      epriestley authored
      Summary:
      See <https://github.com/facebook/phabricator/commit/6a45b7e67091a217a28414cdcc8d02b50875a7d6>
      
      These URIs have "?hack=iefix#ieieielol" on them, which the parser doesn't recognize as a known resource, so it errs on the side of caution by not rewriting.
      
      Instead, strip this bit off, attempt to rewrite, then put it back on.
      
      Test Plan: Loaded `font-awesome.css` locally and saw properly rewritten URIs.
      
      Reviewers: btrahan, chad
      
      Reviewed By: chad
      
      Subscribers: epriestley
      
      Differential Revision: https://secure.phabricator.com/D9153
      0b4f2c85
    • Brayden's avatar
      Added a popup to both start and end times with Phrequent allowing the user to... · 715bf1fd
      Brayden authored
      Added a popup to both start and end times with Phrequent allowing the user to edit their start/end times. Also added a field for notes on the stop time
      
      Summary:
      I have added a dialog box which pops up when a user starts or stops tracking time on an issue with Phrequent. These dialogs allow the user to modify the time if it so happens that they forgot to either clock in or out.
      I have also added a Note field in the dialog when a user stops tracking time. This allows them to enter a note about the time, and is entered into the database, but is currently (as far as I know) not visible anywhere in Phabricator.
      I have made these changes according to the suggestions found in T3568
      
      Also, upon clocking in or out, if the time entered is a future time, an error is returned and the user is asked to enter a valid time.
      
      Test Plan:
      Start tracking time and edit the start date/time, then end the time and edit that timestamp as well.
      Also, try entering future dates/times and ensure that the dialog reports an error and asks for the time again.
      Ensure that these edited times are recorded properly.
      
      Reviewers: epriestley, #blessed_reviewers
      
      Subscribers: epriestley, Korvin
      
      Maniphest Tasks: T3568
      
      Differential Revision: https://secure.phabricator.com/D9147
      715bf1fd
    • epriestley's avatar
      Fix an incorrect filtering of groupless results from Maniphest "Group By" query · 3e9a988c
      epriestley authored
      Summary:
      Fixes T5081. This block enforces policies and prevents you from seeing groups associated with projects you can't see. However, it incorrectly removes tasks which end up with no group key. This can happen in two cases:
      
        - The task isn't in a project.
        - The task is in a project, but the query includes an "In All Projects: <that project>" constraint. In that case, we don't show the group becuase it would always contain every task.
      
      Test Plan:
      Replicated the setup in T5081, saw an "Ungrouped" group with "Task A":
      
      {F155766}
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T5081
      
      Differential Revision: https://secure.phabricator.com/D9152
      3e9a988c
    • epriestley's avatar
      Remove documentation about obsolete Differential event listeners · 4925dd7e
      epriestley authored
      Summary:
      Fixes T5069. T2222 mostly-intentionally stopped emitting these.
      
      My sense is that users generally find event listeners (or, really, writing PHP at all) much less preferable to things like Herald rules or HTTP hooks. This is generally good, since those things are way easier to maintain, so I plan to continue moving away from events in cases where we have reasonable alternatives.
      
      We also generally have more and better alternatives now than when these were written.
      
      Test Plan: `grep`
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T5069
      
      Differential Revision: https://secure.phabricator.com/D9151
      4925dd7e
    • Bob Trahan's avatar
      Conpherence - fix send bug for users with no javascript · 45f4431a
      Bob Trahan authored
      Summary: we should do a redirect if its not an ajax request, which solves this problem since folks with no javascript aren't sending ajax requests. Fixes T5049.
      
      Test Plan: inverted the predicate, tried ajax requests, and got redirected
      
      Reviewers: epriestley
      
      Reviewed By: epriestley
      
      Subscribers: epriestley, Korvin
      
      Maniphest Tasks: T5049
      
      Differential Revision: https://secure.phabricator.com/D9149
      45f4431a
    • epriestley's avatar
      Allow dashboard panels to render in a headerless mode · 302d5bce
      epriestley authored
      Summary:
      Ref T4986. This mostly just makes tab panels a little nicer.
      
      Maybe this will be modal (header = "none", "edit", "view") in a few diffs but we can clean it up then if so.
      
      Test Plan: {F155491}
      
      Reviewers: btrahan, chad
      
      Reviewed By: chad
      
      Subscribers: epriestley
      
      Maniphest Tasks: T4986
      
      Differential Revision: https://secure.phabricator.com/D9143
      302d5bce
    • epriestley's avatar
      Add a "tabs" dashboard panel type · bf6e87da
      epriestley authored
      Summary:
      Ref T4986. Allows you to create a dashboard panel out of dashboard panels.
      
      bwahaha
      
      Test Plan:
      {F155472}
      
      {F155473}
      
      Reviewers: chad, btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T4986
      
      Differential Revision: https://secure.phabricator.com/D9141
      bf6e87da
    • epriestley's avatar
      Allow dashboard panels to detect rendering cycles and arrest stack overflows · 63acd90c
      epriestley authored
      Summary:
      Ref T4986. Ref T4983. Panels will soon be able to contain other panels, either via Remarkup (`{W1}`) or maybe through new types of meta-panels.
      
      Allow panels to detect that they are being rendered very deeply and/or within themselves.
      
      Test Plan: Faked some errors, got failed panel renders. Since panels can't //really// contain other panels yet, this doesn't really have an impact.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: chad, epriestley
      
      Maniphest Tasks: T4983, T4986
      
      Differential Revision: https://secure.phabricator.com/D9140
      63acd90c
    • epriestley's avatar
      Move Maniphest list rendering to SearchEngine · e5e95352
      epriestley authored
      Summary: Ref T4986. Moves Maniphest over. Nothing tricky here, just a complex block of rendering.
      
      Test Plan: Viewed Maniphest list. Created Maniphest panel. Used batch editor, drag-and-drop.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T4986
      
      Differential Revision: https://secure.phabricator.com/D9139
      e5e95352
    • epriestley's avatar
      Move paste rendering into SearchEngine · d653fa13
      epriestley authored
      Summary:
      Ref T4986. One note:
      
        - I've disabled syntax highlighting in the previews. When we miss caches this is just way way too slow and has frustrated me several times in the past. The value of syntax highlighting these snippets is not huge. We could maybe ajax this in or use it //if// we get a cache hit in the future, but just kill it for the moment.
      
      Test Plan: Viewed pastes. Created a paste panel.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T4986
      
      Differential Revision: https://secure.phabricator.com/D9138
      d653fa13
    • epriestley's avatar
      Move people list rendering into SearchEngine · 5b3ccfd9
      epriestley authored
      Summary:
      Ref T4986. One note:
      
        - We have a separate "browse directory" capability, to provide some soft privacy for users of public installs. Respect that policy within the SearchEngine.
        - Also restore some other icons I missed earlier.
      
      Test Plan:
        - Viewed people list.
        - Build people panel.
        - Verified people panel was just me without browse capability.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T4986
      
      Differential Revision: https://secure.phabricator.com/D9137
      5b3ccfd9
    • epriestley's avatar
      Move activity log rendering to a dashboard panel · e6f6a58f
      epriestley authored
      Summary:
      Ref T4986. Swap this in. Two minor notes:
      
        - I adjusted the SearchEngine to add an additional constraint when the viewer isn't an admin. This mostly stops us from doing a bunch of unnecessary work.
        - I fixed the settings panel to paginate (currently loads all results, slow in production).
      
      Test Plan: Viewed logs; viewed settings panel; created a dashboard panel.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T4986
      
      Differential Revision: https://secure.phabricator.com/D9136
      e6f6a58f
    • Bob Trahan's avatar
      Dashboards - add layout mode to dashboards · 63009556
      Bob Trahan authored
      Summary:
      This gets us the ability to specify a "layout mode" and which column a panel should appear in at panel add time. Changing the layout mode from a multi column view to a single column view or vice versa will reset all panels to the left most column.
      
      You can also drag and drop where columns appear via the "arrange" mode.
      
      We also have a new dashboard create flow. Create dashboard -> arrange mode. (As opposed to view mode.) This could all possibly use massaging.
      
      Fixes T4996.
      
      Test Plan:
      made a dashboard with panels in multiple columns. verified correct widths for various layout modes
      
      re-arranged collumns like whoa.
      
      Reviewers: chad, epriestley
      
      Reviewed By: epriestley
      
      Subscribers: epriestley, Korvin
      
      Maniphest Tasks: T4996
      
      Differential Revision: https://secure.phabricator.com/D9031
      63009556
    • Chad Little's avatar
      Add more information to Workboard Cards · 9d5f9d5c
      Chad Little authored
      Summary: Adds the taskid/objname and removes the white-space restrictions. Seems still decent.
      
      Test Plan:
      Test long and short title cards, test mobile and desktop
      
      {F155552}
      
      Reviewers: btrahan, epriestley
      
      Reviewed By: epriestley
      
      Subscribers: epriestley, Korvin
      
      Maniphest Tasks: T4863
      
      Differential Revision: https://secure.phabricator.com/D9148
      9d5f9d5c
  5. 15 May, 2014 5 commits
  6. 14 May, 2014 1 commit
    • epriestley's avatar
      Allow branch deletions to be pushed in Mercurial · 0ad06699
      epriestley authored
      Summary: Fixes T5050. This might not be 100% right in all edge cases, but it worked on everything I tried.
      
      Test Plan:
        - Pushed a branch deletion.
        - Pushed a branch creation.
        - Pushed a brnach creation + deletion.
        - Pushed a brnach deletion + creation.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T5050
      
      Differential Revision: https://secure.phabricator.com/D9122
      0ad06699