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
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/ddc_runtime/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: flutter/flutter#44572
The issue happen only on Flutter Web (Safari Web browser) on Firefox it works without issue.