forked from javi11/altmount
-
Notifications
You must be signed in to change notification settings - Fork 1
Fix/fallback not configured #47
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* fix: downgrade nntppool and simplify stale items reset - Downgrade nntppool/v2 from v2.3.1 to v2.3.0 - Downgrade rapidyenc dependency accordingly - Simplify ResetStaleItems query to reset all processing items without time check
…rvice.go - Removed unnecessary blank lines to enhance code clarity. - Adjusted comments for better alignment and consistency. - Simplified filename generation logic in ensurePersistentNzb function.
) This is a comprehensive refactoring that introduces: ## Phase 1: Shared Utilities - Add shared errors package (`internal/errors`) with NonRetryableError - Add HTTP client factory (`internal/httpclient`) with preset timeouts - Add config accessor methods (`internal/config/accessors.go`) - Simplify DeepCopy using jinzhu/copier (235 lines → 15 lines) ## Phase 2: API Standardization - Create unified response builders (`internal/api/response.go`) - Migrate all handlers to use response builders: - queue_handlers.go - health_handlers.go - config_handlers.go - auth_handlers.go - Apply admin middleware to protected routes - SABnzbd handlers intentionally unchanged (API compatibility) ## Benefits - Consistent JSON response format across all endpoints - DRY error handling with standard error codes - Reduced code duplication - Centralized HTTP client configuration - Improved maintainability 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <[email protected]>
…11#175) Extract the 1700+ line importer service into a thin facade delegating to specialized sub-services: **New packages:** - `queue/`: Worker pool management with exponential backoff retry - Manager: Start/Stop/Pause/Resume worker lifecycle - Claimer: Item claiming with database contention handling - `scanner/`: Directory scanning and NZBDav imports - DirectoryScanner: Manual directory scanning for NZB/STRM files - NzbDavImporter: Bulk import from NZBDav databases - `postprocessor/`: Post-import processing coordination - Coordinator: Orchestrates symlinks, STRM files, VFS notifications, health scheduling, and ARR notifications **Changes to service.go:** - Reduced from ~1700 to ~930 lines (~45% reduction) - Service now delegates to queueManager, dirScanner, nzbdavImporter - Implements queue.ItemProcessor interface for processing callbacks - Type aliases maintain backward compatibility (ScanStatus, ImportInfo, etc.) - Adapter types bridge Service to sub-service interfaces **Benefits:** - Single responsibility: each package has one clear purpose - Testability: sub-services can be tested in isolation - Maintainability: smaller, focused files are easier to understand - Extensibility: new features can be added without touching core service 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <[email protected]>
Extract path validation functions from config/manager.go to a dedicated pathutil package to avoid import cycles and improve code organization. **Changes:** - Create `internal/pathutil/` package - `CheckDirectoryWritable`: Validates directory exists and is writable - `CheckFileDirectoryWritable`: Validates parent directory of file path - Update `internal/config/manager.go`: - Remove local `checkDirectoryWritable` and `checkFileDirectoryWritable` - Import and use pathutil functions instead - Replace ~70 lines of code with 3 function calls **Benefits:** - Eliminates import cycle (config <-> utils) - Single responsibility: path validation separated from config management - Reusable utilities for other packages needing path validation - Cleaner config package (removes ~70 lines) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
…gured - Move ErrFallbackNotConfigured to shared internal/errors package to avoid cycle. - Update PostProcessor interface to return error from HandleFailure. - Update HandleFailure to return ErrFallbackNotConfigured when fallback is disabled. - Ensure service stays in 'failed' status and logs skipping when fallback is not used.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.