sakibguy / worked-issues

arget medi a[rpescriptionmedicie] &ssets[dr] (reeeverse._ax:p)
2 stars 0 forks source link

[ORG] SG-MYALICE: [Get] the improper use of a GetX has been detected #98

Closed sakibguy closed 1 year ago

sakibguy commented 1 year ago

PROB

======== Exception caught by widgets library =======================================================
The following message was thrown building Obx(has builder, dirty, state: _ObxState#52b2d):
      [Get] the improper use of a GetX has been detected. 
      You should only use GetX or Obx for the specific widget that will be updated.
      If you are seeing this error, you probably did not insert any observable variables into GetX/Obx 
      or insert them outside the scope that GetX considers suitable for an update 
      (example: GetX => HeavyWidget => variableObservable).
      If you need to update a parent widget and a child widget, wrap each one in an Obx/GetX.

The relevant error-causing widget was: 
  Obx Obx:file:///D:/myalice_app/lib/screens/chatDetails/customWidgets/conversationWidgets/conversationBaseWidget.dart:531:49
When the exception was thrown, this was the stack: 
#0      RxInterface.notifyChildren (package:get/get_rx/src/rx_types/rx_core/rx_interface.dart:29:7)
#1      _ObxState.build (package:get/get_state_manager/src/rx_flutter/rx_obx_widget.dart:54:19)
#2      StatefulElement.build (package:flutter/src/widgets/framework.dart:4992:27)
#3      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4878:15)
#4      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5050:11)
#5      Element.rebuild (package:flutter/src/widgets/framework.dart:4604:5)
#6      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4859:5)
#7      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5041:11)
#8      ComponentElement.mount (package:flutter/src/widgets/framework.dart:4853:5)
...     Normal element mounting (7 frames)
#15     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3863:16)
#16     MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6435:36)
#17     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6447:32)
#18     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3863:16)
#19     MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6435:36)
#20     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6447:32)
#21     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3863:16)
#22     MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6435:36)
#23     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6447:32)
#24     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3863:16)
#25     MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6435:36)
#26     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6447:32)
#27     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3863:16)
#28     MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6435:36)
#29     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6447:32)
...     Normal element mounting (21 frames)
#50     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3863:16)
#51     MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6435:36)
#52     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6447:32)
...     Normal element mounting (41 frames)
#93     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3863:16)
#94     Element.updateChild (package:flutter/src/widgets/framework.dart:3592:18)
#95     SliverMultiBoxAdaptorElement.updateChild (package:flutter/src/widgets/sliver.dart:1405:37)
#96     SliverMultiBoxAdaptorElement.createChild.<anonymous closure> (package:flutter/src/widgets/sliver.dart:1390:20)
#97     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2605:19)
#98     SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:1382:12)
#99     RenderSliverMultiBoxAdaptor._createOrObtainChild.<anonymous closure> (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:353:23)
#100    RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:2246:59)
#101    PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:1035:15)
#102    RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:2246:14)
#103    RenderSliverMultiBoxAdaptor._createOrObtainChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:342:5)
#104    RenderSliverMultiBoxAdaptor.addInitialChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:428:5)
#105    RenderSliverList.performLayout (package:flutter/src/rendering/sliver_list.dart:79:12)
#106    RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#107    RenderSliverEdgeInsetsPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:149:12)
#108    RenderSliverPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:386:11)
#109    RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#110    RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:516:13)
#111    RenderShrinkWrappingViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1960:12)
#112    RenderShrinkWrappingViewport.performLayout (package:flutter/src/rendering/viewport.dart:1905:20)
#113    RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#114    RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#115    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#116    RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#117    RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#118    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#119    RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#120    RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#121    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#122    RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#123    RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#124    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#125    RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#126    RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#127    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#128    RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#129    RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#130    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#131    RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#132    RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#133    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#134    RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#135    RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#136    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#137    RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:552:11)
#138    RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#139    RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#140    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#141    RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#142    RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#143    ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:56:11)
#144    RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:903:45)
#145    RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:938:32)
#146    RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#147    RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#148    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#149    RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#150    RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#151    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#152    RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#153    RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#154    MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:171:12)
#155    _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1055:7)
#156    MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:240:7)
#157    RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:410:14)
#158    RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#159    RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#160    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#161    RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#162    RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#163    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
#164    _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1462:11)
#165    RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#166    RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#167    ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:56:11)
#168    RenderStack._computeSize (package:flutter/src/rendering/stack.dart:595:43)
#169    RenderStack.performLayout (package:flutter/src/rendering/stack.dart:622:12)
#170    RenderObject.layout (package:flutter/src/rendering/object.dart:2135:7)
#171    RenderBox.layout (package:flutter/src/rendering/box.dart:2418:11)
#172    MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:171:12)
#173    _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1055:7)
#174    MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:240:7)
#175    RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:410:14)
#176    RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1973:7)
#177    PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:999:18)
#178    RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:513:19)
#179    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:884:13)
#180    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:378:5)
#181    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1175:15)
#182    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1104:9)
#183    SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1015:5)
#184    _invoke (dart:ui/hooks.dart:148:13)
#185    PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:318:5)
#186    _drawFrame (dart:ui/hooks.dart:115:31)
====================================================================================================

SNaP

Screenshot (502)

sakibguy commented 1 year ago

error-causing widget was

Screenshot (503)

sakibguy commented 1 year ago

Solution

Only Rx type var & obs need to called inside Obx or GetX to update state of UI.

Example

Rx type: widget.conversation.isPusherSucceeded

Couldn't call outside Rx type inside Obx, GetX wrapped widget.