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

rehabapp_2026-09-22_16-15-41

Подключение…
Rehab Logger console · история загружается порциями по 250 записей
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
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] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 22 Sep 2026 13:15:42 GMT
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] Authorization: Bearer 767|m3oo3WcesjpKzNuuYeqZ31UaDbpnagpgcLE0zJ1L49b7e2cd
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
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]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-22T13:15:42.288780Z, request_id: ec602a3a-9b21-4df2-8418-1bd1dea97a41, 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] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-22T13:15:42.288780Z","request_id":"ec602a3a-9b21-4df2-8418-1bd1dea97a41","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] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 22 Sep 2026 13:15:42 GMT
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
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] uri: https://rehabilitation.most.team/api/v1/statistics/general
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-22T13:15:41.449242Z, request_id: ab3ab68d-744b-4327-b00f-f4aa33821e7c, 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)
#1      StatefulElement.build (package:flutter/src/widgets/framework.dart:5944)
#2      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5830)
#3      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#4      Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#5      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5812)
#6      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5986)
#7      ComponentElement.mount (package:flutter/src/widgets/framework.dart:5806)
#8      Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#9      Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#10     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7128)
#11     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#12     Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#13     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7128)
#14     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#15     Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#16     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#17     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#18     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#19     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5812)
#20     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5986)
#21     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5806)
#22     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#23     Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#24     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#25     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#26     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5812)
#27     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5806)
#28     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#29     Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#30     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#31     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#32     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5812)
#33     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5806)
#34     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#35     Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#36     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#37     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#38     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#39     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5812)
#40     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5986)
#41     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5806)
#42     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#43     Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#44     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#45     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#46     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5812)
#47     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5806)
#48     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#49     Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#50     SliverMultiBoxAdaptorElement.updateChild (package:flutter/src/widgets/sliver.dart:1092)
#51     SliverMultiBoxAdaptorElement.createChild.<anonymous closure> (package:flutter/src/widgets/sliver.dart:1077)
#52     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3114)
#53     SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:1067)
#54     RenderSliverMultiBoxAdaptor._createOrObtainChild.<anonymous closure> (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:368)
#55     RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:3042)
#56     PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:1223)
#57     RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:3041)
#58     RenderSliverMultiBoxAdaptor._createOrObtainChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:357)
#59     RenderSliverMultiBoxAdaptor.insertAndLayoutChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:517)
#60     RenderSliverList.performLayout.advance (package:flutter/src/rendering/sliver_list.dart:238)
#61     RenderSliverList.performLayout (package:flutter/src/rendering/sliver_list.dart:278)
#62     RenderObject.layout (package:flutter/src/rendering/object.dart:2923)
#63     RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:821)
#64     RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1831)
#65     RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1724)
#66     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2771)
#67     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1174)
#68     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1187)
#69     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:692)
#70     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1573)
#71     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:558)
#72     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1430)
#73     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1345)
#74     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1198)
#75     _rootRun (dart:async/zone_root.dart:35)
#76     _CustomZone.run (dart:async/zone.dart:810)
#77     _CustomZone.runGuarded (dart:async/zone.dart:702)
#78     _invoke (dart:ui/hooks.dart:443)
#79     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:450)
#80     _drawFrame (dart:ui/hooks.dart:413)
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-22T13:15:41.449242Z","request_id":"ab3ab68d-744b-4327-b00f-f4aa33821e7c","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] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 22 Sep 2026 13:15:41 GMT
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
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]
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] Authorization: Bearer 767|m3oo3WcesjpKzNuuYeqZ31UaDbpnagpgcLE0zJ1L49b7e2cd
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] *** Response ***
INFO [console] [DIO]
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] [DIO] Authorization: Bearer 767|m3oo3WcesjpKzNuuYeqZ31UaDbpnagpgcLE0zJ1L49b7e2cd
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
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] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] *** Request ***
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-22T13:15:41.343215Z, request_id: d88c546b-2f58-4cf0-915d-059b61f2890c, 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] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-22T13:15:41.343215Z","request_id":"d88c546b-2f58-4cf0-915d-059b61f2890c","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] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 22 Sep 2026 13:15:41 GMT
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
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] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/statistics/general
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] Push notifications are skipped on this platform
INFO [console] [DIO] *** Request ***
INFO [console] [startup] onAutoAuth done: true
INFO [console] [startup] runApp
INFO [console] Request query: {start_date: 2026-08-31, end_date: 2026-10-04}
INFO [console] [startup] initAppGetIt
INFO [console] [startup] initAppGetIt done
INFO [console] [startup] onAutoAuth
INFO [console] [startup] configureApp
INFO [console] [startup] configureApp done
INFO [console] [startup] orientations done
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 767|m3oo3WcesjpKzNuuYeqZ31UaDbpnagpgcLE0zJ1L49b7e2cd
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 767|m3oo3WcesjpKzNuuYeqZ31UaDbpnagpgcLE0zJ1L49b7e2cd
INFO [console] [DIO] data:
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-22T13:15:42.439917Z, request_id: d59feabf-4cee-4267-b85b-4ccad968c2f3, version: v1}, data: []}
INFO [console] shrinkOffset: 17.68528289794922, progress: 0.03089672064631241
INFO [console] shrinkOffset: 398.4637207031251, progress: 0.6961280934715672
INFO [console] shrinkOffset: 407.64887695312507, progress: 0.7121748374443135
INFO [console] shrinkOffset: 663.7999462406326, progress: 1.0
INFO [console] shrinkOffset: 691.0744342284142, progress: 1.0
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-22T13:15:42.439917Z","request_id":"d59feabf-4cee-4267-b85b-4ccad968c2f3","version":"v1"},"data":[]}
INFO [console] shrinkOffset: 368.0202880859376, progress: 0.6429425018971656
INFO [console] shrinkOffset: 605.0606473945942, progress: 1.0
INFO [console] shrinkOffset: 635.1351833320452, progress: 1.0
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] shrinkOffset: 352.93928222656257, progress: 0.6165955314929465
INFO [console] shrinkOffset: 573.5616083329502, progress: 1.0
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 22 Sep 2026 13:15:42 GMT
INFO [console] shrinkOffset: 292.07636718750007, progress: 0.5102661900550316
INFO [console] shrinkOffset: 335.8779541015626, progress: 0.5867888785841415
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] shrinkOffset: 248.28933105468758, progress: 0.43376892217800067
INFO [console] shrinkOffset: 506.21552734375007, progress: 0.8843737374978163
INFO [console] shrinkOffset: 540.619421744982, progress: 0.9444783748165304
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] shrinkOffset: 217.138134765625, progress: 0.37934684620130155
INFO [console] shrinkOffset: 454.0989746093751, progress: 0.7933245538249041
INFO [console] shrinkOffset: 746.0352493301713, progress: 1.0
INFO [console] shrinkOffset: 741.3180618301712, progress: 1.0
INFO [console] shrinkOffset: 741.1127395645462, progress: 1.0
INFO [console] shrinkOffset: 741.0268997207962, progress: 1.0
INFO [console] shrinkOffset: 741.1998489395462, progress: 1.0
INFO [console] shrinkOffset: 742.1484329239212, progress: 1.0
INFO [console] shrinkOffset: 755.1999999999999, progress: 1.0
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)
#1      StatefulElement.build (package:flutter/src/widgets/framework.dart:5944)
#2      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5830)
#3      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#4      Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#5      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5812)
#6      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5986)
#7      ComponentElement.mount (package:flutter/src/widgets/framework.dart:5806)
#8      Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#9      Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#10     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7128)
#11     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#12     Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#13     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7128)
#14     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#15     Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#16     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#17     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#18     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#19     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5812)
#20     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5986)
#21     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5806)
#22     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#23     Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#24     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#25     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#26     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5812)
#27     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5806)
#28     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#29     Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#30     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#31     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#32     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5812)
#33     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5806)
#34     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#35     Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#36     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#37     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#38     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#39     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5812)
#40     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5986)
#41     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5806)
#42     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#43     Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#44     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#45     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#46     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5812)
#47     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5806)
#48     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#49     Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#50     SliverMultiBoxAdaptorElement.updateChild (package:flutter/src/widgets/sliver.dart:1092)
#51     SliverMultiBoxAdaptorElement.createChild.<anonymous closure> (package:flutter/src/widgets/sliver.dart:1077)
#52     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3114)
#53     SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:1067)
#54     RenderSliverMultiBoxAdaptor._createOrObtainChild.<anonymous closure> (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:368)
#55     RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:3042)
#56     PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:1223)
#57     RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:3041)
#58     RenderSliverMultiBoxAdaptor._createOrObtainChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:357)
#59     RenderSliverMultiBoxAdaptor.insertAndLayoutLeadingChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:487)
#60     RenderSliverList.performLayout (package:flutter/src/rendering/sliver_list.dart:130)
#61     RenderObject.layout (package:flutter/src/rendering/object.dart:2923)
#62     RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:821)
#63     RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1831)
#64     RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1724)
#65     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2771)
#66     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1174)
#67     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1187)
#68     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:692)
#69     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1573)
#70     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:558)
#71     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1430)
#72     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1345)
#73     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1198)
#74     _rootRun (dart:async/zone_root.dart:35)
#75     _CustomZone.run (dart:async/zone.dart:810)
#76     _CustomZone.runGuarded (dart:async/zone.dart:702)
#77     _invoke (dart:ui/hooks.dart:443)
#78     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:450)
#79     _drawFrame (dart:ui/hooks.dart:413)
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)
#1      StatefulElement.build (package:flutter/src/widgets/framework.dart:5944)
#2      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5830)
#3      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#4      Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#5      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5812)
#6      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5986)
#7      ComponentElement.mount (package:flutter/src/widgets/framework.dart:5806)
#8      Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#9      Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#10     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7128)
#11     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#12     Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#13     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7128)
#14     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#15     Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#16     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#17     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#18     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#19     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5812)
#20     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5986)
#21     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5806)
#22     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#23     Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#24     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#25     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#26     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5812)
#27     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5806)
#28     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#29     Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#30     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#31     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#32     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5812)
#33     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5806)
#34     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#35     Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#36     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#37     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5995)
#38     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#39     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5812)
#40     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5986)
#41     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5806)
#42     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#43     Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#44     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5854)
#45     Element.rebuild (package:flutter/src/widgets/framework.dart:5542)
#46     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5812)
#47     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5806)
#48     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4600)
#49     Element.updateChild (package:flutter/src/widgets/framework.dart:4072)
#50     SliverMultiBoxAdaptorElement.updateChild (package:flutter/src/widgets/sliver.dart:1092)
#51     SliverMultiBoxAdaptorElement.createChild.<anonymous closure> (package:flutter/src/widgets/sliver.dart:1077)
#52     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3114)
#53     SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:1067)
#54     RenderSliverMultiBoxAdaptor._createOrObtainChild.<anonymous closure> (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:368)
#55     RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:3042)
#56     PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:1223)
#57     RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:3041)
#58     RenderSliverMultiBoxAdaptor._createOrObtainChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:357)
#59     RenderSliverMultiBoxAdaptor.insertAndLayoutLeadingChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:487)
#60     RenderSliverList.performLayout (package:flutter/src/rendering/sliver_list.dart:130)
#61     RenderObject.layout (package:flutter/src/rendering/object.dart:2923)
#62     RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:821)
#63     RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1831)
#64     RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1724)
#65     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2771)
#66     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1174)
#67     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1187)
#68     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:692)
#69     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1573)
#70     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:558)
#71     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1430)
#72     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1345)
#73     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1198)
#74     _rootRun (dart:async/zone_root.dart:35)
#75     _CustomZone.run (dart:async/zone.dart:810)
#76     _CustomZone.runGuarded (dart:async/zone.dart:702)
#77     _invoke (dart:ui/hooks.dart:443)
#78     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:450)
#79     _drawFrame (dart:ui/hooks.dart:413)
INFO [console] shrinkOffset: 754.9500976800917, progress: 1.0
INFO [console] shrinkOffset: 714.6444244384764, progress: 1.0
INFO [console] shrinkOffset: 605.4100219726561, progress: 1.0
INFO [console] shrinkOffset: 557.1979492187498, progress: 0.9734415604799963
INFO [console] shrinkOffset: 508.02497558593734, progress: 0.8875348979488773
INFO [console] shrinkOffset: 390.3764648437499, progress: 0.68199941447196
INFO [console] shrinkOffset: 324.2581054687499, progress: 0.5664886538587525
INFO [console] shrinkOffset: 284.5724609374999, progress: 0.4971566403520264
INFO [console] shrinkOffset: 229.8067871093749, progress: 0.4014793625251134
INFO [console] shrinkOffset: 205.93281249999995, progress: 0.35977081149545764
INFO [console] shrinkOffset: 170.54863281249993, progress: 0.2979535863251222
INFO [console] shrinkOffset: 159.3095703124999, progress: 0.2783186064159677
INFO [console] shrinkOffset: 140.14339318780029, progress: 0.24483471905625487
INFO [console] shrinkOffset: 122.22553278083325, progress: 0.21353167851298613
INFO [console] shrinkOffset: 105.53253419472873, progress: 0.18436850837653518
INFO [console] shrinkOffset: 90.04041095658357, progress: 0.1573033035579727
INFO [console] shrinkOffset: 75.72654065419317, progress: 0.13229654202339827
INFO [console] shrinkOffset: 62.56512335784393, progress: 0.1093031505203423
INFO [console] shrinkOffset: 50.52956589980147, progress: 0.08827666998567692
INFO [console] shrinkOffset: 39.593853645195736, progress: 0.06917165207057256
INFO [console] shrinkOffset: 29.728952376581333, progress: 0.05193737312470534
INFO [console] shrinkOffset: 20.90461096204143, progress: 0.03652098351160278
INFO [console] shrinkOffset: 13.090202962051421, progress: 0.02286897792112408
INFO [console] shrinkOffset: 6.251941240874515, progress: 0.010922329211870222
INFO [console] shrinkOffset: 0.35404641337601106, progress: 0.0006185297228791249
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] shrinkOffset: 24.722460937500003, progress: 0.043190882140985334
INFO [console] shrinkOffset: 80.36619873046872, progress: 0.14040216409935138
INFO [console] shrinkOffset: 119.64353027343749, progress: 0.2090208425461871
INFO [console] shrinkOffset: 164.32033691406247, progress: 0.28707256623700644
INFO [console] shrinkOffset: 207.69521484375, progress: 0.36284978134827045
INFO [console] shrinkOffset: 243.19006347656247, progress: 0.4248603484915487
INFO [console] shrinkOffset: 289.81254882812493, progress: 0.5063112313559136
INFO [console] shrinkOffset: 370.1854003906249, progress: 0.646725018152734
INFO [console] shrinkOffset: 405.6135009765624, progress: 0.7086189744524152
INFO [console] shrinkOffset: 506.84086914062493, progress: 0.8854662284078004
INFO [console] shrinkOffset: 581.2869140624999, progress: 1.0
$
250 строкUTF-8LIVE