Development Diary #3: Major Backend Overhaul, Plugin Expansion, Library Mode and Important Fixes! (Patreon)
Content
Hello everyone,
it’s been an incredibly busy week behind the scenes here. I’ve been deep in the trenches working on a significant overhaul of the core system, and I’m excited to finally roll out these updates to the Alpha build.
Here is a breakdown of what’s new and some important notes regarding the latest changes.
Backend Efficiency & Browser Management
I have completely overhauled the bridge server between Python and Chrome. The goal was to make the connection much more efficient. The program is now much smarter about resource management: it prevents the opening of unnecessary tabs and includes a new self-cleaning routine that automatically closes any stray tabs left behind, keeping your system memory clean and your workflow smooth.
Important Note: The "Multiple Chrome Windows" Bug
Some of you have reported a frustrating issue where the program opens multiple Chrome windows instead of using tabs in a single window. After investigating, I’ve found that this is a bug in the nodriver library triggered by recent Chrome updates.
Since this is an upstream issue, it is currently out of my direct control. However, I’ve implemented a workaround: the Python configuration wizard now installs nodriver version 0.48.1, which is stable and that last version free from this bug.
If you are experiencing this issue: You don't need to redo the full configuration wizard. I have added a new button under Extras -> Python menu called "Upgrade Libraries". Clicking this will automatically roll you back to the old and working version (0.48.1). I highly recommend this for anyone currently seeing multiple windows popping up.
I am monitoring the situation closely and will update the library to a newer version as soon as the developers patch the issue.
New Browser Behavior & Performance Tips
To help with stability and troubleshooting, the Chrome instance opened by JAM is now set to foreground instead of hidden. This allows you to interact with it if you ever need to solve a CAPTCHA or handle a login manually.
A quick piece of advice: While you can interact with the window, it is best to leave it alone. Please do not minimize it, close it, or try to log in to your personal Google account. Just keep it in the background fo JAM and let the program manage it.
Kagane note: Because Kagane requires scrolling to load images, it is vital that you leave the browser alone while it works. Also, to avoid timeouts, I strongly recommend again downloading no more than 2 items at a time when using Kagane; pushing it beyond that often leads to errors.
UI Improvements & Themes
Following a great suggestion from the GitHub community, the Theme Selection screen has been revamped! You can now select themes from a clear list rather than a restrictive menu that closes after every click. I have also added real-time visual previews, making it much easier to see exactly how your UI will look before you commit. Additionally, I’ve updated the FlatLaf library to the latest version for better rendering and overall compatibility.
New "Force Restart" Feature
You asked, I listened. One of the most common complaints was that if the bridge server locked up, you had to restart the entire app. I’ve added a "Restart Bridge Server" button under Extras -> Python menu. If you ever run into a stall/permanent error, just hit this button, and it will reset the connection without needing a full program restart.
Plugins & Frameworks
Optimizations: Both Comix and Kagane plugins have been updated to work seamlessly with the new bridge server.
Generic Framework Releases: I have officially released all remaining generic framework plugins, including: Coreview, Foolslide, MangaReader CMS, Flatmanga, Pizzareader, and Mangastream. This brings compatibility to a huge array of sites! You can find the full list of supported sites within the app:
Mangaplus: The support for Mangaplus was broken due to recent site changes, but it is now fully fixed and updated.
New Additions: By popular request, I’ve added new plugins to support Tappytoon, Coolmic, and Webtoons!
Library Mode is Officially Back!
I have re-enabled and updated the Library Mode to support the new plugin structure. While it should be functional, please consider this "experimental" for now. I haven't stress-tested it fully, so I strongly advise against using it with your primary database. If you want to test it, please keep a backup of your data, better safe than sorry! 😅
Thank you for your support!
I think that covers the bulk of the changes! It’s been a marathon of a week, and I’m sure there are a few minor tweaks and bug fixes I’ve forgotten to mention, but you’ll certainly notice the improved stability.
As always, none of this would be possible without your incredible support. You guys are the reason I can keep pushing this project forward, and I truly appreciate every one of you who supports JAM on Patreon ❤