Skip to content
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

EPUB navigator settles to a different position than the one requested with go(). #320

Open
mickael-menu opened this issue Jan 6, 2023 · 2 comments
Labels
bug Something isn't working

Comments

@mickael-menu
Copy link
Member

Bug Report

What happened?

When jumping (go()) to a given position, the EPUB navigator settles on a different position (a couple positions before or after) than the one requested.

Expected behavior

The user should reach precisely the requested position.

Environment

  • Readium version: 2.3.0

Additional context

It's a tricky issue, because the progression for a position is computed differently in the position list and in the navigator. In the position list, it's a progression of bytes while in the EPUB navigator a scroll offset. As the progression takes precedence over position (because more precise) when resolving a locator, we end up in a different position.

It's unlikely we can fix the progression issue between bytes vs scroll offset. However, maybe the position list should not fill in the progression (as to let the position take precedence). Or the app could ask for a different resolution strategy on a case by case basis.

@mickael-menu mickael-menu added the bug Something isn't working label Jan 6, 2023
@vasikaran868
Copy link

@mickael-menu Is there any workaround for this issue?. I have been struck in this for past 2 days.

@mickael-menu
Copy link
Member Author

No, I didn't have time to investigate this issue. Contributions are welcome if you find a workaround 😉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants