convex 1.24.0 → 1.25.0-alpha.0
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 +36 -5
- package/dist/browser.bundle.js +13 -6
- package/dist/browser.bundle.js.map +2 -2
- package/dist/cjs/browser/http_client.js +1 -1
- package/dist/cjs/browser/http_client.js.map +2 -2
- package/dist/cjs/browser/logging.js +4 -0
- package/dist/cjs/browser/logging.js.map +2 -2
- package/dist/cjs/browser/simple_client.js +7 -3
- package/dist/cjs/browser/simple_client.js.map +2 -2
- package/dist/cjs/browser/sync/client.js +1 -1
- package/dist/cjs/browser/sync/client.js.map +2 -2
- package/dist/cjs/bundler/index.js +5 -2
- package/dist/cjs/bundler/index.js.map +2 -2
- package/dist/cjs/cli/codegen_templates/tsconfig.js +1 -1
- package/dist/cjs/cli/codegen_templates/tsconfig.js.map +1 -1
- package/dist/cjs/cli/lib/convexImport.js +9 -3
- package/dist/cjs/cli/lib/convexImport.js.map +2 -2
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/react/client.js +1 -1
- package/dist/cjs/react/client.js.map +2 -2
- package/dist/cjs/server/impl/query_impl.js +6 -0
- package/dist/cjs/server/impl/query_impl.js.map +2 -2
- package/dist/cjs-types/browser/http_client.d.ts +1 -1
- package/dist/cjs-types/browser/http_client.d.ts.map +1 -1
- package/dist/cjs-types/browser/logging.d.ts +3 -0
- package/dist/cjs-types/browser/logging.d.ts.map +1 -1
- package/dist/cjs-types/browser/simple_client.d.ts +3 -2
- package/dist/cjs-types/browser/simple_client.d.ts.map +1 -1
- package/dist/cjs-types/browser/sync/client.d.ts +4 -4
- package/dist/cjs-types/browser/sync/client.d.ts.map +1 -1
- package/dist/cjs-types/bundler/index.d.ts.map +1 -1
- package/dist/cjs-types/cli/lib/convexImport.d.ts.map +1 -1
- package/dist/cjs-types/index.d.ts +1 -1
- package/dist/cjs-types/index.d.ts.map +1 -1
- package/dist/cjs-types/react/client.d.ts.map +1 -1
- package/dist/cjs-types/server/impl/query_impl.d.ts.map +1 -1
- package/dist/cli.bundle.cjs +21 -9
- package/dist/cli.bundle.cjs.map +2 -2
- package/dist/esm/browser/http_client.js +6 -2
- package/dist/esm/browser/http_client.js.map +2 -2
- package/dist/esm/browser/logging.js +3 -0
- package/dist/esm/browser/logging.js.map +2 -2
- package/dist/esm/browser/simple_client.js +7 -3
- package/dist/esm/browser/simple_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/bundler/index.js +5 -2
- package/dist/esm/bundler/index.js.map +2 -2
- package/dist/esm/cli/codegen_templates/tsconfig.js +1 -1
- package/dist/esm/cli/codegen_templates/tsconfig.js.map +1 -1
- package/dist/esm/cli/lib/convexImport.js +9 -3
- package/dist/esm/cli/lib/convexImport.js.map +2 -2
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/react/client.js +5 -2
- package/dist/esm/react/client.js.map +2 -2
- package/dist/esm/server/impl/query_impl.js +6 -0
- package/dist/esm/server/impl/query_impl.js.map +2 -2
- package/dist/esm-types/browser/http_client.d.ts +1 -1
- package/dist/esm-types/browser/http_client.d.ts.map +1 -1
- package/dist/esm-types/browser/logging.d.ts +3 -0
- package/dist/esm-types/browser/logging.d.ts.map +1 -1
- package/dist/esm-types/browser/simple_client.d.ts +3 -2
- package/dist/esm-types/browser/simple_client.d.ts.map +1 -1
- package/dist/esm-types/browser/sync/client.d.ts +4 -4
- package/dist/esm-types/browser/sync/client.d.ts.map +1 -1
- package/dist/esm-types/bundler/index.d.ts.map +1 -1
- package/dist/esm-types/cli/lib/convexImport.d.ts.map +1 -1
- package/dist/esm-types/index.d.ts +1 -1
- package/dist/esm-types/index.d.ts.map +1 -1
- package/dist/esm-types/react/client.d.ts.map +1 -1
- package/dist/esm-types/server/impl/query_impl.d.ts.map +1 -1
- package/dist/react.bundle.js +6 -3
- package/dist/react.bundle.js.map +2 -2
- package/package.json +6 -6
- package/src/browser/http_client.ts +16 -3
- package/src/browser/logging.ts +4 -0
- package/src/browser/simple_client.ts +7 -3
- package/src/browser/sync/client.ts +10 -6
- package/src/bundler/index.ts +4 -2
- package/src/cli/codegen_templates/tsconfig.ts +1 -1
- package/src/cli/lib/convexImport.ts +15 -4
- package/src/index.ts +1 -1
- package/src/react/client.ts +10 -3
- package/src/server/impl/query_impl.ts +7 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,16 +1,47 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 1.24.1
|
|
4
4
|
|
|
5
|
-
-
|
|
6
|
-
|
|
5
|
+
- Accept `true` and `false` as values for logger in all clients, making
|
|
6
|
+
disabling logs from convex functions run on a development deployment simpler:
|
|
7
|
+
it's no longer necessary write your own no-op logger.
|
|
8
|
+
|
|
9
|
+
## 1.24.0
|
|
7
10
|
|
|
8
|
-
- Drop support for React 17 and remove use of `unstable_batchedUpdates` as
|
|
11
|
+
- Drop support for React 17 and remove use of `unstable_batchedUpdates` as React
|
|
9
12
|
18 introduced
|
|
10
13
|
[Automatic batching](https://react.dev/blog/2022/03/29/react-v18#new-feature-automatic-batching)
|
|
11
14
|
|
|
15
|
+
If you use React 17 and choose to override the change in supported peer
|
|
16
|
+
dependencies (please don't), you may notice query updates are no longer
|
|
17
|
+
batched: it's possible for one Convex query update to occur on a different
|
|
18
|
+
React render than another causing single frames of discrepancies in UI or
|
|
19
|
+
worse, errors if you have code that relies on the client-side consistency like
|
|
20
|
+
client-side joins.
|
|
21
|
+
|
|
22
|
+
You may also notice nothing. Without batched updates some queries may be a few
|
|
23
|
+
milliseconds ahead of other queries, which is still much less than the
|
|
24
|
+
differences in other data fetching solutions, e.g. React Query or SWR, in
|
|
25
|
+
non-batched mode.
|
|
26
|
+
|
|
12
27
|
- Remove dependency on `react-dom`, making it possible to use on "React Native
|
|
13
|
-
only" projects.
|
|
28
|
+
only" projects without overriding any dependency resolution.
|
|
29
|
+
|
|
30
|
+
- New optimistic update helpers for paginated queries: three helpers
|
|
31
|
+
`insertAtTop`, `insertAtBottomIfLoaded`, and `insertAtPosition`.
|
|
32
|
+
|
|
33
|
+
- The `npx convex login --login-flow paste` flag can be used to explicitly opt
|
|
34
|
+
into the manual token paste login method.
|
|
35
|
+
|
|
36
|
+
- Fix MCP servers for self-hosted deployments: previously MCP CLI commands were
|
|
37
|
+
attempting to contact a cloud deployment (which didn't exist) in self-hosted
|
|
38
|
+
setups.
|
|
39
|
+
|
|
40
|
+
- New `compareValues` function exported from `convex/values` which matches
|
|
41
|
+
Convex values semantics as implemented in backends. This function should match
|
|
42
|
+
the Rust implementation in backend (and it property-tested in pursuit of
|
|
43
|
+
this!) but in the event of discrepancies the Rust implementation should be
|
|
44
|
+
considered authoritative.
|
|
14
45
|
|
|
15
46
|
## 1.23.0
|
|
16
47
|
|
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.
|
|
31
|
+
var version = "1.25.0-alpha.0";
|
|
32
32
|
|
|
33
33
|
// src/values/base64.ts
|
|
34
34
|
var base64_exports = {};
|
|
@@ -548,6 +548,9 @@ var convex = (() => {
|
|
|
548
548
|
});
|
|
549
549
|
return logger;
|
|
550
550
|
}
|
|
551
|
+
function instantiateNoopLogger(options) {
|
|
552
|
+
return new Logger(options);
|
|
553
|
+
}
|
|
551
554
|
function logForFunction(logger, type, source, udfPath, message) {
|
|
552
555
|
const prefix = prefix_for_source(source);
|
|
553
556
|
if (typeof message === "object") {
|
|
@@ -2367,7 +2370,7 @@ var convex = (() => {
|
|
|
2367
2370
|
webSocketConstructor = webSocketConstructor || WebSocket;
|
|
2368
2371
|
this.debug = options.reportDebugInfoToConvex ?? false;
|
|
2369
2372
|
this.address = address;
|
|
2370
|
-
this.logger = options.logger ?? instantiateDefaultLogger({ verbose: options.verbose ?? false });
|
|
2373
|
+
this.logger = options.logger === false ? instantiateNoopLogger({ verbose: options.verbose ?? false }) : options.logger !== true && options.logger ? options.logger : instantiateDefaultLogger({ verbose: options.verbose ?? false });
|
|
2371
2374
|
const i = address.search("://");
|
|
2372
2375
|
if (i === -1) {
|
|
2373
2376
|
throw new Error("Provided address was not an absolute URL.");
|
|
@@ -2971,7 +2974,7 @@ var convex = (() => {
|
|
|
2971
2974
|
// A synthetic server event to run callbacks the first time
|
|
2972
2975
|
callNewListenersWithCurrentValuesTimer;
|
|
2973
2976
|
_closed;
|
|
2974
|
-
|
|
2977
|
+
_disabled;
|
|
2975
2978
|
/**
|
|
2976
2979
|
* Once closed no registered callbacks will fire again.
|
|
2977
2980
|
*/
|
|
@@ -2982,6 +2985,9 @@ var convex = (() => {
|
|
|
2982
2985
|
if (this._client) return this._client;
|
|
2983
2986
|
throw new Error("ConvexClient is disabled");
|
|
2984
2987
|
}
|
|
2988
|
+
get disabled() {
|
|
2989
|
+
return this._disabled;
|
|
2990
|
+
}
|
|
2985
2991
|
/**
|
|
2986
2992
|
* Construct a client and immediately initiate a WebSocket connection to the passed address.
|
|
2987
2993
|
*
|
|
@@ -2993,7 +2999,7 @@ var convex = (() => {
|
|
|
2993
2999
|
}
|
|
2994
3000
|
const { disabled, ...baseOptions } = options;
|
|
2995
3001
|
this._closed = false;
|
|
2996
|
-
this.
|
|
3002
|
+
this._disabled = !!disabled;
|
|
2997
3003
|
if (defaultWebSocketConstructor && !("webSocketConstructor" in baseOptions) && typeof WebSocket === "undefined") {
|
|
2998
3004
|
baseOptions.webSocketConstructor = defaultWebSocketConstructor;
|
|
2999
3005
|
}
|
|
@@ -3108,10 +3114,11 @@ var convex = (() => {
|
|
|
3108
3114
|
* `fetchToken` will be called automatically again if a token expires.
|
|
3109
3115
|
* `fetchToken` should return `null` if the token cannot be retrieved, for example
|
|
3110
3116
|
* when the user's rights were permanently revoked.
|
|
3111
|
-
* @param fetchToken - an async function returning the JWT
|
|
3117
|
+
* @param fetchToken - an async function returning the JWT (typically an OpenID Connect Identity Token)
|
|
3112
3118
|
* @param onChange - a callback that will be called when the authentication status changes
|
|
3113
3119
|
*/
|
|
3114
3120
|
setAuth(fetchToken, onChange) {
|
|
3121
|
+
if (this.disabled) return;
|
|
3115
3122
|
this.client.setAuth(
|
|
3116
3123
|
fetchToken,
|
|
3117
3124
|
onChange ?? (() => {
|
|
@@ -3246,7 +3253,7 @@ var convex = (() => {
|
|
|
3246
3253
|
if (opts.skipConvexDeploymentUrlCheck !== true) {
|
|
3247
3254
|
validateDeploymentUrl(address);
|
|
3248
3255
|
}
|
|
3249
|
-
this.logger =
|
|
3256
|
+
this.logger = options?.logger === false ? instantiateNoopLogger({ verbose: false }) : options?.logger !== true && options?.logger ? options.logger : instantiateDefaultLogger({ verbose: false });
|
|
3250
3257
|
this.address = address;
|
|
3251
3258
|
this.debug = true;
|
|
3252
3259
|
}
|