The connection start page says Connect (Astra's nit)
Pin home/connect to Home main 2bec942, whose English already leaves the hub unnamed and says Connect, and drop the overrides that now repeat it. Sheets keeps only its own start_body and documents_action.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 files changed,
+27
−12
go.mod+1 −1go.sum+2 −2internal/sheets/chrome.go+3 −9internal/sheets/chrome_signin_test.go+21 −0
CI passed — run details
CI log
amadan: .amadan/timeout: this job's budget is 15m0s (this runner allows up to 30m0s) === vet === CGO_ENABLED=0 go vet ./... go: downloading amadan.net/oficina/estilo.git v0.0.0-20261001093750-530cb932e768 go: downloading amadan.net/oficina/home/connect v0.0.0-20261001093757-2bec942ddd0c CGO_ENABLED=0 go vet -tags browser ./internal/sheets/ === fmt === === build === CGO_ENABLED=0 go build ./... === migrations === go tool rastrillo migration check rastrillo migration check: models and migrations agree === go-test === CGO_ENABLED=0 go test -count=1 ./... ? amadan.net/oficina/sheets/cmd/sheets [no test files] ok amadan.net/oficina/sheets/internal/guardstest 0.102s ok amadan.net/oficina/sheets/internal/sheets 10.357s ok amadan.net/oficina/sheets/internal/sheets/calc 0.011s ok amadan.net/oficina/sheets/internal/sheets/format 0.004s ok amadan.net/oficina/sheets/internal/sheets/live 0.053s ok amadan.net/oficina/sheets/internal/sheets/seal 0.003s ok amadan.net/oficina/sheets/internal/sheets/sealtest 0.005s ok amadan.net/oficina/sheets/internal/sheets/store 3.054s ok amadan.net/oficina/sheets/internal/sheets/xlsx 0.310s ? amadan.net/oficina/sheets/tools/gencorpus [no test files] === race === go test -race -count=1 ./internal/sheets/store/... ./internal/sheets/live/... ok amadan.net/oficina/sheets/internal/sheets/store 47.432s ok amadan.net/oficina/sheets/internal/sheets/live 1.060s
diff --git a/go.mod b/go.mod| index dc1f2a8..75dbbb4 100644 |
| --- a/go.mod |
| +++ b/go.mod |
| @@ -4,7 +4,7 @@ go 1.25.0 |
| require ( |
| amadan.net/oficina/estilo.git v0.0.0-20261001093750-530cb932e768 |
| - amadan.net/oficina/home/connect v0.0.0-20260923190447-01166fcfc0a9 |
| + amadan.net/oficina/home/connect v0.0.0-20261001093757-2bec942ddd0c |
| amadan.net/oficina/home/handoff v0.0.0-20260908102137-481d2d57f489 |
| amadan.net/rastrillo/rastrillo v0.26.1-0.20260908075707-29e4491631bd |
| github.com/carlosframework/rastrillo v0.23.0 |
diff --git a/go.sum b/go.sum| index 4dbeefc..54727f1 100644 |
| --- a/go.sum |
| +++ b/go.sum |
| @@ -1,7 +1,7 @@ |
| amadan.net/oficina/estilo.git v0.0.0-20261001093750-530cb932e768 h1:bVscoa9fH5LdLDjlyecZhrX7JzWPT0blb57MH0FIm2U= |
| amadan.net/oficina/estilo.git v0.0.0-20261001093750-530cb932e768/go.mod h1:4u0jNBtIdMLOsJyrScfqoEuYDJF7BBM3qM9YWbzt6aw= |
| -amadan.net/oficina/home/connect v0.0.0-20260923190447-01166fcfc0a9 h1:K/PaOVdQqRMwifPD6ipiwLeGR5nbFSxm9FxjrDJlZcg= |
| -amadan.net/oficina/home/connect v0.0.0-20260923190447-01166fcfc0a9/go.mod h1:YroavXe43Wietec+po8mtSk4a9Bir2h31Q3iAf4MWxI= |
| +amadan.net/oficina/home/connect v0.0.0-20261001093757-2bec942ddd0c h1:3yxO2D8BxDLMGfFV2o6Sp9Z91yLnjDCIuRKHVWORa8A= |
| +amadan.net/oficina/home/connect v0.0.0-20261001093757-2bec942ddd0c/go.mod h1:YroavXe43Wietec+po8mtSk4a9Bir2h31Q3iAf4MWxI= |
| amadan.net/oficina/home/handoff v0.0.0-20260908102137-481d2d57f489 h1:RPKtyry/71i06o8L+gjAaUyexbmG56kO1YPs601URAM= |
| amadan.net/oficina/home/handoff v0.0.0-20260908102137-481d2d57f489/go.mod h1:YISpzFJ+iMgrM0rUL032OSzsAQbP4/nozvXLCCOcn1k= |
| amadan.net/rastrillo/native/server v0.0.0-20260923173546-2a5d07b2c8d3 h1:5EFx7BLJj/+G/rt8bTmeyMWVfF5s5Sns7ajTvX4w/I8= |
diff --git a/internal/sheets/chrome.go b/internal/sheets/chrome.go| index 60cfc5e..3bdd9a2 100644 |
| --- a/internal/sheets/chrome.go |
| +++ b/internal/sheets/chrome.go |
| @@ -237,21 +237,15 @@ func (a *App) switcher() *chrome.Switcher { |
| } |
| } |
| -// homeCopy is connect's account-connection copy with the hub unnamed |
| -// (Paul's §13 answer 3): "your Oficina account", and the verb Connect. |
| +// homeCopy is connect's account-connection copy (which already leaves |
| +// the hub unnamed — "your Oficina account" — and says Connect, Paul's |
| +// §13 answer 3), with only Sheets' own words on top. |
| var homeCopy = func() map[string]string { |
| out := make(map[string]string, len(connect.English)) |
| for k, v := range connect.English { |
| out[k] = v |
| } |
| - out["menu_action"] = "Connect your Oficina account" |
| - out["start_title"] = "Connect your Oficina account" |
| out["start_body"] = "Use your Oficina account to sign in to this account. Your sheets and sharing settings stay as they are." |
| - out["start_action"] = "Continue" |
| - out["confirm_body"] = "Connect the account below to the Oficina account you just signed in to." |
| - out["unknown_title"] = "Oficina account not connected" |
| - out["unknown_body"] = "Sign in to your existing account, then connect your Oficina account from the account menu." |
| - out["success_body"] = "You can now use your Oficina account to sign in to this account." |
| out["documents_action"] = "Back to Sheets" |
| return out |
| }() |
diff --git a/internal/sheets/chrome_signin_test.go b/internal/sheets/chrome_signin_test.go| index 1e8dea5..2736474 100644 |
| --- a/internal/sheets/chrome_signin_test.go |
| +++ b/internal/sheets/chrome_signin_test.go |
| @@ -149,3 +149,24 @@ func TestARevokedHomeUserIsNotBouncedBetweenTheRootAndSignIn(t *testing.T) { |
| t.Fatal("the revoked session survived") |
| } |
| } |
| + |
| +// Astra's door-copy review: the account-connection start page's action |
| +// is the verb the page is about, "Connect", not a bare "Continue". |
| +func TestConnectStartPageActionSaysConnect(t *testing.T) { |
| + f := newHomeFixture(t) |
| + f.local(t, signedInAddress) |
| + w := f.request(t, "GET", "/account/home", nil, false) |
| + if w.Code != http.StatusOK { |
| + t.Fatal(w.Code) |
| + } |
| + body := w.Body.String() |
| + if !strings.Contains(body, "Connect your Oficina account") { |
| + t.Fatal("not the connection start page") |
| + } |
| + if !strings.Contains(body, ">Connect</button>") { |
| + t.Error("the start action does not say Connect") |
| + } |
| + if strings.Contains(body, ">Continue</button>") { |
| + t.Error("the start action still says Continue") |
| + } |
| +} |