@devchitchat/chat 4.0.1 → 4.0.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devchitchat/chat",
3
- "version": "4.0.1",
3
+ "version": "4.0.2",
4
4
  "description": "A small chat app. p2p video and screenshare.",
5
5
  "scripts": {
6
6
  "dev": "bun --watch index.js",
@@ -88,22 +88,19 @@ export async function POST(req) {
88
88
  // Store the token in the server-side flash map — never put it in the URL
89
89
  const flashId = randomToken(8)
90
90
  tokenFlashes.set(flashId, result.token)
91
- return Response.redirect(
92
- new URL(p(`/admin/bots/${botUserId}?flash_id=${encodeURIComponent(flashId)}`), req.url),
93
- 303
94
- )
91
+ return Response.redirect(p(`/admin/bots/${botUserId}?flash_id=${encodeURIComponent(flashId)}`), 303)
95
92
  }
96
93
 
97
94
  if (action === 'revoke_token') {
98
95
  const tokenId = form.get('token_id')
99
96
  botService.revokeToken({ tokenId, requestingUserId: session.user.user_id })
100
- return Response.redirect(new URL(p(`/admin/bots/${botUserId}?flash=token_revoked`), req.url), 303)
97
+ return Response.redirect(p(`/admin/bots/${botUserId}?flash=token_revoked`), 303)
101
98
  }
102
99
 
103
100
  if (action === 'set_channels') {
104
101
  const channelIds = form.getAll('channel_ids')
105
102
  botService.setBotChannels({ userId: botUserId, channelIds, requestingUserId: session.user.user_id })
106
- return Response.redirect(new URL(p(`/admin/bots/${botUserId}?flash=channels_updated`), req.url), 303)
103
+ return Response.redirect(p(`/admin/bots/${botUserId}?flash=channels_updated`), 303)
107
104
  }
108
105
 
109
106
  return new Response('Bad request', { status: 400 })
@@ -34,8 +34,5 @@ export async function POST(req) {
34
34
  requestingUserId: session.user.user_id,
35
35
  })
36
36
 
37
- return Response.redirect(
38
- new URL(p(`/admin/bots/${result.userId}?created_token=${encodeURIComponent(result.token)}`), req.url),
39
- 303
40
- )
37
+ return Response.redirect(p(`/admin/bots/${result.userId}?created_token=${encodeURIComponent(result.token)}`), 303)
41
38
  }
@@ -4,5 +4,5 @@ import { p } from '../../src/config.js'
4
4
  export function GET(req) {
5
5
  const session = requireAdminSession(req)
6
6
  if (session instanceof Response) return session
7
- return Response.redirect(new URL(p('/admin/invites'), req.url), 302)
7
+ return Response.redirect(p('/admin/invites'), 302)
8
8
  }
@@ -56,16 +56,13 @@ export async function POST(req) {
56
56
  note,
57
57
  roles,
58
58
  })
59
- return Response.redirect(
60
- new URL(p(`/admin/invites?created=${encodeURIComponent(invite.inviteToken)}`), req.url),
61
- 303
62
- )
59
+ return Response.redirect(p(`/admin/invites?created=${encodeURIComponent(invite.inviteToken)}`), 303)
63
60
  }
64
61
 
65
62
  if (action === 'revoke') {
66
63
  const inviteId = form.get('invite_id')
67
64
  auth.revokeInvite({ inviteId, requestingUserId: session.user.user_id })
68
- return Response.redirect(new URL(p('/admin/invites'), req.url), 303)
65
+ return Response.redirect(p('/admin/invites'), 303)
69
66
  }
70
67
 
71
68
  return new Response('Bad request', { status: 400 })
@@ -41,19 +41,19 @@ export async function POST(req) {
41
41
  if (action === 'set_display_name') {
42
42
  const displayName = form.get('display_name')
43
43
  auth.adminUpdateDisplayName({ targetUserId, displayName, requestingUserId: session.user.user_id })
44
- return Response.redirect(new URL(p(`/admin/users/${targetUserId}?flash=display_name_updated`), req.url), 303)
44
+ return Response.redirect(p(`/admin/users/${targetUserId}?flash=display_name_updated`), 303)
45
45
  }
46
46
 
47
47
  if (action === 'set_roles') {
48
48
  const roles = form.getAll('roles')
49
49
  auth.setUserRoles({ targetUserId, roles, requestingUserId: session.user.user_id })
50
- return Response.redirect(new URL(p(`/admin/users/${targetUserId}?flash=roles_updated`), req.url), 303)
50
+ return Response.redirect(p(`/admin/users/${targetUserId}?flash=roles_updated`), 303)
51
51
  }
52
52
 
53
53
  if (action === 'set_password') {
54
54
  const newPassword = form.get('new_password')
55
55
  await auth.adminSetPassword({ targetUserId, newPassword, requestingUserId: session.user.user_id })
56
- return Response.redirect(new URL(p(`/admin/users/${targetUserId}?flash=password_updated`), req.url), 303)
56
+ return Response.redirect(p(`/admin/users/${targetUserId}?flash=password_updated`), 303)
57
57
  }
58
58
 
59
59
  return new Response('Bad request', { status: 400 })
@@ -14,7 +14,7 @@ function sanitizeForFrontEnd(html) {
14
14
 
15
15
  export async function GET(req) {
16
16
  const session = sessionFromRequest(req)
17
- if (!session) return Response.redirect(new URL(p('/login'), req.url), 302)
17
+ if (!session) return Response.redirect(p('/login'), 302)
18
18
 
19
19
  const url = new URL(req.url)
20
20
  const channelId = url.pathname.split('/').pop()
package/pages/index.js CHANGED
@@ -4,7 +4,7 @@ import { p } from '../src/config.js'
4
4
  export async function GET(req) {
5
5
  const session = sessionFromRequest(req)
6
6
  if (!session) {
7
- return Response.redirect(new URL(p('/login'), req.url), 302)
7
+ return Response.redirect(p('/login'), 302)
8
8
  }
9
9
 
10
10
  const user = session.user
@@ -15,19 +15,19 @@ export async function GET(req) {
15
15
  const { settings } = userSettingsService.getSettings(user.user_id)
16
16
  if (settings.last_channel_id) {
17
17
  if (channelService.canAccessChannel(settings.last_channel_id, user.user_id, user.roles)) {
18
- return Response.redirect(new URL(p(`/channels/${settings.last_channel_id}`), req.url), 302)
18
+ return Response.redirect(p(`/channels/${settings.last_channel_id}`), 302)
19
19
  }
20
20
  userSettingsService.putSettings(user.user_id, { last_channel_id: null }, Date.now())
21
21
  }
22
22
 
23
23
  const channels = channelService.listChannels(user.user_id, user.roles)
24
24
  if (channels.length > 0) {
25
- return Response.redirect(new URL(p(`/channels/${channels[0].channel_id}`), req.url), 302)
25
+ return Response.redirect(p(`/channels/${channels[0].channel_id}`), 302)
26
26
  }
27
27
 
28
28
  // No channels yet — bootstrap defaults and redirect
29
29
  const hub = hubService.ensureDefaultHub(user.user_id)
30
30
  const channel = channelService.ensureDefaultChannel(hub.hub_id, user.user_id)
31
31
  channelService.joinChannel({ channelId: channel.channel_id, userId: user.user_id, userRoles: user.roles })
32
- return Response.redirect(new URL(p(`/channels/${channel.channel_id}`), req.url), 302)
32
+ return Response.redirect(p(`/channels/${channel.channel_id}`), 302)
33
33
  }
@@ -6,5 +6,5 @@ import { p } from '../../src/config.js'
6
6
  export async function GET(req) {
7
7
  const url = new URL(req.url)
8
8
  const token = url.pathname.split('/').pop()
9
- return Response.redirect(new URL(p(`/login?invite=${encodeURIComponent(token)}`), req.url), 302)
9
+ return Response.redirect(p(`/login?invite=${encodeURIComponent(token)}`), 302)
10
10
  }
@@ -3,7 +3,7 @@ import { p } from '../../src/config.js'
3
3
 
4
4
  export async function GET(req) {
5
5
  const session = sessionFromRequest(req)
6
- if (session) return Response.redirect(new URL(p('/'), req.url), 302)
6
+ if (session) return Response.redirect(p('/'), 302)
7
7
 
8
8
  const url = new URL(req.url)
9
9
  const inviteToken = url.searchParams.get('invite') ?? ''
@@ -3,7 +3,7 @@ import { p } from '../../src/config.js'
3
3
 
4
4
  export async function GET(req) {
5
5
  const session = sessionFromRequest(req)
6
- if (session) return Response.redirect(new URL(p('/'), req.url), 302)
6
+ if (session) return Response.redirect(p('/'), 302)
7
7
 
8
8
  const url = new URL(req.url)
9
9
  const inviteToken = url.searchParams.get('invite') ?? ''