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

rehabapp_2026-10-10_10-08-04

Подключение…
Rehab Logger console · история загружается порциями по 250 записей
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 904|PgFsj4aeCNHcENME7wczuHZADfCdZXmG795Gc6flc56b9b44
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/days/4267
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: Sat, 10 Oct 2026 07:09:17 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-10-10T07:09:17.162370Z","request_id":"7372f6bf-3393-4627-a7b9-93bb0935c90e","version":"v1"},"data":{"rehabilitation_day_id":4267,"day_sequence_number":18,"date":"2026-10-07","score":null,"interpretation":null,"is_control_day":false,"questionnaire":{"questionnaire_result_id":null,"count_questions":1},"workout":{"unit_id":1600,"workout_id":null,"status":"not_done","score":null,"interpretation":null,"workout_duration_start":10,"workout_duration_end":20,"exercises_count":3,"exercises":[{"id":35,"exercise_result_id":null,"sequence_number":1,"name":"[OLD]Сгибание и разгибание в голеностопных суставах","image":"https://rehabilitation.most.team/storage/exercise/photos/01KQ9W7XPDJ63N5ZHWXP8PT0AK.png","completion_status":"not_completed","score":null,"interpretation":null,"is_monitored":false,"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,"exercise_result_id":null,"sequence_number":2,"name":"[OLD]Круговые движения ногой - в и.п. лежа на спине","image":"https://rehabilitation.most.team/storage/exercise/photos/01KQA5HT9XV5G51WZS4TZJVDQ6.png","completion_status":"not_completed","score":null,"interpretation":null,"is_monitored":false,"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":47,"exercise_result_id":null,"sequence_number":3,"name":"[OLD]Растяжка мышц задней поверхности бедра - В и.п. стоя на одной ноге","image":"https://rehabilitation.most.team/storage/exercise/photos/01KQCHWY0J06QHXQ4P2BH5VD3A.png","completion_status":"not_completed","score":null,"interpretation":null,"is_monitored":false,"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}}]}}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-10-10T07:09:17.162370Z, request_id: 7372f6bf-3393-4627-a7b9-93bb0935c90e, version: v1}, data: {rehabilitation_day_id: 4267, day_sequence_number: 18, date: 2026-10-07, score: null, interpretation: null, is_control_day: false, questionnaire: {questionnaire_result_id: null, count_questions: 1}, workout: {unit_id: 1600, workout_id: null, status: not_done, score: null, interpretation: null, workout_duration_start: 10, workout_duration_end: 20, exercises_count: 3, exercises: [{id: 35, exercise_result_id: null, sequence_number: 1, name: [OLD]Сгибание и разгибание в голеностопных суставах, image: https://rehabilitation.most.team/storage/exercise/photos/01KQ9W7XPDJ63N5ZHWXP8PT0AK.png, completion_status: not_completed, score: null, interpretation: null, is_monitored: false, instruction: {exercise_name: [OLD]Сгибание и разгибание в голеностопных суставах, video: https://rehabilitation.most.team/storage/exercise/videos/01KQ9W7XPHKNMR9R7HF5YSZY
INFO [console] 9E.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: Сохраняя прямое, вытянутое положение обеих ног в коленных суставах, начните выполнять одновременное д
INFO [console] вижение стопами}, {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, exercise_result_id: null, sequence_number: 2, name: [OLD]Круговые движения ногой - в и.п. лежа на спине, image: https://rehabilitation.most.team/storage/exercise/photos/01KQA5HT9XV5G51WZS4TZJVDQ6.png, completion_status: not_completed, score: null, interpretation: null, is_monitored: false, instruction: {exercise_name: [OLD]Круговые движения ногой - в и.п. лежа на спине, video: https://rehabilitation.most.team/storage/exercise/video
INFO [console] s/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
INFO [console] , step_text: Начните выполнять круговое движение рабочей выпрямленной ногой. Нога в верхней точке должна подниматься на уровень 30°-45° градусов от пола}, {exercise_id: 40, sequence_number: 7, step_text: Направление ноги (по часовой стрелке / против часовой стрелки) меняйте после каждого повторения}], measurement: null}}, {id: 47, exercise_result_id: null, sequence_number: 3, name: [OLD]Растяжка мышц задней поверхности бедра - В и.п. стоя на одной ноге, image: https://rehabilitation.most.team/storage/exercise/photos/01KQCHWY0J06QHXQ4P2BH5VD3A.png, completion_status: not_completed, score: null, interpretation: null, is_monitored: false, 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: Потянитесь пальцами рук к стопе поднятой ноги. Ваша задача - не
INFO [console] обязательно обхватить стопу, а максимально растянуться с прямой спиной}, {exercise_id: 47, sequence_number: 6, step_text: В точке максимального комфортного натяжения в задней поверхности бедра и под коленями зафиксируйте положение. Удерживайте его заданное время}], measurement: null}}]}}}
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/statistics/week/2
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 904|PgFsj4aeCNHcENME7wczuHZADfCdZXmG795Gc6flc56b9b44
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/week/2
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: Sat, 10 Oct 2026 07:09:21 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-10-10T07:09:21.552153Z","request_id":"3ffaf784-1a5c-4dc6-bb84-50ecc6759126","version":"v1"},"data":{"rehabilitation_name":"Для статы","rehabilitation_week_number":2,"title":"2 неделя","is_control_week":false,"average_score":61.3,"average_interpretation":"satisfactory","days":[{"rehabilitation_day_id":4264,"day_sequence_number":13,"date":"2026-10-02","score":null,"interpretation":null,"is_control_day":false},{"rehabilitation_day_id":4263,"day_sequence_number":11,"date":"2026-09-30","score":null,"interpretation":null,"is_control_day":false},{"rehabilitation_day_id":4262,"day_sequence_number":9,"date":"2026-09-28","score":null,"interpretation":null,"is_control_day":false},{"rehabilitation_day_id":4261,"day_sequence_number":8,"date":"2026-09-27","score":null,"interpretation":null,"is_control_day":false}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-10-10T07:09:21.552153Z, request_id: 3ffaf784-1a5c-4dc6-bb84-50ecc6759126, version: v1}, data: {rehabilitation_name: Для статы, rehabilitation_week_number: 2, title: 2 неделя, is_control_week: false, average_score: 61.3, average_interpretation: satisfactory, days: [{rehabilitation_day_id: 4264, day_sequence_number: 13, date: 2026-10-02, score: null, interpretation: null, is_control_day: false}, {rehabilitation_day_id: 4263, day_sequence_number: 11, date: 2026-09-30, score: null, interpretation: null, is_control_day: false}, {rehabilitation_day_id: 4262, day_sequence_number: 9, date: 2026-09-28, score: null, interpretation: null, is_control_day: false}, {rehabilitation_day_id: 4261, day_sequence_number: 8, date: 2026-09-27, score: null, interpretation: null, is_control_day: false}]}}
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/statistics/week/2
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 904|PgFsj4aeCNHcENME7wczuHZADfCdZXmG795Gc6flc56b9b44
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/week/2
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: Sat, 10 Oct 2026 07:09:27 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-10-10T07:09:27.056619Z","request_id":"6237295e-b4be-4cec-b2f6-40697c1ae0e8","version":"v1"},"data":{"rehabilitation_name":"Для статы","rehabilitation_week_number":2,"title":"2 неделя","is_control_week":false,"average_score":61.3,"average_interpretation":"satisfactory","days":[{"rehabilitation_day_id":4264,"day_sequence_number":13,"date":"2026-10-02","score":null,"interpretation":null,"is_control_day":false},{"rehabilitation_day_id":4263,"day_sequence_number":11,"date":"2026-09-30","score":null,"interpretation":null,"is_control_day":false},{"rehabilitation_day_id":4262,"day_sequence_number":9,"date":"2026-09-28","score":null,"interpretation":null,"is_control_day":false},{"rehabilitation_day_id":4261,"day_sequence_number":8,"date":"2026-09-27","score":null,"interpretation":null,"is_control_day":false}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-10-10T07:09:27.056619Z, request_id: 6237295e-b4be-4cec-b2f6-40697c1ae0e8, version: v1}, data: {rehabilitation_name: Для статы, rehabilitation_week_number: 2, title: 2 неделя, is_control_week: false, average_score: 61.3, average_interpretation: satisfactory, days: [{rehabilitation_day_id: 4264, day_sequence_number: 13, date: 2026-10-02, score: null, interpretation: null, is_control_day: false}, {rehabilitation_day_id: 4263, day_sequence_number: 11, date: 2026-09-30, score: null, interpretation: null, is_control_day: false}, {rehabilitation_day_id: 4262, day_sequence_number: 9, date: 2026-09-28, score: null, interpretation: null, is_control_day: false}, {rehabilitation_day_id: 4261, day_sequence_number: 8, date: 2026-09-27, score: null, interpretation: null, is_control_day: false}]}}
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/statistics/days/4263
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 904|PgFsj4aeCNHcENME7wczuHZADfCdZXmG795Gc6flc56b9b44
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/days/4263
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: Sat, 10 Oct 2026 07:09:33 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-10-10T07:09:33.035189Z","request_id":"6bde4666-6580-43be-b6f6-f817424a1d01","version":"v1"},"data":{"rehabilitation_day_id":4263,"day_sequence_number":11,"date":"2026-09-30","score":null,"interpretation":"bad","is_control_day":false,"questionnaire":{"questionnaire_result_id":null,"count_questions":1},"workout":{"unit_id":1600,"workout_id":223,"status":"completed","score":null,"interpretation":"bad","workout_duration_start":10,"workout_duration_end":20,"exercises_count":3,"exercises":[{"id":35,"exercise_result_id":547,"sequence_number":1,"name":"[OLD]Сгибание и разгибание в голеностопных суставах","image":"https://rehabilitation.most.team/storage/exercise/photos/01KQ9W7XPDJ63N5ZHWXP8PT0AK.png","completion_status":"completed","score":44,"interpretation":"satisfactory","is_monitored":true,"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,"exercise_result_id":548,"sequence_number":2,"name":"[OLD]Круговые движения ногой - в и.п. лежа на спине","image":"https://rehabilitation.most.team/storage/exercise/photos/01KQA5HT9XV5G51WZS4TZJVDQ6.png","completion_status":"completed","score":34,"interpretation":"bad","is_monitored":true,"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":47,"exercise_result_id":549,"sequence_number":3,"name":"[OLD]Растяжка мышц задней поверхности бедра - В и.п. стоя на одной ноге","image":"https://rehabilitation.most.team/storage/exercise/photos/01KQCHWY0J06QHXQ4P2BH5VD3A.png","completion_status":"completed","score":39,"interpretation":"bad","is_monitored":true,"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}}]}}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-10-10T07:09:33.035189Z, request_id: 6bde4666-6580-43be-b6f6-f817424a1d01, version: v1}, data: {rehabilitation_day_id: 4263, day_sequence_number: 11, date: 2026-09-30, score: null, interpretation: bad, is_control_day: false, questionnaire: {questionnaire_result_id: null, count_questions: 1}, workout: {unit_id: 1600, workout_id: 223, status: completed, score: null, interpretation: bad, workout_duration_start: 10, workout_duration_end: 20, exercises_count: 3, exercises: [{id: 35, exercise_result_id: 547, sequence_number: 1, name: [OLD]Сгибание и разгибание в голеностопных суставах, image: https://rehabilitation.most.team/storage/exercise/photos/01KQ9W7XPDJ63N5ZHWXP8PT0AK.png, completion_status: completed, score: 44, interpretation: satisfactory, is_monitored: true, instruction: {exercise_name: [OLD]Сгибание и разгибание в голеностопных суставах, video: https://rehabilitation.most.team/storage/exercise/videos/01KQ9W7XPHKNMR9R7HF5YSZY9E
INFO [console] .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: Сохраняя прямое, вытянутое положение обеих ног в коленных суставах, начните выполнять одновременное дви
INFO [console] жение стопами}, {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, exercise_result_id: 548, sequence_number: 2, name: [OLD]Круговые движения ногой - в и.п. лежа на спине, image: https://rehabilitation.most.team/storage/exercise/photos/01KQA5HT9XV5G51WZS4TZJVDQ6.png, completion_status: completed, score: 34, interpretation: bad, is_monitored: true, instruction: {exercise_name: [OLD]Круговые движения ногой - в и.п. лежа на спине, video: https://rehabilitation.most.team/storage/exercise/videos/01KQA5HTA
INFO [console] 1S14HGRG0J5HK6SYP.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
INFO [console] : Начните выполнять круговое движение рабочей выпрямленной ногой. Нога в верхней точке должна подниматься на уровень 30°-45° градусов от пола}, {exercise_id: 40, sequence_number: 7, step_text: Направление ноги (по часовой стрелке / против часовой стрелки) меняйте после каждого повторения}], measurement: null}}, {id: 47, exercise_result_id: 549, sequence_number: 3, name: [OLD]Растяжка мышц задней поверхности бедра - В и.п. стоя на одной ноге, image: https://rehabilitation.most.team/storage/exercise/photos/01KQCHWY0J06QHXQ4P2BH5VD3A.png, completion_status: completed, score: 39, interpretation: bad, is_monitored: true, 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: Потянитесь пальцами рук к стопе поднятой ноги. Ваша задача - не обязательно обхвати
INFO [console] ть стопу, а максимально растянуться с прямой спиной}, {exercise_id: 47, sequence_number: 6, step_text: В точке максимального комфортного натяжения в задней поверхности бедра и под коленями зафиксируйте положение. Удерживайте его заданное время}], measurement: null}}]}}}
ERROR [widgets library] Null check operator used on a null value
Null check operator used on a null value
#0      TotalResultWorkout.build (package:testapp/features/training/presentation/widgets/total_result_workout.dart:40:21)
#1      StatelessElement.build (package:flutter/src/widgets/framework.dart:5889:49)
#2      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5817:15)
#3      Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#4      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799:5)
#5      ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793:5)
#6      Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#7      MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:7264:36)
#8      MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7279:32)
#9      Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#10     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#11     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7115:14)
#12     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#13     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#14     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7115:14)
#15     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#16     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#17     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7115:14)
#18     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#19     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#20     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7115:14)
#21     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#22     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#23     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7115:14)
#24     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#25     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#26     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7115:14)
#27     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#28     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#29     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#30     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5982:11)
#31     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#32     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799:5)
#33     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5973:11)
#34     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793:5)
#35     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#36     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#37     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7115:14)
#38     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#39     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#40     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#41     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#42     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799:5)
#43     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793:5)
#44     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#45     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#46     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7115:14)
#47     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#48     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#49     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#50     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#51     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799:5)
#52     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793:5)
#53     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#54     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#55     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7115:14)
#56     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#57     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#58     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7115:14)
#59     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#60     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#61     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#62     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5982:11)
#63     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#64     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799:5)
#65     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5973:11)
#66     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793:5)
#67     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#68     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#69     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#70     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#71     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799:5)
#72     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793:5)
#73     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#74     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#75     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7115:14)
#76     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#77     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#78     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#79     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5982:11)
#80     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#81     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799:5)
#82     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5973:11)
#83     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793:5)
#84     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#85     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#86     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#87     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#88     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799:5)
#89     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793:5)
#90     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#91     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#92     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#93     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5982:11)
#94     Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#95     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799:5)
#96     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5973:11)
#97     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793:5)
#98     Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#99     Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#100    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#101    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5982:11)
#102    Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#103    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799:5)
#104    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5973:11)
#105    ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793:5)
#106    Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#107    Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#108    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#109    Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#110    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799:5)
#111    ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793:5)
#112    Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#113    Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#114    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#115    Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#116    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5799:5)
#117    ComponentElement.mount (package:flutter/src/widgets/framework.dart:5793:5)
#118    Element.inflateWidget (package:flutter/src/widgets/framework.dart:4587:20)
#119    Element.updateChild (package:flutter/src/widgets/framework.dart:4053:20)
#120    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#121    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5982:11)
#122    Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#123    StatefulElement.update (package:flutter/src/widgets/framework.dart:6007:5)
#124    Element.updateChild (package:flutter/src/widgets/framework.dart:4037:15)
#125    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5841:16)
#126    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5982:11)
#127    Element.rebuild (package:flutter/src/widgets/framework.dart:5529:7)
#128    BuildScope._tryRebuild (package:flutter/src/widgets/framework.dart:2750:15)
#129    BuildScope._flushDirtyElements (package:flutter/src/widgets/framework.dart:2807:11)
#130    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3111:18)
#131    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1571:21)
#132    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:509:5)
#133    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1430:15)
#134    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1345:9)
#135    SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1198:5)
#136    _rootRun (dart:async/zone_root.dart:35:13)
#137    _CustomZone.run (dart:async/zone.dart:726:19)
#138    _CustomZone.runGuarded (dart:async/zone.dart:625:7)
#139    _invoke (dart:ui/hooks.dart:425:10)
#140    PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:447:5)
#141    _drawFrame (dart:ui/hooks.dart:395:31)
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/statistics/week/1
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 904|PgFsj4aeCNHcENME7wczuHZADfCdZXmG795Gc6flc56b9b44
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/week/1
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: Sat, 10 Oct 2026 07:09:43 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-10-10T07:09:43.600560Z","request_id":"53c7445c-c003-43c8-8df7-ebb506b1bc82","version":"v1"},"data":{"rehabilitation_name":"Для статы","rehabilitation_week_number":1,"title":"1 неделя","is_control_week":false,"average_score":45.3,"average_interpretation":"satisfactory","days":[{"rehabilitation_day_id":4260,"day_sequence_number":6,"date":"2026-09-25","score":null,"interpretation":null,"is_control_day":false},{"rehabilitation_day_id":4259,"day_sequence_number":4,"date":"2026-09-23","score":null,"interpretation":null,"is_control_day":false},{"rehabilitation_day_id":4258,"day_sequence_number":2,"date":"2026-09-21","score":null,"interpretation":null,"is_control_day":false},{"rehabilitation_day_id":4257,"day_sequence_number":1,"date":"2026-09-20","score":null,"interpretation":null,"is_control_day":false}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-10-10T07:09:43.600560Z, request_id: 53c7445c-c003-43c8-8df7-ebb506b1bc82, version: v1}, data: {rehabilitation_name: Для статы, rehabilitation_week_number: 1, title: 1 неделя, is_control_week: false, average_score: 45.3, average_interpretation: satisfactory, days: [{rehabilitation_day_id: 4260, day_sequence_number: 6, date: 2026-09-25, score: null, interpretation: null, is_control_day: false}, {rehabilitation_day_id: 4259, day_sequence_number: 4, date: 2026-09-23, score: null, interpretation: null, is_control_day: false}, {rehabilitation_day_id: 4258, day_sequence_number: 2, date: 2026-09-21, score: null, interpretation: null, is_control_day: false}, {rehabilitation_day_id: 4257, day_sequence_number: 1, date: 2026-09-20, score: null, interpretation: null, is_control_day: false}]}}
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/statistics/week/2
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 904|PgFsj4aeCNHcENME7wczuHZADfCdZXmG795Gc6flc56b9b44
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/week/2
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: Sat, 10 Oct 2026 07:09:47 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-10-10T07:09:47.343649Z","request_id":"0d0f653e-06f2-4cb4-a6b0-876bad0e2963","version":"v1"},"data":{"rehabilitation_name":"Для статы","rehabilitation_week_number":2,"title":"2 неделя","is_control_week":false,"average_score":61.3,"average_interpretation":"satisfactory","days":[{"rehabilitation_day_id":4264,"day_sequence_number":13,"date":"2026-10-02","score":null,"interpretation":null,"is_control_day":false},{"rehabilitation_day_id":4263,"day_sequence_number":11,"date":"2026-09-30","score":null,"interpretation":null,"is_control_day":false},{"rehabilitation_day_id":4262,"day_sequence_number":9,"date":"2026-09-28","score":null,"interpretation":null,"is_control_day":false},{"rehabilitation_day_id":4261,"day_sequence_number":8,"date":"2026-09-27","score":null,"interpretation":null,"is_control_day":false}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-10-10T07:09:47.343649Z, request_id: 0d0f653e-06f2-4cb4-a6b0-876bad0e2963, version: v1}, data: {rehabilitation_name: Для статы, rehabilitation_week_number: 2, title: 2 неделя, is_control_week: false, average_score: 61.3, average_interpretation: satisfactory, days: [{rehabilitation_day_id: 4264, day_sequence_number: 13, date: 2026-10-02, score: null, interpretation: null, is_control_day: false}, {rehabilitation_day_id: 4263, day_sequence_number: 11, date: 2026-09-30, score: null, interpretation: null, is_control_day: false}, {rehabilitation_day_id: 4262, day_sequence_number: 9, date: 2026-09-28, score: null, interpretation: null, is_control_day: false}, {rehabilitation_day_id: 4261, day_sequence_number: 8, date: 2026-09-27, score: null, interpretation: null, is_control_day: false}]}}
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/statistics/week/1
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 904|PgFsj4aeCNHcENME7wczuHZADfCdZXmG795Gc6flc56b9b44
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/week/1
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: Sat, 10 Oct 2026 07:09:51 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-10-10T07:09:51.187262Z","request_id":"dc531f3c-b092-4940-9010-60115eae7cef","version":"v1"},"data":{"rehabilitation_name":"Для статы","rehabilitation_week_number":1,"title":"1 неделя","is_control_week":false,"average_score":45.3,"average_interpretation":"satisfactory","days":[{"rehabilitation_day_id":4260,"day_sequence_number":6,"date":"2026-09-25","score":null,"interpretation":null,"is_control_day":false},{"rehabilitation_day_id":4259,"day_sequence_number":4,"date":"2026-09-23","score":null,"interpretation":null,"is_control_day":false},{"rehabilitation_day_id":4258,"day_sequence_number":2,"date":"2026-09-21","score":null,"interpretation":null,"is_control_day":false},{"rehabilitation_day_id":4257,"day_sequence_number":1,"date":"2026-09-20","score":null,"interpretation":null,"is_control_day":false}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-10-10T07:09:51.187262Z, request_id: dc531f3c-b092-4940-9010-60115eae7cef, version: v1}, data: {rehabilitation_name: Для статы, rehabilitation_week_number: 1, title: 1 неделя, is_control_week: false, average_score: 45.3, average_interpretation: satisfactory, days: [{rehabilitation_day_id: 4260, day_sequence_number: 6, date: 2026-09-25, score: null, interpretation: null, is_control_day: false}, {rehabilitation_day_id: 4259, day_sequence_number: 4, date: 2026-09-23, score: null, interpretation: null, is_control_day: false}, {rehabilitation_day_id: 4258, day_sequence_number: 2, date: 2026-09-21, score: null, interpretation: null, is_control_day: false}, {rehabilitation_day_id: 4257, day_sequence_number: 1, date: 2026-09-20, score: null, interpretation: null, is_control_day: false}]}}
$
250 строкUTF-8LIVE