WellNuo/.ralphy/progress.txt
Sergei d453126c89 feat: Room location picker + robster credentials
- Backend: Update Legacy API credentials to robster/rob2
- Frontend: ROOM_LOCATIONS with icons and legacyCode mapping
- Device Settings: Modal picker for room selection
- api.ts: Bidirectional conversion (code ↔ name)
- Various UI/UX improvements across screens

PRD-DEPLOYMENT.md completed (Score: 9/10)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-24 15:22:40 -08:00

78 lines
6.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Ralphy Progress Log
- [✓] 2026-01-20 06:35 - **TASK-1.1: Add updateDeviceMetadata method to api.ts**
- [✓] 2026-01-20 06:38 - **TASK-2.1: Add location/description editing to Device Settings screen**
- [✓] 2026-01-20 06:38 - **TASK-3.1: Show placeholder for empty location in Equipment screen**
- [✓] 2026-01-20 06:39 - **TASK-3.2: Add quick navigation to Device Settings from Equipment screen**
- [✓] 2026-01-20 06:41 - **TASK-4.1: Add checkbox selection to Add Sensor screen**
- [✓] 2026-01-20 06:43 - **TASK-4.2: Update navigation to pass selected devices**
- [✓] 2026-01-20 06:48 - **TASK-5.1: Refactor Setup WiFi screen for batch processing**
- [✓] 2026-01-20 06:51 - **TASK-5.2: Implement batch setup processing logic**
- [✓] 2026-01-20 06:55 - **TASK-5.3: Add progress UI for batch setup**
- [✓] 2026-01-20 06:58 - **TASK-6.1: Add error handling UI with retry/skip options**
- [✓] 2026-01-20 07:00 - **TASK-6.2: Add results screen after batch setup**
- [✓] 2026-01-20 07:01 - **TASK-7.1: Add attachDeviceToDeployment method to api.ts**
- [✓] 2026-01-20 07:04 - Can view sensors list for any beneficiary
- [✓] 2026-01-20 07:06 - Can scan and find WP_* sensors via BLE
- [✓] 2026-01-20 07:07 - Can select multiple sensors with checkboxes
- [✓] 2026-01-20 07:09 - Can configure WiFi for all selected sensors
- [✓] 2026-01-20 07:09 - Progress UI shows status for each device
- [✓] 2026-01-20 07:11 - Errors show retry/skip options
- [✓] 2026-01-20 07:14 - Results screen shows success/failure summary
- [✓] 2026-01-20 07:16 - Can edit sensor location in Device Settings
- [✓] 2026-01-20 07:16 - Location placeholder shows in Equipment screen
- [✓] 2026-01-20 07:17 - Can tap location to go to Device Settings
- [✓] 2026-01-20 07:18 - Mock BLE works in iOS Simulator
- [✓] 2026-01-22 20:34 - **Migration: добавить custom_name в user_access**
- [✓] 2026-01-22 20:36 - **API: изменить GET /me/beneficiaries (список)**
- [✓] 2026-01-22 20:37 - **API: изменить GET /me/beneficiaries/:id (детали)**
- [✓] 2026-01-22 20:39 - **API: изменить PATCH /me/beneficiaries/:id (обновление)**
- [✓] 2026-01-22 20:40 - **Деплой миграции на сервер**
- [✓] 2026-01-22 20:41 - **Types: обновить Beneficiary interface**
- [✓] 2026-01-22 20:41 - **API service: обновить типы ответов**
- [✓] 2026-01-22 20:42 - **UI: список beneficiaries — показывать displayName**
- [✓] 2026-01-22 20:43 - **UI: header в BeneficiaryDetail — показывать displayName**
- [✓] 2026-01-22 20:45 - **UI: Edit модал — разная логика для ролей**
- [✓] 2026-01-22 20:46 - **UI: MockDashboard — показывать displayName**
- [✓] 2026-01-22 20:48 - Custodian может редактировать оригинальное имя (`beneficiaries.name`)
- [✓] 2026-01-22 20:50 - Guardian/Caretaker могут редактировать своё персональное имя (`user_access.custom_name`)
- [✓] 2026-01-22 20:51 - Список beneficiaries показывает `displayName` (custom_name || name)
- [✓] 2026-01-22 20:54 - Header на детальной странице показывает `displayName`
- [✓] 2026-01-22 20:55 - Edit модал показывает разные labels для разных ролей
- [✓] 2026-01-22 20:56 - При первом открытии (custom_name = NULL) показывается оригинальное имя
- [✓] 2026-01-22 20:58 - Миграция применена без ошибок
- [✓] 2026-01-22 21:00 - GET `/me/beneficiaries` возвращает `displayName`, `originalName`
- [✓] 2026-01-22 21:02 - GET `/me/beneficiaries/:id` возвращает `displayName`, `originalName`, `customName`
- [✓] 2026-01-22 21:03 - PATCH `/me/beneficiaries/:id` правильно определяет что обновлять по роли
- [✓] 2026-01-22 21:13 - Нет TypeScript ошибок (`npx tsc --noEmit`)
- [✓] 2026-01-22 21:15 - Backend работает без ошибок в логах PM2
- [✓] 2026-01-22 21:33 - Нет console.log в продакшн коде (кроме отладочных с `[DEBUG]`)
- [✓] 2026-01-22 21:37 - Имена отображаются корректно во всех местах
- [✓] 2026-01-22 21:37 - Edit модал понятен для обоих типов редактирования
- [✓] 2026-01-22 21:39 - Нет визуальных багов
- [✓] 2026-01-22 21:40 - custom_name = NULL → показывается originalName
- [✓] 2026-01-22 21:41 - Пустая строка custom_name = "" → считается как NULL
- [✓] 2026-01-22 21:43 - Длинные имена не ломают UI
- [✓] 2026-01-24 22:13 - **1. Обновить Legacy API credentials**
- [✓] 2026-01-24 22:14 - **2. Добавить константы ROOM_LOCATIONS в api.ts**
- [✓] 2026-01-24 22:17 - **3. Исправить updateDeviceMetadata для location codes**
- [✓] 2026-01-24 22:21 - **4. Device Settings: заменить TextInput на Picker**
- [✓] 2026-01-24 22:25 - **5. Конвертировать location code → name при загрузке**
- [✓] 2026-01-24 22:26 - **6. Добавить стили для Picker**
- [✓] 2026-01-24 22:28 - **7. Установить @react-native-picker/picker**
- [✓] 2026-01-24 22:29 - Credentials обновлены на `robster/rob2` в .env
- [✓] 2026-01-24 22:30 - PM2 перезапущен
- [✓] 2026-01-24 22:42 - Тест: создать beneficiary → в логах видно "Created Legacy deployment: XXX"
- [✓] 2026-01-24 22:43 - Device Settings показывает Picker/Dropdown вместо TextInput для location
- [✓] 2026-01-24 22:43 - Picker содержит все 10 комнат
- [✓] 2026-01-24 22:44 - При выборе комнаты — сохраняется location_code (число) на Legacy API
- [✓] 2026-01-24 22:46 - При загрузке — location_code конвертируется в название
- [✓] 2026-01-24 22:47 - Description остаётся TextInput
- [✓] 2026-01-24 22:47 - Сохранение работает без ошибок
- [✓] 2026-01-24 22:55 - Создать beneficiary → deployment создан на Legacy API
- [✓] 2026-01-24 22:57 - Подключить BLE сенсор → привязан к deployment
- [✓] 2026-01-24 22:58 - Открыть Device Settings → видно Dropdown
- [✓] 2026-01-24 23:02 - Выбрать "Kitchen" → Save → проверить в Legacy API что location=104
- [✓] 2026-01-25 - Перезагрузить экран → показывает "Kitchen" (добавлена конвертация label→id)
- [✓] 2026-01-24 23:06 - Перезагрузить экран → показывает "Kitchen"