solid_errors 0.2.15 → 0.2.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/solid_errors/errors_controller.rb +1 -4
- data/app/views/layouts/solid_errors/application.html.erb +13 -2
- data/app/views/solid_errors/errors/_error.html.erb +4 -1
- data/app/views/solid_errors/errors/show.html.erb +9 -5
- data/app/views/solid_errors/occurrences/_occurrence.html.erb +2 -2
- data/config/routes.rb +2 -2
- data/lib/solid_errors/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 335f924071f33fa526763f11b5c6512824cfbc2b3f66e5d71a732c497a7fbaf0
|
4
|
+
data.tar.gz: 8300d7c0f0db903ca91edcb821ac476cd9ed786dcbf92814530ec6d826d6d75c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd452b7c2ca0b0673ef5924d0e7aae0764cae8fdbcaf14d0f5bb913238d23b1bfab4c16570687d90bfb091a45881ead9b6940777e849d21acb0806ccf14b99df
|
7
|
+
data.tar.gz: b30cad238e2afb5a4522d3c9dc6266e9276199389966b5a84b5a1d5db8123d8d41f62d7610946e7b98b91d1cd702e7420c8cf8df1ff29eaa0f95ec5aaa83cb10
|
@@ -6,13 +6,10 @@ module SolidErrors
|
|
6
6
|
def index
|
7
7
|
errors_table = Error.arel_table
|
8
8
|
occurrences_table = Occurrence.arel_table
|
9
|
-
recent_occurrence = occurrences_table
|
10
|
-
.project(occurrences_table[:created_at].maximum)
|
11
|
-
.as('recent_occurrence')
|
12
9
|
|
13
10
|
@errors = Error.unresolved
|
14
11
|
.joins(:occurrences)
|
15
|
-
.select(errors_table[Arel.star], recent_occurrence)
|
12
|
+
.select(errors_table[Arel.star], occurrences_table[:created_at].maximum.as('recent_occurrence'))
|
16
13
|
.group(errors_table[:id])
|
17
14
|
.order(recent_occurrence: :desc)
|
18
15
|
end
|
@@ -95,7 +95,8 @@
|
|
95
95
|
*/
|
96
96
|
|
97
97
|
abbr:where([title]) {
|
98
|
-
text-decoration: underline dotted;
|
98
|
+
-webkit-text-decoration: underline dotted;
|
99
|
+
text-decoration:underline dotted
|
99
100
|
}
|
100
101
|
|
101
102
|
/*
|
@@ -577,6 +578,12 @@
|
|
577
578
|
}
|
578
579
|
}
|
579
580
|
|
581
|
+
.bi {
|
582
|
+
fill: currentColor;
|
583
|
+
stroke-width: 0.5;
|
584
|
+
stroke: currentColor;
|
585
|
+
}
|
586
|
+
|
580
587
|
.sr-only{
|
581
588
|
position: absolute;
|
582
589
|
width: 1px;
|
@@ -623,6 +630,10 @@
|
|
623
630
|
margin-right: 0.5rem
|
624
631
|
}
|
625
632
|
|
633
|
+
.mt-4{
|
634
|
+
margin-top: 1rem
|
635
|
+
}
|
636
|
+
|
626
637
|
.min-h-full{
|
627
638
|
min-height: 100%
|
628
639
|
}
|
@@ -1068,7 +1079,7 @@
|
|
1068
1079
|
</style>
|
1069
1080
|
</head>
|
1070
1081
|
<body class="pb-4">
|
1071
|
-
<main class="container mx-auto mt-
|
1082
|
+
<main class="container mx-auto mt-4">
|
1072
1083
|
<%= content_for?(:content) ? yield(:content) : yield %>
|
1073
1084
|
</main>
|
1074
1085
|
|
@@ -14,7 +14,10 @@
|
|
14
14
|
<%= error.occurrences.size %>
|
15
15
|
</td>
|
16
16
|
<td scope="col" class="whitespace-nowrap px-3 py-4 pt-7 text-gray-500 text-right">
|
17
|
-
|
17
|
+
<% last_seen_at = error.occurrences.maximum(:created_at) %>
|
18
|
+
<abbr title="<%= last_seen_at.iso8601 %>" class="cursor-help">
|
19
|
+
<%= time_tag last_seen_at, time_ago_in_words(last_seen_at, scope: 'datetime.distance_in_words.short') %>
|
20
|
+
</abbr>
|
18
21
|
</td>
|
19
22
|
<td class="relative whitespace-nowrap py-4 pl-3 pr-4 text-right text-sm font-medium sm:pr-3">
|
20
23
|
<%= button_to error_path(error), method: :patch, class: "inline-flex items-center justify-center gap-2 font-medium cursor-pointer border rounded-lg py-3 px-5 bg-transparent text-blue-500 border-blue-500 hover:ring-blue-200 hover:ring-8", params: { error: { resolved_at: Time.now } } do %>
|
@@ -74,20 +74,24 @@
|
|
74
74
|
<em><%= @error.source %></em>
|
75
75
|
</dd>
|
76
76
|
</div>
|
77
|
-
<div class="flex items-
|
77
|
+
<div class="flex items-start justify-between flex-wrap gap-x-2">
|
78
78
|
<dt class="font-bold">
|
79
79
|
<%= SolidErrors::Error.human_attribute_name(:project_root) %>
|
80
80
|
</dt>
|
81
|
-
<dd class="
|
81
|
+
<dd class="">
|
82
82
|
<span><%= SolidErrors::BacktraceLine::RAILS_ROOT %></span>
|
83
83
|
</dd>
|
84
84
|
</div>
|
85
|
-
<div class="flex items-
|
85
|
+
<div class="flex items-start justify-between flex-wrap gap-x-2">
|
86
86
|
<dt class="font-bold">
|
87
87
|
<%= SolidErrors::Error.human_attribute_name(:gem_root) %>
|
88
88
|
</dt>
|
89
|
-
<dd class="
|
90
|
-
<
|
89
|
+
<dd class="">
|
90
|
+
<ul>
|
91
|
+
<% Gem.path.each do |path| %>
|
92
|
+
<li><%= path %></li>
|
93
|
+
<% end %>
|
94
|
+
</ul>
|
91
95
|
</dd>
|
92
96
|
</div>
|
93
97
|
</dl>
|
@@ -27,9 +27,9 @@
|
|
27
27
|
<% backtrace.lines.each_with_index do |line, i| %>
|
28
28
|
<%= tag.details open: line.application? || i.zero? do %>
|
29
29
|
<summary class="hover:bg-gray-50 px-2 py-1 rounded cursor-pointer">
|
30
|
-
<span class="text-gray-500"><%= File.dirname(line.filtered_file) %>/</span><span class="text-blue-500"><%= File.basename(line.filtered_file) %></span>:<span class="text-gray-900"><%= line.filtered_number %></span>
|
30
|
+
<span class="text-gray-500"><%= File.dirname(line.filtered_file) %>/</span><span class="text-blue-500 font-medium"><%= File.basename(line.filtered_file) %></span>:<span class="text-gray-900 font-medium"><%= line.filtered_number %></span>
|
31
31
|
<span class="text-gray-500">in</span>
|
32
|
-
<code class="text-green-500"><%= line.filtered_method %></code>
|
32
|
+
<code class="text-green-500 font-medium"><%= line.filtered_method %></code>
|
33
33
|
</summary>
|
34
34
|
<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| %>
|
35
35
|
<div class="line"><span class="mr-2 text-right select-none text-gray-600"><%= n %></span><span><%= code %></span></div>
|
data/config/routes.rb
CHANGED
data/lib/solid_errors/version.rb
CHANGED