Commit Graph

17 Commits

Author SHA1 Message Date
Scarriffle
77342d619b Rename app to Nook (display name only)
Changes the user-visible name from "ABS Client" to "Nook" across the
iOS home screen, macOS Dock/menu bar, login header, sidebar header, and
README. Bundle ID (com.local.ABS-Client), keychain key, and background
download session ID are intentionally left unchanged so the existing
App Store listing (ID 6770326901) updates in place — installed users
keep the app, stored credentials, and downloads.

- Build settings: INFOPLIST_KEY_CFBundleDisplayName, CFBundleName,
  PRODUCT_NAME → "Nook" (Debug + Release); built app is now Nook.app
- Info-iOS.plist: CFBundleDisplayName + CFBundleName → "Nook"
- Localizable.strings (de + en): login.title + sidebar.app_title → "Nook"
- LoginView: hardcoded headers → "Nook"
- README: branding text → "Nook" (git repo URLs and App Store URL
  unchanged — repo and listing rename happen separately)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-28 11:35:26 +02:00
Scarriffle
a17a61ad9a Home screen, library-wide search, splash with orbital particles, macOS download fix
- Add Netflix-style Home with recent audiobooks/podcasts, list/grid toggle shared with Library
- Add searchable libraries — audiobooks filter on title/author; podcasts also index and search episodes across the whole library
- Add unified context menu (download / progress remove) across Home, Library, and PodcastDetail
- Rework cover badges: listened checkmark top-right, download indicator bottom-right; hide progress bar when finished
- Add AirPlay picker in PlayerBar
- Replace splash with four-phase animation: orbital particles → attract → flash → fade; cross-platform iOS+macOS, runtime AppIcon lookup
- Fix macOS parallel downloads: align connection settings with iOS, raise timeoutIntervalForRequest to 300s
- Fix progress deletion using server-side progress UUID (DELETE /api/me/progress/:id)
- Bump CFBundleVersion to 8

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-23 08:54:43 +02:00
Scarriffle
1dbd133b75 Remove iPad references from README — app is iPhone- and Mac-only
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-08 19:43:59 +02:00
Scarriffle
fec48cb2af Update README with App Store availability and current feature list
- Remove "not yet available" warning; app is now live on iOS and macOS App Store
- Add direct App Store link (works for both platforms)
- Reorganize features into sections: library, playback, downloads & offline,
  progress sync, language & platform
- Document recently shipped features: bidirectional progress sync, chapters,
  bookmarks, history with XML export, live download progress, background
  downloads, live activities, parallel/sequential download modes, mobile-data
  toggle, DE/EN localization

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-08 19:41:05 +02:00
Scarriffle
134482bb4a Enhance download notifications and settings; add support for live activities
- Updated notification body to use proper German quotation marks for download failure alerts.
- Refactored audio interruption handling in PlayerEngine to utilize MainActor.assumeIsolated for better performance.
- Introduced nonisolated properties for support and downloads directories in ProgressSyncManager.
- Improved FullHistoryView and MainView with additional toolbar items and alerts for download failures.
- Added new toggles in SettingsView for parallel downloads and mobile data usage.
- Created new color assets for the DownloadWidgetExtension and updated widget appearance.
- Implemented Info.plist for DownloadWidgetExtension to support widget functionality.
- Enabled live activities support in iOS Info.plist.
2026-06-08 19:32:54 +02:00
Scarriffle
f053f1d320 Neues Icon, parallele Downloads 2026-06-08 19:32:18 +02:00
Scarriffle
9497c6e315 Bidirectional progress sync, reliable background history, MB-accurate download ring
- Bidirectional progress sync: server's `lastUpdate` now parsed correctly; pull
  timer (60s) + scenePhase hook reconcile against local state. Server-newer
  while paused/playing stashes a `pendingServerProgress` and surfaces a prompt
  on next Play; server-older triggers an immediate push.
- History: lockscreen/Control-Center skip & scrub now route through AppState
  via `onRemoteSkip`/`onRemoteSeek` callbacks (previously bypassed history).
  `AppState.skip(by:)` itself now records the pre-skip position.
- Chapter detection moved to the AVPlayer periodic time observer — fires
  reliably while the app is backgrounded or the device is locked, where the
  5s runloop Timer can be throttled.
- Always fetch item detail when online (even for downloaded items) so
  `item.chapters` is populated and history entries get chapter titles.
- DownloadManager: per-track byte-fraction progress, so single-track 1+GB
  audiobooks' ring grows smoothly instead of staying at 0% until done.
- PlayerBar: extracted ScrubberView into its own struct so per-second time
  updates no longer re-render the parent (fixes iOS history-popup flicker).
- App icon: re-embedded sRGB profile in marketing icon; bumped version 2.0
  to 2.1.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 20:44:38 +02:00
Scarriffle
fa47cae664 Add chapters, history, bookmarks, live download progress, and i18n
- Chapter navigation with auto-scroll to current chapter and end-of-chapter sleep timer
- Opt-in listening history (local-only) with XML export and per-item quick menu
- Bookmarks with server sync via Audiobookshelf API
- Live MB counter during downloads via URLSessionDownloadTask delegate
- In-progress downloads shown in "Heruntergeladen" with dimmed cover + ring overlay
- Cover image cache (50 MB memory / 500 MB disk URLCache)
- German/English localization (de.lproj, en.lproj)
- Loading spinner now triggers immediately on view switch instead of waiting for the network

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 18:43:16 +02:00
Scarriffle
15d8e71d09 Version 1.1 App Store 2026-05-25 18:43:16 +02:00
Scarriffle
7ca511d37f Fix: LICENCE → LICENSE umbenennen 2026-05-18 08:04:17 +02:00
7edad3c1f3 Dateien nach "LICENCE" hochladen 2026-05-18 07:58:03 +02:00
559b9eecc9 README.md aktualisiert 2026-05-18 07:57:09 +02:00
37bf0171c5 Dateien nach "/" hochladen
Readme hinzugefügt
2026-05-18 07:53:20 +02:00
Scarriffle
ac7906f0cf Merge iOS and Mac app into one 2026-05-17 21:06:59 +02:00
Scarriffle
069f8bac2d Restructure project folders 2026-05-17 08:45:37 +02:00
Scarriffle
652cfc4cf4 Grundcode AudiobookshelfClient 2026-05-14 19:24:52 +02:00
Scarriffle
7d0bc6466a Initial Commit 2026-05-13 17:46:14 +02:00