Files
immich-folio/lib/journal.server.ts
Ralksta ad8b09700b release: v0.19.0
Release v0.19.0. See the `## [0.19.0] — 2026-09-29` section of
[CHANGELOG.md](https://github.com/ralksta/immich-folio/blob/dev/CHANGELOG.md)
for the full list.

Highlights: client proofing links (#683), custom content pages (#738),
asset picker search (#740), concurrent-edit detection (#742), env-locked
settings (#739), an accessibility baseline (#741), three security fixes
with advisories (#737, #755, #759), and a pre-release quality pass
(#780–#797).

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: ralksta <ralksta@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: Ralf <rohlenbo79@gmail.com>
Co-authored-by: Paul Thies <110185070+ImScheinox@users.noreply.github.com>
Co-authored-by: lancetm714 <108419425+lancetm714@users.noreply.github.com>
Co-authored-by: Lance Martin <lancetaylor95@gmail.com>
2026-09-29 22:50:30 +02:00

24 lines
1.1 KiB
TypeScript

/**
* Journal reads for server rendering, memoised for the length of one request.
*
* A journal page reads the same files from several places in one render: the
* header nav (`loadSiteNav()` in the root layout) lists every entry to decide
* whether Journal belongs in the menu, the page lists them again for its
* index or its prev/next links, and an entry's `generateMetadata()` reads the
* entry the page body reads a moment later. React's `cache()` hands all of
* them one result per request — each request still reads the files afresh,
* so an edit shows on the next page load as before.
*
* Render only: outside a React server render `cache()` does not memoise, and
* admin routes, which read back what they just wrote, keep calling
* `lib/admin/journal-service` directly. Callers must not mutate the results,
* which are shared.
*/
import { cache } from 'react';
import { listJournalEntries, readJournalEntry } from './admin/journal-service';
export const listJournalEntriesForRequest = cache(listJournalEntries);
export const readJournalEntryForRequest = cache(readJournalEntry);