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

rehabapp_2026-09-22_16-00-55

Подключение…
Rehab Logger console · история загружается порциями по 250 записей
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-22T13:00:58.386617Z","request_id":"178dfd3d-2f28-4fc3-bdfb-3c7f68873237","version":"v1"},"data":{"start_rehab":"2026-09-21 00:00:00","end_rehab":"2026-10-18 00:00:00","days":[{"date":"2026-09-21","status":["start"],"training":[{"mode":"correction_unit","status":"not_done","progress":null},{"mode":"diagnostics","status":"not_done","progress":null}]},{"date":"2026-09-22","status":["none"],"training":[{"mode":"correction_unit","status":"completed","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}]},{"date":"2026-09-28","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null},{"mode":"diagnostics","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}]}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-22T13:00:58.386628Z, request_id: d6451605-3561-475b-abe7-a1d440e69fe8, version: v1}, data: {rehabilitation_name: Проверка упражнений, rehabilitation_start_date: 2026-09-21, rehabilitation_end_date: 2026-10-18, rehabilitation_weeks_count: 4, quality: {average_score: null, phases: [{phase_sequence_number: 1, phase_name: Проверка упражнений, weeks: [{phase_week_number: 1, score: null, rehabilitation_week_number: 1, is_control_week: false}, {phase_week_number: 2, score: null, rehabilitation_week_number: 2, is_control_week: false}, {phase_week_number: 3, score: null, rehabilitation_week_number: 3, is_control_week: false}, {phase_week_number: 4, score: null, rehabilitation_week_number: 4, is_control_week: true}]}]}, activity: {average_score: null, phases: [{phase_sequence_number: 1, phase_name: Проверка упражнений, weeks: [{phase_week_number: 1, score: null, rehabilitation_week_number: 1, is_control_week: false}, {phase_week_number: 2
INFO [console] , score: null, rehabilitation_week_number: 2, is_control_week: false}, {phase_week_number: 3, score: null, rehabilitation_week_number: 3, is_control_week: false}, {phase_week_number: 4, score: null, rehabilitation_week_number: 4, is_control_week: true}]}]}}}
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-22T13:00:58.386617Z, request_id: 178dfd3d-2f28-4fc3-bdfb-3c7f68873237, version: v1}, data: {start_rehab: 2026-09-21 00:00:00, end_rehab: 2026-10-18 00:00:00, days: [{date: 2026-09-21, status: [start], training: [{mode: correction_unit, status: not_done, progress: null}, {mode: diagnostics, status: not_done, progress: null}]}, {date: 2026-09-22, status: [none], training: [{mode: correction_unit, status: completed, 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}]}, {date: 2026-09-28, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}, {mode: diagnostics, status: not_done, progress: null}]}, {date: 2026-09-29, stat
INFO [console] us: [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}]}]}}
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/user/save-client-push-token/
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: Tue, 22 Sep 2026 13:00:58 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-22T13:00:58.517900Z","request_id":"3c17db87-3f0e-40dd-8810-5ae4832ed8aa","version":"v1"},"data":{"message":"User push token successfully saved or existed for current user"}}
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/user/save-client-push-token/
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: Tue, 22 Sep 2026 13:00:58 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-22T13:00:58.517462Z","request_id":"256842df-6600-4b3f-9c23-74e663f01989","version":"v1"},"data":{"message":"User push token successfully saved or existed for current user"}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-22T13:00:58.517900Z, request_id: 3c17db87-3f0e-40dd-8810-5ae4832ed8aa, version: v1}, data: {message: User push token successfully saved or existed for current user}}
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/statistics/range-of-motion
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 768|0VqB9oq4rJLHonOPuJFUBc4D6YaW5mqDHk9mLj7Cb772150c
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-22T13:00:58.517462Z, request_id: 256842df-6600-4b3f-9c23-74e663f01989, version: v1}, data: {message: User push token successfully saved or existed for current user}}
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-09-22
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 768|0VqB9oq4rJLHonOPuJFUBc4D6YaW5mqDHk9mLj7Cb772150c
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/statistics/range-of-motion
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: Tue, 22 Sep 2026 13:00:58 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-22T13:00:58.742036Z","request_id":"c65d300c-fbd6-4668-9c11-5dc0f8b10241","version":"v1"},"data":{"average_score":null,"average_interpretation":null,"phases":[{"phase_sequence_number":1,"phase_name":"Проверка упражнений","weeks":[{"phase_week_number":1,"week_number":1,"rehabilitation_week_number":1,"score":null,"interpretation":null,"is_control_week":false},{"phase_week_number":2,"week_number":2,"rehabilitation_week_number":2,"score":null,"interpretation":null,"is_control_week":false},{"phase_week_number":3,"week_number":3,"rehabilitation_week_number":3,"score":null,"interpretation":null,"is_control_week":false},{"phase_week_number":4,"week_number":4,"rehabilitation_week_number":4,"score":null,"interpretation":null,"is_control_week":true}]}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-22T13:00:58.742036Z, request_id: c65d300c-fbd6-4668-9c11-5dc0f8b10241, version: v1}, data: {average_score: null, average_interpretation: null, phases: [{phase_sequence_number: 1, phase_name: Проверка упражнений, weeks: [{phase_week_number: 1, week_number: 1, rehabilitation_week_number: 1, score: null, interpretation: null, is_control_week: false}, {phase_week_number: 2, week_number: 2, rehabilitation_week_number: 2, score: null, interpretation: null, is_control_week: false}, {phase_week_number: 3, week_number: 3, rehabilitation_week_number: 3, score: null, interpretation: null, is_control_week: false}, {phase_week_number: 4, week_number: 4, rehabilitation_week_number: 4, score: null, interpretation: null, is_control_week: true}]}]}}
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/statistics/pain
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 768|0VqB9oq4rJLHonOPuJFUBc4D6YaW5mqDHk9mLj7Cb772150c
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/day?date=2026-09-22
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: Tue, 22 Sep 2026 13:00:58 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-22T13:00:58.762221Z","request_id":"54b28801-b334-44fb-9ca8-00933086bd7f","version":"v1"},"data":{"rehabilitation_day_id":3118,"phase_id":363,"diagnosis_rehab":"Проверка упражнений","start_rehab":"2026-09-21 00:00:00","end_rehab":"2026-10-18 00:00:00","name_rehab_phase":"Проверка упражнений","status":["none"],"recommendations_count":1,"date":"2026-09-22","training":[{"mode":"correction_unit","status":"completed","progress":null,"unit_id":1089,"time":"10 - 20 мин","count_questions":2,"status_questions":false,"workout_id":139}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-22T13:00:58.762221Z, request_id: 54b28801-b334-44fb-9ca8-00933086bd7f, version: v1}, data: {rehabilitation_day_id: 3118, phase_id: 363, diagnosis_rehab: Проверка упражнений, start_rehab: 2026-09-21 00:00:00, end_rehab: 2026-10-18 00:00:00, name_rehab_phase: Проверка упражнений, status: [none], recommendations_count: 1, date: 2026-09-22, training: [{mode: correction_unit, status: completed, progress: null, unit_id: 1089, time: 10 - 20 мин, count_questions: 2, status_questions: false, workout_id: 139}]}}
ERROR [widgets library] Null check operator used on a null value
Null check operator used on a null value
#0      _TrainingDayItemState.build (package:testapp/features/calendar_page/presentation/widgets/day_details/training_day_item.dart:56:43)
#1      StatefulElement.build (package:flutter/src/widgets/framework.dart:5931:27)
#2      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5817:15)
#3      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5982:11)
#4      Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#5      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799:5)
#6      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5973:11)
#7      ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793:5)
#8      Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#9      Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#10     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7115:14)
#11     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#12     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#13     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7115:14)
#14     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#15     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#16     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#17     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5982:11)
#18     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#19     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799:5)
#20     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5973:11)
#21     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793:5)
#22     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#23     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#24     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#25     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#26     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799:5)
#27     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793:5)
#28     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#29     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#30     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#31     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#32     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799:5)
#33     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793:5)
#34     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#35     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#36     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#37     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5982:11)
#38     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#39     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799:5)
#40     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5973:11)
#41     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793:5)
#42     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#43     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#44     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#45     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#46     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799:5)
#47     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793:5)
#48     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#49     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#50     SliverMultiBoxAdaptorElement.updateChild (package:flutter/src/widgets/sliver.dart:1086:37)
#51     SliverMultiBoxAdaptorElement.createChild.<anonymous closure> (package:flutter/src/widgets/sliver.dart:1071:20)
#52     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3101:19)
#53     SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:1061:12)
#54     RenderSliverMultiBoxAdaptor._createOrObtainChild.<anonymous closure> (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:368:23)
#55     RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:3026:17)
#56     PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:1223:15)
#57     RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:3025:14)
#58     RenderSliverMultiBoxAdaptor._createOrObtainChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:357:5)
#59     RenderSliverMultiBoxAdaptor.insertAndLayoutChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:517:5)
#60     RenderSliverList.performLayout.advance (package:flutter/src/rendering/sliver_list.dart:238:19)
#61     RenderSliverList.performLayout (package:flutter/src/rendering/sliver_list.dart:278:12)
#62     RenderObject.layout (package:flutter/src/rendering/object.dart:2907:7)
#63     RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:821:13)
#64     RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1831:12)
#65     RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1724:20)
#66     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2755:7)
#67     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1174:18)
#68     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1187:15)
#69     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:643:23)
#70     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1573:13)
#71     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:509:5)
#72     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1430:15)
#73     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1345:9)
#74     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1198:5)
#75     _rootRun (dart:async/zone_root.dart:35:13)
#76     _CustomZone.run (dart:async/zone.dart:726:19)
#77     _CustomZone.runGuarded (dart:async/zone.dart:625:7)
#78     _invoke (dart:ui/hooks.dart:425:10)
#79     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:447:5)
#80     _drawFrame (dart:ui/hooks.dart:395:31)
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/statistics/pain
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: Tue, 22 Sep 2026 13:00:58 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-22T13:00:58.825903Z","request_id":"e41db2bc-dd16-4f90-892d-79e4f1e1b014","version":"v1"},"data":{"average_score":null,"phases":[{"phase_sequence_number":1,"phase_name":"Проверка упражнений","weeks":[{"week_number":1,"rehabilitation_week_number":1,"score":null,"change_from_previous":null,"change_direction":null,"is_control_week":false},{"week_number":2,"rehabilitation_week_number":2,"score":null,"change_from_previous":null,"change_direction":null,"is_control_week":false},{"week_number":3,"rehabilitation_week_number":3,"score":null,"change_from_previous":null,"change_direction":null,"is_control_week":false},{"week_number":4,"rehabilitation_week_number":4,"score":null,"change_from_previous":null,"change_direction":null,"is_control_week":true}]}]}}
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-22T13:00:58.825903Z, request_id: e41db2bc-dd16-4f90-892d-79e4f1e1b014, version: v1}, data: {average_score: null, phases: [{phase_sequence_number: 1, phase_name: Проверка упражнений, weeks: [{week_number: 1, rehabilitation_week_number: 1, score: null, change_from_previous: null, change_direction: null, is_control_week: false}, {week_number: 2, rehabilitation_week_number: 2, score: null, change_from_previous: null, change_direction: null, is_control_week: false}, {week_number: 3, rehabilitation_week_number: 3, score: null, change_from_previous: null, change_direction: null, is_control_week: false}, {week_number: 4, rehabilitation_week_number: 4, score: null, change_from_previous: null, change_direction: null, is_control_week: true}]}]}}
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-22T13:00:58.897840Z, request_id: ce27e092-583a-48a6-8214-c56ff4ddaed4, version: v1}, data: []}
INFO [console] [DIO]
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/statistics/exercises/list
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 768|0VqB9oq4rJLHonOPuJFUBc4D6YaW5mqDHk9mLj7Cb772150c
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/statistics/exercises/list
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: Tue, 22 Sep 2026 13:00:58 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-22T13:00:58.897840Z","request_id":"ce27e092-583a-48a6-8214-c56ff4ddaed4","version":"v1"},"data":[]}
INFO [console] [DIO]
INFO [console] shrinkOffset: 105.84615384615375, progress: 0.5324488667772246
INFO [console] shrinkOffset: 158.76923076923066, progress: 0.7986733001658369
INFO [console] shrinkOffset: 257.05494505494505, progress: 1.0
INFO [console] shrinkOffset: 255.34381517649507, progress: 1.0
INFO [console] shrinkOffset: 125.03523058186016, progress: 0.6289776662769085
INFO [console] shrinkOffset: 10.152749674786946, progress: 0.051072427883118415
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] shrinkOffset: 1.2307692307692832, progress: 0.006191265892758694
INFO [console] shrinkOffset: 30.15384615384619, progress: 0.15168601437258172
INFO [console] shrinkOffset: 87.0769230769231, progress: 0.43803206191265903
INFO [console] shrinkOffset: 89.23076923076928, progress: 0.44886677722498647
INFO [console] shrinkOffset: 109.84615384615398, progress: 0.5525704809286905
INFO [console] shrinkOffset: 136.6153846153847, progress: 0.6872305140961862
INFO [console] shrinkOffset: 159.07692307692315, progress: 0.8002211166390275
INFO [console] shrinkOffset: 172.6153846153847, progress: 0.8683250414593703
INFO [console] shrinkOffset: 185.23076923076934, progress: 0.9317855168601443
INFO [console] shrinkOffset: 193.84615384615398, progress: 0.9751243781094534
INFO [console] shrinkOffset: 209.23076923076945, progress: 1.0
INFO [console] shrinkOffset: 232.00000000000017, progress: 1.0
INFO [console] shrinkOffset: 257.05494505494505, progress: 1.0
INFO [console] shrinkOffset: 255.34240355883978, progress: 1.0
INFO [console] shrinkOffset: 194.93009058787277, progress: 0.9805770173298188
INFO [console] shrinkOffset: 142.15729063644952, progress: 0.7151085377510727
INFO [console] shrinkOffset: 111.08163914235286, progress: 0.5587854705336711
INFO [console] shrinkOffset: 83.18940769518761, progress: 0.41847629078286747
INFO [console] shrinkOffset: 58.3857752191783, progress: 0.29370401022361664
INFO [console] shrinkOffset: 36.573758340570635, progress: 0.18398076334947086
INFO [console] shrinkOffset: 17.647380082266807, progress: 0.08877344319990489
INFO [console] shrinkOffset: 1.4958172642373597, progress: 0.007524564458020992
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] shrinkOffset: 0.30769230769226397, progress: 0.0015478164731893877
INFO [console] shrinkOffset: 4.615384615384528, progress: 0.023217247097843674
INFO [console] shrinkOffset: 8.615384615384528, progress: 0.04333886124930857
INFO [console] shrinkOffset: 9.23076923076917, progress: 0.04643449419568792
INFO [console] shrinkOffset: 9.538461538461434, progress: 0.04798231066887731
INFO [console] shrinkOffset: 10.153846153845961, progress: 0.05107794361525608
INFO [console] shrinkOffset: 10.461538461538225, progress: 0.05262576008844547
INFO [console] shrinkOffset: 10.76923076923049, progress: 0.05417357656163486
INFO [console] shrinkOffset: 11.076923076922753, progress: 0.05572139303482424
INFO [console] shrinkOffset: 11.384615384615017, progress: 0.05726920950801363
INFO [console] shrinkOffset: 11.076923076922753, progress: 0.05572139303482424
INFO [console] shrinkOffset: 10.76923076923049, progress: 0.05417357656163486
INFO [console] shrinkOffset: 7.692307692307395, progress: 0.03869541182973869
INFO [console] shrinkOffset: 6.461538461538112, progress: 0.03250414593698
INFO [console] shrinkOffset: 6.461538461538112, progress: 0.03250414593698
INFO [console] shrinkOffset: 6.461538461538112, progress: 0.03250414593698
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-09-23
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 768|0VqB9oq4rJLHonOPuJFUBc4D6YaW5mqDHk9mLj7Cb772150c
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
$
250 строкUTF-8LIVE