Commit Graph

7 Commits

Author SHA1 Message Date
Umbrix Dev
806b668a6d 🔒 Блокировка trial без Telegram ID
 Что сделано:
- app/page.tsx: Добавлена проверка tgUser?.id перед созданием trial
- app/plans/page.tsx: Добавлена валидация user?.id в createUser()
- app/api/create-user/route.ts: Серверная валидация telegramId (400 если отсутствует)
- types/telegram.ts: Расширен TelegramWebApp интерфейс (MainButton, BackButton, HapticFeedback)
- types/telegram.d.ts: Глобальная декларация Window.Telegram
- hooks/useTelegramWebApp.ts: Упрощено - использует (window as any)

 ПРОБЛЕМА (user_... имена):
Имена вида user_1770605873419 появляются когда Telegram WebApp не передает данные пользователя.
Теперь система блокирует создание trial/подписки если нет tgUser.id

 РЕШЕНИЕ:
Приложение должно быть открыто ВНУТРИ Telegram Mini App, а не в браузере!
Если пользователь видит user_..., значит открыто не через бота.
2026-02-09 06:38:35 +03:00
Umbrix Dev
3323d25a4f fix: add referral support + get referrerId from Telegram start_param in plans 2026-02-09 05:27:16 +03:00
Umbrix Dev
c033844f01 debug: add detailed logging for username generation 2026-02-09 05:06:46 +03:00
Umbrix Dev
0d2d862d44 fix: auto-refresh subscription after creation + back button already exists 2026-02-09 04:56:14 +03:00
Umbrix Dev
cd6167b381 fix: Старт 99₽, исправлена реферальная ссылка (полный username вместо split) 2026-02-08 23:54:30 +03:00
Umbrix Dev
33b20b979f 🔒 Аудит: безопасность, TypeScript, UI, BottomNav
Безопасность:
- proxy: белый список путей (только /sub/*), POST заблокирован
- console.log заменён на logger (утечки URL/данных)
- OnboardingFlow: убраны --tg-theme-* (не существуют в проекте)

TypeScript (0 ошибок):
- tsconfig target es5→es2017 (regex /u flag fix)
- layout.tsx: viewport перенесён в metadata (Next.js 13.5)
- telegram-webhook: fix text possibly undefined
- hooks/useTelegramWebApp: fix Object possibly undefined
- types/telegram: убрана дублирующая Window декларация

UI:
- BottomNav: новый компонент (Назад/Главная/Помощь)
- safe-area-bottom CSS класс добавлен в globals.css
- dashboard: spacer h-20, toast поднят над BottomNav
- OnboardingFlow: цены 149/249/350₽ (были 200/350/500₽)

Очистка:
- page_NEW.tsx удалён локально (не был в git)
2026-02-08 18:59:02 +03:00
Umbrix Dev
43402a00c7 💳 Page: Тарифы - выбор плана подписки VPN 2026-02-04 05:20:11 +03:00