solid_errors 0.4.1 → 0.4.3
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/README.md +6 -1
- data/app/controllers/solid_errors/errors_controller.rb +1 -1
- data/app/views/layouts/solid_errors/_style.html +4 -0
- data/app/views/solid_errors/errors/_row.html.erb +1 -1
- data/app/views/solid_errors/occurrences/_collection.html.erb +2 -1
- data/app/views/solid_errors/occurrences/_occurrence.html.erb +3 -3
- data/lib/solid_errors/version.rb +1 -1
- data/lib/solid_errors.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a881ce47539838e01f1c118484b72ca112c5dd5abd87452113d3f74c4539746
|
4
|
+
data.tar.gz: 25c83eacccc50d1c54461ded048dab4b89a86bad71d6963e292af3e6f1cc49b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0adf72d51727ed89a8d8cc27d9145cbfc4e95e7d16d951a5c3849405ab957d6633ffdf84787c492cfb10a37efaf674ed75480404a18640e46e56498c1179b307
|
7
|
+
data.tar.gz: beaedce40a2d77577b2c8dc27fc0dd228f39c8d6090510a55538e92a144e845ec781f01d5bc093405c2d493c8d41f470ada4502eaee2582d7ba5c8c80c2ead84
|
data/README.md
CHANGED
@@ -27,6 +27,11 @@
|
|
27
27
|
|
28
28
|
Solid Errors is a DB-based, app-internal exception tracker for Rails applications, designed with simplicity and performance in mind. It uses the new [Rails error reporting API](https://guides.rubyonrails.org/error_reporting.html) to store uncaught exceptions in the database, and provides a simple UI for viewing and managing exceptions.
|
29
29
|
|
30
|
+
> [!WARNING]
|
31
|
+
> The current point release of Rails (7.1.3.2) has a bug which severely limits the utility of Solid Errors. Exceptions raised during a web request *are not* reported to Rails' error reporter. There is a fix in the `main` branch, but it has not been released in a new point release. As such, Solid Errors is **not** production-ready unless you are running Rails from the `main` branch or until a new point version is released and you upgrade.
|
32
|
+
> The original bug report can be found [here](https://github.com/rails/rails/issues/51002) and the pull request making the fix is [here](https://github.com/rails/rails/pull/51050). I will try to backport the fix into the gem directly, but I haven't quite figured it out yet.
|
33
|
+
|
34
|
+
|
30
35
|
## Installation
|
31
36
|
|
32
37
|
Install the gem and add to the application's Gemfile by executing:
|
@@ -127,7 +132,7 @@ Solid Errors _can_ send email notifications whenever an error occurs, if your ap
|
|
127
132
|
There are two ways to configure email notifications. First, you can use environment variables:
|
128
133
|
|
129
134
|
```ruby
|
130
|
-
ENV["SOLIDERRORS_SEND_EMAILS"] = true # defaults to
|
135
|
+
ENV["SOLIDERRORS_SEND_EMAILS"] = true # defaults to false
|
131
136
|
ENV["SOLIDERRORS_EMAIL_FROM"] = "errors@myapp.com" # defaults to "solid_errors@noreply.com"
|
132
137
|
ENV["SOLIDERRORS_EMAIL_TO"] = "devs@myapp.com" # no default, must be set
|
133
138
|
```
|
@@ -21,7 +21,7 @@ module SolidErrors
|
|
21
21
|
# GET /errors/1
|
22
22
|
def show
|
23
23
|
@page = Page.new(@error.occurrences, params)
|
24
|
-
@occurrences = @error.occurrences.offset(@page.offset).limit(@page.items)
|
24
|
+
@occurrences = @error.occurrences.offset(@page.offset).limit(@page.items).order(created_at: :desc)
|
25
25
|
end
|
26
26
|
|
27
27
|
# PATCH/PUT /errors/1
|
@@ -807,6 +807,10 @@
|
|
807
807
|
background-color: rgb(243 244 246 / var(--tw-bg-opacity))
|
808
808
|
}
|
809
809
|
|
810
|
+
.bg-gray-600\/50{
|
811
|
+
background-color: rgb(75 85 99 / 0.5);
|
812
|
+
}
|
813
|
+
|
810
814
|
.bg-green-50{
|
811
815
|
--tw-bg-opacity: 1;
|
812
816
|
background-color: rgb(240 253 244 / var(--tw-bg-opacity))
|
@@ -14,7 +14,7 @@
|
|
14
14
|
<%= error.occurrences_count %>
|
15
15
|
</td>
|
16
16
|
<td scope="col" class="whitespace-nowrap px-3 py-4 pt-7 text-gray-500 text-right">
|
17
|
-
<% last_seen_at = DateTime.strptime(error.recent_occurrence, "%Y-%m-%d %H:%M:%S.%N") %>
|
17
|
+
<% last_seen_at = error.recent_occurrence.is_a?(String) ? DateTime.strptime(error.recent_occurrence, "%Y-%m-%d %H:%M:%S.%N") : error.recent_occurrence %>
|
18
18
|
<abbr title="<%= last_seen_at.iso8601 %>" class="cursor-help">
|
19
19
|
<%= time_tag last_seen_at, time_ago_in_words(last_seen_at, scope: 'datetime.distance_in_words.short') %>
|
20
20
|
</abbr>
|
@@ -49,7 +49,8 @@
|
|
49
49
|
|
50
50
|
<div class="min-w-full">
|
51
51
|
<% if occurrences.any? %>
|
52
|
-
<%= render occurrences
|
52
|
+
<%= render partial: "solid_errors/occurrences/occurrence",
|
53
|
+
collection: occurrences, as: :occurrence %>
|
53
54
|
<% else %>
|
54
55
|
<div class="flex items-center justify-center gap-2">
|
55
56
|
<%= bootstrap_svg "list-ul" %>
|
@@ -33,11 +33,11 @@
|
|
33
33
|
<span class="text-gray-500">in</span>
|
34
34
|
<code class="text-green-500 font-medium"><%= line.filtered_method %></code>
|
35
35
|
<% else %>
|
36
|
-
<span class="text-gray-500"><%= line.unparsed_line
|
36
|
+
<span class="text-gray-500"><%= line.unparsed_line %></span>
|
37
37
|
<% end %>
|
38
38
|
</summary>
|
39
|
-
<div><pre class="flex overflow-auto rounded-b-lg bg-slate-800 p-4 text-sm leading-normal text-white sm:rounded-t-lg"><code class="flex flex-col min-h-full min-w-content px-0"><% line.source.each do |n, code| %>
|
40
|
-
|
39
|
+
<div><pre class="flex overflow-auto rounded-b-lg bg-slate-800 p-4 text-sm leading-normal text-white sm:rounded-t-lg"><code class="flex flex-1 flex-col min-h-full min-w-content px-0"><% line.source.each do |n, code| %>
|
40
|
+
<div class="line <%= n == line.filtered_number.to_i ? 'bg-gray-600/50' : '' %>"><span class="mr-2 text-right select-none text-gray-600"><%= n %></span><span><%= code %></span></div>
|
41
41
|
<% end %></code></pre></div>
|
42
42
|
<% end %>
|
43
43
|
<% end %>
|
data/lib/solid_errors/version.rb
CHANGED
data/lib/solid_errors.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solid_errors
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen Margheim
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionmailer
|