mirror of
https://github.com/chartdb/chartdb.git
synced 2025-11-05 22:43:30 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
578546a171 | ||
|
|
aa0b629a3e |
@@ -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)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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`.
|
||||||
|
|||||||
@@ -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\"
|
||||||
};";
|
};";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;"
|
||||||
|
|||||||
20
index.html
20
index.html
@@ -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
4
package-lock.json
generated
@@ -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",
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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';
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user