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

[BUG] Media being created without mime type. #29

Closed
JWesorick opened this issue Aug 5, 2022 · 1 comment
Closed

[BUG] Media being created without mime type. #29

JWesorick opened this issue Aug 5, 2022 · 1 comment
Assignees

Comments

@JWesorick
Copy link

Describe the bug
When I'm importing a record with a media column it "corrupts" my entire media library throwing a client side error. I am then no longer able to see or remove the media causing the error.

To Reproduce

Given a record with media column:

    "audioSources": {
      "type": "media",
      "multiple": true,
      "required": false,
      "allowedTypes": [
        "audios"
      ],
      "pluginOptions": {
        "i18n": {
          "localized": true
        }
      }
    },

and importing a CSV file with that column set to a string/url https://<MY_URL_IM_NOT_POSTING_TO_GITHUB>/mp3/01_01.mp3, it seems like a bad media object is created causing a client side app breaking error.

More Info

Offending record from db:

id  name            alternative_text  caption  width  height  formats  hash            ext  mime  size       url                                                                             preview_url  provider  provider_metadata  folder_path  created_at     updated_at     created_by_id  updated_by_id
--  --------------  ----------------  -------  -----  ------  -------  --------------  ---  ----  ---------  ------------------------------------------------------------------------------  -----------  --------  -----------------  -----------  -------------  -------------  -------------  -------------
2   -mp3-01_01.mp3                                                     -mp3-01_01.mp3             1782743.0  https://<MY_URL_IM_NOT_POSTING_TO_GITHUB>/-mp3-01_01.mp3undefined               aws-s3                                    1659668741707  1659668741707  1              1

Console output from Chrome:

main.3f80e4ab.js:formatted:257079 TypeError: Cannot read properties of null (reading 'split')
    at main.3f80e4ab.js:formatted:110182:36
    at Array.filter (<anonymous>)
    at H (main.3f80e4ab.js:formatted:110181:23)
    at bt (main.3f80e4ab.js:formatted:110687:22)
    at Je (main.3f80e4ab.js:formatted:255545:17)
    at qd (main.3f80e4ab.js:formatted:258680:22)
    at Zu (main.3f80e4ab.js:formatted:258136:21)
    at Ld (main.3f80e4ab.js:formatted:258129:17)
    at Pl (main.3f80e4ab.js:formatted:258112:21)
    at Uc (main.3f80e4ab.js:formatted:257853:22)
Yu @ main.3f80e4ab.js:formatted:257079
Ce.payload @ main.3f80e4ab.js:formatted:257109
Ca @ main.3f80e4ab.js:formatted:254837
Rc @ main.3f80e4ab.js:formatted:256269
qd @ main.3f80e4ab.js:formatted:258743
Zu @ main.3f80e4ab.js:formatted:258136
Ld @ main.3f80e4ab.js:formatted:258129
Pl @ main.3f80e4ab.js:formatted:258112
Uc @ main.3f80e4ab.js:formatted:257853
(anonymous) @ main.3f80e4ab.js:formatted:254623
b.unstable_runWithPriority @ main.3f80e4ab.js:formatted:270727
yl @ main.3f80e4ab.js:formatted:254599
Au @ main.3f80e4ab.js:formatted:254619
za @ main.3f80e4ab.js:formatted:254611
Td @ main.3f80e4ab.js:formatted:257890
(anonymous) @ main.3f80e4ab.js:formatted:261981
Promise.then (async)
W @ main.3f80e4ab.js:formatted:263731
e.flush @ main.3f80e4ab.js:formatted:261980
e.batch @ main.3f80e4ab.js:formatted:261952
o.dispatch @ main.3f80e4ab.js:formatted:262444
o.setData @ main.3f80e4ab.js:formatted:262248
onSuccess @ main.3f80e4ab.js:formatted:262403
_ @ main.3f80e4ab.js:formatted:263410
Promise.then (async)
m @ main.3f80e4ab.js:formatted:263449
i @ main.3f80e4ab.js:formatted:263473
o.fetch @ main.3f80e4ab.js:formatted:262400
O.executeFetch @ main.3f80e4ab.js:formatted:263130
O.setOptions @ main.3f80e4ab.js:formatted:263050
(anonymous) @ main.3f80e4ab.js:formatted:263988
Xd @ main.3f80e4ab.js:formatted:258533
b.unstable_runWithPriority @ main.3f80e4ab.js:formatted:270727
yl @ main.3f80e4ab.js:formatted:254599
wu @ main.3f80e4ab.js:formatted:258481
(anonymous) @ main.3f80e4ab.js:formatted:258471
k @ main.3f80e4ab.js:formatted:270645
O.port1.onmessage @ main.3f80e4ab.js:formatted:270521
main.3f80e4ab.js:formatted:257079 Error: react-error-boundary requires either a fallback, fallbackRender, or FallbackComponent prop
    at T.render (8845.dc83918d.chunk.js:310:7180)
    at fc (main.3f80e4ab.js:formatted:256297:89)
    at Rc (main.3f80e4ab.js:formatted:256287:20)
    at qd (main.3f80e4ab.js:formatted:258743:17)
    at Zu (main.3f80e4ab.js:formatted:258136:21)
    at Ld (main.3f80e4ab.js:formatted:258129:17)
    at Pl (main.3f80e4ab.js:formatted:258112:21)
    at Uc (main.3f80e4ab.js:formatted:257853:22)
    at main.3f80e4ab.js:formatted:254623:38
    at b.unstable_runWithPriority (main.3f80e4ab.js:formatted:270727:24)
Yu @ main.3f80e4ab.js:formatted:257079
Ed.Ce.callback @ main.3f80e4ab.js:formatted:257097
id @ main.3f80e4ab.js:formatted:254893
Bc @ main.3f80e4ab.js:formatted:257216
_f @ main.3f80e4ab.js:formatted:258403
b.unstable_runWithPriority @ main.3f80e4ab.js:formatted:270727
yl @ main.3f80e4ab.js:formatted:254599
Xu @ main.3f80e4ab.js:formatted:258185
Uc @ main.3f80e4ab.js:formatted:257867
(anonymous) @ main.3f80e4ab.js:formatted:254623
b.unstable_runWithPriority @ main.3f80e4ab.js:formatted:270727
yl @ main.3f80e4ab.js:formatted:254599
Au @ main.3f80e4ab.js:formatted:254619
za @ main.3f80e4ab.js:formatted:254611
Td @ main.3f80e4ab.js:formatted:257890
(anonymous) @ main.3f80e4ab.js:formatted:261981
Promise.then (async)
W @ main.3f80e4ab.js:formatted:263731
e.flush @ main.3f80e4ab.js:formatted:261980
e.batch @ main.3f80e4ab.js:formatted:261952
o.dispatch @ main.3f80e4ab.js:formatted:262444
o.setData @ main.3f80e4ab.js:formatted:262248
onSuccess @ main.3f80e4ab.js:formatted:262403
_ @ main.3f80e4ab.js:formatted:263410
Promise.then (async)
m @ main.3f80e4ab.js:formatted:263449
i @ main.3f80e4ab.js:formatted:263473
o.fetch @ main.3f80e4ab.js:formatted:262400
O.executeFetch @ main.3f80e4ab.js:formatted:263130
O.setOptions @ main.3f80e4ab.js:formatted:263050
(anonymous) @ main.3f80e4ab.js:formatted:263988
Xd @ main.3f80e4ab.js:formatted:258533
b.unstable_runWithPriority @ main.3f80e4ab.js:formatted:270727
yl @ main.3f80e4ab.js:formatted:254599
wu @ main.3f80e4ab.js:formatted:258481
(anonymous) @ main.3f80e4ab.js:formatted:258471
k @ main.3f80e4ab.js:formatted:270645
O.port1.onmessage @ main.3f80e4ab.js:formatted:270521
main.3f80e4ab.js:formatted:263733 Uncaught Error: react-error-boundary requires either a fallback, fallbackRender, or FallbackComponent prop
    at T.render (8845.dc83918d.chunk.js:310:7180)
    at fc (main.3f80e4ab.js:formatted:256297:89)
    at Rc (main.3f80e4ab.js:formatted:256287:20)
    at qd (main.3f80e4ab.js:formatted:258743:17)
    at Zu (main.3f80e4ab.js:formatted:258136:21)
    at Ld (main.3f80e4ab.js:formatted:258129:17)
    at Pl (main.3f80e4ab.js:formatted:258112:21)
    at Uc (main.3f80e4ab.js:formatted:257853:22)
    at main.3f80e4ab.js:formatted:254623:38
    at b.unstable_runWithPriority (main.3f80e4ab.js:formatted:270727:24)
T.render @ 8845.dc83918d.chunk.js:310
fc @ main.3f80e4ab.js:formatted:256297
Rc @ main.3f80e4ab.js:formatted:256287
qd @ main.3f80e4ab.js:formatted:258743
Zu @ main.3f80e4ab.js:formatted:258136
Ld @ main.3f80e4ab.js:formatted:258129
Pl @ main.3f80e4ab.js:formatted:258112
Uc @ main.3f80e4ab.js:formatted:257853
(anonymous) @ main.3f80e4ab.js:formatted:254623
b.unstable_runWithPriority @ main.3f80e4ab.js:formatted:270727
yl @ main.3f80e4ab.js:formatted:254599
Au @ main.3f80e4ab.js:formatted:254619
za @ main.3f80e4ab.js:formatted:254611
Td @ main.3f80e4ab.js:formatted:257890
(anonymous) @ main.3f80e4ab.js:formatted:261981
setTimeout (async)
(anonymous) @ main.3f80e4ab.js:formatted:263732
Promise.catch (async)
W @ main.3f80e4ab.js:formatted:263731
e.flush @ main.3f80e4ab.js:formatted:261980
e.batch @ main.3f80e4ab.js:formatted:261952
o.dispatch @ main.3f80e4ab.js:formatted:262444
o.setData @ main.3f80e4ab.js:formatted:262248
onSuccess @ main.3f80e4ab.js:formatted:262403
_ @ main.3f80e4ab.js:formatted:263410
Promise.then (async)
m @ main.3f80e4ab.js:formatted:263449
i @ main.3f80e4ab.js:formatted:263473
o.fetch @ main.3f80e4ab.js:formatted:262400
O.executeFetch @ main.3f80e4ab.js:formatted:263130
O.setOptions @ main.3f80e4ab.js:formatted:263050
(anonymous) @ main.3f80e4ab.js:formatted:263988
Xd @ main.3f80e4ab.js:formatted:258533
b.unstable_runWithPriority @ main.3f80e4ab.js:formatted:270727
yl @ main.3f80e4ab.js:formatted:254599
wu @ main.3f80e4ab.js:formatted:258481
(anonymous) @ main.3f80e4ab.js:formatted:258471
k @ main.3f80e4ab.js:formatted:270645
O.port1.onmessage @ main.3f80e4ab.js:formatted:270521
main.3f80e4ab.js:formatted:258060 [Violation] 'setTimeout' handler took 80ms

This error seems to be throw on a .mime.split("/") method call where .mime is null.

Expected behavior
Either A, media is successfully uploaded from the url, or B, a "bad" media object is not created breaking the Strapi admin front end.

@JWesorick
Copy link
Author

This is actually the same issue as #26.

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

No branches or pull requests

2 participants