bible270 1.1.5 → 1.1.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: 1a655ad0a130cd6a4106374efb885fa76856b7f93c7fc05284062648a330125e
4
- data.tar.gz: d23e6b7180c152f1b452e6eac5db9523f0e8cb7683ee50492fc8bbdc00d271cb
3
+ metadata.gz: 323ea67db4332521a07129d64ca3b1e4f6405ba0d87352f14db5dcbcbbe675c7
4
+ data.tar.gz: b60e969effcc93b68b95c29e8054aae754a41210641146ce526eefd6d28e0229
5
5
  SHA512:
6
- metadata.gz: 791373f6597dde62c9a6ce8eaab3251868f4b19bbf24615fec46613ebab7e918e4f90e3eb8f318ed85502b1a769eb71c7290adb4973f17d3400eb411d2664202
7
- data.tar.gz: 71b588c2a184a1939ee9c7c79dce661fcc017e2199ea732e334ebc2ba49412ec3bfcd029880e4cdffe64724c21d33a5e157c7f9dc886feda1d583f9b56e64db4
6
+ metadata.gz: 799b578048236367edd22c1b75e3c62d9c2b24a8dce6d28174695954a465d97ddffb75164d790b207d7aaca3d225a2a8f1f00e6e2d932cfd90b9824277c53f7d
7
+ data.tar.gz: 6c7c718e5e2c3b434090eb38481371ec0a63399769d0d54ded50fbee47de914bcbd5fe49605169b7a81b012f979826333d28b2aa349e8392955bd9567187a49c
data/CHANGELOG.md CHANGED
@@ -6,13 +6,36 @@ All notable changes to bible270. Format follows [Keep a Changelog](https://keepa
6
6
 
7
7
  ### Changed
8
8
 
9
- - reuse one dedicated browser tab for Bible Gateway and Blue Letter Bible Scripture links instead of opening an unlimited series of tabs
9
+ - show administrators a quiet, linked completed-day count on Community reader rows while keeping progress hidden—and its aggregate query skipped—for ordinary readers and visitors
10
+
11
+ **[Full Changelog](https://github.com/avonderluft/bible270/compare/v1.1.5...main)**
12
+
13
+ ## [1.1.5] - 2026-08-25
14
+
15
+ ### Changed
16
+
17
+ - keep Bible270 open while using one Scripture tab for Bible Gateway and Blue Letter Bible: desktop browsers reuse the existing tab, while iOS Safari replaces its background tab so each click reliably switches to the reading
18
+ - centralize daily-reading and Reflections Scripture anchors in one passage-link helper with secure no-JavaScript fallback behavior
10
19
 
11
20
  ### Removed
12
21
 
13
22
  - remove the unused `passage_url_builder` configuration hook; Bible Gateway and Blue Letter Bible are now the intentionally fixed passage providers
14
23
 
15
- **[Full Changelog](https://github.com/avonderluft/bible270/compare/v1.1.3...main)**
24
+ **[Full Changelog](https://github.com/avonderluft/bible270/compare/v1.1.4...v1.1.5)**
25
+
26
+ ## [1.1.4] - 2026-08-24
27
+
28
+ ### Added
29
+
30
+ - let administrators persistently override the current run start date, see which readers are affected, and reset to the configured date without changing check-offs or reflections
31
+
32
+ ### Changed
33
+
34
+ - link reader avatars in Admin to the same reader-management pages as their names
35
+ - show a signed-in reader's effective plan start date beside Home progress without repeating it on My Progress
36
+ - increase the default parallel test workers to six while retaining `PARALLEL_WORKERS` for constrained systems
37
+
38
+ **[Full Changelog](https://github.com/avonderluft/bible270/compare/v1.1.3...v1.1.4)**
16
39
 
17
40
  ## [1.1.3] - 2026-08-23
18
41
 
@@ -529,6 +552,8 @@ This is the initial public release.
529
552
 
530
553
  * Email sign-in requires working Action Mailer delivery in the host application. Set `config.mailer_from`; delivery is inline by default, or set `email_sign_in_deliver_later` when a queue backend is available.
531
554
 
555
+ [1.1.5]: https://github.com/avonderluft/bible270/releases/tag/v1.1.5
556
+ [1.1.4]: https://github.com/avonderluft/bible270/releases/tag/v1.1.4
532
557
  [1.1.3]: https://github.com/avonderluft/bible270/releases/tag/v1.1.3
533
558
  [1.1.2]: https://github.com/avonderluft/bible270/releases/tag/v1.1.2
534
559
  [1.1.1]: https://github.com/avonderluft/bible270/releases/tag/v1.1.1
@@ -62,9 +62,7 @@ module Bible270
62
62
  @shared_calendar_readers = @readers.size
63
63
  @personal_calendar_readers = 0
64
64
  end
65
- counts = Checkoff.group(:reader_id, :day).count
66
- @days_completed = Hash.new(0)
67
- counts.each { |(rid, day), n| @days_completed[rid] += 1 if n >= Plan.total_parts(day) }
65
+ @days_completed = Reader.completed_days_by_id
68
66
  @reachable = Reader.where.not(email: [nil, '']).count
69
67
  @last_broadcast_at = parsed_time(Setting.read(LAST_BROADCAST_AT))
70
68
  @last_broadcast_subject = Setting.read(LAST_BROADCAST_SUBJECT)
@@ -6,6 +6,8 @@ module Bible270
6
6
  # Community is a directory of fellow readers, not a leaderboard. Keep the
7
7
  # order predictable without implying that progress determines standing.
8
8
  @readers = Reader.all.to_a.sort_by(&:sort_name)
9
+ @show_admin_progress = Bible270.config.admin?(current_reader)
10
+ @days_completed = Reader.completed_days_by_id if @show_admin_progress
9
11
  end
10
12
 
11
13
  # The reader's own progress. Deliberately open to visitors: the panel shows an
@@ -55,6 +55,12 @@ module Bible270
55
55
  value.to_s.match?(DAILY_REMINDER_TIME_FORMAT)
56
56
  end
57
57
 
58
+ def self.completed_days_by_id
59
+ Checkoff.group(:reader_id, :day).count.each_with_object(Hash.new(0)) do |((reader_id, day), done), totals|
60
+ totals[reader_id] += 1 if done >= Plan.total_parts(day)
61
+ end
62
+ end
63
+
58
64
  def self.reflections_seen_column?
59
65
  column_names.include?(REFLECTIONS_SEEN_COLUMN)
60
66
  rescue ActiveRecord::StatementInvalid
@@ -10,7 +10,12 @@
10
10
  <%= link_to b270_avatar(r, size: 72), reader_path(r), "aria-label": r.display_name %>
11
11
  <div>
12
12
  <div class="name"><%= link_to r.display_name, reader_path(r), style: "text-decoration:none" %></div>
13
- <div class="sub">joined <%= Bible270.local_time(r.created_at).strftime("%b %-d %Y") %></div>
13
+ <div class="sub">
14
+ joined <%= Bible270.local_time(r.created_at).strftime("%b %-d %Y") %><% if @show_admin_progress %>
15
+ · <%= link_to "#{@days_completed[r.id]} of #{Bible270::Plan::DAYS} days complete",
16
+ admin_reader_path(r), class: "b270-admin-progress" %>
17
+ <% end %>
18
+ </div>
14
19
  </div>
15
20
  </div>
16
21
  <% end %>
@@ -259,6 +259,8 @@
259
259
  .b270-li+.b270-li{border-top:1px solid var(--line-soft)}
260
260
  .b270-li .name{font-weight:600}
261
261
  .b270-li .sub{font-size:12.5px;color:var(--faint)}
262
+ .b270-li .b270-admin-progress{text-decoration:none}
263
+ .b270-li .b270-admin-progress:hover,.b270-li .b270-admin-progress:focus-visible{color:var(--gold)}
262
264
  .b270-li .stat{margin-left:auto;text-align:right}
263
265
  .b270-li .stat .big{font-family:"Spectral",serif;font-size:20px;font-weight:600}
264
266
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bible270
4
- VERSION = '1.1.5'
4
+ VERSION = '1.1.6'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bible270
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.5
4
+ version: 1.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew vonderLuft