Skip to content

Releases: fabiodalez-dev/Pinakes-Android

Pinakes Android v1.10.0 (debug)

Choose a tag to compare

@fabiodalez-dev fabiodalez-dev released this 21 Oct 20:48
cf98dd8

Pinakes Android 1.10.0 follows Pinakes 0.8.7: a loan request stops before a scheduled loan and says how long it can be. It needs a Pinakes server on 0.8.7 or later (Mobile API 1.8.2) for the new behaviour; on older servers the loan request works as in 1.9.0.

Loan requests

  • Bounded by a scheduled loan (#53, Pinakes #490): when a scheduled loan or a reservation on every copy begins inside the requested period, the request sheet ends the loan the day before, says how long it can be and from when the book is booked, and sends that return date to the server instead of a request it would refuse.
  • No possible loan: when the day right after the chosen start is already booked, the sheet says so and keeps the request button off.
  • The library's maximum: the window also stays within the maximum loan duration the library configured.
  • Tapping a red day in the calendar explains why it cannot be picked.

On Pinakes 0.8.6 the sheet does not shorten the loan, since that server ignores the requested return date.

No change to the local cache database, so no migration on update.

Pinakes Android v1.9.0 (debug)

Choose a tag to compare

@fabiodalez-dev fabiodalez-dev released this 21 Oct 09:39
81e554d

Pinakes Android 1.9.0 follows Pinakes 0.8.6: digital files with their own visibility, the return date of a loan request, and a clearer way to receive wanted titles. Every new field is optional, so on an older server the app keeps the 1.8.0 behaviour; the return date needs Pinakes 0.8.6 (Mobile API 1.8.1), and closed digital files need 0.8.6-rc.1 or later.

Digital files

  • A file the reader cannot open yet keeps its card, with the reason: sign in, or borrow the book. Staff-only files are not listed (#50, Pinakes #480).
  • Signed links are renewed on tap: links to protected files last about a day, and when one has expired the app asks the server for a fresh one instead of trusting the phone's clock. An audiobook that is playing keeps playing when another file of the same record is renewed.

Loans

  • The loan request sheet is a plain dialog styled after the web's loan calendar: the whole month fits, free days are plain numbers, limited and unavailable days keep their tint, and the buttons span the sheet (#46).
  • The return date is shown before the request is sent: the sheet reads "Start · Return by" from the library's configured loan duration. Older servers get a hint about the library's standard loan period instead of "about 1 month" (#51, Pinakes #485).

Admin area

  • Wanted titles: the row action reads "Receive" and asks before adding the copy. After receiving a wanted title or an offer, the app opens the record on the new copy, with the code the server assigned, to set its status and notes or print its label (#49).

No change to the local cache database, so no migration on update.

Pinakes Android v1.8.0 (debug)

Choose a tag to compare

@fabiodalez-dev fabiodalez-dev released this 14 Oct 20:07
f0a712a

Pinakes Android 1.8.0 brings an admin area for admin and staff accounts, an offline catalogue and a subscribable loans calendar. It needs a Pinakes server on 0.8.5 or later (Mobile API 1.7.0); on older servers the admin entries stay hidden and the app works as before.

Admin area

  • Cataloguing: ISBN/EAN scanner with batch mode, manual records, authors, publishers, genres, shelves, per-copy management with their own codes, series, merging duplicates, label PDFs, CSV and LibraryThing import, cover download and bulk enrichment.
  • Circulation desk: requests, pickups, active and overdue loans, reservations, with approve, pickup, return, renew and reminders. A copy is returned by scanning or typing its inventory label.
  • Plugin content: desiderata, archives, the periodicals desk (a camera scan keeps the issue add-on), book clubs, FRBR works and digital files.
  • Every write goes through the same server pipeline as the web forms, and carries an idempotency key so a retried request never lends a second copy.

For every reader

  • Offline catalogue: search and book pages work without a connection; loan buttons are hidden offline because availability cannot be confirmed.
  • Loans calendar: subscribe to your own loans and reservations from the profile.
  • The bottom navigation stays on the book page.
  • The book page explains that a title can be reviewed once it has been borrowed.
  • The app asks the server for its texts in the language picked in the app.

Closes #32, #33, #39.

Pinakes Android v1.8.0-rc.1 (debug)

Pre-release

Choose a tag to compare

@fabiodalez-dev fabiodalez-dev released this 14 Oct 10:27

Release candidate of Pinakes Android 1.8.0, built from the head of #47 (c4a4dc7). It is a prerelease: v1.6.2 stays the latest stable build.

What's new: a staff area for admin and staff accounts (cataloguing with ISBN/EAN scan, circulation, plugin content), an offline copy of the catalogue that stays in sync, and a calendar of your own loans that you can subscribe to.

Server: the staff area, offline sync and loans calendar need Pinakes 0.8.5-rc.1 (Mobile API 1.7.0). With an older server the app keeps working and hides those features.

Debug build, signed with the debug key: uninstall a Play Store build first if you have one. SHA-256: c6060dcf59a4a63ba3b3eb61e2aaa91b2237f9da0ba65d3f2ddd1aeae7c664b0

Pinakes Android v1.6.2 (debug)

Choose a tag to compare

@fabiodalez-dev fabiodalez-dev released this 12 Oct 20:18

A book that exists only in digital form is now shown as a digital edition: the app offers Read or Listen and no longer offers a physical reservation or calls it unavailable. Physical titles stay reservable when all their copies are out. A supplementary document alone, such as a table of contents or an errata PDF, does not make a book a digital edition (#44).

The PDF reader no longer leaves temporary files behind when a download fails, is cancelled or the reader is closed, and closing it while a page is rendering is safe. Audiobooks and PDFs now download through the same guarded connection, which checks every redirect and refuses a switch from HTTPS to plain HTTP.

The wanted-book page lists translators and other contributors separately from the authors, with their roles in your language, when the server is Pinakes 0.8.3 or later; older servers keep working as before. Main authors no longer carry a redundant "Author" label.

The Pullfrog review in CI retries with a fallback token when the primary one is unavailable (#40).

Works with any Pinakes server the 1.6.1 app supports. Version 1.6.2 (versionCode 19).

Pinakes Android v1.6.1 (debug)

Choose a tag to compare

@fabiodalez-dev fabiodalez-dev released this 10 Oct 01:14
34c09c5

On the book page the availability ("Available" / "On loan") now starts at the same left edge as the copies line and the Request loan / Reserve and Wishlist buttons, for available and unavailable books. It used to sit 8dp to the right, inside a pill whose colour is the box's own (#42). The same alignment was fixed on the web book page in Pinakes 0.8.2.

A Robolectric layout test measures the status dot, the copies line and the loan button on a laid-out phone screen, in both the debug and the release unit tests (#43).

Works with any Pinakes server the 1.6.0 app supports; no server update is required. Version 1.6.1 (versionCode 18).

Pinakes Android v1.6.0 (debug)

Pre-release

Choose a tag to compare

@fabiodalez-dev fabiodalez-dev released this 09 Oct 15:51
bf309e0

Debug build of Pinakes Android 1.6.0 (versionCode 17). Requires Pinakes 0.8.0 on the server.

  • The 2026 design of the website: the same typefaces, cover bindings for books without artwork, and colours derived from the library's theme.
  • Collections from the phone: archives, wanted titles (desiderata) and standalone articles, with their records, documents and citations.
  • Articles in the periodicals section, with the PDF, cover and the published resources (fabiodalez-dev/Pinakes#461).

Pinakes Android v1.5.2 (debug)

Pre-release

Choose a tag to compare

@fabiodalez-dev fabiodalez-dev released this 14 Sep 12:28

Reads the standalone articles introduced by Pinakes 0.7.84.

  • Articles that belong to no issue you own. The periodicals section lists them with search, masthead filter and paging, and opens a bibliographic detail with the host citation, identifiers and the public PDF when the library published one.
  • Nothing changes against an older server. The entry appears only when the server advertises capabilities.standalone_articles on /periodicals/health, so a library still on 0.7.83 sees the app exactly as before.
  • The PDF link comes from the server as an absolute URL; the app never builds a storage path.

Requires a library running Pinakes 0.7.84 with the Emeroteca and Mobile API plugins active.

This is a debug build for testing, signed with the debug key: it cannot be installed as an update over a release build, and it is not the Play Store artifact.

Pinakes Android v1.5.1 (debug)

Pre-release

Choose a tag to compare

@fabiodalez-dev fabiodalez-dev released this 09 Sep 14:17

Companion app for Pinakes — debug build.

What's new in 1.5.1

Four improvements to the Emeroteca (periodicals) section, from a review of the client/server contract against the plugin.

  • HTTP caching. The server sends an ETag on every periodicals request, but the app never revalidated: every refresh re-downloaded the whole payload. A 10 MB disk cache makes revalidation transparent, and the cache is cleared on sign-out and on instance switch so nothing survives across accounts.
  • Supplements are shown. The server exposes an issue's supplements note and the app was dropping it.
  • Truncated issue lists are flagged. The server caps a volume year at 400 issues; a long year used to look complete. A banner now says so, with the real count.
  • A missing issue is told apart from a disabled section. Both used to surface as the same generic error; the app now probes the health endpoint on a 404 and distinguishes "this issue no longer exists" from "the section is no longer available".

Six new interface strings in all four languages (English, Italian, French, German).

Server side

Works against any current Pinakes instance: the truncated flag is optional on the wire, and the sections appear only if the server exposes them. The matching server work ships in Pinakes 0.7.82.

Install

Download pinakes-1.5.1-debug.apk and allow installation from unknown sources. This is a debug build, signed with the debug key — it does not upgrade over a release-signed install.

Pinakes Android v1.5.0 (debug)

Pre-release

Choose a tag to compare

@fabiodalez-dev fabiodalez-dev released this 04 Sep 04:54

Novità

  • Nuova sezione Emeroteca: consultazione dei periodici catalogati dal plugin emeroteca del server (Pinakes 0.7.78+). Testate con ricerca e filtro per tipo, annate con consistenza e conteggi, fascicoli con stato per copia, spoglio degli articoli e apertura del PDF quando il fascicolo lo espone pubblicamente.
  • La sezione compare nel Profilo solo se il server la supporta: l'app sonda /api/v1/periodicals/health dopo l'accesso e resta invisibile su server senza il plugin o con versioni precedenti — nessun aggiornamento obbligatorio lato server.
  • Paginazione a cursore con caricamento progressivo e deduplica; ricerca con debounce; badge di stato colorati per posseduto / mancante / danneggiato / in restauro / atteso.
  • 57 nuove stringhe tradotte in italiano, inglese, francese e tedesco.

Richiede lato server: Pinakes 0.7.78 con i plugin Mobile API ed Emeroteca attivi. Su server precedenti l'app funziona come prima, senza la nuova sezione.

SHA-256: c22c57ac8cafd8bf7d8e4601105ba688c9a5f717c5341c985c474c15086728e3