>_ rehablogger
Система работает
← Все сессии
СЕССИЯ УСТРОЙСТВА

rehabapp_2026-09-18_13-42-24

Подключение…
Rehab Logger console · история загружается порциями по 250 записей
INFO [console] 🎵 Аудио команда полностью завершена, громкость восстановлена.
ERROR [widgets library] type 'StackParentData' is not a subtype of type 'FlexParentData' in type cast
type 'StackParentData' is not a subtype of type 'FlexParentData' in type cast
#0      Flexible.applyParentData (package:flutter/src/widgets/basic.dart:6069)
#1      RenderObjectElement._updateParentData (package:flutter/src/widgets/framework.dart:6901)
#2      RenderObjectElement.attachRenderObject (package:flutter/src/widgets/framework.dart:6945)
#3      RenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6801)
#4      SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7114)
#5      Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587)
#6      Element.updateChild (package:flutter/src/widgets/framework.dart:4059)
#7      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841)
#8      Element.rebuild (package:flutter/src/widgets/framework.dart:5529)
#9      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799)
#10     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793)
#11     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587)
#12     Element.updateChild (package:flutter/src/widgets/framework.dart:4059)
#13     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841)
#14     Element.rebuild (package:flutter/src/widgets/framework.dart:5529)
#15     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799)
#16     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793)
#17     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587)
#18     MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7264)
#19     Element.updateChild (package:flutter/src/widgets/framework.dart:4059)
#20     Element.updateChildren (package:flutter/src/widgets/framework.dart:4255)
#21     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7295)
#22     Element.updateChild (package:flutter/src/widgets/framework.dart:4037)
#23     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841)
#24     Element.rebuild (package:flutter/src/widgets/framework.dart:5529)
#25     ProxyElement.update (package:flutter/src/widgets/framework.dart:6149)
#26     Element.updateChild (package:flutter/src/widgets/framework.dart:4037)
#27     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7122)
#28     Element.updateChild (package:flutter/src/widgets/framework.dart:4037)
#29     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841)
#30     Element.rebuild (package:flutter/src/widgets/framework.dart:5529)
#31     StatelessElement.update (package:flutter/src/widgets/framework.dart:5895)
#32     Element.updateChild (package:flutter/src/widgets/framework.dart:4037)
#33     _LayoutBuilderElement._rebuildWithConstraints.updateChildCallback (package:flutter/src/widgets/layout_builder.dart:247)
#34     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3101)
#35     _LayoutBuilderElement._rebuildWithConstraints (package:flutter/src/widgets/layout_builder.dart:270)
#36     RenderAbstractLayoutBuilderMixin.layoutCallback (package:flutter/src/widgets/layout_builder.dart:333)
#37     RenderObjectWithLayoutCallbackMixin.runLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:4302)
#38     RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:3026)
#39     PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:1223)
#40     RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:3025)
#41     RenderObjectWithLayoutCallbackMixin.runLayoutCallback (package:flutter/src/rendering/object.dart:4302)
#42     _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:447)
#43     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2755)
#44     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1174)
#45     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1187)
#46     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:643)
#47     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1573)
#48     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:509)
#49     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1430)
#50     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1345)
#51     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1198)
#52     _rootRun (dart:async/zone_root.dart:35)
#53     _CustomZone.run (dart:async/zone.dart:726)
#54     _CustomZone.runGuarded (dart:async/zone.dart:625)
#55     _invoke (dart:ui/hooks.dart:425)
#56     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:447)
#57     _drawFrame (dart:ui/hooks.dart:395)
ERROR [widgets library] type 'StackParentData' is not a subtype of type 'FlexParentData' in type cast
type 'StackParentData' is not a subtype of type 'FlexParentData' in type cast
#0      Flexible.applyParentData (package:flutter/src/widgets/basic.dart:6069)
#1      RenderObjectElement._updateParentData (package:flutter/src/widgets/framework.dart:6901)
#2      RenderObjectElement.attachRenderObject (package:flutter/src/widgets/framework.dart:6945)
#3      RenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6801)
#4      Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587)
#5      Element.updateChild (package:flutter/src/widgets/framework.dart:4059)
#6      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5858)
#7      Element.rebuild (package:flutter/src/widgets/framework.dart:5529)
#8      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799)
#9      ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793)
#10     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587)
#11     Element.updateChild (package:flutter/src/widgets/framework.dart:4059)
#12     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841)
#13     Element.rebuild (package:flutter/src/widgets/framework.dart:5529)
#14     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799)
#15     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793)
#16     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587)
#17     MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7264)
#18     Element.updateChild (package:flutter/src/widgets/framework.dart:4059)
#19     Element.updateChildren (package:flutter/src/widgets/framework.dart:4255)
#20     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7295)
#21     Element.updateChild (package:flutter/src/widgets/framework.dart:4037)
#22     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841)
#23     Element.rebuild (package:flutter/src/widgets/framework.dart:5529)
#24     ProxyElement.update (package:flutter/src/widgets/framework.dart:6149)
#25     Element.updateChild (package:flutter/src/widgets/framework.dart:4037)
#26     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7122)
#27     Element.updateChild (package:flutter/src/widgets/framework.dart:4037)
#28     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841)
#29     Element.rebuild (package:flutter/src/widgets/framework.dart:5529)
#30     StatelessElement.update (package:flutter/src/widgets/framework.dart:5895)
#31     Element.updateChild (package:flutter/src/widgets/framework.dart:4037)
#32     _LayoutBuilderElement._rebuildWithConstraints.updateChildCallback (package:flutter/src/widgets/layout_builder.dart:247)
#33     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3101)
#34     _LayoutBuilderElement._rebuildWithConstraints (package:flutter/src/widgets/layout_builder.dart:270)
#35     RenderAbstractLayoutBuilderMixin.layoutCallback (package:flutter/src/widgets/layout_builder.dart:333)
#36     RenderObjectWithLayoutCallbackMixin.runLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:4302)
#37     RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:3026)
#38     PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:1223)
#39     RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:3025)
#40     RenderObjectWithLayoutCallbackMixin.runLayoutCallback (package:flutter/src/rendering/object.dart:4302)
#41     _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:447)
#42     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2755)
#43     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1174)
#44     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1187)
#45     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:643)
#46     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1573)
#47     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:509)
#48     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1430)
#49     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1345)
#50     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1198)
#51     _rootRun (dart:async/zone_root.dart:35)
#52     _CustomZone.run (dart:async/zone.dart:726)
#53     _CustomZone.runGuarded (dart:async/zone.dart:625)
#54     _invoke (dart:ui/hooks.dart:425)
#55     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:447)
#56     _drawFrame (dart:ui/hooks.dart:395)
ERROR [widgets library] type 'StackParentData' is not a subtype of type 'FlexParentData' in type cast
type 'StackParentData' is not a subtype of type 'FlexParentData' in type cast
#0      Flexible.applyParentData (package:flutter/src/widgets/basic.dart:6069)
#1      RenderObjectElement._updateParentData (package:flutter/src/widgets/framework.dart:6901)
#2      RenderObjectElement.attachRenderObject (package:flutter/src/widgets/framework.dart:6945)
#3      RenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6801)
#4      SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7114)
#5      Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587)
#6      Element.updateChild (package:flutter/src/widgets/framework.dart:4059)
#7      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841)
#8      Element.rebuild (package:flutter/src/widgets/framework.dart:5529)
#9      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799)
#10     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793)
#11     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587)
#12     Element.updateChild (package:flutter/src/widgets/framework.dart:4059)
#13     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841)
#14     Element.rebuild (package:flutter/src/widgets/framework.dart:5529)
#15     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799)
#16     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793)
#17     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587)
#18     MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7264)
#19     Element.updateChild (package:flutter/src/widgets/framework.dart:4059)
#20     Element.updateChildren (package:flutter/src/widgets/framework.dart:4255)
#21     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7295)
#22     Element.updateChild (package:flutter/src/widgets/framework.dart:4037)
#23     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841)
#24     Element.rebuild (package:flutter/src/widgets/framework.dart:5529)
#25     ProxyElement.update (package:flutter/src/widgets/framework.dart:6149)
#26     Element.updateChild (package:flutter/src/widgets/framework.dart:4037)
#27     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7122)
#28     Element.updateChild (package:flutter/src/widgets/framework.dart:4037)
#29     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841)
#30     Element.rebuild (package:flutter/src/widgets/framework.dart:5529)
#31     StatelessElement.update (package:flutter/src/widgets/framework.dart:5895)
#32     Element.updateChild (package:flutter/src/widgets/framework.dart:4037)
#33     _LayoutBuilderElement._rebuildWithConstraints.updateChildCallback (package:flutter/src/widgets/layout_builder.dart:247)
#34     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3101)
#35     _LayoutBuilderElement._rebuildWithConstraints (package:flutter/src/widgets/layout_builder.dart:270)
#36     RenderAbstractLayoutBuilderMixin.layoutCallback (package:flutter/src/widgets/layout_builder.dart:333)
#37     RenderObjectWithLayoutCallbackMixin.runLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:4302)
#38     RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:3026)
#39     PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:1223)
#40     RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:3025)
#41     RenderObjectWithLayoutCallbackMixin.runLayoutCallback (package:flutter/src/rendering/object.dart:4302)
#42     _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:447)
#43     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2755)
#44     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1174)
#45     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1187)
#46     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:643)
#47     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1573)
#48     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:509)
#49     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1430)
#50     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1345)
#51     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1198)
#52     _rootRun (dart:async/zone_root.dart:35)
#53     _CustomZone.run (dart:async/zone.dart:726)
#54     _CustomZone.runGuarded (dart:async/zone.dart:625)
#55     _invoke (dart:ui/hooks.dart:425)
#56     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:447)
#57     _drawFrame (dart:ui/hooks.dart:395)
ERROR [widgets library] type 'StackParentData' is not a subtype of type 'FlexParentData' in type cast
type 'StackParentData' is not a subtype of type 'FlexParentData' in type cast
#0      Flexible.applyParentData (package:flutter/src/widgets/basic.dart:6069)
#1      RenderObjectElement._updateParentData (package:flutter/src/widgets/framework.dart:6901)
#2      RenderObjectElement.attachRenderObject (package:flutter/src/widgets/framework.dart:6945)
#3      RenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6801)
#4      Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587)
#5      Element.updateChild (package:flutter/src/widgets/framework.dart:4059)
#6      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5858)
#7      Element.rebuild (package:flutter/src/widgets/framework.dart:5529)
#8      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799)
#9      ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793)
#10     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587)
#11     Element.updateChild (package:flutter/src/widgets/framework.dart:4059)
#12     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841)
#13     Element.rebuild (package:flutter/src/widgets/framework.dart:5529)
#14     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799)
#15     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793)
#16     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587)
#17     MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7264)
#18     Element.updateChild (package:flutter/src/widgets/framework.dart:4059)
#19     Element.updateChildren (package:flutter/src/widgets/framework.dart:4255)
#20     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7295)
#21     Element.updateChild (package:flutter/src/widgets/framework.dart:4037)
#22     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841)
#23     Element.rebuild (package:flutter/src/widgets/framework.dart:5529)
#24     ProxyElement.update (package:flutter/src/widgets/framework.dart:6149)
#25     Element.updateChild (package:flutter/src/widgets/framework.dart:4037)
#26     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7122)
#27     Element.updateChild (package:flutter/src/widgets/framework.dart:4037)
#28     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841)
#29     Element.rebuild (package:flutter/src/widgets/framework.dart:5529)
#30     StatelessElement.update (package:flutter/src/widgets/framework.dart:5895)
#31     Element.updateChild (package:flutter/src/widgets/framework.dart:4037)
#32     _LayoutBuilderElement._rebuildWithConstraints.updateChildCallback (package:flutter/src/widgets/layout_builder.dart:247)
#33     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3101)
#34     _LayoutBuilderElement._rebuildWithConstraints (package:flutter/src/widgets/layout_builder.dart:270)
#35     RenderAbstractLayoutBuilderMixin.layoutCallback (package:flutter/src/widgets/layout_builder.dart:333)
#36     RenderObjectWithLayoutCallbackMixin.runLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:4302)
#37     RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:3026)
#38     PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:1223)
#39     RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:3025)
#40     RenderObjectWithLayoutCallbackMixin.runLayoutCallback (package:flutter/src/rendering/object.dart:4302)
#41     _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:447)
#42     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2755)
#43     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1174)
#44     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1187)
#45     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:643)
#46     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1573)
#47     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:509)
#48     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1430)
#49     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1345)
#50     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1198)
#51     _rootRun (dart:async/zone_root.dart:35)
#52     _CustomZone.run (dart:async/zone.dart:726)
#53     _CustomZone.runGuarded (dart:async/zone.dart:625)
#54     _invoke (dart:ui/hooks.dart:425)
#55     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:447)
#56     _drawFrame (dart:ui/hooks.dart:395)
FATAL [zone] Unhandled asynchronous error
Null check operator used on a null value
#0      ProgressEngine.addSetResult (package:testapp/features/training/domain/runtime/engine/progress_engine.dart:223)
#1      RuntimeTrainingImpl.onFinishSet (package:testapp/features/training/domain/runtime/runtime_training_impl.dart:94)
#2      RuntimeTrainingImpl.onPerformSet.<anonymous closure> (package:testapp/features/training/domain/runtime/runtime_training_impl.dart:327)
#3      RuntimeTrainingImpl._runTask.<anonymous closure> (package:testapp/features/training/domain/runtime/runtime_training_impl.dart:192)
#4      _rootRun (dart:async/zone_root.dart:27)
#5      _CustomZone.run (dart:async/zone.dart:726)
#6      _CustomZone.runGuarded (dart:async/zone.dart:625)
#7      _BufferingStreamSubscription._sendDone.sendDone (dart:async/stream_impl.dart:434)
#8      _BufferingStreamSubscription._sendDone (dart:async/stream_impl.dart:444)
#9      _DelayedDone.perform (dart:async/stream_impl.dart:592)
#10     _PendingEvents.handleNext (dart:async/stream_impl.dart:678)
#11     _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:649)
#12     _rootRun (dart:async/zone_root.dart:27)
#13     _CustomZone.run (dart:async/zone.dart:726)
#14     _CustomZone.runGuarded (dart:async/zone.dart:625)
#15     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:666)
#16     _rootRun (dart:async/zone_root.dart:35)
#17     _CustomZone.run (dart:async/zone.dart:726)
#18     _CustomZone.runGuarded (dart:async/zone.dart:625)
#19     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:666)
#20     _microtaskLoop (dart:async/schedule_microtask.dart:40)
#21     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)
INFO [console] ANGLE_RESEARCH: recording closed, files in /storage/emulated/0/Android/data/team.most.rehabilitation.app/files/angle_research
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/result
INFO [console] [DIO] method: POST
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] Authorization: Bearer 763|6Lt51wQj51VSLw52QFumKc66N45vkGwZP6xMlKdK6f11bf12
INFO [console] [DIO] data:
INFO [console] [DIO] {rehabilitation_day_id: 3082, unit_id: 1083, results: [{exercise_id: 47, sequence_number: 1, completion_status: cant_complete}, {exercise_id: 35, sequence_number: 2, completion_status: cant_complete}, {exercise_id: 40, sequence_number: 3, completion_status: cant_complete}, {exercise_id: 41, sequence_number: 4, completion_status: cant_complete}]}
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/result
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Fri, 18 Sep 2026 11:01:57 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-18T11:01:57.668584Z","request_id":"4f90eca1-202e-4157-aa5d-860b77575050","version":"v1"},"data":{"results":[{"id":47,"sequence_number":1,"completion_status":"cant_complete","score_percent":null,"score_interpretation":null,"exercise_image":"https://rehabilitation.most.team/storage/exercise/photos/01KQCHWY0J06QHXQ4P2BH5VD3A.png","instruction":{"exercise_name":"[OLD]Растяжка мышц задней поверхности бедра - В и.п. стоя на одной ноге","video":"https://rehabilitation.most.team/storage/exercise/videos/01KQCHWY0PXRQ1HM420M2W892Q.mov","inventory":"Возвышенность (стул и т.п.)","warning":"Не допускайте разворота/заваливания поднятой ноги","general_description":"Стоя на одной ноге, другая нога выпрямлена в колене и расположена на возвышенности (стул, скамейка, ступенька). Корпус наклонён вперёд, руки тянутся к стопе поднятой ноги. Удерживать это положение заданное количество времени. Важно: колено поднятой ноги должно оставаться выпрямленным; \nстопа и колено поднятой ноги не должны \"заваливаться\" наружу (отсутствие ротации); \nнаклон выполняется за счёт сгибания в тазобедренном суставе, а не округления спины; \nдыхание свободное, без задержек; \nощущение растяжения должно быть комфортным, без острой боли.","steps":[{"exercise_id":47,"sequence_number":1,"step_text":"Встаньте боком растягиваемой ноги к камере"},{"exercise_id":47,"sequence_number":2,"step_text":"Поставьте рабочую ногу на возвышенность, другая нога опорная"},{"exercise_id":47,"sequence_number":3,"step_text":"Держите спину прямой"},{"exercise_id":47,"sequence_number":4,"step_text":"Стопа поднятой ноги смотрит на себя"},{"exercise_id":47,"sequence_number":5,"step_text":"Потянитесь пальцами рук к стопе поднятой ноги. Ваша задача - не обязательно обхватить стопу, а максимально растянуться с прямой спиной"},{"exercise_id":47,"sequence_number":6,"step_text":"В точке максимального комфортного натяжения в задней поверхности бедра и под коленями зафиксируйте положение. Удерживайте его заданное время"}],"measurement":null}},{"id":35,"sequence_number":2,"completion_status":"cant_complete","score_percent":null,"score_interpretation":null,"exercise_image":"https://rehabilitation.most.team/storage/exercise/photos/01KQ9W7XPDJ63N5ZHWXP8PT0AK.png","instruction":{"exercise_name":"[OLD]Сгибание и разгибание в голеностопных суставах","video":"https://rehabilitation.most.team/storage/exercise/videos/01KQ9W7XPHKNMR9R7HF5YSZY9E.mov","inventory":null,"warning":"Во время выполнения колени должны оставаться выпрямленными, стопы не должны разворачиваться внутрь или наружу (большой палец направлен строго вверх)","general_description":"Исходное положение - лёжа на спине боком к камере, ноги выпрямлены в коленях. Выполнять движения стопами на себя и от себя в максимально доступной амплитуде.","steps":[{"exercise_id":35,"sequence_number":1,"step_text":"Примите положение лёжа на спине (на полу, коврике или тренировочной скамье), боком к камере"},{"exercise_id":35,"sequence_number":2,"step_text":"Выпрямите обе ноги в коленях"},{"exercise_id":35,"sequence_number":3,"step_text":"Стопы расположите параллельно друг другу на ширине таза"},{"exercise_id":35,"sequence_number":4,"step_text":"Руки свободно лежат вдоль туловища ладонями вниз или слегка разведены в стороны для устойчивости"},{"exercise_id":35,"sequence_number":5,"step_text":"Сохраняя прямое, вытянутое положение обеих ног в коленных суставах, начните выполнять одновременное движение стопами"},{"exercise_id":35,"sequence_number":6,"step_text":"На себя: Плавно потяните носки стоп максимально на себя (тыльное сгибание), ощущая растяжение в задней поверхности голени и подколенной области"},{"exercise_id":35,"sequence_number":7,"step_text":"От себя: Затем так же плавно потяните носки стоп максимально от себя (подошвенное сгибание), как будто хотите встать на \"цыпочки\", ощущая напряжение в икрах"},{"exercise_id":35,"sequence_number":8,"step_text":"Движение должно быть ритмичным, без рывков, в спокойном темпе"}],"measurement":null}},{"id":40,"sequence_number":3,"completion_status":"cant_complete","score_percent":null,"score_interpretation":null,"exercise_image":"https://rehabilitation.most.team/storage/exercise/photos/01KQA5HT9XV5G51WZS4TZJVDQ6.png","instruction":{"exercise_name":"[OLD]Круговые движения ногой - в и.п. лежа на спине","video":"https://rehabilitation.most.team/storage/exercise/videos/01KQA5HTA1S14HGRG0J5HK6SYP.mov","inventory":null,"warning":"Не допускайте сильного напряжения или переразгиба в пояснице","general_description":"В и.п. лежа на спине. Ноги максимально выпрямлены в коленных суставах, стопы \"на себя\", выполнить движения по часовой стрелке, далее против часовой стрелки. Цель - тренировка четырехглавых мышц, абдукторов/аддукторов","steps":[{"exercise_id":40,"sequence_number":1,"step_text":"Лягте на спину, расположитесь боком рабочей ноги к камере"},{"exercise_id":40,"sequence_number":2,"step_text":"Руки расположите вдоль туловища ладонями вниз или в стороны для устойчивости"},{"exercise_id":40,"sequence_number":3,"step_text":"Ноги полностью выпрямите в коленных суставах"},{"exercise_id":40,"sequence_number":4,"step_text":"Стопы потяните на себя (тыльное сгибание в голеностопном суставе)"},{"exercise_id":40,"sequence_number":5,"step_text":"Поясницу прижмите к полу, живот слегка подтяните, чтобы избежать излишнего прогиба в пояснице"},{"exercise_id":40,"sequence_number":6,"step_text":"Начните выполнять круговое движение рабочей выпрямленной ногой. Нога в верхней точке должна подниматься на уровень 30°-45° градусов от пола"},{"exercise_id":40,"sequence_number":7,"step_text":"Направление ноги (по часовой стрелке / против часовой стрелки) меняйте после каждого повторения"}],"measurement":null}},{"id":41,"sequence_number":4,"completion_status":"cant_complete","score_percent":null,"score_interpretation":null,"exercise_image":"https://rehabilitation.most.team/storage/exercise/photos/01KQC6319E6D4MPZ50SGTNW1Q6.png","instruction":{"exercise_name":"[OLD]Отведение прямой ноги в сторону - В и.п. сидя с прямыми ногами с опорой руками назад за спиной","video":"https://rehabilitation.most.team/storage/exercise/videos/01KQC6319HS0NS6B4PRV3WH9FT.mov","inventory":null,"warning":"Следить за тем, чтобы бедро не ротировалось (вращалось) наружу, носок стопы отведённой ноги должен “смотреть вверх”","general_description":"Спина относительно поверхности может находиться от 90 до 45 градусов к полу (например, упираясь не прямыми руками, а предплечьями, отклонившись больше назад). Приподнять прямую рабочую ногу от поверхности и отвести её в сторону на сколько возможно, не опуская ногу, и вернуться в исходное положение. Можно выполнять без пауз между повторениями. Цель – тренировка мышц абдукторов бедра.","steps":[{"exercise_id":41,"sequence_number":1,"step_text":"Сядьте на пол лицом к камере. Ноги выпрямите перед собой"},{"exercise_id":41,"sequence_number":2,"step_text":"Корпус отклоните назад. Спина должна находиться под углом от 90 до 45 градусов относительно пола. Для удобства и стабильности можно опираться не на прямые руки, а на предплечья, согнув руки в локтях"},{"exercise_id":41,"sequence_number":3,"step_text":"Приподнимите рабочую ногу на 5-10 см "},{"exercise_id":41,"sequence_number":4,"step_text":"На выдохе отведите рабочую ногу в сторону (наружу) на максимально возможную амплитуду, которую позволяет ваша подвижность и физическое состояние. Движение должно происходить за счёт работы мышц бедра"},{"exercise_id":41,"sequence_number":5,"step_text":"На вдохе так же плавно верните ногу в исходное положение (перед собой), но не кладите её на пол до окончания подхода. Нога остаётся на весу"},{"exercise_id":41,"sequence_number":6,"step_text":"Повторите движение ногой заданное количество раз"}],"measurement":null}}],"workout_id":137,"workout_duration_start":10,"workout_duration_end":20,"training_score":{"score_percent":null,"score_interpretation":"not_evaluated"}}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-18T11:01:57.668584Z, request_id: 4f90eca1-202e-4157-aa5d-860b77575050, version: v1}, data: {results: [{id: 47, sequence_number: 1, completion_status: cant_complete, score_percent: null, score_interpretation: null, exercise_image: https://rehabilitation.most.team/storage/exercise/photos/01KQCHWY0J06QHXQ4P2BH5VD3A.png, instruction: {exercise_name: [OLD]Растяжка мышц задней поверхности бедра - В и.п. стоя на одной ноге, video: https://rehabilitation.most.team/storage/exercise/videos/01KQCHWY0PXRQ1HM420M2W892Q.mov, inventory: Возвышенность (стул и т.п.), warning: Не допускайте разворота/заваливания поднятой ноги, general_description: Стоя на одной ноге, другая нога выпрямлена в колене и расположена на возвышенности (стул, скамейка, ступенька). Корпус наклонён вперёд, руки тянутся к стопе поднятой ноги. Удерживать это положение заданное количество времени. Важно: колено поднятой ноги должно оставаться выпрямленным; стопа и колено по
INFO [console] днятой ноги не должны "заваливаться" наружу (отсутствие ротации); наклон выполняется за счёт сгибания в тазобедренном суставе, а не округления спины; дыхание свободное, без задержек; ощущение растяжения должно быть комфортным, без острой боли., steps: [{exercise_id: 47, sequence_number: 1, step_text: Встаньте боком растягиваемой ноги к камере}, {exercise_id: 47, sequence_number: 2, step_text: Поставьте рабочую ногу на возвышенность, другая нога опорная}, {exercise_id: 47, sequence_number: 3, step_text: Держите спину прямой}, {exercise_id: 47, sequence_number: 4, step_text: Стопа поднятой ноги смотрит на себя}, {exercise_id: 47, sequence_number: 5, step_text: Потянитесь пальцами рук к стопе поднятой ноги. Ваша задача - не обязательно обхватить стопу, а максимально растянуться с прямой спиной}, {exercise_id: 47, sequence_number: 6, step_text: В точке максимального комфортного натяжения в задней поверхности бедра и под коленями зафиксируйте положение. Удерживайте его заданное время}],
INFO [console] measurement: null}}, {id: 35, sequence_number: 2, completion_status: cant_complete, score_percent: null, score_interpretation: null, exercise_image: https://rehabilitation.most.team/storage/exercise/photos/01KQ9W7XPDJ63N5ZHWXP8PT0AK.png, instruction: {exercise_name: [OLD]Сгибание и разгибание в голеностопных суставах, video: https://rehabilitation.most.team/storage/exercise/videos/01KQ9W7XPHKNMR9R7HF5YSZY9E.mov, inventory: null, warning: Во время выполнения колени должны оставаться выпрямленными, стопы не должны разворачиваться внутрь или наружу (большой палец направлен строго вверх), general_description: Исходное положение - лёжа на спине боком к камере, ноги выпрямлены в коленях. Выполнять движения стопами на себя и от себя в максимально доступной амплитуде., steps: [{exercise_id: 35, sequence_number: 1, step_text: Примите положение лёжа на спине (на полу, коврике или тренировочной скамье), боком к камере}, {exercise_id: 35, sequence_number: 2, step_text: Выпрямите обе ноги в коленях
INFO [console] }, {exercise_id: 35, sequence_number: 3, step_text: Стопы расположите параллельно друг другу на ширине таза}, {exercise_id: 35, sequence_number: 4, step_text: Руки свободно лежат вдоль туловища ладонями вниз или слегка разведены в стороны для устойчивости}, {exercise_id: 35, sequence_number: 5, step_text: Сохраняя прямое, вытянутое положение обеих ног в коленных суставах, начните выполнять одновременное движение стопами}, {exercise_id: 35, sequence_number: 6, step_text: На себя: Плавно потяните носки стоп максимально на себя (тыльное сгибание), ощущая растяжение в задней поверхности голени и подколенной области}, {exercise_id: 35, sequence_number: 7, step_text: От себя: Затем так же плавно потяните носки стоп максимально от себя (подошвенное сгибание), как будто хотите встать на "цыпочки", ощущая напряжение в икрах}, {exercise_id: 35, sequence_number: 8, step_text: Движение должно быть ритмичным, без рывков, в спокойном темпе}], measurement: null}}, {id: 40, sequence_number: 3, complet
INFO [console] ion_status: cant_complete, score_percent: null, score_interpretation: null, exercise_image: https://rehabilitation.most.team/storage/exercise/photos/01KQA5HT9XV5G51WZS4TZJVDQ6.png, instruction: {exercise_name: [OLD]Круговые движения ногой - в и.п. лежа на спине, video: https://rehabilitation.most.team/storage/exercise/videos/01KQA5HTA1S14HGRG0J5HK6SYP.mov, inventory: null, warning: Не допускайте сильного напряжения или переразгиба в пояснице, general_description: В и.п. лежа на спине. Ноги максимально выпрямлены в коленных суставах, стопы "на себя", выполнить движения по часовой стрелке, далее против часовой стрелки. Цель - тренировка четырехглавых мышц, абдукторов/аддукторов, steps: [{exercise_id: 40, sequence_number: 1, step_text: Лягте на спину, расположитесь боком рабочей ноги к камере}, {exercise_id: 40, sequence_number: 2, step_text: Руки расположите вдоль туловища ладонями вниз или в стороны для устойчивости}, {exercise_id: 40, sequence_number: 3, step_text: Ноги полностью выпря
INFO [console] мите в коленных суставах}, {exercise_id: 40, sequence_number: 4, step_text: Стопы потяните на себя (тыльное сгибание в голеностопном суставе)}, {exercise_id: 40, sequence_number: 5, step_text: Поясницу прижмите к полу, живот слегка подтяните, чтобы избежать излишнего прогиба в пояснице}, {exercise_id: 40, sequence_number: 6, step_text: Начните выполнять круговое движение рабочей выпрямленной ногой. Нога в верхней точке должна подниматься на уровень 30°-45° градусов от пола}, {exercise_id: 40, sequence_number: 7, step_text: Направление ноги (по часовой стрелке / против часовой стрелки) меняйте после каждого повторения}], measurement: null}}, {id: 41, sequence_number: 4, completion_status: cant_complete, score_percent: null, score_interpretation: null, exercise_image: https://rehabilitation.most.team/storage/exercise/photos/01KQC6319E6D4MPZ50SGTNW1Q6.png, instruction: {exercise_name: [OLD]Отведение прямой ноги в сторону - В и.п. сидя с прямыми ногами с опорой руками назад за спиной, vide
INFO [console] o: https://rehabilitation.most.team/storage/exercise/videos/01KQC6319HS0NS6B4PRV3WH9FT.mov, inventory: null, warning: Следить за тем, чтобы бедро не ротировалось (вращалось) наружу, носок стопы отведённой ноги должен “смотреть вверх”, general_description: Спина относительно поверхности может находиться от 90 до 45 градусов к полу (например, упираясь не прямыми руками, а предплечьями, отклонившись больше назад). Приподнять прямую рабочую ногу от поверхности и отвести её в сторону на сколько возможно, не опуская ногу, и вернуться в исходное положение. Можно выполнять без пауз между повторениями. Цель – тренировка мышц абдукторов бедра., steps: [{exercise_id: 41, sequence_number: 1, step_text: Сядьте на пол лицом к камере. Ноги выпрямите перед собой}, {exercise_id: 41, sequence_number: 2, step_text: Корпус отклоните назад. Спина должна находиться под углом от 90 до 45 градусов относительно пола. Для удобства и стабильности можно опираться не на прямые руки, а на предплечья, согнув руки в
INFO [console] локтях}, {exercise_id: 41, sequence_number: 3, step_text: Приподнимите рабочую ногу на 5-10 см }, {exercise_id: 41, sequence_number: 4, step_text: На выдохе отведите рабочую ногу в сторону (наружу) на максимально возможную амплитуду, которую позволяет ваша подвижность и физическое состояние. Движение должно происходить за счёт работы мышц бедра}, {exercise_id: 41, sequence_number: 5, step_text: На вдохе так же плавно верните ногу в исходное положение (перед собой), но не кладите её на пол до окончания подхода. Нога остаётся на весу}, {exercise_id: 41, sequence_number: 6, step_text: Повторите движение ногой заданное количество раз}], measurement: null}}], workout_id: 137, workout_duration_start: 10, workout_duration_end: 20, training_score: {score_percent: null, score_interpretation: not_evaluated}}}
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/result?unit_id=1083&rehabilitation_day_id=3082&workout_id
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 763|6Lt51wQj51VSLw52QFumKc66N45vkGwZP6xMlKdK6f11bf12
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/result?unit_id=1083&rehabilitation_day_id=3082&workout_id
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Fri, 18 Sep 2026 11:01:57 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-18T11:01:57.875396Z","request_id":"b9b02ef5-d967-422e-846f-544f3df3e8ee","version":"v1"},"data":{"results":[{"id":47,"sequence_number":1,"completion_status":"cant_complete","score_percent":null,"score_interpretation":null,"exercise_image":"https://rehabilitation.most.team/storage/exercise/photos/01KQCHWY0J06QHXQ4P2BH5VD3A.png","instruction":{"exercise_name":"[OLD]Растяжка мышц задней поверхности бедра - В и.п. стоя на одной ноге","video":"https://rehabilitation.most.team/storage/exercise/videos/01KQCHWY0PXRQ1HM420M2W892Q.mov","inventory":"Возвышенность (стул и т.п.)","warning":"Не допускайте разворота/заваливания поднятой ноги","general_description":"Стоя на одной ноге, другая нога выпрямлена в колене и расположена на возвышенности (стул, скамейка, ступенька). Корпус наклонён вперёд, руки тянутся к стопе поднятой ноги. Удерживать это положение заданное количество времени. Важно: колено поднятой ноги должно оставаться выпрямленным; \nстопа и колено поднятой ноги не должны \"заваливаться\" наружу (отсутствие ротации); \nнаклон выполняется за счёт сгибания в тазобедренном суставе, а не округления спины; \nдыхание свободное, без задержек; \nощущение растяжения должно быть комфортным, без острой боли.","steps":[{"exercise_id":47,"sequence_number":1,"step_text":"Встаньте боком растягиваемой ноги к камере"},{"exercise_id":47,"sequence_number":2,"step_text":"Поставьте рабочую ногу на возвышенность, другая нога опорная"},{"exercise_id":47,"sequence_number":3,"step_text":"Держите спину прямой"},{"exercise_id":47,"sequence_number":4,"step_text":"Стопа поднятой ноги смотрит на себя"},{"exercise_id":47,"sequence_number":5,"step_text":"Потянитесь пальцами рук к стопе поднятой ноги. Ваша задача - не обязательно обхватить стопу, а максимально растянуться с прямой спиной"},{"exercise_id":47,"sequence_number":6,"step_text":"В точке максимального комфортного натяжения в задней поверхности бедра и под коленями зафиксируйте положение. Удерживайте его заданное время"}],"measurement":null}},{"id":35,"sequence_number":2,"completion_status":"cant_complete","score_percent":null,"score_interpretation":null,"exercise_image":"https://rehabilitation.most.team/storage/exercise/photos/01KQ9W7XPDJ63N5ZHWXP8PT0AK.png","instruction":{"exercise_name":"[OLD]Сгибание и разгибание в голеностопных суставах","video":"https://rehabilitation.most.team/storage/exercise/videos/01KQ9W7XPHKNMR9R7HF5YSZY9E.mov","inventory":null,"warning":"Во время выполнения колени должны оставаться выпрямленными, стопы не должны разворачиваться внутрь или наружу (большой палец направлен строго вверх)","general_description":"Исходное положение - лёжа на спине боком к камере, ноги выпрямлены в коленях. Выполнять движения стопами на себя и от себя в максимально доступной амплитуде.","steps":[{"exercise_id":35,"sequence_number":1,"step_text":"Примите положение лёжа на спине (на полу, коврике или тренировочной скамье), боком к камере"},{"exercise_id":35,"sequence_number":2,"step_text":"Выпрямите обе ноги в коленях"},{"exercise_id":35,"sequence_number":3,"step_text":"Стопы расположите параллельно друг другу на ширине таза"},{"exercise_id":35,"sequence_number":4,"step_text":"Руки свободно лежат вдоль туловища ладонями вниз или слегка разведены в стороны для устойчивости"},{"exercise_id":35,"sequence_number":5,"step_text":"Сохраняя прямое, вытянутое положение обеих ног в коленных суставах, начните выполнять одновременное движение стопами"},{"exercise_id":35,"sequence_number":6,"step_text":"На себя: Плавно потяните носки стоп максимально на себя (тыльное сгибание), ощущая растяжение в задней поверхности голени и подколенной области"},{"exercise_id":35,"sequence_number":7,"step_text":"От себя: Затем так же плавно потяните носки стоп максимально от себя (подошвенное сгибание), как будто хотите встать на \"цыпочки\", ощущая напряжение в икрах"},{"exercise_id":35,"sequence_number":8,"step_text":"Движение должно быть ритмичным, без рывков, в спокойном темпе"}],"measurement":null}},{"id":40,"sequence_number":3,"completion_status":"cant_complete","score_percent":null,"score_interpretation":null,"exercise_image":"https://rehabilitation.most.team/storage/exercise/photos/01KQA5HT9XV5G51WZS4TZJVDQ6.png","instruction":{"exercise_name":"[OLD]Круговые движения ногой - в и.п. лежа на спине","video":"https://rehabilitation.most.team/storage/exercise/videos/01KQA5HTA1S14HGRG0J5HK6SYP.mov","inventory":null,"warning":"Не допускайте сильного напряжения или переразгиба в пояснице","general_description":"В и.п. лежа на спине. Ноги максимально выпрямлены в коленных суставах, стопы \"на себя\", выполнить движения по часовой стрелке, далее против часовой стрелки. Цель - тренировка четырехглавых мышц, абдукторов/аддукторов","steps":[{"exercise_id":40,"sequence_number":1,"step_text":"Лягте на спину, расположитесь боком рабочей ноги к камере"},{"exercise_id":40,"sequence_number":2,"step_text":"Руки расположите вдоль туловища ладонями вниз или в стороны для устойчивости"},{"exercise_id":40,"sequence_number":3,"step_text":"Ноги полностью выпрямите в коленных суставах"},{"exercise_id":40,"sequence_number":4,"step_text":"Стопы потяните на себя (тыльное сгибание в голеностопном суставе)"},{"exercise_id":40,"sequence_number":5,"step_text":"Поясницу прижмите к полу, живот слегка подтяните, чтобы избежать излишнего прогиба в пояснице"},{"exercise_id":40,"sequence_number":6,"step_text":"Начните выполнять круговое движение рабочей выпрямленной ногой. Нога в верхней точке должна подниматься на уровень 30°-45° градусов от пола"},{"exercise_id":40,"sequence_number":7,"step_text":"Направление ноги (по часовой стрелке / против часовой стрелки) меняйте после каждого повторения"}],"measurement":null}},{"id":41,"sequence_number":4,"completion_status":"cant_complete","score_percent":null,"score_interpretation":null,"exercise_image":"https://rehabilitation.most.team/storage/exercise/photos/01KQC6319E6D4MPZ50SGTNW1Q6.png","instruction":{"exercise_name":"[OLD]Отведение прямой ноги в сторону - В и.п. сидя с прямыми ногами с опорой руками назад за спиной","video":"https://rehabilitation.most.team/storage/exercise/videos/01KQC6319HS0NS6B4PRV3WH9FT.mov","inventory":null,"warning":"Следить за тем, чтобы бедро не ротировалось (вращалось) наружу, носок стопы отведённой ноги должен “смотреть вверх”","general_description":"Спина относительно поверхности может находиться от 90 до 45 градусов к полу (например, упираясь не прямыми руками, а предплечьями, отклонившись больше назад). Приподнять прямую рабочую ногу от поверхности и отвести её в сторону на сколько возможно, не опуская ногу, и вернуться в исходное положение. Можно выполнять без пауз между повторениями. Цель – тренировка мышц абдукторов бедра.","steps":[{"exercise_id":41,"sequence_number":1,"step_text":"Сядьте на пол лицом к камере. Ноги выпрямите перед собой"},{"exercise_id":41,"sequence_number":2,"step_text":"Корпус отклоните назад. Спина должна находиться под углом от 90 до 45 градусов относительно пола. Для удобства и стабильности можно опираться не на прямые руки, а на предплечья, согнув руки в локтях"},{"exercise_id":41,"sequence_number":3,"step_text":"Приподнимите рабочую ногу на 5-10 см "},{"exercise_id":41,"sequence_number":4,"step_text":"На выдохе отведите рабочую ногу в сторону (наружу) на максимально возможную амплитуду, которую позволяет ваша подвижность и физическое состояние. Движение должно происходить за счёт работы мышц бедра"},{"exercise_id":41,"sequence_number":5,"step_text":"На вдохе так же плавно верните ногу в исходное положение (перед собой), но не кладите её на пол до окончания подхода. Нога остаётся на весу"},{"exercise_id":41,"sequence_number":6,"step_text":"Повторите движение ногой заданное количество раз"}],"measurement":null}}],"workout_id":137,"workout_duration_start":10,"workout_duration_end":20,"training_score":{"score_percent":null,"score_interpretation":"not_evaluated"}}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-18T11:01:57.875396Z, request_id: b9b02ef5-d967-422e-846f-544f3df3e8ee, version: v1}, data: {results: [{id: 47, sequence_number: 1, completion_status: cant_complete, score_percent: null, score_interpretation: null, exercise_image: https://rehabilitation.most.team/storage/exercise/photos/01KQCHWY0J06QHXQ4P2BH5VD3A.png, instruction: {exercise_name: [OLD]Растяжка мышц задней поверхности бедра - В и.п. стоя на одной ноге, video: https://rehabilitation.most.team/storage/exercise/videos/01KQCHWY0PXRQ1HM420M2W892Q.mov, inventory: Возвышенность (стул и т.п.), warning: Не допускайте разворота/заваливания поднятой ноги, general_description: Стоя на одной ноге, другая нога выпрямлена в колене и расположена на возвышенности (стул, скамейка, ступенька). Корпус наклонён вперёд, руки тянутся к стопе поднятой ноги. Удерживать это положение заданное количество времени. Важно: колено поднятой ноги должно оставаться выпрямленным; стопа и колено по
INFO [console] днятой ноги не должны "заваливаться" наружу (отсутствие ротации); наклон выполняется за счёт сгибания в тазобедренном суставе, а не округления спины; дыхание свободное, без задержек; ощущение растяжения должно быть комфортным, без острой боли., steps: [{exercise_id: 47, sequence_number: 1, step_text: Встаньте боком растягиваемой ноги к камере}, {exercise_id: 47, sequence_number: 2, step_text: Поставьте рабочую ногу на возвышенность, другая нога опорная}, {exercise_id: 47, sequence_number: 3, step_text: Держите спину прямой}, {exercise_id: 47, sequence_number: 4, step_text: Стопа поднятой ноги смотрит на себя}, {exercise_id: 47, sequence_number: 5, step_text: Потянитесь пальцами рук к стопе поднятой ноги. Ваша задача - не обязательно обхватить стопу, а максимально растянуться с прямой спиной}, {exercise_id: 47, sequence_number: 6, step_text: В точке максимального комфортного натяжения в задней поверхности бедра и под коленями зафиксируйте положение. Удерживайте его заданное время}],
INFO [console] measurement: null}}, {id: 35, sequence_number: 2, completion_status: cant_complete, score_percent: null, score_interpretation: null, exercise_image: https://rehabilitation.most.team/storage/exercise/photos/01KQ9W7XPDJ63N5ZHWXP8PT0AK.png, instruction: {exercise_name: [OLD]Сгибание и разгибание в голеностопных суставах, video: https://rehabilitation.most.team/storage/exercise/videos/01KQ9W7XPHKNMR9R7HF5YSZY9E.mov, inventory: null, warning: Во время выполнения колени должны оставаться выпрямленными, стопы не должны разворачиваться внутрь или наружу (большой палец направлен строго вверх), general_description: Исходное положение - лёжа на спине боком к камере, ноги выпрямлены в коленях. Выполнять движения стопами на себя и от себя в максимально доступной амплитуде., steps: [{exercise_id: 35, sequence_number: 1, step_text: Примите положение лёжа на спине (на полу, коврике или тренировочной скамье), боком к камере}, {exercise_id: 35, sequence_number: 2, step_text: Выпрямите обе ноги в коленях
INFO [console] }, {exercise_id: 35, sequence_number: 3, step_text: Стопы расположите параллельно друг другу на ширине таза}, {exercise_id: 35, sequence_number: 4, step_text: Руки свободно лежат вдоль туловища ладонями вниз или слегка разведены в стороны для устойчивости}, {exercise_id: 35, sequence_number: 5, step_text: Сохраняя прямое, вытянутое положение обеих ног в коленных суставах, начните выполнять одновременное движение стопами}, {exercise_id: 35, sequence_number: 6, step_text: На себя: Плавно потяните носки стоп максимально на себя (тыльное сгибание), ощущая растяжение в задней поверхности голени и подколенной области}, {exercise_id: 35, sequence_number: 7, step_text: От себя: Затем так же плавно потяните носки стоп максимально от себя (подошвенное сгибание), как будто хотите встать на "цыпочки", ощущая напряжение в икрах}, {exercise_id: 35, sequence_number: 8, step_text: Движение должно быть ритмичным, без рывков, в спокойном темпе}], measurement: null}}, {id: 40, sequence_number: 3, complet
INFO [console] ion_status: cant_complete, score_percent: null, score_interpretation: null, exercise_image: https://rehabilitation.most.team/storage/exercise/photos/01KQA5HT9XV5G51WZS4TZJVDQ6.png, instruction: {exercise_name: [OLD]Круговые движения ногой - в и.п. лежа на спине, video: https://rehabilitation.most.team/storage/exercise/videos/01KQA5HTA1S14HGRG0J5HK6SYP.mov, inventory: null, warning: Не допускайте сильного напряжения или переразгиба в пояснице, general_description: В и.п. лежа на спине. Ноги максимально выпрямлены в коленных суставах, стопы "на себя", выполнить движения по часовой стрелке, далее против часовой стрелки. Цель - тренировка четырехглавых мышц, абдукторов/аддукторов, steps: [{exercise_id: 40, sequence_number: 1, step_text: Лягте на спину, расположитесь боком рабочей ноги к камере}, {exercise_id: 40, sequence_number: 2, step_text: Руки расположите вдоль туловища ладонями вниз или в стороны для устойчивости}, {exercise_id: 40, sequence_number: 3, step_text: Ноги полностью выпря
INFO [console] мите в коленных суставах}, {exercise_id: 40, sequence_number: 4, step_text: Стопы потяните на себя (тыльное сгибание в голеностопном суставе)}, {exercise_id: 40, sequence_number: 5, step_text: Поясницу прижмите к полу, живот слегка подтяните, чтобы избежать излишнего прогиба в пояснице}, {exercise_id: 40, sequence_number: 6, step_text: Начните выполнять круговое движение рабочей выпрямленной ногой. Нога в верхней точке должна подниматься на уровень 30°-45° градусов от пола}, {exercise_id: 40, sequence_number: 7, step_text: Направление ноги (по часовой стрелке / против часовой стрелки) меняйте после каждого повторения}], measurement: null}}, {id: 41, sequence_number: 4, completion_status: cant_complete, score_percent: null, score_interpretation: null, exercise_image: https://rehabilitation.most.team/storage/exercise/photos/01KQC6319E6D4MPZ50SGTNW1Q6.png, instruction: {exercise_name: [OLD]Отведение прямой ноги в сторону - В и.п. сидя с прямыми ногами с опорой руками назад за спиной, vide
INFO [console] o: https://rehabilitation.most.team/storage/exercise/videos/01KQC6319HS0NS6B4PRV3WH9FT.mov, inventory: null, warning: Следить за тем, чтобы бедро не ротировалось (вращалось) наружу, носок стопы отведённой ноги должен “смотреть вверх”, general_description: Спина относительно поверхности может находиться от 90 до 45 градусов к полу (например, упираясь не прямыми руками, а предплечьями, отклонившись больше назад). Приподнять прямую рабочую ногу от поверхности и отвести её в сторону на сколько возможно, не опуская ногу, и вернуться в исходное положение. Можно выполнять без пауз между повторениями. Цель – тренировка мышц абдукторов бедра., steps: [{exercise_id: 41, sequence_number: 1, step_text: Сядьте на пол лицом к камере. Ноги выпрямите перед собой}, {exercise_id: 41, sequence_number: 2, step_text: Корпус отклоните назад. Спина должна находиться под углом от 90 до 45 градусов относительно пола. Для удобства и стабильности можно опираться не на прямые руки, а на предплечья, согнув руки в
INFO [console] локтях}, {exercise_id: 41, sequence_number: 3, step_text: Приподнимите рабочую ногу на 5-10 см }, {exercise_id: 41, sequence_number: 4, step_text: На выдохе отведите рабочую ногу в сторону (наружу) на максимально возможную амплитуду, которую позволяет ваша подвижность и физическое состояние. Движение должно происходить за счёт работы мышц бедра}, {exercise_id: 41, sequence_number: 5, step_text: На вдохе так же плавно верните ногу в исходное положение (перед собой), но не кладите её на пол до окончания подхода. Нога остаётся на весу}, {exercise_id: 41, sequence_number: 6, step_text: Повторите движение ногой заданное количество раз}], measurement: null}}], workout_id: 137, workout_duration_start: 10, workout_duration_end: 20, training_score: {score_percent: null, score_interpretation: not_evaluated}}}
INFO [console] 🎵 Аудио команда полностью завершена, громкость восстановлена.
INFO [console] Request query: {start_date: 2026-08-31, end_date: 2026-10-04}
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/period?start_date=2026-08-31&end_date=2026-10-04
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 763|6Lt51wQj51VSLw52QFumKc66N45vkGwZP6xMlKdK6f11bf12
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/period?start_date=2026-08-31&end_date=2026-10-04
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Fri, 18 Sep 2026 11:02:02 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-18T11:02:02.639544Z","request_id":"1284372d-ad87-4330-bbde-5873c7fb7b6a","version":"v1"},"data":{"start_rehab":"2026-09-18 00:00:00","end_rehab":"2026-10-15 00:00:00","days":[{"date":"2026-09-18","status":["start"],"training":[{"mode":"correction_unit","status":"not_done","progress":null},{"mode":"diagnostics","status":"not_done","progress":null}]},{"date":"2026-09-21","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-09-22","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-09-23","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-09-24","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-09-25","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null},{"mode":"diagnostics","status":"not_done","progress":null}]},{"date":"2026-09-28","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-09-29","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-09-30","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-10-01","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-10-02","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null},{"mode":"diagnostics","status":"not_done","progress":null}]}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-18T11:02:02.639544Z, request_id: 1284372d-ad87-4330-bbde-5873c7fb7b6a, version: v1}, data: {start_rehab: 2026-09-18 00:00:00, end_rehab: 2026-10-15 00:00:00, days: [{date: 2026-09-18, status: [start], training: [{mode: correction_unit, status: not_done, progress: null}, {mode: diagnostics, status: not_done, progress: null}]}, {date: 2026-09-21, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-09-22, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-09-23, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-09-24, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-09-25, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}, {mode: diagnostics, status: not_done, progress: null}]}, {date: 2026-09-28, statu
INFO [console] s: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-09-29, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-09-30, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-10-01, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-10-02, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}, {mode: diagnostics, status: not_done, progress: null}]}]}}
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-09-18
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 763|6Lt51wQj51VSLw52QFumKc66N45vkGwZP6xMlKdK6f11bf12
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-18T11:02:02.740503Z, request_id: 1c8c4c9c-8795-4bd6-a156-223246e6eb7a, version: v1}, data: {rehabilitation_day_id: 3082, phase_id: 361, diagnosis_rehab: Проверка упражнений, start_rehab: 2026-09-18 00:00:00, end_rehab: 2026-10-15 00:00:00, name_rehab_phase: Проверка упражнений, status: [start], recommendations_count: 1, date: 2026-09-18, training: [{mode: correction_unit, status: not_done, progress: null, unit_id: 1083, time: 10 - 20 мин, count_questions: 2, status_questions: false, workout_id: 137}, {mode: diagnostics, status: not_done, progress: null, unit_id: 1082, time: 10 - 20 мин, count_questions: null, status_questions: false, workout_id: null}]}}
INFO [console] Request query: {start_date: 2026-08-31, end_date: 2026-10-04}
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/period?start_date=2026-08-31&end_date=2026-10-04
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 763|6Lt51wQj51VSLw52QFumKc66N45vkGwZP6xMlKdK6f11bf12
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/period?start_date=2026-08-31&end_date=2026-10-04
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Fri, 18 Sep 2026 11:02:04 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-18T11:02:04.462378Z","request_id":"8141c3b3-9376-46c1-b39f-fe5b56866754","version":"v1"},"data":{"start_rehab":"2026-09-18 00:00:00","end_rehab":"2026-10-15 00:00:00","days":[{"date":"2026-09-18","status":["start"],"training":[{"mode":"correction_unit","status":"not_done","progress":null},{"mode":"diagnostics","status":"not_done","progress":null}]},{"date":"2026-09-21","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-09-22","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-09-23","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-09-24","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-09-25","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null},{"mode":"diagnostics","status":"not_done","progress":null}]},{"date":"2026-09-28","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-09-29","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-09-30","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-10-01","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-10-02","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null},{"mode":"diagnostics","status":"not_done","progress":null}]}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-18T11:02:04.462378Z, request_id: 8141c3b3-9376-46c1-b39f-fe5b56866754, version: v1}, data: {start_rehab: 2026-09-18 00:00:00, end_rehab: 2026-10-15 00:00:00, days: [{date: 2026-09-18, status: [start], training: [{mode: correction_unit, status: not_done, progress: null}, {mode: diagnostics, status: not_done, progress: null}]}, {date: 2026-09-21, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-09-22, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-09-23, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-09-24, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-09-25, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}, {mode: diagnostics, status: not_done, progress: null}]}, {date: 2026-09-28, statu
INFO [console] s: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-09-29, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-09-30, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-10-01, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-10-02, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}, {mode: diagnostics, status: not_done, progress: null}]}]}}
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-09-18
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 763|6Lt51wQj51VSLw52QFumKc66N45vkGwZP6xMlKdK6f11bf12
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-09-18
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-18T11:02:04.571308Z, request_id: f15a40c5-841b-479e-bffc-131825952922, version: v1}, data: {rehabilitation_day_id: 3082, phase_id: 361, diagnosis_rehab: Проверка упражнений, start_rehab: 2026-09-18 00:00:00, end_rehab: 2026-10-15 00:00:00, name_rehab_phase: Проверка упражнений, status: [start], recommendations_count: 1, date: 2026-09-18, training: [{mode: correction_unit, status: not_done, progress: null, unit_id: 1083, time: 10 - 20 мин, count_questions: 2, status_questions: false, workout_id: 137}, {mode: diagnostics, status: not_done, progress: null, unit_id: 1082, time: 10 - 20 мин, count_questions: null, status_questions: false, workout_id: null}]}}
INFO [console] [DIO] date: Fri, 18 Sep 2026 11:02:04 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-18T11:02:04.571308Z","request_id":"f15a40c5-841b-479e-bffc-131825952922","version":"v1"},"data":{"rehabilitation_day_id":3082,"phase_id":361,"diagnosis_rehab":"Проверка упражнений","start_rehab":"2026-09-18 00:00:00","end_rehab":"2026-10-15 00:00:00","name_rehab_phase":"Проверка упражнений","status":["start"],"recommendations_count":1,"date":"2026-09-18","training":[{"mode":"correction_unit","status":"not_done","progress":null,"unit_id":1083,"time":"10 - 20 мин","count_questions":2,"status_questions":false,"workout_id":137},{"mode":"diagnostics","status":"not_done","progress":null,"unit_id":1082,"time":"10 - 20 мин","count_questions":null,"status_questions":false,"workout_id":null}]}}
INFO [console] [DIO]
INFO [console] shrinkOffset: 15.126420454545496, progress: 0.07627599050425692
INFO [console] shrinkOffset: 30.98046875, progress: 0.15622109323837588
INFO [console] shrinkOffset: 40.725497159090764, progress: 0.20536105312704575
INFO [console] shrinkOffset: 55.23401988636351, progress: 0.2785212528650943
INFO [console] shrinkOffset: 63.48828124999977, progress: 0.3201439198591999
INFO [console] shrinkOffset: 102.94105113636334, progress: 0.5190871602815964
INFO [console] shrinkOffset: 124.54012784090884, progress: 0.6280019544040589
INFO [console] shrinkOffset: 146.64843749999972, progress: 0.7394845898821203
INFO [console] shrinkOffset: 185.3011363636361, progress: 0.9343934184675821
INFO [console] shrinkOffset: 198.7553267045451, progress: 1.0
INFO [console] shrinkOffset: 240.17919748539117, progress: 1.0
INFO [console] shrinkOffset: 256.4155844155844, progress: 1.0
INFO [console] 🎵 Аудио команда полностью завершена, громкость восстановлена.
INFO [console] shrinkOffset: 227.72717851385, progress: 1.0
INFO [console] shrinkOffset: 138.60116263134975, progress: 0.6989056661829686
INFO [console] shrinkOffset: 94.554952753668, progress: 0.47679969626931473
INFO [console] shrinkOffset: 50.89697927819202, progress: 0.2566514344741837
INFO [console] shrinkOffset: 7.526786618487847, progress: 0.037954326759892874
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] 🎵 Аудио команда полностью завершена, громкость восстановлена.
INFO [console] 🎵 Аудио команда полностью завершена, громкость восстановлена.
INFO [console] 🎵 Аудио команда полностью завершена, громкость восстановлена.
$
250 строкUTF-8LIVE