@arcblock/did-connect-service 4.1.39 → 4.1.41
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.
- package/dist/_generated/asset-bytes.js +1 -1
- package/dist/_generated/asset-manifest.js +2 -2
- package/dist/_generated/login-bundle-string.d.ts +1 -1
- package/dist/_generated/login-bundle-string.d.ts.map +1 -1
- package/dist/_generated/login-bundle-string.js +1 -1
- package/dist/_generated/login-bundle-string.js.map +1 -1
- package/dist/app-identity.d.ts +211 -0
- package/dist/app-identity.d.ts.map +1 -0
- package/dist/app-identity.js +343 -0
- package/dist/app-identity.js.map +1 -0
- package/dist/assets/{login.60fd0777.js → login.e70223b2.js} +35 -14
- package/dist/assets/{login.a9c8b434.css → login.fa75e481.css} +22 -1
- package/dist/blocklet-service-rpc-types.d.ts +12 -0
- package/dist/blocklet-service-rpc-types.d.ts.map +1 -1
- package/dist/blocklet-service-rpc.d.ts +10 -1
- package/dist/blocklet-service-rpc.d.ts.map +1 -1
- package/dist/blocklet-service-rpc.js +32 -3
- package/dist/blocklet-service-rpc.js.map +1 -1
- package/dist/blocklet-service.d.ts.map +1 -1
- package/dist/blocklet-service.js +13 -22
- package/dist/blocklet-service.js.map +1 -1
- package/dist/embedded.d.ts +9 -0
- package/dist/embedded.d.ts.map +1 -1
- package/dist/embedded.js +14 -6
- package/dist/embedded.js.map +1 -1
- package/dist/handlers/access-key-connect-handler.d.ts.map +1 -1
- package/dist/handlers/access-key-connect-handler.js +3 -1
- package/dist/handlers/access-key-connect-handler.js.map +1 -1
- package/dist/handlers/admin-instance-handler.d.ts.map +1 -1
- package/dist/handlers/admin-instance-handler.js +4 -1
- package/dist/handlers/admin-instance-handler.js.map +1 -1
- package/dist/handlers/auth-handler.d.ts +18 -1
- package/dist/handlers/auth-handler.d.ts.map +1 -1
- package/dist/handlers/auth-handler.js +53 -38
- package/dist/handlers/auth-handler.js.map +1 -1
- package/dist/handlers/blocklet-js-handler.d.ts +10 -2
- package/dist/handlers/blocklet-js-handler.d.ts.map +1 -1
- package/dist/handlers/blocklet-js-handler.js +36 -18
- package/dist/handlers/blocklet-js-handler.js.map +1 -1
- package/dist/handlers/branding-handler.d.ts +30 -11
- package/dist/handlers/branding-handler.d.ts.map +1 -1
- package/dist/handlers/branding-handler.js +76 -62
- package/dist/handlers/branding-handler.js.map +1 -1
- package/dist/handlers/passkey-handler.d.ts +6 -1
- package/dist/handlers/passkey-handler.d.ts.map +1 -1
- package/dist/handlers/passkey-handler.js +38 -26
- package/dist/handlers/passkey-handler.js.map +1 -1
- package/dist/handlers/team-handler.d.ts +4 -0
- package/dist/handlers/team-handler.d.ts.map +1 -1
- package/dist/handlers/team-handler.js +24 -5
- package/dist/handlers/team-handler.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/package-branding.d.ts +0 -6
- package/dist/package-branding.d.ts.map +1 -1
- package/dist/package-branding.js +2 -32
- package/dist/package-branding.js.map +1 -1
- package/dist/store/d1-store.d.ts +9 -1
- package/dist/store/d1-store.d.ts.map +1 -1
- package/dist/store/d1-store.js +30 -0
- package/dist/store/d1-store.js.map +1 -1
- package/dist/theme-utils.js +1 -1
- package/dist/theme-utils.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/http/security-headers.d.ts +0 -38
- package/dist/http/security-headers.d.ts.map +0 -1
- package/dist/http/security-headers.js +0 -67
- package/dist/http/security-headers.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { identityFromAppInfo, identityScopeFor, instanceIdentityRowsFromSettings, resolveAppIdentity, } from "../app-identity.js";
|
|
1
2
|
import { resolveWalletIdentity } from "../identity/wallet-identity.js";
|
|
2
3
|
import { DEFAULT_LANGUAGE_ROWS } from "../locale.js";
|
|
3
|
-
import { formatThemeForOutput } from "../theme-utils.js";
|
|
4
4
|
export class BlockletJsHandler {
|
|
5
5
|
options;
|
|
6
6
|
appDid;
|
|
@@ -17,7 +17,12 @@ export class BlockletJsHandler {
|
|
|
17
17
|
this.appPid = identity.appPid;
|
|
18
18
|
this.appPk = identity.appPk;
|
|
19
19
|
}
|
|
20
|
-
|
|
20
|
+
/**
|
|
21
|
+
* @param assertedInstanceDid the instance the HOST asserted for this request (route
|
|
22
|
+
* context, or an opted-in `X-Instance-Did`). Used only to label the identity's
|
|
23
|
+
* origin; the body always comes from this handler's own instance scope.
|
|
24
|
+
*/
|
|
25
|
+
async fetch(request, assertedInstanceDid) {
|
|
21
26
|
const url = new URL(request.url);
|
|
22
27
|
// Fast path: endsWith check avoids regex on every request
|
|
23
28
|
if (!url.pathname.endsWith("/__blocklet__.js") && !url.pathname.endsWith("/__meta__.js"))
|
|
@@ -33,7 +38,7 @@ export class BlockletJsHandler {
|
|
|
33
38
|
});
|
|
34
39
|
}
|
|
35
40
|
// Build fresh data and populate cache
|
|
36
|
-
const data = await this.buildBlockletData(request);
|
|
41
|
+
const data = await this.buildBlockletData(request, assertedInstanceDid);
|
|
37
42
|
const json = JSON.stringify(data);
|
|
38
43
|
const js = `window.blocklet = ${json};`;
|
|
39
44
|
this._cache = { js, json, at: Date.now() };
|
|
@@ -44,7 +49,7 @@ export class BlockletJsHandler {
|
|
|
44
49
|
},
|
|
45
50
|
});
|
|
46
51
|
}
|
|
47
|
-
async buildBlockletData(request) {
|
|
52
|
+
async buildBlockletData(request, assertedInstanceDid) {
|
|
48
53
|
const origin = new URL(request.url).origin;
|
|
49
54
|
const store = this.options.store;
|
|
50
55
|
const instanceDid = this.options.instanceDid || "_global_";
|
|
@@ -87,14 +92,29 @@ export class BlockletJsHandler {
|
|
|
87
92
|
return fallback;
|
|
88
93
|
}
|
|
89
94
|
};
|
|
95
|
+
// Identity fields (name / description / logos / theme) come from the single
|
|
96
|
+
// resolver. The rows are read from THIS handler's instance scope, never from the
|
|
97
|
+
// request's X-Instance-Did (preserved as-is — see the did#246 baseline). When the
|
|
98
|
+
// host asserted a different instance for this request, the construction rows are a
|
|
99
|
+
// stand-in and are labelled `scope: "fallback"` — decided by the host-asserted
|
|
100
|
+
// instance, never by a raw request header — without changing any output byte.
|
|
101
|
+
const base = this.options.appIdentity
|
|
102
|
+
?? (this.options.appInfo ? identityFromAppInfo(this.options.appInfo) : undefined);
|
|
103
|
+
const identity = resolveAppIdentity({
|
|
104
|
+
instance: instanceIdentityRowsFromSettings(settingsMap,
|
|
105
|
+
// Legacy app:name is NOT a per-request layer here: it only reaches this
|
|
106
|
+
// surface through the build-time identity (CF honors it, embedded does not).
|
|
107
|
+
["branding", "logos", "theme"], identityScopeFor(instanceDid, assertedInstanceDid)),
|
|
108
|
+
inherited: base,
|
|
109
|
+
defaultName: "App",
|
|
110
|
+
});
|
|
111
|
+
// Non-identity branding fields (url, passportColor, copyright, …) still come from the raw row.
|
|
90
112
|
const branding = parse("app:branding", {});
|
|
91
|
-
const logos = parse("app:logos", {});
|
|
92
113
|
const orgConfig = parse("app:org", { enabled: false });
|
|
93
114
|
const didConnectConfig = parse("app:didConnect", { showDidColor: true, showAppInfo: true });
|
|
94
115
|
const inviteConfig = parse("app:invite", { enabled: false });
|
|
95
116
|
const fedConfig = parse("federation:config", {});
|
|
96
117
|
const navigation = parse("app:navigation", []);
|
|
97
|
-
const theme = parse("app:theme", {});
|
|
98
118
|
const languages = parse("app:languages", DEFAULT_LANGUAGE_ROWS.map((row) => ({ code: row.code, name: row.name })));
|
|
99
119
|
const mountPoints = parse("app:mountPoints", []);
|
|
100
120
|
// Phase 3c keys — must stay aligned
|
|
@@ -152,10 +172,8 @@ export class BlockletJsHandler {
|
|
|
152
172
|
appId: this.appDid,
|
|
153
173
|
appPid: this.appPid,
|
|
154
174
|
appPk: this.appPk,
|
|
155
|
-
appName:
|
|
156
|
-
appDescription:
|
|
157
|
-
? branding.description
|
|
158
|
-
: this.options.appInfo?.description ?? "",
|
|
175
|
+
appName: identity.name.value || "App",
|
|
176
|
+
appDescription: identity.description.value ?? "",
|
|
159
177
|
appUrl: branding.url || origin,
|
|
160
178
|
did: this.appDid,
|
|
161
179
|
status: "running",
|
|
@@ -178,13 +196,13 @@ export class BlockletJsHandler {
|
|
|
178
196
|
// --- Brand assets (R2 key → URL path conversion) ---
|
|
179
197
|
// appLogo always returns a valid URL (fallback to default logo endpoint)
|
|
180
198
|
appLogo: "/.well-known/service/blocklet/logo",
|
|
181
|
-
appLogoDark: logos.squareDark ? "/.well-known/service/blocklet/logo-dark" : "",
|
|
182
|
-
appLogoRect: logos.rect ? "/.well-known/service/blocklet/logo-rect" : "",
|
|
183
|
-
appLogoRectDark: logos.rectDark ? "/.well-known/service/blocklet/logo-rect-dark" : "",
|
|
184
|
-
appSplashPortrait: logos.splashPortrait ? "/.well-known/service/blocklet/splash/portrait" : "",
|
|
185
|
-
appSplashLandscape: logos.splashLandscape ? "/.well-known/service/blocklet/splash/landscape" : "",
|
|
186
|
-
appOgImage: logos.ogImage ? "/.well-known/service/blocklet/og-image" : "",
|
|
187
|
-
blurhash:
|
|
199
|
+
appLogoDark: identity.logos.squareDark ? "/.well-known/service/blocklet/logo-dark" : "",
|
|
200
|
+
appLogoRect: identity.logos.rect ? "/.well-known/service/blocklet/logo-rect" : "",
|
|
201
|
+
appLogoRectDark: identity.logos.rectDark ? "/.well-known/service/blocklet/logo-rect-dark" : "",
|
|
202
|
+
appSplashPortrait: identity.logos.splashPortrait ? "/.well-known/service/blocklet/splash/portrait" : "",
|
|
203
|
+
appSplashLandscape: identity.logos.splashLandscape ? "/.well-known/service/blocklet/splash/landscape" : "",
|
|
204
|
+
appOgImage: identity.logos.ogImage ? "/.well-known/service/blocklet/og-image" : "",
|
|
205
|
+
blurhash: identity.blurhash?.value || {},
|
|
188
206
|
// --- Config ---
|
|
189
207
|
webWalletUrl: "https://web.abtwallet.io",
|
|
190
208
|
preferences: {},
|
|
@@ -192,7 +210,7 @@ export class BlockletJsHandler {
|
|
|
192
210
|
updatedAt: latestUpdate || 0,
|
|
193
211
|
copyright: branding.copyright || {},
|
|
194
212
|
navigation,
|
|
195
|
-
theme:
|
|
213
|
+
theme: identity.theme.value,
|
|
196
214
|
optionalComponents: [],
|
|
197
215
|
enableDocker: false,
|
|
198
216
|
enableDockerNetwork: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocklet-js-handler.js","sourceRoot":"","sources":["../../src/handlers/blocklet-js-handler.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"blocklet-js-handler.js","sourceRoot":"","sources":["../../src/handlers/blocklet-js-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,gBAAgB,EAChB,gCAAgC,EAChC,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAoBrD,MAAM,OAAO,iBAAiB;IAUR;IATZ,MAAM,CAAS;IACf,MAAM,CAAS;IACf,KAAK,CAAS;IAEtB,8EAA8E;IAC9E,sFAAsF;IAC9E,MAAM,GAAoD,IAAI,CAAC;IAC/D,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,qCAAqC;IAExE,YAAoB,OAA0B;QAA1B,YAAO,GAAP,OAAO,CAAmB;QAC5C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,OAAgB,EAAE,mBAA4B;QACxD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEjC,0DAA0D;QAC1D,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;YAAE,OAAO,IAAI,CAAC;QAEtG,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC;QAEvD,4BAA4B;QAC5B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC;YAC7E,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;gBAC9D,OAAO,EAAE;oBACP,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,uCAAuC;oBACrF,eAAe,EAAE,oBAAoB;iBACtC;aACF,CAAC,CAAC;QACL,CAAC;QAED,sCAAsC;QACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,EAAE,GAAG,qBAAqB,IAAI,GAAG,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAE3C,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACtC,OAAO,EAAE;gBACP,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,uCAAuC;gBACrF,eAAe,EAAE,oBAAoB;aACtC;SACF,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAAgB,EAAE,mBAA4B;QAC5E,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,UAAU,CAAC;QAE3D,uDAAuD;QACvD,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtE,oGAAoG;QACpG,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACzD,IAAI,OAAO,KAAK,QAAQ,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,EAAE,CAAC;YAChE,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAC5D,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC/B,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,wBAAwB,IAAI,CAAC,CAAC,GAAG,KAAK,cAAc,EAAE,CAAC;oBACjG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;gBACjB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC3C,IAAI,CAAC,GAAG,YAAY;oBAAE,YAAY,GAAG,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,CAAI,GAAW,EAAE,QAAW,EAAK,EAAE;YAC/C,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,CAAC,GAAG;gBAAE,OAAO,QAAQ,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC/B,0DAA0D;gBAC1D,IAAI,MAAM,KAAK,IAAI;oBAAE,OAAO,QAAQ,CAAC;gBACrC,OAAO,MAAW,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC,CAAC;QAEF,4EAA4E;QAC5E,iFAAiF;QACjF,kFAAkF;QAClF,mFAAmF;QACnF,+EAA+E;QAC/E,8EAA8E;QAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW;eAChC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACpF,MAAM,QAAQ,GAAG,kBAAkB,CAAC;YAClC,QAAQ,EAAE,gCAAgC,CACxC,WAAW;YACX,wEAAwE;YACxE,6EAA6E;YAC7E,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,EAC9B,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CACnD;YACD,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;QACH,+FAA+F;QAC/F,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,EAAE,EAAyB,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACvD,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,mBAAmB,EAAE,EAAyB,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,KAAK,CAAC,gBAAgB,EAAE,EAAW,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,KAAK,CACrB,eAAe,EACf,qBAAqB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CACzE,CAAC;QACF,MAAM,WAAW,GAAG,KAAK,CAAC,iBAAiB,EAAE,EAAW,CAAC,CAAC;QAE1D,oCAAoC;QACpC,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,EAAE,EAAyB,CAAC,CAAC;QACzE,MAAM,gBAAgB,GAAG,KAAK,CAAC,wBAAwB,EAAE,EAAyB,CAAC,CAAC;QACpF,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,EAAE,IAAkC,CAAC,CAAC;QAE9E,mEAAmE;QACnE,MAAM,cAAc,GAA4B,EAAE,CAAC;QAEnD,2CAA2C;QAC3C,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACtG,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACnG,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAEvG,IAAI,gBAAgB,EAAE,CAAC;YACrB,cAAc,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACxE,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YACpB,cAAc,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACzF,CAAC;QAED,mEAAmE;QACnE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC;YACvC,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACjC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;wBAC7B,cAAc,CAAC,QAAQ,CAAC,GAAG;4BACzB,OAAO,EAAE,IAAI;4BACb,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;4BACzB,0DAA0D;4BAC1D,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACzD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBACpD,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,uBAAuB;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,qBAAqB,IAAI,WAAW,EAAE,YAAY,EAAE,CAAC;YACvD,cAAc,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACvE,CAAC;QAED,kEAAkE;QAClE,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC;QACxC,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,iBAAiB,GAAG,UAAU,GAAG,KAAK,CAAC;QAE7C,mEAAmE;QACnE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC;QAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,GAAG,CAAC;QACtE,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAE5D,OAAO;YACL,uBAAuB;YACvB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK;YACrC,cAAc,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;YAChD,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,MAAM;YAC9B,GAAG,EAAE,IAAI,CAAC,MAAM;YAChB,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,QAAQ;YAC3C,aAAa,EAAE,QAAQ,CAAC,aAAa,IAAI,SAAS;YAClD,WAAW,EAAE,EAAE;YACf,gBAAgB,EAAE,EAAE;YACpB,aAAa,EAAE,QAAQ,CAAC,aAAa,IAAI,EAAE;YAE3C,sBAAsB;YACtB,SAAS,EAAE,IAAI,CAAC,MAAM;YACtB,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO;YAEpD,wBAAwB;YACxB,MAAM;YACN,WAAW;YACX,SAAS;YACT,aAAa,EAAE,sBAAsB;YACrC,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,OAAO;YACpC,WAAW,EAAE,IAAI,CAAC,MAAM;YACxB,WAAW,EAAE,KAAK;YAElB,sDAAsD;YACtD,yEAAyE;YACzE,OAAO,EAAE,oCAAoC;YAC7C,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC,CAAC,EAAE;YACvF,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC,CAAC,EAAE;YACjF,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,EAAE;YAC9F,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,+CAA+C,CAAC,CAAC,CAAC,EAAE;YACvG,kBAAkB,EAAE,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,EAAE;YAC1G,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,EAAE;YAClF,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAExC,iBAAiB;YACjB,YAAY,EAAE,0BAA0B;YACxC,WAAW,EAAE,EAAE;YACf,SAAS;YACT,SAAS,EAAE,YAAY,IAAI,CAAC;YAC5B,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,EAAE;YACnC,UAAU;YACV,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK;YAC3B,kBAAkB,EAAE,EAAE;YACtB,YAAY,EAAE,KAAK;YACnB,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,WAAW;YACjC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YAEnB,mBAAmB;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE;oBACP,GAAG,EAAE,iBAAiB;oBACtB,QAAQ,EAAE,aAAa,CAAC,QAAQ,IAAI,IAAI;iBACzC;gBACD,MAAM,EAAE,YAAY;gBACpB,SAAS,EAAE;oBACT,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE;oBAC9B,MAAM,EAAE;wBACN,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,SAAS;wBACrC,SAAS,EAAE,KAAK;qBACjB;iBACF;gBACD,KAAK,EAAE,EAAE,EAAE,aAAa;gBACxB,cAAc;gBACd,UAAU,EAAE,gBAAgB;gBAC5B,YAAY,EAAE,EAAE;gBAChB,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;gBACrB,YAAY,EAAE;oBACZ,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,qBAAqB,IAAI,WAAW,EAAE,YAAY,CAAC,EAAE;oBAC1E,UAAU,EAAE,KAAK;iBAClB;gBACD,GAAG,EAAE,SAAS;aACf;SACF,CAAC;IACJ,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Public routes (before enforceAccess): Logo access, Theme anti-FOUC
|
|
5
5
|
* Admin routes (after enforceAccess): Branding/Theme/Navigation CRUD, Logo upload/delete
|
|
6
6
|
*/
|
|
7
|
+
import { type AppIdentity } from "../app-identity.js";
|
|
7
8
|
import type { OgWorkerRenderer } from "../og/worker.js";
|
|
8
9
|
import type { AppInfo } from "../package-branding.js";
|
|
9
10
|
import type { D1Store } from "../store/d1-store.js";
|
|
@@ -11,9 +12,18 @@ export interface BrandingHandlerOptions {
|
|
|
11
12
|
store: D1Store;
|
|
12
13
|
r2?: R2Bucket;
|
|
13
14
|
instanceDid?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Whether the `X-Instance-Did` request header is host-asserted and may select the
|
|
17
|
+
* branding scope (only when no explicit scope is passed to fetchPublic/fetchAdmin).
|
|
18
|
+
* Set ONLY by hosts whose runtime sets or strips that header itself (the embedded
|
|
19
|
+
* Node host: arc's reserved routes). Default false: the header is ignored.
|
|
20
|
+
*/
|
|
21
|
+
trustInstanceHeader?: boolean;
|
|
14
22
|
/** Deployment RP name used only by the generated default logo fallback. */
|
|
15
23
|
rpName?: string;
|
|
16
|
-
/**
|
|
24
|
+
/** The handler's build-time app identity — the layer under the request-scope rows in dynamic OG text. */
|
|
25
|
+
appIdentity?: AppIdentity;
|
|
26
|
+
/** @deprecated Pass `appIdentity`. A bare AppInfo is wrapped via `identityFromAppInfo`. */
|
|
17
27
|
appInfo?: AppInfo;
|
|
18
28
|
/** Node-only: dynamic OG generator from `@arcblock/did-connect-service/og-node`.
|
|
19
29
|
* When absent, /og.png falls back to the static /og-image R2 lookup. */
|
|
@@ -27,32 +37,41 @@ export declare class BrandingHandler {
|
|
|
27
37
|
private options;
|
|
28
38
|
private _themeCache;
|
|
29
39
|
private static THEME_CACHE_TTL;
|
|
40
|
+
private _requestScope;
|
|
30
41
|
constructor(options: BrandingHandlerOptions);
|
|
31
42
|
/**
|
|
32
43
|
* Public routes — Logo access + Theme anti-FOUC endpoints.
|
|
33
44
|
* Called BEFORE enforceAccess in auth-handler route().
|
|
34
45
|
*/
|
|
35
|
-
fetchPublic(request: Request): Promise<Response | null>;
|
|
46
|
+
fetchPublic(request: Request, scopeInstanceDid?: string): Promise<Response | null>;
|
|
36
47
|
/**
|
|
37
48
|
* Admin routes — Branding/Theme/Navigation CRUD.
|
|
38
49
|
* Called AFTER enforceAccess in auth-handler route() (requires admin).
|
|
39
50
|
*/
|
|
40
|
-
fetchAdmin(request: Request): Promise<Response | null>;
|
|
51
|
+
fetchAdmin(request: Request, scopeInstanceDid?: string): Promise<Response | null>;
|
|
41
52
|
/**
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
53
|
+
* The instance this request's branding reads/writes are scoped to. Precedence:
|
|
54
|
+
* 1. the explicit scope the caller passed (auth-handler: route-context instance,
|
|
55
|
+
* else the header when the host owns it, else the construction instance) —
|
|
56
|
+
* the same scope the admin gate authorized against;
|
|
57
|
+
* 2. `X-Instance-Did`, only when `trustInstanceHeader` — a host opts in only if its
|
|
58
|
+
* runtime sets the header itself and strips any client-supplied value; for a
|
|
59
|
+
* host that does not, the header must stay untrusted (the default);
|
|
60
|
+
* 3. the constructor instance, then the global scope.
|
|
50
61
|
*/
|
|
51
62
|
private instanceDidFor;
|
|
63
|
+
/**
|
|
64
|
+
* This request's identity rows. Branding always reads the host-asserted instance (or,
|
|
65
|
+
* with none asserted, the construction instance), so the rows are that scope's own.
|
|
66
|
+
*/
|
|
67
|
+
private identityRows;
|
|
68
|
+
/** The handler's build-time identity — the layer under the request-scope rows. */
|
|
69
|
+
private get base();
|
|
52
70
|
private localeFor;
|
|
53
71
|
private serveLogo;
|
|
54
72
|
private serveOg;
|
|
55
73
|
resolveLogoType(pathname: string): string | null;
|
|
74
|
+
/** @deprecated Use `logoFallbackChain` from app-identity.ts (the single definition). */
|
|
56
75
|
getFallbackChain(type: string): string[];
|
|
57
76
|
private defaultLogoResponse;
|
|
58
77
|
private getBranding;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branding-handler.d.ts","sourceRoot":"","sources":["../../src/handlers/branding-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"branding-handler.d.ts","sourceRoot":"","sources":["../../src/handlers/branding-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,WAAW,EAQjB,MAAM,oBAAoB,CAAC;AAc5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGpD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,EAAE,CAAC,EAAE,QAAQ,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yGAAyG;IACzG,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,2FAA2F;IAC3F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;6EACyE;IACzE,WAAW,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IACvD,iFAAiF;IACjF,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED,qBAAa,eAAe;IAcd,OAAO,CAAC,OAAO;IAR3B,OAAO,CAAC,WAAW,CAAqD;IACxE,OAAO,CAAC,MAAM,CAAC,eAAe,CAAU;IAKxC,OAAO,CAAC,aAAa,CAAkC;gBAEnC,OAAO,EAAE,sBAAsB;IAEnD;;;OAGG;IACG,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAiCxF;;;OAGG;IACG,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAgCvF;;;;;;;;;OASG;IACH,OAAO,CAAC,cAAc;IAOtB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAIpB,kFAAkF;IAClF,OAAO,KAAK,IAAI,GAGf;YAEa,SAAS;YAKT,SAAS;YAkDT,OAAO;IAgIrB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAmBhD,wFAAwF;IACxF,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;YAI1B,mBAAmB;YA6BnB,WAAW;YAmBX,cAAc;YAgDd,UAAU;YAgDV,UAAU;YAYV,QAAQ;YAMR,WAAW;YAuBX,gBAAgB;YAoBhB,cAAc;YAkDd,iBAAiB;YAejB,aAAa;YAMb,gBAAgB;CAW/B"}
|
|
@@ -4,10 +4,11 @@
|
|
|
4
4
|
* Public routes (before enforceAccess): Logo access, Theme anti-FOUC
|
|
5
5
|
* Admin routes (after enforceAccess): Branding/Theme/Navigation CRUD, Logo upload/delete
|
|
6
6
|
*/
|
|
7
|
+
import { identityFromAppInfo, logoFallbackChain, parseSettingObject, readInstanceIdentityRows, resolveAppIdentity, resolveLogoSlot, } from "../app-identity.js";
|
|
7
8
|
import { handlerError } from "../handler-errors.js";
|
|
8
9
|
import { DEFAULT_LANGUAGE_ROWS, detectLocale, loadEnabledLocales, resolvePageLocale, } from "../locale.js";
|
|
9
10
|
import { LOGO_CACHE_CONTROL, LOGO_PREVIEW_CACHE_CONTROL, previewLogoType, } from "../logo-paths.js";
|
|
10
|
-
import { BLOCKLET_THEME_DARK_PALETTE, BLOCKLET_THEME_LIGHT_PALETTE
|
|
11
|
+
import { BLOCKLET_THEME_DARK_PALETTE, BLOCKLET_THEME_LIGHT_PALETTE } from "../theme-utils.js";
|
|
11
12
|
export class BrandingHandler {
|
|
12
13
|
options;
|
|
13
14
|
// Per-instance theme cache — avoids D1 read on every styles.css / init.js
|
|
@@ -17,6 +18,10 @@ export class BrandingHandler {
|
|
|
17
18
|
// TTL aligned with Cache-Control max-age.
|
|
18
19
|
_themeCache = new Map();
|
|
19
20
|
static THEME_CACHE_TTL = 60_000; // 60s
|
|
21
|
+
// Explicit per-request scope handed in by the caller (auth-handler's route
|
|
22
|
+
// context / construction instance). Keyed by the Request object so every
|
|
23
|
+
// internal helper resolves the same scope without re-reading headers.
|
|
24
|
+
_requestScope = new WeakMap();
|
|
20
25
|
constructor(options) {
|
|
21
26
|
this.options = options;
|
|
22
27
|
}
|
|
@@ -24,7 +29,9 @@ export class BrandingHandler {
|
|
|
24
29
|
* Public routes — Logo access + Theme anti-FOUC endpoints.
|
|
25
30
|
* Called BEFORE enforceAccess in auth-handler route().
|
|
26
31
|
*/
|
|
27
|
-
async fetchPublic(request) {
|
|
32
|
+
async fetchPublic(request, scopeInstanceDid) {
|
|
33
|
+
if (scopeInstanceDid)
|
|
34
|
+
this._requestScope.set(request, scopeInstanceDid);
|
|
28
35
|
const url = new URL(request.url);
|
|
29
36
|
const { pathname } = url;
|
|
30
37
|
// Logo access (public)
|
|
@@ -55,7 +62,9 @@ export class BrandingHandler {
|
|
|
55
62
|
* Admin routes — Branding/Theme/Navigation CRUD.
|
|
56
63
|
* Called AFTER enforceAccess in auth-handler route() (requires admin).
|
|
57
64
|
*/
|
|
58
|
-
async fetchAdmin(request) {
|
|
65
|
+
async fetchAdmin(request, scopeInstanceDid) {
|
|
66
|
+
if (scopeInstanceDid)
|
|
67
|
+
this._requestScope.set(request, scopeInstanceDid);
|
|
59
68
|
const url = new URL(request.url);
|
|
60
69
|
const { pathname } = url;
|
|
61
70
|
// Branding API
|
|
@@ -89,17 +98,33 @@ export class BrandingHandler {
|
|
|
89
98
|
}
|
|
90
99
|
// ─── Logo Access ───────────────────────────────────────────────────
|
|
91
100
|
/**
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
101
|
+
* The instance this request's branding reads/writes are scoped to. Precedence:
|
|
102
|
+
* 1. the explicit scope the caller passed (auth-handler: route-context instance,
|
|
103
|
+
* else the header when the host owns it, else the construction instance) —
|
|
104
|
+
* the same scope the admin gate authorized against;
|
|
105
|
+
* 2. `X-Instance-Did`, only when `trustInstanceHeader` — a host opts in only if its
|
|
106
|
+
* runtime sets the header itself and strips any client-supplied value; for a
|
|
107
|
+
* host that does not, the header must stay untrusted (the default);
|
|
108
|
+
* 3. the constructor instance, then the global scope.
|
|
100
109
|
*/
|
|
101
110
|
instanceDidFor(request) {
|
|
102
|
-
|
|
111
|
+
const explicit = this._requestScope.get(request);
|
|
112
|
+
if (explicit)
|
|
113
|
+
return explicit;
|
|
114
|
+
const header = this.options.trustInstanceHeader ? request.headers.get("X-Instance-Did") : null;
|
|
115
|
+
return header || this.options.instanceDid || "_global_";
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* This request's identity rows. Branding always reads the host-asserted instance (or,
|
|
119
|
+
* with none asserted, the construction instance), so the rows are that scope's own.
|
|
120
|
+
*/
|
|
121
|
+
identityRows(instanceDid, fields) {
|
|
122
|
+
return readInstanceIdentityRows(this.options.store, instanceDid, fields, "own");
|
|
123
|
+
}
|
|
124
|
+
/** The handler's build-time identity — the layer under the request-scope rows. */
|
|
125
|
+
get base() {
|
|
126
|
+
return this.options.appIdentity
|
|
127
|
+
?? (this.options.appInfo ? identityFromAppInfo(this.options.appInfo) : undefined);
|
|
103
128
|
}
|
|
104
129
|
async localeFor(request) {
|
|
105
130
|
const enabled = await loadEnabledLocales(this.options.store, this.instanceDidFor(request));
|
|
@@ -117,17 +142,13 @@ export class BrandingHandler {
|
|
|
117
142
|
? LOGO_PREVIEW_CACHE_CONTROL
|
|
118
143
|
: LOGO_CACHE_CONTROL;
|
|
119
144
|
const instanceDid = this.instanceDidFor(request);
|
|
120
|
-
const
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
r2Key = logos[type];
|
|
128
|
-
break;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
145
|
+
const identity = resolveAppIdentity({
|
|
146
|
+
instance: await this.identityRows(instanceDid, ["logos"]),
|
|
147
|
+
inherited: this.base,
|
|
148
|
+
});
|
|
149
|
+
// The first configured slot along the fallback chain decides — a miss on its
|
|
150
|
+
// bytes serves the generated fallback, it does NOT continue down the chain.
|
|
151
|
+
const r2Key = resolveLogoSlot(identity, logoType)?.key ?? null;
|
|
131
152
|
if (!r2Key || !this.options.r2) {
|
|
132
153
|
return this.defaultLogoResponse(instanceDid, cacheControl);
|
|
133
154
|
}
|
|
@@ -163,36 +184,35 @@ export class BrandingHandler {
|
|
|
163
184
|
// constructor/global scope.
|
|
164
185
|
const serveStaticFallback = () => {
|
|
165
186
|
const staticReq = new Request(new URL("/.well-known/service/blocklet/og-image", url.origin).toString(), { headers: request.headers });
|
|
187
|
+
const scope = this._requestScope.get(request);
|
|
188
|
+
if (scope)
|
|
189
|
+
this._requestScope.set(staticReq, scope);
|
|
166
190
|
return this.serveLogo(staticReq);
|
|
167
191
|
};
|
|
168
192
|
if (!this.options.ogRenderer && !this.options.ogGenerator)
|
|
169
193
|
return serveStaticFallback();
|
|
170
194
|
// Build info context from D1 + request hints
|
|
171
195
|
const instanceDid = this.instanceDidFor(request);
|
|
172
|
-
const
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
const branding =
|
|
177
|
-
const logos = logosRaw ? JSON.parse(logosRaw) : {};
|
|
196
|
+
const rows = await this.identityRows(instanceDid, ["branding", "logos"]);
|
|
197
|
+
const base = this.base;
|
|
198
|
+
const identity = resolveAppIdentity({ instance: rows, inherited: base, defaultName: "App" });
|
|
199
|
+
// Non-identity branding fields (passportColor) still come from the raw row.
|
|
200
|
+
const branding = parseSettingObject(rows.branding);
|
|
178
201
|
// Hash hints double as upload-presence signals: the generator only
|
|
179
202
|
// references /blocklet/og-image as a background when ogImageHash is set
|
|
180
203
|
// (no upload → templates render a brand-color gradient instead of the
|
|
181
204
|
// stretched letter-SVG fallback).
|
|
182
205
|
const hashOf = (key) => (key ? key.split("/").pop()?.slice(0, 16) : undefined);
|
|
183
|
-
const
|
|
184
|
-
const
|
|
185
|
-
const effectiveDescription = typeof branding.description === "string"
|
|
186
|
-
? branding.description
|
|
187
|
-
: fallbackInfo.description ?? "";
|
|
206
|
+
const effectiveName = identity.name.value;
|
|
207
|
+
const effectiveDescription = identity.description.value ?? "";
|
|
188
208
|
const info = {
|
|
189
209
|
name: effectiveName,
|
|
190
210
|
description: effectiveDescription,
|
|
191
211
|
did: instanceDid,
|
|
192
212
|
appUrl: url.origin,
|
|
193
213
|
passportColor: branding.passportColor,
|
|
194
|
-
logoHash: hashOf(logos.square),
|
|
195
|
-
ogImageHash: hashOf(logos.ogImage),
|
|
214
|
+
logoHash: hashOf(identity.logos.square?.key),
|
|
215
|
+
ogImageHash: hashOf(identity.logos.ogImage?.key),
|
|
196
216
|
};
|
|
197
217
|
const input = Object.fromEntries(url.searchParams.entries());
|
|
198
218
|
const enabled = await loadEnabledLocales(this.options.store, instanceDid);
|
|
@@ -207,11 +227,10 @@ export class BrandingHandler {
|
|
|
207
227
|
// Inner pages (no prefer_branding) always generate a per-page card with
|
|
208
228
|
// their own title, likewise using the uploaded image as a background.
|
|
209
229
|
if (input.prefer_branding === "1") {
|
|
210
|
-
if (
|
|
230
|
+
if (base || identity.name.from === "instance")
|
|
211
231
|
input.title = effectiveName;
|
|
212
|
-
if (
|
|
232
|
+
if (identity.description.value !== undefined)
|
|
213
233
|
input.description = effectiveDescription;
|
|
214
|
-
}
|
|
215
234
|
}
|
|
216
235
|
delete input.prefer_branding;
|
|
217
236
|
if (this.options.ogRenderer) {
|
|
@@ -220,7 +239,7 @@ export class BrandingHandler {
|
|
|
220
239
|
// MISS. `loadLogoAsset` is a lazy callback so a cache HIT inside the
|
|
221
240
|
// renderer never touches R2 for it (arc/did#220).
|
|
222
241
|
const r2 = this.options.r2;
|
|
223
|
-
const squareLogoKey = logos.square;
|
|
242
|
+
const squareLogoKey = identity.logos.square?.key;
|
|
224
243
|
const loadLogoAsset = squareLogoKey && r2
|
|
225
244
|
? async () => {
|
|
226
245
|
const object = await r2.get(squareLogoKey);
|
|
@@ -305,32 +324,25 @@ export class BrandingHandler {
|
|
|
305
324
|
return "ogImage";
|
|
306
325
|
return null;
|
|
307
326
|
}
|
|
327
|
+
/** @deprecated Use `logoFallbackChain` from app-identity.ts (the single definition). */
|
|
308
328
|
getFallbackChain(type) {
|
|
309
|
-
|
|
310
|
-
square: ["square"],
|
|
311
|
-
squareDark: ["squareDark", "square"],
|
|
312
|
-
rect: ["rect", "square"],
|
|
313
|
-
rectDark: ["rectDark", "squareDark", "rect", "square"],
|
|
314
|
-
favicon: ["favicon", "square"],
|
|
315
|
-
splashPortrait: ["splashPortrait"],
|
|
316
|
-
splashLandscape: ["splashLandscape"],
|
|
317
|
-
ogImage: ["ogImage"],
|
|
318
|
-
};
|
|
319
|
-
return chains[type] || [type];
|
|
329
|
+
return [...logoFallbackChain(type)];
|
|
320
330
|
}
|
|
321
331
|
async defaultLogoResponse(instanceDid, cacheControl = LOGO_CACHE_CONTROL) {
|
|
322
|
-
//
|
|
323
|
-
//
|
|
324
|
-
|
|
332
|
+
// The letter mark honors ONLY instance app:branding.name → deployment name
|
|
333
|
+
// (`rpName`) → "App". Legacy app:name and package branding deliberately do not
|
|
334
|
+
// reach it (locked by the did#246 baseline: package-only apps show the deployment
|
|
335
|
+
// initial) — so exactly those two layers are what this call passes in.
|
|
336
|
+
let name = this.options.rpName || "App";
|
|
325
337
|
try {
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
}
|
|
338
|
+
name = resolveAppIdentity({
|
|
339
|
+
instance: await this.identityRows(instanceDid, ["branding"]),
|
|
340
|
+
deploymentName: this.options.rpName || undefined,
|
|
341
|
+
defaultName: "App",
|
|
342
|
+
}).name.value;
|
|
332
343
|
}
|
|
333
344
|
catch { /* use default */ }
|
|
345
|
+
const initial = name.charAt(0).toUpperCase();
|
|
334
346
|
const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
|
|
335
347
|
<rect width="64" height="64" rx="12" fill="#4F46E5"/>
|
|
336
348
|
<text x="32" y="40" text-anchor="middle" fill="white" font-size="28" font-family="system-ui">${initial}</text>
|
|
@@ -543,8 +555,10 @@ html, body { background-color: var(--blocklet-background-default-color); color:
|
|
|
543
555
|
if (cached && Date.now() - cached.at < BrandingHandler.THEME_CACHE_TTL) {
|
|
544
556
|
return cached.formatted;
|
|
545
557
|
}
|
|
546
|
-
const
|
|
547
|
-
|
|
558
|
+
const formatted = resolveAppIdentity({
|
|
559
|
+
instance: await this.identityRows(instanceDid, ["theme"]),
|
|
560
|
+
inherited: this.base,
|
|
561
|
+
}).theme.value;
|
|
548
562
|
this._themeCache.set(instanceDid, { formatted, at: Date.now() });
|
|
549
563
|
return formatted;
|
|
550
564
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branding-handler.js","sourceRoot":"","sources":["../../src/handlers/branding-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"branding-handler.js","sourceRoot":"","sources":["../../src/handlers/branding-handler.ts"],"names":[],"mappings":"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"}
|