@evanp/activitypub-bot 0.54.4 → 0.54.5

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
@@ -9,6 +9,13 @@ and this project adheres to
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [0.54.5] - 2026-10-15
13
+
14
+ ### Fixed
15
+
16
+ - Publish actor `webfinger` properties with unencoded Unicode usernames and
17
+ domain names instead of percent-encoded usernames and IDNA A-label domains.
18
+
12
19
  ## [0.54.4] - 2026-10-10
13
20
 
14
21
  ### Changed
@@ -1772,7 +1779,8 @@ Hot patch on the `stable` branch.
1772
1779
  - Docker multi-platform build workflow.
1773
1780
  - Dependabot configuration.
1774
1781
 
1775
- [Unreleased]: https://github.com/evanp/activitypub-bot/compare/v0.54.4...HEAD
1782
+ [Unreleased]: https://github.com/evanp/activitypub-bot/compare/v0.54.5...HEAD
1783
+ [0.54.5]: https://github.com/evanp/activitypub-bot/compare/v0.54.4...v0.54.5
1776
1784
  [0.54.4]: https://github.com/evanp/activitypub-bot/compare/v0.54.3...v0.54.4
1777
1785
  [0.54.3]: https://github.com/evanp/activitypub-bot/compare/v0.54.2...v0.54.3
1778
1786
  [0.54.2]: https://github.com/evanp/activitypub-bot/compare/v0.54.1...v0.54.2
@@ -3,6 +3,7 @@ import express from 'express'
3
3
  import as2 from '../activitystreams.js'
4
4
  import { ProblemDetailsError } from '../errors/problemdetailserror.js'
5
5
  import BotMaker from '../botmaker.js'
6
+ import { domainToUnicode } from 'node:url'
6
7
 
7
8
  const router = express.Router()
8
9
 
@@ -31,8 +32,7 @@ router.get('/user/:username', async (req, res, next) => {
31
32
  return next(new ProblemDetailsError(404, `User ${username} not found`))
32
33
  }
33
34
  const publicKeyPem = await keyStorage.getPublicKey(username)
34
- const acct = formatter.acct(username)
35
- const wf = acct.slice(5)
35
+ const webfinger = `${username}@${domainToUnicode(formatter.hostname)}`
36
36
  const actor = await as2.import({
37
37
  '@context': [
38
38
  'https://www.w3.org/ns/activitystreams',
@@ -51,7 +51,7 @@ router.get('/user/:username', async (req, res, next) => {
51
51
  to: 'as:Public',
52
52
  name: bot.fullname,
53
53
  summary: bot.description,
54
- webfinger: wf,
54
+ webfinger,
55
55
  publicKey: {
56
56
  publicKeyPem,
57
57
  id: formatter.format({ username, type: 'publickey' }),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evanp/activitypub-bot",
3
- "version": "0.54.4",
3
+ "version": "0.54.5",
4
4
  "description": "server-side ActivityPub bot framework",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",