-
-
Notifications
You must be signed in to change notification settings - Fork 102
Create @fedify/fresh package for Fresh 2.0 integration #466
Copy link
Copy link
Closed
Labels
breaking changeRequires backward-incompatible changeRequires backward-incompatible changecomponent/federationFederation object relatedFederation object relatedcomponent/integrationWeb framework integrationWeb framework integrationdifficulty/intermediateIntermediate levelIntermediate levelexamplesExample code relatedExample code relatedintegration/freshFresh integration (@fedify/fresh)Fresh integration (@fedify/fresh)
Milestone
Metadata
Metadata
Assignees
Labels
breaking changeRequires backward-incompatible changeRequires backward-incompatible changecomponent/federationFederation object relatedFederation object relatedcomponent/integrationWeb framework integrationWeb framework integrationdifficulty/intermediateIntermediate levelIntermediate levelexamplesExample code relatedExample code relatedintegration/freshFresh integration (@fedify/fresh)Fresh integration (@fedify/fresh)
Type
Fields
Give feedbackPriority
None yet
Effort
None yet
Background
Fresh 2.0 has introduced significant changes to its middleware API and overall architecture. The current Fedify integration module
@fedify/fedify/x/freshwas designed for Fresh 1.x and is incompatible with these changes. We need to create a new package that properly integrates with Fresh 2.0's updated middleware system.Key changes in Fresh 2.0
(req, ctx)parametersRequestobject is now accessed viactx.reqinstead of being a separate parameterAppContext,LayoutContext,RouteContext) have been unified into a singleContextinterfacefresh.config.tsorfresh.gen.tsfilesRequirements
Package structure
@fedify/freshMiddleware implementation
The new middleware should:
(ctx: Context) => Response | Promise<Response>ctx.reqinstead of as a separate parameterAPI compatibility
@fedify/fedify/x/freshmoduleTechnical specifications
Middleware signature
Context access patterns
ctx.reqfor request accessctx.urlfor URL informationctx.statefor passing data between middlewaresctx.paramsfor route parametersTasks
@fedify/fresh@fedify/fedify/x/fresh@fedify/fedify/x/freshto@fedify/freshReferences
@fedify/fedify/x/freshAcceptance criteria