Перейти к содержанию

Исправление загрузки изображений историй

Дата: 2026-03-15 Исполнитель: AI Agent

Контекст

Пользователь столкнулся с ошибкой Failed to fetch при попытке загрузить изображение для истории (файл Slide 16_9 - 13.png).

Диагностика

  1. Анализ кода: Frontend (CreateStoryDialog.tsx) использует Supabase Client для загрузки в бакет story-images (с фоллбэком на public-story-images).
  2. Проверка инфраструктуры:
    • Контейнеры Supabase (Kong, Storage, DB) запущены.
    • Kong настроен корректно (CORS разрешает localhost:9003).
    • Проблема: Бакеты story-images и public-story-images отсутствовали в хранилище.
    • Проблема: Отсутствовали RLS политики для этих бакетов в таблице storage.objects.

Выполненные действия

  1. Создание бакетов:
    • Созданы публичные бакеты story-images и public-story-images через API Storage.
  2. Настройка политик безопасности (RLS):
    • Выполнен SQL-скрипт для добавления политик в storage.objects.
    • Разрешена загрузка (INSERT), обновление (UPDATE), удаление (DELETE) и чтение (SELECT) для:
      • Аутентифицированных пользователей (authenticated).
      • Анонимных пользователей (anon) — для обеспечения работы публичных загрузок (фоллбэк).

Результат

Загрузка изображений в истории теперь должна работать корректно. Ошибка Failed to fetch должна исчезнуть, так как сервер теперь корректно принимает запросы на загрузку в существующие бакеты с разрешенными правами.