houseaccount 0.7.0 → 0.8.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: 4ff5237b22740dc32c8e7c3bb833aa6ca51e3557e103eb0b628653658564d2fa
4
- data.tar.gz: 9ecc04823998049cd0c4e60a2e8c402250e1b651c04cfb4df14385444758478d
3
+ metadata.gz: eb93eb6916d764185a9a842424a967a999a604c13f69c4fd1e55520732238a5e
4
+ data.tar.gz: 18f86ddd7092b5c594a5384cef3071eead026ac4b3af0ac92d74cd5edb24d4ac
5
5
  SHA512:
6
- metadata.gz: ccec1d767a683d8df0be2c1c86ea8f720d608e52ba897531ffcf5192195c9dd4be8aeab7e834b5cdc12346b5aaf31fadd2881fcca0715200b5c751b1c300da27
7
- data.tar.gz: 1fa4898055b78bf0dbfb4d7a54ade28eaee556836c1f583fafc7b44e51543d9e5a1de6c230cdd7bbffb3ccbd9652ea7a2a54ff73844a229d88be58507e620e80
6
+ metadata.gz: b491d90baf039dc87e9cb31acac22b61753c9f669a7c3a497c7f54cc717b4668ee15775cbb7b96f796165ce5fe376a361c503880804377908e962d6ed27bfd89
7
+ data.tar.gz: fba487c0cd2d2b2e7982c8c7c0edb2f766ef7e88a36fb3067785a671aa2857253f2a83b67a291f9ecde777a939d6ae8e1e4d60758644c032a479be25c7f2f22d
data/CHANGELOG.md CHANGED
@@ -7,6 +7,23 @@ For more information about changelogs, check [Keep a Changelog](http://keepachan
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## 0.8.1 - 2026-09-14
11
+
12
+ * [Fix] The wall is drawn again after a page Turbo morphs
13
+
14
+ A refresh in place is told what the server sent, and the server sends no wall, so the
15
+ cyanotype came down on any page that redirected to itself — a form refused, say — and the
16
+ controller, still connected, never heard of it.
17
+
18
+ ## 0.8.0 - 2026-09-14
19
+
20
+ * [Breaking change] A one-time code is the sentence alone, without the line for the phone
21
+
22
+ `written` carried a second paragraph, `@host #code`, there for Safari and iOS to read and
23
+ offer the code above the keyboard. It is plainly visible in the message that arrives, so it
24
+ is gone: `written` is now the sentence `spoken` says, with its digits together, and
25
+ `HouseAccount.one_time_code` no longer takes `host:`.
26
+
10
27
  ## 0.7.0 - 2026-09-14
11
28
 
12
29
  ## 0.6.0 - 2026-09-14
data/README.md CHANGED
@@ -20,10 +20,10 @@ gem install houseaccount
20
20
 
21
21
  ```ruby
22
22
  # Gemfile
23
- gem 'houseaccount', '~> 0.7.0'
23
+ gem 'houseaccount', '~> 0.8.1'
24
24
  ```
25
25
 
26
- `~> 0.7.0` stops short of `0.8`, since below 1.0 a minor release may break whatever it likes.
26
+ `~> 0.8.0` stops short of `0.9`, since below 1.0 a minor release may break whatever it likes.
27
27
  Rails 8.1 and Ruby 3.2 are the minimum.
28
28
 
29
29
  A page takes the gem's layout, and wears the same head:
@@ -60,7 +60,7 @@ which Pages redirects away from.
60
60
 
61
61
  With the gem in the bundle an app serves `/css/houseaccount.css`, `/js/houseaccount.js`,
62
62
  `/theme/*`, `/font/*`, `/logo/*` and `/favicon/*` itself — and its own version's copy under
63
- `/v0.7.0/`, which is what the head helper links, cached for a year — answers a 400, 404, 406, 422 or 500
63
+ `/v0.8.1/`, which is what the head helper links, cached for a year — answers a 400, 404, 406, 422 or 500
64
64
  with the house's own page, and has these helpers in every view:
65
65
 
66
66
  ```erb
@@ -181,15 +181,13 @@ HouseAccount::Message.new side: :left, text: answer.note, sender: 'Claude', at:
181
181
  ```
182
182
 
183
183
  A code sent to a phone is the same words from every app, `HouseAccount.one_time_code`, in
184
- each voice they are said in. `written` is the sentence a person reads and, under it, the
185
- `@host #code` line that offers the code above the keyboard on the phone it arrived on;
186
- `spoken` is the sentence alone, its digits one at a time so a listener can write them down.
187
- The host is the application's default one unless `host:` says otherwise, and the words are
184
+ each voice they are said in. `written` is the one sentence a person reads; `spoken` is that
185
+ same sentence with its digits one at a time, so a listener can write them down. The words are
188
186
  the gem's `config/locales` entry.
189
187
 
190
188
  ```ruby
191
189
  HouseAccount.one_time_code(contact.pin).written
192
- # => "Enter this 6-digit code to proceed: 482913\n\n@houseaccount.com #482913"
190
+ # => "Enter this 6-digit code to proceed: 482913"
193
191
  HouseAccount.one_time_code(contact.pin).spoken
194
192
  # => "Enter this 6-digit code to proceed: 4, 8, 2, 9, 1, 3"
195
193
  ```
@@ -205,8 +203,8 @@ Those follow the latest release. Every release is also kept whole under its own
205
203
  forever and cached for a year, for a page that would rather move on its own terms:
206
204
 
207
205
  ```html
208
- <link rel='stylesheet' href='https://design.houseaccount.com/v0.7.0/css/houseaccount.css'>
209
- <script type='module' src='https://design.houseaccount.com/v0.7.0/js/houseaccount.js'></script>
206
+ <link rel='stylesheet' href='https://design.houseaccount.com/v0.8.1/css/houseaccount.css'>
207
+ <script type='module' src='https://design.houseaccount.com/v0.8.1/js/houseaccount.js'></script>
210
208
  ```
211
209
 
212
210
  A host with a Content Security Policy allows that origin for `style-src`, `script-src` and
@@ -4,10 +4,7 @@ en:
4
4
  ask: Ask a question
5
5
  close: Close
6
6
  okay: Okay
7
- one_time_code: |-
8
- Enter this 6-digit code to proceed: %{pin}
9
-
10
- @%{host} #%{pin}
7
+ one_time_code: 'Enter this 6-digit code to proceed: %{pin}'
11
8
  send: Send
12
9
  spoken_one_time_code: 'Enter this 6-digit code to proceed: %{pin}'
13
10
  typing: Typing
@@ -1,4 +1,4 @@
1
1
  module HouseAccount
2
2
  # Version of the gem, read by the gemspec and by hosts checking compatibility.
3
- VERSION = '0.7.0'
3
+ VERSION = '0.8.1'
4
4
  end
data/lib/houseaccount.rb CHANGED
@@ -29,14 +29,10 @@ module HouseAccount
29
29
  MARKS.key?(name) ? name : :houseaccount
30
30
  end
31
31
 
32
- # The words that carry a 6-digit code to a phone, in both voices. `written` is the sentence
33
- # a person reads and, under it, the line Safari matches against the page about to be filled,
34
- # `@host #code`, which offers the code above the keyboard so nobody leaves for Messages to
35
- # copy it. `spoken` is the sentence alone, its digits one at a time so a listener can write
36
- # them down, and without a line meant for a phone rather than a person. Every app of the
37
- # house that sends a code sends these, from `config/locales`.
38
- def self.one_time_code(pin, host: Rails.application.default_url_options[:host])
39
- Copy.new written: I18n.t('houseaccount.one_time_code', pin:, host:),
32
+ # The one sentence that carries a 6-digit code to a phone, written as a person reads it and
33
+ # spoken a digit at a time so a listener can write it down.
34
+ def self.one_time_code(pin)
35
+ Copy.new written: I18n.t('houseaccount.one_time_code', pin:),
40
36
  spoken: I18n.t('houseaccount.spoken_one_time_code', pin: pin.chars.join(', '))
41
37
  end
42
38
  end
data/public/index.html CHANGED
@@ -66,8 +66,8 @@
66
66
  </div>
67
67
  <div class='col-12'>
68
68
  <div class='card p-3'>
69
- <strong>Pinned to a version — the latest is 0.7.0</strong>
70
- <span class='design-url'>https://design.houseaccount.com/v0.7.0/css/houseaccount.css · /v0.7.0/js/houseaccount.js · /v0.7.0/theme/nord.css</span>
69
+ <strong>Pinned to a version — the latest is 0.8.1</strong>
70
+ <span class='design-url'>https://design.houseaccount.com/v0.8.1/css/houseaccount.css · /v0.8.1/js/houseaccount.js · /v0.8.1/theme/nord.css</span>
71
71
  <span class='small fg-2 mt-1'>Every release stays at its own prefix forever, whole and cached for a year, for a page that moves on its own terms. The unversioned paths follow the latest.</span>
72
72
  </div>
73
73
  </div>