feat(matrix-bots): enable cross-bot SSO via Redis sessions

All 19 Matrix bots now use SessionModule.forRoot({ storageMode: 'redis' })
to share user sessions across all bots via Redis. Users only need to
login once with any bot to be authenticated with all bots.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Till-JS 2026-02-02 16:16:22 +01:00
parent 0cafd4f94f
commit b6925e0b63
17 changed files with 33 additions and 17 deletions

View file

@ -6,7 +6,7 @@ import { SessionModule, TranscriptionModule, CreditModule } from '@manacore/bot-
@Module({
imports: [
ChatModule,
SessionModule.forRoot(),
SessionModule.forRoot({ storageMode: 'redis' }),
TranscriptionModule.register({
sttUrl: process.env.STT_URL || 'http://localhost:3020',
}),

View file

@ -12,7 +12,7 @@ import {
imports: [
ClockModule,
TranscriptionModule.forRoot(),
SessionModule.forRoot(),
SessionModule.forRoot({ storageMode: 'redis' }),
CreditModule.forRoot(),
I18nModule.forRoot(),
],

View file

@ -11,7 +11,7 @@ import {
@Module({
imports: [
ContactsModule,
SessionModule.forRoot(),
SessionModule.forRoot({ storageMode: 'redis' }),
TranscriptionModule.register({
sttUrl: process.env.STT_URL || 'http://localhost:3020',
}),

View file

@ -11,7 +11,7 @@ import { SessionModule, CreditModule } from '@manacore/bot-services';
forwardRef(() => HandlersModule),
forwardRef(() => OrchestrationModule),
VoiceModule,
SessionModule.forRoot(),
SessionModule.forRoot({ storageMode: 'redis' }),
CreditModule.forRoot(),
],
providers: [MatrixService, CommandRouterService],

View file

@ -6,7 +6,7 @@ import { SessionModule, TranscriptionModule, CreditModule } from '@manacore/bot-
@Module({
imports: [
ManadeckModule,
SessionModule.forRoot(),
SessionModule.forRoot({ storageMode: 'redis' }),
TranscriptionModule.register({
sttUrl: process.env.STT_URL || 'http://localhost:3020',
}),

View file

@ -4,7 +4,12 @@ import { NutriPhiModule } from '../nutriphi/nutriphi.module';
import { SessionModule, TranscriptionModule, CreditModule } from '@manacore/bot-services';
@Module({
imports: [NutriPhiModule, SessionModule.forRoot(), TranscriptionModule.forRoot(), CreditModule.forRoot()],
imports: [
NutriPhiModule,
SessionModule.forRoot({ storageMode: 'redis' }),
TranscriptionModule.forRoot(),
CreditModule.forRoot(),
],
providers: [MatrixService],
exports: [MatrixService],
})

View file

@ -9,7 +9,7 @@ import { TranscriptionModule, SessionModule, CreditModule } from '@manacore/bot-
TranscriptionModule.register({
sttUrl: process.env.STT_URL || 'http://localhost:3020',
}),
SessionModule.forRoot(),
SessionModule.forRoot({ storageMode: 'redis' }),
CreditModule.forRoot(),
],
providers: [MatrixService],

View file

@ -6,7 +6,7 @@ import { SessionModule, TranscriptionModule, CreditModule } from '@manacore/bot-
@Module({
imports: [
PictureModule,
SessionModule.forRoot(),
SessionModule.forRoot({ storageMode: 'redis' }),
TranscriptionModule.register({
sttUrl: process.env.STT_URL || 'http://localhost:3020',
}),

View file

@ -6,7 +6,7 @@ import { SessionModule, TranscriptionModule, CreditModule } from '@manacore/bot-
@Module({
imports: [
PlantaModule,
SessionModule.forRoot(),
SessionModule.forRoot({ storageMode: 'redis' }),
TranscriptionModule.register({
sttUrl: process.env.STT_URL || 'http://localhost:3020',
}),

View file

@ -6,7 +6,7 @@ import { SessionModule, TranscriptionModule, CreditModule } from '@manacore/bot-
@Module({
imports: [
PresiModule,
SessionModule.forRoot(),
SessionModule.forRoot({ storageMode: 'redis' }),
TranscriptionModule.register({
sttUrl: process.env.STT_URL || 'http://localhost:3020',
}),

View file

@ -6,7 +6,13 @@ import { GenerationModule } from '../generation/generation.module';
import { SessionModule, CreditModule } from '@manacore/bot-services';
@Module({
imports: [ProjectModule, MediaModule, GenerationModule, SessionModule.forRoot(), CreditModule.forRoot()],
imports: [
ProjectModule,
MediaModule,
GenerationModule,
SessionModule.forRoot({ storageMode: 'redis' }),
CreditModule.forRoot(),
],
providers: [MatrixService],
exports: [MatrixService],
})

View file

@ -6,7 +6,7 @@ import { SessionModule, TranscriptionModule, CreditModule } from '@manacore/bot-
@Module({
imports: [
QuestionsModule,
SessionModule.forRoot(),
SessionModule.forRoot({ storageMode: 'redis' }),
TranscriptionModule.register({
sttUrl: process.env.STT_URL || 'http://localhost:3020',
}),

View file

@ -6,7 +6,7 @@ import { SessionModule, TranscriptionModule, CreditModule } from '@manacore/bot-
@Module({
imports: [
SkilltreeModule,
SessionModule.forRoot(),
SessionModule.forRoot({ storageMode: 'redis' }),
TranscriptionModule.register({
sttUrl: process.env.STT_URL || 'http://localhost:3020',
}),

View file

@ -11,7 +11,7 @@ import { TranscriptionModule, SessionModule, CreditModule } from '@manacore/bot-
TranscriptionModule.register({
sttUrl: process.env.STT_URL || 'http://localhost:3020',
}),
SessionModule.forRoot(),
SessionModule.forRoot({ storageMode: 'redis' }),
CreditModule.forRoot(),
],
providers: [MatrixService],

View file

@ -6,7 +6,7 @@ import { SessionModule, TranscriptionModule, CreditModule } from '@manacore/bot-
@Module({
imports: [
StorageModule,
SessionModule.forRoot(),
SessionModule.forRoot({ storageMode: 'redis' }),
TranscriptionModule.register({
sttUrl: process.env.STT_URL || 'http://localhost:3020',
}),

View file

@ -9,7 +9,7 @@ import { TranscriptionModule, SessionModule, CreditModule } from '@manacore/bot-
TranscriptionModule.register({
sttUrl: process.env.STT_URL || 'http://localhost:3020',
}),
SessionModule.forRoot(),
SessionModule.forRoot({ storageMode: 'redis' }),
CreditModule.forRoot(),
],
providers: [MatrixService],

View file

@ -4,7 +4,12 @@ import { QuotesModule } from '../quotes/quotes.module';
import { SessionModule, TranscriptionModule, CreditModule } from '@manacore/bot-services';
@Module({
imports: [QuotesModule, SessionModule.forRoot(), TranscriptionModule.forRoot(), CreditModule.forRoot()],
imports: [
QuotesModule,
SessionModule.forRoot({ storageMode: 'redis' }),
TranscriptionModule.forRoot(),
CreditModule.forRoot(),
],
providers: [MatrixService],
exports: [MatrixService],
})