✨ (whatsapp) Add custom session expiration (#842)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ### Summary by CodeRabbit - New Feature: Introduced session expiry timeout for WhatsApp integration, allowing users to set the duration after which a session expires. - New Feature: Added an option to enable/disable the start bot condition in WhatsApp integration settings. - Refactor: Enhanced error handling by throwing specific errors when necessary conditions are not met. - Refactor: Improved UI components like `NumberInput` and `SwitchWithLabel` for better usability. - Bug Fix: Fixed issues related to session resumption and message sending in expired sessions. Now, if a session is expired, a new one will be started instead of attempting to resume the old one. - Chore: Updated various schemas to reflect changes in session management and WhatsApp settings. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
@ -190,8 +190,16 @@ const startConditionSchema = z.object({
|
||||
export const whatsAppSettingsSchema = z.object({
|
||||
isEnabled: z.boolean().optional(),
|
||||
startCondition: startConditionSchema.optional(),
|
||||
sessionExpiryTimeout: z
|
||||
.number()
|
||||
.max(48)
|
||||
.min(0.01)
|
||||
.optional()
|
||||
.describe('Expiration delay in hours after latest interaction'),
|
||||
})
|
||||
|
||||
export const defaultSessionExpiryTimeout = 12
|
||||
|
||||
export type WhatsAppIncomingMessage = z.infer<typeof incomingMessageSchema>
|
||||
export type WhatsAppSendingMessage = z.infer<typeof sendingMessageSchema>
|
||||
export type WhatsAppCredentials = z.infer<typeof whatsAppCredentialsSchema>
|
||||
|
Reference in New Issue
Block a user