-
-
Notifications
You must be signed in to change notification settings - Fork 124
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
v1 Roadmap #24
Comments
How about actions? I was thinking about developing a plugin for vite a while ago, Since I think it's something similar to telefunc while developing this tool with Rom Brillout. |
Actions (what I call "React Server Functions") are already implemented. I wouldn't say it's complete though. |
Nice! |
Anecdotally there seems to be a fairly large gap between waku's server actions and Next.js' implementation - I suppose this is expected because server actions are completely experimental in React right now. IMO it makes sense to mark them as such (as an opt-in config option) before releasing v1. |
I don't think our RSF (react server function) isn't that experimental, meaning it's the same level as react server component. I suppose Next's server action does more experimental things. That said, I would like to revisit our approach anyway, which will require some feedbacks from collaborators/contributors/users. In any case, unless we have an official doc or RFC from React, we wouldn't be able to finalize our API, which means v1 probably won't land until then. |
The problem with shipping server actions now (or before they're stable in React) is that the semantics are not specified yet. For example Next.js server actions are queued, it's impossible to execute them concurrently - not the case in Waku. There is also the integration with transitions, not sure if this is implemented in Waku. IMO need to wait for a React RFC but only for server actions, there is already an RFC for server components and they're designated at stable by the React team. This is why I think waku server actions behind a flag is the right way forward. |
Yeah, if we would release v1 before the callserver RFC, we should hide it behind a flag. For now, just noting it's not finalized would be enough. But in that sense, everything isn't finalized. |
@dai-shi How about SSG? And change docs website to static files. |
docs website is already static files. |
Having been working on #124, I'm getting more skeptical about the stability. (What is currently working may not work in the future.) |
So waku will not use |
I think it's up to upstream. currently react official repo only has webpack and turbopack support. BTW, is react-server-dom-esm an alternative? |
It depends on what Hope the esm one is published: facebook/react#27197 |
@dai-shi |
I hope React docs will cover that soon. It will be called something like hoistable resource/elements. |
How about initializing git setting? ( |
@tom-sherman Do you know any updates? |
@dai-shi Is this still something that needs exploration? If yes, what are some things that you'd be concerned about with using jotai + waku? I suspect some exploration has been done already though, considering the waku.gg docs use example code with jotai as the state library. |
The example in docs is what's possible now. What I would like to explore is to use atoms on the server too (that is connected to the client behind the scenes.) So, it's a very tight integration (and one reason that I started developing my own framework.) I have a goal but don't have the implementation idea yet. #11 is an old attempt. Anyway, there are so many things to do before working on it. |
@dai-shi does https://github.com/nksaraf/vinxi help with this roadmap? |
I don't believe so. Waku's design conflicts with Vinxi's design. So, it's unlikely that we use it at any time soon. We don't know the far future. Related discussion: #522 |
Here are tasks that I would like to finish before v1.
Previous Versions
-v0.14.0
req
andres
) feat: server context #86v0.15.0
entries.ts
API (requires to revisit waku/router) how to get current pathname in server component? #84mutate()
api and maybeserve()
api Redesignserve()
andmutate()
apis, and maybegetEntry
too #119v0.16.0
[slug]
support feat(router): slug support #133v0.17.0
rscPrefix
config torscPath
rename rscPrefix to rscPath #160v0.18.0
v0.18.1
v0.19.0
waku.config.ts
support in cli.ts feat: waku/config #368v0.19.1
fix: improve building for deployment #395
fix: add already created index.html in the list #398
fix: hmr plugin with async component (with ssr, dev only) #411
DEV: loading indicator to mitigate FOUC #414
v0.19.2
fix: FOUC #427
CSS modules broken in DEV after #427 #439
Cannot import commonjs module from server component #110
feat: netlify deploy #422
feat: output AWS Lambda handler #419
router: do not refetch on popstate #424
v0.19.3
v0.19.4
v0.20.0
--with-ssr
option)getContext
fromwaku/server
feat: conditional ssr (minimal API only) #534
Experimental support for disabling SSR for waku/router #569
feat: fs-router #572
fix: fs-router for non-Node envs #575
main.tsx
andentries.tsx
)feat: managed mode #580
feat(router): unstable_redirect #593
feat(router): useRouter #613
v0.20.1
feat: support omitting file extensions in import statements #629
.js
and.jsx
extensionsfeat: support js/jsx extensions (minimal api only) #633
feat(router): support js/jsx extensions #636
fix/router: handle trailing slash #637
[BUG] Context Provider invalid value #631
Fix broken
04_cssmodules
example #651Suspense doesn't work in layout with css modules (DEV-only) #639
ssr build / use client / broken global CSS import from package #452
v0.20.2
SSG: support wildcards in static paths #666
SSG: high volume performance #668
feat(waku/router): prefetch on view (<Link />) #672
fix: private dir hmr #675
feat: expose internals #694
SSG: partial builds #689
fix(client): enable to render previous element in slot (experimental) #696
fix(router): push state on redirect #673
fix: non js assets path should add config.basePath to be relative to root path #697
fix(waku/router): regex in file replacement to correctly handle all matches (fs-router) #678
Avoid exposing configs that are not configurable #682
fix: use both typescript and ecmascript prasers #687
v0.21.0
feat: eliminate worker thread for react-server #762
fix: avoid patching global webpack require #707
refactor waku/client (technically breaking) #708
feat: use server action from client modules #714
feat: server actions in server components #729
fix: edge case when rsa depends on another rsa #785
breaking(router): string query #799
feat: expose hash from
useRouter
#746feat: cloudflare pages adapter, alternate implementation #795
breaking: render full
<html>
instead of inside<body>
#825fix(dev-server): initial modules recursive resolution and module loading in ssr #833
v0.21.1
downgrade swc/core #848
fix(build): do not remove index.html when buildConfig is empty #851
[fix] File upload #850
experimental: expose hono context #852
v0.21.2
feat(build): introduce buildData in platformObject #860
feat: deploy plugins #866
fix(dev): import local node_modules with SSR #864
fix: cloudflare routing 404 #870
v0.21.3
fix(deploy): move isNodeCompatible to deploy plugins #876
refactor(deploy): vercel serve and constants #877
refactor(deploy): netlify serve #878
refactor(deploy): cloudflare serve #879
refactor(deploy): deno serve #880
refactor(deploy): partykit serve #881
refactor(deploy): aws-lambda serve #882
feat: infer types for waku router #854
feat: entries gen for fs router projects #886
404 and broken link handling #895
feat(router): props inferred for page components #917
prefer getHonoContext to hono/context-storage #914
feat(create-waku): install dependencies automatically when creating a new waku project #808
v0.21.4
experimental GET support #947
redesign rscPath encoding #951
new defineEntries (and context middleware) #961
feat: allow optionally controlled root #952
new defineRouter #949
feat: regenerate fs-router types #966
v0.21.5
fix(rsc-transform): fix server function error in SSR #979
fix(plugin/fs-router-typegen): use swc.parseSync instead of parseFileSync #980
v0.21.6
fix: new_defineRouter #991
feat: new create pages to use new defineRouter #963
Switch from Cloudflare Pages to Workers with Static Assets #989
v0.21.7
refactor: use new_createPages in examples #997
feat: pageprops type improvements with docs for use #1001
feat: honoEnhancer for Vercel, Deno and Netlify #941
fix: improve resolveClient for DEV #998
v0.22.0
waku.config.ts
config file (novite.config.ts
)v1-alpha
[Umbrella] Third-party library compatibility issues #423
Layout Reset / Pathless Routes #977
Waku Islands? #816
v1-beta
Integrate with TanStack Router #272
v1-final
The text was updated successfully, but these errors were encountered: