mirror of
https://github.com/caprover/caprover
synced 2026-08-23 07:56:28 +00:00
Merge pull request #2453 from caprover/agent/fix-one-click-services-analytics
Release 1.15.1: Fix one-click deployment analytics
This commit is contained in:
@@ -4,6 +4,10 @@ Available as `edge`
|
||||
|
||||
- TBD
|
||||
|
||||
## [1.15.1] - 2026-08-08
|
||||
|
||||
- Fixed: Custom one-click app template and Docker Compose deployments failing to start [PR-2453](https://github.com/caprover/caprover/pull/2453)
|
||||
|
||||
## [1.15.0] - 2026-08-04
|
||||
|
||||
- New: Warning when a persistent volume label is already used by another app [PR-226](https://github.com/caprover/caprover-frontend/pull/226)
|
||||
|
||||
@@ -384,7 +384,7 @@ export function reportAnalyticsOnAppDeploy(
|
||||
templateName === 'DOCKER_COMPOSE'
|
||||
) {
|
||||
if (template?.services) {
|
||||
template.services.forEach((service: any) => {
|
||||
Object.values(template.services).forEach((service: any) => {
|
||||
if (service && typeof service === 'object') {
|
||||
Object.keys(service).forEach((key) => {
|
||||
if (
|
||||
|
||||
@@ -17,7 +17,7 @@ const CONSTANT_FILE_OVERRIDE_USER =
|
||||
const configs = {
|
||||
publishedNameOnDockerHub: 'caprover/caprover',
|
||||
|
||||
version: '1.15.0',
|
||||
version: '1.15.1',
|
||||
|
||||
defaultMaxLogSize: '512m',
|
||||
|
||||
|
||||
@@ -167,14 +167,14 @@ describe('reportAnalyticsOnAppDeploy', () => {
|
||||
test('should track unused fields for TEMPLATE_ONE_CLICK', () => {
|
||||
const templateName = 'TEMPLATE_ONE_CLICK'
|
||||
const template = {
|
||||
services: [
|
||||
{
|
||||
services: {
|
||||
app: {
|
||||
image: 'nginx:latest',
|
||||
environment: { VAR: 'value' },
|
||||
custom_field: 'value',
|
||||
another_field: 'value2',
|
||||
},
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
reportAnalyticsOnAppDeploy(templateName, template, mockEventLogger)
|
||||
@@ -186,14 +186,14 @@ describe('reportAnalyticsOnAppDeploy', () => {
|
||||
test('should track unused fields for DOCKER_COMPOSE', () => {
|
||||
const templateName = 'DOCKER_COMPOSE'
|
||||
const template = {
|
||||
services: [
|
||||
{
|
||||
services: {
|
||||
database: {
|
||||
image: 'postgres:latest',
|
||||
volumes: ['/data:/var/lib/postgresql/data'],
|
||||
restart: 'always',
|
||||
networks: ['backend'],
|
||||
},
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
reportAnalyticsOnAppDeploy(templateName, template, mockEventLogger)
|
||||
@@ -228,19 +228,19 @@ describe('reportAnalyticsOnAppDeploy', () => {
|
||||
test('should handle multiple services with mixed fields', () => {
|
||||
const templateName = 'DOCKER_COMPOSE'
|
||||
const template = {
|
||||
services: [
|
||||
{
|
||||
services: {
|
||||
web: {
|
||||
image: 'nginx:latest',
|
||||
ports: ['80:80'],
|
||||
custom_field1: 'value1',
|
||||
},
|
||||
{
|
||||
database: {
|
||||
image: 'postgres:latest',
|
||||
environment: { POSTGRES_DB: 'mydb' },
|
||||
custom_field2: 'value2',
|
||||
another_custom: 'value3',
|
||||
},
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
reportAnalyticsOnAppDeploy(templateName, template, mockEventLogger)
|
||||
|
||||
Reference in New Issue
Block a user