diff --git a/packages/api-mux/CHANGELOG.md b/packages/api-mux/CHANGELOG.md index 99ecf6c..c09f0ce 100644 --- a/packages/api-mux/CHANGELOG.md +++ b/packages/api-mux/CHANGELOG.md @@ -1,5 +1,13 @@ # @lowerdeck/api-mux +## 1.0.3 + +### Patch Changes + +- Improve error reporting +- Updated dependencies + - @lowerdeck/error@1.3.0 + ## 1.0.2 ### Patch Changes diff --git a/packages/api-mux/package.json b/packages/api-mux/package.json index 199fd5e..2bf1b78 100644 --- a/packages/api-mux/package.json +++ b/packages/api-mux/package.json @@ -1,6 +1,6 @@ { "name": "@lowerdeck/api-mux", - "version": "1.0.2", + "version": "1.0.3", "publishConfig": { "access": "public" }, @@ -36,6 +36,6 @@ "vitest": "^3.2.4" }, "dependencies": { - "@lowerdeck/error": "^1.0.10" + "@lowerdeck/error": "^1.2.0" } } \ No newline at end of file diff --git a/packages/error/CHANGELOG.md b/packages/error/CHANGELOG.md index 16b0782..afc0158 100644 --- a/packages/error/CHANGELOG.md +++ b/packages/error/CHANGELOG.md @@ -1,5 +1,11 @@ # @lowerdeck/error +## 1.3.0 + +### Minor Changes + +- Improve error reporting + ## 1.1.0 ### Minor Changes diff --git a/packages/error/package.json b/packages/error/package.json index 6e972f1..95b38ee 100644 --- a/packages/error/package.json +++ b/packages/error/package.json @@ -1,6 +1,6 @@ { "name": "@lowerdeck/error", - "version": "1.1.0", + "version": "1.2.0", "publishConfig": { "access": "public" }, diff --git a/packages/error/src/error.test.ts b/packages/error/src/error.test.ts index a254167..1550c2f 100644 --- a/packages/error/src/error.test.ts +++ b/packages/error/src/error.test.ts @@ -58,7 +58,7 @@ describe('ServiceError', () => { status: 404 }); let apiError = new ServiceError(errorRecord); - expect(apiError.message).toEqual(errorRecord.data.message); + expect(apiError.message.includes(errorRecord.data.message)).toBe(true); }); test('should return the error response', () => { diff --git a/packages/error/src/error.ts b/packages/error/src/error.ts index 8c2ad75..c59360b 100644 --- a/packages/error/src/error.ts +++ b/packages/error/src/error.ts @@ -49,7 +49,7 @@ export class ServiceError> extends Erro } constructor(private readonly error: InnerError) { - super(error.data.message); + super(`[@lowerdeck/error]: ${error.data.message} (${JSON.stringify(error.data)})`); } setParent(parent: Error) { diff --git a/packages/hono/CHANGELOG.md b/packages/hono/CHANGELOG.md index 37b21df..e3e2091 100644 --- a/packages/hono/CHANGELOG.md +++ b/packages/hono/CHANGELOG.md @@ -1,5 +1,13 @@ # @lowerdeck/hono +## 1.0.8 + +### Patch Changes + +- Improve error reporting +- Updated dependencies + - @lowerdeck/error@1.3.0 + ## 1.0.7 ### Patch Changes diff --git a/packages/hono/package.json b/packages/hono/package.json index 5760372..352b1f4 100644 --- a/packages/hono/package.json +++ b/packages/hono/package.json @@ -1,6 +1,6 @@ { "name": "@lowerdeck/hono", - "version": "1.0.7", + "version": "1.0.8", "publishConfig": { "access": "public" }, @@ -33,7 +33,7 @@ "hono": "^4.5.5", "@lowerdeck/forwarded-for": "^1.0.4", "@lowerdeck/validation": "^1.0.4", - "@lowerdeck/error": "^1.0.10" + "@lowerdeck/error": "^1.2.0" }, "devDependencies": { "microbundle": "^0.15.1", diff --git a/packages/id/CHANGELOG.md b/packages/id/CHANGELOG.md index 3331420..25d9252 100644 --- a/packages/id/CHANGELOG.md +++ b/packages/id/CHANGELOG.md @@ -1,5 +1,13 @@ # @lowerdeck/id +## 1.0.7 + +### Patch Changes + +- Improve error reporting +- Updated dependencies + - @lowerdeck/error@1.3.0 + ## 1.0.6 ### Patch Changes diff --git a/packages/id/package.json b/packages/id/package.json index 5f6312e..ad81e2a 100644 --- a/packages/id/package.json +++ b/packages/id/package.json @@ -1,6 +1,6 @@ { "name": "@lowerdeck/id", - "version": "1.0.6", + "version": "1.0.7", "publishConfig": { "access": "public" }, @@ -31,7 +31,7 @@ }, "dependencies": { "@lowerdeck/hash": "^1.0.4", - "@lowerdeck/error": "^1.0.10", + "@lowerdeck/error": "^1.2.0", "nanoid": "^5.0.7", "short-uuid": "^5.2.0", "snowflake-uuid": "^1.0.0" diff --git a/packages/pagination/CHANGELOG.md b/packages/pagination/CHANGELOG.md index daba96a..869b551 100644 --- a/packages/pagination/CHANGELOG.md +++ b/packages/pagination/CHANGELOG.md @@ -1,5 +1,13 @@ # @lowerdeck/pagination +## 1.0.6 + +### Patch Changes + +- Improve error reporting +- Updated dependencies + - @lowerdeck/error@1.3.0 + ## 1.0.5 ### Patch Changes diff --git a/packages/pagination/package.json b/packages/pagination/package.json index 212a95c..510998f 100644 --- a/packages/pagination/package.json +++ b/packages/pagination/package.json @@ -1,6 +1,6 @@ { "name": "@lowerdeck/pagination", - "version": "1.0.5", + "version": "1.0.6", "publishConfig": { "access": "public" }, @@ -38,7 +38,7 @@ }, "dependencies": { "@lowerdeck/base62": "^1.0.4", - "@lowerdeck/error": "^1.0.10", + "@lowerdeck/error": "^1.2.0", "@lowerdeck/validation": "^1.0.4" } } \ No newline at end of file diff --git a/packages/rpc-client/CHANGELOG.md b/packages/rpc-client/CHANGELOG.md index 807dc86..124e5b1 100644 --- a/packages/rpc-client/CHANGELOG.md +++ b/packages/rpc-client/CHANGELOG.md @@ -1,5 +1,14 @@ # @lowerdeck/rpc-client +## 1.1.2 + +### Patch Changes + +- Improve error reporting +- Updated dependencies + - @lowerdeck/error@1.3.0 + - @lowerdeck/id@1.0.7 + ## 1.1.1 ### Patch Changes diff --git a/packages/rpc-client/package.json b/packages/rpc-client/package.json index 6b7ff64..6de3353 100644 --- a/packages/rpc-client/package.json +++ b/packages/rpc-client/package.json @@ -1,6 +1,6 @@ { "name": "@lowerdeck/rpc-client", - "version": "1.1.1", + "version": "1.1.2", "publishConfig": { "access": "public" }, @@ -38,10 +38,10 @@ "dependencies": { "@opentelemetry/api": "^1.9.0", "@lowerdeck/canonicalize": "^1.0.4", - "@lowerdeck/error": "^1.1.0", - "@lowerdeck/id": "^1.0.6", + "@lowerdeck/error": "^1.2.0", + "@lowerdeck/id": "^1.0.7", "@lowerdeck/memo": "^1.0.4", "@lowerdeck/proxy": "^1.0.4", "@lowerdeck/serialize": "^1.0.4" } -} +} \ No newline at end of file diff --git a/packages/rpc-server/CHANGELOG.md b/packages/rpc-server/CHANGELOG.md index 0d49562..e1951a3 100644 --- a/packages/rpc-server/CHANGELOG.md +++ b/packages/rpc-server/CHANGELOG.md @@ -1,5 +1,14 @@ # @lowerdeck/rpc-server +## 1.0.9 + +### Patch Changes + +- Improve error reporting +- Updated dependencies + - @lowerdeck/error@1.3.0 + - @lowerdeck/id@1.0.7 + ## 1.0.8 ### Patch Changes diff --git a/packages/rpc-server/package.json b/packages/rpc-server/package.json index 0f5c6a0..c82bf69 100644 --- a/packages/rpc-server/package.json +++ b/packages/rpc-server/package.json @@ -1,6 +1,6 @@ { "name": "@lowerdeck/rpc-server", - "version": "1.0.8", + "version": "1.0.9", "publishConfig": { "access": "public" }, @@ -36,9 +36,9 @@ "vitest": "^3.2.4" }, "dependencies": { - "@lowerdeck/error": "^1.0.10", + "@lowerdeck/error": "^1.2.0", "@lowerdeck/execution-context": "^1.0.4", - "@lowerdeck/id": "^1.0.6", + "@lowerdeck/id": "^1.0.7", "@lowerdeck/memo": "^1.0.4", "@lowerdeck/sentry": "^1.0.2", "@lowerdeck/serialize": "^1.0.4", @@ -46,4 +46,4 @@ "@lowerdeck/validation": "^1.0.4", "cookie": "^1.1.1" } -} +} \ No newline at end of file diff --git a/packages/rpc-server/src/rpcMux.ts b/packages/rpc-server/src/rpcMux.ts index eb5eb3b..98d0542 100644 --- a/packages/rpc-server/src/rpcMux.ts +++ b/packages/rpc-server/src/rpcMux.ts @@ -4,6 +4,11 @@ import { notFoundError, validationError } from '@lowerdeck/error'; +import { createExecutionContext, provideExecutionContext } from '@lowerdeck/execution-context'; +import { generateCustomId } from '@lowerdeck/id'; +import { memo } from '@lowerdeck/memo'; +import { getSentry } from '@lowerdeck/sentry'; +import { serialize } from '@lowerdeck/serialize'; import { isTelemetryEnabled, otelContext, @@ -12,11 +17,6 @@ import { SpanStatusCode, trace } from '@lowerdeck/telemetry'; -import { createExecutionContext, provideExecutionContext } from '@lowerdeck/execution-context'; -import { generateCustomId } from '@lowerdeck/id'; -import { memo } from '@lowerdeck/memo'; -import { getSentry } from '@lowerdeck/sentry'; -import { serialize } from '@lowerdeck/serialize'; import { v } from '@lowerdeck/validation'; import * as Cookie from 'cookie'; import { ServiceRequest } from './controller'; @@ -387,7 +387,9 @@ export let rpcMux = ( } catch (e) { if (verbose) console.error(e); - Sentry.captureException(e); + Sentry.captureException(e, { + extra: { url: req.url, method: req.method, ip, body } + }); return new Response( JSON.stringify( diff --git a/packages/rpc-server/src/server.ts b/packages/rpc-server/src/server.ts index ebc1462..d6dfa82 100644 --- a/packages/rpc-server/src/server.ts +++ b/packages/rpc-server/src/server.ts @@ -11,6 +11,8 @@ import { Controller, Handler, ServiceRequest } from './controller'; let Sentry = getSentry(); let tracer = trace.getTracer('lowerdeck.rpc-server.calls'); +let verbose = process.env.NODE_ENV !== 'production'; + export let createServer = (opts: { onError?: (opts: { @@ -84,7 +86,7 @@ export let createServer = response: response.response }; } catch (e) { - console.error(e); + if (verbose) console.error(e); if (isServiceError(e)) { if (e.data.status >= 500) { @@ -209,7 +211,7 @@ export let createServer = }); } catch (e) { Sentry.captureException(e); - console.error(e); + if (verbose) console.error(e); } return {