Skip to content

chore: Import w3ui into monorepo#138

Merged
Peeja merged 595 commits intomainfrom
import-w3ui
Mar 13, 2025
Merged

chore: Import w3ui into monorepo#138
Peeja merged 595 commits intomainfrom
import-w3ui

Conversation

@Peeja
Copy link
Copy Markdown
Member

@Peeja Peeja commented Jan 29, 2025

Importing w3ui has driven a lot of underlying changes to the monorepo work, so I think it's best to consider this as a whole. (Which is a very large whole, but that's fundamental repo changes for you.) So, look there for a longer description, but let's work on merging this one, which includes it.

Tip

This branch and PR technically include the entire git history of w3ui, so best to look over the changes starting from the point where it was imported.

How To Test

  • Run examples (@storacha/ui-example-*) locally and see them work.
  • Click through some TypeScript references between packages.
  • Look at the pretty CI results.
  • Run pnpm nx run-many -t typecheck lint build test depcheck locally.
  • Look over README changes and confirm they're correct and useful.

Remaining For Future PRs

These were too complex to include here, and were possible to break off.

travis and others added 30 commits March 24, 2023 09:40
switch on configured provider to show either the NFT.Storage logo or the
web3.storage asterisks
<img width="458" alt="Screenshot 2023-03-23 at 11 01 23 PM"
src="https://user-images.githubusercontent.com/1113/227437742-6dc45e1c-6f9c-46f1-b736-6cf263021515.png">
<img width="421" alt="Screenshot 2023-03-23 at 11 01 39 PM"
src="https://user-images.githubusercontent.com/1113/227437745-da92975a-3686-4537-a03b-5feb584918fb.png">
<img width="235" alt="Screenshot 2023-03-23 at 11 00 44 PM"
src="https://user-images.githubusercontent.com/1113/227437747-fea37c79-a738-4339-92f7-aad580343630.png">
<img width="233" alt="Screenshot 2023-03-23 at 11 00 29 PM"
src="https://user-images.githubusercontent.com/1113/227437748-c9a641e1-9ccf-472c-be69-1f70f8a1e1e1.png">
it was still talking about email verification for registering spaces,
and asking for an email. update it with all the latest good stuff

Co-authored-by: Alan Shaw <alan.shaw@protocol.ai>
Co-authored-by: Alan Shaw <alan.shaw@protocol.ai>
🤖 I have created a release *beep* *boop*
---


##
[1.3.0](storacha/w3ui@w3console-v1.2.0...w3console-v1.3.0)
(2023-03-24)


### Features

* add the NFT.Storage logo and make sure it looks nice
([#465](storacha/w3ui#465))
([975a4c5](storacha/w3ui@975a4c5))
* adjust language in register button
([#467](storacha/w3ui#467))
([871fa66](storacha/w3ui@871fa66))


### Bug Fixes

* get space registrar looking and acting right
([#466](storacha/w3ui#466))
([b36f7a5](storacha/w3ui@b36f7a5))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Alan Shaw <alan.shaw@protocol.ai>
pnpm install fails without this

fixes: storacha/w3ui#469

License: MIT

Signed-off-by: Oli Evans <oli@protocol.ai>
the colors match the login box, so are less jarring, and the cancel
button is hidden! it doesn't work yet! See next PR.

**after**
<img width="1582" alt="Screenshot 2023-03-24 at 14 41 25"
src="https://user-images.githubusercontent.com/58871/227556717-046a554e-72ff-47ce-a506-85cca7e40dd4.png">

**before**
<img width="1582" alt="Screenshot 2023-03-24 at 14 41 50"
src="https://user-images.githubusercontent.com/58871/227556789-970db3b7-7965-4164-941e-ef781b139d83.png">


License: MIT

Signed-off-by: Oli Evans <oli@protocol.ai>
🤖 I have created a release *beep* *boop*
---


##
[1.3.1](storacha/w3ui@w3console-v1.3.0...w3console-v1.3.1)
(2023-03-24)


### Bug Fixes

* w3console email check page improvements
([#471](storacha/w3ui#471))
([dedb337](storacha/w3ui@dedb337))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Unfortunately this also required some changes to the "keyring"
interfaces - shipping another major release based on these changes is
slightly annoying but probably the right thing to do, and honestly I'm
probably the only person who will need to upgrade deps for now.
🤖 I have created a release *beep* *boop*
---


##
[4.0.0](storacha/w3ui@keyring-core-v3.0.0...keyring-core-v4.0.0)
(2023-03-30)


### ⚠ BREAKING CHANGES

* update examples for new authorize flow
([#474](storacha/w3ui#474))

### Bug Fixes

* update examples for new authorize flow
([#474](storacha/w3ui#474))
([19dc158](storacha/w3ui@19dc158))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
🤖 I have created a release *beep* *boop*
---


##
[5.0.0](storacha/w3ui@react-keyring-v4.0.0...react-keyring-v5.0.0)
(2023-03-30)


### ⚠ BREAKING CHANGES

* update examples for new authorize flow
([#474](storacha/w3ui#474))

### Bug Fixes

* update examples for new authorize flow
([#474](storacha/w3ui#474))
([19dc158](storacha/w3ui@19dc158))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
🤖 I have created a release *beep* *boop*
---


##
[4.0.0](storacha/w3ui@vue-keyring-v3.0.0...vue-keyring-v4.0.0)
(2023-03-30)


### ⚠ BREAKING CHANGES

* update examples for new authorize flow
([#474](storacha/w3ui#474))

### Bug Fixes

* update examples for new authorize flow
([#474](storacha/w3ui#474))
([19dc158](storacha/w3ui@19dc158))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Travis Vachon <travis@dag.house>
🤖 I have created a release *beep* *boop*
---


##
[4.0.0](storacha/w3ui@solid-keyring-v3.0.0...solid-keyring-v4.0.0)
(2023-03-30)


### ⚠ BREAKING CHANGES

* update examples for new authorize flow
([#474](storacha/w3ui#474))

### Bug Fixes

* update examples for new authorize flow
([#474](storacha/w3ui#474))
([19dc158](storacha/w3ui@19dc158))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Travis Vachon <travis@dag.house>
Refactor a bit to make it easier to wrap terms and docs in the same
layout. Previously there was no link to get back to the main page from
terms, which was not great.

resolves #398 

<img width="1223" alt="Screenshot 2023-03-29 at 6 20 18 PM"
src="https://user-images.githubusercontent.com/1113/228703406-ba85501f-e841-47fe-a394-d5200b7f7eaf.png">


<img width="1226" alt="Screenshot 2023-03-29 at 6 16 11 PM"
src="https://user-images.githubusercontent.com/1113/228702897-10c48408-c112-4ca8-a488-da3ac6e981df.png">
🤖 I have created a release *beep* *boop*
---


##
[1.4.0](storacha/w3ui@w3console-v1.3.1...w3console-v1.4.0)
(2023-03-30)


### Features

* add docs page
([#477](storacha/w3ui#477))
([a4d3549](storacha/w3ui@a4d3549))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* update `@web3-storage/access` dep to make the minimum version the one
that has this new auth function
* use new polling-based auth function - auth feels muuuuuch faster in
local testing
🤖 I have created a release *beep* *boop*
---


##
[4.1.0](storacha/w3ui@keyring-core-v4.0.0...keyring-core-v4.1.0)
(2023-03-30)


### Features

* use new faster auth function
([#483](storacha/w3ui#483))
([f100ec2](storacha/w3ui@f100ec2))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
🤖 I have created a release *beep* *boop*
---


##
[5.1.0](storacha/w3ui@react-keyring-v5.0.0...react-keyring-v5.1.0)
(2023-03-30)


### Features

* use new faster auth function
([#483](storacha/w3ui#483))
([f100ec2](storacha/w3ui@f100ec2))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Travis Vachon <travis@dag.house>
🤖 I have created a release *beep* *boop*
---


##
[4.1.0](storacha/w3ui@vue-keyring-v4.0.0...vue-keyring-v4.1.0)
(2023-03-30)


### Features

* use new faster auth function
([#483](storacha/w3ui#483))
([f100ec2](storacha/w3ui@f100ec2))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Travis Vachon <travis@dag.house>
pushing this mostly to trigger a new production build, but I think it's
better to be consistent here
🤖 I have created a release *beep* *boop*
---


##
[1.4.1](storacha/w3ui@w3console-v1.4.0...w3console-v1.4.1)
(2023-03-30)


### Bug Fixes

* the tiniest of language tweaks!
([#488](storacha/w3ui#488))
([55357de](storacha/w3ui@55357de))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
🤖 I have created a release *beep* *boop*
---


##
[4.1.0](storacha/w3ui@solid-keyring-v4.0.0...solid-keyring-v4.1.0)
(2023-03-30)


### Features

* use new faster auth function
([#483](storacha/w3ui#483))
([f100ec2](storacha/w3ui@f100ec2))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Travis Vachon <travis@dag.house>
`test` was added to the `tsconfig.json` at some point and the types
output started to include the `test` directory instead of just the
contents of `src`.
Literally the string '{string}@{string}' 🙈
🤖 I have created a release *beep* *boop*
---


##
[4.1.1](storacha/w3ui@keyring-core-v4.1.0...keyring-core-v4.1.1)
(2023-03-30)


### Bug Fixes

* email type ([#492](storacha/w3ui#492))
([7cc6f30](storacha/w3ui@7cc6f30))
* types location
([#491](storacha/w3ui#491))
([8fc4915](storacha/w3ui@8fc4915))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Alan Shaw <alan.shaw@protocol.ai>
@travis travis requested a review from frrist February 14, 2025 23:08
TypeScript can take a directory name in its `include` field, but Nx also
uses that to determine which files are inputs, for calculating the cache
hash, and it *doesn't* support a directory name. Instead, it requires a
full glob.
@travis
Copy link
Copy Markdown
Contributor

travis commented Feb 19, 2025

I'm seeing a ton of build errors when I try to run pnpm nx run-many -t typecheck lint build test depcheck:

https://gist.github.com/travis/14415cefcf704cbc3aab1675eb1ee790

Any of that look familiar at all @Peeja ?

Copy link
Copy Markdown
Member

@fforbeck fforbeck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pnpm install works fine, but the build fails for me in the filecoin-api and upload-client projects, error: https://gist.github.com/fforbeck/9d74f127f5ddbbe1b5a29131a95fe62a

@travis
Copy link
Copy Markdown
Contributor

travis commented Feb 20, 2025

@fforbeck for what it's worth I was seeing similar issues, and they went away after I deleted the repo, re-cloned, checked out this branch and ran

pnpm install
pnpm nx run-many -t build

I suspect it was a caching issue, though I'm not sure precisely what the problem was

Copy link
Copy Markdown
Contributor

@travis travis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok I've been fiddling with this for a bit - I think it's ready to go!

id,
codec: CAR.outbound,
channel: HTTP.open<Service>({
url: new URL('https://up.web3.storage'),
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if this is a good time to switch to the new service endpoints - right now the default experience with w3ui is a little wonky because it tries to send you through the web3.storage email flow rather than the Storacha one and it's a little weird. I could definitely be convinced this should wait until this PR lands, but I went to look into the change today and figured it should probably just land here instead either in this PR or in a fast follow.

@fforbeck
Copy link
Copy Markdown
Member

@fforbeck for what it's worth I was seeing similar issues, and they went away after I deleted the repo, re-cloned, checked out this branch and ran

pnpm install
pnpm nx run-many -t build

I suspect it was a caching issue, though I'm not sure precisely what the problem was

@travis, I got it working now:

pnpm store prune
nx run-many --target=clean --all=true
pnpm install
nx run-many --target=build --all=true

Peeja added 18 commits February 21, 2025 16:17
`tsconfig`s can use a directory instead of a glob, but Nx can't, and it
uses the `include` value to compute input files for a project.
* origin/main:
  chore: update dependencies and expose new server options (#157)
* origin/import-w3ui:
  Restore linting
  chore: update dependencies and expose new server options (#157)
* origin/import-w3ui:
  Turn linting back off where broken
  Further clean up merge
Release the releaser!

### How to review:

* A good place to start is the `CONTRIBUTING.md` change. That explains
how this thing is meant to work.
* Then have a look at the new `release.yml`. It runs a script in the
`.github` directory, which orchestrates everything. That script (and its
helper modules) should be readable.
* That leaves a bit of configuration in `nx.json` which is commented.
* Also, there's a commit in here to fix some caching. In a less messy
change I'd probably make it its own PR or something, but this has been a
heck of a thing. It's segregated to its own commit, though, so you can
look at it separately.
@Peeja Peeja merged commit 8396ad0 into main Mar 13, 2025
2 checks passed
@Peeja Peeja deleted the import-w3ui branch March 13, 2025 15:02
travis added a commit that referenced this pull request Apr 16, 2025
🤖 I have created a release *beep* *boop*
---


##
[1.18.0](console-v1.17.6...console-v1.18.0)
(2025-04-16)


### Features

* Actually put error in console, as promised
([#131](#131))
([2f438d5](2f438d5))
* add a PNG version of our logo
([#153](#153))
([52a7854](52a7854))
* add old web3 storage migrator
([#129](#129))
([8cbd2bb](8cbd2bb))
* add Sentry error tracking
([#165](#165))
([5188e07](5188e07))
* change email
([b624f1d](b624f1d))
* **copy:** Add missing comma
([#115](#115))
([6e231eb](6e231eb))
* Improved layout styling, and other tales
([#114](#114))
([5484d36](5484d36))
* more styles
([a9f0172](a9f0172))
* point staging env referral link at staging marketing site
([0073963](0073963))
* prototype of referral system in console
([#142](#142))
([d2b284b](d2b284b))
* referrals tweaks
([#155](#155))
([32cc78f](32cc78f))
* **repo:** merge main from https://github.com/storacha/console
([152954e](152954e))
* share spaces via email
([#123](#123))
([b0dd61a](b0dd61a))
* styles for upload page
([9cdac7c](9cdac7c))
* trigger deploy
([a5ae681](a5ae681))
* update TOS links to point to the Storacha docs
([#148](#148))
([7d5ad13](7d5ad13))
* Use Blob protocol
([#132](#132))
([0fd47ba](0fd47ba))
* Use latest `w3ui` to support reloading spaces
([#138](#138))
([5a886bf](5a886bf))
* wording
([032218e](032218e))


### Fixes

* a little package.json cleanup
([13859fc](13859fc))
* add missing receiptsEndpoint to W3UIProvider
([#144](#144))
([e8ca3d3](e8ca3d3))
* add more deps to the catalog and pin eslint typescript plugin
([e00af97](e00af97))
* add sentry auth token to enable sourcemap upload
([#168](#168))
([bec52c9](bec52c9))
* apostrophe
([ee51ff9](ee51ff9))
* capture some errors we were logging to console
([#188](#188))
([673043a](673043a))
* catalog more dependencies
([cc52f81](cc52f81))
* check ref
([b1c985f](b1c985f))
* **console:** pnpm run dev + nx configs(sentry,tailwind)
([ad5db7e](ad5db7e))
* cors preflight issue in production
([#178](#178))
([583abb3](583abb3))
* create space
([#173](#173))
([7ac4478](7ac4478))
* create space using the latest w3up-client version
([#171](#171))
([5c67bdb](5c67bdb))
* **createSpace:** using the latest w3ui with w3up-client
([#176](#176))
([fdd5895](fdd5895))
* deploy-storacha.yml needs to use the new main branch
([#122](#122))
([3240385](3240385))
* deploy.yml needs to use the old-main branch
([#120](#120))
([6252d89](6252d89))
* fix linting
([0c5f06b](0c5f06b))
* gateway authorization based on env
([#174](#174))
([f446ab9](f446ab9))
* Humanode config tweaks
([b3debc4](b3debc4))
* import space preview
([#127](#127))
([d935f5f](d935f5f))
* init page loading right after button click + stop on errors
([220df2d](220df2d))
* is this enough?
([ac552ac](ac552ac))
* lock down next and react versions
([4d316af](4d316af))
* make it possible to skip the plan gate after Stripe checkout
([#162](#162))
([e50d81f](e50d81f))
* **prod:** gateway host
([#180](#180))
([14c8c38](14c8c38))
* quotes
([9fb1aba](9fb1aba))
* remove console github configs
([b5a2307](b5a2307))
* remove console github configs
([#227](#227))
([71db228](71db228))
* remove referrals feature flag
([#161](#161))
([9c774dd](9c774dd))
* remove sentry test page
([b442306](b442306))
* remove sentry test page
([#231](#231))
([f4071dc](f4071dc))
* Revert "feat: Use Blob protocol"
([#134](#134))
([9611be0](9611be0))
* Revert "fix: Revert "feat: Use Blob protocol"" (😩)
([#136](#136))
([2ec041b](2ec041b))
* set ipfs gateway url based on env var
([#177](#177))
([49727f7](49727f7))
* share space via ucan file
([#126](#126))
([2b7b623](2b7b623))
* **space-creator:** check provision result before proceeding
([#119](#119))
([92e087a](92e087a))
* **staging:** gateway host
([794a856](794a856))
* trigger a console release
([b9862a1](b9862a1))
* trigger a console release
([#228](#228))
([d9677d8](d9677d8))
* tweak plan gate query param
([#163](#163))
([2346d15](2346d15))
* typo on space page
([#187](#187))
([12e2b02](12e2b02))
* update packages to use catalog dependencies
([9191594](9191594))
* use correct branch name
([374fb0c](374fb0c))
* use main branch
([ea0a170](ea0a170))
* use the correct referral URL
([#149](#149))
([728ae7e](728ae7e))
* use the same Sentry project for different envs
([#167](#167))
([1bf2d13](1bf2d13))
* Use Ucanto 10 across the board
([#140](#140))
([b38477a](b38477a))
* using the correct gateway host
([#183](#183))
([83e0582](83e0582))


### Other Changes

* add storacha deploy action
([617b096](617b096))
* import console
([#139](#139))
([59ebc4e](59ebc4e))
* **main:** release client 1.0.6
([27cb383](27cb383))
* **main:** release client 1.0.6
([#104](#104))
([07f27a2](07f27a2))
* **main:** release upload-api 1.1.8
([aec53e7](aec53e7))
* **main:** release upload-api 1.1.8
([#103](#103))
([e71494a](e71494a))
* **main:** release w3console 1.10.0
([#125](#125))
([d7484f7](d7484f7))
* **main:** release w3console 1.11.0
([#128](#128))
([4a9cd39](4a9cd39))
* **main:** release w3console 1.12.0
([#130](#130))
([c1b894d](c1b894d))
* **main:** release w3console 1.13.0
([#133](#133))
([a5cdbf5](a5cdbf5))
* **main:** release w3console 1.13.1
([#135](#135))
([0cf946d](0cf946d))
* **main:** release w3console 1.14.0
([#137](#137))
([928cd1e](928cd1e))
* **main:** release w3console 1.15.0
([#139](#139))
([18c33d3](18c33d3))
* **main:** release w3console 1.15.1
([#141](#141))
([d82d22e](d82d22e))
* **main:** release w3console 1.15.2
([#145](#145))
([810224b](810224b))
* **main:** release w3console 1.16.0
([#146](#146))
([2a7dcaa](2a7dcaa))
* **main:** release w3console 1.16.1
([#160](#160))
([145b288](145b288))
* **main:** release w3console 1.16.2
([#164](#164))
([c3ea3be](c3ea3be))
* **main:** release w3console 1.17.0
([#166](#166))
([0ea9a86](0ea9a86))
* **main:** release w3console 1.17.1
([#169](#169))
([7a77c70](7a77c70))
* **main:** release w3console 1.17.2
([#172](#172))
([a118e11](a118e11))
* **main:** release w3console 1.17.3
([#179](#179))
([7c1948e](7c1948e))
* **main:** release w3console 1.17.4
([#181](#181))
([217cd1e](217cd1e))
* **main:** release w3console 1.17.5
([#182](#182))
([9db003e](9db003e))
* **main:** release w3console 1.17.6
([#185](#185))
([152e230](152e230))
* nx sync
([5933677](5933677))
* Set `packageManager`
([#117](#117))
([a8c7c93](a8c7c93))
* trigger deployment
([8051d81](8051d81))
* update copy
([#159](#159))
([60250f1](60250f1))
* update deploy name
([184fe57](184fe57))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
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.

8 participants