1. 20 May, 2015 2 commits
    • Chad Little's avatar
      [Redesign] Add Table, Collapse support to ObjectBox · a4784e03
      Chad Little authored
      Summary: Converts most all tables to be directly set via `setTable` to an ObjectBox. I think this path is more flexible design wise, as we can change the box based on children, and not just CSS. We also already do this with PropertyList, Forms, ObjectList, and Header. `setCollapsed` is added to ObjectBox to all children objects to bleed to the edges (like diffs).
      
      Test Plan: I did a grep of `appendChild($table)` as well as searches for `PHUIObjectBoxView`, also with manual opening of hundreds of files. I'm sure I missed 5-8 places. If you just appendChild($table) nothing breaks, it just looks a little funny.
      
      Reviewers: epriestley, btrahan
      
      Subscribers: Korvin, epriestley
      
      Differential Revision: https://secure.phabricator.com/D12955
      a4784e03
    • Chad Little's avatar
      667159eb
  2. 19 May, 2015 6 commits
  3. 18 May, 2015 2 commits
    • Chad Little's avatar
      [Redesign] Darken logo · 397bef68
      Chad Little authored
      Summary: Ref T8099, Just darkens the logo to {$darkbluetext}.
      
      Test Plan: Reload, see new logo
      
      Reviewers: epriestley
      
      Reviewed By: epriestley
      
      Subscribers: Korvin, epriestley
      
      Maniphest Tasks: T8099
      
      Differential Revision: https://secure.phabricator.com/D12911
      397bef68
    • Chad Little's avatar
      [Redesign] Remove PHUIActionHeaderView · e5920618
      Chad Little authored
      Summary: This adds minor functionality to PHUIHeaderView (icons, tags) that were previously on in ActionHeader. This allows us to remove the PHUIActionHeaderView outright in favor of just one Header class.
      
      Test Plan: Tested each callsite, workboards, hovercards, conpherence.
      
      Reviewers: btrahan, epriestley
      
      Reviewed By: epriestley
      
      Subscribers: Korvin, epriestley
      
      Differential Revision: https://secure.phabricator.com/D12902
      e5920618
  4. 17 May, 2015 2 commits
    • Chad Little's avatar
      [Redesign] Convert Dashboard Panels to ObjectBox · 490a6fe8
      Chad Little authored
      Summary: Moves Dashboard Panels to use PHUIObjectBoxView and PHUIHeaderView
      
      Test Plan:
      Tested the most common dashboards, Differential, Maniphest, Projects, Feed, Audit. Some edge cases (Legalpad, Macro) still are in progress. Tested laying out a new Dashboard, removing panels, moving panels.
      
      {F406170}
      
      Reviewers: btrahan, epriestley
      
      Reviewed By: epriestley
      
      Subscribers: Korvin, epriestley
      
      Maniphest Tasks: T8099
      
      Differential Revision: https://secure.phabricator.com/D12873
      490a6fe8
    • Chad Little's avatar
      [Redesign] New Simple button style, remove unused button states · c64ee2c4
      Chad Little authored
      Summary: Mostly testing a more colorful simple button state, feels decent in use. Removed other simple colors and toggle buttons which I couldn't find any use of.
      
      Test Plan:
      Test workboards, inline comments, uiexamples, profiles, documentview
      
      {F407159}
      
      Reviewers: btrahan, epriestley
      
      Reviewed By: epriestley
      
      Subscribers: Korvin, epriestley
      
      Differential Revision: https://secure.phabricator.com/D12882
      c64ee2c4
  5. 16 May, 2015 2 commits
  6. 15 May, 2015 1 commit
    • Chad Little's avatar
      [Redesign] New PHUIObjectItemListView · 46f6c268
      Chad Little authored
      Summary:
      New, cleaner, ObjectItemLists. Lots of minor style tweaks, basic overview:
      
       - Remove FootIcons
       - Remove Stackable
       - Remove Plain List
       - Add StatusIcon
       - Add setting ObjectList to an ObjectBox
       - Minor retouches to Headers
      
      Mostly, this should give us an idea of life with the new Object Lists. I'll take another application by application pass down the road. This mostly looks at implementation in Maniphest, Differential, Audit, Workboards. Checked a few other areas and dialogs while testing, and everything looks square.
      
      Test Plan: Maniphest, Differential, Homepage, Audit, People, and other applications. Drag reorder, etc.
      
      Reviewers: btrahan, epriestley
      
      Reviewed By: epriestley
      
      Subscribers: Korvin, epriestley
      
      Differential Revision: https://secure.phabricator.com/D12865
      46f6c268
  7. 14 May, 2015 3 commits
  8. 13 May, 2015 19 commits
    • lkassianik's avatar
      Refactor `PHUICalendarMonthView` to be a little more readable · 97611958
      lkassianik authored
      Summary: Refactor `PHUICalendarMonthView` to be a little more readable
      
      Test Plan: Make sure month view still works
      
      Reviewers: epriestley, #blessed_reviewers
      
      Reviewed By: epriestley, #blessed_reviewers
      
      Subscribers: Korvin, epriestley
      
      Differential Revision: https://secure.phabricator.com/D12831
      97611958
    • Joshua Spence's avatar
      Use PhutilInvalidStateException · 61b178f4
      Joshua Spence authored
      Summary: Use `PhutilInvalidStateException`. Depends on D12803.
      
      Test Plan: Unit tests pass.
      
      Reviewers: #blessed_reviewers, epriestley
      
      Reviewed By: #blessed_reviewers, epriestley
      
      Subscribers: Korvin, epriestley
      
      Differential Revision: https://secure.phabricator.com/D12829
      61b178f4
    • Joshua Spence's avatar
      Use `__CLASS__` instead of hard-coding class names · acb45968
      Joshua Spence authored
      Summary: Use `__CLASS__` instead of hard-coding class names. Depends on D12605.
      
      Test Plan: Eyeball it.
      
      Reviewers: #blessed_reviewers, epriestley
      
      Reviewed By: #blessed_reviewers, epriestley
      
      Subscribers: hach-que, Korvin, epriestley
      
      Differential Revision: https://secure.phabricator.com/D12806
      acb45968
    • Joshua Spence's avatar
      Destroy associated worker tasks and notifications · f3d5e22a
      Joshua Spence authored
      Summary: Fixes T7107. When destroying an object, destroy associated worker tasks and notifications.
      
      Test Plan:
      # Manually updated the `phabricator_worker.worker_activetask` table by setting `objectPHID` to the desired object.
      # Removed object with `./bin/remove destroy`.
      # Queried `phabricator_worker.worker_activetask` table.
      
      Reviewers: #blessed_reviewers, epriestley
      
      Reviewed By: #blessed_reviewers, epriestley
      
      Subscribers: Korvin, epriestley
      
      Maniphest Tasks: T7107
      
      Differential Revision: https://secure.phabricator.com/D12822
      f3d5e22a
    • lkassianik's avatar
      People calendar month view should pass AphrontFormDateControlValue for start... · f677394b
      lkassianik authored
      People calendar month view should pass AphrontFormDateControlValue for start range and end range to MonthView
      
      Summary: Fixes T8181, People calendar month view should pass AphrontFormDateControlValue for start range and end range to MonthView
      
      Test Plan: Open install/p/epriestley/calendar without error
      
      Reviewers: epriestley, #blessed_reviewers
      
      Reviewed By: epriestley, #blessed_reviewers
      
      Subscribers: Korvin, epriestley
      
      Maniphest Tasks: T8181
      
      Differential Revision: https://secure.phabricator.com/D12827
      f677394b
    • epriestley's avatar
      Implement a user profile image cache · b36a8fa8
      epriestley authored
      Summary:
      Ref T7707. The general form of this can probably be refined somewhat over time as we have more use cases.
      
      I put this cache on the user object itself because we essentially always need this data and it's trivial to invalidate the cache (we can do it implicilty during reads).
      
      Also fix an issue with short, wide images not thumbnailing properly after recent changes.
      
      Test Plan:
        - Loaded some pages; saw caches write; saw good pictures.
        - Reloaded; saw cache reads; saw good pictures.
        - Changed profile picture; saw immediate update.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T7707
      
      Differential Revision: https://secure.phabricator.com/D12826
      b36a8fa8
    • epriestley's avatar
      Make CSS agnostic to underlying profile image size · b06b3d79
      epriestley authored
      Summary: Ref T7707. My analysis there was a bit confused and this isn't really all that important, but seems cleaner and desirable to be agnostic to the underlying image size.
      
      Test Plan: Tested Safari, Firefox and Chrome with a variety of profile image sizes.
      
      Reviewers: chad, btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T7707
      
      Differential Revision: https://secure.phabricator.com/D12825
      b06b3d79
    • epriestley's avatar
      Convert inline profile image transforms to new transformations · 47b14c9b
      epriestley authored
      Summary:
      Ref T7707. Fixes T7879. Fixes T4406. When creating profile images:
      
        - Use the new transforms;
        - mark them as "profile" images so they're forced to the most-open policies.
      
      Test Plan:
        - Set restrictive default file policies.
        - Changed profile picture, project pictures, etc. Verified they were visible to logged-out users.
        - Registered via OAuth.
        - Updated a Conpherence thread image.
        - Browsed around looking for profile images, fixed sizing on everything I could find.
      
      Reviewers: chad, btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T7879, T7707, T4406
      
      Differential Revision: https://secure.phabricator.com/D12821
      47b14c9b
    • epriestley's avatar
      Convert "profile" image transforms to the new pathway · 7e365eb8
      epriestley authored
      Summary:
      Ref T7707. This ends up being sort of complicated: to support 100x100 images in T4406, we need to scale small images //up// so they look OK when we scale them back down with `background-size` in CSS.
      
      The rest of it is mostly straightforward.
      
      Test Plan:
        - Did an OAuth handshake and saw a scaled-up, scaled-down profile picture that looked correct.
        - Used Pholio, edited pholio, embedded pholio.
        - Uploaded a bunch of small/weird/big images and regenerated all their transforms.
        - Uploaded some text files into Pholio.
        - Grepped for removed methods, etc.
      
      Reviewers: chad, btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T7707
      
      Differential Revision: https://secure.phabricator.com/D12818
      7e365eb8
    • epriestley's avatar
      Convert "preview" image transforms to new pathway · 75f62112
      epriestley authored
      Summary: Ref T7707. Move the 220px (file uploads) and 100px (Pholio thumbgrid) previews over to the new stuff.
      
      Test Plan: Uploaded a bunch of images to remarkup and Pholio; they generated reasonable results in the web UI.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T7707
      
      Differential Revision: https://secure.phabricator.com/D12814
      75f62112
    • epriestley's avatar
      Support imagemagick on new image transform pathway · 200e525d
      epriestley authored
      Summary: Ref T7707. For animated GIFs, use imagemagick if it is available.
      
      Test Plan: Generated small versions of a bunch of different GIFs.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T7707
      
      Differential Revision: https://secure.phabricator.com/D12813
      200e525d
    • epriestley's avatar
      Implement error-checked "preview" transforms · fd1e0bc4
      epriestley authored
      Summary: Ref T7707. These transforms have a single maximum dimension instead of fixed X and Y dimensions.
      
      Test Plan: Transformed a bunch of files with different sizes/aspect ratios, got sensible results.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T7707
      
      Differential Revision: https://secure.phabricator.com/D12812
      fd1e0bc4
    • epriestley's avatar
      Implement new profile transform with amazing "error handling" feature · 2bdb5404
      epriestley authored
      Summary:
      Ref T7707. Ref T4406. Ref T2479. This implements the profile-style (fixed width and height) transforms in a modern way.
      
        - Added a "regnerate" feature to the support UI to make testing easier and surface errors.
        - Laboriously check errors from everything.
        - Fix the profile thumbnailing so it crops properly instead of leaving margins.
        - Also defuses the "gigantic white PNG" attack.
      
      This doesn't handle the imagemagick case (for animated GIFs) yet.
      
      Test Plan:
        - Uploaded a variety of wide/narrow/small/large files and converted them into sensible profile pictures.
        - Tried to thumbnail some text files.
        - Set the pixel-size and file-size limits artificially small and hit them.
        - Used "regenerate" a bunch while testing the rest of this stuff.
        - Verified that non-regenerate flows still produce a default/placeholder image.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T4406, T2479, T7707
      
      Differential Revision: https://secure.phabricator.com/D12811
      2bdb5404
    • epriestley's avatar
      Fix bad aspect ratio on some file previews · a19b0029
      epriestley authored
      Summary: Ref T7707. Fixes T4724. I misread the report on T4724; this is trivial. We're just reading the wrong properties in setting "width" and "height" attributes, the actual thumbnailing logic is fine.
      
      Test Plan: Uploaded image from T4724, saw it have a proper aspect ratio.
      
      Reviewers: btrahan, chad
      
      Reviewed By: chad
      
      Subscribers: spicyj, epriestley
      
      Maniphest Tasks: T4724, T7707
      
      Differential Revision: https://secure.phabricator.com/D12810
      a19b0029
    • epriestley's avatar
      Make modular transforms handle exceptions gracefully · 65ff4084
      epriestley authored
      Summary:
      Ref T7707. Ref T2479. Ref T5258.
      
      The thumbnailing code is some of the only code in the codebase which doesn't use exceptions to handle errors. I'm going to convert it to use exceptions; make sure they do something reasonable at top level.
      
      Strategy here is:
      
        - By default, we just fall back to a placeholder image if anything goes wrong.
        - Later, I'll likely add a "debug" workflow from the new "Transforms" UI which will surface the specific exception instead (the code can't really raise any interesting exceptions right now).
      
      Test Plan: Faked an exception and saw some reasonable default images.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T5258, T2479, T7707
      
      Differential Revision: https://secure.phabricator.com/D12809
      65ff4084
    • epriestley's avatar
      Modularize file transforms and provide a "transforms" UI · c998e44b
      epriestley authored
      Summary:
      Ref T7707. Available transforms are currently relatively hard-coded and don't really have any support UI.
      
      Modularize them so we can build some support UI.
      
      This doesn't actually //use// any of the new stuff yet: I want to make a clean cutover once I fix the aspect ratio stuff so I can pick up a cachekey/URI change as a side effect.
      
      Test Plan: {F400524}
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: chad, epriestley
      
      Maniphest Tasks: T7707
      
      Differential Revision: https://secure.phabricator.com/D12808
      c998e44b
    • epriestley's avatar
      Remove unused file transforms · ae32d1af
      epriestley authored
      Summary:
      Ref T7707.
      
        - Modernize the file transform endpoint a bit.
        - Delete transforms which are no longer used in the product.
      
      Test Plan:
        - Used Pholio (navigation, inline thumbs).
        - Uploaded images (embed thumb).
        - Changed profile picture (profile thumb).
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T7707
      
      Differential Revision: https://secure.phabricator.com/D12807
      ae32d1af
    • Bob Trahan's avatar
      Conpherence - change message rendering logic to eradicate possibility of duplicates · 6c049d06
      Bob Trahan authored
      Summary:
      Fixes T6713. Before this diff, we would update the DOM when various requests came back, but the logic to erase race conditions proved too tricky for me to get right. Instead, change the algorithm up and keep a set of transaction ids around per thread. When its time to update the transactions, sort the list of ids and just render the whole darn set again.
      
      To make this work, this ends up adding transacton ids to fake transactons like "show older" and date markers. This is able to work by using a float sort and giving these transactions ids that are .5 from being an integer and in the right place numerically.
      
      Test Plan: for durable column, clicked show older and it worked. sent a message and it worked. for main view, clicked show older and it worked. sent a message and it worked.
      
      Reviewers: epriestley
      
      Reviewed By: epriestley
      
      Subscribers: Korvin, epriestley
      
      Maniphest Tasks: T6713
      
      Differential Revision: https://secure.phabricator.com/D12819
      6c049d06
    • lkassianik's avatar
      Month view should adjust to display badges with event count instead of event... · 20b7308d
      lkassianik authored
      Month view should adjust to display badges with event count instead of event list on mobile and tablets.
      
      Summary: Ref T4392, Month view should adjust to display badges with event count instead of event list on mobile and tablets.
      
      Test Plan: Open month view, adjust browser as mobile size, event lists should turn into badges with event counts and calendar days should be links to day views of those days.
      
      Reviewers: epriestley, #blessed_reviewers, chad
      
      Reviewed By: epriestley, #blessed_reviewers
      
      Subscribers: Korvin, epriestley
      
      Maniphest Tasks: T4392
      
      Differential Revision: https://secure.phabricator.com/D12820
      20b7308d
  9. 12 May, 2015 3 commits
    • Bob Trahan's avatar
      Quicksand - add phame live URLs to quicksand blacklist · 7bfbc46a
      Bob Trahan authored
      Summary: Fixes T8160. AFAIK this is the only route pattern that needs blacklisting. Double checked that the resource controller is good to go; it is because its a celerity resource controller descendant and returns data differently than normal controllers
      
      Test Plan: Clicked "view live" on a block. Read a few posts. Clicked into a post and read it. Clicked an image and it linked to the image.
      
      Reviewers: epriestley
      
      Reviewed By: epriestley
      
      Subscribers: Korvin, epriestley
      
      Maniphest Tasks: T8160
      
      Differential Revision: https://secure.phabricator.com/D12817
      7bfbc46a
    • Bob Trahan's avatar
      Conpherence - make show older messages work correctly in durable column · 048eb6cf
      Bob Trahan authored
      Summary:
      Fixes T8009. This was basically moving the behavior from conpherence full behavior menu into the ConpherenceThreadManager so it could be re used in the durable column.
      
      The durable column bit has no special styles - its just a link - but it seems to work well enough. I think it could be removed altogether if / when we add some automagical scrolling back into history stuff.
      
      Test Plan: loaded up a conpherence in a durable column and used 'show older messages' successfully. loaded up a conpherence in regular view mid transaction and used show older and show newer successfully
      
      Reviewers: epriestley
      
      Reviewed By: epriestley
      
      Subscribers: Korvin, epriestley
      
      Maniphest Tasks: T8009
      
      Differential Revision: https://secure.phabricator.com/D12816
      048eb6cf
    • lkassianik's avatar
      Calendar month view "today" indicator should be a blue bar across the bottom of the day cell · 8e9ee863
      lkassianik authored
      Summary: Ref T4392, Calendar month view "today" indicator should be a blue bar across the bottom of the day cell
      
      Test Plan: Open month view of Calendar, today should have a blue bar across the bottom of the day cell
      
      Reviewers: chad, epriestley, #blessed_reviewers
      
      Reviewed By: epriestley, #blessed_reviewers
      
      Subscribers: Korvin, epriestley
      
      Maniphest Tasks: T4392
      
      Differential Revision: https://secure.phabricator.com/D12815
      8e9ee863