Commit Graph

135 Commits

Author SHA1 Message Date
poignatov
7704de334c v2.0.3: Webhook user identification by URL token
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 42s
- Added webhook_token to telegram_integrations
- Webhooks now identify users by token in URL (/webhook/telegram/{token}, /webhook/todoist/{token})
- Webhook automatically configured for all users on backend startup
- Migration 011: Add webhook_token column
2026-01-01 18:38:28 +03:00
poignatov
ad1caceda0 v2.0.2: Update version
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 46s
2026-01-01 18:25:20 +03:00
poignatov
91d9b52524 fix: downgrade golang.org/x/crypto to v0.28.0 for Go 1.21 compatibility
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 6s
2026-01-01 18:24:49 +03:00
poignatov
914998980e v2.0.1: Fix Go version for Docker build
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 12s
2026-01-01 18:24:00 +03:00
poignatov
b709192447 fix: go version 1.21 for Docker build
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 6s
2026-01-01 18:23:10 +03:00
poignatov
4a06ceb7f6 v2.0.0: Multi-user authentication with JWT
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 16s
Features:
- User registration and login with JWT tokens
- All data is now user-specific (multi-tenancy)
- Profile page with integrations and logout
- Automatic migration of existing data to first user

Backend changes:
- Added users and refresh_tokens tables
- Added user_id to all data tables (projects, entries, nodes, dictionaries, words, progress, configs, telegram_integrations, weekly_goals)
- JWT authentication middleware
- claimOrphanedData() for data migration

Frontend changes:
- AuthContext for state management
- Login/Register forms
- Profile page (replaced Integrations)
- All API calls use authFetch with Bearer token

Migration notes:
- On first deploy, backend automatically adds user_id columns
- First user to login claims all existing data
2026-01-01 18:21:18 +03:00
poignatov
6015b62d29 Исправлена логика dump-db.sh для работы с удаленными хостами
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 15s
2026-01-01 17:04:10 +03:00
poignatov
f8aa81f963 Bump version to 1.1.1: Fix Telegram webhook handling and chat_id saving
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 1m33s
- Fix TelegramUpdate struct to handle message and edited_message properly
- Fix chat_id saving for messages without text
- Add comprehensive logging for webhook registration
- Improve error handling and diagnostics
v1.1.1
2025-12-31 19:39:01 +03:00
poignatov
7398918bc0 Release v1.1.0: Add Telegram and Todoist integrations UI
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 57s
- Add telegram_integrations table to store bot token and chat_id
- Add Integrations tab with Todoist and Telegram integration screens
- Remove TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID from env variables
- All Telegram configuration now done through UI
- Telegram webhook registration happens when user saves bot token
- Rename TELEGRAM_WEBHOOK_BASE_URL to WEBHOOK_BASE_URL
v1.1.0
2025-12-31 19:11:28 +03:00
poignatov
63af6bf4ed Добавлены скрипты для работы с дампами БД
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 7s
- Создан скрипт dump-db.sh для создания дампов (по умолчанию из .env.prod)
- Создан скрипт restore-db.sh для восстановления дампов (по умолчанию в .env.local)
- Создан скрипт list-dumps.sh для просмотра списка дампов
- Добавлена директория database-dumps/ для хранения дампов
- Обновлен .gitignore для исключения дампов и env файлов
- Исправлен контекст сборки в docker-compose.yml для backend
- Добавлено автоматическое ограничение количества дампов (максимум 10)
2025-12-31 18:24:15 +03:00
poignatov
a2afe44e0e Fix: Добавлен tzdata в Dockerfile для корректной работы планировщика в часовом поясе Europe/Moscow (v1.0.1)
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 58s
2025-12-31 18:02:14 +03:00
poignatov
fe7114aafe Add version-based build workflow: publish only when VERSION changes
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 14s
2025-12-30 21:08:58 +03:00
poignatov
8ba6a9a78f Убрана логика создания нулевой точки в графике полной статистики
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 26s
2025-12-30 21:00:41 +03:00
poignatov
0d3a05639c Update workflow configuration
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 12s
2025-12-30 20:27:02 +03:00
poignatov
36422994dc Update workflow configuration
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 5s
2025-12-30 20:26:21 +03:00
poignatov
9edc7f67bb Update workflow configuration
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 24s
2025-12-30 20:24:54 +03:00
poignatov
4b77f8c3c0 Update workflow configuration
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 26s
2025-12-30 20:23:48 +03:00
poignatov
7feb7e1fa9 Update workflow configuration
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 1m19s
2025-12-30 20:22:04 +03:00
poignatov
83dbec8f89 Update workflow configuration
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 19s
2025-12-30 20:20:07 +03:00
poignatov
71f1017460 Update workflow configuration
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 1m18s
2025-12-30 20:17:24 +03:00
poignatov
f5c2a3e892 Update workflow configuration
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 12s
2025-12-30 20:07:39 +03:00
poignatov
507b184e06 Update workflow configuration
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 10s
2025-12-30 20:02:51 +03:00
poignatov
6ff6715d71 Update workflow configuration
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 6s
2025-12-30 20:01:43 +03:00
poignatov
bad68160f4 Update workflow configuration
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 10s
2025-12-30 19:58:22 +03:00
poignatov
4a445b3cbb Update workflow configuration
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 6s
2025-12-30 19:50:38 +03:00
poignatov
396c7d46d5 Update workflow configuration
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 6s
2025-12-30 19:48:59 +03:00
poignatov
185b9b7e31 Update workflow configuration
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 14s
2025-12-30 19:47:46 +03:00
poignatov
60bb4ff9a4 Update workflow: use local registry IP and remove buildx
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 6s
2025-12-30 19:45:36 +03:00
poignatov
107b53d125 Add Gitea Actions workflow for building and pushing Docker image to registry
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 14s
2025-12-30 19:20:59 +03:00
poignatov
a76252a198 Update backend and frontend components 2025-12-30 18:27:12 +03:00
poignatov
6473622977 Добавлены новые API endpoints в конфигурацию nginx
- Добавлены project/move и project/delete в nginx.conf для проксирования
- Обновлен nginx-unified.conf с новыми маршрутами
- Vite config уже поддерживает /project/* через общий прокси
2025-12-29 21:43:03 +03:00
poignatov
3b94ed2991 Упрощена логика переноса проекта
- Если проект с указанным именем не существует - просто переименовываем текущий проект
- Если проект существует - переносим все данные (nodes, weekly_goals) в существующий проект
- При удалении проекта удаляются все связанные weekly_goals
2025-12-29 21:38:43 +03:00
poignatov
fc83bed1a3 Реализована возможность изменения проектов
- Добавлено поле deleted в таблицу projects (миграция 007)
- Изменена иконка перехода на экран проектов (список вместо звезды)
- Заменен крестик на троеточие в списке проектов
- Добавлено модальное окно с кнопками 'Перенести' и 'Удалить'
- Реализован экран переноса проекта с выбором существующего или созданием нового
- Добавлены API endpoints: /project/move и /project/delete
- При переносе проекта обновляются nodes и weekly_goals с обработкой конфликтов
- При удалении проекта удаляются все связанные weekly_goals
- Добавлена фильтрация удаленных проектов во всех SQL запросах
- Обновлена materialized view для исключения удаленных проектов
2025-12-29 21:31:43 +03:00
poignatov
8d79a8f692 Fix: Исправление определения недели на границе года (ISOYEAR)
- Заменен EXTRACT(YEAR) на EXTRACT(ISOYEAR) в materialized view для корректной работы на границе года
- Обновлена миграция 001_create_schema.sql для использования ISOYEAR
- Создана миграция 006_fix_weekly_report_mv_structure.sql для исправления структуры view (LEFT JOIN)
- Добавлен endpoint /admin/recreate-mv для пересоздания materialized view
- Обновлена документация миграций в README.md
- Обновлены зависимости Go (go.mod, go.sum)
2025-12-29 20:58:34 +03:00
poignatov
4f8a793377 Initial commit 2025-12-29 20:01:55 +03:00