Fork @filecoin-foundation/ui-filecoin into a new FilOzone repo to remove dependency on the FF monorepo
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
- Tipo di issue
- Refactoring
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- react, typescript
- Ambito
- developer-experience, frontend
Direzione di ricerca
Inizia esaminando la dipendenza attuale @filecoin-foundation/ui-filecoin e il relativo codice sorgente, quindi ispeziona i 60 file che la importano in filecoin-cloud, src/styles/globals.css e src/components/SiteLayout.tsx. Confronta questi consumer con apps/explorer/ e globals.css in filecoin-pay-explorer. Il lavoro è completato quando esiste un package FilOzone autonomo, entrambe le applicazioni lo utilizzano, l’avviso relativo al fork è stato pubblicato e le decisioni su ownership e pubblicazione sono state registrate.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Background
filecoin.cloud depends on @filecoin-foundation/ui-filecoin (^0.9.0), a React component library that lives inside the Filecoin Foundation monorepo at FilecoinFoundationWeb/filecoin-foundation. That monorepo also houses FF's public marketing sites (fil.org, ffdweb.org, uxit.fil.org), so the library is bundled together with unrelated website content.
Two structural problems have emerged:
- No maintainers. The FF UXIT team was wound down ~1–2 months ago and FF has no front-end engineers on staff. Per Gary (FF), IT ownership fell to Baldemar Loza, who isn't a UI/frontend engineer. The FF monorepo's CI has been failing for several months.
- Releases are bottlenecked by unrelated content. Because the library shares a repo + build/deploy pipeline with the public sites, an unrelated failure (e.g. a markdown syntax error on an FF marketing page) can block shipping a library fix that FOC needs.
This came to a head with #319 (prerelease Curio versions mis-rendered in the SP list). The fix required a change in the FF library (PR #2337), and getting that merged required two additional, unrelated PRs (#2343, #2344) just to unblock the monorepo. Discussion: Slack thread, analysis gist. Reaffirmed as a decision in the FOC WBR/ORR (Jun 17).
How deeply we depend on it
The dependency is pervasive. In filecoin-cloud (current main):
- 60 files with 135 import statements from
@filecoin-foundation/ui-filecoin. - ~50 distinct entry points used, spanning primitives and app-level systems:
- Primitives:
Button,Card/CardGrid/SimpleCard/LinkCard,Badge,Heading,Icon/IconButton,Container,Input,Checkbox,PageHeader,PageSection,SectionContent,Search/SearchInput,SlideOver,TextLink/*,CTALink,ButtonRow,FilterButton. - Systems/wrappers:
Navigation/*(menu, mobile nav, links, hooks),Footer/LegalSection,Network/*(NetworkSelector,useNetwork),Table/*(TanstackTable,CompactAddress,ID,SoftwareVersion,YesNoStatus),Markdown/*, state cards (EmptyStateCard,LoadingStateCard,ErrorStateCard),LogoSection/*,Section. - Global wiring:
src/styles/globals.cssdoes@import "@filecoin-foundation/ui-filecoin/styles", andsrc/components/SiteLayout.tsxcallssetUIConfig(...).
- Primitives:
filecoin-pay-explorer depends on it just as heavily (~40+ imports in apps/explorer/, plus @import ".../styles" in globals.css and a documented convention to build on ui-filecoin primitives). pdp-explorer does not use it.
So this isn't a leaf dependency — the design system, navigation, network selector, and table infrastructure all come from it, across two FOC apps.
Decision: fork into a new FilOzone repo
Three paths were floated (see gist):
- FF gets maintainers for the monorepo.
- FF extracts the library into its own repo and FOC WG co-maintains it.
- FOC forks the library.
Given FF has no maintainers and no near-term plan, we'll proceed with forking ui-filecoin into a new standalone repo in the FilOzone org, published as a package that both filecoin-cloud and filecoin-pay-explorer depend on. A dedicated repo (rather than inlining into filecoin-cloud) avoids forking twice and gives both consumers a single source of truth. (Options 1/2 remain preferable if FF engages — Steve is raising it with FF leadership; this fork is the defensive path forward.)
Tasks
- Confirm with FF (Gary / Baldemar Loza) that there's no library maintainer and no objection to forking. (Steve)
- Create the new repo in the FilOzone org (name TBD — e.g.
ui-filecoin/foc-ui) and seed it from the current@filecoin-foundation/ui-filecoinsource. - PR a notice ini FilecoinFoundationWeb/filecoin-foundation about the forked library so in case anyone engages with maintaining it in the FF repo, they become aware of the work that has happened in the fork.
- Decide publishing: npm package under a FilOzone-controlled scope vs. consumed directly.
- Migrate
filecoin-cloudto the forked package (60 files / 135 imports; includesstyles,setUIConfig,useNetwork/NetworkSelectorglobal wiring). - Migrate
filecoin-pay-explorer(apps/explorer/) to the forked package. - Name an owner/maintainer for the forked library (UXIT — Mirha, Charly, Barbara — did the original integration and are gone).
- Decide whether to carry the in-flight #319 fix (FF PR #2337) into the fork.
- Lingua principale
- TypeScript
- Stelle
- 4
- Fork
- 10
- Merge medio
- 4h 10m
- PR unite (30g)
- 13
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di FilOzone/filecoin-cloud
-
Link Checker ReportApertabroken-links
Difficoltà 2/5 1-3 ore Idoneità per principianti 58/100
FilOzone/filecoin-cloud#393 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 43/100
FilOzone/filecoin-cloud#391 ·
I maintainer di solito rispondono entro 1 giorno
-
Link Checker ReportApertabroken-links
Difficoltà 3/5 1-2 giorni Idoneità per principianti 52/100
FilOzone/filecoin-cloud#315 ·
I maintainer di solito rispondono entro 1 giorno
-
No validation for network configuration JSON (contract addresses, duplicate active versions, schema)Forse di nuovo libera @DarkLord017 l’ha presa 350 giorni fa e non c’è nessuna pull request aperta. Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
FilOzone/filecoin-cloud#48 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di FilOzone/filecoin-cloud
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
zapcooking/frontend#946 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
WiliamRosa/cosmos-semantic-platform#40 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
liberation-data/drivine#733 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
makecindy/cindy#10062 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno