source_monitor 0.12.1 → 0.12.2
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/.claude/skills/sm-upgrade/reference/version-history.md +9 -0
- data/CHANGELOG.md +5 -0
- data/Gemfile.lock +1 -1
- data/README.md +3 -3
- data/VERSION +1 -1
- data/app/controllers/source_monitor/import_sessions/health_check_management.rb +1 -1
- data/app/views/source_monitor/import_sessions/health_check/_row.html.erb +1 -1
- data/docs/setup.md +2 -2
- data/docs/upgrade.md +14 -0
- data/lib/source_monitor/import_sessions/health_check_broadcaster.rb +1 -1
- data/lib/source_monitor/import_sessions/health_check_updater.rb +2 -2
- data/lib/source_monitor/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: 5d486150a247d6426c77e40b7306301bd967eb1a80c72b41d34848e61dc80da9
|
|
4
|
+
data.tar.gz: e03c6a89c6489c5eebe80c92114eca5fd50c4392cb91fc8af6ab910bdf799f83
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 63bae750930fe17357756931c8c800f67583d57c64e45e3fc9617497b2b9deeef44faa9dedfe5d20d41724cba1710d8193d93fd4c308ad7c62b63ddccf24cb20
|
|
7
|
+
data.tar.gz: 5efdcf7a4ec4cc880f04d0df60f33ce3c488817682040ae49cc31a00f4107180c0c9e65fc6f72505abc182bc5b301f50dbad8c5dc3455252b01c593a34105b9f
|
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Version-specific migration notes for each major/minor version transition. Agents should reference this file when guiding users through multi-version upgrades.
|
|
4
4
|
|
|
5
|
+
## 0.12.1 to 0.12.2
|
|
6
|
+
|
|
7
|
+
**Key changes:**
|
|
8
|
+
- Bug fix: Health check status vocabulary aligned (`working`/`failing`) so progress counter updates correctly during OPML import
|
|
9
|
+
|
|
10
|
+
**Action items:**
|
|
11
|
+
1. `bundle update source_monitor`
|
|
12
|
+
2. No migrations, config changes, or breaking changes.
|
|
13
|
+
|
|
5
14
|
## 0.11.x to 0.12.0
|
|
6
15
|
|
|
7
16
|
**Key changes:**
|
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.12.2] - 2026-03-15
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
- Health check progress counter stuck at 0/N during OPML import — aligned status vocabulary (`working`/`failing`) across all consumers that previously expected `healthy`/`unhealthy`
|
|
22
|
+
|
|
18
23
|
## [0.12.1] - 2026-03-15
|
|
19
24
|
|
|
20
25
|
### Documentation
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -9,8 +9,8 @@ SourceMonitor is a production-ready Rails 8 mountable engine for ingesting, norm
|
|
|
9
9
|
In your host Rails app:
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
-
bundle add source_monitor --version "~> 0.12.
|
|
13
|
-
# or add `gem "source_monitor", "~> 0.12.
|
|
12
|
+
bundle add source_monitor --version "~> 0.12.2"
|
|
13
|
+
# or add `gem "source_monitor", "~> 0.12.2"` manually, then run:
|
|
14
14
|
bundle install
|
|
15
15
|
```
|
|
16
16
|
|
|
@@ -46,7 +46,7 @@ This exposes `bin/source_monitor` (via Bundler binstubs) so you can run the guid
|
|
|
46
46
|
Before running any SourceMonitor commands inside your host app, add the gem and install dependencies:
|
|
47
47
|
|
|
48
48
|
```bash
|
|
49
|
-
bundle add source_monitor --version "~> 0.12.
|
|
49
|
+
bundle add source_monitor --version "~> 0.12.2"
|
|
50
50
|
# or edit your Gemfile, then run
|
|
51
51
|
bundle install
|
|
52
52
|
```
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.12.
|
|
1
|
+
0.12.2
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<span class="inline-block h-2 w-2 rounded-full bg-green-500" aria-hidden="true"></span>
|
|
25
25
|
Working
|
|
26
26
|
</span>
|
|
27
|
-
<% when "
|
|
27
|
+
<% when "failing" %>
|
|
28
28
|
<div class="space-y-1">
|
|
29
29
|
<span class="inline-flex items-center gap-2 rounded-full bg-rose-100 px-2 py-1 text-xs font-semibold text-rose-800">
|
|
30
30
|
<span class="inline-block h-2 w-2 rounded-full bg-rose-500" aria-hidden="true"></span>
|
data/docs/setup.md
CHANGED
|
@@ -18,8 +18,8 @@ This guide consolidates the new guided installer, verification commands, and rol
|
|
|
18
18
|
Run these commands inside your host Rails application before invoking the guided workflow:
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
|
-
bundle add source_monitor --version "~> 0.12.
|
|
22
|
-
# or add gem "source_monitor", "~> 0.12.
|
|
21
|
+
bundle add source_monitor --version "~> 0.12.2"
|
|
22
|
+
# or add gem "source_monitor", "~> 0.12.2" to Gemfile manually
|
|
23
23
|
bundle install
|
|
24
24
|
```
|
|
25
25
|
|
data/docs/upgrade.md
CHANGED
|
@@ -69,6 +69,20 @@ bin/rails db:migrate
|
|
|
69
69
|
- New ViewComponents and presenters are available for custom view integration but are not required by default templates.
|
|
70
70
|
- `Item#restore!` is the symmetric counterpart to `soft_delete!` — it clears `deleted_at` and increments the source `items_count` counter cache.
|
|
71
71
|
|
|
72
|
+
### Upgrading to 0.12.2
|
|
73
|
+
|
|
74
|
+
**What changed:**
|
|
75
|
+
- Bug fix: Health check status vocabulary aligned (`working`/`failing`) across all components so the OPML import progress counter updates correctly instead of staying stuck at 0/N.
|
|
76
|
+
|
|
77
|
+
**Upgrade steps:**
|
|
78
|
+
```bash
|
|
79
|
+
bundle update source_monitor
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**Notes:**
|
|
83
|
+
- No breaking changes, migrations, or configuration changes required.
|
|
84
|
+
- This is a pure bug fix for OPML import progress reporting.
|
|
85
|
+
|
|
72
86
|
### Upgrading to 0.11.0
|
|
73
87
|
|
|
74
88
|
**What changed:**
|
|
@@ -39,7 +39,7 @@ module SourceMonitor
|
|
|
39
39
|
def progress_data
|
|
40
40
|
entries = health_entries
|
|
41
41
|
total = import_session.health_check_targets.size
|
|
42
|
-
completed = entries.count { |entry| %w[
|
|
42
|
+
completed = entries.count { |entry| %w[working failing].include?(entry[:health_status].to_s) }
|
|
43
43
|
|
|
44
44
|
{
|
|
45
45
|
completed: completed,
|
|
@@ -37,7 +37,7 @@ module SourceMonitor
|
|
|
37
37
|
)
|
|
38
38
|
|
|
39
39
|
selected_ids = Array(import_session.selected_source_ids).map(&:to_s)
|
|
40
|
-
selected_ids -= [ entry_id.to_s ] if result.status == "
|
|
40
|
+
selected_ids -= [ entry_id.to_s ] if result.status == "failing"
|
|
41
41
|
|
|
42
42
|
attrs = {
|
|
43
43
|
parsed_sources: entries,
|
|
@@ -87,7 +87,7 @@ module SourceMonitor
|
|
|
87
87
|
filtered = normalized.select { |entry| targets.include?(entry[:id]) }
|
|
88
88
|
return nil if filtered.empty?
|
|
89
89
|
|
|
90
|
-
completed = filtered.count { |entry| %w[
|
|
90
|
+
completed = filtered.count { |entry| %w[working failing].include?(entry[:health_status].to_s) }
|
|
91
91
|
completed >= filtered.size ? Time.current : nil
|
|
92
92
|
end
|
|
93
93
|
end
|