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

[PP-1645] Performance improvements #467

Merged
merged 14 commits into from
Sep 11, 2024
Merged

Conversation

mauricecarrier7
Copy link
Contributor

What's this do?

  • Introduces performance improvements to reduce background crashes from CPU overload

Why are we doing this? (w/ Notion link if applicable)
https://ebce-lyrasis.atlassian.net/browse/PP-1640
https://ebce-lyrasis.atlassian.net/browse/PP-1645

How should this be tested? / Do these changes have associated tests?
Monitor Crashlytics to observe improvements in previously recorded issues

Dependencies for merging? Releasing to production?
ThePalaceProject/ios-audiobooktoolkit#100

Does this include changes that require a new Palace build for QA?
Yes

Has the application documentation been updated for these changes?
N/A

Did someone actually run this code to verify it works?
@mauricecarrier7

@mauricecarrier7 mauricecarrier7 self-assigned this Sep 11, 2024
@mauricecarrier7 mauricecarrier7 marked this pull request as ready for review September 11, 2024 21:07
@mauricecarrier7 mauricecarrier7 merged commit ecf14ce into develop Sep 11, 2024
1 check passed
mauricecarrier7 added a commit that referenced this pull request Sep 27, 2024
* [PP-725] Improve epub search (#360)

* working implementation

* Correct search issues

* Update project.pbxproj

* Add PalaceUIKit library

* Update PalaceAudiobookToolkit module SHA

* [PP-553] Clean up corrupted audiobook error presentation (#363)

* working implementation

* Correct search issues

* Update project.pbxproj

* Prevent alert from being prematurely dismissed and  dismiss loading screen

* Update TPPBookButtonsView.m

* Update TPPBookButtonsView.m

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj (#364)

* Resolve modifier ambiguity by moving font modifiers into PalaceUIKit

* Font weight should be font modifier

* Add PalaceUIKit

* Build PalaceUIKit for distribution

* Update PalaceAudiobookToolkit module SHA

* Add color catalog

* Refactor settings main screen fonts

* Code documentation

* Apply Palace UIKit to EPUB serach view

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Bump project build number

* Fix typo

* Update PalaceAudiobookToolkit module SHA

* Implement search function for large encrypted documents

* Use lower-level search for large encrypted documents
Why: we decrypt smaller documents in memory, while larger files use CGPDF functions to decrypt blocks of file on the fly and therefore they can't be searched using PDFKit functions

* Move parser code to TPPPDFTextExtractor

* Compare lowercase search text

* Release resources

* [PP-725] Display all available sections in search results (#366)

* working implementation

* Correct search issues

* Update project.pbxproj

* update presentation of search options

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update PalaceAudiobookToolkit module SHA

* Bump project build number

* Set up team and signing certificate in PalaceUIKit (#368)

* [PP-694] Use token auth for annotations (#369)

* Update project.pbxproj

* Use token for annotations calls

* In progress token improvements

* Update project.pbxproj

* Update TPPAnnotations.swift

* Update NYPLNetworkExecutorMock.swift

* Clean up

* [PP-694] Use token auth for annotations (#370)

* Update project.pbxproj

* Use token for annotations calls

* In progress token improvements

* Update project.pbxproj

* Update TPPAnnotations.swift

* Update NYPLNetworkExecutorMock.swift

* Clean up

* Resolve login failure when attempting to update tokens

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update NYPLNetworkExecutorMock.swift

* [PP-746] Make annotation sync client side (#371)

* in progress

* Clean up annotation deletion, switch management and resolve infinite refresh call issue

* Update project.pbxproj

* [PP-755]  Update audiobook sampler (#372)

* in progress

* Clean up annotation deletion, switch management and resolve infinite refresh call issue

* Update project.pbxproj

* Update audiobook sampler

* Update project.pbxproj

* Update TPPBookButtonsView.h

* Update TPPBookButtonsView.h

* [PP-612] Resolves library switch error (#373)

* in progress

* Clean up annotation deletion, switch management and resolve infinite refresh call issue

* Update project.pbxproj

* Make sure closure is called after token refresh and opt out of token calls when request does not need authentication

* Clean up

* Remove unused logic

* Further clean up

* Update TPPBookDetailView.m

* Only attempt to update the token once per account switch

* Update project.pbxproj (#375)

* PP-799 Resolves error loading library error (#376)

* in progress

* Clean up annotation deletion, switch management and resolve infinite refresh call issue

* Update project.pbxproj

* Make sure closure is called after token refresh and opt out of token calls when request does not need authentication

* Clean up

* Remove unused logic

* Further clean up

* Update TPPBookDetailView.m

* Only attempt to update the token once per account switch

* Revert changes

* Update Account.swift

* Update project.pbxproj

* Update Account.swift

* Update project.pbxproj

* Update NYPLNetworkExecutorMock.swift

* Revert "PP-799 Resolves error loading library error (#376)"

This reverts commit 78226c4.

* [PP-612] Resolve outstanding token errors (#378)

* in progress

* Clean up annotation deletion, switch management and resolve infinite refresh call issue

* Update project.pbxproj

* Make sure closure is called after token refresh and opt out of token calls when request does not need authentication

* Clean up

* Remove unused logic

* Further clean up

* Update TPPBookDetailView.m

* Only attempt to update the token once per account switch

* Revert changes

* Update Account.swift

* Update project.pbxproj

* Update Account.swift

* Update project.pbxproj

* Update NYPLNetworkExecutorMock.swift

* Resolve token issues

* Clean up

* clean up

* [PP-811] Set audio player session to enable audiobook sample sound when silenced (#379)

* set audio player session to enable sound when silenced

* Update AudiobookSamplePlayer.swift

* [PP-813] Send more detailed user agent (#380)

* Update user agent to be more detailed

* Prevent loading loop on sample downloads

* Update sample toolbar posiiton on Ipad

* Update project.pbxproj

* [PP-790] Deletes local bookmarks when deleted remotely (#381)

* Modify annotation syncing to delete local annotations when removed from server

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update TPPAnnotations.swift

* Fix tests

* [PP-845] PDF search broken older versions ios (#383)

* Modify annotation syncing to delete local annotations when removed from server

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update TPPAnnotations.swift

* Fix tests

* Update TPPPDFSearchView.swift

* Update project.pbxproj

* Update project.pbxproj

* Update TPPPDFSearchView.swift

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj (#384)

* Update project.pbxproj (#385)

* Test updated release notes script (#386)

* Update project.pbxproj

* Update project.pbxproj

* Integrate updated audiobooktoolkit (#387)

* [PP-809] Minor clean up (#388)

* Integrate updated audiobooktoolkit

* Update toolkit with minor slider clean up

* Update project.pbxproj

* Update project.pbxproj

* [PP-809] Audiobook playback issues (#389)

* Integrate updated audiobooktoolkit

* Update toolkit with minor slider clean up

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Import updated library (#390)

* [PP-838][PP-839] Resolves token issues (#391)

* Import updated library

* Dont pass token on registry syncs and feed pulls

* Update project.pbxproj

* Update project.pbxproj

* Update MyBooksDownloadCenterTests.swift

* Update MyBooksDownloadCenterTests.swift

* Update MyBooksDownloadCenterTests.swift

* Update TPPSignInBusinessLogic.swift

* Update TPPSignInBusinessLogicTests.swift

* Update audioboook library (#392)

* [PP-934] Properly handles TOCs when the last chapter spans multiple files (#393)

* Update audioboook library

* Update LCPPassphraseAuthenticationService.swift

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update MyBooksDownloadCenterTests.swift

* [PP-948] improve large file downloads (#394)

* Update audioboook library

* Update LCPPassphraseAuthenticationService.swift

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update MyBooksDownloadCenterTests.swift

* leverage virtual memory when downloading large files to prevent crashes

* Update project.pbxproj

* Update LCPPassphraseAuthenticationService.swift

* [PP-934] Show return prompt on audiobook completion for LCPAudiobooks (#395)

* Update audioboook library

* Update LCPPassphraseAuthenticationService.swift

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update MyBooksDownloadCenterTests.swift

* Return to beginning of book at end of playback

* Integrate updated audibook library (#396)

* [PP-969]  Pauses audiobook after restarting (#397)

* Integrate updated audibook library

* Update ios-audiobooktoolkit

* Update project.pbxproj

* [PP-969] Improve last position syncing (#398)

* Integrate updated audibook library

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Improve position syncing

* Update project.pbxproj

* Update project.pbxproj

* [PP-861] Improve accessibility names (#399)

* Correct accessibility

* Update strings

* Update project.pbxproj

* Update project.pbxproj

* [PP-861] Correct accessibility names (#400)

* Correct accessibility

* Update strings

* Update project.pbxproj

* Update project.pbxproj

* Update audiobook library

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* [PP-994] [PP-995] Resolves audiobook playback issues (#401)

* Update dependencies

* Update project.pbxproj

* [PP-1013] listening position not saved after logout (#402)

* Ensure lsat listening position is saved with timestamp and prevent race condition on loading

* Update project.pbxproj

* [PP-1013] Ensure token is updated when fetching bookmarks (#403)

* Ensure lsat listening position is saved with timestamp and prevent race condition on loading

* Update project.pbxproj

* Ensure token is refreshed when fetching bookmarks

* Update project.pbxproj

* Update TPPNetworkExecutor.swift

* [PP-1013] Resolves listening position not saved after logout (#405)

* Ensure lsat listening position is saved with timestamp and prevent race condition on loading

* Update project.pbxproj

* Ensure token is refreshed when fetching bookmarks

* Update project.pbxproj

* Update TPPNetworkExecutor.swift

* Update bookmark syncing logic

* Refresh token on download failure

* improve token refresh logic

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update MyBooksDownloadCenter.swift

* [PP-1013] Listening position not saved after logout (#406)

* Ensure lsat listening position is saved with timestamp and prevent race condition on loading

* Update project.pbxproj

* Ensure token is refreshed when fetching bookmarks

* Update project.pbxproj

* Update TPPNetworkExecutor.swift

* Update bookmark syncing logic

* Refresh token on download failure

* improve token refresh logic

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update MyBooksDownloadCenter.swift

* Revert clean up change

* Update project.pbxproj

* Add a no adobe build target

* Fix OOM issue appearing on iPhone XR

This could potentially be an issue on other devices as well, since
we are trying to load a large binary into memory to try to parse
it as json. In the case of LCP this isn't what we want to do.

* Bump build numbe

* [PP-1064] Audiobook infrastructure (#426)

* Update Audiobook classes

* building open access happy path

* Launch audiobook from delegate extension

* Merge hotfix into main version 1.0.37 (#414)

* Fix OOM issue appearing on iPhone XR

This could potentially be an issue on other devices as well, since
we are trying to load a large binary into memory to try to parse
it as json. In the case of LCP this isn't what we want to do.

* Rebase off of main (#411)

* Update check-build-number.yml (#410)

What's this do?
Updates workflows

Why are we doing this? (w/ Notion link if applicable)
To support pushing TestFlight builds for merges into the hotfix branch

* Update upload-on-merge.yml (#409)

* Update build #

* Update project.pbxproj (#413)

Bump marketing version to create build

* Update project.pbxproj

---------

Co-authored-by: Jonathan Green <[email protected]>

* Update project.pbxproj (#415)

Revert version and build numbers

* Update TPPBookCellDelegate+Extensions.swift

* Integrate updated audiobook changes

* Update check-build-number.yml

* Update upload-on-merge.yml

* Clean up

* Update .gitmodules

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Delete ios-drm-audioengine

* Update scripts

* Update ios-audiobooktoolkit

* Update AudiobookBookmarkBusinessLogicTests.swift

* [PP-1059] Integrates refactor of Audiobook Library (#416)

* Update Audiobook classes

* building open access happy path

* Launch audiobook from delegate extension

* Update TPPBookCellDelegate+Extensions.swift

* Integrate updated audiobook changes

* Clean up

* Update .gitmodules

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Delete ios-drm-audioengine

* Update scripts

* Update ios-audiobooktoolkit

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit abe6dc1.

* Update project.pbxproj

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit 9aca779.

* Restore Build (#417)

* Update Audiobook classes

* building open access happy path

* Launch audiobook from delegate extension

* Update TPPBookCellDelegate+Extensions.swift

* Integrate updated audiobook changes

* Clean up

* Update .gitmodules

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Delete ios-drm-audioengine

* Update scripts

* Update ios-audiobooktoolkit

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit abe6dc1.

* Update project.pbxproj

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit 9aca779.

* Update ios-audiobook-overdrive

* Reapply "Update project.pbxproj"

This reverts commit 7ed72dd.

* Revert "Restore Build (#417)"

This reverts commit 933de16.

* Update ios-audiobook-overdrive (#419)

* Fix build (#420)

* Update ios-audiobook-overdrive

* Update project.pbxproj

* Fix build (#421)

* Update ios-audiobook-overdrive

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Fix build  (#422)

* Update ios-audiobook-overdrive

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

---------

Co-authored-by: Jonathan Green <[email protected]>

* Revert "[PP-1064] Audiobook infrastructure (#426)"

This reverts commit 4479a3c.

* Update Palace-Info.plist (#432)

* Clean up

* Update ios-audiobooktoolkit

* Update libraries

* [PP-1597] Performance enhancements (#459)

* Update upload-on-merge.yml

* Update check-build-number.yml

* PP-1059 Refactor audiobooks (#425)

* Update Audiobook classes

* building open access happy path

* Launch audiobook from delegate extension

* Merge hotfix into main version 1.0.37 (#414)

* Fix OOM issue appearing on iPhone XR

This could potentially be an issue on other devices as well, since
we are trying to load a large binary into memory to try to parse
it as json. In the case of LCP this isn't what we want to do.

* Rebase off of main (#411)

* Update check-build-number.yml (#410)

What's this do?
Updates workflows

Why are we doing this? (w/ Notion link if applicable)
To support pushing TestFlight builds for merges into the hotfix branch

* Update upload-on-merge.yml (#409)

* Update build #

* Update project.pbxproj (#413)

Bump marketing version to create build

* Update project.pbxproj

---------

Co-authored-by: Jonathan Green <[email protected]>

* Update project.pbxproj (#415)

Revert version and build numbers

* Update TPPBookCellDelegate+Extensions.swift

* Integrate updated audiobook changes

* Update check-build-number.yml

* Update upload-on-merge.yml

* Clean up

* Update .gitmodules

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Delete ios-drm-audioengine

* Update scripts

* Update ios-audiobooktoolkit

* Update AudiobookBookmarkBusinessLogicTests.swift

* [PP-1059] Integrates refactor of Audiobook Library (#416)

* Update Audiobook classes

* building open access happy path

* Launch audiobook from delegate extension

* Update TPPBookCellDelegate+Extensions.swift

* Integrate updated audiobook changes

* Clean up

* Update .gitmodules

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Delete ios-drm-audioengine

* Update scripts

* Update ios-audiobooktoolkit

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit abe6dc1.

* Update project.pbxproj

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit 9aca779.

* Restore Build (#417)

* Update Audiobook classes

* building open access happy path

* Launch audiobook from delegate extension

* Update TPPBookCellDelegate+Extensions.swift

* Integrate updated audiobook changes

* Clean up

* Update .gitmodules

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Delete ios-drm-audioengine

* Update scripts

* Update ios-audiobooktoolkit

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit abe6dc1.

* Update project.pbxproj

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit 9aca779.

* Update ios-audiobook-overdrive

* Reapply "Update project.pbxproj"

This reverts commit 7ed72dd.

* Revert "Restore Build (#417)"

This reverts commit 933de16.

* Update ios-audiobook-overdrive (#419)

* Fix build (#420)

* Update ios-audiobook-overdrive

* Update project.pbxproj

* Fix build (#421)

* Update ios-audiobook-overdrive

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Fix build  (#422)

* Update ios-audiobook-overdrive

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

---------

Co-authored-by: Jonathan Green <[email protected]>

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit 5914ae4.

* Merge branch 'develop' into beta

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update Fastfile

* Bump version number, update audiobooktoolkit

* Integrate updated library, resolve cookie reset bug (#427)

* [PP-1281] Threading improvements #2 (#428)

* Integrate updated library, resolve cookie reset bug

* Bump version integrate updated library

* Update project.pbxproj

* Update project.pbxproj

* [PP-1281] Clean up and performance improvements #3 (#429)

* Integrate updated library, resolve cookie reset bug

* Bump version integrate updated library

* Update project.pbxproj

* Update project.pbxproj

* Improve image mapping and other performance/threading improvements

* Update TPPNetworkExecutor.swift

* Update project.pbxproj

* Update project.pbxproj

* [PP-1068] Refactor track position and annotations (#430)

* Integrate updated library, resolve cookie reset bug

* Bump version integrate updated library

* Update project.pbxproj

* Update project.pbxproj

* Improve image mapping and other performance/threading improvements

* Update TPPNetworkExecutor.swift

* Update project.pbxproj

* Update project.pbxproj

* Working track position loading, restore tests

* update track positions and bookmarks

* Update ios-audiobooktoolkit

* Clean up

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Clean up tests

* Resolve outstanding issues

* Update AudiobookBookmarkBusinessLogicTests.swift

* Clean up tests

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update Palace.xcscheme

* [PP-1068] Refactor track position and annotations (#431)

* Integrate updated library, resolve cookie reset bug

* Bump version integrate updated library

* Update project.pbxproj

* Update project.pbxproj

* Improve image mapping and other performance/threading improvements

* Update TPPNetworkExecutor.swift

* Update project.pbxproj

* Update project.pbxproj

* Working track position loading, restore tests

* update track positions and bookmarks

* Update ios-audiobooktoolkit

* Clean up

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Clean up tests

* Resolve outstanding issues

* Update AudiobookBookmarkBusinessLogicTests.swift

* Clean up tests

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update Palace.xcscheme

* bump build and revert debug code

* Update project.pbxproj

* Update project.pbxproj

* [PP-1068] Resolve issues with annotation back support (#433)

* Integrate updated library, resolve cookie reset bug

* Bump version integrate updated library

* Update project.pbxproj

* Update project.pbxproj

* Improve image mapping and other performance/threading improvements

* Update TPPNetworkExecutor.swift

* Update project.pbxproj

* Update project.pbxproj

* Working track position loading, restore tests

* update track positions and bookmarks

* Update ios-audiobooktoolkit

* Clean up

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Clean up tests

* Resolve outstanding issues

* Update AudiobookBookmarkBusinessLogicTests.swift

* Clean up tests

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update Palace.xcscheme

* bump build and revert debug code

* Update project.pbxproj

* Update project.pbxproj

* Update Palace-Info.plist

* Support old bookmarks

* Revert test changes

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPReadiumBookmark.swift

* send emails to palace (#434)

* Update dependencies and build number (#435)

* [PP-1372][PP-1371]  download tracks in correct order, update lock screen copy (#436)

* Update dependencies and build number

* Resolve outstanding audiobook issues

* Update project.pbxproj

* Clean up

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* [PP-1373] Progressively decrypt LCPAudiobooks (#437)

* Update swift-toolkit

* Update ios-audiobooktoolkit

* Clean up

* Update TPPBookDetailsProblemDocumentViewController.swift (#438)

* Improve findaway download task to show progress updates (#439)

* [PP-1373] Prevent LCP audiobook lock on open (#440)

* Update swift-toolkit

* Update ios-audiobooktoolkit

* Clean up

* Fix LCP downloads and resolve errors on token refresh

* Update project.pbxproj

* Update project.pbxproj

* Update TPPNetworkExecutor.swift

* [PP-1405] Resolve crash on MyBooksView's SearchView (#441)

* Resolve search view controller crash issue

* Update project.pbxproj

* Resolve TOC navigation errors

* Resolve TOC navigation errors (#442)

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* [PP-1412] Properly map Feedbook audiobook manifests (#443)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* [PP-1373] LCP audiobooks freeze on startup (#444)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* [PP-1408] Show correct title for chapters (#445)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* [PP-1422] Properly display local annotations (#446)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* Ensure image update is not missed by callback

* Update project.pbxproj

* [PP-1364] Update image loader to avoid race condition (#447)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* Ensure image update is not missed by callback

* Update project.pbxproj

* Update TrackPosition+Annotations.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* [PP-1373] Resolve lcp delays (#448)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* Ensure image update is not missed by callback

* Update project.pbxproj

* Update TrackPosition+Annotations.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Properly map audiobookmarks to locator

* Working implementation

* Capture time stamp from outer element of locator

* Move location saving to background thread

* Resolve syncing issues to prevent over uploading bookmarks

* Add additional backward compatability support

* Restore tests

* Restore audibookmark tests

* Improve bookmark syncing logic and code clean up

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update AudioBookmark.swift

* Update TokenRequest.swift

* Update AudioBookmark.swift

* Update AudiobookmarkTests.swift

* [PP-1438] Restore cross platform annotations (#449)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* Ensure image update is not missed by callback

* Update project.pbxproj

* Update TrackPosition+Annotations.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Properly map audiobookmarks to locator

* Working implementation

* Capture time stamp from outer element of locator

* Move location saving to background thread

* Resolve syncing issues to prevent over uploading bookmarks

* Add additional backward compatability support

* Restore tests

* Restore audibookmark tests

* Improve bookmark syncing logic and code clean up

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update AudioBookmark.swift

* Update TokenRequest.swift

* Update AudioBookmark.swift

* Update AudiobookmarkTests.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* [PP-1519] Chapter navigation errors (#450)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* Ensure image update is not missed by callback

* Update project.pbxproj

* Update TrackPosition+Annotations.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Properly map audiobookmarks to locator

* Working implementation

* Capture time stamp from outer element of locator

* Move location saving to background thread

* Resolve syncing issues to prevent over uploading bookmarks

* Add additional backward compatability support

* Restore tests

* Restore audibookmark tests

* Improve bookmark syncing logic and code clean up

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update AudioBookmark.swift

* Update TokenRequest.swift

* Update AudioBookmark.swift

* Update AudiobookmarkTests.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* [PP-1510] Resolve overdrive duration issues (#451)

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Bump build number

* Update project.pbxproj

* Update project.pbxproj

* [PP-1519] Resolve outstanding chapter issues (#452)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* Ensure image update is not missed by callback

* Update project.pbxproj

* Update TrackPosition+Annotations.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Properly map audiobookmarks to locator

* Working implementation

* Capture time stamp from outer element of locator

* Move location saving to background thread

* Resolve syncing issues to prevent over uploading bookmarks

* Add additional backward compatability support

* Restore tests

* Restore audibookmark tests

* Improve bookmark syncing logic and code clean up

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update AudioBookmark.swift

* Update TokenRequest.swift

* Update AudioBookmark.swift

* Update AudiobookmarkTests.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Bump build number

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* [PP-1519] Chapter navigation errors (#453)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* Ensure image update is not missed by callback

* Update project.pbxproj

* Update TrackPosition+Annotations.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Properly map audiobookmarks to locator

* Working implementation

* Capture time stamp from outer element of locator

* Move location saving to background thread

* Resolve syncing issues to prevent over uploading bookmarks

* Add additional backward compatability support

* Restore tests

* Restore audibookmark tests

* Improve bookmark syncing logic and code clean up

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update AudioBookmark.swift

* Update TokenRequest.swift

* Update AudioBookmark.swift

* Update AudiobookmarkTests.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Bump build number

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Resolve UI lockup on NonLCP books

* Update project.pbxproj

* Update project.pbxproj

* Performance testing updates

* Performance Testing Clean up

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Clean up

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

---------

Co-authored-by: Jonathan Green <[email protected]>

* [PP-1559] Adjust preview link selection (#461)

* Update TPPOPDSEntry.m

* Update project.pbxproj

* [PP-1635] Resolve crash on sample overload (#462)

* Update TPPOPDSEntry.m

* Update project.pbxproj

* Prevent crash on multiple sample taps

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* [PP-1092] Books aren't removed from books view (#463)

* Update TPPBookCoverRegistry.swift

* Return books when expired

* Update project.pbxproj

* PP-1678] Restore playback tracker (#464)

* Restore playback tracker plus unit tests

* Update ios-audiobooktoolkit

* Revert "Restore playback tracker plus unit tests"

This reverts commit 85468a7.

* Reapply "Restore playback tracker plus unit tests"

This reverts commit 4bd9e47.

* Update project.pbxproj

* Update project.pbxproj

* Clean up

* Update AudiobookTrackerTests.swift

* Update Palace.xcscheme

* [PP-1707] Sets unique cache key on overdrive download task (#465)

* Update ios-audiobooktoolkit

* Update TPPBookCoverRegistry.swift

* Update project.pbxproj

* Update TPPBookCoverRegistry.swift

* [PP-1645] Performance improvements (#467)

* Update TPPBookCoverRegistry.swift

* Return books when expired

* Update project.pbxproj

* fixes in progress

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Clean up

* Clean up #2

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* [PP-1697] Add logging tool to time tracker (#468)

* Resolve time tracking issues and implement logger

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit 550f59a.

* Update project.pbxproj

* [PP-1722] Don't pause on background (#469)

* PP-1705 fetch bookmarks for pdfs

* Update project.pbxproj

* Update TPPAnnotationMock.swift

* Update TPPAnnotationMock.swift

* Update TPPAnnotationMock.swift

* [PP-1729] fix Xcode 16 build failure (#470)

* Enable logging on TestFlight and fix SQLite errors in XCode 16

* Update project.pbxproj

* Update TPPNetworkQueue.swift

* [PP-1670] Properly parse LCP titles (#471)

* Update LCP parsing

* Update project.pbxproj

* [PP-1672] Enables bluetooth player controls (#472)

* Integrate updated audiobook toolkit

* Update TPPBookmarkFactory.swift

* [PP-1758] Fix bookmark sync (#473)

* Resolve disappearing bookmarks

* Update Palace-Info.plist

* Update project.pbxproj

* Update TPPReaderBookmarksBusinessLogic.swift

* Restore tests

---------

Co-authored-by: Vladimir Fedorov <[email protected]>
Co-authored-by: Jonathan Green <[email protected]>
mauricecarrier7 added a commit that referenced this pull request Oct 10, 2024
* [PP-725] Improve epub search (#360)

* working implementation

* Correct search issues

* Update project.pbxproj

* Add PalaceUIKit library

* Update PalaceAudiobookToolkit module SHA

* [PP-553] Clean up corrupted audiobook error presentation (#363)

* working implementation

* Correct search issues

* Update project.pbxproj

* Prevent alert from being prematurely dismissed and  dismiss loading screen

* Update TPPBookButtonsView.m

* Update TPPBookButtonsView.m

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj (#364)

* Resolve modifier ambiguity by moving font modifiers into PalaceUIKit

* Font weight should be font modifier

* Add PalaceUIKit

* Build PalaceUIKit for distribution

* Update PalaceAudiobookToolkit module SHA

* Add color catalog

* Refactor settings main screen fonts

* Code documentation

* Apply Palace UIKit to EPUB serach view

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Bump project build number

* Fix typo

* Update PalaceAudiobookToolkit module SHA

* Implement search function for large encrypted documents

* Use lower-level search for large encrypted documents
Why: we decrypt smaller documents in memory, while larger files use CGPDF functions to decrypt blocks of file on the fly and therefore they can't be searched using PDFKit functions

* Move parser code to TPPPDFTextExtractor

* Compare lowercase search text

* Release resources

* [PP-725] Display all available sections in search results (#366)

* working implementation

* Correct search issues

* Update project.pbxproj

* update presentation of search options

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update PalaceAudiobookToolkit module SHA

* Bump project build number

* Set up team and signing certificate in PalaceUIKit (#368)

* [PP-694] Use token auth for annotations (#369)

* Update project.pbxproj

* Use token for annotations calls

* In progress token improvements

* Update project.pbxproj

* Update TPPAnnotations.swift

* Update NYPLNetworkExecutorMock.swift

* Clean up

* [PP-694] Use token auth for annotations (#370)

* Update project.pbxproj

* Use token for annotations calls

* In progress token improvements

* Update project.pbxproj

* Update TPPAnnotations.swift

* Update NYPLNetworkExecutorMock.swift

* Clean up

* Resolve login failure when attempting to update tokens

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update NYPLNetworkExecutorMock.swift

* [PP-746] Make annotation sync client side (#371)

* in progress

* Clean up annotation deletion, switch management and resolve infinite refresh call issue

* Update project.pbxproj

* [PP-755]  Update audiobook sampler (#372)

* in progress

* Clean up annotation deletion, switch management and resolve infinite refresh call issue

* Update project.pbxproj

* Update audiobook sampler

* Update project.pbxproj

* Update TPPBookButtonsView.h

* Update TPPBookButtonsView.h

* [PP-612] Resolves library switch error (#373)

* in progress

* Clean up annotation deletion, switch management and resolve infinite refresh call issue

* Update project.pbxproj

* Make sure closure is called after token refresh and opt out of token calls when request does not need authentication

* Clean up

* Remove unused logic

* Further clean up

* Update TPPBookDetailView.m

* Only attempt to update the token once per account switch

* Update project.pbxproj (#375)

* PP-799 Resolves error loading library error (#376)

* in progress

* Clean up annotation deletion, switch management and resolve infinite refresh call issue

* Update project.pbxproj

* Make sure closure is called after token refresh and opt out of token calls when request does not need authentication

* Clean up

* Remove unused logic

* Further clean up

* Update TPPBookDetailView.m

* Only attempt to update the token once per account switch

* Revert changes

* Update Account.swift

* Update project.pbxproj

* Update Account.swift

* Update project.pbxproj

* Update NYPLNetworkExecutorMock.swift

* Revert "PP-799 Resolves error loading library error (#376)"

This reverts commit 78226c4.

* [PP-612] Resolve outstanding token errors (#378)

* in progress

* Clean up annotation deletion, switch management and resolve infinite refresh call issue

* Update project.pbxproj

* Make sure closure is called after token refresh and opt out of token calls when request does not need authentication

* Clean up

* Remove unused logic

* Further clean up

* Update TPPBookDetailView.m

* Only attempt to update the token once per account switch

* Revert changes

* Update Account.swift

* Update project.pbxproj

* Update Account.swift

* Update project.pbxproj

* Update NYPLNetworkExecutorMock.swift

* Resolve token issues

* Clean up

* clean up

* [PP-811] Set audio player session to enable audiobook sample sound when silenced (#379)

* set audio player session to enable sound when silenced

* Update AudiobookSamplePlayer.swift

* [PP-813] Send more detailed user agent (#380)

* Update user agent to be more detailed

* Prevent loading loop on sample downloads

* Update sample toolbar posiiton on Ipad

* Update project.pbxproj

* [PP-790] Deletes local bookmarks when deleted remotely (#381)

* Modify annotation syncing to delete local annotations when removed from server

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update TPPAnnotations.swift

* Fix tests

* [PP-845] PDF search broken older versions ios (#383)

* Modify annotation syncing to delete local annotations when removed from server

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update TPPAnnotations.swift

* Fix tests

* Update TPPPDFSearchView.swift

* Update project.pbxproj

* Update project.pbxproj

* Update TPPPDFSearchView.swift

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj (#384)

* Update project.pbxproj (#385)

* Test updated release notes script (#386)

* Update project.pbxproj

* Update project.pbxproj

* Integrate updated audiobooktoolkit (#387)

* [PP-809] Minor clean up (#388)

* Integrate updated audiobooktoolkit

* Update toolkit with minor slider clean up

* Update project.pbxproj

* Update project.pbxproj

* [PP-809] Audiobook playback issues (#389)

* Integrate updated audiobooktoolkit

* Update toolkit with minor slider clean up

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Import updated library (#390)

* [PP-838][PP-839] Resolves token issues (#391)

* Import updated library

* Dont pass token on registry syncs and feed pulls

* Update project.pbxproj

* Update project.pbxproj

* Update MyBooksDownloadCenterTests.swift

* Update MyBooksDownloadCenterTests.swift

* Update MyBooksDownloadCenterTests.swift

* Update TPPSignInBusinessLogic.swift

* Update TPPSignInBusinessLogicTests.swift

* Update audioboook library (#392)

* [PP-934] Properly handles TOCs when the last chapter spans multiple files (#393)

* Update audioboook library

* Update LCPPassphraseAuthenticationService.swift

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update MyBooksDownloadCenterTests.swift

* [PP-948] improve large file downloads (#394)

* Update audioboook library

* Update LCPPassphraseAuthenticationService.swift

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update MyBooksDownloadCenterTests.swift

* leverage virtual memory when downloading large files to prevent crashes

* Update project.pbxproj

* Update LCPPassphraseAuthenticationService.swift

* [PP-934] Show return prompt on audiobook completion for LCPAudiobooks (#395)

* Update audioboook library

* Update LCPPassphraseAuthenticationService.swift

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update MyBooksDownloadCenterTests.swift

* Return to beginning of book at end of playback

* Integrate updated audibook library (#396)

* [PP-969]  Pauses audiobook after restarting (#397)

* Integrate updated audibook library

* Update ios-audiobooktoolkit

* Update project.pbxproj

* [PP-969] Improve last position syncing (#398)

* Integrate updated audibook library

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Improve position syncing

* Update project.pbxproj

* Update project.pbxproj

* [PP-861] Improve accessibility names (#399)

* Correct accessibility

* Update strings

* Update project.pbxproj

* Update project.pbxproj

* [PP-861] Correct accessibility names (#400)

* Correct accessibility

* Update strings

* Update project.pbxproj

* Update project.pbxproj

* Update audiobook library

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* [PP-994] [PP-995] Resolves audiobook playback issues (#401)

* Update dependencies

* Update project.pbxproj

* [PP-1013] listening position not saved after logout (#402)

* Ensure lsat listening position is saved with timestamp and prevent race condition on loading

* Update project.pbxproj

* [PP-1013] Ensure token is updated when fetching bookmarks (#403)

* Ensure lsat listening position is saved with timestamp and prevent race condition on loading

* Update project.pbxproj

* Ensure token is refreshed when fetching bookmarks

* Update project.pbxproj

* Update TPPNetworkExecutor.swift

* [PP-1013] Resolves listening position not saved after logout (#405)

* Ensure lsat listening position is saved with timestamp and prevent race condition on loading

* Update project.pbxproj

* Ensure token is refreshed when fetching bookmarks

* Update project.pbxproj

* Update TPPNetworkExecutor.swift

* Update bookmark syncing logic

* Refresh token on download failure

* improve token refresh logic

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update MyBooksDownloadCenter.swift

* [PP-1013] Listening position not saved after logout (#406)

* Ensure lsat listening position is saved with timestamp and prevent race condition on loading

* Update project.pbxproj

* Ensure token is refreshed when fetching bookmarks

* Update project.pbxproj

* Update TPPNetworkExecutor.swift

* Update bookmark syncing logic

* Refresh token on download failure

* improve token refresh logic

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update MyBooksDownloadCenter.swift

* Revert clean up change

* Update project.pbxproj

* Add a no adobe build target

* Fix OOM issue appearing on iPhone XR

This could potentially be an issue on other devices as well, since
we are trying to load a large binary into memory to try to parse
it as json. In the case of LCP this isn't what we want to do.

* Bump build numbe

* [PP-1064] Audiobook infrastructure (#426)

* Update Audiobook classes

* building open access happy path

* Launch audiobook from delegate extension

* Merge hotfix into main version 1.0.37 (#414)

* Fix OOM issue appearing on iPhone XR

This could potentially be an issue on other devices as well, since
we are trying to load a large binary into memory to try to parse
it as json. In the case of LCP this isn't what we want to do.

* Rebase off of main (#411)

* Update check-build-number.yml (#410)

What's this do?
Updates workflows

Why are we doing this? (w/ Notion link if applicable)
To support pushing TestFlight builds for merges into the hotfix branch

* Update upload-on-merge.yml (#409)

* Update build #

* Update project.pbxproj (#413)

Bump marketing version to create build

* Update project.pbxproj

---------

Co-authored-by: Jonathan Green <[email protected]>

* Update project.pbxproj (#415)

Revert version and build numbers

* Update TPPBookCellDelegate+Extensions.swift

* Integrate updated audiobook changes

* Update check-build-number.yml

* Update upload-on-merge.yml

* Clean up

* Update .gitmodules

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Delete ios-drm-audioengine

* Update scripts

* Update ios-audiobooktoolkit

* Update AudiobookBookmarkBusinessLogicTests.swift

* [PP-1059] Integrates refactor of Audiobook Library (#416)

* Update Audiobook classes

* building open access happy path

* Launch audiobook from delegate extension

* Update TPPBookCellDelegate+Extensions.swift

* Integrate updated audiobook changes

* Clean up

* Update .gitmodules

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Delete ios-drm-audioengine

* Update scripts

* Update ios-audiobooktoolkit

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit abe6dc1.

* Update project.pbxproj

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit 9aca779.

* Restore Build (#417)

* Update Audiobook classes

* building open access happy path

* Launch audiobook from delegate extension

* Update TPPBookCellDelegate+Extensions.swift

* Integrate updated audiobook changes

* Clean up

* Update .gitmodules

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Delete ios-drm-audioengine

* Update scripts

* Update ios-audiobooktoolkit

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit abe6dc1.

* Update project.pbxproj

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit 9aca779.

* Update ios-audiobook-overdrive

* Reapply "Update project.pbxproj"

This reverts commit 7ed72dd.

* Revert "Restore Build (#417)"

This reverts commit 933de16.

* Update ios-audiobook-overdrive (#419)

* Fix build (#420)

* Update ios-audiobook-overdrive

* Update project.pbxproj

* Fix build (#421)

* Update ios-audiobook-overdrive

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Fix build  (#422)

* Update ios-audiobook-overdrive

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

---------

Co-authored-by: Jonathan Green <[email protected]>

* Revert "[PP-1064] Audiobook infrastructure (#426)"

This reverts commit 4479a3c.

* Update Palace-Info.plist (#432)

* Clean up

* Update ios-audiobooktoolkit

* Update libraries

* [PP-1597] Performance enhancements (#459)

* Update upload-on-merge.yml

* Update check-build-number.yml

* PP-1059 Refactor audiobooks (#425)

* Update Audiobook classes

* building open access happy path

* Launch audiobook from delegate extension

* Merge hotfix into main version 1.0.37 (#414)

* Fix OOM issue appearing on iPhone XR

This could potentially be an issue on other devices as well, since
we are trying to load a large binary into memory to try to parse
it as json. In the case of LCP this isn't what we want to do.

* Rebase off of main (#411)

* Update check-build-number.yml (#410)

What's this do?
Updates workflows

Why are we doing this? (w/ Notion link if applicable)
To support pushing TestFlight builds for merges into the hotfix branch

* Update upload-on-merge.yml (#409)

* Update build #

* Update project.pbxproj (#413)

Bump marketing version to create build

* Update project.pbxproj

---------

Co-authored-by: Jonathan Green <[email protected]>

* Update project.pbxproj (#415)

Revert version and build numbers

* Update TPPBookCellDelegate+Extensions.swift

* Integrate updated audiobook changes

* Update check-build-number.yml

* Update upload-on-merge.yml

* Clean up

* Update .gitmodules

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Delete ios-drm-audioengine

* Update scripts

* Update ios-audiobooktoolkit

* Update AudiobookBookmarkBusinessLogicTests.swift

* [PP-1059] Integrates refactor of Audiobook Library (#416)

* Update Audiobook classes

* building open access happy path

* Launch audiobook from delegate extension

* Update TPPBookCellDelegate+Extensions.swift

* Integrate updated audiobook changes

* Clean up

* Update .gitmodules

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Delete ios-drm-audioengine

* Update scripts

* Update ios-audiobooktoolkit

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit abe6dc1.

* Update project.pbxproj

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit 9aca779.

* Restore Build (#417)

* Update Audiobook classes

* building open access happy path

* Launch audiobook from delegate extension

* Update TPPBookCellDelegate+Extensions.swift

* Integrate updated audiobook changes

* Clean up

* Update .gitmodules

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Delete ios-drm-audioengine

* Update scripts

* Update ios-audiobooktoolkit

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit abe6dc1.

* Update project.pbxproj

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit 9aca779.

* Update ios-audiobook-overdrive

* Reapply "Update project.pbxproj"

This reverts commit 7ed72dd.

* Revert "Restore Build (#417)"

This reverts commit 933de16.

* Update ios-audiobook-overdrive (#419)

* Fix build (#420)

* Update ios-audiobook-overdrive

* Update project.pbxproj

* Fix build (#421)

* Update ios-audiobook-overdrive

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Fix build  (#422)

* Update ios-audiobook-overdrive

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

---------

Co-authored-by: Jonathan Green <[email protected]>

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit 5914ae4.

* Merge branch 'develop' into beta

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update Fastfile

* Bump version number, update audiobooktoolkit

* Integrate updated library, resolve cookie reset bug (#427)

* [PP-1281] Threading improvements #2 (#428)

* Integrate updated library, resolve cookie reset bug

* Bump version integrate updated library

* Update project.pbxproj

* Update project.pbxproj

* [PP-1281] Clean up and performance improvements #3 (#429)

* Integrate updated library, resolve cookie reset bug

* Bump version integrate updated library

* Update project.pbxproj

* Update project.pbxproj

* Improve image mapping and other performance/threading improvements

* Update TPPNetworkExecutor.swift

* Update project.pbxproj

* Update project.pbxproj

* [PP-1068] Refactor track position and annotations (#430)

* Integrate updated library, resolve cookie reset bug

* Bump version integrate updated library

* Update project.pbxproj

* Update project.pbxproj

* Improve image mapping and other performance/threading improvements

* Update TPPNetworkExecutor.swift

* Update project.pbxproj

* Update project.pbxproj

* Working track position loading, restore tests

* update track positions and bookmarks

* Update ios-audiobooktoolkit

* Clean up

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Clean up tests

* Resolve outstanding issues

* Update AudiobookBookmarkBusinessLogicTests.swift

* Clean up tests

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update Palace.xcscheme

* [PP-1068] Refactor track position and annotations (#431)

* Integrate updated library, resolve cookie reset bug

* Bump version integrate updated library

* Update project.pbxproj

* Update project.pbxproj

* Improve image mapping and other performance/threading improvements

* Update TPPNetworkExecutor.swift

* Update project.pbxproj

* Update project.pbxproj

* Working track position loading, restore tests

* update track positions and bookmarks

* Update ios-audiobooktoolkit

* Clean up

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Clean up tests

* Resolve outstanding issues

* Update AudiobookBookmarkBusinessLogicTests.swift

* Clean up tests

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update Palace.xcscheme

* bump build and revert debug code

* Update project.pbxproj

* Update project.pbxproj

* [PP-1068] Resolve issues with annotation back support (#433)

* Integrate updated library, resolve cookie reset bug

* Bump version integrate updated library

* Update project.pbxproj

* Update project.pbxproj

* Improve image mapping and other performance/threading improvements

* Update TPPNetworkExecutor.swift

* Update project.pbxproj

* Update project.pbxproj

* Working track position loading, restore tests

* update track positions and bookmarks

* Update ios-audiobooktoolkit

* Clean up

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Clean up tests

* Resolve outstanding issues

* Update AudiobookBookmarkBusinessLogicTests.swift

* Clean up tests

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update Palace.xcscheme

* bump build and revert debug code

* Update project.pbxproj

* Update project.pbxproj

* Update Palace-Info.plist

* Support old bookmarks

* Revert test changes

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPReadiumBookmark.swift

* send emails to palace (#434)

* Update dependencies and build number (#435)

* [PP-1372][PP-1371]  download tracks in correct order, update lock screen copy (#436)

* Update dependencies and build number

* Resolve outstanding audiobook issues

* Update project.pbxproj

* Clean up

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* [PP-1373] Progressively decrypt LCPAudiobooks (#437)

* Update swift-toolkit

* Update ios-audiobooktoolkit

* Clean up

* Update TPPBookDetailsProblemDocumentViewController.swift (#438)

* Improve findaway download task to show progress updates (#439)

* [PP-1373] Prevent LCP audiobook lock on open (#440)

* Update swift-toolkit

* Update ios-audiobooktoolkit

* Clean up

* Fix LCP downloads and resolve errors on token refresh

* Update project.pbxproj

* Update project.pbxproj

* Update TPPNetworkExecutor.swift

* [PP-1405] Resolve crash on MyBooksView's SearchView (#441)

* Resolve search view controller crash issue

* Update project.pbxproj

* Resolve TOC navigation errors

* Resolve TOC navigation errors (#442)

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* [PP-1412] Properly map Feedbook audiobook manifests (#443)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* [PP-1373] LCP audiobooks freeze on startup (#444)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* [PP-1408] Show correct title for chapters (#445)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* [PP-1422] Properly display local annotations (#446)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* Ensure image update is not missed by callback

* Update project.pbxproj

* [PP-1364] Update image loader to avoid race condition (#447)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* Ensure image update is not missed by callback

* Update project.pbxproj

* Update TrackPosition+Annotations.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* [PP-1373] Resolve lcp delays (#448)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* Ensure image update is not missed by callback

* Update project.pbxproj

* Update TrackPosition+Annotations.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Properly map audiobookmarks to locator

* Working implementation

* Capture time stamp from outer element of locator

* Move location saving to background thread

* Resolve syncing issues to prevent over uploading bookmarks

* Add additional backward compatability support

* Restore tests

* Restore audibookmark tests

* Improve bookmark syncing logic and code clean up

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update AudioBookmark.swift

* Update TokenRequest.swift

* Update AudioBookmark.swift

* Update AudiobookmarkTests.swift

* [PP-1438] Restore cross platform annotations (#449)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* Ensure image update is not missed by callback

* Update project.pbxproj

* Update TrackPosition+Annotations.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Properly map audiobookmarks to locator

* Working implementation

* Capture time stamp from outer element of locator

* Move location saving to background thread

* Resolve syncing issues to prevent over uploading bookmarks

* Add additional backward compatability support

* Restore tests

* Restore audibookmark tests

* Improve bookmark syncing logic and code clean up

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update AudioBookmark.swift

* Update TokenRequest.swift

* Update AudioBookmark.swift

* Update AudiobookmarkTests.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* [PP-1519] Chapter navigation errors (#450)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* Ensure image update is not missed by callback

* Update project.pbxproj

* Update TrackPosition+Annotations.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Properly map audiobookmarks to locator

* Working implementation

* Capture time stamp from outer element of locator

* Move location saving to background thread

* Resolve syncing issues to prevent over uploading bookmarks

* Add additional backward compatability support

* Restore tests

* Restore audibookmark tests

* Improve bookmark syncing logic and code clean up

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update AudioBookmark.swift

* Update TokenRequest.swift

* Update AudioBookmark.swift

* Update AudiobookmarkTests.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* [PP-1510] Resolve overdrive duration issues (#451)

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Bump build number

* Update project.pbxproj

* Update project.pbxproj

* [PP-1519] Resolve outstanding chapter issues (#452)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* Ensure image update is not missed by callback

* Update project.pbxproj

* Update TrackPosition+Annotations.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Properly map audiobookmarks to locator

* Working implementation

* Capture time stamp from outer element of locator

* Move location saving to background thread

* Resolve syncing issues to prevent over uploading bookmarks

* Add additional backward compatability support

* Restore tests

* Restore audibookmark tests

* Improve bookmark syncing logic and code clean up

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update AudioBookmark.swift

* Update TokenRequest.swift

* Update AudioBookmark.swift

* Update AudiobookmarkTests.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Bump build number

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* [PP-1519] Chapter navigation errors (#453)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* Ensure image update is not missed by callback

* Update project.pbxproj

* Update TrackPosition+Annotations.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Properly map audiobookmarks to locator

* Working implementation

* Capture time stamp from outer element of locator

* Move location saving to background thread

* Resolve syncing issues to prevent over uploading bookmarks

* Add additional backward compatability support

* Restore tests

* Restore audibookmark tests

* Improve bookmark syncing logic and code clean up

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update AudioBookmark.swift

* Update TokenRequest.swift

* Update AudioBookmark.swift

* Update AudiobookmarkTests.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Bump build number

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Resolve UI lockup on NonLCP books

* Update project.pbxproj

* Update project.pbxproj

* Performance testing updates

* Performance Testing Clean up

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Clean up

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

---------

Co-authored-by: Jonathan Green <[email protected]>

* [PP-1559] Adjust preview link selection (#461)

* Update TPPOPDSEntry.m

* Update project.pbxproj

* [PP-1635] Resolve crash on sample overload (#462)

* Update TPPOPDSEntry.m

* Update project.pbxproj

* Prevent crash on multiple sample taps

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* [PP-1092] Books aren't removed from books view (#463)

* Update TPPBookCoverRegistry.swift

* Return books when expired

* Update project.pbxproj

* PP-1678] Restore playback tracker (#464)

* Restore playback tracker plus unit tests

* Update ios-audiobooktoolkit

* Revert "Restore playback tracker plus unit tests"

This reverts commit 85468a7.

* Reapply "Restore playback tracker plus unit tests"

This reverts commit 4bd9e47.

* Update project.pbxproj

* Update project.pbxproj

* Clean up

* Update AudiobookTrackerTests.swift

* Update Palace.xcscheme

* [PP-1707] Sets unique cache key on overdrive download task (#465)

* Update ios-audiobooktoolkit

* Update TPPBookCoverRegistry.swift

* Update project.pbxproj

* Update TPPBookCoverRegistry.swift

* [PP-1645] Performance improvements (#467)

* Update TPPBookCoverRegistry.swift

* Return books when expired

* Update project.pbxproj

* fixes in progress

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Clean up

* Clean up #2

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* [PP-1697] Add logging tool to time tracker (#468)

* Resolve time tracking issues and implement logger

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit 550f59a.

* Update project.pbxproj

* [PP-1722] Don't pause on background (#469)

* PP-1705 fetch bookmarks for pdfs

* Update project.pbxproj

* Update TPPAnnotationMock.swift

* Update TPPAnnotationMock.swift

* Update TPPAnnotationMock.swift

* [PP-1729] fix Xcode 16 build failure (#470)

* Enable logging on TestFlight and fix SQLite errors in XCode 16

* Update project.pbxproj

* Update TPPNetworkQueue.swift

* [PP-1670] Properly parse LCP titles (#471)

* Update LCP parsing

* Update project.pbxproj

* [PP-1672] Enables bluetooth player controls (#472)

* Integrate updated audiobook toolkit

* Update TPPBookmarkFactory.swift

* [PP-1758] Fix bookmark sync (#473)

* Resolve disappearing bookmarks

* Update Palace-Info.plist

* Update project.pbxproj

* Update TPPReaderBookmarksBusinessLogic.swift

* Restore tests

* [PP-1758] Bookmarks missing chapter names (#475)

* Pull bookmark titles from toc

* Resolve TPPBookRegistry crashes

* Revert "Resolve TPPBookRegistry crashes"

This reverts commit da3b884.

* Update project.pbxproj

* Update TPPBookRegistryMock.swift

* [PP-1801] Overdrive audiobook seek (#477)

* Update audiobook library, dont attempt token refresh if no token URL is provided

* Bump build and update library

* Update project.pbxproj

---------

Co-authored-by: Vladimir Fedorov <[email protected]>
Co-authored-by: Jonathan Green <[email protected]>
mauricecarrier7 added a commit that referenced this pull request Nov 22, 2024
* [PP-725] Improve epub search (#360)

* working implementation

* Correct search issues

* Update project.pbxproj

* Add PalaceUIKit library

* Update PalaceAudiobookToolkit module SHA

* [PP-553] Clean up corrupted audiobook error presentation (#363)

* working implementation

* Correct search issues

* Update project.pbxproj

* Prevent alert from being prematurely dismissed and  dismiss loading screen

* Update TPPBookButtonsView.m

* Update TPPBookButtonsView.m

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj (#364)

* Resolve modifier ambiguity by moving font modifiers into PalaceUIKit

* Font weight should be font modifier

* Add PalaceUIKit

* Build PalaceUIKit for distribution

* Update PalaceAudiobookToolkit module SHA

* Add color catalog

* Refactor settings main screen fonts

* Code documentation

* Apply Palace UIKit to EPUB serach view

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Palace UIKit

* Bump project build number

* Fix typo

* Update PalaceAudiobookToolkit module SHA

* Implement search function for large encrypted documents

* Use lower-level search for large encrypted documents
Why: we decrypt smaller documents in memory, while larger files use CGPDF functions to decrypt blocks of file on the fly and therefore they can't be searched using PDFKit functions

* Move parser code to TPPPDFTextExtractor

* Compare lowercase search text

* Release resources

* [PP-725] Display all available sections in search results (#366)

* working implementation

* Correct search issues

* Update project.pbxproj

* update presentation of search options

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update PalaceAudiobookToolkit module SHA

* Bump project build number

* Set up team and signing certificate in PalaceUIKit (#368)

* [PP-694] Use token auth for annotations (#369)

* Update project.pbxproj

* Use token for annotations calls

* In progress token improvements

* Update project.pbxproj

* Update TPPAnnotations.swift

* Update NYPLNetworkExecutorMock.swift

* Clean up

* [PP-694] Use token auth for annotations (#370)

* Update project.pbxproj

* Use token for annotations calls

* In progress token improvements

* Update project.pbxproj

* Update TPPAnnotations.swift

* Update NYPLNetworkExecutorMock.swift

* Clean up

* Resolve login failure when attempting to update tokens

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update NYPLNetworkExecutorMock.swift

* [PP-746] Make annotation sync client side (#371)

* in progress

* Clean up annotation deletion, switch management and resolve infinite refresh call issue

* Update project.pbxproj

* [PP-755]  Update audiobook sampler (#372)

* in progress

* Clean up annotation deletion, switch management and resolve infinite refresh call issue

* Update project.pbxproj

* Update audiobook sampler

* Update project.pbxproj

* Update TPPBookButtonsView.h

* Update TPPBookButtonsView.h

* [PP-612] Resolves library switch error (#373)

* in progress

* Clean up annotation deletion, switch management and resolve infinite refresh call issue

* Update project.pbxproj

* Make sure closure is called after token refresh and opt out of token calls when request does not need authentication

* Clean up

* Remove unused logic

* Further clean up

* Update TPPBookDetailView.m

* Only attempt to update the token once per account switch

* Update project.pbxproj (#375)

* PP-799 Resolves error loading library error (#376)

* in progress

* Clean up annotation deletion, switch management and resolve infinite refresh call issue

* Update project.pbxproj

* Make sure closure is called after token refresh and opt out of token calls when request does not need authentication

* Clean up

* Remove unused logic

* Further clean up

* Update TPPBookDetailView.m

* Only attempt to update the token once per account switch

* Revert changes

* Update Account.swift

* Update project.pbxproj

* Update Account.swift

* Update project.pbxproj

* Update NYPLNetworkExecutorMock.swift

* Revert "PP-799 Resolves error loading library error (#376)"

This reverts commit 78226c4.

* [PP-612] Resolve outstanding token errors (#378)

* in progress

* Clean up annotation deletion, switch management and resolve infinite refresh call issue

* Update project.pbxproj

* Make sure closure is called after token refresh and opt out of token calls when request does not need authentication

* Clean up

* Remove unused logic

* Further clean up

* Update TPPBookDetailView.m

* Only attempt to update the token once per account switch

* Revert changes

* Update Account.swift

* Update project.pbxproj

* Update Account.swift

* Update project.pbxproj

* Update NYPLNetworkExecutorMock.swift

* Resolve token issues

* Clean up

* clean up

* [PP-811] Set audio player session to enable audiobook sample sound when silenced (#379)

* set audio player session to enable sound when silenced

* Update AudiobookSamplePlayer.swift

* [PP-813] Send more detailed user agent (#380)

* Update user agent to be more detailed

* Prevent loading loop on sample downloads

* Update sample toolbar posiiton on Ipad

* Update project.pbxproj

* [PP-790] Deletes local bookmarks when deleted remotely (#381)

* Modify annotation syncing to delete local annotations when removed from server

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update TPPAnnotations.swift

* Fix tests

* [PP-845] PDF search broken older versions ios (#383)

* Modify annotation syncing to delete local annotations when removed from server

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update TPPAnnotations.swift

* Fix tests

* Update TPPPDFSearchView.swift

* Update project.pbxproj

* Update project.pbxproj

* Update TPPPDFSearchView.swift

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj (#384)

* Update project.pbxproj (#385)

* Test updated release notes script (#386)

* Update project.pbxproj

* Update project.pbxproj

* Integrate updated audiobooktoolkit (#387)

* [PP-809] Minor clean up (#388)

* Integrate updated audiobooktoolkit

* Update toolkit with minor slider clean up

* Update project.pbxproj

* Update project.pbxproj

* [PP-809] Audiobook playback issues (#389)

* Integrate updated audiobooktoolkit

* Update toolkit with minor slider clean up

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Import updated library (#390)

* [PP-838][PP-839] Resolves token issues (#391)

* Import updated library

* Dont pass token on registry syncs and feed pulls

* Update project.pbxproj

* Update project.pbxproj

* Update MyBooksDownloadCenterTests.swift

* Update MyBooksDownloadCenterTests.swift

* Update MyBooksDownloadCenterTests.swift

* Update TPPSignInBusinessLogic.swift

* Update TPPSignInBusinessLogicTests.swift

* Update audioboook library (#392)

* [PP-934] Properly handles TOCs when the last chapter spans multiple files (#393)

* Update audioboook library

* Update LCPPassphraseAuthenticationService.swift

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update MyBooksDownloadCenterTests.swift

* [PP-948] improve large file downloads (#394)

* Update audioboook library

* Update LCPPassphraseAuthenticationService.swift

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update MyBooksDownloadCenterTests.swift

* leverage virtual memory when downloading large files to prevent crashes

* Update project.pbxproj

* Update LCPPassphraseAuthenticationService.swift

* [PP-934] Show return prompt on audiobook completion for LCPAudiobooks (#395)

* Update audioboook library

* Update LCPPassphraseAuthenticationService.swift

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update MyBooksDownloadCenterTests.swift

* Return to beginning of book at end of playback

* Integrate updated audibook library (#396)

* [PP-969]  Pauses audiobook after restarting (#397)

* Integrate updated audibook library

* Update ios-audiobooktoolkit

* Update project.pbxproj

* [PP-969] Improve last position syncing (#398)

* Integrate updated audibook library

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Improve position syncing

* Update project.pbxproj

* Update project.pbxproj

* [PP-861] Improve accessibility names (#399)

* Correct accessibility

* Update strings

* Update project.pbxproj

* Update project.pbxproj

* [PP-861] Correct accessibility names (#400)

* Correct accessibility

* Update strings

* Update project.pbxproj

* Update project.pbxproj

* Update audiobook library

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* [PP-994] [PP-995] Resolves audiobook playback issues (#401)

* Update dependencies

* Update project.pbxproj

* [PP-1013] listening position not saved after logout (#402)

* Ensure lsat listening position is saved with timestamp and prevent race condition on loading

* Update project.pbxproj

* [PP-1013] Ensure token is updated when fetching bookmarks (#403)

* Ensure lsat listening position is saved with timestamp and prevent race condition on loading

* Update project.pbxproj

* Ensure token is refreshed when fetching bookmarks

* Update project.pbxproj

* Update TPPNetworkExecutor.swift

* [PP-1013] Resolves listening position not saved after logout (#405)

* Ensure lsat listening position is saved with timestamp and prevent race condition on loading

* Update project.pbxproj

* Ensure token is refreshed when fetching bookmarks

* Update project.pbxproj

* Update TPPNetworkExecutor.swift

* Update bookmark syncing logic

* Refresh token on download failure

* improve token refresh logic

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update MyBooksDownloadCenter.swift

* [PP-1013] Listening position not saved after logout (#406)

* Ensure lsat listening position is saved with timestamp and prevent race condition on loading

* Update project.pbxproj

* Ensure token is refreshed when fetching bookmarks

* Update project.pbxproj

* Update TPPNetworkExecutor.swift

* Update bookmark syncing logic

* Refresh token on download failure

* improve token refresh logic

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update MyBooksDownloadCenter.swift

* Revert clean up change

* Update project.pbxproj

* Add a no adobe build target

* Fix OOM issue appearing on iPhone XR

This could potentially be an issue on other devices as well, since
we are trying to load a large binary into memory to try to parse
it as json. In the case of LCP this isn't what we want to do.

* Bump build numbe

* [PP-1064] Audiobook infrastructure (#426)

* Update Audiobook classes

* building open access happy path

* Launch audiobook from delegate extension

* Merge hotfix into main version 1.0.37 (#414)

* Fix OOM issue appearing on iPhone XR

This could potentially be an issue on other devices as well, since
we are trying to load a large binary into memory to try to parse
it as json. In the case of LCP this isn't what we want to do.

* Rebase off of main (#411)

* Update check-build-number.yml (#410)

What's this do?
Updates workflows

Why are we doing this? (w/ Notion link if applicable)
To support pushing TestFlight builds for merges into the hotfix branch

* Update upload-on-merge.yml (#409)

* Update build #

* Update project.pbxproj (#413)

Bump marketing version to create build

* Update project.pbxproj

---------

Co-authored-by: Jonathan Green <[email protected]>

* Update project.pbxproj (#415)

Revert version and build numbers

* Update TPPBookCellDelegate+Extensions.swift

* Integrate updated audiobook changes

* Update check-build-number.yml

* Update upload-on-merge.yml

* Clean up

* Update .gitmodules

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Delete ios-drm-audioengine

* Update scripts

* Update ios-audiobooktoolkit

* Update AudiobookBookmarkBusinessLogicTests.swift

* [PP-1059] Integrates refactor of Audiobook Library (#416)

* Update Audiobook classes

* building open access happy path

* Launch audiobook from delegate extension

* Update TPPBookCellDelegate+Extensions.swift

* Integrate updated audiobook changes

* Clean up

* Update .gitmodules

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Delete ios-drm-audioengine

* Update scripts

* Update ios-audiobooktoolkit

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit abe6dc1.

* Update project.pbxproj

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit 9aca779.

* Restore Build (#417)

* Update Audiobook classes

* building open access happy path

* Launch audiobook from delegate extension

* Update TPPBookCellDelegate+Extensions.swift

* Integrate updated audiobook changes

* Clean up

* Update .gitmodules

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Delete ios-drm-audioengine

* Update scripts

* Update ios-audiobooktoolkit

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit abe6dc1.

* Update project.pbxproj

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit 9aca779.

* Update ios-audiobook-overdrive

* Reapply "Update project.pbxproj"

This reverts commit 7ed72dd.

* Revert "Restore Build (#417)"

This reverts commit 933de16.

* Update ios-audiobook-overdrive (#419)

* Fix build (#420)

* Update ios-audiobook-overdrive

* Update project.pbxproj

* Fix build (#421)

* Update ios-audiobook-overdrive

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Fix build  (#422)

* Update ios-audiobook-overdrive

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

---------

Co-authored-by: Jonathan Green <[email protected]>

* Revert "[PP-1064] Audiobook infrastructure (#426)"

This reverts commit 4479a3c.

* Update Palace-Info.plist (#432)

* Clean up

* Update ios-audiobooktoolkit

* Update libraries

* [PP-1597] Performance enhancements (#459)

* Update upload-on-merge.yml

* Update check-build-number.yml

* PP-1059 Refactor audiobooks (#425)

* Update Audiobook classes

* building open access happy path

* Launch audiobook from delegate extension

* Merge hotfix into main version 1.0.37 (#414)

* Fix OOM issue appearing on iPhone XR

This could potentially be an issue on other devices as well, since
we are trying to load a large binary into memory to try to parse
it as json. In the case of LCP this isn't what we want to do.

* Rebase off of main (#411)

* Update check-build-number.yml (#410)

What's this do?
Updates workflows

Why are we doing this? (w/ Notion link if applicable)
To support pushing TestFlight builds for merges into the hotfix branch

* Update upload-on-merge.yml (#409)

* Update build #

* Update project.pbxproj (#413)

Bump marketing version to create build

* Update project.pbxproj

---------

Co-authored-by: Jonathan Green <[email protected]>

* Update project.pbxproj (#415)

Revert version and build numbers

* Update TPPBookCellDelegate+Extensions.swift

* Integrate updated audiobook changes

* Update check-build-number.yml

* Update upload-on-merge.yml

* Clean up

* Update .gitmodules

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Delete ios-drm-audioengine

* Update scripts

* Update ios-audiobooktoolkit

* Update AudiobookBookmarkBusinessLogicTests.swift

* [PP-1059] Integrates refactor of Audiobook Library (#416)

* Update Audiobook classes

* building open access happy path

* Launch audiobook from delegate extension

* Update TPPBookCellDelegate+Extensions.swift

* Integrate updated audiobook changes

* Clean up

* Update .gitmodules

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Delete ios-drm-audioengine

* Update scripts

* Update ios-audiobooktoolkit

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit abe6dc1.

* Update project.pbxproj

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit 9aca779.

* Restore Build (#417)

* Update Audiobook classes

* building open access happy path

* Launch audiobook from delegate extension

* Update TPPBookCellDelegate+Extensions.swift

* Integrate updated audiobook changes

* Clean up

* Update .gitmodules

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Delete ios-drm-audioengine

* Update scripts

* Update ios-audiobooktoolkit

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit abe6dc1.

* Update project.pbxproj

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit 9aca779.

* Update ios-audiobook-overdrive

* Reapply "Update project.pbxproj"

This reverts commit 7ed72dd.

* Revert "Restore Build (#417)"

This reverts commit 933de16.

* Update ios-audiobook-overdrive (#419)

* Fix build (#420)

* Update ios-audiobook-overdrive

* Update project.pbxproj

* Fix build (#421)

* Update ios-audiobook-overdrive

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Fix build  (#422)

* Update ios-audiobook-overdrive

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

---------

Co-authored-by: Jonathan Green <[email protected]>

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit 5914ae4.

* Merge branch 'develop' into beta

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update Fastfile

* Bump version number, update audiobooktoolkit

* Integrate updated library, resolve cookie reset bug (#427)

* [PP-1281] Threading improvements #2 (#428)

* Integrate updated library, resolve cookie reset bug

* Bump version integrate updated library

* Update project.pbxproj

* Update project.pbxproj

* [PP-1281] Clean up and performance improvements #3 (#429)

* Integrate updated library, resolve cookie reset bug

* Bump version integrate updated library

* Update project.pbxproj

* Update project.pbxproj

* Improve image mapping and other performance/threading improvements

* Update TPPNetworkExecutor.swift

* Update project.pbxproj

* Update project.pbxproj

* [PP-1068] Refactor track position and annotations (#430)

* Integrate updated library, resolve cookie reset bug

* Bump version integrate updated library

* Update project.pbxproj

* Update project.pbxproj

* Improve image mapping and other performance/threading improvements

* Update TPPNetworkExecutor.swift

* Update project.pbxproj

* Update project.pbxproj

* Working track position loading, restore tests

* update track positions and bookmarks

* Update ios-audiobooktoolkit

* Clean up

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Clean up tests

* Resolve outstanding issues

* Update AudiobookBookmarkBusinessLogicTests.swift

* Clean up tests

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update Palace.xcscheme

* [PP-1068] Refactor track position and annotations (#431)

* Integrate updated library, resolve cookie reset bug

* Bump version integrate updated library

* Update project.pbxproj

* Update project.pbxproj

* Improve image mapping and other performance/threading improvements

* Update TPPNetworkExecutor.swift

* Update project.pbxproj

* Update project.pbxproj

* Working track position loading, restore tests

* update track positions and bookmarks

* Update ios-audiobooktoolkit

* Clean up

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Clean up tests

* Resolve outstanding issues

* Update AudiobookBookmarkBusinessLogicTests.swift

* Clean up tests

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update Palace.xcscheme

* bump build and revert debug code

* Update project.pbxproj

* Update project.pbxproj

* [PP-1068] Resolve issues with annotation back support (#433)

* Integrate updated library, resolve cookie reset bug

* Bump version integrate updated library

* Update project.pbxproj

* Update project.pbxproj

* Improve image mapping and other performance/threading improvements

* Update TPPNetworkExecutor.swift

* Update project.pbxproj

* Update project.pbxproj

* Working track position loading, restore tests

* update track positions and bookmarks

* Update ios-audiobooktoolkit

* Clean up

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Clean up tests

* Resolve outstanding issues

* Update AudiobookBookmarkBusinessLogicTests.swift

* Clean up tests

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update AudiobookBookmarkBusinessLogicTests.swift

* Update Palace.xcscheme

* bump build and revert debug code

* Update project.pbxproj

* Update project.pbxproj

* Update Palace-Info.plist

* Support old bookmarks

* Revert test changes

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPReadiumBookmark.swift

* send emails to palace (#434)

* Update dependencies and build number (#435)

* [PP-1372][PP-1371]  download tracks in correct order, update lock screen copy (#436)

* Update dependencies and build number

* Resolve outstanding audiobook issues

* Update project.pbxproj

* Clean up

* Update project.pbxproj

* Update AudiobookBookmarkBusinessLogicTests.swift

* [PP-1373] Progressively decrypt LCPAudiobooks (#437)

* Update swift-toolkit

* Update ios-audiobooktoolkit

* Clean up

* Update TPPBookDetailsProblemDocumentViewController.swift (#438)

* Improve findaway download task to show progress updates (#439)

* [PP-1373] Prevent LCP audiobook lock on open (#440)

* Update swift-toolkit

* Update ios-audiobooktoolkit

* Clean up

* Fix LCP downloads and resolve errors on token refresh

* Update project.pbxproj

* Update project.pbxproj

* Update TPPNetworkExecutor.swift

* [PP-1405] Resolve crash on MyBooksView's SearchView (#441)

* Resolve search view controller crash issue

* Update project.pbxproj

* Resolve TOC navigation errors

* Resolve TOC navigation errors (#442)

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* [PP-1412] Properly map Feedbook audiobook manifests (#443)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* [PP-1373] LCP audiobooks freeze on startup (#444)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* [PP-1408] Show correct title for chapters (#445)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* [PP-1422] Properly display local annotations (#446)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* Ensure image update is not missed by callback

* Update project.pbxproj

* [PP-1364] Update image loader to avoid race condition (#447)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* Ensure image update is not missed by callback

* Update project.pbxproj

* Update TrackPosition+Annotations.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* [PP-1373] Resolve lcp delays (#448)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* Ensure image update is not missed by callback

* Update project.pbxproj

* Update TrackPosition+Annotations.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Properly map audiobookmarks to locator

* Working implementation

* Capture time stamp from outer element of locator

* Move location saving to background thread

* Resolve syncing issues to prevent over uploading bookmarks

* Add additional backward compatability support

* Restore tests

* Restore audibookmark tests

* Improve bookmark syncing logic and code clean up

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update AudioBookmark.swift

* Update TokenRequest.swift

* Update AudioBookmark.swift

* Update AudiobookmarkTests.swift

* [PP-1438] Restore cross platform annotations (#449)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* Ensure image update is not missed by callback

* Update project.pbxproj

* Update TrackPosition+Annotations.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Properly map audiobookmarks to locator

* Working implementation

* Capture time stamp from outer element of locator

* Move location saving to background thread

* Resolve syncing issues to prevent over uploading bookmarks

* Add additional backward compatability support

* Restore tests

* Restore audibookmark tests

* Improve bookmark syncing logic and code clean up

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update AudioBookmark.swift

* Update TokenRequest.swift

* Update AudioBookmark.swift

* Update AudiobookmarkTests.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* [PP-1519] Chapter navigation errors (#450)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* Ensure image update is not missed by callback

* Update project.pbxproj

* Update TrackPosition+Annotations.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Properly map audiobookmarks to locator

* Working implementation

* Capture time stamp from outer element of locator

* Move location saving to background thread

* Resolve syncing issues to prevent over uploading bookmarks

* Add additional backward compatability support

* Restore tests

* Restore audibookmark tests

* Improve bookmark syncing logic and code clean up

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update AudioBookmark.swift

* Update TokenRequest.swift

* Update AudioBookmark.swift

* Update AudiobookmarkTests.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* [PP-1510] Resolve overdrive duration issues (#451)

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Bump build number

* Update project.pbxproj

* Update project.pbxproj

* [PP-1519] Resolve outstanding chapter issues (#452)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* Ensure image update is not missed by callback

* Update project.pbxproj

* Update TrackPosition+Annotations.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Properly map audiobookmarks to locator

* Working implementation

* Capture time stamp from outer element of locator

* Move location saving to background thread

* Resolve syncing issues to prevent over uploading bookmarks

* Add additional backward compatability support

* Restore tests

* Restore audibookmark tests

* Improve bookmark syncing logic and code clean up

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update AudioBookmark.swift

* Update TokenRequest.swift

* Update AudioBookmark.swift

* Update AudiobookmarkTests.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Bump build number

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* [PP-1519] Chapter navigation errors (#453)

* Resolve TOC navigation errors

* integrate updated audiobook toolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update TPPBookCellDelegate+Extensions.swift

* Update ios-audiobooktoolkit

* Prevent LCP lock on startup

* Update project.pbxproj

* Resolve token refresh issue

* add pretty printing extension for debugging

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update ios-audiobooktoolkit

* Multiple fixes

* merge in dev

* Update project.pbxproj

* Clean up

* Ensure image update is not missed by callback

* Update project.pbxproj

* Update TrackPosition+Annotations.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Properly map audiobookmarks to locator

* Working implementation

* Capture time stamp from outer element of locator

* Move location saving to background thread

* Resolve syncing issues to prevent over uploading bookmarks

* Add additional backward compatability support

* Restore tests

* Restore audibookmark tests

* Improve bookmark syncing logic and code clean up

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Update AudioBookmark.swift

* Update TokenRequest.swift

* Update AudioBookmark.swift

* Update AudiobookmarkTests.swift

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Bump build number

* Update project.pbxproj

* Update project.pbxproj

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Resolve UI lockup on NonLCP books

* Update project.pbxproj

* Update project.pbxproj

* Performance testing updates

* Performance Testing Clean up

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Clean up

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

---------

Co-authored-by: Jonathan Green <[email protected]>

* [PP-1559] Adjust preview link selection (#461)

* Update TPPOPDSEntry.m

* Update project.pbxproj

* [PP-1635] Resolve crash on sample overload (#462)

* Update TPPOPDSEntry.m

* Update project.pbxproj

* Prevent crash on multiple sample taps

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* [PP-1092] Books aren't removed from books view (#463)

* Update TPPBookCoverRegistry.swift

* Return books when expired

* Update project.pbxproj

* PP-1678] Restore playback tracker (#464)

* Restore playback tracker plus unit tests

* Update ios-audiobooktoolkit

* Revert "Restore playback tracker plus unit tests"

This reverts commit 85468a7.

* Reapply "Restore playback tracker plus unit tests"

This reverts commit 4bd9e47.

* Update project.pbxproj

* Update project.pbxproj

* Clean up

* Update AudiobookTrackerTests.swift

* Update Palace.xcscheme

* [PP-1707] Sets unique cache key on overdrive download task (#465)

* Update ios-audiobooktoolkit

* Update TPPBookCoverRegistry.swift

* Update project.pbxproj

* Update TPPBookCoverRegistry.swift

* [PP-1645] Performance improvements (#467)

* Update TPPBookCoverRegistry.swift

* Return books when expired

* Update project.pbxproj

* fixes in progress

* Update ios-audiobooktoolkit

* Update project.pbxproj

* Update project.pbxproj

* Clean up

* Clean up #2

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* [PP-1697] Add logging tool to time tracker (#468)

* Resolve time tracking issues and implement logger

* Update project.pbxproj

* Update project.pbxproj

* Update project.pbxproj

* Revert "Update project.pbxproj"

This reverts commit 550f59a.

* Update project.pbxproj

* [PP-1722] Don't pause on background (#469)

* PP-1705 fetch bookmarks for pdfs

* Update project.pbxproj

* Update TPPAnnotationMock.swift

* Update TPPAnnotationMock.swift

* Update TPPAnnotationMock.swift

* [PP-1729] fix Xcode 16 build failure (#470)

* Enable logging on TestFlight and fix SQLite errors in XCode 16

* Update project.pbxproj

* Update TPPNetworkQueue.swift

* [PP-1670] Properly parse LCP titles (#471)

* Update LCP parsing

* Update project.pbxproj

* [PP-1672] Enables bluetooth player controls (#472)

* Integrate updated audiobook toolkit

* Update TPPBookmarkFactory.swift

* [PP-1758] Fix bookmark sync (#473)

* Resolve disappearing bookmarks

* Update Palace-Info.plist

* Update project.pbxproj

* Update TPPReaderBookmarksBusinessLogic.swift

* Restore tests

* [PP-1758] Bookmarks missing chapter names (#475)

* Pull bookmark titles from toc

* Resolve TPPBookRegistry crashes

* Revert "Resolve TPPBookRegistry crashes"

This reverts commit da3b884.

* Update project.pbxproj

* Update TPPBookRegistryMock.swift

* [PP-1801] Overdrive audiobook seek (#477)

* Update audiobook library, dont attempt token refresh if no token URL is provided

* Bump build and update library

* [PP-1730] Implement SAML login indicator (#478)

* Implement SAML login indicator

* Removed updated code

* Update project.pbxproj

* Clean up and restore tests

* Update project.pbxproj

* Update project.pbxproj

---------

Co-authored-by: Vladimir Fedorov <[email protected]>
Co-authored-by: Jonathan Green <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant