Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

@uppy/transloadit: Add option for client name #4920

Merged
merged 1 commit into from
Feb 19, 2024
Merged

Conversation

Acconut
Copy link
Member

@Acconut Acconut commented Feb 15, 2024

This adds an option clientName which, if present, will be appended to the Transloadit-Client header. The idea is that this can be used to add information about which client application created an Assembly. For example, it is helpful to know whether an Assembly was created by the Uppy dashboard on page A or page B.

@Acconut Acconut self-assigned this Feb 15, 2024
Copy link
Contributor

Diff output files
diff --git a/packages/@uppy/transloadit/lib/index.js b/packages/@uppy/transloadit/lib/index.js
index e7d9672..a261048 100644
--- a/packages/@uppy/transloadit/lib/index.js
+++ b/packages/@uppy/transloadit/lib/index.js
@@ -417,6 +417,7 @@ export default class Transloadit extends BasePlugin {
       getAssemblyOptions: null,
       limit: 20,
       retryDelays: [7000, 10000, 15000, 20000],
+      clientName: null,
     };
     this.opts = {
       ...defaultOptions,
@@ -545,6 +546,9 @@ function _getClientVersion2() {
   addPluginVersion("OneDrive", "uppy-onedrive");
   addPluginVersion("Zoom", "uppy-zoom");
   addPluginVersion("Url", "uppy-url");
+  if (this.opts.clientName != null) {
+    list.push(this.opts.clientName);
+  }
   return list.join(",");
 }
 function _attachAssemblyMetadata2(file, status) {

Copy link
Member

@Murderlon Murderlon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this internal only? If not we need a docs PR too.

@Acconut
Copy link
Member Author

Acconut commented Feb 15, 2024

This parameter does not have to be internal-only. Some customers might find it handy to mark the origin of their Assemblies using this option. Should a documentation be done via a PR to https://github.com/transloadit/uppy.io?

@Murderlon
Copy link
Member

Should a documentation be done via a PR to https://github.com/transloadit/uppy.io?

Yes please!

Acconut added a commit to transloadit/uppy.io that referenced this pull request Feb 15, 2024
@Acconut
Copy link
Member Author

Acconut commented Feb 15, 2024

Here you go: transloadit/uppy.io#204

@Murderlon Murderlon requested a review from aduh95 February 16, 2024 09:31
@@ -126,6 +127,10 @@ export default class Transloadit extends BasePlugin {
addPluginVersion('Zoom', 'uppy-zoom')
addPluginVersion('Url', 'uppy-url')

if (this.opts.clientName != null) {
list.push(this.opts.clientName)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we add a prefix for consistency?

Suggested change
list.push(this.opts.clientName)
list.push(`client-name:${this.opts.clientName}`)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure about this. Currently, the format we use is $sdk_name:$sdk_version (or plugin for Uppy). I my mind, the clientName is semantically more similar to $sdk_name than $sdk_version.

That being said, we don't enforce a format right now and people have put other stuff in there as well, so I am unsure how strict we should be here:

0A8776CF-5F6A-4B15-97EA-D53C2F7B75FE_4_5005_c

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't really like the inconsistency, but given the value is empty by default, that's not a big deal. I guess users can still put a colon in the clientName themselves.

@aduh95 aduh95 merged commit 7b492d7 into main Feb 19, 2024
16 checks passed
@aduh95 aduh95 deleted the transloadit-client-name branch February 19, 2024 15:24
@github-actions github-actions bot mentioned this pull request Feb 19, 2024
github-actions bot added a commit that referenced this pull request Feb 19, 2024
| Package                   | Version | Package                   | Version |
| ------------------------- | ------- | ------------------------- | ------- |
| @uppy/audio               |   1.1.5 | @uppy/remote-sources      |   1.1.1 |
| @uppy/aws-s3              |   3.6.1 | @uppy/status-bar          |   3.2.6 |
| @uppy/aws-s3-multipart    |  3.10.1 | @uppy/store-default       |   3.2.1 |
| @uppy/companion           |  4.12.1 | @uppy/store-redux         |   3.0.6 |
| @uppy/companion-client    |   3.7.1 | @uppy/svelte              |   3.1.2 |
| @uppy/compressor          |   1.1.0 | @uppy/thumbnail-generator |   3.0.7 |
| @uppy/core                |   3.9.0 | @uppy/transloadit         |   3.5.0 |
| @uppy/dashboard           |   3.7.2 | @uppy/tus                 |   3.5.1 |
| @uppy/drop-target         |   2.0.3 | @uppy/utils               |   5.7.1 |
| @uppy/form                |   3.1.0 | @uppy/vue                 |   1.1.1 |
| @uppy/golden-retriever    |   3.1.2 | @uppy/webcam              |   3.3.5 |
| @uppy/image-editor        |   2.4.1 | @uppy/xhr-upload          |   3.6.1 |
| @uppy/locales             |   3.5.1 | uppy                      |  3.22.0 |
| @uppy/provider-views      |   3.9.0 |                           |         |

-  @uppy/aws-s3-multipart,@uppy/aws-s3,@uppy/companion-client,@uppy/tus,@uppy/xhr-upload: update `uppyfile` objects before emitting events (antoine du hamel / #4928)
- @uppy/transloadit: add `clientname` option (marius / #4920)
- @uppy/thumbnail-generator: fix broken previews after cropping (evgenia karunus / #4926)
- @uppy/compressor: upgrade compressorjs (merlijn vos / #4924)
- @uppy/companion: fix companion dns and allow redirects from http->https again (mikael finstad / #4895)
- @uppy/dashboard: autoopenfileeditor - rename "edit file" to "edit image" (evgenia karunus / #4925)
- meta: resolve jsx to preact in shared tsconfig (merlijn vos / #4923)
- @uppy/image-editor: image editor: make compressor work after the image editor, too (evgenia karunus / #4918)
- meta: exclude `tsconfig` files from npm bundles (antoine du hamel / #4916)
- @uppy/compressor: migrate to ts (mikael finstad / #4907)
- @uppy/provider-views: update uppy-providerbrowser-viewtype--list.scss (aditya patadia / #4913)
- @uppy/tus: migrate to ts (merlijn vos / #4899)
- meta: bump yarn version (antoine du hamel / #4906)
- meta: validate `defaultoptions` for stricter option types (antoine du hamel / #4901)
- @uppy/dashboard: Uncouple native camera and video buttons from the `disableLocalFiles` option (jake mcallister / #4894)
- meta: put experimental ternaries in .prettierrc.js (merlijn vos / #4900)
- @uppy/xhr-upload: migrate to ts (merlijn vos / #4892)
- @uppy/drop-target: refactor to typescript (artur paikin / #4863)
- meta: fix missing line return in js2ts script (antoine du hamel)
- meta: disable `@typescript-eslint/no-empty-function` lint rule (antoine du hamel / #4891)
- @uppy/companion-client: fix tests and linter (antoine du hamel / #4890)
- @uppy/companion-client: migrate to ts (merlijn vos / #4864)
- meta: prettier 3.0.3 -> 3.2.4 (antoine du hamel / #4889)
- @uppy/image-editor: migrate to ts (merlijn vos / #4880)
- meta: fix race condition in `e2e.yml` (antoine du hamel)
- @uppy/core: add utility type to help define plugin option types (antoine du hamel / #4885)
- meta: merge `output-watcher` and `e2e` workflows (antoine du hamel / #4886)
- @uppy/status-bar: fix `statusbaroptions` type (antoine du hamel / #4883)
- @uppy/core: improve types of .use() (merlijn vos / #4882)
- @uppy/audio: fix `audiooptions` (antoine du hamel / #4884)
- meta: upgrade vite and vitest (antoine du hamel / #4881)
- meta: fix `yarn build:clean` (antoine du hamel)
- @uppy/audio: refactor to typescript (antoine du hamel / #4860)
- @uppy/status-bar: refactor to typescript (antoine du hamel / #4839)
- @uppy/core: add `plugintarget` type and mark options as optional (antoine du hamel / #4874)
- meta: improve output watcher diff (antoine du hamel / #4876)
- meta: minify the output watcher diff further (antoine du hamel)
- meta: remove comments from output watcher (mikael finstad / #4875)
- @uppy/utils: improve types for `finddomelement` (antoine du hamel / #4873)
- @uppy/code: allow plugins to type `pluginstate` (antoine du hamel / #4872)
- meta: build(deps): bump follow-redirects from 1.15.1 to 1.15.4 (dependabot[bot] / #4862)
- meta: add `output-watcher` gha to help check output diff (antoine du hamel / #4868)
- meta: generate locale pack from output file (antoine du hamel / #4867)
- meta: comment on what we want to do about close, resetprogress, clearuploadedfiles, etc in the next major (artur paikin / #4865)
- meta: fix `yarn build:clean` (antoine du hamel / #4866)
- meta: use `explicit-module-boundary-types` lint rule (antoine du hamel / #4858)
- @uppy/form: use requestsubmit (merlijn vos / #4852)
- @uppy/provider-views: add referrerpolicy to images (merlijn vos / #4853)
- @uppy/core: add `debuglogger` as export in manual types (antoine du hamel / #4831)
- meta: fix `js2ts` script (antoine du hamel / #4846)
- @uppy/xhr-upload: show remove button (merlijn vos / #4851)
- meta: upgrade `@transloadit/prettier-bytes` (antoine du hamel / #4850)
- @uppy/core: add missing requiredmetafields key in restrictions (darthf1 / #4819)
- @uppy/companion,@uppy/tus: bump `tus-js-client` version range (merlijn vos / #4848)
- meta: build(deps): bump aws/aws-sdk-php from 3.272.1 to 3.288.1 in /examples/aws-php (dependabot[bot] / #4838)
- @uppy/dashboard: fix `typeerror` when `file.remote` is nullish (antoine du hamel / #4825)
- meta: fix `js2ts` script (antoine du hamel / #4844)
- @uppy/locales: fix "save" button translation in hr_hr.ts (žan žlender / #4830)
- meta: fix linting of `.tsx` files (antoine du hamel / #4843)
- @uppy/core: fix types (antoine du hamel / #4842)
- @uppy/utils: improve `preprocess` and `postprocess` types (antoine du hamel / #4841)
- meta: fix `yarn build:clean` (mikael finstad / #4840)
- meta: dev: remove extensions from vite aliases (antoine du hamel)
- meta: fix `"e2e"` script (antoine du hamel)
- @uppy/core: refactor to ts (murderlon)
- meta: fix typescript ci (antoine du hamel)
- meta: fix clean script (mikael finstad / #4820)
- @uppy/companion-client: fix `typeerror` (antoine du hamel)
Murderlon added a commit that referenced this pull request Feb 22, 2024
* main:
  meta: disable `@typescript-eslint/no-non-null-assertion` lint rule (#4945)
  remove unnecessary `'use strict'` directives (#4943)
  @uppy/companion-client: type changes for provider-views (#4938)
  meta: bump ip from 1.1.8 to 1.1.9 (#4941)
  @uppy/companion-client: update types (#4927)
  Release: uppy@3.22.1 (#4935)
  update vi_VN translation (#4930)
  bump `@transloadit/prettier-bytes` (#4933)
  Release: uppy@3.22.0 (#4929)
  update `UppyFile` objects before emitting events (#4928)
  @uppy/transloadit: add `clientName` option (#4920)
  Fix broken previews after cropping (#4926)
  @uppy/compressor: upgrade compressorjs (#4924)
  Fix companion dns and allow redirects from http->https again (#4895)
  autoOpenFileEditor - rename "Edit file" to "Edit image" (#4925)
  meta: resolve jsx to Preact in shared tsconfig (#4923)
Murderlon added a commit that referenced this pull request Feb 22, 2024
* main:
  MetaEditor + ImageEditor - new state machine logic (#4939)
  meta: disable `@typescript-eslint/no-non-null-assertion` lint rule (#4945)
  remove unnecessary `'use strict'` directives (#4943)
  @uppy/companion-client: type changes for provider-views (#4938)
  meta: bump ip from 1.1.8 to 1.1.9 (#4941)
  @uppy/companion-client: update types (#4927)
  Release: uppy@3.22.1 (#4935)
  update vi_VN translation (#4930)
  bump `@transloadit/prettier-bytes` (#4933)
  Release: uppy@3.22.0 (#4929)
  update `UppyFile` objects before emitting events (#4928)
  @uppy/transloadit: add `clientName` option (#4920)
  Fix broken previews after cropping (#4926)
  @uppy/compressor: upgrade compressorjs (#4924)
  Fix companion dns and allow redirects from http->https again (#4895)
  autoOpenFileEditor - rename "Edit file" to "Edit image" (#4925)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants