solana-studio 0.5.6 → 0.5.7

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: eff43f9e3aebf5efeaf1a83056462ed1a6597b85441a98a2d228ade258ab02cf
4
- data.tar.gz: 05cdb53fe67c75375cfd31183ab078b85a12ecdbb716f5ed0709397d360915f4
3
+ metadata.gz: 37d288249a8aaba43c2315fc03d3638639f1f79692274e05a47eb7180d29b8ce
4
+ data.tar.gz: 9bb5c251529c252d00f0e24572fb09cf5e358b401db167d381de1259a5bd2138
5
5
  SHA512:
6
- metadata.gz: 6e2e1ef486e6719c5c91701ebd72ef57bbcda03e666f361bdff974d78673199db02f53ad438e5ba084ca0e834dc96dfe1130cf408dd0d1b369c818e672c283c9
7
- data.tar.gz: 963762b73b1718545ca9e31b6707946b5052cd95cc07e028779be5fbc704b570c271601bbd850e5012d8f847133a722ab86ca86337ac962412da97f813986bc8
6
+ metadata.gz: 0d11d32746254e437f67af2a4cdbf6ce7964e56595abac17b57a2793c4c6fc101f2f9b8e33d2871b88888a96d97f14d235cf9ae99f58ba1890cf3cc22d02c35a
7
+ data.tar.gz: d5f5249972b54c3dd34c02685f6ed9b02088fc91b7f0c4bf05d0bfe2597ec5d591eccc0c0926ea8c935100742bdefaf293e94ee555803d9f831ebb7cf656946e
data/CHANGELOG.md CHANGED
@@ -20,6 +20,7 @@ The format is [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). This pro
20
20
  ### Notes for hosts
21
21
  - **These require studio-engine at render time** — they render its modal host and its shared blocks by name, and paint with its utilities and theme tokens. `solana_studio/modals/network_mismatch` already shipped on exactly these terms, so this is the established arrangement rather than new coupling. studio-engine stays a DEVELOPMENT dependency; a runtime one would drag Rails into every plain-Ruby consumer.
22
22
  - **`phantom_deeplink` still emits `Studio.wallet_sign_in_statement`, deliberately.** studio-engine's `solana_sessions/phantom_callback` rebuilds the signed message to verify it, so both halves read one accessor precisely so they cannot drift. Parameterising it would decouple the gem, read as an improvement, and break the signature check on every mobile sign-in. Pinned from both directions in `test/web3_modals_test.rb`.
23
+ - **The wallet sign-in button needs studio-engine >= 0.68.0.** 0.68.0 is the first engine whose `style/modals/_auth` looks up `solana_studio/auth/wallet_credential`; until it, the engine drew that button INLINE and never consulted the path at all, so this gem shipped the partial, its tests and its README section for a button no host rendered. Below the floor the partial is inert and NOTHING SAYS SO — no render, no button, no error — so the symptom is silence rather than a stack trace, which is the failure mode this ecosystem's Gemfile pin comments exist to prevent. DERIVED by unpacking the published gems, not read off a changelog: 0.67.2 carries no `solana_studio/auth` reference anywhere in `app/`, and 0.68.0 gates the render on `lookup_context.exists?("wallet_credential", ["solana_studio/auth"], true)`. Match on the NAMESPACE, not the basename — `style/modals/_wallet_connect` ships unchanged in both releases and answers an unrelated question. It pairs with a floor on THIS gem: 0.5.2 shipped the credential partial WITHOUT `solana_studio/modals/_wallet_connect`, which the engine's `web3_gem` capability gate requires, so on 0.5.2 the button is suppressed either side of the floor and 0.5.3 is the first version that can draw it. Full matrix in the README.
23
24
 
24
25
  ## v0.5.0
25
26
 
data/README.md CHANGED
@@ -183,8 +183,9 @@ studio-engine owns the sign-in modal, because every app in the ecosystem signs
183
183
  people in and most of them are web2. This gem owns the **wallet button** inside
184
184
  it, because only a web3 app has wallets.
185
185
 
186
- There is **nothing to wire up.** The engine's auth modal looks for a partial at
187
- one fixed path and renders whatever it finds:
186
+ There is **nothing to wire up**, on studio-engine **0.68.0 or newer**. The
187
+ engine's auth modal looks for a partial at one fixed path and renders whatever
188
+ it finds:
188
189
 
189
190
  solana_studio/auth/_wallet_credential
190
191
 
@@ -193,6 +194,48 @@ appears. An app that does not bundle it finds nothing and renders nothing — no
193
194
  wallet markup ships to a newsletter app, and no `render` call has to be deleted
194
195
  to keep it out.
195
196
 
197
+ #### The studio-engine floor: 0.68.0
198
+
199
+ **0.68.0 is the first studio-engine that performs the lookup.** Until it, the
200
+ engine's `style/modals/_auth` drew the Solana button itself, inline, and never
201
+ consulted `solana_studio/auth/wallet_credential` at all — this gem shipped the
202
+ partial, its tests and this section for a button no host rendered. 0.68.0
203
+ deleted that inline copy and put the lookup in its place, which is what made the
204
+ paragraph above true.
205
+
206
+ Below the floor the partial is **inert, and nothing says so.** It sits on the
207
+ view path and is never asked for: no `render` runs, no button comes from it, and
208
+ no error reaches the page or the log. A host that edits the partial and sees the
209
+ modal unchanged should suspect the engine version first — that silence, not a
210
+ stack trace, is the symptom.
211
+
212
+ Derived by unpacking the published gems rather than reading a changelog: 0.67.2
213
+ contains no reference to `solana_studio/auth` anywhere in `app/`, and 0.68.0
214
+ gates the render on `lookup_context.exists?("wallet_credential",
215
+ ["solana_studio/auth"], true)`. Match on the **namespace, not the basename** —
216
+ `style/modals/_wallet_connect` ships unchanged in both releases and answers an
217
+ unrelated question.
218
+
219
+ The two gems set the floor together, and the pair matters more than either
220
+ number. Every row below also assumes the host has wallet sign-in **configured
221
+ on** — `Studio.auth_method?(:wallet)` and `Studio.feature?(:web3)`, the two
222
+ questions in the table further down. McRitchie Studio leaves them off, so it
223
+ shows no wallet button on any pair of versions:
224
+
225
+ | studio-engine | this gem | The sign-in modal shows, wallet configured on |
226
+ |---|---|---|
227
+ | 0.67.2, the last release below the floor | 0.5.3+ | the **engine's own** inline button; this gem's partial renders nowhere |
228
+ | 0.68.0+ | 0.5.3+ | **this gem's partial** — the arrangement described above |
229
+ | either side of the floor | 0.5.2 | **no wallet button, silently** — see below |
230
+ | either side of the floor | not bundled | no wallet button, correctly — a web2 app ships no wallet markup |
231
+
232
+ **0.5.2 is the trap.** It shipped `solana_studio/auth/_wallet_credential`
233
+ *without* `solana_studio/modals/_wallet_connect`, and both engines gate the
234
+ button on that picker resolving (the engine's `web3_gem` gate), so the credential
235
+ partial is present, correct, and suppressed either side of the floor. 0.5.3 is
236
+ the first version of this gem shipping both paths, and so the first that can
237
+ draw the button at all.
238
+
196
239
  The engine asks two questions and needs both answered yes:
197
240
 
198
241
  | Question | Answered by | Where |
@@ -214,6 +257,7 @@ Why a contributed button and not a second auth modal: Turf Monster wants Google
214
257
  plus magic-link plus wallet, McRitchie Studio wants Google plus magic-link. A
215
258
  forked modal would put a surface both apps sign in through into two files, which
216
259
  is how the wallet picker reached three copies before it was promoted.
260
+
217
261
  ### Web3 modals
218
262
 
219
263
  Four partials promoted out of studio-engine, where every consumer paid for them
@@ -16,5 +16,5 @@ module SolanaStudio
16
16
  # through the normal cycle. Splitting the version out is the same shape
17
17
  # studio-engine already uses (lib/studio/version.rb) and hands each file back
18
18
  # to its real owner: this one to the release, the gemspec to the PR.
19
- VERSION = "0.5.6"
19
+ VERSION = "0.5.7"
20
20
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solana-studio
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.6
4
+ version: 0.5.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex McRitchie