hiiro 0.1.308.pre.5 → 0.1.308.pre.6

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: 7ab5e6033c3179aacd65ec20eb35122461384973a4bd1103494958edfdb7773b
4
- data.tar.gz: e52ed7dc0f7771797512f1ff0cbedae05e41f6fece6a35426ac1343ca84ef3f0
3
+ metadata.gz: c2e93dab3f776838c51b113721effb0ac86a0cbc20dd9a61742004d5a5335a6e
4
+ data.tar.gz: a1ae67e29ac11aec8f3e476dbd708cf7ec3d5b85967d78a1565c3df193af4a1d
5
5
  SHA512:
6
- metadata.gz: 23242e18c15ef45d0da7be6d575862d92f4074f40bf048aad61568212c3d033baa9cb9660a3e63c830f11f146608cc2de901a15acc812926fb9f53081f07b990
7
- data.tar.gz: 77e00d3209509c78763df53000a69fa5728bdafee5a64f29f8d8e3f3380d3e6594a2564dbbb15424b3767179830a00eb61ebc46c8660f31bf2568d2bc434e0bb
6
+ metadata.gz: bea26329f94d13d1806fb90603b9c23c7f41dd42eb1e954ba8d6c6a4bd2f8e9ed88e80770314e4b3a6ec0223115f9a82ae633e547e4252ba2b84626ff3dee6dd
7
+ data.tar.gz: 36c1711d34c509e4070aed248c030601a87801a02e8a15aa2ad806ed475d1e2f8792b30903c35ea3a513ed479db5ec903ca95a1bf099285840ae5453bc64fa15
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  ```markdown
2
2
  # Changelog
3
3
 
4
+ ## [0.1.308.pre.6] - 2026-03-31
5
+
6
+ ### Fixed
7
+ - Prevent duplicate pinned_prs during import with `insert_conflict` and per-row rescue
8
+
4
9
  ## [0.1.308.pre.5] - 2026-03-31
5
10
 
6
11
  ### Added
data/lib/hiiro/db.rb CHANGED
@@ -264,12 +264,16 @@ class Hiiro
264
264
  record['pinned'] = true
265
265
  next if record.empty?
266
266
 
267
- connection[:prs].insert(record)
267
+ begin
268
+ connection[:prs].insert_conflict(target: :number).insert(record)
268
269
 
269
- # Populate check_runs table from check_runs_json if present
270
- if (runs_json = record['check_runs_json'])
271
- runs = ::JSON.parse(runs_json) rescue nil
272
- Hiiro::CheckRun.upsert_for_pr(record['number'], runs) if runs && record['number']
270
+ # Populate check_runs table from check_runs_json if present
271
+ if (runs_json = record['check_runs_json'])
272
+ runs = ::JSON.parse(runs_json) rescue nil
273
+ Hiiro::CheckRun.upsert_for_pr(record['number'], runs) if runs && record['number']
274
+ end
275
+ rescue => e
276
+ warn "Hiiro::DB: skipping pinned_pr #{record['number']} (#{e.class}: #{e.message.lines.first&.strip})"
273
277
  end
274
278
  end
275
279
  bak(path)
data/lib/hiiro/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Hiiro
2
- VERSION = "0.1.308.pre.5"
2
+ VERSION = "0.1.308.pre.6"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hiiro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.308.pre.5
4
+ version: 0.1.308.pre.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua Toyota