Skip to content

[SuperTextField] [web] Clipboard paste not working without Clipboard permissions #166

Open
@venkatd

Description

@venkatd

@matthew-carroll

If I try to paste in release mode deployed to prod, I get the following error when attempting to paste:

20:27:16.866 main-b370b170139bc249346302b029c6166fd9dfd67d.dart.js:6523 Uncaught PlatformException(paste_fail, Clipboard.getData failed, null, null)
    at Object.wrapException (https://beta.turtleos.com/main-b370b170139bc249346302b029c6166fd9dfd67d.dart.js:6523:17)
    at JSONMethodCodec0.decodeEnvelope$1 (https://beta.turtleos.com/main-b370b170139bc249346302b029c6166fd9dfd67d.dart.js:127035:17)
    at https://beta.turtleos.com/main-b370b170139bc249346302b029c6166fd9dfd67d.dart.js:127513:60
    at _wrapJsFunctionForAsync_closure.$protected (https://beta.turtleos.com/main-b370b170139bc249346302b029c6166fd9dfd67d.dart.js:9858:15)
    at _wrapJsFunctionForAsync_closure.call$2 (https://beta.turtleos.com/main-b370b170139bc249346302b029c6166fd9dfd67d.dart.js:72454:12)
    at _awaitOnObject_closure.call$1 (https://beta.turtleos.com/main-b370b170139bc249346302b029c6166fd9dfd67d.dart.js:72440:32)
    at _RootZone.runUnary$2$2 (https://beta.turtleos.com/main-b370b170139bc249346302b029c6166fd9dfd67d.dart.js:74744:18)
    at _Future__propagateToListeners_handleValueCallback.call$0 (https://beta.turtleos.com/main-b370b170139bc249346302b029c6166fd9dfd67d.dart.js:73403:51)
    at Object._Future__propagateToListeners (https://beta.turtleos.com/main-b370b170139bc249346302b029c6166fd9dfd67d.dart.js:10107:93)
    at _Future._completeWithValue$1 (https://beta.turtleos.com/main-b370b170139bc249346302b029c6166fd9dfd67d.dart.js:73223:9)
wrapException @ main-b370b170139bc249346302b029c6166fd9dfd67d.dart.js:6523
call$0 @ main-b370b170139bc249346302b029c6166fd9dfd67d.dart.js:74617
_microtaskLoop @ main-b370b170139bc249346302b029c6166fd9dfd67d.dart.js:10168
_startMicrotaskLoop @ main-b370b170139bc249346302b029c6166fd9dfd67d.dart.js:10174
call$1 @ main-b370b170139bc249346302b029c6166fd9dfd67d.dart.js:72316
invokeClosure @ main-b370b170139bc249346302b029c6166fd9dfd67d.dart.js:6726
(anonymous) @ main-b370b170139bc249346302b029c6166fd9dfd67d.dart.js:6745
20:35:10.345 

I have to enable the Clipboard API to get things working.

However, with the built-in TextField on web, no such permission is required. I tried reading through the Flutter source, but I'm not sure what kind of trickery they are doing to allow a regular paste operation.

One observation is that, during editing of a TextField, there's an invisible input that appears to be kept in sync with the editor. So entering cmd+v may end up pasting there.

Do you know someone we can confirm the TextField paste implementation with?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions