Conversation
Added calls to serverkit.ai to track successful installation, update, and uninstall events with the current version. This helps monitor usage and improve support.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| if [ "$BACKEND_OK" = true ] && [ "$FRONTEND_OK" = true ]; then | ||
| # Track successful install | ||
| INSTALLED_VERSION=$(cat "$INSTALL_DIR/VERSION" 2>/dev/null | tr -d '\n\r ') | ||
| curl -s "https://serverkit.ai/track/install?v=${INSTALLED_VERSION}" >/dev/null 2>&1 || true |
There was a problem hiding this comment.
The curl command lacks a timeout parameter, which could cause the installation to hang if the tracking endpoint is unreachable or slow to respond. Other curl calls in the codebase (e.g., scripts/test-routing.sh:68, 120, 137) use --connect-timeout to prevent hanging. Consider adding --max-time or --connect-timeout to ensure the tracking call doesn't delay the installation process.
| curl -s "https://serverkit.ai/track/install?v=${INSTALLED_VERSION}" >/dev/null 2>&1 || true | |
| curl --connect-timeout 5 --max-time 10 -s "https://serverkit.ai/track/install?v=${INSTALLED_VERSION}" >/dev/null 2>&1 || true |
| # Track successful update | ||
| curl -s "https://serverkit.ai/track/update?v=${NEW_VERSION}" >/dev/null 2>&1 || true |
There was a problem hiding this comment.
The curl command lacks a timeout parameter, which could cause the update process to hang if the tracking endpoint is unreachable or slow to respond. Other curl calls in the codebase (e.g., scripts/test-routing.sh:68, 120, 137) use --connect-timeout to prevent hanging. Consider adding --max-time or --connect-timeout to ensure the tracking call doesn't delay the update process.
| # Track successful update | |
| curl -s "https://serverkit.ai/track/update?v=${NEW_VERSION}" >/dev/null 2>&1 || true | |
| # Track successful update (do not hang if tracking endpoint is slow/unreachable) | |
| curl --connect-timeout 5 --max-time 10 -s "https://serverkit.ai/track/update?v=${NEW_VERSION}" >/dev/null 2>&1 || true |
| if [[ $REPLY =~ ^[Yy]$ ]]; then | ||
| # Track uninstall before removing files | ||
| UNINSTALL_VERSION=$(get_local_version) | ||
| curl -s "https://serverkit.ai/track/uninstall?v=${UNINSTALL_VERSION}" >/dev/null 2>&1 || true |
There was a problem hiding this comment.
The curl command lacks a timeout parameter, which could cause the uninstall process to hang if the tracking endpoint is unreachable or slow to respond. Other curl calls in the codebase (e.g., scripts/test-routing.sh:68, 120, 137) use --connect-timeout to prevent hanging. Consider adding --max-time or --connect-timeout to ensure the tracking call doesn't delay the uninstall process.
| curl -s "https://serverkit.ai/track/uninstall?v=${UNINSTALL_VERSION}" >/dev/null 2>&1 || true | |
| curl --connect-timeout 5 -s "https://serverkit.ai/track/uninstall?v=${UNINSTALL_VERSION}" >/dev/null 2>&1 || true |
| # Track successful install | ||
| INSTALLED_VERSION=$(cat "$INSTALL_DIR/VERSION" 2>/dev/null | tr -d '\n\r ') | ||
| curl -s "https://serverkit.ai/track/install?v=${INSTALLED_VERSION}" >/dev/null 2>&1 || true |
There was a problem hiding this comment.
This PR introduces usage tracking without any user disclosure, consent mechanism, or opt-out configuration. There is no documentation in the README, installation guides, or anywhere in the codebase informing users that telemetry data is being collected. Best practices for open-source software dictate that telemetry should be transparent, documented, and ideally opt-in or at minimum provide a clear opt-out mechanism. Consider adding documentation about what data is collected, adding an environment variable or configuration option to disable tracking (e.g., SERVERKIT_TELEMETRY_ENABLED), and updating the README and installation documentation to disclose this tracking.
Added calls to serverkit.ai to track successful installation, update, and uninstall events with the current version. This helps monitor usage and improve support.