Прозрачный онбординг: подсказки везде и видео-инструкция
Новое
- → HOWTO-блок «Подключить MAX за 1 минуту» прямо в /app/accounts/ — раскрывающаяся плашка с 4 простыми шагами (открой MAX → Настройки → Связанные устройства → сканируй QR) и местом под видео-инструкцию. Когда у вас 0 аккаунтов — открыта по умолчанию, когда уже подключено — свёрнута.
-
→
Контекстные плашки «Что здесь происходит» на ключевых страницах: /scraper/ объясняет что парсер ищет в 2ГИС и не звонит сам; /leads/ — что это холодные компании в нише, а не подтверждённые клиенты; /templates/ — что плейсхолдеры
{name}подставляются автоматически и одного шаблона достаточно; /sender/ — что произойдёт при «Старт» и какие безопасные темпы рассылки. - → Tooltip-подсказки везде — наведите на иконку ⓘ у поля или столбца и получите пояснение: что такое статусы лидов (NEW / IN_PROGRESS / WON / LOST), что значит MAX ID в таблице, чем отличаются 5 способов подключения аккаунта (QR / Токен / Session.db / JSON web-session / Bulk-импорт), какие запросы и города работают в парсере.
Улучшение
- → Empty-state плашки на 8 разделах: forwarder, joiner, warming, profiles, neurochat, autoresponder, sender, templates, catalog. Раньше можно было заполнить форму запуска без MAX-аккаунта и нажать «Старт» — получали тишину. Теперь сверху раздела жёлтая плашка с CTA «Подключить MAX-аккаунт →» если аккаунтов 0.
- → Kickstart-banner на дашборде «🚀 Начни здесь — 3 минуты до первой рассылки» с прямой кнопкой на готовые наборы для ниш. Виден новым пользователям, исчезает после первой рассылки.
- → Smart-redirect после применения пресета — попадаешь не на тихий toast, а на следующий нужный шаг: «Шаг 1 из 3: подключите MAX-аккаунт» → «Шаг 2 из 3: соберите лиды» → «Шаг 3 из 3: запустите рассылку». Видно где ты в воронке.
- → Readiness-checklist на /sender/ — жёлтый блок «До запуска рассылки осталось» с конкретными missing-пунктами (шаблон / аккаунт / лиды) и прямыми ссылками. Не нажмёшь «Старт» если чего-то нет.
- → Заголовки писем по стандартам 2024: List-Unsubscribe, List-Unsubscribe-Post=One-Click, Reply-To, Date, Message-ID, Precedence: bulk. Onboarding-письма и уведомления больше не попадают в спам Gmail / Mail.ru / Yandex. DMARC в DNS: p=quarantine.
- → Статья /help/adding-accounts переписана под реальный UI — раньше описывала несуществующий phone+SMS флоу. Сейчас по 5 актуальным способам с предупреждением «не используй основной номер».
- → Anti-duplicate guard на «Применить пресет» — если шаблон для этой ниши уже создан, повторное нажатие не плодит дубли, а переиспользует существующий.
Исправление
- → 2ГИС-парсер давал 0 лидов всем — 2ГИС отдавал страницу-заглушку «Обновите браузер» в headless-режиме, поисковая выдача не загружалась. Теперь автоматически кликаем acceptRiskButton и переходим к настоящей странице. Парсер ожил после 2 недель тишины.
- → 100% промокод выставлял счёт на 149₽ вместо бесплатной активации — внутренний cap в скидке и минимум 1₽ в ЮKassa. Теперь при final_amount < 1₽ — free-grant без обращения к платёжке, тариф активируется на полный период мгновенно.
- → Парсер терял лиды при сбоях — теперь chunked save: каждая порция (город × ниша) сохраняется в БД сразу после фазы details, OOM или прерывание теряет максимум последнюю незавершённую нишу.
- → 2ГИС-парсер не сохранял лиды в БД — поля `_firm_url` и `raw_data` от внутренней страницы фирмы попадали в Lead-модель и роняли INSERT с TypeError. Whitelist полей Lead решил.
- → Sender / форвардер можно было запустить с 0 аккаунтов — UI давал нажать кнопку, бэк молча игнорировал. Теперь предусмотрен явный empty-state и форма не сабмитится без аккаунта.
Инфраструктура
- → Стабильность сервиса — раньше maxsurge перезапускался 175 раз в сутки из-за зависающего keepalive к MAX. Перевели на Type=simple, убрали watchdog по таймеру, restore аккаунтов запускается фоновым тасом, MemoryMax поднят до 6 ГБ, TimeoutStartSec до 120 секунд. Текущий аптайм без рестартов — больше 5 суток.
- → Chromium-флаги для парсера: images-disabled, single-process, no-gpu — потребление памяти на одну фирму снизилось ×3. Плюс +4 ГБ swap на сервере — OOM-killer больше не приходит даже при больших нишах.
- → Cron-мониторинг с TG-алертами: раз в час проверяет >5 рестартов, любой OOM-kill, статус сервиса, /health 200 и свободную память. При проблеме — мгновенный алерт в @MAXSurge_Admin_bot.
Безопасность
- → DMARC TXT-запись добавлена для maxsurge.ru: `v=DMARC1; p=quarantine; rua=mailto:admin@maxsurge.ru` — закрыли последнюю дырку в e-mail deliverability, теперь все системные письма проходят строгие фильтры Gmail / Yahoo / Mail.ru / Yandex.