mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-12-09 01:49:37 -06:00
feat(evolution-manager): add evolution-manager-v2 as a submodule and update changelog
- Introduced evolution-manager-v2 as a git submodule for easier access and integration. - Updated CHANGELOG to reflect the addition of evolution-manager-v2 with details on its features and open-source setup. - Adjusted media message handling in EvolutionStartupService to use null instead of undefined for base64 and mediaUrl properties, ensuring better data consistency.
This commit is contained in:
parent
41a36bbb19
commit
5f44da61fb
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
[submodule "evolution-manager-v2"]
|
||||
path = evolution-manager-v2
|
||||
url = https://github.com/EvolutionAPI/evolution-manager-v2.git
|
||||
10
CHANGELOG.md
10
CHANGELOG.md
@ -10,6 +10,16 @@
|
||||
- Consumer group management for reliable event processing
|
||||
- Integration with existing event manager for seamless event distribution
|
||||
|
||||
* **Evolution Manager v2 Open Source**: Evolution Manager v2 is now available as open source
|
||||
- Added as git submodule with HTTPS URL for easy access
|
||||
- Complete open source setup with Apache 2.0 license + Evolution API custom conditions
|
||||
- GitHub templates for issues, pull requests, and workflows
|
||||
- Comprehensive documentation and contribution guidelines
|
||||
- Docker support for development and production environments
|
||||
- CI/CD workflows for code quality, security audits, and automated builds
|
||||
- Multi-language support (English, Portuguese, Spanish, French)
|
||||
- Modern React + TypeScript + Vite frontend with Tailwind CSS
|
||||
|
||||
### Fixed
|
||||
|
||||
* **MySQL Schema**: Fixed invalid default value errors for `createdAt` fields in `Evoai` and `EvoaiSetting` models
|
||||
|
||||
2
LICENSE
2
LICENSE
@ -17,5 +17,5 @@ b. Your contributed code may be used for commercial purposes, including but not
|
||||
|
||||
Apart from the specific conditions mentioned above, all other rights and restrictions follow the Apache License 2.0. Detailed information about the Apache License 2.0 can be found at http://www.apache.org/licenses/LICENSE-2.0.
|
||||
|
||||
© 2024 Evolution API
|
||||
© 2025 Evolution API
|
||||
|
||||
|
||||
1
evolution-manager-v2
Submodule
1
evolution-manager-v2
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit fcb38dd407b89697b7a7154cfd873f76729e6ece
|
||||
1
manager/dist/assets/index-CXH2BdD4.css
vendored
1
manager/dist/assets/index-CXH2BdD4.css
vendored
File diff suppressed because one or more lines are too long
381
manager/dist/assets/index-D-oOjDYe.js
vendored
381
manager/dist/assets/index-D-oOjDYe.js
vendored
File diff suppressed because one or more lines are too long
461
manager/dist/assets/index-DJ2Q5K8k.js
vendored
Normal file
461
manager/dist/assets/index-DJ2Q5K8k.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
manager/dist/assets/index-DxAxQfZR.css
vendored
Normal file
1
manager/dist/assets/index-DxAxQfZR.css
vendored
Normal file
File diff suppressed because one or more lines are too long
4
manager/dist/index.html
vendored
4
manager/dist/index.html
vendored
@ -5,8 +5,8 @@
|
||||
<link rel="icon" type="image/png" href="https://evolution-api.com/files/evo/favicon.svg" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Evolution Manager</title>
|
||||
<script type="module" crossorigin src="/assets/index-D-oOjDYe.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-CXH2BdD4.css">
|
||||
<script type="module" crossorigin src="/assets/index-DJ2Q5K8k.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-DxAxQfZR.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
|
||||
@ -323,42 +323,45 @@ export class EvolutionStartupService extends ChannelStartupService {
|
||||
messageRaw = {
|
||||
key: { fromMe: true, id: messageId, remoteJid: number },
|
||||
message: {
|
||||
base64: isBase64(message.media) ? message.media : undefined,
|
||||
mediaUrl: isURL(message.media) ? message.media : undefined,
|
||||
base64: isBase64(message.media) ? message.media : null,
|
||||
mediaUrl: isURL(message.media) ? message.media : null,
|
||||
quoted,
|
||||
},
|
||||
messageType: 'imageMessage',
|
||||
messageTimestamp: Math.round(new Date().getTime() / 1000),
|
||||
webhookUrl,
|
||||
source: 'unknown',
|
||||
instanceName: this.instance.name,
|
||||
instanceId: this.instanceId,
|
||||
};
|
||||
} else if (message?.mediaType === 'video') {
|
||||
messageRaw = {
|
||||
key: { fromMe: true, id: messageId, remoteJid: number },
|
||||
message: {
|
||||
base64: isBase64(message.media) ? message.media : undefined,
|
||||
mediaUrl: isURL(message.media) ? message.media : undefined,
|
||||
base64: isBase64(message.media) ? message.media : null,
|
||||
mediaUrl: isURL(message.media) ? message.media : null,
|
||||
quoted,
|
||||
},
|
||||
messageType: 'videoMessage',
|
||||
messageTimestamp: Math.round(new Date().getTime() / 1000),
|
||||
webhookUrl,
|
||||
source: 'unknown',
|
||||
instanceName: this.instance.name,
|
||||
instanceId: this.instanceId,
|
||||
};
|
||||
} else if (message?.mediaType === 'audio') {
|
||||
messageRaw = {
|
||||
key: { fromMe: true, id: messageId, remoteJid: number },
|
||||
message: {
|
||||
base64: isBase64(message.media) ? message.media : undefined,
|
||||
mediaUrl: isURL(message.media) ? message.media : undefined,
|
||||
base64: isBase64(message.media) ? message.media : null,
|
||||
mediaUrl: isURL(message.media) ? message.media : null,
|
||||
quoted,
|
||||
},
|
||||
messageType: 'audioMessage',
|
||||
messageTimestamp: Math.round(new Date().getTime() / 1000),
|
||||
webhookUrl,
|
||||
source: 'unknown',
|
||||
instanceName: this.instance.name,
|
||||
instanceId: this.instanceId,
|
||||
};
|
||||
|
||||
@ -372,14 +375,15 @@ export class EvolutionStartupService extends ChannelStartupService {
|
||||
messageRaw = {
|
||||
key: { fromMe: true, id: messageId, remoteJid: number },
|
||||
message: {
|
||||
base64: isBase64(message.media) ? message.media : undefined,
|
||||
mediaUrl: isURL(message.media) ? message.media : undefined,
|
||||
base64: isBase64(message.media) ? message.media : null,
|
||||
mediaUrl: isURL(message.media) ? message.media : null,
|
||||
quoted,
|
||||
},
|
||||
messageType: 'documentMessage',
|
||||
messageTimestamp: Math.round(new Date().getTime() / 1000),
|
||||
webhookUrl,
|
||||
source: 'unknown',
|
||||
instanceName: this.instance.name,
|
||||
instanceId: this.instanceId,
|
||||
};
|
||||
} else if (message.buttonMessage) {
|
||||
@ -396,6 +400,7 @@ export class EvolutionStartupService extends ChannelStartupService {
|
||||
messageTimestamp: Math.round(new Date().getTime() / 1000),
|
||||
webhookUrl,
|
||||
source: 'unknown',
|
||||
instanceName: this.instance.name,
|
||||
instanceId: this.instanceId,
|
||||
};
|
||||
} else if (message.listMessage) {
|
||||
@ -409,6 +414,7 @@ export class EvolutionStartupService extends ChannelStartupService {
|
||||
messageTimestamp: Math.round(new Date().getTime() / 1000),
|
||||
webhookUrl,
|
||||
source: 'unknown',
|
||||
instanceName: this.instance.name,
|
||||
instanceId: this.instanceId,
|
||||
};
|
||||
} else {
|
||||
@ -422,6 +428,7 @@ export class EvolutionStartupService extends ChannelStartupService {
|
||||
messageTimestamp: Math.round(new Date().getTime() / 1000),
|
||||
webhookUrl,
|
||||
source: 'unknown',
|
||||
instanceName: this.instance.name,
|
||||
instanceId: this.instanceId,
|
||||
};
|
||||
}
|
||||
@ -449,7 +456,7 @@ export class EvolutionStartupService extends ChannelStartupService {
|
||||
}
|
||||
}
|
||||
|
||||
const base64 = messageRaw.message.base64;
|
||||
const { base64 } = messageRaw.message;
|
||||
delete messageRaw.message.base64;
|
||||
|
||||
if (base64 || file || audioFile) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user