IgnisDa / ryot

Roll your own tracker!
https://ryot.io
GNU General Public License v3.0
1.7k stars 43 forks source link

[FEATURE REQUEST] - Better manga tracking #609

Open Robin-Sch opened 5 months ago

Robin-Sch commented 5 months ago

The current tracking of manga is "lacking", as storing % read isn't the correct/best way to track manga.

For example, suppose I'm reading a manga which is still releasing with (as of right now) 10 chapters, and so far I've read 2 chapters. Right now, I'd manually have to store 2/10 = 20%. But now imagine a new chapter is released tomorrow, my actual percentage would now be 2/11, so the stored % isn't correct anymore.

For manga which is not releasing anymore (there won't be more chapters), you can input an amount of chapters and it will automatically convert this to a percentage. However, it would be way better to track you progress in terms of chapters than percentage.

What I propose is something similar to shows. You would track when (at which date), you've read chapter 1. Then when you've read a new chapter you would add this again to Ryot, similar to shows. However, with shows there is metadata available about the actual episode. This might? not be the case for manga, but imo it won't be a problem. You can just store the number of the chapter(s) as a number (just like percentage) and a date with it.

Also, I'm not sure if you it's done on purpose but whenever I set a new percentage it overwrites the old one. I'd like to see the history at which date I read which chapter (just like with shows), and not that it just keeps track of how many chapters I've read in total.

IgnisDa commented 5 months ago

@Robin-Sch I have decided to go with tracking like shows. Each chapter would be one entry. I have a couple of questions:

  1. would the same happen for anime, ie, each episode be one seen entry?
  2. what about previous entries? ideally if there are seen items for a manga, that one should get deleted and then a new entries be added for each chapter. Does this sound right?
Robin-Sch commented 5 months ago
  1. For anime it's exactly the same as a show, so yes.
  2. You mean after you've re-read a chapter? Uhm... I'm not so sure of this actually. People might read a chapter (or a compete) manga twice for whatever reason and they want to track both. But I'm not so sure. How does this happen with shows, can you view one episode multiple times?

Also I just realised but for some manga they like to publish some "extra's" in between chapters (like a "behind the scence" ish). Most of the times they get a chapter number with one decimal, for example 5.5. (Meaning after chapter 5, but before chapter 6). These are counted as completely new chapters, but their numbering scene messing things up. (For example a manga with 3 chapters can have chapters 1, 1.5 and 2).

IgnisDa commented 5 months ago

can you view one episode multiple times

Yes

some manga they like to publish some "extra's"

So it would work if I allowed the chapter number to be a decimal?

Robin-Sch commented 5 months ago

So then it'd be the best if it would be similar/the same as shows, that you can read a chapter multiple times. And allowing a chapter number to be a decimal should work

IgnisDa commented 5 months ago

@Robin-Sch

what about previous entries? ideally if there are seen items for a manga, that one should get deleted and then a new entries be added for each chapter. Does this sound right?

What about previously marked as read anime/manga that do not have num chapters/episodes information associated with them? How would entries be created for them? (Eg: https://ryot.fly.dev/media/item/12424)

EDIT: one possible solution would be to allow the chapter field of the seen entry be nullable. And if it is null, then it will be assumed that the entire manga has been read. If not, then it means that only one specific chapter has been read.

Robin-Sch commented 5 months ago

Yeah that could work, or maybe -1 ?

IgnisDa commented 5 months ago

Ehhh, -1 does not convey any meaning on the database level. I will just stick with null.

Thanks for the help.

IgnisDa commented 5 months ago

@Robin-Sch This was released with v4.2.0. Please try it out and let me know if the UI feels intutive enough.

Robin-Sch commented 4 months ago

I have just taken a look at it, and it seems like I can only mark the whole manga is finished/read, but not individual chapters.

IgnisDa commented 4 months ago

Which manga?

Robin-Sch commented 4 months ago

All of them, both releasing and finished. For example: Jujutsu Kaisen, One Piece, etc. I click on "update progress", then enter a date, and after that it doesn't ask for a chapter number, but rather marks it as completely read. Also editing doesn't prompt for chapter number, only start/end date.

IgnisDa commented 4 months ago

Screenshot_20240207-234732_Firefox

Here is what updating One Piece looks like. Does this not work for your use case?

Robin-Sch commented 4 months ago

It does not work for me like this.

actions -> update progress -> add to read history: image

history -> edit: image

Version: v4.2.3

IgnisDa commented 4 months ago

This is under the manga section, right?

Robin-Sch commented 4 months ago

yes it is under manga, not anime or something else

IgnisDa commented 4 months ago

Try updating metadata from the "More action" menu.

Robin-Sch commented 4 months ago

Even after updating the metadata (and waiting some time) it does not work

IgnisDa commented 4 months ago

Okay I will push a change with https://github.com/IgnisDa/ryot/pull/634 which might fix it.

IgnisDa commented 4 months ago

@Robin-Sch Please upgrade to the latest version and see if the issue still persists.

Alzarath commented 4 months ago

Tested on Ryot 4.2.4 with two manga from Anilist—a finished manga and an ongoing manga.

I have clicked "Update metadata" for all scenarios.

Attempting to set progress on a manga with existing progress from before 4.x only allows me to set the progress to a percentage.

After clearing a manga's history, I no longer have any options under "Update progress" besides "Add to read history", even when it's in the In Progress collection.

Clicking "Add to read history", I can specify a chapter. It will mark that chapter as "Completed" in the history and remove the manga from the In Progress category entirely despite the chapter not being the final chapter in a complete series.

Briefly trying a MAL-sourced manga, I got similar results.

Additional comments:

When I read "Add to read history", I imagine it's going to mark the entire manga as read. The "Set Progress" label was more clear to me. I imagine it's meant to have all of the options from before, anyways.

It would be useful to be able to "Mark all unread chapters before this as watched". Also might make more sense to use the word "read" instead of "watched".

Robin-Sch commented 4 months ago

I just updated my instance and agree with @Alzarath 's points above. Especially with the last part, I think "Mark all chapters before this as watched read" should be omitted completely, and replaced with "Mark all unread chapters before this one". This could work in a way that it just skips duplicated entries, and should be good.

IgnisDa commented 4 months ago

I won't be able to provide a "Mark all chapters before this as read" provide button due to how the action handler is written.

Robin-Sch commented 4 months ago

So if I read chapter 1-5 on the 1st of January, 6-10 on the 2nd and so on until chapter 100. Adding this manga to my history would require 100 individual steps... Now multiply this by multiple manga or manga with even more chapters and have fun adding all of it I guess.

Also, doesn't the same thing hold for shows? Suppose u binge watched 10 episodes on day 1, another 10 on day 2 and another 10 on day 3. Good luck doing 30 actions to add this to your history.

Maybe it's possible to (partially) re-write the action handler to include this use case, as it would save a lot of time.

IgnisDa commented 4 months ago

Also, doesn't the same thing hold for shows?

Yes it does.

The concerns you raise are totally valid. I just don't have a lot of motivation to work on fixing this 😅.