Minor changes

This commit is contained in:
Tom 2025-01-07 15:55:49 +00:00
parent 6847ea6c9d
commit dc4f9f6bfb
3 changed files with 50 additions and 18 deletions

View File

@ -3,10 +3,11 @@ import { NextResponse } from "next/server";
export async function GET(req: Request) { export async function GET(req: Request) {
return NextResponse.json({ return NextResponse.json({
major_version: 4, major_version: 4,
minor_version: 3, minor_version: 5,
download: "https://drive.proton.me/urls/YH86153EWM#W6VTyaoAVHKP", download: "https://drive.proton.me/urls/7JMTHDQ7VM#6h85HeLaxXgr",
changelog: "Reconnecting should be fixed.\nNew TTS messages when queue is empty will be played faster, up to 200 ms.\nRemoved subscriptions errors when reconnecting on Twitch\nAdded !refresh connections" changelog: "Added Veadotube integration.\nFixed voice changes via redemptions.\nMessages in queue for longer than a minute will be skipped automatically."
//changelog: "Reconnecting should be fixed.\nNew TTS messages when queue is empty will be played faster, up to 200 ms.\nRemoved subscriptions errors when reconnecting on Twitch\nAdded !refresh connections"
//changelog: "When using multiple voices (ex: brian: hello amy: world), TTS messages are now merged as a single TTS message.\nNightbot integration\nTwitch authentication changed. Need to refresh connection every 30-60 days.\nFixed raid spam, probably." //changelog: "When using multiple voices (ex: brian: hello amy: world), TTS messages are now merged as a single TTS message.\nNightbot integration\nTwitch authentication changed. Need to refresh connection every 30-60 days.\nFixed raid spam, probably."
//changelog: "Added raid spam prevention (lasts 30 seconds; works on joined chats as well).\nAdded permission check for chat messages with bits." //changelog: "Added raid spam prevention (lasts 30 seconds; works on joined chats as well).\nAdded permission check for chat messages with bits."
//changelog: "Fixed group permissions.\nRemoved default permissions.\nSome commands may have additional permission requirements, which are more strict.\nAdded support for redeemable actions via adbreak, follow, subscription.\nMessage deletion and bans automatically remove TTS messages from queue and playing.\nAdded support to read TTS from multiple chats via !tts join.\nFixed some reconnection problems." //changelog: "Fixed group permissions.\nRemoved default permissions.\nSome commands may have additional permission requirements, which are more strict.\nAdded support for redeemable actions via adbreak, follow, subscription.\nMessage deletion and bans automatically remove TTS messages from queue and playing.\nAdded support to read TTS from multiple chats via !tts join.\nFixed some reconnection problems."

View File

@ -2,6 +2,19 @@
const nextConfig = { const nextConfig = {
reactStrictMode: false, reactStrictMode: false,
output: 'standalone', output: 'standalone',
headers: async () => {
return [
{
source: "/api/:path*",
headers: [
{ key: "Access-Control-Allow-Credentials", value: "true" },
{ key: "Access-Control-Allow-Origin", value: "*" }, // replace this your actual origin
{ key: "Access-Control-Allow-Methods", value: "GET,DELETE,PATCH,POST,PUT" },
{ key: "Access-Control-Allow-Headers", value: "X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version" },
]
}
]
}
} }
module.exports = nextConfig module.exports = nextConfig

View File

@ -30,20 +30,21 @@ model User {
impersonationSources Impersonation[] @relation(name: "impersonationSources") impersonationSources Impersonation[] @relation(name: "impersonationSources")
impersonationTargets Impersonation[] @relation(name: "impersonationTargets") impersonationTargets Impersonation[] @relation(name: "impersonationTargets")
apiKeys ApiKey[] apiKeys ApiKey[]
accounts Account[] accounts Account[]
twitchConnections TwitchConnection[] twitchConnections TwitchConnection[]
Connection Connection[] Connection Connection[]
ConnectionState ConnectionState[] ConnectionState ConnectionState[]
ttsUsernameFilter TtsUsernameFilter[] ttsUsernameFilter TtsUsernameFilter[]
ttsWordFilter TtsWordFilter[] ttsWordFilter TtsWordFilter[]
ttsChatVoices TtsChatVoice[] ttsChatVoices TtsChatVoice[]
ttsVoiceStates TtsVoiceState[] ttsVoiceStates TtsVoiceState[]
actions Action[] actions Action[]
redemptions Redemption[] redemptions Redemption[]
groups Group[] groups Group[]
chatterGroups ChatterGroup[] chatterGroups ChatterGroup[]
groupPermissions GroupPermission[] groupPermissions GroupPermission[]
GroupPermissionPolicy GroupPermissionPolicy[]
createdAt DateTime @default(now()) createdAt DateTime @default(now())
updatedAt DateTime @updatedAt updatedAt DateTime @updatedAt
@ -105,7 +106,7 @@ model Connection {
grantType String grantType String
scope String scope String
expiresAt DateTime expiresAt DateTime
default Boolean @default(false) default Boolean @default(false)
userId String userId String
user User @relation(fields: [userId], references: [id], onDelete: Cascade, onUpdate: Cascade) user User @relation(fields: [userId], references: [id], onDelete: Cascade, onUpdate: Cascade)
@ -223,6 +224,20 @@ model GroupPermission {
@@index([userId]) @@index([userId])
} }
model GroupPermissionPolicy {
id String @id @default(uuid()) @db.Uuid
userId String
groupId String @db.Uuid
path String
count Int
timespan Int
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@unique([userId, groupId, path])
@@index([userId])
}
model Chatter { model Chatter {
id BigInt id BigInt
name String name String
@ -273,6 +288,9 @@ enum ActionType {
NIGHTBOT_CLEAR_PLAYLIST NIGHTBOT_CLEAR_PLAYLIST
NIGHTBOT_CLEAR_QUEUE NIGHTBOT_CLEAR_QUEUE
TWITCH_OAUTH TWITCH_OAUTH
VEADOTUBE_SET_STATE
VEADOTUBE_PUSH_STATE
VEADOTUBE_POP_STATE
} }
model Action { model Action {