oficina / memoria Public

Door-copy nits: the sign-in title from the door; Connect, not Continue

- The sign-in form's tab title takes door.Page() instead of a hardcoded
  "Sign in" (Astra, handlers.go:1279).
- Pin home/connect to Home main 2bec942, whose English leaves the hub
  unnamed and says Connect; drop the overrides that now repeat it
  (Astra, home_render.go:47). Memoria keeps its start_body and
  documents_action.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Paul Campbell pushed by paul@keymail.dev 507b6e19f47c5755fc83c0a8a96f7188d840476f parent e19e40b
5 files changed, +29 −14
  • go.mod +1 −1
  • go.sum +2 −2
  • internal/memoria/chrome_test.go +21 −0
  • internal/memoria/handlers.go +1 −1
  • internal/memoria/home_render.go +4 −10

CI passed — run details

CI log
=== vet ===
go vet ./...
go: downloading amadan.net/oficina/estilo.git v0.0.0-20261001084202-0b4d92c3dc16
go: downloading amadan.net/oficina/home/connect v0.0.0-20261001093757-2bec942ddd0c
=== fmt ===
=== test ===
go test ./...
?   	amadan.net/oficina/memoria/cmd/memoria	[no test files]
ok  	amadan.net/oficina/memoria/internal/memoria	3.524s
ok  	amadan.net/oficina/memoria/internal/memoria/chunk	0.005s
ok  	amadan.net/oficina/memoria/internal/memoria/fact	0.518s
?   	amadan.net/oficina/memoria/internal/memoria/icons	[no test files]
ok  	amadan.net/oficina/memoria/internal/memoria/index	0.035s
ok  	amadan.net/oficina/memoria/internal/memoria/notion	0.020s
ok  	amadan.net/oficina/memoria/internal/memoria/provider	1.128s
ok  	amadan.net/oficina/memoria/internal/memoria/query	0.004s
ok  	amadan.net/oficina/memoria/internal/memoria/seal	0.003s
ok  	amadan.net/oficina/memoria/internal/memoria/sibling	3.022s
ok  	amadan.net/oficina/memoria/internal/memoriatest	1.816s
?   	amadan.net/oficina/memoria/scripts/writeestilo	[no test files]
?   	amadan.net/oficina/memoria/tools/bench	[no test files]
?   	amadan.net/oficina/memoria/tools/drive	[no test files]
?   	amadan.net/oficina/memoria/tools/seed	[no test files]
?   	amadan.net/oficina/memoria/tools/vendorassets	[no test files]
=== migration-check ===
go run github.com/carlosframework/rastrillo/cmd/rastrillo migration check
rastrillo migration check: models and migrations agree
diff --git a/go.mod b/go.mod
index 326bdca..ccdf8d5 100644
--- a/go.mod
+++ b/go.mod
@@ -6,7 +6,7 @@ toolchain go1.26.5
require (
amadan.net/oficina/estilo.git v0.0.0-20261001084202-0b4d92c3dc16
- 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/oficina/suite v0.0.0-20260905215529-60b01a8a0d6d
amadan.net/rastrillo/native/server v0.0.0-20260923173546-2a5d07b2c8d3
diff --git a/go.sum b/go.sum
index b33184b..f412453 100644
--- a/go.sum
+++ b/go.sum
@@ -1,7 +1,7 @@
amadan.net/oficina/estilo.git v0.0.0-20261001084202-0b4d92c3dc16 h1:F5v3x25dEj1rJNnBm71G7shN+fM+T2actUlaGPvoeH8=
amadan.net/oficina/estilo.git v0.0.0-20261001084202-0b4d92c3dc16/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/oficina/suite v0.0.0-20260905215529-60b01a8a0d6d h1:x6Bq9+QzpFYAyV+zRzgyHwD/RmZ4Hy4biwtxK7CdaSs=
diff --git a/internal/memoria/chrome_test.go b/internal/memoria/chrome_test.go
index 905a37e..69b8b0d 100644
--- a/internal/memoria/chrome_test.go
+++ b/internal/memoria/chrome_test.go
@@ -304,3 +304,24 @@ func TestARoutePanicIsTheErrorPageThroughTheRouter(t *testing.T) {
}
}
}
+
+// 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 := newHomeRouterFixture(t)
+ f.local(t)
+ w := f.do("GET", "/account/home", "")
+ if w.Code != 200 {
+ t.Fatal(w.Code)
+ }
+ b := w.Body.String()
+ if !strings.Contains(b, "Connect your Oficina account") {
+ t.Fatal("not the connection start page")
+ }
+ if !strings.Contains(b, ">Connect</button>") {
+ t.Error("the start action does not say Connect")
+ }
+ if strings.Contains(b, ">Continue</button>") {
+ t.Error("the start action still says Continue")
+ }
+}
diff --git a/internal/memoria/handlers.go b/internal/memoria/handlers.go
index 408d4d2..b34bcdb 100644
--- a/internal/memoria/handlers.go
+++ b/internal/memoria/handlers.go
@@ -1276,7 +1276,7 @@ func (a *app) localSignin(w http.ResponseWriter, r *http.Request) {
door.Error = msg
}
render(w, "signin", signinPage{
- page: page{Frame: a.frameAs(r, viewer{}, frame{parts: []string{"Sign in"}, signinPage: true}), ModelOn: a.modelOn()},
+ page: page{Frame: a.frameAs(r, viewer{}, frame{parts: []string{door.Page()}, signinPage: true}), ModelOn: a.modelOn()},
Door: door,
})
}
diff --git a/internal/memoria/home_render.go b/internal/memoria/home_render.go
index 8867326..ad86052 100644
--- a/internal/memoria/home_render.go
+++ b/internal/memoria/home_render.go
@@ -33,22 +33,16 @@ func (a *app) renderHome(w http.ResponseWriter, r *http.Request, state, label st
_, _ = w.Write(body.Bytes())
}
-// homeCopy is connect's account-connection copy with the hub unnamed
-// (Paul's §13 answer 3): "your Oficina account", and the verb Connect.
-// The same wording Sheets and Slides use.
+// 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 Memoria's own words on top. The same wording
+// Sheets and Slides use.
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. What Memoria holds stays as it is."
- 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 Memoria"
return out
}()