Skip to content

Commit 537d500

Browse files
committed
Fix: Send waveform as Uint8Array instead of number[] to match Baileys type definition
1 parent 88fc7b6 commit 537d500

File tree

1 file changed

+5
-8
lines changed

1 file changed

+5
-8
lines changed

src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3123,12 +3123,10 @@ export class BaileysStartupService extends ChannelStartupService {
31233123

31243124
if (Buffer.isBuffer(convert)) {
31253125
const seconds = await this.getAudioDuration(convert);
3126-
const waveformU8 = await this.getAudioWaveform(convert);
3127-
// Convert Uint8Array to regular array as required by Baileys
3128-
const waveform = Array.from(waveformU8);
3126+
const waveform = await this.getAudioWaveform(convert);
31293127

3130-
this.logger.info(`Sending audio with waveform - seconds: ${seconds}, waveform length: ${waveform.length}, waveform type: ${typeof waveform}, isArray: ${Array.isArray(waveform)}`);
3131-
this.logger.info(`First 10 waveform values: [${waveform.slice(0, 10).join(', ')}]`);
3128+
this.logger.info(`Sending audio with waveform - seconds: ${seconds}, waveform length: ${waveform.length}, waveform type: ${waveform.constructor.name}, isUint8Array: ${waveform instanceof Uint8Array}`);
3129+
this.logger.info(`First 10 waveform values: [${Array.from(waveform.slice(0, 10)).join(', ')}]`);
31323130

31333131
const messageContent = { audio: convert, ptt: true, mimetype: 'audio/ogg; codecs=opus', seconds, waveform };
31343132

@@ -3147,13 +3145,12 @@ export class BaileysStartupService extends ChannelStartupService {
31473145

31483146
const audioBuffer = isURL(data.audio) ? { url: data.audio } : Buffer.from(data.audio, 'base64');
31493147
let seconds: number | undefined;
3150-
let waveform: number[] | undefined;
3148+
let waveform: Uint8Array | undefined;
31513149

31523150
// Only generate waveform for buffers, not URLs
31533151
if (Buffer.isBuffer(audioBuffer)) {
31543152
seconds = await this.getAudioDuration(audioBuffer);
3155-
const waveformU8 = await this.getAudioWaveform(audioBuffer);
3156-
waveform = Array.from(waveformU8);
3153+
waveform = await this.getAudioWaveform(audioBuffer);
31573154
}
31583155

31593156
return await this.sendMessageWithTyping<AnyMessageContent>(

0 commit comments

Comments
 (0)