- some styling stuff, working on home page
- fixed a lot of web build task things
- began working on stuff, will most likely be moving to closed-source, but this repo will remain as an info page and bug/issue tracker
- project has been transferred to rococo and is back in business!
- mofu will be rewritten (once again...) into a Java backend, with a web frontend (but this time on an actual website)
- more details coming soon as I figure out some structural stuff
- improved compile speed a bit by properly adding incremental compiles
- added special handling for mangahere search throttling
- fixed some weird component recycling issues (was using stale keys in serieslistings)
- added uncaching url (for situations like mangahere's search throttling)
- added support for packaging into an executable app
- search results now persist properly
- added a "back to search results" button on reader
- added a simple html cache for accessor
- added zoom factor display (which can be clicked to reset to 100%)
- fixed some stuff with loading bar not updating properly
- mofu now shows a progress bar while loading pages
- added some debugging hotkeys - F5 to refresh, F1 to go to Home, F2 to go to Reader, F3 to go to Search Results
- loading panel is now an overlay rather than a separate page
- fixed up loading panel to work in react instead of javascript
- added message capability for loading panel
- refactored loadingpage to be something that's overlaid over the actual body pages
- restyled loading panel to be much slimmer and nicer looking (in my opinion)
- started a bit of work towards a new build system (for hopefully faster iteration on styling and stuff)
- added double validation check for redundancy
- improved async execution of accessor stuff
- basic chapter loading works now! so technically this is functional now haha
- huge refactor in progress
- added chapter page loading - accessor.get needs optimizing, it's ultra slow right now haha
- added scrollbar to manga info panel
- updated npm dependencies
- manga info & chapter listing now works - a lot of stuff was added to make it work but I won't go into too much detail
- fixed a bug with unregistering key listeners
- added functionality to search bar on the search results page - it works now
- info popup now appears on clicking a manga title
- clicking outside of the popup closes it (surprisingly hard to do with React...)
- info and download popups are now visible by default (since they aren't on DOM at all unless needed, thanks to React)
- abstracted source names and listings to separate properties/components
- search results page now shows the original query at the time
- image loading for series covers now works! runs in the background using hidden electron windows
- added cheerio dependency for DOM parsing
- search callback now takes SearchResult[]
- MangaHere searching works (returns a Promise<SearchResult[]>)
- web accessor now runs entirely in the background with validator to check for completion
- change in body state now passes search results if new state is results page
- fixed default display/visibility on manga info/download popups
- added explicit typing declarations to tsconfig (maybe not necessary)
- added string-key dictionary; currently unused, turns out you can't iterate it very easily so it's not all that useful...
- added search result listing component (currently combines all listings from one source into a single component, may need to eventually split further)
- forced scrollbars to have no style for now (might use custom styling in the future since electron is webkit)
- got MangaHere backend searching working! (backend as in, it doesn't display anything yet)
- searching from home now goes to loading page, then search results
- tsc now targets es2015
- added accessor to fetch html using a hidden electron window
- added manga series abstract
- tweaked tracker styling to remove the ugly border around it
- fixed sourcemaps
- added debug launch task for vscode (requires chrome debugger extension)
- tracker listing modularized more and clicking to toggle fav/alert now works
- added pouchDB dependency for local db
- dev tools no longer open on launch
- redesigned home page - tracker now is automatically open and shows directly below the search button
- Enter and Tab now work on the home page to search and focus the search box, respectively
- started a bit of work on basic backend structure
- abstracted tracker and trackeritem into separate components
- loading panel is now unselectable as intended
- added new logo to title bar
- made all main containers visible by default - we're using react now so they aren't rendered together
- unmaximizing (whatever thats called) now works properly
- add zoom in/out on title bar
- added Home component (incomplete)
- after almost a full day, I FINALLY figured out how to import electron lmao
- various small fixes, still working on environment setup
- stuff seems to mostly work now? idk lol at least there don't appear to be any warnings/errors
- began complete rewrite of misakachan (now known as mofu)
- new tech stack is Electron+Typescript+React+Webpack+SASS+bit of jquery/js
- currently non-functional - if you want something to play around with, use the old jars under releases; I'll be working on getting this new version to the same level of functionality
- converted changelog to markdown
- added confirmation dialogue to phantomjs popup
- It's been a while! I've been ultra busy with exams (quarter system so finals start in March lol), but I'm all done now!
- add small notice about PhantomJS on launcher (so people don't get spooked...)
- added milliseconds to console output
- fixed up pom.xml source specification
- added LireScan source (French - credits to Yassine Farich @ https://github.com/yassinefarich)
- added BleachMx source (French - credits to Yassine Farich @ https://github.com/yassinefarich)
- added prototype of tracker interface
- misakachan now minimizes to tray (will make this optional in the future)
- added prototype for tray notifications (alerting for new chapters)
- Finished implementing most of image cache system for cover pages (still need to implement it for pages/downloading)
- manga info panel now displays cached image as well
- increased jsoup timeout to 10 seconds
- did a lot of refactoring - all routes are now classes
- still need to work on refactoring more - project is getting messy and i'm struggling to figure out how to add history/tracking b/c it's so messy lol
- added new caching system (incomplete, only a prototype atm)
- fixed another null pointer issue
- wrote a ton of code to try to get past a cookie issue, only to get cheesed by same-origin policy (always forget it exists lol)
- since it was a lot of code (maybe stuff worth reusing in the future?), I'll push this commit now and restart in the next commit
- info & download panels now work much better on unusual window sizes
- manga page url conversion now takes collections instead of list
- library saving now detects "chapter" in chapter names and avoids folder names like "Chapter Ch.83"
- finished KissManga source!
- search request now checks for null body
- Artist label hides if Artist isn't found
- temporarily downgraded Jsoup dependency due to bug: jhy/jsoup#831
- fixed NPE in Series
- added better error handling for missing Series fields
- added better error handling for failed lookups
- added MIT license to project
- readme updates
- realized that I only need to use phantomjs to get the cookies, not actually access pages afterwards lol
- greatly improved WebAccessor - now loads most things pretty quickly, especially after it finishes preloading
- finished kissmanga search results! Halfway there :D Once I finish KissManga I can wrap up some other features, I just wanted to make sure I had at least two sources working.
- finished first version of cloudflare bypass - fully functional, but it's not threadsafe and is blocking so it ain't that great :(
- cloudflare bypass now preloads on a separate thread
- added WebAccessor preloading - usually takes ~8 seconds on my computer, could be slower on worse internet connection so I'll work on improving it
- basically sites that use Cloudflare (like KissManga) make my life a lot harder lol
- added solo tag to test classes to run just that class easily
- mostly finished cloudflare bypass, bit stuck on a weird bug
- super-mini-patch ## 0.0.38.1: fixed the bug I think! Seems to work now :)
- fixed bug with non-integer chapter numberings
- whipped up a quick auto pom updater that changes the build version to match what's in this file
- finished first fully functional prototype of manga downloading!
- added scrollbar to chapter download panel
- finished backend reading the urls from download panel - just need to wrap up the code to actually download a chapter directly from URL now!
- chapters now show up properly in the new chapter download panel
- seems to be a bit laggy with lots of chapters (for example ika musume's 400+ chapters causes some lag) - will try to fix asap
- added explicit jetty dependencies to prevent dependency conflicts
- finally figured out how to set listeners for dynamically created elements (I am a jQuery noob hehe)
- on a side note, scripts.js is extremely messy right now - rest assured it'll be refactored at some point!
- made a lot of progress on download UI - basically done, now just need to do the program stuff (loading in chapters into the panel and downloading)
- Added ExperimentalTests for playing around with code
- added dependencies: Selenium and bonigarcia's web driver manager (for automated management of PhantomJS drivers on any OS)
- added working experimental code for bypassing kissmanga cloudflare protection with headless phantomjs browser thru selenium
- in layman's terms, basically on some websites you see those cloudflare "Please wait 5 seconds while we verify your browser" etc. etc. messages. Those cause some pretty difficult issues for bots like misakachan (well, that's kind of the point I guess). I managed to write a workaround that gets past that by imitating an actual browser, so now we should have no problems retrieving sites like KissManga, etc!
- made changelog fetching async and preloaded
- started working on download interface UI
- added some more debugging output options so I'm not spamming myself with debug messages lol
- improved code testing suite to be a lot nicer to use
- removed extra copy of manga code (forgot about it)
- started working on kissmanga source
- added download button to individual chapters in chapter listing
- cleaned up some code
- On midterm week right now so don't have as much time to code new stuff :P
- finished implementing single-click download on reader interface - still working on adding other download options
- added simple timer utility for debugging
- fixed multithreading issue with document cache initialization
- implemented multithreading for bakabt search - performs significantly faster (30-50%) for long results (5+ pages), about the same for short results (1-2 pages).
- fixed clearing pages on new chapter
- started work on chapter downloading (almost done with it I think, just a couple last bugs to iron out)
- top/bottom arrows are now slightly lower and sticky. the code to make them sticky but not overflow into the footer is actually pretty wacky, may try to improve in the future altho it seems to work quite well (surprisingly hard to make it not have weird snaps)
- added a super basic light theme (for personal use only at the moment - official builds will only have the dark theme until I add a theme switcher)
- added a download button (doesn't do anything yet, just sits there looking cute)
- fixed a bug with the above padded fixed divs (need to account for children for whatever reason) - now works super smoothly for both the arrows and the download button!
- added auto search result sorting by similarity to search term
- refactored manga info formatting (pluralization, etc.) from backend to frontend
- fixed issue with chapter overlay coming up over the image if there is no description using a micro clearfix
- fixed resizing issue on manga info display
- shifted manga display up a bit
- tweaked padding a bit on different parts of the info display
- fixed bug: search results not clearing
- fixed bug: generating unique ids for search result images
- made manga titles auto-resize
- added scrollbar for long manga descriptions
- implemented search bar on search results page
- implemented document caching for faster loading (5 minute cache)
- added new logo!
- refactored some stuff
- mostly wrapped up scanlator group stuff, will add it to info panel in next patch
- added images for each manga to search results - another surprisingly tricky to code thing, because it turns out some/most sites don't show images on the search results page so I have to fetch the image from each manga page, which needs to be multithreaded..
- fixed mangahere descriptions to pull the full description
- finished json serialization for Series objects
- mostly wrapped up manga popup display! just need to finish chapters and a bit of formatting stuff
- added automatic update checking - surprisingly difficult to code thanks to my laziness - I didn't want to have to remember to update a variable somewhere every build, so instead I made it so this changelog is automatically included in the compiled JAR. But I didn't really know how to do that so it took a while to figure out the right maven config. And then I had to make sure that I can run it locally still, while also having it able to get the resource stream from the jar.
- fixed a typo with version initialization
- added version string display
- added message queueing to console to be able to ready messages before the GUI is loaded
- finished styling for manga info popup, working on the ajax stuff now
- added css class for data stored in hidden DOM content
- made the results count at the top of search results page work
- started work on manga info popup for search results page
- disabled TestSource for now
- lots of work on search UI, it's almost done! searching properly displays results now!
- more styling changes
- changelog is now toggle-to-view (hidden by default)
- added fancy scrollbar and styling to changelog. surprisingly hard to style lol, had to use some js library
- more work on AJAX stuff for manga searching
- started work on search result UI
- added some multithreading functionality
- started work on general search function, only have a prototype ready, i'm still working out how it should work for the user
- added some tests
- added Discord chat link
- added button to go to page top/bottom
- fixed search bar centering, it was slightly off
- added a cute loading page for when things are being downloaded from websites
- added automatic changelog fetching and display
- worked on some more styling
- added my own version of momentum scrolling on WASD/Arrow Keys - actually was a huge pain to code haha
- multithreaded page crawling - HUGE PERFORMANCE IMPROVEMENT!!!!!! I was super surprised at how much faster it got! A 36 page chapter of Railgun from MangaHere took ~13 seconds to load before; multithreaded, it loads all 36 pages in under a second!
- added auto SASS formatting builder to eclipse project - it doesn't run on auto build b/c it does some weird stuff if it does
- converted old style.css to SASS - first time using SASS, pretty cool stuff
- removed source mapping for SASS - not doing anything complex enough to need it lol
- fixed extra padding at bottom of image divs - was an issue with vertical-align
- switched to more modularized var naming for scss _colors
- as a side note, until release I will only be using the "PATCH" part of semantic versioning. No point doing "MINOR" patches when misaka isn't ready yet anyways and I'm working on this solo :P
- recoded BakaUpdateSearcher to search directly within the site instead of using google
- so far it seems to search with pretty great accuracy - first checks for direct phrase matches, and then compares between those by finding the shortest edit distance
- updated readme.md
- coded some stuff to search for manga on baka-updates
- currently prone to rate-limiting b/c it's parsing google. -- Will consider recoding to use baka-updates search interface (but will need to think about how to determine which link is the right one). Tired now though so I'm going to sleep lol
- added stuff for using SASS for CSS
- auto transpiler builder included for Eclipse - automatically updates generated CSS on auto builds
- excluded sass files from JAR builds
- made a persistent file framework to make it easier to code up stuff that needs to be saved in the future (images, options/preferences, history, etc.)
- some more CSS work
- added some convenience methods
- excluded local persistence folder (/misaka/) from git
- worked on js stuff, now loads in data from webserver
- added key captures for up/down/left/right nav (scroll up/down & next/prev chapter)
- CSS work on reader
- changed up logging - don't really need super fancy logging
- begin work on reader interface
- simplified AbstractSource type, adjusted existing implementations (well, there's just one) accordingly
- added test source - will make it excluded from production builds in future patch
- added fileutils to load files from within jar as resource streams (stored as temp files)
- added font manager for GUI prettiness
- did a lot of GUI work, improved GUI design/color scheme
- modularized code a bit
- added rudimentary versioning system
- started working on main GUI a bit
- added console output system to GUI
- changed patch numbering to start with major patch 0 (gonna switch to 1.x.x on general release to public)
- added basic testing for making .jar clickable with JFrame
- added cute misaka icon to JFrame
- restructured directories for tests
- now only show DEBUG level messages from within misakachan
- added source names
- added basic styling and layout for index page
- added org.json dependency
- removed templates/ and Thymeleaf dependency - probably won't need it
- started work on AJAX queries to load pages
- added favicon and temporary logo
- added (this) changelog
- added Thymeleaf dependency for HTML rendering