mnutt / davros

Personal file storage server
Apache License 2.0
297 stars 35 forks source link

The UI's upload button doesn't work #106

Closed nniro closed 4 years ago

nniro commented 4 years ago

Since version 0.25, after creating a new davros grain, the UI's upload button stopped working. It does absolutely nothing when I press it. I was only able to upload a file by deleting all files from the default grain and then pressing on the upload link that appears in the content section.

ocdtrekkie commented 4 years ago

@nniro Does drag/drop to upload work?

Also, do you get anything in the browser's JavaScript console that might explain why the upload button isn't working?

nniro commented 4 years ago

@ocdtrekkie I'm using sway (it's a wayland tiling window manager) which doesn't have icons I could drag and drop so I can't test dragging and dropping (and I don't have a GUI file manager).

I actually forgot about the javascript console, it does raise errors, here they are :

Error: Nothing handled the action 'chooseUpload'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble. 5 vendor-d571fd5b61a42ea922797f303bb4edb7.js:1837:22 Content Security Policy: Ignoring ‘x-frame-options’ because of ‘frame-ancestors’ directive. 3 Error: Nothing handled the action 'chooseUpload'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble. 99 vendor-d571fd5b61a42ea922797f303bb4edb7.js:1837:22

ocdtrekkie commented 4 years ago

I can definitely confirm this bug. (And your dev console error.) Hopefully @mnutt has some time to look at it soon.

polymersgreen commented 4 years ago

Indeed, doesn't allow uploading - tested on Safari and Firefox on MacOS and Firefox on Windows 10

ocdtrekkie commented 4 years ago

@polymersgreen Drag and drop to upload should still work though, if that's an option for your use case.

polymersgreen commented 4 years ago

Just realized this is possible : )

But.. Tried couple of use cases and I really doubt I cen rely on this Sandstorm app or propose its use in my organisation. Apart from this non-working button, there is no method of deleting files, apart from "delete EVERYTHING". Previewing files as a mounted share on MacOS wrecked the repository, and Win 10 can't mount WebDAV natively (due to lack of acceptance of authentication protocol version, I think - of course this is not Davros fault)

ocdtrekkie commented 4 years ago

You should be able to select a file, and then select the trash button, to delete a single file.

Unfortunately the "DAV" part of Davros isn't super reliable, mostly due to the various and disagreeing implementations of WebDAV. It works pretty well as a file container used via the browser, IMHO.

rmueck commented 4 years ago

I get this error in both cases select/drag-n-drop:

6709c7435b4ce50482dd394a334c3700b8d953b5.js?meteor_js_resource=true:202 App authors: To understand the grain-frame in Sandstorm and how to find logs and perform troubleshooting, see: - https://docs.sandstorm.io/en/latest/developing/path/ - https://docs.sandstorm.io/en/latest/using/top-bar/ - https://docs.sandstorm.io/en/latest/developing/troubleshooting/ When debugging, make sure you execute Javascript in the context of the 'grain-frame' IFRAME. References: - https://stackoverflow.com/questions/3275816/debugging-iframes-with-chrome-developer-tools - https://developer.mozilla.org/en-US/docs/Tools/Working_with_iframes We can also provide personal assistance! Get in touch: https://sandstorm.io/community DevTools failed to load SourceMap: Could not load content for chrome-extension://hdokiejnpimakedhajhdlcegeplioahd/sourcemaps/onloadwff.js.map: HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME vendor-d571fd5b61a42ea922797f303bb4edb7.js:1922 Uncaught TypeError: t.default.mkcol is not a function at davros-3593951f30d61122a9fa73b83ba114f8.js:207 at v (vendor-d571fd5b61a42ea922797f303bb4edb7.js:4174) at vendor-d571fd5b61a42ea922797f303bb4edb7.js:4181 at t.invoke (vendor-d571fd5b61a42ea922797f303bb4edb7.js:3707) at e.t.flush (vendor-d571fd5b61a42ea922797f303bb4edb7.js:3699) at e.t.flush (vendor-d571fd5b61a42ea922797f303bb4edb7.js:3713) at e.n._end (vendor-d571fd5b61a42ea922797f303bb4edb7.js:3776) at e.n.end (vendor-d571fd5b61a42ea922797f303bb4edb7.js:3732) at e.n._runExpiredTimers (vendor-d571fd5b61a42ea922797f303bb4edb7.js:3783) (anonymous) @ davros-3593951f30d61122a9fa73b83ba114f8.js:207 v @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:4174 (anonymous) @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:4181 t.invoke @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:3707 t.flush @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:3699 t.flush @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:3713 n._end @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:3776 n.end @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:3732 n._runExpiredTimers @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:3783 setTimeout (async) (anonymous) @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:3685 t @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:3685 n._installTimerTimeout @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:3787 n._later @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:3779 n.later @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:3757 e.next @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:2606 _addFiles @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:6494 change @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:6436 n._run @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:3778 n._join @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:3777 n.join @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:3743 p @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:2615 (anonymous) @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:995 a @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:2532 (anonymous) @ vendor-d571fd5b61a42ea922797f303bb4edb7.js:995

ocdtrekkie commented 4 years ago

Yeah, I'm actually seeing drag-drop not working either. I swear it did when 0.25.0 when live...

zenhack commented 4 years ago

I get this error on the JS console when I click the upload button, which appears to be the same error @nniro was seeing:

Error: Nothing handled the action 'chooseUpload'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble. vendor-d571fd5b61a42ea922797f303bb4edb7.js:1837:22
    P https://ui-98b3e715452fc9df113e67f6b09a635e.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:1837
    P self-hosted:844
    triggerEvent https://ui-98b3e715452fc9df113e67f6b09a635e.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:1767
    trigger https://ui-98b3e715452fc9df113e67f6b09a635e.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:4149
    send https://ui-98b3e715452fc9df113e67f6b09a635e.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:1790
    send https://ui-98b3e715452fc9df113e67f6b09a635e.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:1945
    triggerAction https://ui-98b3e715452fc9df113e67f6b09a635e.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:2046
    sendAction https://ui-98b3e715452fc9df113e67f6b09a635e.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:2222
    t https://ui-98b3e715452fc9df113e67f6b09a635e.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:6595
    click https://ui-98b3e715452fc9df113e67f6b09a635e.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:7014
    trigger https://ui-98b3e715452fc9df113e67f6b09a635e.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:2305
    n https://ui-98b3e715452fc9df113e67f6b09a635e.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:2167
    _run https://ui-98b3e715452fc9df113e67f6b09a635e.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:3778
    _join https://ui-98b3e715452fc9df113e67f6b09a635e.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:3777
    join https://ui-98b3e715452fc9df113e67f6b09a635e.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:3743
    p https://ui-98b3e715452fc9df113e67f6b09a635e.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:2615
    handleEvent https://ui-98b3e715452fc9df113e67f6b09a635e.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:2319
    a https://ui-98b3e715452fc9df113e67f6b09a635e.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:2532
    handleEvent https://ui-98b3e715452fc9df113e67f6b09a635e.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:2319
    handleEvent https://ui-98b3e715452fc9df113e67f6b09a635e.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:2244
    r https://ui-98b3e715452fc9df113e67f6b09a635e.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:2256
    t https://ui-98b3e715452fc9df113e67f6b09a635e.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:2265

I've gotten drag-and-drop to work inconsistently. Sometimes when it fails I see this on the console:

TypeError: e is undefined vendor-d571fd5b61a42ea922797f303bb4edb7.js:1376:47
    Se https://ui-e180377cd90e9aedcc3ba2ed346905db.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:1376
    didDrop https://ui-e180377cd90e9aedcc3ba2ed346905db.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:6417
    _join https://ui-e180377cd90e9aedcc3ba2ed346905db.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:3777
    join https://ui-e180377cd90e9aedcc3ba2ed346905db.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:3743
    p https://ui-e180377cd90e9aedcc3ba2ed346905db.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:2615
    bind https://ui-e180377cd90e9aedcc3ba2ed346905db.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:2618
    value https://ui-e180377cd90e9aedcc3ba2ed346905db.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:6539
    _run https://ui-e180377cd90e9aedcc3ba2ed346905db.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:3778
    _join https://ui-e180377cd90e9aedcc3ba2ed346905db.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:3777
    join https://ui-e180377cd90e9aedcc3ba2ed346905db.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:3743
    p https://ui-e180377cd90e9aedcc3ba2ed346905db.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:2615
    bind https://ui-e180377cd90e9aedcc3ba2ed346905db.thelibrary.sandcats.io/assets/vendor-d571fd5b61a42ea922797f303bb4edb7.js:2618

(grumble gumble javascript grumble grumble type system grumble grumble)

I was going to try to debug this but I haven't been able to get it to build; when I do ember serve I get:

Cannot read property 'prototype' of undefined

...which in my experience usually means a node version mismatch, but I've gotten this with several versions of node.


Has anyone else had luck getting this to build from source?

Do we know what the last known-good version was?