Open angelosilvestre opened 3 weeks ago
Package Version Latest main
To Reproduce Steps to reproduce the behavior:
Actual behavior The editor crashes with the following exception:
Restarted application in 333ms. ════════ Exception caught by widgets library ═══════════════════════════════════ The following assertion was thrown building AnimatedBuilder(listenable: ValueNotifier<TextInputConnection?>#99375(null), state: _AnimatedState#b3bd8): A RenderViewport expected a child of type RenderSliver but received a child of type RenderStack. RenderObjects expect specific types of children because they coordinate with their children during layout and paint. For example, a RenderSliver cannot be the child of a RenderBox because a RenderSliver does not understand the RenderBox layout protocol. The RenderViewport that expected a RenderSliver child was created by: Viewport ← IgnorePointer-[GlobalKey#552d6] ← Semantics ← Listener ← _GestureSemantics ← RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#66afa] ← Listener ← _ScrollableScope ← _ScrollSemantics-[GlobalKey#7f3c6] ← NotificationListener<ScrollMetricsNotification> ← Scrollable ← CustomScrollView ← ⋯ The RenderStack that did not match the expected child type was created by: Stack ← AnimatedBuilder ← SuperEditorImeDebugVisuals ← SuperEditorImeInteractor ← Viewport ← IgnorePointer-[GlobalKey#552d6] ← Semantics ← Listener ← _GestureSemantics ← RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#66afa] ← Listener ← _ScrollableScope ← ⋯ The relevant error-causing widget was: AnimatedBuilder AnimatedBuilder:file:///Users/angelosilvestre/dev/super_editor/super_editor/lib/src/default_editor/debug_visualization.dart:108:12 When the exception was thrown, this was the stack: #0 ContainerRenderObjectMixin.debugValidateChild.<anonymous closure> (package:flutter/src/rendering/object.dart:4239:9) #1 ContainerRenderObjectMixin.debugValidateChild (package:flutter/src/rendering/object.dart:4266:6) #2 MultiChildRenderObjectElement.insertRenderObjectChild (package:flutter/src/widgets/framework.dart:6973:25) #3 _ViewportElement.insertRenderObjectChild (package:flutter/src/widgets/viewport.dart:266:11) #4 RenderObjectElement.attachRenderObject (package:flutter/src/widgets/framework.dart:6732:35) #5 RenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6597:5) #6 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7042:11) ... Normal element mounting (23 frames) #29 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4468:16) #30 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7035:36) #31 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7047:32) #32 _ViewportElement.mount (package:flutter/src/widgets/viewport.dart:225:11) ... Normal element mounting (114 frames) #146 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4468:16) #147 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7035:36) #148 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7047:32) ... Normal element mounting (36 frames) #184 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4468:16) #185 Element.updateChild (package:flutter/src/widgets/framework.dart:3957:20) #186 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16) #187 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7) #188 StatelessElement.update (package:flutter/src/widgets/framework.dart:5693:5) #189 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #190 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16) #191 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7) #192 StatelessElement.update (package:flutter/src/widgets/framework.dart:5693:5) #193 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #194 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16) #195 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11) #196 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7) #197 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5) #198 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #199 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16) #200 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7) #201 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5) #202 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #203 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16) #204 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7) #205 StatelessElement.update (package:flutter/src/widgets/framework.dart:5693:5) #206 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #207 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16) #208 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7) #209 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5) #210 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #211 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14) #212 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #213 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16) #214 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7) #215 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5) #216 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #217 Element.updateChildren (package:flutter/src/widgets/framework.dart:4090:32) #218 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7060:17) #219 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #220 Element.updateChildren (package:flutter/src/widgets/framework.dart:4090:32) #221 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7060:17) #222 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #223 _OverlayPortalElement.update (package:flutter/src/widgets/overlay.dart:2091:14) #224 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #225 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16) #226 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11) #227 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7) #228 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5) #229 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #230 _OverlayPortalElement.update (package:flutter/src/widgets/overlay.dart:2091:14) #231 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #232 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16) #233 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11) #234 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7) #235 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5) #236 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #237 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16) #238 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7) #239 StatelessElement.update (package:flutter/src/widgets/framework.dart:5693:5) #240 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #241 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16) #242 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7) #243 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5) #244 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #245 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16) #246 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7) #247 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5) #248 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #249 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16) #250 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7) #251 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5) #252 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #253 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16) #254 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7) #255 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5) #256 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #257 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16) #258 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7) #259 StatelessElement.update (package:flutter/src/widgets/framework.dart:5693:5) #260 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #261 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16) #262 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7) #263 ProxyElement.update (package:flutter/src/widgets/framework.dart:5946:5) #264 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #265 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16) #266 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7) #267 StatelessElement.update (package:flutter/src/widgets/framework.dart:5693:5) #268 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #269 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16) #270 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11) #271 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7) #272 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5) #273 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15) #274 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16) #275 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11) #276 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7) #277 BuildScope._tryRebuild (package:flutter/src/widgets/framework.dart:2693:15) #278 BuildScope._flushDirtyElements (package:flutter/src/widgets/framework.dart:2752:11) #279 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3048:18) #280 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1162:21) #281 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:468:5) #282 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1397:15) #283 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1318:9) #284 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1176:5) #285 _invoke (dart:ui/hooks.dart:312:13) #286 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:419:5) #287 _drawFrame (dart:ui/hooks.dart:283:31) ════════════════════════════════════════════════════════════════════════════════ ════════ Exception caught by widgets library ═══════════════════════════════════ A RenderViewport expected a child of type RenderSliver but received a child of type RenderErrorBox. The relevant error-causing widget was: SuperEditorImeDebugVisuals SuperEditorImeDebugVisuals:file:///Users/angelosilvestre/dev/super_editor/super_editor/lib/src/default_editor/document_ime/supereditor_ime_interactor.dart:479:12 ════════════════════════════════════════════════════════════════════════════════ ════════ Exception caught by widgets library ═══════════════════════════════════ A RenderViewport expected a child of type RenderSliver but received a child of type RenderErrorBox. The relevant error-causing widget was: SuperEditorImeInteractor SuperEditorImeInteractor:file:///Users/angelosilvestre/dev/super_editor/super_editor/lib/src/default_editor/super_editor.dart:749:16 ════════════════════════════════════════════════════════════════════════════════ ════════ Exception caught by widgets library ═══════════════════════════════════ A RenderViewport expected a child of type RenderSliver but received a child of type RenderErrorBox. The relevant error-causing widget was: CustomScrollView CustomScrollView:file:///Users/angelosilvestre/dev/super_editor/super_editor/lib/src/default_editor/document_scrollable.dart:212:16 ════════════════════════════════════════════════════════════════════════════════
Expected behavior The editor shouldn't crash
Platform macOS
Flutter version 3.24.0 • channel stable
@matthew-carroll
FYI @knopp because I see some reference to slivers in here, so it might be related to your sliver work.
Seems like it would be. I'll take a look first thing tomorrow.
Package Version Latest main
To Reproduce Steps to reproduce the behavior:
Actual behavior The editor crashes with the following exception:
Expected behavior The editor shouldn't crash
Platform macOS
Flutter version 3.24.0 • channel stable