Releases: Emy69/CoomerDL
v0.8.10
fix: add automatic subdomain fallback to bypass 403 errors on coomer.su
- Detects HTTP 403 errors during media download.
- Attempts downloading from alternate subdomains (n1 to n10.coomer.su).
- Falls back to original URL if no valid subdomain is found.
- Caches valid subdomains for faster future access.
- Improves reliability of downloads when original subdomain fails.
v0.8.9
Changelog - v0.8.9
Fixes
π Fixed Incomplete File Downloads
- Commit: 801e1db
- Issue: Downloads were not completing properly, leaving files stuck in
.temp
format. - Solution: Identified that only a single chunk was being downloaded instead of processing the entire file. Updated the
process_media_element
function to correctly iterate over all chunks, ensuring that files are fully downloaded before being renamed. - Impact: Files now download completely, and the UI accurately reflects the download state.
v0.8.8.1
π οΈ Fixes
- Resolved Duplicate Filename Issue (Mode 1):
- Improved the filename generation strategy to prevent false duplicate detections when downloading multiple attachments from different posts with similar names.
- Introduced an attachment index and a short hash (derived from the media URL) to make each filename unique.
Changes
-
Updated
get_filename
Function:- Now appends a 4-digit hexadecimal hash based on the media URL alongside the attachment index in Mode 1.
- Example of new naming:
Post_Title_1_ab12.jpg
instead of justPost_Title_1.jpg
.
-
Enhanced
process_media_element
:- Integrated the new naming convention while maintaining backward compatibility with other modes (0 and 2).
Impact
- No more false duplicate skipping: Files from different posts with similar names will be treated as distinct.
- Backward Compatibility: Existing downloads and database structure remain unaffected.
v0.8.8
Patch Notes - Version v0.8.8
New Features
- Added multiple file naming modes for downloads:
- Mode 0: Uses the original file ID as the name (default).
- Mode 1: Uses a sanitized version of the post title.
- Mode 2: Uses the post title with the post ID appended.
- Implemented automatic file naming selection based on user settings.
- Enhanced filename sanitization to remove problematic characters and ensure cross-platform compatibility.
Downloader Enhancements
- Optimized download handling to prevent conflicts with existing files.
- Refactored
process_media_element
to include filename determination at an earlier stage for better consistency.
Settings & UI Improvements
- Revamped the "Download Settings" section to include file naming mode selection with clear descriptions.
- Improved folder structure preview with clearer visualization of how files will be organized.


v0.8.7
Patch Notes v0.8.7
Log Management
-
Complete Internal Storage:
A list (self.all_logs
) was introduced to store absolutely all log messages (info, warning, error). This ensures that no records are lost, even if the number of visible lines in the Textbox is limited. -
Removal of Strict Line Limit:
TheMAX_LOG_LINES
variable is now set toNone
, so the Textbox no longer deletes old lines. Optionally, it can be reactivated with a higher value if a limit in the interface is desired. -
Free Copying and Scrolling:
- The Textbox no longer forces scrolling to the bottom with each new line, allowing users to scroll up without interruptions.
- By temporarily disabling the state, text can now be easily selected and copied.
v0.8.6
Database Integration for Downloaded Files
- SQLite Database Added:
A SQLite database (downloads.db
) is now used to record downloaded files instead of scanning the local filesystem. - Database Location:
The database is created in theresources/config/
directory. - Duplicate Check via DB:
Duplicate file verification now relies exclusively on checking the database (and an in-memory cache loaded from it) rather than searching the disk. This significantly speeds up the process when re-downloading the same URL. - Thread-Safe DB Access:
Database operations are protected with a thread lock to ensure safe concurrent access. - Clear Database Functionality:
A new method (clear_database
) has been added to allow clearing all download records from the database.
Settings Window Enhancements
- New Database Management Tab:
A new "Database" tab has been added to the Settings Window where users can:- Export the Database: Copy the
downloads.db
file to a user-specified location. - Clear the Database: Delete all download records.
- Export the Database: Copy the
- Interface Text Translated to English:
All labels, button texts, and messages in the settings interface have been translated into English for clarity.
Other Improvements
- Optimized Duplicate Verification:
The duplicate file check in the download process has been streamlined to rely solely on the database (via an in-memory cache), eliminating time-consuming disk scans and remote HEAD requests. - Enhanced Log Messaging:
Log messages now clearly reflect the new database-based duplicate checking and other operations. - General Code Refinements:
Minor tweaks have been made throughout the code to improve performance and ensure consistency with the new features.
v0.8.5.1
v0.8.5
v0.8.4
Changelog - Version V0.8.4
New Features:
- Code Refactoring: A major restructuring was performed to improve the modularity, clarity, and maintainability of the project.
- Improved Menu Management: Drop-down menus and click events are now handled more efficiently.
- Support for New Configurations: Enhanced translations and language management.
- New logic for loading icons and handling errors during loading.
- Upgraded Progress Management:
- Cleaner and better presentation of the progress bar.
- New functionality for displaying detailed progress metrics.
- Enhanced Folder Structure Management: Expanded flexibility for folder organization based on user preferences and file types.
- Concurrency Improvements: Enhanced thread pool management for better performance and scalability.
- Resource Management: Introduced locking mechanisms to prevent race conditions in shared resources for multi-threaded processes.
Fixes:
- Error Initialization:
self.errors
andself.warnings
no longer generate attribute errors. - URL and Parameter Management: Improved parameter extraction from URLs to handle edge cases.
- Improved API Interactions: Enhanced request handling, including safer retry mechanisms for 429 errors and better logging.
- Retry Logic Fixes: Improved error handling with clear retry mechanisms for failed downloads.
General Improvements:
- Type Annotations: Added type hints throughout the code for improved readability and compatibility with static type checkers.
- Code Modularization: Split specific functionality into methods such as
handle_erome_download
andhandle_bunkr_download
. - Clearer Typing: Utilized
typing.Tuple
and other typing utilities to clarify code intent. - Optimization of Icon Loading: Support for additional icons with improved error handling.
- Enhanced User Feedback: Refined log callbacks and progress updates for a more interactive user experience.
- Better Clarity in Download Management: Download methods are now more understandable and handle error states more effectively.
- User Experience Improvements:
- Improved hover effects in various widgets.
- New default configuration options.
- Cleaner, more robust handling of UI components during downloads.
This release significantly enhances both functionality and user experience while addressing critical fixes and improving the overall system performance.