Commit Graph

87 Commits

Author SHA256 Message Date
AidarKC
c681b4d684 Добавить UI pairing по коду и обновить документацию агента 2026-06-14 20:39:05 +04:00
AidarKC
3e04727022 Добавить ESP pairing через доверенные сессии 2026-06-14 18:21:23 +04:00
AidarKC
05492306c0 ESP32: смягчить SHiNE reconnect при плохом сервере 2026-06-14 11:01:47 +04:00
AidarKC
423d490939 ESP32: доработать home экран и wallet QR 2026-06-14 10:50:31 +04:00
AidarKC
0ebb71daf1 ESP32: добавить реальный wallet QR через LVGL 2026-06-14 10:27:10 +04:00
AidarKC
4b15cabd4f ESP32: добавить быстрый QR-экран кошелька 2026-06-13 23:20:35 +04:00
AidarKC
96d292074b API: добавить online-флаг для ListSessions 2026-06-13 15:49:34 +04:00
AidarKC
81d1b84a7d ESP32: отправлять homeserver sessionType в SHiNE auth 2026-06-13 15:08:53 +04:00
AidarKC
919387f581 API сессий: добавить sessionType и clientPlatform 2026-06-13 14:15:42 +04:00
AidarKC
3b8ea70d3c ESP32: добавить диагностику подключения SHiNE и починить WS handshake 2026-06-13 13:09:32 +04:00
AidarKC
477ab3b580 ESP32: починить добавление homeserver и вернуть автопрогон 2026-06-13 12:53:40 +04:00
AidarKC
a1da814030 ESP32: добавить flow обновления homeserver в user PDA 2026-06-13 09:07:49 +04:00
AidarKC
04252e006b ESP32: сохранять полный текст ошибки регистрации 2026-06-13 00:24:42 +04:00
AidarKC
436e1f0c53 ESP32: добавить USB-диагностику регистрации Solana 2026-06-13 00:01:57 +04:00
AidarKC
0c9afea67a ESP32: экран подтверждения регистрации 2026-06-12 23:02:07 +04:00
AidarKC
b83543d018 ESP32: регистрация по кнопке и зазор между кнопками 2026-06-12 22:24:21 +04:00
AidarKC
d4a0185507 Перенёс основной ESP32-скетч в main-device 2026-06-12 22:02:08 +04:00
AidarKC
42dcf6970d homeserver: рендейм subserver→homeserver, документ деривации ключей, запрет пустого пароля
Основное (наша работа в этой сессии):
- Переименование «subserver» → «homeserver» по всему проекту: основной ESP32-скетч
  (папка shine_subserver_ui → shine_homeserver_ui, .ino, flash-скрипт, режим burn.sh
  homeserver-ui), скетч lvgl_nav_minimal_test (ключ homeserver.key:<имя>), spec-доки
  reference/*, формат PDA (терминология session_type=100 «Homeserver пользователя»),
  константа SESSION_TYPE_HOMESERVER в JS и Rust (значение 100 не менялось, формат не затронут),
  pending/future доки, AGENTS.md, DAO-док. Сохранены отдельный lvgl_subserver_touch_test и
  историческая пометка о рендейме в DERIVATION.md.
- Новый источник истины по деривации ключей: Dev_Docs/Keys/DERIVATION.md (Argon2id-секрет из
  пароля, формула Ed25519(SHA-256(base64(secret)|suffix)), суффиксы root/bch/dev/homeserver.key,
  Solana-ключ = dev.key). Уточнены роли root (главный/master) и dev (пополняемый кошелёк) в
  Dev_Docs/Keys/README.md.
- UI: убран легаси-путь пустого пароля (derivePasswordSeed и др.), deriveMasterSecretFromPassword
  бросает ошибку на пустом пароле, register-view блокирует пустой пароль; экран пополнения
  переведён на канонический device-адрес из preGeneratedKeyBundle (удалён расходящийся
  deriveWalletFromPassword).

Включены также параллельные правки Solana-аудита №3 (были в рабочем дереве, переплетены в lib.rs):
- shine_users: defense-in-depth «строгий список аккаунтов» (require!(it.next().is_none()))
  в init/update economy config и create/update user PDA, плюс описание в doc/programs/shine_users.md;
- Dev_Docs/audit/Solana-audit-3-by-Claude-12июня2026.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 21:16:12 +04:00
AidarKC
cf6a2830c8 solana: закрыть griefing создания PDA и заморозку выплат, добавить аудит №2
shine_payments + shine_users:
- create_pda_account переведён на «создание поверх предзаполненного»
  (allocate+assign+добор ренты), чтобы подсев лампортов на детерминированный
  адрес PDA (тикет/логин) не блокировал создание — закрыт LOW из аудита №1;
  в shine_payments is_uninitialized_account перестала зависеть от баланса.

shine_payments (HIGH из аудита №2):
- запрещён recipient == inflow_vault в buy_ticket*, manager_add_ticket и
  change_ticket_recipient; добавлена защита по умолчанию в transfer_from_vault
  (require vault.key != recipient.key). Это убирает алиасинг аккаунта в
  step_payout, который навсегда замораживал очередь выплат и средства вольта.

Документация и учёт:
- doc/programs/shine_payments.md §3.4, §10.1; doc/programs/shine_users.md §3.3;
- Dev_Docs/audit: добавлен аудит №2, обе закрытые находки помечены ИСПРАВЛЕНО;
- Dev_Docs/Pending_Features: две записи на ручную e2e-проверку на devnet;
- VERSION.properties: client 1.2.161, server 1.2.150.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 04:10:31 +04:00
AidarKC
578b526f96 Скорректировать main к базе 553a1f1 и UI из Pixel 2026-06-10 23:03:01 +04:00
AidarKC
0744ac3163 fix(ui): починить прямые ссылки профиля и связей 2026-06-09 22:32:02 +04:00
AidarKC
471fde78c1 ESP32: ужесточить touch UX и обновить инструкции 2026-06-09 18:30:12 +04:00
AidarKC
b5276890fb ESP32: обновить подпись и выровнять индикаторы HOME 2026-06-09 17:52:33 +04:00
AidarKC
1488bc3d6d ESP32: доработать HOME экран и поток секретов 2026-06-09 17:44:56 +04:00
AidarKC
f4e7210a40 ESP32: добавить NAV v8 с account и Wi-Fi reconnect 2026-06-09 16:14:24 +04:00
AidarKC
e385bb6bf9 ESP32: зафиксировать промежуточный NAV v6 UI прототип 2026-06-09 15:22:45 +04:00
AidarKC
32606fe1c2 ESP32: зафиксировать рабочий LVGL nav prototype и тесты 2026-06-08 18:39:11 +04:00
AidarKC
a8734846a0 ESP32: добавить LVGL тесты и отметить рабочий hybrid touch test 2026-06-08 16:56:00 +04:00
AidarKC
ad0edf3c88 ESP32: зафиксировать тесты и нерабочий LVGL/UI вариант 2026-06-08 15:35:27 +04:00
AidarKC
66975862f7 ESP32: временно отключить PIN-вход в subserver UI 2026-06-08 12:29:47 +04:00
AidarKC
b9185e761b ESP32: добавить UI сабсервера, PIN-ввод пока не работает 2026-06-08 12:25:54 +04:00
AidarKC
6bf5d1d5ed Исправить клиентскую Solana-регистрацию после ухода от Anchor 2026-06-07 10:58:06 +04:00
AidarKC
b0b8c7a445 Перевести shine_payments на новый program id и подтвердить e2e 2026-06-07 10:00:39 +04:00
AidarKC
d25c19cdaa Исправить чтение state в shine_payments и описать e2e тест 2026-06-06 17:12:26 +04:00
AidarKC
c5ec32f87a Обновить Telegram-бота, документацию и связанные доработки 2026-06-06 13:45:02 +04:00
AidarKC
ce5c348023 Убрать v2 из economy seed shine_users 2026-06-05 11:42:21 +04:00
AidarKC
832eea5889 Переписать shine_users и shine_login_guard на чистый Rust 2026-06-04 23:05:45 +04:00
AidarKC
a9510a6d36 Обновить lazy-import Solana PDA под новый формат 2026-06-04 14:33:42 +04:00
AidarKC
59e4156bb9 Удалить obsolete server UI и подчистить ссылки 2026-06-04 14:25:59 +04:00
AidarKC
de9606519a Починить native Ed25519 update_user_pda без OOM 2026-06-04 13:47:47 +04:00
AidarKC
eeb115584d Добавить диагностику server PDA и баланс device (не проверено) 2026-06-03 16:12:40 +04:00
AidarKC
ee3721dfa4 Исправить DEVNET topup и автоподстановку пароля 2026-06-03 15:57:49 +04:00
AidarKC
4bd4df7b09 Добавить переход в server UI и DEVNET topup 2026-06-03 15:21:55 +04:00
AidarKC
d12371b84f Перенести server UI в shine-UI и объединить PDA-модуль 2026-06-03 15:11:26 +04:00
AidarKC
c97b3e3ec3 Снимок состояния до переноса серверного UI 2026-06-03 14:49:03 +04:00
AidarKC
2c2aad1355 Убраны непроверенные готовые фичи и перенесён QR-план 2026-06-03 14:20:45 +04:00
AidarKC
9949935bcc Добавить обработку длинных voice/audio в агент-боте 2026-06-03 00:18:30 +04:00
AidarKC
5899bd2f77 Убрал long-press меню каналов и обновил deploy-проверку sudo 2026-05-31 19:30:36 +04:00
AidarKC
edc94d3700 WIP: кошелек запускается, но есть ошибки 2026-05-30 11:24:59 +04:00
AidarKC
b13efa92fd Добавить адаптацию голосовых ответов бота 2026-05-30 00:16:39 +04:00