-
Notifications
You must be signed in to change notification settings - Fork 566
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
Feature: Migrate Downloaded Chapters #1725
base: main
Are you sure you want to change the base?
Feature: Migrate Downloaded Chapters #1725
Conversation
I'm against this whole feature altogether. Downloads are not the same across sources. There are also edge cases here and there. Instead we should introduce some kind of merging feature alongside say move downloads to local |
If you're against this feature, why aren't you asking for Chapter reader marker migration to also be removed? They share the same flaws. A purist approach would have neither feature to cater for the risk of mismatched chapters due to the edge cases you cite. This feature is to make migrate actually useful for if/when the user is willing to take the risk. |
a few more points:
|
No it doesn't. Chapter migration doesn't try to migrate stuff related to content like reading progress or history of a chapter
I hadn't even mentioned the edge cases you're just assuming. @cuong-tran has them in his point 1. And as you can none of them affects chapter migration in its current state
So according to you the migrate feature at its current state is useless? Ok let's just assume what you said is true but if it comes with a huge maintenance burden (edge cases says hi) and there are alternative solutions which is simpler (i.e. entry merging) then I'm not gonna merge it even if it's a revolutionary feature. |
When I placed a read marker on the chapter (hold click chapter, click the tick box in the middle), and then migrated the manga, the migrated manga had that chapter as having been read. So what do you mean it doesn't come with the same flaws?
The existing function has the same flaws. (I.e you didn't read this version of the chapter from different scanlator or picture quality so on but it says you did)
When comparing these 2 workflows, the current migrate only saves a total of 2 clicks while suffering the SAME drawback as this new function. This new function saves a few clicks from above, but more notable savings are: If re-downloading all
If trying to migrate manually
I already acknowledged that it won't work for certain edge cases, but the existing function also doesn't work for the same edge cases. What alternative solutions? What entry merging? Can you provide link or detailed instructions so I can try? If there is an alternative solution that will solve my problem I'll be happy to use it. The problem being solved are:
|
"related to content" I have read chapter 1 is different from I have read chapter from this source. I repeat we don't migrate reading progress or history of a chapter which is related to content.
Same as above
So the thing is migration is useless for you in particular. Most of the user base are not data hoarders so there usually isn't a demand/request for download migration in this scale.
Quoting myself from the first comment
Look I'm not saying the problem is non-existent but we should be looking at this from a boarder view. The solution I'm proposing is a very requested feature we could be killing two birds with one stone this way. |
??? As a user, all I see is "did I read this" chapter? yes/no.
So the solution doesn't exist yet? |
You do realize we have a history tab right?
And who is going to take the maintenance burden of this temporary feature? |
Yes... what about it?
I'll commit to maintain it and then delete it in 3 months time, giving you guys 3 months to figure out and implement the permanent solution. Is that an ok resolution? I've an immediate need (due to a couple of sources changing into a new source) affecting over 250 titles. It took me 2+ weeks (~ 4 active interaction hours) to migrate 50 titles manually due to different naming standards between the old source and new. If I continue the manual method, it will take who knows how long with 20+ interaction hours needed. This change together with my other one will also ensure my SD card won't die prematurely, which costs $100+ per card (I have a large one that fits my massive downloaded library). Given my SD card usage is only: Tachiyomi (total ~400Gb), DCIM (< 30 pics / yr = ~ 100Mb) and Google Maps data (~300Mb), any premature death of the SD card from write wear will always be Tachiyomi (bad download method in respect to flash write wear, need to redownload for dead sources). You can also do a detailed write up of your proposed permanent solution (raise an issue with the solution description and link the issue here so I can find it). If I think it's something I can help with to fast track resolution for my problem, maybe that's another approach... |
+1 to have a "merging to local source" instead. there are a few times when I downloaded chapters from one source, but need to download some missing chapters from a different source. it would be a shame to tied that usefulness to a migration process since i don't use that second source very often. |
The problem with this approach is that not all sources are the same. Source A could host 20 pages per chapter, but Source B has the SAME CONTENT but cut differently increasing the page numbers to 50 or even 100+. This much is TRUE for every Korean Manhwa that is available (Scanlated vs Official). Chapter Reader marker migration is a different issue, because the core content of each chapter is consistent across sources. The main difference lies in the inclusion of scanlator pages, credits, or explanatory notes, which vary between sources but don't affect the core chapter content. While this may work for you, it most certainly will not work for up to 9X% of users. Some recommendations:
|
The more you explained why this feature is needed, the more niche I find the user demographics to be and the furthest away for it to be potentially useful for users that use mihon just to read and not hoarding data. You can say, "so what? it's an opt-in.", but it's not clear why this needs to be in main project of mihon other than your personal needs. If I may make a suggestion: find a way for this to work on your fork, share it with the community and see how many opted in. Google Play Store policy requires dev to test their apps on at least 12 beta testers, that could be a good amount to aim even though we're not in the play store. |
You think most people actually care that pages are cut differently?
Nope. The cases where it actually matters, they are both broken. For all other cases, it's fine.
Given the most critical one is broken on both, I'm not sure why people are getting their panties in a knot for the more minor cases.
I think that's a ridiculous assumption.
Sigh... this change is to exactly AVOID this.
And kill your $2000 phone instead of your $100 sd card? |
You are assuming everyone except me uses it like you do. Minimally, there are already 3 people who want/need this feature (100% of the people I know in real life who use this app - 2 others + me), which is why I decided to write the code and raise this PR in the first place. But most users are actually silent... they don't participate here (or any other comms channels) and just expect devs to magically read their minds and eventually implement the features they need. So while you may think I'm a unicorn, I don't believe I am, based on my small sample data (3 ppl, 100% hit rate).
This feature will be:
If I release my fork and take up the maintenance burden, why would I need to come back to mainline? I will be happy to support my changes in mainline for a period of time to achieve not having to maintain the rest of the project in my own fork. |
One thing people keep forgetting is that most source just re-uploaded (aggregators) chapters from other sources. So the migration will do the same as any source do. For example, there are many cases that the first version of a chapter get updated, if you dont delete and re-download the chapter you would never know. I think this is a very useful features. It also helps save bandwidth, and lower the chance a source trying to break working with miho due to abuse. Imagine having a manga that is 3000+ chapters, and the source that you were using is not available anymore, why re-download everything? The numbering should not matter, there are evern some source that release .5 version of old chapters and we just mark them as read, so I dont see why should we be able to add any chapter that we already have. |
Actually this sounds like a good idea. A local or even a new default library like merged, where you can just |
Although that may sound like a good idea, the problem is that it will be a very big change to how Tachiyomi works, as well as complicated to implement.
I believe the feature that is implemented in this PR, although not useful for every Tachiyomi user, is still useful for many users. You can talk about ideals, but they don't exist yet, and even if someone starts designing it now, I really don't see it happening for the next 12 months to be honest, given all the regression impact it will have, so I don't see why people are against this simple solution, even as a temporary stop-gap measure. |
I understand you point, I was not suggesting a rewrite of how the current app work, I was think kore like a second so the tracker will act like a source, instead of getting manga with ID 1234 from source with ID 678; that library will be pulling manga ID 2222 from tracker ID 5555. It will not affect any other library, and should onmy display manga that have a tracker. I try to comment in discord, but I think I domt have access to the programming channel. |
Split from #1718
This is a QoL improvement feature for source migration of manga.
Currently, downloaded chapters cannot be migrated, and they must either be:
There are problems with both approaches.
This feature addresses the above issues with migrate.
Sample title for migration

Files in storage before migration

Migration interface (new checkbox for "Migrate downloaded")

Sample title post-migration

Files in storage post-migration
