You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SeqSet citation author lists now retain up to ten names and use an ellipsis when additional contributors exist. This keeps citations readable without hiding normal-sized author lists.
The citation model now retains journal metadata from Crossref, persists it in the database, exposes it through the API, and displays it in public and administrative citation views. Manually curated citations can also supply a journal, including DOI metadata lookups.
Why
Citation views previously rendered every contributor, causing unusually long paper author lists to dominate the page. The backend also discarded Crossref journal metadata, leaving users without a key publication detail.
org.loculus.backend.service.crossref.CrossRefServiceTest --console=plain`
This is a clean, well-scoped change: adds a nullable journal column end-to-end (migration → API → DB service → frontend types/UI), and extracts a shared formatCitationContributors helper (with good spec coverage) to cap displayed author lists at 10 with an ellipsis, replacing duplicated inline formatting logic in AdminSeqSetCitationsTable.tsx and CitationTable.tsx.
Things I checked and confirmed are handled correctly:
All three write paths in SeqSetCitationsDatabaseService.kt (CrossRef upsert, curated add, and both read/select mappings) consistently include the new journal column — no path silently drops it.
The migration (V1.34__add_journal_to_seqset_citation_source.sql) is additive/nullable, matches schema.sql, and needs no backfill.
CrossRefService.kt's journal_title extraction follows the same selectFirst/blank-check pattern already used for doi, year, title, etc., and is exercised by the updated CrossRefServiceTest.
The journal display guard (!== undefined && !== null) is consistent with existing idioms elsewhere in the codebase (e.g. SeqSetItem.tsx), so no change needed there.
One minor point left as an inline comment on formatCitationContributors.ts: the ellipsis is shown even when only a single contributor would be hidden (11 → 10 shown + ...), which is likely intentional but worth a quick sanity check against the desired UX.
No security, performance, or test-coverage concerns found.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
SeqSet citation author lists now retain up to ten names and use an ellipsis when additional contributors exist. This keeps citations readable without hiding normal-sized author lists.
The citation model now retains journal metadata from Crossref, persists it in the database, exposes it through the API, and displays it in public and administrative citation views. Manually curated citations can also supply a journal, including DOI metadata lookups.
Why
Citation views previously rendered every contributor, causing unusually long paper author lists to dominate the page. The backend also discarded Crossref journal metadata, leaving users without a key publication detail.
org.loculus.backend.service.crossref.CrossRefServiceTest --console=plain`
Preview evidence
🚀 Preview: https://agent-seqset-citation-aut.loculus.org