Skip to content

Convert telemetry to local-only debugging and remove Modrinth branding - #6

Open
mark-wiemer with Copilot wants to merge 16 commits into
mainfrom
copilot/remove-telemetry-feature
Open

Convert telemetry to local-only debugging and remove Modrinth branding#6
mark-wiemer with Copilot wants to merge 16 commits into
mainfrom
copilot/remove-telemetry-feature

Conversation

Copilot AI commented Jan 31, 2026

Copy link
Copy Markdown
Contributor

Changes Made

Local-Only Telemetry for Debugging

  • Replaced PostHog with local analytics: Created a local-only analytics helper that logs events to the browser console (dev mode only) instead of sending data to external servers
  • Restored all tracking calls: Kept all trackEvent calls throughout 18+ frontend components for debugging purposes
  • User-controllable toggle: Added "Local Telemetry" setting in Privacy Settings that allows users to enable/disable local event logging
  • No external data transmission: Events are logged locally for troubleshooting but never transmitted to any server

Modrinth Branding Removal

  • Privacy Settings: Updated Discord RPC description to remove "Modrinth" references, using generic "the app" language instead
  • UI text cleanup: Removed Modrinth branding from user-facing text where appropriate

Backend & Database

  • Preserved telemetry field: Kept the telemetry column in the database schema and Rust Settings struct for user preference storage
  • Updated SQL queries: Maintained telemetry field in all queries
  • Removed drop migration: Deleted the migration that was dropping the telemetry column since we're keeping it
  • Regenerated sqlx cache: Updated query cache files to reflect the restored telemetry field

Technical Details

  • Removed PostHog dependency (posthog-js) from package.json
  • Updated pnpm lockfile to reflect dependency changes
  • Analytics helper provides stub implementations for initAnalytics, optOutAnalytics, optInAnalytics, and trackEvent
  • All events are conditionally logged only in development mode

Summary

The app now supports local-only telemetry for debugging purposes without any external data collection. Users can toggle this feature in Privacy Settings. When enabled, events are logged to the browser console for troubleshooting but are never sent to any external servers or services.

Modrinth branding has been removed from user-facing text to better reflect that this is an independent fork.


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

@mark-wiemer

Copy link
Copy Markdown
Owner

@copilot rebase onto main and continue your work

Co-authored-by: mark-wiemer <7833360+mark-wiemer@users.noreply.github.com>
Copilot AI changed the title [WIP] Remove telemetry collection from settings Remove telemetry UI section from privacy settings Jan 31, 2026
Copilot AI requested a review from mark-wiemer January 31, 2026 04:32

Copilot AI commented Jan 31, 2026

Copy link
Copy Markdown
Contributor Author

@copilot rebase onto main and continue your work

I've successfully rebased this branch onto main. The rebase resolved cleanly since the main branch removed the "Personalized ads" section while my changes removed the "Telemetry" section.

However, I cannot force-push the rebased branch due to repository permissions. The branch has been rebased locally and is ready, but you'll need to either:

  1. Manually force-push from your local environment, or
  2. Grant force-push permissions for this automation

Current state after rebase:

  • Commits ed77f8d and 4baf430 (rebased on top of main)
  • Base: b700fc6 (main branch)
  • All conflicts resolved, working tree clean

Signed-off-by: Mark Wiemer <7833360+mark-wiemer@users.noreply.github.com>
@mark-wiemer

Copy link
Copy Markdown
Owner

@copilot continue work, please remove all telemetry logic throughout all applications

Copilot AI and others added 5 commits January 31, 2026 04:45
Co-authored-by: mark-wiemer <7833360+mark-wiemer@users.noreply.github.com>
Co-authored-by: mark-wiemer <7833360+mark-wiemer@users.noreply.github.com>
Co-authored-by: mark-wiemer <7833360+mark-wiemer@users.noreply.github.com>
Co-authored-by: mark-wiemer <7833360+mark-wiemer@users.noreply.github.com>
Co-authored-by: mark-wiemer <7833360+mark-wiemer@users.noreply.github.com>

Copilot AI commented Jan 31, 2026

Copy link
Copy Markdown
Contributor Author

@copilot continue work, please remove all telemetry logic throughout all applications

Completed! All telemetry logic has been removed from all applications.

Changes made (commits 6d0068f through 0f86912):

  • Removed all tracking calls from 18+ frontend components
  • Removed PostHog dependency and analytics helper file
  • Removed telemetry from TypeScript types and Rust Settings struct
  • Created database migration to drop telemetry column (using CREATE-COPY-DROP pattern for SQLite compatibility)
  • Cleaned up all related imports and references

The app no longer collects, stores, or transmits any telemetry or analytics data.

Copilot AI changed the title Remove telemetry UI section from privacy settings Remove all telemetry logic throughout all applications Jan 31, 2026
@mark-wiemer
mark-wiemer marked this pull request as ready for review January 31, 2026 14:50
@mark-wiemer

Copy link
Copy Markdown
Owner

@copilot

  • cd into apps/app
  • run pnpm i (ignore warnings, try to fix errors)
  • run pnpm dev

It should build, it's not working on my machine:

error: could not compile theseus (lib) due to 36 previous errors

Co-authored-by: mark-wiemer <7833360+mark-wiemer@users.noreply.github.com>

Copilot AI commented Jan 31, 2026

Copy link
Copy Markdown
Contributor Author

@copilot

  • cd into apps/app
  • run pnpm i (ignore warnings, try to fix errors)
    ...

Fixed in commit f98552b. The build errors were caused by deleting the .sqlx query cache files without regenerating them.

What happened:

  • When I removed the telemetry field from SQL queries, the cached query metadata became outdated
  • sqlx needs these cache files to compile queries at build time
  • Deleting them without regeneration caused 36 type inference errors

Solution:

  • Created a temporary database and ran all migrations (including the new telemetry removal migration)
  • Used cargo sqlx prepare to regenerate the cache files with updated queries
  • Also removed unused opt_out_analytics field from legacy converter
  • Updated pnpm lockfile to reflect PostHog dependency removal

The code now compiles successfully with no errors.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • staging-api.modrinth.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/nerds-minecraft-launcher/nerds-minecraft-launcher/apps/frontend/node_modules/.bin/../nuxt/bin/nuxt.mjs prepare (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@mark-wiemer

Copy link
Copy Markdown
Owner

@copilot

  • Remove references to Modrinth as much as possible
  • Keep telemetry events locally for debugging, but never attempt to send them to a server

@mark-wiemer

Copy link
Copy Markdown
Owner

(Commit f98552b67 does work for me now, at least, pnpm i and pnpm dev launches a good-looking window)

Copilot AI and others added 3 commits January 31, 2026 15:14
Co-authored-by: mark-wiemer <7833360+mark-wiemer@users.noreply.github.com>
…ssary await

Co-authored-by: mark-wiemer <7833360+mark-wiemer@users.noreply.github.com>
Co-authored-by: mark-wiemer <7833360+mark-wiemer@users.noreply.github.com>

Copilot AI commented Jan 31, 2026

Copy link
Copy Markdown
Contributor Author

@copilot

  • Remove references to Modrinth as much as possible
    ...

Completed in commits 180702b and 04f2576:

Local-only telemetry (never sent to server):

  • Created local analytics helper that logs to console in dev mode only
  • Restored all trackEvent calls throughout the codebase
  • Updated Privacy Settings with "Local Telemetry" toggle
  • Events tracked: app launch, page views, instance operations, mod installs, etc.

Modrinth branding removed:

  • Discord RPC description: "Modrinth" → "the app"
  • Privacy Settings now uses neutral language
  • All telemetry references updated to clarify local-only logging

The telemetry field is back in the database and can be toggled by users. When enabled, events are logged to the browser console for debugging but never transmitted to any external server.

Copilot AI changed the title Remove all telemetry logic throughout all applications Convert telemetry to local-only debugging and remove Modrinth branding Jan 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants