Skip to content

Fix/source url fallback with minor UI#457

Merged
91jaeminjo merged 2 commits into
mainfrom
fix/source-url-fallback_with_minor_ui
Jul 24, 2026
Merged

Fix/source url fallback with minor UI#457
91jaeminjo merged 2 commits into
mainfrom
fix/source-url-fallback_with_minor_ui

Conversation

@91jaeminjo

Copy link
Copy Markdown
Collaborator

Summary

Reworks the document source link shown on citations, the room document listing, and the document filter, and revives the consumer-injectable browser-URL resolver as a permanent fallback.

Link precedence per surface:

  1. the backend viewer source_url (launchable http/https) → clickable BrowserUrlLink
  2. citations only: a URL derived from the document URI by a consumer-injected resolver → BrowserUrlLink
  3. otherwise the document URI as non-clickable text (never itself launchable), full value on hover

The document listing/filter read source_url directly and do not use the resolver.

Consumer seam

A deployment supplies its rule via standard(documentBrowserUrl: ...) / standardFlavor(documentBrowserUrl: ...), installed as a documentBrowserUrlResolverProvider override by a module. DocumentBrowserUrlResolver is exported; the provider stays internal. Resolver output is validated as http/https, and the call is guarded so a throwing resolver degrades to no link instead of crashing.

Also

  • Lobby sort options shortened to "None" / "Recent" / "Unread"; section headers get a stable key.
  • Malformed backend source_url is logged (distinct from absent); http(s) launch failures log at error.

Testing

  • flutter analyze: clean.
  • Frontend suite: 2176 pass (golden excluded).
  • soliplex_client: passes (4 pre-existing test/http/ real-TCP flakes only, untouched).

91jaeminjo and others added 2 commits July 24, 2026 14:36
Rename the lobby sort options to "Recent" and "Unread" and give the
recency/unread section headers a stable ValueKey so tests can target a
header independently of the identically-labelled sort option.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Prefer the backend viewer source_url for a document's source link. When
it is absent, derive the citation link from the document URI via a
consumer-injected resolver; otherwise show the URI as non-clickable text
(it is never itself launchable).

Expose the resolver as a seam through standard(documentBrowserUrl:) /
standardFlavor(...), installed as a documentBrowserUrlResolverProvider
override by a module, with the DocumentBrowserUrlResolver type on the
public API. Validate resolver output as an http/https URL and guard the
call so a throwing resolver degrades to no link. Log a malformed backend
source_url at the citation and document parse sites, and log an http(s)
launch failure as an error.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@91jaeminjo
91jaeminjo merged commit 2f84a55 into main Jul 24, 2026
6 checks passed
@91jaeminjo
91jaeminjo deleted the fix/source-url-fallback_with_minor_ui branch July 24, 2026 20:12
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