Skip to content

Add Manga Notes - #428

Merged
AntsyLich merged 48 commits into
mihonapp:mainfrom
imkunet:main
Mar 29, 2025
Merged

Add Manga Notes#428
AntsyLich merged 48 commits into
mihonapp:mainfrom
imkunet:main

Conversation

@imkunet

@imkunet imkunet commented Feb 19, 2024

Copy link
Copy Markdown
Contributor

Foreword

This is my first time ever working on anything Android related (the time of me downloading Android Studio is about two days ago), so any feedback on how to improve or pointing out any pitfalls is appreciated. This is also my first time contributing to a medium-sized open source project.

Manga Notes

What

This feature adds built-in per-manga markdown1 notes to help remember the details of manga inside and outside your library. It can be accessed through the top overflow menu or a button just below the tags through a button.

Why

Picture this: you have 50 or so forgettable isekai2 manga in your library. Because they are all in fact the same story with slight modifications, you lose track of the individual differences in each manga.

With the notes feature, you can add small (or large) reminders about the plot to each (easily) forgettable manga to make the reading experience of new chapters not completely horrible.

Intentions

I will commit to helping maintain this feature (when necessary) and improve this feature as to not place undue burden upon existing project maintainers.

Known issues

  • No collapsing/expanding notes on manga screen
    Addressed: Recent design revisions have the manga notes in the collapsible description section
  • Manga screen lazy list "jumps" when there is an extraordinarily long note Addressed: it's in the desc box now
  • No limit on note size (in theory could work correctly with notes 2^31-1 characters long, but not tested)
    Addressed: Imposed a 10k length limit with a visible warning when close to limit (tested) (it is now 250)
  • AOSP keyboard hates all Mihon TextFields and its auto-suggestion selects 1 space character extra behind the current word (not related to this feature itself)
  • Possibly conflicts with Edit basic Manga information #398

Demonstration

Old video
Revised.mp4

(latest video)

animations.mp4

Closes #643

Footnotes

  1. Markdown was chosen over something like rich text for being just enough for formatting if ever needed without requiring any additional bundle overhead without interfering with normal text.
    EDIT: The current revision uses rich text (HTML) for compatibility with the WYSIWYG editor EDIT 2: Back to markdown!

  2. Meaning: "Another world"

@imkunet
imkunet marked this pull request as ready for review February 19, 2024 09:27
@imkunet

imkunet commented Mar 5, 2024

Copy link
Copy Markdown
Contributor Author

This comment is no longer relevant.

With the new rebase on main as well as the 0e0a9aa (Make spotless) commit (as well as the detekt gradle task) the information in this comment no longer makes any sense.

Its contents are hidden here for posterity.

Hidden

Commenting on the remaining failing ./gradlew detekt violations after ce9a3ac1:


This is a pre-existing issue with this function.

/mihon/data/src/main/java/tachiyomi/data/manga/MangaMapper.kt:8:17 [LongParameterList]
The function mapManga(...) has too many parameters. The current threshold is set to 6.

This is a pre-existing issue with this function.

/mihon/data/src/main/java/tachiyomi/data/manga/MangaMapper.kt:58:24 [LongParameterList]
The function mapLibraryManga(...) has too many parameters. The current threshold is set to 6.

This is a pre-existing issue with this data class.

/mihon/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt:43:18 [MagicNumber]
This expression contains a magic number. Consider defining it to a well named constant.

Pretty much all the previews in the codebase have the same issue.

/mihon/app/src/main/java/eu/kanade/presentation/manga/components/MangaNotesSection.kt:96:13 [UnusedPrivateMember]
Private function MangaNotesSectionPreview is unused.


Let me know if there are any important issues that need to be fixed.

Details

Footnotes

  1. detekt errors re-formatted for reading convenience

@CrepeTF

CrepeTF commented Mar 24, 2024

Copy link
Copy Markdown
Contributor

I've created a mock-up for this.

User interaction would be:
View -> (Sheet or fullscreen page presenting the full note)
↳ Edit notes -> Save

Mockup

@Turhvjbufv

Turhvjbufv commented Mar 24, 2024

Copy link
Copy Markdown

Why not view and edit notes buttons?(Instead of only the view button)
Seems like an extra step for nothing

@imkunet

imkunet commented Mar 24, 2024

Copy link
Copy Markdown
Contributor Author

Hi @CrepeTF .

I'm not sure if putting it in a outlined rounded rectangle is a good idea.

The padding on the sides removes vertical space that can be used for text and the button is quite distracting as I believe the text of your notes are should be first and foremost.

On the other hand, I like how attention grabbing it is and draws your attention to whatever you wrote about the manga. Perhaps there is a middle ground somewhere? It might be weird to have a big colored notes box when there are no notes added yet.

@imkunet

imkunet commented Sep 19, 2024

Copy link
Copy Markdown
Contributor Author

Rebased off of main, prevent silly merge commit from messing everything up. :)

@imkunet
imkunet marked this pull request as draft September 19, 2024 07:23
@AntsyLich

Copy link
Copy Markdown
Member

Good to see you're still motivated despite me not reviewing. If you can hop on to Mihon discord for design discussion that'll be great.

@imkunet

imkunet commented Sep 20, 2024

Copy link
Copy Markdown
Contributor Author

Updated demonstration video with recent changes:

Preview.mp4

@KairuDeibisu

Copy link
Copy Markdown

Is this still being worked on?

@imkunet

imkunet commented Jan 19, 2025

Copy link
Copy Markdown
Contributor Author

There has been discussion in the Discord right around the time I stopped working on this about the exact character limit, particularly opposing thoughts on whether markdown or html or richtext should be used, or whether the characters are to be limited to 250. At the moment, I'm not quite sure what to do... though later today I might do a rebase and recheck the sentiment in the Discord chat with respect to the current feature set.

@imkunet

imkunet commented Jan 19, 2025

Copy link
Copy Markdown
Contributor Author

This is probably ready for review pending any last suggestions for changes left. The character has a soft limit of 250 (which is limited by the "characters" in the editor box), and is transparently stored as markdown (unbeknownst to the user) so if in the future there arises a need to migrate over to another system, there should be little pain in parsing and migrating.

@imkunet
imkunet marked this pull request as ready for review January 19, 2025 23:32
@AntsyLich

Copy link
Copy Markdown
Member

Is this UI same as the last video you sent?

@nakedlittlezombie

nakedlittlezombie commented Jan 26, 2025 via email

Copy link
Copy Markdown

@imkunet

imkunet commented Jan 27, 2025

Copy link
Copy Markdown
Contributor Author

It's mostly the same aside from a string change and removing the heading button. Current UI:

HEAD.mp4

Comment thread app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt Outdated
Comment thread app/src/main/java/eu/kanade/presentation/manga/components/MangaNotesDisplay.kt Outdated
Comment thread app/src/main/java/eu/kanade/presentation/manga/components/MangaNotesTextArea.kt Outdated
Comment thread app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt Outdated
Comment thread app/src/main/java/eu/kanade/presentation/manga/components/MangaNotesTextArea.kt Outdated
Comment thread data/src/main/sqldelight/tachiyomi/migrations/4.sqm Outdated
Comment thread domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt Outdated
Comment thread domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt Outdated
Comment thread i18n/src/commonMain/moko-resources/base/strings.xml Outdated
Comment thread i18n/src/commonMain/moko-resources/base/strings.xml Outdated
@imkunet
imkunet requested a review from AntsyLich January 27, 2025 06:04
@imkunet

imkunet commented Jan 27, 2025

Copy link
Copy Markdown
Contributor Author
animations.mp4

Comment thread domain/src/main/java/tachiyomi/domain/manga/interactor/SetMangaNotes.kt Outdated
Comment thread app/src/main/java/eu/kanade/tachiyomi/ui/manga/notes/MangaNotesScreenModel.kt Outdated
Comment thread app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt Outdated
Comment thread app/src/main/java/eu/kanade/presentation/manga/components/MangaNotesDisplay.kt Outdated
Comment thread app/src/main/java/eu/kanade/presentation/manga/components/MangaNotesDisplay.kt Outdated
Comment thread app/src/main/java/eu/kanade/tachiyomi/ui/manga/notes/MangaNotesScreen.kt Outdated
Comment thread app/src/main/java/eu/kanade/tachiyomi/ui/manga/notes/MangaNotesScreen.kt Outdated
Comment thread app/src/main/java/eu/kanade/presentation/manga/components/MangaNotesDisplay.kt Outdated
Comment thread app/src/main/java/eu/kanade/presentation/manga/components/MangaNotesDisplay.kt Outdated
Comment thread app/src/main/java/eu/kanade/presentation/manga/components/MangaNotesDisplay.kt Outdated
Comment thread app/src/main/java/eu/kanade/presentation/manga/components/MangaNotesDisplay.kt Outdated
Comment thread app/src/main/java/eu/kanade/presentation/manga/components/MangaNotesDisplay.kt Outdated
imkunet and others added 9 commits February 25, 2025 14:03
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
@AntsyLich
AntsyLich enabled auto-merge (squash) March 29, 2025 20:59
@AntsyLich
AntsyLich merged commit 8fbe630 into mihonapp:main Mar 29, 2025
cuong-tran pushed a commit to komikku-app/komikku that referenced this pull request Mar 30, 2025
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 8fbe630)
cuong-tran pushed a commit to komikku-app/komikku that referenced this pull request Apr 2, 2025
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 8fbe630)
cuong-tran pushed a commit to komikku-app/anikku that referenced this pull request May 31, 2025
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 8fbe630308b962043c7b59422878c94f80156e9f)
@Smol-Ame Smol-Ame mentioned this pull request Oct 13, 2025
4 tasks
github-actions Bot pushed a commit to Ramsesdb/gexu-legacy-fork that referenced this pull request Dec 8, 2025
…pp#428)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
github-actions Bot pushed a commit to Ramsesdb/gexu-legacy-fork that referenced this pull request Dec 8, 2025
…ihonapp#428)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Ramsesdb pushed a commit to Ramsesdb/gexu-legacy-fork that referenced this pull request Jan 19, 2026
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
yechika pushed a commit to yechika/mihon that referenced this pull request Apr 27, 2026
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
Ramsesdb pushed a commit to Ramsesdb/gexu-legacy-fork that referenced this pull request May 6, 2026
…ihonapp#428)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Ramsesdb pushed a commit to Ramsesdb/gexu-legacy-fork that referenced this pull request May 6, 2026
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 8fbe630)
Ramsesdb pushed a commit to Ramsesdb/gexu-legacy-fork that referenced this pull request May 6, 2026
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 58b0086)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/MangaBackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/MigrationFlags.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	data/src/main/sqldelight/tachiyomi/migrations/5.sqm
#	domain/src/main/java/tachiyomi/domain/manga/model/MangaUpdate.kt
Ramsesdb pushed a commit to Ramsesdb/gexu-legacy-fork that referenced this pull request May 6, 2026
…pp#428)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
ouassim-boulkamh pushed a commit to ouassim-boulkamh/amatsubu that referenced this pull request Jul 15, 2026
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Personal notes / personal rating system

7 participants