@absolutejs/absolute 0.20.0-beta.123 → 0.20.0-beta.124
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 +9 -0
- package/changelog.json +19 -0
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/build.js +18 -5
- package/dist/build.js.map +3 -3
- package/dist/index.js +18 -5
- package/dist/index.js.map +4 -4
- package/dist/types/websocket.d.ts +1 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,15 @@ This file is generated by `absolute-changelog` from the entries in
|
|
|
6
6
|
`changelog/`. Edit an entry, not this file — and add new ones under
|
|
7
7
|
`changelog/unreleased/`.
|
|
8
8
|
|
|
9
|
+
## 0.20.0-beta.124 — 2026-09-28
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- **Projects on a current `@absolutejs/auth` no longer get a second, older copy**
|
|
14
|
+
AbsoluteJS accepted `@absolutejs/auth` only below 0.77, so a project that added a current auth (0.77 to 0.96) got two copies: its own, plus 0.76.3 nested under AbsoluteJS for the mobile shell. The duplicate also doubled the auth type declarations TypeScript loads. AbsoluteJS now accepts auth up to 0.96. The `@absolutejs/auth/client/mobile` API it uses is byte-identical from 0.76.3 to 0.96.0, in both its declarations and its runtime.
|
|
15
|
+
- **`/hmr-status` no longer counts closed or duplicate HMR clients** (`HMRWebSocket`)
|
|
16
|
+
Elysia 2 hands every open, message and close event of a WebSocket a new wrapper object. The dev server tracked HMR clients by that wrapper, so a closed browser tab was never removed (it stayed until a broadcast send threw) and each `ready` message counted the same tab again under `connectedTargets`, so `/hmr-status` reported clients that were gone and more web targets than open sockets. Clients are now tracked by the underlying socket.
|
|
17
|
+
|
|
9
18
|
## 0.20.0-beta.123 — 2026-09-28
|
|
10
19
|
|
|
11
20
|
### Added
|
package/changelog.json
CHANGED
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
"contract": 1,
|
|
3
3
|
"name": "@absolutejs/absolute",
|
|
4
4
|
"releases": [
|
|
5
|
+
{
|
|
6
|
+
"changes": [
|
|
7
|
+
{
|
|
8
|
+
"detail": "AbsoluteJS accepted `@absolutejs/auth` only below 0.77, so a project that added a current auth (0.77 to 0.96) got two copies: its own, plus 0.76.3 nested under AbsoluteJS for the mobile shell. The duplicate also doubled the auth type declarations TypeScript loads. AbsoluteJS now accepts auth up to 0.96. The `@absolutejs/auth/client/mobile` API it uses is byte-identical from 0.76.3 to 0.96.0, in both its declarations and its runtime.",
|
|
9
|
+
"kind": "fixed",
|
|
10
|
+
"summary": "Projects on a current `@absolutejs/auth` no longer get a second, older copy"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"detail": "Elysia 2 hands every open, message and close event of a WebSocket a new wrapper object. The dev server tracked HMR clients by that wrapper, so a closed browser tab was never removed (it stayed until a broadcast send threw) and each `ready` message counted the same tab again under `connectedTargets`, so `/hmr-status` reported clients that were gone and more web targets than open sockets. Clients are now tracked by the underlying socket.",
|
|
14
|
+
"kind": "fixed",
|
|
15
|
+
"summary": "`/hmr-status` no longer counts closed or duplicate HMR clients",
|
|
16
|
+
"symbols": [
|
|
17
|
+
"HMRWebSocket"
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"date": "2026-09-28",
|
|
22
|
+
"version": "0.20.0-beta.124"
|
|
23
|
+
},
|
|
5
24
|
{
|
|
6
25
|
"changes": [
|
|
7
26
|
{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
var __require = import.meta.require;
|
|
3
3
|
|
|
4
|
-
// .angular-partial-tmp-
|
|
4
|
+
// .angular-partial-tmp-VA5kAM/src/core/streamingSlotRegistrar.ts
|
|
5
5
|
var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
|
|
6
6
|
var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
|
|
7
7
|
var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
var __require = import.meta.require;
|
|
3
3
|
|
|
4
|
-
// .angular-partial-tmp-
|
|
4
|
+
// .angular-partial-tmp-VA5kAM/src/core/streamingSlotRegistrar.ts
|
|
5
5
|
var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
|
|
6
6
|
var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
|
|
7
7
|
var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
|
|
@@ -48,7 +48,7 @@ var warnMissingStreamingSlotCollector = (primitiveName) => {
|
|
|
48
48
|
getWarningController()?.maybeWarn(primitiveName);
|
|
49
49
|
};
|
|
50
50
|
|
|
51
|
-
// .angular-partial-tmp-
|
|
51
|
+
// .angular-partial-tmp-VA5kAM/src/core/streamingSlotRegistry.ts
|
|
52
52
|
var STREAMING_SLOT_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotAsyncLocalStorage");
|
|
53
53
|
var isObjectRecord2 = (value) => Boolean(value) && typeof value === "object";
|
|
54
54
|
var isAsyncLocalStorage = (value) => isObjectRecord2(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function";
|
package/dist/build.js
CHANGED
|
@@ -26803,6 +26803,15 @@ var MAX_RETAINED_HMR_UPDATES = 100, normalizedHmrTarget = (value) => {
|
|
|
26803
26803
|
const oldest = state.hmrUpdates.keys().next().value;
|
|
26804
26804
|
if (typeof oldest === "number")
|
|
26805
26805
|
state.hmrUpdates.delete(oldest);
|
|
26806
|
+
}, canonicalClients, canonicalClient = (client) => {
|
|
26807
|
+
const { raw } = client;
|
|
26808
|
+
if (!raw)
|
|
26809
|
+
return client;
|
|
26810
|
+
const known = canonicalClients.get(raw);
|
|
26811
|
+
if (known)
|
|
26812
|
+
return known;
|
|
26813
|
+
canonicalClients.set(raw, client);
|
|
26814
|
+
return client;
|
|
26806
26815
|
}, trySendMessage = (client, messageStr) => {
|
|
26807
26816
|
try {
|
|
26808
26817
|
client.send(messageStr);
|
|
@@ -26829,7 +26838,7 @@ var MAX_RETAINED_HMR_UPDATES = 100, normalizedHmrTarget = (value) => {
|
|
|
26829
26838
|
state.clientTargets.delete(client);
|
|
26830
26839
|
});
|
|
26831
26840
|
}, handleClientConnect = (state, client, manifest) => {
|
|
26832
|
-
state.connectedClients.add(client);
|
|
26841
|
+
state.connectedClients.add(canonicalClient(client));
|
|
26833
26842
|
const serverVersions = serializeModuleVersions(state.moduleVersions);
|
|
26834
26843
|
client.send(JSON.stringify({
|
|
26835
26844
|
data: {
|
|
@@ -26866,8 +26875,11 @@ var MAX_RETAINED_HMR_UPDATES = 100, normalizedHmrTarget = (value) => {
|
|
|
26866
26875
|
}));
|
|
26867
26876
|
}
|
|
26868
26877
|
}, handleClientDisconnect = (state, client) => {
|
|
26869
|
-
|
|
26870
|
-
state.
|
|
26878
|
+
const known = canonicalClient(client);
|
|
26879
|
+
state.connectedClients.delete(known);
|
|
26880
|
+
state.clientTargets.delete(known);
|
|
26881
|
+
if (client.raw)
|
|
26882
|
+
canonicalClients.delete(client.raw);
|
|
26871
26883
|
}, parseJsonSafe = (raw) => JSON.parse(raw), parseMessage = (message) => {
|
|
26872
26884
|
if (typeof message === "string") {
|
|
26873
26885
|
return parseJsonSafe(message);
|
|
@@ -26943,12 +26955,13 @@ var MAX_RETAINED_HMR_UPDATES = 100, normalizedHmrTarget = (value) => {
|
|
|
26943
26955
|
if (!isValidHMRClientMessage(parsedData)) {
|
|
26944
26956
|
return;
|
|
26945
26957
|
}
|
|
26946
|
-
handleParsedMessage(state, client, parsedData);
|
|
26958
|
+
handleParsedMessage(state, canonicalClient(client), parsedData);
|
|
26947
26959
|
} catch {}
|
|
26948
26960
|
};
|
|
26949
26961
|
var init_webSocket = __esm(() => {
|
|
26950
26962
|
init_telemetryEvent();
|
|
26951
26963
|
init_logger();
|
|
26964
|
+
canonicalClients = new WeakMap;
|
|
26952
26965
|
});
|
|
26953
26966
|
|
|
26954
26967
|
// src/utils/loadConfig.ts
|
|
@@ -38159,5 +38172,5 @@ export {
|
|
|
38159
38172
|
devBuild
|
|
38160
38173
|
};
|
|
38161
38174
|
|
|
38162
|
-
//# debugId=
|
|
38175
|
+
//# debugId=CE51F4C6C3DEBBDF64756E2164756E21
|
|
38163
38176
|
//# sourceMappingURL=build.js.map
|