@openparachute/hub 0.6.5-rc.8 → 0.7.1
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/package.json +1 -1
- package/src/__tests__/account-setup.test.ts +310 -6
- package/src/__tests__/account-vault-admin-token.test.ts +35 -3
- package/src/__tests__/admin-channel-token.test.ts +173 -0
- package/src/__tests__/admin-connections-credentials.test.ts +1320 -0
- package/src/__tests__/admin-connections.test.ts +1154 -0
- package/src/__tests__/admin-csrf-belt.test.ts +346 -0
- package/src/__tests__/admin-module-token.test.ts +311 -0
- package/src/__tests__/admin-vaults.test.ts +590 -0
- package/src/__tests__/api-invites.test.ts +166 -6
- package/src/__tests__/api-modules-ops.test.ts +70 -5
- package/src/__tests__/api-modules.test.ts +262 -79
- package/src/__tests__/audience-gate.test.ts +752 -0
- package/src/__tests__/hub-db.test.ts +36 -0
- package/src/__tests__/hub-server.test.ts +585 -21
- package/src/__tests__/invites.test.ts +91 -1
- package/src/__tests__/lifecycle.test.ts +238 -3
- package/src/__tests__/module-manifest.test.ts +305 -8
- package/src/__tests__/serve-boot.test.ts +133 -2
- package/src/__tests__/service-spec-discovery.test.ts +109 -0
- package/src/__tests__/setup-gate.test.ts +13 -7
- package/src/__tests__/setup-wizard.test.ts +228 -1
- package/src/__tests__/vault-name.test.ts +20 -5
- package/src/__tests__/well-known.test.ts +44 -8
- package/src/__tests__/ws-bridge.test.ts +573 -0
- package/src/__tests__/ws-connection-caps.test.ts +456 -0
- package/src/account-setup.ts +94 -23
- package/src/account-vault-admin-token.ts +43 -14
- package/src/admin-channel-token.ts +135 -0
- package/src/admin-connections.ts +1882 -0
- package/src/admin-login-ui.ts +64 -15
- package/src/admin-module-token.ts +197 -0
- package/src/admin-vaults.ts +399 -12
- package/src/api-hub-upgrade.ts +4 -3
- package/src/api-invites.ts +92 -12
- package/src/api-modules-ops.ts +41 -16
- package/src/api-modules.ts +238 -116
- package/src/api-tokens.ts +8 -5
- package/src/audience-gate.ts +268 -0
- package/src/chrome-strip.ts +8 -1
- package/src/commands/lifecycle.ts +187 -47
- package/src/commands/serve-boot.ts +80 -3
- package/src/commands/setup.ts +4 -4
- package/src/connections-store.ts +191 -0
- package/src/grants.ts +50 -0
- package/src/help.ts +13 -6
- package/src/host-admin-token-validation.ts +6 -2
- package/src/hub-db.ts +26 -1
- package/src/hub-server.ts +849 -70
- package/src/invites.ts +91 -2
- package/src/jwt-sign.ts +47 -1
- package/src/module-manifest.ts +536 -23
- package/src/origin-check.ts +109 -0
- package/src/proxy-error-ui.ts +1 -1
- package/src/service-spec.ts +132 -41
- package/src/services-manifest.ts +97 -0
- package/src/setup-wizard.ts +68 -6
- package/src/users.ts +11 -0
- package/src/vault-name.ts +27 -7
- package/src/well-known.ts +41 -33
- package/src/ws-bridge.ts +256 -0
- package/src/ws-connection-caps.ts +170 -0
- package/web/ui/dist/assets/index-Cxtod68O.js +61 -0
- package/web/ui/dist/assets/index-E_9wqjEm.css +1 -0
- package/web/ui/dist/index.html +2 -2
- package/src/__tests__/api-modules-config.test.ts +0 -882
- package/src/api-modules-config.ts +0 -421
- package/web/ui/dist/assets/index-BYYUeLGA.css +0 -1
- package/web/ui/dist/assets/index-D3cDUOOj.js +0 -61
|
@@ -380,6 +380,42 @@ describe("openHubDb + migrate", () => {
|
|
|
380
380
|
}
|
|
381
381
|
});
|
|
382
382
|
|
|
383
|
+
test("v13 adds invites.username; pre-existing invite rows keep NULL (no backfill)", () => {
|
|
384
|
+
const h = makeHarness();
|
|
385
|
+
try {
|
|
386
|
+
const db = openHubDb(h.dbPath);
|
|
387
|
+
try {
|
|
388
|
+
// Simulate a real v12 install: strip the v13 column, mark v13
|
|
389
|
+
// unapplied, and seed an invite row that pre-dates pre-naming.
|
|
390
|
+
db.exec(`
|
|
391
|
+
ALTER TABLE invites DROP COLUMN username;
|
|
392
|
+
INSERT INTO invites (token, created_by, vault_name, role, provision_vault,
|
|
393
|
+
default_mirror, expires_at, created_at)
|
|
394
|
+
VALUES ('hash-v12', NULL, 'maya', 'write', 1, NULL,
|
|
395
|
+
'2099-01-01T00:00:00.000Z', '2026-06-01T00:00:00.000Z');
|
|
396
|
+
`);
|
|
397
|
+
db.exec("DELETE FROM schema_version WHERE version = 13");
|
|
398
|
+
migrate(db);
|
|
399
|
+
const cols = db
|
|
400
|
+
.query<{ name: string }, []>("SELECT name FROM pragma_table_info('invites')")
|
|
401
|
+
.all()
|
|
402
|
+
.map((c) => c.name);
|
|
403
|
+
expect(cols).toContain("username");
|
|
404
|
+
// Grandfathered row → NULL (redeemer picks their own name).
|
|
405
|
+
const row = db
|
|
406
|
+
.query<{ username: string | null }, [string]>(
|
|
407
|
+
"SELECT username FROM invites WHERE token = ?",
|
|
408
|
+
)
|
|
409
|
+
.get("hash-v12");
|
|
410
|
+
expect(row?.username).toBeNull();
|
|
411
|
+
} finally {
|
|
412
|
+
db.close();
|
|
413
|
+
}
|
|
414
|
+
} finally {
|
|
415
|
+
h.cleanup();
|
|
416
|
+
}
|
|
417
|
+
});
|
|
418
|
+
|
|
383
419
|
test("v10 FK cascade: deleting a user drops their user_vaults rows", () => {
|
|
384
420
|
const h = makeHarness();
|
|
385
421
|
try {
|