Блог

Статьи

Идеи, руководства и новости от нашей команды.

  • поддомены

    Поддомены для тенантов в TanStack Start через rewrite роутера

    Я перенёс каждый портал BugDump с bugdump.com/p/acme-store на acme-store.bugdump.com, не сдвинув ни одного файла роутов: TanStack Router переписывает URL на входе и на выходе. Output-rewrite, который правит свой URL, отправляет ссылки не на тот хост, navigate() не умеет переходить на другой origin, а wildcard-роут Workers срабатывает раньше каждого Custom Domain в зоне.

  • обновления продукта

    Отслеживание ошибок JavaScript в небольшом веб-приложении: что нужно, а что подождёт

    Отслеживание ошибок в небольшом веб-приложении сводится к четырём вещам: ловить то, что ломается, группировать повторы, читать стек в своём коде и сохранять минуту перед падением. Как каждая из них работает в браузере, что можно выбросить и когда нужен полноценный инструмент мониторинга.

  • баг-трекинг

    Уведомления в баг-трекере: кому сообщать об изменении

    Уведомление, на которое никто не реагирует, приучает игнорировать следующее. Как я решал, кто узнаёт об изменении задачи в BugDump: получатели определяются по самой задаче, о своих правках вы уведомлений не получаете, а серия кликов при разборе приходит одним уведомлением.

  • OAuth

    OAuth на MCP-сервере: Claude и ChatGPT подключаются без токена

    В пользовательских коннекторах Claude и в ChatGPT некуда вставить токен, поэтому MCP-сервер BugDump теперь пускает их через вход в аккаунт. Как работает этот сценарий и четыре решения за ним: одно подключение на все проекты, только известные клиенты, проверки при каждом запросе и изменения, которые по-прежнему записываются на конкретного человека.

  • обновления продукта

    Локализация встраиваемого виджета: язык страницы или язык браузера?

    Встраиваемый виджет может прочитать html lang страницы, navigator.languages посетителя или то, что ему скажет сайт. Часто они расходятся. Какой порядок я выбрал для виджета BugDump, почему страница идёт первой и какие мелочи сломались по дороге.

  • MCP

    Почему ИИ-агент делает 40 вызовов, чтобы ответить на один вопрос

    Попросите агента сделать недельный отчёт о статусе задач — и он начнёт по одной открывать все задачи. Он не глупит: он делает ровно то, к чему его вынудил ваш API. Проблема N+1, переехавшая из ORM в MCP-сервер, и три вопроса, которые её решают.

  • трекинг задач

    Машинное имя, которое было ещё и отображаемым

    Я дал каждому приоритету стабильный ключ, чтобы на него могли опираться интеграции. Незаметно этот ключ стал и значением, которое получали клиенты, — поэтому, чтобы сделать приоритеты редактируемыми, пришлось найти девять мест чтения, четыре switch, которые ломаются молча, и одно неверное допущение в плане.

  • трекинг задач

    Пользовательские поля в баг-трекере: что добавить, а от чего отказаться

    Пользовательские поля — функция, которую просит каждая команда и о которой потом жалеет. Как отличить поле, которое стоит добавить, от поля, которое через шесть недель будет пустым, и четыре поля, которые окупаются.

  • баг-трекинг

    Уровни приоритета багов: почему четыре фиксированных варианта никогда не подходят

    Каждый баг-трекер поставляется с low/medium/high/critical, и каждая команда втихую переименовывает их у себя в голове. Зачем нужна шкала приоритетов, сколько уровней вам нужно и почему слова в ней должны быть вашими.

  • MCP

    Аутентификация на MCP-сервере: зачем ИИ-агентам личные токены

    Общий API-ключ годится, пока ИИ-агент только читает. Когда он начинает переносить задачи и писать комментарии, становится важно, кто это сделал. Как устроить аутентификацию на MCP-сервере с личными токенами и что я поменял в BugDump.

  • обновления продукта

    Тёмная тема во встраиваемых виджетах: как следовать переключателю темы в приложении

    В вашем приложении есть переключатель тёмной темы. Кнопка чата, виджет обратной связи и баннер про куки его не замечают. Почему prefers-color-scheme — неправильный сигнал для встраиваемых виджетов и какой небольшой API это исправляет.

  • баг-трекинг

    Метрики баг-трекинга, которые стоит считать

    Большинство дашбордов по багам просто что-то считают. Полезные отвечают на один вопрос: команда успевает за багами или отстаёт? Четыре метрики, которые на него отвечают, метрики, которые незаметно вводят в заблуждение, и пятиминутный еженедельный обзор на их основе.