@fedify/fedify 1.2.26 → 1.2.27

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/CHANGES.md CHANGED
@@ -3,6 +3,18 @@
3
3
  Fedify changelog
4
4
  ================
5
5
 
6
+ Version 1.2.27
7
+ --------------
8
+
9
+ Released on September 17, 2025.
10
+
11
+ - Improved the AT Protocol URI workaround to handle all DID methods and
12
+ edge cases. The fix now properly percent-encodes any authority component
13
+ in `at://` URIs, supporting `did:web`, `did:key`, and other DID methods
14
+ beyond just `did:plc`. Also handles URIs without path components
15
+ correctly. [[#436]]
16
+
17
+
6
18
  Version 1.2.26
7
19
  --------------
8
20
 
@@ -451,6 +463,18 @@ Released on October 31, 2024.
451
463
  [#118]: https://github.com/dahlia/fedify/issues/118
452
464
 
453
465
 
466
+ Version 1.1.27
467
+ --------------
468
+
469
+ Released on September 17, 2025.
470
+
471
+ - Improved the AT Protocol URI workaround to handle all DID methods and
472
+ edge cases. The fix now properly percent-encodes any authority component
473
+ in `at://` URIs, supporting `did:web`, `did:key`, and other DID methods
474
+ beyond just `did:plc`. Also handles URIs without path components
475
+ correctly. [[#436]]
476
+
477
+
454
478
  Version 1.1.26
455
479
  --------------
456
480
 
@@ -940,6 +964,18 @@ Released on October 20, 2024.
940
964
  [#150]: https://github.com/dahlia/fedify/issues/150
941
965
 
942
966
 
967
+ Version 1.0.30
968
+ --------------
969
+
970
+ Released on September 17, 2025.
971
+
972
+ - Improved the AT Protocol URI workaround to handle all DID methods and
973
+ edge cases. The fix now properly percent-encodes any authority component
974
+ in `at://` URIs, supporting `did:web`, `did:key`, and other DID methods
975
+ beyond just `did:plc`. Also handles URIs without path components
976
+ correctly. [[#436]]
977
+
978
+
943
979
  Version 1.0.29
944
980
  --------------
945
981
 
@@ -4830,8 +4830,14 @@ export class Object {
4830
4830
  const decoded = typeof v === "object" && "@id" in v &&
4831
4831
  typeof v["@id"] === "string" &&
4832
4832
  v["@id"] !== "" && v["@id"] !== "/"
4833
- ? v["@id"].startsWith("at://did:plc:")
4834
- ? new URL("at://did%3Aplc%3A" + v["@id"].slice(13))
4833
+ ? v["@id"].startsWith("at://")
4834
+ ? new URL("at://" +
4835
+ encodeURIComponent(v["@id"].includes("/", 5)
4836
+ ? v["@id"].slice(5, v["@id"].indexOf("/", 5))
4837
+ : v["@id"].slice(5)) +
4838
+ (v["@id"].includes("/", 5)
4839
+ ? v["@id"].slice(v["@id"].indexOf("/", 5))
4840
+ : ""))
4835
4841
  : new URL(v["@id"])
4836
4842
  : typeof v === "object" && "@type" in v &&
4837
4843
  Array.isArray(v["@type"]) &&
@@ -8195,8 +8201,14 @@ export class DidService {
8195
8201
  : _2KM4fetG6FTJ1cphj76rzJ8Dyv7p_serviceEndpoint__array) {
8196
8202
  if (v == null)
8197
8203
  continue;
8198
- _2KM4fetG6FTJ1cphj76rzJ8Dyv7p_serviceEndpoint.push(v["@id"].startsWith("at://did:plc:")
8199
- ? new URL("at://did%3Aplc%3A" + v["@id"].slice(13))
8204
+ _2KM4fetG6FTJ1cphj76rzJ8Dyv7p_serviceEndpoint.push(v["@id"].startsWith("at://")
8205
+ ? new URL("at://" +
8206
+ encodeURIComponent(v["@id"].includes("/", 5)
8207
+ ? v["@id"].slice(5, v["@id"].indexOf("/", 5))
8208
+ : v["@id"].slice(5)) +
8209
+ (v["@id"].includes("/", 5)
8210
+ ? v["@id"].slice(v["@id"].indexOf("/", 5))
8211
+ : ""))
8200
8212
  : new URL(v["@id"]));
8201
8213
  }
8202
8214
  instance.#_2KM4fetG6FTJ1cphj76rzJ8Dyv7p_serviceEndpoint =
@@ -17909,8 +17921,14 @@ export class Endpoints {
17909
17921
  : _2JCYDbSxEHCCLdBYed33cCETfGyR_proxyUrl__array) {
17910
17922
  if (v == null)
17911
17923
  continue;
17912
- _2JCYDbSxEHCCLdBYed33cCETfGyR_proxyUrl.push(v["@id"].startsWith("at://did:plc:")
17913
- ? new URL("at://did%3Aplc%3A" + v["@id"].slice(13))
17924
+ _2JCYDbSxEHCCLdBYed33cCETfGyR_proxyUrl.push(v["@id"].startsWith("at://")
17925
+ ? new URL("at://" +
17926
+ encodeURIComponent(v["@id"].includes("/", 5)
17927
+ ? v["@id"].slice(5, v["@id"].indexOf("/", 5))
17928
+ : v["@id"].slice(5)) +
17929
+ (v["@id"].includes("/", 5)
17930
+ ? v["@id"].slice(v["@id"].indexOf("/", 5))
17931
+ : ""))
17914
17932
  : new URL(v["@id"]));
17915
17933
  }
17916
17934
  instance.#_2JCYDbSxEHCCLdBYed33cCETfGyR_proxyUrl =
@@ -17928,8 +17946,14 @@ export class Endpoints {
17928
17946
  : _25S6UmgzDead8hxL5sQFezZTAusd_oauthAuthorizationEndpoint__array) {
17929
17947
  if (v == null)
17930
17948
  continue;
17931
- _25S6UmgzDead8hxL5sQFezZTAusd_oauthAuthorizationEndpoint.push(v["@id"].startsWith("at://did:plc:")
17932
- ? new URL("at://did%3Aplc%3A" + v["@id"].slice(13))
17949
+ _25S6UmgzDead8hxL5sQFezZTAusd_oauthAuthorizationEndpoint.push(v["@id"].startsWith("at://")
17950
+ ? new URL("at://" +
17951
+ encodeURIComponent(v["@id"].includes("/", 5)
17952
+ ? v["@id"].slice(5, v["@id"].indexOf("/", 5))
17953
+ : v["@id"].slice(5)) +
17954
+ (v["@id"].includes("/", 5)
17955
+ ? v["@id"].slice(v["@id"].indexOf("/", 5))
17956
+ : ""))
17933
17957
  : new URL(v["@id"]));
17934
17958
  }
17935
17959
  instance.#_25S6UmgzDead8hxL5sQFezZTAusd_oauthAuthorizationEndpoint =
@@ -17944,8 +17968,14 @@ export class Endpoints {
17944
17968
  : _iAMxqrSba7yBCRB1FZ5kEVdKEZ3_oauthTokenEndpoint__array) {
17945
17969
  if (v == null)
17946
17970
  continue;
17947
- _iAMxqrSba7yBCRB1FZ5kEVdKEZ3_oauthTokenEndpoint.push(v["@id"].startsWith("at://did:plc:")
17948
- ? new URL("at://did%3Aplc%3A" + v["@id"].slice(13))
17971
+ _iAMxqrSba7yBCRB1FZ5kEVdKEZ3_oauthTokenEndpoint.push(v["@id"].startsWith("at://")
17972
+ ? new URL("at://" +
17973
+ encodeURIComponent(v["@id"].includes("/", 5)
17974
+ ? v["@id"].slice(5, v["@id"].indexOf("/", 5))
17975
+ : v["@id"].slice(5)) +
17976
+ (v["@id"].includes("/", 5)
17977
+ ? v["@id"].slice(v["@id"].indexOf("/", 5))
17978
+ : ""))
17949
17979
  : new URL(v["@id"]));
17950
17980
  }
17951
17981
  instance.#_iAMxqrSba7yBCRB1FZ5kEVdKEZ3_oauthTokenEndpoint =
@@ -17960,8 +17990,14 @@ export class Endpoints {
17960
17990
  : _8Bx9qN8oU7Bpt2xi6khaxWp1gMr_provideClientKey__array) {
17961
17991
  if (v == null)
17962
17992
  continue;
17963
- _8Bx9qN8oU7Bpt2xi6khaxWp1gMr_provideClientKey.push(v["@id"].startsWith("at://did:plc:")
17964
- ? new URL("at://did%3Aplc%3A" + v["@id"].slice(13))
17993
+ _8Bx9qN8oU7Bpt2xi6khaxWp1gMr_provideClientKey.push(v["@id"].startsWith("at://")
17994
+ ? new URL("at://" +
17995
+ encodeURIComponent(v["@id"].includes("/", 5)
17996
+ ? v["@id"].slice(5, v["@id"].indexOf("/", 5))
17997
+ : v["@id"].slice(5)) +
17998
+ (v["@id"].includes("/", 5)
17999
+ ? v["@id"].slice(v["@id"].indexOf("/", 5))
18000
+ : ""))
17965
18001
  : new URL(v["@id"]));
17966
18002
  }
17967
18003
  instance.#_8Bx9qN8oU7Bpt2xi6khaxWp1gMr_provideClientKey =
@@ -17976,8 +18012,14 @@ export class Endpoints {
17976
18012
  : _3dU7PMVQZJpsCpo2F4RQXxBXdPmS_signClientKey__array) {
17977
18013
  if (v == null)
17978
18014
  continue;
17979
- _3dU7PMVQZJpsCpo2F4RQXxBXdPmS_signClientKey.push(v["@id"].startsWith("at://did:plc:")
17980
- ? new URL("at://did%3Aplc%3A" + v["@id"].slice(13))
18015
+ _3dU7PMVQZJpsCpo2F4RQXxBXdPmS_signClientKey.push(v["@id"].startsWith("at://")
18016
+ ? new URL("at://" +
18017
+ encodeURIComponent(v["@id"].includes("/", 5)
18018
+ ? v["@id"].slice(5, v["@id"].indexOf("/", 5))
18019
+ : v["@id"].slice(5)) +
18020
+ (v["@id"].includes("/", 5)
18021
+ ? v["@id"].slice(v["@id"].indexOf("/", 5))
18022
+ : ""))
17981
18023
  : new URL(v["@id"]));
17982
18024
  }
17983
18025
  instance.#_3dU7PMVQZJpsCpo2F4RQXxBXdPmS_signClientKey =
@@ -17992,8 +18034,14 @@ export class Endpoints {
17992
18034
  : _3JprUSDLVqqX4dwHRi37qGZZCRCc_sharedInbox__array) {
17993
18035
  if (v == null)
17994
18036
  continue;
17995
- _3JprUSDLVqqX4dwHRi37qGZZCRCc_sharedInbox.push(v["@id"].startsWith("at://did:plc:")
17996
- ? new URL("at://did%3Aplc%3A" + v["@id"].slice(13))
18037
+ _3JprUSDLVqqX4dwHRi37qGZZCRCc_sharedInbox.push(v["@id"].startsWith("at://")
18038
+ ? new URL("at://" +
18039
+ encodeURIComponent(v["@id"].includes("/", 5)
18040
+ ? v["@id"].slice(5, v["@id"].indexOf("/", 5))
18041
+ : v["@id"].slice(5)) +
18042
+ (v["@id"].includes("/", 5)
18043
+ ? v["@id"].slice(v["@id"].indexOf("/", 5))
18044
+ : ""))
17997
18045
  : new URL(v["@id"]));
17998
18046
  }
17999
18047
  instance.#_3JprUSDLVqqX4dwHRi37qGZZCRCc_sharedInbox =
@@ -22748,8 +22796,14 @@ export class Link {
22748
22796
  : _pVjLsybKQdmkjuU7MHjiVmNnuj7_href__array) {
22749
22797
  if (v == null)
22750
22798
  continue;
22751
- _pVjLsybKQdmkjuU7MHjiVmNnuj7_href.push(v["@id"].startsWith("at://did:plc:")
22752
- ? new URL("at://did%3Aplc%3A" + v["@id"].slice(13))
22799
+ _pVjLsybKQdmkjuU7MHjiVmNnuj7_href.push(v["@id"].startsWith("at://")
22800
+ ? new URL("at://" +
22801
+ encodeURIComponent(v["@id"].includes("/", 5)
22802
+ ? v["@id"].slice(5, v["@id"].indexOf("/", 5))
22803
+ : v["@id"].slice(5)) +
22804
+ (v["@id"].includes("/", 5)
22805
+ ? v["@id"].slice(v["@id"].indexOf("/", 5))
22806
+ : ""))
22753
22807
  : new URL(v["@id"]));
22754
22808
  }
22755
22809
  instance.#_pVjLsybKQdmkjuU7MHjiVmNnuj7_href =
@@ -33473,8 +33527,14 @@ export class Place extends Object {
33473
33527
  : typeof v === "object" && "@id" in v &&
33474
33528
  typeof v["@id"] === "string" &&
33475
33529
  v["@id"] !== "" && v["@id"] !== "/"
33476
- ? v["@id"].startsWith("at://did:plc:")
33477
- ? new URL("at://did%3Aplc%3A" + v["@id"].slice(13))
33530
+ ? v["@id"].startsWith("at://")
33531
+ ? new URL("at://" +
33532
+ encodeURIComponent(v["@id"].includes("/", 5)
33533
+ ? v["@id"].slice(5, v["@id"].indexOf("/", 5))
33534
+ : v["@id"].slice(5)) +
33535
+ (v["@id"].includes("/", 5)
33536
+ ? v["@id"].slice(v["@id"].indexOf("/", 5))
33537
+ : ""))
33478
33538
  : new URL(v["@id"])
33479
33539
  : undefined;
33480
33540
  if (typeof decoded === "undefined")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fedify/fedify",
3
- "version": "1.2.26",
3
+ "version": "1.2.27",
4
4
  "description": "An ActivityPub server framework",
5
5
  "keywords": [
6
6
  "ActivityPub",