Page MenuHomePhabricator

Files with long handles overflow in the UI
Closed, ResolvedPublic

Description

A screenshot says it best:

phab-overflow.png (571×858 px, 29 KB)

Notably, this is with a custom storage backend, but the current limit from what I can tell is 255 characters inside the storage engine. [See writeToEngine in PhabricatorFile](https://secure.phabricator.com/diffusion/P/browse/master/src/applications/files/storage/PhabricatorFile.php;dd1023e5a8f8aca512c798b9645e5dfe33edb87d$443).

The B2 API makes deleting files obnoxious and so I ended up having to store this special ID as the Handle.

I'm not sure if this is really worthy of a bug report, since it in theory can only be triggered by 3rd party code which is outside the rules, but it's a nit I found. Feel free to WONTFIX.

Event Timeline

oh lovely, haha

We talked internally about getting rid of these tabs and moving most of this stuff to the right-hand column, but that would make this problem even worse.

Maybe these details should just move to the API -- I don't think they're useful to anyone but the most technical users doing stuff like implementing new storage engines, and making a Conduit call from the web console if you need to double-check a value like this doesn't seem totally unreasonable to me if your hands are already dirty.

Or just say "go look in the database".

I think adding it to conduit is a good compromise; there's very little that's useful in the UI, and if anyone complains about something it should be easy enough to pin just using file.info. file.info already is very short anyway, so adding a fileHandle field should be relatively kosher, I think.

Actually, now that I think about it, the chunked representation overlays the underlying object storage system, so file.info by itself isn't enough - it needs to also extend file.querychunks.

Actually, now that I think about it, the chunked representation overlays the underlying object storage system, so file.info by itself isn't enough - it needs to also extend file.querychunks.