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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e0d26fb72eb0854e6e37aee98b4c2df2265b98de7428e4ccabf4de6a625ef594
4
- data.tar.gz: c7aa9a23afe14b6bcfa71433361478e1e7d36138dde44feda533db466689feb1
3
+ metadata.gz: 0a881ce47539838e01f1c118484b72ca112c5dd5abd87452113d3f74c4539746
4
+ data.tar.gz: 25c83eacccc50d1c54461ded048dab4b89a86bad71d6963e292af3e6f1cc49b2
5
5
  SHA512:
6
- metadata.gz: 9fbfa4a7f0abe945d847288a585ce8b1ed08b999634f754f5de178b6445c8a6f213593fda98b6bdb508742510242bdb091c9832b692879b5740c78a57f7219c4
7
- data.tar.gz: 99016e0f3e47ff0ab80db55f30042b49d4c8f2233731da5d4f56547735260d88222054ed443009a474cba39831144288337536c2f036456baab93e819d7541bb
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 true
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
- <div class="line"><span class="mr-2 text-right select-none text-gray-600"><%= n %></span><span><%= code %></span></div>
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 %>
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SolidErrors
4
- VERSION = "0.4.1"
4
+ VERSION = "0.4.3"
5
5
  end
data/lib/solid_errors.rb CHANGED
@@ -27,7 +27,7 @@ module SolidErrors
27
27
  end
28
28
 
29
29
  def send_emails?
30
- @send_emails ||= ENV["SOLIDERRORS_SEND_EMAILS"] || @@send_emails || true
30
+ @send_emails ||= ENV["SOLIDERRORS_SEND_EMAILS"] || @@send_emails || false
31
31
  end
32
32
 
33
33
  def email_from
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.1
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-04-09 00:00:00.000000000 Z
11
+ date: 2024-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionmailer