pd4d10 / git-touch

An open-source app for GitHub, GitLab, Bitbucket, Gitea, and Gitee(码云), built with Flutter
Apache License 2.0
1.56k stars 134 forks source link

markdown rendering causes reboot #123

Closed ghost closed 3 years ago

ghost commented 3 years ago

Samsung Galaxy S8, Android 9, One UI

Opening this repo by going through settings crashes Android and causes a soft reboot. Issue was not present in previous play release

ghost commented 3 years ago

This also seems to happen with my own repos, although testing is a bit of a pain. Gitlab is also effected, I suspect the markdown renderer may have something to do with this since repositories without a readme seem to be fine

pd4d10 commented 3 years ago

The latest version uses webview_flutter to display readmes. Probably related to this change.

pd4d10 commented 3 years ago

Hi, @kakolisgay , you could select Markdown render engine in the latest version v1.9.0, which has been published and in review.

simulator_screenshot_9F696016-7303-4A3B-9EBE-082B2F6AE396

ghost commented 3 years ago

Updated to 1.9.0* and strangely enough, it no longer crashes. Even in flutter rendering mode. Webview rendering mode doesn't seem to work though. Was the crash fixed upstream?

pd4d10 commented 3 years ago

Markdown render engine history:

ghost commented 3 years ago

Still not entire sure what was causing the crashes but I assume it was likely fixed upstream. Closing for now

pd4d10 commented 3 years ago
E/flutter (27924): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: PlatformException(error, java.lang.IllegalStateException: Invalid @IntRange(from = 1): 0
E/flutter (27924):  at com.android.internal.util.AnnotationValidations.invalid(AnnotationValidations.java:227)
E/flutter (27924):  at com.android.internal.util.AnnotationValidations.invalid(AnnotationValidations.java:223)
E/flutter (27924):  at com.android.internal.util.AnnotationValidations.validate(AnnotationValidations.java:74)
E/flutter (27924):  at android.hardware.display.VirtualDisplayConfig$Builder.<init>(VirtualDisplayConfig.java:336)
E/flutter (27924):  at android.hardware.display.DisplayManager.createVirtualDisplay(DisplayManager.java:649)
E/flutter (27924):  at android.hardware.display.DisplayManager.createVirtualDisplay(DisplayManager.java:600)
E/flutter (27924):  at io.flutter.plugin.platform.VirtualDisplayController.create(VirtualDisplayController.java:42)
E/flutter (27924):  at io.flutter.plugin.platform.PlatformViewsController$1.createVirtualDisplayForPlatformView(PlatformViewsController.java:207)
E/flutter (27924):  at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.create(PlatformViewsChannel.java:104)
E/flutter (27924):  at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.onMethodCall(PlatformViewsChannel.java:59)
E/flutter (27924):  at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:233)
E/flutter (27924):  at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
E/flutter (27924):  at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:692)
E/flutter (27924):  at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter (27924):  at android.os.MessageQueue.next(MessageQueue.java:335)
E/flutter (27924):  at android.os.Looper.loop(Looper.java:183)
E/flutter (27924):  at android.app.ActivityThread.main(ActivityThread.java:7656)
E/flutter (27924):  at java.lang.reflect.Method.invoke(Native Method)
E/flutter (27924):  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
E/flutter (27924):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
E/flutter (27924): , null, null)
pd4d10 commented 3 years ago

It seems happen again at v1.10.0

pd4d10 commented 3 years ago

It is probably caused by the webview component. Selecting 'Flutter' markdown render engine would solve this temporarily.

ThisNekoGuy commented 3 years ago

Still happens for me with webview*

Lehmaning commented 2 years ago

The problem still exists. Maybe we should open this issue again...