Commit Graph

42 Commits

Author SHA1 Message Date
Arunavo Ray
4d3ad2a337 chore: bump version to 2.13.0 2025-06-15 13:32:35 +05:30
Arunavo Ray
42314ab0e3 feat: add collapsible component and integrate it into OrganizationStrategy for improved UI 2025-06-15 13:08:39 +05:30
Arunavo Ray
f4df7c3d19 Added some basic options 2025-06-15 12:15:14 +05:30
Arunavo Ray
8e0c31fbb9 feat: add ScrollArea and Separator components with Radix UI integration 2025-06-11 22:16:30 +05:30
Arunavo Ray
bbd49d7d52 Tabs Config 2025-06-11 21:43:43 +05:30
Arunavo Ray
e24b856416 chore: bump version to 2.12.0
- Fixed SQLite 'no such table: mirror_jobs' error during application startup
- Implemented automatic database table creation during database initialization
- Resolved database schema inconsistencies between development and production environments
- Enhanced database initialization process with automatic table creation and indexing
- Added comprehensive error handling for database table creation
- Integrated database repair functionality into application startup for better reliability
2025-06-02 15:08:10 +05:30
Arunavo Ray
7705dffee0 chore: bump version to 2.11.2 2025-05-28 20:29:23 +05:30
Arunavo Ray
6b747ba891 chore: bump version to 2.11.1 2025-05-28 19:58:46 +05:30
Arunavo Ray
832b57538d chore: bump version to 2.11.0 2025-05-28 14:08:45 +05:30
Arunavo Ray
b34ed5595b chore: bump version to 2.10.0 2025-05-28 13:27:04 +05:30
Arunavo Ray
ede5b4dbe8 feat: enhance toast error messages with structured parsing
- Add parseErrorMessage() utility to parse JSON error responses
- Add showErrorToast() helper for consistent error display
- Update all toast.error calls to use structured error parsing
- Support multiple error formats: error+troubleshooting, title+description, message+details
- Enhance apiRequest() to support both 'body' and 'data' properties
- Add comprehensive unit tests for error parsing functionality
- Improve user experience with clear, actionable error messages

Fixes structured error messages from Gitea API responses that were showing as raw JSON
2025-05-28 11:11:28 +05:30
Arunavo Ray
99336e2607 chore: bump version to 2.9.2 2025-05-28 10:15:43 +05:30
Arunavo Ray
c4b9a82806 chore: bump version to 2.9.1 2025-05-28 10:00:14 +05:30
Arunavo Ray
38e0fb33b9 fix: resolve JSON parsing error and standardize HTTP client usage
- Fix JSON parsing error in getOrCreateGiteaOrg function (#19)
  - Add content-type validation before JSON parsing
  - Add response cloning for better error debugging
  - Enhance error messages with actual response content
  - Add comprehensive logging for troubleshooting

- Standardize HTTP client usage across codebase
  - Create new http-client.ts utility with consistent error handling
  - Replace all superagent calls with fetch-based functions
  - Replace all axios calls with fetch-based functions
  - Remove superagent, axios, and @types/superagent dependencies
  - Update tests to mock new HTTP client
  - Maintain backward compatibility

- Benefits:
  - Smaller bundle size (removed 3 HTTP client libraries)
  - Better performance (leveraging Bun's optimized fetch)
  - Consistent error handling across all HTTP operations
  - Improved debugging with detailed error messages
  - Easier maintenance with single HTTP client pattern
2025-05-28 09:56:59 +05:30
Arunavo Ray
1e63fd2278 feat: implement graceful shutdown and enhanced job recovery
- Add comprehensive graceful shutdown manager with signal handling
- Implement container-aware shutdown with proper signal forwarding
- Add shutdown-aware job processing with automatic state persistence
- Enhance cleanup service with proper shutdown coordination
- Add integration tests for graceful shutdown functionality
- Update Docker entrypoint for proper signal handling
- Add comprehensive documentation for shutdown process

Features:
- Fast shutdown (under 30 seconds) without waiting for job completion
- Automatic job state saving and recovery after restart
- Support for SIGTERM, SIGINT, SIGHUP signals
- Container orchestrator compatibility (Docker, Kubernetes)
- Zero data loss during container lifecycle events
- Detailed logging and monitoring capabilities

Version: 2.9.0
2025-05-24 23:10:38 +05:30
Arunavo Ray
daf4ab6a93 feat: Implement graceful shutdown and enhanced job recovery
- Added shutdown handler in docker-entrypoint.sh to manage application termination signals.
- Introduced shutdown manager to track active jobs and ensure state persistence during shutdown.
- Enhanced cleanup service to support stopping and status retrieval.
- Integrated signal handlers for proper response to termination signals (SIGTERM, SIGINT, SIGHUP).
- Updated middleware to initialize shutdown manager and cleanup service.
- Created integration tests for graceful shutdown functionality, verifying job state preservation and recovery.
- Documented graceful shutdown process and configuration in GRACEFUL_SHUTDOWN.md and SHUTDOWN_PROCESS.md.
- Added new scripts for testing shutdown behavior and cleanup.
2025-05-24 23:06:28 +05:30
Arunavo Ray
20a771f340 chore: bump version to 2.8.0 2025-05-24 18:49:30 +05:30
Arunavo Ray
d7ce2a6908 feat: Refactor database cleanup process by removing scripts and updating documentation to use the Activity Log for event management 2025-05-24 17:58:37 +05:30
Arunavo Ray
4efe741c64 Bump version to 2.7.0 2025-05-24 17:39:23 +05:30
Arunavo Ray
f436737efb Bump version to 2.6.0 2025-05-24 15:41:12 +05:30
Arunavo Ray
a988be1028 feat: Implement comprehensive job recovery and resume process improvements
- Added a startup recovery script to handle interrupted jobs before application startup.
- Enhanced recovery system with database connection validation and stale job cleanup.
- Improved middleware to check for recovery needs and handle recovery during requests.
- Updated health check endpoint to include recovery system status and metrics.
- Introduced test scripts for verifying recovery functionality and job state management.
- Enhanced logging and error handling throughout the recovery process.
2025-05-24 13:45:25 +05:30
Arunavo Ray
0890ed0bb8 feat: add live refresh functionality and configuration status hooks; enhance UI components with new switch and refresh features 2025-05-24 10:24:25 +05:30
Arunavo Ray
7d32112369 feat: implement automatic database cleanup with cron jobs for events and mirror jobs 2025-05-23 12:15:34 +05:30
Arunavo Ray
3bb85a4cdb chore: bump version to 2.5.4 2025-05-23 11:43:36 +05:30
Arunavo Ray
48f63bdfc8 Release v2.5.3 2025-05-22 21:59:21 +05:30
Arunavo Ray
4ca4356ad1 Release v2.5.2 2025-05-22 19:54:07 +05:30
Arunavo Ray
615ebd5079 Release 2.5.1: Fix Docker entrypoint to prevent unnecessary bun install 2025-05-22 19:33:07 +05:30
Arunavo Ray
c5de7e616d chore: bump version to 2.5.0 2025-05-22 18:53:43 +05:30
Arunavo Ray
894be88a28 feat: migrate testing framework to Bun and update test configurations
- Updated GitHub Actions workflow to use Bun's test runner and coverage reporting.
- Added comprehensive testing documentation for the Gitea Mirror project.
- Refactored test scripts in package.json to align with Bun's testing commands.
- Created new test files for database, Gitea, GitHub, health, and mirroring APIs.
- Implemented mock functions for API tests to handle various scenarios and responses.
- Established a test setup file for consistent test environment configuration.
2025-05-22 18:08:51 +05:30
Arunavo Ray
abe3113755 feat: enhance job resilience with new database schema and recovery mechanisms
- Added new fields to the mirror_jobs table for job resilience, including job_type, batch_id, total_items, completed_items, item_ids, completed_item_ids, in_progress, started_at, completed_at, and last_checkpoint.
- Implemented database migration scripts to update the mirror_jobs table schema.
- Introduced processWithResilience utility for handling item processing with checkpointing and recovery capabilities.
- Updated API routes for mirroring organizations and repositories to utilize the new resilience features.
- Created recovery system to detect and resume interrupted jobs on application startup.
- Added middleware to initialize the recovery system when the server starts.
2025-05-22 14:33:03 +05:30
Arunavo Ray
aaf8dc6fe4 Bump version to 2.1.0 2025-05-22 11:05:07 +05:30
Arunavo Ray
32ef9124a7 Remove sqlite3 dependency from package.json 2025-05-22 08:12:26 +05:30
Arunavo Ray
315d892cf4 Bump version to 2.0.0 2025-05-21 22:09:10 +05:30
Arunavo Ray
4aa7e665ac feat: remove Redis dependencies and cleanup scripts after migrating to SQLite 2025-05-21 11:31:22 +05:30
Arunavo Ray
04e8b817d3 feat: add event cleanup scripts and Docker Compose setup for automated maintenance 2025-05-21 02:25:05 +05:30
Arunavo Ray
6d13ff29ca feat: migrate from Redis to SQLite for event handling and notifications 2025-05-20 19:09:48 +05:30
Arunavo Ray
c179953649 feat: enhance SSE connection with reconnect logic and error handling
- Updated `useSSE` hook to include max reconnect attempts and exponential backoff for reconnections.
- Improved error handling for SSE messages and connection errors.
- Added connection status reset on successful connection.

fix: improve SQLite database connection handling

- Simplified database initialization and connection logic.
- Ensured the database file is created if it doesn't exist.

fix: enhance Redis client connection with retry strategy

- Implemented exponential backoff for Redis connection retries.
- Added event handlers for connection success and error handling.

feat: improve SSE API endpoint with robust Redis connection management

- Added connection retry logic for Redis in the SSE API.
- Implemented heartbeat messages to keep the connection alive.
- Enhanced error handling for Redis subscription and connection attempts.
2025-05-20 18:33:56 +05:30
Arunavo Ray
145bee8d96 chore: update dependencies to latest versions for improved stability and performance 2025-05-20 16:14:06 +05:30
ARUNAVO RAY
d5b0102080 chore: switch to bun package manager 2025-05-20 15:16:51 +05:30
Arunavo Ray
e1faea72d5 Remove database schema updates and migrations; simplify entrypoint script and related commands 2025-05-19 09:02:39 +05:30
Arunavo Ray
b2d62bd6d7 🎉 Update default port to 4321 and version to 1.0.0; add project status section in README 2025-05-18 09:46:03 +05:30
Arunavo Ray
5d40023de0 🎉 Gitea Mirror: Added 2025-05-18 09:31:23 +05:30