Skip to main content

Uppy 1.29: Golden Retriever, disableLocalFiles, Webcam previews, uppy.logout

· 4 min read

In Uppy 1.29, we’ve revamped the Golden Retriever plugin with support for partially recovered “ghost” files, added a disableLocalFiles option to the Dashboard, enabled the ability to preview webcam videos before submitting and provided an uppy.logout() method, along with an assortment of Companion improvements.

Golden Retriever

Golden Retriever (@uppy/golden-retriever) is Uppy’s innovative plugin that recovers users’ files after an accidentally closed tab/window or a browser crash. Golden Retriever was first introduced a few years ago, during Transloadit’s company meetup in Berlin, and now it finally underwent a proper refactor.

The Uppy Dashboard after a page reload, showing a "Session restored — We restored all files. You can now resume the upload." notice above four recovered image thumbnails

In this release, we’re adding support for “ghosts” — files for which we’ve restored the metadata, but were unable to recover the data blob itself (usually due to its size). In this case, users will see a ghost icon over the file and a “Re-select” button to pick the file again.

The Uppy Dashboard showing "Session restored — We could not fully recover 1 file. Please re-select it and resume the upload.". The unrecovered MP3 is greyed out with a ghost icon and a "Re-select" link, and the Upload button is disabled

You can try Golden Retriever in action on the Dashboard example page.

Golden Retriever failing to catch something

Dashboard: disableLocalFiles

The disableLocalFiles: true option will disable drag & drop, and hide the “Browse” and “My Device” buttons, allowing only uploads from plugins, such as Webcam, Screen Capture, Google Drive or Instagram.

The Uppy Dashboard with local file selection turned off: no drop zone or browse link, just an "Import files from:" heading above a single Google Drive button

Docs: disableLocalFiles.

Webcam Previews

When recording a video with the @uppy/webcam plugin, you will now be given the opportunity to play it back and review before submitting. If you happen to not like the crab mask you’ve used, you can re-record the video using a more appropriate baby Yoda or duckface mask.

uppy.logout()

When your users log out of your app, you might want to also log them out of any cloud providers they might have used through Uppy, for extra security.

uppy.logout() calls provider.logout() on each remote provider plugin, like Google Drive, Instagram, Dropbox, etc.

Docs: uppy-logout

Companion

  • @uppy/companion-client: rethrow original error objects (#2889 / @goto-bus-stop)
  • Pull out metric middleware logic (#2854 / @mifi)
  • Smaller Heroku deployment (#2845 / @goto-bus-stop)
  • Bump redis from 2.8.0 to 3.1.1 (#2865 / @dependabot, @ kiloreux)
  • add chunkSize Companion option (#2881 / @mifi)
  • fix NRP TypeScript errors (#2884 / @mifi)
  • support relative redirect URLs in responses (#2901 / @ goto-bus-stop)

Misc

  • core: use AggregateError when available (#2869 / @aduh95)
  • build: upgrade TypeScript (#2856 / @ajkachnic)
  • webcam: improve MIME type detection to solve issue in iOS Safari (#2851 / @dominiceden)

See changelog for details.

Download

Download Uppy 1.29.1

Or include from CDN. Note that it’s highly recommended to pick and choose specific Uppy plugins that you need, and install them with npm or yarn. This is because the bundle includes all Uppy plugins at once.