oficina / sheets Public

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>
Paul Campbell pushed by paul@keymail.dev 535daf138483e8202a768eadf5e76bde862f67e5 parent 073f9df
4 files changed, +27 −12
  • go.mod +1 −1
  • go.sum +2 −2
  • internal/sheets/chrome.go +3 −9
  • internal/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")
+ }
+}