diff --git a/README.md b/README.md index a624524..f083c36 100644 --- a/README.md +++ b/README.md @@ -162,7 +162,7 @@ When you play in your own browser (the Pyodide front-end above), those same slot ## Usage reporting -Usage reporting is on by default: FishE sends a `startup` event once per launch and a `save-loaded` event each time a save slot is created or opened to [trace](https://github.com/Stephenson-Software/trace) at `https://trace.danielstephenson.dev`, each carrying only the program name (`FishE`), the version from `version.txt` and a random installation ID (the tag `install`, so installations can be counted rather than launches). Nothing about you or your run is sent — no username, hostname, IP address, path, slot number or save contents. The in-browser front-end (`UIType.PYODIDE`) is silent: the game runs in your tab, where the client's background thread cannot exist, and nothing is sent from there. +Usage reporting is on by default: FishE sends a `startup` event once per launch and a `save-loaded` event each time a save slot is created or opened to [trace](https://danielstephenson.dev/usage-reporting) at `https://trace.danielstephenson.dev`, each carrying only the program name (`FishE`), the version from `version.txt` and a random installation ID (the tag `install`, so installations can be counted rather than launches). Nothing about you or your run is sent — no username, hostname, IP address, path, slot number or save contents. The in-browser front-end (`UIType.PYODIDE`) is silent: the game runs in your tab, where the client's background thread cannot exist, and nothing is sent from there. The first time an install reports, one line saying so is printed on the console (above the save-file menu) and a `usage-reporting-notice-shown` marker is left in the save directory so it is not printed again. The installation ID is a random UUID kept next to it, in `trace-install-id` in the save directory (`data/`, or `FISHE_SAVE_DIR`); it identifies no person, account or address, and deleting the file gives a new one. It is only created while reporting is on, so every opt-out below also stops it, and the in-browser front-end makes none. Reporting never gets in the game's way: it happens on a background thread, never raises into the game, and a server that is down or slow costs a dropped event, not a wait. @@ -187,7 +187,7 @@ FISHE_USAGE_REPORTING_ENABLED=false python3 src/fishE.py The test suite switches reporting off for every test (`tests/conftest.py`), and the tests that exercise it point at a loopback stub server, so running the tests never reports anything either. The client is `src/trace_client.py`, vendored as one standard-library file from [trace-client-python](https://github.com/Stephenson-Software/trace-client-python) (0.4.0); the wiring is `src/usageReporting.py`. -Details: https://github.com/Stephenson-Software/trace#usage-reporting +Details: https://danielstephenson.dev/usage-reporting ## Contributing diff --git a/src/usageReporting.py b/src/usageReporting.py index 37bcbb5..bfa8663 100644 --- a/src/usageReporting.py +++ b/src/usageReporting.py @@ -19,7 +19,7 @@ win even when the setting says on. The first time an install reports, one line saying so is printed on the console and a marker file is left in the save directory so it is not printed again. What is sent and how to turn it -off is written up at https://github.com/Stephenson-Software/trace#usage-reporting. +off is written up at https://danielstephenson.dev/usage-reporting. The client never gets in the game's way: every report returns immediately (the HTTP call happens on a daemon thread the client owns), never raises, and at @@ -55,7 +55,7 @@ "in the environment" ) -DETAILS_URL = "https://github.com/Stephenson-Software/trace#usage-reporting" +DETAILS_URL = "https://danielstephenson.dev/usage-reporting" NOTICE = ( "Usage reporting is on: %s sends a startup event and a save-loaded event " diff --git a/tests/test_usageReporting.py b/tests/test_usageReporting.py index 4e5793c..81f33f6 100644 --- a/tests/test_usageReporting.py +++ b/tests/test_usageReporting.py @@ -213,7 +213,7 @@ def test_the_notice_names_the_program_what_is_sent_the_opt_outs_and_the_details( "trace.danielstephenson.dev. " "Turn it off with FISHE_USAGE_REPORTING_ENABLED=false or " "TRACE_USAGE_REPORTING=off in the environment. " - "Details: https://github.com/Stephenson-Software/trace#usage-reporting" + "Details: https://danielstephenson.dev/usage-reporting" ) assert "\n" not in usageReporting.NOTICE