embraceitmobile / animated_tree_view

Animated TreeView based on AnimatedList allows building fully customizable Nodes that can be nested to infinite levels and children.
https://pub.dev/packages/animated_tree_view
MIT License
49 stars 23 forks source link

UnimplementedError: combinePaths not implemented in HTML renderer [iOs Web] #49

Open celineBastady opened 1 month ago

celineBastady commented 1 month ago

When running a basic example of the tree in a Flutter application, on Web (Safari) I get an exception : UnimplementedError: combinePaths not implemented in HTML renderer treeOnPWA

Code Example:

TreeView.indexTyped<T, IndexedTreeNode>( showRootNode: false, indentation: const Indentation(style: IndentStyle.roundJoint), expansionIndicatorBuilder: (context, node) => NoExpansionIndicator(tree: node), onTreeReady: (controller) { treeListModel.treeController = controller; onTreeReady?.call(controller); }, tree: snapshot.data!, builder: treeListNodeBuilder, );

Flutter doctor

[!] Flutter (Channel [user-branch], 3.19.3, on Microsoft Windows [Version 10.0.22631.3447], locale en-BE) ! Flutter version 3.19.3 on channel [user-branch] at D:\install\software\flutter\3.19.3 [√] Windows Version (Installed version of Windows is version 10 or higher) [!] Android toolchain - develop for Android devices (Android SDK version 33.0.2) [√] Chrome - develop for the web [√] Visual Studio - develop Windows apps (Visual Studio Build Tools 2022 17.5.4) [√] Android Studio (version 2023.2) [√] VS Code (version 1.87.2) [!] Proxy Configuration ! NO_PROXY does not contain localhost [√] Connected device (3 available) [√] Network resources

Stacktrace :

Performing hot restart... Reloaded application in 423ms. ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════ The following UnimplementedError was thrown during paint(): UnimplementedError

The relevant error-causing widget was: CustomPaint org-dartlang-app:///packages/mywebapp/main.dart:64:12

When the exception was thrown, this was the stack: package:dart-sdk/lib/_internal/js_dev_runtime/private/ddcruntime/errors.dart 194:49 throw package:build_web_compilers/lib/ui/src/ui/canvas.dart 2200:5 combine package:mywebapp/main.dart 115:21 paint package:flutter/src/rendering/custom_paint.dart 531:12 [_paintWithPainter] package:flutter/src/rendering/custom_paint.dart 572:7 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/box.dart 2508:14 defaultPaint package:flutter/src/rendering/flex.dart 948:7 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/shifted_box.dart 70:14 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/shifted_box.dart 70:14 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/box.dart 2508:14 defaultPaint package:flutter/src/rendering/custom_layout.dart 396:5 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/proxy_box.dart 123:14 paint package:flutter/src/material/material.dart 530:11 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/proxy_box.dart 123:14 paint package:flutter/src/rendering/object.dart 384:12 pushLayer package:flutter/src/rendering/proxy_box.dart 1757:14 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/proxy_box.dart 123:14 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/proxy_box.dart 123:14 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 135:10 _repaintCompositedChild package:flutter/src/rendering/object.dart 95:5 repaintCompositedChild package:flutter/src/rendering/object.dart 201:7 [_compositeChild] package:flutter/src/rendering/object.dart 182:7 paintChild package:flutter/src/rendering/proxy_box.dart 123:14 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/proxy_box.dart 921:16 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/proxy_box.dart 123:14 paint package:flutter/src/rendering/proxy_box.dart 2464:13 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/proxy_box.dart 123:14 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 135:10 _repaintCompositedChild package:flutter/src/rendering/object.dart 95:5 repaintCompositedChild package:flutter/src/rendering/object.dart 201:7 [_compositeChild] package:flutter/src/rendering/object.dart 182:7 paintChild package:flutter/src/rendering/proxy_box.dart 123:14 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/proxy_box.dart 123:14 paint package:flutter/src/rendering/proxy_box.dart 3174:11 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/box.dart 2508:14 defaultPaint package:flutter/src/rendering/stack.dart 589:5 paintStack package:flutter/src/rendering/stack.dart 597:7 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/proxy_box.dart 123:14 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/proxy_box.dart 123:14 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/proxy_box.dart 123:14 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/proxy_box.dart 123:14 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/proxy_box.dart 123:14 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/proxy_box.dart 123:14 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 184:12 paintChild package:flutter/src/rendering/view.dart 210:14 paint package:flutter/src/rendering/object.dart 2211:7 [_paintWithContext] package:flutter/src/rendering/object.dart 135:10 _repaintCompositedChild package:flutter/src/rendering/object.dart 95:5 repaintCompositedChild package:flutter/src/rendering/object.dart 937:29 flushPaint package:flutter/src/rendering/binding.dart 346:19 drawFrame package:flutter/src/widgets/binding.dart 774:13 drawFrame package:flutter/src/rendering/binding.dart 283:5 [_handlePersistentFrameCallback] package:flutter/src/scheduler/binding.dart 1101:15 [_invokeFrameCallback] package:flutter/src/scheduler/binding.dart 1040:9 handleDrawFrame package:flutter/src/scheduler/binding.dart 849:7 package:dart-sdk/lib/_internal/js_dev_runtime/private/isolate_helper.dart 48:19 internalCallback

The following RenderObject was being processed when the exception was fired: RenderCustomPaint#dc268 relayoutBoundary=up4: creator: CustomPaint ← UnicornOutlineButton ← Column ← Center ← MediaQuery ← Padding ← SafeArea ← _BodyBuilder ← MediaQuery ← LayoutId-[<_ScaffoldSlot.body>] ← CustomMultiChildLayout ← AnimatedBuilder ← ⋯ parentData: offset=Offset(0.0, 0.0); flex=null; fit=null (can use size) constraints: BoxConstraints(0.0<=w<=1920.0, 0.0<=h<=Infinity) size: Size(88.0, 48.0) This RenderObject had the following descendants (showing up to depth 5): child: RenderSemanticsGestureHandler#078b7 relayoutBoundary=up5 NEEDS-PAINT child: RenderPointerListener#fd406 relayoutBoundary=up6 NEEDS-PAINT child: RenderSemanticsAnnotations#9008b relayoutBoundary=up7 NEEDS-PAINT child: RenderMouseRegion#dec56 relayoutBoundary=up8 NEEDS-PAINT child: RenderSemanticsGestureHandler#cea3a relayoutBoundary=up9 NEEDS-PAINT ════════════════════════════════════════════════════════════════════════════════════════════════════ Another exception was thrown: UnimplementedError

A similar issue has been reported in other library : Github opened issue: https://github.com/flutter/flutter/issues/44572

The issue happen only on Flutter Web (Safari Web browser) on Firefox it works without issue.