Error when I press Altright in my Flutter web application

Viewed 684

My flutter web application works correctly but, if I press the key Alt-Right on my keyboard, I get the following error:

    ═════ Exception caught by services library ══════════════════════════════════
The following assertion was thrown during a platform message callback:
"Attempted to send a key down event when no keys are in keysPressed. This state can occur if the key event being sent doesn't properly set its modifier flags. This was the event: RawKeyDownEvent#82566(logicalKey: LogicalKeyboardKey#b3481(keyId: \"0x1000700e6\", keyLabel: \"\", debugName: \"Alt Right\"), physicalKey: PhysicalKeyboardKey#700e6(usbHidUsage: \"0x000700e6\", debugName: \"Alt Right\")) and its data: RawKeyEventDataWeb(keyLabel: AltGraph, code: AltRight, metaState: 0, modifiers down: {})"
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 216:49  throw_
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 24:3    assertFailed
packages/flutter/src/services/raw_keyboard.dart 617:54                                                                     _handleKeyEvent
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54            runBody
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:12           _async
...
════════════════════════════════════════════════════════════════════════════════

Then my application keeps working without errors but everytime I press the Alt-Right button I get the same error. This happens if I press it when I'm writing inside a TextField but even if I press when no text field is focused.

This is my "flutter doctor -v" output:

[√] Flutter (Channel beta, 1.23.0-18.1.pre, on Microsoft Windows [Versione 10.0.18363.1198], locale it-IT)
    • Flutter version 1.23.0-18.1.pre at C:\flutter
    • Framework revision 198df796aa (5 weeks ago), 2020-10-15 12:04:33 -0700
    • Engine revision 1d12d82d9c
    • Dart version 2.11.0 (build 2.11.0-213.1.beta)

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at C:\Users\franc\AppData\Local\Android\sdk
    • Platform android-29, build-tools 29.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 3.6)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 45.1.1
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)

[√] VS Code (version 1.51.1)
    • VS Code at C:\Users\franc\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.16.0

[√] Connected device (3 available)
    • Web Server (web) • web-server • web-javascript • Flutter Tools
    • Chrome (web)     • chrome     • web-javascript • Google Chrome 87.0.4280.66
    • Edge (web)       • edge       • web-javascript • Microsoft Edge 86.0.622.69

• No issues found!

This is my flutter "run -d chrome --verbose" output (where you can see the error I get):

[ +155 ms] executing: [C:\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +89 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +2 ms] 198df796aa80073ef22bdf249e614e2ff33c6895
[   +1 ms] executing: [C:\flutter/] git tag --points-at HEAD
[  +91 ms] Exit code 0 from: git tag --points-at HEAD
[   +1 ms] 1.23.0-18.1.pre
[  +18 ms] executing: [C:\flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +62 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[   +2 ms] origin/beta
[   +1 ms] executing: [C:\flutter/] git ls-remote --get-url origin
[  +51 ms] Exit code 0 from: git ls-remote --get-url origin
[   +2 ms] https://github.com/flutter/flutter.git
[  +91 ms] executing: [C:\flutter/] git rev-parse --abbrev-ref HEAD
[  +73 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[   +2 ms] beta
[  +81 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +5 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +74 ms] executing: C:\Users\franc\AppData\Local\Android\sdk\platform-tools\adb.exe devices -l
[  +69 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[   +2 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +5 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[   +2 ms] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +95 ms] executing: C:\Users\franc\AppData\Local\Android\sdk\platform-tools\adb.exe devices -l
[  +56 ms] Found plugin cloud_firestore at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore-0.14.3\
[  +11 ms] Found plugin cloud_firestore_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore_web-0.2.1\
[  +13 ms] Found plugin firebase_auth at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.18.3\
[   +6 ms] Found plugin firebase_auth_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth_web-0.3.2\
[   +4 ms] Found plugin firebase_core at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core-0.5.2\
[   +5 ms] Found plugin firebase_core_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core_web-0.2.1\
[ +161 ms] Found plugin cloud_firestore at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore-0.14.3\
[   +7 ms] Found plugin cloud_firestore_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore_web-0.2.1\
[   +6 ms] Found plugin firebase_auth at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.18.3\
[   +6 ms] Found plugin firebase_auth_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth_web-0.3.2\
[   +5 ms] Found plugin firebase_core at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core-0.5.2\
[   +3 ms] Found plugin firebase_core_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core_web-0.2.1\
[  +39 ms] Generating
C:\Users\franc\AndroidStudioProjects\todolist\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.jav
a
[  +49 ms] List of devices attached
[ +106 ms] Launching lib\main.dart on Chrome in debug mode...
[  +36 ms] List of devices attached
[ +142 ms] Updating assets
[ +132 ms] Syncing files to device Chrome...
[  +14 ms] Found plugin cloud_firestore at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore-0.14.3\
[   +3 ms] Found plugin cloud_firestore_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore_web-0.2.1\
[   +7 ms] Found plugin firebase_auth at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.18.3\
[   +3 ms] Found plugin firebase_auth_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth_web-0.3.2\
[   +2 ms] Found plugin firebase_core at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core-0.5.2\
[   +3 ms] Found plugin firebase_core_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core_web-0.2.1\
[  +30 ms] Found plugin cloud_firestore at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore-0.14.3\
[   +5 ms] Found plugin cloud_firestore_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore_web-0.2.1\
[   +7 ms] Found plugin firebase_auth at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.18.3\
[   +4 ms] Found plugin firebase_auth_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth_web-0.3.2\
[   +2 ms] Found plugin firebase_core at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core-0.5.2\
[   +4 ms] Found plugin firebase_core_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core_web-0.2.1\
[  +25 ms] Generating
C:\Users\franc\AndroidStudioProjects\todolist\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.jav
a
[ +114 ms] <- reset
[  +12 ms] C:\flutter\bin\cache\dart-sdk\bin\dart.exe --disable-dart-dev
C:\flutter\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root
C:\flutter\bin\cache\flutter_web_sdk/ --incremental --target=dartdevc --debugger-module-names
--experimental-emit-debug-metadata -Ddart.developer.causal_async_stacks=true --output-dill
C:\Users\franc\AppData\Local\Temp\flutter_tools.4b32dabd\flutter_tool.c33e31c6\app.dill --libraries-spec
file:///C:/flutter/bin/cache/flutter_web_sdk/libraries.json --packages .packages -Ddart.vm.profile=false
-Ddart.vm.product=false --enable-asserts --track-widget-creation --filesystem-root
C:\Users\franc\AppData\Local\Temp\flutter_tools.4b32dabd\flutter_tools.43ac9e91 --filesystem-scheme org-dartlang-app
--initialize-from-dill build\cache.dill.track.dill --platform
file:///C:/flutter/bin/cache/flutter_web_sdk/kernel/flutter_ddc_sdk.dill
[  +11 ms] <- compile org-dartlang-app:/web_entrypoint.dart
[+22652 ms] Syncing files to device Chrome... (completed in 22.886ms, longer than expected)
[   +7 ms] Synced 29.8MB.
[   +2 ms] <- accept
[   +3 ms] Caching compiled dill
[ +397 ms] Using Apertura nella sessione del browser esistente.

[ +501 ms] [CHROME]:
[  +11 ms] [CHROME]:DevTools listening on ws://127.0.0.1:58721/devtools/browser/ddefd0a4-705a-4017-875f-6c99bdfa0ff8
[+8098 ms] Debug service listening on ws://127.0.0.1:58762/BArWG_PTDv4=

[ +318 ms] Debug service listening on ws://127.0.0.1:58762/BArWG_PTDv4=
[   +5 ms] Warning: Flutter's support for web development is not stable yet and hasn't
[   +1 ms] been thoroughly tested in production environments.
[   +1 ms] For more information see https://flutter.dev/web
[   +2 ms]   To hot restart changes while running, press "r" or "R".
[   +2 ms] For a more detailed help message, press "h". To quit, press "q".
**[+5640 ms] ══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY ╞══════════════════════════════════════════════════════════
[   +8 ms] The following assertion was thrown during a platform message callback:
[   +1 ms] Assertion failed: file:///C:/flutter/packages/flutter/lib/src/services/raw_keyboard.dart:617:12
[   +2 ms] event is! RawKeyDownEvent || _keysPressed.isNotEmpty
[   +1 ms] "Attempted to send a key down event when no keys are in keysPressed. This state can occur if the key
[   +1 ms] event being sent doesn't properly set its modifier flags. This was the event:
[   +1 ms] RawKeyDownEvent#841c7(logicalKey: LogicalKeyboardKey#b3481(keyId: \"0x1000700e6\", keyLabel: \"\",
[   +1 ms] debugName: \"Alt Right\"), physicalKey: PhysicalKeyboardKey#700e6(usbHidUsage: \"0x000700e6\",
[   +3 ms] debugName: \"Alt Right\")) and its data: RawKeyEventDataWeb(keyLabel: AltGraph, code: AltRight,
[   +1 ms] metaState: 0, modifiers down: {})"
[   +2 ms] When the exception was thrown, this was the stack:
[   +1 ms]
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart
           216:49  throw_
[   +2 ms]
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 24:3
           assertFailed
[   +4 ms] packages/flutter/src/services/raw_keyboard.dart 617:54
           _handleKeyEvent
[   +1 ms] C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart
84:54
           runBody
[   +2 ms] C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart
123:12
           _async
[   +1 ms] packages/flutter/src/services/raw_keyboard.dart 594:34
           [_handleKeyEvent]
[   +3 ms] packages/flutter/src/services/platform_channel.dart 74:49
           <fn>
[   +2 ms] C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart
84:54
           runBody
[   +2 ms] C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart
123:12
           _async
[   +2 ms] packages/flutter/src/services/platform_channel.dart 73:58
           <fn>
[   +3 ms] packages/flutter/src/services/binding.dart 283:33
           handlePlatformMessage
[   +1 ms] C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart
84:54
           runBody
[   +2 ms] C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart
123:12
           _async
[   +2 ms] packages/flutter/src/services/binding.dart 274:37
           handlePlatformMessage
[   +3 ms] C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/window.dart 869:13
           _invoke3
[   +2 ms] C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/window.dart 459:5
           invokeOnPlatformMessage
[   +2 ms] C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/keyboard.dart 138:12
           [_handleHtmlEvent]
[   +1 ms] C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/keyboard.dart 39:7
           <fn>
[   +3 ms]** ════════════════════════════════════════════════════════════════════════════════════════════════════
1 Answers

It seems like this issue is still around. I do not know how to actually fix it, but I managed to find out that it is known to the developers and that a supposed fix was merged in January.

Just yesterday (oh how lucky we are), the related issue was unlocked again, as they noticed that the problem had not in fact been completely fixed.

I hope that there will soon be a working fix for it, as it affects a project of my company as well. As soon as I have any updates, I will edit this answer to hopefully be more helpful in the future.

Until then, we do what we can do.

Peace out

EDIT: TL;DR of the posted links.

The first link is a merged commit supposedly fixing the Alt Right issue by linking the keys.

The second link is one of the issues that was filed on the Flutter repo in connection with this error.

Related