bible270 1.1.2 → 1.1.3

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: 5c5bfb6b7074375f7d7d3bbd69b10c9da92adf410f2a031fe1dea4dbb39f1eb2
4
- data.tar.gz: 89f755b1b9d853198b58ba8118a58f6c8780dc9321ea56e2c6216993419bbc6b
3
+ metadata.gz: 45fdbb1df9bc7d830bbaf95bf41a49c0bb027faeb5a98da183b5baeda39c30fe
4
+ data.tar.gz: 844cc4dfb784a197321910c5a606e092e57f0a0437890a8cbe1c4bcbe30c146a
5
5
  SHA512:
6
- metadata.gz: 3c28bd93672a533afa90873e5d7dc20e2fadd908338c2a29c86f093c19b68869dfae6b99032bdc1f514a03720bd64348c30bb21c80b81ae8d4244d750bdbcf31
7
- data.tar.gz: a1cb8d911339bbbef9aebcca715a42cad25035e82c424e044aa0fed9ca2c6d3db5cac6ec7a490cb576eea4895c235c302150c60c60d16582a2e3bb756757191d
6
+ metadata.gz: b9c688571b688a9fd9cba621bd3bb816561751af80d59568ba7f54df5598bbd6543efbf28bac976c57deb1d390f7440aad08d9fc51ecc7e047563a85554cf266
7
+ data.tar.gz: f5ffea7599e4526ea4f6184bafb0b7253a5c86ef24a0adf8781abccc410d8135b96781b3b079b856699272a02b6a6ce95c6f6a699fa3864e6ffd9331cc521fc6
data/CHANGELOG.md CHANGED
@@ -4,27 +4,47 @@ All notable changes to bible270. Format follows [Keep a Changelog](https://keepa
4
4
 
5
5
  ## Unreleased Changes
6
6
 
7
- ### Removed
7
+ **[Full Changelog](https://github.com/avonderluft/bible270/compare/v1.1.2...main)**
8
8
 
9
- - remove the Compact reading preference so daily reading pages have one simple, predictable presentation
10
- - replace the homepage reader preview with one clear link to the Community page
11
- - remove the redundant schedule-restart shortcut from progress recovery choices
12
- - remove reader-facing start-date status, controls, and self-service endpoints while retaining automatic and admin-managed personal calendars
13
- - remove weekly progress, its unused schedule helper, milestones, and explanatory schedule-recovery copy from My Progress
14
- - replace the Reflections page’s separate day grid with the standard “View all 270 days” control
9
+ ## [1.1.2] - 2026-08-22
10
+
11
+ ### Changed
12
+
13
+ - include complete 1.1.0 and 1.1.1 release history in the packaged changelog
14
+
15
+ **[Full Changelog](https://github.com/avonderluft/bible270/compare/v1.1.1...v1.1.2)**
16
+
17
+ ## [1.1.1] - 2026-08-22
18
+
19
+ ### Fixed
20
+
21
+ - make the mobile navigation menu toggle reliably on iOS Safari by relying on native `details` disclosure behavior instead of overriding it with JavaScript
22
+
23
+ **[Full Changelog](https://github.com/avonderluft/bible270/compare/v1.1.0...v1.1.1)**
24
+
25
+ ## [1.1.0] - 2026-08-22
15
26
 
16
27
  ### Changed
17
28
 
18
29
  - notify reflection authors directly about replies, share one opt-out with explicit mentions, and stop inserting handles into reply text
19
30
  - consolidate duplicate visitor sign-in prompts on day pages into one invitation
20
31
  - show “Finish what you started” on My Progress only when partially read days need attention
21
- - clarify the global day-index control as “View all 270 days” and use that standard collapsed control on My Progress
32
+ - clarify the global day-index control as “View all 270 days” and use that standard collapsed control on My Progress and public reader pages
33
+ - redirect successful Profile updates back to Profile
34
+ - simplify Community listings to linked reader names and avatars with full joined dates instead of progress counts
35
+ - remove account-specific reflection messaging from the signed-out Progress page
36
+ - simplify header, Reflections, and empty day-page framing while retaining the primary actions and information
22
37
 
23
- ### Fixed
38
+ ### Removed
24
39
 
25
- - make the mobile navigation menu reliably open and close when its button is tapped
40
+ - remove the Compact reading preference so daily reading pages have one simple, predictable presentation
41
+ - replace the homepage reader preview with one clear link to the Community page
42
+ - remove the redundant schedule-restart shortcut from progress recovery choices
43
+ - remove reader-facing start-date status, controls, and self-service endpoints while retaining automatic and admin-managed personal calendars
44
+ - remove weekly progress, its unused schedule helper, milestones, and explanatory schedule-recovery copy from My Progress
45
+ - replace the Reflections page’s separate day grid with the standard “View all 270 days” control
26
46
 
27
- **[Full Changelog](https://github.com/avonderluft/bible270/compare/v1.0.0...main)**
47
+ **[Full Changelog](https://github.com/avonderluft/bible270/compare/v1.0.0...v1.1.0)**
28
48
 
29
49
  ## [1.0.0] - 2026-08-20
30
50
 
@@ -488,6 +508,9 @@ This is the initial public release.
488
508
 
489
509
  * 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.
490
510
 
511
+ [1.1.2]: https://github.com/avonderluft/bible270/releases/tag/v1.1.2
512
+ [1.1.1]: https://github.com/avonderluft/bible270/releases/tag/v1.1.1
513
+ [1.1.0]: https://github.com/avonderluft/bible270/releases/tag/v1.1.0
491
514
  [1.0.0]: https://github.com/avonderluft/bible270/releases/tag/v1.0.0
492
515
  [0.19.0]: https://github.com/avonderluft/bible270/releases/tag/v0.19.0
493
516
  [0.18.2]: https://github.com/avonderluft/bible270/releases/tag/v0.18.2
data/README.md CHANGED
@@ -334,7 +334,9 @@ Bible270::Plan.before_start?(date, start)
334
334
 
335
335
  Daily reminders are optional at both levels: the host enables the feature, then each reader chooses
336
336
  whether to receive it and at what local time from their profile. The feature and reader opt-in both
337
- default to off; each reader's time defaults to `08:00`.
337
+ default to off; each reader's time defaults to `08:00`. Profile times use quarter-hour choices so they
338
+ match the recommended 15-minute scheduler interval. An existing off-quarter preference remains
339
+ available until that reader chooses a new time.
338
340
 
339
341
  ```ruby
340
342
  # config/initializers/bible270.rb
@@ -354,9 +356,27 @@ recurring-job system:
354
356
  bin/rails bible270:reminders:send
355
357
  ```
356
358
 
357
- Each run converts `Time.now` through `Bible270.local_time`, waits until each reader's chosen `HH:MM`
358
- time, sends inline with `deliver_now`, and prints the number delivered. Set `config.time_zone` when the
359
- plan should not follow the server's local clock. Running periodically is safe because delivery is
359
+ For a host cron job, open the crontab with `crontab -e` under the same account that runs the application
360
+ and add a line like this, using the absolute application path:
361
+
362
+ ```cron
363
+ */15 * * * * cd /absolute/path/to/application && RAILS_ENV=production bin/rails bible270:reminders:send >> /absolute/path/to/application/log/bible270-reminders.log 2>&1
364
+ ```
365
+
366
+ For Docker Compose, run `pwd` in the directory containing the Compose file and `command -v docker` to
367
+ find the two absolute paths, then use the same host account that can run Docker:
368
+
369
+ ```cron
370
+ */15 * * * * cd /absolute/path/to/application && /usr/bin/docker compose exec -T rails bin/rails bible270:reminders:send >> /absolute/path/to/application/log/bible270-reminders.log 2>&1
371
+ ```
372
+
373
+ The `-T` is required because cron has no interactive terminal. Confirm the saved entry with `crontab -l`
374
+ and check `log/bible270-reminders.log` after the next interval. Run one scheduler per database; several
375
+ web containers sharing a database must not each run the task.
376
+
377
+ Each run converts `Time.now` through `Bible270.local_time`, waits until the first scheduler run at or
378
+ after each reader's chosen time, sends inline with `deliver_now`, and prints the number delivered. Set
379
+ `config.time_zone` when the plan should not follow the server's local clock. Running periodically is
360
380
  idempotent once per local date: readers already marked for that date are skipped. Undated readers,
361
381
  calendar dates before or after their plan, completed days, blank email addresses, and readers who have
362
382
  not opted in are also skipped. A failure for one reader is logged and does not stop the rest. The sent
@@ -28,6 +28,7 @@ module Bible270
28
28
  PASSAGE_SOURCES = %w[bible_gateway blue_letter_bible].freeze
29
29
  DEFAULT_PASSAGE_SOURCE = 'bible_gateway'
30
30
  DAILY_REMINDER_TIME_FORMAT = %r{\A(?:[01]\d|2[0-3]):[0-5]\d\z}
31
+ DAILY_REMINDER_MINUTES = %w[00 15 30 45].freeze
31
32
  DAILY_REMINDER_COLUMNS = %w[daily_reminders daily_reminder_time last_daily_reminder_sent_on].freeze
32
33
  REFLECTIONS_SEEN_COLUMN = 'reflections_seen_at'
33
34
 
@@ -50,6 +50,7 @@
50
50
 
51
51
  <% if @daily_reminders_available %>
52
52
  <% reminder_hour, reminder_minute = @daily_reminder_time.to_s.split(":", 2) %>
53
+ <% reminder_minutes = (Bible270::Reader::DAILY_REMINDER_MINUTES + [reminder_minute]).compact.uniq.sort %>
53
54
  <div class="b270-field">
54
55
  <span>Daily reading reminder</span>
55
56
  <div class="b270-reminder-row">
@@ -70,7 +71,7 @@
70
71
  class: "b270-time-select", required: true, aria: { label: "Hour" } %>
71
72
  <span class="b270-time-separator" aria-hidden="true">:</span>
72
73
  <%= select_tag :daily_reminder_minute,
73
- options_for_select((0..59).map { |minute| format("%02d", minute) }, reminder_minute),
74
+ options_for_select(reminder_minutes, reminder_minute),
74
75
  class: "b270-time-select", required: true, aria: { label: "Minute" } %>
75
76
  <span class="b270-reminder-tooltip" id="daily-reminder-time-hint" role="tooltip">
76
77
  Uses the plan's configured time zone. You can turn reminders off here at any time.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bible270
4
- VERSION = '1.1.2'
4
+ VERSION = '1.1.3'
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.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew vonderLuft