Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
1e173fe
Fix VoiceOver performance lag with large libraries
matalvernaz Mar 24, 2026
5d08d80
Merge pull request #1489 from matalvernaz/fix/voiceover-performance
GianniCarlo Mar 29, 2026
846ec0d
address feedback for VO improvements
GianniCarlo Mar 29, 2026
43d8c14
enhanced audiobookshelf connection
HoChiPants Mar 30, 2026
4f45bb9
added in potential ordering if it exists
HoChiPants Mar 30, 2026
6a023e7
removed artifacts
HoChiPants Mar 30, 2026
4b156de
added in tabs
HoChiPants Mar 30, 2026
1834899
Move AudiobookShelf category switcher to the bottom
HoChiPants Mar 30, 2026
60e723e
Merge pull request #1497 from HoChiPants/feature/audiobookshelfenhanc…
GianniCarlo Apr 6, 2026
86d284f
Rework integrations
GianniCarlo Apr 6, 2026
abdeebb
Rework integrations pt 2
GianniCarlo Apr 6, 2026
f3da137
update ci
GianniCarlo Apr 6, 2026
2e994f8
fix queries for hardcover
GianniCarlo Apr 6, 2026
541e27f
Merge branch 'fix/hardcover' into develop
GianniCarlo Apr 6, 2026
6e241c7
Fix: ObservedObject to StateObject
GianniCarlo Apr 6, 2026
f3172c5
Fix: VO lag in library tab
GianniCarlo Apr 6, 2026
9bb8e13
Fix Jellyfin search returning folders alongside audiobooks
matalvernaz Apr 6, 2026
0f94162
Merge pull request #1503 from matalvernaz/fix/jellyfin-search-duplicates
GianniCarlo Apr 7, 2026
d382973
Add support for next/previous chapter as intervals
GianniCarlo Apr 7, 2026
ffe2f5d
Merge pull request #1505 from TortugaPower/feat/chapters-interval
GianniCarlo Apr 7, 2026
5aa192e
Fix sizing for rewind/forward in apple watch
GianniCarlo Apr 7, 2026
b58fe13
Update to 3x option for text size for MacOS
GianniCarlo Apr 7, 2026
d2bfde6
feat: add right click support for macos
GianniCarlo Apr 7, 2026
403c505
set app version
GianniCarlo Apr 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- name: Select Xcode 26.0
run: |
ls -1 /Applications | grep -E '^Xcode_26\.' || true
sudo xcode-select -s "/Applications/Xcode_26.0.app"
sudo xcode-select -s "/Applications/Xcode_26.4.app"
xcodebuild -version
xcrun simctl list runtimes

Expand All @@ -29,7 +29,7 @@ jobs:
- name: Reset Simulator
run: |
set -x
export DEVELOPER_DIR="/Applications/Xcode_26.0.app"
export DEVELOPER_DIR="/Applications/Xcode_26.4.app"
xcrun simctl shutdown all || true
xcrun simctl erase all || true
launchctl kickstart -k gui/$UID/com.apple.CoreSimulator.CoreSimulatorService || true
Expand All @@ -40,7 +40,7 @@ jobs:
xcodebuild \
-scheme BookPlayer \
-configuration Debug \
-destination "platform=iOS Simulator,name=iPhone 17,OS=26.1" \
-destination "platform=iOS Simulator,name=iPhone 17,OS=26.4" \
build-for-testing

- name: Run unit tests
Expand All @@ -53,6 +53,6 @@ jobs:
-configuration Debug \
-testPlan "Unit Tests" \
-only-testing:BookPlayerTests \
-destination "platform=iOS Simulator,name=iPhone 17,OS=26.1" \
-destination "platform=iOS Simulator,name=iPhone 17,OS=26.4" \
-destination-timeout 120 \
test-without-building
264 changes: 154 additions & 110 deletions BookPlayer.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

12 changes: 10 additions & 2 deletions BookPlayer/AppDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,11 @@ class AppDelegate: UIResponder, UIApplicationDelegate, BPLogger {
func setupMPSkipRemoteCommands() {
let center = MPRemoteCommandCenter.shared()
// Forward
center.skipForwardCommand.preferredIntervals = [NSNumber(value: PlayerManager.forwardInterval)]
if PlayerManager.isForwardChapterSkip {
center.skipForwardCommand.isEnabled = false
} else {
center.skipForwardCommand.preferredIntervals = [NSNumber(value: PlayerManager.forwardInterval)]
}
center.skipForwardCommand.addTarget { (_) -> MPRemoteCommandHandlerStatus in
guard let playerManager = AppServices.shared.coreServices?.playerManager else { return .commandFailed }

Expand Down Expand Up @@ -244,7 +248,11 @@ class AppDelegate: UIResponder, UIApplicationDelegate, BPLogger {
}

// Rewind
center.skipBackwardCommand.preferredIntervals = [NSNumber(value: PlayerManager.rewindInterval)]
if PlayerManager.isRewindChapterSkip {
center.skipBackwardCommand.isEnabled = false
} else {
center.skipBackwardCommand.preferredIntervals = [NSNumber(value: PlayerManager.rewindInterval)]
}
center.skipBackwardCommand.addTarget { (_) -> MPRemoteCommandHandlerStatus in
guard let playerManager = AppServices.shared.coreServices?.playerManager else { return .commandFailed }

Expand Down
Loading
Loading