convex 1.27.0 → 1.27.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -5
- package/dist/browser.bundle.js +92 -11
- package/dist/browser.bundle.js.map +2 -2
- package/dist/cjs/browser/http_client.js +2 -0
- package/dist/cjs/browser/http_client.js.map +2 -2
- package/dist/cjs/browser/sync/client.js +2 -1
- package/dist/cjs/browser/sync/client.js.map +2 -2
- package/dist/cjs/browser/sync/function_result.js.map +1 -1
- package/dist/cjs/browser/sync/local_state.js.map +2 -2
- package/dist/cjs/browser/sync/protocol.js.map +1 -1
- package/dist/cjs/browser/sync/web_socket_manager.js +87 -9
- package/dist/cjs/browser/sync/web_socket_manager.js.map +2 -2
- package/dist/cjs/bundler/context.js.map +1 -1
- package/dist/cjs/bundler/index.js.map +1 -1
- package/dist/cjs/cli/configure.js.map +2 -2
- package/dist/cjs/cli/generatedApi.js.map +1 -1
- package/dist/cjs/cli/lib/codegen.js.map +1 -1
- package/dist/cjs/cli/lib/command.js.map +2 -2
- package/dist/cjs/cli/lib/components.js +9 -0
- package/dist/cjs/cli/lib/components.js.map +2 -2
- package/dist/cjs/cli/lib/config.js.map +2 -2
- package/dist/cjs/cli/lib/convexImport.js +1 -1
- package/dist/cjs/cli/lib/convexImport.js.map +3 -3
- package/dist/cjs/cli/lib/data.js +1 -1
- package/dist/cjs/cli/lib/data.js.map +2 -2
- package/dist/cjs/cli/lib/deploymentSelection.js +4 -2
- package/dist/cjs/cli/lib/deploymentSelection.js.map +2 -2
- package/dist/cjs/cli/lib/dev.js.map +2 -2
- package/dist/cjs/cli/lib/generatedLogStreamApi.js +17 -0
- package/dist/cjs/cli/lib/generatedLogStreamApi.js.map +7 -0
- package/dist/cjs/cli/lib/localDeployment/anonymous.js.map +2 -2
- package/dist/cjs/cli/lib/localDeployment/download.js.map +1 -1
- package/dist/cjs/cli/lib/localDeployment/localDeployment.js.map +2 -2
- package/dist/cjs/cli/lib/login.js +15 -16
- package/dist/cjs/cli/lib/login.js.map +2 -2
- package/dist/cjs/cli/lib/mcp/tools/logs.js +77 -7
- package/dist/cjs/cli/lib/mcp/tools/logs.js.map +2 -2
- package/dist/cjs/cli/lib/push.js.map +1 -1
- package/dist/cjs/cli/lib/run.js +1 -1
- package/dist/cjs/cli/lib/run.js.map +2 -2
- package/dist/cjs/cli/lib/utils/globalConfig.js.map +1 -1
- package/dist/cjs/cli/lib/utils/utils.js +4 -4
- package/dist/cjs/cli/lib/utils/utils.js.map +2 -2
- package/dist/cjs/cli/lib/watch.js +3 -1
- package/dist/cjs/cli/lib/watch.js.map +2 -2
- package/dist/cjs/cli/login.js +9 -2
- package/dist/cjs/cli/login.js.map +2 -2
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/nextjs/index.js +3 -3
- package/dist/cjs/nextjs/index.js.map +2 -2
- package/dist/cjs/react/client.js.map +1 -1
- package/dist/cjs/react/use_queries.js +1 -1
- package/dist/cjs/react/use_queries.js.map +2 -2
- package/dist/cjs/server/impl/vector_search_impl.js.map +1 -1
- package/dist/cjs-types/browser/http_client.d.ts +2 -2
- package/dist/cjs-types/browser/http_client.d.ts.map +1 -1
- package/dist/cjs-types/browser/sync/client.d.ts +1 -1
- package/dist/cjs-types/browser/sync/client.d.ts.map +1 -1
- package/dist/cjs-types/browser/sync/function_result.d.ts +1 -1
- package/dist/cjs-types/browser/sync/function_result.d.ts.map +1 -1
- package/dist/cjs-types/browser/sync/local_state.d.ts +4 -4
- package/dist/cjs-types/browser/sync/local_state.d.ts.map +1 -1
- package/dist/cjs-types/browser/sync/protocol.d.ts +9 -6
- package/dist/cjs-types/browser/sync/protocol.d.ts.map +1 -1
- package/dist/cjs-types/browser/sync/web_socket_manager.d.ts +5 -2
- package/dist/cjs-types/browser/sync/web_socket_manager.d.ts.map +1 -1
- package/dist/cjs-types/bundler/context.d.ts +3 -3
- package/dist/cjs-types/bundler/context.d.ts.map +1 -1
- package/dist/cjs-types/bundler/index.d.ts +1 -1
- package/dist/cjs-types/bundler/index.d.ts.map +1 -1
- package/dist/cjs-types/cli/codegen.d.ts +7 -7
- package/dist/cjs-types/cli/configure.d.ts.map +1 -1
- package/dist/cjs-types/cli/convexExport.d.ts +7 -7
- package/dist/cjs-types/cli/convexImport.d.ts +13 -13
- package/dist/cjs-types/cli/dashboard.d.ts +6 -6
- package/dist/cjs-types/cli/data.d.ts +8 -8
- package/dist/cjs-types/cli/deploy.d.ts +15 -15
- package/dist/cjs-types/cli/dev.d.ts +21 -21
- package/dist/cjs-types/cli/disableLocalDev.d.ts +2 -2
- package/dist/cjs-types/cli/env.d.ts +6 -6
- package/dist/cjs-types/cli/functionSpec.d.ts +7 -7
- package/dist/cjs-types/cli/generatedApi.d.ts +2 -0
- package/dist/cjs-types/cli/generatedApi.d.ts.map +1 -1
- package/dist/cjs-types/cli/init.d.ts +2 -2
- package/dist/cjs-types/cli/lib/codegen.d.ts +2 -2
- package/dist/cjs-types/cli/lib/codegen.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/command.d.ts +5 -5
- package/dist/cjs-types/cli/lib/command.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/components.d.ts +1 -1
- package/dist/cjs-types/cli/lib/components.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/config.d.ts +7 -7
- package/dist/cjs-types/cli/lib/config.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/convexImport.d.ts +2 -2
- package/dist/cjs-types/cli/lib/convexImport.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/data.d.ts +3 -3
- package/dist/cjs-types/cli/lib/data.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/deployment.d.ts +1 -1
- package/dist/cjs-types/cli/lib/deploymentSelection.d.ts +6 -6
- package/dist/cjs-types/cli/lib/deploymentSelection.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/dev.d.ts +5 -5
- package/dist/cjs-types/cli/lib/dev.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/generatedLogStreamApi.d.ts +131 -0
- package/dist/cjs-types/cli/lib/generatedLogStreamApi.d.ts.map +1 -0
- package/dist/cjs-types/cli/lib/localDeployment/anonymous.d.ts +3 -3
- package/dist/cjs-types/cli/lib/localDeployment/anonymous.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/localDeployment/download.d.ts +1 -1
- package/dist/cjs-types/cli/lib/localDeployment/download.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/localDeployment/localDeployment.d.ts +2 -2
- package/dist/cjs-types/cli/lib/localDeployment/localDeployment.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/login.d.ts +19 -17
- package/dist/cjs-types/cli/lib/login.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/mcp/tools/logs.d.ts +14 -3
- package/dist/cjs-types/cli/lib/mcp/tools/logs.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/push.d.ts +3 -3
- package/dist/cjs-types/cli/lib/push.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/run.d.ts +9 -9
- package/dist/cjs-types/cli/lib/run.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/utils/globalConfig.d.ts +1 -1
- package/dist/cjs-types/cli/lib/utils/globalConfig.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/utils/prompts.d.ts +2 -2
- package/dist/cjs-types/cli/lib/utils/utils.d.ts +3 -3
- package/dist/cjs-types/cli/lib/utils/utils.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/watch.d.ts.map +1 -1
- package/dist/cjs-types/cli/login.d.ts +13 -11
- package/dist/cjs-types/cli/login.d.ts.map +1 -1
- package/dist/cjs-types/cli/logs.d.ts +6 -6
- package/dist/cjs-types/cli/network_test.d.ts +9 -9
- package/dist/cjs-types/cli/reinit.d.ts +2 -2
- package/dist/cjs-types/cli/run.d.ts +11 -11
- package/dist/cjs-types/index.d.ts +1 -1
- package/dist/cjs-types/react/client.d.ts +1 -1
- package/dist/cjs-types/react/client.d.ts.map +1 -1
- package/dist/cjs-types/server/components/paths.d.ts +6 -6
- package/dist/cjs-types/server/pagination.d.ts +4 -4
- package/dist/cjs-types/server/schema.d.ts +2 -2
- package/dist/cjs-types/values/validator.d.ts +1 -1
- package/dist/cli.bundle.cjs +184 -45
- package/dist/cli.bundle.cjs.map +3 -3
- package/dist/esm/browser/http_client.js +2 -0
- package/dist/esm/browser/http_client.js.map +2 -2
- package/dist/esm/browser/sync/client.js +2 -1
- package/dist/esm/browser/sync/client.js.map +2 -2
- package/dist/esm/browser/sync/local_state.js.map +2 -2
- package/dist/esm/browser/sync/protocol.js.map +1 -1
- package/dist/esm/browser/sync/web_socket_manager.js +87 -9
- package/dist/esm/browser/sync/web_socket_manager.js.map +2 -2
- package/dist/esm/bundler/context.js.map +1 -1
- package/dist/esm/bundler/index.js.map +1 -1
- package/dist/esm/cli/configure.js.map +2 -2
- package/dist/esm/cli/lib/codegen.js.map +1 -1
- package/dist/esm/cli/lib/command.js.map +2 -2
- package/dist/esm/cli/lib/components.js +9 -0
- package/dist/esm/cli/lib/components.js.map +2 -2
- package/dist/esm/cli/lib/config.js.map +2 -2
- package/dist/esm/cli/lib/convexImport.js +1 -1
- package/dist/esm/cli/lib/convexImport.js.map +3 -3
- package/dist/esm/cli/lib/data.js +1 -1
- package/dist/esm/cli/lib/data.js.map +2 -2
- package/dist/esm/cli/lib/deploymentSelection.js +4 -2
- package/dist/esm/cli/lib/deploymentSelection.js.map +2 -2
- package/dist/esm/cli/lib/dev.js.map +2 -2
- package/dist/esm/cli/lib/generatedLogStreamApi.js +2 -0
- package/dist/esm/cli/lib/generatedLogStreamApi.js.map +7 -0
- package/dist/esm/cli/lib/localDeployment/anonymous.js.map +2 -2
- package/dist/esm/cli/lib/localDeployment/download.js.map +1 -1
- package/dist/esm/cli/lib/localDeployment/localDeployment.js.map +2 -2
- package/dist/esm/cli/lib/login.js +15 -16
- package/dist/esm/cli/lib/login.js.map +2 -2
- package/dist/esm/cli/lib/mcp/tools/logs.js +74 -6
- package/dist/esm/cli/lib/mcp/tools/logs.js.map +2 -2
- package/dist/esm/cli/lib/push.js.map +1 -1
- package/dist/esm/cli/lib/run.js +1 -1
- package/dist/esm/cli/lib/run.js.map +2 -2
- package/dist/esm/cli/lib/utils/globalConfig.js.map +1 -1
- package/dist/esm/cli/lib/utils/utils.js +4 -4
- package/dist/esm/cli/lib/utils/utils.js.map +2 -2
- package/dist/esm/cli/lib/watch.js +3 -1
- package/dist/esm/cli/lib/watch.js.map +2 -2
- package/dist/esm/cli/login.js +9 -2
- package/dist/esm/cli/login.js.map +2 -2
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/nextjs/index.js +3 -3
- package/dist/esm/nextjs/index.js.map +2 -2
- package/dist/esm/react/client.js.map +1 -1
- package/dist/esm/react/use_queries.js +1 -1
- package/dist/esm/react/use_queries.js.map +2 -2
- package/dist/esm/server/impl/vector_search_impl.js.map +1 -1
- package/dist/esm-types/browser/http_client.d.ts +2 -2
- package/dist/esm-types/browser/http_client.d.ts.map +1 -1
- package/dist/esm-types/browser/sync/client.d.ts +1 -1
- package/dist/esm-types/browser/sync/client.d.ts.map +1 -1
- package/dist/esm-types/browser/sync/function_result.d.ts +1 -1
- package/dist/esm-types/browser/sync/function_result.d.ts.map +1 -1
- package/dist/esm-types/browser/sync/local_state.d.ts +4 -4
- package/dist/esm-types/browser/sync/local_state.d.ts.map +1 -1
- package/dist/esm-types/browser/sync/protocol.d.ts +9 -6
- package/dist/esm-types/browser/sync/protocol.d.ts.map +1 -1
- package/dist/esm-types/browser/sync/web_socket_manager.d.ts +5 -2
- package/dist/esm-types/browser/sync/web_socket_manager.d.ts.map +1 -1
- package/dist/esm-types/bundler/context.d.ts +3 -3
- package/dist/esm-types/bundler/context.d.ts.map +1 -1
- package/dist/esm-types/bundler/index.d.ts +1 -1
- package/dist/esm-types/bundler/index.d.ts.map +1 -1
- package/dist/esm-types/cli/codegen.d.ts +7 -7
- package/dist/esm-types/cli/configure.d.ts.map +1 -1
- package/dist/esm-types/cli/convexExport.d.ts +7 -7
- package/dist/esm-types/cli/convexImport.d.ts +13 -13
- package/dist/esm-types/cli/dashboard.d.ts +6 -6
- package/dist/esm-types/cli/data.d.ts +8 -8
- package/dist/esm-types/cli/deploy.d.ts +15 -15
- package/dist/esm-types/cli/dev.d.ts +21 -21
- package/dist/esm-types/cli/disableLocalDev.d.ts +2 -2
- package/dist/esm-types/cli/env.d.ts +6 -6
- package/dist/esm-types/cli/functionSpec.d.ts +7 -7
- package/dist/esm-types/cli/generatedApi.d.ts +2 -0
- package/dist/esm-types/cli/generatedApi.d.ts.map +1 -1
- package/dist/esm-types/cli/init.d.ts +2 -2
- package/dist/esm-types/cli/lib/codegen.d.ts +2 -2
- package/dist/esm-types/cli/lib/codegen.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/command.d.ts +5 -5
- package/dist/esm-types/cli/lib/command.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/components.d.ts +1 -1
- package/dist/esm-types/cli/lib/components.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/config.d.ts +7 -7
- package/dist/esm-types/cli/lib/config.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/convexImport.d.ts +2 -2
- package/dist/esm-types/cli/lib/convexImport.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/data.d.ts +3 -3
- package/dist/esm-types/cli/lib/data.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/deployment.d.ts +1 -1
- package/dist/esm-types/cli/lib/deploymentSelection.d.ts +6 -6
- package/dist/esm-types/cli/lib/deploymentSelection.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/dev.d.ts +5 -5
- package/dist/esm-types/cli/lib/dev.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/generatedLogStreamApi.d.ts +131 -0
- package/dist/esm-types/cli/lib/generatedLogStreamApi.d.ts.map +1 -0
- package/dist/esm-types/cli/lib/localDeployment/anonymous.d.ts +3 -3
- package/dist/esm-types/cli/lib/localDeployment/anonymous.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/localDeployment/download.d.ts +1 -1
- package/dist/esm-types/cli/lib/localDeployment/download.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/localDeployment/localDeployment.d.ts +2 -2
- package/dist/esm-types/cli/lib/localDeployment/localDeployment.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/login.d.ts +19 -17
- package/dist/esm-types/cli/lib/login.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/mcp/tools/logs.d.ts +14 -3
- package/dist/esm-types/cli/lib/mcp/tools/logs.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/push.d.ts +3 -3
- package/dist/esm-types/cli/lib/push.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/run.d.ts +9 -9
- package/dist/esm-types/cli/lib/run.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/utils/globalConfig.d.ts +1 -1
- package/dist/esm-types/cli/lib/utils/globalConfig.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/utils/prompts.d.ts +2 -2
- package/dist/esm-types/cli/lib/utils/utils.d.ts +3 -3
- package/dist/esm-types/cli/lib/utils/utils.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/watch.d.ts.map +1 -1
- package/dist/esm-types/cli/login.d.ts +13 -11
- package/dist/esm-types/cli/login.d.ts.map +1 -1
- package/dist/esm-types/cli/logs.d.ts +6 -6
- package/dist/esm-types/cli/network_test.d.ts +9 -9
- package/dist/esm-types/cli/reinit.d.ts +2 -2
- package/dist/esm-types/cli/run.d.ts +11 -11
- package/dist/esm-types/index.d.ts +1 -1
- package/dist/esm-types/react/client.d.ts +1 -1
- package/dist/esm-types/react/client.d.ts.map +1 -1
- package/dist/esm-types/server/components/paths.d.ts +6 -6
- package/dist/esm-types/server/pagination.d.ts +4 -4
- package/dist/esm-types/server/schema.d.ts +2 -2
- package/dist/esm-types/values/validator.d.ts +1 -1
- package/dist/react.bundle.js +91 -12
- package/dist/react.bundle.js.map +2 -2
- package/package.json +4 -2
- package/src/browser/http_client.ts +4 -2
- package/src/browser/sync/client.ts +7 -3
- package/src/browser/sync/function_result.ts +1 -1
- package/src/browser/sync/local_state.ts +18 -12
- package/src/browser/sync/protocol.ts +13 -7
- package/src/browser/sync/web_socket_manager.ts +102 -8
- package/src/bundler/context.ts +3 -3
- package/src/bundler/index.ts +1 -1
- package/src/cli/configure.ts +7 -5
- package/src/cli/generatedApi.ts +2 -0
- package/src/cli/lib/codegen.ts +2 -2
- package/src/cli/lib/command.ts +6 -5
- package/src/cli/lib/components.ts +11 -2
- package/src/cli/lib/config.ts +7 -7
- package/src/cli/lib/convexImport.ts +3 -3
- package/src/cli/lib/data.ts +17 -5
- package/src/cli/lib/deploymentSelection.ts +13 -11
- package/src/cli/lib/dev.ts +7 -5
- package/src/cli/lib/generatedLogStreamApi.ts +131 -0
- package/src/cli/lib/localDeployment/anonymous.ts +8 -6
- package/src/cli/lib/localDeployment/download.ts +1 -1
- package/src/cli/lib/localDeployment/localDeployment.ts +8 -6
- package/src/cli/lib/login.ts +37 -29
- package/src/cli/lib/mcp/tools/logs.ts +107 -13
- package/src/cli/lib/push.ts +3 -3
- package/src/cli/lib/run.ts +18 -14
- package/src/cli/lib/utils/globalConfig.ts +1 -1
- package/src/cli/lib/utils/utils.ts +5 -5
- package/src/cli/lib/watch.ts +3 -1
- package/src/cli/login.ts +11 -0
- package/src/index.ts +1 -1
- package/src/nextjs/index.ts +3 -3
- package/src/react/client.ts +3 -3
- package/src/react/use_paginated_query.test.tsx +1 -1
- package/src/react/use_queries.ts +1 -1
- package/src/server/impl/vector_search_impl.ts +1 -1
- package/tsconfig.json +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,13 +1,28 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.27.1
|
|
4
|
+
|
|
5
|
+
- Changes to logged messages in the console, where previously only WebSocket
|
|
6
|
+
reconnection messages were logged. These can still be silenced with the
|
|
7
|
+
`logger: false` client option.
|
|
8
|
+
- Improved support for the TypeScript tsconfig.json compiler option
|
|
9
|
+
"exactOptionalPropertTypes" with the convex package.
|
|
10
|
+
- Additional WebSocket connection debugging information about Transition
|
|
11
|
+
messages.
|
|
12
|
+
- Clearer error messages when running codegen in preview deployments.
|
|
13
|
+
- Token limits for especially verbose logs MCP tool.
|
|
14
|
+
- Add (preexisting) `codegen` options to `convex.json` schema.
|
|
15
|
+
|
|
3
16
|
## 1.27.0
|
|
4
17
|
|
|
5
|
-
- Add support for configuring the Node.js version used by Node actions
|
|
6
|
-
|
|
18
|
+
- Add support for configuring the Node.js version used by Node actions using the
|
|
19
|
+
`node.nodeVersion` field of the `convex.json` file
|
|
7
20
|
([docs](https://docs.convex.dev/production/project-configuration#configuring-the-nodejs-version)).
|
|
8
|
-
- `npx convex data` now supports exporting data as JSON or JSONL with the
|
|
9
|
-
|
|
10
|
-
|
|
21
|
+
- `npx convex data` now supports exporting data as JSON or JSONL with the
|
|
22
|
+
`--format` option.
|
|
23
|
+
- `npx convex env set` now supports setting environment variables via piping
|
|
24
|
+
(STDIN) (for example
|
|
25
|
+
`cat keys/my-private-key.txt | npx convex env set JWT_PRIVATE_KEY`).
|
|
11
26
|
|
|
12
27
|
## 1.26.2
|
|
13
28
|
|
package/dist/browser.bundle.js
CHANGED
|
@@ -28,7 +28,7 @@ var convex = (() => {
|
|
|
28
28
|
});
|
|
29
29
|
|
|
30
30
|
// src/index.ts
|
|
31
|
-
var version = "1.27.
|
|
31
|
+
var version = "1.27.1";
|
|
32
32
|
|
|
33
33
|
// src/values/base64.ts
|
|
34
34
|
var base64_exports = {};
|
|
@@ -1556,6 +1556,19 @@ var convex = (() => {
|
|
|
1556
1556
|
var CLOSE_GOING_AWAY = 1001;
|
|
1557
1557
|
var CLOSE_NO_STATUS = 1005;
|
|
1558
1558
|
var CLOSE_NOT_FOUND = 4040;
|
|
1559
|
+
var firstTime;
|
|
1560
|
+
function monotonicMillis() {
|
|
1561
|
+
if (firstTime === void 0) {
|
|
1562
|
+
firstTime = Date.now();
|
|
1563
|
+
}
|
|
1564
|
+
if (typeof performance === "undefined" || !performance.now) {
|
|
1565
|
+
return Date.now();
|
|
1566
|
+
}
|
|
1567
|
+
return Math.round(firstTime + performance.now());
|
|
1568
|
+
}
|
|
1569
|
+
function prettyNow() {
|
|
1570
|
+
return `t=${Math.round((monotonicMillis() - firstTime) / 100) / 10}s`;
|
|
1571
|
+
}
|
|
1559
1572
|
var serverDisconnectErrors = {
|
|
1560
1573
|
// A known error, e.g. during a restart or push
|
|
1561
1574
|
InternalServerError: { timeout: 1e3 },
|
|
@@ -1571,7 +1584,7 @@ var convex = (() => {
|
|
|
1571
1584
|
VectorIndexesUnavailable: { timeout: 1e3 },
|
|
1572
1585
|
SearchIndexesUnavailable: { timeout: 1e3 },
|
|
1573
1586
|
TableSummariesUnavailable: { timeout: 1e3 },
|
|
1574
|
-
// More
|
|
1587
|
+
// More ErrorMetadata::overloaded()
|
|
1575
1588
|
VectorIndexTooLarge: { timeout: 3e3 },
|
|
1576
1589
|
SearchIndexTooLarge: { timeout: 3e3 },
|
|
1577
1590
|
TooManyWritesInTimePeriod: { timeout: 3e3 }
|
|
@@ -1588,8 +1601,9 @@ var convex = (() => {
|
|
|
1588
1601
|
return "Unknown";
|
|
1589
1602
|
}
|
|
1590
1603
|
var WebSocketManager = class {
|
|
1591
|
-
constructor(uri, callbacks, webSocketConstructor, logger, markConnectionStateDirty) {
|
|
1604
|
+
constructor(uri, callbacks, webSocketConstructor, logger, markConnectionStateDirty, debug) {
|
|
1592
1605
|
this.markConnectionStateDirty = markConnectionStateDirty;
|
|
1606
|
+
this.debug = debug;
|
|
1593
1607
|
this.webSocketConstructor = webSocketConstructor;
|
|
1594
1608
|
this.socket = { state: "disconnected" };
|
|
1595
1609
|
this.connectionCount = 0;
|
|
@@ -1667,23 +1681,42 @@ var convex = (() => {
|
|
|
1667
1681
|
this._hasEverConnected = true;
|
|
1668
1682
|
this.onOpen({
|
|
1669
1683
|
connectionCount: this.connectionCount,
|
|
1670
|
-
lastCloseReason: this.lastCloseReason
|
|
1684
|
+
lastCloseReason: this.lastCloseReason,
|
|
1685
|
+
clientTs: monotonicMillis()
|
|
1671
1686
|
});
|
|
1672
1687
|
}
|
|
1673
1688
|
if (this.lastCloseReason !== "InitialConnect") {
|
|
1674
|
-
this.
|
|
1689
|
+
if (this.lastCloseReason) {
|
|
1690
|
+
this.logger.log(
|
|
1691
|
+
"WebSocket reconnected at",
|
|
1692
|
+
prettyNow(),
|
|
1693
|
+
"after disconnect due to",
|
|
1694
|
+
this.lastCloseReason
|
|
1695
|
+
);
|
|
1696
|
+
} else {
|
|
1697
|
+
this.logger.log("WebSocket reconnected at", prettyNow());
|
|
1698
|
+
}
|
|
1675
1699
|
}
|
|
1676
1700
|
this.connectionCount += 1;
|
|
1677
1701
|
this.lastCloseReason = null;
|
|
1678
1702
|
};
|
|
1679
1703
|
ws.onerror = (error) => {
|
|
1680
1704
|
const message = error.message;
|
|
1681
|
-
|
|
1705
|
+
if (message) {
|
|
1706
|
+
this.logger.log(`WebSocket error message: ${message}`);
|
|
1707
|
+
}
|
|
1682
1708
|
};
|
|
1683
1709
|
ws.onmessage = (message) => {
|
|
1684
1710
|
this.resetServerInactivityTimeout();
|
|
1711
|
+
const messageLength = message.data.length;
|
|
1685
1712
|
const serverMessage = parseServerMessage(JSON.parse(message.data));
|
|
1686
1713
|
this._logVerbose(`received ws message with type ${serverMessage.type}`);
|
|
1714
|
+
if (serverMessage.type === "Transition") {
|
|
1715
|
+
this.reportLargeTransition({
|
|
1716
|
+
messageLength,
|
|
1717
|
+
transition: serverMessage
|
|
1718
|
+
});
|
|
1719
|
+
}
|
|
1687
1720
|
const response = this.onMessage(serverMessage);
|
|
1688
1721
|
if (response.hasSyncedPastLastReconnect) {
|
|
1689
1722
|
this.retries = 0;
|
|
@@ -1693,7 +1726,7 @@ var convex = (() => {
|
|
|
1693
1726
|
ws.onclose = (event) => {
|
|
1694
1727
|
this._logVerbose("begin ws.onclose");
|
|
1695
1728
|
if (this.lastCloseReason === null) {
|
|
1696
|
-
this.lastCloseReason = event.reason
|
|
1729
|
+
this.lastCloseReason = event.reason || `closed with code ${event.code}`;
|
|
1697
1730
|
}
|
|
1698
1731
|
if (event.code !== CLOSE_NORMAL && event.code !== CLOSE_GOING_AWAY && // This commonly gets fired on mobile apps when the app is backgrounded
|
|
1699
1732
|
event.code !== CLOSE_NO_STATUS && event.code !== CLOSE_NOT_FOUND) {
|
|
@@ -1731,8 +1764,10 @@ var convex = (() => {
|
|
|
1731
1764
|
if (this.socket.state === "ready" && this.socket.paused === "no") {
|
|
1732
1765
|
const encodedMessage = encodeClientMessage(message);
|
|
1733
1766
|
const request = JSON.stringify(encodedMessage);
|
|
1767
|
+
let sent = false;
|
|
1734
1768
|
try {
|
|
1735
1769
|
this.socket.ws.send(request);
|
|
1770
|
+
sent = true;
|
|
1736
1771
|
} catch (error) {
|
|
1737
1772
|
this.logger.log(
|
|
1738
1773
|
`Failed to send message on WebSocket, reconnecting: ${error}`
|
|
@@ -1740,7 +1775,7 @@ var convex = (() => {
|
|
|
1740
1775
|
this.closeAndReconnect("FailedToSendMessage");
|
|
1741
1776
|
}
|
|
1742
1777
|
this._logVerbose(
|
|
1743
|
-
|
|
1778
|
+
`${sent ? "sent" : "failed to send"} message with type ${message.type}: ${JSON.stringify(
|
|
1744
1779
|
messageForLog
|
|
1745
1780
|
)}`
|
|
1746
1781
|
);
|
|
@@ -1769,7 +1804,7 @@ var convex = (() => {
|
|
|
1769
1804
|
this.socket = { state: "disconnected" };
|
|
1770
1805
|
const backoff = this.nextBackoff(reason);
|
|
1771
1806
|
this.markConnectionStateDirty();
|
|
1772
|
-
this.logger.log(`Attempting reconnect in ${backoff}ms`);
|
|
1807
|
+
this.logger.log(`Attempting reconnect in ${Math.round(backoff)}ms`);
|
|
1773
1808
|
setTimeout(() => this.connect(), backoff);
|
|
1774
1809
|
}
|
|
1775
1810
|
/**
|
|
@@ -1933,7 +1968,8 @@ var convex = (() => {
|
|
|
1933
1968
|
this.socket = { ...this.socket, paused: "no" };
|
|
1934
1969
|
this.onOpen({
|
|
1935
1970
|
connectionCount: this.connectionCount,
|
|
1936
|
-
lastCloseReason: this.lastCloseReason
|
|
1971
|
+
lastCloseReason: this.lastCloseReason,
|
|
1972
|
+
clientTs: monotonicMillis()
|
|
1937
1973
|
});
|
|
1938
1974
|
} else if (this.socket.paused === "yes") {
|
|
1939
1975
|
this.socket = { ...this.socket, paused: "no" };
|
|
@@ -1969,6 +2005,48 @@ var convex = (() => {
|
|
|
1969
2005
|
const jitter = actualBackoff * (Math.random() - 0.5);
|
|
1970
2006
|
return actualBackoff + jitter;
|
|
1971
2007
|
}
|
|
2008
|
+
reportLargeTransition({
|
|
2009
|
+
transition,
|
|
2010
|
+
messageLength
|
|
2011
|
+
}) {
|
|
2012
|
+
if (transition.clientClockSkew === void 0 || transition.serverTs === void 0) {
|
|
2013
|
+
return;
|
|
2014
|
+
}
|
|
2015
|
+
const transitionTransitTime = monotonicMillis() - // client time now
|
|
2016
|
+
// clientClockSkew = (server time + upstream latency) - client time
|
|
2017
|
+
// clientClockSkew is "how many milliseconds behind (slow) is the client clock"
|
|
2018
|
+
// but the latency of the Connect message inflates this, making it appear further behind
|
|
2019
|
+
transition.clientClockSkew - transition.serverTs / 1e6;
|
|
2020
|
+
const prettyTransitionTime = `${Math.round(transitionTransitTime)}ms`;
|
|
2021
|
+
const prettyMessageMB = `${Math.round(messageLength / 1e4) / 100}MB`;
|
|
2022
|
+
const bytesPerSecond = messageLength / (transitionTransitTime / 1e3);
|
|
2023
|
+
const prettyBytesPerSecond = `${Math.round(bytesPerSecond / 1e4) / 100}MB per second`;
|
|
2024
|
+
this._logVerbose(
|
|
2025
|
+
`received ${prettyMessageMB} transition in ${prettyTransitionTime} at ${prettyBytesPerSecond}`
|
|
2026
|
+
);
|
|
2027
|
+
if (transitionTransitTime > 1e4 && messageLength > 1e7) {
|
|
2028
|
+
this.logger.log(
|
|
2029
|
+
`received query results totalling more than 10MB (${prettyMessageMB}) which took more than 10s (${prettyTransitionTime}) to arrive`
|
|
2030
|
+
);
|
|
2031
|
+
} else if (messageLength > 2e7) {
|
|
2032
|
+
this.logger.log(
|
|
2033
|
+
`received query results totalling more that 20MB (${prettyMessageMB}) which will take a long time to download on slower connections`
|
|
2034
|
+
);
|
|
2035
|
+
} else if (transitionTransitTime > 2e4) {
|
|
2036
|
+
this.logger.log(
|
|
2037
|
+
`received query results totalling ${prettyMessageMB} which took more than 20s to arrive (${prettyTransitionTime})`
|
|
2038
|
+
);
|
|
2039
|
+
}
|
|
2040
|
+
if (this.debug) {
|
|
2041
|
+
if (transitionTransitTime > 1e4 || messageLength > 1e7) {
|
|
2042
|
+
this.sendMessage({
|
|
2043
|
+
type: "Event",
|
|
2044
|
+
eventType: "ClientReceivedTransition",
|
|
2045
|
+
event: { transitionTransitTime, messageLength }
|
|
2046
|
+
});
|
|
2047
|
+
}
|
|
2048
|
+
}
|
|
2049
|
+
}
|
|
1972
2050
|
};
|
|
1973
2051
|
|
|
1974
2052
|
// src/browser/sync/session.ts
|
|
@@ -2612,7 +2690,8 @@ var convex = (() => {
|
|
|
2612
2690
|
},
|
|
2613
2691
|
webSocketConstructor,
|
|
2614
2692
|
this.logger,
|
|
2615
|
-
this.markConnectionStateDirty
|
|
2693
|
+
this.markConnectionStateDirty,
|
|
2694
|
+
this.debug
|
|
2616
2695
|
);
|
|
2617
2696
|
this.mark("convexClientConstructed");
|
|
2618
2697
|
if (options.expectAuth) {
|
|
@@ -3405,6 +3484,8 @@ var convex = (() => {
|
|
|
3405
3484
|
this.logger = options?.logger === false ? instantiateNoopLogger({ verbose: false }) : options?.logger !== true && options?.logger ? options.logger : instantiateDefaultLogger({ verbose: false });
|
|
3406
3485
|
this.address = address;
|
|
3407
3486
|
this.debug = true;
|
|
3487
|
+
this.auth = void 0;
|
|
3488
|
+
this.adminAuth = void 0;
|
|
3408
3489
|
if (options?.auth) {
|
|
3409
3490
|
this.setAuth(options.auth);
|
|
3410
3491
|
}
|