@absolutejs/absolute 0.20.0-beta.149 → 0.20.0-beta.150

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 CHANGED
@@ -6,6 +6,12 @@ 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.150 — 2026-10-24
10
+
11
+ ### Fixed
12
+
13
+ - **Reject malformed encoded static paths with HTTP 400 and serve encoded asset filenames consistently.**
14
+
9
15
  ## 0.20.0-beta.149 — 2026-10-24
10
16
 
11
17
  ### Fixed
package/changelog.json CHANGED
@@ -2,6 +2,16 @@
2
2
  "contract": 1,
3
3
  "name": "@absolutejs/absolute",
4
4
  "releases": [
5
+ {
6
+ "changes": [
7
+ {
8
+ "kind": "fixed",
9
+ "summary": "Reject malformed encoded static paths with HTTP 400 and serve encoded asset filenames consistently."
10
+ }
11
+ ],
12
+ "date": "2026-10-24",
13
+ "version": "0.20.0-beta.150"
14
+ },
5
15
  {
6
16
  "changes": [
7
17
  {
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- // .angular-partial-tmp-sgg6Qh/src/core/streamingSlotRegistrar.ts
2
+ // .angular-partial-tmp-nF5Xvc/src/core/streamingSlotRegistrar.ts
3
3
  var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
4
4
  var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
5
5
  var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- // .angular-partial-tmp-sgg6Qh/src/core/streamingSlotRegistrar.ts
2
+ // .angular-partial-tmp-nF5Xvc/src/core/streamingSlotRegistrar.ts
3
3
  var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
4
4
  var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
5
5
  var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
@@ -46,7 +46,7 @@ var warnMissingStreamingSlotCollector = (primitiveName) => {
46
46
  getWarningController()?.maybeWarn(primitiveName);
47
47
  };
48
48
 
49
- // .angular-partial-tmp-sgg6Qh/src/core/streamingSlotRegistry.ts
49
+ // .angular-partial-tmp-nF5Xvc/src/core/streamingSlotRegistry.ts
50
50
  var STREAMING_SLOT_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotAsyncLocalStorage");
51
51
  var isObjectRecord2 = (value) => Boolean(value) && typeof value === "object";
52
52
  var isAsyncLocalStorage = (value) => isObjectRecord2(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function";
package/dist/build.js CHANGED
@@ -14136,14 +14136,20 @@ var COMPRESSIBLE_EXTENSIONS, MIN_COMPRESSIBLE_BYTES = 1024, MIN_SAVING_RATIO = 0
14136
14136
  if (request.method !== "GET" && request.method !== "HEAD")
14137
14137
  return;
14138
14138
  const { pathname } = new URL(request.url);
14139
- const available = copies.get(decodeURIComponent(pathname));
14139
+ let decodedPathname;
14140
+ try {
14141
+ decodedPathname = decodeURIComponent(pathname);
14142
+ } catch {
14143
+ return new Response("Malformed URL path", { status: 400 });
14144
+ }
14145
+ const available = copies.get(decodedPathname);
14140
14146
  if (!available)
14141
14147
  return;
14142
14148
  const chosen = acceptedEncodings(request.headers.get("accept-encoding")).find(({ encoding }) => available.has(encoding));
14143
14149
  if (!chosen)
14144
14150
  return;
14145
- const original = Bun.file(join30(root, pathname));
14146
- return new Response(Bun.file(`${join30(root, pathname)}${chosen.suffix}`), {
14151
+ const original = Bun.file(join30(root, decodedPathname));
14152
+ return new Response(Bun.file(`${join30(root, decodedPathname)}${chosen.suffix}`), {
14147
14153
  headers: {
14148
14154
  "cache-control": assetCacheControl(pathname),
14149
14155
  "content-encoding": chosen.encoding,
@@ -37863,5 +37869,5 @@ export {
37863
37869
  devBuild
37864
37870
  };
37865
37871
 
37866
- //# debugId=AA60B6F5F10DA90864756E2164756E21
37872
+ //# debugId=938280719BA28ADC64756E2164756E21
37867
37873
  //# sourceMappingURL=build.js.map