Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
15d7905
Create light Sentry theme
limbonaut Oct 17, 2025
b9c9db7
Add logo
limbonaut Oct 17, 2025
8bfa75a
Update .gitignore
limbonaut Oct 17, 2025
3238b80
Add reference User Feedback form
limbonaut Oct 17, 2025
1e7f7c7
Refine, and add character limit
limbonaut Oct 17, 2025
e01a000
Fix issues with properties
limbonaut Oct 17, 2025
4fb74d3
Merge branch 'main' into feat/user-feedback-widget
limbonaut Oct 17, 2025
2029838
Update user_feedback_gui.gd
limbonaut Oct 17, 2025
8b3ebd4
Decrese theme fonts
limbonaut Oct 17, 2025
75d87e7
Fix minimum_words = 0
limbonaut Oct 17, 2025
acfdb4c
Use VBox sections
limbonaut Oct 17, 2025
73c99d9
Impl custom container logic
limbonaut Oct 17, 2025
959df21
Add enable_name_input, enable_email_input
limbonaut Oct 17, 2025
8e33352
Comments
limbonaut Oct 17, 2025
d0a935d
Resize and close virtual keyboard on outside tap
limbonaut Oct 18, 2025
e9e7337
Scale UI for different resolutions
limbonaut Oct 18, 2025
54ba7be
Organize
limbonaut Oct 18, 2025
fdf04a2
Store VBoxContainer separation in the theme file, so we can scale it
limbonaut Oct 18, 2025
360955b
Dont hardcode font sizes
limbonaut Oct 18, 2025
2618cd2
Ensure we dont steal UI events
limbonaut Oct 18, 2025
2ecda4f
Focus message input on visible
limbonaut Oct 18, 2025
88844b4
Update CHANGELOG.md
limbonaut Oct 18, 2025
3485ae6
Fix error
limbonaut Oct 18, 2025
5c6cd6d
Rename props to "x_visible" pattern
limbonaut Oct 22, 2025
ceb3239
Merge branch 'main' into feat/user-feedback-widget
limbonaut Oct 22, 2025
bd624bf
Merge branch 'main' into feat/user-feedback-widget
limbonaut Oct 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Project-related
project/addons/
project/addons/gdUnit4
project/addons/sentry/*
!project/addons/sentry/user_feedback/
project/export_presets.cfg
project/.vscode/
project/reports/
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
### Features

- Add user feedback API for collecting and sending user feedback to Sentry ([#418](https://github.com/getsentry/sentry-godot/pull/418))
- Add customizable User Feedback form that can be used for feedback submission, and as an example for custom implementations ([#422](https://github.com/getsentry/sentry-godot/pull/422))
- Access event exception values in `before_send` handler ([#415](https://github.com/getsentry/sentry-godot/pull/415))
- Add support for Structured Logging ([#409](https://github.com/getsentry/sentry-godot/pull/409))

Expand Down
1 change: 1 addition & 0 deletions project/addons/sentry/user_feedback/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 18 additions & 0 deletions project/addons/sentry/user_feedback/logo.svg.import
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[remap]

importer="svg"
type="DPITexture"
uid="uid://d0o3nt85ac67i"
path="res://.godot/imported/logo.svg-25820d7157ee760c1db8b8ba461e2e2f.dpitex"

[deps]

source_file="res://addons/sentry/user_feedback/logo.svg"
dest_files=["res://.godot/imported/logo.svg-25820d7157ee760c1db8b8ba461e2e2f.dpitex"]

[params]

base_scale=1.0
saturation=1.0
color_map={}
compress=true
283 changes: 283 additions & 0 deletions project/addons/sentry/user_feedback/sentry_theme.tres
Original file line number Diff line number Diff line change
@@ -0,0 +1,283 @@
[gd_resource type="Theme" load_steps=15 format=3 uid="uid://bw0anqwp7xj8t"]

[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_hffoe"]
content_margin_left = 12.0
content_margin_top = 10.0
content_margin_right = 12.0
content_margin_bottom = 10.0
bg_color = Color(0.954, 0.954, 0.954, 1)
draw_center = false
border_width_left = 4
border_width_top = 4
border_width_right = 4
border_width_bottom = 4
border_color = Color(0.39607844, 0.34901962, 0.77254903, 1)
corner_radius_top_left = 6
corner_radius_top_right = 6
corner_radius_bottom_right = 6
corner_radius_bottom_left = 6
corner_detail = 5
anti_aliasing = false

[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_e23mj"]
content_margin_left = 12.0
content_margin_top = 10.0
content_margin_right = 12.0
content_margin_bottom = 10.0
bg_color = Color(0.49787024, 0.43896988, 0.9101726, 1)
border_color = Color(0.98099995, 0.98099995, 0.98099995, 1)
corner_radius_top_left = 6
corner_radius_top_right = 6
corner_radius_bottom_right = 6
corner_radius_bottom_left = 6
corner_detail = 5
anti_aliasing = false

[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_g6gn8"]
content_margin_left = 12.0
content_margin_top = 10.0
content_margin_right = 12.0
content_margin_bottom = 10.0
bg_color = Color(0.42352942, 0.37254903, 0.78039217, 1)
border_color = Color(0.98099995, 0.98099995, 0.98099995, 1)
corner_radius_top_left = 6
corner_radius_top_right = 6
corner_radius_bottom_right = 6
corner_radius_bottom_left = 6
corner_detail = 5
anti_aliasing = false

[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_63sqy"]
content_margin_left = 12.0
content_margin_top = 10.0
content_margin_right = 12.0
content_margin_bottom = 10.0
bg_color = Color(0.42352942, 0.37254903, 0.78039217, 1)
border_color = Color(0.98099995, 0.98099995, 0.98099995, 1)
corner_radius_top_left = 6
corner_radius_top_right = 6
corner_radius_bottom_right = 6
corner_radius_bottom_left = 6
corner_detail = 5
anti_aliasing = false

[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5o1s5"]
content_margin_left = 12.0
content_margin_top = 10.0
content_margin_right = 12.0
content_margin_bottom = 10.0
bg_color = Color(0.90999997, 0.90999997, 0.90999997, 1)
border_color = Color(0.93, 0.93, 0.93, 1)
corner_radius_top_left = 6
corner_radius_top_right = 6
corner_radius_bottom_right = 6
corner_radius_bottom_left = 6
corner_detail = 5
anti_aliasing = false

[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4sisp"]
content_margin_left = 12.0
content_margin_top = 10.0
content_margin_right = 12.0
content_margin_bottom = 10.0
bg_color = Color(0.954, 0.954, 0.954, 1)
draw_center = false
border_width_left = 4
border_width_top = 4
border_width_right = 4
border_width_bottom = 4
border_color = Color(0.39607844, 0.34901962, 0.77254903, 1)
corner_radius_top_left = 6
corner_radius_top_right = 6
corner_radius_bottom_right = 6
corner_radius_bottom_left = 6
corner_detail = 5
anti_aliasing = false

[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_gix2e"]
content_margin_left = 12.0
content_margin_top = 10.0
content_margin_right = 12.0
content_margin_bottom = 10.0
bg_color = Color(0.9607843, 0.9529412, 0.96862745, 1)
border_color = Color(0, 0, 0, 0.05)
corner_radius_top_left = 6
corner_radius_top_right = 6
corner_radius_bottom_right = 6
corner_radius_bottom_left = 6
corner_detail = 5
anti_aliasing = false

[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_7qvkq"]
content_margin_left = 12.0
content_margin_top = 10.0
content_margin_right = 12.0
content_margin_bottom = 10.0
bg_color = Color(0.96862745, 0.9647059, 0.9764706, 1)
border_width_left = 2
border_width_top = 2
border_width_right = 2
border_width_bottom = 2
border_color = Color(0.98099995, 0.98099995, 0.98099995, 1)
corner_radius_top_left = 6
corner_radius_top_right = 6
corner_radius_bottom_right = 6
corner_radius_bottom_left = 6
corner_detail = 5
anti_aliasing = false

[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_6xjsq"]
content_margin_left = 12.0
content_margin_top = 10.0
content_margin_right = 12.0
content_margin_bottom = 10.0
bg_color = Color(0.83475, 0.83475, 0.83475, 1)
border_color = Color(0.98099995, 0.98099995, 0.98099995, 1)
corner_radius_top_left = 6
corner_radius_top_right = 6
corner_radius_bottom_right = 6
corner_radius_bottom_left = 6
corner_detail = 5
anti_aliasing = false

[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_sfof1"]
content_margin_left = 8.0
content_margin_top = 8.0
content_margin_right = 8.0
content_margin_bottom = 8.0

[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_pmhvd"]
content_margin_left = 12.0
content_margin_top = 10.0
content_margin_right = 12.0
content_margin_bottom = 10.0
bg_color = Color(0.96862745, 0.9647059, 0.9764706, 1)
draw_center = false
border_width_left = 4
border_width_top = 4
border_width_right = 4
border_width_bottom = 4
border_color = Color(0.42352942, 0.37254903, 0.78039217, 1)
corner_radius_top_left = 6
corner_radius_top_right = 6
corner_radius_bottom_right = 6
corner_radius_bottom_left = 6
corner_detail = 5
anti_aliasing = false

[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ij1qw"]
content_margin_left = 12.0
content_margin_top = 10.0
content_margin_right = 12.0
content_margin_bottom = 10.0
bg_color = Color(0.96862745, 0.9647059, 0.9764706, 1)
border_width_bottom = 4
border_color = Color(0.8784314, 0.8627451, 0.8980392, 1)
corner_radius_top_left = 6
corner_radius_top_right = 6
corner_detail = 5
anti_aliasing = false

[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_3wai3"]
content_margin_left = 12.0
content_margin_top = 10.0
content_margin_right = 12.0
content_margin_bottom = 10.0
bg_color = Color(0.9607843, 0.9529412, 0.96862745, 1)
border_width_bottom = 4
border_color = Color(0.9411765, 0.9254902, 0.9529412, 1)
corner_radius_top_left = 6
corner_radius_top_right = 6
corner_detail = 5
anti_aliasing = false

[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_qfyhw"]
content_margin_left = 12.0
content_margin_top = 10.0
content_margin_right = 12.0
content_margin_bottom = 10.0
bg_color = Color(1, 1, 1, 1)
border_color = Color(0.98099995, 0.98099995, 0.98099995, 1)
corner_radius_top_left = 6
corner_radius_top_right = 6
corner_radius_bottom_right = 6
corner_radius_bottom_left = 6
corner_detail = 5
anti_aliasing = false

[resource]
default_font_size = 20
ActionButton/base_type = &"Button"
ActionButton/colors/font_color = Color(1, 1, 1, 1)
ActionButton/colors/font_focus_color = Color(1, 1, 1, 1)
ActionButton/colors/font_hover_color = Color(1, 1, 1, 1)
ActionButton/colors/font_pressed_color = Color(0.9607843, 0.9529412, 0.96862745, 1)
ActionButton/styles/focus = SubResource("StyleBoxFlat_hffoe")
ActionButton/styles/hover = SubResource("StyleBoxFlat_e23mj")
ActionButton/styles/normal = SubResource("StyleBoxFlat_g6gn8")
ActionButton/styles/pressed = SubResource("StyleBoxFlat_63sqy")
BoxContainer/constants/separation = 4
Button/colors/font_color = Color(0.24313726, 0.20392157, 0.27450982, 1)
Button/colors/font_disabled_color = Color(0.44313726, 0.3882353, 0.49411765, 1)
Button/colors/font_focus_color = Color(0.24313726, 0.20392157, 0.27450982, 1)
Button/colors/font_hover_color = Color(0.24313726, 0.20392157, 0.27450982, 1)
Button/colors/font_hover_pressed_color = Color(0.39607844, 0.34901962, 0.77254903, 1)
Button/colors/font_outline_color = Color(0, 0, 0, 0)
Button/colors/font_pressed_color = Color(0.39607844, 0.34901962, 0.77254903, 1)
Button/colors/icon_disabled_color = Color(1, 1, 1, 0.4)
Button/colors/icon_focus_color = Color(1.45, 1.45, 1.45, 1)
Button/colors/icon_hover_color = Color(1.45, 1.45, 1.45, 1)
Button/colors/icon_hover_pressed_color = Color(0.63, 1.75, 3.5, 1)
Button/colors/icon_normal_color = Color(1, 1, 1, 1)
Button/colors/icon_pressed_color = Color(0.63, 1.75, 3.5, 1)
Button/constants/align_to_largest_stylebox = 1
Button/constants/h_separation = 8
Button/constants/outline_size = 0
Button/styles/disabled = SubResource("StyleBoxFlat_5o1s5")
Button/styles/focus = SubResource("StyleBoxFlat_4sisp")
Button/styles/hover = SubResource("StyleBoxFlat_gix2e")
Button/styles/normal = SubResource("StyleBoxFlat_7qvkq")
Button/styles/pressed = SubResource("StyleBoxFlat_6xjsq")
HeaderMedium/colors/font_color = Color(0.24313726, 0.20392157, 0.27450982, 1)
HeaderMedium/font_sizes/font_size = 26
Label/colors/font_color = Color(0.24313726, 0.20392157, 0.27450982, 1)
Label/colors/font_outline_color = Color(0, 0, 0, 0)
Label/colors/font_shadow_color = Color(0, 0, 0, 0)
Label/constants/line_spacing = 6
Label/constants/outline_size = 0
Label/constants/shadow_offset_x = 2
Label/constants/shadow_offset_y = 2
Label/constants/shadow_outline_size = 2
Label/styles/focus = SubResource("StyleBoxFlat_4sisp")
Label/styles/normal = SubResource("StyleBoxEmpty_sfof1")
LineEdit/colors/caret_color = Color(0.24313726, 0.20392157, 0.27450982, 1)
LineEdit/colors/clear_button_color = Color(0.24313726, 0.20392157, 0.27450982, 1)
LineEdit/colors/clear_button_color_pressed = Color(0.39607844, 0.34901962, 0.77254903, 1)
LineEdit/colors/font_color = Color(0.24313726, 0.20392157, 0.27450982, 1)
LineEdit/colors/font_outline_color = Color(0, 0, 0, 0)
LineEdit/colors/font_placeholder_color = Color(0.44313726, 0.3882353, 0.49411765, 1)
LineEdit/colors/font_selected_color = Color(0.24313726, 0.20392157, 0.27450982, 1)
LineEdit/colors/font_uneditable_color = Color(0, 0, 0, 0.65)
LineEdit/colors/selection_color = Color(0.39607844, 0.34901962, 0.77254903, 0.4)
LineEdit/constants/caret_width = 1
LineEdit/constants/minimum_character_width = 4
LineEdit/constants/outline_size = 0
LineEdit/styles/focus = SubResource("StyleBoxFlat_pmhvd")
LineEdit/styles/normal = SubResource("StyleBoxFlat_ij1qw")
LineEdit/styles/read_only = SubResource("StyleBoxFlat_3wai3")
MainBoxContainer/constants/separation = 10
PanelContainer/styles/panel = SubResource("StyleBoxFlat_qfyhw")
TextEdit/colors/background_color = Color(0, 0, 0, 0)
TextEdit/colors/caret_color = Color(0.24313726, 0.20392157, 0.27450982, 1)
TextEdit/colors/font_color = Color(0.24313726, 0.20392157, 0.27450982, 1)
TextEdit/colors/font_outline_color = Color(0, 0, 0, 0)
TextEdit/colors/font_placeholder_color = Color(0.44313726, 0.3882353, 0.49411765, 1)
TextEdit/colors/font_readonly_color = Color(0, 0, 0, 0.65)
TextEdit/colors/font_selected_color = Color(0.24313726, 0.20392157, 0.27450982, 1)
TextEdit/colors/selection_color = Color(0.39607844, 0.34901962, 0.77254903, 0.4)
TextEdit/constants/caret_width = 1
TextEdit/constants/line_spacing = 8
TextEdit/constants/outline_size = 0
TextEdit/styles/focus = SubResource("StyleBoxFlat_pmhvd")
TextEdit/styles/normal = SubResource("StyleBoxFlat_ij1qw")
TextEdit/styles/read_only = SubResource("StyleBoxFlat_3wai3")
Loading
Loading