Разработчик отлаживает избыточную ошибку в сервис-воркере 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 создает приложение для чата с персонажами, используя агентный подход к программированию.
Пользователь OpenClaw, называющий себя нетехническим, разработал работающее приложение для чата с персонажами за 7 дней, используя агентное программирование, отметив, что его роль сместилась в сторону проверки работы, сгенерированной ИИ, а не традиционного программирования.

Эволюция настройки OpenClaw: от избыточной конфигурации к практической мультиагентной системе
Разработчик делится своим опытом от трёх переустановок до рабочей настройки OpenClaw с мультиагентной специализацией, многоуровневой памятью и семантическим поиском на бэкенде QMD, работающей на Mac mini M2 с отдельным экземпляром Hetzner для экспериментов.

Многокомпонентный ИИ-конвейер для написания романов с использованием Claude и Zencoder
Разработчик создал многокомпонентный AI-пайплайн с использованием Claude через Zencoder в WebStorm для написания длинных художественных произведений, опубликовав четыре романа на KDP с циклом от концепции до черновика за считанные дни. Открытый рабочий процесс включает файлы инструкций для агентов с конкретными ролями, такими как генерация идей, проверка согласованности и написание прозы.

Настройка управления проектами в файловой системе для не-программиста в Claude Desktop
Пользователь Reddit делится своей системой использования функций Claude Chat with Filesystem и Cowork для управления несколькими долгосрочными проектами. Настройка использует стандартизированную структуру каталогов с WORKFLOW.txt в качестве точки входа и включает конкретные инструкции по проекту для поддержания непрерывности между сессиями.