convex 1.41.0 → 1.42.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 +38 -0
- package/dist/browser.bundle.js +24 -6
- package/dist/browser.bundle.js.map +2 -2
- package/dist/cjs/browser/simple_client-node.js +85 -27
- package/dist/cjs/browser/simple_client-node.js.map +3 -3
- package/dist/cjs/browser/sync/authentication_manager.js +21 -4
- package/dist/cjs/browser/sync/authentication_manager.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/cli/env.js +12 -5
- package/dist/cjs/cli/env.js.map +2 -2
- package/dist/cjs/cli/envDefault.js +12 -7
- package/dist/cjs/cli/envDefault.js.map +2 -2
- package/dist/cjs/cli/insights.js +11 -1
- package/dist/cjs/cli/insights.js.map +2 -2
- package/dist/cjs/cli/lib/env.js +5 -1
- package/dist/cjs/cli/lib/env.js.map +2 -2
- package/dist/cjs/cli/lib/login.js +16 -12
- package/dist/cjs/cli/lib/login.js.map +2 -2
- package/dist/cjs/cli/lib/logs.js +4 -1
- package/dist/cjs/cli/lib/logs.js.map +2 -2
- package/dist/cjs/cli/lib/run.js +27 -2
- package/dist/cjs/cli/lib/run.js.map +2 -2
- package/dist/cjs/cli/lib/typecheck.js +28 -10
- package/dist/cjs/cli/lib/typecheck.js.map +2 -2
- package/dist/cjs/cli/lib/utils/utils.js +30 -0
- package/dist/cjs/cli/lib/utils/utils.js.map +2 -2
- package/dist/cjs/cli/program.js +2 -1
- package/dist/cjs/cli/program.js.map +2 -2
- package/dist/cjs/cli/project.js +27 -0
- package/dist/cjs/cli/project.js.map +7 -0
- package/dist/cjs/cli/projectCreate.js +90 -0
- package/dist/cjs/cli/projectCreate.js.map +7 -0
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/server/database.js.map +1 -1
- package/dist/cjs/server/impl/meta_impl.js +6 -6
- package/dist/cjs/server/impl/meta_impl.js.map +2 -2
- package/dist/cjs/server/impl/registration_impl.js +9 -4
- package/dist/cjs/server/impl/registration_impl.js.map +2 -2
- package/dist/cjs/server/index.js.map +2 -2
- package/dist/cjs/server/meta.js.map +1 -1
- package/dist/cjs/server/query.js.map +1 -1
- package/dist/cjs/server/registration.js.map +1 -1
- package/dist/cjs/server/storage.js.map +1 -1
- package/dist/cjs/server/system_fields.js.map +1 -1
- package/dist/cjs-types/browser/sync/authentication_manager.d.ts +2 -0
- package/dist/cjs-types/browser/sync/authentication_manager.d.ts.map +1 -1
- package/dist/cjs-types/browser/sync/client.d.ts +16 -0
- package/dist/cjs-types/browser/sync/client.d.ts.map +1 -1
- package/dist/cjs-types/cli/env.d.ts.map +1 -1
- package/dist/cjs-types/cli/envDefault.d.ts.map +1 -1
- package/dist/cjs-types/cli/insights.d.ts +1 -0
- package/dist/cjs-types/cli/insights.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/env.d.ts +3 -1
- package/dist/cjs-types/cli/lib/env.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/env.test.d.ts +2 -0
- package/dist/cjs-types/cli/lib/env.test.d.ts.map +1 -0
- package/dist/cjs-types/cli/lib/login.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/logs.d.ts +1 -1
- package/dist/cjs-types/cli/lib/logs.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/run.d.ts +1 -1
- package/dist/cjs-types/cli/lib/run.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/utils/utils.d.ts +10 -0
- package/dist/cjs-types/cli/lib/utils/utils.d.ts.map +1 -1
- package/dist/cjs-types/cli/program.d.ts.map +1 -1
- package/dist/cjs-types/cli/project.d.ts +3 -0
- package/dist/cjs-types/cli/project.d.ts.map +1 -0
- package/dist/cjs-types/cli/projectCreate.d.ts +5 -0
- package/dist/cjs-types/cli/projectCreate.d.ts.map +1 -0
- package/dist/cjs-types/index.d.ts +1 -1
- package/dist/cjs-types/server/database.d.ts +21 -3
- package/dist/cjs-types/server/database.d.ts.map +1 -1
- package/dist/cjs-types/server/impl/meta_impl.d.ts.map +1 -1
- package/dist/cjs-types/server/impl/registration_impl.d.ts.map +1 -1
- package/dist/cjs-types/server/index.d.ts +1 -1
- package/dist/cjs-types/server/index.d.ts.map +1 -1
- package/dist/cjs-types/server/meta.d.ts +10 -0
- package/dist/cjs-types/server/meta.d.ts.map +1 -1
- package/dist/cjs-types/server/query.d.ts +1 -1
- package/dist/cjs-types/server/registration.d.ts +15 -3
- package/dist/cjs-types/server/registration.d.ts.map +1 -1
- package/dist/cjs-types/server/storage.d.ts +20 -3
- package/dist/cjs-types/server/storage.d.ts.map +1 -1
- package/dist/cli.bundle.cjs +1099 -634
- package/dist/cli.bundle.cjs.map +4 -4
- package/dist/esm/browser/simple_client-node.js +85 -27
- package/dist/esm/browser/simple_client-node.js.map +3 -3
- package/dist/esm/browser/sync/authentication_manager.js +21 -4
- package/dist/esm/browser/sync/authentication_manager.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/cli/env.js +12 -5
- package/dist/esm/cli/env.js.map +2 -2
- package/dist/esm/cli/envDefault.js +12 -7
- package/dist/esm/cli/envDefault.js.map +2 -2
- package/dist/esm/cli/insights.js +11 -1
- package/dist/esm/cli/insights.js.map +2 -2
- package/dist/esm/cli/lib/env.js +5 -1
- package/dist/esm/cli/lib/env.js.map +2 -2
- package/dist/esm/cli/lib/login.js +18 -13
- package/dist/esm/cli/lib/login.js.map +2 -2
- package/dist/esm/cli/lib/logs.js +5 -2
- package/dist/esm/cli/lib/logs.js.map +2 -2
- package/dist/esm/cli/lib/run.js +32 -3
- package/dist/esm/cli/lib/run.js.map +2 -2
- package/dist/esm/cli/lib/typecheck.js +28 -10
- package/dist/esm/cli/lib/typecheck.js.map +3 -3
- package/dist/esm/cli/lib/utils/utils.js +29 -0
- package/dist/esm/cli/lib/utils/utils.js.map +2 -2
- package/dist/esm/cli/program.js +2 -1
- package/dist/esm/cli/program.js.map +2 -2
- package/dist/esm/cli/project.js +5 -0
- package/dist/esm/cli/project.js.map +7 -0
- package/dist/esm/cli/projectCreate.js +68 -0
- package/dist/esm/cli/projectCreate.js.map +7 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/server/impl/meta_impl.js +6 -6
- package/dist/esm/server/impl/meta_impl.js.map +2 -2
- package/dist/esm/server/impl/registration_impl.js +9 -4
- package/dist/esm/server/impl/registration_impl.js.map +2 -2
- package/dist/esm/server/index.js.map +2 -2
- package/dist/esm-types/browser/sync/authentication_manager.d.ts +2 -0
- package/dist/esm-types/browser/sync/authentication_manager.d.ts.map +1 -1
- package/dist/esm-types/browser/sync/client.d.ts +16 -0
- package/dist/esm-types/browser/sync/client.d.ts.map +1 -1
- package/dist/esm-types/cli/env.d.ts.map +1 -1
- package/dist/esm-types/cli/envDefault.d.ts.map +1 -1
- package/dist/esm-types/cli/insights.d.ts +1 -0
- package/dist/esm-types/cli/insights.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/env.d.ts +3 -1
- package/dist/esm-types/cli/lib/env.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/env.test.d.ts +2 -0
- package/dist/esm-types/cli/lib/env.test.d.ts.map +1 -0
- package/dist/esm-types/cli/lib/login.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/logs.d.ts +1 -1
- package/dist/esm-types/cli/lib/logs.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/run.d.ts +1 -1
- package/dist/esm-types/cli/lib/run.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/utils/utils.d.ts +10 -0
- package/dist/esm-types/cli/lib/utils/utils.d.ts.map +1 -1
- package/dist/esm-types/cli/program.d.ts.map +1 -1
- package/dist/esm-types/cli/project.d.ts +3 -0
- package/dist/esm-types/cli/project.d.ts.map +1 -0
- package/dist/esm-types/cli/projectCreate.d.ts +5 -0
- package/dist/esm-types/cli/projectCreate.d.ts.map +1 -0
- package/dist/esm-types/index.d.ts +1 -1
- package/dist/esm-types/server/database.d.ts +21 -3
- package/dist/esm-types/server/database.d.ts.map +1 -1
- package/dist/esm-types/server/impl/meta_impl.d.ts.map +1 -1
- package/dist/esm-types/server/impl/registration_impl.d.ts.map +1 -1
- package/dist/esm-types/server/index.d.ts +1 -1
- package/dist/esm-types/server/index.d.ts.map +1 -1
- package/dist/esm-types/server/meta.d.ts +10 -0
- package/dist/esm-types/server/meta.d.ts.map +1 -1
- package/dist/esm-types/server/query.d.ts +1 -1
- package/dist/esm-types/server/registration.d.ts +15 -3
- package/dist/esm-types/server/registration.d.ts.map +1 -1
- package/dist/esm-types/server/storage.d.ts +20 -3
- package/dist/esm-types/server/storage.d.ts.map +1 -1
- package/dist/react.bundle.js +24 -6
- package/dist/react.bundle.js.map +2 -2
- package/package.json +4 -4
- package/src/browser/sync/authentication_manager.ts +42 -14
- package/src/browser/sync/client.ts +17 -0
- package/src/cli/env.ts +16 -6
- package/src/cli/envDefault.ts +13 -7
- package/src/cli/insights.ts +12 -0
- package/src/cli/lib/env.test.ts +60 -0
- package/src/cli/lib/env.ts +9 -1
- package/src/cli/lib/login.ts +18 -18
- package/src/cli/lib/logs.ts +7 -2
- package/src/cli/lib/run.ts +37 -3
- package/src/cli/lib/typecheck.ts +26 -10
- package/src/cli/lib/utils/utils.ts +56 -0
- package/src/cli/program.ts +2 -0
- package/src/cli/project.ts +7 -0
- package/src/cli/projectCreate.ts +99 -0
- package/src/index.ts +1 -1
- package/src/react/ConvexAuthState.test.tsx +145 -0
- package/src/server/database.ts +21 -3
- package/src/server/impl/meta_impl.ts +7 -6
- package/src/server/impl/registration_impl.ts +11 -5
- package/src/server/index.ts +1 -0
- package/src/server/meta.ts +10 -0
- package/src/server/query.ts +1 -1
- package/src/server/registration.test.ts +25 -1
- package/src/server/registration.ts +16 -1
- package/src/server/storage.ts +22 -3
- package/src/server/system_fields.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,43 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.42.1
|
|
4
|
+
|
|
5
|
+
- Fixed an issue where the CLI would be unable to find the `tsgo` binary in
|
|
6
|
+
newer versions of `@typescript/native-preview`.
|
|
7
|
+
- Added a new `initialAuthTokenReuse` option to `ConvexReactClient` that
|
|
8
|
+
prevents extra function calls when users re-authenticate.
|
|
9
|
+
|
|
10
|
+
## 1.42.0
|
|
11
|
+
|
|
12
|
+
- Added a new `npx convex project create` command that can be used
|
|
13
|
+
to create new projects programmatically.
|
|
14
|
+
- Added a new `--names-only` flag to `npx convex env list`
|
|
15
|
+
(and `npx convex env default list`). This flag shows the names of
|
|
16
|
+
the env vars that are set, without the values. It can be useful
|
|
17
|
+
to let AI coding agents know the variables that are set on a deployment,
|
|
18
|
+
without giving them the actual values.
|
|
19
|
+
- Added a new `useStaleSnapshot` option to the arguments for `runQuery`.
|
|
20
|
+
This is an advanced feature that can be used to allow mutations
|
|
21
|
+
to avoid optimistic concurrency control (OCC) conflicts in some cases
|
|
22
|
+
where they can commit even though they depend on conflicting reads.
|
|
23
|
+
This change allows us to improve the performance of some of the
|
|
24
|
+
official Convex components, including Workpool.
|
|
25
|
+
- Improved the documentation of `db.*` methods to more clearly explain
|
|
26
|
+
the difference between the old APIs without table names
|
|
27
|
+
(e.g. `db.get(userId)`) and the new APIs with table names
|
|
28
|
+
(e.g. `db.get("users", userId)`).
|
|
29
|
+
- Fixed an issue where the CLI would not surface permission errors
|
|
30
|
+
correctly when the user or token doesn’t have permission to do something.
|
|
31
|
+
- Exposes the current scheduled function's ID as `scheduledFunctionId` in
|
|
32
|
+
`ctx.meta.getRequestMetadata()`.
|
|
33
|
+
- `npx convex insights` has a new `--json` flag that makes the command
|
|
34
|
+
output easier to parse programmatically.
|
|
35
|
+
- File storage: marked a few TypeScript types in `convex/server` as `@deprecated`
|
|
36
|
+
(`FileMetadata`, `FileStorageId`, `StorageId`). These types are used
|
|
37
|
+
only by file storage APIs that were deprecated in `convex@1.6.0`,
|
|
38
|
+
so we also marked them as `@deprecated` for clarity.
|
|
39
|
+
- Bumps the `ws` peer dependency to avoid a vulnerable range.
|
|
40
|
+
|
|
3
41
|
## 1.41.0
|
|
4
42
|
- It is now possible to set limits on nested queries and mutations
|
|
5
43
|
with the new `transactionLimits` option in `runQuery`/`runMutation`.
|
package/dist/browser.bundle.js
CHANGED
|
@@ -29,7 +29,7 @@ var convex = (() => {
|
|
|
29
29
|
});
|
|
30
30
|
|
|
31
31
|
// src/index.ts
|
|
32
|
-
var version = "1.
|
|
32
|
+
var version = "1.42.1";
|
|
33
33
|
|
|
34
34
|
// src/values/base64.ts
|
|
35
35
|
var base64_exports = {};
|
|
@@ -2325,6 +2325,7 @@ var convex = (() => {
|
|
|
2325
2325
|
clearAuth;
|
|
2326
2326
|
logger;
|
|
2327
2327
|
refreshTokenLeewaySeconds;
|
|
2328
|
+
initialAuthTokenReuse;
|
|
2328
2329
|
// Track last value to avoid redundant calls
|
|
2329
2330
|
lastRefreshChange;
|
|
2330
2331
|
// Number of times we have attempted to confirm the latest token. We retry up
|
|
@@ -2340,6 +2341,7 @@ var convex = (() => {
|
|
|
2340
2341
|
this.clearAuth = callbacks.clearAuth;
|
|
2341
2342
|
this.logger = config.logger;
|
|
2342
2343
|
this.refreshTokenLeewaySeconds = config.refreshTokenLeewaySeconds;
|
|
2344
|
+
this.initialAuthTokenReuse = config.initialAuthTokenReuse;
|
|
2343
2345
|
this.lastRefreshChange = false;
|
|
2344
2346
|
}
|
|
2345
2347
|
notifyRefreshChange(isRefreshing) {
|
|
@@ -2395,7 +2397,12 @@ var convex = (() => {
|
|
|
2395
2397
|
this.syncState.markAuthCompletion();
|
|
2396
2398
|
if (this.authState.state === "waitingForServerConfirmationOfCachedToken") {
|
|
2397
2399
|
this._logVerbose("server confirmed auth token is valid");
|
|
2398
|
-
|
|
2400
|
+
const cachedToken = this.syncState.getAuth()?.value;
|
|
2401
|
+
if (this.initialAuthTokenReuse && cachedToken) {
|
|
2402
|
+
this.scheduleTokenRefetch(cachedToken, serverMessage.clientClockSkew);
|
|
2403
|
+
} else {
|
|
2404
|
+
void this.refetchToken();
|
|
2405
|
+
}
|
|
2399
2406
|
this.authState.config.onAuthChange(true);
|
|
2400
2407
|
return;
|
|
2401
2408
|
}
|
|
@@ -2526,7 +2533,7 @@ var convex = (() => {
|
|
|
2526
2533
|
);
|
|
2527
2534
|
this.tryRestartSocket();
|
|
2528
2535
|
}
|
|
2529
|
-
scheduleTokenRefetch(token) {
|
|
2536
|
+
scheduleTokenRefetch(token, clientClockSkewMs) {
|
|
2530
2537
|
if (this.authState.state === "noAuth") {
|
|
2531
2538
|
return;
|
|
2532
2539
|
}
|
|
@@ -2544,13 +2551,23 @@ var convex = (() => {
|
|
|
2544
2551
|
);
|
|
2545
2552
|
return;
|
|
2546
2553
|
}
|
|
2547
|
-
const
|
|
2548
|
-
if (
|
|
2554
|
+
const fullLifetimeSeconds = exp - iat;
|
|
2555
|
+
if (fullLifetimeSeconds <= 2) {
|
|
2549
2556
|
this.logger.error(
|
|
2550
2557
|
"Auth token does not live long enough, cannot refetch the token"
|
|
2551
2558
|
);
|
|
2552
2559
|
return;
|
|
2553
2560
|
}
|
|
2561
|
+
let tokenValiditySeconds;
|
|
2562
|
+
if (clientClockSkewMs !== void 0) {
|
|
2563
|
+
const estimatedServerNowSeconds = (Date.now() - clientClockSkewMs) / 1e3;
|
|
2564
|
+
tokenValiditySeconds = exp - estimatedServerNowSeconds;
|
|
2565
|
+
if (tokenValiditySeconds <= 0) {
|
|
2566
|
+
tokenValiditySeconds = 0;
|
|
2567
|
+
}
|
|
2568
|
+
} else {
|
|
2569
|
+
tokenValiditySeconds = fullLifetimeSeconds;
|
|
2570
|
+
}
|
|
2554
2571
|
let delay = Math.min(
|
|
2555
2572
|
MAXIMUM_REFRESH_DELAY,
|
|
2556
2573
|
(tokenValiditySeconds - this.refreshTokenLeewaySeconds) * 1e3
|
|
@@ -2775,7 +2792,8 @@ var convex = (() => {
|
|
|
2775
2792
|
},
|
|
2776
2793
|
{
|
|
2777
2794
|
logger: this.logger,
|
|
2778
|
-
refreshTokenLeewaySeconds: authRefreshTokenLeewaySeconds
|
|
2795
|
+
refreshTokenLeewaySeconds: authRefreshTokenLeewaySeconds,
|
|
2796
|
+
initialAuthTokenReuse: options.initialAuthTokenReuse ?? false
|
|
2779
2797
|
}
|
|
2780
2798
|
);
|
|
2781
2799
|
this.optimisticQueryResults = new OptimisticQueryResults();
|