-
Notifications
You must be signed in to change notification settings - Fork 1
feat: Add Regex Debugger and Anilist Plugin #14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
… Python sync logic
…nc file handling with async/await
… download speed during sync
- Replace deprecated .eslintrc with modern eslint.config.js - Update configuration for TypeScript and Vue support - Improve code quality rules and Prettier integration
- Update Node.js to version 22 across all packages - Migrate to modern @rollup/plugin-terser from deprecated rollup-plugin-terser - Update @vitejs/plugin-vue to v6.0.1 for Vite 7 compatibility - Update Fastify to v4.26.2 and related dependencies - Modernize build tools and improve compatibility
- Add Pinia store for improved state management - Create composables for Socket.io and communication logic - Add proper TypeScript type definitions - Implement modern Vue 3 patterns and best practices
- Enable strict mode for better type safety - Add comprehensive compiler options - Include modern TypeScript settings - Add Vuetify styles configuration
- Fix plugin type incompatibilities in Vite configuration - Add proper type annotations for Vue refs and reactive data - Remove unused ESLint disable directives - Fix unused parameter warnings with underscore prefix
- Enhance sync functionality with better pause/resume controls - Improve FTP client connection management and speed limiting - Add proper TypeScript error handling patterns - Optimize plugin system and configuration management - Remove legacy code and improve code organization
- Replace var declarations with const for better scoping - Follow modern JavaScript coding standards - Improve code consistency across plugin files
- Upgrade from Node.js 18 to Node.js 22 in development container - Use JSON array format for CMD instruction (Docker best practice) - Fix environment variable syntax for better compatibility
- Add comprehensive environment file patterns - Include OS-specific files (macOS, Windows, Linux) - Add build tool caches and temporary files - Include log files and runtime data patterns - Improve coverage for modern development workflows
- Update yarn.lock to reflect new dependency versions - Ensure consistent package resolution across environments
- Add better error handling for build process - Improve console output and feedback
Bumps the npm_and_yarn group with 2 updates in the / directory: [esbuild](https://github.com/evanw/esbuild) and [tar-fs](https://github.com/mafintosh/tar-fs). Bumps the npm_and_yarn group with 1 update in the /server directory: [esbuild](https://github.com/evanw/esbuild). Updates `esbuild` from 0.24.2 to 0.25.0 - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md) - [Commits](evanw/esbuild@v0.24.2...v0.25.0) Updates `tar-fs` from 2.1.1 to 2.1.3 - [Commits](mafintosh/tar-fs@v2.1.1...v2.1.3) Updates `esbuild` from 0.24.2 to 0.25.0 - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md) - [Commits](evanw/esbuild@v0.24.2...v0.25.0) Updates `esbuild` from 0.24.2 to 0.25.9 - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md) - [Commits](evanw/esbuild@v0.24.2...v0.25.0) --- updated-dependencies: - dependency-name: esbuild dependency-version: 0.25.0 dependency-type: direct:development dependency-group: npm_and_yarn - dependency-name: tar-fs dependency-version: 2.1.3 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: esbuild dependency-version: 0.25.0 dependency-type: direct:development dependency-group: npm_and_yarn - dependency-name: esbuild dependency-version: 0.25.9 dependency-type: direct:development dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <[email protected]>
- Implemented build-sea.js to automate the creation of a single executable application for Linux, Windows, and macOS. - Added functionality to generate a SEA blob using a specified configuration. - Included error handling for missing Node.js executables and provided user guidance for manual downloads. - Created sea-config.json to define the main entry point, output file, and asset management for the SEA build process.
- Switch Windows build from cmd to PowerShell for better error handling - Remove non-working Windows ARM64 build target from package configuration - Enhance Windows executable detection and error reporting - Add comprehensive artifact validation to all native builds - Improve Docker build pipeline with optimized configuration - Update Docker image tagging to include v prefix for consistency with git tags - Enhanced release notes formatting with bold filenames for better visibility - Configure proper tagging strategy: releases get 'latest', main builds get 'nightly' - Add extensive debugging capabilities and build status reporting - Streamline Docker section formatting in release documentation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This comprehensive PR modernizes WeebSync from a basic FTP sync tool to a feature-rich automation platform with enhanced user experience, Docker support, and improved CI/CD infrastructure. The upgrade includes new debugging capabilities, speed controls, pause/resume functionality, and modern build tooling while maintaining backward compatibility.
Key Changes
- New features: Regex debugger, download speed limiting, sync pause/resume controls, and auto-sync timer display
- Modern infrastructure: Updated to Node.js 22, comprehensive CI/CD with multi-platform builds, and production-ready Docker support
- Enhanced UI/UX: Mobile-responsive design, modern Vue 3 composition API, and improved control interface
Reviewed Changes
Copilot reviewed 56 out of 62 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
server/tsconfig.json |
Updated TypeScript configuration to ES2022 with stricter type checking |
server/src/validation.ts |
New comprehensive input validation system using Joi schemas |
server/src/sync.ts |
Enhanced sync engine with pause/resume, speed limiting, and improved error handling |
server/src/ftp.ts |
Modernized FTP client with connection pooling and controlled download speeds |
client/src/App.vue |
Redesigned UI with sync control bar and integrated regex debugger |
Dockerfile |
Production-optimized multi-stage Docker build with security improvements |
.github/workflows/ |
Complete CI/CD overhaul with multi-platform builds and security scanning |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
…ntegration - Implement plugin system for custom FTP view components - Add AnimeSeasonViewer for anime directory handling - Extend FTP viewer with search, filtering, and metadata display - Add LocalStorageViewer for destination folder selection - Include comprehensive anime version grouping and metadata - Update UI with responsive layout and improved user experience - Add rate limiting and caching for AniList API integration - Streamline sync controls and remove pause functionality
…a loading - Add TreeChild to AnimeItem conversion in FtpViewer to resolve type mismatch - Fix 'Object is possibly undefined' errors in AnimeSeasonViewer with null checks - Implement proper metadata update handling between AnimeSeasonViewer and FtpViewer - Restore metadata loading functionality in season directories after type conversion - Add reactive convertedAnimeItems computed property for seamless type mapping
42c7896 to
7be809b
Compare
…TH for plugin compatibility
…nd filter controls
…ewer - Fix TreeChild versionDescription interface to support structured language data - Update FtpViewer conversion to prioritize versionDescription over versionInfo - Remove debug logging and temporary socket.io-client dependency - Fix TypeScript interfaces to support language/type structure correctly - Language filters now show "German", "English", "Japanese" instead of generic tags
…status display - Replace star ratings with percentage-based smiley icons (happy/neutral/sad) - Add fallback to meanScore when averageScore is unavailable - Implement dual status chips on anime card covers (general status left, next episode right) - Enhance episode display with "current/?" format for unknown totals - Update AniList plugin to fetch meanScore and nextAiringEpisode data - Improve version select modal with inline episode and airing status display - Add proper spacing and tooltips for long titles - Show version count chips for all anime including single versions - Fix TypeScript type compatibility issues
🚀 New Features
Regex Debugger
Plugin-based FTP Viewer System
AniList Seasons Integration
Enhanced UI Components
Infrastructure & Performance → Fixes Issue #12
Modern Docker Setup
Complete CI/CD Overhaul
nightlytags for development,latestfor releasesEnhanced Configuration
Closes: #12
Technical improvements that may help with: #9 (better state management, but editing during sync still needs dedicated work)