hub-open-note-seq.test.mjs
24 lines 963 B
Raw
sha256:b5f647cb9c409f563d4671fe3fc05ddea01fabfed9b41fc11cb923588e1c1baf mirror: GitHub Phase A durable MCP OAuth (#270) Human minor ⚠ breaking 10 days ago
1 /**
2 * Contract: openNote uses a monotonic sequence so concurrent fetches cannot duplicate detail-actions buttons.
3 */
4 import { describe, it } from 'node:test';
5 import assert from 'node:assert';
6 import fs from 'fs';
7 import path from 'path';
8 import { fileURLToPath } from 'url';
9
10 const __dirname = path.dirname(fileURLToPath(import.meta.url));
11 const hubJs = path.join(__dirname, '..', 'web', 'hub', 'hub.js');
12
13 describe('hub openNote stale-response guard', () => {
14 it('hub.js increments hubOpenNoteSeq and ignores stale fetch completions', () => {
15 const src = fs.readFileSync(hubJs, 'utf8');
16 assert.match(src, /\blet hubOpenNoteSeq\b/);
17 assert.match(src, /const seq = \+\+hubOpenNoteSeq/);
18 assert.ok(src.includes('if (seq !== hubOpenNoteSeq) return;'));
19 assert.ok(
20 src.includes('attachNoteDetailReadActions(actionsEl)') &&
21 /actionsEl\.innerHTML = '';\s*\n\s*attachNoteDetailReadActions\(actionsEl\)/.test(src),
22 );
23 });
24 });
File History 4 commits
sha256:b5f647cb9c409f563d4671fe3fc05ddea01fabfed9b41fc11cb923588e1c1baf mirror: GitHub Phase A durable MCP OAuth (#270) Human minor 10 days ago
sha256:d8c648b20a4d53b2673c5c082ee7edfa7b2fc9b11080832da1f38807b6bf940b fix(7C-L1b): route hosted delegation proposals through cani… Human minor 30 days ago
sha256:2827ba9e7632a4b141c50caf1e8f7d77abbc3515be20e7465f2bccb0ac4edf91 fix: repair endpoint now sets has_active_subscription when … Human minor 49 days ago