Skip to content

Commit 46c9d6f

Browse files
Tim020claude
andauthored
Fix live show "Go to Page" navigation for pages 100+ (#876)
Parse page numbers as integers in loadCompiledScript() to fix string comparison bug. Object.entries() returns keys as strings, causing "100" > "99" to evaluate false (lexicographic comparison). Also add Number() defense-in-depth in navigateTo() check. Fixes #875 Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 670634f commit 46c9d6f

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

client/src/views/show/ShowLiveView.vue

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,8 @@ export default {
558558
},
559559
navigateTo(targetPage, targetLineOnPage, preventScroll = false) {
560560
// Check if the page is loaded
561-
if (targetPage > this.currentLoadedPage) {
561+
// Use Number() for defense-in-depth in case currentLoadedPage is ever a string
562+
if (targetPage > Number(this.currentLoadedPage)) {
562563
return false;
563564
}
564565
@@ -975,7 +976,7 @@ export default {
975976
let minLoadedPage = Number.POSITIVE_INFINITY;
976977
const respJson = await response.json();
977978
Object.entries(respJson).forEach((value) => {
978-
const pageNumber = value[0];
979+
const pageNumber = parseInt(value[0], 10);
979980
const pageContents = value[1];
980981
981982
if (pageNumber > maxLoadedPage) {

0 commit comments

Comments
 (0)