mirror of
https://github.com/transloadit/uppy.git
synced 2026-07-18 00:55:35 +00:00
55 commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
d7aaab7ad1
|
@uppy: upgrade dev deps (#6315)
addresses #6297 I'll raise another PR which would include deps which require code changes |
||
|
|
c3c7cef4ed
|
@uppy: upgrade deps (#6307)
will do a separte PR for changes which would require code changes so it's easier to review , didn't upgrade any deps for `@uppy/aws-s3` since we'll merge the rewrite so I think we should do that upgrade in the rewrite branch before merging. update : Dependency upgrades which required code changes were raised separately - #6309 - #6310 --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> |
||
|
|
12de077e6d
|
remove @uppy/instagram (#6257)
closes #5455 , this PR removes all Instagram support from both the client and Companion server. Removed: - Instagram from @uppy/remote-sources (src, package.json, keywords) - Instagram export from uppy bundle (bundle.ts, index.ts, package.json) - Companion Instagram OAuth provider (provider/index.js, grant.js) - Companion standalone helper Instagram env vars (helper.js, env_example) - All Companion Instagram tests (providers.test.js, provider-manager.test.js, fixtures/index.js, mockserver.js) |
||
|
|
9d87b9eab1
|
[ci] release (#6166)
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @uppy/components@1.2.0 ### Minor Changes - |
||
|
|
c979a9d82b
|
@uppy/components: do not use symlink
Breaks changeset releases |
||
|
|
37f69d088d
|
Revert "[ci] release (#6162)"
This reverts commit
|
||
|
|
671e6b26f4
|
[ci] release (#6162)
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @uppy/components@1.2.0 ### Minor Changes - |
||
|
|
c0a8776484
|
Revert "[ci] release (#6153)"
This reverts commit
|
||
|
|
0ee8fef148
|
[ci] release (#6153)
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @uppy/components@1.2.0 ### Minor Changes - |
||
|
|
850c1cb1c5
|
Add useImageEditor (#6122)
- Create image editor abstraction in `@uppy/components`
- Refactor `Editor` (Preact) and `ImageEditor` (Uppy plugin) to put all
methods in the Uppy plugin class so they can be reused by the headless
abstraction
- Create framework hooks for React, Vue, Svelte
- Update all examples to showcase the new hook
- Symlink the `cropper.scss` (just regular CSS) from
`@uppy/image-editor` into `@uppy/components`, update `build:css` in all
framework packages to copy that file too into their own `dist/` output.
- cropper-js needs basic CSS to do the rotations and stuff which would
be very tedious to write yourself so we ship that CSS file to consumers
too so they can just import it.
- Fix memory leak where we created the image on each render inside the
original Preact plugin UI
```ts
import type { UppyFile } from '@uppy/core'
import { useImageEditor } from '@uppy/react'
interface ImageEditorProps {
file: UppyFile<any, any>
close: () => void
}
export function ImageEditor({ file, close }: ImageEditorProps) {
const {
state,
getImageProps,
getSaveButtonProps,
getCancelButtonProps,
getRotateButtonProps,
getFlipHorizontalButtonProps,
getZoomButtonProps,
getCropSquareButtonProps,
getCropLandscapeButtonProps,
getCropPortraitButtonProps,
getResetButtonProps,
getRotationSliderProps,
} = useImageEditor({ file })
return (
<div className="p-4 max-w-2xl w-full">
<div className="flex justify-between items-center mb-4">
<h2 className="text-xl font-bold">Edit Image</h2>
<button
type="button"
onClick={close}
className="text-gray-500 hover:text-gray-700"
>
✕
</button>
</div>
<div className="mb-4">
{/* biome-ignore lint/a11y/useAltText: alt is provided by getImageProps() */}
<img
className="w-full max-h-[400px] rounded-lg border-2"
{...getImageProps()}
/>
</div>
<div className="mb-4">
<label className="block text-sm font-medium mb-2">
Fine Rotation: {state.angle}°
<input className="w-full mt-1" {...getRotationSliderProps()} />
</label>
</div>
<div className="flex gap-2 flex-wrap mb-4">
<button
className="bg-gray-200 px-3 py-1 rounded disabled:opacity-50"
{...getRotateButtonProps(-90)}
>
↶ -90°
</button>
<button
className="bg-gray-200 px-3 py-1 rounded disabled:opacity-50"
{...getRotateButtonProps(90)}
>
↷ +90°
</button>
<button
className="bg-gray-200 px-3 py-1 rounded disabled:opacity-50"
{...getFlipHorizontalButtonProps()}
>
⇆ Flip
</button>
<button
className="bg-gray-200 px-3 py-1 rounded disabled:opacity-50"
{...getZoomButtonProps(0.1)}
>
+ Zoom
</button>
<button
className="bg-gray-200 px-3 py-1 rounded disabled:opacity-50"
{...getZoomButtonProps(-0.1)}
>
- Zoom
</button>
</div>
<div className="flex gap-2 flex-wrap mb-4">
<button
className="bg-gray-200 px-3 py-1 rounded disabled:opacity-50"
{...getCropSquareButtonProps()}
>
1:1
</button>
<button
className="bg-gray-200 px-3 py-1 rounded disabled:opacity-50"
{...getCropLandscapeButtonProps()}
>
16:9
</button>
<button
className="bg-gray-200 px-3 py-1 rounded disabled:opacity-50"
{...getCropPortraitButtonProps()}
>
9:16
</button>
<button
className="bg-gray-200 px-3 py-1 rounded disabled:opacity-50"
{...getResetButtonProps()}
>
Reset
</button>
</div>
<div className="flex gap-4 justify-end">
<button
className="bg-gray-500 text-white px-4 py-2 rounded-md"
{...getCancelButtonProps({ onClick: close })}
>
Cancel
</button>
<button
className="bg-green-500 text-white px-4 py-2 rounded-md disabled:opacity-50 disabled:bg-green-300"
{...getSaveButtonProps({ onClick: close })}
>
Save
</button>
</div>
</div>
)
}
export default ImageEditor
```
https://github.com/user-attachments/assets/4b0a99cc-8489-41a2-aa3b-ce88110025bf
---------
Co-authored-by: Prakash <qxprakash@gmail.com>
|
||
|
|
680052b3ce
|
Revert "[ci] release (#6144)"
This reverts commit
|
||
|
|
e290a176e7
|
[ci] release (#6144)
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @uppy/transloadit@5.5.0 ### Minor Changes - |
||
|
|
fa23832f6a
|
@uppy/vue: support kebab-case props in generated components (#6125)
## Summary
- Fix Vue components to work with kebab-case props (`:edit-file` instead
of `:editFile`)
- Update `migrate.mjs` to parse prop names from TypeScript source files
and generate explicit `props` arrays
## Problem
The generated Vue components didn't work correctly with Vue's standard
kebab-case prop convention:
```vue
<!-- This didn't work -->
<FilesList :edit-file="handleEdit" />
<!-- Only this worked (non-standard) -->
<FilesList :editFile="handleEdit" />
```
## Root Cause
The original Vue template used `attrs` to pass props to Preact:
```ts
setup(props, { attrs }) {
preactRender(preactH(PreactComponent, {
...(attrs as Props), // attrs preserves kebab-case!
ctx,
}), container)
}
```
When using `:edit-file` in a Vue template, Vue passes
`attrs['edit-file']` (kebab-case preserved), but Preact expects
`editFile` (camelCase).
## Solution
Generate Vue components with explicit `props` declarations:
```ts
defineComponent({
props: ['editFile', 'columns', 'imageThumbnail'],
setup(props) {
preactRender(preactH(PreactComponent, {
...props, // Vue already converted kebab → camelCase
ctx,
}), container)
}
})
```
When Vue components declare their props, Vue automatically converts
kebab-case template usage to camelCase in the `props` object. This is
standard Vue behavior.
## Why Simpler Alternatives Don't Work
### "Just use `props` instead of `attrs`"
Without a `props` declaration, Vue doesn't know which attributes are
props. The `props` object will be empty and everything goes to `attrs`:
```ts
// Without props declaration
defineComponent({
setup(props, { attrs }) {
// props = {} (empty!)
// attrs = { 'edit-file': fn } (kebab-case preserved)
}
})
```
### "Accept all props dynamically"
Vue doesn't have a "accept all props and convert casing" option. You
must explicitly declare which props you expect for Vue to handle the
conversion.
### "Just document to use camelCase"
This works but violates Vue conventions. Every Vue developer expects
`:edit-file` to work.
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Prakash <qxprakash@gmail.com>
|
||
|
|
fd8f54f542
|
build(deps): bump preact from 10.26.9 to 10.26.10 (#6123)
Bumps [preact](https://github.com/preactjs/preact) from 10.26.9 to 10.26.10. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/preactjs/preact/releases">preact's releases</a>.</em></p> <blockquote> <h2>10.26.10</h2> <h2>Fixes</h2> <ul> <li>Enforce strict equality for VNode object constructors</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
76abdfb325
|
[ci] release (#6029)
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @uppy/angular@1.1.0 ### Minor Changes - |
||
|
|
72d2d68ea3
|
Fix various deps and peer deps in packages (#6030)
**Fixes**
- `@uppy/components` incorrectly had a lot of packages in `dependencies`
while they should be `peerDependencies`. Also removed `remote-sources`
completely as this drags in a lot of plugins and we don't even need it
there.
- `@uppy/{react,vue,svelte}` now has to have the same `peerDependencies`
as `components` as the requirement has been moved up. We also mark them
as optional, they are only needed if you use a hook such as `useWebcam`
needing `@uppy/webcam`.
- Remove `companion-client` and `provider-views` from `transloadit`.
Those are never used by the package.
- Remove `@uppy/utils` from `@uppy/angular` and `@uppy/react`, we can
just use imports from `core`
- Place `@uppy/status-bar` back in peer deps. This is critical but
forgotten when status bar was put back inside frameworks.
**Implications**
- Moving peer deps to deps in `@uppy/components` now requires people to
install these dependencies. However, they kind of had to anyway before
as we require people to install the plugin on uppy (`.use(Webcam')`) if
you want to use `useWebcam` and if you try to import a dep you did not
install they would have gotten an error already.
- Note: this is not the same situation as with importing dashboard
component from @uppy/react which causes a runtime crash because
@uppy/dashboard is missing. In this case we only depend on _types_, so
we don't have this problem.
|
||
|
|
26bf726412
|
@uppy/components: inherit restrictions from @uppy/core (#6014)
Closes #5970 AI disclosure: codex made the initial implementation --------- Co-authored-by: Mikael Finstad <finstaden@gmail.com> |
||
|
|
2c4727e5f4
|
[ci] release (#6011)
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @uppy/aws-s3@5.0.2 ### Patch Changes - |
||
|
|
0c16fe44b9
|
Golden retriever refactor and UppyFile type improvements (#5978)
Probably best reviewed commit by commit. I also split UppyFile into two intefaces distinguished by the `isRemote` boolean: - LocalUppyFile - RemoteUppyFile Also: - Removed the TagFile type - Don't re-upload completed files - fixes #5930 - Clean up stored files on `complete` event *only* if *all* files succeeded (no failed files). this allows the user to retry failed files if the browser & upload get interrupted - fixes #5927, closes #5955 - Only set `isGhost` for non-successful files. it doesn't make sense for successfully uploaded files to be ghosted because they're already done. #5930 fixes #6013 --------- Co-authored-by: Prakash <qxprakash@gmail.com> |
||
|
|
5bf7520dfa
|
[ci] release (#5988)
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @uppy/transloadit@5.1.0 ### Minor Changes - |
||
|
|
34639ba768
|
@uppy/components: add imageThumbnail prop to FilesList/FilesGrid (#5985)
Ref:
https://community.transloadit.com/t/is-it-possible-to-display-the-thumbnail-of-the-images-in-the-listbox/17711/3
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Adds an optional `imageThumbnail` prop to `FilesList` and `FilesGrid`
to control passing `images` to `Thumbnail` (default true in grid).
>
> - **Components (@uppy/components)**
> - **FilesGrid (`packages/@uppy/components/src/FilesGrid.tsx`)**
> - Add `imageThumbnail?: boolean` prop (defaults to `true`).
> - Pass `images={imageThumbnail}` to `Thumbnail` instead of hardcoded
`images`.
> - **FilesList (`packages/@uppy/components/src/FilesList.tsx`)**
> - Add `imageThumbnail?: boolean` prop.
> - Pass `images={imageThumbnail}` to `Thumbnail` (32px preview).
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
|
||
|
|
2509266130
|
Revert "[ci] release (#5973)"
This reverts commit
|
||
|
|
a45cd87d39
|
[ci] release (#5973)
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @uppy/angular@1.1.0 ### Minor Changes - |
||
|
|
d6b3aa575e
|
@uppy/components: fix dropzone global id (#5967)
fixes #5946
Root Cause :
`createDropzone` used a single global `id` for the file input
(`'uppy-dropzone-file-input'`) Clicking any `<Dropzone />` did
`document.getElementById(<global-id>).click()`, which always targeted
the first input in the DOM, so files were added to the first Uppy
instance.
|
||
|
|
54ee01105d
|
[ci] release (#5939)
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @uppy/golden-retriever@5.1.0 ### Minor Changes - |
||
|
|
975317dd17
|
remove main from package.json (#5950)
redo of #5943 , forgot to add changesets , reverted in #5949 |
||
|
|
d65e6e4179
|
Revert "packages/@uppy/* : remove "main" from package.json (#5943)" (#5949)
This reverts commit
|
||
|
|
2117874073
|
packages/@uppy/* : remove "main" from package.json (#5943)
- The blocker was `@uppy/angular` — its build was failing because it
could not resolve modules and types for its dependencies
(`@uppy/dashboard`, `@uppy/utils`, `@uppy/provider-views`,
`@uppy/core`).
```typescript
------------------------------------------------------------------------------
Building entry point '@uppy/angular'
------------------------------------------------------------------------------
✖ Compiling with Angular sources in Ivy partial compilation mode.
../dashboard/lib/Dashboard.d.ts:1:106 - error TS2307: Cannot find module '@uppy/core' or its corresponding type declarations.
1 import type { Body, DefinePluginOpts, Meta, State, UIPluginOptions, UnknownPlugin, Uppy, UppyFile } from '@uppy/core';
~~~~~~~~~~~~
../dashboard/lib/Dashboard.d.ts:2:26 - error TS2307: Cannot find module '@uppy/core' or its corresponding type declarations.
2 import { UIPlugin } from '@uppy/core';
~~~~~~~~~~~~
../dashboard/lib/Dashboard.d.ts:3:35 - error TS2307: Cannot find module '@uppy/provider-views' or its corresponding type declarations.
```
Angular (TypeScript with moduleResolution: node) required a "main" or
"types" field in each dependency’s package.json, and ignored their
"exports" map.
|
||
|
|
075636a3b3
|
remove react h (#5938)
it was added in #5935 but no explanation of why. if you look at the build output of for example `packages/@uppy/react/lib/headless/generated/Dropzone.js`: ```js import { jsx as _jsx } from "react/jsx-runtime"; // This file was generated by build-components.mjs // ANY EDITS WILL BE OVERWRITTEN! import { Dropzone as PreactDropzone, } from '@uppy/components'; import { h as preactH, render as preactRender } from 'preact'; // biome-ignore lint/correctness/noUnusedImports: it's needed import { createElement as h, useContext, useEffect, useRef } from 'react'; import { UppyContext } from '../UppyContextProvider.js'; export default function Dropzone(props) { const ref = useRef(null); const ctx = useContext(UppyContext); useEffect(() => { if (ref.current) { preactRender(preactH(PreactDropzone, { ...props, ctx, }), ref.current); } }, [ctx, props]); return _jsx("div", { ref: ref }); } ``` as can be seen there is no usage of `h`. `import { jsx as _jsx } from "react/jsx-runtime";` is being injected for React JSX. see also https://github.com/transloadit/uppy/pull/5896#issuecomment-3169210799 |
||
|
|
d4bdb463c1
|
[ci] release (#5936)
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @uppy/companion@6.0.1 ### Patch Changes - |
||
|
|
49522ec5cb
|
Remove preact/compat (#5935)
We drag it in unneccesarily in the bundle and it can cause JSX clashes in React apps with `"jsx": "preserve"` in their `tsconfig.json` (https://github.com/preactjs/preact/issues/4908) - Remove `@types/react` from companion (unused) - Fix tsconfig's for @uppy/utils (build was fine, but editor diagnostics weren't) |
||
|
|
e183da8de9
|
[ci] release (#5918)
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @uppy/audio@3.0.0 ### Major Changes - |
||
|
|
6a33652458 | Merge branch 'main' of https://github.com/transloadit/uppy into 5.0 | ||
|
|
d31c90e443
|
Run biome check on main (#5896)
this time on main closes #5891 also: fix a11y tabIndex (key event handler) |
||
|
|
62cf5bbb14
|
[ci] release (#5867)
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @uppy/angular@0.9.0 ### Minor Changes - |
||
|
|
1b1a9e3591
|
Add "files" to all package.json's (#5852)
Closes #5865 I noticed we are publishing all files, we should filter them. npm automatically adds package.json, license, and readme so you can leave them out of the files array. |
||
|
|
c5b51f6158
|
Add Export Maps (#5830)
- added export maps to all the @uppy packages . - imports remain unaffected except for peerDep packages in `@uppy/react` `@uppy/svelte` and `@uppy/vue3`. - export maps added for index files , css , and package.json. - Added side effects for all the packages. --------- Co-authored-by: Mikael Finstad <finstaden@gmail.com> Co-authored-by: Merlijn Vos <merlijn@soverin.net> |
||
|
|
7d6d90ba5c
|
Version packages
After manual releasing all packages as changesets messed things up |
||
|
|
4ccd3716af
|
[ci] release (#5849) | ||
|
|
7bf319646a
|
Migrate from Cypress to Vitest Browser Mode (#5828)
- Remove `e2e` folder entirely - Remove all hacky resolutions and yarn patches - Remove `@types/jasmine`, `js2ts` (convert a JS file to TS), and `vue-template-compiler` from `private/` - Remove e2e CI job - Add browsers tests for vue, svelte, and react headless components and hooks. - Add new (browser) tests for transloadit, aws-s3, and dashboard. - Remove final useless scripts from `package.json`, use direct references in CI. - Fix Dropzone component accessibility discovered during testing - Clean up github workflows (move linters.yml into ci.yml, update e2e.yml) **Why Vitest Browser Mode?** We could have used playwright but vitest browser mode uses it under the hood and we get the use the vitest we know a love. No two entirely different setups, no different assertions to relearn, write e2e tests as if you're writing unit tests. Easy, fast, beautiful. https://vitest.dev/guide/browser/ **Has every single e2e test been rewritten?** No there were quite a few tests that have a lot overlap with existing or newly added tests. There were also some tests that were so heavily mocked inside and out you start to wonder what the value still is. Open to discuss which tests still need to be added. |
||
|
|
0525a2c91a
|
Fix turbo race condition (#5839)
Closes #5822 - `"^build"` makes sure dependencies of the package are build first. - Make dependencies of @uppy/components actually dependencies - Remove concurrency setting. It was too high for computers with low RAM. |
||
|
|
271db86ad0
|
Use turbo for building and watching concurrently (#5808)
- Add `typecheck` command to all packages. - Use turbo to build and watch concurrently with caches. - Remove root `bin/` folder with last global scripts - `bin/companion.sh` -> `@uppy/companion/start-dev` (`yarn start:companion` still works) - `bin/build-components.mjs` -> `@uppy/components/migrate.mjs` (`yarn migrate:components` can be used to run it). This only needs to be ran for new components, not changing existing ones, so that's why it's not part of the build process. turbo is smart enough to build dependencies within a package first before building the package itself (e.g if wanting to build @uppy/audio, build @uppy/utils first). Unfortunately @uppy/core is a peer dep everywhere turbo does not take it into account, yet it must be build first to avoid race conditions. Therefor I added a turbo.json to each package, which you normally never need, but this is an odd case I suppose. Other solutions ran into cyclic dep errors. Another PR would move over the test commands to turbo too. |
||
|
|
75c8007cf9
|
Isolate CSS building per package (#5799)
- Isolate CSS bundling per package - Fix _all_ sass deprecation warnings - Remove global scripts - Run CSS building in parallel . Is it repetitive? Yes a bit. But it's mono repo best practice and once we introduce turbo each css build step can be individually cached. That means when you edit scss in one package, only that needs to be rebuild, not the TS of that package nor any other CSS. This PR lays the groundwork for that. |
||
|
|
02ba9b19e0
|
@uppy/webcam: add image preview and discard (#5797) | ||
|
|
78299475ae
|
Migrate from Eslint/Prettier/Stylelint to Biome (#5794) | ||
|
|
d408570373
|
From Babel to TS (#5792) | ||
|
|
c16657e075
|
Release: uppy@4.18.0 (#5796)
| Package | Version | Package | Version | | -------------------------- | ------- | -------------------------- | ------- | | @uppy/components | 0.2.0 | @uppy/remote-sources | 2.3.4 | | @uppy/core | 4.4.7 | @uppy/screen-capture | 4.3.1 | | @uppy/google-drive-picker | 0.3.6 | @uppy/svelte | 4.5.0 | | @uppy/google-photos-picker | 0.3.6 | @uppy/vue | 2.3.0 | | @uppy/locales | 4.6.0 | @uppy/webcam | 4.2.1 | | @uppy/provider-views | 4.4.5 | uppy | 4.18.0 | | @uppy/react | 4.4.0 | | | - meta: Remove remark reference from CI (Murderlon) - @uppy/components,@uppy/screen-capture: useScreenCapture fixes (Prakash / #5793) - examples: Add useRemoteSource (Merlijn Vos / #5778) - @uppy/components: Use webcam fixes2 (Mikael Finstad / #5791) - meta: Remove remark (Merlijn Vos / #5790) - meta: Delete old, unused files (Merlijn Vos / #5788) - meta: Sort package.json (Murderlon) - examples: Headless Hooks: Add useScreenCapture (Prakash / #5784) - @uppy/locales: Update pt_BR localization (Gabriel Pereira / #5780) - e2e: Skip for now then (Murderlon) - e2e: fixup! Fix CI for now (Murderlon) - e2e: Fix CI for now (Murderlon) - examples: Add useWebcam (Merlijn Vos / #5741) - @uppy/react,@uppy/svelte,@uppy/vue: Add useDropzone & useFileInput (Merlijn Vos / #5735) - meta: build(deps): bump base-x from 3.0.9 to 3.0.11 (dependabot[bot] / #5772) - @uppy/provider-views: improve metadata handling in Google Photos Picker (ben rosenbaum / #5769) |
||
|
|
044358abee
|
useScreenCapture fixes (#5793)
removed status from ScreenCaptureState , added getStatus in ScreenCapture |
||
|
|
cb2999926b
|
Add useRemoteSource (#5778) | ||
|
|
a460cd7975
|
Use webcam fixes2 (#5791) |