source_monitor 0.11.0 → 0.11.1

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: 522d0a31c2068abc659c59ab47fb1b96cd4855729257a823aa08877c3593552c
4
- data.tar.gz: 0e4278b1f628e7439befb9433f67618eb587f8f24860eef2e5f7db92207affd7
3
+ metadata.gz: 9f700fdb3be3b317a91a05f04e32cd285fcb13d1acb39d3a79fb5da1da4781a0
4
+ data.tar.gz: 5304f346c91cb7435663e2d8cef0f12743c334d1218cf2f6fb830df127a404ba
5
5
  SHA512:
6
- metadata.gz: 65e8e108bb043d0065a0fed294f02d5b3d232ceab7b9bb153ba1d3130cdad8ae5dfd1b0aa6a3d9c7bd172dfbd593bfc015a2d9b6b5c665435452586ed2209ba0
7
- data.tar.gz: e691d60468521daccab51c9ae8a71ddfbb695edbc62df88401a93252250de68cfd9a36d33e3792ce3026d4e9a666fb2be8b8707b3910e83f2c21efa2cd32c2da
6
+ metadata.gz: 9689c88dc3dd352c86d91dc2e48a1555e9f2fd8cdde11ba20288532ae3287994fd844ab07dbda5e63fc4435dca9f5900008efb9fbf4d394d5dcfc2b139e5bbb1
7
+ data.tar.gz: 99850f35657ee948728143e17f07c69ebe4591a41612cbe3ae637113d1ec2a5f7c569158a350eaf6c5f3f05e0024103a013f3ec479210f0efa291db8841b399c
data/CHANGELOG.md CHANGED
@@ -15,6 +15,11 @@ All notable changes to this project are documented below. The format follows [Ke
15
15
 
16
16
  - No unreleased changes yet.
17
17
 
18
+ ## [0.11.1] - 2026-03-13
19
+
20
+ ### Fixed
21
+ - Dashboard health status chips (Working/Failing) no longer duplicate when the page is left open — the Turbo Stream target now wraps the entire stats partial for atomic replacement
22
+
18
23
  ## [0.11.0] - 2026-03-13
19
24
 
20
25
  ### Breaking Changes
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- source_monitor (0.11.0)
4
+ source_monitor (0.11.1)
5
5
  cssbundling-rails (~> 1.4)
6
6
  faraday (~> 2.9)
7
7
  faraday-follow_redirects (~> 0.4)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.11.0
1
+ 0.11.1
@@ -1,28 +1,30 @@
1
- <div id="source_monitor_dashboard_stats" class="grid gap-5 sm:grid-cols-2 xl:grid-cols-5">
2
- <%= render partial: "stat_card", collection: [
3
- { label: "Sources", value: stats[:total_sources], caption: "Total registered" },
4
- { label: "Active", value: stats[:active_sources], caption: "Fetching on schedule" },
5
- { label: "Failures", value: stats[:failed_sources], caption: "Require attention" },
6
- { label: "Items", value: stats[:total_items], caption: "Stored entries" },
7
- { label: "Fetches Today", value: stats[:fetches_today], caption: "Completed runs" }
8
- ], locals: { stats: stats } %>
9
- </div>
10
-
11
- <% if stats[:health_distribution]&.values&.any? { |v| v > 0 } %>
12
- <div id="source_monitor_dashboard_health_distribution" class="mt-4 flex flex-wrap items-center gap-2">
13
- <%
14
- health_colors = {
15
- "working" => "bg-green-100 text-green-700",
16
- "declining" => "bg-yellow-100 text-yellow-700",
17
- "improving" => "bg-sky-100 text-sky-700",
18
- "failing" => "bg-rose-100 text-rose-700"
19
- }
20
- %>
21
- <% stats[:health_distribution].each do |status, count| %>
22
- <% next if count == 0 %>
23
- <span class="inline-flex items-center gap-1 rounded-full px-3 py-1 text-xs font-semibold <%= health_colors[status] %>">
24
- <%= status.capitalize %> <span class="font-bold"><%= count %></span>
25
- </span>
26
- <% end %>
1
+ <div id="source_monitor_dashboard_stats">
2
+ <div class="grid gap-5 sm:grid-cols-2 xl:grid-cols-5">
3
+ <%= render partial: "stat_card", collection: [
4
+ { label: "Sources", value: stats[:total_sources], caption: "Total registered" },
5
+ { label: "Active", value: stats[:active_sources], caption: "Fetching on schedule" },
6
+ { label: "Failures", value: stats[:failed_sources], caption: "Require attention" },
7
+ { label: "Items", value: stats[:total_items], caption: "Stored entries" },
8
+ { label: "Fetches Today", value: stats[:fetches_today], caption: "Completed runs" }
9
+ ], locals: { stats: stats } %>
27
10
  </div>
28
- <% end %>
11
+
12
+ <% if stats[:health_distribution]&.values&.any? { |v| v > 0 } %>
13
+ <div class="mt-4 flex flex-wrap items-center gap-2">
14
+ <%
15
+ health_colors = {
16
+ "working" => "bg-green-100 text-green-700",
17
+ "declining" => "bg-yellow-100 text-yellow-700",
18
+ "improving" => "bg-sky-100 text-sky-700",
19
+ "failing" => "bg-rose-100 text-rose-700"
20
+ }
21
+ %>
22
+ <% stats[:health_distribution].each do |status, count| %>
23
+ <% next if count == 0 %>
24
+ <span class="inline-flex items-center gap-1 rounded-full px-3 py-1 text-xs font-semibold <%= health_colors[status] %>">
25
+ <%= status.capitalize %> <span class="font-bold"><%= count %></span>
26
+ </span>
27
+ <% end %>
28
+ </div>
29
+ <% end %>
30
+ </div>
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SourceMonitor
4
- VERSION = "0.11.0"
4
+ VERSION = "0.11.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: source_monitor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.11.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - dchuk