- Реализована функция вставки спойлеров в режиме редактирования заметок.
- Обновлены стили для кнопок markdown в редакторе.
- Добавлен новый индекс для колонки `pinned_at` в таблице `notes`.
- Обновлены SQL-запросы для сортировки заметок с учетом нового поля `pinned_at`.
- Реализована возможность вставки спойлеров в заметки с помощью нового интерфейса и логики обработки.
- Добавлен переключатель для включения/выключения помощи ИИ в настройках пользователя, с проверкой заполненности обязательных полей.
- Обновлены API для получения и сохранения настроек AI, включая новую колонку `ai_enabled` в таблице пользователей.
- Улучшены стили и обработчики событий для новых элементов интерфейса, включая спойлеры и переключатель AI.
- Реализован новый API-эндпоинт для удаления аккаунта с подтверждением пароля.
- Добавлено модальное окно для подтверждения удаления аккаунта на странице профиля.
- Обновлены стили и логика для предпросмотра заметок с учетом текущей темы.
- Улучшены обработчики событий для кнопки удаления аккаунта и модального окна.
- Изменены разделы документации для настройки NGINX Proxy Manager, добавлены инструкции для приложений, работающих на хосте.
- Расширена логика получения IP-адреса клиента с учетом дополнительных заголовков и приоритетов, улучшая обработку запросов через прокси.
- Добавлены альтернативные способы подключения для случаев, когда `host.docker.internal` не работает.
- Расширена логика получения IP-адреса с учетом новых заголовков, таких как CF-Connecting-IP и Forwarded.
- Добавлено детальное логирование заголовков для упрощения отладки.
- Внедрен тестовый эндпоинт для проверки извлечения IP-адресов и отображения заголовков запроса.
- Добавлено отображение индикатора загрузки с текстом "Обработка..." при нажатии на кнопку улучшения текста.
- Восстановление исходного состояния кнопки теперь происходит корректно, возвращая оригинальный HTML и заголовок после завершения обработки.
- Изменен селектор для текстового поля редактирования заметок, улучшая совместимость с текущей разметкой.
- Реализована функция `requireApiAuth`, которая проверяет аутентификацию пользователя и возвращает JSON-ответ в случае неаутентифицированного доступа.
- Обновлены маршруты API для использования новой middleware вместо старой `requireAuth`, улучшая обработку аутентификации для всех API-запросов.
- Реализована функция для определения внешних ссылок и переопределен рендеринг ссылок, чтобы открывать их в новом окне.
- Добавлены обработчики для внешних ссылок, которые учитывают режим PWA.
- Обновлены стили для внешних ссылок, добавлен значок для визуального обозначения.
- Изменена логика анимации появления и исчезновения уведомлений в зависимости от размера экрана.
- Добавлен обработчик изменения размера окна для обновления позиций уведомлений.
- Оптимизированы стили трансформации для улучшения пользовательского опыта на разных устройствах.
- Реализованы API для сохранения и получения AI настроек пользователя, включая OpenAI API ключ, базовый URL и модель.
- Добавлена возможность окончательного удаления всех архивных заметок с подтверждением пароля.
- Внедрена функция улучшения текста через AI, с обработкой запросов к OpenAI API.
- Обновлены интерфейсы для работы с AI настройками и добавлены уведомления для улучшения пользовательского опыта.
- Добавлена поддержка IPv4-mapped IPv6 адресов, позволяющая корректно извлекать IPv4 адреса из формата ::ffff:192.168.1.1.
- Оптимизирована логика обработки IPv6 адресов для улучшения точности получения клиентского IP.
- Добавлено детальное логирование заголовков для отладки при получении IP-адреса.
- Оптимизирована функция получения IP-адреса с учетом заголовков прокси и локальных адресов, улучшая обработку различных сценариев.
- Упрощена настройка trust proxy для работы с nginx proxy manager, теперь доверяем всем прокси.
- Оптимизирована функция получения IP-адреса клиента с учетом заголовков от прокси и локальных адресов.
- Упрощена настройка trust proxy для работы с nginx proxy manager.
- Оптимизирована функция получения IP-адреса клиента с учетом локальных адресов и заголовков прокси.
- Удалено избыточное логирование и улучшена обработка IPv6 адресов.
- Настроена обработка IP-адресов с учетом доверенных прокси и логирование для отладки.
- Добавлены функции для отображения и удаления существующих изображений при редактировании заметок.
- Оптимизированы обработчики событий для кнопок удаления изображений, теперь они доступны только в режиме редактирования.
- Обновлены стили и структура интерфейса для улучшения пользовательского опыта.
- Заменены фиксированные цвета на переменные CSS для фона, текста и границ, улучшая поддержку темной темы.
- Обновлены стили для элементов управления, включая текстовые области и теги, с использованием новых переменных для фона и цвета.
- Оптимизированы стили для улучшения визуальной согласованности и адаптивности интерфейса.
- Заменены фиксированные цвета на переменные CSS для фона, текста и границ, улучшая поддержку темной темы.
- Оптимизированы стили кнопок и элементов управления для мобильных устройств, включая адаптацию под маленькие экраны.
- Обновлены эффекты наведения и фокуса для интерактивных элементов, повышая визуальную согласованность.
- Добавлены функции для переключения между темной и светлой темами с использованием localStorage.
- Обновлены стили для поддержки темной темы, включая цвета фона, текста и иконок.
- Добавлены кнопки для переключения темы на страницах входа, профиля, заметок и настроек.
- Оптимизирован код для предотвращения мерцания темы при загрузке страницы.
- Настроена обработка IP-адресов с учетом различных заголовков и удалением порта из IPv6 и IPv4 адресов.
- Добавлены новые кнопки для работы с заголовками в редакторе заметок, включая выпадающее меню для выбора уровня заголовка.
- Реализованы индикаторы для дней с созданными и отредактированными заметками в календаре.
- Обновлены стили для улучшения адаптивности интерфейса и визуального отображения элементов управления.
- Обновлена функция получения IP-адреса клиента с учетом различных заголовков и удалением порта из IPv6 и IPv4 адресов.
- Добавлены стили для кнопок и интерактивных элементов, чтобы убрать выделение при нажатии на мобильных устройствах.
- Реализованы функции для кэширования аватарок пользователей с использованием localStorage.
- Добавлены методы для получения, очистки и преобразования аватарок в формат base64.
- Обновлены интерфейсы загрузки и отображения аватарок с поддержкой кэширования.
- Обновлены зависимости, включая добавление библиотеки sharp для обработки изображений.
- Реализована возможность предпросмотра заметок с поддержкой Markdown и кликабельных тегов.
- Добавлены кнопки для переключения между режимами редактирования и предпросмотра.
- Обновлены стили для контейнера предпросмотра и элементов управления.
- Оптимизированы обработчики событий для новых функций предпросмотра.
- Реализованы функции для закрепления и архивирования заметок, а также их восстановления.
- Добавлены новые индексы в базу данных для улучшения производительности запросов.
- Внедрено логирование действий пользователей, включая регистрацию, вход, создание, обновление и удаление заметок.
- Обновлены интерфейсы для поддержки новых функций, включая кнопки для архивирования и закрепления заметок.
- Оптимизированы стили и добавлены новые элементы управления для улучшения пользовательского опыта.
- Реализованы вспомогательные функции для преобразования временных меток SQLite в локальное время.
- Обновлено форматирование дат создания и изменения заметок с учетом локали устройства.
- Оптимизирован код для отображения дат в формате "дд.мм.гггг чч:мм" и "дд.мм.гггг" в зависимости от контекста.
- Реализована проверка на наличие символа # внутри HTML-атрибутов при извлечении тегов.
- Добавлена кнопка отмены редактирования с соответствующей логикой для возврата к исходному состоянию заметки.
- Обновлены обработчики событий для поддержки новой кнопки отмены и улучшения пользовательского интерфейса.
- Реализована возможность создания нумерованных списков и улучшены функции для работы с многострочными списками.
- Обновлены фильтры для отображения заметок по дате, используя поле created_at вместо date.
- Оптимизировано отображение дат создания и изменения заметок в единой строке.
- Добавлены новые кнопки и обработчики событий для поддержки новых функций в интерфейсе редактирования заметок.
- Реализована возможность вставки цветового тега в текст заметок с помощью диалога выбора цвета.
- Добавлены функции для работы с чекбоксами, включая автоматическое продолжение списков и визуальные эффекты для отмеченных задач.
- Обновлены стили для чекбоксов и элементов списка, улучшено отображение дат создания и изменения заметок.
- Обновлены обработчики событий для поддержки новых функций в интерфейсе редактирования заметок.
- Реализовано динамическое изменение цвета акцента на основе данных пользователя для предотвращения FOUC.
- Добавлен inline CSS для корректного отображения цвета акцента в HTML.
- Обновлены стили для тегов, чтобы использовать белый фон вместо светло-голубого.
- Удалены файлы тестирования загрузки изображений и PWA, чтобы оптимизировать проект.
- Обновлены мета-теги и улучшены стили для поддержки мобильных устройств.
- Реализована функция ленивой загрузки изображений для повышения производительности.
- Добавлены новые функции для управления цветом акцента в профиле пользователя.
- Добавлены новые мета-теги и улучшены существующие для поддержки PWA.
- Обновлен manifest.json с новыми полями для совместимости с Brave.
- Улучшен Service Worker для кэширования манифеста и обработки ошибок.
- Обновлены инструкции по тестированию PWA, включая новую тестовую страницу для Brave.
- Оптимизирован код для обработки установки PWA на мобильных устройствах и в Brave.
- Оптимизированы мета-теги в index.html и test-pwa.html для лучшей поддержки PWA.
- Улучшена структура кода с использованием многострочных атрибутов для мета-тегов.
- Обновлен сервисный работник для более эффективного кэширования и обработки запросов.
- Добавлены новые функции в pwa.js для управления установкой и обновлением PWA.
- Добавлены обработчики для предотвращения дублирования изображений и проверки размера файлов при загрузке (максимум 10MB).
- Реализованы уведомления о добавленных изображениях и улучшен интерфейс для мобильных устройств с индикаторами загрузки и сохранения.
- Оптимизированы стили для мобильных устройств, включая улучшения для кнопок и элементов управления.
- Изменена структура инструкций по тестированию PWA, добавлена диагностическая страница для отладки.
- Обновлен manifest.json с добавлением поля "id".
- Реализована задержка при отображении кнопки установки для улучшения пользовательского опыта.
- Добавлены функции для проверки возможности установки PWA и отображения инструкций для мобильных устройств.
- Обновлены инструкции по тестированию PWA для мобильных и десктопных устройств.
- Добавлены новые мета-теги и улучшены иконки для поддержки iOS и Windows.
- Оптимизирован Service Worker для кэширования и обработки ошибок.
- Реализована кнопка установки, отображающаяся только на мобильных устройствах, с различными инструкциями для разных браузеров.
- Обновлен manifest.json с добавлением категорий и скриншотов.
- Реализованы функции для принудительного обновления кэша и полной очистки кэша в классе PWAManager.
- Добавлены обработчики сообщений от сервисного работника для обновления кэша и очистки кэша.
- Обновлен сервисный работник для поддержки новых функций управления кэшем и уведомлений о статусе кэша.
- Добавлены глобальные функции для управления кэшем через интерфейс браузера.
- Добавлено исключение для загруженных пользователями изображений формата PNG в директории public/uploads.
- Уточнено исключение для скриншотов, чтобы не затрагивать PWA иконки.
- Добавлена библиотека pngjs для работы с PNG изображениями
- Добавлены мета-теги для улучшения поддержки PWA на страницах: index.html, notes.html, profile.html, register.html
- Обновлен сервисный работник для улучшенного кэширования и обработки запросов
- Добавлены функции для отладки PWA в консоли
- Реализованы маршруты для обслуживания PWA файлов: manifest.json, sw.js и browserconfig.xml
- Добавлены мета-теги и иконки для PWA в HTML страницах
- Внедрена регистрация сервисного работника для кэширования и оффлайн-доступа
- Обновлены страницы входа, регистрации, профиля и заметок для поддержки PWA
- Реализована кнопка для загрузки изображений в режиме редактирования заметок
- Добавлены элементы для предварительного просмотра загруженных изображений
- Обновлена функция сохранения заметки для поддержки изображений
- Добавлены обработчики для управления загруженными изображениями, включая удаление и очистку
- Реализована функция создания индексов для таблиц в базе данных, что улучшает производительность запросов
- Обновлены API для получения и поиска заметок, теперь они возвращают изображения, связанные с заметками
- Добавлен кэш для заметок на клиенте с возможностью принудительной перезагрузки
- Внедрен индикатор загрузки при загрузке заметок для улучшения пользовательского опыта
- Изменены размеры изображений в заметках на 150x150 пикселей с использованием свойства object-fit для обрезки
- Добавлен эффект тени при наведении на изображения
- Реализован элемент с увеличительным стеклом, который появляется при наведении на изображение для улучшения взаимодействия
- Реализована возможность загрузки изображений к заметкам с использованием multer
- Добавлены API для загрузки, получения и удаления изображений заметок
- Обновлен интерфейс для отображения загруженных изображений и их предварительного просмотра
- Добавлены стили для управления изображениями и модального окна просмотра
- Добавлено разворачивание заметки при редактировании для улучшения пользовательского опыта
- Скрыта кнопка "Показать полностью" во время редактирования, если она присутствует
- Добавлена директория `database/` в .gitignore для исключения файлов баз данных из репозитория
- Удалены устаревшие файлы, включая `CALENDAR_FEATURE.md`, `DEPLOYMENT.md`, и другие, чтобы очистить проект от ненужных артефактов