• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ThePalaceProject / web-patron / 29059342040
89%
main: 89%

Build:
Build:
LAST BUILD BRANCH: refs/tags/v0.13.1
DEFAULT BRANCH: main
Ran 10 Jul 2026 12:12AM UTC
Jobs 1
Files 16
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

09 Jul 2026 08:34PM UTC coverage: 88.501%. Remained the same
29059342040

push

github

web-flow
Parse loans feeds with entries with missing acquisition links (PP-4766) (#161)

## Description

- Classify each feed entry on its own instead of relying on
`opds-feed-parser`'s feed-level acquisition-vs-navigation
classification: an entry with a complete-entry link is parsed as a book;
other entries become navigation links, as before.
- Drop book entries that have no acquisition links at all, matching the
current behavior of the iOS and Android mobile apps.

## Motivation and Context

`opds-feed-parser` classifies a feed as an `AcquisitionFeed` only when
**every** entry has an acquisition link (aligned with OPDS 1.2
section2); otherwise the whole feed becomes a `NavigationFeed`. A loans
feed containing even a single title with no acquisition links (e.g., a
book borrowed in another system with a format unsupported in Palace) was
therefore classified as a navigation feed and every book in it was
turned into a navigation link (currently unhandled). So, the patron's My
Books page showed the empty-bookshelf message even though the feed
looked valid.

[Jira PP-4766]

## How Has This Been Tested?

- Manual testing in my local dev environment verifying that all holds
and loans with acquisition links were displayed on the My Books page of
the patron who was experiencing this issue.
- New unit test to verify the new behavior.
- All checks pass locally.
- [CI
checks](https://github.com/ThePalaceProject/web-patron/actions/runs/29046167591)
pass.

## Checklist:

- [x] I have updated the documentation accordingly.
- [x] All new and existing tests passed.

225 of 260 branches covered (86.54%)

Branch coverage included in aggregate %.

383 of 427 relevant lines covered (89.7%)

29.94 hits per line

Jobs
ID Job ID Ran Files Coverage
1 29059342040.1 10 Jul 2026 12:12AM UTC 16
88.5
GitHub Action Run
Source Files on build 29059342040
  • Tree
  • List 16
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 52875534 on github
  • Prev Build on main (#28957249081)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc