Files
test-front/TASK-diag-connect.md
T

39 lines
2.3 KiB
Markdown
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.
# TASK — Усилить диагностику при connect() к Phantom
Репозиторий: `test-front`, файл `index.html`.
## Задача
При клике «Подключить Phantom» (`connect()`, стока 103-108) Phantom бросает
generic «Unexpected error». Нужно вытащить **настоящую** ошибку, чтобы понять
причину (сеть/кластер/конфиг Phantom).
## Что сделать (только `index.html`, `connect()` и `getProvider`)
1. ОБЕРНУТЬ точку ошибки: вместо `log.err('connect: '+e.message)` логировать БОЛЬШЕ:
- `e.message`
- `JSON.stringify(e)` (если сериализуется) — обернуть в try
- `e.toString()`
- стек: `e.stack` если есть
Разделить в лог как несколько строк / один блок.
2. В `getProvider`: вернуть не только `window.solana`, но и **версию Phantom** и
**доступные методы** (чтобы понять, что Phantom умеет):
- если `w.solana`: залогировать `typeof w.solana.connect`, `typeof w.solana.signTransaction`,
`typeof w.solana.isConnected`, `w.solana` перечислить ключи (только названия).
Это не сломает — просто диагностический вывод в лог при подключении.
3. НЕ менять логику (не «чинить») — только ЛОГИРОВАТЬ детали, чтобы прислать
пользователю полную картину. Это диагностика.
## Гейт
- JS-синтаксис валиден (`node --check` извлечённого script).
- Страница открывается.
## НЕ делать
- Не менять ставку/балансы/swap.
- Не виполнять Phantom насильно.
- Не коммитить.
## Результат
Пользователь обновит страницу, нажмёт «Подключить», в логе увидит ПОЛНУЮ ошибку
(не только «Unexpected error»), скопирует и пришлёт нам. Из неё станет ясна причина.