Skip to content

feat(ecosystem): add status tracking for sources + refactor with key-fetch - #266

Merged
Gaubee merged 2 commits into
mainfrom
feat/ecosystem-source-status
Jan 21, 2026
Merged

Gaubee merged 2 commits into
mainfrom
feat/ecosystem-source-status

Conversation

@Gaubee

@Gaubee Gaubee commented Jan 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Fix SourceItem component missing useTranslation hook (runtime error causing page crash)
  • Add status/errorMessage fields to SourceRecord for loading state tracking
  • Immediately fetch source after adding subscription
  • Show loading/success/error status icons in SourceItem UI
  • Display precise timestamp (with seconds) for lastUpdated
  • Refactor registry.ts to use @biochain/key-fetch with etag/cache plugins
  • Unify SourceRecord type definition (export from stores/ecosystem)

Key Changes

New Fields in SourceRecord

export type SourceStatus = 'idle' | 'loading' | 'success' | 'error';

export interface SourceRecord {
  // ... existing fields
  status: SourceStatus;      // NEW
  errorMessage?: string;     // NEW
}

UI Improvements

  • Loading spinner while fetching
  • Success checkmark after successful fetch
  • Error icon with message on failure
  • Precise timestamp (e.g., 2026/1/21 17:39:18)

key-fetch Refactor

Replaced manual fetch + timeout + ETag handling (~100 lines) with declarative key-fetch configuration (~10 lines).

…fetch

- Fix SourceItem component missing useTranslation hook (runtime error)
- Add status/errorMessage fields to SourceRecord for loading state
- Immediately fetch source after adding subscription
- Show loading/success/error status icons in SourceItem UI
- Display precise timestamp (with seconds) for lastUpdated
- Refactor registry.ts to use @biochain/key-fetch with etag/cache plugins
- Unify SourceRecord type definition (export from stores/ecosystem)
@Gaubee
Gaubee merged commit 0ca3f98 into main Jan 21, 2026
5 checks passed
@Gaubee
Gaubee deleted the feat/ecosystem-source-status branch January 21, 2026 09:43
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