Разработчик отлаживает избыточную ошибку в сервис-воркере Next.js PWA с помощью Claude.

Разработчик поделился опытом создания Somnia, приложения для инкубации снов и программирования, почти полностью используя Claude в качестве партнёра по программированию. Приложение представляет собой Progressive Web App на Next.js 14, которое устанавливается на домашний экран как нативное, отправляет push-уведомления в моменты засыпания/пробуждения, хранит все данные локально на устройстве и избегает распространения через магазины приложений.
Проблемная ошибка
Разработчик потратил три недели на отладку критической проблемы, когда веб-push-уведомления не работали. Service worker постоянно переходил в состояние REDUNDANT сразу после установки в автономном режиме PWA на устройствах Samsung Android. navigator.serviceWorker.getRegistrations() в этом режиме постоянно возвращал пустые массивы.
Процесс отладки
В процессе отладки разработчик:
- Обращался за помощью к Claude, GPT, Gemini и Perplexity
- Генерировал полные отчёты об отладке
- Попробовал более 15 различных исправлений
- Создал страницу отладки, которая наконец показала переход service worker в состояние REDUNDANT
- Интерпретировал вывод
chrome://serviceworker-internalsс помощью Claude
Коренная причина
Фактической проблемой было то, что sw.js был случайно закоммичен в git с устаревшим ID сборки. Манифест предварительного кэширования внутри пытался загружать ресурсы со старого развёртывания, которые все возвращали ошибки 404. Событие установки Workbox молча завершалось ошибкой, заставляя service worker самоуничтожаться каждый раз.
Исправление
Решение было простым: команда git rm --cached исправила проблему, удалив устаревший файл из кэша.
Claude помогал поддерживать систематическую отладку, когда разработчик хотел сдаться, и хотя приложение не содержит контента, сгенерированного ИИ (все записи снов написаны людьми), оно было создано почти полностью через диалог с Claude.
📖 Прочитать полный источник: r/ClaudeAI
👀 Смотрите также

OpenClaw + Birdweather: Получение данных о птицах для создания карточек в стиле Pokémon
Разработчик использует OpenClaw для извлечения данных о птицах из API Birdweather каждый час и создания коллекционных карточек в стиле Pokémon для каждого вида. Увлекательный проект, знакомящий детей с природой.

Рабочий процесс корпоративного разработчика Claude для бэкенд-разработки
Бэкенд-разработчик из крупной американской финансовой компании делится своим рабочим процессом с Claude: предоставление подробных описаний задач со спецификациями и внутренними документами, использование Claude для создания рабочего документа в формате markdown, а затем применение агента codeReviewing с организационными стилевыми рекомендациями.

Бенчмарки спекулятивного декодирования на RTX 3090 с моделями Qwen для бизнес-применений в сфере HVAC
Разработчик протестировал спекулятивное декодирование на RTX 3090 с использованием моделей Qwen для Discord-бота HVAC-бизнеса, достигнув до 279,9 токенов/сек с ускорением на 236% при использовании Qwen3-8B с черновой моделью Qwen3-1,7B.

Практические уроки от внедрения OpenClaw в пяти компаниях
Разработчик делится конкретными решениями по инфраструктуре, подходами к биллингу и стратегиями распределения моделей, полученными из опыта работы с агентами OpenClaw для пяти реальных бизнесов, включая агентство по уходу, ивент-компанию и автосервис.