Page MenuHomePhabricator
Feed Advanced Search

Mar 19 2018

avivey added a comment to T13105: Plans: Rich presentation and diff rendering pipelines for various file types.

I'm wondering how this should interact with T8407: Control diffusion's syntax highlighting.

Mar 19 2018, 1:11 PM · Plans, Files, Differential, Diffusion
mydeveloperday added a comment to T13105: Plans: Rich presentation and diff rendering pipelines for various file types.

It would be great if there was an ability for installations to write custom viewers for formats that are either more obscure (MIF Framemaker format), or even in house formats (.myformat)

Mar 19 2018, 11:18 AM · Plans, Files, Differential, Diffusion

Mar 16 2018

epriestley moved T13105: Plans: Rich presentation and diff rendering pipelines for various file types from Backlog to Soon on the Plans board.
Mar 16 2018, 10:57 PM · Plans, Files, Differential, Diffusion

Mar 14 2018

epriestley updated the task description for T13105: Plans: Rich presentation and diff rendering pipelines for various file types.
Mar 14 2018, 6:24 PM · Plans, Files, Differential, Diffusion
epriestley updated the task description for T13105: Plans: Rich presentation and diff rendering pipelines for various file types.
Mar 14 2018, 2:55 PM · Plans, Files, Differential, Diffusion
epriestley updated the task description for T13105: Plans: Rich presentation and diff rendering pipelines for various file types.
Mar 14 2018, 2:48 PM · Plans, Files, Differential, Diffusion
epriestley added a project to T13105: Plans: Rich presentation and diff rendering pipelines for various file types: Plans.
Mar 14 2018, 6:43 AM · Plans, Files, Differential, Diffusion
epriestley triaged T13105: Plans: Rich presentation and diff rendering pipelines for various file types as Normal priority.
Mar 14 2018, 6:43 AM · Plans, Files, Differential, Diffusion

Mar 13 2018

epriestley added a revision to T13103: Document favicon customization and validate the "ui.favicons" configuration option: D19212: Allow PhutilSortVector to self-sort.
Mar 13 2018, 4:30 PM · Files, Aphront, Infrastructure

Mar 12 2018

epriestley renamed T13103: Document favicon customization and validate the "ui.favicons" configuration option from Make favicons composited and customizable to Document favicon customization and validate the "ui.favicons" configuration option.
Mar 12 2018, 10:34 PM · Files, Aphront, Infrastructure
epriestley added a comment to T13103: Document favicon customization and validate the "ui.favicons" configuration option.

(This still needs documentation and validation for the configuration option before it's done, but I don't have any short-term plans to pursue those.)

Mar 12 2018, 10:31 PM · Files, Aphront, Infrastructure
epriestley added a comment to T13103: Document favicon customization and validate the "ui.favicons" configuration option.

To customize this:

Mar 12 2018, 10:28 PM · Files, Aphront, Infrastructure
epriestley added a revision to T13103: Document favicon customization and validate the "ui.favicons" configuration option: D19209: Dynamically composite favicons from customizable sources.
Mar 12 2018, 10:14 PM · Files, Aphront, Infrastructure
epriestley added a comment to T13103: Document favicon customization and validate the "ui.favicons" configuration option.

Safari, Chrome, and Firefox all seem fine with PNG icons so I think we don't need to deal with actual .ico icons.

Mar 12 2018, 7:45 PM · Files, Aphront, Infrastructure
epriestley triaged T13103: Document favicon customization and validate the "ui.favicons" configuration option as Normal priority.
Mar 12 2018, 7:14 PM · Files, Aphront, Infrastructure

Mar 8 2018

epriestley closed T5258: Memes use older image transform code without modern error handling as Resolved by committing rPa3d282d33efe: Somewhat improve meme transform code so it is merely very bad.
Mar 8 2018, 7:09 PM · Restricted Project, Files, Macros
epriestley added a revision to T5258: Memes use older image transform code without modern error handling: D19201: Somewhat improve meme transform code so it is merely very bad.
Mar 8 2018, 6:50 PM · Restricted Project, Files, Macros
epriestley added a revision to T5258: Memes use older image transform code without modern error handling: D19200: PhabricatorMemeEngine HA HA HA HA.
Mar 8 2018, 5:38 PM · Restricted Project, Files, Macros
epriestley added a revision to T5258: Memes use older image transform code without modern error handling: D19198: Remove some old image transform code with no callsites.
Mar 8 2018, 4:31 PM · Restricted Project, Files, Macros

Mar 1 2018

epriestley added a comment to T6445: Rendering SVG images.

Also relevant:

Mar 1 2018, 9:23 PM · Wikimedia, Restricted Project, Files
epriestley added a comment to T6445: Rendering SVG images.

(For completeness, this came up via the support queue in PHI411.)

Mar 1 2018, 9:00 PM · Wikimedia, Restricted Project, Files
epriestley closed T13094: Improve file behaviors around POST requests and downloads as Resolved.

These changes are all deployed here, now. The embed element only got touched lightly but is at least slightly better. See T4340 for further adventures in Content-Security-Policy.

Mar 1 2018, 1:26 AM · Security, Files
epriestley added a revision to T13094: Improve file behaviors around POST requests and downloads: D19157: Stop using forms to download files in file embed and lightbox elements.
Mar 1 2018, 1:19 AM · Security, Files
epriestley added a revision to T13094: Improve file behaviors around POST requests and downloads: D19156: Never generate file download forms which point to the CDN domain, tighten "form-action" CSP.
Mar 1 2018, 12:55 AM · Security, Files

Feb 28 2018

epriestley added a revision to T13094: Improve file behaviors around POST requests and downloads: D19155: Remove defunct "download" route in Files pointing to nonexistent controller.
Feb 28 2018, 11:21 PM · Security, Files
epriestley added a comment to T13094: Improve file behaviors around POST requests and downloads.
  • "Download" is a form, so you can't command-click it.
  • The whole thing is a <div href="..." /> (huh?) so you can't command-click it to open it in a new window.
  • When you click it for a non-image file, you get this weird interstitial that you can leave comments on if you click an additional button, which uses janky animations and AJAX. This feature is pretty half-baked and I've never seen anyone actually use it. It's possibly a net negative in its current form.
  • There is no way to actually show the text file in the browser! ARHGRH
Feb 28 2018, 11:08 PM · Security, Files
epriestley added a comment to T13094: Improve file behaviors around POST requests and downloads.

Okay, here's another one of these:

Feb 28 2018, 10:52 PM · Security, Files
epriestley triaged T13094: Improve file behaviors around POST requests and downloads as Normal priority.
Feb 28 2018, 10:50 PM · Security, Files

Dec 28 2017

joshuaspence added a comment to T5155: Evaluate support for AWS IAM Roles in S3 Client.

FWIW, I am using a custom file and mail engine that utilises the AWS SDK and supports instance profile credentials. See P2082 and P2083. You need to install and require the AWS SDK before using these extensions.

Dec 28 2017, 2:10 AM · Files

Dec 18 2017

epriestley closed T7789: Support Git Large File Storage as Resolved.

T10604 and T4369 do not impact LFS (broadly, they apply only to POST requests, and LFS uses PUT to upload data).

Dec 18 2017, 5:47 PM · Customer Impact, Restricted Project, Files, Diffusion
epriestley removed subtasks for T7789: Support Git Large File Storage: T10604: Allow application code to stream request data, T4369: Phabricator HTTP repository hosting has fairly severe scalability limits.
Dec 18 2017, 5:45 PM · Customer Impact, Restricted Project, Files, Diffusion

Dec 13 2017

epriestley added a comment to T7789: Support Git Large File Storage.

We have an outstanding support issue (PHI204) about timeouts with large files.

Dec 13 2017, 2:49 PM · Customer Impact, Restricted Project, Files, Diffusion
epriestley added a revision to T7789: Support Git Large File Storage: D18830: Stop trying to assess the image dimensions of large files and file chunks.
Dec 13 2017, 2:49 PM · Customer Impact, Restricted Project, Files, Diffusion
epriestley added a comment to T7789: Support Git Large File Storage.

Per above, pushes to staging areas did not push LFS in the past. We should figure out what the state of the world is now and try to resolve it in the upstream, and document anything we can't work around or resolve.

Dec 13 2017, 2:14 PM · Customer Impact, Restricted Project, Files, Diffusion
epriestley added a comment to T7789: Support Git Large File Storage.

@Grimeh, above, reports that this doesn't work over HTTP. I believe it does, but we should verify this.

Dec 13 2017, 2:08 PM · Customer Impact, Restricted Project, Files, Diffusion
epriestley added a revision to T7789: Support Git Large File Storage: D18828: Restore the "Download from Git LFS" UI button to Diffusion.
Dec 13 2017, 2:04 PM · Customer Impact, Restricted Project, Files, Diffusion
epriestley added a revision to T7789: Support Git Large File Storage: D18827: Add a Herald pre-commit field for detecting LFS usage.
Dec 13 2017, 1:59 PM · Customer Impact, Restricted Project, Files, Diffusion
epriestley added a revision to T7789: Support Git Large File Storage: Restricted Differential Revision.
Dec 13 2017, 1:46 PM · Customer Impact, Restricted Project, Files, Diffusion
epriestley added a revision to T7789: Support Git Large File Storage: D18825: Move the Git LFS gate to dedicated (non-prototype) config.
Dec 13 2017, 1:43 PM · Customer Impact, Restricted Project, Files, Diffusion

Nov 16 2017

hach-que added a comment to T7789: Support Git Large File Storage.

I don't see this increasing storage usage - just shifting it. Right now because Phacility doesn't support LFS, all those large files are going straight into Git, which not only ends up on an EBS SSD, but also has to be cloned every single time which increases bandwidth usage. At least with LFS those costs are going to be from S3 (which I believe is cheaper than EBS SSD per GB), and bandwidth would be down as new clones no longer need to pull every version of a large file in the Git history.

Nov 16 2017, 12:55 AM · Customer Impact, Restricted Project, Files, Diffusion

Nov 15 2017

epriestley added a comment to T7789: Support Git Large File Storage.

I think the current state of things is:

Nov 15 2017, 6:02 PM · Customer Impact, Restricted Project, Files, Diffusion

Oct 3 2017

storrgie added a comment to T7789: Support Git Large File Storage.

@epriestley I've pinged you via pm about prioritization.

Oct 3 2017, 1:52 PM · Customer Impact, Restricted Project, Files, Diffusion

Sep 11 2017

epriestley closed T12932: GC old Differential changesets into File storage as Wontfix.

Per above, not planning to actually go forward with the GC step since the impact isn't ultimately very large.

Sep 11 2017, 11:09 PM · Files, Differential, Phacility, Ops
epriestley added a comment to T12932: GC old Differential changesets into File storage.

Looking at the actual data, I'm less sure this is actually a good strategy. Here's the data for this install, considering the production configuration of storage.mysql-engine.max-size as 65535:

Sep 11 2017, 4:00 PM · Files, Differential, Phacility, Ops
epriestley added a revision to T12932: GC old Differential changesets into File storage: D18585: Automatically archive old Differential hunks into file storage.
Sep 11 2017, 3:51 PM · Files, Differential, Phacility, Ops
epriestley added a revision to T12932: GC old Differential changesets into File storage: D18584: Support storage of Differential hunk data in Files.
Sep 11 2017, 3:31 PM · Files, Differential, Phacility, Ops

Aug 24 2017

epriestley added a comment to T7789: Support Git Large File Storage.

See Planning for information on planning and timelines.

Aug 24 2017, 12:41 PM · Customer Impact, Restricted Project, Files, Diffusion
lazytiger added a comment to T7789: Support Git Large File Storage.
Aug 24 2017, 9:07 AM · Customer Impact, Restricted Project, Files, Diffusion

Aug 10 2017

epriestley closed T12948: Remove the `bin/files purge` workflow as Resolved by committing rP8443366f32d3: Remove `bin/files purge` workflow.
Aug 10 2017, 3:49 PM · Bug Report, Files
joshuaspence added a comment to T12948: Remove the `bin/files purge` workflow.

Thanks for the detailed response, I certainly didn't expect it.

Aug 10 2017, 1:21 PM · Bug Report, Files
epriestley added a revision to T12948: Remove the `bin/files purge` workflow: D18384: Remove `bin/files purge` workflow.
Aug 10 2017, 1:11 PM · Bug Report, Files
epriestley added a comment to T12948: Remove the `bin/files purge` workflow.

I believe the location of the OOM is a little misleading -- the real problem is loadFileData(). This returns the entire file as a string, and will thus:

Aug 10 2017, 1:04 PM · Bug Report, Files

Aug 6 2017

joshuaspence updated the task description for T8593: Allow files to have a description.
Aug 6 2017, 3:53 AM · Restricted Project, Files
chad closed T8593: Allow files to have a description as Wontfix.

Yeah this feels low value vs. building Dropbox. Closing in favor of overengineering.

Aug 6 2017, 3:48 AM · Restricted Project, Files
joshuaspence added a comment to T12948: Remove the `bin/files purge` workflow.

I wonder if this OOM error can also be hit in other workflow though, given that it seems to occur in PhabricatorFileStorageEngine::getRawFileDataIterator.

Aug 6 2017, 1:28 AM · Bug Report, Files
joshuaspence added a comment to T12951: File transform regeneration should not rely on passing a query string to a CDN'able resource.

Yep, agreed that the re-targeted proposal is a better solution... I had just assumed that this was a documentation oversight.

Aug 6 2017, 12:15 AM · Bug Report, Files, Setup

Aug 3 2017

epriestley merged T12950: Regenerating thumbnails for memes is difficult into T5258: Memes use older image transform code without modern error handling.
Aug 3 2017, 5:40 PM · Restricted Project, Files, Macros
epriestley renamed T12948: Remove the `bin/files purge` workflow from `bin/files purge` can run out of memory for large files to Remove the `bin/files purge` workflow.
Aug 3 2017, 2:53 PM · Bug Report, Files
epriestley added a comment to T12951: File transform regeneration should not rely on passing a query string to a CDN'able resource.

I retargeted this; I think the proposed solution is not the best solution we can find to the problem.

Aug 3 2017, 2:53 PM · Bug Report, Files, Setup
epriestley renamed T12951: File transform regeneration should not rely on passing a query string to a CDN'able resource from CloudFront documentation should recommend forwarding query string to File transform regeneration should not rely on passing a query string to a CDN'able resource.
Aug 3 2017, 2:52 PM · Bug Report, Files, Setup

Aug 2 2017

joshuaspence created T12951: File transform regeneration should not rely on passing a query string to a CDN'able resource.
Aug 2 2017, 9:24 PM · Bug Report, Files, Setup
epriestley triaged T12948: Remove the `bin/files purge` workflow as Wishlist priority.

We should probably just remove this workflow, it's not clear to me that there's ever any reason for anyone to run bin/files purge in the modern codebase.

Aug 2 2017, 2:53 PM · Bug Report, Files
joshuaspence created T12948: Remove the `bin/files purge` workflow.
Aug 2 2017, 12:08 PM · Bug Report, Files

Aug 1 2017

epriestley added a comment to T12932: GC old Differential changesets into File storage.

Just keeping an eye on this: growth on these shards is slow and both are still below the 80% caution threshold, so I'm punting this for another week.

Aug 1 2017, 4:03 PM · Files, Differential, Phacility, Ops

Jul 31 2017

joshuaspence added a revision to T12919: Healthcheck endpoint for alternate file domain: D18303: Allow `/status/` endpoint to be served through alternate file domain.
Jul 31 2017, 11:13 AM · Files

Jul 27 2017

epriestley closed T12515: Upgrading: File Integrity Hashing and SHA1 as Resolved.

We appear to have survived this.

Jul 27 2017, 2:47 PM · Files, Guides, Security

Jul 24 2017

epriestley added a comment to T12932: GC old Differential changesets into File storage.

Only db001 and db002 are anywhere close to having problems with this and they still have a large amount of headroom, and we can bin/storage optimize at least some amount of additional headroom into existence, so this isn't "we're about to fall off a cliff" urgent or anything, but would be nice to tackle sooner than later.

Jul 24 2017, 3:53 PM · Files, Differential, Phacility, Ops
epriestley created T12932: GC old Differential changesets into File storage.
Jul 24 2017, 3:47 PM · Files, Differential, Phacility, Ops

Jul 12 2017

joshuaspence created T12919: Healthcheck endpoint for alternate file domain.
Jul 12 2017, 9:58 PM · Files
epriestley moved T7789: Support Git Large File Storage from Backlog to Future on the Customer Impact board.
Jul 12 2017, 9:57 PM · Customer Impact, Restricted Project, Files, Diffusion
epriestley added a project to T7789: Support Git Large File Storage: Customer Impact.

A customer is hitting an issue where pushes to staging areas do not push LFS objects. I'd guess this is an LFS upstream problem based on a hazy recollection of events here.

Jul 12 2017, 9:56 PM · Customer Impact, Restricted Project, Files, Diffusion

Jul 9 2017

chad updated the image for Files from Restricted File to F5039281: profile.
Jul 9 2017, 7:33 PM

Jun 10 2017

20after4 added a comment to T7593: Allow administrators to disable files to prevent "l33t w4r3z" abuse cases.

FWIW we have seen several users attempting to distribute l33t w4r3z via Wikimedia's instance of Phabricator. I had to set file upload limits to < 8MB in order to prevent chunked file storage.

Jun 10 2017, 12:36 AM · Abuse, Files

Jun 1 2017

ckolos added a comment to T5155: Evaluate support for AWS IAM Roles in S3 Client.

makes sense. thanks!

Jun 1 2017, 8:57 PM · Files
epriestley added a comment to T5155: Evaluate support for AWS IAM Roles in S3 Client.

There may also be a similar attack possible by adding address in local network space as a JIRA install, outbound HTTP hook (unlikely a problem today, but maybe in the future), Phabricator OAuth install, LDAP server, etc. Today, we're generally balancing things as "by default, it's OK for administrators to register services in local network space".

Jun 1 2017, 8:56 PM · Files
epriestley added a comment to T5155: Evaluate support for AWS IAM Roles in S3 Client.

Harbormaster and Diffusion do not use the outbound blacklist, since it would prevent users from interacting with local-network build hosts (for example, a local install of Jenkins) or local-network repositories (for example, a local install of GitHub Enterprise). We currently consider these use cases to be common / valuable.

Jun 1 2017, 8:47 PM · Files
ckolos added a comment to T5155: Evaluate support for AWS IAM Roles in S3 Client.

Shouldn't this behavior be blocked by the default settings of security.outbound-blacklist? 169.254.0.0/16 appears in that list, but as you say, a Harbormaster fetch to http://169.254.169.254 succeeds as expected

Jun 1 2017, 8:13 PM · Files

May 29 2017

bbrdaric asked Q624: How to rename files in Files app?.
May 29 2017, 8:03 AM · Files

May 13 2017

epriestley added a comment to T5155: Evaluate support for AWS IAM Roles in S3 Client.

No. It's not that the builds can access credentials on the build hosts -- that part is a general problem -- it's that the Phabricator application hosts can be made to divulge their credentials (which are necessarily the same as the S3 credentials, because the same hosts must access S3) by instructing them to run builds that use 169.254.169.254 as a "build server".

May 13 2017, 1:18 AM · Files
joshuaspence added a comment to T5155: Evaluate support for AWS IAM Roles in S3 Client.

As a general note here, we've been vulnerable to credential theft from the local service throughout this discussion, and still are until T12701 resolves: attackers can create a Harbormaster build plan which sends requests to 169.254.169.254, then read credentials from the output of the "failed build".

May 13 2017, 12:44 AM · Files

May 12 2017

epriestley added a comment to T5155: Evaluate support for AWS IAM Roles in S3 Client.

Users can also currently add http://169.254.169.254/ as a Git repository, although I'm not certain if they can actually capture credentials by doing this.

May 12 2017, 5:52 PM · Files
epriestley added a comment to T5155: Evaluate support for AWS IAM Roles in S3 Client.

As a general note here, we've been vulnerable to credential theft from the local service throughout this discussion, and still are until T12701 resolves: attackers can create a Harbormaster build plan which sends requests to 169.254.169.254, then read credentials from the output of the "failed build".

May 12 2017, 5:51 PM · Files

Apr 28 2017

epriestley closed T12651: Update `bin/host download` to use the newer API as Resolved by committing Restricted Diffusion Commit.
Apr 28 2017, 1:03 AM · Ops, Files, Phacility
epriestley added a revision to T12651: Update `bin/host download` to use the newer API: D17800: Fix two minor issues with "arc download".
Apr 28 2017, 12:22 AM · Ops, Files, Phacility

Apr 27 2017

epriestley added a revision to T12651: Update `bin/host download` to use the newer API: Restricted Differential Revision.
Apr 27 2017, 11:17 PM · Ops, Files, Phacility
epriestley added a project to T12651: Update `bin/host download` to use the newer API: Ops.
Apr 27 2017, 4:47 PM · Ops, Files, Phacility
epriestley created T12651: Update `bin/host download` to use the newer API.
Apr 27 2017, 4:43 PM · Ops, Files, Phacility

Apr 24 2017

ivo added a comment to T5293: Respect orientation metadata in Pholio and/or allow images to be rotated.

We run into this as well, mainly when uploading photos of flipover sheets and whiteboards (to Maniphest or Phriction). Our workaround for now is to + click, so the image will render directly into the browser instead of using the lightbox.

Apr 24 2017, 2:09 PM · Files, Pholio

Apr 20 2017

epriestley added a comment to T12606: Investigate browser-upload-to-S3 to reduce load on web pool during large file uploads.

Maybe "duration of all file upload requests" / "duration of all requests". That isn't a perfect metric but should be a reasonable-ish proxy for real resources we care about, I think.

Apr 20 2017, 8:00 PM · Phacility, Files
amckinley added a comment to T12606: Investigate browser-upload-to-S3 to reduce load on web pool during large file uploads.

What would the appropriate query be? "Number of uploaded files with size greater than X as a percentage of all files/file bytes"?

Apr 20 2017, 7:57 PM · Phacility, Files
epriestley added a comment to T12606: Investigate browser-upload-to-S3 to reduce load on web pool during large file uploads.

nice progress bar

Apr 20 2017, 7:49 PM · Phacility, Files
epriestley added a comment to T12606: Investigate browser-upload-to-S3 to reduce load on web pool during large file uploads.

I suspect this isn't worth the complexity. If you drag-and-drop, the maximum request size is 4MB (one chunk) and we get a nice progress bar, resumable uploads, and the bucket can remain completely private. And we can do encryption and deduplicate file blocks.

Apr 20 2017, 7:45 PM · Phacility, Files
amckinley created T12606: Investigate browser-upload-to-S3 to reduce load on web pool during large file uploads.
Apr 20 2017, 7:34 PM · Phacility, Files

Apr 18 2017

amckinley closed T12587: Migrate file deletion to modular transactions as Resolved by committing rPece9579d258d: Switch File deletion to use ModularTransactions.
Apr 18 2017, 8:01 PM · Files
amckinley added a revision to T12587: Migrate file deletion to modular transactions: D17723: Switch File deletion to use ModularTransactions.
Apr 18 2017, 7:23 PM · Files
epriestley added a comment to T12587: Migrate file deletion to modular transactions.

We'd also have to add locking to prevent a race like this:

Apr 18 2017, 7:11 PM · Files
epriestley added a comment to T12587: Migrate file deletion to modular transactions.

My gut is to wait for users to hit those cases before building solutions for them since I think it's unlikely any of that will ever turn into a real problem.

Apr 18 2017, 7:07 PM · Files
amckinley added a comment to T12587: Migrate file deletion to modular transactions.

@epriestley should it be possible to un-delete a File, the same way it's possible to archive and then un-archive a Paste? The only benefit I can see is that in an emergency where someone accidentally kicked off a delete for a bunch of files they didn't intend to, someone could stop the daemons and perform an undelete operation before restarting the daemons (instead of flushing the worker queue). I actually mostly coded it this way already by following along with PhabricatorPasteStatusTransaction.

Apr 18 2017, 6:47 PM · Files
amckinley updated the task description for T12587: Migrate file deletion to modular transactions.
Apr 18 2017, 6:10 PM · Files
amckinley created T12587: Migrate file deletion to modular transactions.
Apr 18 2017, 6:10 PM · Files