plainx-sentry 0.7.0__tar.gz → 0.8.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plainx-sentry
3
- Version: 0.7.0
3
+ Version: 0.8.0
4
4
  Author-email: Dave Gaeddert <dave.gaeddert@gmail.com>
5
5
  Requires-Python: >=3.11
6
6
  Requires-Dist: sentry-sdk[opentelemetry]>=2.24.0
@@ -20,12 +20,6 @@ INSTALLED_PACKAGES = [
20
20
  # ...
21
21
  "plainx.sentry",
22
22
  ]
23
-
24
- MIDDLEWARE = [
25
- # Put SentryMiddleware as early as possible in the middleware stack
26
- "plainx.sentry.SentryMiddleware",
27
- # ...
28
- ]
29
23
  ```
30
24
 
31
25
  In your `base.html`, load `sentry` and include the `sentry_js` tag:
@@ -12,12 +12,6 @@ INSTALLED_PACKAGES = [
12
12
  # ...
13
13
  "plainx.sentry",
14
14
  ]
15
-
16
- MIDDLEWARE = [
17
- # Put SentryMiddleware as early as possible in the middleware stack
18
- "plainx.sentry.SentryMiddleware",
19
- # ...
20
- ]
21
15
  ```
22
16
 
23
17
  In your `base.html`, load `sentry` and include the `sentry_js` tag:
@@ -1,4 +1,5 @@
1
1
  import sentry_sdk
2
+ from plain.auth import get_request_user
2
3
  from plain.runtime import settings
3
4
  from plain.templates import register_template_extension
4
5
  from plain.templates.jinja.extensions import InclusionTagExtension
@@ -25,8 +26,8 @@ class SentryJSExtension(InclusionTagExtension):
25
26
  }
26
27
 
27
28
  if "request" in context:
28
- # Use request.user by default (avoids accidental "user" variable confusion)
29
- user = getattr(context["request"], "user", None)
29
+ # Get the authenticated user from the request
30
+ user = get_request_user(context["request"])
30
31
  else:
31
32
  # Get user directly if no request (like in server error context)
32
33
  user = context.get("user", None)
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "plainx-sentry"
3
- version = "0.7.0"
3
+ version = "0.8.0"
4
4
  description = ""
5
5
  readme = "README.md"
6
6
  authors = [
@@ -17,7 +17,6 @@ MIDDLEWARE = [
17
17
  "plain.sessions.middleware.SessionMiddleware",
18
18
  "plain.middleware.common.CommonMiddleware",
19
19
  "plain.csrf.middleware.CsrfViewMiddleware",
20
- "plain.auth.middleware.AuthenticationMiddleware",
21
20
  "plain.middleware.clickjacking.XFrameOptionsMiddleware",
22
21
  "plainx.sentry.middleware.SentryFeedbackMiddleware",
23
22
  ]
@@ -1,5 +1,6 @@
1
1
  import sentry_sdk
2
2
  from plain.auth import get_user_model
3
+ from plain.auth.requests import set_request_user
3
4
  from plain.views import TemplateView
4
5
 
5
6
  from plainx.sentry.templatetags.sentry import sentry_js
@@ -39,7 +40,7 @@ def test_sentry_pii_enabled(settings, rf):
39
40
  settings.SENTRY_PII_ENABLED = True
40
41
 
41
42
  request = rf.get("/")
42
- request.user = get_user_model()(id=1, email="test@example.com", username="test")
43
+ set_request_user(request, get_user_model()(id=1, email="test@example.com", username="test"))
43
44
 
44
45
  assert sentry_js({"request": request}) == {
45
46
  "sentry_js_enabled": True,
@@ -83,7 +84,7 @@ def test_sentry_pii_disabled(settings, rf):
83
84
  settings.SENTRY_PII_ENABLED = False
84
85
 
85
86
  request = rf.get("/")
86
- request.user = get_user_model()(id=1, email="test@example.com", username="test")
87
+ set_request_user(request, get_user_model()(id=1, email="test@example.com", username="test"))
87
88
 
88
89
  assert sentry_js({"request": request}) == {
89
90
  "sentry_js_enabled": True,
@@ -104,7 +105,7 @@ def test_sentry_release_env(settings, rf):
104
105
  settings.SENTRY_ENVIRONMENT = "production"
105
106
 
106
107
  request = rf.get("/")
107
- request.user = get_user_model()(id=1, email="test@example.com", username="test")
108
+ set_request_user(request, get_user_model()(id=1, email="test@example.com", username="test"))
108
109
 
109
110
  assert sentry_js({"request": request}) == {
110
111
  "sentry_js_enabled": True,