Comments (3)
when using SST Ion and calling HttpApp.toWebHandler
the following error pops
Cannot read properties of undefined (reading 'addEventListener')
It points to request.signal.addEventListener("abort", ...)
the issue is that in aws lambdas the fetch API spec is not complete meaning that the Request
is missing AbortController
api support, the kind that would give it the .signal
property.
Supposedly aws lambda support it in their nodejs 18 lambdas
but according to everyone else besides aws thats not true and you must add /* global fetch */
to the start of the file, but even then it seems that it's not enough and it does not make AbortController
and AbortSignal
available
There is a suggested polyfill but it won't help us because the the Request
is coming straight from the lambda
from effect.
Well, calling it a platform bug is quite a stretch given it's AWS that is not spec-compliant. BTW make sure comments are not removed in the build pipeline, otherwise /* global fetch */
has no effect
from effect.
@mikearnaldi Ah, I am not the one impacted lol
I think it's a bug because it breaks in /platform
, not /platform-node
or something.. In general Request
is not a platform-agnostic concept. node can't produce a server that speaks in Request
and Response
for example. It only knows IncomingMessage
and OutgoingMessage
which also have different semantics (for the node-native http
and https
they inverse at the boundaries, you send OutgoingMessage
and receive it as an IncomingMessage
, send back an OutgoingMessage
and it arrives as an IncomingMessage
), It can be 'fixed' (mitigated) with a simple check for the existence of the signal.
Not fixing this means that even if we were to release a theoretical /platform-aws
, it'll be inoperable unless it ships it's own AwsHttpApp.toWebHandler
from effect.
Related Issues (20)
- From Discord: Memory Leak in Effect: `zipLatest` with `async` Stream Causing Fiber Overflow HOT 1
- Add a drizzle-schema package HOT 5
- Idea: Schema variants HOT 3
- Weblock support in browser platform package HOT 2
- From Discord: Is Option.firstSomeOf expected to work with an array of Data.taggedEnum<AlgebraicDataType?
- Schema.TaggedError doesn't have nicely formatted cause when logged to console (unlike Data.TaggedError)
- Add new Order.localeString ordering option
- Predicate.or should handle refinements as Predicate.and does
- Logged errors only show the first child cause instead of displaying error causes recursively
- RPC File support
- From Discord: Confusion Over Multiple Documentation Versions for Effect-TS API
- From Discord: Schema base64 string -> utf8 string -> json parse
- Suggestion: improve DX of type errors from inside `pipe` and `flow`
- From Discord: Accumulating Incomplete JSON Chunks from a ReadableStream
- Enhance sum type workflow (Data.taggedEnum)
- Cause.UnknownException causes exception when using Bun
- JSONSchema.make does not have same behaviour as JSONSchema.to => erasing properties & not working for some Schema types HOT 1
- Effect.Tag with non Effect-returning functions
- From Discord: TypeScript Type Incompatibility Issue with Generic Schema and Optional Values
- Move type helpers from nested namespace to the top-level namespace HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from effect.