Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Telemetry/crash reporting/user feedback #2076

wjt started this conversation in General
Mar 23, 2026 · 3 comments · 1 reply
Discussion options

We are still early in Threadbare's development but every so often these three topics come up:

  • Can we get crash/error reporting? e.g. if some error is logged every time a particular scene is played, can we gather & aggregate that data somehow?
  • Can we get aggregated data on user behaviour? e.g. "this is the distribution of the number of attempts before players successfully outrun the void", "how many people pet the cat"?
  • Can we add an in-game bug report feature?

In a past life I used Sentry for crash reporting. I have been following the progress of their support for web exports, which was released earlier this month. I quickly experimented with it this morning, and I'll write some notes below. There are of course other tools!

You must be logged in to vote

Replies: 3 comments 1 reply

Comment options

wjt
Mar 23, 2026
Maintainer Author

On Sentry:

It was very easy to get set up. I created an organisation & project on their server; added their addon to Threadbare; started the game, triggered an error, and lo! it appeared on the Sentry dashboard.

image

I added one line of code to player_hook.gd:

diff --git a/scenes/game_elements/characters/player/components/player_hook.gd b/scenes/game_elements/characters/player/components/player_hook.gd
index 824e0061..40252494 100644
--- a/scenes/game_elements/characters/player/components/player_hook.gd
+++ b/scenes/game_elements/characters/player/components/player_hook.gd
@@ -132,6 +132,7 @@ func _new_hook_string() -> Line2D:
 character.add_sibling(new_hook_string)
 new_hook_string.owner = character.owner
 string_thrown.emit()
+ SentrySDK.metrics.count("string_thrown")
 return new_hook_string

and now I get a hooks-per-second metric on the server side:

Screenshot From 2026年03月23日 16-27-52

They have a user feedback feature, with a ready-made Godot scene. I haven't tried it but I'm sure it would work. https://docs.sentry.io/platforms/godot/user-feedback/

The free plan only allows one user. The Team plan is 26ドル/month. They have an open source program we could apply to. It is possible to self-host the server but I consider the effort involved in doing that to be more than 26ドル per month.

The addon is, deep breath, 1.1 gigabytes. This is because they have support for many platforms and architectures:

55M	addons/sentry/bin/android
228M	addons/sentry/bin/ios
159M	addons/sentry/bin/linux
135M	addons/sentry/bin/macos
244M	addons/sentry/bin/web
219M	addons/sentry/bin/windows

Obviously we could delete unwanted platforms and e.g. only have the appropriate release binary for wasm, the one platform we really care about at present (or if we are feeling really fancy also include the Linux build):

❯ ls -lh addons/sentry/bin/web/libsentry.web.*
-rw-r--r--. 1 wjt wjt 60M Mar 23 16:29 addons/sentry/bin/web/libsentry.web.debug.wasm32.debug
-rw-r--r--. 1 wjt wjt 60M Mar 23 16:29 addons/sentry/bin/web/libsentry.web.debug.wasm32.nothreads.debug
-rw-r--r--. 1 wjt wjt 2.5M Mar 23 16:29 addons/sentry/bin/web/libsentry.web.debug.wasm32.nothreads.wasm
-rw-r--r--. 1 wjt wjt 2.5M Mar 23 16:29 addons/sentry/bin/web/libsentry.web.debug.wasm32.wasm
-rw-r--r--. 1 wjt wjt 58M Mar 23 16:29 addons/sentry/bin/web/libsentry.web.release.wasm32.debug
-rw-r--r--. 1 wjt wjt 58M Mar 23 16:29 addons/sentry/bin/web/libsentry.web.release.wasm32.nothreads.debug
-rw-r--r--. 1 wjt wjt 2.4M Mar 23 16:29 addons/sentry/bin/web/libsentry.web.release.wasm32.nothreads.wasm
-rw-r--r--. 1 wjt wjt 2.4M Mar 23 16:29 addons/sentry/bin/web/libsentry.web.release.wasm32.wasm

Still, not ideal, and it would remain to be seen what happens if the binary for the current platform is missing.

You must be logged in to vote
0 replies
Comment options

wjt
Mar 23, 2026
Maintainer Author

Whatever tool we do (or don't) use, there is also a privacy / GDPR / etc. angle.

I am on record as believing that, contrary to popular opinion, anonymous telemetry in open-source software is good, actually, and should be enabled by default. But one does have to justify doing that (i.e. in GDPR terms identify whether personal information is being collected, and if so, on what basis it is being collected), and notify users accordingly (seeking explicit permission in the case of some of those bases). This is certainly more complicated than just not collecting any information!

We also have the interesting situation that we probably don't want to enable telemetry from forks. Or do we?

You must be logged in to vote
1 reply
Comment options

This is great research, @wjt . I also think that anonymous telemetry is good for open source projects, after appliance to law terms and user acceptance. Is a bit sad that the Sentry addon is so heavy even for the web platform. If you ask me, the most important data I'd grab are related to playtest / player progress. How far did they went? When did they got stuck or abandoned? How much time did they dedicate to each level? Maybe this will become more relevant as we approach a more complete game from start to finish.

Comment options

wjt
Mar 25, 2026
Maintainer Author

  • Can we add an in-game bug report feature?

For an initial impl. of this I added:

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants

AltStyle によって変換されたページ (->オリジナル) /