SHA256
ESP32: добавить flow обновления homeserver в user PDA
This commit is contained in:
@@ -14,14 +14,19 @@
|
||||
8. При необходимости отдельно проверить тестовые кнопки `+/- SOL`: они меняют локальный баланс для UX-сценариев, но после следующей реальной RPC-проверки баланс должен вернуться к сетевому значению.
|
||||
9. Вернуться на главный экран и проверить, что до выполнения всех условий кнопка регистрации недоступна, а после выполнения становится доступной; также убедиться, что между двумя нижними кнопками есть небольшой зазор.
|
||||
10. Нажать кнопку регистрации и убедиться, что открывается отдельный экран проверки, где ещё раз видно `login`, статус свободного `PDA`, баланс, `homeserver1` с пометкой о стандартном значении и сообщение, если `Wi-Fi` не подключён.
|
||||
11. На экране проверки нажать `ЗАРЕГИСТРИРОВАТЬ В СИЯНИИ` и убедиться, что после этого появляется отдельный экран результата с успехом либо подробной ошибкой.
|
||||
11. На экране проверки нажать `REGISTER IN SHINE` и убедиться, что после этого появляется отдельный экран результата с успехом либо подробной ошибкой.
|
||||
12. После успешной регистрации проверить через `Solana`/UI проекта, что `user_pda` для этого логина реально создана, сохранена в `NVS` и соответствует `device`-адресу устройства, а `tx signature` тоже сохранён.
|
||||
13. Открыть `Запросы`, поочерёдно открыть оба демонстрационных запроса и проверить, что кнопки `Разрешить` и `Отклонить` меняют их статус.
|
||||
14. При необходимости открыть `Настройки -> Сменить PIN` и убедиться, что новый PIN сохраняется, хотя вход по PIN временно не используется на старте.
|
||||
15. Выполнить `Полный сброс` и убедиться, что все поля, секрет, баланс, онлайн и регистрация очищаются.
|
||||
13. После успешной регистрации вернуться на `HOME` и проверить новую жёлтую кнопку:
|
||||
- если в `PDA` ещё нет текущего homeserver, должна появиться `ADD HOMESERVER`;
|
||||
- если ключ homeserver в `PDA` не совпадает с локальным секретом, должна появиться `FIX HOMESERVER PASSWORD`.
|
||||
14. Нажать жёлтую кнопку и убедиться, что открывается отдельный экран пояснения, а затем экран результата обновления `PDA`.
|
||||
15. После успешного `ADD/FIX HOMESERVER` проверить, что основной экран больше не показывает `homeserver not in PDA` или `homeserver key mismatch`, а `SHiNE` может перейти к авторизации.
|
||||
16. Открыть `Запросы`, поочерёдно открыть оба демонстрационных запроса и проверить, что кнопки `Разрешить` и `Отклонить` меняют их статус.
|
||||
17. При необходимости открыть `Настройки -> Сменить PIN` и убедиться, что новый PIN сохраняется, хотя вход по PIN временно не используется на старте.
|
||||
18. Выполнить `Полный сброс` и убедиться, что все поля, секрет, баланс, онлайн и регистрация очищаются.
|
||||
|
||||
- ожидаемый результат:
|
||||
новый `ESP32`-скетч стабильно запускается, показывает читаемый интерфейс хотя бы в ASCII-транслитерации, сохраняет данные во внутренней памяти устройства, реально подключается к `Wi-Fi`, реально проверяет `API/RPC/WS`, реально читает баланс из `Solana RPC`, рисует рабочий `QR` для `solana:`-URI и позволяет вручную пройти полный сценарий on-chain регистрации homeserver.
|
||||
новый `ESP32`-скетч стабильно запускается, показывает читаемый англоязычный интерфейс, сохраняет данные во внутренней памяти устройства, реально подключается к `Wi-Fi`, реально проверяет `API/RPC/WS`, реально читает баланс из `Solana RPC`, рисует рабочий `QR` для `solana:`-URI, позволяет вручную пройти on-chain регистрацию пользователя и затем отдельным действием записать/исправить homeserver-сессию в `shine_users`.
|
||||
|
||||
- статус:
|
||||
pending
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
# ESP32: добавление и исправление homeserver в user PDA
|
||||
|
||||
- краткое описание фичи:
|
||||
в основном ESP32-скетче добавлен отдельный flow после регистрации пользователя: если homeserver-сессия отсутствует в `shine_users` PDA или её ключ не совпадает с локальным секретом, на главном экране показывается жёлтая кнопка `ADD HOMESERVER` или `FIX HOMESERVER PASSWORD`. Действие открывает отдельный экран объяснения, затем отправляет `update_user_pda` и показывает экран результата.
|
||||
|
||||
- что именно проверять:
|
||||
1. Зарегистрировать пользователя или взять уже существующего пользователя без корректной homeserver-сессии.
|
||||
2. На `HOME` убедиться, что вместо кнопки регистрации появилась жёлтая кнопка:
|
||||
`ADD HOMESERVER` либо `FIX HOMESERVER PASSWORD`.
|
||||
3. Нажать её и проверить, что открывается отдельный экран с пояснением причины и кнопкой действия.
|
||||
4. Выполнить действие и дождаться экрана результата.
|
||||
5. После успеха проверить, что:
|
||||
- `homeserver not in PDA` или `homeserver key mismatch` исчезли;
|
||||
- в USB-диагностике есть успешный `tx_signature`;
|
||||
- `SHiNE` может перейти к авторизации на сервере.
|
||||
6. Если действие завершается ошибкой, проверить, что:
|
||||
- текст ошибки показан на экране результата;
|
||||
- команда `last_error` по USB возвращает полный сохранённый payload.
|
||||
|
||||
- ожидаемый результат:
|
||||
устройство после обычной регистрации пользователя способно отдельной транзакцией добавить или исправить homeserver-сессию в `shine_users` PDA, а ошибки этого шага сохраняются в ту же USB/NVS-диагностику.
|
||||
|
||||
- статус:
|
||||
pending
|
||||
Reference in New Issue
Block a user