Compare commits

...

2 Commits

Author SHA1 Message Date
Guy Ben-Aharon
578546a171 chore(main): release 1.13.2 (#756) 2025-07-06 14:02:21 +03:00
Jonathan Fishner
aa0b629a3e fix: add DISABLE_ANALYTICS flag to opt-out of Fathom analytics (#750)
* feat: add DISABLE_ANALYTICS flag to opt-out of Fathom analytics

* fix: HIDE_BUCKLE_DOT_DEV -> HIDE_CHARTDB_CLOUD

---------

Co-authored-by: Guy Ben-Aharon <baguy3@gmail.com>
2025-07-06 13:52:58 +03:00
10 changed files with 43 additions and 18 deletions

View File

@@ -1,5 +1,12 @@
# Changelog # Changelog
## [1.13.2](https://github.com/chartdb/chartdb/compare/v1.13.1...v1.13.2) (2025-07-06)
### Bug Fixes
* add DISABLE_ANALYTICS flag to opt-out of Fathom analytics ([#750](https://github.com/chartdb/chartdb/issues/750)) ([aa0b629](https://github.com/chartdb/chartdb/commit/aa0b629a3eaf8e8b60473ea3f28f769270c7714c))
## [1.13.1](https://github.com/chartdb/chartdb/compare/v1.13.0...v1.13.1) (2025-07-04) ## [1.13.1](https://github.com/chartdb/chartdb/compare/v1.13.0...v1.13.1) (2025-07-04)

View File

@@ -3,7 +3,8 @@ FROM node:22-alpine AS builder
ARG VITE_OPENAI_API_KEY ARG VITE_OPENAI_API_KEY
ARG VITE_OPENAI_API_ENDPOINT ARG VITE_OPENAI_API_ENDPOINT
ARG VITE_LLM_MODEL_NAME ARG VITE_LLM_MODEL_NAME
ARG VITE_HIDE_BUCKLE_DOT_DEV ARG VITE_HIDE_CHARTDB_CLOUD
ARG VITE_DISABLE_ANALYTICS
WORKDIR /usr/src/app WORKDIR /usr/src/app
@@ -16,7 +17,8 @@ COPY . .
RUN echo "VITE_OPENAI_API_KEY=${VITE_OPENAI_API_KEY}" > .env && \ RUN echo "VITE_OPENAI_API_KEY=${VITE_OPENAI_API_KEY}" > .env && \
echo "VITE_OPENAI_API_ENDPOINT=${VITE_OPENAI_API_ENDPOINT}" >> .env && \ echo "VITE_OPENAI_API_ENDPOINT=${VITE_OPENAI_API_ENDPOINT}" >> .env && \
echo "VITE_LLM_MODEL_NAME=${VITE_LLM_MODEL_NAME}" >> .env && \ echo "VITE_LLM_MODEL_NAME=${VITE_LLM_MODEL_NAME}" >> .env && \
echo "VITE_HIDE_BUCKLE_DOT_DEV=${VITE_HIDE_BUCKLE_DOT_DEV}" >> .env echo "VITE_HIDE_CHARTDB_CLOUD=${VITE_HIDE_CHARTDB_CLOUD}" >> .env && \
echo "VITE_DISABLE_ANALYTICS=${VITE_DISABLE_ANALYTICS}" >> .env
RUN npm run build RUN npm run build

View File

@@ -125,6 +125,8 @@ docker run \
-p 8080:80 chartdb -p 8080:80 chartdb
``` ```
> **Privacy Note:** ChartDB includes privacy-focused analytics via Fathom Analytics. You can disable this by adding `-e DISABLE_ANALYTICS=true` to the run command or `--build-arg VITE_DISABLE_ANALYTICS=true` when building.
> **Note:** You must configure either Option 1 (OpenAI API key) OR Option 2 (Custom endpoint and model name) for AI capabilities to work. Do not mix the two options. > **Note:** You must configure either Option 1 (OpenAI API key) OR Option 2 (Custom endpoint and model name) for AI capabilities to work. Do not mix the two options.
Open your browser and navigate to `http://localhost:8080`. Open your browser and navigate to `http://localhost:8080`.

View File

@@ -14,7 +14,8 @@ server {
OPENAI_API_KEY: \"$OPENAI_API_KEY\", OPENAI_API_KEY: \"$OPENAI_API_KEY\",
OPENAI_API_ENDPOINT: \"$OPENAI_API_ENDPOINT\", OPENAI_API_ENDPOINT: \"$OPENAI_API_ENDPOINT\",
LLM_MODEL_NAME: \"$LLM_MODEL_NAME\", LLM_MODEL_NAME: \"$LLM_MODEL_NAME\",
HIDE_BUCKLE_DOT_DEV: \"$HIDE_BUCKLE_DOT_DEV\" HIDE_CHARTDB_CLOUD: \"$HIDE_CHARTDB_CLOUD\",
DISABLE_ANALYTICS: \"$DISABLE_ANALYTICS\"
};"; };";
} }

View File

@@ -1,7 +1,7 @@
#!/bin/sh #!/bin/sh
# Replace placeholders in nginx.conf # Replace placeholders in nginx.conf
envsubst '${OPENAI_API_KEY} ${OPENAI_API_ENDPOINT} ${LLM_MODEL_NAME} ${HIDE_BUCKLE_DOT_DEV}' < /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf envsubst '${OPENAI_API_KEY} ${OPENAI_API_ENDPOINT} ${LLM_MODEL_NAME} ${HIDE_CHARTDB_CLOUD} ${DISABLE_ANALYTICS}' < /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf
# Start Nginx # Start Nginx
nginx -g "daemon off;" nginx -g "daemon off;"

View File

@@ -13,11 +13,21 @@
rel="stylesheet" rel="stylesheet"
/> />
<script src="/config.js"></script> <script src="/config.js"></script>
<script <script>
src="https://cdn.usefathom.com/script.js" // Load analytics only if not disabled
data-site="PRHIVBNN" (function() {
defer const disableAnalytics = (window.env && window.env.DISABLE_ANALYTICS === 'true') ||
></script> (typeof process !== 'undefined' && process.env && process.env.VITE_DISABLE_ANALYTICS === 'true');
if (!disableAnalytics) {
const script = document.createElement('script');
script.src = 'https://cdn.usefathom.com/script.js';
script.setAttribute('data-site', 'PRHIVBNN');
script.defer = true;
document.head.appendChild(script);
}
})();
</script>
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "chartdb", "name": "chartdb",
"version": "1.13.1", "version": "1.13.2",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "chartdb", "name": "chartdb",
"version": "1.13.1", "version": "1.13.2",
"dependencies": { "dependencies": {
"@ai-sdk/openai": "^0.0.51", "@ai-sdk/openai": "^0.0.51",
"@dbml/core": "^3.9.5", "@dbml/core": "^3.9.5",

View File

@@ -1,7 +1,7 @@
{ {
"name": "chartdb", "name": "chartdb",
"private": true, "private": true,
"version": "1.13.1", "version": "1.13.2",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",

View File

@@ -6,6 +6,9 @@ export const IS_CHARTDB_IO: boolean =
import.meta.env.VITE_IS_CHARTDB_IO === 'true'; import.meta.env.VITE_IS_CHARTDB_IO === 'true';
export const APP_URL: string = import.meta.env.VITE_APP_URL; export const APP_URL: string = import.meta.env.VITE_APP_URL;
export const HOST_URL: string = import.meta.env.VITE_HOST_URL ?? ''; export const HOST_URL: string = import.meta.env.VITE_HOST_URL ?? '';
export const HIDE_BUCKLE_DOT_DEV: boolean = export const HIDE_CHARTDB_CLOUD: boolean =
(window?.env?.HIDE_BUCKLE_DOT_DEV ?? (window?.env?.HIDE_CHARTDB_CLOUD ??
import.meta.env.VITE_HIDE_BUCKLE_DOT_DEV) === 'true'; import.meta.env.VITE_HIDE_CHARTDB_CLOUD) === 'true';
export const DISABLE_ANALYTICS: boolean =
(window?.env?.DISABLE_ANALYTICS ??
import.meta.env.VITE_DISABLE_ANALYTICS) === 'true';

View File

@@ -26,7 +26,7 @@ import { Spinner } from '@/components/spinner/spinner';
import { Helmet } from 'react-helmet-async'; import { Helmet } from 'react-helmet-async';
import { AlertProvider } from '@/context/alert-context/alert-provider'; import { AlertProvider } from '@/context/alert-context/alert-provider';
import { CanvasProvider } from '@/context/canvas-context/canvas-provider'; import { CanvasProvider } from '@/context/canvas-context/canvas-provider';
import { HIDE_BUCKLE_DOT_DEV } from '@/lib/env'; import { HIDE_CHARTDB_CLOUD } from '@/lib/env';
import { useDiagramLoader } from './use-diagram-loader'; import { useDiagramLoader } from './use-diagram-loader';
import { DiffProvider } from '@/context/diff-context/diff-provider'; import { DiffProvider } from '@/context/diff-context/diff-provider';
import { TopNavbarMock } from './top-navbar/top-navbar-mock'; import { TopNavbarMock } from './top-navbar/top-navbar-mock';
@@ -61,7 +61,7 @@ const EditorPageComponent: React.FC = () => {
const { initialDiagram } = useDiagramLoader(); const { initialDiagram } = useDiagramLoader();
useEffect(() => { useEffect(() => {
if (HIDE_BUCKLE_DOT_DEV) { if (HIDE_CHARTDB_CLOUD) {
return; return;
} }