Skip to content

Conversation

@acx10
Copy link
Collaborator

@acx10 acx10 commented Feb 11, 2026

📝 Description

Adds several usability improvements to the ebook reader: fullscreen mode, keyboard shortcuts help dialog, search cancellation, go-to-percentage input, and additional standard keyboard shortcuts.

🏷️ Type of Change

  • New feature
  • Enhancement to existing feature

🔧 Changes

  • Fullscreen mode: Toggle via F key or header button, with Escape to exit
  • Keyboard shortcuts help dialog: Press ? or click help icon in header to view all shortcuts
  • Search cancellation: Cancel button on the search progress bar in the left panel
  • Go-to-percentage input: Direct percentage input in the footer location popover with Enter/Go button
  • New keyboard shortcuts: Space/Shift+Space (page navigation), Home/End (first/last section), T (TOC), S (search), N (notes)
  • Sidebar toggle methods: T, S, N shortcuts toggle their respective panels open/closed
  • Escape priority chain: Closes dialogs in order — shortcuts help → note dialog → controls → quick settings → metadata → fullscreen
  • Shortcuts consistency: Removed non-standard vim keybindings (H/L) from both ebook and CBX readers; both readers now share the same standard shortcuts for common functions

🧪 Testing

  • Open an EPUB in the reader
  • Press F → enters fullscreen; press again → exits. Header button toggles icon
  • Press ? → shortcuts help dialog opens; click "Got it" or press ?/Escape → closes
  • Press Space/Shift+Space → navigates forward/backward
  • Press Home/End → jumps to first/last section
  • Press T → toggles TOC sidebar; S → search panel; N → notes panel
  • Open search, type a query, observe progress bar → click cancel button → search stops
  • Click percentage button in footer → popover opens → enter percentage → press Enter or click Go → reader jumps
  • Press Escape → closes the topmost open dialog/panel

📸 Screenshots / Video (MANDATORY)


✅ Pre-Submission Checklist

  • Code follows project style guidelines and conventions
  • Branch is up to date with develop (merge conflicts resolved)
  • Automated tests added or updated to cover changes (backend and frontend)
  • All tests pass locally (./gradlew test for backend, ng test for frontend)
  • Changes manually verified in local dev environment (including related features)
  • Screenshots or video proving the change works are attached above (MANDATORY)
  • Flyway migration versioning is correct (if schema was modified)
  • Documentation PR submitted to booklore-docs (if user-facing changes)
  • PR is reasonably scoped (PRs over 1000+ changed lines will be closed, split into smaller PRs)

💬 Additional Context (optional)

Both ebook and CBX readers now share the same standard keyboard shortcuts for common functions (arrows, Space, PageUp/PageDown, Home/End, F, Escape, ?). Reader-specific shortcuts (T/S/N for ebook panels, D/P for CBX direction/slideshow) remain unique to each reader.

@github-actions
Copy link

Frontend Test Results

8 tests  ±0   8 ✅ ±0   0s ⏱️ ±0s
2 suites ±0   0 💤 ±0 
1 files   ±0   0 ❌ ±0 

Results for commit 0b51af2. ± Comparison against base commit e8530fa.

@github-actions
Copy link

Backend Test Results

  233 files  ±0    233 suites  ±0   56s ⏱️ +3s
1 887 tests ±0  1 883 ✅ ±0  4 💤 ±0  0 ❌ ±0 
1 944 runs  ±0  1 940 ✅ ±0  4 💤 ±0  0 ❌ ±0 

Results for commit 0b51af2. ± Comparison against base commit e8530fa.

This pull request removes 3 and adds 3 tests. Note that renamed tests count towards both.
org.booklore.service.metadata.MetadataRefreshServiceTest ‑ [2] fieldOptions = org.booklore.model.dto.request.MetadataRefreshOptions$FieldOptions@de10870, enabledFields = null
org.booklore.service.metadata.MetadataRefreshServiceTest ‑ [3] fieldOptions = null, enabledFields = org.booklore.model.dto.request.MetadataRefreshOptions$EnabledFields@1fa0e7e5
org.booklore.service.metadata.MetadataRefreshServiceTest ‑ [4] fieldOptions = org.booklore.model.dto.request.MetadataRefreshOptions$FieldOptions@27b3a7bb, enabledFields = org.booklore.model.dto.request.MetadataRefreshOptions$EnabledFields@2d01a2e7
org.booklore.service.metadata.MetadataRefreshServiceTest ‑ [2] fieldOptions = org.booklore.model.dto.request.MetadataRefreshOptions$FieldOptions@3a2a8c5, enabledFields = null
org.booklore.service.metadata.MetadataRefreshServiceTest ‑ [3] fieldOptions = null, enabledFields = org.booklore.model.dto.request.MetadataRefreshOptions$EnabledFields@23bbdea3
org.booklore.service.metadata.MetadataRefreshServiceTest ‑ [4] fieldOptions = org.booklore.model.dto.request.MetadataRefreshOptions$FieldOptions@2d1855c3, enabledFields = org.booklore.model.dto.request.MetadataRefreshOptions$EnabledFields@7600c4f8

@acx10 acx10 added the enhancement Improvement to an existing feature label Feb 11, 2026
@acx10 acx10 merged commit 672b716 into develop Feb 11, 2026
11 checks passed
@acx10 acx10 deleted the feat/ebook-reader-improvements branch February 11, 2026 21:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Improvement to an existing feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant