rails-profiler 0.35.2 → 0.36.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +50 -0
- data/app/assets/builds/profiler-toolbar.js +2 -4454
- data/app/assets/builds/profiler.css +1 -3546
- data/app/assets/builds/profiler.js +14 -9699
- data/app/assets/javascript/profiler-ajax-interceptor.js +9 -0
- data/app/controllers/profiler/assets_controller.rb +14 -5
- data/app/views/layouts/profiler/application.html.erb +2 -2
- data/app/views/layouts/profiler/embedded.html.erb +6 -4
- data/lib/profiler/assets.rb +61 -0
- data/lib/profiler/middleware/toolbar_injector.rb +44 -12
- data/lib/profiler/version.rb +1 -1
- data/lib/profiler.rb +1 -0
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 36186c492b007da618d3a9f94da2dccc23941497fe65d7f43e5433fc1a3bf10a
|
|
4
|
+
data.tar.gz: 876e10b1a6b5b84203fe379cc037829e1ede330400346410668432f566f8f002
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0cca215b22ba504e8b93c7dec5a5b9ea0bc22d2dc95aa508be83d43280078a5eeb1d74ddc3a45b93eb394160836899db4809d8ffabe97fadf9c925aa05ffb840
|
|
7
|
+
data.tar.gz: 2095189712f476ba6f4d7e91a85c053c2ff9d51cebdba000fe3ce2a6317c271abb30dba9ed3c81026538dcdab5dc7f840fe7c7ca47f07fa0d5a3f47c5f3c8f0b
|
data/CHANGELOG.md
CHANGED
|
@@ -19,6 +19,56 @@ every commit of every tag interval is accounted for one way or the other.
|
|
|
19
19
|
|
|
20
20
|
## [Unreleased]
|
|
21
21
|
|
|
22
|
+
## [0.36.0] - 2026-10-17
|
|
23
|
+
|
|
24
|
+
<!-- stamped -->
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
|
|
28
|
+
- **Dashboard:** The profiler selector now uses the generated `useListClusterSlaves` client
|
|
29
|
+
instead of a hand-written `fetch`; the cluster endpoints are always asked of the master, also
|
|
30
|
+
while a slave is being viewed.
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
|
|
34
|
+
- **Toolbar:** The toolbar keeps rendering and working when `localStorage` is refused (strict
|
|
35
|
+
private mode, storage disabled by a policy): the collapsed state and the theme are kept in
|
|
36
|
+
memory for the page instead of failing silently.
|
|
37
|
+
- **Toolbar:** After a Turbo Drive visit to a page the profiler leaves alone, AJAX requests are no
|
|
38
|
+
longer linked to the profile of the last profiled page.
|
|
39
|
+
- **Toolbar:** When the toolbar data cannot be loaded (network error, 500, timeout), the bar shows
|
|
40
|
+
an error with a Retry button instead of staying empty, and a component that throws shows a
|
|
41
|
+
minimal error, with a Retry button, instead of blanking the whole toolbar.
|
|
42
|
+
- **Toolbar:** `Alt+P` (`Option+P` on macOS) now toggles the toolbar on every platform, as the
|
|
43
|
+
shortcut is matched on the physical key (`event.code`) and not on the character it produces.
|
|
44
|
+
- **Dashboard:** The copy buttons work over plain HTTP on a non-local address, where
|
|
45
|
+
`navigator.clipboard` does not exist, through a `document.execCommand('copy')` fallback, and
|
|
46
|
+
say so when copying is not available.
|
|
47
|
+
- **Toolbar:** The last rule of the toolbar CSS that was not scoped to the toolbar elements
|
|
48
|
+
(`.profiler-toggle-icon`) is now scoped, so that no style of the toolbar reaches the host page.
|
|
49
|
+
|
|
50
|
+
## [0.35.3] - 2026-10-17
|
|
51
|
+
|
|
52
|
+
<!-- stamped -->
|
|
53
|
+
|
|
54
|
+
### Changed
|
|
55
|
+
|
|
56
|
+
- **Assets:** The JavaScript and CSS bundles are minified: the toolbar script goes from 177 KB to
|
|
57
|
+
81 KB, the dashboard script from 447 KB to 222 KB and the stylesheet from 91 KB to 79 KB.
|
|
58
|
+
- **Toolbar:** The page interceptor script and the toolbar CSS are read and built once per
|
|
59
|
+
process instead of on every profiled page.
|
|
60
|
+
|
|
61
|
+
### Fixed
|
|
62
|
+
|
|
63
|
+
- **Toolbar:** The toolbar style and the embedded profile layout now carry the request's CSP
|
|
64
|
+
nonce. An application whose policy has `style-src 'nonce-...'` and no `'unsafe-inline'` no
|
|
65
|
+
longer blocks them; without a CSP, no nonce is added.
|
|
66
|
+
- **Assets:** The toolbar and dashboard files (`profiler.js`, `profiler.css`,
|
|
67
|
+
`profiler-toolbar.js`) are now requested as `?v=<digest of the content>` and served for a year
|
|
68
|
+
as immutable, so a browser keeps them between visits and still loads the new ones after an
|
|
69
|
+
upgrade of the gem. The URL without `?v=` still works and is cached for an hour, and an
|
|
70
|
+
asset that is not built still answers the 404 that names `yarn build:full`.
|
|
71
|
+
|
|
22
72
|
## [0.35.2] - 2026-10-17
|
|
23
73
|
|
|
24
74
|
<!-- stamped -->
|