Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: simplify #591

Merged
merged 9 commits into from
Nov 28, 2023
Merged

feat: simplify #591

merged 9 commits into from
Nov 28, 2023

Conversation

alanshaw
Copy link
Member

@alanshaw alanshaw commented Nov 27, 2023

This PR introduces 2 new packages that we can switch to using provided they look good to folks.

  1. @w3ui/core - basically a createClient method and an interface for the core reactive state.
  2. @w3ui/react - React adapter that provides a Provider for the core reactive state and some React based headless components that use the Provider.

Eventually we would have a @w3ui/solid and @w3ui/vue...

Rationale

I wanted to add space usage reports and filecoin info but had to update the access client and w3up-client. This meant that I would have had to make many breaking changes to the old modules, which were exposing methods like createSpace etc. - which are essentially proxies for client methods...Instead I thought that a clean slate that allowed us to more easily update the client in the future without causing massive refactors in w3ui would be beneficial.

Goals

  • Lean in on exposed client (the w3up-client instance) - this means changes in the client do not lead to big refactors in w3ui
  • Expose minimal state through providers - right now just accounts & spaces
  • Reactive datasource, not reactive domain objects - So we don't have to manually update our reactive state or create proxies for the purpose of providing reactivity.
  • "Current space" is an application concern, not a library concern. - This will be refactored out of the client soon so lets not use it here.
  • Fewer modules to release - less dependency hell, faster to iterate.
  • Single entry point @w3ui/react - In applications, we shouldn't have to import types/values from modules other than @w3ui/react - lets not expose our multi-client futzing to our users.

Non-goals

  • Fix/simplify the build or release system

Alan Shaw and others added 4 commits November 27, 2023 16:40
this relies on a PR to w3up-client and re-enables functionality we broke with the switch to the new API: storacha/w3up#1189
it had gotten updated to 4.5 which seems to have some odd dependency issues in our current setup
travis and others added 3 commits November 27, 2023 18:24
tsc was not happy that I tried to use the wrong context values in the wrong places
@alanshaw alanshaw merged commit d1dfdf0 into main Nov 28, 2023
3 checks passed
@alanshaw alanshaw deleted the feat/simplify branch November 28, 2023 10:38
alanshaw pushed a commit that referenced this pull request Nov 28, 2023
🤖 I have created a release *beep* *boop*
---


## 1.0.0 (2023-11-28)


### Features

* simplify ([#591](#591))
([d1dfdf0](d1dfdf0))

---
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>
alanshaw pushed a commit that referenced this pull request Nov 28, 2023
🤖 I have created a release *beep* *boop*
---


## 1.0.0 (2023-11-28)


### Features

* adds space-finder autocomplete combobox
([#268](#268))
([3dcd647](3dcd647))
* allow users to set page size in W3APIProvider
([#308](#308))
([814a293](814a293))
* club tropical w3 auth boxen
([#350](#350))
([2266eb2](2266eb2))
* Customizable UI components
([#208](#208))
([0a776fe](0a776fe))
* implement reverse paging
([#381](#381))
([10f059a](10f059a))
* Improve upload component flow
([#285](#285))
([ba9a3bf](ba9a3bf))
* simplify ([#591](#591))
([d1dfdf0](d1dfdf0))
* Storybook story improvements
([#294](#294))
([e0de2cc](e0de2cc))


### Bug Fixes

* fix w3console styling
([#320](#320))
([74a298c](74a298c))
* remove authenticator class when registed
([#352](#352))
([3668f3b](3668f3b))
* w3console polish
([#284](#284))
([9a67365](9a67365))

---
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 <[email protected]>
travis pushed a commit that referenced this pull request Nov 30, 2023
🤖 I have created a release *beep* *boop*
---


##
[1.2.0](react-v1.1.1...react-v1.2.0)
(2023-11-30)


### Features

* add a logout function
([#595](#595))
([0995fd5](0995fd5))
* adds space-finder autocomplete combobox
([#268](#268))
([3dcd647](3dcd647))
* allow users to set page size in W3APIProvider
([#308](#308))
([814a293](814a293))
* club tropical w3 auth boxen
([#350](#350))
([2266eb2](2266eb2))
* Customizable UI components
([#208](#208))
([0a776fe](0a776fe))
* implement reverse paging
([#381](#381))
([10f059a](10f059a))
* Improve upload component flow
([#285](#285))
([ba9a3bf](ba9a3bf))
* simplify ([#591](#591))
([d1dfdf0](d1dfdf0))
* Storybook story improvements
([#294](#294))
([e0de2cc](e0de2cc))


### Bug Fixes

* fix w3console styling
([#320](#320))
([74a298c](74a298c))
* homepage URL in package.json
([1229119](1229119))
* remove authenticator class when registed
([#352](#352))
([3668f3b](3668f3b))
* w3console polish
([#284](#284))
([9a67365](9a67365))

---
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>
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.

2 participants